ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- DirectSum.algebraMap_toAddMonoid_hom
theorem algebraMap_toAddMonoid_hom :
    ↑(algebraMap R (⨁ i, A i)) = (DirectSum.of A 0).comp (GAlgebra.toFun : R →+ A 0) 
Arguments: {ι : Type uι} (R : Type uR) (A : ι → Type uA) [DecidableEq ι] [CommSemiring R] [(i : ι) → AddCommMonoid (A i)] [(i : ι) → Module R (A i)] [AddMonoid ι] [DirectSum.GSemiring A] [DirectSum.GAlgebra R A]
Goal: ↑(algebraMap R (DirectSum ι fun i => A i)) = (DirectSum.of A 0).comp DirectSum.GAlgebra.toFun
-- DirectSum.toAlgebra_apply
@[simps]
def toAlgebra (f : ∀ i, A i →ₗ[R] B) (hone : f _ GradedMonoid.GOne.one = 1)
    (hmul : ∀ {i j} (ai : A i) (aj : A j), f _ (GradedMonoid.GMul.mul ai aj) = f _ ai * f _ aj) :
    (⨁ i, A i) →ₐ[R] B 
Arguments: {ι : Type uι} (R : Type uR) (A : ι → Type uA) {B : Type uB} [DecidableEq ι] [CommSemiring R] [(i : ι) → AddCommMonoid (A i)] [(i : ι) → Module R (A i)] [AddMonoid ι] [DirectSum.GSemiring A] [Semiring B] [DirectSum.GAlgebra R A] [Algebra R B] (f : (i : ι) → A i →ₗ[R] B) (hone : (f 0) GradedMonoid.GOne.one = 1) (hmul : ∀ {i j : ι} (ai : A i) (aj : A j), (f (i + j)) (GradedMonoid.GMul.mul ai aj) = (f i) ai * (f j) aj) (a : DirectSum ι fun i => A i)
Goal: (DirectSum.toAlgebra R A f hone hmul) a = (DirectSum.toSemiring (fun i => (f i).toAddMonoidHom) hone hmul) a
-- DirectSum.algHom_ext'
@[ext]
theorem algHom_ext' ⦃f g : (⨁ i, A i) →ₐ[R] B⦄
    (h : ∀ i, f.toLinearMap.comp (lof _ _ A i) = g.toLinearMap.comp (lof _ _ A i)) : f = g 
Arguments: {ι : Type uι} (R : Type uR) (A : ι → Type uA) {B : Type uB} [DecidableEq ι] [CommSemiring R] [(i : ι) → AddCommMonoid (A i)] [(i : ι) → Module R (A i)] [AddMonoid ι] [DirectSum.GSemiring A] [Semiring B] [DirectSum.GAlgebra R A] [Algebra R B] ⦃f g : (DirectSum ι fun i => A i) →ₐ[R] B⦄ (h : ∀ (i : ι), f.toLinearMap ∘ₗ DirectSum.lof R ι A i = g.toLinearMap ∘ₗ DirectSum.lof R ι A i)
Goal: f = g
-- DirectSum.algHom_ext
theorem algHom_ext ⦃f g : (⨁ i, A i) →ₐ[R] B⦄ (h : ∀ i x, f (of A i x) = g (of A i x)) : f = g 
Arguments: {ι : Type uι} (R : Type uR) (A : ι → Type uA) {B : Type uB} [DecidableEq ι] [CommSemiring R] [(i : ι) → AddCommMonoid (A i)] [(i : ι) → Module R (A i)] [AddMonoid ι] [DirectSum.GSemiring A] [Semiring B] [DirectSum.GAlgebra R A] [Algebra R B] ⦃f g : (DirectSum ι fun i => A i) →ₐ[R] B⦄ (h : ∀ (i : ι) (x : A i), f ((DirectSum.of A i) x) = g ((DirectSum.of A i) x))
Goal: f = g
-- DirectSum.gMulLHom_apply_apply
@[simps]
def gMulLHom {i j} : A i →ₗ[R] A j →ₗ[R] A (i + j) 
Arguments: {ι : Type uι} (R : Type uR) (A : ι → Type uA) [DecidableEq ι] [CommSemiring R] [(i : ι) → AddCommMonoid (A i)] [(i : ι) → Module R (A i)] [AddMonoid ι] [DirectSum.GSemiring A] [DirectSum.GAlgebra R A] {i j : ι} (a : A i) (b : A j)
Goal: ((DirectSum.gMulLHom R A) a) b = GradedMonoid.GMul.mul a b
-- Algebra.directSumGAlgebra_toFun_apply
@[simps]
instance Algebra.directSumGAlgebra {R A : Type*} [DecidableEq ι] [AddMonoid ι] [CommSemiring R]
    [Semiring A] [Algebra R A] : DirectSum.GAlgebra R fun _ : ι => A 
Arguments: {ι : Type uι} {R : Type u_1} {A : Type u_2} [DecidableEq ι] [AddMonoid ι] [CommSemiring R] [Semiring A] [Algebra R A]
Goal: ∀ (a : R), DirectSum.GAlgebra.toFun a = (↑↑(algebraMap R A)).toFun a
-- DirectSum.sub_apply
@[simp]
theorem sub_apply (g₁ g₂ : ⨁ i, β i) (i : ι) : (g₁ - g₂) i = g₁ i - g₂ i 
Arguments: {ι : Type v} {β : ι → Type w} [(i : ι) → AddCommGroup (β i)] (g₁ g₂ : DirectSum ι fun i => β i) (i : ι)
Goal: (g₁ - g₂) i = g₁ i - g₂ i
-- DirectSum.zero_apply
@[simp]
theorem zero_apply (i : ι) : (0 : ⨁ i, β i) i = 0 
Arguments: {ι : Type v} (β : ι → Type w) [(i : ι) → AddCommMonoid (β i)] (i : ι)
Goal: 0 i = 0
-- DirectSum.add_apply
@[simp]
theorem add_apply (g₁ g₂ : ⨁ i, β i) (i : ι) : (g₁ + g₂) i = g₁ i + g₂ i 
Arguments: {ι : Type v} {β : ι → Type w} [(i : ι) → AddCommMonoid (β i)] (g₁ g₂ : DirectSum ι fun i => β i) (i : ι)
Goal: (g₁ + g₂) i = g₁ i + g₂ i
-- DirectSum.of_eq_same
@[simp]
theorem of_eq_same (i : ι) (x : β i) : (of _ i x) i = x 
Arguments: {ι : Type v} {β : ι → Type w} [(i : ι) → AddCommMonoid (β i)] [DecidableEq ι] (i : ι) (x : β i)
Goal: ((DirectSum.of β i) x) i = x
-- DirectSum.of_eq_of_ne
theorem of_eq_of_ne (i j : ι) (x : β i) (h : i ≠ j) : (of _ i x) j = 0 
Arguments: {ι : Type v} {β : ι → Type w} [(i : ι) → AddCommMonoid (β i)] [DecidableEq ι] (i j : ι) (x : β i) (h : i ≠ j)
Goal: ((DirectSum.of β i) x) j = 0
-- DirectSum.of_apply
lemma of_apply {i : ι} (j : ι) (x : β i) : of β i x j = if h : i = j then Eq.recOn h x else 0 
Arguments: {ι : Type v} {β : ι → Type w} [(i : ι) → AddCommMonoid (β i)] [DecidableEq ι] {i : ι} (j : ι) (x : β i)
Goal: ((DirectSum.of β i) x) j = if h : i = j then Eq.recOn h x else 0
-- DirectSum.mk_apply_of_mem
theorem mk_apply_of_mem {s : Finset ι} {f : ∀ i : (↑s : Set ι), β i.val} {n : ι} (hn : n ∈ s) :
    mk β s f n = f ⟨n, hn⟩ 
Arguments: {ι : Type v} {β : ι → Type w} [(i : ι) → AddCommMonoid (β i)] [DecidableEq ι] {s : Finset ι} {f : (i : ↑↑s) → β ↑i} {n : ι} (hn : n ∈ s)
Goal: ((DirectSum.mk β s) f) n = f ⟨n, hn⟩
-- DirectSum.mk_apply_of_not_mem
theorem mk_apply_of_not_mem {s : Finset ι} {f : ∀ i : (↑s : Set ι), β i.val} {n : ι} (hn : n ∉ s) :
    mk β s f n = 0 
