-- Module: Mathlib.RingTheory.Extension.Cotangent.LocalizationAway
Goal:
R : Type u_1
S : Type u_2
T : Type u_3
ι : Type u_4
inst : CommRing R
inst_1 : CommRing S
inst_2 : Algebra R S
inst_3 : CommRing T
inst_4 : Algebra R T
inst_5 : Algebra S T
inst_6 : IsScalarTower R S T
g : S
inst_7 : IsLocalization.Away g T
P : Generators R S ι
hsple :
  ∀ {x : Generators.Ring (comp (localizationAway T g) P)}
    (hx :
      Membership.mem (γ := Ideal (Generators.Ring (comp (localizationAway T g) P)))
        (Ideal.span
          {HMul.hMul (α := MvPolynomial.{u_4, u_1} (Unit ⊕ ι) R) (β := MvPolynomial.{u_4, u_1} (Unit ⊕ ι) R)
                ((rename Sum.inr : (a : MvPolynomial ι R) → MvPolynomial (Unit ⊕ ι) R) (P.σ g) :
                  MvPolynomial.{u_4, u_1} (Unit ⊕ ι) R)
                (X (Sum.inl ())) -
              1})
        x),
    Eq (α :=
      Localization.Away (M := P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2)
        ((Ideal.Quotient.mk (HPow.hPow (β := ℕ) P.ker 2) : (a : P.Ring) → P.Ring ⧸ P.ker ^ 2) (P.σ g) :
          P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2))
      ((compLocalizationAwayAlgHom T g P :
            (a : ((localizationAway T g).comp P).Ring) →
              Localization.Away ((Ideal.Quotient.mk (P.ker ^ 2) : (a : P.Ring) → P.Ring ⧸ P.ker ^ 2) (P.σ g)))
          x :
        Localization.Away (M := P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2)
          ((Ideal.Quotient.mk (HPow.hPow (β := ℕ) P.ker 2) : (a : P.Ring) → P.Ring ⧸ P.ker ^ 2) (P.σ g) :
            P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2))
      (0 :
        Localization.Away (M := P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2)
          ((Ideal.Quotient.mk (HPow.hPow (β := ℕ) P.ker 2) : (a : P.Ring) → P.Ring ⧸ P.ker ^ 2) (P.σ g) :
            P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2))
x : P.Ring
hx : x ∈ HPow.hPow (β := ℕ) P.ker 2
a :
  Eq (α :=
    Localization.Away (M := P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2)
      ((Ideal.Quotient.mk (HPow.hPow (β := ℕ) P.ker 2) : (a : P.Ring) → P.Ring ⧸ P.ker ^ 2) (P.σ g) :
        P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2))
    ((algebraMap (P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2)
            (Localization.Away (M := P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2)
              ((Ideal.Quotient.mk (HPow.hPow (β := ℕ) P.ker 2) : (a : P.Ring) → P.Ring ⧸ P.ker ^ 2) (P.σ g) :
                P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2)) :
          (a : P.Ring ⧸ P.ker ^ 2) →
            Localization.Away ((Ideal.Quotient.mk (P.ker ^ 2) : (a : P.Ring) → P.Ring ⧸ P.ker ^ 2) (P.σ g)))
        ((algebraMap P.Ring (P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2) : (a : P.Ring) → P.Ring ⧸ P.ker ^ 2) x) :
      Localization.Away (M := P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2)
        ((Ideal.Quotient.mk (HPow.hPow (β := ℕ) P.ker 2) : (a : P.Ring) → P.Ring ⧸ P.ker ^ 2) (P.σ g) :
          P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2))
    (0 :
      Localization.Away (M := P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2)
        ((Ideal.Quotient.mk (HPow.hPow (β := ℕ) P.ker 2) : (a : P.Ring) → P.Ring ⧸ P.ker ^ 2) (P.σ g) :
          P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2))
