Step |
Hyp |
Ref |
Expression |
1 |
|
zringbas |
⊢ ℤ = ( Base ‘ ℤring ) |
2 |
|
eqid |
⊢ ( 𝐼 eval ℤring ) = ( 𝐼 eval ℤring ) |
3 |
2 1
|
evlval |
⊢ ( 𝐼 eval ℤring ) = ( ( 𝐼 evalSub ℤring ) ‘ ℤ ) |
4 |
3
|
rneqi |
⊢ ran ( 𝐼 eval ℤring ) = ran ( ( 𝐼 evalSub ℤring ) ‘ ℤ ) |
5 |
|
simpl |
⊢ ( ( 𝐼 ∈ V ∧ 𝑓 ∈ ℤ ) → 𝐼 ∈ V ) |
6 |
|
zringcrng |
⊢ ℤring ∈ CRing |
7 |
6
|
a1i |
⊢ ( ( 𝐼 ∈ V ∧ 𝑓 ∈ ℤ ) → ℤring ∈ CRing ) |
8 |
|
zringring |
⊢ ℤring ∈ Ring |
9 |
1
|
subrgid |
⊢ ( ℤring ∈ Ring → ℤ ∈ ( SubRing ‘ ℤring ) ) |
10 |
8 9
|
ax-mp |
⊢ ℤ ∈ ( SubRing ‘ ℤring ) |
11 |
10
|
a1i |
⊢ ( ( 𝐼 ∈ V ∧ 𝑓 ∈ ℤ ) → ℤ ∈ ( SubRing ‘ ℤring ) ) |
12 |
|
simpr |
⊢ ( ( 𝐼 ∈ V ∧ 𝑓 ∈ ℤ ) → 𝑓 ∈ ℤ ) |
13 |
1 4 5 7 11 12
|
mpfconst |
⊢ ( ( 𝐼 ∈ V ∧ 𝑓 ∈ ℤ ) → ( ( ℤ ↑m 𝐼 ) × { 𝑓 } ) ∈ ran ( 𝐼 eval ℤring ) ) |
14 |
|
simpl |
⊢ ( ( 𝐼 ∈ V ∧ 𝑓 ∈ 𝐼 ) → 𝐼 ∈ V ) |
15 |
6
|
a1i |
⊢ ( ( 𝐼 ∈ V ∧ 𝑓 ∈ 𝐼 ) → ℤring ∈ CRing ) |
16 |
10
|
a1i |
⊢ ( ( 𝐼 ∈ V ∧ 𝑓 ∈ 𝐼 ) → ℤ ∈ ( SubRing ‘ ℤring ) ) |
17 |
|
simpr |
⊢ ( ( 𝐼 ∈ V ∧ 𝑓 ∈ 𝐼 ) → 𝑓 ∈ 𝐼 ) |
18 |
1 4 14 15 16 17
|
mpfproj |
⊢ ( ( 𝐼 ∈ V ∧ 𝑓 ∈ 𝐼 ) → ( 𝑔 ∈ ( ℤ ↑m 𝐼 ) ↦ ( 𝑔 ‘ 𝑓 ) ) ∈ ran ( 𝐼 eval ℤring ) ) |
19 |
|
simp2r |
⊢ ( ( 𝐼 ∈ V ∧ ( 𝑓 : ( ℤ ↑m 𝐼 ) ⟶ ℤ ∧ 𝑓 ∈ ran ( 𝐼 eval ℤring ) ) ∧ ( 𝑔 : ( ℤ ↑m 𝐼 ) ⟶ ℤ ∧ 𝑔 ∈ ran ( 𝐼 eval ℤring ) ) ) → 𝑓 ∈ ran ( 𝐼 eval ℤring ) ) |
20 |
|
simp3r |
⊢ ( ( 𝐼 ∈ V ∧ ( 𝑓 : ( ℤ ↑m 𝐼 ) ⟶ ℤ ∧ 𝑓 ∈ ran ( 𝐼 eval ℤring ) ) ∧ ( 𝑔 : ( ℤ ↑m 𝐼 ) ⟶ ℤ ∧ 𝑔 ∈ ran ( 𝐼 eval ℤring ) ) ) → 𝑔 ∈ ran ( 𝐼 eval ℤring ) ) |
21 |
|
zringplusg |
⊢ + = ( +g ‘ ℤring ) |
22 |
4 21
|
mpfaddcl |
⊢ ( ( 𝑓 ∈ ran ( 𝐼 eval ℤring ) ∧ 𝑔 ∈ ran ( 𝐼 eval ℤring ) ) → ( 𝑓 ∘f + 𝑔 ) ∈ ran ( 𝐼 eval ℤring ) ) |
23 |
19 20 22
|
syl2anc |
⊢ ( ( 𝐼 ∈ V ∧ ( 𝑓 : ( ℤ ↑m 𝐼 ) ⟶ ℤ ∧ 𝑓 ∈ ran ( 𝐼 eval ℤring ) ) ∧ ( 𝑔 : ( ℤ ↑m 𝐼 ) ⟶ ℤ ∧ 𝑔 ∈ ran ( 𝐼 eval ℤring ) ) ) → ( 𝑓 ∘f + 𝑔 ) ∈ ran ( 𝐼 eval ℤring ) ) |
24 |
|
zringmulr |
⊢ · = ( .r ‘ ℤring ) |
25 |
4 24
|
mpfmulcl |
⊢ ( ( 𝑓 ∈ ran ( 𝐼 eval ℤring ) ∧ 𝑔 ∈ ran ( 𝐼 eval ℤring ) ) → ( 𝑓 ∘f · 𝑔 ) ∈ ran ( 𝐼 eval ℤring ) ) |
26 |
19 20 25
|
syl2anc |
⊢ ( ( 𝐼 ∈ V ∧ ( 𝑓 : ( ℤ ↑m 𝐼 ) ⟶ ℤ ∧ 𝑓 ∈ ran ( 𝐼 eval ℤring ) ) ∧ ( 𝑔 : ( ℤ ↑m 𝐼 ) ⟶ ℤ ∧ 𝑔 ∈ ran ( 𝐼 eval ℤring ) ) ) → ( 𝑓 ∘f · 𝑔 ) ∈ ran ( 𝐼 eval ℤring ) ) |
27 |
|
eleq1 |
⊢ ( 𝑏 = ( ( ℤ ↑m 𝐼 ) × { 𝑓 } ) → ( 𝑏 ∈ ran ( 𝐼 eval ℤring ) ↔ ( ( ℤ ↑m 𝐼 ) × { 𝑓 } ) ∈ ran ( 𝐼 eval ℤring ) ) ) |
28 |
|
eleq1 |
⊢ ( 𝑏 = ( 𝑔 ∈ ( ℤ ↑m 𝐼 ) ↦ ( 𝑔 ‘ 𝑓 ) ) → ( 𝑏 ∈ ran ( 𝐼 eval ℤring ) ↔ ( 𝑔 ∈ ( ℤ ↑m 𝐼 ) ↦ ( 𝑔 ‘ 𝑓 ) ) ∈ ran ( 𝐼 eval ℤring ) ) ) |
29 |
|
eleq1 |
⊢ ( 𝑏 = 𝑓 → ( 𝑏 ∈ ran ( 𝐼 eval ℤring ) ↔ 𝑓 ∈ ran ( 𝐼 eval ℤring ) ) ) |
30 |
|
eleq1 |
⊢ ( 𝑏 = 𝑔 → ( 𝑏 ∈ ran ( 𝐼 eval ℤring ) ↔ 𝑔 ∈ ran ( 𝐼 eval ℤring ) ) ) |
31 |
|
eleq1 |
⊢ ( 𝑏 = ( 𝑓 ∘f + 𝑔 ) → ( 𝑏 ∈ ran ( 𝐼 eval ℤring ) ↔ ( 𝑓 ∘f + 𝑔 ) ∈ ran ( 𝐼 eval ℤring ) ) ) |
32 |
|
eleq1 |
⊢ ( 𝑏 = ( 𝑓 ∘f · 𝑔 ) → ( 𝑏 ∈ ran ( 𝐼 eval ℤring ) ↔ ( 𝑓 ∘f · 𝑔 ) ∈ ran ( 𝐼 eval ℤring ) ) ) |
33 |
|
eleq1 |
⊢ ( 𝑏 = 𝑎 → ( 𝑏 ∈ ran ( 𝐼 eval ℤring ) ↔ 𝑎 ∈ ran ( 𝐼 eval ℤring ) ) ) |
34 |
13 18 23 26 27 28 29 30 31 32 33
|
mzpindd |
⊢ ( ( 𝐼 ∈ V ∧ 𝑎 ∈ ( mzPoly ‘ 𝐼 ) ) → 𝑎 ∈ ran ( 𝐼 eval ℤring ) ) |
35 |
|
simprlr |
⊢ ( ( ( 𝐼 ∈ V ∧ 𝑎 ∈ ran ( 𝐼 eval ℤring ) ) ∧ ( ( 𝑥 ∈ ran ( 𝐼 eval ℤring ) ∧ 𝑥 ∈ ( mzPoly ‘ 𝐼 ) ) ∧ ( 𝑦 ∈ ran ( 𝐼 eval ℤring ) ∧ 𝑦 ∈ ( mzPoly ‘ 𝐼 ) ) ) ) → 𝑥 ∈ ( mzPoly ‘ 𝐼 ) ) |
36 |
|
simprrr |
⊢ ( ( ( 𝐼 ∈ V ∧ 𝑎 ∈ ran ( 𝐼 eval ℤring ) ) ∧ ( ( 𝑥 ∈ ran ( 𝐼 eval ℤring ) ∧ 𝑥 ∈ ( mzPoly ‘ 𝐼 ) ) ∧ ( 𝑦 ∈ ran ( 𝐼 eval ℤring ) ∧ 𝑦 ∈ ( mzPoly ‘ 𝐼 ) ) ) ) → 𝑦 ∈ ( mzPoly ‘ 𝐼 ) ) |
37 |
|
mzpadd |
⊢ ( ( 𝑥 ∈ ( mzPoly ‘ 𝐼 ) ∧ 𝑦 ∈ ( mzPoly ‘ 𝐼 ) ) → ( 𝑥 ∘f + 𝑦 ) ∈ ( mzPoly ‘ 𝐼 ) ) |
38 |
35 36 37
|
syl2anc |
⊢ ( ( ( 𝐼 ∈ V ∧ 𝑎 ∈ ran ( 𝐼 eval ℤring ) ) ∧ ( ( 𝑥 ∈ ran ( 𝐼 eval ℤring ) ∧ 𝑥 ∈ ( mzPoly ‘ 𝐼 ) ) ∧ ( 𝑦 ∈ ran ( 𝐼 eval ℤring ) ∧ 𝑦 ∈ ( mzPoly ‘ 𝐼 ) ) ) ) → ( 𝑥 ∘f + 𝑦 ) ∈ ( mzPoly ‘ 𝐼 ) ) |
39 |
|
mzpmul |
⊢ ( ( 𝑥 ∈ ( mzPoly ‘ 𝐼 ) ∧ 𝑦 ∈ ( mzPoly ‘ 𝐼 ) ) → ( 𝑥 ∘f · 𝑦 ) ∈ ( mzPoly ‘ 𝐼 ) ) |
40 |
35 36 39
|
syl2anc |
⊢ ( ( ( 𝐼 ∈ V ∧ 𝑎 ∈ ran ( 𝐼 eval ℤring ) ) ∧ ( ( 𝑥 ∈ ran ( 𝐼 eval ℤring ) ∧ 𝑥 ∈ ( mzPoly ‘ 𝐼 ) ) ∧ ( 𝑦 ∈ ran ( 𝐼 eval ℤring ) ∧ 𝑦 ∈ ( mzPoly ‘ 𝐼 ) ) ) ) → ( 𝑥 ∘f · 𝑦 ) ∈ ( mzPoly ‘ 𝐼 ) ) |
41 |
|
eleq1 |
⊢ ( 𝑏 = ( ( ℤ ↑m 𝐼 ) × { 𝑥 } ) → ( 𝑏 ∈ ( mzPoly ‘ 𝐼 ) ↔ ( ( ℤ ↑m 𝐼 ) × { 𝑥 } ) ∈ ( mzPoly ‘ 𝐼 ) ) ) |
42 |
|
eleq1 |
⊢ ( 𝑏 = ( 𝑦 ∈ ( ℤ ↑m 𝐼 ) ↦ ( 𝑦 ‘ 𝑥 ) ) → ( 𝑏 ∈ ( mzPoly ‘ 𝐼 ) ↔ ( 𝑦 ∈ ( ℤ ↑m 𝐼 ) ↦ ( 𝑦 ‘ 𝑥 ) ) ∈ ( mzPoly ‘ 𝐼 ) ) ) |
43 |
|
eleq1 |
⊢ ( 𝑏 = 𝑥 → ( 𝑏 ∈ ( mzPoly ‘ 𝐼 ) ↔ 𝑥 ∈ ( mzPoly ‘ 𝐼 ) ) ) |
44 |
|
eleq1 |
⊢ ( 𝑏 = 𝑦 → ( 𝑏 ∈ ( mzPoly ‘ 𝐼 ) ↔ 𝑦 ∈ ( mzPoly ‘ 𝐼 ) ) ) |
45 |
|
eleq1 |
⊢ ( 𝑏 = ( 𝑥 ∘f + 𝑦 ) → ( 𝑏 ∈ ( mzPoly ‘ 𝐼 ) ↔ ( 𝑥 ∘f + 𝑦 ) ∈ ( mzPoly ‘ 𝐼 ) ) ) |
46 |
|
eleq1 |
⊢ ( 𝑏 = ( 𝑥 ∘f · 𝑦 ) → ( 𝑏 ∈ ( mzPoly ‘ 𝐼 ) ↔ ( 𝑥 ∘f · 𝑦 ) ∈ ( mzPoly ‘ 𝐼 ) ) ) |
47 |
|
eleq1 |
⊢ ( 𝑏 = 𝑎 → ( 𝑏 ∈ ( mzPoly ‘ 𝐼 ) ↔ 𝑎 ∈ ( mzPoly ‘ 𝐼 ) ) ) |
48 |
|
mzpconst |
⊢ ( ( 𝐼 ∈ V ∧ 𝑥 ∈ ℤ ) → ( ( ℤ ↑m 𝐼 ) × { 𝑥 } ) ∈ ( mzPoly ‘ 𝐼 ) ) |
49 |
48
|
adantlr |
⊢ ( ( ( 𝐼 ∈ V ∧ 𝑎 ∈ ran ( 𝐼 eval ℤring ) ) ∧ 𝑥 ∈ ℤ ) → ( ( ℤ ↑m 𝐼 ) × { 𝑥 } ) ∈ ( mzPoly ‘ 𝐼 ) ) |
50 |
|
mzpproj |
⊢ ( ( 𝐼 ∈ V ∧ 𝑥 ∈ 𝐼 ) → ( 𝑦 ∈ ( ℤ ↑m 𝐼 ) ↦ ( 𝑦 ‘ 𝑥 ) ) ∈ ( mzPoly ‘ 𝐼 ) ) |
51 |
50
|
adantlr |
⊢ ( ( ( 𝐼 ∈ V ∧ 𝑎 ∈ ran ( 𝐼 eval ℤring ) ) ∧ 𝑥 ∈ 𝐼 ) → ( 𝑦 ∈ ( ℤ ↑m 𝐼 ) ↦ ( 𝑦 ‘ 𝑥 ) ) ∈ ( mzPoly ‘ 𝐼 ) ) |
52 |
|
simpr |
⊢ ( ( 𝐼 ∈ V ∧ 𝑎 ∈ ran ( 𝐼 eval ℤring ) ) → 𝑎 ∈ ran ( 𝐼 eval ℤring ) ) |
53 |
1 21 24 4 38 40 41 42 43 44 45 46 47 49 51 52
|
mpfind |
⊢ ( ( 𝐼 ∈ V ∧ 𝑎 ∈ ran ( 𝐼 eval ℤring ) ) → 𝑎 ∈ ( mzPoly ‘ 𝐼 ) ) |
54 |
34 53
|
impbida |
⊢ ( 𝐼 ∈ V → ( 𝑎 ∈ ( mzPoly ‘ 𝐼 ) ↔ 𝑎 ∈ ran ( 𝐼 eval ℤring ) ) ) |
55 |
54
|
eqrdv |
⊢ ( 𝐼 ∈ V → ( mzPoly ‘ 𝐼 ) = ran ( 𝐼 eval ℤring ) ) |
56 |
|
fvprc |
⊢ ( ¬ 𝐼 ∈ V → ( mzPoly ‘ 𝐼 ) = ∅ ) |
57 |
|
df-evl |
⊢ eval = ( 𝑎 ∈ V , 𝑏 ∈ V ↦ ( ( 𝑎 evalSub 𝑏 ) ‘ ( Base ‘ 𝑏 ) ) ) |
58 |
57
|
reldmmpo |
⊢ Rel dom eval |
59 |
58
|
ovprc1 |
⊢ ( ¬ 𝐼 ∈ V → ( 𝐼 eval ℤring ) = ∅ ) |
60 |
59
|
rneqd |
⊢ ( ¬ 𝐼 ∈ V → ran ( 𝐼 eval ℤring ) = ran ∅ ) |
61 |
|
rn0 |
⊢ ran ∅ = ∅ |
62 |
60 61
|
eqtrdi |
⊢ ( ¬ 𝐼 ∈ V → ran ( 𝐼 eval ℤring ) = ∅ ) |
63 |
56 62
|
eqtr4d |
⊢ ( ¬ 𝐼 ∈ V → ( mzPoly ‘ 𝐼 ) = ran ( 𝐼 eval ℤring ) ) |
64 |
55 63
|
pm2.61i |
⊢ ( mzPoly ‘ 𝐼 ) = ran ( 𝐼 eval ℤring ) |