| Step |
Hyp |
Ref |
Expression |
| 1 |
|
zringbas |
|- ZZ = ( Base ` ZZring ) |
| 2 |
|
eqid |
|- ( I eval ZZring ) = ( I eval ZZring ) |
| 3 |
2 1
|
evlval |
|- ( I eval ZZring ) = ( ( I evalSub ZZring ) ` ZZ ) |
| 4 |
3
|
rneqi |
|- ran ( I eval ZZring ) = ran ( ( I evalSub ZZring ) ` ZZ ) |
| 5 |
|
simpl |
|- ( ( I e. _V /\ f e. ZZ ) -> I e. _V ) |
| 6 |
|
zringcrng |
|- ZZring e. CRing |
| 7 |
6
|
a1i |
|- ( ( I e. _V /\ f e. ZZ ) -> ZZring e. CRing ) |
| 8 |
|
zringring |
|- ZZring e. Ring |
| 9 |
1
|
subrgid |
|- ( ZZring e. Ring -> ZZ e. ( SubRing ` ZZring ) ) |
| 10 |
8 9
|
ax-mp |
|- ZZ e. ( SubRing ` ZZring ) |
| 11 |
10
|
a1i |
|- ( ( I e. _V /\ f e. ZZ ) -> ZZ e. ( SubRing ` ZZring ) ) |
| 12 |
|
simpr |
|- ( ( I e. _V /\ f e. ZZ ) -> f e. ZZ ) |
| 13 |
1 4 5 7 11 12
|
mpfconst |
|- ( ( I e. _V /\ f e. ZZ ) -> ( ( ZZ ^m I ) X. { f } ) e. ran ( I eval ZZring ) ) |
| 14 |
|
simpl |
|- ( ( I e. _V /\ f e. I ) -> I e. _V ) |
| 15 |
6
|
a1i |
|- ( ( I e. _V /\ f e. I ) -> ZZring e. CRing ) |
| 16 |
10
|
a1i |
|- ( ( I e. _V /\ f e. I ) -> ZZ e. ( SubRing ` ZZring ) ) |
| 17 |
|
simpr |
|- ( ( I e. _V /\ f e. I ) -> f e. I ) |
| 18 |
1 4 14 15 16 17
|
mpfproj |
|- ( ( I e. _V /\ f e. I ) -> ( g e. ( ZZ ^m I ) |-> ( g ` f ) ) e. ran ( I eval ZZring ) ) |
| 19 |
|
simp2r |
|- ( ( I e. _V /\ ( f : ( ZZ ^m I ) --> ZZ /\ f e. ran ( I eval ZZring ) ) /\ ( g : ( ZZ ^m I ) --> ZZ /\ g e. ran ( I eval ZZring ) ) ) -> f e. ran ( I eval ZZring ) ) |
| 20 |
|
simp3r |
|- ( ( I e. _V /\ ( f : ( ZZ ^m I ) --> ZZ /\ f e. ran ( I eval ZZring ) ) /\ ( g : ( ZZ ^m I ) --> ZZ /\ g e. ran ( I eval ZZring ) ) ) -> g e. ran ( I eval ZZring ) ) |
| 21 |
|
zringplusg |
|- + = ( +g ` ZZring ) |
| 22 |
4 21
|
mpfaddcl |
|- ( ( f e. ran ( I eval ZZring ) /\ g e. ran ( I eval ZZring ) ) -> ( f oF + g ) e. ran ( I eval ZZring ) ) |
| 23 |
19 20 22
|
syl2anc |
|- ( ( I e. _V /\ ( f : ( ZZ ^m I ) --> ZZ /\ f e. ran ( I eval ZZring ) ) /\ ( g : ( ZZ ^m I ) --> ZZ /\ g e. ran ( I eval ZZring ) ) ) -> ( f oF + g ) e. ran ( I eval ZZring ) ) |
| 24 |
|
zringmulr |
|- x. = ( .r ` ZZring ) |
| 25 |
4 24
|
mpfmulcl |
|- ( ( f e. ran ( I eval ZZring ) /\ g e. ran ( I eval ZZring ) ) -> ( f oF x. g ) e. ran ( I eval ZZring ) ) |
| 26 |
19 20 25
|
syl2anc |
|- ( ( I e. _V /\ ( f : ( ZZ ^m I ) --> ZZ /\ f e. ran ( I eval ZZring ) ) /\ ( g : ( ZZ ^m I ) --> ZZ /\ g e. ran ( I eval ZZring ) ) ) -> ( f oF x. g ) e. ran ( I eval ZZring ) ) |
| 27 |
|
eleq1 |
|- ( b = ( ( ZZ ^m I ) X. { f } ) -> ( b e. ran ( I eval ZZring ) <-> ( ( ZZ ^m I ) X. { f } ) e. ran ( I eval ZZring ) ) ) |
| 28 |
|
eleq1 |
|- ( b = ( g e. ( ZZ ^m I ) |-> ( g ` f ) ) -> ( b e. ran ( I eval ZZring ) <-> ( g e. ( ZZ ^m I ) |-> ( g ` f ) ) e. ran ( I eval ZZring ) ) ) |
| 29 |
|
eleq1 |
|- ( b = f -> ( b e. ran ( I eval ZZring ) <-> f e. ran ( I eval ZZring ) ) ) |
| 30 |
|
eleq1 |
|- ( b = g -> ( b e. ran ( I eval ZZring ) <-> g e. ran ( I eval ZZring ) ) ) |
| 31 |
|
eleq1 |
|- ( b = ( f oF + g ) -> ( b e. ran ( I eval ZZring ) <-> ( f oF + g ) e. ran ( I eval ZZring ) ) ) |
| 32 |
|
eleq1 |
|- ( b = ( f oF x. g ) -> ( b e. ran ( I eval ZZring ) <-> ( f oF x. g ) e. ran ( I eval ZZring ) ) ) |
| 33 |
|
eleq1 |
|- ( b = a -> ( b e. ran ( I eval ZZring ) <-> a e. ran ( I eval ZZring ) ) ) |
| 34 |
13 18 23 26 27 28 29 30 31 32 33
|
mzpindd |
|- ( ( I e. _V /\ a e. ( mzPoly ` I ) ) -> a e. ran ( I eval ZZring ) ) |
| 35 |
|
simprlr |
|- ( ( ( I e. _V /\ a e. ran ( I eval ZZring ) ) /\ ( ( x e. ran ( I eval ZZring ) /\ x e. ( mzPoly ` I ) ) /\ ( y e. ran ( I eval ZZring ) /\ y e. ( mzPoly ` I ) ) ) ) -> x e. ( mzPoly ` I ) ) |
| 36 |
|
simprrr |
|- ( ( ( I e. _V /\ a e. ran ( I eval ZZring ) ) /\ ( ( x e. ran ( I eval ZZring ) /\ x e. ( mzPoly ` I ) ) /\ ( y e. ran ( I eval ZZring ) /\ y e. ( mzPoly ` I ) ) ) ) -> y e. ( mzPoly ` I ) ) |
| 37 |
|
mzpadd |
|- ( ( x e. ( mzPoly ` I ) /\ y e. ( mzPoly ` I ) ) -> ( x oF + y ) e. ( mzPoly ` I ) ) |
| 38 |
35 36 37
|
syl2anc |
|- ( ( ( I e. _V /\ a e. ran ( I eval ZZring ) ) /\ ( ( x e. ran ( I eval ZZring ) /\ x e. ( mzPoly ` I ) ) /\ ( y e. ran ( I eval ZZring ) /\ y e. ( mzPoly ` I ) ) ) ) -> ( x oF + y ) e. ( mzPoly ` I ) ) |
| 39 |
|
mzpmul |
|- ( ( x e. ( mzPoly ` I ) /\ y e. ( mzPoly ` I ) ) -> ( x oF x. y ) e. ( mzPoly ` I ) ) |
| 40 |
35 36 39
|
syl2anc |
|- ( ( ( I e. _V /\ a e. ran ( I eval ZZring ) ) /\ ( ( x e. ran ( I eval ZZring ) /\ x e. ( mzPoly ` I ) ) /\ ( y e. ran ( I eval ZZring ) /\ y e. ( mzPoly ` I ) ) ) ) -> ( x oF x. y ) e. ( mzPoly ` I ) ) |
| 41 |
|
eleq1 |
|- ( b = ( ( ZZ ^m I ) X. { x } ) -> ( b e. ( mzPoly ` I ) <-> ( ( ZZ ^m I ) X. { x } ) e. ( mzPoly ` I ) ) ) |
| 42 |
|
eleq1 |
|- ( b = ( y e. ( ZZ ^m I ) |-> ( y ` x ) ) -> ( b e. ( mzPoly ` I ) <-> ( y e. ( ZZ ^m I ) |-> ( y ` x ) ) e. ( mzPoly ` I ) ) ) |
| 43 |
|
eleq1 |
|- ( b = x -> ( b e. ( mzPoly ` I ) <-> x e. ( mzPoly ` I ) ) ) |
| 44 |
|
eleq1 |
|- ( b = y -> ( b e. ( mzPoly ` I ) <-> y e. ( mzPoly ` I ) ) ) |
| 45 |
|
eleq1 |
|- ( b = ( x oF + y ) -> ( b e. ( mzPoly ` I ) <-> ( x oF + y ) e. ( mzPoly ` I ) ) ) |
| 46 |
|
eleq1 |
|- ( b = ( x oF x. y ) -> ( b e. ( mzPoly ` I ) <-> ( x oF x. y ) e. ( mzPoly ` I ) ) ) |
| 47 |
|
eleq1 |
|- ( b = a -> ( b e. ( mzPoly ` I ) <-> a e. ( mzPoly ` I ) ) ) |
| 48 |
|
mzpconst |
|- ( ( I e. _V /\ x e. ZZ ) -> ( ( ZZ ^m I ) X. { x } ) e. ( mzPoly ` I ) ) |
| 49 |
48
|
adantlr |
|- ( ( ( I e. _V /\ a e. ran ( I eval ZZring ) ) /\ x e. ZZ ) -> ( ( ZZ ^m I ) X. { x } ) e. ( mzPoly ` I ) ) |
| 50 |
|
mzpproj |
|- ( ( I e. _V /\ x e. I ) -> ( y e. ( ZZ ^m I ) |-> ( y ` x ) ) e. ( mzPoly ` I ) ) |
| 51 |
50
|
adantlr |
|- ( ( ( I e. _V /\ a e. ran ( I eval ZZring ) ) /\ x e. I ) -> ( y e. ( ZZ ^m I ) |-> ( y ` x ) ) e. ( mzPoly ` I ) ) |
| 52 |
|
simpr |
|- ( ( I e. _V /\ a e. ran ( I eval ZZring ) ) -> a e. ran ( I eval ZZring ) ) |
| 53 |
1 21 24 4 38 40 41 42 43 44 45 46 47 49 51 52
|
mpfind |
|- ( ( I e. _V /\ a e. ran ( I eval ZZring ) ) -> a e. ( mzPoly ` I ) ) |
| 54 |
34 53
|
impbida |
|- ( I e. _V -> ( a e. ( mzPoly ` I ) <-> a e. ran ( I eval ZZring ) ) ) |
| 55 |
54
|
eqrdv |
|- ( I e. _V -> ( mzPoly ` I ) = ran ( I eval ZZring ) ) |
| 56 |
|
fvprc |
|- ( -. I e. _V -> ( mzPoly ` I ) = (/) ) |
| 57 |
|
df-evl |
|- eval = ( a e. _V , b e. _V |-> ( ( a evalSub b ) ` ( Base ` b ) ) ) |
| 58 |
57
|
reldmmpo |
|- Rel dom eval |
| 59 |
58
|
ovprc1 |
|- ( -. I e. _V -> ( I eval ZZring ) = (/) ) |
| 60 |
59
|
rneqd |
|- ( -. I e. _V -> ran ( I eval ZZring ) = ran (/) ) |
| 61 |
|
rn0 |
|- ran (/) = (/) |
| 62 |
60 61
|
eqtrdi |
|- ( -. I e. _V -> ran ( I eval ZZring ) = (/) ) |
| 63 |
56 62
|
eqtr4d |
|- ( -. I e. _V -> ( mzPoly ` I ) = ran ( I eval ZZring ) ) |
| 64 |
55 63
|
pm2.61i |
|- ( mzPoly ` I ) = ran ( I eval ZZring ) |