ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- HomologicalComplex.singleObjOpcyclesSelfIso_inv_naturality
@[reassoc (attr := simp)]
lemma singleObjOpcyclesSelfIso_inv_naturality :
    opcyclesMap ((single C c j).map f) j ≫ (singleObjOpcyclesSelfIso c j B).inv =
      (singleObjOpcyclesSelfIso c j A).inv ≫ f 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) {A B : C} (f : A ⟶ B)
Goal: HomologicalComplex.opcyclesMap ((HomologicalComplex.single C c j).map f) j ≫
    (HomologicalComplex.singleObjOpcyclesSelfIso c j B).inv =
  (HomologicalComplex.singleObjOpcyclesSelfIso c j A).inv ≫ f
-- HomologicalComplex.homologyFunctorSingleIso_inv_app
@[simps!]
noncomputable def homologyFunctorSingleIso [CategoryWithHomology C] :
    single C c j ⋙ homologyFunctor C c j ≅ 𝟭 _ 
Arguments: (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) [CategoryTheory.CategoryWithHomology C] (X : C)
Goal: (HomologicalComplex.homologyFunctorSingleIso C c j).inv.app X = (HomologicalComplex.singleObjHomologySelfIso c j X).inv
-- HomologicalComplex.homologyFunctorSingleIso_hom_app
@[simps!]
noncomputable def homologyFunctorSingleIso [CategoryWithHomology C] :
    single C c j ⋙ homologyFunctor C c j ≅ 𝟭 _ 
Arguments: (C : Type u) [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] {ι : Type u_1} [DecidableEq ι] (c : ComplexShape ι) (j : ι) [CategoryTheory.CategoryWithHomology C] (X : C)
Goal: (HomologicalComplex.homologyFunctorSingleIso C c j).hom.app X = (HomologicalComplex.singleObjHomologySelfIso c j X).hom
-- ChainComplex.exactAt_succ_single_obj
lemma ChainComplex.exactAt_succ_single_obj (A : C) (n : ℕ) :
    ExactAt ((single₀ C).obj A) (n + 1) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] (A : C) (n : ℕ)
Goal: HomologicalComplex.ExactAt ((ChainComplex.single₀ C).obj A) (n + 1)
-- CochainComplex.exactAt_succ_single_obj
lemma CochainComplex.exactAt_succ_single_obj (A : C) (n : ℕ) :
    ExactAt ((single₀ C).obj A) (n + 1) 
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.Limits.HasZeroObject C] (A : C) (n : ℕ)
Goal: HomologicalComplex.ExactAt ((CochainComplex.single₀ C).obj A) (n + 1)
-- IsField.exists_pair_ne
structure IsField (R : Type u) [Semiring R] : Prop where
    exists_pair_ne : ∃ x y : R, x ≠ y
    mul_comm : ∀ x y : R, x * y = y * x
    mul_inv_cancel : ∀ {a : R}, a ≠ 0 → ∃ b, a * b = 1
Arguments: {R : Type u} [Semiring R] (self : IsField R)
Goal: ∃ x y, x ≠ y
-- IsField.mul_comm
structure IsField (R : Type u) [Semiring R] : Prop where
    exists_pair_ne : ∃ x y : R, x ≠ y
    mul_comm : ∀ x y : R, x * y = y * x
    mul_inv_cancel : ∀ {a : R}, a ≠ 0 → ∃ b, a * b = 1
Arguments: {R : Type u} [Semiring R] (self : IsField R) (x y : R)
Goal: x * y = y * x
-- IsField.mul_inv_cancel
structure IsField (R : Type u) [Semiring R] : Prop where
    exists_pair_ne : ∃ x y : R, x ≠ y
    mul_comm : ∀ x y : R, x * y = y * x
    mul_inv_cancel : ∀ {a : R}, a ≠ 0 → ∃ b, a * b = 1
