Metamath Proof Explorer


Theorem dgraa0p

Description: A rational polynomial of degree less than an algebraic number cannot be zero at that number unless it is the zero polynomial. (Contributed by Stefan O'Rear, 25-Nov-2014)

Ref Expression
Assertion dgraa0p ( ( 𝐴 ∈ 𝔸 ∧ 𝑃 ∈ ( Poly ‘ ℚ ) ∧ ( deg ‘ 𝑃 ) < ( degAA𝐴 ) ) → ( ( 𝑃𝐴 ) = 0 ↔ 𝑃 = 0𝑝 ) )

Proof

Step Hyp Ref Expression
1 simpl3 ( ( ( 𝐴 ∈ 𝔸 ∧ 𝑃 ∈ ( Poly ‘ ℚ ) ∧ ( deg ‘ 𝑃 ) < ( degAA𝐴 ) ) ∧ 𝑃 ≠ 0𝑝 ) → ( deg ‘ 𝑃 ) < ( degAA𝐴 ) )
2 simpl2 ( ( ( 𝐴 ∈ 𝔸 ∧ 𝑃 ∈ ( Poly ‘ ℚ ) ∧ ( deg ‘ 𝑃 ) < ( degAA𝐴 ) ) ∧ 𝑃 ≠ 0𝑝 ) → 𝑃 ∈ ( Poly ‘ ℚ ) )
3 dgrcl ( 𝑃 ∈ ( Poly ‘ ℚ ) → ( deg ‘ 𝑃 ) ∈ ℕ0 )
4 2 3 syl ( ( ( 𝐴 ∈ 𝔸 ∧ 𝑃 ∈ ( Poly ‘ ℚ ) ∧ ( deg ‘ 𝑃 ) < ( degAA𝐴 ) ) ∧ 𝑃 ≠ 0𝑝 ) → ( deg ‘ 𝑃 ) ∈ ℕ0 )
5 4 nn0red ( ( ( 𝐴 ∈ 𝔸 ∧ 𝑃 ∈ ( Poly ‘ ℚ ) ∧ ( deg ‘ 𝑃 ) < ( degAA𝐴 ) ) ∧ 𝑃 ≠ 0𝑝 ) → ( deg ‘ 𝑃 ) ∈ ℝ )
6 simpl1 ( ( ( 𝐴 ∈ 𝔸 ∧ 𝑃 ∈ ( Poly ‘ ℚ ) ∧ ( deg ‘ 𝑃 ) < ( degAA𝐴 ) ) ∧ 𝑃 ≠ 0𝑝 ) → 𝐴 ∈ 𝔸 )
7 dgraacl ( 𝐴 ∈ 𝔸 → ( degAA𝐴 ) ∈ ℕ )
8 6 7 syl ( ( ( 𝐴 ∈ 𝔸 ∧ 𝑃 ∈ ( Poly ‘ ℚ ) ∧ ( deg ‘ 𝑃 ) < ( degAA𝐴 ) ) ∧ 𝑃 ≠ 0𝑝 ) → ( degAA𝐴 ) ∈ ℕ )
9 8 nnred ( ( ( 𝐴 ∈ 𝔸 ∧ 𝑃 ∈ ( Poly ‘ ℚ ) ∧ ( deg ‘ 𝑃 ) < ( degAA𝐴 ) ) ∧ 𝑃 ≠ 0𝑝 ) → ( degAA𝐴 ) ∈ ℝ )
10 5 9 ltnled ( ( ( 𝐴 ∈ 𝔸 ∧ 𝑃 ∈ ( Poly ‘ ℚ ) ∧ ( deg ‘ 𝑃 ) < ( degAA𝐴 ) ) ∧ 𝑃 ≠ 0𝑝 ) → ( ( deg ‘ 𝑃 ) < ( degAA𝐴 ) ↔ ¬ ( degAA𝐴 ) ≤ ( deg ‘ 𝑃 ) ) )
11 1 10 mpbid ( ( ( 𝐴 ∈ 𝔸 ∧ 𝑃 ∈ ( Poly ‘ ℚ ) ∧ ( deg ‘ 𝑃 ) < ( degAA𝐴 ) ) ∧ 𝑃 ≠ 0𝑝 ) → ¬ ( degAA𝐴 ) ≤ ( deg ‘ 𝑃 ) )
12 simpl2 ( ( ( 𝐴 ∈ 𝔸 ∧ 𝑃 ∈ ( Poly ‘ ℚ ) ∧ ( deg ‘ 𝑃 ) < ( degAA𝐴 ) ) ∧ ( 𝑃 ≠ 0𝑝 ∧ ( 𝑃𝐴 ) = 0 ) ) → 𝑃 ∈ ( Poly ‘ ℚ ) )
13 simprl ( ( ( 𝐴 ∈ 𝔸 ∧ 𝑃 ∈ ( Poly ‘ ℚ ) ∧ ( deg ‘ 𝑃 ) < ( degAA𝐴 ) ) ∧ ( 𝑃 ≠ 0𝑝 ∧ ( 𝑃𝐴 ) = 0 ) ) → 𝑃 ≠ 0𝑝 )
14 simpl1 ( ( ( 𝐴 ∈ 𝔸 ∧ 𝑃 ∈ ( Poly ‘ ℚ ) ∧ ( deg ‘ 𝑃 ) < ( degAA𝐴 ) ) ∧ ( 𝑃 ≠ 0𝑝 ∧ ( 𝑃𝐴 ) = 0 ) ) → 𝐴 ∈ 𝔸 )
15 aacn ( 𝐴 ∈ 𝔸 → 𝐴 ∈ ℂ )
16 14 15 syl ( ( ( 𝐴 ∈ 𝔸 ∧ 𝑃 ∈ ( Poly ‘ ℚ ) ∧ ( deg ‘ 𝑃 ) < ( degAA𝐴 ) ) ∧ ( 𝑃 ≠ 0𝑝 ∧ ( 𝑃𝐴 ) = 0 ) ) → 𝐴 ∈ ℂ )
17 simprr ( ( ( 𝐴 ∈ 𝔸 ∧ 𝑃 ∈ ( Poly ‘ ℚ ) ∧ ( deg ‘ 𝑃 ) < ( degAA𝐴 ) ) ∧ ( 𝑃 ≠ 0𝑝 ∧ ( 𝑃𝐴 ) = 0 ) ) → ( 𝑃𝐴 ) = 0 )
18 dgraaub ( ( ( 𝑃 ∈ ( Poly ‘ ℚ ) ∧ 𝑃 ≠ 0𝑝 ) ∧ ( 𝐴 ∈ ℂ ∧ ( 𝑃𝐴 ) = 0 ) ) → ( degAA𝐴 ) ≤ ( deg ‘ 𝑃 ) )
19 12 13 16 17 18 syl22anc ( ( ( 𝐴 ∈ 𝔸 ∧ 𝑃 ∈ ( Poly ‘ ℚ ) ∧ ( deg ‘ 𝑃 ) < ( degAA𝐴 ) ) ∧ ( 𝑃 ≠ 0𝑝 ∧ ( 𝑃𝐴 ) = 0 ) ) → ( degAA𝐴 ) ≤ ( deg ‘ 𝑃 ) )
20 19 expr ( ( ( 𝐴 ∈ 𝔸 ∧ 𝑃 ∈ ( Poly ‘ ℚ ) ∧ ( deg ‘ 𝑃 ) < ( degAA𝐴 ) ) ∧ 𝑃 ≠ 0𝑝 ) → ( ( 𝑃𝐴 ) = 0 → ( degAA𝐴 ) ≤ ( deg ‘ 𝑃 ) ) )
21 11 20 mtod ( ( ( 𝐴 ∈ 𝔸 ∧ 𝑃 ∈ ( Poly ‘ ℚ ) ∧ ( deg ‘ 𝑃 ) < ( degAA𝐴 ) ) ∧ 𝑃 ≠ 0𝑝 ) → ¬ ( 𝑃𝐴 ) = 0 )
22 21 ex ( ( 𝐴 ∈ 𝔸 ∧ 𝑃 ∈ ( Poly ‘ ℚ ) ∧ ( deg ‘ 𝑃 ) < ( degAA𝐴 ) ) → ( 𝑃 ≠ 0𝑝 → ¬ ( 𝑃𝐴 ) = 0 ) )
23 22 necon4ad ( ( 𝐴 ∈ 𝔸 ∧ 𝑃 ∈ ( Poly ‘ ℚ ) ∧ ( deg ‘ 𝑃 ) < ( degAA𝐴 ) ) → ( ( 𝑃𝐴 ) = 0 → 𝑃 = 0𝑝 ) )
24 0pval ( 𝐴 ∈ ℂ → ( 0𝑝𝐴 ) = 0 )
25 15 24 syl ( 𝐴 ∈ 𝔸 → ( 0𝑝𝐴 ) = 0 )
26 fveq1 ( 𝑃 = 0𝑝 → ( 𝑃𝐴 ) = ( 0𝑝𝐴 ) )
27 26 eqeq1d ( 𝑃 = 0𝑝 → ( ( 𝑃𝐴 ) = 0 ↔ ( 0𝑝𝐴 ) = 0 ) )
28 25 27 syl5ibrcom ( 𝐴 ∈ 𝔸 → ( 𝑃 = 0𝑝 → ( 𝑃𝐴 ) = 0 ) )
29 28 3ad2ant1 ( ( 𝐴 ∈ 𝔸 ∧ 𝑃 ∈ ( Poly ‘ ℚ ) ∧ ( deg ‘ 𝑃 ) < ( degAA𝐴 ) ) → ( 𝑃 = 0𝑝 → ( 𝑃𝐴 ) = 0 ) )
30 23 29 impbid ( ( 𝐴 ∈ 𝔸 ∧ 𝑃 ∈ ( Poly ‘ ℚ ) ∧ ( deg ‘ 𝑃 ) < ( degAA𝐴 ) ) → ( ( 𝑃𝐴 ) = 0 ↔ 𝑃 = 0𝑝 ) )