ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Commute.inv_mul_cancel_assoc
@[to_additive]
lemma inv_mul_cancel_assoc (h : Commute a b) : a⁻¹ * (b * a) = b 
Arguments: {G : Type u_1} [Group G] {a b : G} (h : Commute a b)
Goal: a⁻¹ * (b * a) = b
-- Commute.conj_iff
@[to_additive (attr := simp)]
protected theorem conj_iff (h : G) : Commute (h * a * h⁻¹) (h * b * h⁻¹) ↔ Commute a b 
Arguments: {G : Type u_1} [Group G] {a b : G} (h : G)
Goal: Commute (h * a * h⁻¹) (h * b * h⁻¹) ↔ Commute a b
-- AddCommute.conj_iff
@[to_additive (attr := simp)]
protected theorem conj_iff (h : G) : Commute (h * a * h⁻¹) (h * b * h⁻¹) ↔ Commute a b 
Arguments: {G : Type u_1} [AddGroup G] {a b : G} (h : G)
Goal: AddCommute (h + a + -h) (h + b + -h) ↔ AddCommute a b
-- Commute.conj
@[to_additive]
protected theorem conj (comm : Commute a b) (h : G) : Commute (h * a * h⁻¹) (h * b * h⁻¹) 
Arguments: {G : Type u_1} [Group G] {a b : G} (comm : Commute a b) (h : G)
Goal: Commute (h * a * h⁻¹) (h * b * h⁻¹)
-- AddCommute.conj
@[to_additive]
protected theorem conj (comm : Commute a b) (h : G) : Commute (h * a * h⁻¹) (h * b * h⁻¹) 
Arguments: {G : Type u_1} [AddGroup G] {a b : G} (comm : AddCommute a b) (h : G)
Goal: AddCommute (h + a + -h) (h + b + -h)
-- Commute.zpow_right
@[to_additive (attr := simp)]
lemma zpow_right (h : Commute a b) (m : ℤ) : Commute a (b ^ m) 
Arguments: {G : Type u_1} [Group G] {a b : G} (h : Commute a b) (m : ℤ)
Goal: Commute a (b ^ m)
-- AddCommute.zsmul_right
@[to_additive (attr := simp)]
lemma zpow_right (h : Commute a b) (m : ℤ) : Commute a (b ^ m) 
Arguments: {G : Type u_1} [AddGroup G] {a b : G} (h : AddCommute a b) (m : ℤ)
Goal: AddCommute a (m • b)
-- Commute.zpow_left
@[to_additive (attr := simp)]
lemma zpow_left (h : Commute a b) (m : ℤ) : Commute (a ^ m) b 
Arguments: {G : Type u_1} [Group G] {a b : G} (h : Commute a b) (m : ℤ)
Goal: Commute (a ^ m) b
-- AddCommute.zsmul_left
@[to_additive (attr := simp)]
lemma zpow_left (h : Commute a b) (m : ℤ) : Commute (a ^ m) b 
Arguments: {G : Type u_1} [AddGroup G] {a b : G} (h : AddCommute a b) (m : ℤ)
Goal: AddCommute (m • a) b
-- Commute.zpow_zpow
@[to_additive] lemma zpow_zpow (h : Commute a b) (m n : ℤ) : Commute (a ^ m) (b ^ n) 
Arguments: {G : Type u_1} [Group G] {a b : G} (h : Commute a b) (m n : ℤ)
Goal: Commute (a ^ m) (b ^ n)
-- AddCommute.zsmul_zsmul
@[to_additive] lemma zpow_zpow (h : Commute a b) (m n : ℤ) : Commute (a ^ m) (b ^ n) 
Arguments: {G : Type u_1} [AddGroup G] {a b : G} (h : AddCommute a b) (m n : ℤ)
Goal: AddCommute (m • a) (n • b)
-- Commute.self_zpow
@[to_additive] lemma self_zpow : Commute a (a ^ n) 
Arguments: {G : Type u_1} [Group G] (a : G) (n : ℤ)
Goal: Commute a (a ^ n)
-- AddCommute.self_zsmul
@[to_additive] lemma self_zpow : Commute a (a ^ n) 
Arguments: {G : Type u_1} [AddGroup G] (a : G) (n : ℤ)
Goal: AddCommute a (n • a)
-- AddCommute.zsmul_self
@[to_additive] lemma zpow_self : Commute (a ^ n) a 
Arguments: {G : Type u_1} [AddGroup G] (a : G) (n : ℤ)
Goal: AddCommute (n • a) a
-- Commute.zpow_self
@[to_additive] lemma zpow_self : Commute (a ^ n) a 
Arguments: {G : Type u_1} [Group G] (a : G) (n : ℤ)
Goal: Commute (a ^ n) a
-- Commute.zpow_zpow_self
@[to_additive] lemma zpow_zpow_self : Commute (a ^ m) (a ^ n) 
Arguments: {G : Type u_1} [Group G] (a : G) (m n : ℤ)
Goal: Commute (a ^ m) (a ^ n)
-- AddCommute.zsmul_zsmul_self
@[to_additive] lemma zpow_zpow_self : Commute (a ^ m) (a ^ n) 
Arguments: {G : Type u_1} [AddGroup G] (a : G) (m n : ℤ)
Goal: AddCommute (m • a) (n • a)
-- nsmul_neg_comm
@[to_additive] lemma pow_inv_comm (a : G) (m n : ℕ) : a⁻¹ ^ m * a ^ n = a ^ n * a⁻¹ ^ m 
Arguments: {G : Type u_1} [AddGroup G] (a : G) (m n : ℕ)
Goal: m • -a + n • a = n • a + m • -a
-- pow_inv_comm
@[to_additive] lemma pow_inv_comm (a : G) (m n : ℕ) : a⁻¹ ^ m * a ^ n = a ^ n * a⁻¹ ^ m 
Arguments: {G : Type u_1} [Group G] (a : G) (m n : ℕ)
Goal: a⁻¹ ^ m * a ^ n = a ^ n * a⁻¹ ^ m
-- GenContFract.compExactValue_correctness_of_stream_eq_some_aux_comp
protected theorem compExactValue_correctness_of_stream_eq_some_aux_comp {a : K} (b c : K)
    (fract_a_ne_zero : Int.fract a ≠ 0) :
    ((⌊a⌋ : K) * b + c) / Int.fract a + b = (b * a + c) / Int.fract a 
