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 VariablesM U W T G A B C.(** * Theory of Decorated Traversable Monads *)(**********************************************************************)Sectiondecorated_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
forallt : 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
forallt : 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 (AB : 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 (AB : 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)
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)
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
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
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
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
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'
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
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
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 (AB : Type) (t : U A) (fg : 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 (AB : Type) (t : U A) (fg : 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 (AB : Type) (t : U A) (fg : 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 (AB : Type) (t : U A) (fg : 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 (AB : Type) (t : U A) (fg : 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 (AB : Type) (t : U A) (fg : 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 (AB : Type) (t : U A) (fg : 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.Enddecorated_traversable_monad_theory.Sectioninstances.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 (AB : Type) (t : U A) (fg : 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 (AB : Type) (t : U A) (fg : 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 (AB : Type) (t : T A) (fg : 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 (AB : Type) (t : T A) (fg : 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 (AB : Type) (t : U A) (fg : 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 (AB : Type) (t : U A) (fg : 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