-- Module: Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Formula
Goal:
R : Type r
S : Type s
inst : CommRing R
inst_1 : CommRing S
W' : Projective R
f : R →+* S
P : Fin 3 → R
simp :
  HMul.hMul (α := S) 2 (((⇑f : (a : R) → S) ∘ P) x) * HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) y) 3 +
                                                                                                  3 * (W'.map f).a₁ *
                                                                                                      HPow.hPow (α := S)
                                                                                                        (β := ℕ) ⋯ 2 *
                                                                                                    HPow.hPow (α := S)
                                                                                                      (β := ℕ)
                                                                                                      (((⇑f :
                                                                                                            (a : R) →
                                                                                                              S) ∘
                                                                                                          P)
                                                                                                        y)
                                                                                                      2 +
                                                                                                6 * (W'.map f).a₂ *
                                                                                                    HPow.hPow (α := S)
                                                                                                      (β := ℕ)
                                                                                                      (((⇑f :
                                                                                                            (a : R) →
                                                                                                              S) ∘
                                                                                                          P)
                                                                                                        x)
                                                                                                      3 *
                                                                                                  ((⇑f : (a : R) → S) ∘
                                                                                                      P)
                                                                                                    y -
                                                                                              8 * (W'.map f).a₂ *
                                                                                                  HPow.hPow (α := S)
                                                                                                    (β := ℕ)
                                                                                                    (((⇑f :
                                                                                                          (a : R) → S) ∘
                                                                                                        P)
                                                                                                      y)
                                                                                                    3 *
                                                                                                ((⇑f : (a : R) → S) ∘ P)
                                                                                                  z +
                                                                                            9 * (W'.map f).a₃ *
                                                                                              HPow.hPow (α := S) (β :=
                                                                                                ℕ)
                                                                                                (((⇑f : (a : R) → S) ∘
                                                                                                    P)
                                                                                                  x)
                                                                                                4 -
                                                                                          6 * (W'.map f).a₃ *
                                                                                                ((⇑f : (a : R) → S) ∘ P)
                                                                                                  x *
                                                                                              HPow.hPow (α := S) (β :=
                                                                                                ℕ)
                                                                                                (((⇑f : (a : R) → S) ∘
                                                                                                    P)
                                                                                                  y)
                                                                                                2 *
                                                                                            ((⇑f : (a : R) → S) ∘ P) z -
                                                                                        6 * (W'.map f).a₄ *
                                                                                              HPow.hPow (α := S) (β :=
                                                                                                ℕ)
                                                                                                (((⇑f : (a : R) → S) ∘
                                                                                                    P)
                                                                                                  x)
                                                                                                2 *
                                                                                            ((⇑f : (a : R) → S) ∘ P) y *
                                                                                          ((⇑f : (a : R) → S) ∘ P) z -
                                                                                      18 * (W'.map f).a₆ *
                                                                                            ((⇑f : (a : R) → S) ∘ P) x *
                                                                                          ((⇑f : (a : R) → S) ∘ P) y *
                                                                                        HPow.hPow (α := S) (β := ℕ)
                                                                                          (((⇑f : (a : R) → S) ∘ P) z)
                                                                                          2 +
                                                                                    3 *
                                                                                          HPow.hPow (β := ℕ)
                                                                                            (W'.map f).a₁ 2 *
                                                                                        HPow.hPow (α := S) (β := ℕ)
                                                                                          (((⇑f : (a : R) → S) ∘ P) x)
                                                                                          3 *
                                                                                      ((⇑f : (a : R) → S) ∘ P) y -
                                                                                  2 *
                                                                                        HPow.hPow (β := ℕ) (W'.map f).a₁
                                                                                          2 *
                                                                                      HPow.hPow (α := S) (β := ℕ)
                                                                                        (((⇑f : (a : R) → S) ∘ P) y) 3 *
                                                                                    ((⇑f : (a : R) → S) ∘ P) z +
                                                                                3 * (W'.map f).a₁ * (W'.map f).a₂ *
                                                                                  HPow.hPow (α := S) (β := ℕ)
                                                                                    (((⇑f : (a : R) → S) ∘ P) x) 4 -
                                                                              12 * (W'.map f).a₁ * (W'.map f).a₂ *
                                                                                    ((⇑f : (a : R) → S) ∘ P) x *
                                                                                  HPow.hPow (α := S) (β := ℕ)
                                                                                    (((⇑f : (a : R) → S) ∘ P) y) 2 *
                                                                                ((⇑f : (a : R) → S) ∘ P) z -
                                                                            9 * (W'.map f).a₁ * (W'.map f).a₃ *
                                                                                  HPow.hPow (α := S) (β := ℕ)
                                                                                    (((⇑f : (a : R) → S) ∘ P) x) 2 *
                                                                                ((⇑f : (a : R) → S) ∘ P) y *
                                                                              ((⇑f : (a : R) → S) ∘ P) z -
                                                                          3 * (W'.map f).a₁ * (W'.map f).a₄ *
                                                                              HPow.hPow (α := S) (β := ℕ)
                                                                                (((⇑f : (a : R) → S) ∘ P) x) 3 *
                                                                            ((⇑f : (a : R) → S) ∘ P) z -
                                                                        9 * (W'.map f).a₁ * (W'.map f).a₆ *
                                                                            HPow.hPow (α := S) (β := ℕ)
                                                                              (((⇑f : (a : R) → S) ∘ P) x) 2 *
                                                                          HPow.hPow (α := S) (β := ℕ)
                                                                            (((⇑f : (a : R) → S) ∘ P) z) 2 +
                                                                      8 * HPow.hPow (β := ℕ) (W'.map f).a₂ 2 *
                                                                            HPow.hPow (α := S) (β := ℕ)
                                                                              (((⇑f : (a : R) → S) ∘ P) x) 2 *
                                                                          ((⇑f : (a : R) → S) ∘ P) y *
                                                                        ((⇑f : (a : R) → S) ∘ P) z +
                                                                    12 * (W'.map f).a₂ * (W'.map f).a₃ *
                                                                        HPow.hPow (α := S) (β := ℕ)
                                                                          (((⇑f : (a : R) → S) ∘ P) x) 3 *
                                                                      ((⇑f : (a : R) → S) ∘ P) z -
                                                                  12 * (W'.map f).a₂ * (W'.map f).a₃ *
                                                                      HPow.hPow (α := S) (β := ℕ)
                                                                        (((⇑f : (a : R) → S) ∘ P) y) 2 *
                                                                    HPow.hPow (α := S) (β := ℕ)
                                                                      (((⇑f : (a : R) → S) ∘ P) z) 2 +
                                                                8 * (W'.map f).a₂ * (W'.map f).a₄ *
                                                                      ((⇑f : (a : R) → S) ∘ P) x *
                                                                    ((⇑f : (a : R) → S) ∘ P) y *
                                                                  HPow.hPow (α := S) (β := ℕ)
                                                                    (((⇑f : (a : R) → S) ∘ P) z) 2 -
                                                              12 * HPow.hPow (β := ℕ) (W'.map f).a₃ 2 *
                                                                    ((⇑f : (a : R) → S) ∘ P) x *
                                                                  ((⇑f : (a : R) → S) ∘ P) y *
                                                                HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) z)
                                                                  2 +
                                                            6 * (W'.map f).a₃ * (W'.map f).a₄ *
                                                                HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) x)
                                                                  2 *
                                                              HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) z)
                                                                2 +
                                                          2 * HPow.hPow (β := ℕ) (W'.map f).a₄ 2 *
                                                              ((⇑f : (a : R) → S) ∘ P) y *
                                                            HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) z) 3 +
                                                        HPow.hPow (β := ℕ) (W'.map f).a₁ 3 *
                                                          HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) x) 4 -
                                                      3 * HPow.hPow (β := ℕ) (W'.map f).a₁ 3 *
                                                            ((⇑f : (a : R) → S) ∘ P) x *
                                                          HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) y) 2 *
                                                        ((⇑f : (a : R) → S) ∘ P) z -
                                                    2 * HPow.hPow (β := ℕ) (W'.map f).a₁ 2 * (W'.map f).a₂ *
                                                          HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) x) 2 *
                                                        ((⇑f : (a : R) → S) ∘ P) y *
                                                      ((⇑f : (a : R) → S) ∘ P) z -
                                                  3 * HPow.hPow (β := ℕ) (W'.map f).a₁ 2 * (W'.map f).a₃ *
                                                      HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) y) 2 *
                                                    HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) z) 2 +
                                                2 * HPow.hPow (β := ℕ) (W'.map f).a₁ 2 * (W'.map f).a₄ *
                                                      ((⇑f : (a : R) → S) ∘ P) x *
                                                    ((⇑f : (a : R) → S) ∘ P) y *
                                                  HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) z) 2 +
                                              4 * (W'.map f).a₁ * HPow.hPow (β := ℕ) (W'.map f).a₂ 2 *
                                                  HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) x) 3 *
                                                ((⇑f : (a : R) → S) ∘ P) z -
                                            8 * (W'.map f).a₁ * (W'.map f).a₂ * (W'.map f).a₃ *
                                                  ((⇑f : (a : R) → S) ∘ P) x *
                                                ((⇑f : (a : R) → S) ∘ P) y *
                                              HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) z) 2 +
                                          4 * (W'.map f).a₁ * (W'.map f).a₂ * (W'.map f).a₄ *
                                              HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) x) 2 *
                                            HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) z) 2 -
                                        3 * (W'.map f).a₁ * HPow.hPow (β := ℕ) (W'.map f).a₃ 2 *
                                            HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) x) 2 *
                                          HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) z) 2 +
                                      2 * (W'.map f).a₁ * (W'.map f).a₃ * (W'.map f).a₄ * ((⇑f : (a : R) → S) ∘ P) y *
                                        HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) z) 3 +
                                    (W'.map f).a₁ * HPow.hPow (β := ℕ) (W'.map f).a₄ 2 * ((⇑f : (a : R) → S) ∘ P) x *
                                      HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) z) 3 +
                                  4 * HPow.hPow (β := ℕ) (W'.map f).a₂ 2 * (W'.map f).a₃ *
                                      HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) x) 2 *
                                    HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) z) 2 -
                                6 * (W'.map f).a₂ * HPow.hPow (β := ℕ) (W'.map f).a₃ 2 * ((⇑f : (a : R) → S) ∘ P) y *
                                  HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) z) 3 +
                              4 * (W'.map f).a₂ * (W'.map f).a₃ * (W'.map f).a₄ * ((⇑f : (a : R) → S) ∘ P) x *
                                HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) z) 3 -
                            2 * HPow.hPow (β := ℕ) (W'.map f).a₃ 3 * ((⇑f : (a : R) → S) ∘ P) x *
                              HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) z) 3 +
                          (W'.map f).a₃ * HPow.hPow (β := ℕ) (W'.map f).a₄ 2 *
                            HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) z) 4 -
                        HPow.hPow (β := ℕ) (W'.map f).a₁ 4 *
                              HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) x) 2 *
                            ((⇑f : (a : R) → S) ∘ P) y *
                          ((⇑f : (a : R) → S) ∘ P) z +
                      HPow.hPow (β := ℕ) (W'.map f).a₁ 3 * (W'.map f).a₂ *
                          HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) x) 3 *
                        ((⇑f : (a : R) → S) ∘ P) z -
                    2 * HPow.hPow (β := ℕ) (W'.map f).a₁ 3 * (W'.map f).a₃ * ((⇑f : (a : R) → S) ∘ P) x *
                        ((⇑f : (a : R) → S) ∘ P) y *
                      HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) z) 2 +
                  HPow.hPow (β := ℕ) (W'.map f).a₁ 3 * (W'.map f).a₄ *
                      HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) x) 2 *
                    HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) z) 2 +
                HPow.hPow (β := ℕ) (W'.map f).a₁ 2 * (W'.map f).a₂ * (W'.map f).a₃ *
                    HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) x) 2 *
                  HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) z) 2 -
              HPow.hPow (β := ℕ) (W'.map f).a₁ 2 * HPow.hPow (β := ℕ) (W'.map f).a₃ 2 * ((⇑f : (a : R) → S) ∘ P) y *
                HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) z) 3 +
            2 * HPow.hPow (β := ℕ) (W'.map f).a₁ 2 * (W'.map f).a₃ * (W'.map f).a₄ * ((⇑f : (a : R) → S) ∘ P) x *
              HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) z) 3 -
          (W'.map f).a₁ * (W'.map f).a₂ * HPow.hPow (β := ℕ) (W'.map f).a₃ 2 * ((⇑f : (a : R) → S) ∘ P) x *
            HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) z) 3 -
        (W'.map f).a₂ * HPow.hPow (β := ℕ) (W'.map f).a₃ 3 *
          HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) z) 4 +
      (W'.map f).a₁ * HPow.hPow (β := ℕ) (W'.map f).a₃ 2 * (W'.map f).a₄ *
        HPow.hPow (α := S) (β := ℕ) (((⇑f : (a : R) → S) ∘ P) z) 4 =
    (f : (a : R) → S)
      (2 * P x * HPow.hPow (β := ℕ) (P y) 3 + 3 * W'.a₁ * HPow.hPow (β := ℕ) (P x) 2 * HPow.hPow (β := ℕ) (P y) 2 +
                                                                                                  6 * W'.a₂ *
                                                                                                      HPow.hPow (β := ℕ)
                                                                                                        (P x) 3 *
                                                                                                    P y -
                                                                                                8 * W'.a₂ *
                                                                                                    HPow.hPow (β := ℕ)
                                                                                                      (P y) 3 *
                                                                                                  P z +
                                                                                              9 * W'.a₃ *
                                                                                                HPow.hPow (β := ℕ) (P x)
                                                                                                  4 -
                                                                                            6 * W'.a₃ * P x *
                                                                                                HPow.hPow (β := ℕ) (P y)
                                                                                                  2 *
                                                                                              P z -
                                                                                          6 * W'.a₄ *
                                                                                                HPow.hPow (β := ℕ) (P x)
                                                                                                  2 *
                                                                                              P y *
                                                                                            P z -
                                                                                        18 * W'.a₆ * P x * P y *
                                                                                          HPow.hPow (β := ℕ) (P z) 2 +
                                                                                      3 * HPow.hPow (β := ℕ) W'.a₁ 2 *
                                                                                          HPow.hPow (β := ℕ) (P x) 3 *
                                                                                        P y -
                                                                                    2 * HPow.hPow (β := ℕ) W'.a₁ 2 *
                                                                                        HPow.hPow (β := ℕ) (P y) 3 *
                                                                                      P z +
                                                                                  3 * W'.a₁ * W'.a₂ *
                                                                                    HPow.hPow (β := ℕ) (P x) 4 -
                                                                                12 * W'.a₁ * W'.a₂ * P x *
                                                                                    HPow.hPow (β := ℕ) (P y) 2 *
                                                                                  P z -
                                                                              9 * W'.a₁ * W'.a₃ *
                                                                                    HPow.hPow (β := ℕ) (P x) 2 *
                                                                                  P y *
                                                                                P z -
                                                                            3 * W'.a₁ * W'.a₄ *
                                                                                HPow.hPow (β := ℕ) (P x) 3 *
                                                                              P z -
                                                                          9 * W'.a₁ * W'.a₆ *
                                                                              HPow.hPow (β := ℕ) (P x) 2 *
                                                                            HPow.hPow (β := ℕ) (P z) 2 +
                                                                        8 * HPow.hPow (β := ℕ) W'.a₂ 2 *
                                                                              HPow.hPow (β := ℕ) (P x) 2 *
                                                                            P y *
                                                                          P z +
                                                                      12 * W'.a₂ * W'.a₃ * HPow.hPow (β := ℕ) (P x) 3 *
                                                                        P z -
                                                                    12 * W'.a₂ * W'.a₃ * HPow.hPow (β := ℕ) (P y) 2 *
                                                                      HPow.hPow (β := ℕ) (P z) 2 +
                                                                  8 * W'.a₂ * W'.a₄ * P x * P y *
                                                                    HPow.hPow (β := ℕ) (P z) 2 -
                                                                12 * HPow.hPow (β := ℕ) W'.a₃ 2 * P x * P y *
                                                                  HPow.hPow (β := ℕ) (P z) 2 +
                                                              6 * W'.a₃ * W'.a₄ * HPow.hPow (β := ℕ) (P x) 2 *
                                                                HPow.hPow (β := ℕ) (P z) 2 +
                                                            2 * HPow.hPow (β := ℕ) W'.a₄ 2 * P y *
                                                              HPow.hPow (β := ℕ) (P z) 3 +
                                                          HPow.hPow (β := ℕ) W'.a₁ 3 * HPow.hPow (β := ℕ) (P x) 4 -
                                                        3 * HPow.hPow (β := ℕ) W'.a₁ 3 * P x *
                                                            HPow.hPow (β := ℕ) (P y) 2 *
                                                          P z -
                                                      2 * HPow.hPow (β := ℕ) W'.a₁ 2 * W'.a₂ *
                                                            HPow.hPow (β := ℕ) (P x) 2 *
                                                          P y *
                                                        P z -
                                                    3 * HPow.hPow (β := ℕ) W'.a₁ 2 * W'.a₃ *
                                                        HPow.hPow (β := ℕ) (P y) 2 *
                                                      HPow.hPow (β := ℕ) (P z) 2 +
                                                  2 * HPow.hPow (β := ℕ) W'.a₁ 2 * W'.a₄ * P x * P y *
                                                    HPow.hPow (β := ℕ) (P z) 2 +
                                                4 * W'.a₁ * HPow.hPow (β := ℕ) W'.a₂ 2 * HPow.hPow (β := ℕ) (P x) 3 *
                                                  P z -
                                              8 * W'.a₁ * W'.a₂ * W'.a₃ * P x * P y * HPow.hPow (β := ℕ) (P z) 2 +
                                            4 * W'.a₁ * W'.a₂ * W'.a₄ * HPow.hPow (β := ℕ) (P x) 2 *
                                              HPow.hPow (β := ℕ) (P z) 2 -
                                          3 * W'.a₁ * HPow.hPow (β := ℕ) W'.a₃ 2 * HPow.hPow (β := ℕ) (P x) 2 *
                                            HPow.hPow (β := ℕ) (P z) 2 +
                                        2 * W'.a₁ * W'.a₃ * W'.a₄ * P y * HPow.hPow (β := ℕ) (P z) 3 +
                                      W'.a₁ * HPow.hPow (β := ℕ) W'.a₄ 2 * P x * HPow.hPow (β := ℕ) (P z) 3 +
                                    4 * HPow.hPow (β := ℕ) W'.a₂ 2 * W'.a₃ * HPow.hPow (β := ℕ) (P x) 2 *
                                      HPow.hPow (β := ℕ) (P z) 2 -
                                  6 * W'.a₂ * HPow.hPow (β := ℕ) W'.a₃ 2 * P y * HPow.hPow (β := ℕ) (P z) 3 +
                                4 * W'.a₂ * W'.a₃ * W'.a₄ * P x * HPow.hPow (β := ℕ) (P z) 3 -
                              2 * HPow.hPow (β := ℕ) W'.a₃ 3 * P x * HPow.hPow (β := ℕ) (P z) 3 +
                            W'.a₃ * HPow.hPow (β := ℕ) W'.a₄ 2 * HPow.hPow (β := ℕ) (P z) 4 -
                          HPow.hPow (β := ℕ) W'.a₁ 4 * HPow.hPow (β := ℕ) (P x) 2 * P y * P z +
                        HPow.hPow (β := ℕ) W'.a₁ 3 * W'.a₂ * HPow.hPow (β := ℕ) (P x) 3 * P z -
                      2 * HPow.hPow (β := ℕ) W'.a₁ 3 * W'.a₃ * P x * P y * HPow.hPow (β := ℕ) (P z) 2 +
                    HPow.hPow (β := ℕ) W'.a₁ 3 * W'.a₄ * HPow.hPow (β := ℕ) (P x) 2 * HPow.hPow (β := ℕ) (P z) 2 +
                  HPow.hPow (β := ℕ) W'.a₁ 2 * W'.a₂ * W'.a₃ * HPow.hPow (β := ℕ) (P x) 2 * HPow.hPow (β := ℕ) (P z) 2 -
                HPow.hPow (β := ℕ) W'.a₁ 2 * HPow.hPow (β := ℕ) W'.a₃ 2 * P y * HPow.hPow (β := ℕ) (P z) 3 +
              2 * HPow.hPow (β := ℕ) W'.a₁ 2 * W'.a₃ * W'.a₄ * P x * HPow.hPow (β := ℕ) (P z) 3 -
            W'.a₁ * W'.a₂ * HPow.hPow (β := ℕ) W'.a₃ 2 * P x * HPow.hPow (β := ℕ) (P z) 3 -
          W'.a₂ * HPow.hPow (β := ℕ) W'.a₃ 3 * HPow.hPow (β := ℕ) (P z) 4 +
        W'.a₁ * HPow.hPow (β := ℕ) W'.a₃ 2 * W'.a₄ * HPow.hPow (β := ℕ) (P z) 4)
⊢ (W'.map f).dblX ((⇑f : (a : R) → S) ∘ P) = (f : (a : R) → S) (W'.dblX P)

Tactic:
simp only [dblX]

Premises used: WeierstrassCurve.Projective.dblX