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 Export
  Classes.Kleisli.DecoratedTraversableMonad
  Classes.Kleisli.Theory.DecoratedTraversableFunctor
  Classes.Kleisli.Theory.DecoratedContainerMonad.

Import Monoid.Notations.
Import Subset.Notations.
Import List.ListNotations.
Import ContainerFunctor.Notations.
Import DecoratedContainerFunctor.Notations.

#[local] Generalizable Variable W M T U G A B C.


(** * Theory of Decorated Traversable Monads *)
(**********************************************************************)
Section composition.

  Context
    `{op: Monoid_op W}
    `{unit: Monoid_unit W}
    `{Monoid_inst: ! Monoid W}.

  Context
    `{ret_inst: Return T}
    `{Map_T_inst: Map T}
    `{Mapd_T_inst: Mapd W T}
    `{Traverse_T_inst: Traverse T}
    `{Bind_T_inst: Bind T T}
    `{Mapdt_T_inst: Mapdt W T}
    `{Bindd_T_inst: Bindd W T T}
    `{Bindt_T_inst: Bindt T T}
    `{Binddt_T_inst: Binddt W T T}
    `{! Compat_Map_Binddt W T T}
    `{! Compat_Mapd_Binddt W T T}
    `{! Compat_Traverse_Binddt W T T}
    `{! Compat_Bind_Binddt W T T}
    `{! Compat_Mapdt_Binddt W T T}
    `{! Compat_Bindd_Binddt W T T}
    `{! Compat_Bindt_Binddt W T T}.

  Context
    `{Map_U_inst: Map U}
    `{Mapd_U_inst: Mapd W U}
    `{Traverse_U_inst: Traverse U}
    `{Bind_U_inst: Bind T U}
    `{Mapdt_U_inst: Mapdt W U}
    `{Bindd_U_inst: Bindd W T U}
    `{Bindt_U_inst: Bindt T U}
    `{Binddt_U_inst: Binddt W T U}
    `{! Compat_Map_Binddt W T U}
    `{! Compat_Mapd_Binddt W T U}
    `{! Compat_Traverse_Binddt W T U}
    `{! Compat_Bind_Binddt W T U}
    `{! Compat_Mapdt_Binddt W T U}
    `{! Compat_Bindd_Binddt W T U}
    `{! Compat_Bindt_Binddt W T U}.

  Context
    `{ToSubset_T_inst: ToSubset T}
    `{ToSubset_U_inst: ToSubset U}
    `{! Compat_ToSubset_Traverse T}
    `{! Compat_ToSubset_Traverse U}.

  Context
    `{ToCtxset_T_inst: ToCtxset W T}
    `{ToCtxset_U_inst: ToCtxset W U}
    `{! Compat_ToCtxset_Mapdt W T}
    `{! Compat_ToCtxset_Mapdt W U}.

  Context
    `{ToCtxlist_T_inst: ToCtxlist W T}
    `{ToCtxlist_U_inst: ToCtxlist W U}
    `{! Compat_ToCtxlist_Mapdt W T}
    `{! Compat_ToCtxlist_Mapdt W U}.

  Context
    `{Monad_inst: ! DecoratedTraversableMonad W T}
    `{Module_inst: ! DecoratedTraversableRightPreModule W T U}.

  (** ** Composition in the Applicative Functor *)
  (********************************************************************)

  (** *** Composition with a Monoid *)
  (********************************************************************)
  
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall (G : Type -> Type) (M : Type) (op0 : Monoid_op M) (unit0 : Monoid_unit M), Monoid M -> forall (A B : Type) (Map_G : Map G) (Pure_G : Pure G) (Mult_G : Mult G), Applicative G -> forall f : W * A -> G M, binddt f = binddt f
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall (G : Type -> Type) (M : Type) (op0 : Monoid_op M) (unit0 : Monoid_unit M), Monoid M -> forall (A B : Type) (Map_G : Map G) (Pure_G : Pure G) (Mult_G : Mult G), Applicative G -> forall f : W * A -> G M, binddt f = binddt f
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
A, B: Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H0: Applicative G
f: W * A -> G M

binddt f = binddt f
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
A, B: Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H0: Applicative G
f: W * A -> G M

Map_compose G (const M) = Map_const
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
A, B: Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H0: Applicative G
f: W * A -> G M
Mult_compose G (const M) = Mult_const
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
A, B: Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H0: Applicative G
f: W * A -> G M

Map_compose G (const M) = Map_const
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
A, B: Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H0: Applicative G
f: W * A -> G M
X, Y: Type
h: X -> Y
x: (G ∘ const M) X

Map_compose G (const M) X Y h x = Map_const X Y h x
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
A, B: Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H0: Applicative G
f: W * A -> G M
X, Y: Type
h: X -> Y
x: (G ∘ const M) X

map (fun t : const M X => t) x = x
now rewrite (fun_map_id (Functor := app_functor)).
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
A, B: Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H0: Applicative G
f: W * A -> G M

Mult_compose G (const M) = Mult_const
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
A, B: Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H0: Applicative G
f: W * A -> G M
X, Y: Type
x: (G ∘ const M) X
y: (G ∘ const M) Y