Arguments: {K : Type u_1} [LinearOrderedField K] [FloorRing K] {a : K} (b c : K) (fract_a_ne_zero : Int.fract a ≠ 0)
Goal: (↑⌊a⌋ * b + c) / Int.fract a + b = (b * a + c) / Int.fract a
-- GenContFract.compExactValue_correctness_of_stream_eq_some
theorem compExactValue_correctness_of_stream_eq_some :
    ∀ {ifp_n : IntFractPair K}, IntFractPair.stream v n = some ifp_n →
      v = compExactValue ((of v).contsAux n) ((of v).contsAux <| n + 1) ifp_n.fr 
Arguments: {K : Type u_1} [LinearOrderedField K] {v : K} {n : ℕ} [FloorRing K] {ifp_n : GenContFract.IntFractPair K}
Goal: GenContFract.IntFractPair.stream v n = some ifp_n →
  v = GenContFract.compExactValue ((GenContFract.of v).contsAux n) ((GenContFract.of v).contsAux (n + 1)) ifp_n.fr
-- GenContFract.of_correctness_of_nth_stream_eq_none
theorem of_correctness_of_nth_stream_eq_none (nth_stream_eq_none : IntFractPair.stream v n = none) :
    v = (of v).convs (n - 1) 
Arguments: {K : Type u_1} [LinearOrderedField K] {v : K} {n : ℕ} [FloorRing K] (nth_stream_eq_none : GenContFract.IntFractPair.stream v n = none)
Goal: v = (GenContFract.of v).convs (n - 1)
-- GenContFract.of_correctness_of_terminatedAt
theorem of_correctness_of_terminatedAt (terminatedAt_n : (of v).TerminatedAt n) :
    v = (of v).convs n 
