algebraic_topology.dold_kan.compatibilityMathlib.AlgebraicTopology.DoldKan.Compatibility

This file has been ported!

Changes since the initial port

The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

feat(algebraic_topology/dold_kan): The Dold-Kan equivalence for abelian categories (#17926)

Co-authored-by: Joël Riou <joel.riou@universite-paris-saclay.fr>

Diff
@@ -36,7 +36,9 @@ inverse of `eB`:
 but whose inverse functor is `G`.
 
 When extra assumptions are given, we shall also provide simplification lemmas for the
-unit and counit isomorphisms of `equivalence`. (TODO)
+unit and counit isomorphisms of `equivalence`.
+
+(See `equivalence.lean` for the general strategy of proof of the Dold-Kan equivalence.)
 
 -/
 

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

feat(algebraic_topology/dold_kan): tools for compatibilities, lemmas (#17923)

Co-authored-by: Joël Riou <37772949+joelriou@users.noreply.github.com>

Diff
@@ -77,7 +77,7 @@ lemma equivalence₁_inverse : (equivalence₁ hF).inverse = e'.inverse ⋙ eA.i
 def equivalence₁_counit_iso :
   (e'.inverse ⋙ eA.inverse) ⋙ F ≅ 𝟭 B' :=
 calc (e'.inverse ⋙ eA.inverse) ⋙ F
-  ≅ (e'.inverse ⋙ eA.inverse) ⋙ (eA.functor ⋙ e'.functor) : iso_whisker_left _ hF.symm
+    ≅ (e'.inverse ⋙ eA.inverse) ⋙ (eA.functor ⋙ e'.functor) : iso_whisker_left _ hF.symm
 ... ≅ e'.inverse ⋙ (eA.inverse ⋙ eA.functor) ⋙ e'.functor : iso.refl _
 ... ≅ e'.inverse ⋙ 𝟭 _ ⋙ e'.functor : iso_whisker_left _ (iso_whisker_right eA.counit_iso _)
 ... ≅ e'.inverse ⋙ e'.functor : iso.refl _
@@ -97,7 +97,7 @@ def equivalence₁_unit_iso :
 calc 𝟭 A ≅ eA.functor ⋙ eA.inverse : eA.unit_iso
 ... ≅ eA.functor ⋙ 𝟭 A' ⋙ eA.inverse : iso.refl _
 ... ≅ eA.functor ⋙ (e'.functor ⋙ e'.inverse) ⋙ eA.inverse :
-  iso_whisker_left _ (iso_whisker_right e'.unit_iso _)
+        iso_whisker_left _ (iso_whisker_right e'.unit_iso _)
 ... ≅ (eA.functor ⋙ e'.functor) ⋙ (e'.inverse ⋙ eA.inverse) : iso.refl _
 ... ≅ F ⋙ (e'.inverse ⋙ eA.inverse) : iso_whisker_right hF _
 
@@ -124,9 +124,9 @@ lemma equivalence₂_inverse : (equivalence₂ eB hF).inverse =
 def equivalence₂_counit_iso :
   (eB.functor ⋙ e'.inverse ⋙ eA.inverse) ⋙ (F ⋙ eB.inverse) ≅ 𝟭 B :=
 calc (eB.functor ⋙ e'.inverse ⋙ eA.inverse) ⋙ (F ⋙ eB.inverse)
-  ≅ eB.functor ⋙ (e'.inverse ⋙ eA.inverse ⋙ F) ⋙ eB.inverse : iso.refl _
+    ≅ eB.functor ⋙ (e'.inverse ⋙ eA.inverse ⋙ F) ⋙ eB.inverse : iso.refl _
 ... ≅ eB.functor ⋙ 𝟭 _ ⋙ eB.inverse :
-  iso_whisker_left _ (iso_whisker_right (equivalence₁_counit_iso hF) _)
+        iso_whisker_left _ (iso_whisker_right (equivalence₁_counit_iso hF) _)
 ... ≅ eB.functor ⋙ eB.inverse : iso.refl _
 ... ≅ 𝟭 B : eB.unit_iso.symm
 
@@ -146,7 +146,7 @@ def equivalence₂_unit_iso :
 calc 𝟭 A ≅ F ⋙ e'.inverse ⋙ eA.inverse : equivalence₁_unit_iso hF
 ... ≅ F ⋙ 𝟭 B' ⋙ (e'.inverse ⋙ eA.inverse) : iso.refl _
 ... ≅ F ⋙ (eB.inverse ⋙ eB.functor) ⋙ e'.inverse ⋙ eA.inverse :
-  iso_whisker_left _ (iso_whisker_right eB.counit_iso.symm _)
+        iso_whisker_left _ (iso_whisker_right eB.counit_iso.symm _)
 ... ≅ (F ⋙ eB.inverse) ⋙ (eB.functor ⋙ e'.inverse ⋙ eA.inverse) : iso.refl _
 
 lemma equivalence₂_unit_iso_eq :
@@ -169,7 +169,7 @@ begin
   letI : is_equivalence G := begin
     refine is_equivalence.of_iso _ (is_equivalence.of_equivalence (equivalence₂ eB hF).symm),
     calc eB.functor ⋙ e'.inverse ⋙ eA.inverse
-      ≅ (eB.functor ⋙ e'.inverse) ⋙ eA.inverse : iso.refl _
+        ≅ (eB.functor ⋙ e'.inverse) ⋙ eA.inverse : iso.refl _
     ... ≅ (G ⋙ eA.functor) ⋙ eA.inverse : iso_whisker_right hG _
     ... ≅ G ⋙ 𝟭 A : iso_whisker_left _ eA.unit_iso.symm
     ... ≅ G : functor.right_unitor G,
@@ -179,6 +179,119 @@ end
 
 lemma equivalence_functor : (equivalence hF hG).functor = F ⋙ eB.inverse := rfl
 
+omit hG hF
+
+/-- The isomorphism `eB.functor ⋙ e'.inverse ⋙ e'.functor ≅ eB.functor` deduced
+from the counit isomorphism of `e'`. -/
+@[simps hom_app]
+def τ₀ : eB.functor ⋙ e'.inverse ⋙ e'.functor ≅ eB.functor :=
+calc eB.functor ⋙ e'.inverse ⋙ e'.functor
+        ≅ eB.functor ⋙ 𝟭 _ : iso_whisker_left _ e'.counit_iso
+...     ≅ eB.functor : functor.right_unitor _
+
+include hF hG
+
+/-- 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`. -/
+@[simps hom_app]
+def τ₁ (η : G ⋙ F ≅ eB.functor) :
+  eB.functor ⋙ e'.inverse ⋙ e'.functor ≅ eB.functor :=
+calc eB.functor ⋙ e'.inverse ⋙ e'.functor
+    ≅ (eB.functor ⋙ e'.inverse) ⋙ e'.functor : iso.refl _
+... ≅ (G ⋙ eA.functor) ⋙ e'.functor : iso_whisker_right hG _
+... ≅ G ⋙ (eA.functor ⋙ e'.functor) : by refl
+... ≅ G ⋙ F : iso_whisker_left _ hF
+... ≅ eB.functor : η
+
+variables (η : G ⋙ F ≅ eB.functor) (hη : τ₀ = τ₁ hF hG η)
+
+omit hF hG
+include η
+
+/-- The counit isomorphism of `equivalence`. -/
+@[simps]
+def equivalence_counit_iso : G ⋙ (F ⋙ eB.inverse) ≅ 𝟭 B :=
+calc G ⋙ (F ⋙ eB.inverse) ≅ (G ⋙ F) ⋙ eB.inverse : iso.refl _
+... ≅ eB.functor ⋙ eB.inverse : iso_whisker_right η _
+... ≅ 𝟭 B : eB.unit_iso.symm
+
+variables {η hF hG}
+include hη
+
+lemma equivalence_counit_iso_eq :
+  (equivalence hF hG).counit_iso = equivalence_counit_iso η :=
+begin
+  ext1, apply nat_trans.ext, ext Y,
+  dsimp [equivalence, equivalence_counit_iso, is_equivalence.of_equivalence],
+  simp only [equivalence₂_counit_iso_eq eB hF],
+  erw [nat_trans.id_app, nat_trans.id_app],
+  dsimp [equivalence₂, equivalence₁],
+  simp only [assoc, comp_id, F.map_id, id_comp,
+    equivalence₂_counit_iso_hom_app, ← eB.inverse.map_comp_assoc,
+    ← τ₀_hom_app, hη, τ₁_hom_app],
+  erw hF.inv.naturality_assoc,
+  congr' 2,
+  dsimp,
+  simp only [assoc, ← e'.functor.map_comp_assoc, eA.functor.map_comp,
+    equivalence.fun_inv_map, iso.inv_hom_id_app_assoc, hG.inv_hom_id_app],
+  dsimp,
+  rw [comp_id, eA.functor_unit_iso_comp, e'.functor.map_id, id_comp, hF.inv_hom_id_app_assoc],
+end
+
+omit hη η eB
+include hF
+
+variable (hF)
+
+/-- The isomorphism `eA.functor ≅ F ⋙ e'.inverse` deduced from the
+unit isomorphism of `e'` and the isomorphism `hF : eA.functor ⋙ e'.functor ≅ F`. -/
+@[simps]
+def υ : eA.functor ≅ F ⋙ e'.inverse :=
+calc eA.functor ≅ eA.functor ⋙ 𝟭 A' : (functor.left_unitor _).symm
+... ≅ eA.functor ⋙ (e'.functor ⋙ e'.inverse) : iso_whisker_left _ e'.unit_iso
+... ≅ (eA.functor ⋙ e'.functor) ⋙ e'.inverse : iso.refl _
+... ≅ F ⋙ e'.inverse : iso_whisker_right hF _
+
+variables (ε : eA.functor ≅ F ⋙ e'.inverse) (hε : υ hF = ε)
+
+include ε hG
+omit hF
+
+variable (hG)
+
+/-- The unit isomorphism of `equivalence`. -/
+@[simps]
+def equivalence_unit_iso : 𝟭 A ≅ (F ⋙ eB.inverse) ⋙ G :=
+calc 𝟭 A ≅ eA.functor ⋙ eA.inverse : eA.unit_iso
+... ≅ (F ⋙ e'.inverse) ⋙ eA.inverse : iso_whisker_right ε _
+... ≅ F ⋙ 𝟭 B' ⋙ e'.inverse ⋙ eA.inverse : iso.refl _
+... ≅ F ⋙ (eB.inverse ⋙ eB.functor) ⋙ (e'.inverse ⋙ eA.inverse) :
+      iso_whisker_left _ (iso_whisker_right eB.counit_iso.symm _)
+... ≅ (F ⋙ eB.inverse) ⋙ (eB.functor ⋙ e'.inverse) ⋙ eA.inverse : iso.refl _
+... ≅ (F ⋙ eB.inverse) ⋙ (G ⋙ eA.functor) ⋙ eA.inverse :
+      iso_whisker_left _ (iso_whisker_right hG _)
+... ≅ (F ⋙ eB.inverse ⋙ G) ⋙ (eA.functor ⋙ eA.inverse) : iso.refl _
+... ≅ (F ⋙ eB.inverse ⋙ G) ⋙ 𝟭 A : iso_whisker_left _ eA.unit_iso.symm
+... ≅ (F ⋙ eB.inverse) ⋙ G : iso.refl _
+
+include hε
+variables {ε hF hG}
+
+lemma equivalence_unit_iso_eq :
+  (equivalence hF hG).unit_iso = equivalence_unit_iso hG ε :=
+begin
+  ext1, apply nat_trans.ext, ext X,
+  dsimp [equivalence, iso.refl, nat_iso.hcomp, is_equivalence.inverse,
+    is_equivalence.of_equivalence],
+  erw [nat_trans.id_app, id_comp, G.map_id, comp_id, comp_id],
+  simp only [equivalence₂_unit_iso_eq eB hF, equivalence₂_unit_iso_hom_app],
+  dsimp [equivalence₂, equivalence₁],
+  simp only [assoc, equivalence_unit_iso_hom_app, nat_iso.cancel_nat_iso_hom_left,
+    ← eA.inverse.map_comp_assoc, ← hε, υ_hom_app],
+end
+
 end compatibility
 
 end dold_kan

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(first ported)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -3,7 +3,7 @@ Copyright (c) 2022 Joël Riou. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Joël Riou
 -/
-import Mathbin.CategoryTheory.Equivalence
+import CategoryTheory.Equivalence
 
 #align_import algebraic_topology.dold_kan.compatibility from "leanprover-community/mathlib"@"32a7e535287f9c73f2e4d2aef306a39190f0b504"
 
Diff
@@ -5,7 +5,7 @@ Authors: Joël Riou
 -/
 import Mathbin.CategoryTheory.Equivalence
 
-#align_import algebraic_topology.dold_kan.compatibility from "leanprover-community/mathlib"@"18ee599842a5d17f189fe572f0ed8cb1d064d772"
+#align_import algebraic_topology.dold_kan.compatibility from "leanprover-community/mathlib"@"32a7e535287f9c73f2e4d2aef306a39190f0b504"
 
 /-!
 > THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
@@ -37,7 +37,9 @@ inverse of `eB`:
 but whose inverse functor is `G`.
 
 When extra assumptions are given, we shall also provide simplification lemmas for the
-unit and counit isomorphisms of `equivalence`. (TODO)
+unit and counit isomorphisms of `equivalence`.
+
+(See `equivalence.lean` for the general strategy of proof of the Dold-Kan equivalence.)
 
 -/
 
Diff
@@ -216,6 +216,7 @@ theorem equivalence_functor : (equivalence hF hG).Functor = F ⋙ eB.inverse :=
 #align algebraic_topology.dold_kan.compatibility.equivalence_functor AlgebraicTopology.DoldKan.Compatibility.equivalence_functor
 -/
 
+#print AlgebraicTopology.DoldKan.Compatibility.τ₀ /-
 /-- The isomorphism `eB.functor ⋙ e'.inverse ⋙ e'.functor ≅ eB.functor` deduced
 from the counit isomorphism of `e'`. -/
 @[simps hom_app]
@@ -224,7 +225,9 @@ def τ₀ : eB.Functor ⋙ e'.inverse ⋙ e'.Functor ≅ eB.Functor :=
     eB.Functor ⋙ e'.inverse ⋙ e'.Functor ≅ eB.Functor ⋙ 𝟭 _ := isoWhiskerLeft _ e'.counitIso
     _ ≅ eB.Functor := Functor.rightUnitor _
 #align algebraic_topology.dold_kan.compatibility.τ₀ AlgebraicTopology.DoldKan.Compatibility.τ₀
+-/
 
+#print AlgebraicTopology.DoldKan.Compatibility.τ₁ /-
 /-- 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
@@ -238,9 +241,11 @@ def τ₁ (η : G ⋙ F ≅ eB.Functor) : eB.Functor ⋙ e'.inverse ⋙ e'.Funct
     _ ≅ G ⋙ F := (isoWhiskerLeft _ hF)
     _ ≅ eB.Functor := η
 #align algebraic_topology.dold_kan.compatibility.τ₁ AlgebraicTopology.DoldKan.Compatibility.τ₁
+-/
 
 variable (η : G ⋙ F ≅ eB.Functor) (hη : τ₀ = τ₁ hF hG η)
 
+#print AlgebraicTopology.DoldKan.Compatibility.equivalenceCounitIso /-
 /-- The counit isomorphism of `equivalence`. -/
 @[simps]
 def equivalenceCounitIso : G ⋙ F ⋙ eB.inverse ≅ 𝟭 B :=
@@ -249,9 +254,11 @@ def equivalenceCounitIso : G ⋙ F ⋙ eB.inverse ≅ 𝟭 B :=
     _ ≅ eB.Functor ⋙ eB.inverse := (isoWhiskerRight η _)
     _ ≅ 𝟭 B := eB.unitIso.symm
 #align algebraic_topology.dold_kan.compatibility.equivalence_counit_iso AlgebraicTopology.DoldKan.Compatibility.equivalenceCounitIso
+-/
 
 variable {η hF hG}
 
+#print AlgebraicTopology.DoldKan.Compatibility.equivalenceCounitIso_eq /-
 theorem equivalenceCounitIso_eq : (equivalence hF hG).counitIso = equivalenceCounitIso η :=
   by
   ext1; apply nat_trans.ext; ext Y
@@ -269,9 +276,11 @@ theorem equivalenceCounitIso_eq : (equivalence hF hG).counitIso = equivalenceCou
   dsimp
   rw [comp_id, eA.functor_unit_iso_comp, e'.functor.map_id, id_comp, hF.inv_hom_id_app_assoc]
 #align algebraic_topology.dold_kan.compatibility.equivalence_counit_iso_eq AlgebraicTopology.DoldKan.Compatibility.equivalenceCounitIso_eq
+-/
 
 variable (hF)
 
+#print AlgebraicTopology.DoldKan.Compatibility.υ /-
 /-- The isomorphism `eA.functor ≅ F ⋙ e'.inverse` deduced from the
 unit isomorphism of `e'` and the isomorphism `hF : eA.functor ⋙ e'.functor ≅ F`. -/
 @[simps]
@@ -282,11 +291,13 @@ def υ : eA.Functor ≅ F ⋙ e'.inverse :=
     _ ≅ (eA.Functor ⋙ e'.Functor) ⋙ e'.inverse := (Iso.refl _)
     _ ≅ F ⋙ e'.inverse := isoWhiskerRight hF _
 #align algebraic_topology.dold_kan.compatibility.υ AlgebraicTopology.DoldKan.Compatibility.υ
+-/
 
 variable (ε : eA.Functor ≅ F ⋙ e'.inverse) (hε : υ hF = ε)
 
 variable (hG)
 
+#print AlgebraicTopology.DoldKan.Compatibility.equivalenceUnitIso /-
 /-- The unit isomorphism of `equivalence`. -/
 @[simps]
 def equivalenceUnitIso : 𝟭 A ≅ (F ⋙ eB.inverse) ⋙ G :=
@@ -303,9 +314,11 @@ def equivalenceUnitIso : 𝟭 A ≅ (F ⋙ eB.inverse) ⋙ G :=
     _ ≅ (F ⋙ eB.inverse ⋙ G) ⋙ 𝟭 A := (isoWhiskerLeft _ eA.unitIso.symm)
     _ ≅ (F ⋙ eB.inverse) ⋙ G := Iso.refl _
 #align algebraic_topology.dold_kan.compatibility.equivalence_unit_iso AlgebraicTopology.DoldKan.Compatibility.equivalenceUnitIso
+-/
 
 variable {ε hF hG}
 
+#print AlgebraicTopology.DoldKan.Compatibility.equivalenceUnitIso_eq /-
 theorem equivalenceUnitIso_eq : (equivalence hF hG).unitIso = equivalenceUnitIso hG ε :=
   by
   ext1; apply nat_trans.ext; ext X
@@ -317,6 +330,7 @@ theorem equivalenceUnitIso_eq : (equivalence hF hG).unitIso = equivalenceUnitIso
   simp only [assoc, equivalence_unit_iso_hom_app, nat_iso.cancel_nat_iso_hom_left, ←
     eA.inverse.map_comp_assoc, ← hε, υ_hom_app]
 #align algebraic_topology.dold_kan.compatibility.equivalence_unit_iso_eq AlgebraicTopology.DoldKan.Compatibility.equivalenceUnitIso_eq
+-/
 
 end Compatibility
 
Diff
@@ -5,7 +5,7 @@ Authors: Joël Riou
 -/
 import Mathbin.CategoryTheory.Equivalence
 
-#align_import algebraic_topology.dold_kan.compatibility from "leanprover-community/mathlib"@"d64d67d000b974f0d86a2be7918cf800be6271c8"
+#align_import algebraic_topology.dold_kan.compatibility from "leanprover-community/mathlib"@"18ee599842a5d17f189fe572f0ed8cb1d064d772"
 
 /-!
 > THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
@@ -216,6 +216,108 @@ theorem equivalence_functor : (equivalence hF hG).Functor = F ⋙ eB.inverse :=
 #align algebraic_topology.dold_kan.compatibility.equivalence_functor AlgebraicTopology.DoldKan.Compatibility.equivalence_functor
 -/
 
+/-- The isomorphism `eB.functor ⋙ e'.inverse ⋙ e'.functor ≅ eB.functor` deduced
+from the counit isomorphism of `e'`. -/
+@[simps hom_app]
+def τ₀ : eB.Functor ⋙ e'.inverse ⋙ e'.Functor ≅ eB.Functor :=
+  calc
+    eB.Functor ⋙ e'.inverse ⋙ e'.Functor ≅ eB.Functor ⋙ 𝟭 _ := isoWhiskerLeft _ e'.counitIso
+    _ ≅ eB.Functor := Functor.rightUnitor _
+#align algebraic_topology.dold_kan.compatibility.τ₀ AlgebraicTopology.DoldKan.Compatibility.τ₀
+
+/-- 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`. -/
+@[simps hom_app]
+def τ₁ (η : G ⋙ F ≅ eB.Functor) : eB.Functor ⋙ e'.inverse ⋙ e'.Functor ≅ eB.Functor :=
+  calc
+    eB.Functor ⋙ e'.inverse ⋙ e'.Functor ≅ (eB.Functor ⋙ e'.inverse) ⋙ e'.Functor := Iso.refl _
+    _ ≅ (G ⋙ eA.Functor) ⋙ e'.Functor := (isoWhiskerRight hG _)
+    _ ≅ G ⋙ eA.Functor ⋙ e'.Functor := by rfl
+    _ ≅ G ⋙ F := (isoWhiskerLeft _ hF)
+    _ ≅ eB.Functor := η
+#align algebraic_topology.dold_kan.compatibility.τ₁ AlgebraicTopology.DoldKan.Compatibility.τ₁
+
+variable (η : G ⋙ F ≅ eB.Functor) (hη : τ₀ = τ₁ hF hG η)
+
+/-- The counit isomorphism of `equivalence`. -/
+@[simps]
+def equivalenceCounitIso : G ⋙ F ⋙ eB.inverse ≅ 𝟭 B :=
+  calc
+    G ⋙ F ⋙ eB.inverse ≅ (G ⋙ F) ⋙ eB.inverse := Iso.refl _
+    _ ≅ eB.Functor ⋙ eB.inverse := (isoWhiskerRight η _)
+    _ ≅ 𝟭 B := eB.unitIso.symm
+#align algebraic_topology.dold_kan.compatibility.equivalence_counit_iso AlgebraicTopology.DoldKan.Compatibility.equivalenceCounitIso
+
+variable {η hF hG}
+
+theorem equivalenceCounitIso_eq : (equivalence hF hG).counitIso = equivalenceCounitIso η :=
+  by
+  ext1; apply nat_trans.ext; ext Y
+  dsimp [Equivalence, equivalence_counit_iso, is_equivalence.of_equivalence]
+  simp only [equivalence₂_counit_iso_eq eB hF]
+  erw [nat_trans.id_app, nat_trans.id_app]
+  dsimp [equivalence₂, equivalence₁]
+  simp only [assoc, comp_id, F.map_id, id_comp, equivalence₂_counit_iso_hom_app, ←
+    eB.inverse.map_comp_assoc, ← τ₀_hom_app, hη, τ₁_hom_app]
+  erw [hF.inv.naturality_assoc]
+  congr 2
+  dsimp
+  simp only [assoc, ← e'.functor.map_comp_assoc, eA.functor.map_comp, equivalence.fun_inv_map,
+    iso.inv_hom_id_app_assoc, hG.inv_hom_id_app]
+  dsimp
+  rw [comp_id, eA.functor_unit_iso_comp, e'.functor.map_id, id_comp, hF.inv_hom_id_app_assoc]
+#align algebraic_topology.dold_kan.compatibility.equivalence_counit_iso_eq AlgebraicTopology.DoldKan.Compatibility.equivalenceCounitIso_eq
+
+variable (hF)
+
+/-- The isomorphism `eA.functor ≅ F ⋙ e'.inverse` deduced from the
+unit isomorphism of `e'` and the isomorphism `hF : eA.functor ⋙ e'.functor ≅ F`. -/
+@[simps]
+def υ : eA.Functor ≅ F ⋙ e'.inverse :=
+  calc
+    eA.Functor ≅ eA.Functor ⋙ 𝟭 A' := (Functor.leftUnitor _).symm
+    _ ≅ eA.Functor ⋙ e'.Functor ⋙ e'.inverse := (isoWhiskerLeft _ e'.unitIso)
+    _ ≅ (eA.Functor ⋙ e'.Functor) ⋙ e'.inverse := (Iso.refl _)
+    _ ≅ F ⋙ e'.inverse := isoWhiskerRight hF _
+#align algebraic_topology.dold_kan.compatibility.υ AlgebraicTopology.DoldKan.Compatibility.υ
+
+variable (ε : eA.Functor ≅ F ⋙ e'.inverse) (hε : υ hF = ε)
+
+variable (hG)
+
+/-- The unit isomorphism of `equivalence`. -/
+@[simps]
+def equivalenceUnitIso : 𝟭 A ≅ (F ⋙ eB.inverse) ⋙ G :=
+  calc
+    𝟭 A ≅ eA.Functor ⋙ eA.inverse := eA.unitIso
+    _ ≅ (F ⋙ e'.inverse) ⋙ eA.inverse := (isoWhiskerRight ε _)
+    _ ≅ F ⋙ 𝟭 B' ⋙ e'.inverse ⋙ eA.inverse := (Iso.refl _)
+    _ ≅ F ⋙ (eB.inverse ⋙ eB.Functor) ⋙ e'.inverse ⋙ eA.inverse :=
+      (isoWhiskerLeft _ (isoWhiskerRight eB.counitIso.symm _))
+    _ ≅ (F ⋙ eB.inverse) ⋙ (eB.Functor ⋙ e'.inverse) ⋙ eA.inverse := (Iso.refl _)
+    _ ≅ (F ⋙ eB.inverse) ⋙ (G ⋙ eA.Functor) ⋙ eA.inverse :=
+      (isoWhiskerLeft _ (isoWhiskerRight hG _))
+    _ ≅ (F ⋙ eB.inverse ⋙ G) ⋙ eA.Functor ⋙ eA.inverse := (Iso.refl _)
+    _ ≅ (F ⋙ eB.inverse ⋙ G) ⋙ 𝟭 A := (isoWhiskerLeft _ eA.unitIso.symm)
+    _ ≅ (F ⋙ eB.inverse) ⋙ G := Iso.refl _
+#align algebraic_topology.dold_kan.compatibility.equivalence_unit_iso AlgebraicTopology.DoldKan.Compatibility.equivalenceUnitIso
+
+variable {ε hF hG}
+
+theorem equivalenceUnitIso_eq : (equivalence hF hG).unitIso = equivalenceUnitIso hG ε :=
+  by
+  ext1; apply nat_trans.ext; ext X
+  dsimp [Equivalence, iso.refl, nat_iso.hcomp, is_equivalence.inverse,
+    is_equivalence.of_equivalence]
+  erw [nat_trans.id_app, id_comp, G.map_id, comp_id, comp_id]
+  simp only [equivalence₂_unit_iso_eq eB hF, equivalence₂_unit_iso_hom_app]
+  dsimp [equivalence₂, equivalence₁]
+  simp only [assoc, equivalence_unit_iso_hom_app, nat_iso.cancel_nat_iso_hom_left, ←
+    eA.inverse.map_comp_assoc, ← hε, υ_hom_app]
+#align algebraic_topology.dold_kan.compatibility.equivalence_unit_iso_eq AlgebraicTopology.DoldKan.Compatibility.equivalenceUnitIso_eq
+
 end Compatibility
 
 end DoldKan
Diff
@@ -2,14 +2,11 @@
 Copyright (c) 2022 Joël Riou. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Joël Riou
-
-! This file was ported from Lean 3 source module algebraic_topology.dold_kan.compatibility
-! leanprover-community/mathlib commit d64d67d000b974f0d86a2be7918cf800be6271c8
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.CategoryTheory.Equivalence
 
+#align_import algebraic_topology.dold_kan.compatibility from "leanprover-community/mathlib"@"d64d67d000b974f0d86a2be7918cf800be6271c8"
+
 /-!
 > THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
 > Any changes to this file require a corresponding PR to mathlib4.
Diff
@@ -57,16 +57,17 @@ variable {A A' B B' : Type _} [Category A] [Category A'] [Category B] [Category
   (eB : B ≌ B') (e' : A' ≌ B') {F : A ⥤ B'} (hF : eA.Functor ⋙ e'.Functor ≅ F) {G : B ⥤ A}
   (hG : eB.Functor ⋙ e'.inverse ≅ G ⋙ eA.Functor)
 
+#print AlgebraicTopology.DoldKan.Compatibility.equivalence₀ /-
 /-- A basic equivalence `A ≅ B'` obtained by composing `eA : A ≅ A'` and `e' : A' ≅ B'`. -/
 @[simps Functor inverse unit_iso_hom_app]
 def equivalence₀ : A ≌ B' :=
   eA.trans e'
 #align algebraic_topology.dold_kan.compatibility.equivalence₀ AlgebraicTopology.DoldKan.Compatibility.equivalence₀
-
-include hF
+-/
 
 variable {eA} {e'}
 
+#print AlgebraicTopology.DoldKan.Compatibility.equivalence₁ /-
 /-- An intermediate equivalence `A ≅ B'` whose functor is `F` and whose inverse is
 `e'.inverse ⋙ eA.inverse`. -/
 @[simps Functor]
@@ -75,11 +76,15 @@ def equivalence₁ : A ≌ B' :=
     is_equivalence.of_iso hF (is_equivalence.of_equivalence (equivalence₀ eA e'))
   F.as_equivalence
 #align algebraic_topology.dold_kan.compatibility.equivalence₁ AlgebraicTopology.DoldKan.Compatibility.equivalence₁
+-/
 
+#print AlgebraicTopology.DoldKan.Compatibility.equivalence₁_inverse /-
 theorem equivalence₁_inverse : (equivalence₁ hF).inverse = e'.inverse ⋙ eA.inverse :=
   rfl
 #align algebraic_topology.dold_kan.compatibility.equivalence₁_inverse AlgebraicTopology.DoldKan.Compatibility.equivalence₁_inverse
+-/
 
+#print AlgebraicTopology.DoldKan.Compatibility.equivalence₁CounitIso /-
 /-- The counit isomorphism of the equivalence `equivalence₁` between `A` and `B'`. -/
 @[simps]
 def equivalence₁CounitIso : (e'.inverse ⋙ eA.inverse) ⋙ F ≅ 𝟭 B' :=
@@ -91,14 +96,18 @@ def equivalence₁CounitIso : (e'.inverse ⋙ eA.inverse) ⋙ F ≅ 𝟭 B' :=
     _ ≅ e'.inverse ⋙ e'.Functor := (Iso.refl _)
     _ ≅ 𝟭 B' := e'.counitIso
 #align algebraic_topology.dold_kan.compatibility.equivalence₁_counit_iso AlgebraicTopology.DoldKan.Compatibility.equivalence₁CounitIso
+-/
 
+#print AlgebraicTopology.DoldKan.Compatibility.equivalence₁CounitIso_eq /-
 theorem equivalence₁CounitIso_eq : (equivalence₁ hF).counitIso = equivalence₁CounitIso hF :=
   by
   ext Y
   dsimp [equivalence₀, equivalence₁, is_equivalence.inverse, is_equivalence.of_equivalence]
   simp only [equivalence₁_counit_iso_hom_app, CategoryTheory.Functor.map_id, comp_id]
 #align algebraic_topology.dold_kan.compatibility.equivalence₁_counit_iso_eq AlgebraicTopology.DoldKan.Compatibility.equivalence₁CounitIso_eq
+-/
 
+#print AlgebraicTopology.DoldKan.Compatibility.equivalence₁UnitIso /-
 /-- The unit isomorphism of the equivalence `equivalence₁` between `A` and `B'`. -/
 @[simps]
 def equivalence₁UnitIso : 𝟭 A ≅ F ⋙ e'.inverse ⋙ eA.inverse :=
@@ -110,28 +119,34 @@ def equivalence₁UnitIso : 𝟭 A ≅ F ⋙ e'.inverse ⋙ eA.inverse :=
     _ ≅ (eA.Functor ⋙ e'.Functor) ⋙ e'.inverse ⋙ eA.inverse := (Iso.refl _)
     _ ≅ F ⋙ e'.inverse ⋙ eA.inverse := isoWhiskerRight hF _
 #align algebraic_topology.dold_kan.compatibility.equivalence₁_unit_iso AlgebraicTopology.DoldKan.Compatibility.equivalence₁UnitIso
+-/
 
+#print AlgebraicTopology.DoldKan.Compatibility.equivalence₁UnitIso_eq /-
 theorem equivalence₁UnitIso_eq : (equivalence₁ hF).unitIso = equivalence₁UnitIso hF :=
   by
   ext X
   dsimp [equivalence₀, equivalence₁, nat_iso.hcomp, is_equivalence.of_equivalence]
   simp only [id_comp, assoc, equivalence₁_unit_iso_hom_app]
 #align algebraic_topology.dold_kan.compatibility.equivalence₁_unit_iso_eq AlgebraicTopology.DoldKan.Compatibility.equivalence₁UnitIso_eq
+-/
 
-include eB
-
+#print AlgebraicTopology.DoldKan.Compatibility.equivalence₂ /-
 /-- An intermediate equivalence `A ≅ B` obtained as the composition of `equivalence₁` and
 the inverse of `eB : B ≌ B'`. -/
 @[simps Functor]
 def equivalence₂ : A ≌ B :=
   (equivalence₁ hF).trans eB.symm
 #align algebraic_topology.dold_kan.compatibility.equivalence₂ AlgebraicTopology.DoldKan.Compatibility.equivalence₂
+-/
 
+#print AlgebraicTopology.DoldKan.Compatibility.equivalence₂_inverse /-
 theorem equivalence₂_inverse :
     (equivalence₂ eB hF).inverse = eB.Functor ⋙ e'.inverse ⋙ eA.inverse :=
   rfl
 #align algebraic_topology.dold_kan.compatibility.equivalence₂_inverse AlgebraicTopology.DoldKan.Compatibility.equivalence₂_inverse
+-/
 
+#print AlgebraicTopology.DoldKan.Compatibility.equivalence₂CounitIso /-
 /-- The counit isomorphism of the equivalence `equivalence₂` between `A` and `B`. -/
 @[simps]
 def equivalence₂CounitIso : (eB.Functor ⋙ e'.inverse ⋙ eA.inverse) ⋙ F ⋙ eB.inverse ≅ 𝟭 B :=
@@ -144,7 +159,9 @@ def equivalence₂CounitIso : (eB.Functor ⋙ e'.inverse ⋙ eA.inverse) ⋙ F 
     _ ≅ eB.Functor ⋙ eB.inverse := (Iso.refl _)
     _ ≅ 𝟭 B := eB.unitIso.symm
 #align algebraic_topology.dold_kan.compatibility.equivalence₂_counit_iso AlgebraicTopology.DoldKan.Compatibility.equivalence₂CounitIso
+-/
 
+#print AlgebraicTopology.DoldKan.Compatibility.equivalence₂CounitIso_eq /-
 theorem equivalence₂CounitIso_eq : (equivalence₂ eB hF).counitIso = equivalence₂CounitIso eB hF :=
   by
   ext Y'
@@ -152,7 +169,9 @@ theorem equivalence₂CounitIso_eq : (equivalence₂ eB hF).counitIso = equivale
   simp only [equivalence₁_counit_iso_eq, equivalence₂_counit_iso_hom_app,
     equivalence₁_counit_iso_hom_app, functor.map_comp, assoc]
 #align algebraic_topology.dold_kan.compatibility.equivalence₂_counit_iso_eq AlgebraicTopology.DoldKan.Compatibility.equivalence₂CounitIso_eq
+-/
 
+#print AlgebraicTopology.DoldKan.Compatibility.equivalence₂UnitIso /-
 /-- The unit isomorphism of the equivalence `equivalence₂` between `A` and `B`. -/
 @[simps]
 def equivalence₂UnitIso : 𝟭 A ≅ (F ⋙ eB.inverse) ⋙ eB.Functor ⋙ e'.inverse ⋙ eA.inverse :=
@@ -163,7 +182,9 @@ def equivalence₂UnitIso : 𝟭 A ≅ (F ⋙ eB.inverse) ⋙ eB.Functor ⋙ e'.
       (isoWhiskerLeft _ (isoWhiskerRight eB.counitIso.symm _))
     _ ≅ (F ⋙ eB.inverse) ⋙ eB.Functor ⋙ e'.inverse ⋙ eA.inverse := Iso.refl _
 #align algebraic_topology.dold_kan.compatibility.equivalence₂_unit_iso AlgebraicTopology.DoldKan.Compatibility.equivalence₂UnitIso
+-/
 
+#print AlgebraicTopology.DoldKan.Compatibility.equivalence₂UnitIso_eq /-
 theorem equivalence₂UnitIso_eq : (equivalence₂ eB hF).unitIso = equivalence₂UnitIso eB hF :=
   by
   ext X
@@ -171,11 +192,11 @@ theorem equivalence₂UnitIso_eq : (equivalence₂ eB hF).unitIso = equivalence
   simpa only [equivalence₂_unit_iso_hom_app, equivalence₁_unit_iso_eq,
     equivalence₁_unit_iso_hom_app, assoc, nat_iso.cancel_nat_iso_hom_left]
 #align algebraic_topology.dold_kan.compatibility.equivalence₂_unit_iso_eq AlgebraicTopology.DoldKan.Compatibility.equivalence₂UnitIso_eq
+-/
 
 variable {eB}
 
-include hG
-
+#print AlgebraicTopology.DoldKan.Compatibility.equivalence /-
 /-- The equivalence `A ≅ B` whose functor is `F ⋙ eB.inverse` and
 whose inverse is `G : B ≅ A`. -/
 @[simps inverse]
@@ -190,10 +211,13 @@ def equivalence : A ≌ B :=
       _ ≅ G := functor.right_unitor G
   G.as_equivalence.symm
 #align algebraic_topology.dold_kan.compatibility.equivalence AlgebraicTopology.DoldKan.Compatibility.equivalence
+-/
 
+#print AlgebraicTopology.DoldKan.Compatibility.equivalence_functor /-
 theorem equivalence_functor : (equivalence hF hG).Functor = F ⋙ eB.inverse :=
   rfl
 #align algebraic_topology.dold_kan.compatibility.equivalence_functor AlgebraicTopology.DoldKan.Compatibility.equivalence_functor
+-/
 
 end Compatibility
 
Diff
@@ -90,7 +90,6 @@ def equivalence₁CounitIso : (e'.inverse ⋙ eA.inverse) ⋙ F ≅ 𝟭 B' :=
     _ ≅ e'.inverse ⋙ 𝟭 _ ⋙ e'.Functor := (isoWhiskerLeft _ (isoWhiskerRight eA.counitIso _))
     _ ≅ e'.inverse ⋙ e'.Functor := (Iso.refl _)
     _ ≅ 𝟭 B' := e'.counitIso
-    
 #align algebraic_topology.dold_kan.compatibility.equivalence₁_counit_iso AlgebraicTopology.DoldKan.Compatibility.equivalence₁CounitIso
 
 theorem equivalence₁CounitIso_eq : (equivalence₁ hF).counitIso = equivalence₁CounitIso hF :=
@@ -110,7 +109,6 @@ def equivalence₁UnitIso : 𝟭 A ≅ F ⋙ e'.inverse ⋙ eA.inverse :=
       (isoWhiskerLeft _ (isoWhiskerRight e'.unitIso _))
     _ ≅ (eA.Functor ⋙ e'.Functor) ⋙ e'.inverse ⋙ eA.inverse := (Iso.refl _)
     _ ≅ F ⋙ e'.inverse ⋙ eA.inverse := isoWhiskerRight hF _
-    
 #align algebraic_topology.dold_kan.compatibility.equivalence₁_unit_iso AlgebraicTopology.DoldKan.Compatibility.equivalence₁UnitIso
 
 theorem equivalence₁UnitIso_eq : (equivalence₁ hF).unitIso = equivalence₁UnitIso hF :=
@@ -145,7 +143,6 @@ def equivalence₂CounitIso : (eB.Functor ⋙ e'.inverse ⋙ eA.inverse) ⋙ F 
       (isoWhiskerLeft _ (isoWhiskerRight (equivalence₁CounitIso hF) _))
     _ ≅ eB.Functor ⋙ eB.inverse := (Iso.refl _)
     _ ≅ 𝟭 B := eB.unitIso.symm
-    
 #align algebraic_topology.dold_kan.compatibility.equivalence₂_counit_iso AlgebraicTopology.DoldKan.Compatibility.equivalence₂CounitIso
 
 theorem equivalence₂CounitIso_eq : (equivalence₂ eB hF).counitIso = equivalence₂CounitIso eB hF :=
@@ -165,7 +162,6 @@ def equivalence₂UnitIso : 𝟭 A ≅ (F ⋙ eB.inverse) ⋙ eB.Functor ⋙ e'.
     _ ≅ F ⋙ (eB.inverse ⋙ eB.Functor) ⋙ e'.inverse ⋙ eA.inverse :=
       (isoWhiskerLeft _ (isoWhiskerRight eB.counitIso.symm _))
     _ ≅ (F ⋙ eB.inverse) ⋙ eB.Functor ⋙ e'.inverse ⋙ eA.inverse := Iso.refl _
-    
 #align algebraic_topology.dold_kan.compatibility.equivalence₂_unit_iso AlgebraicTopology.DoldKan.Compatibility.equivalence₂UnitIso
 
 theorem equivalence₂UnitIso_eq : (equivalence₂ eB hF).unitIso = equivalence₂UnitIso eB hF :=
@@ -192,7 +188,6 @@ def equivalence : A ≌ B :=
       _ ≅ (G ⋙ eA.functor) ⋙ eA.inverse := (iso_whisker_right hG _)
       _ ≅ G ⋙ 𝟭 A := (iso_whisker_left _ eA.unit_iso.symm)
       _ ≅ G := functor.right_unitor G
-      
   G.as_equivalence.symm
 #align algebraic_topology.dold_kan.compatibility.equivalence AlgebraicTopology.DoldKan.Compatibility.equivalence
 
Diff
@@ -57,12 +57,6 @@ variable {A A' B B' : Type _} [Category A] [Category A'] [Category B] [Category
   (eB : B ≌ B') (e' : A' ≌ B') {F : A ⥤ B'} (hF : eA.Functor ⋙ e'.Functor ≅ F) {G : B ⥤ A}
   (hG : eB.Functor ⋙ e'.inverse ≅ G ⋙ eA.Functor)
 
-/- warning: algebraic_topology.dold_kan.compatibility.equivalence₀ -> AlgebraicTopology.DoldKan.Compatibility.equivalence₀ is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} {A' : Type.{u2}} {B' : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u4, u1} A] [_inst_2 : CategoryTheory.Category.{u5, u2} A'] [_inst_4 : CategoryTheory.Category.{u6, u3} B'], (CategoryTheory.Equivalence.{u4, u5, u1, u2} A _inst_1 A' _inst_2) -> (CategoryTheory.Equivalence.{u5, u6, u2, u3} A' _inst_2 B' _inst_4) -> (CategoryTheory.Equivalence.{u4, u6, u1, u3} A _inst_1 B' _inst_4)
-but is expected to have type
-  forall {A : Type.{u1}} {A' : Type.{u2}} {B' : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u4, u1} A] [_inst_2 : CategoryTheory.Category.{u5, u2} A'] [_inst_4 : CategoryTheory.Category.{u6, u3} B'], (CategoryTheory.Equivalence.{u4, u5, u1, u2} A A' _inst_1 _inst_2) -> (CategoryTheory.Equivalence.{u5, u6, u2, u3} A' B' _inst_2 _inst_4) -> (CategoryTheory.Equivalence.{u4, u6, u1, u3} A B' _inst_1 _inst_4)
-Case conversion may be inaccurate. Consider using '#align algebraic_topology.dold_kan.compatibility.equivalence₀ AlgebraicTopology.DoldKan.Compatibility.equivalence₀ₓ'. -/
 /-- A basic equivalence `A ≅ B'` obtained by composing `eA : A ≅ A'` and `e' : A' ≅ B'`. -/
 @[simps Functor inverse unit_iso_hom_app]
 def equivalence₀ : A ≌ B' :=
@@ -73,12 +67,6 @@ include hF
 
 variable {eA} {e'}
 
-/- warning: algebraic_topology.dold_kan.compatibility.equivalence₁ -> AlgebraicTopology.DoldKan.Compatibility.equivalence₁ is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} {A' : Type.{u2}} {B' : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u4, u1} A] [_inst_2 : CategoryTheory.Category.{u5, u2} A'] [_inst_4 : CategoryTheory.Category.{u6, u3} B'] {eA : CategoryTheory.Equivalence.{u4, u5, u1, u2} A _inst_1 A' _inst_2} {e' : CategoryTheory.Equivalence.{u5, u6, u2, u3} A' _inst_2 B' _inst_4} {F : CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4}, (CategoryTheory.Iso.{max u1 u6, max u4 u6 u1 u3} (CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u4, u5, u6, u1, u2, u3} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u4, u5, u1, u2} A _inst_1 A' _inst_2 eA) (CategoryTheory.Equivalence.functor.{u5, u6, u2, u3} A' _inst_2 B' _inst_4 e')) F) -> (CategoryTheory.Equivalence.{u4, u6, u1, u3} A _inst_1 B' _inst_4)
-but is expected to have type
-  forall {A : Type.{u1}} {A' : Type.{u2}} {B' : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u4, u1} A] [_inst_2 : CategoryTheory.Category.{u5, u2} A'] [_inst_4 : CategoryTheory.Category.{u6, u3} B'] {eA : CategoryTheory.Equivalence.{u4, u5, u1, u2} A A' _inst_1 _inst_2} {e' : CategoryTheory.Equivalence.{u5, u6, u2, u3} A' B' _inst_2 _inst_4} {F : CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4}, (CategoryTheory.Iso.{max u1 u6, max (max (max u3 u1) u6) u4} (CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u4, u5, u6, u1, u2, u3} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u4, u5, u1, u2} A A' _inst_1 _inst_2 eA) (CategoryTheory.Equivalence.functor.{u5, u6, u2, u3} A' B' _inst_2 _inst_4 e')) F) -> (CategoryTheory.Equivalence.{u4, u6, u1, u3} A B' _inst_1 _inst_4)
-Case conversion may be inaccurate. Consider using '#align algebraic_topology.dold_kan.compatibility.equivalence₁ AlgebraicTopology.DoldKan.Compatibility.equivalence₁ₓ'. -/
 /-- An intermediate equivalence `A ≅ B'` whose functor is `F` and whose inverse is
 `e'.inverse ⋙ eA.inverse`. -/
 @[simps Functor]
@@ -88,22 +76,10 @@ def equivalence₁ : A ≌ B' :=
   F.as_equivalence
 #align algebraic_topology.dold_kan.compatibility.equivalence₁ AlgebraicTopology.DoldKan.Compatibility.equivalence₁
 
-/- warning: algebraic_topology.dold_kan.compatibility.equivalence₁_inverse -> AlgebraicTopology.DoldKan.Compatibility.equivalence₁_inverse is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} {A' : Type.{u2}} {B' : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u4, u1} A] [_inst_2 : CategoryTheory.Category.{u5, u2} A'] [_inst_4 : CategoryTheory.Category.{u6, u3} B'] {eA : CategoryTheory.Equivalence.{u4, u5, u1, u2} A _inst_1 A' _inst_2} {e' : CategoryTheory.Equivalence.{u5, u6, u2, u3} A' _inst_2 B' _inst_4} {F : CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4} (hF : CategoryTheory.Iso.{max u1 u6, max u4 u6 u1 u3} (CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u4, u5, u6, u1, u2, u3} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u4, u5, u1, u2} A _inst_1 A' _inst_2 eA) (CategoryTheory.Equivalence.functor.{u5, u6, u2, u3} A' _inst_2 B' _inst_4 e')) F), Eq.{succ (max u6 u4 u3 u1)} (CategoryTheory.Functor.{u6, u4, u3, u1} B' _inst_4 A _inst_1) (CategoryTheory.Equivalence.inverse.{u4, u6, u1, u3} A _inst_1 B' _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u1, u2, u3, u4, u5, u6} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)) (CategoryTheory.Functor.comp.{u6, u5, u4, u3, u2, u1} B' _inst_4 A' _inst_2 A _inst_1 (CategoryTheory.Equivalence.inverse.{u5, u6, u2, u3} A' _inst_2 B' _inst_4 e') (CategoryTheory.Equivalence.inverse.{u4, u5, u1, u2} A _inst_1 A' _inst_2 eA))
-but is expected to have type
-  forall {A : Type.{u6}} {A' : Type.{u2}} {B' : Type.{u5}} [_inst_1 : CategoryTheory.Category.{u4, u6} A] [_inst_2 : CategoryTheory.Category.{u1, u2} A'] [_inst_4 : CategoryTheory.Category.{u3, u5} B'] {eA : CategoryTheory.Equivalence.{u4, u1, u6, u2} A A' _inst_1 _inst_2} {e' : CategoryTheory.Equivalence.{u1, u3, u2, u5} A' B' _inst_2 _inst_4} {F : CategoryTheory.Functor.{u4, u3, u6, u5} A _inst_1 B' _inst_4} (hF : CategoryTheory.Iso.{max u6 u3, max (max (max u5 u6) u3) u4} (CategoryTheory.Functor.{u4, u3, u6, u5} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u4, u3, u6, u5} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u4, u1, u3, u6, u2, u5} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u4, u1, u6, u2} A A' _inst_1 _inst_2 eA) (CategoryTheory.Equivalence.functor.{u1, u3, u2, u5} A' B' _inst_2 _inst_4 e')) F), Eq.{max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3)} (CategoryTheory.Functor.{u3, u4, u5, u6} B' _inst_4 A _inst_1) (CategoryTheory.Equivalence.inverse.{u4, u3, u6, u5} A B' _inst_1 _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u6, u2, u5, u4, u1, u3} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)) (CategoryTheory.Functor.comp.{u3, u1, u4, u5, u2, u6} B' _inst_4 A' _inst_2 A _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u5} A' B' _inst_2 _inst_4 e') (CategoryTheory.Equivalence.inverse.{u4, u1, u6, u2} A A' _inst_1 _inst_2 eA))
-Case conversion may be inaccurate. Consider using '#align algebraic_topology.dold_kan.compatibility.equivalence₁_inverse AlgebraicTopology.DoldKan.Compatibility.equivalence₁_inverseₓ'. -/
 theorem equivalence₁_inverse : (equivalence₁ hF).inverse = e'.inverse ⋙ eA.inverse :=
   rfl
 #align algebraic_topology.dold_kan.compatibility.equivalence₁_inverse AlgebraicTopology.DoldKan.Compatibility.equivalence₁_inverse
 
-/- warning: algebraic_topology.dold_kan.compatibility.equivalence₁_counit_iso -> AlgebraicTopology.DoldKan.Compatibility.equivalence₁CounitIso is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} {A' : Type.{u2}} {B' : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u4, u1} A] [_inst_2 : CategoryTheory.Category.{u5, u2} A'] [_inst_4 : CategoryTheory.Category.{u6, u3} B'] {eA : CategoryTheory.Equivalence.{u4, u5, u1, u2} A _inst_1 A' _inst_2} {e' : CategoryTheory.Equivalence.{u5, u6, u2, u3} A' _inst_2 B' _inst_4} {F : CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4}, (CategoryTheory.Iso.{max u1 u6, max u4 u6 u1 u3} (CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u4, u5, u6, u1, u2, u3} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u4, u5, u1, u2} A _inst_1 A' _inst_2 eA) (CategoryTheory.Equivalence.functor.{u5, u6, u2, u3} A' _inst_2 B' _inst_4 e')) F) -> (CategoryTheory.Iso.{max u3 u6, max u6 u3} (CategoryTheory.Functor.{u6, u6, u3, u3} B' _inst_4 B' _inst_4) (CategoryTheory.Functor.category.{u6, u6, u3, u3} B' _inst_4 B' _inst_4) (CategoryTheory.Functor.comp.{u6, u4, u6, u3, u1, u3} B' _inst_4 A _inst_1 B' _inst_4 (CategoryTheory.Functor.comp.{u6, u5, u4, u3, u2, u1} B' _inst_4 A' _inst_2 A _inst_1 (CategoryTheory.Equivalence.inverse.{u5, u6, u2, u3} A' _inst_2 B' _inst_4 e') (CategoryTheory.Equivalence.inverse.{u4, u5, u1, u2} A _inst_1 A' _inst_2 eA)) F) (CategoryTheory.Functor.id.{u6, u3} B' _inst_4))
-but is expected to have type
-  forall {A : Type.{u1}} {A' : Type.{u2}} {B' : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u4, u1} A] [_inst_2 : CategoryTheory.Category.{u5, u2} A'] [_inst_4 : CategoryTheory.Category.{u6, u3} B'] {eA : CategoryTheory.Equivalence.{u4, u5, u1, u2} A A' _inst_1 _inst_2} {e' : CategoryTheory.Equivalence.{u5, u6, u2, u3} A' B' _inst_2 _inst_4} {F : CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4}, (CategoryTheory.Iso.{max u1 u6, max (max (max u3 u1) u6) u4} (CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u4, u5, u6, u1, u2, u3} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u4, u5, u1, u2} A A' _inst_1 _inst_2 eA) (CategoryTheory.Equivalence.functor.{u5, u6, u2, u3} A' B' _inst_2 _inst_4 e')) F) -> (CategoryTheory.Iso.{max u3 u6, max u3 u6} (CategoryTheory.Functor.{u6, u6, u3, u3} B' _inst_4 B' _inst_4) (CategoryTheory.Functor.category.{u6, u6, u3, u3} B' _inst_4 B' _inst_4) (CategoryTheory.Functor.comp.{u6, u4, u6, u3, u1, u3} B' _inst_4 A _inst_1 B' _inst_4 (CategoryTheory.Functor.comp.{u6, u5, u4, u3, u2, u1} B' _inst_4 A' _inst_2 A _inst_1 (CategoryTheory.Equivalence.inverse.{u5, u6, u2, u3} A' B' _inst_2 _inst_4 e') (CategoryTheory.Equivalence.inverse.{u4, u5, u1, u2} A A' _inst_1 _inst_2 eA)) F) (CategoryTheory.Functor.id.{u6, u3} B' _inst_4))
-Case conversion may be inaccurate. Consider using '#align algebraic_topology.dold_kan.compatibility.equivalence₁_counit_iso AlgebraicTopology.DoldKan.Compatibility.equivalence₁CounitIsoₓ'. -/
 /-- The counit isomorphism of the equivalence `equivalence₁` between `A` and `B'`. -/
 @[simps]
 def equivalence₁CounitIso : (e'.inverse ⋙ eA.inverse) ⋙ F ≅ 𝟭 B' :=
@@ -117,12 +93,6 @@ def equivalence₁CounitIso : (e'.inverse ⋙ eA.inverse) ⋙ F ≅ 𝟭 B' :=
     
 #align algebraic_topology.dold_kan.compatibility.equivalence₁_counit_iso AlgebraicTopology.DoldKan.Compatibility.equivalence₁CounitIso
 
-/- warning: algebraic_topology.dold_kan.compatibility.equivalence₁_counit_iso_eq -> AlgebraicTopology.DoldKan.Compatibility.equivalence₁CounitIso_eq is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} {A' : Type.{u2}} {B' : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u4, u1} A] [_inst_2 : CategoryTheory.Category.{u5, u2} A'] [_inst_4 : CategoryTheory.Category.{u6, u3} B'] {eA : CategoryTheory.Equivalence.{u4, u5, u1, u2} A _inst_1 A' _inst_2} {e' : CategoryTheory.Equivalence.{u5, u6, u2, u3} A' _inst_2 B' _inst_4} {F : CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4} (hF : CategoryTheory.Iso.{max u1 u6, max u4 u6 u1 u3} (CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u4, u5, u6, u1, u2, u3} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u4, u5, u1, u2} A _inst_1 A' _inst_2 eA) (CategoryTheory.Equivalence.functor.{u5, u6, u2, u3} A' _inst_2 B' _inst_4 e')) F), Eq.{succ (max u3 u6)} (CategoryTheory.Iso.{max u3 u6, max u6 u3} (CategoryTheory.Functor.{u6, u6, u3, u3} B' _inst_4 B' _inst_4) (CategoryTheory.Functor.category.{u6, u6, u3, u3} B' _inst_4 B' _inst_4) (CategoryTheory.Functor.comp.{u6, u4, u6, u3, u1, u3} B' _inst_4 A _inst_1 B' _inst_4 (CategoryTheory.Equivalence.inverse.{u4, u6, u1, u3} A _inst_1 B' _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u1, u2, u3, u4, u5, u6} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)) (CategoryTheory.Equivalence.functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u1, u2, u3, u4, u5, u6} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF))) (CategoryTheory.Functor.id.{u6, u3} B' _inst_4)) (CategoryTheory.Equivalence.counitIso.{u4, u6, u1, u3} A _inst_1 B' _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u1, u2, u3, u4, u5, u6} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)) (AlgebraicTopology.DoldKan.Compatibility.equivalence₁CounitIso.{u1, u2, u3, u4, u5, u6} A A' B' _inst_1 _inst_2 _inst_4 eA e' (CategoryTheory.Equivalence.functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u1, u2, u3, u4, u5, u6} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)) hF)
-but is expected to have type
-  forall {A : Type.{u3}} {A' : Type.{u2}} {B' : Type.{u6}} [_inst_1 : CategoryTheory.Category.{u4, u3} A] [_inst_2 : CategoryTheory.Category.{u1, u2} A'] [_inst_4 : CategoryTheory.Category.{u5, u6} B'] {eA : CategoryTheory.Equivalence.{u4, u1, u3, u2} A A' _inst_1 _inst_2} {e' : CategoryTheory.Equivalence.{u1, u5, u2, u6} A' B' _inst_2 _inst_4} {F : CategoryTheory.Functor.{u4, u5, u3, u6} A _inst_1 B' _inst_4} (hF : CategoryTheory.Iso.{max u3 u5, max (max (max u6 u3) u5) u4} (CategoryTheory.Functor.{u4, u5, u3, u6} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u4, u5, u3, u6} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u4, u1, u5, u3, u2, u6} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u4, u1, u3, u2} A A' _inst_1 _inst_2 eA) (CategoryTheory.Equivalence.functor.{u1, u5, u2, u6} A' B' _inst_2 _inst_4 e')) F), Eq.{max (succ u6) (succ u5)} (CategoryTheory.Iso.{max u6 u5, max u6 u5} (CategoryTheory.Functor.{u5, u5, u6, u6} B' _inst_4 B' _inst_4) (CategoryTheory.Functor.category.{u5, u5, u6, u6} B' _inst_4 B' _inst_4) (CategoryTheory.Functor.comp.{u5, u4, u5, u6, u3, u6} B' _inst_4 A _inst_1 B' _inst_4 (CategoryTheory.Equivalence.inverse.{u4, u5, u3, u6} A B' _inst_1 _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u3, u2, u6, u4, u1, u5} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)) (CategoryTheory.Equivalence.functor.{u4, u5, u3, u6} A B' _inst_1 _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u3, u2, u6, u4, u1, u5} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF))) (CategoryTheory.Functor.id.{u5, u6} B' _inst_4)) (CategoryTheory.Equivalence.counitIso.{u4, u5, u3, u6} A B' _inst_1 _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u3, u2, u6, u4, u1, u5} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)) (AlgebraicTopology.DoldKan.Compatibility.equivalence₁CounitIso.{u3, u2, u6, u4, u1, u5} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)
-Case conversion may be inaccurate. Consider using '#align algebraic_topology.dold_kan.compatibility.equivalence₁_counit_iso_eq AlgebraicTopology.DoldKan.Compatibility.equivalence₁CounitIso_eqₓ'. -/
 theorem equivalence₁CounitIso_eq : (equivalence₁ hF).counitIso = equivalence₁CounitIso hF :=
   by
   ext Y
@@ -130,12 +100,6 @@ theorem equivalence₁CounitIso_eq : (equivalence₁ hF).counitIso = equivalence
   simp only [equivalence₁_counit_iso_hom_app, CategoryTheory.Functor.map_id, comp_id]
 #align algebraic_topology.dold_kan.compatibility.equivalence₁_counit_iso_eq AlgebraicTopology.DoldKan.Compatibility.equivalence₁CounitIso_eq
 
-/- warning: algebraic_topology.dold_kan.compatibility.equivalence₁_unit_iso -> AlgebraicTopology.DoldKan.Compatibility.equivalence₁UnitIso is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} {A' : Type.{u2}} {B' : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u4, u1} A] [_inst_2 : CategoryTheory.Category.{u5, u2} A'] [_inst_4 : CategoryTheory.Category.{u6, u3} B'] {eA : CategoryTheory.Equivalence.{u4, u5, u1, u2} A _inst_1 A' _inst_2} {e' : CategoryTheory.Equivalence.{u5, u6, u2, u3} A' _inst_2 B' _inst_4} {F : CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4}, (CategoryTheory.Iso.{max u1 u6, max u4 u6 u1 u3} (CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u4, u5, u6, u1, u2, u3} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u4, u5, u1, u2} A _inst_1 A' _inst_2 eA) (CategoryTheory.Equivalence.functor.{u5, u6, u2, u3} A' _inst_2 B' _inst_4 e')) F) -> (CategoryTheory.Iso.{max u1 u4, max u4 u1} (CategoryTheory.Functor.{u4, u4, u1, u1} A _inst_1 A _inst_1) (CategoryTheory.Functor.category.{u4, u4, u1, u1} A _inst_1 A _inst_1) (CategoryTheory.Functor.id.{u4, u1} A _inst_1) (CategoryTheory.Functor.comp.{u4, u6, u4, u1, u3, u1} A _inst_1 B' _inst_4 A _inst_1 F (CategoryTheory.Functor.comp.{u6, u5, u4, u3, u2, u1} B' _inst_4 A' _inst_2 A _inst_1 (CategoryTheory.Equivalence.inverse.{u5, u6, u2, u3} A' _inst_2 B' _inst_4 e') (CategoryTheory.Equivalence.inverse.{u4, u5, u1, u2} A _inst_1 A' _inst_2 eA))))
-but is expected to have type
-  forall {A : Type.{u1}} {A' : Type.{u2}} {B' : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u4, u1} A] [_inst_2 : CategoryTheory.Category.{u5, u2} A'] [_inst_4 : CategoryTheory.Category.{u6, u3} B'] {eA : CategoryTheory.Equivalence.{u4, u5, u1, u2} A A' _inst_1 _inst_2} {e' : CategoryTheory.Equivalence.{u5, u6, u2, u3} A' B' _inst_2 _inst_4} {F : CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4}, (CategoryTheory.Iso.{max u1 u6, max (max (max u3 u1) u6) u4} (CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u4, u5, u6, u1, u2, u3} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u4, u5, u1, u2} A A' _inst_1 _inst_2 eA) (CategoryTheory.Equivalence.functor.{u5, u6, u2, u3} A' B' _inst_2 _inst_4 e')) F) -> (CategoryTheory.Iso.{max u1 u4, max u1 u4} (CategoryTheory.Functor.{u4, u4, u1, u1} A _inst_1 A _inst_1) (CategoryTheory.Functor.category.{u4, u4, u1, u1} A _inst_1 A _inst_1) (CategoryTheory.Functor.id.{u4, u1} A _inst_1) (CategoryTheory.Functor.comp.{u4, u6, u4, u1, u3, u1} A _inst_1 B' _inst_4 A _inst_1 F (CategoryTheory.Functor.comp.{u6, u5, u4, u3, u2, u1} B' _inst_4 A' _inst_2 A _inst_1 (CategoryTheory.Equivalence.inverse.{u5, u6, u2, u3} A' B' _inst_2 _inst_4 e') (CategoryTheory.Equivalence.inverse.{u4, u5, u1, u2} A A' _inst_1 _inst_2 eA))))
-Case conversion may be inaccurate. Consider using '#align algebraic_topology.dold_kan.compatibility.equivalence₁_unit_iso AlgebraicTopology.DoldKan.Compatibility.equivalence₁UnitIsoₓ'. -/
 /-- The unit isomorphism of the equivalence `equivalence₁` between `A` and `B'`. -/
 @[simps]
 def equivalence₁UnitIso : 𝟭 A ≅ F ⋙ e'.inverse ⋙ eA.inverse :=
@@ -149,12 +113,6 @@ def equivalence₁UnitIso : 𝟭 A ≅ F ⋙ e'.inverse ⋙ eA.inverse :=
     
 #align algebraic_topology.dold_kan.compatibility.equivalence₁_unit_iso AlgebraicTopology.DoldKan.Compatibility.equivalence₁UnitIso
 
-/- warning: algebraic_topology.dold_kan.compatibility.equivalence₁_unit_iso_eq -> AlgebraicTopology.DoldKan.Compatibility.equivalence₁UnitIso_eq is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} {A' : Type.{u2}} {B' : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u4, u1} A] [_inst_2 : CategoryTheory.Category.{u5, u2} A'] [_inst_4 : CategoryTheory.Category.{u6, u3} B'] {eA : CategoryTheory.Equivalence.{u4, u5, u1, u2} A _inst_1 A' _inst_2} {e' : CategoryTheory.Equivalence.{u5, u6, u2, u3} A' _inst_2 B' _inst_4} {F : CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4} (hF : CategoryTheory.Iso.{max u1 u6, max u4 u6 u1 u3} (CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u4, u5, u6, u1, u2, u3} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u4, u5, u1, u2} A _inst_1 A' _inst_2 eA) (CategoryTheory.Equivalence.functor.{u5, u6, u2, u3} A' _inst_2 B' _inst_4 e')) F), Eq.{succ (max u1 u4)} (CategoryTheory.Iso.{max u1 u4, max u4 u1} (CategoryTheory.Functor.{u4, u4, u1, u1} A _inst_1 A _inst_1) (CategoryTheory.Functor.category.{u4, u4, u1, u1} A _inst_1 A _inst_1) (CategoryTheory.Functor.id.{u4, u1} A _inst_1) (CategoryTheory.Functor.comp.{u4, u6, u4, u1, u3, u1} A _inst_1 B' _inst_4 A _inst_1 (CategoryTheory.Equivalence.functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u1, u2, u3, u4, u5, u6} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)) (CategoryTheory.Equivalence.inverse.{u4, u6, u1, u3} A _inst_1 B' _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u1, u2, u3, u4, u5, u6} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)))) (CategoryTheory.Equivalence.unitIso.{u4, u6, u1, u3} A _inst_1 B' _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u1, u2, u3, u4, u5, u6} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)) (AlgebraicTopology.DoldKan.Compatibility.equivalence₁UnitIso.{u1, u2, u3, u4, u5, u6} A A' B' _inst_1 _inst_2 _inst_4 eA e' (CategoryTheory.Equivalence.functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u1, u2, u3, u4, u5, u6} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)) hF)
-but is expected to have type
-  forall {A : Type.{u6}} {A' : Type.{u2}} {B' : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u5, u6} A] [_inst_2 : CategoryTheory.Category.{u1, u2} A'] [_inst_4 : CategoryTheory.Category.{u4, u3} B'] {eA : CategoryTheory.Equivalence.{u5, u1, u6, u2} A A' _inst_1 _inst_2} {e' : CategoryTheory.Equivalence.{u1, u4, u2, u3} A' B' _inst_2 _inst_4} {F : CategoryTheory.Functor.{u5, u4, u6, u3} A _inst_1 B' _inst_4} (hF : CategoryTheory.Iso.{max u6 u4, max (max (max u3 u6) u4) u5} (CategoryTheory.Functor.{u5, u4, u6, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u5, u4, u6, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u5, u1, u4, u6, u2, u3} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u5, u1, u6, u2} A A' _inst_1 _inst_2 eA) (CategoryTheory.Equivalence.functor.{u1, u4, u2, u3} A' B' _inst_2 _inst_4 e')) F), Eq.{max (succ u6) (succ u5)} (CategoryTheory.Iso.{max u6 u5, max u6 u5} (CategoryTheory.Functor.{u5, u5, u6, u6} A _inst_1 A _inst_1) (CategoryTheory.Functor.category.{u5, u5, u6, u6} A _inst_1 A _inst_1) (CategoryTheory.Functor.id.{u5, u6} A _inst_1) (CategoryTheory.Functor.comp.{u5, u4, u5, u6, u3, u6} A _inst_1 B' _inst_4 A _inst_1 (CategoryTheory.Equivalence.functor.{u5, u4, u6, u3} A B' _inst_1 _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u6, u2, u3, u5, u1, u4} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)) (CategoryTheory.Equivalence.inverse.{u5, u4, u6, u3} A B' _inst_1 _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u6, u2, u3, u5, u1, u4} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)))) (CategoryTheory.Equivalence.unitIso.{u5, u4, u6, u3} A B' _inst_1 _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u6, u2, u3, u5, u1, u4} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)) (AlgebraicTopology.DoldKan.Compatibility.equivalence₁UnitIso.{u6, u2, u3, u5, u1, u4} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)
-Case conversion may be inaccurate. Consider using '#align algebraic_topology.dold_kan.compatibility.equivalence₁_unit_iso_eq AlgebraicTopology.DoldKan.Compatibility.equivalence₁UnitIso_eqₓ'. -/
 theorem equivalence₁UnitIso_eq : (equivalence₁ hF).unitIso = equivalence₁UnitIso hF :=
   by
   ext X
@@ -164,12 +122,6 @@ theorem equivalence₁UnitIso_eq : (equivalence₁ hF).unitIso = equivalence₁U
 
 include eB
 
-/- warning: algebraic_topology.dold_kan.compatibility.equivalence₂ -> AlgebraicTopology.DoldKan.Compatibility.equivalence₂ is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} {A' : Type.{u2}} {B : Type.{u3}} {B' : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u5, u1} A] [_inst_2 : CategoryTheory.Category.{u6, u2} A'] [_inst_3 : CategoryTheory.Category.{u7, u3} B] [_inst_4 : CategoryTheory.Category.{u8, u4} B'] {eA : CategoryTheory.Equivalence.{u5, u6, u1, u2} A _inst_1 A' _inst_2}, (CategoryTheory.Equivalence.{u7, u8, u3, u4} B _inst_3 B' _inst_4) -> (forall {e' : CategoryTheory.Equivalence.{u6, u8, u2, u4} A' _inst_2 B' _inst_4} {F : CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4}, (CategoryTheory.Iso.{max u1 u8, max u5 u8 u1 u4} (CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u5, u6, u8, u1, u2, u4} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u5, u6, u1, u2} A _inst_1 A' _inst_2 eA) (CategoryTheory.Equivalence.functor.{u6, u8, u2, u4} A' _inst_2 B' _inst_4 e')) F) -> (CategoryTheory.Equivalence.{u5, u7, u1, u3} A _inst_1 B _inst_3))
-but is expected to have type
-  forall {A : Type.{u1}} {A' : Type.{u2}} {B : Type.{u3}} {B' : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u5, u1} A] [_inst_2 : CategoryTheory.Category.{u6, u2} A'] [_inst_3 : CategoryTheory.Category.{u7, u3} B] [_inst_4 : CategoryTheory.Category.{u8, u4} B'] {eA : CategoryTheory.Equivalence.{u5, u6, u1, u2} A A' _inst_1 _inst_2}, (CategoryTheory.Equivalence.{u7, u8, u3, u4} B B' _inst_3 _inst_4) -> (forall {e' : CategoryTheory.Equivalence.{u6, u8, u2, u4} A' B' _inst_2 _inst_4} {F : CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4}, (CategoryTheory.Iso.{max u1 u8, max (max (max u4 u1) u8) u5} (CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u5, u6, u8, u1, u2, u4} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u5, u6, u1, u2} A A' _inst_1 _inst_2 eA) (CategoryTheory.Equivalence.functor.{u6, u8, u2, u4} A' B' _inst_2 _inst_4 e')) F) -> (CategoryTheory.Equivalence.{u5, u7, u1, u3} A B _inst_1 _inst_3))
-Case conversion may be inaccurate. Consider using '#align algebraic_topology.dold_kan.compatibility.equivalence₂ AlgebraicTopology.DoldKan.Compatibility.equivalence₂ₓ'. -/
 /-- An intermediate equivalence `A ≅ B` obtained as the composition of `equivalence₁` and
 the inverse of `eB : B ≌ B'`. -/
 @[simps Functor]
@@ -177,23 +129,11 @@ def equivalence₂ : A ≌ B :=
   (equivalence₁ hF).trans eB.symm
 #align algebraic_topology.dold_kan.compatibility.equivalence₂ AlgebraicTopology.DoldKan.Compatibility.equivalence₂
 
-/- warning: algebraic_topology.dold_kan.compatibility.equivalence₂_inverse -> AlgebraicTopology.DoldKan.Compatibility.equivalence₂_inverse is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} {A' : Type.{u2}} {B : Type.{u3}} {B' : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u5, u1} A] [_inst_2 : CategoryTheory.Category.{u6, u2} A'] [_inst_3 : CategoryTheory.Category.{u7, u3} B] [_inst_4 : CategoryTheory.Category.{u8, u4} B'] {eA : CategoryTheory.Equivalence.{u5, u6, u1, u2} A _inst_1 A' _inst_2} (eB : CategoryTheory.Equivalence.{u7, u8, u3, u4} B _inst_3 B' _inst_4) {e' : CategoryTheory.Equivalence.{u6, u8, u2, u4} A' _inst_2 B' _inst_4} {F : CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4} (hF : CategoryTheory.Iso.{max u1 u8, max u5 u8 u1 u4} (CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u5, u6, u8, u1, u2, u4} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u5, u6, u1, u2} A _inst_1 A' _inst_2 eA) (CategoryTheory.Equivalence.functor.{u6, u8, u2, u4} A' _inst_2 B' _inst_4 e')) F), Eq.{succ (max u7 u5 u3 u1)} (CategoryTheory.Functor.{u7, u5, u3, u1} B _inst_3 A _inst_1) (CategoryTheory.Equivalence.inverse.{u5, u7, u1, u3} A _inst_1 B _inst_3 (AlgebraicTopology.DoldKan.Compatibility.equivalence₂.{u1, u2, u3, u4, u5, u6, u7, u8} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF)) (CategoryTheory.Functor.comp.{u7, u8, u5, u3, u4, u1} B _inst_3 B' _inst_4 A _inst_1 (CategoryTheory.Equivalence.functor.{u7, u8, u3, u4} B _inst_3 B' _inst_4 eB) (CategoryTheory.Functor.comp.{u8, u6, u5, u4, u2, u1} B' _inst_4 A' _inst_2 A _inst_1 (CategoryTheory.Equivalence.inverse.{u6, u8, u2, u4} A' _inst_2 B' _inst_4 e') (CategoryTheory.Equivalence.inverse.{u5, u6, u1, u2} A _inst_1 A' _inst_2 eA)))
-but is expected to have type
-  forall {A : Type.{u8}} {A' : Type.{u4}} {B : Type.{u7}} {B' : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u6, u8} A] [_inst_2 : CategoryTheory.Category.{u2, u4} A'] [_inst_3 : CategoryTheory.Category.{u5, u7} B] [_inst_4 : CategoryTheory.Category.{u1, u3} B'] {eA : CategoryTheory.Equivalence.{u6, u2, u8, u4} A A' _inst_1 _inst_2} (eB : CategoryTheory.Equivalence.{u5, u1, u7, u3} B B' _inst_3 _inst_4) {e' : CategoryTheory.Equivalence.{u2, u1, u4, u3} A' B' _inst_2 _inst_4} {F : CategoryTheory.Functor.{u6, u1, u8, u3} A _inst_1 B' _inst_4} (hF : CategoryTheory.Iso.{max u8 u1, max (max (max u3 u8) u1) u6} (CategoryTheory.Functor.{u6, u1, u8, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u6, u1, u8, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u6, u2, u1, u8, u4, u3} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u6, u2, u8, u4} A A' _inst_1 _inst_2 eA) (CategoryTheory.Equivalence.functor.{u2, u1, u4, u3} A' B' _inst_2 _inst_4 e')) F), Eq.{max (max (max (succ u8) (succ u7)) (succ u6)) (succ u5)} (CategoryTheory.Functor.{u5, u6, u7, u8} B _inst_3 A _inst_1) (CategoryTheory.Equivalence.inverse.{u6, u5, u8, u7} A B _inst_1 _inst_3 (AlgebraicTopology.DoldKan.Compatibility.equivalence₂.{u8, u4, u7, u3, u6, u2, u5, u1} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF)) (CategoryTheory.Functor.comp.{u5, u1, u6, u7, u3, u8} B _inst_3 B' _inst_4 A _inst_1 (CategoryTheory.Equivalence.functor.{u5, u1, u7, u3} B B' _inst_3 _inst_4 eB) (CategoryTheory.Functor.comp.{u1, u2, u6, u3, u4, u8} B' _inst_4 A' _inst_2 A _inst_1 (CategoryTheory.Equivalence.inverse.{u2, u1, u4, u3} A' B' _inst_2 _inst_4 e') (CategoryTheory.Equivalence.inverse.{u6, u2, u8, u4} A A' _inst_1 _inst_2 eA)))
-Case conversion may be inaccurate. Consider using '#align algebraic_topology.dold_kan.compatibility.equivalence₂_inverse AlgebraicTopology.DoldKan.Compatibility.equivalence₂_inverseₓ'. -/
 theorem equivalence₂_inverse :
     (equivalence₂ eB hF).inverse = eB.Functor ⋙ e'.inverse ⋙ eA.inverse :=
   rfl
 #align algebraic_topology.dold_kan.compatibility.equivalence₂_inverse AlgebraicTopology.DoldKan.Compatibility.equivalence₂_inverse
 