Arguments: {R : Type u} [Semiring R] (self : IsField R) {a : R}
Goal: a ≠ 0 → ∃ b, a * b = 1
-- Semifield.toIsField
theorem Semifield.toIsField (R : Type u) [Semifield R] : IsField R 
Arguments: (R : Type u) [Semifield R]
Goal: IsField R
-- Field.toIsField
theorem Field.toIsField (R : Type u) [Field R] : IsField R 
Arguments: (R : Type u) [Field R]
Goal: IsField R
-- IsField.nontrivial
@[simp]
theorem IsField.nontrivial {R : Type u} [Semiring R] (h : IsField R) : Nontrivial R 
Arguments: {R : Type u} [Semiring R] (h : IsField R)
Goal: Nontrivial R
-- not_isField_of_subsingleton
@[simp]
theorem not_isField_of_subsingleton (R : Type u) [Semiring R] [Subsingleton R] : ¬IsField R 
Arguments: (R : Type u) [Semiring R] [Subsingleton R]
Goal: ¬IsField R
-- uniq_inv_of_isField
theorem uniq_inv_of_isField (R : Type u) [Ring R] (hf : IsField R) :
    ∀ x : R, x ≠ 0 → ∃! y : R, x * y = 1 
Arguments: (R : Type u) [Ring R] (hf : IsField R) (x : R)
Goal: x ≠ 0 → ∃! y, x * y = 1
-- hom_coe_pow
theorem hom_coe_pow {F : Type*} [Monoid F] (c : F → M → M) (h1 : c 1 = id)
    (hmul : ∀ f g, c (f * g) = c f ∘ c g) (f : F) : ∀ n, c (f ^ n) = (c f)^[n]
  
Arguments: {M : Type u_1} {F : Type u_5} [Monoid F] (c : F → M → M) (h1 : c 1 = id) (hmul : ∀ (f g : F), c (f * g) = c f ∘ c g) (f : F) (n : ℕ)
Goal: c (f ^ n) = (c f)^[n]
-- iterate_map_add
@[to_additive (attr := simp)]
theorem iterate_map_mul {M F : Type*} [Mul M] [FunLike F M M] [MulHomClass F M M]
    (f : F) (n : ℕ) (x y : M) :
    f^[n] (x * y) = f^[n] x * f^[n] y 
Arguments: {M : Type u_5} {F : Type u_6} [Add M] [FunLike F M M] [AddHomClass F M M] (f : F) (n : ℕ) (x y : M)
Goal: (⇑f)^[n] (x + y) = (⇑f)^[n] x + (⇑f)^[n] y
-- iterate_map_mul
@[to_additive (attr := simp)]
theorem iterate_map_mul {M F : Type*} [Mul M] [FunLike F M M] [MulHomClass F M M]
    (f : F) (n : ℕ) (x y : M) :
    f^[n] (x * y) = f^[n] x * f^[n] y 
Arguments: {M : Type u_5} {F : Type u_6} [Mul M] [FunLike F M M] [MulHomClass F M M] (f : F) (n : ℕ) (x y : M)
Goal: (⇑f)^[n] (x * y) = (⇑f)^[n] x * (⇑f)^[n] y
-- iterate_map_zero
@[to_additive (attr := simp)]
theorem iterate_map_one {M F : Type*} [One M] [FunLike F M M] [OneHomClass F M M]
    (f : F) (n : ℕ) :
    f^[n] 1 = 1 
Arguments: {M : Type u_5} {F : Type u_6} [Zero M] [FunLike F M M] [ZeroHomClass F M M] (f : F) (n : ℕ)
Goal: (⇑f)^[n] 0 = 0
-- iterate_map_one
@[to_additive (attr := simp)]
theorem iterate_map_one {M F : Type*} [One M] [FunLike F M M] [OneHomClass F M M]
    (f : F) (n : ℕ) :
    f^[n] 1 = 1 
Arguments: {M : Type u_5} {F : Type u_6} [One M] [FunLike F M M] [OneHomClass F M M] (f : F) (n : ℕ)
Goal: (⇑f)^[n] 1 = 1
-- iterate_map_neg
@[to_additive (attr := simp)]
theorem iterate_map_inv {M F : Type*} [Group M] [FunLike F M M] [MonoidHomClass F M M]
    (f : F) (n : ℕ) (x : M) :
    f^[n] x⁻¹ = (f^[n] x)⁻¹ 
Arguments: {M : Type u_5} {F : Type u_6} [AddGroup M] [FunLike F M M] [AddMonoidHomClass F M M] (f : F) (n : ℕ) (x : M)
Goal: (⇑f)^[n] (-x) = -(⇑f)^[n] x
-- iterate_map_inv
@[to_additive (attr := simp)]
theorem iterate_map_inv {M F : Type*} [Group M] [FunLike F M M] [MonoidHomClass F M M]
    (f : F) (n : ℕ) (x : M) :
    f^[n] x⁻¹ = (f^[n] x)⁻¹ 
Arguments: {M : Type u_5} {F : Type u_6} [Group M] [FunLike F M M] [MonoidHomClass F M M] (f : F) (n : ℕ) (x : M)
Goal: (⇑f)^[n] x⁻¹ = ((⇑f)^[n] x)⁻¹
-- iterate_map_sub
@[to_additive (attr := simp)]
theorem iterate_map_div {M F : Type*} [Group M] [FunLike F M M] [MonoidHomClass F M M]
    (f : F) (n : ℕ) (x y : M) :
    f^[n] (x / y) = f^[n] x / f^[n] y 
Arguments: {M : Type u_5} {F : Type u_6} [AddGroup M] [FunLike F M M] [AddMonoidHomClass F M M] (f : F) (n : ℕ) (x y : M)
Goal: (⇑f)^[n] (x - y) = (⇑f)^[n] x - (⇑f)^[n] y
-- iterate_map_div
@[to_additive (attr := simp)]
theorem iterate_map_div {M F : Type*} [Group M] [FunLike F M M] [MonoidHomClass F M M]
    (f : F) (n : ℕ) (x y : M) :
    f^[n] (x / y) = f^[n] x / f^[n] y 
Arguments: {M : Type u_5} {F : Type u_6} [Group M] [FunLike F M M] [MonoidHomClass F M M] (f : F) (n : ℕ) (x y : M)
Goal: (⇑f)^[n] (x / y) = (⇑f)^[n] x / (⇑f)^[n] y
-- iterate_map_pow
@[to_additive (attr := simp)]
theorem iterate_map_pow {M F : Type*} [Monoid M] [FunLike F M M] [MonoidHomClass F M M]
    (f : F) (n : ℕ) (x : M) (k : ℕ) :
    f^[n] (x ^ k) = f^[n] x ^ k 
Arguments: {M : Type u_5} {F : Type u_6} [Monoid M] [FunLike F M M] [MonoidHomClass F M M] (f : F) (n : ℕ) (x : M) (k : ℕ)
Goal: (⇑f)^[n] (x ^ k) = (⇑f)^[n] x ^ k
-- iterate_map_nsmul
@[to_additive (attr := simp)]
theorem iterate_map_pow {M F : Type*} [Monoid M] [FunLike F M M] [MonoidHomClass F M M]
    (f : F) (n : ℕ) (x : M) (k : ℕ) :
    f^[n] (x ^ k) = f^[n] x ^ k 
Arguments: {M : Type u_5} {F : Type u_6} [AddMonoid M] [FunLike F M M] [AddMonoidHomClass F M M] (f : F) (n : ℕ) (x : M) (k : ℕ)
Goal: (⇑f)^[n] (k • x) = k • (⇑f)^[n] x
-- iterate_map_zpow
@[to_additive (attr := simp)]
theorem iterate_map_zpow {M F : Type*} [Group M] [FunLike F M M] [MonoidHomClass F M M]
    (f : F) (n : ℕ) (x : M) (k : ℤ) :
    f^[n] (x ^ k) = f^[n] x ^ k 
Arguments: {M : Type u_5} {F : Type u_6} [Group M] [FunLike F M M] [MonoidHomClass F M M] (f : F) (n : ℕ) (x : M) (k : ℤ)
Goal: (⇑f)^[n] (x ^ k) = (⇑f)^[n] x ^ k
-- iterate_map_zsmul
@[to_additive (attr := simp)]
theorem iterate_map_zpow {M F : Type*} [Group M] [FunLike F M M] [MonoidHomClass F M M]
    (f : F) (n : ℕ) (x : M) (k : ℤ) :
    f^[n] (x ^ k) = f^[n] x ^ k 
Arguments: {M : Type u_5} {F : Type u_6} [AddGroup M] [FunLike F M M] [AddMonoidHomClass F M M] (f : F) (n : ℕ) (x : M) (k : ℤ)
Goal: (⇑f)^[n] (k • x) = k • (⇑f)^[n] x
-- vadd_iterate
@[to_additive (attr := simp)]
theorem smul_iterate [MulAction G H] : (a • · : H → H)^[n] = (a ^ n • ·) 
Arguments: {G : Type u_3} {H : Type u_4} [AddMonoid G] (a : G) (n : ℕ) [AddAction G H]
Goal: (fun x => a +ᵥ x)^[n] = fun x => n • a +ᵥ x
-- smul_iterate
@[to_additive (attr := simp)]
theorem smul_iterate [MulAction G H] : (a • · : H → H)^[n] = (a ^ n • ·) 
Arguments: {G : Type u_3} {H : Type u_4} [Monoid G] (a : G) (n : ℕ) [MulAction G H]
Goal: (fun x => a • x)^[n] = fun x => a ^ n • x
-- smul_iterate_apply
@[to_additive]
lemma smul_iterate_apply [MulAction G H] {b : H} : (a • ·)^[n] b = a ^ n • b 
Arguments: {G : Type u_3} {H : Type u_4} [Monoid G] (a : G) (n : ℕ) [MulAction G H] {b : H}
Goal: (fun x => a • x)^[n] b = a ^ n • b
-- vadd_iterate_apply
@[to_additive]
lemma smul_iterate_apply [MulAction G H] {b : H} : (a • ·)^[n] b = a ^ n • b 
Arguments: {G : Type u_3} {H : Type u_4} [AddMonoid G] (a : G) (n : ℕ) [AddAction G H] {b : H}
Goal: (fun x => a +ᵥ x)^[n] b = n • a +ᵥ b
-- mul_left_iterate
@[to_additive (attr := simp)]
theorem mul_left_iterate : (a * ·)^[n] = (a ^ n * ·) 
Arguments: {G : Type u_3} [Monoid G] (a : G) (n : ℕ)
Goal: (fun x => a * x)^[n] = fun x => a ^ n * x
-- add_left_iterate
@[to_additive (attr := simp)]
theorem mul_left_iterate : (a * ·)^[n] = (a ^ n * ·) 
Arguments: {G : Type u_3} [AddMonoid G] (a : G) (n : ℕ)
Goal: (fun x => a + x)^[n] = fun x => n • a + x
-- mul_right_iterate
@[to_additive (attr := simp)]
theorem mul_right_iterate : (· * a)^[n] = (· * a ^ n) 
Arguments: {G : Type u_3} [Monoid G] (a : G) (n : ℕ)
Goal: (fun x => x * a)^[n] = fun x => x * a ^ n
-- add_right_iterate
@[to_additive (attr := simp)]
theorem mul_right_iterate : (· * a)^[n] = (· * a ^ n) 
Arguments: {G : Type u_3} [AddMonoid G] (a : G) (n : ℕ)
Goal: (fun x => x + a)^[n] = fun x => x + n • a
-- mul_right_iterate_apply_one
@[to_additive]
theorem mul_right_iterate_apply_one : (· * a)^[n] 1 = a ^ n 
Arguments: {G : Type u_3} [Monoid G] (a : G) (n : ℕ)
Goal: (fun x => x * a)^[n] 1 = a ^ n
-- add_right_iterate_apply_zero
@[to_additive]
theorem mul_right_iterate_apply_one : (· * a)^[n] 1 = a ^ n 
Arguments: {G : Type u_3} [AddMonoid G] (a : G) (n : ℕ)
Goal: (fun x => x + a)^[n] 0 = n • a
-- pow_iterate
@[to_additive (attr := simp)]
theorem pow_iterate (n : ℕ) (j : ℕ) : (fun x : G => x ^ n)^[j] = fun x : G => x ^ n ^ j 
Arguments: {G : Type u_3} [Monoid G] (n j : ℕ)
Goal: (fun x => x ^ n)^[j] = fun x => x ^ n ^ j
-- nsmul_iterate
@[to_additive (attr := simp)]
theorem pow_iterate (n : ℕ) (j : ℕ) : (fun x : G => x ^ n)^[j] = fun x : G => x ^ n ^ j 
Arguments: {G : Type u_3} [AddMonoid G] (n j : ℕ)
Goal: (fun x => n • x)^[j] = fun x => n ^ j • x
-- zsmul_iterate
@[to_additive (attr := simp)]
theorem zpow_iterate (n : ℤ) (j : ℕ) : (fun x : G => x ^ n)^[j] = fun x => x ^ n ^ j 
Arguments: {G : Type u_3} [AddGroup G] (n : ℤ) (j : ℕ)
Goal: (fun x => n • x)^[j] = fun x => n ^ j • x
-- zpow_iterate
@[to_additive (attr := simp)]
theorem zpow_iterate (n : ℤ) (j : ℕ) : (fun x : G => x ^ n)^[j] = fun x => x ^ n ^ j 
Arguments: {G : Type u_3} [Group G] (n : ℤ) (j : ℕ)
Goal: (fun x => x ^ n)^[j] = fun x => x ^ n ^ j
-- AddSemiconjBy.function_semiconj_add_left
@[to_additive]
theorem SemiconjBy.function_semiconj_mul_left (h : SemiconjBy a b c) :
    Function.Semiconj (a * ·) (b * ·) (c * ·) 
