@@ -47,42 +47,42 @@ instance [Monad m] [∀ α, Lean.Order.CCPO (m α)] [Lean.Order.MonoBind m] : Le
4747instance [Monad m] [CCPOBot m] : CCPOBot (StateT σ m) where
4848 compBot := fun _ => CCPOBot.compBot
4949
50- instance [Monad m] [inst : ∀ α, Lean.Order.CCPO (m α)] [CCPOBot m] [CCPOBotLawful m] : CCPOBotLawful (StateT σ m) where
51- prop := by
52- simp [Lean.Order.bot, Lean.Order.CCPO.csup, instCCPOStateTOfMonad_loom]
53- unfold Lean.Order.fun_csup; intro α; ext; simp [StateT.run]
54- apply CCPOBotLawful.prop
50+ -- instance [Monad m] [inst : ∀ α, Lean.Order.CCPO (m α)] [CCPOBot m] [CCPOBotLawful m] : CCPOBotLawful (StateT σ m) where
51+ -- prop := by
52+ -- simp [Lean.Order.bot, Lean.Order.CCPO.csup, instCCPOStateTOfMonad_loom]
53+ -- unfold Lean.Order.fun_csup; intro α; ext; simp [ StateT.run ]
54+ -- apply CCPOBotLawful.prop
5555
5656
5757lemma MAlg.lift_StateT [Monad m] [LawfulMonad m] [CompleteLattice l] [inst: MAlgOrdered m l] (x : StateT σ m α) :
5858 MAlg.lift x post = fun s => MAlg.lift (x s) (fun xs => post xs.1 xs.2 ) := by
5959 simp [MAlg.lift, Functor.map, MAlgOrdered.μ, StateT.map]
6060
61- open Lean.Order
62- instance [Monad m] [LawfulMonad m] [_root_.CompleteLattice l] [inst: MAlgOrdered m l]
63- [∀ α, CCPO (m α)] [MonoBind m]
64- [MAlgPartial m] : MAlgPartial (StateT σ m) where
65- csup_lift {α} chain := by
66- intro post hchain
67- simp [instCCPOStateTOfMonad_loom, CCPO.csup, MAlg.lift_StateT]
68- rw [@Pi.le_def]; simp; unfold fun_csup; intro s
69- apply le_trans'
70- apply MAlgPartial.csup_lift (m := m)
71- { simp [Lean.Order.chain]; rintro x y f cf rfl g cg rfl
72- cases (hchain f g cf cg)
73- { left; solve_by_elim }
74- right; solve_by_elim }
75- repeat rw [@iInf_subtype']
76- refine iInf_mono' ?_; simp [Membership.mem, Set.Mem]; aesop
61+ -- open Lean.Order
62+ -- instance [Monad m] [LawfulMonad m] [_root_ .CompleteLattice l] [inst: MAlgOrdered m l]
63+ -- [∀ α, CCPO (m α)] [MonoBind m]
64+ -- [MAlgPartial m] : MAlgPartial (StateT σ m) where
65+ -- csup_lift {α} chain := by
66+ -- intro post hchain
67+ -- simp [instCCPOStateTOfMonad_loom, CCPO.csup, MAlg.lift_StateT]
68+ -- rw [ @Pi.le_def ] ; simp; unfold fun_csup; intro s
69+ -- apply le_trans'
70+ -- apply MAlgPartial.csup_lift (m := m)
71+ -- { simp [ Lean.Order.chain ] ; rintro x y f cf rfl g cg rfl
72+ -- cases (hchain f g cf cg)
73+ -- { left; solve_by_elim }
74+ -- right; solve_by_elim }
75+ -- repeat rw [ @iInf_subtype' ]
76+ -- refine iInf_mono' ?_; simp [Membership.mem, Set.Mem]; aesop
7777
78- attribute [-simp] le_bot_iff in
79- instance [Monad m] [LawfulMonad m] [_root_.CompleteLattice l] [inst: MAlgOrdered m l]
80- [∀ α, CCPO (m α)] [MonoBind m]
81- [MAlgTotal m] : MAlgTotal (StateT σ m) where
82- bot_lift := by
83- simp [MAlg.lift_StateT, bot, instCCPOStateTOfMonad_loom, CCPO.csup, fun_csup]
84- intros; intro; simp;
85- apply MAlgTotal.bot_lift (m := m)
78+ -- attribute [ -simp ] le_bot_iff in
79+ -- instance [Monad m] [LawfulMonad m] [_root_ .CompleteLattice l] [inst: MAlgOrdered m l]
80+ -- [∀ α, CCPO (m α)] [MonoBind m]
81+ -- [MAlgTotal m] : MAlgTotal (StateT σ m) where
82+ -- bot_lift := by
83+ -- simp [MAlg.lift_StateT, bot, instCCPOStateTOfMonad_loom, CCPO.csup, fun_csup]
84+ -- intros; intro; simp;
85+ -- apply MAlgTotal.bot_lift (m := m)
8686
8787instance [Monad m] [LawfulMonad m] [_root_.CompleteLattice l] [inst: MAlgOrdered m l]
8888 [inst': NoFailure m] : NoFailure (StateT σ m) where
0 commit comments