-/- warning: algebraic_topology.dold_kan.compatibility.equivalence₂_counit_iso -> AlgebraicTopology.DoldKan.Compatibility.equivalence₂CounitIso is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} {A' : Type.{u2}} {B : Type.{u3}} {B' : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u5, u1} A] [_inst_2 : CategoryTheory.Category.{u6, u2} A'] [_inst_3 : CategoryTheory.Category.{u7, u3} B] [_inst_4 : CategoryTheory.Category.{u8, u4} B'] {eA : CategoryTheory.Equivalence.{u5, u6, u1, u2} A _inst_1 A' _inst_2} (eB : CategoryTheory.Equivalence.{u7, u8, u3, u4} B _inst_3 B' _inst_4) {e' : CategoryTheory.Equivalence.{u6, u8, u2, u4} A' _inst_2 B' _inst_4} {F : CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4}, (CategoryTheory.Iso.{max u1 u8, max u5 u8 u1 u4} (CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u5, u6, u8, u1, u2, u4} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u5, u6, u1, u2} A _inst_1 A' _inst_2 eA) (CategoryTheory.Equivalence.functor.{u6, u8, u2, u4} A' _inst_2 B' _inst_4 e')) F) -> (CategoryTheory.Iso.{max u3 u7, max u7 u3} (CategoryTheory.Functor.{u7, u7, u3, u3} B _inst_3 B _inst_3) (CategoryTheory.Functor.category.{u7, u7, u3, u3} B _inst_3 B _inst_3) (CategoryTheory.Functor.comp.{u7, u5, u7, u3, u1, u3} B _inst_3 A _inst_1 B _inst_3 (CategoryTheory.Functor.comp.{u7, u8, u5, u3, u4, u1} B _inst_3 B' _inst_4 A _inst_1 (CategoryTheory.Equivalence.functor.{u7, u8, u3, u4} B _inst_3 B' _inst_4 eB) (CategoryTheory.Functor.comp.{u8, u6, u5, u4, u2, u1} B' _inst_4 A' _inst_2 A _inst_1 (CategoryTheory.Equivalence.inverse.{u6, u8, u2, u4} A' _inst_2 B' _inst_4 e') (CategoryTheory.Equivalence.inverse.{u5, u6, u1, u2} A _inst_1 A' _inst_2 eA))) (CategoryTheory.Functor.comp.{u5, u8, u7, u1, u4, u3} A _inst_1 B' _inst_4 B _inst_3 F (CategoryTheory.Equivalence.inverse.{u7, u8, u3, u4} B _inst_3 B' _inst_4 eB))) (CategoryTheory.Functor.id.{u7, u3} B _inst_3))
-but is expected to have type
-  forall {A : Type.{u1}} {A' : Type.{u2}} {B : Type.{u3}} {B' : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u5, u1} A] [_inst_2 : CategoryTheory.Category.{u6, u2} A'] [_inst_3 : CategoryTheory.Category.{u7, u3} B] [_inst_4 : CategoryTheory.Category.{u8, u4} B'] {eA : CategoryTheory.Equivalence.{u5, u6, u1, u2} A A' _inst_1 _inst_2} (eB : CategoryTheory.Equivalence.{u7, u8, u3, u4} B B' _inst_3 _inst_4) {e' : CategoryTheory.Equivalence.{u6, u8, u2, u4} A' B' _inst_2 _inst_4} {F : CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4}, (CategoryTheory.Iso.{max u1 u8, max (max (max u4 u1) u8) u5} (CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u5, u6, u8, u1, u2, u4} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u5, u6, u1, u2} A A' _inst_1 _inst_2 eA) (CategoryTheory.Equivalence.functor.{u6, u8, u2, u4} A' B' _inst_2 _inst_4 e')) F) -> (CategoryTheory.Iso.{max u3 u7, max u3 u7} (CategoryTheory.Functor.{u7, u7, u3, u3} B _inst_3 B _inst_3) (CategoryTheory.Functor.category.{u7, u7, u3, u3} B _inst_3 B _inst_3) (CategoryTheory.Functor.comp.{u7, u5, u7, u3, u1, u3} B _inst_3 A _inst_1 B _inst_3 (CategoryTheory.Functor.comp.{u7, u8, u5, u3, u4, u1} B _inst_3 B' _inst_4 A _inst_1 (CategoryTheory.Equivalence.functor.{u7, u8, u3, u4} B B' _inst_3 _inst_4 eB) (CategoryTheory.Functor.comp.{u8, u6, u5, u4, u2, u1} B' _inst_4 A' _inst_2 A _inst_1 (CategoryTheory.Equivalence.inverse.{u6, u8, u2, u4} A' B' _inst_2 _inst_4 e') (CategoryTheory.Equivalence.inverse.{u5, u6, u1, u2} A A' _inst_1 _inst_2 eA))) (CategoryTheory.Functor.comp.{u5, u8, u7, u1, u4, u3} A _inst_1 B' _inst_4 B _inst_3 F (CategoryTheory.Equivalence.inverse.{u7, u8, u3, u4} B B' _inst_3 _inst_4 eB))) (CategoryTheory.Functor.id.{u7, u3} B _inst_3))
-Case conversion may be inaccurate. Consider using '#align algebraic_topology.dold_kan.compatibility.equivalence₂_counit_iso AlgebraicTopology.DoldKan.Compatibility.equivalence₂CounitIsoₓ'. -/
 /-- The counit isomorphism of the equivalence `equivalence₂` between `A` and `B`. -/
 @[simps]
 def equivalence₂CounitIso : (eB.Functor ⋙ e'.inverse ⋙ eA.inverse) ⋙ F ⋙ eB.inverse ≅ 𝟭 B :=
@@ -208,9 +148,6 @@ def equivalence₂CounitIso : (eB.Functor ⋙ e'.inverse ⋙ eA.inverse) ⋙ F 
     
 #align algebraic_topology.dold_kan.compatibility.equivalence₂_counit_iso AlgebraicTopology.DoldKan.Compatibility.equivalence₂CounitIso
 
-/- warning: algebraic_topology.dold_kan.compatibility.equivalence₂_counit_iso_eq -> AlgebraicTopology.DoldKan.Compatibility.equivalence₂CounitIso_eq is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align algebraic_topology.dold_kan.compatibility.equivalence₂_counit_iso_eq AlgebraicTopology.DoldKan.Compatibility.equivalence₂CounitIso_eqₓ'. -/
 theorem equivalence₂CounitIso_eq : (equivalence₂ eB hF).counitIso = equivalence₂CounitIso eB hF :=
   by
   ext Y'
@@ -219,12 +156,6 @@ theorem equivalence₂CounitIso_eq : (equivalence₂ eB hF).counitIso = equivale
     equivalence₁_counit_iso_hom_app, functor.map_comp, assoc]
 #align algebraic_topology.dold_kan.compatibility.equivalence₂_counit_iso_eq AlgebraicTopology.DoldKan.Compatibility.equivalence₂CounitIso_eq
 
-/- warning: algebraic_topology.dold_kan.compatibility.equivalence₂_unit_iso -> AlgebraicTopology.DoldKan.Compatibility.equivalence₂UnitIso is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} {A' : Type.{u2}} {B : Type.{u3}} {B' : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u5, u1} A] [_inst_2 : CategoryTheory.Category.{u6, u2} A'] [_inst_3 : CategoryTheory.Category.{u7, u3} B] [_inst_4 : CategoryTheory.Category.{u8, u4} B'] {eA : CategoryTheory.Equivalence.{u5, u6, u1, u2} A _inst_1 A' _inst_2} (eB : CategoryTheory.Equivalence.{u7, u8, u3, u4} B _inst_3 B' _inst_4) {e' : CategoryTheory.Equivalence.{u6, u8, u2, u4} A' _inst_2 B' _inst_4} {F : CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4}, (CategoryTheory.Iso.{max u1 u8, max u5 u8 u1 u4} (CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u5, u6, u8, u1, u2, u4} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u5, u6, u1, u2} A _inst_1 A' _inst_2 eA) (CategoryTheory.Equivalence.functor.{u6, u8, u2, u4} A' _inst_2 B' _inst_4 e')) F) -> (CategoryTheory.Iso.{max u1 u5, max u5 u1} (CategoryTheory.Functor.{u5, u5, u1, u1} A _inst_1 A _inst_1) (CategoryTheory.Functor.category.{u5, u5, u1, u1} A _inst_1 A _inst_1) (CategoryTheory.Functor.id.{u5, u1} A _inst_1) (CategoryTheory.Functor.comp.{u5, u7, u5, u1, u3, u1} A _inst_1 B _inst_3 A _inst_1 (CategoryTheory.Functor.comp.{u5, u8, u7, u1, u4, u3} A _inst_1 B' _inst_4 B _inst_3 F (CategoryTheory.Equivalence.inverse.{u7, u8, u3, u4} B _inst_3 B' _inst_4 eB)) (CategoryTheory.Functor.comp.{u7, u8, u5, u3, u4, u1} B _inst_3 B' _inst_4 A _inst_1 (CategoryTheory.Equivalence.functor.{u7, u8, u3, u4} B _inst_3 B' _inst_4 eB) (CategoryTheory.Functor.comp.{u8, u6, u5, u4, u2, u1} B' _inst_4 A' _inst_2 A _inst_1 (CategoryTheory.Equivalence.inverse.{u6, u8, u2, u4} A' _inst_2 B' _inst_4 e') (CategoryTheory.Equivalence.inverse.{u5, u6, u1, u2} A _inst_1 A' _inst_2 eA)))))
-but is expected to have type
-  forall {A : Type.{u1}} {A' : Type.{u2}} {B : Type.{u3}} {B' : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u5, u1} A] [_inst_2 : CategoryTheory.Category.{u6, u2} A'] [_inst_3 : CategoryTheory.Category.{u7, u3} B] [_inst_4 : CategoryTheory.Category.{u8, u4} B'] {eA : CategoryTheory.Equivalence.{u5, u6, u1, u2} A A' _inst_1 _inst_2} (eB : CategoryTheory.Equivalence.{u7, u8, u3, u4} B B' _inst_3 _inst_4) {e' : CategoryTheory.Equivalence.{u6, u8, u2, u4} A' B' _inst_2 _inst_4} {F : CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4}, (CategoryTheory.Iso.{max u1 u8, max (max (max u4 u1) u8) u5} (CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u5, u6, u8, u1, u2, u4} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u5, u6, u1, u2} A A' _inst_1 _inst_2 eA) (CategoryTheory.Equivalence.functor.{u6, u8, u2, u4} A' B' _inst_2 _inst_4 e')) F) -> (CategoryTheory.Iso.{max u1 u5, max u1 u5} (CategoryTheory.Functor.{u5, u5, u1, u1} A _inst_1 A _inst_1) (CategoryTheory.Functor.category.{u5, u5, u1, u1} A _inst_1 A _inst_1) (CategoryTheory.Functor.id.{u5, u1} A _inst_1) (CategoryTheory.Functor.comp.{u5, u7, u5, u1, u3, u1} A _inst_1 B _inst_3 A _inst_1 (CategoryTheory.Functor.comp.{u5, u8, u7, u1, u4, u3} A _inst_1 B' _inst_4 B _inst_3 F (CategoryTheory.Equivalence.inverse.{u7, u8, u3, u4} B B' _inst_3 _inst_4 eB)) (CategoryTheory.Functor.comp.{u7, u8, u5, u3, u4, u1} B _inst_3 B' _inst_4 A _inst_1 (CategoryTheory.Equivalence.functor.{u7, u8, u3, u4} B B' _inst_3 _inst_4 eB) (CategoryTheory.Functor.comp.{u8, u6, u5, u4, u2, u1} B' _inst_4 A' _inst_2 A _inst_1 (CategoryTheory.Equivalence.inverse.{u6, u8, u2, u4} A' B' _inst_2 _inst_4 e') (CategoryTheory.Equivalence.inverse.{u5, u6, u1, u2} A A' _inst_1 _inst_2 eA)))))
-Case conversion may be inaccurate. Consider using '#align algebraic_topology.dold_kan.compatibility.equivalence₂_unit_iso AlgebraicTopology.DoldKan.Compatibility.equivalence₂UnitIsoₓ'. -/
 /-- The unit isomorphism of the equivalence `equivalence₂` between `A` and `B`. -/
 @[simps]
 def equivalence₂UnitIso : 𝟭 A ≅ (F ⋙ eB.inverse) ⋙ eB.Functor ⋙ e'.inverse ⋙ eA.inverse :=
@@ -237,9 +168,6 @@ def equivalence₂UnitIso : 𝟭 A ≅ (F ⋙ eB.inverse) ⋙ eB.Functor ⋙ e'.
     
 #align algebraic_topology.dold_kan.compatibility.equivalence₂_unit_iso AlgebraicTopology.DoldKan.Compatibility.equivalence₂UnitIso
 
-/- warning: algebraic_topology.dold_kan.compatibility.equivalence₂_unit_iso_eq -> AlgebraicTopology.DoldKan.Compatibility.equivalence₂UnitIso_eq is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align algebraic_topology.dold_kan.compatibility.equivalence₂_unit_iso_eq AlgebraicTopology.DoldKan.Compatibility.equivalence₂UnitIso_eqₓ'. -/
 theorem equivalence₂UnitIso_eq : (equivalence₂ eB hF).unitIso = equivalence₂UnitIso eB hF :=
   by
   ext X
@@ -252,12 +180,6 @@ variable {eB}
 
 include hG
 
-/- warning: algebraic_topology.dold_kan.compatibility.equivalence -> AlgebraicTopology.DoldKan.Compatibility.equivalence is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} {A' : Type.{u2}} {B : Type.{u3}} {B' : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u5, u1} A] [_inst_2 : CategoryTheory.Category.{u6, u2} A'] [_inst_3 : CategoryTheory.Category.{u7, u3} B] [_inst_4 : CategoryTheory.Category.{u8, u4} B'] {eA : CategoryTheory.Equivalence.{u5, u6, u1, u2} A _inst_1 A' _inst_2} {eB : CategoryTheory.Equivalence.{u7, u8, u3, u4} B _inst_3 B' _inst_4} {e' : CategoryTheory.Equivalence.{u6, u8, u2, u4} A' _inst_2 B' _inst_4} {F : CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4}, (CategoryTheory.Iso.{max u1 u8, max u5 u8 u1 u4} (CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u5, u6, u8, u1, u2, u4} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u5, u6, u1, u2} A _inst_1 A' _inst_2 eA) (CategoryTheory.Equivalence.functor.{u6, u8, u2, u4} A' _inst_2 B' _inst_4 e')) F) -> (forall {G : CategoryTheory.Functor.{u7, u5, u3, u1} B _inst_3 A _inst_1}, (CategoryTheory.Iso.{max u3 u6, max u7 u6 u3 u2} (CategoryTheory.Functor.{u7, u6, u3, u2} B _inst_3 A' _inst_2) (CategoryTheory.Functor.category.{u7, u6, u3, u2} B _inst_3 A' _inst_2) (CategoryTheory.Functor.comp.{u7, u8, u6, u3, u4, u2} B _inst_3 B' _inst_4 A' _inst_2 (CategoryTheory.Equivalence.functor.{u7, u8, u3, u4} B _inst_3 B' _inst_4 eB) (CategoryTheory.Equivalence.inverse.{u6, u8, u2, u4} A' _inst_2 B' _inst_4 e')) (CategoryTheory.Functor.comp.{u7, u5, u6, u3, u1, u2} B _inst_3 A _inst_1 A' _inst_2 G (CategoryTheory.Equivalence.functor.{u5, u6, u1, u2} A _inst_1 A' _inst_2 eA))) -> (CategoryTheory.Equivalence.{u5, u7, u1, u3} A _inst_1 B _inst_3))
-but is expected to have type
-  forall {A : Type.{u1}} {A' : Type.{u2}} {B : Type.{u3}} {B' : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u5, u1} A] [_inst_2 : CategoryTheory.Category.{u6, u2} A'] [_inst_3 : CategoryTheory.Category.{u7, u3} B] [_inst_4 : CategoryTheory.Category.{u8, u4} B'] {eA : CategoryTheory.Equivalence.{u5, u6, u1, u2} A A' _inst_1 _inst_2} {eB : CategoryTheory.Equivalence.{u7, u8, u3, u4} B B' _inst_3 _inst_4} {e' : CategoryTheory.Equivalence.{u6, u8, u2, u4} A' B' _inst_2 _inst_4} {F : CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4}, (CategoryTheory.Iso.{max u1 u8, max (max (max u4 u1) u8) u5} (CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u5, u6, u8, u1, u2, u4} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u5, u6, u1, u2} A A' _inst_1 _inst_2 eA) (CategoryTheory.Equivalence.functor.{u6, u8, u2, u4} A' B' _inst_2 _inst_4 e')) F) -> (forall {G : CategoryTheory.Functor.{u7, u5, u3, u1} B _inst_3 A _inst_1}, (CategoryTheory.Iso.{max u3 u6, max (max (max u2 u3) u6) u7} (CategoryTheory.Functor.{u7, u6, u3, u2} B _inst_3 A' _inst_2) (CategoryTheory.Functor.category.{u7, u6, u3, u2} B _inst_3 A' _inst_2) (CategoryTheory.Functor.comp.{u7, u8, u6, u3, u4, u2} B _inst_3 B' _inst_4 A' _inst_2 (CategoryTheory.Equivalence.functor.{u7, u8, u3, u4} B B' _inst_3 _inst_4 eB) (CategoryTheory.Equivalence.inverse.{u6, u8, u2, u4} A' B' _inst_2 _inst_4 e')) (CategoryTheory.Functor.comp.{u7, u5, u6, u3, u1, u2} B _inst_3 A _inst_1 A' _inst_2 G (CategoryTheory.Equivalence.functor.{u5, u6, u1, u2} A A' _inst_1 _inst_2 eA))) -> (CategoryTheory.Equivalence.{u5, u7, u1, u3} A B _inst_1 _inst_3))
-Case conversion may be inaccurate. Consider using '#align algebraic_topology.dold_kan.compatibility.equivalence AlgebraicTopology.DoldKan.Compatibility.equivalenceₓ'. -/
 /-- The equivalence `A ≅ B` whose functor is `F ⋙ eB.inverse` and
 whose inverse is `G : B ≅ A`. -/
 @[simps inverse]
@@ -274,9 +196,6 @@ def equivalence : A ≌ B :=
   G.as_equivalence.symm
 #align algebraic_topology.dold_kan.compatibility.equivalence AlgebraicTopology.DoldKan.Compatibility.equivalence
 
-/- warning: algebraic_topology.dold_kan.compatibility.equivalence_functor -> AlgebraicTopology.DoldKan.Compatibility.equivalence_functor is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align algebraic_topology.dold_kan.compatibility.equivalence_functor AlgebraicTopology.DoldKan.Compatibility.equivalence_functorₓ'. -/
 theorem equivalence_functor : (equivalence hF hG).Functor = F ⋙ eB.inverse :=
   rfl
 #align algebraic_topology.dold_kan.compatibility.equivalence_functor AlgebraicTopology.DoldKan.Compatibility.equivalence_functor
Diff
@@ -209,10 +209,7 @@ def equivalence₂CounitIso : (eB.Functor ⋙ e'.inverse ⋙ eA.inverse) ⋙ F 
 #align algebraic_topology.dold_kan.compatibility.equivalence₂_counit_iso AlgebraicTopology.DoldKan.Compatibility.equivalence₂CounitIso
 
 /- warning: algebraic_topology.dold_kan.compatibility.equivalence₂_counit_iso_eq -> AlgebraicTopology.DoldKan.Compatibility.equivalence₂CounitIso_eq is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} {A' : Type.{u2}} {B : Type.{u3}} {B' : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u5, u1} A] [_inst_2 : CategoryTheory.Category.{u6, u2} A'] [_inst_3 : CategoryTheory.Category.{u7, u3} B] [_inst_4 : CategoryTheory.Category.{u8, u4} B'] {eA : CategoryTheory.Equivalence.{u5, u6, u1, u2} A _inst_1 A' _inst_2} (eB : CategoryTheory.Equivalence.{u7, u8, u3, u4} B _inst_3 B' _inst_4) {e' : CategoryTheory.Equivalence.{u6, u8, u2, u4} A' _inst_2 B' _inst_4} {F : CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4} (hF : CategoryTheory.Iso.{max u1 u8, max u5 u8 u1 u4} (CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u5, u6, u8, u1, u2, u4} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u5, u6, u1, u2} A _inst_1 A' _inst_2 eA) (CategoryTheory.Equivalence.functor.{u6, u8, u2, u4} A' _inst_2 B' _inst_4 e')) F), Eq.{succ (max u3 u7)} (CategoryTheory.Iso.{max u3 u7, max u7 u3} (CategoryTheory.Functor.{u7, u7, u3, u3} B _inst_3 B _inst_3) (CategoryTheory.Functor.category.{u7, u7, u3, u3} B _inst_3 B _inst_3) (CategoryTheory.Functor.comp.{u7, u5, u7, u3, u1, u3} B _inst_3 A _inst_1 B _inst_3 (CategoryTheory.Equivalence.inverse.{u5, u7, u1, u3} A _inst_1 B _inst_3 (AlgebraicTopology.DoldKan.Compatibility.equivalence₂.{u1, u2, u3, u4, u5, u6, u7, u8} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF)) (CategoryTheory.Equivalence.functor.{u5, u7, u1, u3} A _inst_1 B _inst_3 (AlgebraicTopology.DoldKan.Compatibility.equivalence₂.{u1, u2, u3, u4, u5, u6, u7, u8} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF))) (CategoryTheory.Functor.id.{u7, u3} B _inst_3)) (CategoryTheory.Equivalence.counitIso.{u5, u7, u1, u3} A _inst_1 B _inst_3 (AlgebraicTopology.DoldKan.Compatibility.equivalence₂.{u1, u2, u3, u4, u5, u6, u7, u8} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF)) (AlgebraicTopology.DoldKan.Compatibility.equivalence₂CounitIso.{u1, u2, u3, u4, u5, u6, u7, u8} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' (CategoryTheory.Equivalence.functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u1, u2, u4, u5, u6, u8} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)) hF)
-but is expected to have type
-  forall {A : Type.{u5}} {A' : Type.{u4}} {B : Type.{u8}} {B' : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u6, u5} A] [_inst_2 : CategoryTheory.Category.{u2, u4} A'] [_inst_3 : CategoryTheory.Category.{u7, u8} B] [_inst_4 : CategoryTheory.Category.{u1, u3} B'] {eA : CategoryTheory.Equivalence.{u6, u2, u5, u4} A A' _inst_1 _inst_2} (eB : CategoryTheory.Equivalence.{u7, u1, u8, u3} B B' _inst_3 _inst_4) {e' : CategoryTheory.Equivalence.{u2, u1, u4, u3} A' B' _inst_2 _inst_4} {F : CategoryTheory.Functor.{u6, u1, u5, u3} A _inst_1 B' _inst_4} (hF : CategoryTheory.Iso.{max u5 u1, max (max (max u3 u5) u1) u6} (CategoryTheory.Functor.{u6, u1, u5, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u6, u1, u5, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u6, u2, u1, u5, u4, u3} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u6, u2, u5, u4} A A' _inst_1 _inst_2 eA) (CategoryTheory.Equivalence.functor.{u2, u1, u4, u3} A' B' _inst_2 _inst_4 e')) F), Eq.{max (succ u8) (succ u7)} (CategoryTheory.Iso.{max u8 u7, max u8 u7} (CategoryTheory.Functor.{u7, u7, u8, u8} B _inst_3 B _inst_3) (CategoryTheory.Functor.category.{u7, u7, u8, u8} B _inst_3 B _inst_3) (CategoryTheory.Functor.comp.{u7, u6, u7, u8, u5, u8} B _inst_3 A _inst_1 B _inst_3 (CategoryTheory.Equivalence.inverse.{u6, u7, u5, u8} A B _inst_1 _inst_3 (AlgebraicTopology.DoldKan.Compatibility.equivalence₂.{u5, u4, u8, u3, u6, u2, u7, u1} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF)) (CategoryTheory.Equivalence.functor.{u6, u7, u5, u8} A B _inst_1 _inst_3 (AlgebraicTopology.DoldKan.Compatibility.equivalence₂.{u5, u4, u8, u3, u6, u2, u7, u1} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF))) (CategoryTheory.Functor.id.{u7, u8} B _inst_3)) (CategoryTheory.Equivalence.counitIso.{u6, u7, u5, u8} A B _inst_1 _inst_3 (AlgebraicTopology.DoldKan.Compatibility.equivalence₂.{u5, u4, u8, u3, u6, u2, u7, u1} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF)) (AlgebraicTopology.DoldKan.Compatibility.equivalence₂CounitIso.{u5, u4, u8, u3, u6, u2, u7, u1} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF)
+<too large>
 Case conversion may be inaccurate. Consider using '#align algebraic_topology.dold_kan.compatibility.equivalence₂_counit_iso_eq AlgebraicTopology.DoldKan.Compatibility.equivalence₂CounitIso_eqₓ'. -/
 theorem equivalence₂CounitIso_eq : (equivalence₂ eB hF).counitIso = equivalence₂CounitIso eB hF :=
   by
@@ -241,10 +238,7 @@ def equivalence₂UnitIso : 𝟭 A ≅ (F ⋙ eB.inverse) ⋙ eB.Functor ⋙ e'.
 #align algebraic_topology.dold_kan.compatibility.equivalence₂_unit_iso AlgebraicTopology.DoldKan.Compatibility.equivalence₂UnitIso
 
 /- warning: algebraic_topology.dold_kan.compatibility.equivalence₂_unit_iso_eq -> AlgebraicTopology.DoldKan.Compatibility.equivalence₂UnitIso_eq is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} {A' : Type.{u2}} {B : Type.{u3}} {B' : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u5, u1} A] [_inst_2 : CategoryTheory.Category.{u6, u2} A'] [_inst_3 : CategoryTheory.Category.{u7, u3} B] [_inst_4 : CategoryTheory.Category.{u8, u4} B'] {eA : CategoryTheory.Equivalence.{u5, u6, u1, u2} A _inst_1 A' _inst_2} (eB : CategoryTheory.Equivalence.{u7, u8, u3, u4} B _inst_3 B' _inst_4) {e' : CategoryTheory.Equivalence.{u6, u8, u2, u4} A' _inst_2 B' _inst_4} {F : CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4} (hF : CategoryTheory.Iso.{max u1 u8, max u5 u8 u1 u4} (CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u5, u6, u8, u1, u2, u4} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u5, u6, u1, u2} A _inst_1 A' _inst_2 eA) (CategoryTheory.Equivalence.functor.{u6, u8, u2, u4} A' _inst_2 B' _inst_4 e')) F), Eq.{succ (max u1 u5)} (CategoryTheory.Iso.{max u1 u5, max u5 u1} (CategoryTheory.Functor.{u5, u5, u1, u1} A _inst_1 A _inst_1) (CategoryTheory.Functor.category.{u5, u5, u1, u1} A _inst_1 A _inst_1) (CategoryTheory.Functor.id.{u5, u1} A _inst_1) (CategoryTheory.Functor.comp.{u5, u7, u5, u1, u3, u1} A _inst_1 B _inst_3 A _inst_1 (CategoryTheory.Equivalence.functor.{u5, u7, u1, u3} A _inst_1 B _inst_3 (AlgebraicTopology.DoldKan.Compatibility.equivalence₂.{u1, u2, u3, u4, u5, u6, u7, u8} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF)) (CategoryTheory.Equivalence.inverse.{u5, u7, u1, u3} A _inst_1 B _inst_3 (AlgebraicTopology.DoldKan.Compatibility.equivalence₂.{u1, u2, u3, u4, u5, u6, u7, u8} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF)))) (CategoryTheory.Equivalence.unitIso.{u5, u7, u1, u3} A _inst_1 B _inst_3 (AlgebraicTopology.DoldKan.Compatibility.equivalence₂.{u1, u2, u3, u4, u5, u6, u7, u8} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF)) (AlgebraicTopology.DoldKan.Compatibility.equivalence₂UnitIso.{u1, u2, u3, u4, u5, u6, u7, u8} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' (CategoryTheory.Equivalence.functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u1, u2, u4, u5, u6, u8} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)) hF)