Arguments: {ι : Type v} {β : ι → Type w} [(i : ι) → AddCommMonoid (β i)] [DecidableEq ι] {s : Finset ι} {f : (i : ↑↑s) → β ↑i} {n : ι} (hn : n ∉ s)
Goal: ((DirectSum.mk β s) f) n = 0
-- DirectSum.support_zero
@[simp]
theorem support_zero [∀ (i : ι) (x : β i), Decidable (x ≠ 0)] : (0 : ⨁ i, β i).support = ∅ 
Arguments: {ι : Type v} {β : ι → Type w} [(i : ι) → AddCommMonoid (β i)] [DecidableEq ι] [(i : ι) → (x : β i) → Decidable (x ≠ 0)]
Goal: DFinsupp.support 0 = ∅
-- DirectSum.support_of
@[simp]
theorem support_of [∀ (i : ι) (x : β i), Decidable (x ≠ 0)] (i : ι) (x : β i) (h : x ≠ 0) :
    (of _ i x).support = {i} 
Arguments: {ι : Type v} {β : ι → Type w} [(i : ι) → AddCommMonoid (β i)] [DecidableEq ι] [(i : ι) → (x : β i) → Decidable (x ≠ 0)] (i : ι) (x : β i) (h : x ≠ 0)
Goal: DFinsupp.support ((DirectSum.of β i) x) = {i}
-- DirectSum.support_of_subset
theorem support_of_subset [∀ (i : ι) (x : β i), Decidable (x ≠ 0)] {i : ι} {b : β i} :
    (of _ i b).support ⊆ {i} 
Arguments: {ι : Type v} {β : ι → Type w} [(i : ι) → AddCommMonoid (β i)] [DecidableEq ι] [(i : ι) → (x : β i) → Decidable (x ≠ 0)] {i : ι} {b : β i}
Goal: DFinsupp.support ((DirectSum.of β i) b) ⊆ {i}
-- DirectSum.sum_support_of
theorem sum_support_of [∀ (i : ι) (x : β i), Decidable (x ≠ 0)] (x : ⨁ i, β i) :
    (∑ i ∈ x.support, of β i (x i)) = x 
Arguments: {ι : Type v} {β : ι → Type w} [(i : ι) → AddCommMonoid (β i)] [DecidableEq ι] [(i : ι) → (x : β i) → Decidable (x ≠ 0)] (x : DirectSum ι fun i => β i)
Goal: ∑ i ∈ DFinsupp.support x, (DirectSum.of β i) (x i) = x
-- DirectSum.sum_univ_of
theorem sum_univ_of [Fintype ι] (x : ⨁ i, β i) :
    ∑ i ∈ Finset.univ, of β i (x i) = x 
Arguments: {ι : Type v} {β : ι → Type w} [(i : ι) → AddCommMonoid (β i)] [DecidableEq ι] [Fintype ι] (x : DirectSum ι fun i => β i)
Goal: ∑ i : ι, (DirectSum.of β i) (x i) = x
-- DirectSum.mk_injective
theorem mk_injective (s : Finset ι) : Function.Injective (mk β s) 
Arguments: {ι : Type v} {β : ι → Type w} [(i : ι) → AddCommMonoid (β i)] [DecidableEq ι] (s : Finset ι)
Goal: Function.Injective ⇑(DirectSum.mk β s)
-- DirectSum.of_injective
theorem of_injective (i : ι) : Function.Injective (of β i) 
Arguments: {ι : Type v} {β : ι → Type w} [(i : ι) → AddCommMonoid (β i)] [DecidableEq ι] (i : ι)
Goal: Function.Injective ⇑(DirectSum.of β i)
-- DirectSum.induction_on
@[elab_as_elim]
protected theorem induction_on {C : (⨁ i, β i) → Prop} (x : ⨁ i, β i) (H_zero : C 0)
    (H_basic : ∀ (i : ι) (x : β i), C (of β i x))
    (H_plus : ∀ x y, C x → C y → C (x + y)) : C x 
Arguments: {ι : Type v} {β : ι → Type w} [(i : ι) → AddCommMonoid (β i)] [DecidableEq ι] {C : (DirectSum ι fun i => β i) → Prop} (x : DirectSum ι fun i => β i) (H_zero : C 0) (H_basic : ∀ (i : ι) (x : β i), C ((DirectSum.of β i) x)) (H_plus : ∀ (x y : DirectSum ι fun i => β i), C x → C y → C (x + y))
Goal: C x
-- DirectSum.addHom_ext
theorem addHom_ext {γ : Type*} [AddMonoid γ] ⦃f g : (⨁ i, β i) →+ γ⦄
    (H : ∀ (i : ι) (y : β i), f (of _ i y) = g (of _ i y)) : f = g 
