Built with Alectryon, running Coq+SerAPI v8.16.0+0.16.3. Bubbles () indicate interactive fragments: hover for details, tap to reveal contents. Use Ctrl+↑ Ctrl+↓ to navigate, Ctrl+🖱️ to focus. On Mac, use instead of Ctrl.
From Tealeaves Require Import
  Classes.Coalgebraic.TraversableMonad
  Classes.Coalgebraic.DecoratedTraversableFunctor
  Classes.Coalgebraic.DecoratedTraversableMonad
  Adapters.KleisliToCoalgebraic.TraversableMonad
  Adapters.KleisliToCoalgebraic.DecoratedTraversableFunctor
  Adapters.KleisliToCoalgebraic.DecoratedTraversableMonad
  Classes.Kleisli.Theory.DecoratedTraversableMonad
  Classes.Kleisli.DecoratedContainerMonad.

From Tealeaves Require Export
  Theory.DecoratedTraversableFunctor
  Theory.TraversableMonad
  Classes.Monoid
  Functors.List
  Functors.Subset
  Functors.Constant
  Classes.Categorical.Applicative.

Import Product.Notations.
Import Monoid.Notations.
Import Batch.Notations.
Import List.ListNotations.
Import Subset.Notations.
Import ContainerFunctor.Notations.
Import DecoratedContainerFunctor.Notations.
Import DecoratedTraversableMonad.Notations.

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

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

  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
    `{Monad_inst: ! DecoratedTraversableMonad W T}
    `{Module_inst: ! DecoratedTraversableRightPreModule W T U}.

  Context
    `{ToBatch7_WTT: ToBatch7 W T T}
    `{ToBatch7_WTU: ToBatch7 W T U}
    `{! Compat_ToBatch7_Binddt W T T}
    `{! Compat_ToBatch7_Binddt W T U}.

  Context
    `{ToSubset_U_inst: ToSubset U}
    `{ToSubset_T_inst: ToSubset T}
    `{! 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
    `{ToBatch3_TU: ToBatch3 W U}
    `{! Compat_ToBatch3_Mapdt W U}
    `{ToBatch6_TU: ToBatch6 T U}
    `{! Compat_ToBatch6_Bindt T U}.

  Import
    Kleisli.TraversableMonad.DerivedInstances
    Kleisli.DecoratedTraversableMonad.DerivedInstances.

  (** ** Relating <<toBatch7>> to <<toBatch3>> and <<toBatch6>> *)
  (********************************************************************)
  
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type

forall t : U A, toBatch3 t = mapsnd_Batch ret (toBatch7 t)
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type

forall t : U A, toBatch3 t = mapsnd_Batch ret (toBatch7 t)
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
t: U A

toBatch3 t = mapsnd_Batch ret (toBatch7 t)
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
t: U A

mapdt (batch (W * A) B) t = mapsnd_Batch ret (toBatch7 t)
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
t: U A

mapdt (batch (W * A) B) t = mapsnd_Batch ret (binddt (batch (W * A) (T B)) t)
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
t: U A

binddt (map ret ∘ batch (W * A) B) t = mapsnd_Batch ret (binddt (batch (W * A) (T B)) t)
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
t: U A

binddt (map ret ∘ batch (W * A) B) t = (mapsnd_Batch ret ∘ binddt (batch (W * A) (T B))) t
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
t: U A

binddt (map ret ∘ batch (W * A) B) t = binddt (mapsnd_Batch ret ∘ batch (W * A) (T B)) t
reflexivity. Qed.
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type

toBatch6 = mapfst_Batch extract ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type

toBatch6 = mapfst_Batch extract ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type

toBatch6 = mapfst_Batch extract ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type

bindt (batch A (T B)) = mapfst_Batch extract ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type

binddt (batch A (T B) ∘ extract) = mapfst_Batch extract ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type

binddt (batch A (T B) ∘ extract) = mapfst_Batch extract ∘ binddt (batch (W * A) (T B))
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type

binddt (batch A (T B) ∘ extract) = binddt (mapfst_Batch extract ∘ batch (W * A) (T B))
reflexivity. Qed. (** ** Specification for <<binddt>> via <<toBatch7>> *) (********************************************************************)
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt 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)), binddt f = map extract_Batch ∘ traverse f ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt 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)), binddt f = map extract_Batch ∘ traverse f ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt 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)

binddt f = map extract_Batch ∘ traverse f ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt 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)

binddt f = map extract_Batch ∘ traverse f ∘ binddt (batch (W * A) (T B))
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt 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)

binddt f = runBatch f ∘ binddt (batch (W * A) (T B))
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt 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)

binddt f = binddt (runBatch f ∘ batch (W * A) (T B))
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt 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)

binddt f = binddt f
reflexivity. Qed.
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt 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)

binddt f = runBatch f ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt 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)

binddt f = runBatch f ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt 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)

binddt f = runBatch f ∘ binddt (batch (W * A) (T B))
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt 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)

binddt f = binddt (runBatch f ∘ batch (W * A) (T B))
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt 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)

binddt f = binddt f
reflexivity. Qed.
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
A, B: Type
f: A -> G (T B)

bindt f = runBatch (f ∘ extract) ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
A, B: Type
f: A -> G (T B)

bindt f = runBatch (f ∘ extract) ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
A, B: Type
f: A -> G (T B)

binddt (f ∘ extract) = runBatch (f ∘ extract) ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
A, B: Type
f: A -> G (T B)

runBatch (f ∘ extract) ∘ toBatch7 = runBatch (f ∘ extract) ∘ toBatch7
reflexivity. Qed.
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
f: W * A -> T B

bindd f = runBatch f ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
f: W * A -> T B

bindd f = runBatch f ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
f: W * A -> T B

binddt f = runBatch f ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
f: W * A -> T B

runBatch f ∘ toBatch7 = runBatch f ∘ toBatch7
reflexivity. Qed.
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
A, B: Type
f: A -> G B

traverse f = runBatch (map ret ∘ f ∘ extract) ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
A, B: Type
f: A -> G B

traverse f = runBatch (map ret ∘ f ∘ extract) ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
A, B: Type
f: A -> G B

binddt (map ret ∘ f ∘ extract) = runBatch (map ret ∘ f ∘ extract) ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
Map_G: Map G
Pure_G: Pure G
Mult_G: Mult G
H: Applicative G
A, B: Type
f: A -> G B

runBatch (map ret ∘ f ∘ extract) ∘ toBatch7 = runBatch (map ret ∘ f ∘ extract) ∘ toBatch7
reflexivity. Qed.
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt 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 B

mapdt f = runBatch (map ret ∘ f) ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt 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 B

mapdt f = runBatch (map ret ∘ f) ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt 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 B

binddt (map ret ∘ f) = runBatch (map ret ∘ f) ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt 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 B

runBatch (map ret ∘ f) ∘ toBatch7 = runBatch (map ret ∘ f) ∘ toBatch7
reflexivity. Qed.
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
f: W * A -> B

mapd f = runBatch (ret ∘ f) ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
f: W * A -> B

mapd f = runBatch (ret ∘ f) ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
f: W * A -> B

binddt (ret ∘ f) = runBatch (ret ∘ f) ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
f: W * A -> B

runBatch (ret ∘ f) ∘ toBatch7 = runBatch (ret ∘ f) ∘ toBatch7
reflexivity. Qed.
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
f: A -> B

map f = runBatch (ret ∘ f ∘ extract) ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
f: A -> B

map f = runBatch (ret ∘ f ∘ extract) ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
f: A -> B

traverse f = runBatch (ret ∘ f ∘ extract) ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
f: A -> B

runBatch (map ret ∘ f ∘ extract) ∘ toBatch7 = runBatch (ret ∘ f ∘ extract) ∘ toBatch7
reflexivity. Qed.
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U

forall A : Type, id = runBatch (ret ∘ extract) ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U

forall A : Type, id = runBatch (ret ∘ extract) ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A: Type

id = runBatch (ret ∘ extract) ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A: Type

map id = runBatch (ret ∘ extract) ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A: Type

runBatch (ret ∘ id ∘ extract) ∘ toBatch7 = runBatch (ret ∘ extract) ∘ toBatch7
reflexivity. Qed. (** ** Naturality of <<toBatch7>> *) (********************************************************************)
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
op1: Monoid_op W
unit1: Monoid_unit W
Return_inst: Return T
Bindd_T_inst0: Binddt W T T
H: DecoratedTraversableMonad W T
A, A', B: Type
f: W * A -> A'

toBatch7 ∘ mapd f = mapfst_Batch (cobind f) ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
op1: Monoid_op W
unit1: Monoid_unit W
Return_inst: Return T
Bindd_T_inst0: Binddt W T T
H: DecoratedTraversableMonad W T
A, A', B: Type
f: W * A -> A'

toBatch7 ∘ mapd f = mapfst_Batch (cobind f) ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
op1: Monoid_op W
unit1: Monoid_unit W
Return_inst: Return T
Bindd_T_inst0: Binddt W T T
H: DecoratedTraversableMonad W T
A, A', B: Type
f: W * A -> A'

binddt (batch (W * A') (T B)) ∘ mapd f = mapfst_Batch (cobind f) ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
op1: Monoid_op W
unit1: Monoid_unit W
Return_inst: Return T
Bindd_T_inst0: Binddt W T T
H: DecoratedTraversableMonad W T
A, A', B: Type
f: W * A -> A'

binddt (kc1 (batch (W * A') (T B)) f) = mapfst_Batch (cobind f) ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
op1: Monoid_op W
unit1: Monoid_unit W
Return_inst: Return T
Bindd_T_inst0: Binddt W T T
H: DecoratedTraversableMonad W T
A, A', B: Type
f: W * A -> A'

binddt (kc1 (batch (W * A') (T B)) f) = mapfst_Batch (cobind f) ∘ binddt (batch (W * A) (T B))
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
op1: Monoid_op W
unit1: Monoid_unit W
Return_inst: Return T
Bindd_T_inst0: Binddt W T T
H: DecoratedTraversableMonad W T
A, A', B: Type
f: W * A -> A'

binddt (kc1 (batch (W * A') (T B)) f) = binddt (mapfst_Batch (cobind f) ∘ batch (W * A) (T B))
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
op1: Monoid_op W
unit1: Monoid_unit W
Return_inst: Return T
Bindd_T_inst0: Binddt W T T
H: DecoratedTraversableMonad W T
A, A', B: Type
f: W * A -> A'

binddt (kc1 (batch (W * A') (T B)) f) = binddt (batch (W * A') (T B) ∘ cobind f)
reflexivity. Qed.
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, A', B: Type
f: A -> A'
C: Type

toBatch7 ∘ map f = mapfst_Batch (map f) ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, A', B: Type
f: A -> A'
C: Type

toBatch7 ∘ map f = mapfst_Batch (map f) ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, A', B: Type
f: A -> A'
C: Type

toBatch7 ∘ map f = mapfst_Batch (cobind (f ∘ extract)) ∘ toBatch7
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, A', B: Type
f: A -> A'
C: Type

toBatch7 ∘ map f = toBatch7 ∘ mapd (f ∘ extract)
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, A', B: Type
f: A -> A'
C: Type

toBatch7 ∘ mapd (f ∘ extract) = toBatch7 ∘ mapd (f ∘ extract)
reflexivity. Qed.
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, A', B: Type
f: W * A -> A'

mapfst_Batch f ∘ toBatch7 = toBatch6 ∘ mapd f
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, A', B: Type
f: W * A -> A'

mapfst_Batch f ∘ toBatch7 = toBatch6 ∘ mapd f
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, A', B: Type
f: W * A -> A'

mapfst_Batch f ∘ toBatch7 = mapfst_Batch extract ∘ toBatch7 ∘ mapd f
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, A', B: Type
f: W * A -> A'

mapfst_Batch f ∘ binddt (batch (W * A) (T B)) = mapfst_Batch extract ∘ toBatch7 ∘ mapd f
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, A', B: Type
f: W * A -> A'

mapfst_Batch f ∘ binddt (batch (W * A) (T B)) = mapfst_Batch extract ∘ binddt (batch (W * A') (T B)) ∘ mapd f
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, A', B: Type
f: W * A -> A'

mapfst_Batch f ∘ binddt (batch (W * A) (T B)) = mapfst_Batch extract ∘ (binddt (batch (W * A') (T B)) ∘ mapd f)
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, A', B: Type
f: W * A -> A'

mapfst_Batch f ∘ binddt (batch (W * A) (T B)) = mapfst_Batch extract ∘ binddt (kc1 (batch (W * A') (T B)) f)
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, A', B: Type
f: W * A -> A'

mapfst_Batch f ∘ binddt (batch (W * A) (T B)) = binddt (mapfst_Batch extract ∘ kc1 (batch (W * A') (T B)) f)
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, A', B: Type
f: W * A -> A'

binddt (mapfst_Batch f ∘ batch (W * A) (T B)) = binddt (mapfst_Batch extract ∘ kc1 (batch (W * A') (T B)) f)
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, A', B: Type
f: W * A -> A'

binddt (batch A' (T B) ∘ f) = binddt (mapfst_Batch extract ∘ kc1 (batch (W * A') (T B)) f)
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, A', B: Type
f: W * A -> A'

binddt (batch A' (T B) ∘ f) = binddt (mapfst_Batch extract ∘ (batch (W * A') (T B) ∘ cobind f))
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, A', B: Type
f: W * A -> A'

binddt (batch A' (T B) ∘ f) = binddt (mapfst_Batch extract ∘ batch (W * A') (T B) ∘ cobind f)
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, A', B: Type
f: W * A -> A'

binddt (batch A' (T B) ∘ f) = binddt (batch A' (T B) ∘ extract ∘ cobind f)
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, A', B: Type
f: W * A -> A'

binddt (batch A' (T B) ∘ f) = binddt (batch A' (T B) ∘ (extract ∘ cobind f))
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, A', B: Type
f: W * A -> A'

binddt (batch A' (T B) ∘ f) = binddt (batch A' (T B) ∘ f)
reflexivity. Qed. (** ** Respectfulness for <<binddt>> *) (********************************************************************)
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
H: Mult G
H0: Map G
H1: Pure G

forall (A B : Type) (t : U A) (f g : W * A -> G (T B)), (forall (w : W) (a : A), (w, a) ∈d t -> f (w, a) = g (w, a)) = Forall_ctx (fun '(w, a) => f (w, a) = g (w, a)) t
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
H: Mult G
H0: Map G
H1: Pure G

forall (A B : Type) (t : U A) (f g : W * A -> G (T B)), (forall (w : W) (a : A), (w, a) ∈d t -> f (w, a) = g (w, a)) = Forall_ctx (fun '(w, a) => f (w, a) = g (w, a)) t
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
H: Mult G
H0: Map G
H1: Pure G
A, B: Type
t: U A
f, g: W * A -> G (T B)

(forall (w : W) (a : A), (w, a) ∈d t -> f (w, a) = g (w, a)) = Forall_ctx (fun '(w, a) => f (w, a) = g (w, a)) t
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
H: Mult G
H0: Map G
H1: Pure G
A, B: Type
t: U A
f, g: W * A -> G (T B)

(forall (w : W) (a : A), (w, a) ∈d t -> f (w, a) = g (w, a)) <-> Forall_ctx (fun '(w, a) => f (w, a) = g (w, a)) t
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
H: Mult G
H0: Map G
H1: Pure G
A, B: Type
t: U A
f, g: W * A -> G (T B)

(forall (w : W) (a : A), (w, a) ∈d t -> f (w, a) = g (w, a)) <-> (forall (e : W) (a : A), (e, a) ∈d t -> f (e, a) = g (e, a))
reflexivity. Qed.
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
H: Mult G
H0: Map G
H1: Pure G
Applicative0: Applicative G

forall (A B : Type) (t : U A) (f g : W * A -> G (T B)), (forall (w : W) (a : A), (w, a) ∈d t -> f (w, a) = g (w, a)) -> binddt f t = binddt g t
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
H: Mult G
H0: Map G
H1: Pure G
Applicative0: Applicative G

forall (A B : Type) (t : U A) (f g : W * A -> G (T B)), (forall (w : W) (a : A), (w, a) ∈d t -> f (w, a) = g (w, a)) -> binddt f t = binddt g t
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
H: Mult G
H0: Map G
H1: Pure G
Applicative0: Applicative G
A, B: Type
t: U A
f, g: W * A -> G (T B)

(forall (w : W) (a : A), (w, a) ∈d t -> f (w, a) = g (w, a)) -> binddt f t = binddt g t
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
H: Mult G
H0: Map G
H1: Pure G
Applicative0: Applicative G
A, B: Type
t: U A
f, g: W * A -> G (T B)

Forall_ctx (fun '(w, a) => f (w, a) = g (w, a)) t -> binddt f t = binddt g t
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
H: Mult G
H0: Map G
H1: Pure G
Applicative0: Applicative G
A, B: Type
t: U A
f, g: W * A -> G (T B)

mapdReduce (fun '(w, a) => f (w, a) = g (w, a)) t -> binddt f t = binddt g t
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
H: Mult G
H0: Map G
H1: Pure G
Applicative0: Applicative G
A, B: Type
t: U A
f, g: W * A -> G (T B)

(runBatch (fun '(w, a) => f (w, a) = g (w, a)) ∘ toBatch3) t -> binddt f t = binddt g t
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
H: Mult G
H0: Map G
H1: Pure G
Applicative0: Applicative G
A, B: Type
t: U A
f, g: W * A -> G (T B)

(runBatch (fun '(w, a) => f (w, a) = g (w, a)) ∘ toBatch3) t -> (runBatch f ∘ toBatch7) t = (runBatch g ∘ toBatch7) t
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
H: Mult G
H0: Map G
H1: Pure G
Applicative0: Applicative G
A, B: Type
t: U A
f, g: W * A -> G (T B)

runBatch (fun '(w, a) => f (w, a) = g (w, a)) (toBatch3 t) -> runBatch f (toBatch7 t) = runBatch g (toBatch7 t)
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
H: Mult G
H0: Map G
H1: Pure G
Applicative0: Applicative G
A, B: Type
t: U A
f, g: W * A -> G (T B)

runBatch (fun '(w, a) => f (w, a) = g (w, a)) (mapsnd_Batch ret (toBatch7 t)) -> runBatch f (toBatch7 t) = runBatch g (toBatch7 t)
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
H: Mult G
H0: Map G
H1: Pure G
Applicative0: Applicative G
A, B: Type
t: U A
f, g: W * A -> G (T B)

runBatch (map ret ∘ (fun '(w, a) => f (w, a) = g (w, a))) (toBatch7 t) -> runBatch f (toBatch7 t) = runBatch g (toBatch7 t)
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
H: Mult G
H0: Map G
H1: Pure G
Applicative0: Applicative G
A, B: Type
t: U A
f, g: W * A -> G (T B)
C: Type
c: C

runBatch (map ret ∘ (fun '(w, a) => f (w, a) = g (w, a))) (Done c) -> runBatch f (Done c) = runBatch g (Done c)
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
H: Mult G
H0: Map G
H1: Pure G
Applicative0: Applicative G
A, B: Type
t: U A
f, g: W * A -> G (T B)
C: Type
b: Batch (W * A) (T B) (T B -> C)
a: W * A
IHb: runBatch (map ret ∘ (fun '(w, a) => f (w, a) = g (w, a))) b -> runBatch f b = runBatch g b
runBatch (map ret ∘ (fun '(w, a) => f (w, a) = g (w, a))) (b ⧆ a) -> runBatch f (b ⧆ a) = runBatch g (b ⧆ a)
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
H: Mult G
H0: Map G
H1: Pure G
Applicative0: Applicative G
A, B: Type
t: U A
f, g: W * A -> G (T B)
C: Type
c: C

runBatch (map ret ∘ (fun '(w, a) => f (w, a) = g (w, a))) (Done c) -> runBatch f (Done c) = runBatch g (Done c)
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
H: Mult G
H0: Map G
H1: Pure G
Applicative0: Applicative G
A, B: Type
t: U A
f, g: W * A -> G (T B)
C: Type
c: C

pure c -> pure c = pure c
reflexivity.
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
H: Mult G
H0: Map G
H1: Pure G
Applicative0: Applicative G
A, B: Type
t: U A
f, g: W * A -> G (T B)
C: Type
b: Batch (W * A) (T B) (T B -> C)
a: W * A
IHb: runBatch (map ret ∘ (fun '(w, a) => f (w, a) = g (w, a))) b -> runBatch f b = runBatch g b

runBatch (map ret ∘ (fun '(w, a) => f (w, a) = g (w, a))) (b ⧆ a) -> runBatch f (b ⧆ a) = runBatch g (b ⧆ a)
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
H: Mult G
H0: Map G
H1: Pure G
Applicative0: Applicative G
A, B: Type
t: U A
f, g: W * A -> G (T B)
C: Type
b: Batch (W * A) (T B) (T B -> C)
w: W
a: A
IHb: runBatch (map ret ∘ (fun '(w, a) => f (w, a) = g (w, a))) b -> runBatch f b = runBatch g b

runBatch (map ret ∘ (fun '(w, a) => f (w, a) = g (w, a))) (b ⧆ (w, a)) -> runBatch f (b ⧆ (w, a)) = runBatch g (b ⧆ (w, a))
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
H: Mult G
H0: Map G
H1: Pure G
Applicative0: Applicative G
A, B: Type
t: U A
f, g: W * A -> G (T B)
C: Type
b: Batch (W * A) (T B) (T B -> C)
w: W
a: A
IHb: runBatch (map ret ∘ (fun '(w, a) => f (w, a) = g (w, a))) b -> runBatch f b = runBatch g b

runBatch (map ret ∘ (fun '(w, a) => f (w, a) = g (w, a))) b ● (f (w, a) = g (w, a)) -> ap G (runBatch f b) (f (w, a)) = ap G (runBatch g b) (g (w, a))
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
H: Mult G
H0: Map G
H1: Pure G
Applicative0: Applicative G
A, B: Type
t: U A
f, g: W * A -> G (T B)
C: Type
b: Batch (W * A) (T B) (T B -> C)
w: W
a: A
IHb: runBatch (map ret ∘ (fun '(w, a) => f (w, a) = g (w, a))) b -> runBatch f b = runBatch g b
hyp1: runBatch (map ret ∘ (fun '(w, a) => f (w, a) = g (w, a))) b
hyp2: f (w, a) = g (w, a)

ap G (runBatch f b) (f (w, a)) = ap G (runBatch g b) (g (w, a))
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
H: Mult G
H0: Map G
H1: Pure G
Applicative0: Applicative G
A, B: Type
t: U A
f, g: W * A -> G (T B)
C: Type
b: Batch (W * A) (T B) (T B -> C)
w: W
a: A
IHb: runBatch (map ret ∘ (fun '(w, a) => f (w, a) = g (w, a))) b -> runBatch f b = runBatch g b
hyp1: runBatch (map ret ∘ (fun '(w, a) => f (w, a) = g (w, a))) b
hyp2: f (w, a) = g (w, a)

ap G (runBatch f b) (g (w, a)) = ap G (runBatch g b) (g (w, a))
rewrite IHb; auto. Qed.
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
H: Mult G
H0: Map G
H1: Pure G
Applicative0: Applicative G

forall (A : Type) (t : U A) (f : W * A -> G (T A)), (forall (w : W) (a : A), (w, a) ∈d t -> f (w, a) = pure (ret a)) -> binddt f t = pure t
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
H: Mult G
H0: Map G
H1: Pure G
Applicative0: Applicative G

forall (A : Type) (t : U A) (f : W * A -> G (T A)), (forall (w : W) (a : A), (w, a) ∈d t -> f (w, a) = pure (ret a)) -> binddt f t = pure t
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
H: Mult G
H0: Map G
H1: Pure G
Applicative0: Applicative G
A: Type
t: U A
f: W * A -> G (T A)
H2: forall (w : W) (a : A), (w, a) ∈d t -> f (w, a) = pure (ret a)

binddt f t = pure t
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
G: Type -> Type
H: Mult G
H0: Map G
H1: Pure G
Applicative0: Applicative G
A: Type
t: U A
f: W * A -> G (T A)
H2: forall (w : W) (a : A), (w, a) ∈d t -> f (w, a) = pure (ret a)

binddt f t = binddt (pure ∘ ret ∘ extract) t
apply binddt_respectful; assumption. Qed. (** ** Respectfulness for <<bindd>> *) (********************************************************************)
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U

forall (A B : Type) (t : U A) (f g : W * A -> T B), (forall (w : W) (a : A), (w, a) ∈d t -> f (w, a) = g (w, a)) = Forall_ctx (fun '(w, a) => f (w, a) = g (w, a)) t
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
t: U A
f, g: W * A -> T B

(forall (w : W) (a : A), (w, a) ∈d t -> f (w, a) = g (w, a)) = Forall_ctx (fun '(w, a) => f (w, a) = g (w, a)) t
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
t: U A
f, g: W * A -> T B

(forall (w : W) (a : A), (w, a) ∈d t -> f (w, a) = g (w, a)) <-> Forall_ctx (fun '(w, a) => f (w, a) = g (w, a)) t
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
t: U A
f, g: W * A -> T B

(forall (w : W) (a : A), (w, a) ∈d t -> f (w, a) = g (w, a)) <-> (forall (e : W) (a : A), (e, a) ∈d t -> f (e, a) = g (e, a))
reflexivity. Qed.
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U

forall (A B : Type) (t : U A) (f g : W * A -> T B), (forall (w : W) (a : A), (w, a) ∈d t -> f (w, a) = g (w, a)) -> bindd f t = bindd g t
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U

forall (A B : Type) (t : U A) (f g : W * A -> T B), (forall (w : W) (a : A), (w, a) ∈d t -> f (w, a) = g (w, a)) -> bindd f t = bindd g t
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
t: U A
f, g: W * A -> T B

(forall (w : W) (a : A), (w, a) ∈d t -> f (w, a) = g (w, a)) -> bindd f t = bindd g t
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
t: U A
f, g: W * A -> T B

Forall_ctx (fun '(w, a) => f (w, a) = g (w, a)) t -> bindd f t = bindd g t
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
t: U A
f, g: W * A -> T B

mapdReduce (fun '(w, a) => f (w, a) = g (w, a)) t -> bindd f t = bindd g t
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
t: U A
f, g: W * A -> T B

(runBatch (fun '(w, a) => f (w, a) = g (w, a)) ∘ toBatch3) t -> bindd f t = bindd g t
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
t: U A
f, g: W * A -> T B

(runBatch (fun '(w, a) => f (w, a) = g (w, a)) ∘ toBatch3) t -> (runBatch f ∘ toBatch7) t = (runBatch g ∘ toBatch7) t
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
t: U A
f, g: W * A -> T B

runBatch (fun '(w, a) => f (w, a) = g (w, a)) (toBatch3 t) -> runBatch f (toBatch7 t) = runBatch g (toBatch7 t)
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
t: U A
f, g: W * A -> T B

runBatch (fun '(w, a) => f (w, a) = g (w, a)) (mapsnd_Batch ret (toBatch7 t)) -> runBatch f (toBatch7 t) = runBatch g (toBatch7 t)
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
t: U A
f, g: W * A -> T B

runBatch (map ret ∘ (fun '(w, a) => f (w, a) = g (w, a))) (toBatch7 t) -> runBatch f (toBatch7 t) = runBatch g (toBatch7 t)
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
t: U A
f, g: W * A -> T B
C: Type
c: C

runBatch (map ret ∘ (fun '(w, a) => f (w, a) = g (w, a))) (Done c) -> runBatch f (Done c) = runBatch g (Done c)
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
t: U A
f, g: W * A -> T B
C: Type
b: Batch (W * A) (T B) (T B -> C)
a: W * A
IHb: runBatch (map ret ∘ (fun '(w, a) => f (w, a) = g (w, a))) b -> runBatch f b = runBatch g b
runBatch (map ret ∘ (fun '(w, a) => f (w, a) = g (w, a))) (b ⧆ a) -> runBatch f (b ⧆ a) = runBatch g (b ⧆ a)
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
t: U A
f, g: W * A -> T B
C: Type
c: C

runBatch (map ret ∘ (fun '(w, a) => f (w, a) = g (w, a))) (Done c) -> runBatch f (Done c) = runBatch g (Done c)
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
t: U A
f, g: W * A -> T B
C: Type
c: C

pure c -> pure c = pure c
reflexivity.
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
t: U A
f, g: W * A -> T B
C: Type
b: Batch (W * A) (T B) (T B -> C)
a: W * A
IHb: runBatch (map ret ∘ (fun '(w, a) => f (w, a) = g (w, a))) b -> runBatch f b = runBatch g b

runBatch (map ret ∘ (fun '(w, a) => f (w, a) = g (w, a))) (b ⧆ a) -> runBatch f (b ⧆ a) = runBatch g (b ⧆ a)
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
t: U A
f, g: W * A -> T B
C: Type
b: Batch (W * A) (T B) (T B -> C)
w: W
a: A
IHb: runBatch (map ret ∘ (fun '(w, a) => f (w, a) = g (w, a))) b -> runBatch f b = runBatch g b

runBatch (map ret ∘ (fun '(w, a) => f (w, a) = g (w, a))) (b ⧆ (w, a)) -> runBatch f (b ⧆ (w, a)) = runBatch g (b ⧆ (w, a))
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
t: U A
f, g: W * A -> T B
C: Type
b: Batch (W * A) (T B) (T B -> C)
w: W
a: A
IHb: runBatch (map ret ∘ (fun '(w, a) => f (w, a) = g (w, a))) b -> runBatch f b = runBatch g b

runBatch (map ret ∘ (fun '(w, a) => f (w, a) = g (w, a))) b ● (f (w, a) = g (w, a)) -> runBatch f b (f (w, a)) = runBatch g b (g (w, a))
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
t: U A
f, g: W * A -> T B
C: Type
b: Batch (W * A) (T B) (T B -> C)
w: W
a: A
IHb: runBatch (map ret ∘ (fun '(w, a) => f (w, a) = g (w, a))) b -> runBatch f b = runBatch g b
hyp1: runBatch (map ret ∘ (fun '(w, a) => f (w, a) = g (w, a))) b
hyp2: f (w, a) = g (w, a)

runBatch f b (f (w, a)) = runBatch g b (g (w, a))
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
Monad_inst: DecoratedTraversableMonad W T
Module_inst: DecoratedTraversableRightPreModule W T U
ToBatch7_WTT: ToBatch7 W T T
ToBatch7_WTU: ToBatch7 W T U
Compat_ToBatch7_Binddt0: Compat_ToBatch7_Binddt W T T
Compat_ToBatch7_Binddt1: Compat_ToBatch7_Binddt W T U
ToSubset_U_inst: ToSubset U
ToSubset_T_inst: ToSubset T
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
ToBatch3_TU: ToBatch3 W U
Compat_ToBatch3_Mapdt0: Compat_ToBatch3_Mapdt W U
ToBatch6_TU: ToBatch6 T U
Compat_ToBatch6_Bindt0: Compat_ToBatch6_Bindt T U
A, B: Type
t: U A
f, g: W * A -> T B
C: Type
b: Batch (W * A) (T B) (T B -> C)
w: W
a: A
IHb: runBatch (map ret ∘ (fun '(w, a) => f (w, a) = g (w, a))) b -> runBatch f b = runBatch g b
hyp1: runBatch (map ret ∘ (fun '(w, a) => f (w, a) = g (w, a))) b
hyp2: f (w, a) = g (w, a)

runBatch f b (g (w, a)) = runBatch g b (g (w, a))
rewrite IHb; auto. Qed. End decorated_traversable_monad_theory. 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} `{ToSubset_T_inst: ToSubset 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} `{ToSubset_U_inst: ToSubset 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} `{! 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}. Import Kleisli.TraversableMonad.DerivedInstances Kleisli.DecoratedTraversableMonad.DerivedInstances KleisliToCoalgebraic.TraversableMonad.DerivedOperations KleisliToCoalgebraic.DecoratedTraversableFunctor.DerivedOperations KleisliToCoalgebraic.DecoratedTraversableMonad.DerivedOperations.
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
ToSubset_T_inst: ToSubset 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
ToSubset_U_inst: ToSubset 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
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

