Opposites of joins of categories #
This file constructs the canonical equivalence of categories (C ⋆ D)ᵒᵖ ≌ Dᵒᵖ ⋆ Cᵒᵖ.
This equivalence is characterized in both directions.
def CategoryTheory.Join.opEquiv (C : Type u₁) (D : Type u₂) [Category.{v₁, u₁} C] [Category.{v₂, u₂} D] :
The equivalence (C ⋆ D)ᵒᵖ ≌ Dᵒᵖ ⋆ Cᵒᵖ induced by Join.opEquivFunctor and
Join.opEquivInverse.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem CategoryTheory.Join.opEquiv_functor_obj_op_left {C : Type u₁} (D : Type u₂) [Category.{v₁, u₁} C] [Category.{v₂, u₂} D] (c : C) :
@[simp]
theorem CategoryTheory.Join.opEquiv_functor_obj_op_right (C : Type u₁) {D : Type u₂} [Category.{v₁, u₁} C] [Category.{v₂, u₂} D] (d : D) :
@[simp]
theorem CategoryTheory.Join.opEquiv_functor_map_op_inclLeft {C : Type u₁} (D : Type u₂) [Category.{v₁, u₁} C] [Category.{v₂, u₂} D] {c c' : C} (f : c ⟶ c') :
@[simp]
theorem CategoryTheory.Join.opEquiv_functor_map_op_inclRight (C : Type u₁) {D : Type u₂} [Category.{v₁, u₁} C] [Category.{v₂, u₂} D] {d d' : D} (f : d ⟶ d') :
theorem CategoryTheory.Join.opEquiv_functor_map_op_edge {C : Type u₁} {D : Type u₂} [Category.{v₁, u₁} C] [Category.{v₂, u₂} D] (c : C) (d : D) :
def CategoryTheory.Join.InclLeftCompRightOpOpEquivFunctor (C : Type u₁) (D : Type u₂) [Category.{v₁, u₁} C] [Category.{v₂, u₂} D] :
Characterize (up to a rightOp) the action of the left inclusion on Join.opEquivFunctor.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem CategoryTheory.Join.InclLeftCompRightOpOpEquivFunctor_inv_app (C : Type u₁) (D : Type u₂) [Category.{v₁, u₁} C] [Category.{v₂, u₂} D] (X : C) :
(InclLeftCompRightOpOpEquivFunctor C D).inv.app X = CategoryStruct.comp (CategoryStruct.id (Opposite.op (right (Opposite.op X))))
(((inclLeft C D).isoWhiskerLeft
(mkFunctor (inclRight Dᵒᵖ Cᵒᵖ).rightOp (inclLeft Dᵒᵖ Cᵒᵖ).rightOp
{ app := fun (x : C × D) => (edge (Opposite.op x.2) (Opposite.op x.1)).op,
naturality := ⋯ }).leftOpRightOpIso).inv.app
X)
@[simp]
theorem CategoryTheory.Join.InclLeftCompRightOpOpEquivFunctor_hom_app (C : Type u₁) (D : Type u₂) [Category.{v₁, u₁} C] [Category.{v₂, u₂} D] (X : C) :
(InclLeftCompRightOpOpEquivFunctor C D).hom.app X = CategoryStruct.comp
(((inclLeft C D).isoWhiskerLeft
(mkFunctor (inclRight Dᵒᵖ Cᵒᵖ).rightOp (inclLeft Dᵒᵖ Cᵒᵖ).rightOp
{ app := fun (x : C × D) => (edge (Opposite.op x.2) (Opposite.op x.1)).op,
naturality := ⋯ }).leftOpRightOpIso).hom.app
X)
(CategoryStruct.id (Opposite.op (right (Opposite.op X))))
def CategoryTheory.Join.InclRightCompRightOpOpEquivFunctor (C : Type u₁) (D : Type u₂) [Category.{v₁, u₁} C] [Category.{v₂, u₂} D] :
Characterize (up to a rightOp) the action of the right inclusion on Join.opEquivFunctor.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem CategoryTheory.Join.InclRightCompRightOpOpEquivFunctor_hom_app (C : Type u₁) (D : Type u₂) [Category.{v₁, u₁} C] [Category.{v₂, u₂} D] (X : D) :
(InclRightCompRightOpOpEquivFunctor C D).hom.app X = CategoryStruct.comp
(((inclRight C D).isoWhiskerLeft
(mkFunctor (inclRight Dᵒᵖ Cᵒᵖ).rightOp (inclLeft Dᵒᵖ Cᵒᵖ).rightOp
{ app := fun (x : C × D) => (edge (Opposite.op x.2) (Opposite.op x.1)).op,
naturality := ⋯ }).leftOpRightOpIso).hom.app
X)
(CategoryStruct.id (Opposite.op (left (Opposite.op X))))
@[simp]
theorem CategoryTheory.Join.InclRightCompRightOpOpEquivFunctor_inv_app (C : Type u₁) (D : Type u₂) [Category.{v₁, u₁} C] [Category.{v₂, u₂} D] (X : D) :
(InclRightCompRightOpOpEquivFunctor C D).inv.app X = CategoryStruct.comp (CategoryStruct.id (Opposite.op (left (Opposite.op X))))
(((inclRight C D).isoWhiskerLeft
(mkFunctor (inclRight Dᵒᵖ Cᵒᵖ).rightOp (inclLeft Dᵒᵖ Cᵒᵖ).rightOp
{ app := fun (x : C × D) => (edge (Opposite.op x.2) (Opposite.op x.1)).op,
naturality := ⋯ }).leftOpRightOpIso).inv.app
X)
@[simp]
theorem CategoryTheory.Join.opEquiv_inverse_obj_left_op (C : Type u₁) {D : Type u₂} [Category.{v₁, u₁} C] [Category.{v₂, u₂} D] (d : D) :
@[simp]
theorem CategoryTheory.Join.opEquiv_inverse_obj_right_op {C : Type u₁} (D : Type u₂) [Category.{v₁, u₁} C] [Category.{v₂, u₂} D] (c : C) :
@[simp]
theorem CategoryTheory.Join.opEquiv_inverse_map_inclLeft_op (C : Type u₁) {D : Type u₂} [Category.{v₁, u₁} C] [Category.{v₂, u₂} D] {d d' : D} (f : d ⟶ d') :
@[simp]
theorem CategoryTheory.Join.opEquiv_inverse_map_inclRight_op (C : Type u₁) {D : Type u₂} [Category.{v₁, u₁} C] [Category.{v₂, u₂} D] {c c' : C} (f : c ⟶ c') :
@[simp]
theorem CategoryTheory.Join.opEquiv_inverse_map_edge_op {C : Type u₁} {D : Type u₂} [Category.{v₁, u₁} C] [Category.{v₂, u₂} D] (c : C) (d : D) :
def CategoryTheory.Join.inclLeftCompOpEquivInverse (C : Type u₁) (D : Type u₂) [Category.{v₁, u₁} C] [Category.{v₂, u₂} D] :
Characterize Join.opEquivInverse with respect to the left inclusion
Equations
- One or more equations did not get rendered due to their size.
Instances For
def CategoryTheory.Join.inclRightCompOpEquivInverse (C : Type u₁) (D : Type u₂) [Category.{v₁, u₁} C] [Category.{v₂, u₂} D] :
Characterize Join.opEquivInverse with respect to the right inclusion
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem CategoryTheory.Join.inclLeftCompOpEquivInverse_hom_app_op (C : Type u₁) {D : Type u₂} [Category.{v₁, u₁} C] [Category.{v₂, u₂} D] (d : D) :
(inclLeftCompOpEquivInverse C D).hom.app (Opposite.op d) = CategoryStruct.id (Opposite.op (right d))
@[simp]
theorem CategoryTheory.Join.inclRightCompOpEquivInverse_hom_app_op {C : Type u₁} (D : Type u₂) [Category.{v₁, u₁} C] [Category.{v₂, u₂} D] (c : C) :
(inclRightCompOpEquivInverse C D).hom.app (Opposite.op c) = CategoryStruct.id (Opposite.op (left c))
@[simp]
theorem CategoryTheory.Join.inclLeftCompOpEquivInverse_inv_app_op (C : Type u₁) {D : Type u₂} [Category.{v₁, u₁} C] [Category.{v₂, u₂} D] (d : D) :
(inclLeftCompOpEquivInverse C D).inv.app (Opposite.op d) = CategoryStruct.id (Opposite.op (right d))
@[simp]
theorem CategoryTheory.Join.inclRightCompOpEquivInverse_inv_app_op {C : Type u₁} (D : Type u₂) [Category.{v₁, u₁} C] [Category.{v₂, u₂} D] (c : C) :
(inclRightCompOpEquivInverse C D).inv.app (Opposite.op c) = CategoryStruct.id (Opposite.op (left c))