Module: Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Formula

Goal state before:
pp: R : Type r
S : Type s
inst✝¹ : CommRing R
inst✝ : CommRing S
W' : Projective R
f : R →+* S
P : Fin 3 → R
⊢ (W'.map f).negDblY (⇑f ∘ P) = f (W'.negDblY P)

Tactic:
simp only [negDblY]

Goal state after:
R : Type r
S : Type s
inst✝¹ : CommRing R
inst✝ : CommRing S
W' : Projective R
f : R →+* S
P : Fin 3 → R
⊢ ⋯ - ⋯ - ⋯ * ⋯ + ⋯ * ⋯ * (⇑f ∘ P) z + ⋯ * ⋯ * (⇑f ∘ P) y * (⇑f ∘ P) z ^ 2 + 9 * (W'.map f).a₂ ^ 2 * (⇑f ∘ P) x ^ 4 -
                                                                                              8 * (W'.map f).a₂ ^ 2 *
                                                                                                    (⇑f ∘ P) x *
                                                                                                  (⇑f ∘ P) y ^ 2 *
                                                                                                (⇑f ∘ P) z -
                                                                                            9 * (W'.map f).a₂ *
                                                                                                    (W'.map f).a₃ *
                                                                                                  (⇑f ∘ P) x ^ 2 *
                                                                                                (⇑f ∘ P) y *
                                                                                              (⇑f ∘ P) z +
                                                                                          9 * (W'.map f).a₂ *
                                                                                                (W'.map f).a₄ *
                                                                                              (⇑f ∘ P) x ^ 3 *
                                                                                            (⇑f ∘ P) z -
                                                                                        4 * (W'.map f).a₂ *
                                                                                              (W'.map f).a₄ *
                                                                                            (⇑f ∘ P) y ^ 2 *
                                                                                          (⇑f ∘ P) z ^ 2 -
                                                                                      27 * (W'.map f).a₂ *
                                                                                            (W'.map f).a₆ *
                                                                                          (⇑f ∘ P) x ^ 2 *
                                                                                        (⇑f ∘ P) z ^ 2 -
                                                                                    9 * (W'.map f).a₃ ^ 2 *
                                                                                        (⇑f ∘ P) x ^ 3 *
                                                                                      (⇑f ∘ P) z +
                                                                                  6 * (W'.map f).a₃ ^ 2 *
                                                                                      (⇑f ∘ P) y ^ 2 *
                                                                                    (⇑f ∘ P) z ^ 2 -
                                                                                12 * (W'.map f).a₃ * (W'.map f).a₄ *
                                                                                      (⇑f ∘ P) x *
                                                                                    (⇑f ∘ P) y *
                                                                                  (⇑f ∘ P) z ^ 2 +
                                                                              9 * (W'.map f).a₄ ^ 2 * (⇑f ∘ P) x ^ 2 *
                                                                                (⇑f ∘ P) z ^ 2 -
                                                                            2 * (W'.map f).a₁ ^ 3 * (⇑f ∘ P) x ^ 3 *
                                                                              (⇑f ∘ P) y +
                                                                          (W'.map f).a₁ ^ 3 * (⇑f ∘ P) y ^ 3 *
                                                                            (⇑f ∘ P) z +
                                                                        3 * (W'.map f).a₁ ^ 2 * (W'.map f).a₂ *
                                                                          (⇑f ∘ P) x ^ 4 +
                                                                      2 * (W'.map f).a₁ ^ 2 * (W'.map f).a₂ *
                                                                            (⇑f ∘ P) x *
                                                                          (⇑f ∘ P) y ^ 2 *
                                                                        (⇑f ∘ P) z +
                                                                    3 * (W'.map f).a₁ ^ 2 * (W'.map f).a₃ *
                                                                          (⇑f ∘ P) x ^ 2 *
                                                                        (⇑f ∘ P) y *
                                                                      (⇑f ∘ P) z +
                                                                  3 * (W'.map f).a₁ ^ 2 * (W'.map f).a₄ *
                                                                      (⇑f ∘ P) x ^ 3 *
                                                                    (⇑f ∘ P) z -
                                                                (W'.map f).a₁ ^ 2 * (W'.map f).a₄ * (⇑f ∘ P) y ^ 2 *
                                                                  (⇑f ∘ P) z ^ 2 -
                                                              12 * (W'.map f).a₁ * (W'.map f).a₂ ^ 2 * (⇑f ∘ P) x ^ 2 *
                                                                  (⇑f ∘ P) y *
                                                                (⇑f ∘ P) z -
                                                            6 * (W'.map f).a₁ * (W'.map f).a₂ * (W'.map f).a₃ *
                                                                (⇑f ∘ P) x ^ 3 *
                                                              (⇑f ∘ P) z +
                                                          4 * (W'.map f).a₁ * (W'.map f).a₂ * (W'.map f).a₃ *
                                                              (⇑f ∘ P) y ^ 2 *
                                                            (⇑f ∘ P) z ^ 2 -
                                                        8 * (W'.map f).a₁ * (W'.map f).a₂ * (W'.map f).a₄ * (⇑f ∘ P) x *
                                                            (⇑f ∘ P) y *
                                                          (⇑f ∘ P) z ^ 2 +
                                                      6 * (W'.map f).a₁ * (W'.map f).a₃ ^ 2 * (⇑f ∘ P) x * (⇑f ∘ P) y *
                                                        (⇑f ∘ P) z ^ 2 -
                                                    (W'.map f).a₁ * (W'.map f).a₄ ^ 2 * (⇑f ∘ P) y * (⇑f ∘ P) z ^ 3 +
                                                  8 * (W'.map f).a₂ ^ 3 * (⇑f ∘ P) x ^ 3 * (⇑f ∘ P) z -
                                                8 * (W'.map f).a₂ ^ 2 * (W'.map f).a₃ * (⇑f ∘ P) x * (⇑f ∘ P) y *
                                                  (⇑f ∘ P) z ^ 2 +
                                              12 * (W'.map f).a₂ ^ 2 * (W'.map f).a₄ * (⇑f ∘ P) x ^ 2 * (⇑f ∘ P) z ^ 2 -
                                            9 * (W'.map f).a₂ * (W'.map f).a₃ ^ 2 * (⇑f ∘ P) x ^ 2 * (⇑f ∘ P) z ^ 2 -
                                          4 * (W'.map f).a₂ * (W'.map f).a₃ * (W'.map f).a₄ * (⇑f ∘ P) y *
                                            (⇑f ∘ P) z ^ 3 +
                                        6 * (W'.map f).a₂ * (W'.map f).a₄ ^ 2 * (⇑f ∘ P) x * (⇑f ∘ P) z ^ 3 +
                                      (W'.map f).a₃ ^ 3 * (⇑f ∘ P) y * (⇑f ∘ P) z ^ 3 -
                                    3 * (W'.map f).a₃ ^ 2 * (W'.map f).a₄ * (⇑f ∘ P) x * (⇑f ∘ P) z ^ 3 +
                                  (W'.map f).a₄ ^ 3 * (⇑f ∘ P) z ^ 4 +
                                (W'.map f).a₁ ^ 4 * (⇑f ∘ P) x * (⇑f ∘ P) y ^ 2 * (⇑f ∘ P) z -
                              3 * (W'.map f).a₁ ^ 3 * (W'.map f).a₂ * (⇑f ∘ P) x ^ 2 * (⇑f ∘ P) y * (⇑f ∘ P) z +
                            (W'.map f).a₁ ^ 3 * (W'.map f).a₃ * (⇑f ∘ P) y ^ 2 * (⇑f ∘ P) z ^ 2 -
                          2 * (W'.map f).a₁ ^ 3 * (W'.map f).a₄ * (⇑f ∘ P) x * (⇑f ∘ P) y * (⇑f ∘ P) z ^ 2 +
                        2 * (W'.map f).a₁ ^ 2 * (W'.map f).a₂ ^ 2 * (⇑f ∘ P) x ^ 3 * (⇑f ∘ P) z -
                      2 * (W'.map f).a₁ ^ 2 * (W'.map f).a₂ * (W'.map f).a₃ * (⇑f ∘ P) x * (⇑f ∘ P) y * (⇑f ∘ P) z ^ 2 +
                    3 * (W'.map f).a₁ ^ 2 * (W'.map f).a₂ * (W'.map f).a₄ * (⇑f ∘ P) x ^ 2 * (⇑f ∘ P) z ^ 2 -
                  2 * (W'.map f).a₁ ^ 2 * (W'.map f).a₃ * (W'.map f).a₄ * (⇑f ∘ P) y * (⇑f ∘ P) z ^ 3 +
                (W'.map f).a₁ ^ 2 * (W'.map f).a₄ ^ 2 * (⇑f ∘ P) x * (⇑f ∘ P) z ^ 3 +
              (W'.map f).a₁ * (W'.map f).a₂ * (W'.map f).a₃ ^ 2 * (⇑f ∘ P) y * (⇑f ∘ P) z ^ 3 +
            2 * (W'.map f).a₁ * (W'.map f).a₂ * (W'.map f).a₃ * (W'.map f).a₄ * (⇑f ∘ P) x * (⇑f ∘ P) z ^ 3 +
          (W'.map f).a₁ * (W'.map f).a₃ * (W'.map f).a₄ ^ 2 * (⇑f ∘ P) z ^ 4 -
        2 * (W'.map f).a₂ ^ 2 * (W'.map f).a₃ ^ 2 * (⇑f ∘ P) x * (⇑f ∘ P) z ^ 3 -
      (W'.map f).a₂ * (W'.map f).a₃ ^ 2 * (W'.map f).a₄ * (⇑f ∘ P) z ^ 4 =
    f
      (⋯ - ⋯ + ⋯ * P z + ⋯ * P y * P z ^ 2 + 9 * W'.a₂ ^ 2 * P x ^ 4 - 8 * W'.a₂ ^ 2 * P x * P y ^ 2 * P z -
                                                                                              9 * W'.a₂ * W'.a₃ *
                                                                                                    P x ^ 2 *
                                                                                                  P y *
                                                                                                P z +
                                                                                            9 * W'.a₂ * W'.a₄ *
                                                                                                P x ^ 3 *
                                                                                              P z -
                                                                                          4 * W'.a₂ * W'.a₄ * P y ^ 2 *
                                                                                            P z ^ 2 -
                                                                                        27 * W'.a₂ * W'.a₆ * P x ^ 2 *
                                                                                          P z ^ 2 -
                                                                                      9 * W'.a₃ ^ 2 * P x ^ 3 * P z +
                                                                                    6 * W'.a₃ ^ 2 * P y ^ 2 * P z ^ 2 -
                                                                                  12 * W'.a₃ * W'.a₄ * P x * P y *
                                                                                    P z ^ 2 +
                                                                                9 * W'.a₄ ^ 2 * P x ^ 2 * P z ^ 2 -
                                                                              2 * W'.a₁ ^ 3 * P x ^ 3 * P y +
                                                                            W'.a₁ ^ 3 * P y ^ 3 * P z +
                                                                          3 * W'.a₁ ^ 2 * W'.a₂ * P x ^ 4 +
                                                                        2 * W'.a₁ ^ 2 * W'.a₂ * P x * P y ^ 2 * P z +
                                                                      3 * W'.a₁ ^ 2 * W'.a₃ * P x ^ 2 * P y * P z +
                                                                    3 * W'.a₁ ^ 2 * W'.a₄ * P x ^ 3 * P z -
                                                                  W'.a₁ ^ 2 * W'.a₄ * P y ^ 2 * P z ^ 2 -
                                                                12 * W'.a₁ * W'.a₂ ^ 2 * P x ^ 2 * P y * P z -
                                                              6 * W'.a₁ * W'.a₂ * W'.a₃ * P x ^ 3 * P z +
                                                            4 * W'.a₁ * W'.a₂ * W'.a₃ * P y ^ 2 * P z ^ 2 -
                                                          8 * W'.a₁ * W'.a₂ * W'.a₄ * P x * P y * P z ^ 2 +
                                                        6 * W'.a₁ * W'.a₃ ^ 2 * P x * P y * P z ^ 2 -
                                                      W'.a₁ * W'.a₄ ^ 2 * P y * P z ^ 3 +
                                                    8 * W'.a₂ ^ 3 * P x ^ 3 * P z -
                                                  8 * W'.a₂ ^ 2 * W'.a₃ * P x * P y * P z ^ 2 +
                                                12 * W'.a₂ ^ 2 * W'.a₄ * P x ^ 2 * P z ^ 2 -
                                              9 * W'.a₂ * W'.a₃ ^ 2 * P x ^ 2 * P z ^ 2 -
                                            4 * W'.a₂ * W'.a₃ * W'.a₄ * P y * P z ^ 3 +
                                          6 * W'.a₂ * W'.a₄ ^ 2 * P x * P z ^ 3 +
                                        W'.a₃ ^ 3 * P y * P z ^ 3 -
                                      3 * W'.a₃ ^ 2 * W'.a₄ * P x * P z ^ 3 +
                                    W'.a₄ ^ 3 * P z ^ 4 +
                                  W'.a₁ ^ 4 * P x * P y ^ 2 * P z -
                                3 * W'.a₁ ^ 3 * W'.a₂ * P x ^ 2 * P y * P z +
                              W'.a₁ ^ 3 * W'.a₃ * P y ^ 2 * P z ^ 2 -
                            2 * W'.a₁ ^ 3 * W'.a₄ * P x * P y * P z ^ 2 +
                          2 * W'.a₁ ^ 2 * W'.a₂ ^ 2 * P x ^ 3 * P z -
                        2 * W'.a₁ ^ 2 * W'.a₂ * W'.a₃ * P x * P y * P z ^ 2 +
                      3 * W'.a₁ ^ 2 * W'.a₂ * W'.a₄ * P x ^ 2 * P z ^ 2 -
                    2 * W'.a₁ ^ 2 * W'.a₃ * W'.a₄ * P y * P z ^ 3 +
                  W'.a₁ ^ 2 * W'.a₄ ^ 2 * P x * P z ^ 3 +
                W'.a₁ * W'.a₂ * W'.a₃ ^ 2 * P y * P z ^ 3 +
              2 * W'.a₁ * W'.a₂ * W'.a₃ * W'.a₄ * P x * P z ^ 3 +
            W'.a₁ * W'.a₃ * W'.a₄ ^ 2 * P z ^ 4 -
          2 * W'.a₂ ^ 2 * W'.a₃ ^ 2 * P x * P z ^ 3 -
        W'.a₂ * W'.a₃ ^ 2 * W'.a₄ * P z ^ 4)