-- Lean 4 proof step from Mathlib.Algebra.Category.ModuleCat.Presheaf (goal)
Goal:
C : Type u₁
inst : Category.{v₁, u₁} C
R : CategoryTheory.Functor.{v₁, u, u₁, u + 1} Cᵒᵖ RingCat
M_1 M₁ M₂ : PresheafOfModules.{v, v₁, u₁, u} R
M : PresheafOfModules R
f : unit R ⟶ M
X Y : Cᵒᵖ
f_1 : X ⟶ Y
rw :
  Eq (α := (↑((ModuleCat.restrictScalars (RingCat.Hom.hom (R.map f_1))).obj (M.obj Y)) : Type u))
    ((ConcreteCategory.hom (FC := fun (x1 x2 : ModuleCat (↑(R.obj Y) : Type u)) ↦
            LinearMap (R := (↑(R.obj Y) : Type u)) (RingHom.id (↑(R.obj Y) : Type u)) (↑x1 : Type u) (↑x2 : Type u))
            (CC := ModuleCat.carrier) (f.app Y) :
          (a : (↑((unit R).obj Y) : Type u)) → (↑(M.obj Y) : Type u))
        ((ConcreteCategory.hom (FC := fun (x1 x2 : ModuleCat (↑(R.obj X) : Type u)) ↦
                LinearMap (R := (↑(R.obj X) : Type u)) (RingHom.id (↑(R.obj X) : Type u)) (↑x1 : Type u) (↑x2 : Type u))
                (CC := ModuleCat.carrier) ((unit R).map f_1) :
              (a : (↑((unit R).obj X) : Type u)) →
                (↑((ModuleCat.restrictScalars (RingCat.Hom.hom (R.map f_1))).obj ((unit R).obj Y)) : Type u))
            1 :
          (↑((ModuleCat.restrictScalars (RingCat.Hom.hom (R.map f_1))).obj ((unit R).obj Y)) : Type u)) :
      (↑(M.obj Y) : Type u))
    ((fun (X : Cᵒᵖ) ↦
          ((ConcreteCategory.hom (FC := fun (x1 x2 : ModuleCat (↑(R.obj X) : Type u)) ↦
                  LinearMap (R := (↑(R.obj X) : Type u)) (RingHom.id (↑(R.obj X) : Type u)) (↑x1 : Type u)
                    (↑x2 : Type u))
                  (CC := ModuleCat.carrier) (f.app X) :
                (a : (↑((unit R).obj X) : Type u)) → (↑(M.obj X) : Type u))
              1 :
            (↑(M.obj X) : Type u)))
        Y :
      (↑(M.obj Y) : Type u))
⊢ Eq (α := (↑((ModuleCat.restrictScalars (RingCat.Hom.hom (R.map f_1))).obj (M.obj Y)) : Type u))
    ((ConcreteCategory.hom (FC := fun (x1 x2 : ModuleCat (↑(R.obj X) : Type u)) ↦
            LinearMap (R := (↑(R.obj X) : Type u)) (RingHom.id (↑(R.obj X) : Type u)) (↑x1 : Type u) (↑x2 : Type u))
            (CC := ModuleCat.carrier) (M.map f_1) :
          (a : (↑(M.obj X) : Type u)) →
            (↑((ModuleCat.restrictScalars (RingCat.Hom.hom (R.map f_1))).obj (M.obj Y)) : Type u))
        ((fun (X : Cᵒᵖ) ↦
            ((ConcreteCategory.hom (FC := fun (x1 x2 : ModuleCat (↑(R.obj X) : Type u)) ↦
                    LinearMap (R := (↑(R.obj X) : Type u)) (RingHom.id (↑(R.obj X) : Type u)) (↑x1 : Type u)
                      (↑x2 : Type u))
                    (CC := ModuleCat.carrier) (f.app X) :
                  (a : (↑((unit R).obj X) : Type u)) → (↑(M.obj X) : Type u))
                1 :
              (↑(M.obj X) : Type u)))
          X) :
      (↑((ModuleCat.restrictScalars (RingCat.Hom.hom (R.map f_1))).obj (M.obj Y)) : Type u))
    ((fun (X : Cᵒᵖ) ↦
          ((ConcreteCategory.hom (FC := fun (x1 x2 : ModuleCat (↑(R.obj X) : Type u)) ↦
                  LinearMap (R := (↑(R.obj X) : Type u)) (RingHom.id (↑(R.obj X) : Type u)) (↑x1 : Type u)
                    (↑x2 : Type u))
                  (CC := ModuleCat.carrier) (f.app X) :
                (a : (↑((unit R).obj X) : Type u)) → (↑(M.obj X) : Type u))
              1 :
            (↑(M.obj X) : Type u)))
        Y :
      (↑(M.obj Y) : Type u))
have rw₁ : Eq (α := (↑((ModuleCat.restrictScalars (RingCat.Hom.hom (R.map f_1))).obj (M.obj Y)) : Type u))
  ((ConcreteCategory.hom (FC := fun (x1 x2 : ModuleCat (↑(R.obj Y) : Type u)) ↦
          LinearMap (R := (↑(R.obj Y) : Type u)) (RingHom.id (↑(R.obj Y) : Type u)) (↑x1 : Type u) (↑x2 : Type u))
          (CC := ModuleCat.carrier) (f.app Y) :
        (a : (↑((unit R).obj Y) : Type u)) → (↑(M.obj Y) : Type u))
      1 :
    (↑(M.obj Y) : Type u))
  ((fun (X : Cᵒᵖ) ↦
        ((ConcreteCategory.hom (FC := fun (x1 x2 : ModuleCat (↑(R.obj X) : Type u)) ↦
                LinearMap (R := (↑(R.obj X) : Type u)) (RingHom.id (↑(R.obj X) : Type u)) (↑x1 : Type u) (↑x2 : Type u))
                (CC := ModuleCat.carrier) (f.app X) :
              (a : (↑((unit R).obj X) : Type u)) → (↑(M.obj X) : Type u))
            1 :
          (↑(M.obj X) : Type u)))
      Y :
    (↑(M.obj Y) : Type u))
Tactic: rw [← naturality_apply, unit_map_one]