Arguments: {G : Type u_3} [AddSemigroup G] {a b c : G} (h : AddSemiconjBy a b c)
Goal: Function.Semiconj (fun x => a + x) (fun x => b + x) fun x => c + x
-- SemiconjBy.function_semiconj_mul_left
@[to_additive]
theorem SemiconjBy.function_semiconj_mul_left (h : SemiconjBy a b c) :
    Function.Semiconj (a * ·) (b * ·) (c * ·) 
Arguments: {G : Type u_3} [Semigroup G] {a b c : G} (h : SemiconjBy a b c)
Goal: Function.Semiconj (fun x => a * x) (fun x => b * x) fun x => c * x
-- Commute.function_commute_mul_left
@[to_additive]
theorem Commute.function_commute_mul_left (h : Commute a b) :
    Function.Commute (a * ·) (b * ·) 
Arguments: {G : Type u_3} [Semigroup G] {a b : G} (h : Commute a b)
Goal: Function.Commute (fun x => a * x) fun x => b * x
-- AddCommute.function_commute_add_left
@[to_additive]
theorem Commute.function_commute_mul_left (h : Commute a b) :
    Function.Commute (a * ·) (b * ·) 
Arguments: {G : Type u_3} [AddSemigroup G] {a b : G} (h : AddCommute a b)
Goal: Function.Commute (fun x => a + x) fun x => b + x
-- SemiconjBy.function_semiconj_mul_right_swap
@[to_additive]
theorem SemiconjBy.function_semiconj_mul_right_swap (h : SemiconjBy a b c) :
    Function.Semiconj (· * a) (· * c) (· * b) 
Arguments: {G : Type u_3} [Semigroup G] {a b c : G} (h : SemiconjBy a b c)
Goal: Function.Semiconj (fun x => x * a) (fun x => x * c) fun x => x * b
-- AddSemiconjBy.function_semiconj_add_right_swap
@[to_additive]
theorem SemiconjBy.function_semiconj_mul_right_swap (h : SemiconjBy a b c) :
    Function.Semiconj (· * a) (· * c) (· * b) 
Arguments: {G : Type u_3} [AddSemigroup G] {a b c : G} (h : AddSemiconjBy a b c)
Goal: Function.Semiconj (fun x => x + a) (fun x => x + c) fun x => x + b
-- AddCommute.function_commute_add_right
@[to_additive]
theorem Commute.function_commute_mul_right (h : Commute a b) :
    Function.Commute (· * a) (· * b) 
Arguments: {G : Type u_3} [AddSemigroup G] {a b : G} (h : AddCommute a b)
Goal: Function.Commute (fun x => x + a) fun x => x + b
-- Commute.function_commute_mul_right
@[to_additive]
theorem Commute.function_commute_mul_right (h : Commute a b) :
    Function.Commute (· * a) (· * b) 
Arguments: {G : Type u_3} [Semigroup G] {a b : G} (h : Commute a b)
Goal: Function.Commute (fun x => x * a) fun x => x * b
-- HomologicalComplex.homologyFunctor_inverts_quasiIso
lemma HomologicalComplex.homologyFunctor_inverts_quasiIso (i : ι) :
    (quasiIso C c).IsInvertedBy (homologyFunctor C c i) 
