Metamath Proof Explorer


Theorem vieta1lem1

Description: Lemma for vieta1 . (Contributed by Mario Carneiro, 28-Jul-2014)

Ref Expression
Hypotheses vieta1.1 𝐴 = ( coeff ‘ 𝐹 )
vieta1.2 𝑁 = ( deg ‘ 𝐹 )
vieta1.3 𝑅 = ( 𝐹 “ { 0 } )
vieta1.4 ( 𝜑𝐹 ∈ ( Poly ‘ 𝑆 ) )
vieta1.5 ( 𝜑 → ( ♯ ‘ 𝑅 ) = 𝑁 )
vieta1lem.6 ( 𝜑𝐷 ∈ ℕ )
vieta1lem.7 ( 𝜑 → ( 𝐷 + 1 ) = 𝑁 )
vieta1lem.8 ( 𝜑 → ∀ 𝑓 ∈ ( Poly ‘ ℂ ) ( ( 𝐷 = ( deg ‘ 𝑓 ) ∧ ( ♯ ‘ ( 𝑓 “ { 0 } ) ) = ( deg ‘ 𝑓 ) ) → Σ 𝑥 ∈ ( 𝑓 “ { 0 } ) 𝑥 = - ( ( ( coeff ‘ 𝑓 ) ‘ ( ( deg ‘ 𝑓 ) − 1 ) ) / ( ( coeff ‘ 𝑓 ) ‘ ( deg ‘ 𝑓 ) ) ) ) )
vieta1lem.9 𝑄 = ( 𝐹 quot ( Xpf − ( ℂ × { 𝑧 } ) ) )
Assertion vieta1lem1 ( ( 𝜑𝑧𝑅 ) → ( 𝑄 ∈ ( Poly ‘ ℂ ) ∧ 𝐷 = ( deg ‘ 𝑄 ) ) )

Proof