Arguments: {K : Type u_1} [LinearOrderedField K] {v : K} {n : ℕ} [FloorRing K] (terminatedAt_n : (GenContFract.of v).TerminatedAt n)
Goal: v = (GenContFract.of v).convs n
-- GenContFract.of_correctness_of_terminates
theorem of_correctness_of_terminates (terminates : (of v).Terminates) :
    ∃ n : ℕ, v = (of v).convs n 
Arguments: {K : Type u_1} [LinearOrderedField K] {v : K} [FloorRing K] (terminates : (GenContFract.of v).Terminates)
Goal: ∃ n, v = (GenContFract.of v).convs n
-- GenContFract.of_correctness_atTop_of_terminates
theorem of_correctness_atTop_of_terminates (terminates : (of v).Terminates) :
    ∀ᶠ n in atTop, v = (of v).convs n 
Arguments: {K : Type u_1} [LinearOrderedField K] {v : K} [FloorRing K] (terminates : (GenContFract.of v).Terminates)
Goal: ∀ᶠ (n : ℕ) in Filter.atTop, v = (GenContFract.of v).convs n
-- dNext_eq_dFrom_fromNext
@[simp]
theorem dNext_eq_dFrom_fromNext (f : ∀ i j, C.X i ⟶ D.X j) (i : ι) :
    dNext i f = C.dFrom i ≫ fromNext i f 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D : HomologicalComplex V c} (f : (i j : ι) → C.X i ⟶ D.X j) (i : ι)
Goal: (dNext i) f = C.dFrom i ≫ (fromNext i) f
-- dNext_eq
theorem dNext_eq (f : ∀ i j, C.X i ⟶ D.X j) {i i' : ι} (w : c.Rel i i') :
    dNext i f = C.d i i' ≫ f i' i 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D : HomologicalComplex V c} (f : (i j : ι) → C.X i ⟶ D.X j) {i i' : ι} (w : c.Rel i i')
Goal: (dNext i) f = C.d i i' ≫ f i' i
-- dNext_eq_zero
lemma dNext_eq_zero (f : ∀ i j, C.X i ⟶ D.X j) (i : ι) (hi : ¬ c.Rel i (c.next i)) :
    dNext i f = 0 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D : HomologicalComplex V c} (f : (i j : ι) → C.X i ⟶ D.X j) (i : ι) (hi : ¬c.Rel i (c.next i))
Goal: (dNext i) f = 0
-- dNext_comp_left
@[simp 1100]
theorem dNext_comp_left (f : C ⟶ D) (g : ∀ i j, D.X i ⟶ E.X j) (i : ι) :
    (dNext i fun i j => f.f i ≫ g i j) = f.f i ≫ dNext i g 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D E : HomologicalComplex V c} (f : C ⟶ D) (g : (i j : ι) → D.X i ⟶ E.X j) (i : ι)
Goal: ((dNext i) fun i j => f.f i ≫ g i j) = f.f i ≫ (dNext i) g
-- dNext_comp_right
@[simp 1100]
theorem dNext_comp_right (f : ∀ i j, C.X i ⟶ D.X j) (g : D ⟶ E) (i : ι) :
    (dNext i fun i j => f i j ≫ g.f j) = dNext i f ≫ g.f i 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D E : HomologicalComplex V c} (f : (i j : ι) → C.X i ⟶ D.X j) (g : D ⟶ E) (i : ι)
Goal: ((dNext i) fun i j => f i j ≫ g.f j) = (dNext i) f ≫ g.f i
-- prevD_eq_zero
lemma prevD_eq_zero (f : ∀ i j, C.X i ⟶ D.X j) (i : ι) (hi : ¬ c.Rel (c.prev i) i) :
    prevD i f = 0 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D : HomologicalComplex V c} (f : (i j : ι) → C.X i ⟶ D.X j) (i : ι) (hi : ¬c.Rel (c.prev i) i)