Arguments: (C : Type u_1) [CategoryTheory.Category.{u_3, u_1} C] {ι : Type u_2} (c : ComplexShape ι) [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.CategoryWithHomology C] (i : ι)
Goal: (HomologicalComplex.quasiIso C c).IsInvertedBy (HomologicalComplex.homologyFunctor C c i)
-- HomologicalComplexUpToQuasiIso.isIso_Q_map_iff_mem_quasiIso
lemma isIso_Q_map_iff_mem_quasiIso {K L : HomologicalComplex C c} (f : K ⟶ L) :
    IsIso (Q.map f) ↔ HomologicalComplex.quasiIso C c f 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] {ι : Type u_2} {c : ComplexShape ι} [CategoryTheory.Limits.HasZeroMorphisms C] [CategoryTheory.CategoryWithHomology C] [(HomologicalComplex.quasiIso C c).HasLocalization] {K L : HomologicalComplex C c} (f : K ⟶ L)
Goal: CategoryTheory.IsIso (HomologicalComplexUpToQuasiIso.Q.map f) ↔ HomologicalComplex.quasiIso C c f
-- HomologicalComplexUpToQuasiIso.Q_inverts_homotopyEquivalences
lemma HomologicalComplexUpToQuasiIso.Q_inverts_homotopyEquivalences :
    (HomologicalComplex.homotopyEquivalences C c).IsInvertedBy
      HomologicalComplexUpToQuasiIso.Q 
Arguments: (C : Type u_1) [CategoryTheory.Category.{u_3, u_1} C] {ι : Type u_2} (c : ComplexShape ι) [CategoryTheory.Preadditive C] [CategoryTheory.CategoryWithHomology C] [(HomologicalComplex.quasiIso C c).HasLocalization]
Goal: (HomologicalComplex.homotopyEquivalences C c).IsInvertedBy HomologicalComplexUpToQuasiIso.Q
-- HomotopyCategory.mem_quasiIso_iff
lemma mem_quasiIso_iff {X Y : HomotopyCategory C c} (f : X ⟶ Y) :
    quasiIso C c f ↔ ∀ (n : ι), IsIso ((homologyFunctor _ _ n).map f) 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] {ι : Type u_2} {c : ComplexShape ι} [CategoryTheory.Preadditive C] [CategoryTheory.CategoryWithHomology C] {X Y : HomotopyCategory C c} (f : X ⟶ Y)
Goal: HomotopyCategory.quasiIso C c f ↔ ∀ (n : ι), CategoryTheory.IsIso ((HomotopyCategory.homologyFunctor C c n).map f)
-- HomotopyCategory.quotient_map_mem_quasiIso_iff
lemma quotient_map_mem_quasiIso_iff {K L : HomologicalComplex C c} (f : K ⟶ L) :
    quasiIso C c ((quotient C c).map f) ↔ HomologicalComplex.quasiIso C c f 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] {ι : Type u_2} {c : ComplexShape ι} [CategoryTheory.Preadditive C] [CategoryTheory.CategoryWithHomology C] {K L : HomologicalComplex C c} (f : K ⟶ L)
Goal: HomotopyCategory.quasiIso C c ((HomotopyCategory.quotient C c).map f) ↔ HomologicalComplex.quasiIso C c f
-- HomotopyCategory.homologyFunctor_inverts_quasiIso
lemma homologyFunctor_inverts_quasiIso (i : ι) :
    (quasiIso C c).IsInvertedBy (homologyFunctor C c i) 
Arguments: (C : Type u_1) [CategoryTheory.Category.{u_3, u_1} C] {ι : Type u_2} (c : ComplexShape ι) [CategoryTheory.Preadditive C] [CategoryTheory.CategoryWithHomology C] (i : ι)
Goal: (HomotopyCategory.quasiIso C c).IsInvertedBy (HomotopyCategory.homologyFunctor C c i)
-- HomotopyCategory.quasiIso_eq_quasiIso_map_quotient
lemma quasiIso_eq_quasiIso_map_quotient :
    quasiIso C c = (HomologicalComplex.quasiIso C c).map (quotient C c) 
