Opposite bicategories #
We construct the 1-cell opposite of a bicategory B, called Bᵒᵖ. It is defined as follows
- The objects of
Bᵒᵖcorrespond to objects ofB. - The morphisms
X ⟶ YinBᵒᵖare the morphismsY ⟶ XinB. - The 2-morphisms
f ⟶ ginBᵒᵖare the 2-morphismsf ⟶ ginB. In other words, the directions of the 2-morphisms are preserved.
Remarks #
There are multiple notions of opposite categories for bicategories.
- There is 1-cell dual
Bᵒᵖas defined above. - There is the 2-cell dual,
Cᶜᵒwhere only the 2-morphisms are reversed - There is the bi-dual
Cᶜᵒᵒᵖwhere the directions of both the 1-morphisms and the 2-morphisms are reversed.
TODO #
- Define the 2-cell dual
Cᶜᵒ. - Provide various lemmas for going between
LocallyDiscrete Cᵒᵖand(LocallyDiscrete C)ᵒᵖ.
Note: Cᶜᵒᵒᵖ is WIP by Christian Merten.
@[implicit_reducible]
Equations
- One or more equations did not get rendered due to their size.
@[simp]
theorem
Bicategory.Opposite.homCategory_comp_unop2
{B : Type u}
[CategoryTheory.Bicategory B]
(a b : Bᵒᵖ)
{X✝ Y✝ Z✝ : a ⟶ b}
(η : Hom2 X✝ Y✝)
(θ : Hom2 Y✝ Z✝)
:
@[simp]
theorem
Bicategory.Opposite.homCategory_id_unop2
{B : Type u}
[CategoryTheory.Bicategory B]
(a b : Bᵒᵖ)
(f : a ⟶ b)
:
def
Bicategory.Opposite.op2
{B : Type u}
[CategoryTheory.Bicategory B]
{a b : B}
{f g : a ⟶ b}
(η : f ⟶ g)
:
Synonym for constructor of Hom2 where the 1-morphisms f and g lie in B and not Bᵒᵖ.
Equations
- Bicategory.Opposite.op2 η = { unop2 := η }
Instances For
@[simp]
theorem
Bicategory.Opposite.unop2_op2
{B : Type u}
[CategoryTheory.Bicategory B]
{a b : B}
{f g : a ⟶ b}
(η : f ⟶ g)
:
@[simp]
theorem
Bicategory.Opposite.op2_unop2
{B : Type u}
[CategoryTheory.Bicategory B]
{a b : Bᵒᵖ}
{f g : a ⟶ b}
(η : f ⟶ g)
:
@[simp]
theorem
Bicategory.Opposite.op2_comp
{B : Type u}
[CategoryTheory.Bicategory B]
{a b : B}
{f g h : a ⟶ b}
(η : f ⟶ g)
(θ : g ⟶ h)
:
@[simp]
theorem
Bicategory.Opposite.op2_id
{B : Type u}
[CategoryTheory.Bicategory B]
{a b : B}
{f : a ⟶ b}
:
@[simp]
theorem
Bicategory.Opposite.unop2_comp
{B : Type u}
[CategoryTheory.Bicategory B]
{a b : Bᵒᵖ}
{f g h : a ⟶ b}
(η : f ⟶ g)
(θ : g ⟶ h)
:
@[simp]
theorem
Bicategory.Opposite.unop2_id
{B : Type u}
[CategoryTheory.Bicategory B]
{a b : Bᵒᵖ}
{f : a ⟶ b}
:
@[simp]
theorem
Bicategory.Opposite.unop2_id_bop
{B : Type u}
[CategoryTheory.Bicategory B]
{a b : B}
{f : a ⟶ b}
:
@[simp]
theorem
Bicategory.Opposite.op2_id_unbop
{B : Type u}
[CategoryTheory.Bicategory B]
{a b : Bᵒᵖ}
{f : a ⟶ b}
:
def
Bicategory.Opposite.opFunctor
{B : Type u}
[CategoryTheory.Bicategory B]
(a b : B)
:
CategoryTheory.Functor (a ⟶ b) (Opposite.op b ⟶ Opposite.op a)
The natural functor from the hom-category a ⟶ b in B to its bicategorical opposite
bop b ⟶ bop a.
Equations
- Bicategory.Opposite.opFunctor a b = { obj := fun (f : a ⟶ b) => f.op, map := fun {X Y : a ⟶ b} (η : X ⟶ Y) => Bicategory.Opposite.op2 η, map_id := ⋯, map_comp := ⋯ }
Instances For
@[simp]
theorem
Bicategory.Opposite.opFunctor_map
{B : Type u}
[CategoryTheory.Bicategory B]
(a b : B)
{X✝ Y✝ : a ⟶ b}
(η : X✝ ⟶ Y✝)
:
@[simp]
theorem
Bicategory.Opposite.opFunctor_obj
{B : Type u}
[CategoryTheory.Bicategory B]
(a b : B)
(f : a ⟶ b)
:
def
Bicategory.Opposite.unopFunctor
{B : Type u}
[CategoryTheory.Bicategory B]
(a b : Bᵒᵖ)
:
CategoryTheory.Functor (a ⟶ b) (Opposite.unop b ⟶ Opposite.unop a)
The functor from the hom-category a ⟶ b in Bᵒᵖ to its bicategorical opposite
unop b ⟶ unop a.
Equations
Instances For
@[simp]
theorem
Bicategory.Opposite.unopFunctor_map
{B : Type u}
[CategoryTheory.Bicategory B]
(a b : Bᵒᵖ)
{X✝ Y✝ : a ⟶ b}
(η : X✝ ⟶ Y✝)
:
@[simp]
theorem
Bicategory.Opposite.unopFunctor_obj
{B : Type u}
[CategoryTheory.Bicategory B]
(a b : Bᵒᵖ)
(f : a ⟶ b)
:
@[reducible, inline]
A 2-isomorphism in B gives a 2-isomorphism in Bᵒᵖ
Equations
- η.op2 = (Bicategory.Opposite.opFunctor a b).mapIso η
Instances For
@[reducible, inline]
abbrev
CategoryTheory.Iso.op2_unop
{B : Type u}
[Bicategory B]
{a b : Bᵒᵖ}
{f g : a ⟶ b}
(η : f.unop ≅ g.unop)
:
A 2-isomorphism in B gives a 2-isomorphism in Bᵒᵖ
Equations
- η.op2_unop = (Bicategory.Opposite.opFunctor (Opposite.unop b) (Opposite.unop a)).mapIso η
Instances For
@[reducible, inline]
A 2-isomorphism in Bᵒᵖ gives a 2-isomorphism in B
Equations
- η.unop2 = (Bicategory.Opposite.unopFunctor a b).mapIso η
Instances For
@[reducible, inline]
abbrev
CategoryTheory.Iso.unop2_op
{B : Type u}
[Bicategory B]
{a b : B}
{f g : a ⟶ b}
(η : f.op ≅ g.op)
:
A 2-isomorphism in Bᵒᵖ gives a 2-isomorphism in B
Equations
- η.unop2_op = (Bicategory.Opposite.unopFunctor (Opposite.op b) (Opposite.op a)).mapIso η
Instances For
@[simp]
theorem
CategoryTheory.Iso.unop2_op2
{B : Type u}
[Bicategory B]
{a b : Bᵒᵖ}
{f g : a ⟶ b}
(η : f ≅ g)
:
@[implicit_reducible]
The 1-cell dual bicategory Bᵒᵖ.
It is defined as follows.
- The objects of
Bᵒᵖcorrespond to objects ofB. - The morphisms
X ⟶ YinBᵒᵖare the morphismsY ⟶ XinB. - The 2-morphisms
f ⟶ ginBᵒᵖare the 2-morphismsf ⟶ ginB. In other words, the directions of the 2-morphisms are preserved.
Equations
- One or more equations did not get rendered due to their size.
@[simp]
theorem
Bicategory.Opposite.bicategory_homCategory_comp_unop2
{B : Type u}
[CategoryTheory.Bicategory B]
(a b : Bᵒᵖ)
{X✝ Y✝ Z✝ : a ⟶ b}
(η : Hom2 X✝ Y✝)
(θ : Hom2 Y✝ Z✝)
:
@[simp]
theorem
Bicategory.Opposite.bicategory_associator_hom_unop2
{B : Type u}
[CategoryTheory.Bicategory B]
{a✝ b✝ c✝ d✝ : Bᵒᵖ}
(f : a✝ ⟶ b✝)
(g : b✝ ⟶ c✝)
(h : c✝ ⟶ d✝)
:
(CategoryTheory.Bicategory.associator f g h).hom.unop2 = (CategoryTheory.Bicategory.associator h.unop g.unop f.unop).inv
@[simp]
theorem
Bicategory.Opposite.bicategory_whiskerLeft_unop2
{B : Type u}
[CategoryTheory.Bicategory B]
{a✝ b✝ c✝ : Bᵒᵖ}
(f : a✝ ⟶ b✝)
(g h : b✝ ⟶ c✝)
(η : g ⟶ h)
:
@[simp]
theorem
Bicategory.Opposite.bicategory_leftUnitor_inv_unop2
{B : Type u}
[CategoryTheory.Bicategory B]
{a✝ b✝ : Bᵒᵖ}
(f : a✝ ⟶ b✝)
:
@[simp]
theorem
Bicategory.Opposite.bicategory_leftUnitor_hom_unop2
{B : Type u}
[CategoryTheory.Bicategory B]
{a✝ b✝ : Bᵒᵖ}
(f : a✝ ⟶ b✝)
:
@[simp]
theorem
Bicategory.Opposite.bicategory_rightUnitor_inv_unop2
{B : Type u}
[CategoryTheory.Bicategory B]
{a✝ b✝ : Bᵒᵖ}
(f : a✝ ⟶ b✝)
:
@[simp]
theorem
Bicategory.Opposite.bicategory_associator_inv_unop2
{B : Type u}
[CategoryTheory.Bicategory B]
{a✝ b✝ c✝ d✝ : Bᵒᵖ}
(f : a✝ ⟶ b✝)
(g : b✝ ⟶ c✝)
(h : c✝ ⟶ d✝)
:
(CategoryTheory.Bicategory.associator f g h).inv.unop2 = (CategoryTheory.Bicategory.associator h.unop g.unop f.unop).hom
@[simp]
theorem
Bicategory.Opposite.bicategory_homCategory_id_unop2
{B : Type u}
[CategoryTheory.Bicategory B]
(a b : Bᵒᵖ)
(f : a ⟶ b)
:
@[simp]
theorem
Bicategory.Opposite.bicategory_whiskerRight_unop2
{B : Type u}
[CategoryTheory.Bicategory B]
{a✝ b✝ c✝ : Bᵒᵖ}
{f✝ g✝ : a✝ ⟶ b✝}
(η : f✝ ⟶ g✝)
(h : b✝ ⟶ c✝)
:
@[simp]
theorem
Bicategory.Opposite.bicategory_rightUnitor_hom_unop2
{B : Type u}
[CategoryTheory.Bicategory B]
{a✝ b✝ : Bᵒᵖ}
(f : a✝ ⟶ b✝)
:
@[simp]
theorem
Bicategory.Opposite.op2_whiskerLeft
{B : Type u}
[CategoryTheory.Bicategory B]
{a b c : B}
{f : a ⟶ b}
{g g' : b ⟶ c}
(η : g ⟶ g')
:
@[simp]
theorem
Bicategory.Opposite.op2_whiskerRight
{B : Type u}
[CategoryTheory.Bicategory B]
{a b c : B}
{f f' : a ⟶ b}
{g : b ⟶ c}
(η : f ⟶ f')
:
@[simp]
theorem
Bicategory.Opposite.op2_associator
{B : Type u}
[CategoryTheory.Bicategory B]
{a b c d : B}
(f : a ⟶ b)
(g : b ⟶ c)
(h : c ⟶ d)
:
(CategoryTheory.Bicategory.associator f g h).op2 = (CategoryTheory.Bicategory.associator h.op g.op f.op).symm
@[simp]
theorem
Bicategory.Opposite.op2_associator_hom
{B : Type u}
[CategoryTheory.Bicategory B]
{a b c d : B}
(f : a ⟶ b)
(g : b ⟶ c)
(h : c ⟶ d)
:
op2 (CategoryTheory.Bicategory.associator f g h).hom = (CategoryTheory.Bicategory.associator h.op g.op f.op).symm.hom
@[simp]
theorem
Bicategory.Opposite.op2_associator_inv
{B : Type u}
[CategoryTheory.Bicategory B]
{a b c d : B}
(f : a ⟶ b)
(g : b ⟶ c)
(h : c ⟶ d)
:
op2 (CategoryTheory.Bicategory.associator f g h).inv = (CategoryTheory.Bicategory.associator h.op g.op f.op).symm.inv
@[simp]
theorem
Bicategory.Opposite.op2_leftUnitor
{B : Type u}
[CategoryTheory.Bicategory B]
{a b : B}
(f : a ⟶ b)
:
@[simp]
theorem
Bicategory.Opposite.op2_leftUnitor_hom
{B : Type u}
[CategoryTheory.Bicategory B]
{a b : B}
(f : a ⟶ b)
:
@[simp]
theorem
Bicategory.Opposite.op2_leftUnitor_inv
{B : Type u}
[CategoryTheory.Bicategory B]
{a b : B}
(f : a ⟶ b)
:
@[simp]
theorem
Bicategory.Opposite.op2_rightUnitor
{B : Type u}
[CategoryTheory.Bicategory B]
{a b : B}
(f : a ⟶ b)
:
@[simp]
theorem
Bicategory.Opposite.op2_rightUnitor_hom
{B : Type u}
[CategoryTheory.Bicategory B]
{a b : B}
(f : a ⟶ b)
:
@[simp]
theorem
Bicategory.Opposite.op2_rightUnitor_inv
{B : Type u}
[CategoryTheory.Bicategory B]
{a b : B}
(f : a ⟶ b)
: