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. *) Class Associator {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); }. Coercion associator : Associator >-> Funclass. Arguments associator {A _ _ _ _ _ F _ _ _} a b c. (** *** Unitors *) Class LeftUnitor {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. Coercion left_unitor : LeftUnitor >-> NatEquiv. Arguments left_unitor {A _ _ _ _ _ F _ _ unit _}. Class RightUnitor {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. Coercion right_unitor : RightUnitor >-> NatEquiv. Arguments right_unitor {A _ _ _ _ _ F _ _ unit _}. (** *** Triangle and Pentagon identities *) Class TriangleIdentity {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). Coercion triangle_identity : TriangleIdentity >-> Funclass. Arguments triangle_identity {A _ _ _ _ _} F {_ _ _} unit {_}. Class PentagonIdentity {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). Coercion pentagon_identity : PentagonIdentity >-> Funclass. Arguments pentagon_identity {A _ _ _ _ _} F {_ _ _}. (** *** Braiding *) Class Braiding {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); }. Coercion braid : Braiding >-> Funclass. Arguments braid {A _ _ _ _ F _ _ _} a b. Class SymmetricBraiding {A : Type} `{Is1Cat A} (F : A -> A -> A) `{!Is0Bifunctor F, !Is1Bifunctor F} := { braiding_symmetricbraiding :: Braiding F; braid_braid : forall a b, 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. *) Coercion braiding_symmetricbraiding : SymmetricBraiding >-> Braiding. Arguments braid_braid {A _ _ _ _ F _ _ _} a b. (** *** Hexagon identity *) Class HexagonIdentity {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. Coercion hexagon_identity : HexagonIdentity >-> Funclass. Arguments hexagon_identity {A _ _ _ _ _} F {_ _}. (** ** Monoidal Categories *) (** A monoidal 1-category is a 1-category with equivalences together with the following: *) Class IsMonoidal (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: *) Class IsSymmetricMonoidal (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] *) Section Associator. 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: forall a b c : A, F a (F b c) $<~> F (F a b) c
nat: Is1Natural (fun pat : A * A * A => let x := pat in let fst := fst x in let c := snd x in let fst0 := fst in let a := Overture.fst fst0 in let b := snd fst0 in F a (F b c)) (fun pat : A * A * A => let x := pat in let fst := fst x in let c := snd x in let fst0 := fst in let a := Overture.fst fst0 in let b := snd fst0 in F (F a b) c) (fun pat : A * A * A => let x := pat in let fst := fst x in let c := snd x in let fst0 := fst in let a := Overture.fst fst0 in let b := 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
exact (nat (x, y, z) (x', y', z') (f, g, h)). Defined.
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)
exact (fmap12 _ _ (fmap11_id _ _ _) $@ fmap10_is_fmap11 _ _ _).
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
exact (fmap21 _ (fmap10_is_fmap11 _ _ _) _ $@ fmap10_is_fmap11 _ _ _). Defined.
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)
exact (fmap12 _ _ (fmap10_is_fmap11 _ _ _) $@ fmap01_is_fmap11 _ _ _).
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
exact (fmap21 _ (fmap01_is_fmap11 _ _ _) _ $@ fmap10_is_fmap11 _ _ _). Defined.
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)
exact (fmap12 _ _ (fmap01_is_fmap11 _ _ _) $@ fmap01_is_fmap11 _ _ _).
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. End Associator. (** ** Theory about [SymmetricBraid] *) Section SymmetricBraid. Context {A : Type} {F : A -> A -> A} `{SymmetricBraiding A F, !HasEquivs A}. (** [braid] is its own inverse and therefore an equivalence. *) Local Instance catie_braid a b : 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 Definition braide a b : 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

f $== H0 b a $o g -> H0 a b $o f $== g
intros p; symmetry; apply moveL_braidL; symmetry; 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: 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

f $== g $o H0 b a -> f $o H0 a b $== g
intros p; symmetry; apply moveL_braidR; symmetry; 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, 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

emap01 F a (braide b c) $== fmap01 F a (H0 b c)
refine (_ $@ fmap2 _ _); 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: 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

emap01 F a (braide b c) $== fmap01 F a (H0 b c)
refine (_ $@ fmap2 _ _); 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: 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
intros p; symmetry; apply moveL_fmap01_braidL; symmetry; 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, 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
intros p; symmetry; apply moveL_fmap01_braidR; symmetry; 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, 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
intros p; symmetry; apply moveL_fmap01_fmap01_braidL; symmetry; 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, 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
intros p; symmetry; apply moveL_fmap01_fmap01_braidR; symmetry; 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, 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. End SymmetricBraid. (** ** 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. *) Section TwistConstruction. (** 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 : forall a b c, cat_tensor a (cat_tensor b c) $-> cat_tensor b (cat_tensor a c)) (twist_twist : forall a b c, twist a b c $o twist b a c $== Id _) (twist_nat : forall a a' b b' c c' (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 : forall a b, 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 : forall a b c, 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 : forall a b c d, 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. Local Infix "⊗" := cat_tensor (at level 40) : monoidal_scope. Local Infix "⊗R" := (fmap01 cat_tensor) (at level 40) : monoidal_scope. Local Infix "⊗L" := (fmap10 cat_tensor) (at level 40) : monoidal_scope. Local Notation "f ∘ g" := (f $o g) (at level 61, left associativity, format "f '/' '∘' g") : monoidal_scope. Local Notation "f $== g :> A" := (GpdHom (A := A) f g) (at level 80, format "'[v' '[v' f ']' '/' $== '/' '[v' g ']' '/' :> '[' A ']' ']'") : long_path_scope. Local Open Scope monoidal_scope. (** [twist] is an equivalence which we will call [twiste]. *) Local Definition twiste a b c : 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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
intros p; symmetry; apply moveL_twistL; symmetry; 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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
intros p; symmetry; apply moveL_twistR; symmetry; 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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
intros p; symmetry; apply moveL_fmap01_twistL; symmetry; 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d) ∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d

forall 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== 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 (fun pat : A * A * A => let x := pat in let fst := fst x in let c := snd x in let fst0 := fst in let a := Overture.fst fst0 in let b := snd fst0 in a ⊗ (b ⊗ c)) (fun pat : A * A * A => let x := pat in let fst := fst x in let c := snd x in let fst0 := fst in let a := Overture.fst fst0 in let b := snd fst0 in (a ⊗ b) ⊗ c) (fun pat : A * A * A => let x := pat in let fst := fst x in let c := snd x in let fst0 := fst in let a := Overture.fst fst0 in let b := 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d) ∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d

forall a b c : 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== 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 (fun pat : A * A * A => let x := pat in let fst := fst x in let c := snd x in let fst0 := fst in let a := Overture.fst fst0 in let b := snd fst0 in a ⊗ (b ⊗ c)) (fun pat : A * A * A => let x := pat in let fst := fst x in let c := snd x in let fst0 := fst in let a := Overture.fst fst0 in let b := snd fst0 in (a ⊗ b) ⊗ c) (fun pat : A * A * A => let x := pat in let fst := fst x in let c := snd x in let fst0 := fst in let a := Overture.fst fst0 in let b := 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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 (fun x y z : A => x ⊗ (y ⊗ z)))) (f, g, h) $== fmap (uncurry (uncurry (fun x y z : 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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 (fun x y z : A => x ⊗ (y ⊗ z)))) (f, g, h)) (fmap (uncurry (uncurry (fun x y z : 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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 (fun x y z : A => x ⊗ (y ⊗ z)))) (f, g, h)) (fmap (uncurry (uncurry (fun x y z : 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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 (fun x y z : A => x ⊗ (y ⊗ z)))) (f, g, h)) (fmap (uncurry (uncurry (fun x y z : 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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 (fun x y z : A => x ⊗ (y ⊗ z)))) (f, g, h)) (fmap (uncurry (uncurry (fun x y z : 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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 (fun x y z : A => x ⊗ (y ⊗ z)))) (f, g, h)) (fmap (uncurry (uncurry (fun x y z : 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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 (fun x y z : 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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 (fun x y z : 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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 (fun x y z : 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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 (fun x y z : 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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 (fun x y z : 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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 (fun x y z : 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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 (fun x y z : 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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 (fun x y z : 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d) ∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d
forall a : 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== 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 ?alpha
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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== 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 (fun a => 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== 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 (fun a : 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R twist a d b ∘ c ⊗R (a ⊗R braid b d) ∘ twist a c (b ⊗ d) ∘ a ⊗R twist b c d

forall a : A, CatIsEquiv ({| trans_nattrans := fun a0 : A => right_unitor a0 ∘ braid cat_tensor_unit a0; is1natural_nattrans := (fun (a0 b : A) (f : a0 $-> b) => braid_nat_r f $@v isnat right_unitor f) : Is1Natural (cat_tensor cat_tensor_unit) idmap (fun a0 : 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗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 := fun a : A => right_unitor a ∘ braid cat_tensor_unit a; is1natural_nattrans := (fun (a b : A) (f : a $-> b) => braid_nat_r f $@v isnat right_unitor f) : Is1Natural (cat_tensor cat_tensor_unit) idmap (fun a : 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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)
apply braid_nat_r. Defined. (** *** Pentagon *) Local Open Scope long_path_scope.
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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c)) :> (b ⊗ (a ⊗ c) $-> b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall 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 :> (b ⊗ (a ⊗ c) $-> c ⊗ (a ⊗ b))
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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. Local Close 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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 Instance ismonoidal_twist : IsMonoidal A cat_tensor cat_tensor_unit := {}. (** There is a symmetric monoidal category on [A]. *) Local Instance issymmetricmonoidal_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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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: forall a b c : A, a ⊗ (b ⊗ c) $-> b ⊗ (a ⊗ c)
twist_twist: forall a b c : A, twist a b c ∘ twist b a c $== Id (b ⊗ (a ⊗ c))
twist_nat: forall (a a' b b' c c' : A) (f : a $-> a') (g : b $-> b') (h : c $-> c'), twist a' 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: forall a b : A, a ⊗R right_unitor b $== braid b a ∘ b ⊗R right_unitor a ∘ twist a b cat_tensor_unit
twist_hexagon: forall 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
twist_9_gon: forall a b c d : A, c ⊗R braid (a ⊗ b) d ∘ twist (a ⊗ b) c d ∘ braid (c ⊗ d) (a ⊗ b) ∘ twist a (c ⊗ d) b ∘ a ⊗R braid b (c ⊗ d) $== c ⊗R 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))
Abort. End TwistConstruction.