-- Lean 4 proof step from Mathlib.RingTheory.Smooth.Kaehler (goal)
Goal:
R : Type u_1
P : Type u_2
S : Type u_3
inst : CommRing R
inst_1 : CommRing P
inst_2 : CommRing S
inst_3 : Algebra R P
inst_4 : Algebra P S
inst_5 : Algebra R S
inst_6 : IsScalarTower R P S
hf' : HPow.hPow (α := Ideal P) (β := ℕ) (RingHom.ker (F := P →+* S) (algebraMap P S)) 2 = ⊥
hf : Surjective.{u_2 + 1, u_3 + 1} (α := P) (β := S) (⇑(algebraMap P S) : (a : P) → S)
this : (h :
    LE.le (α := Submodule R P)
      (Submodule.restrictScalars R (HPow.hPow (α := Ideal P) (β := ℕ) (RingHom.ker (F := P →+* S) (algebraMap P S)) 2))
      (LinearMap.ker (M₂ := S ⊗[P] Ω[P⁄R])
        ((↑R :
              {S M : Type u_2} →
                {M₂ : Type (max u_3 u_2)} →
                  [inst : Semiring R] →
                    [inst_7 : Semiring S] →
                      [inst_8 : AddCommMonoid M] →
                        [inst_9 : AddCommMonoid M₂] →
                          [inst_10 : Module R M] →
                            [inst_11 : Module R M₂] →
                              [inst_12 : Module S M] →
                                [inst_13 : Module S M₂] →
                                  [LinearMap.CompatibleSMul M M₂ R S] → (fₗ : M →ₗ[S] M₂) → M →ₗ[R] M₂)
            (S := P) ((mk P S Ω[P⁄R] : (a : S) → Ω[P⁄R] →ₗ[P] S ⊗[P] Ω[P⁄R]) 1) ∘ₗ
          (↑(D R P) : P →ₗ[R] Ω[P⁄R])))) →
  HasQuotient.Quotient P (B := Submodule R P)
      (Submodule.restrictScalars R
        (HPow.hPow (α := Ideal P) (β := ℕ) (RingHom.ker (F := P →+* S) (algebraMap P S)) 2)) →ₗ[R]
    S ⊗[P] Ω[P⁄R] :=
  Submodule.liftQ (R := R) (M := P)
    (Submodule.restrictScalars R (HPow.hPow (α := Ideal P) (β := ℕ) (RingHom.ker (F := P →+* S) (algebraMap P S)) 2))
    (R₂ := R) (M₂ := S ⊗[P] Ω[P⁄R]) (τ₁₂ := RingHom.id R)
    ((↑R :
          {S M : Type u_2} →
            {M₂ : Type (max u_3 u_2)} →
              [inst : Semiring R] →
                [inst_7 : Semiring S] →
                  [inst_8 : AddCommMonoid M] →
                    [inst_9 : AddCommMonoid M₂] →
                      [inst_10 : Module R M] →
                        [inst_11 : Module R M₂] →
                          [inst_12 : Module S M] →
                            [inst_13 : Module S M₂] →
                              [LinearMap.CompatibleSMul M M₂ R S] → (fₗ : M →ₗ[S] M₂) → M →ₗ[R] M₂)
        (S := P) ((mk P S Ω[P⁄R] : (a : S) → Ω[P⁄R] →ₗ[P] S ⊗[P] Ω[P⁄R]) 1) ∘ₗ
      (↑(D R P) : P →ₗ[R] Ω[P⁄R]))
x : P
hx :
  x ∈
    HMul.hMul (α := Ideal P) (RingHom.ker (F := P →+* S) (algebraMap P S)) (RingHom.ker (F := P →+* S) (algebraMap P S))
refine_1 :
  ∀ (r : P),
    Membership.mem (γ := Submodule P P) (RingHom.ker (F := P →+* S) (algebraMap P S)) r →
      ∀ (n : P),
        Membership.mem (γ := Submodule P P) (RingHom.ker (F := P →+* S) (algebraMap P S)) n →
          Eq (α := S ⊗[P] Ω[P⁄R]) (1 ⊗ₜ[P] (D R P : (a : P) → Ω[P⁄R]) (r • n) : S ⊗[P] Ω[P⁄R]) (0 : S ⊗[P] Ω[P⁄R])
⊢ Eq (α := S ⊗[P] Ω[P⁄R]) (1 ⊗ₜ[P] (D R P : (a : P) → Ω[P⁄R]) x : S ⊗[P] Ω[P⁄R]) (0 : S ⊗[P] Ω[P⁄R])
have refine_1₁ : ∀ (x y : P),
  Eq (α := S ⊗[P] Ω[P⁄R]) (1 ⊗ₜ[P] (D R P : (a : P) → Ω[P⁄R]) x : S ⊗[P] Ω[P⁄R]) (0 : S ⊗[P] Ω[P⁄R]) →
    Eq (α := S ⊗[P] Ω[P⁄R]) (1 ⊗ₜ[P] (D R P : (a : P) → Ω[P⁄R]) y : S ⊗[P] Ω[P⁄R]) (0 : S ⊗[P] Ω[P⁄R]) →
      Eq (α := S ⊗[P] Ω[P⁄R]) (1 ⊗ₜ[P] (D R P : (a : P) → Ω[P⁄R]) (x + y) : S ⊗[P] Ω[P⁄R]) (0 : S ⊗[P] Ω[P⁄R])
Tactic: refine Submodule.smul_induction_on hx ?_ ?_