-but is expected to have type
-  forall {A : Type.{u8}} {A' : Type.{u4}} {B : Type.{u5}} {B' : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u7, u8} A] [_inst_2 : CategoryTheory.Category.{u2, u4} A'] [_inst_3 : CategoryTheory.Category.{u6, u5} B] [_inst_4 : CategoryTheory.Category.{u1, u3} B'] {eA : CategoryTheory.Equivalence.{u7, u2, u8, u4} A A' _inst_1 _inst_2} (eB : CategoryTheory.Equivalence.{u6, u1, u5, u3} B B' _inst_3 _inst_4) {e' : CategoryTheory.Equivalence.{u2, u1, u4, u3} A' B' _inst_2 _inst_4} {F : CategoryTheory.Functor.{u7, u1, u8, u3} A _inst_1 B' _inst_4} (hF : CategoryTheory.Iso.{max u8 u1, max (max (max u3 u8) u1) u7} (CategoryTheory.Functor.{u7, u1, u8, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u7, u1, u8, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u7, u2, u1, u8, u4, u3} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u7, u2, u8, u4} A A' _inst_1 _inst_2 eA) (CategoryTheory.Equivalence.functor.{u2, u1, u4, u3} A' B' _inst_2 _inst_4 e')) F), Eq.{max (succ u8) (succ u7)} (CategoryTheory.Iso.{max u8 u7, max u8 u7} (CategoryTheory.Functor.{u7, u7, u8, u8} A _inst_1 A _inst_1) (CategoryTheory.Functor.category.{u7, u7, u8, u8} A _inst_1 A _inst_1) (CategoryTheory.Functor.id.{u7, u8} A _inst_1) (CategoryTheory.Functor.comp.{u7, u6, u7, u8, u5, u8} A _inst_1 B _inst_3 A _inst_1 (CategoryTheory.Equivalence.functor.{u7, u6, u8, u5} A B _inst_1 _inst_3 (AlgebraicTopology.DoldKan.Compatibility.equivalence₂.{u8, u4, u5, u3, u7, u2, u6, u1} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF)) (CategoryTheory.Equivalence.inverse.{u7, u6, u8, u5} A B _inst_1 _inst_3 (AlgebraicTopology.DoldKan.Compatibility.equivalence₂.{u8, u4, u5, u3, u7, u2, u6, u1} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF)))) (CategoryTheory.Equivalence.unitIso.{u7, u6, u8, u5} A B _inst_1 _inst_3 (AlgebraicTopology.DoldKan.Compatibility.equivalence₂.{u8, u4, u5, u3, u7, u2, u6, u1} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF)) (AlgebraicTopology.DoldKan.Compatibility.equivalence₂UnitIso.{u8, u4, u5, u3, u7, u2, u6, u1} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF)
+<too large>
 Case conversion may be inaccurate. Consider using '#align algebraic_topology.dold_kan.compatibility.equivalence₂_unit_iso_eq AlgebraicTopology.DoldKan.Compatibility.equivalence₂UnitIso_eqₓ'. -/
 theorem equivalence₂UnitIso_eq : (equivalence₂ eB hF).unitIso = equivalence₂UnitIso eB hF :=
   by
