Structures · Lean core
LawfulMonad
Lawful monads are those that satisfy a certain behavioral specification. While all instances of
Monad should satisfy these laws, not all implementations are required to prove this.
LawfulMonad.mk' is an alternative constructor that contains useful defaults for many fields.
- Defined in
- Init.Control.Lawful.Basic
- Shape
- One type argument · adds bind_pure_comp, bind_map, pure_bind, bind_assoc
Extends1
Extended by4
Concrete types that are instances53
- FreeAbelianGroup
- FreeGroup
- FreeAddGroup
- MvPolynomial
- Part
- ReaderT
- StateT
- Except
- StateRefT'
- OptionT
- Ultrafilter
- Lean.Core.CoreM
- ExceptT
- Lean.Elab.Command.CommandElabM
- Semiquot
- PFun
- FreeMagma
- EStateM
- FreeSemigroup
- EIO
- Lean.Elab.Term.TermElabM
- FreeAddMagma
- Lean.Meta.MetaM
- FreeAddSemigroup
- ST
- Computation
- EST
- BaseIO
- Stream'.Seq1
- Std.Internal.Do.PredTrans
- SetM
- Std.Iterators.PostconditionT
- Erased
- Lean.Elab.Tactic.TacticM
- Std.Do.PredTrans
- ContT
- WriterT
- Std.Iterators.HetT
- PMF
- ExceptCpsT
- StateCpsT
- Std.Iterators.ULiftT
- IO
- ULift
- Sum
- List
- Set
- Multiset
- Finset
- Option
- PLift
- Id
- Trunc
How is a type an instance?
Loading the hierarchy index…
Assumed by42
- CategoryTheory.ofTypeMonad
- CategoryTheory.kleisliCatEquivKleisli
- Monoid.foldrM.ofFreeMonoid
- Monoid.foldlM.ofFreeMonoid
- List.mapIdxMAux'_eq_mapIdxMGo
- Traversable.foldrm.ofFreeMonoid_comp_of
- List.Vector.mOfFn_pure
- Traversable.foldlm.ofFreeMonoid_comp_of
- map_eq_bind_pure_comp
- CategoryTheory.kleisliCatEquivKleisli_unitIso
- CategoryTheory.kleisliCatEquivKleisli_functor_map_of
- joinM_map_map
- joinM_pure
- List.mapIdxM'_eq_mapIdxM
- List.foldrM_eq_foldr
- StateT.run_mapConst
- ContT.monadLift_bind
- Traversable.foldrm_toList
- fish_pipe
- WriterT.instLawfulMonad
- fish_pure
- CategoryTheory.kleisliCatEquivKleisli_inverse_map
- CategoryTheory.kleisliCatEquivKleisli_counitIso
- Traversable.foldlm_toList
- List.foldlM_eq_foldl
- joinM_map_joinM
- Monoid.foldlM.ofFreeMonoid_apply
- Monoid.foldrM.ofFreeMonoid_apply
- CategoryTheory.ofTypeMonad.congr_simp
- CategoryTheory.ofTypeMonad_μ_app
- CategoryTheory.ofTypeMonad_obj
- CategoryTheory.kleisliCatEquivKleisli_inverse_obj
- CategoryTheory.ofTypeMonad_η_app
- CategoryTheory.KleisliCat.category
- seq_bind_eq
- CategoryTheory.kleisliCatEquivKleisli_functor_obj_of
- fish_assoc
- CategoryTheory.eq
- Traversable.foldrm_map
- joinM_map_pure
- CategoryTheory.ofTypeMonad_map
- Traversable.foldlm_map