DecoratedContainerFunctor W U
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
ToSubset_T_inst: ToSubset 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
ToSubset_U_inst: ToSubset 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
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

DecoratedContainerFunctor W U
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
ToSubset_T_inst: ToSubset 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
ToSubset_U_inst: ToSubset 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
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

DecoratedFunctor W U
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
ToSubset_T_inst: ToSubset 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
ToSubset_U_inst: ToSubset 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
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
DecoratedHom W U (ctxset W) (@toctxset W U ToCtxset_U_inst)
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
ToSubset_T_inst: ToSubset 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
ToSubset_U_inst: ToSubset 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
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) (t : U A) (f g : W * A -> B), (forall (e : W) (a : A), (e, a) ∈d t -> f (e, a) = g (e, a)) -> mapd f t = mapd g t
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
ToSubset_T_inst: ToSubset 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
ToSubset_U_inst: ToSubset 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
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

DecoratedFunctor W U
typeclasses eauto.
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
ToSubset_T_inst: ToSubset 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
ToSubset_U_inst: ToSubset 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
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

DecoratedHom W U (ctxset W) (@toctxset W U ToCtxset_U_inst)
typeclasses eauto.
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
ToSubset_T_inst: ToSubset 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
ToSubset_U_inst: ToSubset 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
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) (t : U A) (f g : W * A -> B), (forall (e : W) (a : A), (e, a) ∈d t -> f (e, a) = g (e, a)) -> mapd f t = mapd g t
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
ToSubset_T_inst: ToSubset 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
ToSubset_U_inst: ToSubset 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
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
t: U A
f, g: W * A -> B
H: forall (e : W) (a : A), (e, a) ∈d t -> f (e, a) = g (e, a)