Arguments: {ι : Type v} {β : ι → Type w} [(i : ι) → AddCommMonoid (β i)] [DecidableEq ι] {γ : Type u_1} [AddMonoid γ] ⦃f g : (DirectSum ι fun i => β i) →+ γ⦄ (H : ∀ (i : ι) (y : β i), f ((DirectSum.of β i) y) = g ((DirectSum.of β i) y))
Goal: f = g
-- DirectSum.addHom_ext'
@[ext high]
theorem addHom_ext' {γ : Type*} [AddMonoid γ] ⦃f g : (⨁ i, β i) →+ γ⦄
    (H : ∀ i : ι, f.comp (of _ i) = g.comp (of _ i)) : f = g 
Arguments: {ι : Type v} {β : ι → Type w} [(i : ι) → AddCommMonoid (β i)] [DecidableEq ι] {γ : Type u_1} [AddMonoid γ] ⦃f g : (DirectSum ι fun i => β i) →+ γ⦄ (H : ∀ (i : ι), f.comp (DirectSum.of β i) = g.comp (DirectSum.of β i))
Goal: f = g
-- DirectSum.toAddMonoid_of
@[simp]
theorem toAddMonoid_of (i) (x : β i) : toAddMonoid φ (of β i x) = φ i x 
Arguments: {ι : Type v} {β : ι → Type w} [(i : ι) → AddCommMonoid (β i)] [DecidableEq ι] {γ : Type u₁} [AddCommMonoid γ] (φ : (i : ι) → β i →+ γ) (i : ι) (x : β i)
Goal: (DirectSum.toAddMonoid φ) ((DirectSum.of β i) x) = (φ i) x
-- DirectSum.toAddMonoid.unique
theorem toAddMonoid.unique (f : ⨁ i, β i) : ψ f = toAddMonoid (fun i => ψ.comp (of β i)) f 
Arguments: {ι : Type v} {β : ι → Type w} [(i : ι) → AddCommMonoid (β i)] [DecidableEq ι] {γ : Type u₁} [AddCommMonoid γ] (ψ : (DirectSum ι fun i => β i) →+ γ) (f : DirectSum ι fun i => β i)
Goal: ψ f = (DirectSum.toAddMonoid fun i => ψ.comp (DirectSum.of β i)) f
-- DirectSum.toAddMonoid_injective
lemma toAddMonoid_injective : Injective (toAddMonoid : (∀ i, β i →+ γ) → (⨁ i, β i) →+ γ) 
Arguments: {ι : Type v} {β : ι → Type w} [(i : ι) → AddCommMonoid (β i)] [DecidableEq ι] {γ : Type u₁} [AddCommMonoid γ]
Goal: Function.Injective DirectSum.toAddMonoid
-- DirectSum.toAddMonoid_inj
@[simp] lemma toAddMonoid_inj {f g : ∀ i, β i →+ γ} : toAddMonoid f = toAddMonoid g ↔ f = g 
Arguments: {ι : Type v} {β : ι → Type w} [(i : ι) → AddCommMonoid (β i)] [DecidableEq ι] {γ : Type u₁} [AddCommMonoid γ] {f g : (i : ι) → β i →+ γ}
Goal: DirectSum.toAddMonoid f = DirectSum.toAddMonoid g ↔ f = g
-- DirectSum.fromAddMonoid_of
@[simp]
theorem fromAddMonoid_of (i : ι) (f : γ →+ β i) : fromAddMonoid (of _ i f) = (of _ i).comp f 
Arguments: {ι : Type v} {β : ι → Type w} [(i : ι) → AddCommMonoid (β i)] [DecidableEq ι] {γ : Type u₁} [AddCommMonoid γ] (i : ι) (f : γ →+ β i)
Goal: DirectSum.fromAddMonoid ((DirectSum.of (fun i => γ →+ β i) i) f) = (DirectSum.of β i).comp f
-- DirectSum.fromAddMonoid_of_apply
theorem fromAddMonoid_of_apply (i : ι) (f : γ →+ β i) (x : γ) :
    fromAddMonoid (of _ i f) x = of _ i (f x) 
