Metamath Proof Explorer


Theorem facth

Description: The factor theorem. If a polynomial F has a root at A , then G = x - A is a factor of F (and the other factor is F quot G ). This is part of Metamath 100 proof #89. (Contributed by Mario Carneiro, 26-Jul-2014)

Ref Expression
Hypothesis facth.1 𝐺 = ( Xpf − ( ℂ × { 𝐴 } ) )
Assertion facth ( ( 𝐹 ∈ ( Poly ‘ 𝑆 ) ∧ 𝐴 ∈ ℂ ∧ ( 𝐹𝐴 ) = 0 ) → 𝐹 = ( 𝐺f · ( 𝐹 quot 𝐺 ) ) )

Proof

Step Hyp Ref Expression
1 facth.1 𝐺 = ( Xpf − ( ℂ × { 𝐴 } ) )
2 eqid ( 𝐹f − ( 𝐺f · ( 𝐹 quot 𝐺 ) ) ) = ( 𝐹f − ( 𝐺f · ( 𝐹 quot 𝐺 ) ) )
3 1 2 plyrem ( ( 𝐹 ∈ ( Poly ‘ 𝑆 ) ∧ 𝐴 ∈ ℂ ) → ( 𝐹f − ( 𝐺f · ( 𝐹 quot 𝐺 ) ) ) = ( ℂ × { ( 𝐹𝐴 ) } ) )
4 3 3adant3 ( ( 𝐹 ∈ ( Poly ‘ 𝑆 ) ∧ 𝐴 ∈ ℂ ∧ ( 𝐹𝐴 ) = 0 ) → ( 𝐹f − ( 𝐺f · ( 𝐹 quot 𝐺 ) ) ) = ( ℂ × { ( 𝐹𝐴 ) } ) )
5 simp3 ( ( 𝐹 ∈ ( Poly ‘ 𝑆 ) ∧ 𝐴 ∈ ℂ ∧ ( 𝐹𝐴 ) = 0 ) → ( 𝐹𝐴 ) = 0 )
6 5 sneqd ( ( 𝐹 ∈ ( Poly ‘ 𝑆 ) ∧ 𝐴 ∈ ℂ ∧ ( 𝐹𝐴 ) = 0 ) → { ( 𝐹𝐴 ) } = { 0 } )
7 6 xpeq2d ( ( 𝐹 ∈ ( Poly ‘ 𝑆 ) ∧ 𝐴 ∈ ℂ ∧ ( 𝐹𝐴 ) = 0 ) → ( ℂ × { ( 𝐹𝐴 ) } ) = ( ℂ × { 0 } ) )
8 4 7 eqtrd ( ( 𝐹 ∈ ( Poly ‘ 𝑆 ) ∧ 𝐴 ∈ ℂ ∧ ( 𝐹𝐴 ) = 0 ) → ( 𝐹f − ( 𝐺f · ( 𝐹 quot 𝐺 ) ) ) = ( ℂ × { 0 } ) )
9 cnex ℂ ∈ V
10 9 a1i ( ( 𝐹 ∈ ( Poly ‘ 𝑆 ) ∧ 𝐴 ∈ ℂ ∧ ( 𝐹𝐴 ) = 0 ) → ℂ ∈ V )
11 simp1 ( ( 𝐹 ∈ ( Poly ‘ 𝑆 ) ∧ 𝐴 ∈ ℂ ∧ ( 𝐹𝐴 ) = 0 ) → 𝐹 ∈ ( Poly ‘ 𝑆 ) )
12 plyf ( 𝐹 ∈ ( Poly ‘ 𝑆 ) → 𝐹 : ℂ ⟶ ℂ )
13 11 12 syl ( ( 𝐹 ∈ ( Poly ‘ 𝑆 ) ∧ 𝐴 ∈ ℂ ∧ ( 𝐹𝐴 ) = 0 ) → 𝐹 : ℂ ⟶ ℂ )
14 1 plyremlem ( 𝐴 ∈ ℂ → ( 𝐺 ∈ ( Poly ‘ ℂ ) ∧ ( deg ‘ 𝐺 ) = 1 ∧ ( 𝐺 “ { 0 } ) = { 𝐴 } ) )
15 14 3ad2ant2 ( ( 𝐹 ∈ ( Poly ‘ 𝑆 ) ∧ 𝐴 ∈ ℂ ∧ ( 𝐹𝐴 ) = 0 ) → ( 𝐺 ∈ ( Poly ‘ ℂ ) ∧ ( deg ‘ 𝐺 ) = 1 ∧ ( 𝐺 “ { 0 } ) = { 𝐴 } ) )
16 15 simp1d ( ( 𝐹 ∈ ( Poly ‘ 𝑆 ) ∧ 𝐴 ∈ ℂ ∧ ( 𝐹𝐴 ) = 0 ) → 𝐺 ∈ ( Poly ‘ ℂ ) )
17 plyssc ( Poly ‘ 𝑆 ) ⊆ ( Poly ‘ ℂ )
18 17 11 sseldi ( ( 𝐹 ∈ ( Poly ‘ 𝑆 ) ∧ 𝐴 ∈ ℂ ∧ ( 𝐹𝐴 ) = 0 ) → 𝐹 ∈ ( Poly ‘ ℂ ) )
19 15 simp2d ( ( 𝐹 ∈ ( Poly ‘ 𝑆 ) ∧ 𝐴 ∈ ℂ ∧ ( 𝐹𝐴 ) = 0 ) → ( deg ‘ 𝐺 ) = 1 )
20 ax-1ne0 1 ≠ 0
21 20 a1i ( ( 𝐹 ∈ ( Poly ‘ 𝑆 ) ∧ 𝐴 ∈ ℂ ∧ ( 𝐹𝐴 ) = 0 ) → 1 ≠ 0 )
22 19 21 eqnetrd ( ( 𝐹 ∈ ( Poly ‘ 𝑆 ) ∧ 𝐴 ∈ ℂ ∧ ( 𝐹𝐴 ) = 0 ) → ( deg ‘ 𝐺 ) ≠ 0 )
23 fveq2 ( 𝐺 = 0𝑝 → ( deg ‘ 𝐺 ) = ( deg ‘ 0𝑝 ) )
24 dgr0 ( deg ‘ 0𝑝 ) = 0
25 23 24 syl6eq ( 𝐺 = 0𝑝 → ( deg ‘ 𝐺 ) = 0 )
26 25 necon3i ( ( deg ‘ 𝐺 ) ≠ 0 → 𝐺 ≠ 0𝑝 )
27 22 26 syl ( ( 𝐹 ∈ ( Poly ‘ 𝑆 ) ∧ 𝐴 ∈ ℂ ∧ ( 𝐹𝐴 ) = 0 ) → 𝐺 ≠ 0𝑝 )
28 quotcl2 ( ( 𝐹 ∈ ( Poly ‘ ℂ ) ∧ 𝐺 ∈ ( Poly ‘ ℂ ) ∧ 𝐺 ≠ 0𝑝 ) → ( 𝐹 quot 𝐺 ) ∈ ( Poly ‘ ℂ ) )
29 18 16 27 28 syl3anc ( ( 𝐹 ∈ ( Poly ‘ 𝑆 ) ∧ 𝐴 ∈ ℂ ∧ ( 𝐹𝐴 ) = 0 ) → ( 𝐹 quot 𝐺 ) ∈ ( Poly ‘ ℂ ) )
30 plymulcl ( ( 𝐺 ∈ ( Poly ‘ ℂ ) ∧ ( 𝐹 quot 𝐺 ) ∈ ( Poly ‘ ℂ ) ) → ( 𝐺f · ( 𝐹 quot 𝐺 ) ) ∈ ( Poly ‘ ℂ ) )
31 16 29 30 syl2anc ( ( 𝐹 ∈ ( Poly ‘ 𝑆 ) ∧ 𝐴 ∈ ℂ ∧ ( 𝐹𝐴 ) = 0 ) → ( 𝐺f · ( 𝐹 quot 𝐺 ) ) ∈ ( Poly ‘ ℂ ) )
32 plyf ( ( 𝐺f · ( 𝐹 quot 𝐺 ) ) ∈ ( Poly ‘ ℂ ) → ( 𝐺f · ( 𝐹 quot 𝐺 ) ) : ℂ ⟶ ℂ )
33 31 32 syl ( ( 𝐹 ∈ ( Poly ‘ 𝑆 ) ∧ 𝐴 ∈ ℂ ∧ ( 𝐹𝐴 ) = 0 ) → ( 𝐺f · ( 𝐹 quot 𝐺 ) ) : ℂ ⟶ ℂ )
34 ofsubeq0 ( ( ℂ ∈ V ∧ 𝐹 : ℂ ⟶ ℂ ∧ ( 𝐺f · ( 𝐹 quot 𝐺 ) ) : ℂ ⟶ ℂ ) → ( ( 𝐹f − ( 𝐺f · ( 𝐹 quot 𝐺 ) ) ) = ( ℂ × { 0 } ) ↔ 𝐹 = ( 𝐺f · ( 𝐹 quot 𝐺 ) ) ) )
35 10 13 33 34 syl3anc ( ( 𝐹 ∈ ( Poly ‘ 𝑆 ) ∧ 𝐴 ∈ ℂ ∧ ( 𝐹𝐴 ) = 0 ) → ( ( 𝐹f − ( 𝐺f · ( 𝐹 quot 𝐺 ) ) ) = ( ℂ × { 0 } ) ↔ 𝐹 = ( 𝐺f · ( 𝐹 quot 𝐺 ) ) ) )
36 8 35 mpbid ( ( 𝐹 ∈ ( Poly ‘ 𝑆 ) ∧ 𝐴 ∈ ℂ ∧ ( 𝐹𝐴 ) = 0 ) → 𝐹 = ( 𝐺f · ( 𝐹 quot 𝐺 ) ) )