Module: Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Formula

Goal state before:
pp: case a
R : Type r
inst✝ : CommRing R
W' : Projective R
P : Fin 3 → R
hP : W'.Equation P
⊢ (⋯ + ⋯ + 9 * W'.a₂ ^ 2 * P x ^ 4 - ⋯ * P y ^ 2 * P z - ⋯ * 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) *
          P z ^ 2 +
        -9 * (P y ^ 2 * P z + 2 * W'.a₁ * P x * P y * P z - 3 * P x ^ 3 - 3 * W'.a₂ * P x ^ 2 * P z) * 0 -
      (-(eval P) W'.polynomialX *
            ((eval P) W'.polynomialX ^ 2 - W'.a₁ * (eval P) W'.polynomialX * P z * (P y - W'.negY P) -
                  W'.a₂ * P z ^ 2 * (P y - W'.negY P) ^ 2 -
                2 * P x * P z * (P y - W'.negY P) ^ 2 -
              P x * P z * (P y - W'.negY P) ^ 2) +
          P y * P z ^ 2 * (P y - W'.negY P) ^ 3 +
        -9 * (P y ^ 2 * P z + 2 * W'.a₁ * P x * P y * P z - 3 * P x ^ 3 - 3 * W'.a₂ * P x ^ 2 * P z) *
          (P y ^ 2 * P z + W'.a₁ * P x * P y * P z + W'.a₃ * P y * P z ^ 2 -
            (P x ^ 3 + W'.a₂ * P x ^ 2 * P z + W'.a₄ * P x * P z ^ 2 + W'.a₆ * P z ^ 3))) =
    0

Tactic:
eval_polynomialX,

Goal state after:
case a
R : Type r
inst✝ : CommRing R
W' : Projective R
P : Fin 3 → R
hP : W'.Equation P
⊢ (⋯ + ⋯ + 9 * W'.a₂ ^ 2 * P x ^ 4 - ⋯ * P y ^ 2 * P z - ⋯ * 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) *
          P z ^ 2 +
        -9 * (P y ^ 2 * P z + 2 * W'.a₁ * P x * P y * P z - 3 * P x ^ 3 - 3 * W'.a₂ * P x ^ 2 * P z) * 0 -
      (-(W'.a₁ * P y * P z - (3 * P x ^ 2 + 2 * W'.a₂ * P x * P z + W'.a₄ * P z ^ 2)) *
            ((W'.a₁ * P y * P z - (3 * P x ^ 2 + 2 * W'.a₂ * P x * P z + W'.a₄ * P z ^ 2)) ^ 2 -
                    W'.a₁ * (W'.a₁ * P y * P z - (3 * P x ^ 2 + 2 * W'.a₂ * P x * P z + W'.a₄ * P z ^ 2)) * P z *
                      (P y - W'.negY P) -
                  W'.a₂ * P z ^ 2 * (P y - W'.negY P) ^ 2 -
                2 * P x * P z * (P y - W'.negY P) ^ 2 -
              P x * P z * (P y - W'.negY P) ^ 2) +
          P y * P z ^ 2 * (P y - W'.negY P) ^ 3 +
        -9 * (P y ^ 2 * P z + 2 * W'.a₁ * P x * P y * P z - 3 * P x ^ 3 - 3 * W'.a₂ * P x ^ 2 * P z) *
          (P y ^ 2 * P z + W'.a₁ * P x * P y * P z + W'.a₃ * P y * P z ^ 2 -
            (P x ^ 3 + W'.a₂ * P x ^ 2 * P z + W'.a₄ * P x * P z ^ 2 + W'.a₆ * P z ^ 3))) =
    0