Free bicategories #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
We define the free bicategory over a quiver. In this bicategory, the 1-morphisms are freely generated by the arrows in the quiver, and the 2-morphisms are freely generated by the formal identities, the formal unitors, and the formal associators modulo the relation derived from the axioms of a bicategory.
Main definitions #
free_bicategory B
: the free bicategory over a quiverB
.free_bicategory.lift F
: the pseudofunctor fromfree_bicategory B
toC
associated with a prefunctorF
fromB
toC
.
Free bicategory over a quiver. Its objects are the same as those in the underlying quiver.
Equations
Instances for category_theory.free_bicategory
Equations
- of : Π {B : Type u} [_inst_1 : quiver B] {a b : B}, (a ⟶ b) → category_theory.free_bicategory.hom a b
- id : Π {B : Type u} [_inst_1 : quiver B] (a : B), category_theory.free_bicategory.hom a a
- comp : Π {B : Type u} [_inst_1 : quiver B] {a b c : B}, category_theory.free_bicategory.hom a b → category_theory.free_bicategory.hom b c → category_theory.free_bicategory.hom a c
1-morphisms in the free bicategory.
Instances for category_theory.free_bicategory.hom
- category_theory.free_bicategory.hom.has_sizeof_inst
- category_theory.free_bicategory.hom.inhabited
- category_theory.free_bicategory.hom_category
- id : Π {B : Type u} [_inst_1 : quiver B] {a b : B} (f : category_theory.free_bicategory.hom a b), category_theory.free_bicategory.hom₂ f f
- vcomp : Π {B : Type u} [_inst_1 : quiver B] {a b : B} {f g h : category_theory.free_bicategory.hom a b}, category_theory.free_bicategory.hom₂ f g → category_theory.free_bicategory.hom₂ g h → category_theory.free_bicategory.hom₂ f h
- whisker_left : Π {B : Type u} [_inst_1 : quiver B] {a b c : B} (f : category_theory.free_bicategory.hom a b) {g h : category_theory.free_bicategory.hom b c}, category_theory.free_bicategory.hom₂ g h → category_theory.free_bicategory.hom₂ (f.comp g) (f.comp h)
- whisker_right : Π {B : Type u} [_inst_1 : quiver B] {a b c : B} {f g : category_theory.free_bicategory.hom a b} (h : category_theory.free_bicategory.hom b c), category_theory.free_bicategory.hom₂ f g → category_theory.free_bicategory.hom₂ (f.comp h) (g.comp h)
- associator : Π {B : Type u} [_inst_1 : quiver B] {a b c d : B} (f : category_theory.free_bicategory.hom a b) (g : category_theory.free_bicategory.hom b c) (h : category_theory.free_bicategory.hom c d), category_theory.free_bicategory.hom₂ ((f.comp g).comp h) (f.comp (g.comp h))
- associator_inv : Π {B : Type u} [_inst_1 : quiver B] {a b c d : B} (f : category_theory.free_bicategory.hom a b) (g : category_theory.free_bicategory.hom b c) (h : category_theory.free_bicategory.hom c d), category_theory.free_bicategory.hom₂ (f.comp (g.comp h)) ((f.comp g).comp h)
- right_unitor : Π {B : Type u} [_inst_1 : quiver B] {a b : B} (f : category_theory.free_bicategory.hom a b), category_theory.free_bicategory.hom₂ (f.comp (category_theory.free_bicategory.hom.id b)) f
- right_unitor_inv : Π {B : Type u} [_inst_1 : quiver B] {a b : B} (f : category_theory.free_bicategory.hom a b), category_theory.free_bicategory.hom₂ f (f.comp (category_theory.free_bicategory.hom.id b))
- left_unitor : Π {B : Type u} [_inst_1 : quiver B] {a b : B} (f : category_theory.free_bicategory.hom a b), category_theory.free_bicategory.hom₂ ((category_theory.free_bicategory.hom.id a).comp f) f
- left_unitor_inv : Π {B : Type u} [_inst_1 : quiver B] {a b : B} (f : category_theory.free_bicategory.hom a b), category_theory.free_bicategory.hom₂ f ((category_theory.free_bicategory.hom.id a).comp f)
Representatives of 2-morphisms in the free bicategory.
Instances for category_theory.free_bicategory.hom₂
- category_theory.free_bicategory.hom₂.has_sizeof_inst
- vcomp_right : ∀ {B : Type u} [_inst_1 : quiver B] {a b : B} {f g h : category_theory.free_bicategory.hom a b} (η : category_theory.free_bicategory.hom₂ f g) (θ₁ θ₂ : category_theory.free_bicategory.hom₂ g h), category_theory.free_bicategory.rel θ₁ θ₂ → category_theory.free_bicategory.rel (η.vcomp θ₁) (η.vcomp θ₂)
- vcomp_left : ∀ {B : Type u} [_inst_1 : quiver B] {a b : B} {f g h : category_theory.free_bicategory.hom a b} (η₁ η₂ : category_theory.free_bicategory.hom₂ f g) (θ : category_theory.free_bicategory.hom₂ g h), category_theory.free_bicategory.rel η₁ η₂ → category_theory.free_bicategory.rel (η₁.vcomp θ) (η₂.vcomp θ)
- id_comp : ∀ {B : Type u} [_inst_1 : quiver B] {a b : B} {f g : category_theory.free_bicategory.hom a b} (η : category_theory.free_bicategory.hom₂ f g), category_theory.free_bicategory.rel ((category_theory.free_bicategory.hom₂.id f).vcomp η) η
- comp_id : ∀ {B : Type u} [_inst_1 : quiver B] {a b : B} {f g : category_theory.free_bicategory.hom a b} (η : category_theory.free_bicategory.hom₂ f g), category_theory.free_bicategory.rel (η.vcomp (category_theory.free_bicategory.hom₂.id g)) η
- assoc : ∀ {B : Type u} [_inst_1 : quiver B] {a b : B} {f g h i : category_theory.free_bicategory.hom a b} (η : category_theory.free_bicategory.hom₂ f g) (θ : category_theory.free_bicategory.hom₂ g h) (ι : category_theory.free_bicategory.hom₂ h i), category_theory.free_bicategory.rel ((η.vcomp θ).vcomp ι) (η.vcomp (θ.vcomp ι))
- whisker_left : ∀ {B : Type u} [_inst_1 : quiver B] {a b c : B} (f : category_theory.free_bicategory.hom a b) (g h : category_theory.free_bicategory.hom b c) (η η' : category_theory.free_bicategory.hom₂ g h), category_theory.free_bicategory.rel η η' → category_theory.free_bicategory.rel (category_theory.free_bicategory.hom₂.whisker_left f η) (category_theory.free_bicategory.hom₂.whisker_left f η')
- whisker_left_id : ∀ {B : Type u} [_inst_1 : quiver B] {a b c : B} (f : category_theory.free_bicategory.hom a b) (g : category_theory.free_bicategory.hom b c), category_theory.free_bicategory.rel (category_theory.free_bicategory.hom₂.whisker_left f (category_theory.free_bicategory.hom₂.id g)) (category_theory.free_bicategory.hom₂.id (f.comp g))
- whisker_left_comp : ∀ {B : Type u} [_inst_1 : quiver B] {a b c : B} (f : category_theory.free_bicategory.hom a b) {g h i : category_theory.free_bicategory.hom b c} (η : category_theory.free_bicategory.hom₂ g h) (θ : category_theory.free_bicategory.hom₂ h i), category_theory.free_bicategory.rel (category_theory.free_bicategory.hom₂.whisker_left f (η.vcomp θ)) ((category_theory.free_bicategory.hom₂.whisker_left f η).vcomp (category_theory.free_bicategory.hom₂.whisker_left f θ))
- id_whisker_left : ∀ {B : Type u} [_inst_1 : quiver B] {a b : B} {f g : category_theory.free_bicategory.hom a b} (η : category_theory.free_bicategory.hom₂ f g), category_theory.free_bicategory.rel (category_theory.free_bicategory.hom₂.whisker_left (category_theory.free_bicategory.hom.id a) η) ((category_theory.free_bicategory.hom₂.left_unitor f).vcomp (η.vcomp (category_theory.free_bicategory.hom₂.left_unitor_inv g)))
- comp_whisker_left : ∀ {B : Type u} [_inst_1 : quiver B] {a b c d : B} (f : category_theory.free_bicategory.hom a b) (g : category_theory.free_bicategory.hom b c) {h h' : category_theory.free_bicategory.hom c d} (η : category_theory.free_bicategory.hom₂ h h'), category_theory.free_bicategory.rel (category_theory.free_bicategory.hom₂.whisker_left (f.comp g) η) ((category_theory.free_bicategory.hom₂.associator f g h).vcomp ((category_theory.free_bicategory.hom₂.whisker_left f (category_theory.free_bicategory.hom₂.whisker_left g η)).vcomp (category_theory.free_bicategory.hom₂.associator_inv f g h')))
- whisker_right : ∀ {B : Type u} [_inst_1 : quiver B] {a b c : B} (f g : category_theory.free_bicategory.hom a b) (h : category_theory.free_bicategory.hom b c) (η η' : category_theory.free_bicategory.hom₂ f g), category_theory.free_bicategory.rel η η' → category_theory.free_bicategory.rel (category_theory.free_bicategory.hom₂.whisker_right h η) (category_theory.free_bicategory.hom₂.whisker_right h η')
- id_whisker_right : ∀ {B : Type u} [_inst_1 : quiver B] {a b c : B} (f : category_theory.free_bicategory.hom a b) (g : category_theory.free_bicategory.hom b c), category_theory.free_bicategory.rel (category_theory.free_bicategory.hom₂.whisker_right g (category_theory.free_bicategory.hom₂.id f)) (category_theory.free_bicategory.hom₂.id (f.comp g))
- comp_whisker_right : ∀ {B : Type u} [_inst_1 : quiver B] {a b c : B} {f g h : category_theory.free_bicategory.hom a b} (i : category_theory.free_bicategory.hom b c) (η : category_theory.free_bicategory.hom₂ f g) (θ : category_theory.free_bicategory.hom₂ g h), category_theory.free_bicategory.rel (category_theory.free_bicategory.hom₂.whisker_right i (η.vcomp θ)) ((category_theory.free_bicategory.hom₂.whisker_right i η).vcomp (category_theory.free_bicategory.hom₂.whisker_right i θ))
- whisker_right_id : ∀ {B : Type u} [_inst_1 : quiver B] {a b : B} {f g : category_theory.free_bicategory.hom a b} (η : category_theory.free_bicategory.hom₂ f g), category_theory.free_bicategory.rel (category_theory.free_bicategory.hom₂.whisker_right (category_theory.free_bicategory.hom.id b) η) ((category_theory.free_bicategory.hom₂.right_unitor f).vcomp (η.vcomp (category_theory.free_bicategory.hom₂.right_unitor_inv g)))
- whisker_right_comp : ∀ {B : Type u} [_inst_1 : quiver B] {a b c d : B} {f f' : category_theory.free_bicategory.hom a b} (g : category_theory.free_bicategory.hom b c) (h : category_theory.free_bicategory.hom c d) (η : category_theory.free_bicategory.hom₂ f f'), category_theory.free_bicategory.rel (category_theory.free_bicategory.hom₂.whisker_right (g.comp h) η) ((category_theory.free_bicategory.hom₂.associator_inv f g h).vcomp ((category_theory.free_bicategory.hom₂.whisker_right h (category_theory.free_bicategory.hom₂.whisker_right g η)).vcomp (category_theory.free_bicategory.hom₂.associator f' g h)))
- whisker_assoc : ∀ {B : Type u} [_inst_1 : quiver B] {a b c d : B} (f : category_theory.free_bicategory.hom a b) {g g' : category_theory.free_bicategory.hom b c} (η : category_theory.free_bicategory.hom₂ g g') (h : category_theory.free_bicategory.hom c d), category_theory.free_bicategory.rel (category_theory.free_bicategory.hom₂.whisker_right h (category_theory.free_bicategory.hom₂.whisker_left f η)) ((category_theory.free_bicategory.hom₂.associator f g h).vcomp ((category_theory.free_bicategory.hom₂.whisker_left f (category_theory.free_bicategory.hom₂.whisker_right h η)).vcomp (category_theory.free_bicategory.hom₂.associator_inv f g' h)))
- whisker_exchange : ∀ {B : Type u} [_inst_1 : quiver B] {a b c : B} {f g : category_theory.free_bicategory.hom a b} {h i : category_theory.free_bicategory.hom b c} (η : category_theory.free_bicategory.hom₂ f g) (θ : category_theory.free_bicategory.hom₂ h i), category_theory.free_bicategory.rel ((category_theory.free_bicategory.hom₂.whisker_left f θ).vcomp (category_theory.free_bicategory.hom₂.whisker_right i η)) ((category_theory.free_bicategory.hom₂.whisker_right h η).vcomp (category_theory.free_bicategory.hom₂.whisker_left g θ))
- associator_hom_inv : ∀ {B : Type u} [_inst_1 : quiver B] {a b c d : B} (f : category_theory.free_bicategory.hom a b) (g : category_theory.free_bicategory.hom b c) (h : category_theory.free_bicategory.hom c d), category_theory.free_bicategory.rel ((category_theory.free_bicategory.hom₂.associator f g h).vcomp (category_theory.free_bicategory.hom₂.associator_inv f g h)) (category_theory.free_bicategory.hom₂.id ((f.comp g).comp h))
- associator_inv_hom : ∀ {B : Type u} [_inst_1 : quiver B] {a b c d : B} (f : category_theory.free_bicategory.hom a b) (g : category_theory.free_bicategory.hom b c) (h : category_theory.free_bicategory.hom c d), category_theory.free_bicategory.rel ((category_theory.free_bicategory.hom₂.associator_inv f g h).vcomp (category_theory.free_bicategory.hom₂.associator f g h)) (category_theory.free_bicategory.hom₂.id (f.comp (g.comp h)))
- left_unitor_hom_inv : ∀ {B : Type u} [_inst_1 : quiver B] {a b : B} (f : category_theory.free_bicategory.hom a b), category_theory.free_bicategory.rel ((category_theory.free_bicategory.hom₂.left_unitor f).vcomp (category_theory.free_bicategory.hom₂.left_unitor_inv f)) (category_theory.free_bicategory.hom₂.id ((category_theory.free_bicategory.hom.id a).comp f))
- left_unitor_inv_hom : ∀ {B : Type u} [_inst_1 : quiver B] {a b : B} (f : category_theory.free_bicategory.hom a b), category_theory.free_bicategory.rel ((category_theory.free_bicategory.hom₂.left_unitor_inv f).vcomp (category_theory.free_bicategory.hom₂.left_unitor f)) (category_theory.free_bicategory.hom₂.id f)
- right_unitor_hom_inv : ∀ {B : Type u} [_inst_1 : quiver B] {a b : B} (f : category_theory.free_bicategory.hom a b), category_theory.free_bicategory.rel ((category_theory.free_bicategory.hom₂.right_unitor f).vcomp (category_theory.free_bicategory.hom₂.right_unitor_inv f)) (category_theory.free_bicategory.hom₂.id (f.comp (category_theory.free_bicategory.hom.id b)))
- right_unitor_inv_hom : ∀ {B : Type u} [_inst_1 : quiver B] {a b : B} (f : category_theory.free_bicategory.hom a b), category_theory.free_bicategory.rel ((category_theory.free_bicategory.hom₂.right_unitor_inv f).vcomp (category_theory.free_bicategory.hom₂.right_unitor f)) (category_theory.free_bicategory.hom₂.id f)
- pentagon : ∀ {B : Type u} [_inst_1 : quiver B] {a b c d e : B} (f : category_theory.free_bicategory.hom a b) (g : category_theory.free_bicategory.hom b c) (h : category_theory.free_bicategory.hom c d) (i : category_theory.free_bicategory.hom d e), category_theory.free_bicategory.rel ((category_theory.free_bicategory.hom₂.whisker_right i (category_theory.free_bicategory.hom₂.associator f g h)).vcomp ((category_theory.free_bicategory.hom₂.associator f (g.comp h) i).vcomp (category_theory.free_bicategory.hom₂.whisker_left f (category_theory.free_bicategory.hom₂.associator g h i)))) ((category_theory.free_bicategory.hom₂.associator (f.comp g) h i).vcomp (category_theory.free_bicategory.hom₂.associator f g (h.comp i)))
- triangle : ∀ {B : Type u} [_inst_1 : quiver B] {a b c : B} (f : category_theory.free_bicategory.hom a b) (g : category_theory.free_bicategory.hom b c), category_theory.free_bicategory.rel ((category_theory.free_bicategory.hom₂.associator f (category_theory.free_bicategory.hom.id b) g).vcomp (category_theory.free_bicategory.hom₂.whisker_left f (category_theory.free_bicategory.hom₂.left_unitor g))) (category_theory.free_bicategory.hom₂.whisker_right g (category_theory.free_bicategory.hom₂.right_unitor f))
Relations between 2-morphisms in the free bicategory.
Equations
- category_theory.free_bicategory.hom_category a b = {to_category_struct := {to_quiver := {hom := λ (f g : category_theory.free_bicategory.hom a b), quot category_theory.free_bicategory.rel}, id := λ (f : category_theory.free_bicategory.hom a b), quot.mk category_theory.free_bicategory.rel (category_theory.free_bicategory.hom₂.id f), comp := λ (f g h : category_theory.free_bicategory.hom a b), quot.map₂ category_theory.free_bicategory.hom₂.vcomp category_theory.free_bicategory.rel.vcomp_right category_theory.free_bicategory.rel.vcomp_left}, id_comp' := _, comp_id' := _, assoc' := _}
Bicategory structure on the free bicategory.
Equations
- category_theory.free_bicategory.bicategory = {to_category_struct := {to_quiver := {hom := λ (a b : B), category_theory.free_bicategory.hom a b}, id := category_theory.free_bicategory.hom.id _inst_1, comp := λ (a b c : category_theory.free_bicategory B), category_theory.free_bicategory.hom.comp}, hom_category := category_theory.free_bicategory.hom_category _inst_1, whisker_left := λ (a b c : category_theory.free_bicategory B) (f : a ⟶ b) (g h : b ⟶ c) (η : g ⟶ h), quot.map (category_theory.free_bicategory.hom₂.whisker_left f) _ η, whisker_right := λ (a b c : category_theory.free_bicategory B) (f g : a ⟶ b) (η : f ⟶ g) (h : b ⟶ c), quot.map (category_theory.free_bicategory.hom₂.whisker_right h) _ η, associator := λ (a b c d : category_theory.free_bicategory B) (f : a ⟶ b) (g : b ⟶ c) (h : c ⟶ d), {hom := quot.mk category_theory.free_bicategory.rel (category_theory.free_bicategory.hom₂.associator f g h), inv := quot.mk category_theory.free_bicategory.rel (category_theory.free_bicategory.hom₂.associator_inv f g h), hom_inv_id' := _, inv_hom_id' := _}, left_unitor := λ (a b : category_theory.free_bicategory B) (f : a ⟶ b), {hom := quot.mk category_theory.free_bicategory.rel (category_theory.free_bicategory.hom₂.left_unitor f), inv := quot.mk category_theory.free_bicategory.rel (category_theory.free_bicategory.hom₂.left_unitor_inv f), hom_inv_id' := _, inv_hom_id' := _}, right_unitor := λ (a b : category_theory.free_bicategory B) (f : a ⟶ b), {hom := quot.mk category_theory.free_bicategory.rel (category_theory.free_bicategory.hom₂.right_unitor f), inv := quot.mk category_theory.free_bicategory.rel (category_theory.free_bicategory.hom₂.right_unitor_inv f), hom_inv_id' := _, inv_hom_id' := _}, whisker_left_id' := _, whisker_left_comp' := _, id_whisker_left' := _, comp_whisker_left' := _, id_whisker_right' := _, comp_whisker_right' := _, whisker_right_id' := _, whisker_right_comp' := _, whisker_assoc' := _, whisker_exchange' := _, pentagon' := _, triangle' := _}
Canonical prefunctor from B
to free_bicategory B
.
Equations
- category_theory.free_bicategory.of = {obj := id B, map := λ (a b : B), category_theory.free_bicategory.hom.of}
Auxiliary definition for lift
.
Equations
- category_theory.free_bicategory.lift_hom F (f.comp g) = category_theory.free_bicategory.lift_hom F f ≫ category_theory.free_bicategory.lift_hom F g
- category_theory.free_bicategory.lift_hom F (category_theory.free_bicategory.hom.id a) = 𝟙 (F.obj a)
- category_theory.free_bicategory.lift_hom F (category_theory.free_bicategory.hom.of f) = F.map f
Auxiliary definition for lift
.
Equations
- category_theory.free_bicategory.lift_hom₂ F (category_theory.free_bicategory.hom₂.left_unitor_inv _x_2) = (category_theory.bicategory.left_unitor (category_theory.free_bicategory.lift_hom F _x_2)).inv
- category_theory.free_bicategory.lift_hom₂ F (category_theory.free_bicategory.hom₂.left_unitor _x_2) = (category_theory.bicategory.left_unitor (category_theory.free_bicategory.lift_hom F _x_2)).hom
- category_theory.free_bicategory.lift_hom₂ F (category_theory.free_bicategory.hom₂.right_unitor_inv _x_2) = (category_theory.bicategory.right_unitor (category_theory.free_bicategory.lift_hom F _x_2)).inv
- category_theory.free_bicategory.lift_hom₂ F (category_theory.free_bicategory.hom₂.right_unitor _x_2) = (category_theory.bicategory.right_unitor (category_theory.free_bicategory.lift_hom F _x_2)).hom
- category_theory.free_bicategory.lift_hom₂ F (category_theory.free_bicategory.hom₂.associator_inv _x_2 _x_3 _x_4) = (category_theory.bicategory.associator (category_theory.free_bicategory.lift_hom F _x_2) (category_theory.free_bicategory.lift_hom F _x_3) (category_theory.free_bicategory.lift_hom F _x_4)).inv
- category_theory.free_bicategory.lift_hom₂ F (category_theory.free_bicategory.hom₂.associator _x_2 _x_3 _x_4) = (category_theory.bicategory.associator (category_theory.free_bicategory.lift_hom F _x_2) (category_theory.free_bicategory.lift_hom F _x_3) (category_theory.free_bicategory.lift_hom F _x_4)).hom
- category_theory.free_bicategory.lift_hom₂ F (category_theory.free_bicategory.hom₂.whisker_right h η) = category_theory.bicategory.whisker_right (category_theory.free_bicategory.lift_hom₂ F η) (category_theory.free_bicategory.lift_hom F h)
- category_theory.free_bicategory.lift_hom₂ F (category_theory.free_bicategory.hom₂.whisker_left f η) = category_theory.bicategory.whisker_left (category_theory.free_bicategory.lift_hom F f) (category_theory.free_bicategory.lift_hom₂ F η)
- category_theory.free_bicategory.lift_hom₂ F (η.vcomp θ) = category_theory.free_bicategory.lift_hom₂ F η ≫ category_theory.free_bicategory.lift_hom₂ F θ
- category_theory.free_bicategory.lift_hom₂ F (category_theory.free_bicategory.hom₂.id _x_2) = 𝟙 (category_theory.free_bicategory.lift_hom F _x_2)
A prefunctor from a quiver B
to a bicategory C
can be lifted to a pseudofunctor from
free_bicategory B
to C
.
Equations
- category_theory.free_bicategory.lift F = {obj := F.obj, map := λ (a b : category_theory.free_bicategory B), category_theory.free_bicategory.lift_hom F, map₂ := λ (a b : category_theory.free_bicategory B) (f g : a ⟶ b), quot.lift (category_theory.free_bicategory.lift_hom₂ F) _, map_id := λ (a : category_theory.free_bicategory B), category_theory.iso.refl (category_theory.free_bicategory.lift_hom F (𝟙 a)), map_comp := λ (a b c : category_theory.free_bicategory B) (f : a ⟶ b) (g : b ⟶ c), category_theory.iso.refl (category_theory.free_bicategory.lift_hom F (f ≫ g)), map₂_id' := _, map₂_comp' := _, map₂_whisker_left' := _, map₂_whisker_right' := _, map₂_associator' := _, map₂_left_unitor' := _, map₂_right_unitor' := _}