Goal: (prevD i) f = 0
-- prevD_eq_toPrev_dTo
@[simp]
theorem prevD_eq_toPrev_dTo (f : ∀ i j, C.X i ⟶ D.X j) (j : ι) :
    prevD j f = toPrev j f ≫ D.dTo j 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D : HomologicalComplex V c} (f : (i j : ι) → C.X i ⟶ D.X j) (j : ι)
Goal: (prevD j) f = (toPrev j) f ≫ D.dTo j
-- prevD_eq
theorem prevD_eq (f : ∀ i j, C.X i ⟶ D.X j) {j j' : ι} (w : c.Rel j' j) :
    prevD j f = f j j' ≫ D.d j' j 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D : HomologicalComplex V c} (f : (i j : ι) → C.X i ⟶ D.X j) {j j' : ι} (w : c.Rel j' j)
Goal: (prevD j) f = f j j' ≫ D.d j' j
-- prevD_comp_left
@[simp 1100]
theorem prevD_comp_left (f : C ⟶ D) (g : ∀ i j, D.X i ⟶ E.X j) (j : ι) :
    (prevD j fun i j => f.f i ≫ g i j) = f.f j ≫ prevD j g 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D E : HomologicalComplex V c} (f : C ⟶ D) (g : (i j : ι) → D.X i ⟶ E.X j) (j : ι)
Goal: ((prevD j) fun i j => f.f i ≫ g i j) = f.f j ≫ (prevD j) g
-- prevD_comp_right
@[simp 1100]
theorem prevD_comp_right (f : ∀ i j, C.X i ⟶ D.X j) (g : D ⟶ E) (j : ι) :
    (prevD j fun i j => f i j ≫ g.f j) = prevD j f ≫ g.f j 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D E : HomologicalComplex V c} (f : (i j : ι) → C.X i ⟶ D.X j) (g : D ⟶ E) (j : ι)
Goal: ((prevD j) fun i j => f i j ≫ g.f j) = (prevD j) f ≫ g.f j
-- dNext_nat
theorem dNext_nat (C D : ChainComplex V ℕ) (i : ℕ) (f : ∀ i j, C.X i ⟶ D.X j) :
    dNext i f = C.d i (i - 1) ≫ f (i - 1) i 
Arguments: {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] (C D : ChainComplex V ℕ) (i : ℕ) (f : (i j : ℕ) → C.X i ⟶ D.X j)
Goal: (dNext i) f = C.d i (i - 1) ≫ f (i - 1) i
-- prevD_nat
theorem prevD_nat (C D : CochainComplex V ℕ) (i : ℕ) (f : ∀ i j, C.X i ⟶ D.X j) :
    prevD i f = f i (i - 1) ≫ D.d (i - 1) i 
