-- Lean 4 proof step from Mathlib.RepresentationTheory.Homological.GroupCohomology.LowDegree (goal)
Goal:
k G : Type u
inst : CommRing k
inst_1 : Group G
A : Rep k G
x : ↥(cocycles₂ A)
⊢ cocyclesMk
      ((ConcreteCategory.hom (FC := fun (x1 x2 : ModuleCat k) ↦ (↑x1 : Type u) →ₗ[k] (↑x2 : Type u)) (CC :=
            ModuleCat.carrier) (cochainsIso₂ A).inv :
          (a : (↑(ModuleCat.of k (G × G → (↑A : Type u))) : Type u)) → (↑((inhomogeneousCochains A).X 2) : Type u))
        (⇑x : (a : G × G) → (↑A : Type u)))
      ⋯ =
    (ConcreteCategory.hom (FC := fun (x1 x2 : ModuleCat k) ↦ (↑x1 : Type u) →ₗ[k] (↑x2 : Type u)) (CC :=
          ModuleCat.carrier) (isoCocycles₂ A).inv :
        (a : (↑(ModuleCat.of k ↥(cocycles₂ A)) : Type u)) → (↑(cocycles A 2) : Type u))
      x
have apply_fun : Eq (α :=
  (↑(Functor.obj
        (forget₂ (ModuleCat k) (FC := fun (x1 x2 : ModuleCat k) ↦ (↑x1 : Type u) →ₗ[k] (↑x2 : Type u)) (CC :=
          ModuleCat.carrier) Ab (FD := fun (x1 x2 : AddCommGrpCat.{u}) ↦ (↑x1 : Type u) →+ (↑x2 : Type u)) (CD :=
          AddCommGrpCat.carrier))
        ((inhomogeneousCochains A).X 2)) :
    Type u))
  ((ConcreteCategory.hom (FC := fun (x1 x2 : AddCommGrpCat.{u}) ↦ (↑x1 : Type u) →+ (↑x2 : Type u)) (CC :=
          AddCommGrpCat.carrier) (X :=
          Functor.obj
            (forget₂ (ModuleCat k) (FC := fun (x1 x2 : ModuleCat k) ↦ (↑x1 : Type u) →ₗ[k] (↑x2 : Type u)) (CC :=
              ModuleCat.carrier) Ab (FD := fun (x1 x2 : AddCommGrpCat.{u}) ↦ (↑x1 : Type u) →+ (↑x2 : Type u)) (CD :=
              AddCommGrpCat.carrier))
            (HomologicalComplex.cycles (inhomogeneousCochains A) 2))
          (CategoryTheory.Functor.map
            (forget₂ (ModuleCat k) (FC := fun (x1 x2 : ModuleCat k) ↦ (↑x1 : Type u) →ₗ[k] (↑x2 : Type u)) (CC :=
              ModuleCat.carrier) Ab (FD := fun (x1 x2 : AddCommGrpCat.{u}) ↦ (↑x1 : Type u) →+ (↑x2 : Type u)) (CD :=
              AddCommGrpCat.carrier))
            (HomologicalComplex.iCycles (inhomogeneousCochains A) 2)) :
        (a : (↑((forget₂ (ModuleCat k) Ab).obj (HomologicalComplex.cycles (inhomogeneousCochains A) 2)) : Type u)) →
          (↑((forget₂ (ModuleCat k) Ab).obj ((inhomogeneousCochains A).X 2)) : Type u))
      (cocyclesMk
        ((ConcreteCategory.hom (FC := fun (x1 x2 : ModuleCat k) ↦ (↑x1 : Type u) →ₗ[k] (↑x2 : Type u)) (CC :=
              ModuleCat.carrier) (cochainsIso₂ A).inv :
            (a : (↑(ModuleCat.of k (G × G → (↑A : Type u))) : Type u)) → (↑((inhomogeneousCochains A).X 2) : Type u))
          (⇑x : (a : G × G) → (↑A : Type u)))
        sorry) :
    (↑(Functor.obj
          (forget₂ (ModuleCat k) (FC := fun (x1 x2 : ModuleCat k) ↦ (↑x1 : Type u) →ₗ[k] (↑x2 : Type u)) (CC :=
            ModuleCat.carrier) Ab (FD := fun (x1 x2 : AddCommGrpCat.{u}) ↦ (↑x1 : Type u) →+ (↑x2 : Type u)) (CD :=
            AddCommGrpCat.carrier))
          ((inhomogeneousCochains A).X 2)) :
      Type u))
  ((ConcreteCategory.hom (FC := fun (x1 x2 : AddCommGrpCat.{u}) ↦ (↑x1 : Type u) →+ (↑x2 : Type u)) (CC :=
          AddCommGrpCat.carrier) (X :=
          Functor.obj
            (forget₂ (ModuleCat k) (FC := fun (x1 x2 : ModuleCat k) ↦ (↑x1 : Type u) →ₗ[k] (↑x2 : Type u)) (CC :=
              ModuleCat.carrier) Ab (FD := fun (x1 x2 : AddCommGrpCat.{u}) ↦ (↑x1 : Type u) →+ (↑x2 : Type u)) (CD :=
              AddCommGrpCat.carrier))
            (HomologicalComplex.cycles (inhomogeneousCochains A) 2))
          (CategoryTheory.Functor.map
            (forget₂ (ModuleCat k) (FC := fun (x1 x2 : ModuleCat k) ↦ (↑x1 : Type u) →ₗ[k] (↑x2 : Type u)) (CC :=
              ModuleCat.carrier) Ab (FD := fun (x1 x2 : AddCommGrpCat.{u}) ↦ (↑x1 : Type u) →+ (↑x2 : Type u)) (CD :=
              AddCommGrpCat.carrier))
            (HomologicalComplex.iCycles (inhomogeneousCochains A) 2)) :
        (a : (↑((forget₂ (ModuleCat k) Ab).obj (HomologicalComplex.cycles (inhomogeneousCochains A) 2)) : Type u)) →
          (↑((forget₂ (ModuleCat k) Ab).obj ((inhomogeneousCochains A).X 2)) : Type u))
      ((ConcreteCategory.hom (FC := fun (x1 x2 : ModuleCat k) ↦ (↑x1 : Type u) →ₗ[k] (↑x2 : Type u)) (CC :=
              ModuleCat.carrier) (isoCocycles₂ A).inv :
            (a : (↑(ModuleCat.of k ↥(cocycles₂ A)) : Type u)) → (↑(cocycles A 2) : Type u))
          x :
        (↑(cocycles A 2) : Type u)) :
    (↑(Functor.obj
          (forget₂ (ModuleCat k) (FC := fun (x1 x2 : ModuleCat k) ↦ (↑x1 : Type u) →ₗ[k] (↑x2 : Type u)) (CC :=
            ModuleCat.carrier) Ab (FD := fun (x1 x2 : AddCommGrpCat.{u}) ↦ (↑x1 : Type u) →+ (↑x2 : Type u)) (CD :=
            AddCommGrpCat.carrier))
          ((inhomogeneousCochains A).X 2)) :
      Type u))
Tactic: apply_fun (forget₂ _ Ab).map ((inhomogeneousCochains A).iCycles 2) using
    (AddCommGrpCat.mono_iff_injective _).1 <| (forget₂ _ _).map_mono _