-- Module: Mathlib.LinearAlgebra.QuadraticForm.Basis
Goal:
ι : Type u_1
R : Type u_2
M : Type u_3
N : Type u_4
inst : LinearOrder ι
inst_1 : CommRing R
inst_2 : AddCommGroup M
inst_3 : AddCommGroup N
inst_4 : Module R M
inst_5 : Module R N
Q : QuadraticMap R M N
bm : Basis ι R M
x : M
H :
  HAdd.hAdd (α := N)
      (∑ x_1 ∈ Finsupp.support.{u_1, u_2} (M := R) ((bm.repr : (a : M) → ι →₀ R) x),
        HSMul.hSMul.{u_2, u_4, u_4} (α := R) ((((bm.repr : (a : M) → ι →₀ R) x : ι →₀ R) : (a : ι) → R) x_1 : R)
          (HSMul.hSMul.{u_2, u_4, u_4} (α := R) (β := N)
            ((((bm.repr : (a : M) → ι →₀ R) x : ι →₀ R) : (a : ι) → R) x_1 : R)
            ((Q : (a : M) → N) ((bm : (a : ι) → M) x_1 : M) : N)))
      (∑ a ∈ Finset.offDiag (Finsupp.support.{u_1, u_2} (M := R) ((bm.repr : (a : M) → ι →₀ R) x)) with a.1 < a.2,
        HSMul.hSMul.{u_2, u_4, u_4} (α := R) ((((bm.repr : (a : M) → ι →₀ R) x : ι →₀ R) : (a : ι) → R) a.1 : R)
          (HSMul.hSMul.{u_2, u_4, u_4} (α := R) (β := N)
            ((((bm.repr : (a : M) → ι →₀ R) x : ι →₀ R) : (a : ι) → R) a.2 : R)
            (polar.{u_3, u_4} (M := M) ((⇑Q : (a : M) → N) : (a : M) → N) ((bm : (a : ι) → M) a.1 : M)
              ((bm : (a : ι) → M) a.2 : M)))) =
    HAdd.hAdd (α := N)
      (∑ i ∈ Finsupp.support.{u_1, u_2} (M := R) ((bm.repr : (a : M) → ι →₀ R) x),
        (Q : (a : M) → N)
          (HSMul.hSMul.{u_2, u_3, u_3} (α := R) (β := M)
            ((((bm.repr : (a : M) → ι →₀ R) x : ι →₀ R) : (a : ι) → R) i : R) ((bm : (a : ι) → M) i : M)))
      (∑ ij ∈ Finset.sym2 (Finsupp.support.{u_1, u_2} (M := R) ((bm.repr : (a : M) → ι →₀ R) x)) with ¬ij.IsDiag,
        polarSym2.{u_3, u_4} (M := M) (⇑Q : (a : M) → N)
          (Sym2.map
            (fun (a : ι) ↦
              HSMul.hSMul.{u_2, u_3, u_3} (α := R) (β := M)
                ((((bm.repr : (a : M) → ι →₀ R) x : ι →₀ R) : (a : ι) → R) a : R) ((bm : (a : ι) → M) a : M))
            ij))
H₁ :
  ∀ (x_1 : ι × ι),
    Membership.mem (γ := Finset (ι × ι))
        (Finset.offDiag (Finsupp.support.{u_1, u_2} (M := R) ((bm.repr : (a : M) → ι →₀ R) x))) x_1 →
      ¬x_1.1 = x_1.2
⊢ HAdd.hAdd (α := N)
      (∑ x_1 ∈ Finsupp.support.{u_1, u_2} (M := R) ((bm.repr : (a : M) → ι →₀ R) x),
        HSMul.hSMul.{u_2, u_4, u_4} (α := R) ((((bm.repr : (a : M) → ι →₀ R) x : ι →₀ R) : (a : ι) → R) x_1 : R)
          (HSMul.hSMul.{u_2, u_4, u_4} (α := R) (β := N)
            ((((bm.repr : (a : M) → ι →₀ R) x : ι →₀ R) : (a : ι) → R) x_1 : R)
            ((Q : (a : M) → N) ((bm : (a : ι) → M) x_1 : M) : N)))
      (∑ x_1 ∈ Finset.offDiag (Finsupp.support.{u_1, u_2} (M := R) ((bm.repr : (a : M) → ι →₀ R) x)),
        if x_1.1 = x_1.2 then
          HSMul.hSMul.{u_2, u_4, u_4} (α := R) ((((bm.repr : (a : M) → ι →₀ R) x : ι →₀ R) : (a : ι) → R) x_1.1 : R)
            (HSMul.hSMul.{u_2, u_4, u_4} (α := R) (β := N)
              ((((bm.repr : (a : M) → ι →₀ R) x : ι →₀ R) : (a : ι) → R) x_1.2 : R)
              ((Q : (a : M) → N) ((bm : (a : ι) → M) x_1.1 : M) : N))
        else
          if x_1.1 < x_1.2 then
            HSMul.hSMul.{u_2, u_4, u_4} (α := R) ((((bm.repr : (a : M) → ι →₀ R) x : ι →₀ R) : (a : ι) → R) x_1.1 : R)
              (HSMul.hSMul.{u_2, u_4, u_4} (α := R) (β := N)
                ((((bm.repr : (a : M) → ι →₀ R) x : ι →₀ R) : (a : ι) → R) x_1.2 : R)
                (polar.{u_3, u_4} (M := M) ((⇑Q : (a : M) → N) : (a : M) → N) ((bm : (a : ι) → M) x_1.1 : M)
                  ((bm : (a : ι) → M) x_1.2 : M)))
          else 0) =
    (Q : (a : M) → N)
      (∑ a ∈ Finsupp.support.{u_1, u_2} (M := R) ((bm.repr : (a : M) → ι →₀ R) x),
        HSMul.hSMul.{u_2, u_3, u_3} (α := R) (β := M) ((((bm.repr : (a : M) → ι →₀ R) x : ι →₀ R) : (a : ι) → R) a : R)
          ((bm : (a : ι) → M) a : M))

Tactic:
rw [Finset.sum_ite_of_false, QuadraticMap.map_sum, ← Finset.sum_filter]

Premises used: Finset.sum_ite_of_false, QuadraticMap.map_sum, Finset.sum_filter