Arguments: {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] (C D : CochainComplex V ℕ) (i : ℕ) (f : (i j : ℕ) → C.X i ⟶ D.X j)
Goal: (prevD i) f = f i (i - 1) ≫ D.d (i - 1) i
-- Homotopy.zero
@[ext]
structure Homotopy (f g : C ⟶ D) where
  hom : ∀ i j, C.X i ⟶ D.X j
  zero : ∀ i j, ¬c.Rel j i → hom i j = 0 := by aesop_cat
  comm : ∀ i, f.f i = dNext i hom + prevD i hom + g.f i := by aesop_cat
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D : HomologicalComplex V c} {f g : C ⟶ D} (self : Homotopy f g) (i j : ι)
Goal: ¬c.Rel j i → self.hom i j = 0
-- Homotopy.comm
@[ext]
structure Homotopy (f g : C ⟶ D) where
  hom : ∀ i j, C.X i ⟶ D.X j
  zero : ∀ i j, ¬c.Rel j i → hom i j = 0 := by aesop_cat
  comm : ∀ i, f.f i = dNext i hom + prevD i hom + g.f i := by aesop_cat
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D : HomologicalComplex V c} {f g : C ⟶ D} (self : Homotopy f g) (i : ι)
Goal: f.f i = (dNext i) self.hom + (prevD i) self.hom + g.f i
-- Homotopy.ofEq_hom
@[simps]
def ofEq (h : f = g) : Homotopy f g 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D : HomologicalComplex V c} {f g : C ⟶ D} (h : f = g) (i j : ι)
Goal: (Homotopy.ofEq h).hom i j = 0 i j
-- Homotopy.refl_hom
@[simps!, refl]
def refl (f : C ⟶ D) : Homotopy f f 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D : HomologicalComplex V c} (f : C ⟶ D) (i j : ι)
Goal: (Homotopy.refl f).hom i j = 0
-- Homotopy.symm_hom
@[simps!, symm]
def symm {f g : C ⟶ D} (h : Homotopy f g) : Homotopy g f 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D : HomologicalComplex V c} {f g : C ⟶ D} (h : Homotopy f g) (i j : ι)
Goal: h.symm.hom i j = -h.hom i j
-- Homotopy.trans_hom
@[simps!, trans]
def trans {e f g : C ⟶ D} (h : Homotopy e f) (k : Homotopy f g) : Homotopy e g 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D : HomologicalComplex V c} {e f g : C ⟶ D} (h : Homotopy e f) (k : Homotopy f g) (i j : ι)
Goal: (h.trans k).hom i j = h.hom i j + k.hom i j
-- Homotopy.add_hom
@[simps!]
def add {f₁ g₁ f₂ g₂ : C ⟶ D} (h₁ : Homotopy f₁ g₁) (h₂ : Homotopy f₂ g₂) :
    Homotopy (f₁ + f₂) (g₁ + g₂) 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D : HomologicalComplex V c} {f₁ g₁ f₂ g₂ : C ⟶ D} (h₁ : Homotopy f₁ g₁) (h₂ : Homotopy f₂ g₂) (i j : ι)
Goal: (h₁.add h₂).hom i j = h₁.hom i j + h₂.hom i j
-- Homotopy.smul_hom
@[simps!]
def smul {R : Type*} [Semiring R] [Linear R V] (h : Homotopy f g) (a : R) :
    Homotopy (a • f) (a • g) 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D : HomologicalComplex V c} {f g : C ⟶ D} {R : Type u_2} [Semiring R] [CategoryTheory.Linear R V] (h : Homotopy f g) (a : R) (i j : ι)
Goal: (h.smul a).hom i j = a • h.hom i j
-- Homotopy.compRight_hom
@[simps]
def compRight {e f : C ⟶ D} (h : Homotopy e f) (g : D ⟶ E) : Homotopy (e ≫ g) (f ≫ g) 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D E : HomologicalComplex V c} {e f : C ⟶ D} (h : Homotopy e f) (g : D ⟶ E) (i j : ι)
Goal: (h.compRight g).hom i j = h.hom i j ≫ g.f j
-- Homotopy.compLeft_hom
@[simps]
def compLeft {f g : D ⟶ E} (h : Homotopy f g) (e : C ⟶ D) : Homotopy (e ≫ f) (e ≫ g) 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D E : HomologicalComplex V c} {f g : D ⟶ E} (h : Homotopy f g) (e : C ⟶ D) (i j : ι)
Goal: (h.compLeft e).hom i j = e.f i ≫ h.hom i j
-- Homotopy.comp_hom
@[simps!]
def comp {C₁ C₂ C₃ : HomologicalComplex V c} {f₁ g₁ : C₁ ⟶ C₂} {f₂ g₂ : C₂ ⟶ C₃}
    (h₁ : Homotopy f₁ g₁) (h₂ : Homotopy f₂ g₂) : Homotopy (f₁ ≫ f₂) (g₁ ≫ g₂) 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C₁ C₂ C₃ : HomologicalComplex V c} {f₁ g₁ : C₁ ⟶ C₂} {f₂ g₂ : C₂ ⟶ C₃} (h₁ : Homotopy f₁ g₁) (h₂ : Homotopy f₂ g₂) (i j : ι)