Mult_compose G (const M) X Y (x, y) = Mult_const X Y (x, y)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
A, B: Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H0: Applicative G
f: W * A -> G M
X, Y: Type
x: (G ∘ const M) X
y: (G ∘ const M) Y

map (fun '(x, y) => x ● y) (mult (fst (x, y), snd (x, y))) = x ● y
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
A, B: Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H0: Applicative G
f: W * A -> G M
X, Y: Type
x: (G ∘ const M) X
y: (G ∘ const M) Y

map (fun '(x, y) => x ● y) (mult (fst (x, y), snd (x, y))) = map (uncurry monoid_op) (mult (x, y))
reflexivity. Qed. (** ** Rewriting Lemmas for Particular Applicative Functors *) (********************************************************************) (** *** <<binddt>> withcConstant applicative functors *) (********************************************************************) Section constant_applicative. Context `{Monoid M}.
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
A, B: Type
f: W * A -> const M (T B)

binddt f = binddt f
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
A, B: Type
f: W * A -> const M (T B)

binddt f = binddt f
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
A, B: Type
f: W * A -> const M (T B)

binddt f = map (map exfalso) ∘ binddt f
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
A, B: Type
f: W * A -> const M (T B)

binddt f = binddt (map (map exfalso) ∘ f)
reflexivity. Qed.
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
fake1, fake2, A, B: Type
f: W * A -> const M (T B)

binddt f = binddt f
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
fake1, fake2, A, B: Type
f: W * A -> const M (T B)

binddt f = binddt f
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
fake1, fake2, A, B: Type
f: W * A -> const M (T B)

binddt f = binddt f
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
fake1, fake2, A, B: Type
f: W * A -> const M (T B)

binddt f = binddt f
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
fake1, fake2, A, B: Type
f: W * A -> const M (T B)

binddt f = binddt f
reflexivity. Qed. End constant_applicative. (** ** Properties of <<mapdReduce>> *) (********************************************************************) (** *** Composition with monad operations *) (********************************************************************)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M

forall (A : Type) (f : W * A -> M), mapdReduce f ∘ ret = f ∘ ret
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M

forall (A : Type) (f : W * A -> M), mapdReduce f ∘ ret = f ∘ ret
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
A: Type
f: W * A -> M

mapdReduce f ∘ ret = f ∘ ret
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
A: Type
f: W * A -> M

mapdt f ∘ ret = f ∘ ret
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
A: Type
f: W * A -> M

binddt (map ret ∘ f) ∘ ret = f ∘ ret
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
A: Type
f: W * A -> M

map ret ∘ f ∘ ret = f ∘ ret
reflexivity. Qed.
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H0: Monoid M

forall (B : Type) (g : W * B -> M) (A : Type) (f : W * A -> G (T B)), map (mapdReduce g) ∘ binddt f = mapdReduce (fun '(w, a) => map (mapdReduce (g ⦿ w)) (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H0: Monoid M

forall (B : Type) (g : W * B -> M) (A : Type) (f : W * A -> G (T B)), map (mapdReduce g) ∘ binddt f = mapdReduce (fun '(w, a) => map (mapdReduce (g ⦿ w)) (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H0: Monoid M
B: Type
g: W * B -> M
A: Type
f: W * A -> G (T B)

map (mapdReduce g) ∘ binddt f = mapdReduce (fun '(w, a) => map (mapdReduce (g ⦿ w)) (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H0: Monoid M
B: Type
g: W * B -> M
A: Type
f: W * A -> G (T B)

map (mapdt g) ∘ binddt f = mapdReduce (fun '(w, a) => map (mapdReduce (g ⦿ w)) (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H0: Monoid M
B: Type
g: W * B -> M
A: Type
f: W * A -> G (T B)

map (binddt (map ret ∘ g)) ∘ binddt f = mapdReduce (fun '(w, a) => map (mapdReduce (g ⦿ w)) (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H0: Monoid M
B: Type
g: W * B -> M
A: Type
f: W * A -> G (T B)

binddt (kc7 G (const M) (map ret ∘ g) f) = mapdReduce (fun '(w, a) => map (mapdReduce (g ⦿ w)) (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H0: Monoid M
B: Type
g: W * B -> M
A: Type
f: W * A -> G (T B)

binddt (kc7 G (const M) (map ret ∘ g) f) = mapdt (fun '(w, a) => map (mapdReduce (g ⦿ w)) (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H0: Monoid M
B: Type
g: W * B -> M
A: Type
f: W * A -> G (T B)

binddt (kc7 G (const M) (map ret ∘ g) f) = binddt (map ret ∘ (fun '(w, a) => map (mapdReduce (g ⦿ w)) (f (w, a))))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H0: Monoid M
B: Type
g: W * B -> M
A: Type
f: W * A -> G (T B)

binddt (kc7 G (const M) (map ret ∘ g) f) = binddt (map ret ∘ (fun '(w, a) => map (mapdReduce (g ⦿ w)) (f (w, a))))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H0: Monoid M
B: Type
g: W * B -> M
A: Type
f: W * A -> G (T B)

binddt (kc7 G (const M) (map ret ∘ g) f) = binddt (map ret ∘ (fun '(w, a) => map (mapdt (g ⦿ w)) (f (w, a))))
(* TODO Make mapdt_to_binddt work immediately here *)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H0: Monoid M
B: Type
g: W * B -> M
A: Type
f: W * A -> G (T B)

kc7 G (const M) (map ret ∘ g) f = map ret ∘ (fun '(w, a) => map (mapdt (g ⦿ w)) (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H0: Monoid M
B: Type
g: W * B -> M
A: Type
f: W * A -> G (T B)
w: W
a: A

kc7 G (const M) (map ret ∘ g) f (w, a) = (map ret ∘ (fun '(w, a) => map (mapdt (g ⦿ w)) (f (w, a)))) (w, a)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H0: Monoid M
B: Type
g: W * B -> M
A: Type
f: W * A -> G (T B)
w: W
a: A

kc7 G (const M) (map ret ○ g) f (w, a) = map ret (map (mapdt (g ⦿ w)) (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H0: Monoid M
B: Type
g: W * B -> M
A: Type
f: W * A -> G (T B)
w: W
a: A

map (binddt ((map ret ○ g) ⦿ w)) (f (w, a)) = map ret (map (mapdt (g ⦿ w)) (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H0: Monoid M
B: Type
g: W * B -> M
A: Type
f: W * A -> G (T B)
w: W
a: A

map (binddt ((map ret ○ g) ⦿ w)) (f (w, a)) = map ret (map (binddt (map ret ∘ g ⦿ w)) (f (w, a)))
reflexivity. Qed.
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M

forall (B : Type) (g : W * B -> M) (A : Type) (f : W * A -> T B), mapdReduce g ∘ binddt f = mapdReduce (fun '(w, a) => mapdReduce (g ⦿ w) (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M

forall (B : Type) (g : W * B -> M) (A : Type) (f : W * A -> T B), mapdReduce g ∘ binddt f = mapdReduce (fun '(w, a) => mapdReduce (g ⦿ w) (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
B: Type
g: W * B -> M
A: Type
f: W * A -> T B

mapdReduce g ∘ binddt f = mapdReduce (fun '(w, a) => mapdReduce (g ⦿ w) (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
B: Type
g: W * B -> M
A: Type
f: W * A -> T B

map (mapdReduce g) ∘ binddt f = mapdReduce (fun '(w, a) => mapdReduce (g ⦿ w) (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
B: Type
g: W * B -> M
A: Type
f: W * A -> T B

mapdReduce (fun '(w, a) => map (mapdReduce (g ⦿ w)) (f (w, a))) = mapdReduce (fun '(w, a) => mapdReduce (g ⦿ w) (f (w, a)))
reflexivity. Qed.
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M

forall (B : Type) (g : W * B -> M) (A : Type) (f : W * A -> T B), mapdReduce g ∘ bindd f = mapdReduce (fun '(w, a) => mapdReduce (g ⦿ w) (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M

forall (B : Type) (g : W * B -> M) (A : Type) (f : W * A -> T B), mapdReduce g ∘ bindd f = mapdReduce (fun '(w, a) => mapdReduce (g ⦿ w) (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
B: Type
g: W * B -> M
A: Type
f: W * A -> T B

mapdReduce g ∘ bindd f = mapdReduce (fun '(w, a) => mapdReduce (g ⦿ w) (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
B: Type
g: W * B -> M
A: Type
f: W * A -> T B

mapdReduce g ∘ binddt f = mapdReduce (fun '(w, a) => mapdReduce (g ⦿ w) (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
B: Type
g: W * B -> M
A: Type
f: W * A -> T B

mapdReduce (fun '(w, a) => mapdReduce (g ⦿ w) (f (w, a))) = mapdReduce (fun '(w, a) => mapdReduce (g ⦿ w) (f (w, a)))
reflexivity. Qed. (** ** Properties of <<mapReduce>> *) (********************************************************************)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H0: Monoid M

forall (B : Type) (g : B -> M) (A : Type) (f : W * A -> G (T B)), map (mapReduce g) ∘ binddt f = mapdReduce (fun '(w, a) => map (mapReduce g) (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H0: Monoid M

forall (B : Type) (g : B -> M) (A : Type) (f : W * A -> G (T B)), map (mapReduce g) ∘ binddt f = mapdReduce (fun '(w, a) => map (mapReduce g) (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H0: Monoid M
B: Type
g: B -> M
A: Type
f: W * A -> G (T B)

map (mapReduce g) ∘ binddt f = mapdReduce (fun '(w, a) => map (mapReduce g) (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H0: Monoid M
B: Type
g: B -> M
A: Type
f: W * A -> G (T B)

map (mapdReduce (g ∘ extract)) ∘ binddt f = mapdReduce (fun '(w, a) => map (mapReduce g) (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H0: Monoid M
B: Type
g: B -> M
A: Type
f: W * A -> G (T B)

map (mapdReduce (g ∘ extract)) ∘ binddt f = mapdReduce (fun '(w, a) => map (mapdReduce (g ∘ extract)) (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H0: Monoid M
B: Type
g: B -> M
A: Type
f: W * A -> G (T B)

mapdReduce (fun '(w, a) => map (mapdReduce ((g ∘ extract) ⦿ w)) (f (w, a))) = mapdReduce (fun '(w, a) => map (mapdReduce (g ∘ extract)) (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H0: Monoid M
B: Type
g: B -> M
A: Type
f: W * A -> G (T B)
w: W
a: A

map (mapdReduce ((g ∘ extract) ⦿ w)) (f (w, a)) = map (mapdReduce (g ∘ extract)) (f (w, a))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H0: Monoid M
B: Type
g: B -> M
A: Type
f: W * A -> G (T B)
w: W
a: A

map (mapdReduce (g ∘ extract)) (f (w, a)) = map (mapdReduce (g ∘ extract)) (f (w, a))
reflexivity. Qed.
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M

forall (B : Type) (g : B -> M) (A : Type) (f : W * A -> T B), mapReduce g ∘ bindd f = mapdReduce (fun '(w, a) => mapReduce g (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M

forall (B : Type) (g : B -> M) (A : Type) (f : W * A -> T B), mapReduce g ∘ bindd f = mapdReduce (fun '(w, a) => mapReduce g (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
B: Type
g: B -> M
A: Type
f: W * A -> T B

mapReduce g ∘ bindd f = mapdReduce (fun '(w, a) => mapReduce g (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
B: Type
g: B -> M
A: Type
f: W * A -> T B

mapReduce g ∘ binddt f = mapdReduce (fun '(w, a) => mapReduce g (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
B: Type
g: B -> M
A: Type
f: W * A -> T B

mapdReduce (g ∘ extract) ∘ binddt f = mapdReduce (fun '(w, a) => mapReduce g (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
B: Type
g: B -> M
A: Type
f: W * A -> T B

mapdReduce (fun '(w, a) => mapdReduce ((g ∘ extract) ⦿ w) (f (w, a))) = mapdReduce (fun '(w, a) => mapReduce g (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
B: Type
g: B -> M
A: Type
f: W * A -> T B
w: W
a: A

mapdReduce ((g ∘ extract) ⦿ w) (f (w, a)) = mapReduce g (f (w, a))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
B: Type
g: B -> M
A: Type
f: W * A -> T B
w: W
a: A

mapdReduce (g ∘ extract) (f (w, a)) = mapReduce g (f (w, a))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
M: Type
op0: Monoid_op M
unit0: Monoid_unit M
H: Monoid M
B: Type
g: B -> M
A: Type
f: W * A -> T B
w: W
a: A

mapdReduce (g ∘ extract) (f (w, a)) = mapdReduce (g ∘ extract) (f (w, a))
reflexivity. Qed. (** ** Properties of <<tolistd>> *) (********************************************************************) (** *** Composition with <<binddt>> / <<ret>> *) (********************************************************************)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall (A : Type) (a : A), toctxlist (ret a) = [(Ƶ, a)]
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall (A : Type) (a : A), toctxlist (ret a) = [(Ƶ, a)]
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type
a: A

toctxlist (ret a) = [(Ƶ, a)]
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type
a: A

mapdReduce ret (ret a) = [(Ƶ, a)]
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type
a: A

(mapdReduce ret ∘ ret) a = [(Ƶ, a)]
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type
a: A

(ret ∘ ret) a = [(Ƶ, a)]
reflexivity. Qed.
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall (G : Type -> Type) (Map_G : Map G) (Pure_G : Pure G) (Mult_G : Mult G), Applicative G -> forall (A B : Type) (f : W * A -> G (T B)), map toctxlist ∘ binddt f = mapdReduce (fun '(w, a) => map (mapdReduce (ret ⦿ w)) (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall (G : Type -> Type) (Map_G : Map G) (Pure_G : Pure G) (Mult_G : Mult G), Applicative G -> forall (A B : Type) (f : W * A -> G (T B)), map toctxlist ∘ binddt f = mapdReduce (fun '(w, a) => map (mapdReduce (ret ⦿ w)) (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
A, B: Type
f: W * A -> G (T B)

map toctxlist ∘ binddt f = mapdReduce (fun '(w, a) => map (mapdReduce (ret ⦿ w)) (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
A, B: Type
f: W * A -> G (T B)

map (mapdReduce ret) ∘ binddt f = mapdReduce (fun '(w, a) => map (mapdReduce (ret ⦿ w)) (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
A, B: Type
f: W * A -> G (T B)

mapdReduce (fun '(w, a) => map (mapdReduce (ret ⦿ w)) (f (w, a))) = mapdReduce (fun '(w, a) => map (mapdReduce (ret ⦿ w)) (f (w, a)))
reflexivity. Qed. (** *** Composition with <<bindd>> *) (********************************************************************)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall (A B : Type) (f : W * A -> T B), toctxlist ∘ bindd f = mapdReduce (fun '(w, a) => mapdReduce (ret ⦿ w) (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall (A B : Type) (f : W * A -> T B), toctxlist ∘ bindd f = mapdReduce (fun '(w, a) => mapdReduce (ret ⦿ w) (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A, B: Type
f: W * A -> T B

toctxlist ∘ bindd f = mapdReduce (fun '(w, a) => mapdReduce (ret ⦿ w) (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A, B: Type
f: W * A -> T B

mapdReduce ret ∘ bindd f = mapdReduce (fun '(w, a) => mapdReduce (ret ⦿ w) (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A, B: Type
f: W * A -> T B

mapdReduce (fun '(w, a) => mapdReduce (ret ⦿ w) (f (w, a))) = mapdReduce (fun '(w, a) => mapdReduce (ret ⦿ w) (f (w, a)))
reflexivity. Qed. (** ** Properties of <<tolist>> *) (********************************************************************) (** *** Composition with <<binddt>> *) (********************************************************************)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall (G : Type -> Type) (Map_G : Map G) (Pure_G : Pure G) (Mult_G : Mult G), Applicative G -> forall (A B : Type) (f : W * A -> G (T B)), map tolist ∘ binddt f = mapdReduce (map tolist ∘ f)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall (G : Type -> Type) (Map_G : Map G) (Pure_G : Pure G) (Mult_G : Mult G), Applicative G -> forall (A B : Type) (f : W * A -> G (T B)), map tolist ∘ binddt f = mapdReduce (map tolist ∘ f)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
A, B: Type
f: W * A -> G (T B)

map tolist ∘ binddt f = mapdReduce (map tolist ∘ f)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
A, B: Type
f: W * A -> G (T B)

map (mapReduce ret) ∘ binddt f = mapdReduce (map tolist ∘ f)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
A, B: Type
f: W * A -> G (T B)

mapdReduce (fun '(w, a) => map (mapReduce ret) (f (w, a))) = mapdReduce (map tolist ∘ f)
(* todo why isn't reflexivity enough... b.c. destructing the pair? *)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
A, B: Type
f: W * A -> G (T B)

(fun '(w, a) => map (mapReduce ret) (f (w, a))) = map tolist ∘ f
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
A, B: Type
f: W * A -> G (T B)
w: W
a: A

map (mapReduce ret) (f (w, a)) = (map tolist ∘ f) (w, a)
reflexivity. Qed. (** *** Composition with <<bindd>> *) (********************************************************************)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall (A B : Type) (f : W * A -> T B), tolist ∘ bindd f = mapdReduce (fun '(w, a) => mapReduce ret (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall (A B : Type) (f : W * A -> T B), tolist ∘ bindd f = mapdReduce (fun '(w, a) => mapReduce ret (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A, B: Type
f: W * A -> T B

tolist ∘ bindd f = mapdReduce (fun '(w, a) => mapReduce ret (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A, B: Type
f: W * A -> T B

mapReduce ret ∘ bindd f = mapdReduce (fun '(w, a) => mapReduce ret (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A, B: Type
f: W * A -> T B

mapdReduce (fun '(w, a) => mapReduce ret (f (w, a))) = mapdReduce (fun '(w, a) => mapReduce ret (f (w, a)))
reflexivity. Qed.
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall A : Type, tolist = binddt (ret ∘ extract)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall A : Type, tolist = binddt (ret ∘ extract)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type

tolist = binddt (ret ∘ extract)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type

traverse ret = binddt (ret ∘ extract)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type

binddt (map ret ∘ ret ∘ extract) = binddt (ret ∘ extract)
reflexivity. Qed. (** ** Properties of <<toctxset>> *) (********************************************************************)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall (A : Type) (a : A), toctxset (ret a) = {{(Ƶ, a)}}
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall (A : Type) (a : A), toctxset (ret a) = {{(Ƶ, a)}}
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type
a: A

toctxset (ret a) = {{(Ƶ, a)}}
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type
a: A

mapdReduce ret (ret a) = {{(Ƶ, a)}}
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type
a: A

(mapdReduce ret ∘ ret) a = {{(Ƶ, a)}}
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type
a: A

(ret ∘ ret) a = {{(Ƶ, a)}}
reflexivity. Qed. Import DecoratedTraversableMonad.DerivedInstances.
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall (A B : Type) (f : W * A -> T B), toctxset ∘ bindd f = bindd (toctxset ∘ f) ∘ toctxset
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall (A B : Type) (f : W * A -> T B), toctxset ∘ bindd f = bindd (toctxset ∘ f) ∘ toctxset
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A, B: Type
f: W * A -> T B

toctxset ∘ bindd f = bindd (toctxset ∘ f) ∘ toctxset
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A, B: Type
f: W * A -> T B

mapdReduce ret ∘ bindd f = bindd (toctxset ∘ f) ∘ toctxset
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A, B: Type
f: W * A -> T B

mapdReduce (fun '(w, a) => mapdReduce (ret ⦿ w) (f (w, a))) = bindd (toctxset ∘ f) ∘ toctxset
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A, B: Type
f: W * A -> T B

mapdReduce (fun '(w, a) => mapdReduce (ret ⦿ w) (f (w, a))) = bindd (mapdReduce ret ∘ f) ∘ toctxset
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A, B: Type
f: W * A -> T B

mapdReduce (fun '(w, a) => mapdReduce (ret ⦿ w) (f (w, a))) = bindd (mapdReduce ret ∘ f) ∘ mapdReduce ret
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A, B: Type
f: W * A -> T B

mapdReduce (fun '(w, a) => mapdReduce (ret ⦿ w) (f (w, a))) = mapdReduce (bindd (mapdReduce ret ∘ f) ∘ ret)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A, B: Type
f: W * A -> T B

(fun '(w, a) => mapdReduce (ret ⦿ w) (f (w, a))) = bindd (mapdReduce ret ∘ f) ∘ ret
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A, B: Type
f: W * A -> T B
w: W
a: A

mapdReduce (ret ⦿ w) (f (w, a)) = (bindd (mapdReduce ret ∘ f) ∘ ret) (w, a)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A, B: Type
f: W * A -> T B
w: W
a: A

mapdReduce (ret ⦿ w) (f (w, a)) = bindd (mapdReduce ret ∘ f) {{(w, a)}}
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A, B: Type
f: W * A -> T B
w: W
a: A

mapdReduce (ret ⦿ w) (f (w, a)) = DecoratedMonad.shift subset (w, (mapdReduce ret ∘ f) (w, a))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A, B: Type
f: W * A -> T B
w: W
a: A

mapdReduce (ret ⦿ w) (f (w, a)) = DecoratedMonad.shift subset (w, mapdReduce ret (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A, B: Type
f: W * A -> T B
w: W
a: A

mapdReduce (ret ⦿ w) (f (w, a)) = map (map_fst (fun m : W => w ● m)) (mapdReduce ret (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A, B: Type
f: W * A -> T B
w: W
a: A

mapdReduce (ret ⦿ w) (f (w, a)) = (map (map_fst (fun m : W => w ● m)) ∘ mapdReduce ret) (f (w, a))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A, B: Type
f: W * A -> T B
w: W
a: A

mapdReduce (ret ⦿ w) (f (w, a)) = mapdReduce (map (map_fst (fun m : W => w ● m)) ∘ ret) (f (w, a))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A, B: Type
f: W * A -> T B
w: W
a: A

mapdReduce (ret ⦿ w) (f (w, a)) = mapdReduce (ret ∘ map (map_fst (fun m : W => w ● m))) (f (w, a))
reflexivity. Qed.
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall A : Type, toctxset = binddt ret
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall A : Type, toctxset = binddt ret
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type

toctxset = binddt ret
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type

mapdReduce ret = binddt ret
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type

mapdt ret = binddt ret
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type

binddt (map ret ∘ ret) = binddt ret
reflexivity. Qed. (** ** Properties of <<tosubset>> *) (********************************************************************)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall (A B : Type) (f : W * A -> T B), tosubset ∘ bindd f = mapdReduce (fun '(w, a) => mapReduce ret (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall (A B : Type) (f : W * A -> T B), tosubset ∘ bindd f = mapdReduce (fun '(w, a) => mapReduce ret (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A, B: Type
f: W * A -> T B

tosubset ∘ bindd f = mapdReduce (fun '(w, a) => mapReduce ret (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A, B: Type
f: W * A -> T B

mapReduce ret ∘ bindd f = mapdReduce (fun '(w, a) => mapReduce ret (f (w, a)))
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A, B: Type
f: W * A -> T B

mapdReduce (fun '(w, a) => mapReduce ret (f (w, a))) = mapdReduce (fun '(w, a) => mapReduce ret (f (w, a)))
reflexivity. Qed.
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall A : Type, tosubset = binddt (ret ∘ extract)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall A : Type, tosubset = binddt (ret ∘ extract)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type

tosubset = binddt (ret ∘ extract)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type

mapReduce ret = binddt (ret ∘ extract)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type

traverse ret = binddt (ret ∘ extract)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type

binddt (map ret ∘ ret ∘ extract) = binddt (ret ∘ extract)
reflexivity. Qed. (** ** Properties of <<∈d>> *) (********************************************************************) Section properties_element_ctx_of.
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall (A : Type) (w : W) (a1 a2 : A), (w, a1) ∈d ret a2 <-> w = Ƶ /\ a1 = a2
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall (A : Type) (w : W) (a1 a2 : A), (w, a1) ∈d ret a2 <-> w = Ƶ /\ a1 = a2
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type
w: W
a1, a2: A

(w, a1) ∈d ret a2 <-> w = Ƶ /\ a1 = a2
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type
w: W
a1, a2: A

toctxset (ret a2) (w, a1) <-> w = Ƶ /\ a1 = a2
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type
w: W
a1, a2: A

{{(Ƶ, a2)}} (w, a1) <-> w = Ƶ /\ a1 = a2
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type
w: W
a1, a2: A

(Ƶ, a2) = (w, a1) <-> w = Ƶ /\ a1 = a2
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type
w: W
a1, a2: A

Ƶ = w /\ a2 = a1 <-> w = Ƶ /\ a1 = a2
easy. Qed.
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall (A : Type) (t : U A) (w : W) (a : A), (w, a) ∈d t = binddt (eq (w, a)) t
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall (A : Type) (t : U A) (w : W) (a : A), (w, a) ∈d t = binddt (eq (w, a)) t
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type
t: U A
w: W
a: A

(w, a) ∈d t = binddt (eq (w, a)) t
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type
t: U A
w: W
a: A

mapdReduce {{(w, a)}} t = binddt (eq (w, a)) t
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type
t: U A
w: W
a: A

mapdt {{(w, a)}} t = binddt (eq (w, a)) t
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type
t: U A
w: W
a: A

binddt (map ret ∘ {{(w, a)}}) t = binddt (eq (w, a)) t
reflexivity. Qed. End properties_element_ctx_of. (** ** Properties of <<∈>> *) (********************************************************************) Import TraversableMonad.DerivedInstances.
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall (A : Type) (t : U A) (a : A), a ∈ t = binddt (eq a ∘ extract) t
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall (A : Type) (t : U A) (a : A), a ∈ t = binddt (eq a ∘ extract) t
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type
t: U A
a: A

a ∈ t = binddt (eq a ∘ extract) t
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type
t: U A
a: A

mapReduce {{a}} t = binddt (eq a ∘ extract) t
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type
t: U A
a: A

traverse {{a}} t = binddt (eq a ∘ extract) t
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type
t: U A
a: A

binddt (map ret ∘ {{a}} ∘ extract) t = binddt (eq a ∘ extract) t
reflexivity. Qed. End composition. (** * Monad Homomorphism Instances *) (**********************************************************************) Section instances. Context `{op: Monoid_op W} `{unit: Monoid_unit W} `{Monoid_inst: ! Monoid W}. Context `{ret_inst: Return T} `{Map_T_inst: Map T} `{Mapd_T_inst: Mapd W T} `{Traverse_T_inst: Traverse T} `{Bind_T_inst: Bind T T} `{Mapdt_T_inst: Mapdt W T} `{Bindd_T_inst: Bindd W T T} `{Bindt_T_inst: Bindt T T} `{Binddt_T_inst: Binddt W T T} `{! Compat_Map_Binddt W T T} `{! Compat_Mapd_Binddt W T T} `{! Compat_Traverse_Binddt W T T} `{! Compat_Bind_Binddt W T T} `{! Compat_Mapdt_Binddt W T T} `{! Compat_Bindd_Binddt W T T} `{! Compat_Bindt_Binddt W T T}. Context `{Map_U_inst: Map U} `{Mapd_U_inst: Mapd W U} `{Traverse_U_inst: Traverse U} `{Bind_U_inst: Bind T U} `{Mapdt_U_inst: Mapdt W U} `{Bindd_U_inst: Bindd W T U} `{Bindt_U_inst: Bindt T U} `{Binddt_U_inst: Binddt W T U} `{! Compat_Map_Binddt W T U} `{! Compat_Mapd_Binddt W T U} `{! Compat_Traverse_Binddt W T U} `{! Compat_Bind_Binddt W T U} `{! Compat_Mapdt_Binddt W T U} `{! Compat_Bindd_Binddt W T U} `{! Compat_Bindt_Binddt W T U}. Context `{ToSubset_T_inst: ToSubset T} `{ToSubset_U_inst: ToSubset U} `{! Compat_ToSubset_Traverse T} `{! Compat_ToSubset_Traverse U}. Context `{ToCtxset_T_inst: ToCtxset W T} `{ToCtxset_U_inst: ToCtxset W U} `{! Compat_ToCtxset_Mapdt W T} `{! Compat_ToCtxset_Mapdt W U}. Context `{ToCtxlist_T_inst: ToCtxlist W T} `{ToCtxlist_U_inst: ToCtxlist W U} `{! Compat_ToCtxlist_Mapdt W T} `{! Compat_ToCtxlist_Mapdt W U}. Context `{Monad_inst: ! DecoratedTraversableMonad W T} `{Module_inst: ! DecoratedTraversableRightPreModule W T U}.
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

DecoratedMonadHom W T (ctxset W) (@toctxset W T ToCtxset_T_inst)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

DecoratedMonadHom W T (ctxset W) (@toctxset W T ToCtxset_T_inst)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall (A B : Type) (f : W * A -> T B), toctxset ∘ bindd f = bindd (toctxset ∘ f) ∘ toctxset
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
forall A : Type, toctxset ∘ ret = ret
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall (A B : Type) (f : W * A -> T B), toctxset ∘ bindd f = bindd (toctxset ∘ f) ∘ toctxset
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A, B: Type
f: W * A -> T B

toctxset ∘ bindd f = bindd (toctxset ∘ f) ∘ toctxset
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A, B: Type
f: W * A -> T B

bindd (toctxset ∘ f) ∘ toctxset = bindd (toctxset ∘ f) ∘ toctxset
reflexivity.
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall A : Type, toctxset ∘ ret = ret
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type

toctxset ∘ ret = ret
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type
a: A
w: W
a': A

(toctxset ∘ ret) a (w, a') = ret a (w, a')
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type
a: A
w: W
a': A

toctxset (ret a) (w, a') = ret a (w, a')
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type
a: A
w: W
a': A

{{(Ƶ, a)}} (w, a') = ret a (w, a')
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type
a: A
w: W
a': A

((unit, a) = (w, a')) = (a = a' /\ w = unit)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type
a: A
w: W
a': A

(unit, a) = (w, a') <-> a = a' /\ w = unit
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type
a: A
w: W
a': A

unit = w /\ a = a' <-> a = a' /\ w = unit
easy. Qed.
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

DecoratedMonadHom W T (ctxset W) (@toctxset W T ToCtxset_T_inst)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

DecoratedMonadHom W T (ctxset W) (@toctxset W T ToCtxset_T_inst)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall (A B : Type) (f : W * A -> T B), toctxset ∘ bindd f = bindd (toctxset ∘ f) ∘ toctxset
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
forall A : Type, toctxset ∘ ret = ret
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall (A B : Type) (f : W * A -> T B), toctxset ∘ bindd f = bindd (toctxset ∘ f) ∘ toctxset
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A, B: Type
f: W * A -> T B

toctxset ∘ bindd f = bindd (toctxset ∘ f) ∘ toctxset
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A, B: Type
f: W * A -> T B

bindd (toctxset ∘ f) ∘ toctxset = bindd (toctxset ∘ f) ∘ toctxset
reflexivity.
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall A : Type, toctxset ∘ ret = ret
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type

toctxset ∘ ret = ret
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type
a: A
w: W
a': A

(toctxset ∘ ret) a (w, a') = ret a (w, a')
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type
a: A
w: W
a': A

toctxset (ret a) (w, a') = ret a (w, a')
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type
a: A
w: W
a': A

{{(Ƶ, a)}} (w, a') = ret a (w, a')
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type
a: A
w: W
a': A

((unit, a) = (w, a')) = (a = a' /\ w = unit)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type
a: A
w: W
a': A

(unit, a) = (w, a') <-> a = a' /\ w = unit
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A: Type
a: A
w: W
a': A

unit = w /\ a = a' <-> a = a' /\ w = unit
easy. Qed.
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

ParallelDecoratedRightModuleHom T (ctxset W) U (ctxset W) (@toctxset W T ToCtxset_T_inst) (@toctxset W U ToCtxset_U_inst)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

ParallelDecoratedRightModuleHom T (ctxset W) U (ctxset W) (@toctxset W T ToCtxset_T_inst) (@toctxset W U ToCtxset_U_inst)
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U

forall (A B : Type) (f : W * A -> T B), toctxset ∘ bindd f = bindd (toctxset ∘ f) ∘ toctxset
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A, B: Type
f: W * A -> T B

toctxset ∘ bindd f = bindd (toctxset ∘ f) ∘ toctxset
W: Type
op: Monoid_op W
unit: Monoid_unit W
Monoid_inst: Monoid W
T: Type -> Type
ret_inst: Return T
Map_T_inst: Map T
Mapd_T_inst: Mapd W T
Traverse_T_inst: Traverse T
Bind_T_inst: Bind T T
Mapdt_T_inst: Mapdt W T
Bindd_T_inst: Bindd W T T
Bindt_T_inst: Bindt T T
Binddt_T_inst: Binddt W T T
Compat_Map_Binddt0: Compat_Map_Binddt W T T
Compat_Mapd_Binddt0: Compat_Mapd_Binddt W T T
Compat_Traverse_Binddt0: Compat_Traverse_Binddt W T T
Compat_Bind_Binddt0: Compat_Bind_Binddt W T T
Compat_Mapdt_Binddt0: Compat_Mapdt_Binddt W T T
Compat_Bindd_Binddt0: Compat_Bindd_Binddt W T T
Compat_Bindt_Binddt0: Compat_Bindt_Binddt W T T
U: Type -> Type
Map_U_inst: Map U
Mapd_U_inst: Mapd W U
Traverse_U_inst: Traverse U
Bind_U_inst: Bind T U
Mapdt_U_inst: Mapdt W U
Bindd_U_inst: Bindd W T U
Bindt_U_inst: Bindt T U
Binddt_U_inst: Binddt W T U
Compat_Map_Binddt1: Compat_Map_Binddt W T U
Compat_Mapd_Binddt1: Compat_Mapd_Binddt W T U
Compat_Traverse_Binddt1: Compat_Traverse_Binddt W T U
Compat_Bind_Binddt1: Compat_Bind_Binddt W T U
Compat_Mapdt_Binddt1: Compat_Mapdt_Binddt W T U
Compat_Bindd_Binddt1: Compat_Bindd_Binddt W T U
Compat_Bindt_Binddt1: Compat_Bindt_Binddt W T U
ToSubset_T_inst: ToSubset T
ToSubset_U_inst: ToSubset U
Compat_ToSubset_Traverse0: Compat_ToSubset_Traverse T
Compat_ToSubset_Traverse1: Compat_ToSubset_Traverse U
ToCtxset_T_inst: ToCtxset W T
ToCtxset_U_inst: ToCtxset W U
Compat_ToCtxset_Mapdt0: Compat_ToCtxset_Mapdt W T
Compat_ToCtxset_Mapdt1: Compat_ToCtxset_Mapdt W U
ToCtxlist_T_inst: ToCtxlist W T
ToCtxlist_U_inst: ToCtxlist W U
Compat_ToCtxlist_Mapdt0: Compat_ToCtxlist_Mapdt W T
Compat_ToCtxlist_Mapdt1: Compat_ToCtxlist_Mapdt W U
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
A, B: Type
f: W * A -> T B

bindd (toctxset ∘ f) ∘ toctxset = bindd (toctxset ∘ f) ∘ toctxset
reflexivity. Qed. End instances.