mapd f t = mapd g t
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
ToSubset_T_inst: ToSubset 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
ToSubset_U_inst: ToSubset 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
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
t: U A
f, g: W * A -> B
H: forall (e : W) (a : A), (e, a) ∈d t -> f (e, a) = g (e, a)

forall (e : W) (a : A), (e, a) ∈d t -> f (e, a) = g (e, a)
auto. Qed.
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
ToSubset_T_inst: ToSubset 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
ToSubset_U_inst: ToSubset 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
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

DecoratedContainerMonad W T
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
ToSubset_T_inst: ToSubset 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
ToSubset_U_inst: ToSubset 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
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

DecoratedContainerMonad W T
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
ToSubset_T_inst: ToSubset 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
ToSubset_U_inst: ToSubset 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
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

DecoratedMonad W T
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
ToSubset_T_inst: ToSubset 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
ToSubset_U_inst: ToSubset 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
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
op0: Monoid_op W
unit0: 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
ToSubset_T_inst: ToSubset 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
ToSubset_U_inst: ToSubset 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
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) (t : T A) (f g : W * A -> T B), (forall (e : W) (a : A), (e, a) ∈d t -> f (e, a) = g (e, a)) -> bindd f t = bindd g t
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
ToSubset_T_inst: ToSubset 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
ToSubset_U_inst: ToSubset 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
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