Goal: (h₁.comp h₂).hom i j = h₁.hom i j ≫ f₂.f j + g₁.f i ≫ h₂.hom i j
-- Homotopy.compRightId_hom
@[simps!]
def compRightId {f : C ⟶ C} (h : Homotopy f (𝟙 C)) (g : C ⟶ D) : Homotopy (f ≫ g) g 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D : HomologicalComplex V c} {f : C ⟶ C} (h : Homotopy f (𝟙 C)) (g : C ⟶ D) (i j : ι)
Goal: (h.compRightId g).hom i j = h.hom i j ≫ g.f j
-- Homotopy.compLeftId_hom
@[simps!]
def compLeftId {f : D ⟶ D} (h : Homotopy f (𝟙 D)) (g : C ⟶ D) : Homotopy (g ≫ f) g 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D : HomologicalComplex V c} {f : D ⟶ D} (h : Homotopy f (𝟙 D)) (g : C ⟶ D) (i j : ι)
Goal: (h.compLeftId g).hom i j = g.f i ≫ h.hom i j
-- Homotopy.nullHomotopicMap_comp
theorem nullHomotopicMap_comp (hom : ∀ i j, C.X i ⟶ D.X j) (g : D ⟶ E) :
    nullHomotopicMap hom ≫ g = nullHomotopicMap fun i j => hom i j ≫ g.f j 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D E : HomologicalComplex V c} (hom : (i j : ι) → C.X i ⟶ D.X j) (g : D ⟶ E)
Goal: Homotopy.nullHomotopicMap hom ≫ g = Homotopy.nullHomotopicMap fun i j => hom i j ≫ g.f j
-- Homotopy.nullHomotopicMap'_comp
theorem nullHomotopicMap'_comp (hom : ∀ i j, c.Rel j i → (C.X i ⟶ D.X j)) (g : D ⟶ E) :
    nullHomotopicMap' hom ≫ g = nullHomotopicMap' fun i j hij => hom i j hij ≫ g.f j 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D E : HomologicalComplex V c} (hom : (i j : ι) → c.Rel j i → (C.X i ⟶ D.X j)) (g : D ⟶ E)
Goal: Homotopy.nullHomotopicMap' hom ≫ g = Homotopy.nullHomotopicMap' fun i j hij => hom i j hij ≫ g.f j
-- Homotopy.comp_nullHomotopicMap
theorem comp_nullHomotopicMap (f : C ⟶ D) (hom : ∀ i j, D.X i ⟶ E.X j) :
    f ≫ nullHomotopicMap hom = nullHomotopicMap fun i j => f.f i ≫ hom i j 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D E : HomologicalComplex V c} (f : C ⟶ D) (hom : (i j : ι) → D.X i ⟶ E.X j)
Goal: f ≫ Homotopy.nullHomotopicMap hom = Homotopy.nullHomotopicMap fun i j => f.f i ≫ hom i j
-- Homotopy.comp_nullHomotopicMap'
theorem comp_nullHomotopicMap' (f : C ⟶ D) (hom : ∀ i j, c.Rel j i → (D.X i ⟶ E.X j)) :
    f ≫ nullHomotopicMap' hom = nullHomotopicMap' fun i j hij => f.f i ≫ hom i j hij 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D E : HomologicalComplex V c} (f : C ⟶ D) (hom : (i j : ι) → c.Rel j i → (D.X i ⟶ E.X j))
Goal: f ≫ Homotopy.nullHomotopicMap' hom = Homotopy.nullHomotopicMap' fun i j hij => f.f i ≫ hom i j hij
-- Homotopy.map_nullHomotopicMap
theorem map_nullHomotopicMap {W : Type*} [Category W] [Preadditive W] (G : V ⥤ W) [G.Additive]
    (hom : ∀ i j, C.X i ⟶ D.X j) :
    (G.mapHomologicalComplex c).map (nullHomotopicMap hom) =
      nullHomotopicMap (fun i j => by exact G.map (hom i j)) 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D : HomologicalComplex V c} {W : Type u_2} [CategoryTheory.Category.{u_3, u_2} W] [CategoryTheory.Preadditive W] (G : V ⥤ W) [G.Additive] (hom : (i j : ι) → C.X i ⟶ D.X j)
