File tree Expand file tree Collapse file tree 1 file changed +22
-0
lines changed
Expand file tree Collapse file tree 1 file changed +22
-0
lines changed Original file line number Diff line number Diff line change @@ -447,6 +447,26 @@ end StateT
447447
448448/-! # EStateM -/
449449
450+ namespace EStateM
451+
452+ @[simp, grind =] theorem run_pure (a : α) (s : σ) :
453+ EStateM.run (pure a : EStateM ε σ α) s = .ok a s := rfl
454+
455+ @[simp, grind =] theorem run_get (s : σ) :
456+ EStateM.run (get : EStateM ε σ σ) s = .ok s s := rfl
457+
458+ @[simp, grind =] theorem run_set (s₁ s₂ : σ) :
459+ EStateM.run (set s₁ : EStateM ε σ PUnit) s₂ = .ok .unit s₁ := rfl
460+
461+ @[simp, grind =] theorem run_modify (f : σ → σ) (s : σ) :
462+ EStateM.run (modify f : EStateM ε σ PUnit) s = .ok .unit (f s) := rfl
463+
464+ @[simp, grind =] theorem run_modifyGet (f : σ → α × σ) (s : σ) :
465+ EStateM.run (modifyGet f : EStateM ε σ α) s = .ok (f s).1 (f s).2 := rfl
466+
467+ @[simp, grind =] theorem run_throw (e : ε) (s : σ):
468+ EStateM.run (throw e : EStateM ε σ PUnit) s = .error e s := rfl
469+
450470instance : LawfulMonad (EStateM ε σ) := .mk'
451471 (id_map := fun x => funext <| fun s => by
452472 dsimp only [EStateM.instMonad, EStateM.map]
@@ -460,3 +480,5 @@ instance : LawfulMonad (EStateM ε σ) := .mk'
460480 | .ok _ _ => rfl
461481 | .error _ _ => rfl)
462482 (map_const := fun _ _ => rfl)
483+
484+ end EStateM
You can’t perform that action at this time.
0 commit comments