Built with Alectryon, running Coq+SerAPI v8.18.0+0.18.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.
[Loading ML file number_string_notation_plugin.cmxs (using legacy method) ... done]
Require Import WildCat.Core WildCat.Bifunctor WildCat.Prod WildCat.Equiv.Require Import WildCat.NatTrans WildCat.Square.(** * Monoidal Categories *)(** In this file we define monoidal categories and symmetric monoidal categories. *)(** ** Typeclasses for common diagrams *)(** TODO: These should eventually be moved to a separate file in WildCat and used in other places. They can be thought of as a wildcat generalization of the classes in canonical_names.v *)(** *** Associators *)(** A natural equivalence witnessing the associativity of a bifunctor. *)ClassAssociator {A : Type} `{HasEquivs A}
(F : A -> A -> A) `{!Is0Bifunctor F, !Is1Bifunctor F} := {
(** An isomorphism [associator] witnessing associativity of [F]. *)
associator a b c : F a (F b c) $<~> F (F a b) c;
(** The [associator] is a natural isomorphism. *)
is1natural_associator_uncurried
:: Is1Natural
(fun '(a, b, c) => F a (F b c))
(fun '(a, b, c) => F (F a b) c)
(fun '(a, b, c) => associator a b c);
}.Coercionassociator : Associator >-> Funclass.Arguments associator {A _ _ _ _ _ F _ _ _} a b c.(** *** Unitors *)ClassLeftUnitor {A : Type} `{HasEquivs A}
(F : A -> A -> A) `{!Is0Bifunctor F, !Is1Bifunctor F} (unit : A)
(** A natural isomorphism [left_unitor] witnessing the left unit law of [F]. *)
:= left_unitor : NatEquiv (F unit) idmap.Coercionleft_unitor : LeftUnitor >-> NatEquiv.Arguments left_unitor {A _ _ _ _ _ F _ _ unit _}.ClassRightUnitor {A : Type} `{HasEquivs A}
(F : A -> A -> A) `{!Is0Bifunctor F, !Is1Bifunctor F} (unit : A)
(** A natural isomorphism [right_unitor] witnessing the right unit law of [F]. *)
:= right_unitor : NatEquiv (flip F unit) idmap.Coercionright_unitor : RightUnitor >-> NatEquiv.Arguments right_unitor {A _ _ _ _ _ F _ _ unit _}.(** *** Triangle and Pentagon identities *)ClassTriangleIdentity {A : Type} `{HasEquivs A}
(F : A -> A -> A) `{!Is0Bifunctor F, !Is1Bifunctor F, !Associator F}
(unit : A) `{!LeftUnitor F unit, !RightUnitor F unit}
(** The triangle identity for an associator and unitors. *)
:= triangle_identity a b
: fmap01 F a (left_unitor b)
$== fmap10 F (right_unitor a) b $o (associator (F := F) a unit b).Coerciontriangle_identity : TriangleIdentity >-> Funclass.Arguments triangle_identity {A _ _ _ _ _} F {_ _ _} unit {_}.ClassPentagonIdentity {A : Type} `{HasEquivs A}
(F : A -> A -> A) `{!Is0Bifunctor F, !Is1Bifunctor F, !Associator F}
(** The pentagon identity for an associator. *)
:= pentagon_identity a b c d
: associator (F a b) c d $o associator a b (F c d)
$== fmap10 F (associator a b c) d $o associator a (F b c) d
$o fmap01 F a (associator b c d).Coercionpentagon_identity : PentagonIdentity >-> Funclass.Arguments pentagon_identity {A _ _ _ _ _} F {_ _ _}.(** *** Braiding *)ClassBraiding {A : Type} `{Is1Cat A}
(F : A -> A -> A) `{!Is0Bifunctor F, !Is1Bifunctor F} := {
(** A morphism [braid] witnessing the symmetry of [F]. *)
braid a b : F a b $-> F b a;
(** The [braid] is a natural transformation. *)
is1natural_braiding_uncurried
: Is1Natural
(uncurry F)
(uncurry (flip F))
(fun '(a, b) => braid a b);
}.Coercionbraid : Braiding >-> Funclass.Arguments braid {A _ _ _ _ F _ _ _} a b.ClassSymmetricBraiding {A : Type} `{Is1Cat A}
(F : A -> A -> A) `{!Is0Bifunctor F, !Is1Bifunctor F} := {
braiding_symmetricbraiding :: Braiding F;
braid_braid : forallab, braid a b $o braid b a $== Id (F b a);
}.(** We could have used [::>] in [braiding_symmetricbraiding] instead however due to bug https://github.com/coq/coq/issues/18971 the coercion isn't registered, so we have to register it manually instead. *)Coercionbraiding_symmetricbraiding : SymmetricBraiding >-> Braiding.Arguments braid_braid {A _ _ _ _ F _ _ _} a b.(** *** Hexagon identity *)ClassHexagonIdentity {A : Type} `{HasEquivs A}
(F : A -> A -> A)
`{!Is0Bifunctor F, !Is1Bifunctor F, !Associator F, !Braiding F}
(** The hexagon identity for an associator and a braiding. *)
:= hexagon_identity a b c
: fmap10 F (braid b a) c $o associator b a c $o fmap01 F b (braid c a)
$== associator a b c $o braid (F b c) a $o associator b c a.Coercionhexagon_identity : HexagonIdentity >-> Funclass.Arguments hexagon_identity {A _ _ _ _ _} F {_ _}.(** ** Monoidal Categories *)(** A monoidal 1-category is a 1-category with equivalences together with the following: *)ClassIsMonoidal (A : Type) `{HasEquivs A}
(** It has a binary operation [cat_tensor] called the tensor product. *)
(cat_tensor : A -> A -> A)
(** It has a unit object [cat_tensor_unit] called the tensor unit. *)
(cat_tensor_unit : A)
(** These all satisfy the following properties: *)
:= {
(** A [cat_tensor] is a 1-bifunctor. *)
is0bifunctor_cat_tensor :: Is0Bifunctor cat_tensor;
is1bifunctor_cat_tensor :: Is1Bifunctor cat_tensor;
(** A natural isomorphism [associator] witnessing the associativity of the tensor product. *)
cat_tensor_associator :: Associator cat_tensor;
(** A natural isomorphism [left_unitor] witnessing the left unit law. *)
cat_tensor_left_unitor :: LeftUnitor cat_tensor cat_tensor_unit;
(** A natural isomorphism [right_unitor] witnessing the right unit law. *)
cat_tensor_right_unitor :: RightUnitor cat_tensor cat_tensor_unit;
(** The triangle identity. *)
cat_tensor_triangle_identity :: TriangleIdentity cat_tensor cat_tensor_unit;
(** The pentagon identity. *)
cat_tensor_pentagon_identity :: PentagonIdentity cat_tensor;
}.(** TODO: Braided monoidal categories *)(** ** Symmetric Monoidal Categories *)(** A symmetric monoidal 1-category is a 1-category with equivalences together with the following: *)ClassIsSymmetricMonoidal (A : Type) `{HasEquivs A}
(** A binary operation [cat_tensor] called the tensor product. *)
(cat_tensor : A -> A -> A)
(** A unit object [cat_tensor_unit] called the tensor unit. *)
(cat_tensor_unit : A)
:= {
(** A monoidal structure with [cat_tensor] and [cat_tensor_unit]. *)
issymmetricmonoidal_ismonoidal :: IsMonoidal A cat_tensor cat_tensor_unit;
(** A natural transformation [braid] witnessing the symmetry of the tensor product such that [braid] is its own inverse. *)
cat_symm_tensor_braiding :: SymmetricBraiding cat_tensor;
(** The hexagon identity. *)
cat_symm_tensor_hexagon :: HexagonIdentity cat_tensor;
}.(** *** Theory about [Associator] *)SectionAssociator.Context {A : Type} {F : A -> A -> A} `{assoc : Associator A F, !HasEquivs A}.
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, x', y, y', z, z': A f: x $-> x' g: y $-> y' h: z $-> z'
assoc x' y' z' $o fmap11 F f (fmap11 F g h) $==
fmap11 F (fmap11 F f g) h $o assoc x y z
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, x', y, y', z, z': A f: x $-> x' g: y $-> y' h: z $-> z'
assoc x' y' z' $o fmap11 F f (fmap11 F g h) $==
fmap11 F (fmap11 F f g) h $o assoc x y z
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, x', y, y', z, z': A f: x $-> x' g: y $-> y' h: z $-> z' asso: forallabc : A, F a (F b c) $<~> F (F a b) c nat: Is1Natural
(funpat : A * A * A =>
letx := pat inletfst := fst x inletc := snd x inletfst0 := fst inleta := Overture.fst fst0 inletb := snd fst0 in F a (F b c))
(funpat : A * A * A =>
letx := pat inletfst := fst x inletc := snd x inletfst0 := fst inleta := Overture.fst fst0 inletb := snd fst0 in F (F a b) c)
(funpat : A * A * A =>
letx := pat inletfst := fst x inletc := snd x inletfst0 := fst inleta := Overture.fst fst0 inletb := snd fst0 in asso a b c)
{|
associator := asso;
is1natural_associator_uncurried := nat
|} x' y' z' $o fmap11 F f (fmap11 F g h) $==
fmap11 F (fmap11 F f g) h $o
{|
associator := asso;
is1natural_associator_uncurried := nat
|} x y z
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, x': A f: x $-> x' y, z: A
assoc x' y z $o fmap10 F f (F y z) $==
fmap10 F (fmap10 F f y) z $o assoc x y z
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, x': A f: x $-> x' y, z: A
assoc x' y z $o fmap10 F f (F y z) $==
fmap10 F (fmap10 F f y) z $o assoc x y z
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, x': A f: x $-> x' y, z: A
?Goal $-> fmap10 F f (F y z)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, x': A f: x $-> x' y, z: A
assoc x' y z $o ?Goal $== ?Goal2 $o assoc x y z
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, x': A f: x $-> x' y, z: A
?Goal2 $== fmap10 F (fmap10 F f y) z
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, x': A f: x $-> x' y, z: A
fmap11 F f (fmap11 F (Id y) (Id z)) $->
fmap10 F f (F y z)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, x': A f: x $-> x' y, z: A
fmap11 F (fmap11 F f (Id y)) (Id z) $==
fmap10 F (fmap10 F f y) z
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, x': A f: x $-> x' y, z: A
fmap11 F f (fmap11 F (Id y) (Id z)) $->
fmap10 F f (F y z)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, x': A f: x $-> x' y, z: A
fmap11 F (fmap11 F f (Id y)) (Id z) $==
fmap10 F (fmap10 F f y) z
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, y, y': A g: y $-> y' z: A
assoc x y' z $o fmap01 F x (fmap10 F g z) $==
fmap10 F (fmap01 F x g) z $o assoc x y z
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, y, y': A g: y $-> y' z: A
assoc x y' z $o fmap01 F x (fmap10 F g z) $==
fmap10 F (fmap01 F x g) z $o assoc x y z
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, y, y': A g: y $-> y' z: A
?Goal $-> fmap01 F x (fmap10 F g z)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, y, y': A g: y $-> y' z: A
assoc x y' z $o ?Goal $== ?Goal2 $o assoc x y z
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, y, y': A g: y $-> y' z: A
?Goal2 $== fmap10 F (fmap01 F x g) z
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, y, y': A g: y $-> y' z: A
fmap11 F (Id x) (fmap11 F g (Id z)) $->
fmap01 F x (fmap10 F g z)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, y, y': A g: y $-> y' z: A
Is01Cat A
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, y, y': A g: y $-> y' z: A
Is01Cat A
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, y, y': A g: y $-> y' z: A
fmap11 F (fmap11 F (Id x) g) (Id z) $==
fmap10 F (fmap01 F x g) z
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, y, y': A g: y $-> y' z: A
fmap11 F (Id x) (fmap11 F g (Id z)) $->
fmap01 F x (fmap10 F g z)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, y, y': A g: y $-> y' z: A
fmap11 F (fmap11 F (Id x) g) (Id z) $==
fmap10 F (fmap01 F x g) z
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, y, z, z': A h: z $-> z'
assoc x y z' $o fmap01 F x (fmap01 F y h) $==
fmap01 F (F x y) h $o assoc x y z
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, y, z, z': A h: z $-> z'
assoc x y z' $o fmap01 F x (fmap01 F y h) $==
fmap01 F (F x y) h $o assoc x y z
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, y, z, z': A h: z $-> z'
?Goal $-> fmap01 F x (fmap01 F y h)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, y, z, z': A h: z $-> z'
assoc x y z' $o ?Goal $== ?Goal2 $o assoc x y z
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, y, z, z': A h: z $-> z'
?Goal2 $== fmap01 F (F x y) h
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, y, z, z': A h: z $-> z'
fmap11 F (Id x) (fmap11 F (Id y) h) $->
fmap01 F x (fmap01 F y h)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, y, z, z': A h: z $-> z'
Is01Cat A
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, y, z, z': A h: z $-> z'
Is01Cat A
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, y, z, z': A h: z $-> z'
fmap11 F (fmap11 F (Id x) (Id y)) h $==
fmap01 F (F x y) h
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, y, z, z': A h: z $-> z'
fmap11 F (Id x) (fmap11 F (Id y) h) $->
fmap01 F x (fmap01 F y h)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F assoc: Associator F HasEquivs0: HasEquivs A x, y, z, z': A h: z $-> z'
fmap11 F (fmap11 F (Id x) (Id y)) h $==
fmap01 F (F x y) h
exact (fmap21 _ (fmap11_id _ _ _) _ $@ fmap01_is_fmap11 F _ _).Defined.EndAssociator.(** ** Theory about [SymmetricBraid] *)SectionSymmetricBraid.Context {A : Type} {F : A -> A -> A} `{SymmetricBraiding A F, !HasEquivs A}.(** [braid] is its own inverse and therefore an equivalence. *)Local Instancecatie_braidab : CatIsEquiv (braid a b)
:= catie_adjointify (braid a b) (braid b a) (braid_braid a b) (braid_braid b a).(** [braide] is the bundled equivalence whose underlying map is [braid]. *)Local Definitionbraideab
: F a b $<~> F b a
:= Build_CatEquiv (braid a b).
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c: A f: c $-> F a b g: c $-> F b a
H0 a b $o f $== g -> f $== H0 b a $o g
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c: A f: c $-> F a b g: c $-> F b a
H0 a b $o f $== g -> f $== H0 b a $o g
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c: A f: c $-> F a b g: c $-> F b a p: H0 a b $o f $== g
f $== H0 b a $o g
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c: A f: c $-> F a b g: c $-> F b a p: H0 a b $o f $== g
braide a b $o f $== braide a b $o (H0 b a $o g)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c: A f: c $-> F a b g: c $-> F b a p: H0 a b $o f $== g
g $== braide a b $o H0 b a $o g
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c: A f: c $-> F a b g: c $-> F b a p: H0 a b $o f $== g
braide a b $o H0 b a $-> Id (F b a)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c: A f: c $-> F a b g: c $-> F b a p: H0 a b $o f $== g
H0 a b $o H0 b a $== Id (F b a)
apply braid_braid.Defined.
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c: A f: F b a $-> c g: F a b $-> c
f $o H0 a b $== g -> f $== g $o H0 b a
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c: A f: F b a $-> c g: F a b $-> c
f $o H0 a b $== g -> f $== g $o H0 b a
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c: A f: F b a $-> c g: F a b $-> c p: f $o H0 a b $== g
f $== g $o H0 b a
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c: A f: F b a $-> c g: F a b $-> c p: f $o H0 a b $== g
f $o braide a b $== g $o H0 b a $o braide a b
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c: A f: F b a $-> c g: F a b $-> c p: f $o H0 a b $== g
f $o braide a b $== g $o (H0 b a $o braide a b)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c: A f: F b a $-> c g: F a b $-> c p: f $o H0 a b $== g
f $o braide a b $== g $o ?Goal0
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c: A f: F b a $-> c g: F a b $-> c p: f $o H0 a b $== g
H0 b a $o H0 a b $== ?Goal0
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c: A f: F b a $-> c g: F a b $-> c p: f $o H0 a b $== g
f $o braide a b $== g $o Id (F a b)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c: A f: F b a $-> c g: F a b $-> c p: f $o H0 a b $== g
braide a b $== ?Goal
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c: A f: F b a $-> c g: F a b $-> c p: f $o H0 a b $== g
f $o ?Goal $== g
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c: A f: F b a $-> c g: F a b $-> c p: f $o H0 a b $== g
f $o H0 a b $== g
exact p.Defined.
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c: A f: c $-> F a b g: c $-> F b a
f $== H0 b a $o g -> H0 a b $o f $== g
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c: A f: c $-> F a b g: c $-> F b a
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c: A f: F b a $-> c g: F a b $-> c
f $== g $o H0 b a -> f $o H0 a b $== g
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c: A f: F b a $-> c g: F a b $-> c
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: d $-> F a (F b c) g: d $-> F a (F c b)
fmap01 F a (H0 b c) $o f $== g ->
f $== fmap01 F a (H0 c b) $o g
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: d $-> F a (F b c) g: d $-> F a (F c b)
fmap01 F a (H0 b c) $o f $== g ->
f $== fmap01 F a (H0 c b) $o g
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: d $-> F a (F b c) g: d $-> F a (F c b) p: fmap01 F a (H0 b c) $o f $== g
f $== fmap01 F a (H0 c b) $o g
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: d $-> F a (F b c) g: d $-> F a (F c b) p: fmap01 F a (H0 b c) $o f $== g
emap01 F a (braide b c) $o f $==
emap01 F a (braide b c) $o (fmap01 F a (H0 c b) $o g)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: d $-> F a (F b c) g: d $-> F a (F c b) p: fmap01 F a (H0 b c) $o f $== g
emap01 F a (braide b c) $o f $==
emap01 F a (braide b c) $o fmap01 F a (H0 c b) $o g
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: d $-> F a (F b c) g: d $-> F a (F c b) p: fmap01 F a (H0 b c) $o f $== g
emap01 F a (braide b c) $o f $== ?Goal0 $o g
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: d $-> F a (F b c) g: d $-> F a (F c b) p: fmap01 F a (H0 b c) $o f $== g
?Goal0 $==
emap01 F a (braide b c) $o fmap01 F a (H0 c b)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: d $-> F a (F b c) g: d $-> F a (F c b) p: fmap01 F a (H0 b c) $o f $== g
?Goal0 $==
emap01 F a (braide b c) $o fmap01 F a (H0 c b)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: d $-> F a (F b c) g: d $-> F a (F c b) p: fmap01 F a (H0 b c) $o f $== g
?Goal0 $== ?Goal2 $o fmap01 F a (H0 c b)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: d $-> F a (F b c) g: d $-> F a (F c b) p: fmap01 F a (H0 b c) $o f $== g
emap01 F a (braide b c) $-> ?Goal2
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: d $-> F a (F b c) g: d $-> F a (F c b) p: fmap01 F a (H0 b c) $o f $== g
?Goal0 $==
fmap01 F a (braide b c) $o fmap01 F a (H0 c b)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: d $-> F a (F b c) g: d $-> F a (F c b) p: fmap01 F a (H0 b c) $o f $== g
Id (F c b) $== braide b c $o H0 c b
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: d $-> F a (F b c) g: d $-> F a (F c b) p: fmap01 F a (H0 b c) $o f $== g
braide b c $== ?Goal0
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: d $-> F a (F b c) g: d $-> F a (F c b) p: fmap01 F a (H0 b c) $o f $== g
?Goal0 $o H0 c b $== Id (F c b)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: d $-> F a (F b c) g: d $-> F a (F c b) p: fmap01 F a (H0 b c) $o f $== g
H0 b c $o H0 c b $== Id (F c b)
apply braid_braid.
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: d $-> F a (F b c) g: d $-> F a (F c b) p: fmap01 F a (H0 b c) $o f $== g
emap01 F a (braide b c) $o f $== Id (F a (F c b)) $o g
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: d $-> F a (F b c) g: d $-> F a (F c b) p: fmap01 F a (H0 b c) $o f $== g
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: F a (F c b) $-> d g: F a (F b c) $-> d
f $o fmap01 F a (H0 b c) $== g ->
f $== g $o fmap01 F a (H0 c b)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: F a (F c b) $-> d g: F a (F b c) $-> d
f $o fmap01 F a (H0 b c) $== g ->
f $== g $o fmap01 F a (H0 c b)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: F a (F c b) $-> d g: F a (F b c) $-> d p: f $o fmap01 F a (H0 b c) $== g
f $== g $o fmap01 F a (H0 c b)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: F a (F c b) $-> d g: F a (F b c) $-> d p: f $o fmap01 F a (H0 b c) $== g
f $o emap01 F a (braide b c) $==
g $o fmap01 F a (H0 c b) $o emap01 F a (braide b c)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: F a (F c b) $-> d g: F a (F b c) $-> d p: f $o fmap01 F a (H0 b c) $== g
f $o emap01 F a (braide b c) $==
g $o (fmap01 F a (H0 c b) $o emap01 F a (braide b c))
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: F a (F c b) $-> d g: F a (F b c) $-> d p: f $o fmap01 F a (H0 b c) $== g
f $o emap01 F a (braide b c) $== g $o ?Goal0
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: F a (F c b) $-> d g: F a (F b c) $-> d p: f $o fmap01 F a (H0 b c) $== g
?Goal0 $==
fmap01 F a (H0 c b) $o emap01 F a (braide b c)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: F a (F c b) $-> d g: F a (F b c) $-> d p: f $o fmap01 F a (H0 b c) $== g
?Goal0 $==
fmap01 F a (H0 c b) $o emap01 F a (braide b c)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: F a (F c b) $-> d g: F a (F b c) $-> d p: f $o fmap01 F a (H0 b c) $== g
fmap01 F a (H0 c b) $o ?Goal2 $-> ?Goal0
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: F a (F c b) $-> d g: F a (F b c) $-> d p: f $o fmap01 F a (H0 b c) $== g
emap01 F a (braide b c) $-> ?Goal2
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: F a (F c b) $-> d g: F a (F b c) $-> d p: f $o fmap01 F a (H0 b c) $== g
fmap01 F a (H0 c b) $o fmap01 F a (braide b c) $->
?Goal0
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: F a (F c b) $-> d g: F a (F b c) $-> d p: f $o fmap01 F a (H0 b c) $== g
H0 c b $o braide b c $== Id (F b c)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: F a (F c b) $-> d g: F a (F b c) $-> d p: f $o fmap01 F a (H0 b c) $== g
braide b c $== ?Goal0
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: F a (F c b) $-> d g: F a (F b c) $-> d p: f $o fmap01 F a (H0 b c) $== g
H0 c b $o ?Goal0 $== Id (F b c)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: F a (F c b) $-> d g: F a (F b c) $-> d p: f $o fmap01 F a (H0 b c) $== g
H0 c b $o H0 b c $== Id (F b c)
apply braid_braid.
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: F a (F c b) $-> d g: F a (F b c) $-> d p: f $o fmap01 F a (H0 b c) $== g
f $o emap01 F a (braide b c) $== g $o Id (F a (F b c))
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: F a (F c b) $-> d g: F a (F b c) $-> d p: f $o fmap01 F a (H0 b c) $== g
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: d $-> F a (F b c) g: d $-> F a (F c b)
f $== fmap01 F a (H0 c b) $o g ->
fmap01 F a (H0 b c) $o f $== g
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: d $-> F a (F b c) g: d $-> F a (F c b)
f $== fmap01 F a (H0 c b) $o g ->
fmap01 F a (H0 b c) $o f $== g
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: F a (F c b) $-> d g: F a (F b c) $-> d
f $== g $o fmap01 F a (H0 c b) ->
f $o fmap01 F a (H0 b c) $== g
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: F a (F c b) $-> d g: F a (F b c) $-> d
f $== g $o fmap01 F a (H0 c b) ->
f $o fmap01 F a (H0 b c) $== g
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: e $-> F a (F b (F c d)) g: e $-> F a (F b (F d c))
fmap01 F a (fmap01 F b (H0 c d)) $o f $== g ->
f $== fmap01 F a (fmap01 F b (H0 d c)) $o g
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: e $-> F a (F b (F c d)) g: e $-> F a (F b (F d c))
fmap01 F a (fmap01 F b (H0 c d)) $o f $== g ->
f $== fmap01 F a (fmap01 F b (H0 d c)) $o g
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: e $-> F a (F b (F c d)) g: e $-> F a (F b (F d c)) p: fmap01 F a (fmap01 F b (H0 c d)) $o f $== g
f $== fmap01 F a (fmap01 F b (H0 d c)) $o g
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: e $-> F a (F b (F c d)) g: e $-> F a (F b (F d c)) p: fmap01 F a (fmap01 F b (H0 c d)) $o f $== g
emap01 F a (emap01 F b (braide c d)) $o f $==
emap01 F a (emap01 F b (braide c d)) $o
(fmap01 F a (fmap01 F b (H0 d c)) $o g)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: e $-> F a (F b (F c d)) g: e $-> F a (F b (F d c)) p: fmap01 F a (fmap01 F b (H0 c d)) $o f $== g
emap01 F a (emap01 F b (braide c d)) $o f $==
emap01 F a (emap01 F b (braide c d)) $o
fmap01 F a (fmap01 F b (H0 d c)) $o g
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: e $-> F a (F b (F c d)) g: e $-> F a (F b (F d c)) p: fmap01 F a (fmap01 F b (H0 c d)) $o f $== g
emap01 F a (emap01 F b (braide c d)) $o f $==
?Goal0 $o g
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: e $-> F a (F b (F c d)) g: e $-> F a (F b (F d c)) p: fmap01 F a (fmap01 F b (H0 c d)) $o f $== g
?Goal0 $==
emap01 F a (emap01 F b (braide c d)) $o
fmap01 F a (fmap01 F b (H0 d c))
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: e $-> F a (F b (F c d)) g: e $-> F a (F b (F d c)) p: fmap01 F a (fmap01 F b (H0 c d)) $o f $== g
?Goal0 $==
emap01 F a (emap01 F b (braide c d)) $o
fmap01 F a (fmap01 F b (H0 d c))
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: e $-> F a (F b (F c d)) g: e $-> F a (F b (F d c)) p: fmap01 F a (fmap01 F b (H0 c d)) $o f $== g
?Goal0 $== ?Goal2 $o fmap01 F a (fmap01 F b (H0 d c))
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: e $-> F a (F b (F c d)) g: e $-> F a (F b (F d c)) p: fmap01 F a (fmap01 F b (H0 c d)) $o f $== g
emap01 F a (emap01 F b (braide c d)) $-> ?Goal2
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: e $-> F a (F b (F c d)) g: e $-> F a (F b (F d c)) p: fmap01 F a (fmap01 F b (H0 c d)) $o f $== g
?Goal0 $==
fmap01 F a (emap01 F b (braide c d)) $o
fmap01 F a (fmap01 F b (H0 d c))
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: e $-> F a (F b (F c d)) g: e $-> F a (F b (F d c)) p: fmap01 F a (fmap01 F b (H0 c d)) $o f $== g
Id (F b (F d c)) $==
emap01 F b (braide c d) $o fmap01 F b (H0 d c)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: e $-> F a (F b (F c d)) g: e $-> F a (F b (F d c)) p: fmap01 F a (fmap01 F b (H0 c d)) $o f $== g
Id (F b (F d c)) $== ?Goal1 $o fmap01 F b (H0 d c)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: e $-> F a (F b (F c d)) g: e $-> F a (F b (F d c)) p: fmap01 F a (fmap01 F b (H0 c d)) $o f $== g
emap01 F b (braide c d) $-> ?Goal1
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: e $-> F a (F b (F c d)) g: e $-> F a (F b (F d c)) p: fmap01 F a (fmap01 F b (H0 c d)) $o f $== g
Id (F b (F d c)) $==
fmap01 F b (braide c d) $o fmap01 F b (H0 d c)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: e $-> F a (F b (F c d)) g: e $-> F a (F b (F d c)) p: fmap01 F a (fmap01 F b (H0 c d)) $o f $== g
Id (F d c) $== braide c d $o H0 d c
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: e $-> F a (F b (F c d)) g: e $-> F a (F b (F d c)) p: fmap01 F a (fmap01 F b (H0 c d)) $o f $== g
braide c d $== ?Goal0
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: e $-> F a (F b (F c d)) g: e $-> F a (F b (F d c)) p: fmap01 F a (fmap01 F b (H0 c d)) $o f $== g
?Goal0 $o H0 d c $== Id (F d c)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: e $-> F a (F b (F c d)) g: e $-> F a (F b (F d c)) p: fmap01 F a (fmap01 F b (H0 c d)) $o f $== g
H0 c d $o H0 d c $== Id (F d c)
apply braid_braid.
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: e $-> F a (F b (F c d)) g: e $-> F a (F b (F d c)) p: fmap01 F a (fmap01 F b (H0 c d)) $o f $== g
emap01 F a (emap01 F b (braide c d)) $o f $==
Id (F a (F b (F d c))) $o g
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: e $-> F a (F b (F c d)) g: e $-> F a (F b (F d c)) p: fmap01 F a (fmap01 F b (H0 c d)) $o f $== g
emap01 F a (emap01 F b (braide c d)) $==
fmap01 F a (fmap01 F b (H0 c d))
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: e $-> F a (F b (F c d)) g: e $-> F a (F b (F d c)) p: fmap01 F a (fmap01 F b (H0 c d)) $o f $== g
emap01 F b (braide c d) $== fmap01 F b (H0 c d)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: e $-> F a (F b (F c d)) g: e $-> F a (F b (F d c)) p: fmap01 F a (fmap01 F b (H0 c d)) $o f $== g
braide c d $== H0 c d
apply cate_buildequiv_fun.Defined.
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: F a (F b (F d c)) $-> e g: F a (F b (F c d)) $-> e
f $o fmap01 F a (fmap01 F b (H0 c d)) $== g ->
f $== g $o fmap01 F a (fmap01 F b (H0 d c))
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: F a (F b (F d c)) $-> e g: F a (F b (F c d)) $-> e
f $o fmap01 F a (fmap01 F b (H0 c d)) $== g ->
f $== g $o fmap01 F a (fmap01 F b (H0 d c))
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: F a (F b (F d c)) $-> e g: F a (F b (F c d)) $-> e p: f $o fmap01 F a (fmap01 F b (H0 c d)) $== g
f $== g $o fmap01 F a (fmap01 F b (H0 d c))
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: F a (F b (F d c)) $-> e g: F a (F b (F c d)) $-> e p: f $o fmap01 F a (fmap01 F b (H0 c d)) $== g
f $o emap01 F a (emap01 F b (braide c d)) $==
g $o fmap01 F a (fmap01 F b (H0 d c)) $o
emap01 F a (emap01 F b (braide c d))
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: F a (F b (F d c)) $-> e g: F a (F b (F c d)) $-> e p: f $o fmap01 F a (fmap01 F b (H0 c d)) $== g
f $o emap01 F a (emap01 F b (braide c d)) $==
g $o
(fmap01 F a (fmap01 F b (H0 d c)) $o
emap01 F a (emap01 F b (braide c d)))
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: F a (F b (F d c)) $-> e g: F a (F b (F c d)) $-> e p: f $o fmap01 F a (fmap01 F b (H0 c d)) $== g
f $o emap01 F a (emap01 F b (braide c d)) $==
g $o ?Goal0
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: F a (F b (F d c)) $-> e g: F a (F b (F c d)) $-> e p: f $o fmap01 F a (fmap01 F b (H0 c d)) $== g
?Goal0 $==
fmap01 F a (fmap01 F b (H0 d c)) $o
emap01 F a (emap01 F b (braide c d))
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: F a (F b (F d c)) $-> e g: F a (F b (F c d)) $-> e p: f $o fmap01 F a (fmap01 F b (H0 c d)) $== g
?Goal0 $==
fmap01 F a (fmap01 F b (H0 d c)) $o
emap01 F a (emap01 F b (braide c d))
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: F a (F b (F d c)) $-> e g: F a (F b (F c d)) $-> e p: f $o fmap01 F a (fmap01 F b (H0 c d)) $== g
fmap01 F a (fmap01 F b (H0 d c)) $o ?Goal2 $-> ?Goal0
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: F a (F b (F d c)) $-> e g: F a (F b (F c d)) $-> e p: f $o fmap01 F a (fmap01 F b (H0 c d)) $== g
emap01 F a (emap01 F b (braide c d)) $-> ?Goal2
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: F a (F b (F d c)) $-> e g: F a (F b (F c d)) $-> e p: f $o fmap01 F a (fmap01 F b (H0 c d)) $== g
fmap01 F a (fmap01 F b (H0 d c)) $o
fmap01 F a (emap01 F b (braide c d)) $-> ?Goal0
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: F a (F b (F d c)) $-> e g: F a (F b (F c d)) $-> e p: f $o fmap01 F a (fmap01 F b (H0 c d)) $== g
fmap01 F b (H0 d c) $o emap01 F b (braide c d) $==
Id (F b (F c d))
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: F a (F b (F d c)) $-> e g: F a (F b (F c d)) $-> e p: f $o fmap01 F a (fmap01 F b (H0 c d)) $== g
emap01 F b (braide c d) $== ?Goal0
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: F a (F b (F d c)) $-> e g: F a (F b (F c d)) $-> e p: f $o fmap01 F a (fmap01 F b (H0 c d)) $== g
fmap01 F b (H0 d c) $o ?Goal0 $== Id (F b (F c d))
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: F a (F b (F d c)) $-> e g: F a (F b (F c d)) $-> e p: f $o fmap01 F a (fmap01 F b (H0 c d)) $== g
fmap01 F b (H0 d c) $o fmap01 F b (braide c d) $==
Id (F b (F c d))
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: F a (F b (F d c)) $-> e g: F a (F b (F c d)) $-> e p: f $o fmap01 F a (fmap01 F b (H0 c d)) $== g
H0 d c $o braide c d $== Id (F c d)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: F a (F b (F d c)) $-> e g: F a (F b (F c d)) $-> e p: f $o fmap01 F a (fmap01 F b (H0 c d)) $== g
braide c d $== ?Goal0
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: F a (F b (F d c)) $-> e g: F a (F b (F c d)) $-> e p: f $o fmap01 F a (fmap01 F b (H0 c d)) $== g
H0 d c $o ?Goal0 $== Id (F c d)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: F a (F b (F d c)) $-> e g: F a (F b (F c d)) $-> e p: f $o fmap01 F a (fmap01 F b (H0 c d)) $== g
H0 d c $o H0 c d $== Id (F c d)
apply braid_braid.
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: F a (F b (F d c)) $-> e g: F a (F b (F c d)) $-> e p: f $o fmap01 F a (fmap01 F b (H0 c d)) $== g
f $o emap01 F a (emap01 F b (braide c d)) $==
g $o Id (F a (F b (F c d)))
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: F a (F b (F d c)) $-> e g: F a (F b (F c d)) $-> e p: f $o fmap01 F a (fmap01 F b (H0 c d)) $== g
emap01 F a (emap01 F b (braide c d)) $==
fmap01 F a (fmap01 F b (H0 c d))
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: F a (F b (F d c)) $-> e g: F a (F b (F c d)) $-> e p: f $o fmap01 F a (fmap01 F b (H0 c d)) $== g
emap01 F b (braide c d) $== fmap01 F b (H0 c d)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: F a (F b (F d c)) $-> e g: F a (F b (F c d)) $-> e p: f $o fmap01 F a (fmap01 F b (H0 c d)) $== g
braide c d $== H0 c d
apply cate_buildequiv_fun.Defined.
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: e $-> F a (F b (F c d)) g: e $-> F a (F b (F d c))
f $== fmap01 F a (fmap01 F b (H0 d c)) $o g ->
fmap01 F a (fmap01 F b (H0 c d)) $o f $== g
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: e $-> F a (F b (F c d)) g: e $-> F a (F b (F d c))
f $== fmap01 F a (fmap01 F b (H0 d c)) $o g ->
fmap01 F a (fmap01 F b (H0 c d)) $o f $== g
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: F a (F b (F d c)) $-> e g: F a (F b (F c d)) $-> e
f $== g $o fmap01 F a (fmap01 F b (H0 d c)) ->
f $o fmap01 F a (fmap01 F b (H0 c d)) $== g
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d, e: A f: F a (F b (F d c)) $-> e g: F a (F b (F c d)) $-> e
f $== g $o fmap01 F a (fmap01 F b (H0 d c)) ->
f $o fmap01 F a (fmap01 F b (H0 c d)) $== g
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: a $-> c g: b $-> d
H0 c d $o fmap11 F f g $== fmap11 F g f $o H0 a b
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c, d: A f: a $-> c g: b $-> d
H0 c d $o fmap11 F f g $== fmap11 F g f $o H0 a b
exact (is1natural_braiding_uncurried (a, b) (c, d) (f, g)).Defined.
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c: A f: a $-> b
H0 b c $o fmap10 F f c $== fmap01 F c f $o H0 a c
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c: A f: a $-> b
H0 b c $o fmap10 F f c $== fmap01 F c f $o H0 a c
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c: A f: a $-> b
H0 b c $o fmap11 F f (Id c) $==
fmap11 F (Id c) f $o H0 a c
exact (is1natural_braiding_uncurried (a, c) (b, c) (f, Id _)).Defined.(** This is just the inverse of above. *)
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c: A g: b $-> c
H0 a c $o fmap01 F a g $== fmap10 F g a $o H0 a b
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c: A g: b $-> c
H0 a c $o fmap01 F a g $== fmap10 F g a $o H0 a b
A: Type F: A -> A -> A IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A Is0Bifunctor0: Is0Bifunctor F Is1Bifunctor0: Is1Bifunctor F H0: SymmetricBraiding F HasEquivs0: HasEquivs A a, b, c: A g: b $-> c
H0 a c $o fmap11 F (Id a) g $==
fmap11 F g (Id a) $o H0 a b
exact (is1natural_braiding_uncurried (a, b) (a, c) (Id _ , g)).Defined.EndSymmetricBraid.(** ** Building Symmetric Monoidal Categories *)(** The following construction is what we call the "twist construction". It is a way to build a symmetric monoidal category from simpler pieces than the axioms ask for.The core observation is that the associator can be broken up into a [braid] and what we call a [twist] map. The twist map takes a right associated triple [(A, (B, C))] and swaps the first two factors [(B, (A, C)]. Together with functoriality of the tensor and the braiding, here termed [braid] we can simplify the axioms we ask for.For instance, the hexagon identity is about associators, but if we unfold the definition and simplify the diagram, we get a diagram about only twists and braids.This means in practice, you can show a category has a symmetric monoidal structure by proving some simpler axioms. This idea has been used in TriJoin.v to show the associativity of join for example. *)SectionTwistConstruction.(** The aim of this section is to build a symmetric monoidal category. We do this piecewise so that the separate steps are useful in and of themselves. Our basic starting assumption is that we have a category with equivalences, a bifunctor called the tensor product, and a unit object.*)Context (A : Type) `{HasEquivs A}
(cat_tensor : A -> A -> A) (cat_tensor_unit : A)
`{!Is0Bifunctor cat_tensor, !Is1Bifunctor cat_tensor}
(** Next we postulate the existence of a [braid] map. This takes a tensor pair and swaps the factors. We also postulate that [braid] is natural in both factors and self-inverse. *)
(braid : SymmetricBraiding cat_tensor)
(** We postulate the existence of a [twist] map. This takes a right associated triple [(A, (B, C))] and swaps the first two factors [(B, (A, C)]. We also postulate that [twist] is natural in all three factors and self-inverse. *)
(twist : forallabc, cat_tensor a (cat_tensor b c) $-> cat_tensor b (cat_tensor a c))
(twist_twist : forallabc, twist a b c $o twist b a c $== Id _)
(twist_nat : forallaa'bb'cc' (f : a $-> a') (g : b $-> b') (h : c $-> c'),
twist a' b' c' $o fmap11 cat_tensor f (fmap11 cat_tensor g h)
$== fmap11 cat_tensor g (fmap11 cat_tensor f h) $o twist a b c)
(** We assume that there is a natural isomorphism [right_unitor] witnessing the right unit law. The left unit law will be derived from this one. We also assume a coherence called [twist_unitor] which determines how the right_unitor interacts with [braid] and [twist]. This is the basis of the triangle axiom. *)
(right_unitor : RightUnitor cat_tensor cat_tensor_unit)
(twist_unitor : forallab, fmap01 cat_tensor a (right_unitor b)
$== braid b a $o fmap01 cat_tensor b (right_unitor a) $o twist a b cat_tensor_unit)
(** The hexagon identity is about the interaction of associators and braids. We will derive this axiom from an analogous one for twists and braids. *)
(twist_hexagon : forallabc,
fmap01 cat_tensor c (braid b a) $o twist b c a $o fmap01 cat_tensor b (braid a c)
$== twist a c b $o fmap01 cat_tensor a (braid b c) $o twist b a c)
(** The 9-gon identity. TODO: explain this *)
(twist_9_gon : forallabcd,
fmap01 cat_tensor c (braid (cat_tensor a b) d)
$o twist (cat_tensor a b) c d
$o braid (cat_tensor c d) (cat_tensor a b)
$o twist a (cat_tensor c d) b
$o fmap01 cat_tensor a (braid b (cat_tensor c d))
$== fmap01 cat_tensor c (twist a d b)
$o fmap01 cat_tensor c (fmap01 cat_tensor a (braid b d))
$o twist a c (cat_tensor b d)
$o fmap01 cat_tensor a (twist b c d))
.(** *** Setup *)(** Before starting the proofs, we need to setup some useful definitions and helpful lemmas for working with diagrams. *)(** We give notations and abbreviations to the morphisms that will appear in diagrams. This helps us read the goal and understand what is happening, otherwise it is too verbose. *)Declare Scope monoidal_scope.LocalInfix"⊗" := cat_tensor (at level40) : monoidal_scope.LocalInfix"⊗R" := (fmap01 cat_tensor) (at level40) : monoidal_scope.LocalInfix"⊗L" := (fmap10 cat_tensor) (at level40) : monoidal_scope.LocalNotation"f ∘ g" := (f $o g) (at level61, left associativity, format"f '/' '∘' g") : monoidal_scope.LocalNotation"f $== g :> A" := (GpdHom (A := A) f g)
(at level80, format"'[v' '[v' f ']' '/' $== '/' '[v' g ']' '/' :> '[' A ']' ']'")
: long_path_scope.LocalOpen Scope monoidal_scope.(** [twist] is an equivalence which we will call [twiste]. *)Local Definitiontwisteabc
: cat_tensor a (cat_tensor b c) $<~> cat_tensor b (cat_tensor a c)
:= cate_adjointify (twist a b c) (twist b a c)
(twist_twist a b c) (twist_twist b a c).(** *** Finer naturality *)(** The naturality postulates we have for [twist] are natural in all their arguments similtaneously. We show the finer naturality of [twist] in each argument separately as this becomes more useful in practice. *)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, a': A f: a $-> a' b, c: A
twist a' b c ∘ f ⊗L (b ⊗ c) $== b ⊗R (f ⊗L c)
∘ twist a b c
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, a': A f: a $-> a' b, c: A
twist a' b c ∘ f ⊗L (b ⊗ c) $== b ⊗R (f ⊗L c)
∘ twist a b c
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, a': A f: a $-> a' b, c: A
fmap11 cat_tensor f (fmap11 cat_tensor (Id b) (Id c)) $->
f ⊗L (b ⊗ c)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, a': A f: a $-> a' b, c: A
fmap11 cat_tensor (Id b) (fmap11 cat_tensor f (Id c)) $==
b ⊗R (f ⊗L c)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, a': A f: a $-> a' b, c: A
fmap11 cat_tensor f (fmap11 cat_tensor (Id b) (Id c)) $->
f ⊗L (b ⊗ c)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, a': A f: a $-> a' b, c: A
fmap11 cat_tensor (Id b) (Id c) $== Id (b ⊗ c)
rapply fmap11_id.
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, a': A f: a $-> a' b, c: A
fmap11 cat_tensor (Id b) (fmap11 cat_tensor f (Id c)) $==
b ⊗R (f ⊗L c)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, a': A f: a $-> a' b, c: A
fmap11 cat_tensor f (Id c) $== f ⊗L c
rapply fmap10_is_fmap11.Defined.
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, b': A g: b $-> b' c: A
twist a b' c ∘ a ⊗R (g ⊗L c) $== g ⊗L (a ⊗ c)
∘ twist a b c
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, b': A g: b $-> b' c: A
twist a b' c ∘ a ⊗R (g ⊗L c) $== g ⊗L (a ⊗ c)
∘ twist a b c
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, b': A g: b $-> b' c: A
fmap11 cat_tensor (Id a) (fmap11 cat_tensor g (Id c)) $->
a ⊗R (g ⊗L c)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, b': A g: b $-> b' c: A
fmap11 cat_tensor g (fmap11 cat_tensor (Id a) (Id c)) $==
g ⊗L (a ⊗ c)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, b': A g: b $-> b' c: A
fmap11 cat_tensor (Id a) (fmap11 cat_tensor g (Id c)) $->
a ⊗R (g ⊗L c)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, b': A g: b $-> b' c: A
fmap11 cat_tensor g (Id c) $== g ⊗L c
rapply fmap10_is_fmap11.
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, b': A g: b $-> b' c: A
fmap11 cat_tensor g (fmap11 cat_tensor (Id a) (Id c)) $==
g ⊗L (a ⊗ c)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, b': A g: b $-> b' c: A
fmap11 cat_tensor (Id a) (Id c) $== Id (a ⊗ c)
rapply fmap11_id.Defined.
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, c': A h: c $-> c'
twist a b c' ∘ a ⊗R (b ⊗R h) $== b ⊗R (a ⊗R h)
∘ twist a b c
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, c': A h: c $-> c'
twist a b c' ∘ a ⊗R (b ⊗R h) $== b ⊗R (a ⊗R h)
∘ twist a b c
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, c': A h: c $-> c'
fmap11 cat_tensor (Id a) (fmap11 cat_tensor (Id b) h) $->
a ⊗R (b ⊗R h)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, c': A h: c $-> c'
fmap11 cat_tensor (Id b) (fmap11 cat_tensor (Id a) h) $==
b ⊗R (a ⊗R h)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, c': A h: c $-> c'
fmap11 cat_tensor (Id a) (fmap11 cat_tensor (Id b) h) $->
a ⊗R (b ⊗R h)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, c': A h: c $-> c'
fmap11 cat_tensor (Id b) h $== b ⊗R h
rapply fmap01_is_fmap11.
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, c': A h: c $-> c'
fmap11 cat_tensor (Id b) (fmap11 cat_tensor (Id a) h) $==
b ⊗R (a ⊗R h)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, c': A h: c $-> c'
fmap11 cat_tensor (Id a) h $== a ⊗R h
rapply fmap01_is_fmap11.Defined.(** *** Movement lemmas *)(** Here we collect lemmas about moving morphisms around in a diagram. We could have created [cate_moveL_eM]-style lemmas for [CatIsEquiv] but this leads to a lot of unnecessary unfolding and duplication. It is typically easier to use a hand crafted lemma for each situation. *)(** TODO: A lot of these proofs are copy and pasted between lemmas. We need to work out an efficient way of proving them. *)(** **** Moving [twist] *)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A f: d $-> a ⊗ (b ⊗ c) g: d $-> b ⊗ (a ⊗ c)
twist a b c ∘ f $== g -> f $== twist b a c ∘ g
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A f: d $-> a ⊗ (b ⊗ c) g: d $-> b ⊗ (a ⊗ c)
twist a b c ∘ f $== g -> f $== twist b a c ∘ g
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A f: d $-> a ⊗ (b ⊗ c) g: d $-> b ⊗ (a ⊗ c) p: twist a b c ∘ f $== g
f $== twist b a c ∘ g
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A f: d $-> a ⊗ (b ⊗ c) g: d $-> b ⊗ (a ⊗ c) p: twist a b c ∘ f $== g
twiste a b c ∘ f $== twiste a b c ∘ (twist b a c ∘ g)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A f: d $-> a ⊗ (b ⊗ c) g: d $-> b ⊗ (a ⊗ c) p: twist a b c ∘ f $== g
g $== twiste a b c ∘ twist b a c ∘ g
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A f: d $-> a ⊗ (b ⊗ c) g: d $-> b ⊗ (a ⊗ c) p: twist a b c ∘ f $== g
twiste a b c ∘ twist b a c $-> Id (b ⊗ (a ⊗ c))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A f: d $-> a ⊗ (b ⊗ c) g: d $-> b ⊗ (a ⊗ c) p: twist a b c ∘ f $== g
twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
apply twist_twist.Defined.
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A f: b ⊗ (a ⊗ c) $-> d g: a ⊗ (b ⊗ c) $-> d
f ∘ twist a b c $== g -> f $== g ∘ twist b a c
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A f: b ⊗ (a ⊗ c) $-> d g: a ⊗ (b ⊗ c) $-> d
f ∘ twist a b c $== g -> f $== g ∘ twist b a c
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A f: b ⊗ (a ⊗ c) $-> d g: a ⊗ (b ⊗ c) $-> d p: f ∘ twist a b c $== g
f $== g ∘ twist b a c
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A f: b ⊗ (a ⊗ c) $-> d g: a ⊗ (b ⊗ c) $-> d p: f ∘ twist a b c $== g
f ∘ twiste a b c $== g ∘ twist b a c ∘ twiste a b c
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A f: b ⊗ (a ⊗ c) $-> d g: a ⊗ (b ⊗ c) $-> d p: f ∘ twist a b c $== g
f ∘ twiste a b c $== g ∘ (twist b a c ∘ twiste a b c)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A f: b ⊗ (a ⊗ c) $-> d g: a ⊗ (b ⊗ c) $-> d p: f ∘ twist a b c $== g
f ∘ twiste a b c $== g ∘ ?Goal0
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A f: b ⊗ (a ⊗ c) $-> d g: a ⊗ (b ⊗ c) $-> d p: f ∘ twist a b c $== g
twist b a c ∘ twist a b c $== ?Goal0
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A f: b ⊗ (a ⊗ c) $-> d g: a ⊗ (b ⊗ c) $-> d p: f ∘ twist a b c $== g
f ∘ twiste a b c $== g ∘ Id (a ⊗ (b ⊗ c))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A f: b ⊗ (a ⊗ c) $-> d g: a ⊗ (b ⊗ c) $-> d p: f ∘ twist a b c $== g
twiste a b c $== ?Goal
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A f: b ⊗ (a ⊗ c) $-> d g: a ⊗ (b ⊗ c) $-> d p: f ∘ twist a b c $== g
f ∘ ?Goal $== g
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A f: b ⊗ (a ⊗ c) $-> d g: a ⊗ (b ⊗ c) $-> d p: f ∘ twist a b c $== g
f ∘ twist a b c $== g
exact p.Defined.
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A f: d $-> a ⊗ (b ⊗ c) g: d $-> b ⊗ (a ⊗ c)
f $== twist b a c ∘ g -> twist a b c ∘ f $== g
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A f: d $-> a ⊗ (b ⊗ c) g: d $-> b ⊗ (a ⊗ c)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A f: b ⊗ (a ⊗ c) $-> d g: a ⊗ (b ⊗ c) $-> d
f $== g ∘ twist b a c -> f ∘ twist a b c $== g
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A f: b ⊗ (a ⊗ c) $-> d g: a ⊗ (b ⊗ c) $-> d
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: e $-> a ⊗ (b ⊗ (c ⊗ d)) g: e $-> a ⊗ (c ⊗ (b ⊗ d))
a ⊗R twist b c d ∘ f $== g ->
f $== a ⊗R twist c b d ∘ g
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: e $-> a ⊗ (b ⊗ (c ⊗ d)) g: e $-> a ⊗ (c ⊗ (b ⊗ d))
a ⊗R twist b c d ∘ f $== g ->
f $== a ⊗R twist c b d ∘ g
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: e $-> a ⊗ (b ⊗ (c ⊗ d)) g: e $-> a ⊗ (c ⊗ (b ⊗ d)) p: a ⊗R twist b c d ∘ f $== g
f $== a ⊗R twist c b d ∘ g
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: e $-> a ⊗ (b ⊗ (c ⊗ d)) g: e $-> a ⊗ (c ⊗ (b ⊗ d)) p: a ⊗R twist b c d ∘ f $== g
emap01 cat_tensor a (twiste b c d) ∘ f $==
emap01 cat_tensor a (twiste b c d)
∘ (a ⊗R twist c b d ∘ g)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: e $-> a ⊗ (b ⊗ (c ⊗ d)) g: e $-> a ⊗ (c ⊗ (b ⊗ d)) p: a ⊗R twist b c d ∘ f $== g
emap01 cat_tensor a (twiste b c d) ∘ f $==
emap01 cat_tensor a (twiste b c d) ∘ a ⊗R twist c b d
∘ g
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: e $-> a ⊗ (b ⊗ (c ⊗ d)) g: e $-> a ⊗ (c ⊗ (b ⊗ d)) p: a ⊗R twist b c d ∘ f $== g
emap01 cat_tensor a (twiste b c d) ∘ f $== ?Goal0 ∘ g
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: e $-> a ⊗ (b ⊗ (c ⊗ d)) g: e $-> a ⊗ (c ⊗ (b ⊗ d)) p: a ⊗R twist b c d ∘ f $== g
?Goal0 $== emap01 cat_tensor a (twiste b c d)
∘ a ⊗R twist c b d
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: e $-> a ⊗ (b ⊗ (c ⊗ d)) g: e $-> a ⊗ (c ⊗ (b ⊗ d)) p: a ⊗R twist b c d ∘ f $== g
?Goal0 $== emap01 cat_tensor a (twiste b c d)
∘ a ⊗R twist c b d
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: e $-> a ⊗ (b ⊗ (c ⊗ d)) g: e $-> a ⊗ (c ⊗ (b ⊗ d)) p: a ⊗R twist b c d ∘ f $== g
?Goal0 $== ?Goal2 ∘ a ⊗R twist c b d
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: e $-> a ⊗ (b ⊗ (c ⊗ d)) g: e $-> a ⊗ (c ⊗ (b ⊗ d)) p: a ⊗R twist b c d ∘ f $== g
emap01 cat_tensor a (twiste b c d) $-> ?Goal2
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: e $-> a ⊗ (b ⊗ (c ⊗ d)) g: e $-> a ⊗ (c ⊗ (b ⊗ d)) p: a ⊗R twist b c d ∘ f $== g
?Goal0 $== a ⊗R twiste b c d ∘ a ⊗R twist c b d
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: e $-> a ⊗ (b ⊗ (c ⊗ d)) g: e $-> a ⊗ (c ⊗ (b ⊗ d)) p: a ⊗R twist b c d ∘ f $== g
Id (c ⊗ (b ⊗ d)) $== twiste b c d ∘ twist c b d
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: e $-> a ⊗ (b ⊗ (c ⊗ d)) g: e $-> a ⊗ (c ⊗ (b ⊗ d)) p: a ⊗R twist b c d ∘ f $== g
?Goal1 ∘ twist c b d $-> Id (c ⊗ (b ⊗ d))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: e $-> a ⊗ (b ⊗ (c ⊗ d)) g: e $-> a ⊗ (c ⊗ (b ⊗ d)) p: a ⊗R twist b c d ∘ f $== g
twiste b c d $-> ?Goal1
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: e $-> a ⊗ (b ⊗ (c ⊗ d)) g: e $-> a ⊗ (c ⊗ (b ⊗ d)) p: a ⊗R twist b c d ∘ f $== g
twist b c d ∘ twist c b d $-> Id (c ⊗ (b ⊗ d))
apply twist_twist.
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: e $-> a ⊗ (b ⊗ (c ⊗ d)) g: e $-> a ⊗ (c ⊗ (b ⊗ d)) p: a ⊗R twist b c d ∘ f $== g
emap01 cat_tensor a (twiste b c d) ∘ f $==
Id (a ⊗ (c ⊗ (b ⊗ d))) ∘ g
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: e $-> a ⊗ (b ⊗ (c ⊗ d)) g: e $-> a ⊗ (c ⊗ (b ⊗ d)) p: a ⊗R twist b c d ∘ f $== g
emap01 cat_tensor a (twiste b c d) $==
a ⊗R twist b c d
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: e $-> a ⊗ (b ⊗ (c ⊗ d)) g: e $-> a ⊗ (c ⊗ (b ⊗ d)) p: a ⊗R twist b c d ∘ f $== g
twiste b c d $== twist b c d
apply cate_buildequiv_fun.Defined.
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: a ⊗ (c ⊗ (b ⊗ d)) $-> e g: a ⊗ (b ⊗ (c ⊗ d)) $-> e
f ∘ a ⊗R twist b c d $== g ->
f $== g ∘ a ⊗R twist c b d
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: a ⊗ (c ⊗ (b ⊗ d)) $-> e g: a ⊗ (b ⊗ (c ⊗ d)) $-> e
f ∘ a ⊗R twist b c d $== g ->
f $== g ∘ a ⊗R twist c b d
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: a ⊗ (c ⊗ (b ⊗ d)) $-> e g: a ⊗ (b ⊗ (c ⊗ d)) $-> e p: f ∘ a ⊗R twist b c d $== g
f $== g ∘ a ⊗R twist c b d
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: a ⊗ (c ⊗ (b ⊗ d)) $-> e g: a ⊗ (b ⊗ (c ⊗ d)) $-> e p: f ∘ a ⊗R twist b c d $== g
f ∘ emap01 cat_tensor a (twiste b c d) $== g
∘ a ⊗R twist c b d
∘ emap01 cat_tensor a (twiste b c d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: a ⊗ (c ⊗ (b ⊗ d)) $-> e g: a ⊗ (b ⊗ (c ⊗ d)) $-> e p: f ∘ a ⊗R twist b c d $== g
f ∘ emap01 cat_tensor a (twiste b c d) $== g
∘ (a ⊗R twist c b d
∘ emap01 cat_tensor a (twiste b c d))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: a ⊗ (c ⊗ (b ⊗ d)) $-> e g: a ⊗ (b ⊗ (c ⊗ d)) $-> e p: f ∘ a ⊗R twist b c d $== g
f ∘ emap01 cat_tensor a (twiste b c d) $== g ∘ ?Goal0
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: a ⊗ (c ⊗ (b ⊗ d)) $-> e g: a ⊗ (b ⊗ (c ⊗ d)) $-> e p: f ∘ a ⊗R twist b c d $== g
?Goal0 $== a ⊗R twist c b d
∘ emap01 cat_tensor a (twiste b c d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: a ⊗ (c ⊗ (b ⊗ d)) $-> e g: a ⊗ (b ⊗ (c ⊗ d)) $-> e p: f ∘ a ⊗R twist b c d $== g
?Goal0 $== a ⊗R twist c b d
∘ emap01 cat_tensor a (twiste b c d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: a ⊗ (c ⊗ (b ⊗ d)) $-> e g: a ⊗ (b ⊗ (c ⊗ d)) $-> e p: f ∘ a ⊗R twist b c d $== g
a ⊗R twist c b d ∘ ?Goal2 $-> ?Goal0
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: a ⊗ (c ⊗ (b ⊗ d)) $-> e g: a ⊗ (b ⊗ (c ⊗ d)) $-> e p: f ∘ a ⊗R twist b c d $== g
emap01 cat_tensor a (twiste b c d) $-> ?Goal2
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: a ⊗ (c ⊗ (b ⊗ d)) $-> e g: a ⊗ (b ⊗ (c ⊗ d)) $-> e p: f ∘ a ⊗R twist b c d $== g
a ⊗R twist c b d ∘ a ⊗R twiste b c d $-> ?Goal0
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: a ⊗ (c ⊗ (b ⊗ d)) $-> e g: a ⊗ (b ⊗ (c ⊗ d)) $-> e p: f ∘ a ⊗R twist b c d $== g
twist c b d ∘ twiste b c d $== Id (b ⊗ (c ⊗ d))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: a ⊗ (c ⊗ (b ⊗ d)) $-> e g: a ⊗ (b ⊗ (c ⊗ d)) $-> e p: f ∘ a ⊗R twist b c d $== g
twiste b c d $== ?Goal0
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: a ⊗ (c ⊗ (b ⊗ d)) $-> e g: a ⊗ (b ⊗ (c ⊗ d)) $-> e p: f ∘ a ⊗R twist b c d $== g
twist c b d ∘ ?Goal0 $== Id (b ⊗ (c ⊗ d))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: a ⊗ (c ⊗ (b ⊗ d)) $-> e g: a ⊗ (b ⊗ (c ⊗ d)) $-> e p: f ∘ a ⊗R twist b c d $== g
twist c b d ∘ twist b c d $== Id (b ⊗ (c ⊗ d))
apply twist_twist.
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: a ⊗ (c ⊗ (b ⊗ d)) $-> e g: a ⊗ (b ⊗ (c ⊗ d)) $-> e p: f ∘ a ⊗R twist b c d $== g
f ∘ emap01 cat_tensor a (twiste b c d) $== g
∘ Id (a ⊗ (b ⊗ (c ⊗ d)))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: a ⊗ (c ⊗ (b ⊗ d)) $-> e g: a ⊗ (b ⊗ (c ⊗ d)) $-> e p: f ∘ a ⊗R twist b c d $== g
emap01 cat_tensor a (twiste b c d) $==
a ⊗R twist b c d
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: a ⊗ (c ⊗ (b ⊗ d)) $-> e g: a ⊗ (b ⊗ (c ⊗ d)) $-> e p: f ∘ a ⊗R twist b c d $== g
twiste b c d $== twist b c d
apply cate_buildequiv_fun.Defined.
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: e $-> a ⊗ (b ⊗ (c ⊗ d)) g: e $-> a ⊗ (c ⊗ (b ⊗ d))
f $== a ⊗R twist c b d ∘ g ->
a ⊗R twist b c d ∘ f $== g
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: e $-> a ⊗ (b ⊗ (c ⊗ d)) g: e $-> a ⊗ (c ⊗ (b ⊗ d))
f $== a ⊗R twist c b d ∘ g ->
a ⊗R twist b c d ∘ f $== g
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: a ⊗ (c ⊗ (b ⊗ d)) $-> e g: a ⊗ (b ⊗ (c ⊗ d)) $-> e
f $== g ∘ a ⊗R twist c b d ->
f ∘ a ⊗R twist b c d $== g
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d, e: A f: a ⊗ (c ⊗ (b ⊗ d)) $-> e g: a ⊗ (b ⊗ (c ⊗ d)) $-> e
f $== g ∘ a ⊗R twist c b d ->
f ∘ a ⊗R twist b c d $== g
intros p; symmetry; apply moveL_fmap01_twistR; symmetry; exact p.Defined.(** *** The associator *)(** Using [braide] and [twiste] we can build an associator. *)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c: A
a ⊗ (b ⊗ c) $<~> (a ⊗ b) ⊗ c
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c: A
a ⊗ (b ⊗ c) $<~> (a ⊗ b) ⊗ c
(** We can build the associator out of [braide] and [twiste]. *)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c: A
a ⊗ (b ⊗ c) $<~> c ⊗ (a ⊗ b)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c: A
a ⊗ (b ⊗ c) $<~> a ⊗ (c ⊗ b)
exact (emap01 cat_tensor a (braide _ _)).Defined.(** We would like to be able to unfold [associator_twist'] to the underlying morphisms. We use this lemma to make that process easier. *)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c: A
associator_twist' a b c $== braid c (a ⊗ b)
∘ (twist a c b ∘ a ⊗R braid b c)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c: A
associator_twist' a b c $== braid c (a ⊗ b)
∘ (twist a c b ∘ a ⊗R braid b c)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c: A
twiste a c b $oE emap01 cat_tensor a (braide b c) $==
twist a c b ∘ a ⊗R braid b c
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c: A
emap01 cat_tensor a (braide b c) $== a ⊗R braid b c
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c: A
braide b c $== braid b c
apply cate_buildequiv_fun.Defined.(** Now we can use [associator_twist'] and show that it is a natural equivalence in each variable. *)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d
Associator cat_tensor
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d
Associator cat_tensor
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d
forallabc : A, a ⊗ (b ⊗ c) $<~> (a ⊗ b) ⊗ c
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d
Is1Natural
(funpat : A * A * A =>
letx := pat inletfst := fst x inletc := snd x inletfst0 := fst inleta := Overture.fst fst0 inletb := snd fst0 in a ⊗ (b ⊗ c))
(funpat : A * A * A =>
letx := pat inletfst := fst x inletc := snd x inletfst0 := fst inleta := Overture.fst fst0 inletb := snd fst0 in (a ⊗ b) ⊗ c)
(funpat : A * A * A =>
letx := pat inletfst := fst x inletc := snd x inletfst0 := fst inleta := Overture.fst fst0 inletb := snd fst0 in?associator a b c)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d
forallabc : A, a ⊗ (b ⊗ c) $<~> (a ⊗ b) ⊗ c
exact associator_twist'.
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d
Is1Natural
(funpat : A * A * A =>
letx := pat inletfst := fst x inletc := snd x inletfst0 := fst inleta := Overture.fst fst0 inletb := snd fst0 in a ⊗ (b ⊗ c))
(funpat : A * A * A =>
letx := pat inletfst := fst x inletc := snd x inletfst0 := fst inleta := Overture.fst fst0 inletb := snd fst0 in (a ⊗ b) ⊗ c)
(funpat : A * A * A =>
letx := pat inletfst := fst x inletc := snd x inletfst0 := fst inleta := Overture.fst fst0 inletb := snd fst0 in associator_twist' a b c)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, a', b', c': A f: a $-> a' g: b $-> b' h: c $-> c'
associator_twist' a' b' c'
∘ fmap
(uncurry (uncurry (funxyz : A => x ⊗ (y ⊗ z))))
(f, g, h) $==
fmap
(uncurry (uncurry (funxyz : A => (x ⊗ y) ⊗ z)))
(f, g, h) ∘ associator_twist' a b c
(** To prove naturality it will be easier to reason about squares. *)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, a', b', c': A f: a $-> a' g: b $-> b' h: c $-> c'
Square (associator_twist' a b c)
(associator_twist' a' b' c')
(fmap
(uncurry (uncurry (funxyz : A => x ⊗ (y ⊗ z))))
(f, g, h))
(fmap
(uncurry (uncurry (funxyz : A => (x ⊗ y) ⊗ z)))
(f, g, h))
(** First we remove all the equivalences from the equation. *)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, a', b', c': A f: a $-> a' g: b $-> b' h: c $-> c'
associator_twist' a b c $== ?Goal
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, a', b', c': A f: a $-> a' g: b $-> b' h: c $-> c'
Square ?Goal (associator_twist' a' b' c')
(fmap
(uncurry (uncurry (funxyz : A => x ⊗ (y ⊗ z))))
(f, g, h))
(fmap
(uncurry (uncurry (funxyz : A => (x ⊗ y) ⊗ z)))
(f, g, h))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, a', b', c': A f: a $-> a' g: b $-> b' h: c $-> c'
Square
(braid c (a ⊗ b) ∘ (twist a c b ∘ a ⊗R braid b c))
(associator_twist' a' b' c')
(fmap
(uncurry (uncurry (funxyz : A => x ⊗ (y ⊗ z))))
(f, g, h))
(fmap
(uncurry (uncurry (funxyz : A => (x ⊗ y) ⊗ z)))
(f, g, h))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, a', b', c': A f: a $-> a' g: b $-> b' h: c $-> c'
Square
(braid c (a ⊗ b) ∘ (twist a c b ∘ a ⊗R braid b c))
?Goal
(fmap
(uncurry (uncurry (funxyz : A => x ⊗ (y ⊗ z))))
(f, g, h))
(fmap
(uncurry (uncurry (funxyz : A => (x ⊗ y) ⊗ z)))
(f, g, h))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, a', b', c': A f: a $-> a' g: b $-> b' h: c $-> c'
associator_twist' a' b' c' $== ?Goal
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, a', b', c': A f: a $-> a' g: b $-> b' h: c $-> c'
Square
(braid c (a ⊗ b) ∘ (twist a c b ∘ a ⊗R braid b c))
(braid c' (a' ⊗ b')
∘ (twist a' c' b' ∘ a' ⊗R braid b' c'))
(fmap
(uncurry (uncurry (funxyz : A => x ⊗ (y ⊗ z))))
(f, g, h))
(fmap
(uncurry (uncurry (funxyz : A => (x ⊗ y) ⊗ z)))
(f, g, h))
(** The first square involving [braid] on its own is a naturality square. *)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, a', b', c': A f: a $-> a' g: b $-> b' h: c $-> c'
Square (twist a c b ∘ a ⊗R braid b c)
(twist a' c' b' ∘ a' ⊗R braid b' c')
(fmap
(uncurry (uncurry (funxyz : A => x ⊗ (y ⊗ z))))
(f, g, h)) ?Goal
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, a', b', c': A f: a $-> a' g: b $-> b' h: c $-> c'
Square (braid c (a ⊗ b))
(braid c' (a' ⊗ b'))
?Goal
(fmap
(uncurry (uncurry (funxyz : A => (x ⊗ y) ⊗ z)))
(f, g, h))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, a', b', c': A f: a $-> a' g: b $-> b' h: c $-> c'
Square (twist a c b ∘ a ⊗R braid b c)
(twist a' c' b' ∘ a' ⊗R braid b' c')
(fmap
(uncurry (uncurry (funxyz : A => x ⊗ (y ⊗ z))))
(f, g, h))
(fmap11 cat_tensor (fmap idmap (snd (f, g, h)))
(fmap (uncurry cat_tensor) (fst (f, g, h))))
(** The second square is just the naturality of twist. *)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, a', b', c': A f: a $-> a' g: b $-> b' h: c $-> c'
Square (a ⊗R braid b c) (a' ⊗R braid b' c')
(fmap
(uncurry (uncurry (funxyz : A => x ⊗ (y ⊗ z))))
(f, g, h)) ?Goal
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, a', b', c': A f: a $-> a' g: b $-> b' h: c $-> c'
Square (twist a c b) (twist a' c' b')
?Goal
(fmap11 cat_tensor (fmap idmap h)
(fmap (uncurry cat_tensor) (f, g)))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, a', b', c': A f: a $-> a' g: b $-> b' h: c $-> c'
Square (a ⊗R braid b c) (a' ⊗R braid b' c')
(fmap
(uncurry (uncurry (funxyz : A => x ⊗ (y ⊗ z))))
(f, g, h))
(fmap11 cat_tensor f
(fmap11 cat_tensor (fmap idmap h) g))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, a', b', c': A f: a $-> a' g: b $-> b' h: c $-> c'
a ⊗R braid b c $== ?Goal
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, a', b', c': A f: a $-> a' g: b $-> b' h: c $-> c'
Square ?Goal (a' ⊗R braid b' c')
(fmap
(uncurry (uncurry (funxyz : A => x ⊗ (y ⊗ z))))
(f, g, h))
(fmap11 cat_tensor f
(fmap11 cat_tensor (fmap idmap h) g))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, a', b', c': A f: a $-> a' g: b $-> b' h: c $-> c'
a ⊗R braid b c $== ?Goal
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, a', b', c': A f: a $-> a' g: b $-> b' h: c $-> c'
Square ?Goal?Goal1
(fmap
(uncurry (uncurry (funxyz : A => x ⊗ (y ⊗ z))))
(f, g, h))
(fmap11 cat_tensor f
(fmap11 cat_tensor (fmap idmap h) g))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, a', b', c': A f: a $-> a' g: b $-> b' h: c $-> c'
a' ⊗R braid b' c' $== ?Goal1
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, a', b', c': A f: a $-> a' g: b $-> b' h: c $-> c'
Square (fmap11 cat_tensor (Id a) (braid b c))
(fmap11 cat_tensor (Id a') (braid b' c'))
(fmap
(uncurry (uncurry (funxyz : A => x ⊗ (y ⊗ z))))
(f, g, h))
(fmap11 cat_tensor f
(fmap11 cat_tensor (fmap idmap h) g))
(** Leaving us with a square with a functor application. *)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, a', b', c': A f: a $-> a' g: b $-> b' h: c $-> c'
Square (Id a) (Id a') f f
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, a', b', c': A f: a $-> a' g: b $-> b' h: c $-> c'
Square (braid b c) (braid b' c')
(fmap11 cat_tensor g h)
(fmap11 cat_tensor (fmap idmap h) g)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, a', b', c': A f: a $-> a' g: b $-> b' h: c $-> c'
Square (braid b c) (braid b' c')
(fmap11 cat_tensor g h)
(fmap11 cat_tensor (fmap idmap h) g)
(** We are finally left with the naturality of braid. *)apply braid_nat.Defined.(** We abbreviate the associator to [α] for the remainder of the section. *)Local Notationα := associator_twist.(** *** Unitors *)(** Since we assume the [right_unitor] exists, we can derive the [left_unitor] from it together with [braid]. *)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d
LeftUnitor cat_tensor cat_tensor_unit
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d
LeftUnitor cat_tensor cat_tensor_unit
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d
NatTrans (cat_tensor cat_tensor_unit) idmap
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d
foralla : A, CatIsEquiv (?alpha a)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d
NatTrans (cat_tensor cat_tensor_unit) idmap
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d
cat_tensor cat_tensor_unit $=> idmap
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d
cat_tensor cat_tensor_unit $=> idmap
exact (funa => right_unitor a $o braid cat_tensor_unit a).
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d
Is1Natural (cat_tensor cat_tensor_unit) idmap
(funa : A => right_unitor a
∘ braid cat_tensor_unit a)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b: A f: a $-> b
right_unitor b ∘ braid cat_tensor_unit b
∘ fmap (cat_tensor cat_tensor_unit) f $== fmap idmap f
∘ (right_unitor a ∘ braid cat_tensor_unit a)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b: A f: a $-> b
Square (right_unitor a ∘ braid cat_tensor_unit a)
(right_unitor b ∘ braid cat_tensor_unit b)
(fmap (cat_tensor cat_tensor_unit) f) (fmap idmap f)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b: A f: a $-> b
Square (braid cat_tensor_unit a)
(braid cat_tensor_unit b)
(fmap (cat_tensor cat_tensor_unit) f) ?Goal
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b: A f: a $-> b
Square (right_unitor a)
(right_unitor b) ?Goal
(fmap idmap f)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b: A f: a $-> b
Square (braid cat_tensor_unit a)
(braid cat_tensor_unit b)
(fmap (cat_tensor cat_tensor_unit) f)
(fmap (flip cat_tensor cat_tensor_unit) f)
rapply braid_nat_r.
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d
foralla : A,
CatIsEquiv
({|
trans_nattrans :=
funa0 : A => right_unitor a0
∘ braid cat_tensor_unit a0;
is1natural_nattrans :=
(fun (a0b : A) (f : a0 $-> b) =>
braid_nat_r f $@v isnat right_unitor f)
:
Is1Natural (cat_tensor cat_tensor_unit) idmap
(funa0 : A => right_unitor a0
∘ braid cat_tensor_unit a0)
|} a)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a: A
CatIsEquiv
({|
trans_nattrans :=
funa : A => right_unitor a
∘ braid cat_tensor_unit a;
is1natural_nattrans :=
(fun (ab : A) (f : a $-> b) =>
braid_nat_r f $@v isnat right_unitor f)
:
Is1Natural (cat_tensor cat_tensor_unit) idmap
(funa : A => right_unitor a
∘ braid cat_tensor_unit a)
|} a)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a: A
CatIsEquiv (braid cat_tensor_unit a)
rapply catie_braid.Defined.(** *** Triangle *)(** The triangle identity can easily be proven by rearranging the diagram, cancelling and using naturality of [braid]. *)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d
TriangleIdentity cat_tensor cat_tensor_unit
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d
TriangleIdentity cat_tensor cat_tensor_unit
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b: A
a ⊗R left_unitor_twist b $== right_unitor a ⊗L b
∘ α a cat_tensor_unit b
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b: A
a ⊗R left_unitor_twist b $== right_unitor a ⊗L b
∘ ?Goal0
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b: A
α a cat_tensor_unit b $== ?Goal0
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b: A
a ⊗R left_unitor_twist b $== right_unitor a ⊗L b
∘ (braid b (a ⊗ cat_tensor_unit)
∘ (twist a b cat_tensor_unit
∘ a ⊗R braid cat_tensor_unit b))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b: A
a ⊗R (right_unitor b ∘ braid cat_tensor_unit b) $==
right_unitor a ⊗L b
∘ (braid b (a ⊗ cat_tensor_unit)
∘ (twist a b cat_tensor_unit
∘ a ⊗R braid cat_tensor_unit b))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b: A
a ⊗R right_unitor b ∘ a ⊗R braid cat_tensor_unit b $==
right_unitor a ⊗L b
∘ (braid b (a ⊗ cat_tensor_unit)
∘ (twist a b cat_tensor_unit
∘ a ⊗R braid cat_tensor_unit b))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b: A
a ⊗R right_unitor b ∘ a ⊗R braid cat_tensor_unit b $==
right_unitor a ⊗L b ∘ braid b (a ⊗ cat_tensor_unit)
∘ twist a b cat_tensor_unit
∘ a ⊗R braid cat_tensor_unit b
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b: A
braid b a ∘ b ⊗R right_unitor a $==
right_unitor a ⊗L b ∘ braid b (a ⊗ cat_tensor_unit)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b
$==
braid b a
∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit
:> (a
⊗ flip cat_tensor cat_tensor_unit b $->
a ⊗ b) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b)))
PentagonIdentity cat_tensor
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b
$==
braid b a
∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit
:> (a
⊗ flip cat_tensor cat_tensor_unit b $->
a ⊗ b) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b)))
PentagonIdentity cat_tensor
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b)))
PentagonIdentity cat_tensor
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
α (a ⊗ b) c d
∘ α a b (c ⊗ d)
$==
α a b c ⊗L d
∘ α a (b ⊗ c) d
∘ a ⊗R α b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
α a b (c ⊗ d)
$==
?Goal
:> (a ⊗ (b ⊗ (c ⊗ d)) $-> (a ⊗ b) ⊗ (c ⊗ d))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
α (a ⊗ b) c d
$==
?Goal0
:> ((a ⊗ b) ⊗ (c ⊗ d) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
?Goal0
∘ ?Goal
$==
?Goal9
∘ ?Goal8
∘ ?Goal4
:> (a ⊗ (b ⊗ (c ⊗ d)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
α b c d
$==
?Goal5
:> (b ⊗ (c ⊗ d) $-> (b ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
a ⊗R ?Goal5
$==
?Goal4
:> (a ⊗ (b ⊗ (c ⊗ d)) $-> a ⊗ ((b ⊗ c) ⊗ d))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
α a (b ⊗ c) d
$==
?Goal8
:> (a ⊗ ((b ⊗ c) ⊗ d) $-> (a ⊗ (b ⊗ c)) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
α a b c
$==
?Goal11
:> (a ⊗ (b ⊗ c) $-> (a ⊗ b) ⊗ c)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
?Goal11 ⊗L d
$==
?Goal9
:> ((a ⊗ (b ⊗ c)) ⊗ d $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ (twist (a ⊗ b) d c ∘ (a ⊗ b) ⊗R braid c d)
∘ (braid (c ⊗ d) (a ⊗ b)
∘ (twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d)))
$==
?Goal2
∘ (braid d (a ⊗ (b ⊗ c))
∘ (twist a d (b ⊗ c) ∘ a ⊗R braid (b ⊗ c) d))
∘ ?Goal0
:> (a ⊗ (b ⊗ (c ⊗ d)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
a
⊗R (braid d (b ⊗ c) ∘ (twist b d c ∘ b ⊗R braid c d))
$==
?Goal0
:> (a ⊗ (b ⊗ (c ⊗ d)) $-> a ⊗ ((b ⊗ c) ⊗ d))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
(braid c (a ⊗ b) ∘ (twist a c b ∘ a ⊗R braid b c))
⊗L d
$==
?Goal2
:> ((a ⊗ (b ⊗ c)) ⊗ d $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ (twist (a ⊗ b) d c ∘ (a ⊗ b) ⊗R braid c d)
∘ (braid (c ⊗ d) (a ⊗ b)
∘ (twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d)))
$==
?Goal0
∘ (braid d (a ⊗ (b ⊗ c))
∘ (twist a d (b ⊗ c) ∘ a ⊗R braid (b ⊗ c) d))
∘ (a ⊗R braid d (b ⊗ c)
∘ (a ⊗R twist b d c ∘ a ⊗R (b ⊗R braid c d)))
:> (a ⊗ (b ⊗ (c ⊗ d)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
(braid c (a ⊗ b) ∘ (twist a c b ∘ a ⊗R braid b c))
⊗L d
$==
?Goal0
:> ((a ⊗ (b ⊗ c)) ⊗ d $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ (twist (a ⊗ b) d c ∘ (a ⊗ b) ⊗R braid c d)
∘ (braid (c ⊗ d) (a ⊗ b)
∘ (twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d)))
$==
braid c (a ⊗ b) ⊗L d
∘ (twist a c b ⊗L d ∘ (a ⊗R braid b c) ⊗L d)
∘ (braid d (a ⊗ (b ⊗ c))
∘ (twist a d (b ⊗ c) ∘ a ⊗R braid (b ⊗ c) d))
∘ (a ⊗R braid d (b ⊗ c)
∘ (a ⊗R twist b d c ∘ a ⊗R (b ⊗R braid c d)))
:> (a ⊗ (b ⊗ (c ⊗ d)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
(** We use a notation defined above that shows the base type of the groupoid hom and formats the equation in a way that is easier to read. *)(** Normalize brackets on LHS *)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ (twist (a ⊗ b) d c ∘ (a ⊗ b) ⊗R braid c d
∘ (braid (c ⊗ d) (a ⊗ b)
∘ (twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d))))
$==
braid c (a ⊗ b) ⊗L d
∘ (twist a c b ⊗L d ∘ (a ⊗R braid b c) ⊗L d)
∘ (braid d (a ⊗ (b ⊗ c))
∘ (twist a d (b ⊗ c) ∘ a ⊗R braid (b ⊗ c) d))
∘ (a ⊗R braid d (b ⊗ c)
∘ (a ⊗R twist b d c ∘ a ⊗R (b ⊗R braid c d)))
:> (a ⊗ (b ⊗ (c ⊗ d)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ (twist (a ⊗ b) d c
∘ ((a ⊗ b) ⊗R braid c d
∘ (braid (c ⊗ d) (a ⊗ b)
∘ (twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d)))))
$==
braid c (a ⊗ b) ⊗L d
∘ (twist a c b ⊗L d ∘ (a ⊗R braid b c) ⊗L d)
∘ (braid d (a ⊗ (b ⊗ c))
∘ (twist a d (b ⊗ c) ∘ a ⊗R braid (b ⊗ c) d))
∘ (a ⊗R braid d (b ⊗ c)
∘ (a ⊗R twist b d c ∘ a ⊗R (b ⊗R braid c d)))
:> (a ⊗ (b ⊗ (c ⊗ d)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
braid c (a ⊗ b) ⊗L d
∘ (twist a c b ⊗L d ∘ (a ⊗R braid b c) ⊗L d)
∘ (braid d (a ⊗ (b ⊗ c))
∘ (twist a d (b ⊗ c) ∘ a ⊗R braid (b ⊗ c) d))
∘ (a ⊗R braid d (b ⊗ c)
∘ (a ⊗R twist b d c ∘ a ⊗R (b ⊗R braid c d)))
:> (a ⊗ (b ⊗ (c ⊗ d)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
(** Normalize brackets on RHS *)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
braid c (a ⊗ b) ⊗L d
∘ twist a c b ⊗L d
∘ (a ⊗R braid b c) ⊗L d
∘ (braid d (a ⊗ (b ⊗ c))
∘ (twist a d (b ⊗ c) ∘ a ⊗R braid (b ⊗ c) d))
∘ (a ⊗R braid d (b ⊗ c)
∘ (a ⊗R twist b d c ∘ a ⊗R (b ⊗R braid c d)))
:> (a ⊗ (b ⊗ (c ⊗ d)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
braid c (a ⊗ b) ⊗L d
∘ twist a c b ⊗L d
∘ (a ⊗R braid b c) ⊗L d
∘ braid d (a ⊗ (b ⊗ c))
∘ twist a d (b ⊗ c)
∘ a ⊗R braid (b ⊗ c) d
∘ (a ⊗R braid d (b ⊗ c)
∘ (a ⊗R twist b d c ∘ a ⊗R (b ⊗R braid c d)))
:> (a ⊗ (b ⊗ (c ⊗ d)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
braid c (a ⊗ b) ⊗L d
∘ twist a c b ⊗L d
∘ (a ⊗R braid b c) ⊗L d
∘ braid d (a ⊗ (b ⊗ c))
∘ twist a d (b ⊗ c)
∘ a ⊗R braid (b ⊗ c) d
∘ a ⊗R braid d (b ⊗ c)
∘ a ⊗R twist b d c
∘ a ⊗R (b ⊗R braid c d)
:> (a ⊗ (b ⊗ (c ⊗ d)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
(** Cancel two braids next to eachother. *)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
∘ a ⊗R (b ⊗R braid d c)
$==
braid c (a ⊗ b) ⊗L d
∘ twist a c b ⊗L d
∘ (a ⊗R braid b c) ⊗L d
∘ braid d (a ⊗ (b ⊗ c))
∘ twist a d (b ⊗ c)
∘ a ⊗R braid (b ⊗ c) d
∘ a ⊗R braid d (b ⊗ c)
∘ a ⊗R twist b d c
:> (a ⊗ (b ⊗ (d ⊗ c)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
∘ a ⊗R (b ⊗R braid d c)
∘ a ⊗R twist d b c
$==
braid c (a ⊗ b) ⊗L d
∘ twist a c b ⊗L d
∘ (a ⊗R braid b c) ⊗L d
∘ braid d (a ⊗ (b ⊗ c))
∘ twist a d (b ⊗ c)
∘ a ⊗R braid (b ⊗ c) d
∘ a ⊗R braid d (b ⊗ c)
:> (a ⊗ (d ⊗ (b ⊗ c)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
∘ a ⊗R (b ⊗R braid d c)
∘ a ⊗R twist d b c
$==
braid c (a ⊗ b) ⊗L d
∘ twist a c b ⊗L d
∘ (a ⊗R braid b c) ⊗L d
∘ braid d (a ⊗ (b ⊗ c))
∘ twist a d (b ⊗ c)
∘ (a ⊗R braid (b ⊗ c) d ∘ a ⊗R braid d (b ⊗ c))
:> (a ⊗ (d ⊗ (b ⊗ c)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
∘ a ⊗R (b ⊗R braid d c)
∘ a ⊗R twist d b c
$==
braid c (a ⊗ b) ⊗L d
∘ twist a c b ⊗L d
∘ (a ⊗R braid b c) ⊗L d
∘ braid d (a ⊗ (b ⊗ c))
∘ twist a d (b ⊗ c)
:> (a ⊗ (d ⊗ (b ⊗ c)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
a ⊗R braid (b ⊗ c) d
∘ a ⊗R braid d (b ⊗ c)
$==
Id (a ⊗ (d ⊗ (b ⊗ c)))
:> (a ⊗ (d ⊗ (b ⊗ c)) $-> a ⊗ (d ⊗ (b ⊗ c)))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
∘ a ⊗R (b ⊗R braid d c)
∘ a ⊗R twist d b c
$==
braid c (a ⊗ b) ⊗L d
∘ twist a c b ⊗L d
∘ (a ⊗R braid b c) ⊗L d
∘ braid d (a ⊗ (b ⊗ c))
∘ twist a d (b ⊗ c)
:> (a ⊗ (d ⊗ (b ⊗ c)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid (b ⊗ c) d
∘ braid d (b ⊗ c)
$==
Id (d ⊗ (b ⊗ c))
:> (d ⊗ (b ⊗ c) $-> d ⊗ (b ⊗ c))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
∘ a ⊗R (b ⊗R braid d c)
∘ a ⊗R twist d b c
$==
braid c (a ⊗ b) ⊗L d
∘ twist a c b ⊗L d
∘ (a ⊗R braid b c) ⊗L d
∘ braid d (a ⊗ (b ⊗ c))
∘ twist a d (b ⊗ c)
:> (a ⊗ (d ⊗ (b ⊗ c)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
(** *)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
∘ a ⊗R (b ⊗R braid d c)
∘ a ⊗R twist d b c
∘ twist d a (b ⊗ c)
$==
braid c (a ⊗ b) ⊗L d
∘ twist a c b ⊗L d
∘ (a ⊗R braid b c) ⊗L d
∘ braid d (a ⊗ (b ⊗ c))
:> (d ⊗ (a ⊗ (b ⊗ c)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
∘ a ⊗R (b ⊗R braid d c)
∘ a ⊗R twist d b c
∘ twist d a (b ⊗ c)
$==
braid c (a ⊗ b) ⊗L d
∘ twist a c b ⊗L d
∘ ((a ⊗R braid b c) ⊗L d ∘ braid d (a ⊗ (b ⊗ c)))
:> (d ⊗ (a ⊗ (b ⊗ c)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
∘ a ⊗R (b ⊗R braid d c)
∘ a ⊗R twist d b c
∘ twist d a (b ⊗ c)
$==
braid c (a ⊗ b) ⊗L d
∘ twist a c b ⊗L d
∘ ?Goal0
:> (d ⊗ (a ⊗ (b ⊗ c)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
?Goal0
$==
(a ⊗R braid b c) ⊗L d
∘ braid d (a ⊗ (b ⊗ c))
:> (d ⊗ (a ⊗ (b ⊗ c)) $-> (a ⊗ (c ⊗ b)) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
∘ a ⊗R (b ⊗R braid d c)
∘ a ⊗R twist d b c
∘ twist d a (b ⊗ c)
$==
braid c (a ⊗ b) ⊗L d
∘ twist a c b ⊗L d
∘ (braid d (a ⊗ (c ⊗ b)) ∘ d ⊗R (a ⊗R braid b c))
:> (d ⊗ (a ⊗ (b ⊗ c)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
∘ a ⊗R (b ⊗R braid d c)
∘ a ⊗R twist d b c
∘ twist d a (b ⊗ c)
$==
braid c (a ⊗ b) ⊗L d
∘ twist a c b ⊗L d
∘ braid d (a ⊗ (c ⊗ b))
∘ d ⊗R (a ⊗R braid b c)
:> (d ⊗ (a ⊗ (b ⊗ c)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
∘ a ⊗R (b ⊗R braid d c)
∘ a ⊗R twist d b c
∘ twist d a (b ⊗ c)
∘ d ⊗R (a ⊗R braid c b)
$==
braid c (a ⊗ b) ⊗L d
∘ twist a c b ⊗L d
∘ braid d (a ⊗ (c ⊗ b))
:> (d ⊗ (a ⊗ (c ⊗ b)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
∘ a ⊗R (b ⊗R braid d c)
∘ a ⊗R twist d b c
∘ twist d a (b ⊗ c)
∘ d ⊗R (a ⊗R braid c b)
$==
braid c (a ⊗ b) ⊗L d
∘ (twist a c b ⊗L d ∘ braid d (a ⊗ (c ⊗ b)))
:> (d ⊗ (a ⊗ (c ⊗ b)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
∘ a ⊗R (b ⊗R braid d c)
∘ a ⊗R twist d b c
∘ twist d a (b ⊗ c)
∘ d ⊗R (a ⊗R braid c b)
$==
braid c (a ⊗ b) ⊗L d
∘ ?Goal0
:> (d ⊗ (a ⊗ (c ⊗ b)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
?Goal0
$==
twist a c b ⊗L d
∘ braid d (a ⊗ (c ⊗ b))
:> (d ⊗ (a ⊗ (c ⊗ b)) $-> (c ⊗ (a ⊗ b)) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
∘ a ⊗R (b ⊗R braid d c)
∘ a ⊗R twist d b c
∘ twist d a (b ⊗ c)
∘ d ⊗R (a ⊗R braid c b)
$==
braid c (a ⊗ b) ⊗L d
∘ (braid d (c ⊗ (a ⊗ b)) ∘ d ⊗R twist a c b)
:> (d ⊗ (a ⊗ (c ⊗ b)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
∘ a ⊗R (b ⊗R braid d c)
∘ a ⊗R twist d b c
∘ twist d a (b ⊗ c)
∘ d ⊗R (a ⊗R braid c b)
$==
braid c (a ⊗ b) ⊗L d
∘ braid d (c ⊗ (a ⊗ b))
∘ d ⊗R twist a c b
:> (d ⊗ (a ⊗ (c ⊗ b)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
∘ a ⊗R (b ⊗R braid d c)
∘ a ⊗R twist d b c
∘ twist d a (b ⊗ c)
∘ d ⊗R (a ⊗R braid c b)
∘ d ⊗R twist c a b
$==
braid c (a ⊗ b) ⊗L d
∘ braid d (c ⊗ (a ⊗ b))
:> (d ⊗ (c ⊗ (a ⊗ b)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
∘ a ⊗R (b ⊗R braid d c)
∘ a ⊗R twist d b c
∘ twist d a (b ⊗ c)
∘ d ⊗R (a ⊗R braid c b)
∘ d ⊗R twist c a b
$==
?Goal
:> (d ⊗ (c ⊗ (a ⊗ b)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
?Goal
$==
braid c (a ⊗ b) ⊗L d
∘ braid d (c ⊗ (a ⊗ b))
:> (d ⊗ (c ⊗ (a ⊗ b)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
∘ a ⊗R (b ⊗R braid d c)
∘ a ⊗R twist d b c
∘ twist d a (b ⊗ c)
∘ d ⊗R (a ⊗R braid c b)
∘ d ⊗R twist c a b
$==
braid d ((a ⊗ b) ⊗ c)
∘ d ⊗R braid c (a ⊗ b)
:> (d ⊗ (c ⊗ (a ⊗ b)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
(** Putting things back. *)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
∘ a ⊗R (b ⊗R braid d c)
∘ a ⊗R twist d b c
∘ twist d a (b ⊗ c)
∘ d ⊗R (a ⊗R braid c b)
$==
braid d ((a ⊗ b) ⊗ c)
∘ d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
:> (d ⊗ (a ⊗ (c ⊗ b)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
∘ a ⊗R (b ⊗R braid d c)
∘ a ⊗R twist d b c
∘ twist d a (b ⊗ c)
$==
braid d ((a ⊗ b) ⊗ c)
∘ d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
:> (d ⊗ (a ⊗ (b ⊗ c)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
∘ a ⊗R (b ⊗R braid d c)
∘ a ⊗R twist d b c
$==
braid d ((a ⊗ b) ⊗ c)
∘ d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
∘ twist a d (b ⊗ c)
:> (a ⊗ (d ⊗ (b ⊗ c)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
∘ a ⊗R (b ⊗R braid d c)
$==
braid d ((a ⊗ b) ⊗ c)
∘ d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
∘ twist a d (b ⊗ c)
∘ a ⊗R twist b d c
:> (a ⊗ (b ⊗ (d ⊗ c)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
(** There are two braids on the RHS of the LHS that can be swapped. *)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ (a ⊗R braid b (c ⊗ d) ∘ a ⊗R (b ⊗R braid d c))
$==
braid d ((a ⊗ b) ⊗ c)
∘ d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
∘ twist a d (b ⊗ c)
∘ a ⊗R twist b d c
:> (a ⊗ (b ⊗ (d ⊗ c)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
a ⊗R braid b (c ⊗ d)
∘ a ⊗R (b ⊗R braid d c)
$==
?Goal
:> (a ⊗ (b ⊗ (d ⊗ c)) $-> a ⊗ ((c ⊗ d) ⊗ b))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ ?Goal
$==
braid d ((a ⊗ b) ⊗ c)
∘ d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
∘ twist a d (b ⊗ c)
∘ a ⊗R twist b d c
:> (a ⊗ (b ⊗ (d ⊗ c)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid b (c ⊗ d)
∘ b ⊗R braid d c
$==
?Goal2
∘ ?Goal3
:> (b ⊗ (d ⊗ c) $-> (c ⊗ d) ⊗ b)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ (a ⊗R ?Goal2 ∘ a ⊗R ?Goal3)
$==
braid d ((a ⊗ b) ⊗ c)
∘ d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
∘ twist a d (b ⊗ c)
∘ a ⊗R twist b d c
:> (a ⊗ (b ⊗ (d ⊗ c)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ (a ⊗R (braid d c ⊗L b) ∘ a ⊗R braid b (d ⊗ c))
$==
braid d ((a ⊗ b) ⊗ c)
∘ d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
∘ twist a d (b ⊗ c)
∘ a ⊗R twist b d c
:> (a ⊗ (b ⊗ (d ⊗ c)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R (braid d c ⊗L b)
∘ a ⊗R braid b (d ⊗ c)
$==
braid d ((a ⊗ b) ⊗ c)
∘ d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
∘ twist a d (b ⊗ c)
∘ a ⊗R twist b d c
:> (a ⊗ (b ⊗ (d ⊗ c)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R (braid d c ⊗L b)
$==
braid d ((a ⊗ b) ⊗ c)
∘ d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
∘ twist a d (b ⊗ c)
∘ a ⊗R twist b d c
∘ a ⊗R braid (d ⊗ c) b
:> (a ⊗ ((d ⊗ c) ⊗ b) $-> ((a ⊗ b) ⊗ c) ⊗ d)
(** Naturality of twist on the RHS of the LHS. *)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ (twist a (c ⊗ d) b ∘ a ⊗R (braid d c ⊗L b))
$==
braid d ((a ⊗ b) ⊗ c)
∘ d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
∘ twist a d (b ⊗ c)
∘ a ⊗R twist b d c
∘ a ⊗R braid (d ⊗ c) b
:> (a ⊗ ((d ⊗ c) ⊗ b) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
twist a (c ⊗ d) b
∘ a ⊗R (braid d c ⊗L b)
$==
?Goal
:> (a ⊗ ((d ⊗ c) ⊗ b) $-> (c ⊗ d) ⊗ (a ⊗ b))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ ?Goal
$==
braid d ((a ⊗ b) ⊗ c)
∘ d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
∘ twist a d (b ⊗ c)
∘ a ⊗R twist b d c
∘ a ⊗R braid (d ⊗ c) b
:> (a ⊗ ((d ⊗ c) ⊗ b) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ (braid d c ⊗L (a ⊗ b) ∘ twist a (d ⊗ c) b)
$==
braid d ((a ⊗ b) ⊗ c)
∘ d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
∘ twist a d (b ⊗ c)
∘ a ⊗R twist b d c
∘ a ⊗R braid (d ⊗ c) b
:> (a ⊗ ((d ⊗ c) ⊗ b) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ braid d c ⊗L (a ⊗ b)
∘ twist a (d ⊗ c) b
$==
braid d ((a ⊗ b) ⊗ c)
∘ d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
∘ twist a d (b ⊗ c)
∘ a ⊗R twist b d c
∘ a ⊗R braid (d ⊗ c) b
:> (a ⊗ ((d ⊗ c) ⊗ b) $-> ((a ⊗ b) ⊗ c) ⊗ d)
(** Moving some things to the RHS so that we can braid and cancel on the LHS. *)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ braid d c ⊗L (a ⊗ b)
$==
braid d ((a ⊗ b) ⊗ c)
∘ d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
∘ twist a d (b ⊗ c)
∘ a ⊗R twist b d c
∘ a ⊗R braid (d ⊗ c) b
∘ twist (d ⊗ c) a b
:> ((d ⊗ c) ⊗ (a ⊗ b) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ (braid (c ⊗ d) (a ⊗ b) ∘ braid d c ⊗L (a ⊗ b))
$==
braid d ((a ⊗ b) ⊗ c)
∘ d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
∘ twist a d (b ⊗ c)
∘ a ⊗R twist b d c
∘ a ⊗R braid (d ⊗ c) b
∘ twist (d ⊗ c) a b
:> ((d ⊗ c) ⊗ (a ⊗ b) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid (c ⊗ d) (a ⊗ b)
∘ braid d c ⊗L (a ⊗ b)
$==
?Goal
:> ((d ⊗ c) ⊗ (a ⊗ b) $-> (a ⊗ b) ⊗ (c ⊗ d))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ ?Goal
$==
braid d ((a ⊗ b) ⊗ c)
∘ d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
∘ twist a d (b ⊗ c)
∘ a ⊗R twist b d c
∘ a ⊗R braid (d ⊗ c) b
∘ twist (d ⊗ c) a b
:> ((d ⊗ c) ⊗ (a ⊗ b) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ ((a ⊗ b) ⊗R braid d c ∘ braid (d ⊗ c) (a ⊗ b))
$==
braid d ((a ⊗ b) ⊗ c)
∘ d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
∘ twist a d (b ⊗ c)
∘ a ⊗R twist b d c
∘ a ⊗R braid (d ⊗ c) b
∘ twist (d ⊗ c) a b
:> ((d ⊗ c) ⊗ (a ⊗ b) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ (a ⊗ b) ⊗R braid d c
∘ braid (d ⊗ c) (a ⊗ b)
$==
braid d ((a ⊗ b) ⊗ c)
∘ d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
∘ twist a d (b ⊗ c)
∘ a ⊗R twist b d c
∘ a ⊗R braid (d ⊗ c) b
∘ twist (d ⊗ c) a b
:> ((d ⊗ c) ⊗ (a ⊗ b) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ (a ⊗ b) ⊗R braid c d
∘ (a ⊗ b) ⊗R braid d c
$==
braid d ((a ⊗ b) ⊗ c)
∘ d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
∘ twist a d (b ⊗ c)
∘ a ⊗R twist b d c
∘ a ⊗R braid (d ⊗ c) b
∘ twist (d ⊗ c) a b
∘ braid (a ⊗ b) (d ⊗ c)
:> ((a ⊗ b) ⊗ (d ⊗ c) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ ((a ⊗ b) ⊗R braid c d ∘ (a ⊗ b) ⊗R braid d c)
$==
braid d ((a ⊗ b) ⊗ c)
∘ d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
∘ twist a d (b ⊗ c)
∘ a ⊗R twist b d c
∘ a ⊗R braid (d ⊗ c) b
∘ twist (d ⊗ c) a b
∘ braid (a ⊗ b) (d ⊗ c)
:> ((a ⊗ b) ⊗ (d ⊗ c) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
(a ⊗ b) ⊗R braid c d
∘ (a ⊗ b) ⊗R braid d c
$==
Id ((a ⊗ b) ⊗ (d ⊗ c))
:> ((a ⊗ b) ⊗ (d ⊗ c) $-> (a ⊗ b) ⊗ (d ⊗ c))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
$==
braid d ((a ⊗ b) ⊗ c)
∘ d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
∘ twist a d (b ⊗ c)
∘ a ⊗R twist b d c
∘ a ⊗R braid (d ⊗ c) b
∘ twist (d ⊗ c) a b
∘ braid (a ⊗ b) (d ⊗ c)
:> ((a ⊗ b) ⊗ (d ⊗ c) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid c d
∘ braid d c
$==
Id (d ⊗ c)
:> (d ⊗ c $-> d ⊗ c)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
$==
braid d ((a ⊗ b) ⊗ c)
∘ d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
∘ twist a d (b ⊗ c)
∘ a ⊗R twist b d c
∘ a ⊗R braid (d ⊗ c) b
∘ twist (d ⊗ c) a b
∘ braid (a ⊗ b) (d ⊗ c)
:> ((a ⊗ b) ⊗ (d ⊗ c) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
$==
braid d ((a ⊗ b) ⊗ c)
∘ d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
∘ twist a d (b ⊗ c)
∘ a ⊗R twist b d c
∘ a ⊗R braid (d ⊗ c) b
∘ twist (d ⊗ c) a b
∘ braid (a ⊗ b) (d ⊗ c)
:> ((a ⊗ b) ⊗ (d ⊗ c) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ braid (d ⊗ c) (a ⊗ b)
$==
braid d ((a ⊗ b) ⊗ c)
∘ d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
∘ twist a d (b ⊗ c)
∘ a ⊗R twist b d c
∘ a ⊗R braid (d ⊗ c) b
∘ twist (d ⊗ c) a b
:> ((d ⊗ c) ⊗ (a ⊗ b) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ braid (d ⊗ c) (a ⊗ b)
∘ twist a (d ⊗ c) b
$==
braid d ((a ⊗ b) ⊗ c)
∘ d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
∘ twist a d (b ⊗ c)
∘ a ⊗R twist b d c
∘ a ⊗R braid (d ⊗ c) b
:> (a ⊗ ((d ⊗ c) ⊗ b) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ braid (d ⊗ c) (a ⊗ b)
∘ twist a (d ⊗ c) b
∘ a ⊗R braid b (d ⊗ c)
$==
braid d ((a ⊗ b) ⊗ c)
∘ d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
∘ twist a d (b ⊗ c)
∘ a ⊗R twist b d c
:> (a ⊗ (b ⊗ (d ⊗ c)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
(** We are almost at the desired 9-gon. Now we cancel the inner braid on the LHS. *)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ twist (a ⊗ b) d c
∘ braid (d ⊗ c) (a ⊗ b)
∘ twist a (d ⊗ c) b
∘ a ⊗R braid b (d ⊗ c)
$==
braid d ((a ⊗ b) ⊗ c)
∘ (d ⊗R braid c (a ⊗ b)
∘ (d ⊗R twist a c b
∘ (d ⊗R (a ⊗R braid b c)
∘ (twist a d (b ⊗ c) ∘ a ⊗R twist b d c))))
:> (a ⊗ (b ⊗ (d ⊗ c)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid d ((a ⊗ b) ⊗ c)
∘ (twist (a ⊗ b) d c
∘ (braid (d ⊗ c) (a ⊗ b)
∘ (twist a (d ⊗ c) b ∘ a ⊗R braid b (d ⊗ c))))
$==
braid d ((a ⊗ b) ⊗ c)
∘ (d ⊗R braid c (a ⊗ b)
∘ (d ⊗R twist a c b
∘ (d ⊗R (a ⊗R braid b c)
∘ (twist a d (b ⊗ c) ∘ a ⊗R twist b d c))))
:> (a ⊗ (b ⊗ (d ⊗ c)) $-> ((a ⊗ b) ⊗ c) ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
twist (a ⊗ b) d c
∘ (braid (d ⊗ c) (a ⊗ b)
∘ (twist a (d ⊗ c) b ∘ a ⊗R braid b (d ⊗ c)))
$==
d ⊗R braid c (a ⊗ b)
∘ (d ⊗R twist a c b
∘ (d ⊗R (a ⊗R braid b c)
∘ (twist a d (b ⊗ c) ∘ a ⊗R twist b d c)))
:> (a ⊗ (b ⊗ (d ⊗ c)) $-> d ⊗ ((a ⊗ b) ⊗ c))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid (d ⊗ c) (a ⊗ b)
∘ (twist a (d ⊗ c) b ∘ a ⊗R braid b (d ⊗ c))
$==
twist d (a ⊗ b) c
∘ (d ⊗R braid c (a ⊗ b)
∘ (d ⊗R twist a c b
∘ (d ⊗R (a ⊗R braid b c)
∘ (twist a d (b ⊗ c) ∘ a ⊗R twist b d c))))
:> (a ⊗ (b ⊗ (d ⊗ c)) $-> (a ⊗ b) ⊗ (d ⊗ c))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid (d ⊗ c) (a ⊗ b)
∘ (twist a (d ⊗ c) b ∘ a ⊗R braid b (d ⊗ c))
$==
twist d (a ⊗ b) c
∘ d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
∘ twist a d (b ⊗ c)
∘ a ⊗R twist b d c
:> (a ⊗ (b ⊗ (d ⊗ c)) $-> (a ⊗ b) ⊗ (d ⊗ c))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid (d ⊗ c) (a ⊗ b)
∘ twist a (d ⊗ c) b
∘ a ⊗R braid b (d ⊗ c)
$==
twist d (a ⊗ b) c
∘ d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
∘ twist a d (b ⊗ c)
∘ a ⊗R twist b d c
:> (a ⊗ (b ⊗ (d ⊗ c)) $-> (a ⊗ b) ⊗ (d ⊗ c))
(** Now we move terms around in order to get a homotopy in [a ⊗ (b ⊗ (d ⊗ c)) $-> d ⊗ (c ⊗ (a ⊗ b))]. *)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid (d ⊗ c) (a ⊗ b)
∘ twist a (d ⊗ c) b
∘ a ⊗R braid b (d ⊗ c)
∘ a ⊗R twist d b c
$==
twist d (a ⊗ b) c
∘ d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
∘ twist a d (b ⊗ c)
:> (a ⊗ (d ⊗ (b ⊗ c)) $-> (a ⊗ b) ⊗ (d ⊗ c))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid (d ⊗ c) (a ⊗ b)
∘ twist a (d ⊗ c) b
∘ a ⊗R braid b (d ⊗ c)
∘ a ⊗R twist d b c
∘ twist d a (b ⊗ c)
$==
twist d (a ⊗ b) c
∘ d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
:> (d ⊗ (a ⊗ (b ⊗ c)) $-> (a ⊗ b) ⊗ (d ⊗ c))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid (d ⊗ c) (a ⊗ b)
∘ twist a (d ⊗ c) b
∘ a ⊗R braid b (d ⊗ c)
∘ a ⊗R twist d b c
∘ twist d a (b ⊗ c)
$==
twist d (a ⊗ b) c
∘ (d ⊗R braid c (a ⊗ b)
∘ (d ⊗R twist a c b ∘ d ⊗R (a ⊗R braid b c)))
:> (d ⊗ (a ⊗ (b ⊗ c)) $-> (a ⊗ b) ⊗ (d ⊗ c))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
braid (d ⊗ c) (a ⊗ b)
∘ (twist a (d ⊗ c) b
∘ (a ⊗R braid b (d ⊗ c)
∘ (a ⊗R twist d b c ∘ twist d a (b ⊗ c))))
$==
twist d (a ⊗ b) c
∘ (d ⊗R braid c (a ⊗ b)
∘ (d ⊗R twist a c b ∘ d ⊗R (a ⊗R braid b c)))
:> (d ⊗ (a ⊗ (b ⊗ c)) $-> (a ⊗ b) ⊗ (d ⊗ c))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
twist (a ⊗ b) d c
∘ (braid (d ⊗ c) (a ⊗ b)
∘ (twist a (d ⊗ c) b
∘ (a ⊗R braid b (d ⊗ c)
∘ (a ⊗R twist d b c ∘ twist d a (b ⊗ c)))))
$==
d ⊗R braid c (a ⊗ b)
∘ (d ⊗R twist a c b ∘ d ⊗R (a ⊗R braid b c))
:> (d ⊗ (a ⊗ (b ⊗ c)) $-> d ⊗ ((a ⊗ b) ⊗ c))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
twist (a ⊗ b) d c
∘ (braid (d ⊗ c) (a ⊗ b)
∘ (twist a (d ⊗ c) b
∘ (a ⊗R braid b (d ⊗ c)
∘ (a ⊗R twist d b c ∘ twist d a (b ⊗ c)))))
$==
d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
:> (d ⊗ (a ⊗ (b ⊗ c)) $-> d ⊗ ((a ⊗ b) ⊗ c))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
twist (a ⊗ b) d c
∘ braid (d ⊗ c) (a ⊗ b)
∘ twist a (d ⊗ c) b
∘ a ⊗R braid b (d ⊗ c)
∘ a ⊗R twist d b c
∘ twist d a (b ⊗ c)
$==
d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
:> (d ⊗ (a ⊗ (b ⊗ c)) $-> d ⊗ ((a ⊗ b) ⊗ c))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
twist (a ⊗ b) d c
∘ braid (d ⊗ c) (a ⊗ b)
∘ twist a (d ⊗ c) b
∘ a ⊗R braid b (d ⊗ c)
∘ a ⊗R twist d b c
$==
d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
∘ twist a d (b ⊗ c)
:> (a ⊗ (d ⊗ (b ⊗ c)) $-> d ⊗ ((a ⊗ b) ⊗ c))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
twist (a ⊗ b) d c
∘ braid (d ⊗ c) (a ⊗ b)
∘ twist a (d ⊗ c) b
∘ a ⊗R braid b (d ⊗ c)
$==
d ⊗R braid c (a ⊗ b)
∘ d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
∘ twist a d (b ⊗ c)
∘ a ⊗R twist b d c
:> (a ⊗ (b ⊗ (d ⊗ c)) $-> d ⊗ ((a ⊗ b) ⊗ c))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
twist (a ⊗ b) d c
∘ braid (d ⊗ c) (a ⊗ b)
∘ twist a (d ⊗ c) b
∘ a ⊗R braid b (d ⊗ c)
$==
d ⊗R braid c (a ⊗ b)
∘ (d ⊗R twist a c b
∘ (d ⊗R (a ⊗R braid b c)
∘ (twist a d (b ⊗ c) ∘ a ⊗R twist b d c)))
:> (a ⊗ (b ⊗ (d ⊗ c)) $-> d ⊗ ((a ⊗ b) ⊗ c))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
twist (a ⊗ b) d c
∘ (braid (d ⊗ c) (a ⊗ b)
∘ (twist a (d ⊗ c) b ∘ a ⊗R braid b (d ⊗ c)))
$==
d ⊗R braid c (a ⊗ b)
∘ (d ⊗R twist a c b
∘ (d ⊗R (a ⊗R braid b c)
∘ (twist a d (b ⊗ c) ∘ a ⊗R twist b d c)))
:> (a ⊗ (b ⊗ (d ⊗ c)) $-> d ⊗ ((a ⊗ b) ⊗ c))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
d ⊗R braid (a ⊗ b) c
∘ (twist (a ⊗ b) d c
∘ (braid (d ⊗ c) (a ⊗ b)
∘ (twist a (d ⊗ c) b ∘ a ⊗R braid b (d ⊗ c))))
$==
d ⊗R twist a c b
∘ (d ⊗R (a ⊗R braid b c)
∘ (twist a d (b ⊗ c) ∘ a ⊗R twist b d c))
:> (a ⊗ (b ⊗ (d ⊗ c)) $-> d ⊗ (c ⊗ (a ⊗ b)))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
d ⊗R braid (a ⊗ b) c
∘ (twist (a ⊗ b) d c
∘ (braid (d ⊗ c) (a ⊗ b)
∘ (twist a (d ⊗ c) b ∘ a ⊗R braid b (d ⊗ c))))
$==
d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
∘ twist a d (b ⊗ c)
∘ a ⊗R twist b d c
:> (a ⊗ (b ⊗ (d ⊗ c)) $-> d ⊗ (c ⊗ (a ⊗ b)))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c
∘ twist b a c
$==
Id (b ⊗ (a ⊗ c))
:> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h)
$==
fmap11 cat_tensor g
(fmap11 cat_tensor f h)
∘ twist a b c
:> (a ⊗ (b ⊗ c) $-> b' ⊗ (a' ⊗ c')) twist_hexagon: forallabc : A,
c ⊗R braid b a
∘ twist b c a
∘ b ⊗R braid a c
$==
twist a c b
∘ a ⊗R braid b c
∘ twist b a c
:> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b)) twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d
∘ twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d)
$==
c ⊗R twist a d b
∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d
:> (a ⊗ (b ⊗ (c ⊗ d)) $->
c ⊗ (d ⊗ (a ⊗ b))) a, b, c, d: A
d ⊗R braid (a ⊗ b) c
∘ twist (a ⊗ b) d c
∘ braid (d ⊗ c) (a ⊗ b)
∘ twist a (d ⊗ c) b
∘ a ⊗R braid b (d ⊗ c)
$==
d ⊗R twist a c b
∘ d ⊗R (a ⊗R braid b c)
∘ twist a d (b ⊗ c)
∘ a ⊗R twist b d c
:> (a ⊗ (b ⊗ (d ⊗ c)) $-> d ⊗ (c ⊗ (a ⊗ b)))
(** And finally, this is the 9-gon we asked for. *)apply twist_9_gon.Defined.LocalClose Scope long_path_scope.(** *** Hexagon *)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d
HexagonIdentity cat_tensor
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d
HexagonIdentity cat_tensor
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c: A
braid b a ⊗L c ∘ associator_twist' b a c
∘ b ⊗R braid c a $== associator_twist' a b c
∘ braid (b ⊗ c) a ∘ associator_twist' b c a
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c: A
associator_twist' b a c $== ?Goal
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c: A
braid b a ⊗L c ∘ ?Goal ∘
b ⊗R braid c a $== ?Goal4 ∘
braid (b ⊗ c) a ∘ ?Goal2
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c: A
associator_twist' b c a $== ?Goal2
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c: A
associator_twist' a b c $== ?Goal4
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c: A
braid b a ⊗L c
∘ (braid c (b ⊗ a) ∘ (twist b c a ∘ b ⊗R braid a c))
∘ b ⊗R braid c a $== braid c (a ⊗ b)
∘ (twist a c b ∘ a ⊗R braid b c) ∘ braid (b ⊗ c) a
∘ (braid a (b ⊗ c) ∘ (twist b a c ∘ b ⊗R braid c a))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c: A
braid b a ⊗L c ∘ braid c (b ⊗ a) ∘ twist b c a
∘ b ⊗R braid a c ∘ b ⊗R braid c a $== braid c (a ⊗ b)
∘ (twist a c b ∘ a ⊗R braid b c) ∘ braid (b ⊗ c) a
∘ (braid a (b ⊗ c) ∘ (twist b a c ∘ b ⊗R braid c a))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c: A
b ⊗R braid a c ∘ b ⊗R braid c a $== ?Goal
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c: A
braid b a ⊗L c ∘ braid c (b ⊗ a) ∘
twist b c a ∘ ?Goal $==
braid c (a ⊗ b) ∘ (twist a c b ∘ a ⊗R braid b c)
∘ braid (b ⊗ c) a
∘ (braid a (b ⊗ c) ∘ (twist b a c ∘ b ⊗R braid c a))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c: A
b ⊗R braid a c ∘ b ⊗R braid c a $== ?Goal
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c: A
braid a c ∘ braid c a $== Id (c ⊗ a)
apply braid_braid.
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c: A
braid b a ⊗L c ∘ braid c (b ⊗ a) ∘ twist b c a
∘ Id (b ⊗ (c ⊗ a)) $== braid c (a ⊗ b)
∘ (twist a c b ∘ a ⊗R braid b c) ∘ braid (b ⊗ c) a
∘ (braid a (b ⊗ c) ∘ (twist b a c ∘ b ⊗R braid c a))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c: A
braid b a ⊗L c ∘ braid c (b ⊗ a) ∘ twist b c a $==
braid c (a ⊗ b) ∘ (twist a c b ∘ a ⊗R braid b c)
∘ braid (b ⊗ c) a
∘ (braid a (b ⊗ c) ∘ (twist b a c ∘ b ⊗R braid c a))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c: A
braid b a ⊗L c ∘ braid c (b ⊗ a) ∘ twist b c a $==
braid c (a ⊗ b) ∘ (twist a c b ∘ a ⊗R braid b c)
∘ braid (b ⊗ c) a ∘ braid a (b ⊗ c)
∘ (twist b a c ∘ b ⊗R braid c a)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c: A
braid b a ⊗L c ∘ braid c (b ⊗ a) ∘ twist b c a $==
braid c (a ⊗ b) ∘ (twist a c b ∘ a ⊗R braid b c)
∘ (braid (b ⊗ c) a ∘ braid a (b ⊗ c))
∘ (twist b a c ∘ b ⊗R braid c a)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c: A
braid b a ⊗L c ∘ braid c (b ⊗ a) ∘ twist b c a $==
braid c (a ⊗ b) ∘ (twist a c b ∘ a ⊗R braid b c)
∘ (twist b a c ∘ b ⊗R braid c a)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c: A
braid (b ⊗ c) a ∘ braid a (b ⊗ c) $-> Id (a ⊗ (b ⊗ c))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c: A
braid b a ⊗L c ∘ braid c (b ⊗ a) ∘ twist b c a $==
braid c (a ⊗ b) ∘ (twist a c b ∘ a ⊗R braid b c)
∘ (twist b a c ∘ b ⊗R braid c a)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c: A
braid c (a ⊗ b) ∘ c ⊗R braid b a ∘ twist b c a $==
braid c (a ⊗ b) ∘ (twist a c b ∘ a ⊗R braid b c)
∘ (twist b a c ∘ b ⊗R braid c a)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c: A
c ⊗R braid b a ∘ twist b c a $== twist a c b
∘ a ⊗R braid b c ∘ (twist b a c ∘ b ⊗R braid c a)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c: A
c ⊗R braid b a ∘ twist b c a $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c ∘ b ⊗R braid c a
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c: A
c ⊗R braid b a ∘ twist b c a ∘ b ⊗R braid a c $==
twist a c b ∘ a ⊗R braid b c ∘ twist b a c
apply twist_hexagon.Defined.(** *** Conclusion *)(** In conclusion, we have proven the following: *)(** There is a monoidal structure on [A]. *)Local Instanceismonoidal_twist
: IsMonoidal A cat_tensor cat_tensor_unit
:= {}.(** There is a symmetric monoidal category on [A]. *)Local Instanceissymmetricmonoidal_twist
: IsSymmetricMonoidal A cat_tensor cat_tensor_unit
:= {}.(** TODO: WIP *)(** Here is a hexagon involving only twist *)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A
c ⊗R twist a b d ∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d $== twist b c (a ⊗ d)
∘ b ⊗R twist a c d ∘ twist a b (c ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A
c ⊗R twist a b d ∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d $== twist b c (a ⊗ d)
∘ b ⊗R twist a c d ∘ twist a b (c ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A p: d ⊗R braid a c ∘ twist a d c ∘
a ⊗R braid c d $== twist c d a
∘ (c ⊗R braid a d ∘ twist a c d)
c ⊗R twist a b d ∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d $== twist b c (a ⊗ d)
∘ b ⊗R twist a c d ∘ twist a b (c ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A p: twist d c a
∘ (d ⊗R braid a c ∘ twist a d c ∘ a ⊗R braid c d) $==
c ⊗R braid a d ∘ twist a c d
c ⊗R twist a b d ∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d $== twist b c (a ⊗ d)
∘ b ⊗R twist a c d ∘ twist a b (c ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A p: c ⊗R braid d a
∘ (twist d c a
∘ (d ⊗R braid a c ∘
twist a d c ∘ a ⊗R braid c d)) $==
twist a c d
c ⊗R twist a b d ∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d $== twist b c (a ⊗ d)
∘ b ⊗R twist a c d ∘ twist a b (c ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A p: b
⊗R (c ⊗R braid d a
∘ (twist d c a
∘ (d ⊗R braid a c ∘
twist a d c ∘
a ⊗R braid c d))) $==
b ⊗R twist a c d
c ⊗R twist a b d ∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d $== twist b c (a ⊗ d)
∘ b ⊗R twist a c d ∘ twist a b (c ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A
c ⊗R twist a b d ∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d $== twist b c (a ⊗ d)
∘ b
⊗R (c ⊗R braid d a
∘ (twist d c a
∘ (d ⊗R braid a c ∘ twist a d c
∘ a ⊗R braid c d))) ∘ twist a b (c ⊗ d)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A
c ⊗R twist a b d ∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d ∘ twist b a (c ⊗ d) $==
twist b c (a ⊗ d)
∘ b
⊗R (c ⊗R braid d a
∘ (twist d c a
∘ (d ⊗R braid a c ∘ twist a d c
∘ a ⊗R braid c d)))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A
twist c b (a ⊗ d)
∘ (c ⊗R twist a b d ∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d ∘ twist b a (c ⊗ d)) $==
b
⊗R (c ⊗R braid d a
∘ (twist d c a
∘ (d ⊗R braid a c ∘ twist a d c
∘ a ⊗R braid c d)))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A
twist c b (a ⊗ d)
∘ (c ⊗R twist a b d ∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d ∘ twist b a (c ⊗ d)) $==
b ⊗R (c ⊗R braid d a)
∘ b
⊗R (twist d c a
∘ (d ⊗R braid a c ∘ twist a d c
∘ a ⊗R braid c d))
(** TODO simplify *)
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A
c ⊗R twist a b d ∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d ∘ twist b a (c ⊗ d) $==
twist b c (a ⊗ d)
∘ (b ⊗R (c ⊗R braid d a)
∘ b
⊗R (twist d c a
∘ (d ⊗R braid a c ∘ twist a d c
∘ a ⊗R braid c d)))
A: Type IsGraph0: IsGraph A Is2Graph0: Is2Graph A Is01Cat0: Is01Cat A H: Is1Cat A H0: HasEquivs A cat_tensor: A -> A -> A cat_tensor_unit: A Is0Bifunctor0: Is0Bifunctor cat_tensor Is1Bifunctor0: Is1Bifunctor cat_tensor braid: SymmetricBraiding cat_tensor twist: forallabc : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c) twist_twist: forallabc : A,
twist a b c ∘ twist b a c $==
Id (b ⊗ (a ⊗ c)) twist_nat: forall (aa'bb'cc' : A)
(f : a $-> a') (g : b $-> b')
(h : c $-> c'),
twist a' b' c'
∘ fmap11 cat_tensor f
(fmap11 cat_tensor g h) $==
fmap11 cat_tensor g
(fmap11 cat_tensor f h) ∘
twist a b c right_unitor: RightUnitor cat_tensor cat_tensor_unit twist_unitor: forallab : A,
a ⊗R right_unitor b $==
braid b a ∘ b ⊗R right_unitor a
∘ twist a b cat_tensor_unit twist_hexagon: forallabc : A,
c ⊗R braid b a ∘ twist b c a
∘ b ⊗R braid a c $== twist a c b
∘ a ⊗R braid b c ∘ twist b a c twist_9_gon: forallabcd : A,
c ⊗R braid (a ⊗ b) d ∘
twist (a ⊗ b) c d
∘ braid (c ⊗ d) (a ⊗ b)
∘ twist a (c ⊗ d) b
∘ a ⊗R braid b (c ⊗ d) $==
c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d)
∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d a, b, c, d: A
c ⊗R twist a b d ∘ twist a c (b ⊗ d)
∘ a ⊗R twist b c d ∘ twist b a (c ⊗ d) $==
twist b c (a ⊗ d) ∘ b ⊗R (c ⊗R braid d a)
∘ b
⊗R (twist d c a
∘ (d ⊗R braid a c ∘ twist a d c
∘ a ⊗R braid c d))