DecoratedMonad W T
typeclasses eauto.
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
ToSubset_T_inst: ToSubset 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
ToSubset_U_inst: ToSubset 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
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)
typeclasses eauto.
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
ToSubset_T_inst: ToSubset 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
ToSubset_U_inst: ToSubset 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
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) (t : T A) (f g : W * A -> T B), (forall (e : W) (a : A), (e, a) ∈d t -> f (e, a) = g (e, a)) -> bindd f t = bindd g t
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
ToSubset_T_inst: ToSubset 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
ToSubset_U_inst: ToSubset 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
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
t: T A
f, g: W * A -> T B
H: forall (e : W) (a : A), (e, a) ∈d t -> f (e, a) = g (e, a)

bindd f t = bindd g t
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
ToSubset_T_inst: ToSubset 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
ToSubset_U_inst: ToSubset 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
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
t: T A
f, g: W * A -> T B
H: forall (e : W) (a : A), (e, a) ∈d t -> f (e, a) = g (e, a)

forall (w : W) (a : A), (w, a) ∈d t -> f (w, a) = g (w, a)
auto. Qed.
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
ToSubset_T_inst: ToSubset 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
ToSubset_U_inst: ToSubset 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
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

DecoratedContainerRightModule W T U
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
ToSubset_T_inst: ToSubset 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
ToSubset_U_inst: ToSubset 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
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

