-- Mathlib/AlgebraicGeometry/EllipticCurve/Projective.lean
@[simp]
lemma map_negDblY (P : Fin 3 → R) : (W'.map f).toProjective.negDblY (f ∘ P) = f (W'.negDblY P)

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

Tactic:
simp only [negDblY, map_dblU, map_dblX, map_negY]

Result:
R : Type r
inst✝¹ : CommRing R
W' : Projective R
S : Type v
inst✝ : CommRing S
f : R →+* S
P : Fin 3 → R
⊢ ⋯ - ⋯ - ⋯ * ⋯ + ⋯ * ⋯ * (⇑f ∘ P) z + ⋯ * ⋯ * (⇑f ∘ P) y * (⇑f ∘ P) z ^ 2 +
                                                                                                9 *
                                                                                                    (map W'
                                                                                                            f).toProjective.a₂ ^
                                                                                                      2 *
                                                                                                  (⇑f ∘ P) x ^ 4 -
                                                                                              8 *
                                                                                                      (map W'
                                                                                                              f).toProjective.a₂ ^
                                                                                                        2 *
                                                                                                    (⇑f ∘ P) x *
                                                                                                  (⇑f ∘ P) y ^ 2 *
                                                                                                (⇑f ∘ P) z -
                                                                                            9 *
                                                                                                      (map W'
                                                                                                            f).toProjective.a₂ *
                                                                                                    (map W'
                                                                                                          f).toProjective.a₃ *
                                                                                                  (⇑f ∘ P) x ^ 2 *
                                                                                                (⇑f ∘ P) y *
                                                                                              (⇑f ∘ P) z +
                                                                                          9 *
                                                                                                  (map W'
                                                                                                        f).toProjective.a₂ *
                                                                                                (map W'
                                                                                                      f).toProjective.a₄ *
                                                                                              (⇑f ∘ P) x ^ 3 *
                                                                                            (⇑f ∘ P) z -
                                                                                        4 * (map W' f).toProjective.a₂ *
                                                                                              (map W'
                                                                                                    f).toProjective.a₄ *
                                                                                            (⇑f ∘ P) y ^ 2 *
                                                                                          (⇑f ∘ P) z ^ 2 -
                                                                                      27 * (map W' f).toProjective.a₂ *
                                                                                            (map W' f).toProjective.a₆ *
                                                                                          (⇑f ∘ P) x ^ 2 *
                                                                                        (⇑f ∘ P) z ^ 2 -
                                                                                    9 * (map W' f).toProjective.a₃ ^ 2 *
                                                                                        (⇑f ∘ P) x ^ 3 *
                                                                                      (⇑f ∘ P) z +
                                                                                  6 * (map W' f).toProjective.a₃ ^ 2 *
                                                                                      (⇑f ∘ P) y ^ 2 *
                                                                                    (⇑f ∘ P) z ^ 2 -
                                                                                12 * (map W' f).toProjective.a₃ *
                                                                                        (map W' f).toProjective.a₄ *
                                                                                      (⇑f ∘ P) x *
                                                                                    (⇑f ∘ P) y *
                                                                                  (⇑f ∘ P) z ^ 2 +
                                                                              9 * (map W' f).toProjective.a₄ ^ 2 *
                                                                                  (⇑f ∘ P) x ^ 2 *
                                                                                (⇑f ∘ P) z ^ 2 -
                                                                            2 * (map W' f).toProjective.a₁ ^ 3 *
                                                                                (⇑f ∘ P) x ^ 3 *
                                                                              (⇑f ∘ P) y +
                                                                          (map W' f).toProjective.a₁ ^ 3 *
                                                                              (⇑f ∘ P) y ^ 3 *
                                                                            (⇑f ∘ P) z +
                                                                        3 * (map W' f).toProjective.a₁ ^ 2 *
                                                                            (map W' f).toProjective.a₂ *
                                                                          (⇑f ∘ P) x ^ 4 +
                                                                      2 * (map W' f).toProjective.a₁ ^ 2 *
                                                                              (map W' f).toProjective.a₂ *
                                                                            (⇑f ∘ P) x *
                                                                          (⇑f ∘ P) y ^ 2 *
                                                                        (⇑f ∘ P) z +
                                                                    3 * (map W' f).toProjective.a₁ ^ 2 *
                                                                            (map W' f).toProjective.a₃ *
                                                                          (⇑f ∘ P) x ^ 2 *
                                                                        (⇑f ∘ P) y *
                                                                      (⇑f ∘ P) z +
                                                                  3 * (map W' f).toProjective.a₁ ^ 2 *
                                                                        (map W' f).toProjective.a₄ *
                                                                      (⇑f ∘ P) x ^ 3 *
                                                                    (⇑f ∘ P) z -
                                                                (map W' f).toProjective.a₁ ^ 2 *
                                                                      (map W' f).toProjective.a₄ *
                                                                    (⇑f ∘ P) y ^ 2 *
                                                                  (⇑f ∘ P) z ^ 2 -
                                                              12 * (map W' f).toProjective.a₁ *
                                                                      (map W' f).toProjective.a₂ ^ 2 *
                                                                    (⇑f ∘ P) x ^ 2 *
                                                                  (⇑f ∘ P) y *
                                                                (⇑f ∘ P) z -
                                                            6 * (map W' f).toProjective.a₁ *
                                                                    (map W' f).toProjective.a₂ *
                                                                  (map W' f).toProjective.a₃ *
                                                                (⇑f ∘ P) x ^ 3 *
                                                              (⇑f ∘ P) z +
                                                          4 * (map W' f).toProjective.a₁ * (map W' f).toProjective.a₂ *
                                                                (map W' f).toProjective.a₃ *
                                                              (⇑f ∘ P) y ^ 2 *
                                                            (⇑f ∘ P) z ^ 2 -
                                                        8 * (map W' f).toProjective.a₁ * (map W' f).toProjective.a₂ *
                                                                (map W' f).toProjective.a₄ *
                                                              (⇑f ∘ P) x *
                                                            (⇑f ∘ P) y *
                                                          (⇑f ∘ P) z ^ 2 +
                                                      6 * (map W' f).toProjective.a₁ * (map W' f).toProjective.a₃ ^ 2 *
                                                            (⇑f ∘ P) x *
                                                          (⇑f ∘ P) y *
                                                        (⇑f ∘ P) z ^ 2 -
                                                    (map W' f).toProjective.a₁ * (map W' f).toProjective.a₄ ^ 2 *
                                                        (⇑f ∘ P) y *
                                                      (⇑f ∘ P) z ^ 3 +
                                                  8 * (map W' f).toProjective.a₂ ^ 3 * (⇑f ∘ P) x ^ 3 * (⇑f ∘ P) z -
                                                8 * (map W' f).toProjective.a₂ ^ 2 * (map W' f).toProjective.a₃ *
                                                      (⇑f ∘ P) x *
                                                    (⇑f ∘ P) y *
                                                  (⇑f ∘ P) z ^ 2 +
                                              12 * (map W' f).toProjective.a₂ ^ 2 * (map W' f).toProjective.a₄ *
                                                  (⇑f ∘ P) x ^ 2 *
                                                (⇑f ∘ P) z ^ 2 -
                                            9 * (map W' f).toProjective.a₂ * (map W' f).toProjective.a₃ ^ 2 *
                                                (⇑f ∘ P) x ^ 2 *
                                              (⇑f ∘ P) z ^ 2 -
                                          4 * (map W' f).toProjective.a₂ * (map W' f).toProjective.a₃ *
                                                (map W' f).toProjective.a₄ *
                                              (⇑f ∘ P) y *
                                            (⇑f ∘ P) z ^ 3 +
                                        6 * (map W' f).toProjective.a₂ * (map W' f).toProjective.a₄ ^ 2 * (⇑f ∘ P) x *
                                          (⇑f ∘ P) z ^ 3 +
                                      (map W' f).toProjective.a₃ ^ 3 * (⇑f ∘ P) y * (⇑f ∘ P) z ^ 3 -
                                    3 * (map W' f).toProjective.a₃ ^ 2 * (map W' f).toProjective.a₄ * (⇑f ∘ P) x *
                                      (⇑f ∘ P) z ^ 3 +
                                  (map W' f).toProjective.a₄ ^ 3 * (⇑f ∘ P) z ^ 4 +
                                (map W' f).toProjective.a₁ ^ 4 * (⇑f ∘ P) x * (⇑f ∘ P) y ^ 2 * (⇑f ∘ P) z -
                              3 * (map W' f).toProjective.a₁ ^ 3 * (map W' f).toProjective.a₂ * (⇑f ∘ P) x ^ 2 *
                                  (⇑f ∘ P) y *
                                (⇑f ∘ P) z +
                            (map W' f).toProjective.a₁ ^ 3 * (map W' f).toProjective.a₃ * (⇑f ∘ P) y ^ 2 *
                              (⇑f ∘ P) z ^ 2 -
                          2 * (map W' f).toProjective.a₁ ^ 3 * (map W' f).toProjective.a₄ * (⇑f ∘ P) x * (⇑f ∘ P) y *
                            (⇑f ∘ P) z ^ 2 +
                        2 * (map W' f).toProjective.a₁ ^ 2 * (map W' f).toProjective.a₂ ^ 2 * (⇑f ∘ P) x ^ 3 *
                          (⇑f ∘ P) z -
                      2 * (map W' f).toProjective.a₁ ^ 2 * (map W' f).toProjective.a₂ * (map W' f).toProjective.a₃ *
                            (⇑f ∘ P) x *
                          (⇑f ∘ P) y *
                        (⇑f ∘ P) z ^ 2 +
                    3 * (map W' f).toProjective.a₁ ^ 2 * (map W' f).toProjective.a₂ * (map W' f).toProjective.a₄ *
                        (⇑f ∘ P) x ^ 2 *
                      (⇑f ∘ P) z ^ 2 -
                  2 * (map W' f).toProjective.a₁ ^ 2 * (map W' f).toProjective.a₃ * (map W' f).toProjective.a₄ *
                      (⇑f ∘ P) y *
                    (⇑f ∘ P) z ^ 3 +
                (map W' f).toProjective.a₁ ^ 2 * (map W' f).toProjective.a₄ ^ 2 * (⇑f ∘ P) x * (⇑f ∘ P) z ^ 3 +
              (map W' f).toProjective.a₁ * (map W' f).toProjective.a₂ * (map W' f).toProjective.a₃ ^ 2 * (⇑f ∘ P) y *
                (⇑f ∘ P) z ^ 3 +
            2 * (map W' f).toProjective.a₁ * (map W' f).toProjective.a₂ * (map W' f).toProjective.a₃ *
                  (map W' f).toProjective.a₄ *
                (⇑f ∘ P) x *
              (⇑f ∘ P) z ^ 3 +
          (map W' f).toProjective.a₁ * (map W' f).toProjective.a₃ * (map W' f).toProjective.a₄ ^ 2 * (⇑f ∘ P) z ^ 4 -
        2 * (map W' f).toProjective.a₂ ^ 2 * (map W' f).toProjective.a₃ ^ 2 * (⇑f ∘ P) x * (⇑f ∘ P) z ^ 3 -
      (map W' f).toProjective.a₂ * (map W' f).toProjective.a₃ ^ 2 * (map W' f).toProjective.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)