Step Hyp Ref Expression
1 vieta1.1 𝐴 = ( coeff ‘ 𝐹 )
2 vieta1.2 𝑁 = ( deg ‘ 𝐹 )
3 vieta1.3 𝑅 = ( 𝐹 “ { 0 } )
4 vieta1.4 ( 𝜑𝐹 ∈ ( Poly ‘ 𝑆 ) )
5 vieta1.5 ( 𝜑 → ( ♯ ‘ 𝑅 ) = 𝑁 )
6 vieta1lem.6 ( 𝜑𝐷 ∈ ℕ )
7 vieta1lem.7 ( 𝜑 → ( 𝐷 + 1 ) = 𝑁 )
8 vieta1lem.8 ( 𝜑 → ∀ 𝑓 ∈ ( Poly ‘ ℂ ) ( ( 𝐷 = ( deg ‘ 𝑓 ) ∧ ( ♯ ‘ ( 𝑓 “ { 0 } ) ) = ( deg ‘ 𝑓 ) ) → Σ 𝑥 ∈ ( 𝑓 “ { 0 } ) 𝑥 = - ( ( ( coeff ‘ 𝑓 ) ‘ ( ( deg ‘ 𝑓 ) − 1 ) ) / ( ( coeff ‘ 𝑓 ) ‘ ( deg ‘ 𝑓 ) ) ) ) )
9 vieta1lem.9 𝑄 = ( 𝐹 quot ( Xpf − ( ℂ × { 𝑧 } ) ) )
10 plyssc ( Poly ‘ 𝑆 ) ⊆ ( Poly ‘ ℂ )
11 4 adantr ( ( 𝜑𝑧𝑅 ) → 𝐹 ∈ ( Poly ‘ 𝑆 ) )
12 10 11 sseldi ( ( 𝜑𝑧𝑅 ) → 𝐹 ∈ ( Poly ‘ ℂ ) )
13 cnvimass ( 𝐹 “ { 0 } ) ⊆ dom 𝐹
14 3 13 eqsstri 𝑅 ⊆ dom 𝐹
15 plyf ( 𝐹 ∈ ( Poly ‘ 𝑆 ) → 𝐹 : ℂ ⟶ ℂ )
16 4 15 syl ( 𝜑𝐹 : ℂ ⟶ ℂ )
17 14 16 fssdm ( 𝜑𝑅 ⊆ ℂ )
18 17 sselda ( ( 𝜑𝑧𝑅 ) → 𝑧 ∈ ℂ )
19 eqid ( Xpf − ( ℂ × { 𝑧 } ) ) = ( Xpf − ( ℂ × { 𝑧 } ) )
20 19 plyremlem ( 𝑧 ∈ ℂ → ( ( Xpf − ( ℂ × { 𝑧 } ) ) ∈ ( Poly ‘ ℂ ) ∧ ( deg ‘ ( Xpf − ( ℂ × { 𝑧 } ) ) ) = 1 ∧ ( ( Xpf − ( ℂ × { 𝑧 } ) ) “ { 0 } ) = { 𝑧 } ) )
21 18 20 syl ( ( 𝜑𝑧𝑅 ) → ( ( Xpf − ( ℂ × { 𝑧 } ) ) ∈ ( Poly ‘ ℂ ) ∧ ( deg ‘ ( Xpf − ( ℂ × { 𝑧 } ) ) ) = 1 ∧ ( ( Xpf − ( ℂ × { 𝑧 } ) ) “ { 0 } ) = { 𝑧 } ) )
22 21 simp1d ( ( 𝜑𝑧𝑅 ) → ( Xpf − ( ℂ × { 𝑧 } ) ) ∈ ( Poly ‘ ℂ ) )
23 21 simp2d ( ( 𝜑𝑧𝑅 ) → ( deg ‘ ( Xpf − ( ℂ × { 𝑧 } ) ) ) = 1 )
24 ax-1ne0 1 ≠ 0
25 24 a1i ( ( 𝜑𝑧𝑅 ) → 1 ≠ 0 )
26 23 25 eqnetrd ( ( 𝜑𝑧𝑅 ) → ( deg ‘ ( Xpf − ( ℂ × { 𝑧 } ) ) ) ≠ 0 )
27 fveq2 ( ( Xpf − ( ℂ × { 𝑧 } ) ) = 0𝑝 → ( deg ‘ ( Xpf − ( ℂ × { 𝑧 } ) ) ) = ( deg ‘ 0𝑝 ) )
28 dgr0 ( deg ‘ 0𝑝 ) = 0
29 27 28 syl6eq ( ( Xpf − ( ℂ × { 𝑧 } ) ) = 0𝑝 → ( deg ‘ ( Xpf − ( ℂ × { 𝑧 } ) ) ) = 0 )
30 29 necon3i ( ( deg ‘ ( Xpf − ( ℂ × { 𝑧 } ) ) ) ≠ 0 → ( Xpf − ( ℂ × { 𝑧 } ) ) ≠ 0𝑝 )
31 26 30 syl ( ( 𝜑𝑧𝑅 ) → ( Xpf − ( ℂ × { 𝑧 } ) ) ≠ 0𝑝 )
32 quotcl2 ( ( 𝐹 ∈ ( Poly ‘ ℂ ) ∧ ( Xpf − ( ℂ × { 𝑧 } ) ) ∈ ( Poly ‘ ℂ ) ∧ ( Xpf − ( ℂ × { 𝑧 } ) ) ≠ 0𝑝 ) → ( 𝐹 quot ( Xpf − ( ℂ × { 𝑧 } ) ) ) ∈ ( Poly ‘ ℂ ) )
33 12 22 31 32 syl3anc ( ( 𝜑𝑧𝑅 ) → ( 𝐹 quot ( Xpf − ( ℂ × { 𝑧 } ) ) ) ∈ ( Poly ‘ ℂ ) )
34 9 33 eqeltrid ( ( 𝜑𝑧𝑅 ) → 𝑄 ∈ ( Poly ‘ ℂ ) )
35 1cnd ( ( 𝜑𝑧𝑅 ) → 1 ∈ ℂ )
36 6 nncnd ( 𝜑𝐷 ∈ ℂ )
37 36 adantr ( ( 𝜑𝑧𝑅 ) → 𝐷 ∈ ℂ )
38 dgrcl ( 𝑄 ∈ ( Poly ‘ ℂ ) → ( deg ‘ 𝑄 ) ∈ ℕ0 )
39 34 38 syl ( ( 𝜑𝑧𝑅 ) → ( deg ‘ 𝑄 ) ∈ ℕ0 )
40 39 nn0cnd ( ( 𝜑𝑧𝑅 ) → ( deg ‘ 𝑄 ) ∈ ℂ )
41 ax-1cn 1 ∈ ℂ
42 addcom ( ( 1 ∈ ℂ ∧ 𝐷 ∈ ℂ ) → ( 1 + 𝐷 ) = ( 𝐷 + 1 ) )
43 41 37 42 sylancr ( ( 𝜑𝑧𝑅 ) → ( 1 + 𝐷 ) = ( 𝐷 + 1 ) )
44 7 2 syl6eq ( 𝜑 → ( 𝐷 + 1 ) = ( deg ‘ 𝐹 ) )
45 44 adantr ( ( 𝜑𝑧𝑅 ) → ( 𝐷 + 1 ) = ( deg ‘ 𝐹 ) )
46 3 eleq2i ( 𝑧𝑅𝑧 ∈ ( 𝐹 “ { 0 } ) )
47 16 ffnd ( 𝜑𝐹 Fn ℂ )
48 fniniseg ( 𝐹 Fn ℂ → ( 𝑧 ∈ ( 𝐹 “ { 0 } ) ↔ ( 𝑧 ∈ ℂ ∧ ( 𝐹𝑧 ) = 0 ) ) )
49 47 48 syl ( 𝜑 → ( 𝑧 ∈ ( 𝐹 “ { 0 } ) ↔ ( 𝑧 ∈ ℂ ∧ ( 𝐹𝑧 ) = 0 ) ) )
50 46 49 syl5bb ( 𝜑 → ( 𝑧𝑅 ↔ ( 𝑧 ∈ ℂ ∧ ( 𝐹𝑧 ) = 0 ) ) )
51 50 simplbda ( ( 𝜑𝑧𝑅 ) → ( 𝐹𝑧 ) = 0 )
52 19 facth ( ( 𝐹 ∈ ( Poly ‘ 𝑆 ) ∧ 𝑧 ∈ ℂ ∧ ( 𝐹𝑧 ) = 0 ) → 𝐹 = ( ( Xpf − ( ℂ × { 𝑧 } ) ) ∘f · ( 𝐹 quot ( Xpf − ( ℂ × { 𝑧 } ) ) ) ) )
53 11 18 51 52 syl3anc ( ( 𝜑𝑧𝑅 ) → 𝐹 = ( ( Xpf − ( ℂ × { 𝑧 } ) ) ∘f · ( 𝐹 quot ( Xpf − ( ℂ × { 𝑧 } ) ) ) ) )
54 9 oveq2i ( ( Xpf − ( ℂ × { 𝑧 } ) ) ∘f · 𝑄 ) = ( ( Xpf − ( ℂ × { 𝑧 } ) ) ∘f · ( 𝐹 quot ( Xpf − ( ℂ × { 𝑧 } ) ) ) )
55 53 54 eqtr4di ( ( 𝜑𝑧𝑅 ) → 𝐹 = ( ( Xpf − ( ℂ × { 𝑧 } ) ) ∘f · 𝑄 ) )
56 55 fveq2d ( ( 𝜑𝑧𝑅 ) → ( deg ‘ 𝐹 ) = ( deg ‘ ( ( Xpf − ( ℂ × { 𝑧 } ) ) ∘f · 𝑄 ) ) )
57 6 peano2nnd ( 𝜑 → ( 𝐷 + 1 ) ∈ ℕ )
58 7 57 eqeltrrd ( 𝜑𝑁 ∈ ℕ )
59 58 nnne0d ( 𝜑𝑁 ≠ 0 )
60 2 59 eqnetrrid ( 𝜑 → ( deg ‘ 𝐹 ) ≠ 0 )
61 fveq2 ( 𝐹 = 0𝑝 → ( deg ‘ 𝐹 ) = ( deg ‘ 0𝑝 ) )
62 61 28 syl6eq ( 𝐹 = 0𝑝 → ( deg ‘ 𝐹 ) = 0 )
63 62 necon3i ( ( deg ‘ 𝐹 ) ≠ 0 → 𝐹 ≠ 0𝑝 )
64 60 63 syl ( 𝜑𝐹 ≠ 0𝑝 )
65 64 adantr ( ( 𝜑𝑧𝑅 ) → 𝐹 ≠ 0𝑝 )
66 55 65 eqnetrrd ( ( 𝜑𝑧𝑅 ) → ( ( Xpf − ( ℂ × { 𝑧 } ) ) ∘f · 𝑄 ) ≠ 0𝑝 )
67 plymul0or ( ( ( Xpf − ( ℂ × { 𝑧 } ) ) ∈ ( Poly ‘ ℂ ) ∧ 𝑄 ∈ ( Poly ‘ ℂ ) ) → ( ( ( Xpf − ( ℂ × { 𝑧 } ) ) ∘f · 𝑄 ) = 0𝑝 ↔ ( ( Xpf − ( ℂ × { 𝑧 } ) ) = 0𝑝𝑄 = 0𝑝 ) ) )
68 22 34 67 syl2anc ( ( 𝜑𝑧𝑅 ) → ( ( ( Xpf − ( ℂ × { 𝑧 } ) ) ∘f · 𝑄 ) = 0𝑝 ↔ ( ( Xpf − ( ℂ × { 𝑧 } ) ) = 0𝑝𝑄 = 0𝑝 ) ) )
69 68 necon3abid ( ( 𝜑𝑧𝑅 ) → ( ( ( Xpf − ( ℂ × { 𝑧 } ) ) ∘f · 𝑄 ) ≠ 0𝑝 ↔ ¬ ( ( Xpf − ( ℂ × { 𝑧 } ) ) = 0𝑝𝑄 = 0𝑝 ) ) )
70 66 69 mpbid ( ( 𝜑𝑧𝑅 ) → ¬ ( ( Xpf − ( ℂ × { 𝑧 } ) ) = 0𝑝𝑄 = 0𝑝 ) )
71 neanior ( ( ( Xpf − ( ℂ × { 𝑧 } ) ) ≠ 0𝑝𝑄 ≠ 0𝑝 ) ↔ ¬ ( ( Xpf − ( ℂ × { 𝑧 } ) ) = 0𝑝𝑄 = 0𝑝 ) )
72 70 71 sylibr ( ( 𝜑𝑧𝑅 ) → ( ( Xpf − ( ℂ × { 𝑧 } ) ) ≠ 0𝑝𝑄 ≠ 0𝑝 ) )
73 72 simprd ( ( 𝜑𝑧𝑅 ) → 𝑄 ≠ 0𝑝 )
74 eqid ( deg ‘ ( Xpf − ( ℂ × { 𝑧 } ) ) ) = ( deg ‘ ( Xpf − ( ℂ × { 𝑧 } ) ) )
75 eqid ( deg ‘ 𝑄 ) = ( deg ‘ 𝑄 )
76 74 75 dgrmul ( ( ( ( Xpf − ( ℂ × { 𝑧 } ) ) ∈ ( Poly ‘ ℂ ) ∧ ( Xpf − ( ℂ × { 𝑧 } ) ) ≠ 0𝑝 ) ∧ ( 𝑄 ∈ ( Poly ‘ ℂ ) ∧ 𝑄 ≠ 0𝑝 ) ) → ( deg ‘ ( ( Xpf − ( ℂ × { 𝑧 } ) ) ∘f · 𝑄 ) ) = ( ( deg ‘ ( Xpf − ( ℂ × { 𝑧 } ) ) ) + ( deg ‘ 𝑄 ) ) )
77 22 31 34 73 76 syl22anc ( ( 𝜑𝑧𝑅 ) → ( deg ‘ ( ( Xpf − ( ℂ × { 𝑧 } ) ) ∘f · 𝑄 ) ) = ( ( deg ‘ ( Xpf − ( ℂ × { 𝑧 } ) ) ) + ( deg ‘ 𝑄 ) ) )
78 45 56 77 3eqtrd ( ( 𝜑𝑧𝑅 ) → ( 𝐷 + 1 ) = ( ( deg ‘ ( Xpf − ( ℂ × { 𝑧 } ) ) ) + ( deg ‘ 𝑄 ) ) )
79 23 oveq1d ( ( 𝜑𝑧𝑅 ) → ( ( deg ‘ ( Xpf − ( ℂ × { 𝑧 } ) ) ) + ( deg ‘ 𝑄 ) ) = ( 1 + ( deg ‘ 𝑄 ) ) )
80 43 78 79 3eqtrd ( ( 𝜑𝑧𝑅 ) → ( 1 + 𝐷 ) = ( 1 + ( deg ‘ 𝑄 ) ) )
81 35 37 40 80 addcanad ( ( 𝜑𝑧𝑅 ) → 𝐷 = ( deg ‘ 𝑄 ) )
82 34 81 jca ( ( 𝜑𝑧𝑅 ) → ( 𝑄 ∈ ( Poly ‘ ℂ ) ∧ 𝐷 = ( deg ‘ 𝑄 ) ) )