a₁ :
  Eq (α :=
    Localization.Away (M := P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2)
      ((Ideal.Quotient.mk (HPow.hPow (β := ℕ) P.ker 2) : (a : P.Ring) → P.Ring ⧸ P.ker ^ 2) (P.σ g) :
        P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2))
    ((algebraMap (P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2)
            (Localization.Away (M := P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2)
              ((Ideal.Quotient.mk (HPow.hPow (β := ℕ) P.ker 2) : (a : P.Ring) → P.Ring ⧸ P.ker ^ 2) (P.σ g) :
                P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2)) :
          (a : P.Ring ⧸ P.ker ^ 2) →
            Localization.Away ((Ideal.Quotient.mk (P.ker ^ 2) : (a : P.Ring) → P.Ring ⧸ P.ker ^ 2) (P.σ g)))
        ((Ideal.Quotient.mk (HPow.hPow (β := ℕ) P.ker 2) : (a : P.Ring) → P.Ring ⧸ P.ker ^ 2) x) :
      Localization.Away (M := P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2)
        ((Ideal.Quotient.mk (HPow.hPow (β := ℕ) P.ker 2) : (a : P.Ring) → P.Ring ⧸ P.ker ^ 2) (P.σ g) :
          P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2))
    (0 :
      Localization.Away (M := P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2)
        ((Ideal.Quotient.mk (HPow.hPow (β := ℕ) P.ker 2) : (a : P.Ring) → P.Ring ⧸ P.ker ^ 2) (P.σ g) :
          P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2))
a₂ :
  Eq (α :=
    Localization.Away (M := P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2)
      ((Ideal.Quotient.mk (HPow.hPow (β := ℕ) P.ker 2) : (a : P.Ring) → P.Ring ⧸ P.ker ^ 2) (P.σ g) :
        P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2))
    ((algebraMap (P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2)
          (Localization.Away (M := P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2)
            ((Ideal.Quotient.mk (HPow.hPow (β := ℕ) P.ker 2) : (a : P.Ring) → P.Ring ⧸ P.ker ^ 2) (P.σ g) :
              P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2)) :
        (a : P.Ring ⧸ P.ker ^ 2) →
          Localization.Away ((Ideal.Quotient.mk (P.ker ^ 2) : (a : P.Ring) → P.Ring ⧸ P.ker ^ 2) (P.σ g)))
      0)
    0
a₃ a₄ :
  Eq (α :=
    Localization.Away (M := P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2)
      ((Ideal.Quotient.mk (HPow.hPow (β := ℕ) P.ker 2) : (a : P.Ring) → P.Ring ⧸ P.ker ^ 2) (P.σ g) :
        P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2))
    0 0
⊢ Eq (α :=
    Localization.Away (M := P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2)
      ((Ideal.Quotient.mk (HPow.hPow (β := ℕ) P.ker 2) : (a : P.Ring) → P.Ring ⧸ P.ker ^ 2) (P.σ g) :
        P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2))
    ((algebraMap P.Ring
            (Localization.Away (M := P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2)
              ((Ideal.Quotient.mk (HPow.hPow (β := ℕ) P.ker 2) : (a : P.Ring) → P.Ring ⧸ P.ker ^ 2) (P.σ g) :
                P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2)) :
          (a : P.Ring) →
            Localization.Away ((Ideal.Quotient.mk (P.ker ^ 2) : (a : P.Ring) → P.Ring ⧸ P.ker ^ 2) (P.σ g)))
        x :
      Localization.Away (M := P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2)
        ((Ideal.Quotient.mk (HPow.hPow (β := ℕ) P.ker 2) : (a : P.Ring) → P.Ring ⧸ P.ker ^ 2) (P.σ g) :
          P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2))
    (0 :
      Localization.Away (M := P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2)
        ((Ideal.Quotient.mk (HPow.hPow (β := ℕ) P.ker 2) : (a : P.Ring) → P.Ring ⧸ P.ker ^ 2) (P.σ g) :
          P.Ring ⧸ HPow.hPow (β := ℕ) P.ker 2))

Tactic:
rw [IsScalarTower.algebraMap_apply P.Ring (P.Ring ⧸ P.ker ^ 2) (Localization.Away _),
        Ideal.Quotient.algebraMap_eq, Ideal.Quotient.eq_zero_iff_mem.mpr hx, map_zero]

Premises used: Algebra.Generators.ker, Iff.mpr, Algebra.Generators.Ring, Ideal.Quotient.algebraMap_eq, Localization.Away, map_zero, Ideal.Quotient.eq_zero_iff_mem, HasQuotient.Quotient, HPow.hPow, OfNat.ofNat, IsScalarTower.algebraMap_apply