DecoratedContainerRightModule W T U
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
ToSubset_T_inst: ToSubset 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
ToSubset_U_inst: ToSubset 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
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

DecoratedRightModule W T U
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
ToSubset_T_inst: ToSubset 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
ToSubset_U_inst: ToSubset 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
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
op0: Monoid_op W
unit0: 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
ToSubset_T_inst: ToSubset 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
ToSubset_U_inst: ToSubset 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
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) (t : U A) (f g : W * A -> T B), (forall (e : W) (a : A), (e, a) ∈d t -> f (e, a) = g (e, a)) -> bindd f t = bindd g t
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
ToSubset_T_inst: ToSubset 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
ToSubset_U_inst: ToSubset 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
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

DecoratedRightModule W T U
apply (DecoratedRightModule_DecoratedTraversableRightPreModule W T U).
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
ToSubset_T_inst: ToSubset 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
ToSubset_U_inst: ToSubset 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
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)
typeclasses eauto.
W: Type
op: Monoid_op W
unit: Monoid_unit W
op0: Monoid_op W
unit0: 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
ToSubset_T_inst: ToSubset 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
ToSubset_U_inst: ToSubset 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
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) (t : U A) (f g : W * A -> T B), (forall (e : W) (a : A), (e, a) ∈d t -> f (e, a) = g (e, a)) -> bindd f t = bindd g t
intros; apply bindd_respectful; auto. Qed. End instances. (** * Deriving All Other Typeclass Instances from a DTM *) (**********************************************************************) Module UsefulInstances. Export Classes.Coalgebraic.TraversableFunctor. Export Classes.Coalgebraic.TraversableMonad. Export Classes.Coalgebraic.DecoratedTraversableFunctor. Export Classes.Coalgebraic.DecoratedTraversableMonad. Export Classes.Kleisli.TraversableFunctor. Export Classes.Kleisli.TraversableMonad. Export Classes.Kleisli.DecoratedTraversableFunctor. Export Classes.Kleisli.DecoratedTraversableMonad. Export KleisliToCoalgebraic.TraversableFunctor. Export KleisliToCoalgebraic.TraversableFunctor.DerivedOperations. Export KleisliToCoalgebraic.TraversableFunctor.DerivedInstances. Export KleisliToCoalgebraic.TraversableMonad. Export KleisliToCoalgebraic.TraversableMonad.DerivedOperations. Export KleisliToCoalgebraic.TraversableMonad.DerivedInstances. Export KleisliToCoalgebraic.DecoratedTraversableFunctor. Export KleisliToCoalgebraic.DecoratedTraversableFunctor.DerivedOperations. Export KleisliToCoalgebraic.DecoratedTraversableFunctor.DerivedInstances. Export KleisliToCoalgebraic.DecoratedTraversableMonad. Export KleisliToCoalgebraic.DecoratedTraversableMonad.DerivedOperations. Export KleisliToCoalgebraic.DecoratedTraversableMonad.DerivedInstances. (* Export Kleisli.DecoratedTraversableFunctor.DerivedOperations. Export Kleisli.DecoratedTraversableFunctor.DerivedInstances. *) Export Kleisli.DecoratedTraversableMonad.DerivedOperations. Export Kleisli.DecoratedTraversableMonad.DerivedInstances. #[export] Existing Instance Tolist_Traverse. #[export] Existing Instance ToSubset_Traverse. #[export] Existing Instance ToCtxlist_Mapdt. #[export] Existing Instance ToCtxset_Mapdt. End UsefulInstances.