@@ -281,10 +275,7 @@ def equivalence : A ≌ B :=
 #align algebraic_topology.dold_kan.compatibility.equivalence AlgebraicTopology.DoldKan.Compatibility.equivalence
 
 /- warning: algebraic_topology.dold_kan.compatibility.equivalence_functor -> AlgebraicTopology.DoldKan.Compatibility.equivalence_functor is a dubious translation:
-lean 3 declaration is
-  forall {A : Type.{u1}} {A' : Type.{u2}} {B : Type.{u3}} {B' : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u5, u1} A] [_inst_2 : CategoryTheory.Category.{u6, u2} A'] [_inst_3 : CategoryTheory.Category.{u7, u3} B] [_inst_4 : CategoryTheory.Category.{u8, u4} B'] {eA : CategoryTheory.Equivalence.{u5, u6, u1, u2} A _inst_1 A' _inst_2} {eB : CategoryTheory.Equivalence.{u7, u8, u3, u4} B _inst_3 B' _inst_4} {e' : CategoryTheory.Equivalence.{u6, u8, u2, u4} A' _inst_2 B' _inst_4} {F : CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4} (hF : CategoryTheory.Iso.{max u1 u8, max u5 u8 u1 u4} (CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u5, u6, u8, u1, u2, u4} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u5, u6, u1, u2} A _inst_1 A' _inst_2 eA) (CategoryTheory.Equivalence.functor.{u6, u8, u2, u4} A' _inst_2 B' _inst_4 e')) F) {G : CategoryTheory.Functor.{u7, u5, u3, u1} B _inst_3 A _inst_1} (hG : CategoryTheory.Iso.{max u3 u6, max u7 u6 u3 u2} (CategoryTheory.Functor.{u7, u6, u3, u2} B _inst_3 A' _inst_2) (CategoryTheory.Functor.category.{u7, u6, u3, u2} B _inst_3 A' _inst_2) (CategoryTheory.Functor.comp.{u7, u8, u6, u3, u4, u2} B _inst_3 B' _inst_4 A' _inst_2 (CategoryTheory.Equivalence.functor.{u7, u8, u3, u4} B _inst_3 B' _inst_4 eB) (CategoryTheory.Equivalence.inverse.{u6, u8, u2, u4} A' _inst_2 B' _inst_4 e')) (CategoryTheory.Functor.comp.{u7, u5, u6, u3, u1, u2} B _inst_3 A _inst_1 A' _inst_2 G (CategoryTheory.Equivalence.functor.{u5, u6, u1, u2} A _inst_1 A' _inst_2 eA))), Eq.{succ (max u5 u7 u1 u3)} (CategoryTheory.Functor.{u5, u7, u1, u3} A _inst_1 B _inst_3) (CategoryTheory.Equivalence.functor.{u5, u7, u1, u3} A _inst_1 B _inst_3 (AlgebraicTopology.DoldKan.Compatibility.equivalence.{u1, u2, u3, u4, u5, u6, u7, u8} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF G hG)) (CategoryTheory.Functor.comp.{u5, u8, u7, u1, u4, u3} A _inst_1 B' _inst_4 B _inst_3 F (CategoryTheory.Equivalence.inverse.{u7, u8, u3, u4} B _inst_3 B' _inst_4 eB))
-but is expected to have type
-  forall {A : Type.{u8}} {A' : Type.{u4}} {B : Type.{u7}} {B' : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u6, u8} A] [_inst_2 : CategoryTheory.Category.{u2, u4} A'] [_inst_3 : CategoryTheory.Category.{u5, u7} B] [_inst_4 : CategoryTheory.Category.{u1, u3} B'] {eA : CategoryTheory.Equivalence.{u6, u2, u8, u4} A A' _inst_1 _inst_2} {eB : CategoryTheory.Equivalence.{u5, u1, u7, u3} B B' _inst_3 _inst_4} {e' : CategoryTheory.Equivalence.{u2, u1, u4, u3} A' B' _inst_2 _inst_4} {F : CategoryTheory.Functor.{u6, u1, u8, u3} A _inst_1 B' _inst_4} (hF : CategoryTheory.Iso.{max u8 u1, max (max (max u3 u8) u1) u6} (CategoryTheory.Functor.{u6, u1, u8, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u6, u1, u8, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u6, u2, u1, u8, u4, u3} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u6, u2, u8, u4} A A' _inst_1 _inst_2 eA) (CategoryTheory.Equivalence.functor.{u2, u1, u4, u3} A' B' _inst_2 _inst_4 e')) F) {G : CategoryTheory.Functor.{u5, u6, u7, u8} B _inst_3 A _inst_1} (hG : CategoryTheory.Iso.{max u7 u2, max (max (max u4 u7) u2) u5} (CategoryTheory.Functor.{u5, u2, u7, u4} B _inst_3 A' _inst_2) (CategoryTheory.Functor.category.{u5, u2, u7, u4} B _inst_3 A' _inst_2) (CategoryTheory.Functor.comp.{u5, u1, u2, u7, u3, u4} B _inst_3 B' _inst_4 A' _inst_2 (CategoryTheory.Equivalence.functor.{u5, u1, u7, u3} B B' _inst_3 _inst_4 eB) (CategoryTheory.Equivalence.inverse.{u2, u1, u4, u3} A' B' _inst_2 _inst_4 e')) (CategoryTheory.Functor.comp.{u5, u6, u2, u7, u8, u4} B _inst_3 A _inst_1 A' _inst_2 G (CategoryTheory.Equivalence.functor.{u6, u2, u8, u4} A A' _inst_1 _inst_2 eA))), Eq.{max (max (max (succ u8) (succ u7)) (succ u6)) (succ u5)} (CategoryTheory.Functor.{u6, u5, u8, u7} A _inst_1 B _inst_3) (CategoryTheory.Equivalence.functor.{u6, u5, u8, u7} A B _inst_1 _inst_3 (AlgebraicTopology.DoldKan.Compatibility.equivalence.{u8, u4, u7, u3, u6, u2, u5, u1} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF G hG)) (CategoryTheory.Functor.comp.{u6, u1, u5, u8, u3, u7} A _inst_1 B' _inst_4 B _inst_3 F (CategoryTheory.Equivalence.inverse.{u5, u1, u7, u3} B B' _inst_3 _inst_4 eB))
+<too large>
 Case conversion may be inaccurate. Consider using '#align algebraic_topology.dold_kan.compatibility.equivalence_functor AlgebraicTopology.DoldKan.Compatibility.equivalence_functorₓ'. -/
 theorem equivalence_functor : (equivalence hF hG).Functor = F ⋙ eB.inverse :=
   rfl
