lawfulRunMEvil
This commit is contained in:
parent
2573d64897
commit
38c00b3311
1 changed files with 15 additions and 0 deletions
|
|
@ -6,3 +6,18 @@ instance : Monad EmptyM where
|
|||
|
||||
theorem runMEvil (runM : ∀α m, [Monad m] → m α → α) : False :=
|
||||
runM PEmpty EmptyM ⟨⟩ |>.elim
|
||||
|
||||
instance : LawfulMonad EmptyM where
|
||||
map_const := by intros; trivial
|
||||
id_map := by intros; trivial
|
||||
seqLeft_eq := by intros; trivial
|
||||
seqRight_eq := by intros; trivial
|
||||
pure_seq := by intros; trivial
|
||||
bind_pure_comp := by intros; trivial
|
||||
bind_map := by intros; trivial
|
||||
pure_bind := by intros; trivial
|
||||
bind_assoc := by intros; trivial
|
||||
|
||||
theorem lawfulRunMEvil (runM : ∀α m, [Monad m] → [LawfulMonad m] → m α → α)
|
||||
: False :=
|
||||
runM PEmpty EmptyM ⟨⟩ |>.elim
|
||||
|
|
|
|||
Loading…
Reference in a new issue