Module: Mathlib.AlgebraicGeometry.EllipticCurve.Projective.Formula

Goal state before:
pp: R : Type r
inst✝¹ : CommRing R
W' : Projective R
inst✝ : NoZeroDivisors R
P : Fin 3 → R
hP : W'.Equation P
hPz : P z = 0
⊢ ⋯ - ⋯ - ⋯ * P x ^ 4 + ⋯ * P y ^ 2 * 0 + ⋯ * P x * P y * 0 ^ 2 + 9 * W'.a₂ ^ 2 * P x ^ 4 -
                                                                                              8 * W'.a₂ ^ 2 * P x *
                                                                                                  P y ^ 2 *
                                                                                                0 -
                                                                                            9 * W'.a₂ * W'.a₃ *
                                                                                                  P x ^ 2 *
                                                                                                P y *
                                                                                              0 +
                                                                                          9 * W'.a₂ * W'.a₄ * P x ^ 3 *
                                                                                            0 -
                                                                                        4 * W'.a₂ * W'.a₄ * P y ^ 2 *
                                                                                          0 ^ 2 -
                                                                                      27 * W'.a₂ * W'.a₆ * P x ^ 2 *
                                                                                        0 ^ 2 -
                                                                                    9 * W'.a₃ ^ 2 * P x ^ 3 * 0 +
                                                                                  6 * W'.a₃ ^ 2 * P y ^ 2 * 0 ^ 2 -
                                                                                12 * W'.a₃ * W'.a₄ * P x * P y * 0 ^ 2 +
                                                                              9 * W'.a₄ ^ 2 * P x ^ 2 * 0 ^ 2 -
                                                                            2 * W'.a₁ ^ 3 * P x ^ 3 * P y +
                                                                          W'.a₁ ^ 3 * P y ^ 3 * 0 +
                                                                        3 * W'.a₁ ^ 2 * W'.a₂ * P x ^ 4 +
                                                                      2 * W'.a₁ ^ 2 * W'.a₂ * P x * P y ^ 2 * 0 +
                                                                    3 * W'.a₁ ^ 2 * W'.a₃ * P x ^ 2 * P y * 0 +
                                                                  3 * W'.a₁ ^ 2 * W'.a₄ * P x ^ 3 * 0 -
                                                                W'.a₁ ^ 2 * W'.a₄ * P y ^ 2 * 0 ^ 2 -
                                                              12 * W'.a₁ * W'.a₂ ^ 2 * P x ^ 2 * P y * 0 -
                                                            6 * W'.a₁ * W'.a₂ * W'.a₃ * P x ^ 3 * 0 +
                                                          4 * W'.a₁ * W'.a₂ * W'.a₃ * P y ^ 2 * 0 ^ 2 -
                                                        8 * W'.a₁ * W'.a₂ * W'.a₄ * P x * P y * 0 ^ 2 +
                                                      6 * W'.a₁ * W'.a₃ ^ 2 * P x * P y * 0 ^ 2 -
                                                    W'.a₁ * W'.a₄ ^ 2 * P y * 0 ^ 3 +
                                                  8 * W'.a₂ ^ 3 * P x ^ 3 * 0 -
                                                8 * W'.a₂ ^ 2 * W'.a₃ * P x * P y * 0 ^ 2 +
                                              12 * W'.a₂ ^ 2 * W'.a₄ * P x ^ 2 * 0 ^ 2 -
                                            9 * W'.a₂ * W'.a₃ ^ 2 * P x ^ 2 * 0 ^ 2 -
                                          4 * W'.a₂ * W'.a₃ * W'.a₄ * P y * 0 ^ 3 +
                                        6 * W'.a₂ * W'.a₄ ^ 2 * P x * 0 ^ 3 +
                                      W'.a₃ ^ 3 * P y * 0 ^ 3 -
                                    3 * W'.a₃ ^ 2 * W'.a₄ * P x * 0 ^ 3 +
                                  W'.a₄ ^ 3 * 0 ^ 4 +
                                W'.a₁ ^ 4 * P x * P y ^ 2 * 0 -
                              3 * W'.a₁ ^ 3 * W'.a₂ * P x ^ 2 * P y * 0 +
                            W'.a₁ ^ 3 * W'.a₃ * P y ^ 2 * 0 ^ 2 -
                          2 * W'.a₁ ^ 3 * W'.a₄ * P x * P y * 0 ^ 2 +
                        2 * W'.a₁ ^ 2 * W'.a₂ ^ 2 * P x ^ 3 * 0 -
                      2 * W'.a₁ ^ 2 * W'.a₂ * W'.a₃ * P x * P y * 0 ^ 2 +
                    3 * W'.a₁ ^ 2 * W'.a₂ * W'.a₄ * P x ^ 2 * 0 ^ 2 -
                  2 * W'.a₁ ^ 2 * W'.a₃ * W'.a₄ * P y * 0 ^ 3 +
                W'.a₁ ^ 2 * W'.a₄ ^ 2 * P x * 0 ^ 3 +
              W'.a₁ * W'.a₂ * W'.a₃ ^ 2 * P y * 0 ^ 3 +
            2 * W'.a₁ * W'.a₂ * W'.a₃ * W'.a₄ * P x * 0 ^ 3 +
          W'.a₁ * W'.a₃ * W'.a₄ ^ 2 * 0 ^ 4 -
        2 * W'.a₂ ^ 2 * W'.a₃ ^ 2 * P x * 0 ^ 3 -
      W'.a₂ * W'.a₃ ^ 2 * W'.a₄ * 0 ^ 4 =
    -P y ^ 4