Diff
@@ -4,13 +4,16 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Joël Riou
 
 ! This file was ported from Lean 3 source module algebraic_topology.dold_kan.compatibility
-! leanprover-community/mathlib commit 160f568dcf772b2477791c844fc605f2f91f73d1
+! leanprover-community/mathlib commit d64d67d000b974f0d86a2be7918cf800be6271c8
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
 import Mathbin.CategoryTheory.Equivalence
 
-/-! Tools for compatibilities between Dold-Kan equivalences
+/-!
+> 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 ℕ`
Diff
@@ -54,6 +54,12 @@ variable {A A' B B' : Type _} [Category A] [Category A'] [Category B] [Category
   (eB : B ≌ B') (e' : A' ≌ B') {F : A ⥤ B'} (hF : eA.Functor ⋙ e'.Functor ≅ F) {G : B ⥤ A}
   (hG : eB.Functor ⋙ e'.inverse ≅ G ⋙ eA.Functor)
 
+/- warning: algebraic_topology.dold_kan.compatibility.equivalence₀ -> AlgebraicTopology.DoldKan.Compatibility.equivalence₀ is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} {A' : Type.{u2}} {B' : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u4, u1} A] [_inst_2 : CategoryTheory.Category.{u5, u2} A'] [_inst_4 : CategoryTheory.Category.{u6, u3} B'], (CategoryTheory.Equivalence.{u4, u5, u1, u2} A _inst_1 A' _inst_2) -> (CategoryTheory.Equivalence.{u5, u6, u2, u3} A' _inst_2 B' _inst_4) -> (CategoryTheory.Equivalence.{u4, u6, u1, u3} A _inst_1 B' _inst_4)
+but is expected to have type
+  forall {A : Type.{u1}} {A' : Type.{u2}} {B' : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u4, u1} A] [_inst_2 : CategoryTheory.Category.{u5, u2} A'] [_inst_4 : CategoryTheory.Category.{u6, u3} B'], (CategoryTheory.Equivalence.{u4, u5, u1, u2} A A' _inst_1 _inst_2) -> (CategoryTheory.Equivalence.{u5, u6, u2, u3} A' B' _inst_2 _inst_4) -> (CategoryTheory.Equivalence.{u4, u6, u1, u3} A B' _inst_1 _inst_4)
+Case conversion may be inaccurate. Consider using '#align algebraic_topology.dold_kan.compatibility.equivalence₀ AlgebraicTopology.DoldKan.Compatibility.equivalence₀ₓ'. -/
 /-- A basic equivalence `A ≅ B'` obtained by composing `eA : A ≅ A'` and `e' : A' ≅ B'`. -/
 @[simps Functor inverse unit_iso_hom_app]
 def equivalence₀ : A ≌ B' :=