Goal: (G.mapHomologicalComplex c).map (Homotopy.nullHomotopicMap hom) = Homotopy.nullHomotopicMap fun i j => G.map (hom i j)
-- Homotopy.map_nullHomotopicMap'
theorem map_nullHomotopicMap' {W : Type*} [Category W] [Preadditive W] (G : V ⥤ W) [G.Additive]
    (hom : ∀ i j, c.Rel j i → (C.X i ⟶ D.X j)) :
    (G.mapHomologicalComplex c).map (nullHomotopicMap' hom) =
      nullHomotopicMap' fun i j hij => by exact G.map (hom i j hij) 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D : HomologicalComplex V c} {W : Type u_2} [CategoryTheory.Category.{u_3, u_2} W] [CategoryTheory.Preadditive W] (G : V ⥤ W) [G.Additive] (hom : (i j : ι) → c.Rel j i → (C.X i ⟶ D.X j))
Goal: (G.mapHomologicalComplex c).map (Homotopy.nullHomotopicMap' hom) =
  Homotopy.nullHomotopicMap' fun i j hij => G.map (hom i j hij)
-- Homotopy.nullHomotopy_hom
@[simps]
def nullHomotopy (hom : ∀ i j, C.X i ⟶ D.X j) (zero : ∀ i j, ¬c.Rel j i → hom i j = 0) :
    Homotopy (nullHomotopicMap hom) 0 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D : HomologicalComplex V c} (hom : (i j : ι) → C.X i ⟶ D.X j) (zero : ∀ (i j : ι), ¬c.Rel j i → hom i j = 0) (i j : ι)
Goal: (Homotopy.nullHomotopy hom zero).hom i j = hom i j
-- Homotopy.nullHomotopy'_hom
@[simps!]
def nullHomotopy' (h : ∀ i j, c.Rel j i → (C.X i ⟶ D.X j)) : Homotopy (nullHomotopicMap' h) 0 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D : HomologicalComplex V c} (h : (i j : ι) → c.Rel j i → (C.X i ⟶ D.X j)) (i j : ι)
Goal: (Homotopy.nullHomotopy' h).hom i j = dite (c.Rel j i) (h i j) fun x => 0
-- Homotopy.nullHomotopicMap_f
@[simp]
theorem nullHomotopicMap_f {k₂ k₁ k₀ : ι} (r₂₁ : c.Rel k₂ k₁) (r₁₀ : c.Rel k₁ k₀)
    (hom : ∀ i j, C.X i ⟶ D.X j) :
    (nullHomotopicMap hom).f k₁ = C.d k₁ k₀ ≫ hom k₀ k₁ + hom k₁ k₂ ≫ D.d k₂ k₁ 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D : HomologicalComplex V c} {k₂ k₁ k₀ : ι} (r₂₁ : c.Rel k₂ k₁) (r₁₀ : c.Rel k₁ k₀) (hom : (i j : ι) → C.X i ⟶ D.X j)