Tactic:
X_eq_zero_of_Z_eq_zero hP hPz

Goal state after:
R : Type r
inst✝¹ : CommRing R
W' : Projective R
inst✝ : NoZeroDivisors R
P : Fin 3 → R
hP : W'.Equation P
hPz : P z = 0
⊢ ⋯ - ⋯ - ⋯ * 0 ^ 4 + ⋯ * P y ^ 2 * 0 + ⋯ * 0 * P y * 0 ^ 2 + 9 * W'.a₂ ^ 2 * 0 ^ 4 - 8 * W'.a₂ ^ 2 * 0 * P y ^ 2 * 0 -
                                                                                            9 * W'.a₂ * W'.a₃ * 0 ^ 2 *
                                                                                                P y *
                                                                                              0 +
                                                                                          9 * W'.a₂ * W'.a₄ * 0 ^ 3 *
                                                                                            0 -
                                                                                        4 * W'.a₂ * W'.a₄ * P y ^ 2 *
                                                                                          0 ^ 2 -
                                                                                      27 * W'.a₂ * W'.a₆ * 0 ^ 2 *
                                                                                        0 ^ 2 -
                                                                                    9 * W'.a₃ ^ 2 * 0 ^ 3 * 0 +
                                                                                  6 * W'.a₃ ^ 2 * P y ^ 2 * 0 ^ 2 -
                                                                                12 * W'.a₃ * W'.a₄ * 0 * P y * 0 ^ 2 +
                                                                              9 * W'.a₄ ^ 2 * 0 ^ 2 * 0 ^ 2 -
                                                                            2 * W'.a₁ ^ 3 * 0 ^ 3 * P y +
                                                                          W'.a₁ ^ 3 * P y ^ 3 * 0 +
                                                                        3 * W'.a₁ ^ 2 * W'.a₂ * 0 ^ 4 +
                                                                      2 * W'.a₁ ^ 2 * W'.a₂ * 0 * P y ^ 2 * 0 +
                                                                    3 * W'.a₁ ^ 2 * W'.a₃ * 0 ^ 2 * P y * 0 +
                                                                  3 * W'.a₁ ^ 2 * W'.a₄ * 0 ^ 3 * 0 -
                                                                W'.a₁ ^ 2 * W'.a₄ * P y ^ 2 * 0 ^ 2 -
                                                              12 * W'.a₁ * W'.a₂ ^ 2 * 0 ^ 2 * P y * 0 -
                                                            6 * W'.a₁ * W'.a₂ * W'.a₃ * 0 ^ 3 * 0 +
                                                          4 * W'.a₁ * W'.a₂ * W'.a₃ * P y ^ 2 * 0 ^ 2 -
                                                        8 * W'.a₁ * W'.a₂ * W'.a₄ * 0 * P y * 0 ^ 2 +
                                                      6 * W'.a₁ * W'.a₃ ^ 2 * 0 * P y * 0 ^ 2 -
                                                    W'.a₁ * W'.a₄ ^ 2 * P y * 0 ^ 3 +
                                                  8 * W'.a₂ ^ 3 * 0 ^ 3 * 0 -
                                                8 * W'.a₂ ^ 2 * W'.a₃ * 0 * P y * 0 ^ 2 +
                                              12 * W'.a₂ ^ 2 * W'.a₄ * 0 ^ 2 * 0 ^ 2 -
                                            9 * W'.a₂ * W'.a₃ ^ 2 * 0 ^ 2 * 0 ^ 2 -
                                          4 * W'.a₂ * W'.a₃ * W'.a₄ * P y * 0 ^ 3 +
                                        6 * W'.a₂ * W'.a₄ ^ 2 * 0 * 0 ^ 3 +
                                      W'.a₃ ^ 3 * P y * 0 ^ 3 -
                                    3 * W'.a₃ ^ 2 * W'.a₄ * 0 * 0 ^ 3 +
                                  W'.a₄ ^ 3 * 0 ^ 4 +
                                W'.a₁ ^ 4 * 0 * P y ^ 2 * 0 -
                              3 * W'.a₁ ^ 3 * W'.a₂ * 0 ^ 2 * P y * 0 +
                            W'.a₁ ^ 3 * W'.a₃ * P y ^ 2 * 0 ^ 2 -
                          2 * W'.a₁ ^ 3 * W'.a₄ * 0 * P y * 0 ^ 2 +
                        2 * W'.a₁ ^ 2 * W'.a₂ ^ 2 * 0 ^ 3 * 0 -
                      2 * W'.a₁ ^ 2 * W'.a₂ * W'.a₃ * 0 * P y * 0 ^ 2 +
                    3 * W'.a₁ ^ 2 * W'.a₂ * W'.a₄ * 0 ^ 2 * 0 ^ 2 -
                  2 * W'.a₁ ^ 2 * W'.a₃ * W'.a₄ * P y * 0 ^ 3 +
                W'.a₁ ^ 2 * W'.a₄ ^ 2 * 0 * 0 ^ 3 +
              W'.a₁ * W'.a₂ * W'.a₃ ^ 2 * P y * 0 ^ 3 +
            2 * W'.a₁ * W'.a₂ * W'.a₃ * W'.a₄ * 0 * 0 ^ 3 +
          W'.a₁ * W'.a₃ * W'.a₄ ^ 2 * 0 ^ 4 -
        2 * W'.a₂ ^ 2 * W'.a₃ ^ 2 * 0 * 0 ^ 3 -
      W'.a₂ * W'.a₃ ^ 2 * W'.a₄ * 0 ^ 4 =
    -P y ^ 4