-- Lean 4 proof step from Mathlib.RingTheory.Ideal.CotangentBaseChange (goal)
Goal:
R : Type u_1
S : Type u_2
inst : CommRing R
inst_1 : CommRing S
inst_2 : Algebra R S
T : Type u_3
inst_3 : CommRing T
inst_4 : Algebra R T
I : Ideal S
a : S →+* T ⊗[R] S := AlgHom.toRingHom Algebra.TensorProduct.includeRight
x : T ⊗[R] S
hx :
  Membership.mem (γ := Ideal (T ⊗[R] S))
    (map (F := S →+* T ⊗[R] S) (AlgHom.toRingHom Algebra.TensorProduct.includeRight) I) x
⊢ ∃ (a : TensorProduct.{u_1, u_3, u_2} R T I.Cotangent),
    Eq (α :=
      Cotangent (R := T ⊗[R] S) (map (F := S →+* T ⊗[R] S) (AlgHom.toRingHom Algebra.TensorProduct.includeRight) I))
      ((tensorCotangentHom R T I :
            (a : T ⊗[R] I.Cotangent) → (map Algebra.TensorProduct.includeRight.toRingHom I).Cotangent)
          a :
        Cotangent (R := T ⊗[R] S) (map (F := S →+* T ⊗[R] S) (AlgHom.toRingHom Algebra.TensorProduct.includeRight) I))
      ((toCotangent (map (F := S →+* T ⊗[R] S) (AlgHom.toRingHom Algebra.TensorProduct.includeRight) I) :
            (a : ↥(map Algebra.TensorProduct.includeRight.toRingHom I)) →
              (map Algebra.TensorProduct.includeRight.toRingHom I).Cotangent)
          (Subtype.mk (p := fun (x : T ⊗[R] S) ↦
            Membership.mem (γ := Ideal (T ⊗[R] S))
              (map (F := S →+* T ⊗[R] S) (AlgHom.toRingHom Algebra.TensorProduct.includeRight) I) x)
            x hx) :
        Cotangent (R := T ⊗[R] S) (map (F := S →+* T ⊗[R] S) (AlgHom.toRingHom Algebra.TensorProduct.includeRight) I))
have obtain : ∀ (y : TensorProduct.{u_1, u_3, u_2} R T ↥(Submodule.restrictScalars R I))
  (hx :
    Membership.mem (α := T ⊗[R] S) (γ := Ideal (T ⊗[R] S))
      (map (F := S →+* T ⊗[R] S) (AlgHom.toRingHom Algebra.TensorProduct.includeRight) I)
      ((LinearMap.lTensor T (Submodule.subtype (Submodule.restrictScalars R I)) :
            (a : T ⊗[R] ↥(Submodule.restrictScalars R I)) → T ⊗[R] S)
          y :
        T ⊗[R] S)),
  ∃ (a : TensorProduct.{u_1, u_3, u_2} R T I.Cotangent),
    Eq (α :=
      Cotangent (R := T ⊗[R] S) (map (F := S →+* T ⊗[R] S) (AlgHom.toRingHom Algebra.TensorProduct.includeRight) I))
      ((tensorCotangentHom R T I :
            (a : T ⊗[R] I.Cotangent) → (map Algebra.TensorProduct.includeRight.toRingHom I).Cotangent)
          a :
        Cotangent (R := T ⊗[R] S) (map (F := S →+* T ⊗[R] S) (AlgHom.toRingHom Algebra.TensorProduct.includeRight) I))
      ((toCotangent (map (F := S →+* T ⊗[R] S) (AlgHom.toRingHom Algebra.TensorProduct.includeRight) I) :
            (a : ↥(map Algebra.TensorProduct.includeRight.toRingHom I)) →
              (map Algebra.TensorProduct.includeRight.toRingHom I).Cotangent)
          (Subtype.mk (p := fun (x : T ⊗[R] S) ↦
            Membership.mem (γ := Ideal (T ⊗[R] S))
              (map (F := S →+* T ⊗[R] S) (AlgHom.toRingHom Algebra.TensorProduct.includeRight) I) x)
            ((LinearMap.lTensor T (Submodule.subtype (Submodule.restrictScalars R I)) :
                (a : T ⊗[R] ↥(Submodule.restrictScalars R I)) → T ⊗[R] S)
              y)
            hx) :
        Cotangent (R := T ⊗[R] S) (map (F := S →+* T ⊗[R] S) (AlgHom.toRingHom Algebra.TensorProduct.includeRight) I))
Tactic: obtain ⟨y, rfl⟩ := I.map_includeRight_eq.le hx
Cleared hypotheses: x, hx