Arguments: {ι : Type v} {β : ι → Type w} [(i : ι) → AddCommMonoid (β i)] [DecidableEq ι] {γ : Type u₁} [AddCommMonoid γ] (i : ι) (f : γ →+ β i) (x : γ)
Goal: (DirectSum.fromAddMonoid ((DirectSum.of (fun i => γ →+ β i) i) f)) x = (DirectSum.of β i) (f x)
-- DirectSum.equivCongrLeft_apply
@[simp]
theorem equivCongrLeft_apply (h : ι ≃ κ) (f : ⨁ i, β i) (k : κ) :
    equivCongrLeft h f k = f (h.symm k) 
Arguments: {ι : Type v} {β : ι → Type w} [(i : ι) → AddCommMonoid (β i)] {κ : Type u_1} (h : ι ≃ κ) (f : DirectSum ι fun i => β i) (k : κ)
Goal: ((DirectSum.equivCongrLeft h) f) k = f (h.symm k)
-- DirectSum.addEquivProdDirectSum_symm_apply_support'
@[simps!]
noncomputable def addEquivProdDirectSum : (⨁ i, α i) ≃+ α none × ⨁ i, α (some i) 
Arguments: {ι : Type v} {α : Option ι → Type w} [(i : Option ι) → AddCommMonoid (α i)] (f : (fun i => α i) none × Π₀ (i : ι), (fun i => α i) (some i))
Goal: (DirectSum.addEquivProdDirectSum.symm f).support' = Trunc.map (fun s => ⟨none ::ₘ Multiset.map some ↑s, ⋯⟩) f.2.support'
-- DirectSum.addEquivProdDirectSum_symm_apply_toFun
@[simps!]
noncomputable def addEquivProdDirectSum : (⨁ i, α i) ≃+ α none × ⨁ i, α (some i) 
Arguments: {ι : Type v} {α : Option ι → Type w} [(i : Option ι) → AddCommMonoid (α i)] (f : (fun i => α i) none × Π₀ (i : ι), (fun i => α i) (some i)) (i : Option ι)
Goal: (DirectSum.addEquivProdDirectSum.symm f) i =
  match i with
  | none => f.1
  | some val => f.2 val
-- DirectSum.addEquivProdDirectSum_apply
@[simps!]
noncomputable def addEquivProdDirectSum : (⨁ i, α i) ≃+ α none × ⨁ i, α (some i) 
Arguments: {ι : Type v} {α : Option ι → Type w} [(i : Option ι) → AddCommMonoid (α i)] (f : Π₀ (i : Option ι), (fun i => α i) i)
Goal: DirectSum.addEquivProdDirectSum f = (f none, DFinsupp.comapDomain some ⋯ f)
-- DirectSum.sigmaCurry_apply
@[simp]
theorem sigmaCurry_apply (f : ⨁ i : Σ _i, _, δ i.1 i.2) (i : ι) (j : α i) :
    sigmaCurry f i j = f ⟨i, j⟩ 
Arguments: {ι : Type v} [DecidableEq ι] {α : ι → Type u} {δ : (i : ι) → α i → Type w} [(i : ι) → (j : α i) → AddCommMonoid (δ i j)] (f : DirectSum ((_i : ι) × α _i) fun i => δ i.fst i.snd) (i : ι) (j : α i)
Goal: ((DirectSum.sigmaCurry f) i) j = f ⟨i, j⟩
-- DirectSum.sigmaUncurry_apply
@[simp]
theorem sigmaUncurry_apply (f : ⨁ (i) (j), δ i j) (i : ι) (j : α i) :
    sigmaUncurry f ⟨i, j⟩ = f i j 
Arguments: {ι : Type v} [DecidableEq ι] {α : ι → Type u} {δ : (i : ι) → α i → Type w} [(i : ι) → (j : α i) → AddCommMonoid (δ i j)] (f : DirectSum ι fun i => DirectSum (α i) fun j => δ i j) (i : ι) (j : α i)
Goal: (DirectSum.sigmaUncurry f) ⟨i, j⟩ = (f i) j
-- DirectSum.coeAddMonoidHom_eq_dfinsupp_sum
theorem coeAddMonoidHom_eq_dfinsupp_sum [DecidableEq ι]
    {M S : Type*} [DecidableEq M] [AddCommMonoid M]
    [SetLike S M] [AddSubmonoidClass S M] (A : ι → S) (x : DirectSum ι fun i => A i) :
    DirectSum.coeAddMonoidHom A x = DFinsupp.sum x fun i => (fun x : A i => ↑x) 
