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 ) }