-- Module: Mathlib.Algebra.Category.ModuleCat.Sheaf.Quasicoherent
Goal:
C_1 : Type u₁
inst : Category.{v₁, u₁} C_1
J_1 : GrothendieckTopology.{v₁, u₁} C_1
R_1 : Sheaf J_1 RingCat
C : Type u₁
inst_1 : Category.{v₁, u₁} C
J : GrothendieckTopology.{v₁, u₁} C
R : Sheaf J RingCat
inst_2 : HasSheafify J AddCommGrpCat
inst_3 :
  J.WEqualsLocallyBijective AddCommGrpCat (FA := fun (x1 x2 : AddCommGrpCat.{u}) ↦ (↑x1 : Type u) →+ (↑x2 : Type u))
    (CA := AddCommGrpCat.carrier)
inst_4 :
  J.HasSheafCompose
    (forget₂ RingCat (FC := fun (R S : RingCat.{u}) ↦ (↑R : Type u) →+* (↑S : Type u)) (CC := RingCat.carrier)
      AddCommGrpCat (FD := fun (x1 x2 : AddCommGrpCat.{u}) ↦ (↑x1 : Type u) →+ (↑x2 : Type u)) (CD :=
      AddCommGrpCat.carrier))
ι σ : Type u
C' : Type u₂
inst_5 : Category.{v₂, u₂} C'
J' : GrothendieckTopology.{v₂, u₂} C'
S : Sheaf J' RingCat
inst_6 : HasSheafify J' AddCommGrpCat
inst_7 :
  J'.WEqualsLocallyBijective AddCommGrpCat (FA := fun (x1 x2 : AddCommGrpCat.{u}) ↦ (↑x1 : Type u) →+ (↑x2 : Type u))
    (CA := AddCommGrpCat.carrier)
inst_8 :
  J'.HasSheafCompose
    (forget₂ RingCat (FC := fun (R S : RingCat.{u}) ↦ (↑R : Type u) →+* (↑S : Type u)) (CC := RingCat.carrier)
      AddCommGrpCat (FD := fun (x1 x2 : AddCommGrpCat.{u}) ↦ (↑x1 : Type u) →+ (↑x2 : Type u)) (CD :=
      AddCommGrpCat.carrier))
M : SheafOfModules R
P : M.Presentation
F : SheafOfModules R ⥤ SheafOfModules S
inst_9 : PreservesColimitsOfSize.{u, u, max u u₁, max u u₂, max (max (u + 1) u₁) v₁, max (max (u + 1) u₂) v₂} F
η : unit S ≅ F.obj (unit R)
⊢ Eq (α :=
    Functor.obj
        (parallelPair (X := free P.relations.I) (Y := free P.generators.I)
            (CategoryStruct.comp (Y := kernel P.generators.π)
              ((Equiv.symm (kernel P.generators.π).freeHomEquiv :
                  (a : P.relations.I → (kernel P.generators.π).sections) → free P.relations.I ⟶ kernel P.generators.π)
                P.relations.s)
              (kernel.ι P.generators.π))
            0 ⋙
          F)
        WalkingParallelPair.zero ⟶
      (parallelPair (X := free P.relations.I) (Y := free P.generators.I)
            (P.mapRelations F η : Quiver.Hom (V := SheafOfModules S) (free P.relations.I) (free P.generators.I))
            (0 : Quiver.Hom (V := SheafOfModules S) (free P.relations.I) (free P.generators.I))).obj
        WalkingParallelPair.one)
    (CategoryTheory.Functor.map
        (parallelPair (X := free P.relations.I) (Y := free P.generators.I)
            (CategoryStruct.comp (Y := kernel P.generators.π)
              ((Equiv.symm (kernel P.generators.π).freeHomEquiv :
                  (a : P.relations.I → (kernel P.generators.π).sections) → free P.relations.I ⟶ kernel P.generators.π)
                P.relations.s)
              (kernel.ι P.generators.π))
            0 ⋙
          F)
        WalkingParallelPairHom.left ≫
      Iso.hom (Iso.symm (mapFreeIso F P.generators.I η)))
    (Iso.hom (Iso.symm (mapFreeIso F P.relations.I η)) ≫
      (parallelPair (X := free P.relations.I) (Y := free P.generators.I)
            (P.mapRelations F η : Quiver.Hom (V := SheafOfModules S) (free P.relations.I) (free P.generators.I))
            (0 : Quiver.Hom (V := SheafOfModules S) (free P.relations.I) (free P.generators.I))).map
        WalkingParallelPairHom.left)

Tactic:
simp [Presentation.mapRelations]

Premises used: SheafOfModules.Presentation.mapRelations