-- Module: Mathlib.Analysis.SpecialFunctions.Elliptic.Weierstrass
Goal:
L : PeriodPair
simp :
  -(2 * (20 * ((↑5! : ℂ) * L.G 6) * (↑3! : ℂ))) + -(20 * ((↑5! : ℂ) * L.G 6) * (↑3! : ℂ) * 2) -
        4 * (15 * ((↑5! : ℂ) * L.G 6) * 2 + (15 * ((↑5! : ℂ) * L.G 6) * 2 + 15 * ((↑5! : ℂ) * L.G 6) * 2)) +
      140 * L.G 6 * (↑6! : ℂ) =
    0
⊢ HSub.hSub (α := ℂ)
          (∑ x ∈ Finset.range (HAdd.hAdd (α := ℕ) 6 1),
            (↑(Nat.choose 6 x) : ℂ) *
                HSub.hSub (α := ℂ)
                  (∑ x_1 ∈ Finset.range (x + 1),
                    (↑(x.choose x_1) : ℂ) * ((↑(x_1 + 2)! : ℂ) * L.sumInvPow 0 (x_1 + 3)) *
                      (↑(if x - x_1 = 3 then 3! else 0) : ℂ))
                  (if x = 0 then 2 else 0) *
              HSub.hSub (α := ℂ)
                (∑ x_1 ∈ Finset.range (6 - x + 1),
                  (↑((6 - x).choose x_1) : ℂ) * ((↑(x_1 + 2)! : ℂ) * L.sumInvPow 0 (x_1 + 3)) *
                    (↑(if 6 - x - x_1 = 3 then 3! else 0) : ℂ))
                (if 6 - x = 0 then 2 else 0))
          (∑ x ∈ Finset.range (HAdd.hAdd (α := ℕ) 6 1),
            HMul.hMul (α := ℂ) (↑(Nat.choose 6 x) : ℂ) (if x = 0 then 4 else 0) *
              ∑ x_1 ∈ Finset.range (6 - x + 1),
                HMul.hMul (α := ℂ) (↑((6 - x).choose x_1) : ℂ)
                    (∑ x ∈ Finset.range (x_1 + 1),
                      (↑(x_1.choose x) : ℂ) *
                          HAdd.hAdd (α := ℂ)
                            (∑ x_2 ∈ Finset.range (x + 1),
                              ((↑(x.choose x_2) : ℂ) *
                                  if x_2 = 0 then ℘[L - 0] 0 else (↑(x_2 + 1)! : ℂ) * L.sumInvPow 0 (x_2 + 2)) *
                                (↑(if x - x_2 = 2 then 2! else 0) : ℂ))
                            (if x = 0 then 1 else 0) *
                        HAdd.hAdd (α := ℂ)
                          (∑ x_2 ∈ Finset.range (x_1 - x + 1),
                            ((↑((x_1 - x).choose x_2) : ℂ) *
                                if x_2 = 0 then ℘[L - 0] 0 else (↑(x_2 + 1)! : ℂ) * L.sumInvPow 0 (x_2 + 2)) *
                              (↑(if x_1 - x - x_2 = 2 then 2! else 0) : ℂ))
                          (if x_1 - x = 0 then 1 else 0)) *
                  HAdd.hAdd (α := ℂ)
                    (∑ x_2 ∈ Finset.range (6 - x - x_1 + 1),
                      ((↑((6 - x - x_1).choose x_2) : ℂ) *
                          if x_2 = 0 then ℘[L - 0] 0 else (↑(x_2 + 1)! : ℂ) * L.sumInvPow 0 (x_2 + 2)) *
                        (↑(if 6 - x - x_1 - x_2 = 2 then 2! else 0) : ℂ))
                    (if 6 - x - x_1 = 0 then 1 else 0)) +
        ∑ x ∈ Finset.range (HAdd.hAdd (α := ℕ) 6 1),
          ((↑(Nat.choose 6 x) : ℂ) * if x = 0 then L.g₂ else 0) *
            HAdd.hAdd (α := ℂ)
              (∑ x_1 ∈ Finset.range (6 - x + 1),
                ((↑((6 - x).choose x_1) : ℂ) *
                    if x_1 = 0 then ℘[L - 0] 0 else (↑(x_1 + 1)! : ℂ) * L.sumInvPow 0 (x_1 + 2)) *
                  (↑(if 6 - x - x_1 = 6 then 6! else 0) : ℂ))
              (↑(if 6 - x = 4 then 4! else 0) : ℂ) +
      ∑ x ∈ Finset.range (HAdd.hAdd (α := ℕ) 6 1),
        ((↑(Nat.choose 6 x) : ℂ) * if x = 0 then L.g₃ else 0) * (↑(if 6 - x = 6 then 6! else 0) : ℂ) =
    0

Tactic:
simp [Finset.sum_range_succ, L.G_eq_zero_of_odd 3 (by decide), g₃,
    show Nat.choose 6 4 = 15 by rfl, show Nat.choose 6 3 = 20 by rfl]

Premises used: PeriodPair.G_eq_zero_of_odd, PeriodPair.g₃, OfNat.ofNat, Finset.sum_range_succ