-- Lean 4 proof step from Mathlib.LinearAlgebra.QuadraticForm.TensorProduct.Isometries (goal)
Goal:
R : Type uR
M₁ : Type uM₁
M₂ : Type uM₂
inst : CommRing R
inst_1 : AddCommGroup M₁
inst_2 : AddCommGroup M₂
inst_3 : Module R M₁
inst_4 : Module R M₂
inst_5 : Invertible (α := R) 2
Q₁ : QuadraticForm R M₁
Q₂ : QuadraticForm R M₂
m₁ : M₁
m₂ : M₂
m₁' : M₁
m₂' : M₂
⊢ Eq.{uR + 1} (α := R)
    (((((((associatedHom R (R := R) (M := M₁ ⊗[R] M₂) (N := R) :
                        QuadraticMap R (M₁ ⊗[R] M₂) R →ₗ[R] LinearMap.BilinMap R (M₁ ⊗[R] M₂) R) :
                      (a : QuadraticMap R (M₁ ⊗[R] M₂) R) → LinearMap.BilinMap R (M₁ ⊗[R] M₂) R)
                    (comp (Q₂.tmul Q₁) (↑(TensorProduct.comm R M₁ M₂) : M₁ ⊗[R] M₂ →ₗ[R] M₂ ⊗[R] M₁)) :
                  LinearMap.BilinMap R (M₁ ⊗[R] M₂) R) :
                (a : M₁ ⊗[R] M₂) → M₁ ⊗[R] M₂ →ₗ[R] R)
              (m₁ ⊗ₜ[R] m₂) :
            M₁ ⊗[R] M₂ →ₗ[R] R) :
          (a : M₁ ⊗[R] M₂) → R)
        (m₁' ⊗ₜ[R] m₂') :
      R)
    (((((((associatedHom R (R := R) (M := M₁ ⊗[R] M₂) (N := R) :
                        QuadraticMap R (M₁ ⊗[R] M₂) R →ₗ[R] LinearMap.BilinMap R (M₁ ⊗[R] M₂) R) :
                      (a : QuadraticMap R (M₁ ⊗[R] M₂) R) → LinearMap.BilinMap R (M₁ ⊗[R] M₂) R)
                    (Q₁.tmul Q₂) :
                  LinearMap.BilinMap R (M₁ ⊗[R] M₂) R) :
                (a : M₁ ⊗[R] M₂) → M₁ ⊗[R] M₂ →ₗ[R] R)
              (m₁ ⊗ₜ[R] m₂) :
            M₁ ⊗[R] M₂ →ₗ[R] R) :
          (a : M₁ ⊗[R] M₂) → R)
        (m₁' ⊗ₜ[R] m₂') :
      R)
have a : Eq.{uR + 1} (α := R)
  ((((LinearMap.compl₁₂
                (LinearMap.BilinForm.tmul
                  (((associated.{uR, uM₂, uR} (R := R) (M := M₂) (N := R) :
                        QuadraticMap R M₂ R →ₗ[R] LinearMap.BilinMap R M₂ R) :
                      (a : QuadraticMap R M₂ R) → LinearMap.BilinMap R M₂ R)
                    Q₂)
                  (((associated.{uR, uM₁, uR} (R := R) (M := M₁) (N := R) :
                        QuadraticMap R M₁ R →ₗ[R] LinearMap.BilinMap R M₁ R) :
                      (a : QuadraticMap R M₁ R) → LinearMap.BilinMap R M₁ R)
                    Q₁))
                (↑(TensorProduct.comm R M₁ M₂) : M₁ ⊗[R] M₂ →ₗ[R] M₂ ⊗[R] M₁)
                (↑(TensorProduct.comm R M₁ M₂) : M₁ ⊗[R] M₂ →ₗ[R] M₂ ⊗[R] M₁) :
              (a : M₁ ⊗[R] M₂) → M₁ ⊗[R] M₂ →ₗ[R] R)
            (m₁ ⊗ₜ[R] m₂) :
          M₁ ⊗[R] M₂ →ₗ[R] R) :
        (a : M₁ ⊗[R] M₂) → R)
      (m₁' ⊗ₜ[R] m₂') :
    R)
  ((((LinearMap.BilinForm.tmul
                (((associated.{uR, uM₁, uR} (R := R) (M := M₁) (N := R) :
                      QuadraticMap R M₁ R →ₗ[R] LinearMap.BilinMap R M₁ R) :
                    (a : QuadraticMap R M₁ R) → LinearMap.BilinMap R M₁ R)
                  Q₁)
                (((associated.{uR, uM₂, uR} (R := R) (M := M₂) (N := R) :
                      QuadraticMap R M₂ R →ₗ[R] LinearMap.BilinMap R M₂ R) :
                    (a : QuadraticMap R M₂ R) → LinearMap.BilinMap R M₂ R)
                  Q₂) :
              (a : M₁ ⊗[R] M₂) → M₁ ⊗[R] M₂ →ₗ[R] R)
            (m₁ ⊗ₜ[R] m₂) :
          M₁ ⊗[R] M₂ →ₗ[R] R) :
        (a : M₁ ⊗[R] M₂) → R)
      (m₁' ⊗ₜ[R] m₂') :
    R)
Tactic: simp only [associated_tmul, QuadraticMap.associated_comp]