THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4. Tools for compatibilities between Dold-Kan equivalences
The purpose of this file is to introduce tools which will enable the
construction of the Dold-Kan equivalence simplicial_object C ≌ chain_complex C ℕ
for a pseudoabelian category C
from the equivalence
karoubi (simplicial_object C) ≌ karoubi (chain_complex C ℕ)
and the two
equivalences simplicial_object C ≅ karoubi (simplicial_object C)
and
chain_complex C ℕ ≅ karoubi (chain_complex C ℕ)
.
It is certainly possible to get an equivalence simplicial_object C ≌ chain_complex C ℕ
using a compositions of the three equivalences above, but then neither the functor
nor the inverse would have good definitional properties. For example, it would be better
if the inverse functor of the equivalence was exactly the functor
Γ₀ : simplicial_object C ⥤ chain_complex C ℕ
which was constructed in functor_gamma.lean
.
In this file, given four categories A
, A'
, B
, B'
, equivalences eA : A ≅ A'
,
eB : B ≅ B'
, e' : A' ≅ B'
, functors F : A ⥤ B'
, G : B ⥤ A
equipped with certain
compatibilities, we construct successive equivalences:
equivalence₀
fromA
toB'
, which is the composition ofeA
ande'
.equivalence₁
fromA
toB'
, with the same inverse functor asequivalence₀
, but whose functor isF
.equivalence₂
fromA
toB
, which is the composition ofequivalence₁
and the inverse ofeB
:equivalence
fromA
toB
, which has the same functorF ⋙ eB.inverse
asequivalence₂
, but whose inverse functor isG
.
When extra assumptions are given, we shall also provide simplification lemmas for the
unit and counit isomorphisms of equivalence
.
(See equivalence.lean
for the general strategy of proof of the Dold-Kan equivalence.)
A basic equivalence A ≅ B'
obtained by composing eA : A ≅ A'
and e' : A' ≅ B'
.
Equations
An intermediate equivalence A ≅ B'
whose functor is F
and whose inverse is
e'.inverse ⋙ eA.inverse
.
The counit isomorphism of the equivalence equivalence₁
between A
and B'
.
Equations
- algebraic_topology.dold_kan.compatibility.equivalence₁_counit_iso hF = (((category_theory.iso_whisker_left (e'.inverse ⋙ eA.inverse) hF.symm ≪≫ category_theory.iso.refl ((e'.inverse ⋙ eA.inverse) ⋙ eA.functor ⋙ e'.functor)) ≪≫ category_theory.iso_whisker_left e'.inverse (category_theory.iso_whisker_right eA.counit_iso e'.functor)) ≪≫ category_theory.iso.refl (e'.inverse ⋙ 𝟭 A' ⋙ e'.functor)) ≪≫ e'.counit_iso
The unit isomorphism of the equivalence equivalence₁
between A
and B'
.
Equations
- algebraic_topology.dold_kan.compatibility.equivalence₁_unit_iso hF = (((eA.unit_iso ≪≫ category_theory.iso.refl (eA.functor ⋙ eA.inverse)) ≪≫ category_theory.iso_whisker_left eA.functor (category_theory.iso_whisker_right e'.unit_iso eA.inverse)) ≪≫ category_theory.iso.refl (eA.functor ⋙ (e'.functor ⋙ e'.inverse) ⋙ eA.inverse)) ≪≫ category_theory.iso_whisker_right hF (e'.inverse ⋙ eA.inverse)
An intermediate equivalence A ≅ B
obtained as the composition of equivalence₁
and
the inverse of eB : B ≌ B'
.
The counit isomorphism of the equivalence equivalence₂
between A
and B
.
Equations
- algebraic_topology.dold_kan.compatibility.equivalence₂_counit_iso eB hF = ((category_theory.iso.refl ((eB.functor ⋙ e'.inverse ⋙ eA.inverse) ⋙ F ⋙ eB.inverse) ≪≫ category_theory.iso_whisker_left eB.functor (category_theory.iso_whisker_right (algebraic_topology.dold_kan.compatibility.equivalence₁_counit_iso hF) eB.inverse)) ≪≫ category_theory.iso.refl (eB.functor ⋙ 𝟭 B' ⋙ eB.inverse)) ≪≫ eB.unit_iso.symm
The unit isomorphism of the equivalence equivalence₂
between A
and B
.
Equations
- algebraic_topology.dold_kan.compatibility.equivalence₂_unit_iso eB hF = ((algebraic_topology.dold_kan.compatibility.equivalence₁_unit_iso hF ≪≫ category_theory.iso.refl (F ⋙ e'.inverse ⋙ eA.inverse)) ≪≫ category_theory.iso_whisker_left F (category_theory.iso_whisker_right eB.counit_iso.symm (e'.inverse ⋙ eA.inverse))) ≪≫ category_theory.iso.refl (F ⋙ (eB.inverse ⋙ eB.functor) ⋙ e'.inverse ⋙ eA.inverse)
The equivalence A ≅ B
whose functor is F ⋙ eB.inverse
and
whose inverse is G : B ≅ A
.
Equations
- algebraic_topology.dold_kan.compatibility.equivalence hF hG = let _inst : category_theory.is_equivalence G := category_theory.is_equivalence.of_iso (((category_theory.iso.refl (eB.functor ⋙ e'.inverse ⋙ eA.inverse) ≪≫ category_theory.iso_whisker_right hG eA.inverse) ≪≫ category_theory.iso_whisker_left G eA.unit_iso.symm) ≪≫ G.right_unitor) (category_theory.is_equivalence.of_equivalence (algebraic_topology.dold_kan.compatibility.equivalence₂ eB hF).symm) in G.as_equivalence.symm
The isomorphism eB.functor ⋙ e'.inverse ⋙ e'.functor ≅ eB.functor
deduced
from the counit isomorphism of e'
.
The isomorphism eB.functor ⋙ e'.inverse ⋙ e'.functor ≅ eB.functor
deduced
from the isomorphisms hF : eA.functor ⋙ e'.functor ≅ F
,
hG : eB.functor ⋙ e'.inverse ≅ G ⋙ eA.functor
and the datum of
an isomorphism η : G ⋙ F ≅ eB.functor
.
Equations
- algebraic_topology.dold_kan.compatibility.τ₁ hF hG η = (((category_theory.iso.refl (eB.functor ⋙ e'.inverse ⋙ e'.functor) ≪≫ category_theory.iso_whisker_right hG e'.functor) ≪≫ category_theory.iso.refl ((G ⋙ eA.functor) ⋙ e'.functor)) ≪≫ category_theory.iso_whisker_left G hF) ≪≫ η
The counit isomorphism of equivalence
.
Equations
The isomorphism eA.functor ≅ F ⋙ e'.inverse
deduced from the
unit isomorphism of e'
and the isomorphism hF : eA.functor ⋙ e'.functor ≅ F
.
Equations
The unit isomorphism of equivalence
.
Equations
- algebraic_topology.dold_kan.compatibility.equivalence_unit_iso hG ε = (((((((eA.unit_iso ≪≫ category_theory.iso_whisker_right ε eA.inverse) ≪≫ category_theory.iso.refl ((F ⋙ e'.inverse) ⋙ eA.inverse)) ≪≫ category_theory.iso_whisker_left F (category_theory.iso_whisker_right eB.counit_iso.symm (e'.inverse ⋙ eA.inverse))) ≪≫ category_theory.iso.refl (F ⋙ (eB.inverse ⋙ eB.functor) ⋙ e'.inverse ⋙ eA.inverse)) ≪≫ category_theory.iso_whisker_left (F ⋙ eB.inverse) (category_theory.iso_whisker_right hG eA.inverse)) ≪≫ category_theory.iso.refl ((F ⋙ eB.inverse) ⋙ (G ⋙ eA.functor) ⋙ eA.inverse)) ≪≫ category_theory.iso_whisker_left (F ⋙ eB.inverse ⋙ G) eA.unit_iso.symm) ≪≫ category_theory.iso.refl ((F ⋙ eB.inverse ⋙ G) ⋙ 𝟭 A)