Arguments: (C : Type u_1) [CategoryTheory.Category.{u_3, u_1} C] {ι : Type u_2} (c : ComplexShape ι) [CategoryTheory.Preadditive C] [CategoryTheory.CategoryWithHomology C]
Goal: HomotopyCategory.quasiIso C c = (HomologicalComplex.quasiIso C c).map (HomotopyCategory.quotient C c)
-- ComplexShape.QFactorsThroughHomotopy.areEqualizedByLocalization
class ComplexShape.QFactorsThroughHomotopy {ι : Type*} (c : ComplexShape ι)
    (C : Type*) [Category C] [Preadditive C]
    [CategoryWithHomology C] : Prop where
  areEqualizedByLocalization {K L : HomologicalComplex C c} {f g : K ⟶ L} (h : Homotopy f g) :
    AreEqualizedByLocalization (HomologicalComplex.quasiIso C c) f g
Arguments: {ι : Type u_3} {c : ComplexShape ι} {C : Type u_4} [CategoryTheory.Category.{u_5, u_4} C] [CategoryTheory.Preadditive C] [CategoryTheory.CategoryWithHomology C] [self : c.QFactorsThroughHomotopy C] {K L : HomologicalComplex C c} {f g : K ⟶ L} (h : Homotopy f g)
Goal: CategoryTheory.AreEqualizedByLocalization (HomologicalComplex.quasiIso C c) f g
-- HomologicalComplexUpToQuasiIso.Q_map_eq_of_homotopy
lemma Q_map_eq_of_homotopy {K L : HomologicalComplex C c} {f g : K ⟶ L} (h : Homotopy f g) :
    Q.map f = Q.map g 
Arguments: {C : Type u_1} [CategoryTheory.Category.{u_3, u_1} C] {ι : Type u_2} {c : ComplexShape ι} [CategoryTheory.Preadditive C] [CategoryTheory.CategoryWithHomology C] [(HomologicalComplex.quasiIso C c).HasLocalization] [c.QFactorsThroughHomotopy C] {K L : HomologicalComplex C c} {f g : K ⟶ L} (h : Homotopy f g)
Goal: HomologicalComplexUpToQuasiIso.Q.map f = HomologicalComplexUpToQuasiIso.Q.map g
-- HomologicalComplexUpToQuasiIso.Qh_inverts_quasiIso
lemma Qh_inverts_quasiIso : (HomotopyCategory.quasiIso C c).IsInvertedBy Qh 
Arguments: (C : Type u_1) [CategoryTheory.Category.{u_3, u_1} C] {ι : Type u_2} (c : ComplexShape ι) [CategoryTheory.Preadditive C] [CategoryTheory.CategoryWithHomology C] [(HomologicalComplex.quasiIso C c).HasLocalization] [c.QFactorsThroughHomotopy C]
Goal: (HomotopyCategory.quasiIso C c).IsInvertedBy HomologicalComplexUpToQuasiIso.Qh
-- ComplexShape.quotient_isLocalization
lemma ComplexShape.quotient_isLocalization :
    (HomotopyCategory.quotient C c).IsLocalization
      (HomologicalComplex.homotopyEquivalences _ _) 
Arguments: {ι : Type u_1} (c : ComplexShape ι) (hc : ∀ (j : ι), ∃ i, c.Rel i j) (C : Type u_2) [CategoryTheory.Category.{u_3, u_2} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasBinaryBiproducts C]
Goal: (HomotopyCategory.quotient C c).IsLocalization (HomologicalComplex.homotopyEquivalences C c)
-- ComplexShape.QFactorsThroughHomotopy_of_exists_prev
lemma ComplexShape.QFactorsThroughHomotopy_of_exists_prev [CategoryWithHomology C] :
    c.QFactorsThroughHomotopy C 
Arguments: {ι : Type u_1} (c : ComplexShape ι) (hc : ∀ (j : ι), ∃ i, c.Rel i j) (C : Type u_2) [CategoryTheory.Category.{u_3, u_2} C] [CategoryTheory.Preadditive C] [CategoryTheory.Limits.HasBinaryBiproducts C] [CategoryTheory.CategoryWithHomology C]
Goal: c.QFactorsThroughHomotopy C
-- CategoryTheory.Functor.mapHomologicalComplexUpToQuasiIsoLocalizerMorphism_functor
@[simps]
def mapHomologicalComplexUpToQuasiIsoLocalizerMorphism :
    LocalizerMorphism (HomologicalComplex.quasiIso C c) (HomologicalComplex.quasiIso D c) 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_4, u_1} C] [CategoryTheory.Category.{u_5, u_2} D] (F : C ⥤ D) {ι : Type u_3} (c : ComplexShape ι) [CategoryTheory.Preadditive C] [CategoryTheory.Preadditive D] [CategoryTheory.CategoryWithHomology C] [CategoryTheory.CategoryWithHomology D] [F.Additive] [F.PreservesHomology]
