Metamath Proof Explorer


Theorem mon1pid

Description: Monicity and degree of the unit polynomial. (Contributed by Stefan O'Rear, 12-Sep-2015)

Ref Expression
Hypotheses mon1pid.p 𝑃 = ( Poly1𝑅 )
mon1pid.o 1 = ( 1r𝑃 )
mon1pid.m 𝑀 = ( Monic1p𝑅 )
mon1pid.d 𝐷 = ( deg1𝑅 )
Assertion mon1pid ( 𝑅 ∈ NzRing → ( 1𝑀 ∧ ( 𝐷1 ) = 0 ) )

Proof

Step Hyp Ref Expression
1 mon1pid.p 𝑃 = ( Poly1𝑅 )
2 mon1pid.o 1 = ( 1r𝑃 )
3 mon1pid.m 𝑀 = ( Monic1p𝑅 )
4 mon1pid.d 𝐷 = ( deg1𝑅 )
5 1 ply1nz ( 𝑅 ∈ NzRing → 𝑃 ∈ NzRing )
6 nzrring ( 𝑃 ∈ NzRing → 𝑃 ∈ Ring )
7 eqid ( Base ‘ 𝑃 ) = ( Base ‘ 𝑃 )
8 7 2 ringidcl ( 𝑃 ∈ Ring → 1 ∈ ( Base ‘ 𝑃 ) )
9 5 6 8 3syl ( 𝑅 ∈ NzRing → 1 ∈ ( Base ‘ 𝑃 ) )
10 eqid ( 0g𝑃 ) = ( 0g𝑃 )
11 2 10 nzrnz ( 𝑃 ∈ NzRing → 1 ≠ ( 0g𝑃 ) )
12 5 11 syl ( 𝑅 ∈ NzRing → 1 ≠ ( 0g𝑃 ) )
13 nzrring ( 𝑅 ∈ NzRing → 𝑅 ∈ Ring )
14 eqid ( algSc ‘ 𝑃 ) = ( algSc ‘ 𝑃 )
15 eqid ( 1r𝑅 ) = ( 1r𝑅 )
16 1 14 15 2 ply1scl1 ( 𝑅 ∈ Ring → ( ( algSc ‘ 𝑃 ) ‘ ( 1r𝑅 ) ) = 1 )
17 13 16 syl ( 𝑅 ∈ NzRing → ( ( algSc ‘ 𝑃 ) ‘ ( 1r𝑅 ) ) = 1 )
18 17 fveq2d ( 𝑅 ∈ NzRing → ( coe1 ‘ ( ( algSc ‘ 𝑃 ) ‘ ( 1r𝑅 ) ) ) = ( coe11 ) )
19 eqid ( Base ‘ 𝑅 ) = ( Base ‘ 𝑅 )
20 19 15 ringidcl ( 𝑅 ∈ Ring → ( 1r𝑅 ) ∈ ( Base ‘ 𝑅 ) )
21 eqid ( 0g𝑅 ) = ( 0g𝑅 )
22 1 14 19 21 coe1scl ( ( 𝑅 ∈ Ring ∧ ( 1r𝑅 ) ∈ ( Base ‘ 𝑅 ) ) → ( coe1 ‘ ( ( algSc ‘ 𝑃 ) ‘ ( 1r𝑅 ) ) ) = ( 𝑥 ∈ ℕ0 ↦ if ( 𝑥 = 0 , ( 1r𝑅 ) , ( 0g𝑅 ) ) ) )
23 13 20 22 syl2anc2 ( 𝑅 ∈ NzRing → ( coe1 ‘ ( ( algSc ‘ 𝑃 ) ‘ ( 1r𝑅 ) ) ) = ( 𝑥 ∈ ℕ0 ↦ if ( 𝑥 = 0 , ( 1r𝑅 ) , ( 0g𝑅 ) ) ) )
24 18 23 eqtr3d ( 𝑅 ∈ NzRing → ( coe11 ) = ( 𝑥 ∈ ℕ0 ↦ if ( 𝑥 = 0 , ( 1r𝑅 ) , ( 0g𝑅 ) ) ) )
25 17 fveq2d ( 𝑅 ∈ NzRing → ( 𝐷 ‘ ( ( algSc ‘ 𝑃 ) ‘ ( 1r𝑅 ) ) ) = ( 𝐷1 ) )
26 13 20 syl ( 𝑅 ∈ NzRing → ( 1r𝑅 ) ∈ ( Base ‘ 𝑅 ) )
27 15 21 nzrnz ( 𝑅 ∈ NzRing → ( 1r𝑅 ) ≠ ( 0g𝑅 ) )
28 4 1 19 14 21 deg1scl ( ( 𝑅 ∈ Ring ∧ ( 1r𝑅 ) ∈ ( Base ‘ 𝑅 ) ∧ ( 1r𝑅 ) ≠ ( 0g𝑅 ) ) → ( 𝐷 ‘ ( ( algSc ‘ 𝑃 ) ‘ ( 1r𝑅 ) ) ) = 0 )
29 13 26 27 28 syl3anc ( 𝑅 ∈ NzRing → ( 𝐷 ‘ ( ( algSc ‘ 𝑃 ) ‘ ( 1r𝑅 ) ) ) = 0 )
30 25 29 eqtr3d ( 𝑅 ∈ NzRing → ( 𝐷1 ) = 0 )
31 24 30 fveq12d ( 𝑅 ∈ NzRing → ( ( coe11 ) ‘ ( 𝐷1 ) ) = ( ( 𝑥 ∈ ℕ0 ↦ if ( 𝑥 = 0 , ( 1r𝑅 ) , ( 0g𝑅 ) ) ) ‘ 0 ) )
32 0nn0 0 ∈ ℕ0
33 iftrue ( 𝑥 = 0 → if ( 𝑥 = 0 , ( 1r𝑅 ) , ( 0g𝑅 ) ) = ( 1r𝑅 ) )
34 eqid ( 𝑥 ∈ ℕ0 ↦ if ( 𝑥 = 0 , ( 1r𝑅 ) , ( 0g𝑅 ) ) ) = ( 𝑥 ∈ ℕ0 ↦ if ( 𝑥 = 0 , ( 1r𝑅 ) , ( 0g𝑅 ) ) )
35 fvex ( 1r𝑅 ) ∈ V
36 33 34 35 fvmpt ( 0 ∈ ℕ0 → ( ( 𝑥 ∈ ℕ0 ↦ if ( 𝑥 = 0 , ( 1r𝑅 ) , ( 0g𝑅 ) ) ) ‘ 0 ) = ( 1r𝑅 ) )
37 32 36 ax-mp ( ( 𝑥 ∈ ℕ0 ↦ if ( 𝑥 = 0 , ( 1r𝑅 ) , ( 0g𝑅 ) ) ) ‘ 0 ) = ( 1r𝑅 )
38 31 37 eqtrdi ( 𝑅 ∈ NzRing → ( ( coe11 ) ‘ ( 𝐷1 ) ) = ( 1r𝑅 ) )
39 1 7 10 4 3 15 ismon1p ( 1𝑀 ↔ ( 1 ∈ ( Base ‘ 𝑃 ) ∧ 1 ≠ ( 0g𝑃 ) ∧ ( ( coe11 ) ‘ ( 𝐷1 ) ) = ( 1r𝑅 ) ) )
40 9 12 38 39 syl3anbrc ( 𝑅 ∈ NzRing → 1𝑀 )
41 40 30 jca ( 𝑅 ∈ NzRing → ( 1𝑀 ∧ ( 𝐷1 ) = 0 ) )