@@ -64,6 +70,12 @@ include hF
 
 variable {eA} {e'}
 
+/- warning: algebraic_topology.dold_kan.compatibility.equivalence₁ -> AlgebraicTopology.DoldKan.Compatibility.equivalence₁ is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} {A' : Type.{u2}} {B' : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u4, u1} A] [_inst_2 : CategoryTheory.Category.{u5, u2} A'] [_inst_4 : CategoryTheory.Category.{u6, u3} B'] {eA : CategoryTheory.Equivalence.{u4, u5, u1, u2} A _inst_1 A' _inst_2} {e' : CategoryTheory.Equivalence.{u5, u6, u2, u3} A' _inst_2 B' _inst_4} {F : CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4}, (CategoryTheory.Iso.{max u1 u6, max u4 u6 u1 u3} (CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u4, u5, u6, u1, u2, u3} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u4, u5, u1, u2} A _inst_1 A' _inst_2 eA) (CategoryTheory.Equivalence.functor.{u5, u6, u2, u3} A' _inst_2 B' _inst_4 e')) F) -> (CategoryTheory.Equivalence.{u4, u6, u1, u3} A _inst_1 B' _inst_4)
+but is expected to have type
+  forall {A : Type.{u1}} {A' : Type.{u2}} {B' : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u4, u1} A] [_inst_2 : CategoryTheory.Category.{u5, u2} A'] [_inst_4 : CategoryTheory.Category.{u6, u3} B'] {eA : CategoryTheory.Equivalence.{u4, u5, u1, u2} A A' _inst_1 _inst_2} {e' : CategoryTheory.Equivalence.{u5, u6, u2, u3} A' B' _inst_2 _inst_4} {F : CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4}, (CategoryTheory.Iso.{max u1 u6, max (max (max u3 u1) u6) u4} (CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u4, u5, u6, u1, u2, u3} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u4, u5, u1, u2} A A' _inst_1 _inst_2 eA) (CategoryTheory.Equivalence.functor.{u5, u6, u2, u3} A' B' _inst_2 _inst_4 e')) F) -> (CategoryTheory.Equivalence.{u4, u6, u1, u3} A B' _inst_1 _inst_4)
+Case conversion may be inaccurate. Consider using '#align algebraic_topology.dold_kan.compatibility.equivalence₁ AlgebraicTopology.DoldKan.Compatibility.equivalence₁ₓ'. -/
 /-- An intermediate equivalence `A ≅ B'` whose functor is `F` and whose inverse is
 `e'.inverse ⋙ eA.inverse`. -/
 @[simps Functor]
@@ -73,10 +85,22 @@ def equivalence₁ : A ≌ B' :=
   F.as_equivalence
 #align algebraic_topology.dold_kan.compatibility.equivalence₁ AlgebraicTopology.DoldKan.Compatibility.equivalence₁
 
+/- warning: algebraic_topology.dold_kan.compatibility.equivalence₁_inverse -> AlgebraicTopology.DoldKan.Compatibility.equivalence₁_inverse is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} {A' : Type.{u2}} {B' : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u4, u1} A] [_inst_2 : CategoryTheory.Category.{u5, u2} A'] [_inst_4 : CategoryTheory.Category.{u6, u3} B'] {eA : CategoryTheory.Equivalence.{u4, u5, u1, u2} A _inst_1 A' _inst_2} {e' : CategoryTheory.Equivalence.{u5, u6, u2, u3} A' _inst_2 B' _inst_4} {F : CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4} (hF : CategoryTheory.Iso.{max u1 u6, max u4 u6 u1 u3} (CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u4, u5, u6, u1, u2, u3} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u4, u5, u1, u2} A _inst_1 A' _inst_2 eA) (CategoryTheory.Equivalence.functor.{u5, u6, u2, u3} A' _inst_2 B' _inst_4 e')) F), Eq.{succ (max u6 u4 u3 u1)} (CategoryTheory.Functor.{u6, u4, u3, u1} B' _inst_4 A _inst_1) (CategoryTheory.Equivalence.inverse.{u4, u6, u1, u3} A _inst_1 B' _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u1, u2, u3, u4, u5, u6} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)) (CategoryTheory.Functor.comp.{u6, u5, u4, u3, u2, u1} B' _inst_4 A' _inst_2 A _inst_1 (CategoryTheory.Equivalence.inverse.{u5, u6, u2, u3} A' _inst_2 B' _inst_4 e') (CategoryTheory.Equivalence.inverse.{u4, u5, u1, u2} A _inst_1 A' _inst_2 eA))
+but is expected to have type
+  forall {A : Type.{u6}} {A' : Type.{u2}} {B' : Type.{u5}} [_inst_1 : CategoryTheory.Category.{u4, u6} A] [_inst_2 : CategoryTheory.Category.{u1, u2} A'] [_inst_4 : CategoryTheory.Category.{u3, u5} B'] {eA : CategoryTheory.Equivalence.{u4, u1, u6, u2} A A' _inst_1 _inst_2} {e' : CategoryTheory.Equivalence.{u1, u3, u2, u5} A' B' _inst_2 _inst_4} {F : CategoryTheory.Functor.{u4, u3, u6, u5} A _inst_1 B' _inst_4} (hF : CategoryTheory.Iso.{max u6 u3, max (max (max u5 u6) u3) u4} (CategoryTheory.Functor.{u4, u3, u6, u5} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u4, u3, u6, u5} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u4, u1, u3, u6, u2, u5} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u4, u1, u6, u2} A A' _inst_1 _inst_2 eA) (CategoryTheory.Equivalence.functor.{u1, u3, u2, u5} A' B' _inst_2 _inst_4 e')) F), Eq.{max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3)} (CategoryTheory.Functor.{u3, u4, u5, u6} B' _inst_4 A _inst_1) (CategoryTheory.Equivalence.inverse.{u4, u3, u6, u5} A B' _inst_1 _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u6, u2, u5, u4, u1, u3} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)) (CategoryTheory.Functor.comp.{u3, u1, u4, u5, u2, u6} B' _inst_4 A' _inst_2 A _inst_1 (CategoryTheory.Equivalence.inverse.{u1, u3, u2, u5} A' B' _inst_2 _inst_4 e') (CategoryTheory.Equivalence.inverse.{u4, u1, u6, u2} A A' _inst_1 _inst_2 eA))
+Case conversion may be inaccurate. Consider using '#align algebraic_topology.dold_kan.compatibility.equivalence₁_inverse AlgebraicTopology.DoldKan.Compatibility.equivalence₁_inverseₓ'. -/
 theorem equivalence₁_inverse : (equivalence₁ hF).inverse = e'.inverse ⋙ eA.inverse :=
   rfl
 #align algebraic_topology.dold_kan.compatibility.equivalence₁_inverse AlgebraicTopology.DoldKan.Compatibility.equivalence₁_inverse
 
+/- warning: algebraic_topology.dold_kan.compatibility.equivalence₁_counit_iso -> AlgebraicTopology.DoldKan.Compatibility.equivalence₁CounitIso is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} {A' : Type.{u2}} {B' : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u4, u1} A] [_inst_2 : CategoryTheory.Category.{u5, u2} A'] [_inst_4 : CategoryTheory.Category.{u6, u3} B'] {eA : CategoryTheory.Equivalence.{u4, u5, u1, u2} A _inst_1 A' _inst_2} {e' : CategoryTheory.Equivalence.{u5, u6, u2, u3} A' _inst_2 B' _inst_4} {F : CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4}, (CategoryTheory.Iso.{max u1 u6, max u4 u6 u1 u3} (CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u4, u5, u6, u1, u2, u3} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u4, u5, u1, u2} A _inst_1 A' _inst_2 eA) (CategoryTheory.Equivalence.functor.{u5, u6, u2, u3} A' _inst_2 B' _inst_4 e')) F) -> (CategoryTheory.Iso.{max u3 u6, max u6 u3} (CategoryTheory.Functor.{u6, u6, u3, u3} B' _inst_4 B' _inst_4) (CategoryTheory.Functor.category.{u6, u6, u3, u3} B' _inst_4 B' _inst_4) (CategoryTheory.Functor.comp.{u6, u4, u6, u3, u1, u3} B' _inst_4 A _inst_1 B' _inst_4 (CategoryTheory.Functor.comp.{u6, u5, u4, u3, u2, u1} B' _inst_4 A' _inst_2 A _inst_1 (CategoryTheory.Equivalence.inverse.{u5, u6, u2, u3} A' _inst_2 B' _inst_4 e') (CategoryTheory.Equivalence.inverse.{u4, u5, u1, u2} A _inst_1 A' _inst_2 eA)) F) (CategoryTheory.Functor.id.{u6, u3} B' _inst_4))
+but is expected to have type
+  forall {A : Type.{u1}} {A' : Type.{u2}} {B' : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u4, u1} A] [_inst_2 : CategoryTheory.Category.{u5, u2} A'] [_inst_4 : CategoryTheory.Category.{u6, u3} B'] {eA : CategoryTheory.Equivalence.{u4, u5, u1, u2} A A' _inst_1 _inst_2} {e' : CategoryTheory.Equivalence.{u5, u6, u2, u3} A' B' _inst_2 _inst_4} {F : CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4}, (CategoryTheory.Iso.{max u1 u6, max (max (max u3 u1) u6) u4} (CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u4, u5, u6, u1, u2, u3} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u4, u5, u1, u2} A A' _inst_1 _inst_2 eA) (CategoryTheory.Equivalence.functor.{u5, u6, u2, u3} A' B' _inst_2 _inst_4 e')) F) -> (CategoryTheory.Iso.{max u3 u6, max u3 u6} (CategoryTheory.Functor.{u6, u6, u3, u3} B' _inst_4 B' _inst_4) (CategoryTheory.Functor.category.{u6, u6, u3, u3} B' _inst_4 B' _inst_4) (CategoryTheory.Functor.comp.{u6, u4, u6, u3, u1, u3} B' _inst_4 A _inst_1 B' _inst_4 (CategoryTheory.Functor.comp.{u6, u5, u4, u3, u2, u1} B' _inst_4 A' _inst_2 A _inst_1 (CategoryTheory.Equivalence.inverse.{u5, u6, u2, u3} A' B' _inst_2 _inst_4 e') (CategoryTheory.Equivalence.inverse.{u4, u5, u1, u2} A A' _inst_1 _inst_2 eA)) F) (CategoryTheory.Functor.id.{u6, u3} B' _inst_4))
+Case conversion may be inaccurate. Consider using '#align algebraic_topology.dold_kan.compatibility.equivalence₁_counit_iso AlgebraicTopology.DoldKan.Compatibility.equivalence₁CounitIsoₓ'. -/
 /-- The counit isomorphism of the equivalence `equivalence₁` between `A` and `B'`. -/
 @[simps]
 def equivalence₁CounitIso : (e'.inverse ⋙ eA.inverse) ⋙ F ≅ 𝟭 B' :=
@@ -90,6 +114,12 @@ def equivalence₁CounitIso : (e'.inverse ⋙ eA.inverse) ⋙ F ≅ 𝟭 B' :=
     
 #align algebraic_topology.dold_kan.compatibility.equivalence₁_counit_iso AlgebraicTopology.DoldKan.Compatibility.equivalence₁CounitIso
 
+/- warning: algebraic_topology.dold_kan.compatibility.equivalence₁_counit_iso_eq -> AlgebraicTopology.DoldKan.Compatibility.equivalence₁CounitIso_eq is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} {A' : Type.{u2}} {B' : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u4, u1} A] [_inst_2 : CategoryTheory.Category.{u5, u2} A'] [_inst_4 : CategoryTheory.Category.{u6, u3} B'] {eA : CategoryTheory.Equivalence.{u4, u5, u1, u2} A _inst_1 A' _inst_2} {e' : CategoryTheory.Equivalence.{u5, u6, u2, u3} A' _inst_2 B' _inst_4} {F : CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4} (hF : CategoryTheory.Iso.{max u1 u6, max u4 u6 u1 u3} (CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u4, u5, u6, u1, u2, u3} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u4, u5, u1, u2} A _inst_1 A' _inst_2 eA) (CategoryTheory.Equivalence.functor.{u5, u6, u2, u3} A' _inst_2 B' _inst_4 e')) F), Eq.{succ (max u3 u6)} (CategoryTheory.Iso.{max u3 u6, max u6 u3} (CategoryTheory.Functor.{u6, u6, u3, u3} B' _inst_4 B' _inst_4) (CategoryTheory.Functor.category.{u6, u6, u3, u3} B' _inst_4 B' _inst_4) (CategoryTheory.Functor.comp.{u6, u4, u6, u3, u1, u3} B' _inst_4 A _inst_1 B' _inst_4 (CategoryTheory.Equivalence.inverse.{u4, u6, u1, u3} A _inst_1 B' _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u1, u2, u3, u4, u5, u6} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)) (CategoryTheory.Equivalence.functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u1, u2, u3, u4, u5, u6} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF))) (CategoryTheory.Functor.id.{u6, u3} B' _inst_4)) (CategoryTheory.Equivalence.counitIso.{u4, u6, u1, u3} A _inst_1 B' _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u1, u2, u3, u4, u5, u6} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)) (AlgebraicTopology.DoldKan.Compatibility.equivalence₁CounitIso.{u1, u2, u3, u4, u5, u6} A A' B' _inst_1 _inst_2 _inst_4 eA e' (CategoryTheory.Equivalence.functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u1, u2, u3, u4, u5, u6} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)) hF)
+but is expected to have type
+  forall {A : Type.{u3}} {A' : Type.{u2}} {B' : Type.{u6}} [_inst_1 : CategoryTheory.Category.{u4, u3} A] [_inst_2 : CategoryTheory.Category.{u1, u2} A'] [_inst_4 : CategoryTheory.Category.{u5, u6} B'] {eA : CategoryTheory.Equivalence.{u4, u1, u3, u2} A A' _inst_1 _inst_2} {e' : CategoryTheory.Equivalence.{u1, u5, u2, u6} A' B' _inst_2 _inst_4} {F : CategoryTheory.Functor.{u4, u5, u3, u6} A _inst_1 B' _inst_4} (hF : CategoryTheory.Iso.{max u3 u5, max (max (max u6 u3) u5) u4} (CategoryTheory.Functor.{u4, u5, u3, u6} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u4, u5, u3, u6} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u4, u1, u5, u3, u2, u6} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u4, u1, u3, u2} A A' _inst_1 _inst_2 eA) (CategoryTheory.Equivalence.functor.{u1, u5, u2, u6} A' B' _inst_2 _inst_4 e')) F), Eq.{max (succ u6) (succ u5)} (CategoryTheory.Iso.{max u6 u5, max u6 u5} (CategoryTheory.Functor.{u5, u5, u6, u6} B' _inst_4 B' _inst_4) (CategoryTheory.Functor.category.{u5, u5, u6, u6} B' _inst_4 B' _inst_4) (CategoryTheory.Functor.comp.{u5, u4, u5, u6, u3, u6} B' _inst_4 A _inst_1 B' _inst_4 (CategoryTheory.Equivalence.inverse.{u4, u5, u3, u6} A B' _inst_1 _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u3, u2, u6, u4, u1, u5} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)) (CategoryTheory.Equivalence.functor.{u4, u5, u3, u6} A B' _inst_1 _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u3, u2, u6, u4, u1, u5} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF))) (CategoryTheory.Functor.id.{u5, u6} B' _inst_4)) (CategoryTheory.Equivalence.counitIso.{u4, u5, u3, u6} A B' _inst_1 _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u3, u2, u6, u4, u1, u5} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)) (AlgebraicTopology.DoldKan.Compatibility.equivalence₁CounitIso.{u3, u2, u6, u4, u1, u5} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)
+Case conversion may be inaccurate. Consider using '#align algebraic_topology.dold_kan.compatibility.equivalence₁_counit_iso_eq AlgebraicTopology.DoldKan.Compatibility.equivalence₁CounitIso_eqₓ'. -/
 theorem equivalence₁CounitIso_eq : (equivalence₁ hF).counitIso = equivalence₁CounitIso hF :=
   by
   ext Y
@@ -97,6 +127,12 @@ theorem equivalence₁CounitIso_eq : (equivalence₁ hF).counitIso = equivalence
   simp only [equivalence₁_counit_iso_hom_app, CategoryTheory.Functor.map_id, comp_id]
 #align algebraic_topology.dold_kan.compatibility.equivalence₁_counit_iso_eq AlgebraicTopology.DoldKan.Compatibility.equivalence₁CounitIso_eq
 
+/- warning: algebraic_topology.dold_kan.compatibility.equivalence₁_unit_iso -> AlgebraicTopology.DoldKan.Compatibility.equivalence₁UnitIso is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} {A' : Type.{u2}} {B' : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u4, u1} A] [_inst_2 : CategoryTheory.Category.{u5, u2} A'] [_inst_4 : CategoryTheory.Category.{u6, u3} B'] {eA : CategoryTheory.Equivalence.{u4, u5, u1, u2} A _inst_1 A' _inst_2} {e' : CategoryTheory.Equivalence.{u5, u6, u2, u3} A' _inst_2 B' _inst_4} {F : CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4}, (CategoryTheory.Iso.{max u1 u6, max u4 u6 u1 u3} (CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u4, u5, u6, u1, u2, u3} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u4, u5, u1, u2} A _inst_1 A' _inst_2 eA) (CategoryTheory.Equivalence.functor.{u5, u6, u2, u3} A' _inst_2 B' _inst_4 e')) F) -> (CategoryTheory.Iso.{max u1 u4, max u4 u1} (CategoryTheory.Functor.{u4, u4, u1, u1} A _inst_1 A _inst_1) (CategoryTheory.Functor.category.{u4, u4, u1, u1} A _inst_1 A _inst_1) (CategoryTheory.Functor.id.{u4, u1} A _inst_1) (CategoryTheory.Functor.comp.{u4, u6, u4, u1, u3, u1} A _inst_1 B' _inst_4 A _inst_1 F (CategoryTheory.Functor.comp.{u6, u5, u4, u3, u2, u1} B' _inst_4 A' _inst_2 A _inst_1 (CategoryTheory.Equivalence.inverse.{u5, u6, u2, u3} A' _inst_2 B' _inst_4 e') (CategoryTheory.Equivalence.inverse.{u4, u5, u1, u2} A _inst_1 A' _inst_2 eA))))
+but is expected to have type
+  forall {A : Type.{u1}} {A' : Type.{u2}} {B' : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u4, u1} A] [_inst_2 : CategoryTheory.Category.{u5, u2} A'] [_inst_4 : CategoryTheory.Category.{u6, u3} B'] {eA : CategoryTheory.Equivalence.{u4, u5, u1, u2} A A' _inst_1 _inst_2} {e' : CategoryTheory.Equivalence.{u5, u6, u2, u3} A' B' _inst_2 _inst_4} {F : CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4}, (CategoryTheory.Iso.{max u1 u6, max (max (max u3 u1) u6) u4} (CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u4, u5, u6, u1, u2, u3} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u4, u5, u1, u2} A A' _inst_1 _inst_2 eA) (CategoryTheory.Equivalence.functor.{u5, u6, u2, u3} A' B' _inst_2 _inst_4 e')) F) -> (CategoryTheory.Iso.{max u1 u4, max u1 u4} (CategoryTheory.Functor.{u4, u4, u1, u1} A _inst_1 A _inst_1) (CategoryTheory.Functor.category.{u4, u4, u1, u1} A _inst_1 A _inst_1) (CategoryTheory.Functor.id.{u4, u1} A _inst_1) (CategoryTheory.Functor.comp.{u4, u6, u4, u1, u3, u1} A _inst_1 B' _inst_4 A _inst_1 F (CategoryTheory.Functor.comp.{u6, u5, u4, u3, u2, u1} B' _inst_4 A' _inst_2 A _inst_1 (CategoryTheory.Equivalence.inverse.{u5, u6, u2, u3} A' B' _inst_2 _inst_4 e') (CategoryTheory.Equivalence.inverse.{u4, u5, u1, u2} A A' _inst_1 _inst_2 eA))))
+Case conversion may be inaccurate. Consider using '#align algebraic_topology.dold_kan.compatibility.equivalence₁_unit_iso AlgebraicTopology.DoldKan.Compatibility.equivalence₁UnitIsoₓ'. -/
 /-- The unit isomorphism of the equivalence `equivalence₁` between `A` and `B'`. -/
 @[simps]
 def equivalence₁UnitIso : 𝟭 A ≅ F ⋙ e'.inverse ⋙ eA.inverse :=
@@ -110,6 +146,12 @@ def equivalence₁UnitIso : 𝟭 A ≅ F ⋙ e'.inverse ⋙ eA.inverse :=
     
 #align algebraic_topology.dold_kan.compatibility.equivalence₁_unit_iso AlgebraicTopology.DoldKan.Compatibility.equivalence₁UnitIso
 
+/- warning: algebraic_topology.dold_kan.compatibility.equivalence₁_unit_iso_eq -> AlgebraicTopology.DoldKan.Compatibility.equivalence₁UnitIso_eq is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} {A' : Type.{u2}} {B' : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u4, u1} A] [_inst_2 : CategoryTheory.Category.{u5, u2} A'] [_inst_4 : CategoryTheory.Category.{u6, u3} B'] {eA : CategoryTheory.Equivalence.{u4, u5, u1, u2} A _inst_1 A' _inst_2} {e' : CategoryTheory.Equivalence.{u5, u6, u2, u3} A' _inst_2 B' _inst_4} {F : CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4} (hF : CategoryTheory.Iso.{max u1 u6, max u4 u6 u1 u3} (CategoryTheory.Functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u4, u6, u1, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u4, u5, u6, u1, u2, u3} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u4, u5, u1, u2} A _inst_1 A' _inst_2 eA) (CategoryTheory.Equivalence.functor.{u5, u6, u2, u3} A' _inst_2 B' _inst_4 e')) F), Eq.{succ (max u1 u4)} (CategoryTheory.Iso.{max u1 u4, max u4 u1} (CategoryTheory.Functor.{u4, u4, u1, u1} A _inst_1 A _inst_1) (CategoryTheory.Functor.category.{u4, u4, u1, u1} A _inst_1 A _inst_1) (CategoryTheory.Functor.id.{u4, u1} A _inst_1) (CategoryTheory.Functor.comp.{u4, u6, u4, u1, u3, u1} A _inst_1 B' _inst_4 A _inst_1 (CategoryTheory.Equivalence.functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u1, u2, u3, u4, u5, u6} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)) (CategoryTheory.Equivalence.inverse.{u4, u6, u1, u3} A _inst_1 B' _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u1, u2, u3, u4, u5, u6} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)))) (CategoryTheory.Equivalence.unitIso.{u4, u6, u1, u3} A _inst_1 B' _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u1, u2, u3, u4, u5, u6} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)) (AlgebraicTopology.DoldKan.Compatibility.equivalence₁UnitIso.{u1, u2, u3, u4, u5, u6} A A' B' _inst_1 _inst_2 _inst_4 eA e' (CategoryTheory.Equivalence.functor.{u4, u6, u1, u3} A _inst_1 B' _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u1, u2, u3, u4, u5, u6} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)) hF)
+but is expected to have type
+  forall {A : Type.{u6}} {A' : Type.{u2}} {B' : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u5, u6} A] [_inst_2 : CategoryTheory.Category.{u1, u2} A'] [_inst_4 : CategoryTheory.Category.{u4, u3} B'] {eA : CategoryTheory.Equivalence.{u5, u1, u6, u2} A A' _inst_1 _inst_2} {e' : CategoryTheory.Equivalence.{u1, u4, u2, u3} A' B' _inst_2 _inst_4} {F : CategoryTheory.Functor.{u5, u4, u6, u3} A _inst_1 B' _inst_4} (hF : CategoryTheory.Iso.{max u6 u4, max (max (max u3 u6) u4) u5} (CategoryTheory.Functor.{u5, u4, u6, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u5, u4, u6, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u5, u1, u4, u6, u2, u3} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u5, u1, u6, u2} A A' _inst_1 _inst_2 eA) (CategoryTheory.Equivalence.functor.{u1, u4, u2, u3} A' B' _inst_2 _inst_4 e')) F), Eq.{max (succ u6) (succ u5)} (CategoryTheory.Iso.{max u6 u5, max u6 u5} (CategoryTheory.Functor.{u5, u5, u6, u6} A _inst_1 A _inst_1) (CategoryTheory.Functor.category.{u5, u5, u6, u6} A _inst_1 A _inst_1) (CategoryTheory.Functor.id.{u5, u6} A _inst_1) (CategoryTheory.Functor.comp.{u5, u4, u5, u6, u3, u6} A _inst_1 B' _inst_4 A _inst_1 (CategoryTheory.Equivalence.functor.{u5, u4, u6, u3} A B' _inst_1 _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u6, u2, u3, u5, u1, u4} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)) (CategoryTheory.Equivalence.inverse.{u5, u4, u6, u3} A B' _inst_1 _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u6, u2, u3, u5, u1, u4} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)))) (CategoryTheory.Equivalence.unitIso.{u5, u4, u6, u3} A B' _inst_1 _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u6, u2, u3, u5, u1, u4} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)) (AlgebraicTopology.DoldKan.Compatibility.equivalence₁UnitIso.{u6, u2, u3, u5, u1, u4} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)
+Case conversion may be inaccurate. Consider using '#align algebraic_topology.dold_kan.compatibility.equivalence₁_unit_iso_eq AlgebraicTopology.DoldKan.Compatibility.equivalence₁UnitIso_eqₓ'. -/
 theorem equivalence₁UnitIso_eq : (equivalence₁ hF).unitIso = equivalence₁UnitIso hF :=
   by
   ext X
@@ -119,6 +161,12 @@ theorem equivalence₁UnitIso_eq : (equivalence₁ hF).unitIso = equivalence₁U
 
 include eB
 
+/- warning: algebraic_topology.dold_kan.compatibility.equivalence₂ -> AlgebraicTopology.DoldKan.Compatibility.equivalence₂ is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} {A' : Type.{u2}} {B : Type.{u3}} {B' : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u5, u1} A] [_inst_2 : CategoryTheory.Category.{u6, u2} A'] [_inst_3 : CategoryTheory.Category.{u7, u3} B] [_inst_4 : CategoryTheory.Category.{u8, u4} B'] {eA : CategoryTheory.Equivalence.{u5, u6, u1, u2} A _inst_1 A' _inst_2}, (CategoryTheory.Equivalence.{u7, u8, u3, u4} B _inst_3 B' _inst_4) -> (forall {e' : CategoryTheory.Equivalence.{u6, u8, u2, u4} A' _inst_2 B' _inst_4} {F : CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4}, (CategoryTheory.Iso.{max u1 u8, max u5 u8 u1 u4} (CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u5, u6, u8, u1, u2, u4} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u5, u6, u1, u2} A _inst_1 A' _inst_2 eA) (CategoryTheory.Equivalence.functor.{u6, u8, u2, u4} A' _inst_2 B' _inst_4 e')) F) -> (CategoryTheory.Equivalence.{u5, u7, u1, u3} A _inst_1 B _inst_3))
+but is expected to have type
+  forall {A : Type.{u1}} {A' : Type.{u2}} {B : Type.{u3}} {B' : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u5, u1} A] [_inst_2 : CategoryTheory.Category.{u6, u2} A'] [_inst_3 : CategoryTheory.Category.{u7, u3} B] [_inst_4 : CategoryTheory.Category.{u8, u4} B'] {eA : CategoryTheory.Equivalence.{u5, u6, u1, u2} A A' _inst_1 _inst_2}, (CategoryTheory.Equivalence.{u7, u8, u3, u4} B B' _inst_3 _inst_4) -> (forall {e' : CategoryTheory.Equivalence.{u6, u8, u2, u4} A' B' _inst_2 _inst_4} {F : CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4}, (CategoryTheory.Iso.{max u1 u8, max (max (max u4 u1) u8) u5} (CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u5, u6, u8, u1, u2, u4} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u5, u6, u1, u2} A A' _inst_1 _inst_2 eA) (CategoryTheory.Equivalence.functor.{u6, u8, u2, u4} A' B' _inst_2 _inst_4 e')) F) -> (CategoryTheory.Equivalence.{u5, u7, u1, u3} A B _inst_1 _inst_3))
+Case conversion may be inaccurate. Consider using '#align algebraic_topology.dold_kan.compatibility.equivalence₂ AlgebraicTopology.DoldKan.Compatibility.equivalence₂ₓ'. -/
 /-- An intermediate equivalence `A ≅ B` obtained as the composition of `equivalence₁` and
 the inverse of `eB : B ≌ B'`. -/
 @[simps Functor]
@@ -126,11 +174,23 @@ def equivalence₂ : A ≌ B :=
   (equivalence₁ hF).trans eB.symm
 #align algebraic_topology.dold_kan.compatibility.equivalence₂ AlgebraicTopology.DoldKan.Compatibility.equivalence₂
 
+/- warning: algebraic_topology.dold_kan.compatibility.equivalence₂_inverse -> AlgebraicTopology.DoldKan.Compatibility.equivalence₂_inverse is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} {A' : Type.{u2}} {B : Type.{u3}} {B' : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u5, u1} A] [_inst_2 : CategoryTheory.Category.{u6, u2} A'] [_inst_3 : CategoryTheory.Category.{u7, u3} B] [_inst_4 : CategoryTheory.Category.{u8, u4} B'] {eA : CategoryTheory.Equivalence.{u5, u6, u1, u2} A _inst_1 A' _inst_2} (eB : CategoryTheory.Equivalence.{u7, u8, u3, u4} B _inst_3 B' _inst_4) {e' : CategoryTheory.Equivalence.{u6, u8, u2, u4} A' _inst_2 B' _inst_4} {F : CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4} (hF : CategoryTheory.Iso.{max u1 u8, max u5 u8 u1 u4} (CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u5, u6, u8, u1, u2, u4} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u5, u6, u1, u2} A _inst_1 A' _inst_2 eA) (CategoryTheory.Equivalence.functor.{u6, u8, u2, u4} A' _inst_2 B' _inst_4 e')) F), Eq.{succ (max u7 u5 u3 u1)} (CategoryTheory.Functor.{u7, u5, u3, u1} B _inst_3 A _inst_1) (CategoryTheory.Equivalence.inverse.{u5, u7, u1, u3} A _inst_1 B _inst_3 (AlgebraicTopology.DoldKan.Compatibility.equivalence₂.{u1, u2, u3, u4, u5, u6, u7, u8} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF)) (CategoryTheory.Functor.comp.{u7, u8, u5, u3, u4, u1} B _inst_3 B' _inst_4 A _inst_1 (CategoryTheory.Equivalence.functor.{u7, u8, u3, u4} B _inst_3 B' _inst_4 eB) (CategoryTheory.Functor.comp.{u8, u6, u5, u4, u2, u1} B' _inst_4 A' _inst_2 A _inst_1 (CategoryTheory.Equivalence.inverse.{u6, u8, u2, u4} A' _inst_2 B' _inst_4 e') (CategoryTheory.Equivalence.inverse.{u5, u6, u1, u2} A _inst_1 A' _inst_2 eA)))
+but is expected to have type
+  forall {A : Type.{u8}} {A' : Type.{u4}} {B : Type.{u7}} {B' : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u6, u8} A] [_inst_2 : CategoryTheory.Category.{u2, u4} A'] [_inst_3 : CategoryTheory.Category.{u5, u7} B] [_inst_4 : CategoryTheory.Category.{u1, u3} B'] {eA : CategoryTheory.Equivalence.{u6, u2, u8, u4} A A' _inst_1 _inst_2} (eB : CategoryTheory.Equivalence.{u5, u1, u7, u3} B B' _inst_3 _inst_4) {e' : CategoryTheory.Equivalence.{u2, u1, u4, u3} A' B' _inst_2 _inst_4} {F : CategoryTheory.Functor.{u6, u1, u8, u3} A _inst_1 B' _inst_4} (hF : CategoryTheory.Iso.{max u8 u1, max (max (max u3 u8) u1) u6} (CategoryTheory.Functor.{u6, u1, u8, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u6, u1, u8, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u6, u2, u1, u8, u4, u3} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u6, u2, u8, u4} A A' _inst_1 _inst_2 eA) (CategoryTheory.Equivalence.functor.{u2, u1, u4, u3} A' B' _inst_2 _inst_4 e')) F), Eq.{max (max (max (succ u8) (succ u7)) (succ u6)) (succ u5)} (CategoryTheory.Functor.{u5, u6, u7, u8} B _inst_3 A _inst_1) (CategoryTheory.Equivalence.inverse.{u6, u5, u8, u7} A B _inst_1 _inst_3 (AlgebraicTopology.DoldKan.Compatibility.equivalence₂.{u8, u4, u7, u3, u6, u2, u5, u1} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF)) (CategoryTheory.Functor.comp.{u5, u1, u6, u7, u3, u8} B _inst_3 B' _inst_4 A _inst_1 (CategoryTheory.Equivalence.functor.{u5, u1, u7, u3} B B' _inst_3 _inst_4 eB) (CategoryTheory.Functor.comp.{u1, u2, u6, u3, u4, u8} B' _inst_4 A' _inst_2 A _inst_1 (CategoryTheory.Equivalence.inverse.{u2, u1, u4, u3} A' B' _inst_2 _inst_4 e') (CategoryTheory.Equivalence.inverse.{u6, u2, u8, u4} A A' _inst_1 _inst_2 eA)))
+Case conversion may be inaccurate. Consider using '#align algebraic_topology.dold_kan.compatibility.equivalence₂_inverse AlgebraicTopology.DoldKan.Compatibility.equivalence₂_inverseₓ'. -/
 theorem equivalence₂_inverse :
     (equivalence₂ eB hF).inverse = eB.Functor ⋙ e'.inverse ⋙ eA.inverse :=
   rfl
 #align algebraic_topology.dold_kan.compatibility.equivalence₂_inverse AlgebraicTopology.DoldKan.Compatibility.equivalence₂_inverse
 
+/- warning: algebraic_topology.dold_kan.compatibility.equivalence₂_counit_iso -> AlgebraicTopology.DoldKan.Compatibility.equivalence₂CounitIso is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} {A' : Type.{u2}} {B : Type.{u3}} {B' : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u5, u1} A] [_inst_2 : CategoryTheory.Category.{u6, u2} A'] [_inst_3 : CategoryTheory.Category.{u7, u3} B] [_inst_4 : CategoryTheory.Category.{u8, u4} B'] {eA : CategoryTheory.Equivalence.{u5, u6, u1, u2} A _inst_1 A' _inst_2} (eB : CategoryTheory.Equivalence.{u7, u8, u3, u4} B _inst_3 B' _inst_4) {e' : CategoryTheory.Equivalence.{u6, u8, u2, u4} A' _inst_2 B' _inst_4} {F : CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4}, (CategoryTheory.Iso.{max u1 u8, max u5 u8 u1 u4} (CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u5, u6, u8, u1, u2, u4} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u5, u6, u1, u2} A _inst_1 A' _inst_2 eA) (CategoryTheory.Equivalence.functor.{u6, u8, u2, u4} A' _inst_2 B' _inst_4 e')) F) -> (CategoryTheory.Iso.{max u3 u7, max u7 u3} (CategoryTheory.Functor.{u7, u7, u3, u3} B _inst_3 B _inst_3) (CategoryTheory.Functor.category.{u7, u7, u3, u3} B _inst_3 B _inst_3) (CategoryTheory.Functor.comp.{u7, u5, u7, u3, u1, u3} B _inst_3 A _inst_1 B _inst_3 (CategoryTheory.Functor.comp.{u7, u8, u5, u3, u4, u1} B _inst_3 B' _inst_4 A _inst_1 (CategoryTheory.Equivalence.functor.{u7, u8, u3, u4} B _inst_3 B' _inst_4 eB) (CategoryTheory.Functor.comp.{u8, u6, u5, u4, u2, u1} B' _inst_4 A' _inst_2 A _inst_1 (CategoryTheory.Equivalence.inverse.{u6, u8, u2, u4} A' _inst_2 B' _inst_4 e') (CategoryTheory.Equivalence.inverse.{u5, u6, u1, u2} A _inst_1 A' _inst_2 eA))) (CategoryTheory.Functor.comp.{u5, u8, u7, u1, u4, u3} A _inst_1 B' _inst_4 B _inst_3 F (CategoryTheory.Equivalence.inverse.{u7, u8, u3, u4} B _inst_3 B' _inst_4 eB))) (CategoryTheory.Functor.id.{u7, u3} B _inst_3))
+but is expected to have type
+  forall {A : Type.{u1}} {A' : Type.{u2}} {B : Type.{u3}} {B' : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u5, u1} A] [_inst_2 : CategoryTheory.Category.{u6, u2} A'] [_inst_3 : CategoryTheory.Category.{u7, u3} B] [_inst_4 : CategoryTheory.Category.{u8, u4} B'] {eA : CategoryTheory.Equivalence.{u5, u6, u1, u2} A A' _inst_1 _inst_2} (eB : CategoryTheory.Equivalence.{u7, u8, u3, u4} B B' _inst_3 _inst_4) {e' : CategoryTheory.Equivalence.{u6, u8, u2, u4} A' B' _inst_2 _inst_4} {F : CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4}, (CategoryTheory.Iso.{max u1 u8, max (max (max u4 u1) u8) u5} (CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u5, u6, u8, u1, u2, u4} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u5, u6, u1, u2} A A' _inst_1 _inst_2 eA) (CategoryTheory.Equivalence.functor.{u6, u8, u2, u4} A' B' _inst_2 _inst_4 e')) F) -> (CategoryTheory.Iso.{max u3 u7, max u3 u7} (CategoryTheory.Functor.{u7, u7, u3, u3} B _inst_3 B _inst_3) (CategoryTheory.Functor.category.{u7, u7, u3, u3} B _inst_3 B _inst_3) (CategoryTheory.Functor.comp.{u7, u5, u7, u3, u1, u3} B _inst_3 A _inst_1 B _inst_3 (CategoryTheory.Functor.comp.{u7, u8, u5, u3, u4, u1} B _inst_3 B' _inst_4 A _inst_1 (CategoryTheory.Equivalence.functor.{u7, u8, u3, u4} B B' _inst_3 _inst_4 eB) (CategoryTheory.Functor.comp.{u8, u6, u5, u4, u2, u1} B' _inst_4 A' _inst_2 A _inst_1 (CategoryTheory.Equivalence.inverse.{u6, u8, u2, u4} A' B' _inst_2 _inst_4 e') (CategoryTheory.Equivalence.inverse.{u5, u6, u1, u2} A A' _inst_1 _inst_2 eA))) (CategoryTheory.Functor.comp.{u5, u8, u7, u1, u4, u3} A _inst_1 B' _inst_4 B _inst_3 F (CategoryTheory.Equivalence.inverse.{u7, u8, u3, u4} B B' _inst_3 _inst_4 eB))) (CategoryTheory.Functor.id.{u7, u3} B _inst_3))
+Case conversion may be inaccurate. Consider using '#align algebraic_topology.dold_kan.compatibility.equivalence₂_counit_iso AlgebraicTopology.DoldKan.Compatibility.equivalence₂CounitIsoₓ'. -/
 /-- The counit isomorphism of the equivalence `equivalence₂` between `A` and `B`. -/
 @[simps]
 def equivalence₂CounitIso : (eB.Functor ⋙ e'.inverse ⋙ eA.inverse) ⋙ F ⋙ eB.inverse ≅ 𝟭 B :=
@@ -145,6 +205,12 @@ def equivalence₂CounitIso : (eB.Functor ⋙ e'.inverse ⋙ eA.inverse) ⋙ F 
     
 #align algebraic_topology.dold_kan.compatibility.equivalence₂_counit_iso AlgebraicTopology.DoldKan.Compatibility.equivalence₂CounitIso
 
+/- warning: algebraic_topology.dold_kan.compatibility.equivalence₂_counit_iso_eq -> AlgebraicTopology.DoldKan.Compatibility.equivalence₂CounitIso_eq is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} {A' : Type.{u2}} {B : Type.{u3}} {B' : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u5, u1} A] [_inst_2 : CategoryTheory.Category.{u6, u2} A'] [_inst_3 : CategoryTheory.Category.{u7, u3} B] [_inst_4 : CategoryTheory.Category.{u8, u4} B'] {eA : CategoryTheory.Equivalence.{u5, u6, u1, u2} A _inst_1 A' _inst_2} (eB : CategoryTheory.Equivalence.{u7, u8, u3, u4} B _inst_3 B' _inst_4) {e' : CategoryTheory.Equivalence.{u6, u8, u2, u4} A' _inst_2 B' _inst_4} {F : CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4} (hF : CategoryTheory.Iso.{max u1 u8, max u5 u8 u1 u4} (CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u5, u6, u8, u1, u2, u4} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u5, u6, u1, u2} A _inst_1 A' _inst_2 eA) (CategoryTheory.Equivalence.functor.{u6, u8, u2, u4} A' _inst_2 B' _inst_4 e')) F), Eq.{succ (max u3 u7)} (CategoryTheory.Iso.{max u3 u7, max u7 u3} (CategoryTheory.Functor.{u7, u7, u3, u3} B _inst_3 B _inst_3) (CategoryTheory.Functor.category.{u7, u7, u3, u3} B _inst_3 B _inst_3) (CategoryTheory.Functor.comp.{u7, u5, u7, u3, u1, u3} B _inst_3 A _inst_1 B _inst_3 (CategoryTheory.Equivalence.inverse.{u5, u7, u1, u3} A _inst_1 B _inst_3 (AlgebraicTopology.DoldKan.Compatibility.equivalence₂.{u1, u2, u3, u4, u5, u6, u7, u8} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF)) (CategoryTheory.Equivalence.functor.{u5, u7, u1, u3} A _inst_1 B _inst_3 (AlgebraicTopology.DoldKan.Compatibility.equivalence₂.{u1, u2, u3, u4, u5, u6, u7, u8} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF))) (CategoryTheory.Functor.id.{u7, u3} B _inst_3)) (CategoryTheory.Equivalence.counitIso.{u5, u7, u1, u3} A _inst_1 B _inst_3 (AlgebraicTopology.DoldKan.Compatibility.equivalence₂.{u1, u2, u3, u4, u5, u6, u7, u8} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF)) (AlgebraicTopology.DoldKan.Compatibility.equivalence₂CounitIso.{u1, u2, u3, u4, u5, u6, u7, u8} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' (CategoryTheory.Equivalence.functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u1, u2, u4, u5, u6, u8} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)) hF)
+but is expected to have type
+  forall {A : Type.{u5}} {A' : Type.{u4}} {B : Type.{u8}} {B' : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u6, u5} A] [_inst_2 : CategoryTheory.Category.{u2, u4} A'] [_inst_3 : CategoryTheory.Category.{u7, u8} B] [_inst_4 : CategoryTheory.Category.{u1, u3} B'] {eA : CategoryTheory.Equivalence.{u6, u2, u5, u4} A A' _inst_1 _inst_2} (eB : CategoryTheory.Equivalence.{u7, u1, u8, u3} B B' _inst_3 _inst_4) {e' : CategoryTheory.Equivalence.{u2, u1, u4, u3} A' B' _inst_2 _inst_4} {F : CategoryTheory.Functor.{u6, u1, u5, u3} A _inst_1 B' _inst_4} (hF : CategoryTheory.Iso.{max u5 u1, max (max (max u3 u5) u1) u6} (CategoryTheory.Functor.{u6, u1, u5, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u6, u1, u5, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u6, u2, u1, u5, u4, u3} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u6, u2, u5, u4} A A' _inst_1 _inst_2 eA) (CategoryTheory.Equivalence.functor.{u2, u1, u4, u3} A' B' _inst_2 _inst_4 e')) F), Eq.{max (succ u8) (succ u7)} (CategoryTheory.Iso.{max u8 u7, max u8 u7} (CategoryTheory.Functor.{u7, u7, u8, u8} B _inst_3 B _inst_3) (CategoryTheory.Functor.category.{u7, u7, u8, u8} B _inst_3 B _inst_3) (CategoryTheory.Functor.comp.{u7, u6, u7, u8, u5, u8} B _inst_3 A _inst_1 B _inst_3 (CategoryTheory.Equivalence.inverse.{u6, u7, u5, u8} A B _inst_1 _inst_3 (AlgebraicTopology.DoldKan.Compatibility.equivalence₂.{u5, u4, u8, u3, u6, u2, u7, u1} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF)) (CategoryTheory.Equivalence.functor.{u6, u7, u5, u8} A B _inst_1 _inst_3 (AlgebraicTopology.DoldKan.Compatibility.equivalence₂.{u5, u4, u8, u3, u6, u2, u7, u1} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF))) (CategoryTheory.Functor.id.{u7, u8} B _inst_3)) (CategoryTheory.Equivalence.counitIso.{u6, u7, u5, u8} A B _inst_1 _inst_3 (AlgebraicTopology.DoldKan.Compatibility.equivalence₂.{u5, u4, u8, u3, u6, u2, u7, u1} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF)) (AlgebraicTopology.DoldKan.Compatibility.equivalence₂CounitIso.{u5, u4, u8, u3, u6, u2, u7, u1} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF)
+Case conversion may be inaccurate. Consider using '#align algebraic_topology.dold_kan.compatibility.equivalence₂_counit_iso_eq AlgebraicTopology.DoldKan.Compatibility.equivalence₂CounitIso_eqₓ'. -/
 theorem equivalence₂CounitIso_eq : (equivalence₂ eB hF).counitIso = equivalence₂CounitIso eB hF :=
   by
   ext Y'
