Adjunctions between exact functors and Ext-groups #
Assume that adj : F ⊣ G is an adjunction between two exact
functors F : C ⥤ D and G : D ⥤ C between abelian categories.
In this file, we promote the bijection
adj.homEquiv X Y : (F.obj X ⟶ Y) ≃ (X ⟶ G.obj Y) into
additive equivalences
adj.extEquiv : Ext (F.obj X) Y n ≃+ Ext X (G.obj Y) n.
noncomputable def CategoryTheory.Adjunction.extEquiv {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [Abelian C] [Abelian D] [HasExt C] [HasExt D] {F : Functor C D} {G : Functor D C} [F.Additive] [G.Additive] [Limits.PreservesFiniteLimits F] [Limits.PreservesFiniteColimits F] [Limits.PreservesFiniteLimits G] [Limits.PreservesFiniteColimits G] (adj : F ⊣ G) {X : C} {Y : D} {n : ℕ} :
The bijection of Ext-groups that is induced by an adjunction
between exact functors.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem CategoryTheory.Adjunction.extEquiv_apply {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [Abelian C] [Abelian D] [HasExt C] [HasExt D] {F : Functor C D} {G : Functor D C} [F.Additive] [G.Additive] [Limits.PreservesFiniteLimits F] [Limits.PreservesFiniteColimits F] [Limits.PreservesFiniteLimits G] [Limits.PreservesFiniteColimits G] (adj : F ⊣ G) {X : C} {Y : D} {n : ℕ} (e : Abelian.Ext (F.obj X) Y n) :
theorem CategoryTheory.Adjunction.extEquiv_symm_apply {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [Abelian C] [Abelian D] [HasExt C] [HasExt D] {F : Functor C D} {G : Functor D C} [F.Additive] [G.Additive] [Limits.PreservesFiniteLimits F] [Limits.PreservesFiniteColimits F] [Limits.PreservesFiniteLimits G] [Limits.PreservesFiniteColimits G] (adj : F ⊣ G) {X : C} {Y : D} {n : ℕ} (e : Abelian.Ext X (G.obj Y) n) :
@[simp]
theorem CategoryTheory.Adjunction.extEquiv_mk₀ {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [Abelian C] [Abelian D] [HasExt C] [HasExt D] {F : Functor C D} {G : Functor D C} [F.Additive] [G.Additive] [Limits.PreservesFiniteLimits F] [Limits.PreservesFiniteColimits F] [Limits.PreservesFiniteLimits G] [Limits.PreservesFiniteColimits G] (adj : F ⊣ G) {X : C} {Y : D} (f : F.obj X ⟶ Y) :
theorem CategoryTheory.Adjunction.extEquiv_symm_mk₀ {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [Abelian C] [Abelian D] [HasExt C] [HasExt D] {F : Functor C D} {G : Functor D C} [F.Additive] [G.Additive] [Limits.PreservesFiniteLimits F] [Limits.PreservesFiniteColimits F] [Limits.PreservesFiniteLimits G] [Limits.PreservesFiniteColimits G] (adj : F ⊣ G) {X : C} {Y : D} (f : X ⟶ G.obj Y) :
@[simp]
theorem CategoryTheory.Adjunction.extEquiv_symm_mk₀_unit_app {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [Abelian C] [Abelian D] [HasExt C] [HasExt D] {F : Functor C D} {G : Functor D C} [F.Additive] [G.Additive] [Limits.PreservesFiniteLimits F] [Limits.PreservesFiniteColimits F] [Limits.PreservesFiniteLimits G] [Limits.PreservesFiniteColimits G] (adj : F ⊣ G) (X : C) :
adj.extEquiv.symm (Abelian.Ext.mk₀ (adj.unit.app X)) = Abelian.Ext.mk₀ (CategoryStruct.id (F.obj X))
@[simp]
theorem CategoryTheory.Adjunction.extEquiv_mk₀_counit_app {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [Abelian C] [Abelian D] [HasExt C] [HasExt D] {F : Functor C D} {G : Functor D C} [F.Additive] [G.Additive] [Limits.PreservesFiniteLimits F] [Limits.PreservesFiniteColimits F] [Limits.PreservesFiniteLimits G] [Limits.PreservesFiniteColimits G] (adj : F ⊣ G) (Y : D) :
theorem CategoryTheory.Adjunction.extEquiv_naturality_left {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [Abelian C] [Abelian D] [HasExt C] [HasExt D] {F : Functor C D} {G : Functor D C} [F.Additive] [G.Additive] [Limits.PreservesFiniteLimits F] [Limits.PreservesFiniteColimits F] [Limits.PreservesFiniteLimits G] [Limits.PreservesFiniteColimits G] (adj : F ⊣ G) {X₁ X₂ : C} {Y : D} {a b : ℕ} (e : Abelian.Ext X₁ X₂ a) (e' : Abelian.Ext (F.obj X₂) Y b) {c : ℕ} (h : a + b = c) :
theorem CategoryTheory.Adjunction.extEquiv_naturality_left₀ {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [Abelian C] [Abelian D] [HasExt C] [HasExt D] {F : Functor C D} {G : Functor D C} [F.Additive] [G.Additive] [Limits.PreservesFiniteLimits F] [Limits.PreservesFiniteColimits F] [Limits.PreservesFiniteLimits G] [Limits.PreservesFiniteColimits G] (adj : F ⊣ G) {X₁ X₂ : C} {Y : D} (f : X₁ ⟶ X₂) {n : ℕ} (e : Abelian.Ext (F.obj X₂) Y n) :
theorem CategoryTheory.Adjunction.extEquiv_naturality_right {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [Abelian C] [Abelian D] [HasExt C] [HasExt D] {F : Functor C D} {G : Functor D C} [F.Additive] [G.Additive] [Limits.PreservesFiniteLimits F] [Limits.PreservesFiniteColimits F] [Limits.PreservesFiniteLimits G] [Limits.PreservesFiniteColimits G] (adj : F ⊣ G) {X : C} {Y₁ Y₂ : D} {a b : ℕ} (e : Abelian.Ext (F.obj X) Y₁ a) (e' : Abelian.Ext Y₁ Y₂ b) {c : ℕ} (h : a + b = c) :
theorem CategoryTheory.Adjunction.extEquiv_naturality_right₀ {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [Abelian C] [Abelian D] [HasExt C] [HasExt D] {F : Functor C D} {G : Functor D C} [F.Additive] [G.Additive] [Limits.PreservesFiniteLimits F] [Limits.PreservesFiniteColimits F] [Limits.PreservesFiniteLimits G] [Limits.PreservesFiniteColimits G] (adj : F ⊣ G) {X : C} {Y₁ Y₂ : D} {n : ℕ} (e : Abelian.Ext (F.obj X) Y₁ n) (f : Y₁ ⟶ Y₂) :
theorem CategoryTheory.Adjunction.extEquiv_symm_naturality_left {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [Abelian C] [Abelian D] [HasExt C] [HasExt D] {F : Functor C D} {G : Functor D C} [F.Additive] [G.Additive] [Limits.PreservesFiniteLimits F] [Limits.PreservesFiniteColimits F] [Limits.PreservesFiniteLimits G] [Limits.PreservesFiniteColimits G] (adj : F ⊣ G) {X₁ X₂ : C} {Y : D} {a b : ℕ} (e : Abelian.Ext X₁ X₂ a) (e' : Abelian.Ext X₂ (G.obj Y) b) {c : ℕ} (h : a + b = c) :
theorem CategoryTheory.Adjunction.extEquiv_symm_naturality_left₀ {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [Abelian C] [Abelian D] [HasExt C] [HasExt D] {F : Functor C D} {G : Functor D C} [F.Additive] [G.Additive] [Limits.PreservesFiniteLimits F] [Limits.PreservesFiniteColimits F] [Limits.PreservesFiniteLimits G] [Limits.PreservesFiniteColimits G] (adj : F ⊣ G) {X₁ X₂ : C} {Y : D} {n : ℕ} (f : X₁ ⟶ X₂) (e : Abelian.Ext X₂ (G.obj Y) n) :
adj.extEquiv.symm ((Abelian.Ext.mk₀ f).comp e ⋯) = (Abelian.Ext.mk₀ (F.map f)).comp (adj.extEquiv.symm e) ⋯
theorem CategoryTheory.Adjunction.extEquiv_symm_naturality_right {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [Abelian C] [Abelian D] [HasExt C] [HasExt D] {F : Functor C D} {G : Functor D C} [F.Additive] [G.Additive] [Limits.PreservesFiniteLimits F] [Limits.PreservesFiniteColimits F] [Limits.PreservesFiniteLimits G] [Limits.PreservesFiniteColimits G] (adj : F ⊣ G) {X : C} {Y₁ Y₂ : D} {a b : ℕ} (e : Abelian.Ext X (G.obj Y₁) a) (e' : Abelian.Ext Y₁ Y₂ b) {c : ℕ} (h : a + b = c) :
theorem CategoryTheory.Adjunction.extEquiv_symm_naturality_right₀ {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [Abelian C] [Abelian D] [HasExt C] [HasExt D] {F : Functor C D} {G : Functor D C} [F.Additive] [G.Additive] [Limits.PreservesFiniteLimits F] [Limits.PreservesFiniteColimits F] [Limits.PreservesFiniteLimits G] [Limits.PreservesFiniteColimits G] (adj : F ⊣ G) {X : C} {Y₁ Y₂ : D} {n : ℕ} (e : Abelian.Ext X (G.obj Y₁) n) (f : Y₁ ⟶ Y₂) :
adj.extEquiv.symm (e.comp (Abelian.Ext.mk₀ (G.map f)) ⋯) = (adj.extEquiv.symm e).comp (Abelian.Ext.mk₀ f) ⋯
@[reducible, inline]
noncomputable abbrev CategoryTheory.Adjunction.extLinearEquiv {C : Type u_1} {D : Type u_2} [Category.{v_1, u_1} C] [Category.{v_2, u_2} D] [Abelian C] [Abelian D] [HasExt C] [HasExt D] {F : Functor C D} {G : Functor D C} [F.Additive] [G.Additive] [Limits.PreservesFiniteLimits F] [Limits.PreservesFiniteColimits F] [Limits.PreservesFiniteLimits G] [Limits.PreservesFiniteColimits G] (adj : F ⊣ G) (R : Type u_3) [Ring R] [Linear R C] [Linear R D] [Functor.Linear R G] {X : C} {Y : D} {n : ℕ} :
The linear equivalence on Ext-modules that is induced by an adjunction
between exact linear functors.