Theorem: groupCohomology.isoTwoCocycles_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
⊢ (isoTwoCocycles A).hom ≫ ModuleCat.ofHom (twoCocycles A).subtype =
    iCocycles A 2 ≫ (twoCochainsLequiv A).toModuleIso.hom
state_after: k G : Type u
inst✝¹ : CommRing k
inst✝ : Group G
A : Rep k G
⊢ ((HomologicalComplex.cyclesIsoSc' (inhomogeneousCochains A) 1 2 3 isoTwoCocycles.proof_2 isoTwoCocycles.proof_3).hom ≫
        cyclesMap
            { τ₁ := ↑(oneCochainsLequiv A), τ₂ := ↑(twoCochainsLequiv A), τ₃ := ↑(threeCochainsLequiv A), comm₁₂ := ⋯,
              comm₂₃ := ⋯ } ≫
          (shortComplexH2 A).moduleCatCyclesIso.hom) ≫
      ModuleCat.ofHom (twoCocycles A).subtype =
    iCocycles A 2 ≫ ↑(twoCochainsLequiv A)
tactic: dsimp [isoTwoCocycles]
state_before: k G : Type u
inst✝¹ : CommRing k
inst✝ : Group G
A : Rep k G
⊢ ((HomologicalComplex.cyclesIsoSc' (inhomogeneousCochains A) 1 2 3 isoTwoCocycles.proof_2 isoTwoCocycles.proof_3).hom ≫
        cyclesMap
            { τ₁ := ↑(oneCochainsLequiv A), τ₂ := ↑(twoCochainsLequiv A), τ₃ := ↑(threeCochainsLequiv A), comm₁₂ := ⋯,
              comm₂₃ := ⋯ } ≫
          (shortComplexH2 A).moduleCatCyclesIso.hom) ≫
      ModuleCat.ofHom (twoCocycles A).subtype =
    iCocycles A 2 ≫ ↑(twoCochainsLequiv A)
state_after: k G : Type u
inst✝¹ : CommRing k
inst✝ : Group G
A : Rep k G
⊢ (HomologicalComplex.cyclesIsoSc' (inhomogeneousCochains A) 1 2 3 isoTwoCocycles.proof_2 isoTwoCocycles.proof_3).hom ≫
      cyclesMap
          { τ₁ := ↑(oneCochainsLequiv A), τ₂ := ↑(twoCochainsLequiv A), τ₃ := ↑(threeCochainsLequiv A), comm₁₂ := ⋯,
            comm₂₃ := ⋯ } ≫
        (shortComplexH2 A).moduleCatCyclesIso.hom ≫ ModuleCat.ofHom (twoCocycles A).subtype =
    iCocycles A 2 ≫ ↑(twoCochainsLequiv 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) 1 2 3 isoTwoCocycles.proof_2 isoTwoCocycles.proof_3).hom ≫
      cyclesMap
          { τ₁ := ↑(oneCochainsLequiv A), τ₂ := ↑(twoCochainsLequiv A), τ₃ := ↑(threeCochainsLequiv A), comm₁₂ := ⋯,
            comm₂₃ := ⋯ } ≫
        (shortComplexH2 A).moduleCatCyclesIso.hom ≫ ModuleCat.ofHom (twoCocycles A).subtype =
    iCocycles A 2 ≫ ↑(twoCochainsLequiv A)
state_after: k G : Type u
inst✝¹ : CommRing k
inst✝ : Group G
A : Rep k G
⊢ (HomologicalComplex.cyclesIsoSc' (inhomogeneousCochains A) 1 2 3 isoTwoCocycles.proof_2 isoTwoCocycles.proof_3).hom ≫
      cyclesMap
          { τ₁ := ↑(oneCochainsLequiv A), τ₂ := ↑(twoCochainsLequiv A), τ₃ := ↑(threeCochainsLequiv A), comm₁₂ := ⋯,
            comm₂₃ := ⋯ } ≫
        (shortComplexH2 A).iCycles =
    iCocycles A 2 ≫ ↑(twoCochainsLequiv A)
tactic: erw [(shortComplexH2 A).moduleCatCyclesIso_hom_subtype]
state_before: k G : Type u
inst✝¹ : CommRing k
inst✝ : Group G
A : Rep k G
⊢ (HomologicalComplex.cyclesIsoSc' (inhomogeneousCochains A) 1 2 3 isoTwoCocycles.proof_2 isoTwoCocycles.proof_3).hom ≫
      cyclesMap
          { τ₁ := ↑(oneCochainsLequiv A), τ₂ := ↑(twoCochainsLequiv A), τ₃ := ↑(threeCochainsLequiv A), comm₁₂ := ⋯,
            comm₂₃ := ⋯ } ≫
        (shortComplexH2 A).iCycles =
    iCocycles A 2 ≫ ↑(twoCochainsLequiv A)
state_after: no goals
tactic: rw [cyclesMap_i, HomologicalComplex.cyclesIsoSc'_hom_iCycles_assoc]