Built with Alectryon, running Coq+SerAPI v8.16.0+0.16.3. Bubbles () indicate interactive fragments: hover for details, tap to reveal contents. Use Ctrl+↑Ctrl+↓ to navigate, Ctrl+🖱️ to focus. On Mac, use ⌘ instead of Ctrl.
From Tealeaves Require Import
Classes.Kleisli.DecoratedTraversableFunctor
Classes.Categorical.DecoratedTraversableFunctor.Import Comonad.Notations.Import Product.Notations.#[local] Generalizable VariablesG ϕ.(** * Categorical DTFs from Kleisli DTFs *)(**********************************************************************)(** ** Derived Operations *)(**********************************************************************)ModuleDerivedOperations.Sectionoperations.Context
(E: Type)
(T: Type -> Type)
`{Mapdt E T}.#[export] InstanceDist_Mapdt: ApplicativeDist T :=
funG___A =>
mapdt (T := T) (G := G) (extract (W := (E ×)) (A := G A)).#[export] InstanceDecorate_Mapdt: Decorate E T :=
funA => mapdt (G := funA => A) (@id (E * A)).Endoperations.EndDerivedOperations.(** ** Derived Instances *)(**********************************************************************)ModuleDerivedInstances.(* Alectryon doesn't like this Import KleisliToCategorical.DecoratedTraversableFunctor.DerivedOperations. *)Import DerivedOperations.Import Kleisli.DecoratedTraversableFunctor.DerivedOperations.Import Kleisli.DecoratedTraversableFunctor.DerivedInstances.Sectioninstances.Context
(E: Type)
(T: Type -> Type)
`{Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor E T}.
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T
forallA : Type, dec T ∘ dec T = map cojoin ∘ dec T
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T
forallA : Type, dec T ∘ dec T = map cojoin ∘ dec T
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T A: Type
dec T ∘ dec T = map cojoin ∘ dec T
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T A: Type
mapdt id ∘ mapdt id = map cojoin ∘ mapdt id
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T A: Type
mapd id ∘ mapdt id = map cojoin ∘ mapdt id
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T A: Type
mapd id ∘ mapd id = map cojoin ∘ mapd id
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T A: Type
mapd (id ⋆1 id) = map cojoin ∘ mapd id
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T A: Type
mapd (id ⋆1 id) = mapd (cojoin ∘ id)
reflexivity.Qed.
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T
forallA : Type, map extract ∘ dec T = id
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T
forallA : Type, map extract ∘ dec T = id
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T A: Type
map extract ∘ dec T = id
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T A: Type
map extract ∘ mapdt id = id
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T A: Type
map extract ∘ mapd id = id
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T A: Type
mapd (extract ∘ id) = id
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T A: Type
mapd extract = id
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T A: Type
id = id
reflexivity.Qed.
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T
Natural (@dec E T (Decorate_Mapdt E T))
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T
Natural (@dec E T (Decorate_Mapdt E T))
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T
Functor T
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T
Functor (T ○ prod E)
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T
forall (AB : Type) (f : A -> B),
map f ∘ dec T = dec T ∘ map f
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T
Functor T
typeclasses eauto.
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T
Functor (T ○ prod E)
typeclasses eauto.
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T
forall (AB : Type) (f : A -> B),
map f ∘ dec T = dec T ∘ map f
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T A, B: Type f: A -> B
map f ∘ dec T = dec T ∘ map f
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T A, B: Type f: A -> B
map (map f) ∘ dec T = dec T ∘ map f
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T A, B: Type f: A -> B
map (map f) ∘ mapdt id = mapdt id ∘ map f
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T A, B: Type f: A -> B
map (map f) ∘ mapd id = mapdt id ∘ map f
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T A, B: Type f: A -> B
map (map f) ∘ mapd id = mapd id ∘ map f
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T A, B: Type f: A -> B
mapd (map f ∘ id) = mapd id ∘ map f
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T A, B: Type f: A -> B
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T
forall (G : Type -> Type) (H2 : Map G) (H3 : Pure G)
(H4 : Mult G),
Applicative G ->
Natural (@dist T (Dist_Mapdt E T) G H2 H3 H4)
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T
forall (G : Type -> Type) (H2 : Map G) (H3 : Pure G)
(H4 : Mult G),
Applicative G ->
Natural (@dist T (Dist_Mapdt E T) G H2 H3 H4)
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G: Type -> Type H2: Map G H3: Pure G H4: Mult G H1: Applicative G
Natural (@dist T (Dist_Mapdt E T) G H2 H3 H4)
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G: Type -> Type H2: Map G H3: Pure G H4: Mult G H1: Applicative G
Functor (T ○ G)
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G: Type -> Type H2: Map G H3: Pure G H4: Mult G H1: Applicative G
Functor (G ○ T)
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G: Type -> Type H2: Map G H3: Pure G H4: Mult G H1: Applicative G
forall (AB : Type) (f : A -> B),
map f ∘ dist T G = dist T G ∘ map f
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G: Type -> Type H2: Map G H3: Pure G H4: Mult G H1: Applicative G
Functor (T ○ G)
typeclasses eauto.
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G: Type -> Type H2: Map G H3: Pure G H4: Mult G H1: Applicative G
Functor (G ○ T)
typeclasses eauto.
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G: Type -> Type H2: Map G H3: Pure G H4: Mult G H1: Applicative G
forall (AB : Type) (f : A -> B),
map f ∘ dist T G = dist T G ∘ map f
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G: Type -> Type H2: Map G H3: Pure G H4: Mult G H1: Applicative G A, B: Type f: A -> B
map f ∘ dist T G = dist T G ∘ map f
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G: Type -> Type H2: Map G H3: Pure G H4: Mult G H1: Applicative G A, B: Type f: A -> B
map (map f) ∘ dist T G = dist T G ∘ map (map f)
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G: Type -> Type H2: Map G H3: Pure G H4: Mult G H1: Applicative G A, B: Type f: A -> B
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G: Type -> Type H2: Map G H3: Pure G H4: Mult G H1: Applicative G A, B: Type f: A -> B
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G: Type -> Type H2: Map G H3: Pure G H4: Mult G H1: Applicative G A, B: Type f: A -> B
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G: Type -> Type H2: Map G H3: Pure G H4: Mult G H1: Applicative G A, B: Type f: A -> B
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T
forall (G1G2 : Type -> Type) (H1 : Map G1)
(H2 : Mult G1) (H3 : Pure G1) (H4 : Map G2)
(H5 : Mult G2) (H6 : Pure G2)
(ϕ : forallA : Type, G1 A -> G2 A),
ApplicativeMorphism G1 G2 ϕ ->
forallA : Type,
dist T G2 ∘ map (ϕ A) = ϕ (T A) ∘ dist T G1
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T
forall (G1G2 : Type -> Type) (H1 : Map G1)
(H2 : Mult G1) (H3 : Pure G1) (H4 : Map G2)
(H5 : Mult G2) (H6 : Pure G2)
(ϕ : forallA : Type, G1 A -> G2 A),
ApplicativeMorphism G1 G2 ϕ ->
forallA : Type,
dist T G2 ∘ map (ϕ A) = ϕ (T A) ∘ dist T G1
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G1, G2: Type -> Type H1: Map G1 H2: Mult G1 H3: Pure G1 H4: Map G2 H5: Mult G2 H6: Pure G2 ϕ: forallA : Type, G1 A -> G2 A H7: ApplicativeMorphism G1 G2 ϕ A: Type
dist T G2 ∘ map (ϕ A) = ϕ (T A) ∘ dist T G1
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G1, G2: Type -> Type H1: Map G1 H2: Mult G1 H3: Pure G1 H4: Map G2 H5: Mult G2 H6: Pure G2 ϕ: forallA : Type, G1 A -> G2 A H7: ApplicativeMorphism G1 G2 ϕ A: Type
dist T G2 ∘ map (ϕ A) = ϕ (T A) ∘ dist T G1
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G1, G2: Type -> Type H1: Map G1 H2: Mult G1 H3: Pure G1 H4: Map G2 H5: Mult G2 H6: Pure G2 ϕ: forallA : Type, G1 A -> G2 A H7: ApplicativeMorphism G1 G2 ϕ A: Type
mapdt extract ∘ map (ϕ A) = ϕ (T A) ∘ mapdt extract
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G1, G2: Type -> Type H1: Map G1 H2: Mult G1 H3: Pure G1 H4: Map G2 H5: Mult G2 H6: Pure G2 ϕ: forallA : Type, G1 A -> G2 A H7: ApplicativeMorphism G1 G2 ϕ A: Type app1: Applicative G1 app2: Applicative G2
mapdt extract ∘ map (ϕ A) = ϕ (T A) ∘ mapdt extract
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G1, G2: Type -> Type H1: Map G1 H2: Mult G1 H3: Pure G1 H4: Map G2 H5: Mult G2 H6: Pure G2 ϕ: forallA : Type, G1 A -> G2 A H7: ApplicativeMorphism G1 G2 ϕ A: Type app1: Applicative G1 app2: Applicative G2
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G1, G2: Type -> Type H1: Map G1 H2: Mult G1 H3: Pure G1 H4: Map G2 H5: Mult G2 H6: Pure G2 ϕ: forallA : Type, G1 A -> G2 A H7: ApplicativeMorphism G1 G2 ϕ A: Type app1: Applicative G1 app2: Applicative G2
mapdt (map (ϕ A) ∘ extract) = ϕ (T A) ∘ mapdt extract
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G1, G2: Type -> Type H1: Map G1 H2: Mult G1 H3: Pure G1 H4: Map G2 H5: Mult G2 H6: Pure G2 ϕ: forallA : Type, G1 A -> G2 A H7: ApplicativeMorphism G1 G2 ϕ A: Type app1: Applicative G1 app2: Applicative G2
mapdt (map (ϕ A) ∘ extract) = mapdt (ϕ A ∘ extract)
reflexivity.Qed.
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T
forallA : Type, dist T (funA0 : Type => A0) = id
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T
forallA : Type, dist T (funA0 : Type => A0) = id
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T A: Type
dist T (funA0 : Type => A0) = id
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T A: Type
mapdt extract = id
nowrewrite (kdtf_mapdt1 (E := E) (T := T)).Qed.(* TODO Typeset this better *)
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T
forall (G1 : Type -> Type) (H2 : Map G1)
(H3 : Pure G1) (H4 : Mult G1),
Applicative G1 ->
forall (G2 : Type -> Type) (H6 : Map G2)
(H7 : Pure G2) (H8 : Mult G2),
Applicative G2 ->
forallA : Type,
dist T (G1 ∘ G2) = map (dist T G2) ∘ dist T G1
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T
forall (G1 : Type -> Type) (H2 : Map G1)
(H3 : Pure G1) (H4 : Mult G1),
Applicative G1 ->
forall (G2 : Type -> Type) (H6 : Map G2)
(H7 : Pure G2) (H8 : Mult G2),
Applicative G2 ->
forallA : Type,
dist T (G1 ∘ G2) = map (dist T G2) ∘ dist T G1
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G1: Type -> Type H2: Map G1 H3: Pure G1 H4: Mult G1 H1: Applicative G1 G2: Type -> Type H6: Map G2 H7: Pure G2 H8: Mult G2 H5: Applicative G2 A: Type
dist T (G1 ∘ G2) = map (dist T G2) ∘ dist T G1
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G1: Type -> Type H2: Map G1 H3: Pure G1 H4: Mult G1 H1: Applicative G1 G2: Type -> Type H6: Map G2 H7: Pure G2 H8: Mult G2 H5: Applicative G2 A: Type
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G1: Type -> Type H2: Map G1 H3: Pure G1 H4: Mult G1 H1: Applicative G1 G2: Type -> Type H6: Map G2 H7: Pure G2 H8: Mult G2 H5: Applicative G2 A: Type
mapdt extract = mapdt (kc3 extract extract)
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G1: Type -> Type H2: Map G1 H3: Pure G1 H4: Mult G1 H1: Applicative G1 G2: Type -> Type H6: Map G2 H7: Pure G2 H8: Mult G2 H5: Applicative G2 A: Type
mapdt extract = mapdt (kc3 (id ∘ extract) extract)
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G1: Type -> Type H2: Map G1 H3: Pure G1 H4: Mult G1 H1: Applicative G1 G2: Type -> Type H6: Map G2 H7: Pure G2 H8: Mult G2 H5: Applicative G2 A: Type
mapdt extract = mapdt (map id ∘ extract)
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G1: Type -> Type H2: Map G1 H3: Pure G1 H4: Mult G1 H1: Applicative G1 G2: Type -> Type H6: Map G2 H7: Pure G2 H8: Mult G2 H5: Applicative G2 A: Type
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T
forall (G : Type -> Type) (H2 : Map G) (H3 : Pure G)
(H4 : Mult G),
Applicative G ->
forallA : Type,
dist T G ∘ map strength ∘ dec T =
map (dec T) ∘ dist T G
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T
forall (G : Type -> Type) (H2 : Map G) (H3 : Pure G)
(H4 : Mult G),
Applicative G ->
forallA : Type,
dist T G ∘ map strength ∘ dec T =
map (dec T) ∘ dist T G
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G: Type -> Type H2: Map G H3: Pure G H4: Mult G H1: Applicative G A: Type
dist T G ∘ map strength ∘ dec T =
map (dec T) ∘ dist T G
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G: Type -> Type H2: Map G H3: Pure G H4: Mult G H1: Applicative G A: Type
mapdt extract ∘ map strength ∘ dec T =
map (dec T) ∘ mapdt extract
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G: Type -> Type H2: Map G H3: Pure G H4: Mult G H1: Applicative G A: Type
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G: Type -> Type H2: Map G H3: Pure G H4: Mult G H1: Applicative G A: Type
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G: Type -> Type H2: Map G H3: Pure G H4: Mult G H1: Applicative G A: Type
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G: Type -> Type H2: Map G H3: Pure G H4: Mult G H1: Applicative G A: Type
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G: Type -> Type H2: Map G H3: Pure G H4: Mult G H1: Applicative G A: Type
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G: Type -> Type H2: Map G H3: Pure G H4: Mult G H1: Applicative G A: Type
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G: Type -> Type H2: Map G H3: Pure G H4: Mult G H1: Applicative G A: Type
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G: Type -> Type H2: Map G H3: Pure G H4: Mult G H1: Applicative G A: Type
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G: Type -> Type H2: Map G H3: Pure G H4: Mult G H1: Applicative G A: Type
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G: Type -> Type H2: Map G H3: Pure G H4: Mult G H1: Applicative G A: Type
mapdt (id ∘ extract ⋆1 strength ∘ id) =
mapdt (id ∘ strength ∘ id)
E: Type T: Type -> Type H: Mapdt E T H0: Kleisli.DecoratedTraversableFunctor.DecoratedTraversableFunctor
E T G: Type -> Type H2: Map G H3: Pure G H4: Mult G H1: Applicative G A: Type
mapdt (id ∘ (strength ∘ id)) =
mapdt (id ∘ strength ∘ id)
reflexivity.Qed.(** ** Typeclass Instance *)(******************************************************************)#[export] InstanceDecoratedTraversableFunctor_Categorical_Kleisli:
Categorical.DecoratedTraversableFunctor.DecoratedTraversableFunctor E T :=
{| dtfun_compat := dtfun_compat_T;
|}.Endinstances.EndDerivedInstances.