Goal: (F.mapHomologicalComplexUpToQuasiIsoLocalizerMorphism c).functor = F.mapHomologicalComplex c
-- CategoryTheory.Functor.mapHomologicalComplex_upToQuasiIso_Q_inverts_quasiIso
lemma mapHomologicalComplex_upToQuasiIso_Q_inverts_quasiIso :
    (HomologicalComplex.quasiIso C c).IsInvertedBy
      (F.mapHomologicalComplex c ⋙ HomologicalComplexUpToQuasiIso.Q) 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_4, u_1} C] [CategoryTheory.Category.{u_6, u_2} D] (F : C ⥤ D) {ι : Type u_3} (c : ComplexShape ι) [CategoryTheory.Preadditive C] [CategoryTheory.Preadditive D] [CategoryTheory.CategoryWithHomology C] [CategoryTheory.CategoryWithHomology D] [(HomologicalComplex.quasiIso D c).HasLocalization] [F.Additive] [F.PreservesHomology]
Goal: (HomologicalComplex.quasiIso C c).IsInvertedBy (F.mapHomologicalComplex c ⋙ HomologicalComplexUpToQuasiIso.Q)
-- CategoryTheory.Functor.mapHomologicalComplexUpToQuasiIsoFactorsh_hom_app
@[reassoc]
lemma mapHomologicalComplexUpToQuasiIsoFactorsh_hom_app (K : HomologicalComplex C c) :
    (F.mapHomologicalComplexUpToQuasiIsoFactorsh c).hom.app
        ((HomotopyCategory.quotient _ _).obj K) =
      (F.mapHomologicalComplexUpToQuasiIso c).map
          ((HomologicalComplexUpToQuasiIso.quotientCompQhIso C c).hom.app K) ≫
        (F.mapHomologicalComplexUpToQuasiIsoFactors c).hom.app K ≫
          (HomologicalComplexUpToQuasiIso.quotientCompQhIso D c).inv.app _ ≫
            HomologicalComplexUpToQuasiIso.Qh.map
              ((F.mapHomotopyCategoryFactors c).inv.app K) 
Arguments: {C : Type u_1} {D : Type u_2} [CategoryTheory.Category.{u_4, u_1} C] [CategoryTheory.Category.{u_6, u_2} D] (F : C ⥤ D) {ι : Type u_3} {c : ComplexShape ι} [CategoryTheory.Preadditive C] [CategoryTheory.Preadditive D] [CategoryTheory.CategoryWithHomology C] [CategoryTheory.CategoryWithHomology D] [(HomologicalComplex.quasiIso C c).HasLocalization] [(HomologicalComplex.quasiIso D c).HasLocalization] [F.Additive] [F.PreservesHomology] [c.QFactorsThroughHomotopy C] [c.QFactorsThroughHomotopy D] [(HomotopyCategory.quotient C c).IsLocalization (HomologicalComplex.homotopyEquivalences C c)] (K : HomologicalComplex C c)
Goal: (F.mapHomologicalComplexUpToQuasiIsoFactorsh c).hom.app ((HomotopyCategory.quotient C c).obj K) =
  (F.mapHomologicalComplexUpToQuasiIso c).map ((HomologicalComplexUpToQuasiIso.quotientCompQhIso C c).hom.app K) ≫
    (F.mapHomologicalComplexUpToQuasiIsoFactors c).hom.app K ≫
      (HomologicalComplexUpToQuasiIso.quotientCompQhIso D c).inv.app ((F.mapHomologicalComplex c).obj K) ≫
        HomologicalComplexUpToQuasiIso.Qh.map ((F.mapHomotopyCategoryFactors c).inv.app K)
-- List.trop_sum
theorem List.trop_sum [AddMonoid R] (l : List R) : trop l.sum = List.prod (l.map trop) 
Arguments: {R : Type u_1} [AddMonoid R] (l : List R)
Goal: Tropical.trop l.sum = (List.map Tropical.trop l).prod