@@ -153,6 +219,12 @@ theorem equivalence₂CounitIso_eq : (equivalence₂ eB hF).counitIso = equivale
     equivalence₁_counit_iso_hom_app, functor.map_comp, assoc]
 #align algebraic_topology.dold_kan.compatibility.equivalence₂_counit_iso_eq AlgebraicTopology.DoldKan.Compatibility.equivalence₂CounitIso_eq
 
+/- warning: algebraic_topology.dold_kan.compatibility.equivalence₂_unit_iso -> AlgebraicTopology.DoldKan.Compatibility.equivalence₂UnitIso is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} {A' : Type.{u2}} {B : Type.{u3}} {B' : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u5, u1} A] [_inst_2 : CategoryTheory.Category.{u6, u2} A'] [_inst_3 : CategoryTheory.Category.{u7, u3} B] [_inst_4 : CategoryTheory.Category.{u8, u4} B'] {eA : CategoryTheory.Equivalence.{u5, u6, u1, u2} A _inst_1 A' _inst_2} (eB : CategoryTheory.Equivalence.{u7, u8, u3, u4} B _inst_3 B' _inst_4) {e' : CategoryTheory.Equivalence.{u6, u8, u2, u4} A' _inst_2 B' _inst_4} {F : CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4}, (CategoryTheory.Iso.{max u1 u8, max u5 u8 u1 u4} (CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u5, u6, u8, u1, u2, u4} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u5, u6, u1, u2} A _inst_1 A' _inst_2 eA) (CategoryTheory.Equivalence.functor.{u6, u8, u2, u4} A' _inst_2 B' _inst_4 e')) F) -> (CategoryTheory.Iso.{max u1 u5, max u5 u1} (CategoryTheory.Functor.{u5, u5, u1, u1} A _inst_1 A _inst_1) (CategoryTheory.Functor.category.{u5, u5, u1, u1} A _inst_1 A _inst_1) (CategoryTheory.Functor.id.{u5, u1} A _inst_1) (CategoryTheory.Functor.comp.{u5, u7, u5, u1, u3, u1} A _inst_1 B _inst_3 A _inst_1 (CategoryTheory.Functor.comp.{u5, u8, u7, u1, u4, u3} A _inst_1 B' _inst_4 B _inst_3 F (CategoryTheory.Equivalence.inverse.{u7, u8, u3, u4} B _inst_3 B' _inst_4 eB)) (CategoryTheory.Functor.comp.{u7, u8, u5, u3, u4, u1} B _inst_3 B' _inst_4 A _inst_1 (CategoryTheory.Equivalence.functor.{u7, u8, u3, u4} B _inst_3 B' _inst_4 eB) (CategoryTheory.Functor.comp.{u8, u6, u5, u4, u2, u1} B' _inst_4 A' _inst_2 A _inst_1 (CategoryTheory.Equivalence.inverse.{u6, u8, u2, u4} A' _inst_2 B' _inst_4 e') (CategoryTheory.Equivalence.inverse.{u5, u6, u1, u2} A _inst_1 A' _inst_2 eA)))))
+but is expected to have type
+  forall {A : Type.{u1}} {A' : Type.{u2}} {B : Type.{u3}} {B' : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u5, u1} A] [_inst_2 : CategoryTheory.Category.{u6, u2} A'] [_inst_3 : CategoryTheory.Category.{u7, u3} B] [_inst_4 : CategoryTheory.Category.{u8, u4} B'] {eA : CategoryTheory.Equivalence.{u5, u6, u1, u2} A A' _inst_1 _inst_2} (eB : CategoryTheory.Equivalence.{u7, u8, u3, u4} B B' _inst_3 _inst_4) {e' : CategoryTheory.Equivalence.{u6, u8, u2, u4} A' B' _inst_2 _inst_4} {F : CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4}, (CategoryTheory.Iso.{max u1 u8, max (max (max u4 u1) u8) u5} (CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u5, u6, u8, u1, u2, u4} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u5, u6, u1, u2} A A' _inst_1 _inst_2 eA) (CategoryTheory.Equivalence.functor.{u6, u8, u2, u4} A' B' _inst_2 _inst_4 e')) F) -> (CategoryTheory.Iso.{max u1 u5, max u1 u5} (CategoryTheory.Functor.{u5, u5, u1, u1} A _inst_1 A _inst_1) (CategoryTheory.Functor.category.{u5, u5, u1, u1} A _inst_1 A _inst_1) (CategoryTheory.Functor.id.{u5, u1} A _inst_1) (CategoryTheory.Functor.comp.{u5, u7, u5, u1, u3, u1} A _inst_1 B _inst_3 A _inst_1 (CategoryTheory.Functor.comp.{u5, u8, u7, u1, u4, u3} A _inst_1 B' _inst_4 B _inst_3 F (CategoryTheory.Equivalence.inverse.{u7, u8, u3, u4} B B' _inst_3 _inst_4 eB)) (CategoryTheory.Functor.comp.{u7, u8, u5, u3, u4, u1} B _inst_3 B' _inst_4 A _inst_1 (CategoryTheory.Equivalence.functor.{u7, u8, u3, u4} B B' _inst_3 _inst_4 eB) (CategoryTheory.Functor.comp.{u8, u6, u5, u4, u2, u1} B' _inst_4 A' _inst_2 A _inst_1 (CategoryTheory.Equivalence.inverse.{u6, u8, u2, u4} A' B' _inst_2 _inst_4 e') (CategoryTheory.Equivalence.inverse.{u5, u6, u1, u2} A A' _inst_1 _inst_2 eA)))))
+Case conversion may be inaccurate. Consider using '#align algebraic_topology.dold_kan.compatibility.equivalence₂_unit_iso AlgebraicTopology.DoldKan.Compatibility.equivalence₂UnitIsoₓ'. -/
 /-- The unit isomorphism of the equivalence `equivalence₂` between `A` and `B`. -/
 @[simps]
 def equivalence₂UnitIso : 𝟭 A ≅ (F ⋙ eB.inverse) ⋙ eB.Functor ⋙ e'.inverse ⋙ eA.inverse :=
@@ -165,6 +237,12 @@ def equivalence₂UnitIso : 𝟭 A ≅ (F ⋙ eB.inverse) ⋙ eB.Functor ⋙ e'.
     
 #align algebraic_topology.dold_kan.compatibility.equivalence₂_unit_iso AlgebraicTopology.DoldKan.Compatibility.equivalence₂UnitIso
 
+/- warning: algebraic_topology.dold_kan.compatibility.equivalence₂_unit_iso_eq -> AlgebraicTopology.DoldKan.Compatibility.equivalence₂UnitIso_eq is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} {A' : Type.{u2}} {B : Type.{u3}} {B' : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u5, u1} A] [_inst_2 : CategoryTheory.Category.{u6, u2} A'] [_inst_3 : CategoryTheory.Category.{u7, u3} B] [_inst_4 : CategoryTheory.Category.{u8, u4} B'] {eA : CategoryTheory.Equivalence.{u5, u6, u1, u2} A _inst_1 A' _inst_2} (eB : CategoryTheory.Equivalence.{u7, u8, u3, u4} B _inst_3 B' _inst_4) {e' : CategoryTheory.Equivalence.{u6, u8, u2, u4} A' _inst_2 B' _inst_4} {F : CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4} (hF : CategoryTheory.Iso.{max u1 u8, max u5 u8 u1 u4} (CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u5, u6, u8, u1, u2, u4} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u5, u6, u1, u2} A _inst_1 A' _inst_2 eA) (CategoryTheory.Equivalence.functor.{u6, u8, u2, u4} A' _inst_2 B' _inst_4 e')) F), Eq.{succ (max u1 u5)} (CategoryTheory.Iso.{max u1 u5, max u5 u1} (CategoryTheory.Functor.{u5, u5, u1, u1} A _inst_1 A _inst_1) (CategoryTheory.Functor.category.{u5, u5, u1, u1} A _inst_1 A _inst_1) (CategoryTheory.Functor.id.{u5, u1} A _inst_1) (CategoryTheory.Functor.comp.{u5, u7, u5, u1, u3, u1} A _inst_1 B _inst_3 A _inst_1 (CategoryTheory.Equivalence.functor.{u5, u7, u1, u3} A _inst_1 B _inst_3 (AlgebraicTopology.DoldKan.Compatibility.equivalence₂.{u1, u2, u3, u4, u5, u6, u7, u8} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF)) (CategoryTheory.Equivalence.inverse.{u5, u7, u1, u3} A _inst_1 B _inst_3 (AlgebraicTopology.DoldKan.Compatibility.equivalence₂.{u1, u2, u3, u4, u5, u6, u7, u8} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF)))) (CategoryTheory.Equivalence.unitIso.{u5, u7, u1, u3} A _inst_1 B _inst_3 (AlgebraicTopology.DoldKan.Compatibility.equivalence₂.{u1, u2, u3, u4, u5, u6, u7, u8} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF)) (AlgebraicTopology.DoldKan.Compatibility.equivalence₂UnitIso.{u1, u2, u3, u4, u5, u6, u7, u8} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' (CategoryTheory.Equivalence.functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4 (AlgebraicTopology.DoldKan.Compatibility.equivalence₁.{u1, u2, u4, u5, u6, u8} A A' B' _inst_1 _inst_2 _inst_4 eA e' F hF)) hF)
+but is expected to have type
+  forall {A : Type.{u8}} {A' : Type.{u4}} {B : Type.{u5}} {B' : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u7, u8} A] [_inst_2 : CategoryTheory.Category.{u2, u4} A'] [_inst_3 : CategoryTheory.Category.{u6, u5} B] [_inst_4 : CategoryTheory.Category.{u1, u3} B'] {eA : CategoryTheory.Equivalence.{u7, u2, u8, u4} A A' _inst_1 _inst_2} (eB : CategoryTheory.Equivalence.{u6, u1, u5, u3} B B' _inst_3 _inst_4) {e' : CategoryTheory.Equivalence.{u2, u1, u4, u3} A' B' _inst_2 _inst_4} {F : CategoryTheory.Functor.{u7, u1, u8, u3} A _inst_1 B' _inst_4} (hF : CategoryTheory.Iso.{max u8 u1, max (max (max u3 u8) u1) u7} (CategoryTheory.Functor.{u7, u1, u8, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u7, u1, u8, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u7, u2, u1, u8, u4, u3} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u7, u2, u8, u4} A A' _inst_1 _inst_2 eA) (CategoryTheory.Equivalence.functor.{u2, u1, u4, u3} A' B' _inst_2 _inst_4 e')) F), Eq.{max (succ u8) (succ u7)} (CategoryTheory.Iso.{max u8 u7, max u8 u7} (CategoryTheory.Functor.{u7, u7, u8, u8} A _inst_1 A _inst_1) (CategoryTheory.Functor.category.{u7, u7, u8, u8} A _inst_1 A _inst_1) (CategoryTheory.Functor.id.{u7, u8} A _inst_1) (CategoryTheory.Functor.comp.{u7, u6, u7, u8, u5, u8} A _inst_1 B _inst_3 A _inst_1 (CategoryTheory.Equivalence.functor.{u7, u6, u8, u5} A B _inst_1 _inst_3 (AlgebraicTopology.DoldKan.Compatibility.equivalence₂.{u8, u4, u5, u3, u7, u2, u6, u1} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF)) (CategoryTheory.Equivalence.inverse.{u7, u6, u8, u5} A B _inst_1 _inst_3 (AlgebraicTopology.DoldKan.Compatibility.equivalence₂.{u8, u4, u5, u3, u7, u2, u6, u1} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF)))) (CategoryTheory.Equivalence.unitIso.{u7, u6, u8, u5} A B _inst_1 _inst_3 (AlgebraicTopology.DoldKan.Compatibility.equivalence₂.{u8, u4, u5, u3, u7, u2, u6, u1} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF)) (AlgebraicTopology.DoldKan.Compatibility.equivalence₂UnitIso.{u8, u4, u5, u3, u7, u2, u6, u1} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF)
+Case conversion may be inaccurate. Consider using '#align algebraic_topology.dold_kan.compatibility.equivalence₂_unit_iso_eq AlgebraicTopology.DoldKan.Compatibility.equivalence₂UnitIso_eqₓ'. -/
 theorem equivalence₂UnitIso_eq : (equivalence₂ eB hF).unitIso = equivalence₂UnitIso eB hF :=
   by
   ext X
@@ -177,6 +255,12 @@ variable {eB}
 
 include hG
 
+/- warning: algebraic_topology.dold_kan.compatibility.equivalence -> AlgebraicTopology.DoldKan.Compatibility.equivalence is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} {A' : Type.{u2}} {B : Type.{u3}} {B' : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u5, u1} A] [_inst_2 : CategoryTheory.Category.{u6, u2} A'] [_inst_3 : CategoryTheory.Category.{u7, u3} B] [_inst_4 : CategoryTheory.Category.{u8, u4} B'] {eA : CategoryTheory.Equivalence.{u5, u6, u1, u2} A _inst_1 A' _inst_2} {eB : CategoryTheory.Equivalence.{u7, u8, u3, u4} B _inst_3 B' _inst_4} {e' : CategoryTheory.Equivalence.{u6, u8, u2, u4} A' _inst_2 B' _inst_4} {F : CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4}, (CategoryTheory.Iso.{max u1 u8, max u5 u8 u1 u4} (CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u5, u6, u8, u1, u2, u4} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u5, u6, u1, u2} A _inst_1 A' _inst_2 eA) (CategoryTheory.Equivalence.functor.{u6, u8, u2, u4} A' _inst_2 B' _inst_4 e')) F) -> (forall {G : CategoryTheory.Functor.{u7, u5, u3, u1} B _inst_3 A _inst_1}, (CategoryTheory.Iso.{max u3 u6, max u7 u6 u3 u2} (CategoryTheory.Functor.{u7, u6, u3, u2} B _inst_3 A' _inst_2) (CategoryTheory.Functor.category.{u7, u6, u3, u2} B _inst_3 A' _inst_2) (CategoryTheory.Functor.comp.{u7, u8, u6, u3, u4, u2} B _inst_3 B' _inst_4 A' _inst_2 (CategoryTheory.Equivalence.functor.{u7, u8, u3, u4} B _inst_3 B' _inst_4 eB) (CategoryTheory.Equivalence.inverse.{u6, u8, u2, u4} A' _inst_2 B' _inst_4 e')) (CategoryTheory.Functor.comp.{u7, u5, u6, u3, u1, u2} B _inst_3 A _inst_1 A' _inst_2 G (CategoryTheory.Equivalence.functor.{u5, u6, u1, u2} A _inst_1 A' _inst_2 eA))) -> (CategoryTheory.Equivalence.{u5, u7, u1, u3} A _inst_1 B _inst_3))
+but is expected to have type
+  forall {A : Type.{u1}} {A' : Type.{u2}} {B : Type.{u3}} {B' : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u5, u1} A] [_inst_2 : CategoryTheory.Category.{u6, u2} A'] [_inst_3 : CategoryTheory.Category.{u7, u3} B] [_inst_4 : CategoryTheory.Category.{u8, u4} B'] {eA : CategoryTheory.Equivalence.{u5, u6, u1, u2} A A' _inst_1 _inst_2} {eB : CategoryTheory.Equivalence.{u7, u8, u3, u4} B B' _inst_3 _inst_4} {e' : CategoryTheory.Equivalence.{u6, u8, u2, u4} A' B' _inst_2 _inst_4} {F : CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4}, (CategoryTheory.Iso.{max u1 u8, max (max (max u4 u1) u8) u5} (CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u5, u6, u8, u1, u2, u4} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u5, u6, u1, u2} A A' _inst_1 _inst_2 eA) (CategoryTheory.Equivalence.functor.{u6, u8, u2, u4} A' B' _inst_2 _inst_4 e')) F) -> (forall {G : CategoryTheory.Functor.{u7, u5, u3, u1} B _inst_3 A _inst_1}, (CategoryTheory.Iso.{max u3 u6, max (max (max u2 u3) u6) u7} (CategoryTheory.Functor.{u7, u6, u3, u2} B _inst_3 A' _inst_2) (CategoryTheory.Functor.category.{u7, u6, u3, u2} B _inst_3 A' _inst_2) (CategoryTheory.Functor.comp.{u7, u8, u6, u3, u4, u2} B _inst_3 B' _inst_4 A' _inst_2 (CategoryTheory.Equivalence.functor.{u7, u8, u3, u4} B B' _inst_3 _inst_4 eB) (CategoryTheory.Equivalence.inverse.{u6, u8, u2, u4} A' B' _inst_2 _inst_4 e')) (CategoryTheory.Functor.comp.{u7, u5, u6, u3, u1, u2} B _inst_3 A _inst_1 A' _inst_2 G (CategoryTheory.Equivalence.functor.{u5, u6, u1, u2} A A' _inst_1 _inst_2 eA))) -> (CategoryTheory.Equivalence.{u5, u7, u1, u3} A B _inst_1 _inst_3))
+Case conversion may be inaccurate. Consider using '#align algebraic_topology.dold_kan.compatibility.equivalence AlgebraicTopology.DoldKan.Compatibility.equivalenceₓ'. -/
 /-- The equivalence `A ≅ B` whose functor is `F ⋙ eB.inverse` and
 whose inverse is `G : B ≅ A`. -/
 @[simps inverse]
@@ -193,6 +277,12 @@ def equivalence : A ≌ B :=
   G.as_equivalence.symm
 #align algebraic_topology.dold_kan.compatibility.equivalence AlgebraicTopology.DoldKan.Compatibility.equivalence
 
+/- warning: algebraic_topology.dold_kan.compatibility.equivalence_functor -> AlgebraicTopology.DoldKan.Compatibility.equivalence_functor is a dubious translation:
+lean 3 declaration is
+  forall {A : Type.{u1}} {A' : Type.{u2}} {B : Type.{u3}} {B' : Type.{u4}} [_inst_1 : CategoryTheory.Category.{u5, u1} A] [_inst_2 : CategoryTheory.Category.{u6, u2} A'] [_inst_3 : CategoryTheory.Category.{u7, u3} B] [_inst_4 : CategoryTheory.Category.{u8, u4} B'] {eA : CategoryTheory.Equivalence.{u5, u6, u1, u2} A _inst_1 A' _inst_2} {eB : CategoryTheory.Equivalence.{u7, u8, u3, u4} B _inst_3 B' _inst_4} {e' : CategoryTheory.Equivalence.{u6, u8, u2, u4} A' _inst_2 B' _inst_4} {F : CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4} (hF : CategoryTheory.Iso.{max u1 u8, max u5 u8 u1 u4} (CategoryTheory.Functor.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u5, u8, u1, u4} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u5, u6, u8, u1, u2, u4} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u5, u6, u1, u2} A _inst_1 A' _inst_2 eA) (CategoryTheory.Equivalence.functor.{u6, u8, u2, u4} A' _inst_2 B' _inst_4 e')) F) {G : CategoryTheory.Functor.{u7, u5, u3, u1} B _inst_3 A _inst_1} (hG : CategoryTheory.Iso.{max u3 u6, max u7 u6 u3 u2} (CategoryTheory.Functor.{u7, u6, u3, u2} B _inst_3 A' _inst_2) (CategoryTheory.Functor.category.{u7, u6, u3, u2} B _inst_3 A' _inst_2) (CategoryTheory.Functor.comp.{u7, u8, u6, u3, u4, u2} B _inst_3 B' _inst_4 A' _inst_2 (CategoryTheory.Equivalence.functor.{u7, u8, u3, u4} B _inst_3 B' _inst_4 eB) (CategoryTheory.Equivalence.inverse.{u6, u8, u2, u4} A' _inst_2 B' _inst_4 e')) (CategoryTheory.Functor.comp.{u7, u5, u6, u3, u1, u2} B _inst_3 A _inst_1 A' _inst_2 G (CategoryTheory.Equivalence.functor.{u5, u6, u1, u2} A _inst_1 A' _inst_2 eA))), Eq.{succ (max u5 u7 u1 u3)} (CategoryTheory.Functor.{u5, u7, u1, u3} A _inst_1 B _inst_3) (CategoryTheory.Equivalence.functor.{u5, u7, u1, u3} A _inst_1 B _inst_3 (AlgebraicTopology.DoldKan.Compatibility.equivalence.{u1, u2, u3, u4, u5, u6, u7, u8} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF G hG)) (CategoryTheory.Functor.comp.{u5, u8, u7, u1, u4, u3} A _inst_1 B' _inst_4 B _inst_3 F (CategoryTheory.Equivalence.inverse.{u7, u8, u3, u4} B _inst_3 B' _inst_4 eB))
+but is expected to have type
+  forall {A : Type.{u8}} {A' : Type.{u4}} {B : Type.{u7}} {B' : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u6, u8} A] [_inst_2 : CategoryTheory.Category.{u2, u4} A'] [_inst_3 : CategoryTheory.Category.{u5, u7} B] [_inst_4 : CategoryTheory.Category.{u1, u3} B'] {eA : CategoryTheory.Equivalence.{u6, u2, u8, u4} A A' _inst_1 _inst_2} {eB : CategoryTheory.Equivalence.{u5, u1, u7, u3} B B' _inst_3 _inst_4} {e' : CategoryTheory.Equivalence.{u2, u1, u4, u3} A' B' _inst_2 _inst_4} {F : CategoryTheory.Functor.{u6, u1, u8, u3} A _inst_1 B' _inst_4} (hF : CategoryTheory.Iso.{max u8 u1, max (max (max u3 u8) u1) u6} (CategoryTheory.Functor.{u6, u1, u8, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.category.{u6, u1, u8, u3} A _inst_1 B' _inst_4) (CategoryTheory.Functor.comp.{u6, u2, u1, u8, u4, u3} A _inst_1 A' _inst_2 B' _inst_4 (CategoryTheory.Equivalence.functor.{u6, u2, u8, u4} A A' _inst_1 _inst_2 eA) (CategoryTheory.Equivalence.functor.{u2, u1, u4, u3} A' B' _inst_2 _inst_4 e')) F) {G : CategoryTheory.Functor.{u5, u6, u7, u8} B _inst_3 A _inst_1} (hG : CategoryTheory.Iso.{max u7 u2, max (max (max u4 u7) u2) u5} (CategoryTheory.Functor.{u5, u2, u7, u4} B _inst_3 A' _inst_2) (CategoryTheory.Functor.category.{u5, u2, u7, u4} B _inst_3 A' _inst_2) (CategoryTheory.Functor.comp.{u5, u1, u2, u7, u3, u4} B _inst_3 B' _inst_4 A' _inst_2 (CategoryTheory.Equivalence.functor.{u5, u1, u7, u3} B B' _inst_3 _inst_4 eB) (CategoryTheory.Equivalence.inverse.{u2, u1, u4, u3} A' B' _inst_2 _inst_4 e')) (CategoryTheory.Functor.comp.{u5, u6, u2, u7, u8, u4} B _inst_3 A _inst_1 A' _inst_2 G (CategoryTheory.Equivalence.functor.{u6, u2, u8, u4} A A' _inst_1 _inst_2 eA))), Eq.{max (max (max (succ u8) (succ u7)) (succ u6)) (succ u5)} (CategoryTheory.Functor.{u6, u5, u8, u7} A _inst_1 B _inst_3) (CategoryTheory.Equivalence.functor.{u6, u5, u8, u7} A B _inst_1 _inst_3 (AlgebraicTopology.DoldKan.Compatibility.equivalence.{u8, u4, u7, u3, u6, u2, u5, u1} A A' B B' _inst_1 _inst_2 _inst_3 _inst_4 eA eB e' F hF G hG)) (CategoryTheory.Functor.comp.{u6, u1, u5, u8, u3, u7} A _inst_1 B' _inst_4 B _inst_3 F (CategoryTheory.Equivalence.inverse.{u5, u1, u7, u3} B B' _inst_3 _inst_4 eB))
+Case conversion may be inaccurate. Consider using '#align algebraic_topology.dold_kan.compatibility.equivalence_functor AlgebraicTopology.DoldKan.Compatibility.equivalence_functorₓ'. -/
 theorem equivalence_functor : (equivalence hF hG).Functor = F ⋙ eB.inverse :=
   rfl
 #align algebraic_topology.dold_kan.compatibility.equivalence_functor AlgebraicTopology.DoldKan.Compatibility.equivalence_functor

Changes in mathlib4

mathlib3
mathlib4
chore: superfluous parentheses part 2 (#12131)

Co-authored-by: Moritz Firsching <firsching@google.com>

Diff
@@ -246,7 +246,7 @@ unit isomorphism of `e'` and the isomorphism `hF : eA.functor ⋙ e'.functor ≅
 def υ : eA.functor ≅ F ⋙ e'.inverse :=
   calc
     eA.functor ≅ eA.functor ⋙ 𝟭 A' := (Functor.leftUnitor _).symm
-    _ ≅ eA.functor ⋙ e'.functor ⋙ e'.inverse := (isoWhiskerLeft _ e'.unitIso)
+    _ ≅ eA.functor ⋙ e'.functor ⋙ e'.inverse := isoWhiskerLeft _ e'.unitIso
     _ ≅ (eA.functor ⋙ e'.functor) ⋙ e'.inverse := Iso.refl _
     _ ≅ F ⋙ e'.inverse := isoWhiskerRight hF _
 #align algebraic_topology.dold_kan.compatibility.υ AlgebraicTopology.DoldKan.Compatibility.υ
chore(CategoryTheory): move Full, Faithful, EssSurj, IsEquivalence and ReflectsIsomorphisms to the Functor namespace (#11985)

These notions on functors are now Functor.Full, Functor.Faithful, Functor.EssSurj, Functor.IsEquivalence, Functor.ReflectsIsomorphisms. Deprecated aliases are introduced for the previous names.

Diff
@@ -65,8 +65,8 @@ variable {eA} {e'}
 `e'.inverse ⋙ eA.inverse`. -/
 @[simps! functor]
 def equivalence₁ : A ≌ B' :=
-  letI : IsEquivalence F :=
-    IsEquivalence.ofIso hF (IsEquivalence.ofEquivalence (equivalence₀ eA e'))
+  letI : F.IsEquivalence :=
+    Functor.IsEquivalence.ofIso hF (Functor.IsEquivalence.ofEquivalence (equivalence₀ eA e'))
   F.asEquivalence
 #align algebraic_topology.dold_kan.compatibility.equivalence₁ AlgebraicTopology.DoldKan.Compatibility.equivalence₁
 
@@ -88,7 +88,8 @@ def equivalence₁CounitIso : (e'.inverse ⋙ eA.inverse) ⋙ F ≅ 𝟭 B' :=
 
 theorem equivalence₁CounitIso_eq : (equivalence₁ hF).counitIso = equivalence₁CounitIso hF := by
   ext Y
-  dsimp [equivalence₁, equivalence₀, IsEquivalence.inverse, IsEquivalence.ofEquivalence]
+  dsimp [equivalence₁, equivalence₀, Functor.IsEquivalence.inverse,
+    Functor.IsEquivalence.ofEquivalence]
   simp
 #align algebraic_topology.dold_kan.compatibility.equivalence₁_counit_iso_eq AlgebraicTopology.DoldKan.Compatibility.equivalence₁CounitIso_eq
 
@@ -106,7 +107,7 @@ def equivalence₁UnitIso : 𝟭 A ≅ F ⋙ e'.inverse ⋙ eA.inverse :=
 
 theorem equivalence₁UnitIso_eq : (equivalence₁ hF).unitIso = equivalence₁UnitIso hF := by
   ext X
-  dsimp [equivalence₁, NatIso.hcomp, IsEquivalence.ofEquivalence]
+  dsimp [equivalence₁, NatIso.hcomp, Functor.IsEquivalence.ofEquivalence]
   simp
 #align algebraic_topology.dold_kan.compatibility.equivalence₁_unit_iso_eq AlgebraicTopology.DoldKan.Compatibility.equivalence₁UnitIso_eq
 
@@ -168,8 +169,9 @@ variable {eB}
 whose inverse is `G : B ≅ A`. -/
 @[simps! inverse]
 def equivalence : A ≌ B :=
-  letI : IsEquivalence G := by
-    refine' IsEquivalence.ofIso _ (IsEquivalence.ofEquivalence (equivalence₂ eB hF).symm)
+  letI : G.IsEquivalence := by
+    refine' Functor.IsEquivalence.ofIso _
+      (Functor.IsEquivalence.ofEquivalence (equivalence₂ eB hF).symm)
     calc
       eB.functor ⋙ e'.inverse ⋙ eA.inverse ≅ (eB.functor ⋙ e'.inverse) ⋙ eA.inverse := Iso.refl _
       _ ≅ (G ⋙ eA.functor) ⋙ eA.inverse := isoWhiskerRight hG _
@@ -221,8 +223,8 @@ variable {η hF hG}
 
 theorem equivalenceCounitIso_eq : (equivalence hF hG).counitIso = equivalenceCounitIso η := by
   ext1; apply NatTrans.ext; ext Y
-  dsimp [equivalence, Functor.asEquivalence, IsEquivalence.ofEquivalence]
-  rw [equivalenceCounitIso_hom_app, IsEquivalence.ofIso_unitIso_inv_app]
+  dsimp [equivalence, Functor.asEquivalence, Functor.IsEquivalence.ofEquivalence]
+  rw [equivalenceCounitIso_hom_app, Functor.IsEquivalence.ofIso_unitIso_inv_app]
   dsimp
   simp only [comp_id, id_comp, F.map_comp, assoc,
     equivalence₂CounitIso_eq, equivalence₂CounitIso_hom_app,
@@ -272,8 +274,9 @@ variable {ε hF hG}
 
 theorem equivalenceUnitIso_eq : (equivalence hF hG).unitIso = equivalenceUnitIso hG ε := by
   ext1; apply NatTrans.ext; ext X
-  dsimp [equivalence, Functor.asEquivalence, IsEquivalence.ofEquivalence, IsEquivalence.inverse]
-  rw [IsEquivalence.ofIso_counitIso_inv_app]
+  dsimp [equivalence, Functor.asEquivalence, Functor.IsEquivalence.ofEquivalence,
+    Functor.IsEquivalence.inverse]
+  rw [Functor.IsEquivalence.ofIso_counitIso_inv_app]
   dsimp
   erw [id_comp, comp_id]
   simp only [equivalence₂UnitIso_eq eB hF, equivalence₂UnitIso_hom_app,
chore: move Mathlib to v4.7.0-rc1 (#11162)

This is a very large PR, but it has been reviewed piecemeal already in PRs to the bump/v4.7.0 branch as we update to intermediate nightlies.

Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Kyle Miller <kmill31415@gmail.com> Co-authored-by: damiano <adomani@gmail.com>

Diff
@@ -88,9 +88,7 @@ def equivalence₁CounitIso : (e'.inverse ⋙ eA.inverse) ⋙ F ≅ 𝟭 B' :=
 
 theorem equivalence₁CounitIso_eq : (equivalence₁ hF).counitIso = equivalence₁CounitIso hF := by
   ext Y
-  dsimp [equivalence₁]
-  unfold Functor.asEquivalence
-  dsimp [equivalence₀, IsEquivalence.inverse, IsEquivalence.ofEquivalence]
+  dsimp [equivalence₁, equivalence₀, IsEquivalence.inverse, IsEquivalence.ofEquivalence]
   simp
 #align algebraic_topology.dold_kan.compatibility.equivalence₁_counit_iso_eq AlgebraicTopology.DoldKan.Compatibility.equivalence₁CounitIso_eq
 
@@ -108,9 +106,7 @@ def equivalence₁UnitIso : 𝟭 A ≅ F ⋙ e'.inverse ⋙ eA.inverse :=
 
 theorem equivalence₁UnitIso_eq : (equivalence₁ hF).unitIso = equivalence₁UnitIso hF := by
   ext X
-  dsimp [equivalence₁]
-  unfold Functor.asEquivalence
-  dsimp [NatIso.hcomp, IsEquivalence.ofEquivalence]
+  dsimp [equivalence₁, NatIso.hcomp, IsEquivalence.ofEquivalence]
   simp
 #align algebraic_topology.dold_kan.compatibility.equivalence₁_unit_iso_eq AlgebraicTopology.DoldKan.Compatibility.equivalence₁UnitIso_eq
 
chore: fix SHA for Dold-Kan equivalence files (#6834)
Diff
@@ -5,7 +5,7 @@ Authors: Joël Riou
 -/
 import Mathlib.CategoryTheory.Equivalence
 
-#align_import algebraic_topology.dold_kan.compatibility from "leanprover-community/mathlib"@"18ee599842a5d17f189fe572f0ed8cb1d064d772"
+#align_import algebraic_topology.dold_kan.compatibility from "leanprover-community/mathlib"@"32a7e535287f9c73f2e4d2aef306a39190f0b504"
 
 /-! Tools for compatibilities between Dold-Kan equivalences
 
feat: forward port of Mathlib.AlgebraicTopology.DoldKan.Equivalence (#6444)

In this PR (which is a forward port of https://github.com/leanprover-community/mathlib/pull/17926), the Dold-Kan equivalence between simplicial objects and chain complexes in abelian categories is constructed.

Co-authored-by: Joël Riou <37772949+joelriou@users.noreply.github.com>

Diff
@@ -36,6 +36,8 @@ but whose inverse functor is `G`.
 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.)
+
 -/
 
 
chore: banish Type _ and Sort _ (#6499)

We remove all possible occurences of Type _ and Sort _ in favor of Type* and Sort*.

This has nice performance benefits.

Diff
@@ -47,7 +47,7 @@ namespace DoldKan
 
 namespace Compatibility
 
-variable {A A' B B' : Type _} [Category A] [Category A'] [Category B] [Category B'] (eA : A ≌ A')
+variable {A A' B B' : Type*} [Category A] [Category A'] [Category B] [Category B'] (eA : A ≌ A')
   (eB : B ≌ B') (e' : A' ≌ B') {F : A ⥤ B'} (hF : eA.functor ⋙ e'.functor ≅ F) {G : B ⥤ A}
   (hG : eB.functor ⋙ e'.inverse ≅ G ⋙ eA.functor)
 
feat: forward port AlgebraicTopology.DoldKan.Compatibility (#6186)

This PR is a forward port of mathlib3 PR 3#17923

Co-authored-by: Joël Riou <37772949+joelriou@users.noreply.github.com>

Diff
@@ -5,7 +5,7 @@ Authors: Joël Riou
 -/
 import Mathlib.CategoryTheory.Equivalence
 
-#align_import algebraic_topology.dold_kan.compatibility from "leanprover-community/mathlib"@"160f568dcf772b2477791c844fc605f2f91f73d1"
+#align_import algebraic_topology.dold_kan.compatibility from "leanprover-community/mathlib"@"18ee599842a5d17f189fe572f0ed8cb1d064d772"
 
 /-! Tools for compatibilities between Dold-Kan equivalences
 
@@ -34,7 +34,7 @@ inverse of `eB`:
 but whose inverse functor is `G`.
 
 When extra assumptions are given, we shall also provide simplification lemmas for the
-unit and counit isomorphisms of `equivalence`. (TODO)
+unit and counit isomorphisms of `equivalence`.
 
 -/
 
@@ -78,9 +78,9 @@ def equivalence₁CounitIso : (e'.inverse ⋙ eA.inverse) ⋙ F ≅ 𝟭 B' :=
   calc
     (e'.inverse ⋙ eA.inverse) ⋙ F ≅ (e'.inverse ⋙ eA.inverse) ⋙ eA.functor ⋙ e'.functor :=
       isoWhiskerLeft _ hF.symm
-    _ ≅ e'.inverse ⋙ (eA.inverse ⋙ eA.functor) ⋙ e'.functor := (Iso.refl _)
-    _ ≅ e'.inverse ⋙ 𝟭 _ ⋙ e'.functor := (isoWhiskerLeft _ (isoWhiskerRight eA.counitIso _))
-    _ ≅ e'.inverse ⋙ e'.functor := (Iso.refl _)
+    _ ≅ e'.inverse ⋙ (eA.inverse ⋙ eA.functor) ⋙ e'.functor := Iso.refl _
+    _ ≅ e'.inverse ⋙ 𝟭 _ ⋙ e'.functor := isoWhiskerLeft _ (isoWhiskerRight eA.counitIso _)
+    _ ≅ e'.inverse ⋙ e'.functor := Iso.refl _
     _ ≅ 𝟭 B' := e'.counitIso
 #align algebraic_topology.dold_kan.compatibility.equivalence₁_counit_iso AlgebraicTopology.DoldKan.Compatibility.equivalence₁CounitIso
 
@@ -97,10 +97,10 @@ theorem equivalence₁CounitIso_eq : (equivalence₁ hF).counitIso = equivalence
 def equivalence₁UnitIso : 𝟭 A ≅ F ⋙ e'.inverse ⋙ eA.inverse :=
   calc
     𝟭 A ≅ eA.functor ⋙ eA.inverse := eA.unitIso
-    _ ≅ eA.functor ⋙ 𝟭 A' ⋙ eA.inverse := (Iso.refl _)
+    _ ≅ eA.functor ⋙ 𝟭 A' ⋙ eA.inverse := Iso.refl _
     _ ≅ eA.functor ⋙ (e'.functor ⋙ e'.inverse) ⋙ eA.inverse :=
-      (isoWhiskerLeft _ (isoWhiskerRight e'.unitIso _))
-    _ ≅ (eA.functor ⋙ e'.functor) ⋙ e'.inverse ⋙ eA.inverse := (Iso.refl _)
+      isoWhiskerLeft _ (isoWhiskerRight e'.unitIso _)
+    _ ≅ (eA.functor ⋙ e'.functor) ⋙ e'.inverse ⋙ eA.inverse := Iso.refl _
     _ ≅ F ⋙ e'.inverse ⋙ eA.inverse := isoWhiskerRight hF _
 #align algebraic_topology.dold_kan.compatibility.equivalence₁_unit_iso AlgebraicTopology.DoldKan.Compatibility.equivalence₁UnitIso
 
@@ -132,8 +132,8 @@ def equivalence₂CounitIso : (eB.functor ⋙ e'.inverse ⋙ eA.inverse) ⋙ F 
         eB.functor ⋙ (e'.inverse ⋙ eA.inverse ⋙ F) ⋙ eB.inverse :=
       Iso.refl _
     _ ≅ eB.functor ⋙ 𝟭 _ ⋙ eB.inverse :=
-      (isoWhiskerLeft _ (isoWhiskerRight (equivalence₁CounitIso hF) _))
-    _ ≅ eB.functor ⋙ eB.inverse := (Iso.refl _)
+      isoWhiskerLeft _ (isoWhiskerRight (equivalence₁CounitIso hF) _)
+    _ ≅ eB.functor ⋙ eB.inverse := Iso.refl _
     _ ≅ 𝟭 B := eB.unitIso.symm
 #align algebraic_topology.dold_kan.compatibility.equivalence₂_counit_iso AlgebraicTopology.DoldKan.Compatibility.equivalence₂CounitIso
 
@@ -150,9 +150,9 @@ theorem equivalence₂CounitIso_eq :
 def equivalence₂UnitIso : 𝟭 A ≅ (F ⋙ eB.inverse) ⋙ eB.functor ⋙ e'.inverse ⋙ eA.inverse :=
   calc
     𝟭 A ≅ F ⋙ e'.inverse ⋙ eA.inverse := equivalence₁UnitIso hF
-    _ ≅ F ⋙ 𝟭 B' ⋙ e'.inverse ⋙ eA.inverse := (Iso.refl _)
+    _ ≅ F ⋙ 𝟭 B' ⋙ e'.inverse ⋙ eA.inverse := Iso.refl _
     _ ≅ F ⋙ (eB.inverse ⋙ eB.functor) ⋙ e'.inverse ⋙ eA.inverse :=
-      (isoWhiskerLeft _ (isoWhiskerRight eB.counitIso.symm _))
+      isoWhiskerLeft _ (isoWhiskerRight eB.counitIso.symm _)
     _ ≅ (F ⋙ eB.inverse) ⋙ eB.functor ⋙ e'.inverse ⋙ eA.inverse := Iso.refl _
 #align algebraic_topology.dold_kan.compatibility.equivalence₂_unit_iso AlgebraicTopology.DoldKan.Compatibility.equivalence₂UnitIso
 
@@ -174,8 +174,8 @@ def equivalence : A ≌ B :=
     refine' IsEquivalence.ofIso _ (IsEquivalence.ofEquivalence (equivalence₂ eB hF).symm)
     calc
       eB.functor ⋙ e'.inverse ⋙ eA.inverse ≅ (eB.functor ⋙ e'.inverse) ⋙ eA.inverse := Iso.refl _
-      _ ≅ (G ⋙ eA.functor) ⋙ eA.inverse := (isoWhiskerRight hG _)
-      _ ≅ G ⋙ 𝟭 A := (isoWhiskerLeft _ eA.unitIso.symm)
+      _ ≅ (G ⋙ eA.functor) ⋙ eA.inverse := isoWhiskerRight hG _
+      _ ≅ G ⋙ 𝟭 A := isoWhiskerLeft _ eA.unitIso.symm
       _ ≅ G := Functor.rightUnitor G
   G.asEquivalence.symm
 #align algebraic_topology.dold_kan.compatibility.equivalence AlgebraicTopology.DoldKan.Compatibility.equivalence
@@ -184,6 +184,104 @@ theorem equivalence_functor : (equivalence hF hG).functor = F ⋙ eB.inverse :=
   rfl
 #align algebraic_topology.dold_kan.compatibility.equivalence_functor AlgebraicTopology.DoldKan.Compatibility.equivalence_functor
 
+/-- The isomorphism `eB.functor ⋙ e'.inverse ⋙ e'.functor ≅ eB.functor` deduced
+from the counit isomorphism of `e'`. -/
+@[simps! hom_app]
+def τ₀ : eB.functor ⋙ e'.inverse ⋙ e'.functor ≅ eB.functor :=
+  calc
+    eB.functor ⋙ e'.inverse ⋙ e'.functor ≅ eB.functor ⋙ 𝟭 _ := isoWhiskerLeft _ e'.counitIso
+    _ ≅ eB.functor := Functor.rightUnitor _
+#align algebraic_topology.dold_kan.compatibility.τ₀ AlgebraicTopology.DoldKan.Compatibility.τ₀
+
+/-- 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`. -/
+@[simps! hom_app]
+def τ₁ (η : G ⋙ F ≅ eB.functor) : eB.functor ⋙ e'.inverse ⋙ e'.functor ≅ eB.functor :=
+  calc
+    eB.functor ⋙ e'.inverse ⋙ e'.functor ≅ (eB.functor ⋙ e'.inverse) ⋙ e'.functor :=
+        Iso.refl _
+    _ ≅ (G ⋙ eA.functor) ⋙ e'.functor := isoWhiskerRight hG _
+    _ ≅ G ⋙ eA.functor ⋙ e'.functor := by rfl
+    _ ≅ G ⋙ F := isoWhiskerLeft _ hF
+    _ ≅ eB.functor := η
+#align algebraic_topology.dold_kan.compatibility.τ₁ AlgebraicTopology.DoldKan.Compatibility.τ₁
+
+variable (η : G ⋙ F ≅ eB.functor) (hη : τ₀ = τ₁ hF hG η)
+
+/-- The counit isomorphism of `equivalence`. -/
+@[simps!]
+def equivalenceCounitIso : G ⋙ F ⋙ eB.inverse ≅ 𝟭 B :=
+  calc
+    G ⋙ F ⋙ eB.inverse ≅ (G ⋙ F) ⋙ eB.inverse := Iso.refl _
+    _ ≅ eB.functor ⋙ eB.inverse := isoWhiskerRight η _
+    _ ≅ 𝟭 B := eB.unitIso.symm
+#align algebraic_topology.dold_kan.compatibility.equivalence_counit_iso AlgebraicTopology.DoldKan.Compatibility.equivalenceCounitIso
+
+variable {η hF hG}
+
+theorem equivalenceCounitIso_eq : (equivalence hF hG).counitIso = equivalenceCounitIso η := by
+  ext1; apply NatTrans.ext; ext Y
+  dsimp [equivalence, Functor.asEquivalence, IsEquivalence.ofEquivalence]
+  rw [equivalenceCounitIso_hom_app, IsEquivalence.ofIso_unitIso_inv_app]
+  dsimp
+  simp only [comp_id, id_comp, F.map_comp, assoc,
+    equivalence₂CounitIso_eq, equivalence₂CounitIso_hom_app,
+    ← eB.inverse.map_comp_assoc, ← τ₀_hom_app, hη, τ₁_hom_app]
+  erw [hF.inv.naturality_assoc, hF.inv.naturality_assoc]
+  dsimp
+  congr 2
+  simp only [assoc, ← e'.functor.map_comp_assoc, Equivalence.fun_inv_map,
+    Iso.inv_hom_id_app_assoc, hG.inv_hom_id_app]
+  dsimp
+  rw [comp_id, eA.functor_unitIso_comp, e'.functor.map_id, id_comp, hF.inv_hom_id_app_assoc]
+#align algebraic_topology.dold_kan.compatibility.equivalence_counit_iso_eq AlgebraicTopology.DoldKan.Compatibility.equivalenceCounitIso_eq
+
+variable (hF)
+
+/-- The isomorphism `eA.functor ≅ F ⋙ e'.inverse` deduced from the
+unit isomorphism of `e'` and the isomorphism `hF : eA.functor ⋙ e'.functor ≅ F`. -/
+@[simps!]
+def υ : eA.functor ≅ F ⋙ e'.inverse :=
+  calc
+    eA.functor ≅ eA.functor ⋙ 𝟭 A' := (Functor.leftUnitor _).symm
+    _ ≅ eA.functor ⋙ e'.functor ⋙ e'.inverse := (isoWhiskerLeft _ e'.unitIso)
+    _ ≅ (eA.functor ⋙ e'.functor) ⋙ e'.inverse := Iso.refl _
+    _ ≅ F ⋙ e'.inverse := isoWhiskerRight hF _
+#align algebraic_topology.dold_kan.compatibility.υ AlgebraicTopology.DoldKan.Compatibility.υ
+
+variable (ε : eA.functor ≅ F ⋙ e'.inverse) (hε : υ hF = ε) (hG)
+
+/-- The unit isomorphism of `equivalence`. -/
+@[simps!]
+def equivalenceUnitIso : 𝟭 A ≅ (F ⋙ eB.inverse) ⋙ G :=
+  calc
+    𝟭 A ≅ eA.functor ⋙ eA.inverse := eA.unitIso
+    _ ≅ (F ⋙ e'.inverse) ⋙ eA.inverse := isoWhiskerRight ε _
+    _ ≅ F ⋙ 𝟭 B' ⋙ e'.inverse ⋙ eA.inverse := Iso.refl _
+    _ ≅ F ⋙ (eB.inverse ⋙ eB.functor) ⋙ e'.inverse ⋙ eA.inverse :=
+      isoWhiskerLeft _ (isoWhiskerRight eB.counitIso.symm _)
+    _ ≅ (F ⋙ eB.inverse) ⋙ (eB.functor ⋙ e'.inverse) ⋙ eA.inverse := Iso.refl _
+    _ ≅ (F ⋙ eB.inverse) ⋙ (G ⋙ eA.functor) ⋙ eA.inverse :=
+      isoWhiskerLeft _ (isoWhiskerRight hG _)
+    _ ≅ (F ⋙ eB.inverse ⋙ G) ⋙ eA.functor ⋙ eA.inverse := Iso.refl _
+    _ ≅ (F ⋙ eB.inverse ⋙ G) ⋙ 𝟭 A := isoWhiskerLeft _ eA.unitIso.symm
+    _ ≅ (F ⋙ eB.inverse) ⋙ G := Iso.refl _
+#align algebraic_topology.dold_kan.compatibility.equivalence_unit_iso AlgebraicTopology.DoldKan.Compatibility.equivalenceUnitIso
+
+variable {ε hF hG}
+
+theorem equivalenceUnitIso_eq : (equivalence hF hG).unitIso = equivalenceUnitIso hG ε := by
+  ext1; apply NatTrans.ext; ext X
+  dsimp [equivalence, Functor.asEquivalence, IsEquivalence.ofEquivalence, IsEquivalence.inverse]
+  rw [IsEquivalence.ofIso_counitIso_inv_app]
+  dsimp
+  erw [id_comp, comp_id]
+  simp only [equivalence₂UnitIso_eq eB hF, equivalence₂UnitIso_hom_app,
+    assoc, equivalenceUnitIso_hom_app, ← eA.inverse.map_comp_assoc, ← hε, υ_hom_app]
+#align algebraic_topology.dold_kan.compatibility.equivalence_unit_iso_eq AlgebraicTopology.DoldKan.Compatibility.equivalenceUnitIso_eq
+
 end Compatibility
 
 end DoldKan
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -2,14 +2,11 @@
 Copyright (c) 2022 Joël Riou. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Joël Riou
-
-! This file was ported from Lean 3 source module algebraic_topology.dold_kan.compatibility
-! leanprover-community/mathlib commit 160f568dcf772b2477791c844fc605f2f91f73d1
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.CategoryTheory.Equivalence
 
+#align_import algebraic_topology.dold_kan.compatibility from "leanprover-community/mathlib"@"160f568dcf772b2477791c844fc605f2f91f73d1"
+
 /-! Tools for compatibilities between Dold-Kan equivalences
 
 The purpose of this file is to introduce tools which will enable the
chore: bye-bye, solo bys! (#3825)

This PR puts, with one exception, every single remaining by that lies all by itself on its own line to the previous line, thus matching the current behaviour of start-port.sh. The exception is when the by begins the second or later argument to a tuple or anonymous constructor; see https://github.com/leanprover-community/mathlib4/pull/3825#discussion_r1186702599.

Essentially this is s/\n *by$/ by/g, but with manual editing to satisfy the linter's max-100-char-line requirement. The Python style linter is also modified to catch these "isolated bys".

Diff
@@ -140,8 +140,8 @@ def equivalence₂CounitIso : (eB.functor ⋙ e'.inverse ⋙ eA.inverse) ⋙ F 
     _ ≅ 𝟭 B := eB.unitIso.symm
 #align algebraic_topology.dold_kan.compatibility.equivalence₂_counit_iso AlgebraicTopology.DoldKan.Compatibility.equivalence₂CounitIso
 
-theorem equivalence₂CounitIso_eq : (equivalence₂ eB hF).counitIso = equivalence₂CounitIso eB hF :=
-  by
+theorem equivalence₂CounitIso_eq :
+    (equivalence₂ eB hF).counitIso = equivalence₂CounitIso eB hF := by
   ext Y'
   dsimp [equivalence₂, Iso.refl]
   simp only [equivalence₁CounitIso_eq, equivalence₂CounitIso_hom_app,
chore: fix #align lines (#3640)

This PR fixes two things:

  • Most align statements for definitions and theorems and instances that are separated by two newlines from the relevant declaration (s/\n\n#align/\n#align). This is often seen in the mathport output after ending calc blocks.
  • All remaining more-than-one-line #align statements. (This was needed for a script I wrote for #3630.)
Diff
@@ -85,7 +85,6 @@ def equivalence₁CounitIso : (e'.inverse ⋙ eA.inverse) ⋙ F ≅ 𝟭 B' :=
     _ ≅ e'.inverse ⋙ 𝟭 _ ⋙ e'.functor := (isoWhiskerLeft _ (isoWhiskerRight eA.counitIso _))
     _ ≅ e'.inverse ⋙ e'.functor := (Iso.refl _)
     _ ≅ 𝟭 B' := e'.counitIso
-
 #align algebraic_topology.dold_kan.compatibility.equivalence₁_counit_iso AlgebraicTopology.DoldKan.Compatibility.equivalence₁CounitIso
 
 theorem equivalence₁CounitIso_eq : (equivalence₁ hF).counitIso = equivalence₁CounitIso hF := by
feat: port AlgebraicTopology.DoldKan.Compatibility (#3188)

Co-authored-by: Moritz Firsching <firsching@google.com> Co-authored-by: Scott Morrison <scott@tqft.net>

Dependencies 10

11 files ported (100.0%)
2826 lines ported (100.0%)

All dependencies are ported!