Metamath Proof Explorer


Theorem mon1pval

Description: Value of the set of monic polynomials. (Contributed by Stefan O'Rear, 28-Mar-2015)

Ref Expression
Hypotheses uc1pval.p 𝑃 = ( Poly1𝑅 )
uc1pval.b 𝐵 = ( Base ‘ 𝑃 )
uc1pval.z 0 = ( 0g𝑃 )
uc1pval.d 𝐷 = ( deg1𝑅 )
mon1pval.m 𝑀 = ( Monic1p𝑅 )
mon1pval.o 1 = ( 1r𝑅 )
Assertion mon1pval 𝑀 = { 𝑓𝐵 ∣ ( 𝑓0 ∧ ( ( coe1𝑓 ) ‘ ( 𝐷𝑓 ) ) = 1 ) }

Proof

Step Hyp Ref Expression
1 uc1pval.p 𝑃 = ( Poly1𝑅 )
2 uc1pval.b 𝐵 = ( Base ‘ 𝑃 )
3 uc1pval.z 0 = ( 0g𝑃 )
4 uc1pval.d 𝐷 = ( deg1𝑅 )
5 mon1pval.m 𝑀 = ( Monic1p𝑅 )
6 mon1pval.o 1 = ( 1r𝑅 )
7 fveq2 ( 𝑟 = 𝑅 → ( Poly1𝑟 ) = ( Poly1𝑅 ) )
8 7 1 eqtr4di ( 𝑟 = 𝑅 → ( Poly1𝑟 ) = 𝑃 )
9 8 fveq2d ( 𝑟 = 𝑅 → ( Base ‘ ( Poly1𝑟 ) ) = ( Base ‘ 𝑃 ) )
10 9 2 eqtr4di ( 𝑟 = 𝑅 → ( Base ‘ ( Poly1𝑟 ) ) = 𝐵 )
11 8 fveq2d ( 𝑟 = 𝑅 → ( 0g ‘ ( Poly1𝑟 ) ) = ( 0g𝑃 ) )
12 11 3 eqtr4di ( 𝑟 = 𝑅 → ( 0g ‘ ( Poly1𝑟 ) ) = 0 )
13 12 neeq2d ( 𝑟 = 𝑅 → ( 𝑓 ≠ ( 0g ‘ ( Poly1𝑟 ) ) ↔ 𝑓0 ) )
14 fveq2 ( 𝑟 = 𝑅 → ( deg1𝑟 ) = ( deg1𝑅 ) )
15 14 4 eqtr4di ( 𝑟 = 𝑅 → ( deg1𝑟 ) = 𝐷 )
16 15 fveq1d ( 𝑟 = 𝑅 → ( ( deg1𝑟 ) ‘ 𝑓 ) = ( 𝐷𝑓 ) )
17 16 fveq2d ( 𝑟 = 𝑅 → ( ( coe1𝑓 ) ‘ ( ( deg1𝑟 ) ‘ 𝑓 ) ) = ( ( coe1𝑓 ) ‘ ( 𝐷𝑓 ) ) )
18 fveq2 ( 𝑟 = 𝑅 → ( 1r𝑟 ) = ( 1r𝑅 ) )
19 18 6 eqtr4di ( 𝑟 = 𝑅 → ( 1r𝑟 ) = 1 )
20 17 19 eqeq12d ( 𝑟 = 𝑅 → ( ( ( coe1𝑓 ) ‘ ( ( deg1𝑟 ) ‘ 𝑓 ) ) = ( 1r𝑟 ) ↔ ( ( coe1𝑓 ) ‘ ( 𝐷𝑓 ) ) = 1 ) )
21 13 20 anbi12d ( 𝑟 = 𝑅 → ( ( 𝑓 ≠ ( 0g ‘ ( Poly1𝑟 ) ) ∧ ( ( coe1𝑓 ) ‘ ( ( deg1𝑟 ) ‘ 𝑓 ) ) = ( 1r𝑟 ) ) ↔ ( 𝑓0 ∧ ( ( coe1𝑓 ) ‘ ( 𝐷𝑓 ) ) = 1 ) ) )
22 10 21 rabeqbidv ( 𝑟 = 𝑅 → { 𝑓 ∈ ( Base ‘ ( Poly1𝑟 ) ) ∣ ( 𝑓 ≠ ( 0g ‘ ( Poly1𝑟 ) ) ∧ ( ( coe1𝑓 ) ‘ ( ( deg1𝑟 ) ‘ 𝑓 ) ) = ( 1r𝑟 ) ) } = { 𝑓𝐵 ∣ ( 𝑓0 ∧ ( ( coe1𝑓 ) ‘ ( 𝐷𝑓 ) ) = 1 ) } )
23 df-mon1 Monic1p = ( 𝑟 ∈ V ↦ { 𝑓 ∈ ( Base ‘ ( Poly1𝑟 ) ) ∣ ( 𝑓 ≠ ( 0g ‘ ( Poly1𝑟 ) ) ∧ ( ( coe1𝑓 ) ‘ ( ( deg1𝑟 ) ‘ 𝑓 ) ) = ( 1r𝑟 ) ) } )
24 2 fvexi 𝐵 ∈ V
25 24 rabex { 𝑓𝐵 ∣ ( 𝑓0 ∧ ( ( coe1𝑓 ) ‘ ( 𝐷𝑓 ) ) = 1 ) } ∈ V
26 22 23 25 fvmpt ( 𝑅 ∈ V → ( Monic1p𝑅 ) = { 𝑓𝐵 ∣ ( 𝑓0 ∧ ( ( coe1𝑓 ) ‘ ( 𝐷𝑓 ) ) = 1 ) } )
27 fvprc ( ¬ 𝑅 ∈ V → ( Monic1p𝑅 ) = ∅ )
28 ssrab2 { 𝑓𝐵 ∣ ( 𝑓0 ∧ ( ( coe1𝑓 ) ‘ ( 𝐷𝑓 ) ) = 1 ) } ⊆ 𝐵
29 fvprc ( ¬ 𝑅 ∈ V → ( Poly1𝑅 ) = ∅ )
30 1 29 eqtrid ( ¬ 𝑅 ∈ V → 𝑃 = ∅ )
31 30 fveq2d ( ¬ 𝑅 ∈ V → ( Base ‘ 𝑃 ) = ( Base ‘ ∅ ) )
32 2 31 eqtrid ( ¬ 𝑅 ∈ V → 𝐵 = ( Base ‘ ∅ ) )
33 base0 ∅ = ( Base ‘ ∅ )
34 32 33 eqtr4di ( ¬ 𝑅 ∈ V → 𝐵 = ∅ )
35 28 34 sseqtrid ( ¬ 𝑅 ∈ V → { 𝑓𝐵 ∣ ( 𝑓0 ∧ ( ( coe1𝑓 ) ‘ ( 𝐷𝑓 ) ) = 1 ) } ⊆ ∅ )
36 ss0 ( { 𝑓𝐵 ∣ ( 𝑓0 ∧ ( ( coe1𝑓 ) ‘ ( 𝐷𝑓 ) ) = 1 ) } ⊆ ∅ → { 𝑓𝐵 ∣ ( 𝑓0 ∧ ( ( coe1𝑓 ) ‘ ( 𝐷𝑓 ) ) = 1 ) } = ∅ )
37 35 36 syl ( ¬ 𝑅 ∈ V → { 𝑓𝐵 ∣ ( 𝑓0 ∧ ( ( coe1𝑓 ) ‘ ( 𝐷𝑓 ) ) = 1 ) } = ∅ )
38 27 37 eqtr4d ( ¬ 𝑅 ∈ V → ( Monic1p𝑅 ) = { 𝑓𝐵 ∣ ( 𝑓0 ∧ ( ( coe1𝑓 ) ‘ ( 𝐷𝑓 ) ) = 1 ) } )
39 26 38 pm2.61i ( Monic1p𝑅 ) = { 𝑓𝐵 ∣ ( 𝑓0 ∧ ( ( coe1𝑓 ) ‘ ( 𝐷𝑓 ) ) = 1 ) }
40 5 39 eqtri 𝑀 = { 𝑓𝐵 ∣ ( 𝑓0 ∧ ( ( coe1𝑓 ) ‘ ( 𝐷𝑓 ) ) = 1 ) }