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