Structures · Data types
LawfulTraversable
A traversable functor is lawful if its traverse satisfies a
number of additional properties. It must send pure : α → Id α to pure,
send the composition of applicative functors to the composition of the
traverse of each, send each function f to fun x ↦ f <$> x, and
satisfy a naturality condition with respect to applicative
transformations.
- Defined in
- Mathlib.Control.Traversable.Basic
- Shape
- One type argument · adds id_traverse, comp_traverse, traverse_eq_map_id, naturality
Extends1
Extended by0
Nothing extends this class yet.
Concrete types that are instances11
- FreeMagma
- FreeSemigroup
- FreeAddMagma
- FreeAddSemigroup
- Batteries.DList
- BinaryTree
- flip
- Sum
- List
- Option
- Id
How is a type an instance?
Loading the hierarchy index…
Assumed by40
- Traversable.traverse_map
- LawfulTraversable.naturality
- Traversable.toList_spec
- LawfulTraversable.comp_traverse
- Traversable.foldMap_map
- LawfulTraversable.id_traverse
- Traversable.foldMap_hom_free
- LawfulTraversable.traverse_eq_map_id
- Equiv.comp_traverse
- Traversable.map_eq_traverse_id
- Traversable.foldMap_hom
- Equiv.id_traverse
- Equiv.naturality
- Equiv.traverse_eq_map_id
- Traversable.map_traverse'
- Traversable.traverse_comp
- Traversable.foldl_toList
- Traversable.map_traverse
- Traversable.foldr_map
- Traversable.comp_sequence
- Traversable.foldl_map
- LawfulTraversable.toLawfulFunctor
- Traversable.foldr_toList
- Traversable.foldrm_toList
- Traversable.naturality'
- Traversable.foldlm_toList
- Equiv.isLawfulTraversable'
- Traversable.naturality_pf
- Traversable.traverse_eq_map_id'
- Traversable.traverse_map'
- Equiv.isLawfulTraversable
- Traversable.pure_traverse
- Traversable.length_toList
- Traversable.id_sequence
- Traversable.foldrm_map
- Traversable.traverse_id
- Traversable.toList_map
- Traversable.foldlm_map
- instLawfulBitraversableBicomplOfLawfulTraversable
- instLawfulBitraversableBicomprOfLawfulTraversable