Goal: (Homotopy.nullHomotopicMap hom).f k₁ = C.d k₁ k₀ ≫ hom k₀ k₁ + hom k₁ k₂ ≫ D.d k₂ k₁
-- Homotopy.nullHomotopicMap'_f
@[simp]
theorem nullHomotopicMap'_f {k₂ k₁ k₀ : ι} (r₂₁ : c.Rel k₂ k₁) (r₁₀ : c.Rel k₁ k₀)
    (h : ∀ i j, c.Rel j i → (C.X i ⟶ D.X j)) :
    (nullHomotopicMap' h).f k₁ = C.d k₁ k₀ ≫ h k₀ k₁ r₁₀ + h k₁ k₂ r₂₁ ≫ D.d k₂ k₁ 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D : HomologicalComplex V c} {k₂ k₁ k₀ : ι} (r₂₁ : c.Rel k₂ k₁) (r₁₀ : c.Rel k₁ k₀) (h : (i j : ι) → c.Rel j i → (C.X i ⟶ D.X j))
Goal: (Homotopy.nullHomotopicMap' h).f k₁ = C.d k₁ k₀ ≫ h k₀ k₁ r₁₀ + h k₁ k₂ r₂₁ ≫ D.d k₂ k₁
-- Homotopy.nullHomotopicMap_f_of_not_rel_left
@[simp]
theorem nullHomotopicMap_f_of_not_rel_left {k₁ k₀ : ι} (r₁₀ : c.Rel k₁ k₀)
    (hk₀ : ∀ l : ι, ¬c.Rel k₀ l) (hom : ∀ i j, C.X i ⟶ D.X j) :
    (nullHomotopicMap hom).f k₀ = hom k₀ k₁ ≫ D.d k₁ k₀ 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D : HomologicalComplex V c} {k₁ k₀ : ι} (r₁₀ : c.Rel k₁ k₀) (hk₀ : ∀ (l : ι), ¬c.Rel k₀ l) (hom : (i j : ι) → C.X i ⟶ D.X j)
Goal: (Homotopy.nullHomotopicMap hom).f k₀ = hom k₀ k₁ ≫ D.d k₁ k₀
-- Homotopy.nullHomotopicMap'_f_of_not_rel_left
@[simp]
theorem nullHomotopicMap'_f_of_not_rel_left {k₁ k₀ : ι} (r₁₀ : c.Rel k₁ k₀)
    (hk₀ : ∀ l : ι, ¬c.Rel k₀ l) (h : ∀ i j, c.Rel j i → (C.X i ⟶ D.X j)) :
    (nullHomotopicMap' h).f k₀ = h k₀ k₁ r₁₀ ≫ D.d k₁ k₀ 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D : HomologicalComplex V c} {k₁ k₀ : ι} (r₁₀ : c.Rel k₁ k₀) (hk₀ : ∀ (l : ι), ¬c.Rel k₀ l) (h : (i j : ι) → c.Rel j i → (C.X i ⟶ D.X j))
Goal: (Homotopy.nullHomotopicMap' h).f k₀ = h k₀ k₁ r₁₀ ≫ D.d k₁ k₀
-- Homotopy.nullHomotopicMap_f_of_not_rel_right
@[simp]
theorem nullHomotopicMap_f_of_not_rel_right {k₁ k₀ : ι} (r₁₀ : c.Rel k₁ k₀)
    (hk₁ : ∀ l : ι, ¬c.Rel l k₁) (hom : ∀ i j, C.X i ⟶ D.X j) :
    (nullHomotopicMap hom).f k₁ = C.d k₁ k₀ ≫ hom k₀ k₁ 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D : HomologicalComplex V c} {k₁ k₀ : ι} (r₁₀ : c.Rel k₁ k₀) (hk₁ : ∀ (l : ι), ¬c.Rel l k₁) (hom : (i j : ι) → C.X i ⟶ D.X j)
Goal: (Homotopy.nullHomotopicMap hom).f k₁ = C.d k₁ k₀ ≫ hom k₀ k₁
-- Homotopy.nullHomotopicMap'_f_of_not_rel_right
@[simp]
theorem nullHomotopicMap'_f_of_not_rel_right {k₁ k₀ : ι} (r₁₀ : c.Rel k₁ k₀)
    (hk₁ : ∀ l : ι, ¬c.Rel l k₁) (h : ∀ i j, c.Rel j i → (C.X i ⟶ D.X j)) :
    (nullHomotopicMap' h).f k₁ = C.d k₁ k₀ ≫ h k₀ k₁ r₁₀ 
Arguments: {ι : Type u_1} {V : Type u} [CategoryTheory.Category.{v, u} V] [CategoryTheory.Preadditive V] {c : ComplexShape ι} {C D : HomologicalComplex V c} {k₁ k₀ : ι} (r₁₀ : c.Rel k₁ k₀) (hk₁ : ∀ (l : ι), ¬c.Rel l k₁) (h : (i j : ι) → c.Rel j i → (C.X i ⟶ D.X j))
Goal: (Homotopy.nullHomotopicMap' h).f k₁ = C.d k₁ k₀ ≫ h k₀ k₁ r₁₀