Arguments: {ι : Type v} [DecidableEq ι] {M : Type u_1} {S : Type u_2} [DecidableEq M] [AddCommMonoid M] [SetLike S M] [AddSubmonoidClass S M] (A : ι → S) (x : DirectSum ι fun i => ↥(A i))
Goal: (DirectSum.coeAddMonoidHom A) x = DFinsupp.sum x fun i x => ↑x
-- DirectSum.coeAddMonoidHom_of
@[simp]
theorem coeAddMonoidHom_of {M S : Type*} [DecidableEq ι] [AddCommMonoid M] [SetLike S M]
    [AddSubmonoidClass S M] (A : ι → S) (i : ι) (x : A i) :
    DirectSum.coeAddMonoidHom A (of (fun i => A i) i x) = x 
Arguments: {ι : Type v} {M : Type u_1} {S : Type u_2} [DecidableEq ι] [AddCommMonoid M] [SetLike S M] [AddSubmonoidClass S M] (A : ι → S) (i : ι) (x : ↥(A i))
Goal: (DirectSum.coeAddMonoidHom A) ((DirectSum.of (fun i => ↥(A i)) i) x) = ↑x
-- DirectSum.coe_of_apply
theorem coe_of_apply {M S : Type*} [DecidableEq ι] [AddCommMonoid M] [SetLike S M]
    [AddSubmonoidClass S M] {A : ι → S} (i j : ι) (x : A i) :
    (of (fun i ↦ {x // x ∈ A i}) i x j : M) = if i = j then x else 0 
Arguments: {ι : Type v} {M : Type u_1} {S : Type u_2} [DecidableEq ι] [AddCommMonoid M] [SetLike S M] [AddSubmonoidClass S M] {A : ι → S} (i j : ι) (x : ↥(A i))
Goal: ↑(((DirectSum.of (fun i => ↥(A i)) i) x) j) = ↑(if i = j then x else 0)
-- DirectSum.IsInternal.addSubmonoid_iSup_eq_top
theorem IsInternal.addSubmonoid_iSup_eq_top {M : Type*} [DecidableEq ι] [AddCommMonoid M]
    (A : ι → AddSubmonoid M) (h : IsInternal A) : iSup A = ⊤ 
Arguments: {ι : Type v} {M : Type u_1} [DecidableEq ι] [AddCommMonoid M] (A : ι → AddSubmonoid M) (h : DirectSum.IsInternal A)
Goal: iSup A = ⊤
-- DirectSum.support_subset
theorem support_subset [DecidableEq ι] [DecidableEq M] (A : ι → S) (x : DirectSum ι fun i => A i) :
    (Function.support fun i => (x i : M)) ⊆ ↑(DFinsupp.support x) 
Arguments: {ι : Type v} {M : Type u_1} {S : Type u_2} [AddCommMonoid M] [SetLike S M] [AddSubmonoidClass S M] [DecidableEq ι] [DecidableEq M] (A : ι → S) (x : DirectSum ι fun i => ↥(A i))
Goal: (Function.support fun i => ↑(x i)) ⊆ ↑(DFinsupp.support x)
-- DirectSum.finite_support
theorem finite_support (A : ι → S) (x : DirectSum ι fun i => A i) :
    (Function.support fun i => (x i : M)).Finite 
Arguments: {ι : Type v} {M : Type u_1} {S : Type u_2} [AddCommMonoid M] [SetLike S M] [AddSubmonoidClass S M] (A : ι → S) (x : DirectSum ι fun i => ↥(A i))
Goal: (Function.support fun i => ↑(x i)).Finite
-- HomologicalComplex.opcyclesToCycles_iCycles
@[reassoc (attr := simp)]
lemma opcyclesToCycles_iCycles : K.opcyclesToCycles i j ≫ K.iCycles j = K.fromOpcycles i j 
Arguments: {C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {c : ComplexShape ι} (K : HomologicalComplex C c) (i j : ι) [K.HasHomology i] [K.HasHomology j]
Goal: K.opcyclesToCycles i j ≫ K.iCycles j = K.fromOpcycles i j
-- HomologicalComplex.pOpcycles_opcyclesToCycles_iCycles
@[reassoc]
lemma pOpcycles_opcyclesToCycles_iCycles :
    K.pOpcycles i ≫ K.opcyclesToCycles i j ≫ K.iCycles j = K.d i j 
Arguments: {C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {c : ComplexShape ι} (K : HomologicalComplex C c) (i j : ι) [K.HasHomology i] [K.HasHomology j]
Goal: K.pOpcycles i ≫ K.opcyclesToCycles i j ≫ K.iCycles j = K.d i j
-- HomologicalComplex.pOpcycles_opcyclesToCycles
@[reassoc (attr := simp)]
lemma pOpcycles_opcyclesToCycles :
    K.pOpcycles i ≫ K.opcyclesToCycles i j = K.toCycles i j 
Arguments: {C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {c : ComplexShape ι} (K : HomologicalComplex C c) (i j : ι) [K.HasHomology i] [K.HasHomology j]
Goal: K.pOpcycles i ≫ K.opcyclesToCycles i j = K.toCycles i j
-- HomologicalComplex.homologyι_opcyclesToCycles
@[reassoc (attr := simp)]
lemma homologyι_opcyclesToCycles :
    K.homologyι i ≫ K.opcyclesToCycles i j = 0 
Arguments: {C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {c : ComplexShape ι} (K : HomologicalComplex C c) (i j : ι) [K.HasHomology i] [K.HasHomology j]
Goal: K.homologyι i ≫ K.opcyclesToCycles i j = 0
-- HomologicalComplex.opcyclesToCycles_homologyπ
@[reassoc (attr := simp)]
lemma opcyclesToCycles_homologyπ :
    K.opcyclesToCycles i j ≫ K.homologyπ j = 0 
Arguments: {C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {c : ComplexShape ι} (K : HomologicalComplex C c) (i j : ι) [K.HasHomology i] [K.HasHomology j]
Goal: K.opcyclesToCycles i j ≫ K.homologyπ j = 0
-- HomologicalComplex.opcyclesToCycles_naturality
@[reassoc (attr := simp)]
lemma opcyclesToCycles_naturality :
    opcyclesMap φ i ≫ opcyclesToCycles L i j = opcyclesToCycles K i j ≫ cyclesMap φ j 
Arguments: {C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] {c : ComplexShape ι} {K L : HomologicalComplex C c} (φ : K ⟶ L) (i j : ι) [K.HasHomology i] [K.HasHomology j] [L.HasHomology i] [L.HasHomology j]
Goal: HomologicalComplex.opcyclesMap φ i ≫ L.opcyclesToCycles i j = K.opcyclesToCycles i j ≫ HomologicalComplex.cyclesMap φ j
-- HomologicalComplex.natTransOpCyclesToCycles_app
@[simps]
noncomputable def natTransOpCyclesToCycles [CategoryWithHomology C] :
    opcyclesFunctor C c i ⟶ cyclesFunctor C c j 
Arguments: (C : Type u_1) {ι : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Limits.HasZeroMorphisms C] (c : ComplexShape ι) (i j : ι) [CategoryTheory.CategoryWithHomology C] (K : HomologicalComplex C c)
Goal: (HomologicalComplex.natTransOpCyclesToCycles C c i j).app K = K.opcyclesToCycles i j
-- HomologicalComplex.HomologySequence.composableArrows₃_exact
lemma composableArrows₃_exact [CategoryWithHomology C] :
    (composableArrows₃ K i j).Exact 
Arguments: {C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {c : ComplexShape ι} (K : HomologicalComplex C c) (i j : ι) (hij : c.Rel i j) [CategoryTheory.CategoryWithHomology C]
Goal: (HomologicalComplex.HomologySequence.composableArrows₃ K i j).Exact
-- HomologicalComplex.HomologySequence.composableArrows₃Functor_map
@[simps]
noncomputable def composableArrows₃Functor [CategoryWithHomology C] :
    HomologicalComplex C c ⥤ ComposableArrows C 3 
Arguments: (C : Type u_1) {ι : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {c : ComplexShape ι} (i j : ι) [CategoryTheory.CategoryWithHomology C] {K L : HomologicalComplex C c} (φ : K ⟶ L)
Goal: (HomologicalComplex.HomologySequence.composableArrows₃Functor C i j).map φ =
  CategoryTheory.ComposableArrows.homMk₃ (HomologicalComplex.homologyMap φ i) (HomologicalComplex.opcyclesMap φ i)
    (HomologicalComplex.cyclesMap φ j) (HomologicalComplex.homologyMap φ j) ⋯ ⋯ ⋯
-- HomologicalComplex.HomologySequence.composableArrows₃Functor_obj
@[simps]
noncomputable def composableArrows₃Functor [CategoryWithHomology C] :
    HomologicalComplex C c ⥤ ComposableArrows C 3 
Arguments: (C : Type u_1) {ι : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Preadditive C] {c : ComplexShape ι} (i j : ι) [CategoryTheory.CategoryWithHomology C] (K : HomologicalComplex C c)
Goal: (HomologicalComplex.HomologySequence.composableArrows₃Functor C i j).obj K =
  HomologicalComplex.HomologySequence.composableArrows₃ K i j
-- HomologicalComplex.opcycles_right_exact
lemma opcycles_right_exact (S : ShortComplex (HomologicalComplex C c)) (hS : S.Exact) [Epi S.g]
    (i : ι) [S.X₁.HasHomology i] [S.X₂.HasHomology i] [S.X₃.HasHomology i] :
    (ShortComplex.mk (opcyclesMap S.f i) (opcyclesMap S.g i)
      (by rw [← opcyclesMap_comp, S.zero, opcyclesMap_zero])).Exact 
Arguments: {C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} (S : CategoryTheory.ShortComplex (HomologicalComplex C c)) (hS : S.Exact) [CategoryTheory.Epi S.g] (i : ι) [S.X₁.HasHomology i] [S.X₂.HasHomology i] [S.X₃.HasHomology i]
Goal: (CategoryTheory.ShortComplex.mk (HomologicalComplex.opcyclesMap S.f i) (HomologicalComplex.opcyclesMap S.g i) ⋯).Exact
-- HomologicalComplex.cycles_left_exact
lemma cycles_left_exact (S : ShortComplex (HomologicalComplex C c)) (hS : S.Exact) [Mono S.f]
    (i : ι) [S.X₁.HasHomology i] [S.X₂.HasHomology i] [S.X₃.HasHomology i] :
    (ShortComplex.mk (cyclesMap S.f i) (cyclesMap S.g i)
      (by rw [← cyclesMap_comp, S.zero, cyclesMap_zero])).Exact 
Arguments: {C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} (S : CategoryTheory.ShortComplex (HomologicalComplex C c)) (hS : S.Exact) [CategoryTheory.Mono S.f] (i : ι) [S.X₁.HasHomology i] [S.X₂.HasHomology i] [S.X₃.HasHomology i]
Goal: (CategoryTheory.ShortComplex.mk (HomologicalComplex.cyclesMap S.f i) (HomologicalComplex.cyclesMap S.g i) ⋯).Exact
-- HomologicalComplex.HomologySequence.snakeInput_v₀₁
@[simps]
noncomputable def snakeInput : ShortComplex.SnakeInput C 
Arguments: {C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S : CategoryTheory.ShortComplex (HomologicalComplex C c)} (hS : S.ShortExact) (i j : ι) (hij : c.Rel i j)
Goal: (HomologicalComplex.HomologySequence.snakeInput hS i j hij).v₀₁ =
  S.mapNatTrans (HomologicalComplex.natTransHomologyι C c i)
-- HomologicalComplex.HomologySequence.snakeInput_v₂₃
@[simps]
noncomputable def snakeInput : ShortComplex.SnakeInput C 
Arguments: {C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S : CategoryTheory.ShortComplex (HomologicalComplex C c)} (hS : S.ShortExact) (i j : ι) (hij : c.Rel i j)
Goal: (HomologicalComplex.HomologySequence.snakeInput hS i j hij).v₂₃ =
  S.mapNatTrans (HomologicalComplex.natTransHomologyπ C c j)
-- HomologicalComplex.HomologySequence.snakeInput_L₁
@[simps]
noncomputable def snakeInput : ShortComplex.SnakeInput C 
Arguments: {C : Type u_1} {ι : Type u_2} [CategoryTheory.Category.{u_3, u_1} C] [CategoryTheory.Abelian C] {c : ComplexShape ι} {S : CategoryTheory.ShortComplex (HomologicalComplex C c)} (hS : S.ShortExact) (i j : ι) (hij : c.Rel i j)
Goal: (HomologicalComplex.HomologySequence.snakeInput hS i j hij).L₁ =
  (HomologicalComplex.opcyclesFunctor C c i).mapShortComplex.obj S