Theorem: groupCohomology.isoOneCocycles_hom_comp_subtype
File: Mathlib/RepresentationTheory/GroupCohomology/LowDegree.lean

Proof steps:
state_before: k G : Type u
inst✝¹ : CommRing k
inst✝ : Group G
A : Rep k G
⊢ (isoOneCocycles A).hom ≫ ModuleCat.ofHom (oneCocycles A).subtype =
    iCocycles A 1 ≫ (oneCochainsLequiv A).toModuleIso.hom
state_after: k G : Type u
inst✝¹ : CommRing k
inst✝ : Group G
A : Rep k G
⊢ ((HomologicalComplex.cyclesIsoSc' (inhomogeneousCochains A) 0 1 2 isoOneCocycles.proof_2 isoOneCocycles.proof_3).hom ≫
        cyclesMap
            { τ₁ := ↑(zeroCochainsLequiv A), τ₂ := ↑(oneCochainsLequiv A), τ₃ := ↑(twoCochainsLequiv A), comm₁₂ := ⋯,
              comm₂₃ := ⋯ } ≫
          (shortComplexH1 A).moduleCatCyclesIso.hom) ≫
      ModuleCat.ofHom (oneCocycles A).subtype =
    iCocycles A 1 ≫ ↑(oneCochainsLequiv A)
tactic: dsimp [isoOneCocycles]
state_before: k G : Type u
inst✝¹ : CommRing k
inst✝ : Group G
A : Rep k G
⊢ ((HomologicalComplex.cyclesIsoSc' (inhomogeneousCochains A) 0 1 2 isoOneCocycles.proof_2 isoOneCocycles.proof_3).hom ≫
        cyclesMap
            { τ₁ := ↑(zeroCochainsLequiv A), τ₂ := ↑(oneCochainsLequiv A), τ₃ := ↑(twoCochainsLequiv A), comm₁₂ := ⋯,
              comm₂₃ := ⋯ } ≫
          (shortComplexH1 A).moduleCatCyclesIso.hom) ≫
      ModuleCat.ofHom (oneCocycles A).subtype =
    iCocycles A 1 ≫ ↑(oneCochainsLequiv A)
state_after: k G : Type u
inst✝¹ : CommRing k
inst✝ : Group G
A : Rep k G
⊢ (HomologicalComplex.cyclesIsoSc' (inhomogeneousCochains A) 0 1 2 isoOneCocycles.proof_2 isoOneCocycles.proof_3).hom ≫
      cyclesMap
          { τ₁ := ↑(zeroCochainsLequiv A), τ₂ := ↑(oneCochainsLequiv A), τ₃ := ↑(twoCochainsLequiv A), comm₁₂ := ⋯,
            comm₂₃ := ⋯ } ≫
        (shortComplexH1 A).moduleCatCyclesIso.hom ≫ ModuleCat.ofHom (oneCocycles A).subtype =
    iCocycles A 1 ≫ ↑(oneCochainsLequiv A)
tactic: rw [Category.assoc, Category.assoc]
state_before: k G : Type u
inst✝¹ : CommRing k
inst✝ : Group G
A : Rep k G
⊢ (HomologicalComplex.cyclesIsoSc' (inhomogeneousCochains A) 0 1 2 isoOneCocycles.proof_2 isoOneCocycles.proof_3).hom ≫
      cyclesMap
          { τ₁ := ↑(zeroCochainsLequiv A), τ₂ := ↑(oneCochainsLequiv A), τ₃ := ↑(twoCochainsLequiv A), comm₁₂ := ⋯,
            comm₂₃ := ⋯ } ≫
        (shortComplexH1 A).moduleCatCyclesIso.hom ≫ ModuleCat.ofHom (oneCocycles A).subtype =
    iCocycles A 1 ≫ ↑(oneCochainsLequiv A)
state_after: k G : Type u
inst✝¹ : CommRing k
inst✝ : Group G
A : Rep k G
⊢ (HomologicalComplex.cyclesIsoSc' (inhomogeneousCochains A) 0 1 2 isoOneCocycles.proof_2 isoOneCocycles.proof_3).hom ≫
      cyclesMap
          { τ₁ := ↑(zeroCochainsLequiv A), τ₂ := ↑(oneCochainsLequiv A), τ₃ := ↑(twoCochainsLequiv A), comm₁₂ := ⋯,
            comm₂₃ := ⋯ } ≫
        (shortComplexH1 A).iCycles =
    iCocycles A 1 ≫ ↑(oneCochainsLequiv A)
tactic: erw [(shortComplexH1 A).moduleCatCyclesIso_hom_subtype]
state_before: k G : Type u
inst✝¹ : CommRing k
inst✝ : Group G
A : Rep k G
⊢ (HomologicalComplex.cyclesIsoSc' (inhomogeneousCochains A) 0 1 2 isoOneCocycles.proof_2 isoOneCocycles.proof_3).hom ≫
      cyclesMap
          { τ₁ := ↑(zeroCochainsLequiv A), τ₂ := ↑(oneCochainsLequiv A), τ₃ := ↑(twoCochainsLequiv A), comm₁₂ := ⋯,
            comm₂₃ := ⋯ } ≫
        (shortComplexH1 A).iCycles =
    iCocycles A 1 ≫ ↑(oneCochainsLequiv A)
state_after: no goals
tactic: rw [cyclesMap_i, HomologicalComplex.cyclesIsoSc'_hom_iCycles_assoc]