-- Lean 4 proof step from Mathlib.RingTheory.Kaehler.TensorProduct (goal)
Goal:
R : Type u_1
S : Type u_2
A : Type u_3
B : Type u_4
inst : CommRing R
inst_1 : CommRing S
inst_2 : Algebra R S
inst_3 : CommRing A
inst_4 : CommRing B
inst_5 : Algebra R A
inst_6 : Algebra R B
inst_7 : Algebra A B
inst_8 : Algebra S B
inst_9 : IsScalarTower R A B
inst_10 : IsScalarTower R S B
h : Algebra.IsPushout R S A B
z : A
tmul :
  (IsBaseChange.lift (f := AlgHom.toLinearMap (IsScalarTower.toAlgHom R A B)) ⋯
          ((mk R S Ω[A⁄R] : (a : S) → Ω[A⁄R] →ₗ[R] S ⊗[R] Ω[A⁄R]) 1 ∘ₗ (↑(D R A) : A →ₗ[R] Ω[A⁄R])) :
        (a : B) → S ⊗[R] Ω[A⁄R])
      (HMul.hMul (α := B) (β := B) ((algebraMap A B : (a : A) → B) z : B) (0 : B)) =
    HSMul.hSMul (α := B) (β := TensorProduct.{u_1, u_2, u_3} R S Ω[A⁄R]) ((algebraMap A B : (a : A) → B) z : B) 0 +
      HSMul.hSMul (α := B) (β := TensorProduct.{u_1, u_2, u_3} R S Ω[A⁄R]) 0
        ((IsBaseChange.lift (f := AlgHom.toLinearMap (IsScalarTower.toAlgHom R A B)) ⋯
                ((mk R S Ω[A⁄R] : (a : S) → Ω[A⁄R] →ₗ[R] S ⊗[R] Ω[A⁄R]) 1 ∘ₗ (↑(D R A) : A →ₗ[R] Ω[A⁄R])) :
              (a : B) → S ⊗[R] Ω[A⁄R])
            ((algebraMap A B : (a : A) → B) z) :
          TensorProduct.{u_1, u_2, u_3} R S Ω[A⁄R])
tmul₁ :
  (IsBaseChange.lift (f := AlgHom.toLinearMap (IsScalarTower.toAlgHom R A B)) ⋯
          ((mk R S Ω[A⁄R] : (a : S) → Ω[A⁄R] →ₗ[R] S ⊗[R] Ω[A⁄R]) 1 ∘ₗ (↑(D R A) : A →ₗ[R] Ω[A⁄R])) :
        (a : B) → S ⊗[R] Ω[A⁄R])
      (HMul.hMul (α := B) (β := B) ((algebraMap A B : (a : A) → B) z : B) (0 : B)) =
    HSMul.hSMul (α := B) (β := TensorProduct.{u_1, u_2, u_3} R S Ω[A⁄R]) ((algebraMap A B : (a : A) → B) z : B) 0 + 0
tmul₂ :
  (IsBaseChange.lift (f := AlgHom.toLinearMap (IsScalarTower.toAlgHom R A B)) ⋯
          ((mk R S Ω[A⁄R] : (a : S) → Ω[A⁄R] →ₗ[R] S ⊗[R] Ω[A⁄R]) 1 ∘ₗ (↑(D R A) : A →ₗ[R] Ω[A⁄R])) :
        (a : B) → S ⊗[R] Ω[A⁄R])
      (HMul.hMul (α := B) (β := B) ((algebraMap A B : (a : A) → B) z : B) (0 : B)) =
    HAdd.hAdd (α := TensorProduct.{u_1, u_2, u_3} R S Ω[A⁄R]) 0 0
tmul₃ :
  Eq (α := TensorProduct.{u_1, u_2, u_3} R S Ω[A⁄R])
    ((IsBaseChange.lift (f := AlgHom.toLinearMap (IsScalarTower.toAlgHom R A B)) ⋯
            ((mk R S Ω[A⁄R] : (a : S) → Ω[A⁄R] →ₗ[R] S ⊗[R] Ω[A⁄R]) 1 ∘ₗ (↑(D R A) : A →ₗ[R] Ω[A⁄R])) :
          (a : B) → S ⊗[R] Ω[A⁄R])
        (HMul.hMul (α := B) (β := B) ((algebraMap A B : (a : A) → B) z : B) (0 : B)) :
      TensorProduct.{u_1, u_2, u_3} R S Ω[A⁄R])
    (0 : TensorProduct.{u_1, u_2, u_3} R S Ω[A⁄R])
tmul₄ :
  Eq (α := TensorProduct.{u_1, u_2, u_3} R S Ω[A⁄R])
    ((IsBaseChange.lift (f := AlgHom.toLinearMap (IsScalarTower.toAlgHom R A B)) ⋯
          ((mk R S Ω[A⁄R] : (a : S) → Ω[A⁄R] →ₗ[R] S ⊗[R] Ω[A⁄R]) 1 ∘ₗ (↑(D R A) : A →ₗ[R] Ω[A⁄R])) :
        (a : B) → S ⊗[R] Ω[A⁄R])
      0)
    0
⊢ (IsBaseChange.lift (f := AlgHom.toLinearMap (IsScalarTower.toAlgHom R A B)) ⋯
          ((mk R S Ω[A⁄R] : (a : S) → Ω[A⁄R] →ₗ[R] S ⊗[R] Ω[A⁄R]) 1 ∘ₗ (↑(D R A) : A →ₗ[R] Ω[A⁄R])) :
        (a : B) → S ⊗[R] Ω[A⁄R])
      (HMul.hMul (α := B) (β := B) ((algebraMap A B : (a : A) → B) z : B) (0 : B)) =
    HSMul.hSMul (α := B) (β := TensorProduct.{u_1, u_2, u_3} R S Ω[A⁄R]) ((algebraMap A B : (a : A) → B) z : B)
        ((IsBaseChange.lift (f := AlgHom.toLinearMap (IsScalarTower.toAlgHom R A B)) ⋯
              ((mk R S Ω[A⁄R] : (a : S) → Ω[A⁄R] →ₗ[R] S ⊗[R] Ω[A⁄R]) 1 ∘ₗ (↑(D R A) : A →ₗ[R] Ω[A⁄R])) :
            (a : B) → S ⊗[R] Ω[A⁄R])
          0) +
      HSMul.hSMul (α := B) (β := TensorProduct.{u_1, u_2, u_3} R S Ω[A⁄R]) 0
        ((IsBaseChange.lift (f := AlgHom.toLinearMap (IsScalarTower.toAlgHom R A B)) ⋯
                ((mk R S Ω[A⁄R] : (a : S) → Ω[A⁄R] →ₗ[R] S ⊗[R] Ω[A⁄R]) 1 ∘ₗ (↑(D R A) : A →ₗ[R] Ω[A⁄R])) :
              (a : B) → S ⊗[R] Ω[A⁄R])
            ((algebraMap A B : (a : A) → B) z) :
          TensorProduct.{u_1, u_2, u_3} R S Ω[A⁄R])
have tmul₅ : Eq (α := TensorProduct.{u_1, u_2, u_3} R S Ω[A⁄R]) 0 0
Tactic: rw [map_zero, zero_smul, smul_zero, zero_add, mul_zero, map_zero]