Metamath Proof Explorer


Theorem ply1nzb

Description: Univariate polynomials are nonzero iff the base is nonzero. Or in contraposition, the univariate polynomials over the zero ring are also zero. (Contributed by Mario Carneiro, 13-Jun-2015)

Ref Expression
Hypothesis ply1domn.p 𝑃 = ( Poly1𝑅 )
Assertion ply1nzb ( 𝑅 ∈ Ring → ( 𝑅 ∈ NzRing ↔ 𝑃 ∈ NzRing ) )

Proof

Step Hyp Ref Expression
1 ply1domn.p 𝑃 = ( Poly1𝑅 )
2 1 ply1nz ( 𝑅 ∈ NzRing → 𝑃 ∈ NzRing )
3 simpl ( ( 𝑅 ∈ Ring ∧ 𝑃 ∈ NzRing ) → 𝑅 ∈ Ring )
4 eqid ( 1r𝑃 ) = ( 1r𝑃 )
5 eqid ( 0g𝑃 ) = ( 0g𝑃 )
6 4 5 nzrnz ( 𝑃 ∈ NzRing → ( 1r𝑃 ) ≠ ( 0g𝑃 ) )
7 6 adantl ( ( 𝑅 ∈ Ring ∧ 𝑃 ∈ NzRing ) → ( 1r𝑃 ) ≠ ( 0g𝑃 ) )
8 ifeq1 ( ( 1r𝑅 ) = ( 0g𝑅 ) → if ( 𝑦 = ( 1o × { 0 } ) , ( 1r𝑅 ) , ( 0g𝑅 ) ) = if ( 𝑦 = ( 1o × { 0 } ) , ( 0g𝑅 ) , ( 0g𝑅 ) ) )
9 ifid if ( 𝑦 = ( 1o × { 0 } ) , ( 0g𝑅 ) , ( 0g𝑅 ) ) = ( 0g𝑅 )
10 8 9 eqtrdi ( ( 1r𝑅 ) = ( 0g𝑅 ) → if ( 𝑦 = ( 1o × { 0 } ) , ( 1r𝑅 ) , ( 0g𝑅 ) ) = ( 0g𝑅 ) )
11 10 ralrimivw ( ( 1r𝑅 ) = ( 0g𝑅 ) → ∀ 𝑦 ∈ { 𝑥 ∈ ( ℕ0m 1o ) ∣ ( 𝑥 “ ℕ ) ∈ Fin } if ( 𝑦 = ( 1o × { 0 } ) , ( 1r𝑅 ) , ( 0g𝑅 ) ) = ( 0g𝑅 ) )
12 eqid ( 1o mPoly 𝑅 ) = ( 1o mPoly 𝑅 )
13 eqid { 𝑥 ∈ ( ℕ0m 1o ) ∣ ( 𝑥 “ ℕ ) ∈ Fin } = { 𝑥 ∈ ( ℕ0m 1o ) ∣ ( 𝑥 “ ℕ ) ∈ Fin }
14 eqid ( 0g𝑅 ) = ( 0g𝑅 )
15 eqid ( 1r𝑅 ) = ( 1r𝑅 )
16 12 1 4 ply1mpl1 ( 1r𝑃 ) = ( 1r ‘ ( 1o mPoly 𝑅 ) )
17 1on 1o ∈ On
18 17 a1i ( ( 𝑅 ∈ Ring ∧ 𝑃 ∈ NzRing ) → 1o ∈ On )
19 12 13 14 15 16 18 3 mpl1 ( ( 𝑅 ∈ Ring ∧ 𝑃 ∈ NzRing ) → ( 1r𝑃 ) = ( 𝑦 ∈ { 𝑥 ∈ ( ℕ0m 1o ) ∣ ( 𝑥 “ ℕ ) ∈ Fin } ↦ if ( 𝑦 = ( 1o × { 0 } ) , ( 1r𝑅 ) , ( 0g𝑅 ) ) ) )
20 12 1 5 ply1mpl0 ( 0g𝑃 ) = ( 0g ‘ ( 1o mPoly 𝑅 ) )
21 ringgrp ( 𝑅 ∈ Ring → 𝑅 ∈ Grp )
22 3 21 syl ( ( 𝑅 ∈ Ring ∧ 𝑃 ∈ NzRing ) → 𝑅 ∈ Grp )
23 12 13 14 20 18 22 mpl0 ( ( 𝑅 ∈ Ring ∧ 𝑃 ∈ NzRing ) → ( 0g𝑃 ) = ( { 𝑥 ∈ ( ℕ0m 1o ) ∣ ( 𝑥 “ ℕ ) ∈ Fin } × { ( 0g𝑅 ) } ) )
24 fconstmpt ( { 𝑥 ∈ ( ℕ0m 1o ) ∣ ( 𝑥 “ ℕ ) ∈ Fin } × { ( 0g𝑅 ) } ) = ( 𝑦 ∈ { 𝑥 ∈ ( ℕ0m 1o ) ∣ ( 𝑥 “ ℕ ) ∈ Fin } ↦ ( 0g𝑅 ) )
25 23 24 eqtrdi ( ( 𝑅 ∈ Ring ∧ 𝑃 ∈ NzRing ) → ( 0g𝑃 ) = ( 𝑦 ∈ { 𝑥 ∈ ( ℕ0m 1o ) ∣ ( 𝑥 “ ℕ ) ∈ Fin } ↦ ( 0g𝑅 ) ) )
26 19 25 eqeq12d ( ( 𝑅 ∈ Ring ∧ 𝑃 ∈ NzRing ) → ( ( 1r𝑃 ) = ( 0g𝑃 ) ↔ ( 𝑦 ∈ { 𝑥 ∈ ( ℕ0m 1o ) ∣ ( 𝑥 “ ℕ ) ∈ Fin } ↦ if ( 𝑦 = ( 1o × { 0 } ) , ( 1r𝑅 ) , ( 0g𝑅 ) ) ) = ( 𝑦 ∈ { 𝑥 ∈ ( ℕ0m 1o ) ∣ ( 𝑥 “ ℕ ) ∈ Fin } ↦ ( 0g𝑅 ) ) ) )
27 fvex ( 1r𝑅 ) ∈ V
28 fvex ( 0g𝑅 ) ∈ V
29 27 28 ifex if ( 𝑦 = ( 1o × { 0 } ) , ( 1r𝑅 ) , ( 0g𝑅 ) ) ∈ V
30 29 rgenw 𝑦 ∈ { 𝑥 ∈ ( ℕ0m 1o ) ∣ ( 𝑥 “ ℕ ) ∈ Fin } if ( 𝑦 = ( 1o × { 0 } ) , ( 1r𝑅 ) , ( 0g𝑅 ) ) ∈ V
31 mpteqb ( ∀ 𝑦 ∈ { 𝑥 ∈ ( ℕ0m 1o ) ∣ ( 𝑥 “ ℕ ) ∈ Fin } if ( 𝑦 = ( 1o × { 0 } ) , ( 1r𝑅 ) , ( 0g𝑅 ) ) ∈ V → ( ( 𝑦 ∈ { 𝑥 ∈ ( ℕ0m 1o ) ∣ ( 𝑥 “ ℕ ) ∈ Fin } ↦ if ( 𝑦 = ( 1o × { 0 } ) , ( 1r𝑅 ) , ( 0g𝑅 ) ) ) = ( 𝑦 ∈ { 𝑥 ∈ ( ℕ0m 1o ) ∣ ( 𝑥 “ ℕ ) ∈ Fin } ↦ ( 0g𝑅 ) ) ↔ ∀ 𝑦 ∈ { 𝑥 ∈ ( ℕ0m 1o ) ∣ ( 𝑥 “ ℕ ) ∈ Fin } if ( 𝑦 = ( 1o × { 0 } ) , ( 1r𝑅 ) , ( 0g𝑅 ) ) = ( 0g𝑅 ) ) )
32 30 31 ax-mp ( ( 𝑦 ∈ { 𝑥 ∈ ( ℕ0m 1o ) ∣ ( 𝑥 “ ℕ ) ∈ Fin } ↦ if ( 𝑦 = ( 1o × { 0 } ) , ( 1r𝑅 ) , ( 0g𝑅 ) ) ) = ( 𝑦 ∈ { 𝑥 ∈ ( ℕ0m 1o ) ∣ ( 𝑥 “ ℕ ) ∈ Fin } ↦ ( 0g𝑅 ) ) ↔ ∀ 𝑦 ∈ { 𝑥 ∈ ( ℕ0m 1o ) ∣ ( 𝑥 “ ℕ ) ∈ Fin } if ( 𝑦 = ( 1o × { 0 } ) , ( 1r𝑅 ) , ( 0g𝑅 ) ) = ( 0g𝑅 ) )
33 26 32 bitrdi ( ( 𝑅 ∈ Ring ∧ 𝑃 ∈ NzRing ) → ( ( 1r𝑃 ) = ( 0g𝑃 ) ↔ ∀ 𝑦 ∈ { 𝑥 ∈ ( ℕ0m 1o ) ∣ ( 𝑥 “ ℕ ) ∈ Fin } if ( 𝑦 = ( 1o × { 0 } ) , ( 1r𝑅 ) , ( 0g𝑅 ) ) = ( 0g𝑅 ) ) )
34 11 33 syl5ibr ( ( 𝑅 ∈ Ring ∧ 𝑃 ∈ NzRing ) → ( ( 1r𝑅 ) = ( 0g𝑅 ) → ( 1r𝑃 ) = ( 0g𝑃 ) ) )
35 34 necon3d ( ( 𝑅 ∈ Ring ∧ 𝑃 ∈ NzRing ) → ( ( 1r𝑃 ) ≠ ( 0g𝑃 ) → ( 1r𝑅 ) ≠ ( 0g𝑅 ) ) )
36 7 35 mpd ( ( 𝑅 ∈ Ring ∧ 𝑃 ∈ NzRing ) → ( 1r𝑅 ) ≠ ( 0g𝑅 ) )
37 15 14 isnzr ( 𝑅 ∈ NzRing ↔ ( 𝑅 ∈ Ring ∧ ( 1r𝑅 ) ≠ ( 0g𝑅 ) ) )
38 3 36 37 sylanbrc ( ( 𝑅 ∈ Ring ∧ 𝑃 ∈ NzRing ) → 𝑅 ∈ NzRing )
39 38 ex ( 𝑅 ∈ Ring → ( 𝑃 ∈ NzRing → 𝑅 ∈ NzRing ) )
40 2 39 impbid2 ( 𝑅 ∈ Ring → ( 𝑅 ∈ NzRing ↔ 𝑃 ∈ NzRing ) )