Step |
Hyp |
Ref |
Expression |
1 |
|
zex |
|- ZZ e. _V |
2 |
|
difexg |
|- ( ZZ e. _V -> ( ZZ \ NN ) e. _V ) |
3 |
1 2
|
ax-mp |
|- ( ZZ \ NN ) e. _V |
4 |
|
ominf |
|- -. _om e. Fin |
5 |
|
nnuz |
|- NN = ( ZZ>= ` 1 ) |
6 |
|
0p1e1 |
|- ( 0 + 1 ) = 1 |
7 |
6
|
fveq2i |
|- ( ZZ>= ` ( 0 + 1 ) ) = ( ZZ>= ` 1 ) |
8 |
5 7
|
eqtr4i |
|- NN = ( ZZ>= ` ( 0 + 1 ) ) |
9 |
8
|
difeq2i |
|- ( ZZ \ NN ) = ( ZZ \ ( ZZ>= ` ( 0 + 1 ) ) ) |
10 |
|
0z |
|- 0 e. ZZ |
11 |
|
lzenom |
|- ( 0 e. ZZ -> ( ZZ \ ( ZZ>= ` ( 0 + 1 ) ) ) ~~ _om ) |
12 |
10 11
|
ax-mp |
|- ( ZZ \ ( ZZ>= ` ( 0 + 1 ) ) ) ~~ _om |
13 |
9 12
|
eqbrtri |
|- ( ZZ \ NN ) ~~ _om |
14 |
|
enfi |
|- ( ( ZZ \ NN ) ~~ _om -> ( ( ZZ \ NN ) e. Fin <-> _om e. Fin ) ) |
15 |
13 14
|
ax-mp |
|- ( ( ZZ \ NN ) e. Fin <-> _om e. Fin ) |
16 |
4 15
|
mtbir |
|- -. ( ZZ \ NN ) e. Fin |
17 |
|
disjdifr |
|- ( ( ZZ \ NN ) i^i NN ) = (/) |
18 |
3 16 17
|
eldioph4b |
|- ( S e. ( Dioph ` N ) <-> ( N e. NN0 /\ E. b e. ( mzPoly ` ( ( ZZ \ NN ) u. ( 1 ... N ) ) ) S = { c e. ( NN0 ^m ( 1 ... N ) ) | E. d e. ( NN0 ^m ( ZZ \ NN ) ) ( b ` ( c u. d ) ) = 0 } ) ) |
19 |
|
simpr |
|- ( ( ( ( ( M e. NN0 /\ F : ( 1 ... N ) --> ( 1 ... M ) ) /\ N e. NN0 ) /\ b e. ( mzPoly ` ( ( ZZ \ NN ) u. ( 1 ... N ) ) ) ) /\ a e. ( NN0 ^m ( 1 ... M ) ) ) -> a e. ( NN0 ^m ( 1 ... M ) ) ) |
20 |
|
simp-4r |
|- ( ( ( ( ( M e. NN0 /\ F : ( 1 ... N ) --> ( 1 ... M ) ) /\ N e. NN0 ) /\ b e. ( mzPoly ` ( ( ZZ \ NN ) u. ( 1 ... N ) ) ) ) /\ a e. ( NN0 ^m ( 1 ... M ) ) ) -> F : ( 1 ... N ) --> ( 1 ... M ) ) |
21 |
|
ovex |
|- ( 1 ... N ) e. _V |
22 |
21
|
mapco2 |
|- ( ( a e. ( NN0 ^m ( 1 ... M ) ) /\ F : ( 1 ... N ) --> ( 1 ... M ) ) -> ( a o. F ) e. ( NN0 ^m ( 1 ... N ) ) ) |
23 |
19 20 22
|
syl2anc |
|- ( ( ( ( ( M e. NN0 /\ F : ( 1 ... N ) --> ( 1 ... M ) ) /\ N e. NN0 ) /\ b e. ( mzPoly ` ( ( ZZ \ NN ) u. ( 1 ... N ) ) ) ) /\ a e. ( NN0 ^m ( 1 ... M ) ) ) -> ( a o. F ) e. ( NN0 ^m ( 1 ... N ) ) ) |
24 |
|
uneq1 |
|- ( c = ( a o. F ) -> ( c u. d ) = ( ( a o. F ) u. d ) ) |
25 |
24
|
fveqeq2d |
|- ( c = ( a o. F ) -> ( ( b ` ( c u. d ) ) = 0 <-> ( b ` ( ( a o. F ) u. d ) ) = 0 ) ) |
26 |
25
|
rexbidv |
|- ( c = ( a o. F ) -> ( E. d e. ( NN0 ^m ( ZZ \ NN ) ) ( b ` ( c u. d ) ) = 0 <-> E. d e. ( NN0 ^m ( ZZ \ NN ) ) ( b ` ( ( a o. F ) u. d ) ) = 0 ) ) |
27 |
26
|
elrab3 |
|- ( ( a o. F ) e. ( NN0 ^m ( 1 ... N ) ) -> ( ( a o. F ) e. { c e. ( NN0 ^m ( 1 ... N ) ) | E. d e. ( NN0 ^m ( ZZ \ NN ) ) ( b ` ( c u. d ) ) = 0 } <-> E. d e. ( NN0 ^m ( ZZ \ NN ) ) ( b ` ( ( a o. F ) u. d ) ) = 0 ) ) |
28 |
23 27
|
syl |
|- ( ( ( ( ( M e. NN0 /\ F : ( 1 ... N ) --> ( 1 ... M ) ) /\ N e. NN0 ) /\ b e. ( mzPoly ` ( ( ZZ \ NN ) u. ( 1 ... N ) ) ) ) /\ a e. ( NN0 ^m ( 1 ... M ) ) ) -> ( ( a o. F ) e. { c e. ( NN0 ^m ( 1 ... N ) ) | E. d e. ( NN0 ^m ( ZZ \ NN ) ) ( b ` ( c u. d ) ) = 0 } <-> E. d e. ( NN0 ^m ( ZZ \ NN ) ) ( b ` ( ( a o. F ) u. d ) ) = 0 ) ) |
29 |
|
simp-5r |
|- ( ( ( ( ( ( M e. NN0 /\ F : ( 1 ... N ) --> ( 1 ... M ) ) /\ N e. NN0 ) /\ b e. ( mzPoly ` ( ( ZZ \ NN ) u. ( 1 ... N ) ) ) ) /\ a e. ( NN0 ^m ( 1 ... M ) ) ) /\ d e. ( NN0 ^m ( ZZ \ NN ) ) ) -> F : ( 1 ... N ) --> ( 1 ... M ) ) |
30 |
|
simplr |
|- ( ( ( ( ( ( M e. NN0 /\ F : ( 1 ... N ) --> ( 1 ... M ) ) /\ N e. NN0 ) /\ b e. ( mzPoly ` ( ( ZZ \ NN ) u. ( 1 ... N ) ) ) ) /\ a e. ( NN0 ^m ( 1 ... M ) ) ) /\ d e. ( NN0 ^m ( ZZ \ NN ) ) ) -> a e. ( NN0 ^m ( 1 ... M ) ) ) |
31 |
|
simpr |
|- ( ( ( ( ( ( M e. NN0 /\ F : ( 1 ... N ) --> ( 1 ... M ) ) /\ N e. NN0 ) /\ b e. ( mzPoly ` ( ( ZZ \ NN ) u. ( 1 ... N ) ) ) ) /\ a e. ( NN0 ^m ( 1 ... M ) ) ) /\ d e. ( NN0 ^m ( ZZ \ NN ) ) ) -> d e. ( NN0 ^m ( ZZ \ NN ) ) ) |
32 |
|
coundi |
|- ( ( a u. d ) o. ( F u. ( _I |` ( ZZ \ NN ) ) ) ) = ( ( ( a u. d ) o. F ) u. ( ( a u. d ) o. ( _I |` ( ZZ \ NN ) ) ) ) |
33 |
|
coundir |
|- ( ( a u. d ) o. F ) = ( ( a o. F ) u. ( d o. F ) ) |
34 |
|
elmapi |
|- ( d e. ( NN0 ^m ( ZZ \ NN ) ) -> d : ( ZZ \ NN ) --> NN0 ) |
35 |
34
|
3ad2ant3 |
|- ( ( F : ( 1 ... N ) --> ( 1 ... M ) /\ a e. ( NN0 ^m ( 1 ... M ) ) /\ d e. ( NN0 ^m ( ZZ \ NN ) ) ) -> d : ( ZZ \ NN ) --> NN0 ) |
36 |
|
simp1 |
|- ( ( F : ( 1 ... N ) --> ( 1 ... M ) /\ a e. ( NN0 ^m ( 1 ... M ) ) /\ d e. ( NN0 ^m ( ZZ \ NN ) ) ) -> F : ( 1 ... N ) --> ( 1 ... M ) ) |
37 |
|
incom |
|- ( ( ZZ \ NN ) i^i ( 1 ... M ) ) = ( ( 1 ... M ) i^i ( ZZ \ NN ) ) |
38 |
|
fz1ssnn |
|- ( 1 ... M ) C_ NN |
39 |
|
disjdif |
|- ( NN i^i ( ZZ \ NN ) ) = (/) |
40 |
|
ssdisj |
|- ( ( ( 1 ... M ) C_ NN /\ ( NN i^i ( ZZ \ NN ) ) = (/) ) -> ( ( 1 ... M ) i^i ( ZZ \ NN ) ) = (/) ) |
41 |
38 39 40
|
mp2an |
|- ( ( 1 ... M ) i^i ( ZZ \ NN ) ) = (/) |
42 |
37 41
|
eqtri |
|- ( ( ZZ \ NN ) i^i ( 1 ... M ) ) = (/) |
43 |
42
|
a1i |
|- ( ( F : ( 1 ... N ) --> ( 1 ... M ) /\ a e. ( NN0 ^m ( 1 ... M ) ) /\ d e. ( NN0 ^m ( ZZ \ NN ) ) ) -> ( ( ZZ \ NN ) i^i ( 1 ... M ) ) = (/) ) |
44 |
|
coeq0i |
|- ( ( d : ( ZZ \ NN ) --> NN0 /\ F : ( 1 ... N ) --> ( 1 ... M ) /\ ( ( ZZ \ NN ) i^i ( 1 ... M ) ) = (/) ) -> ( d o. F ) = (/) ) |
45 |
35 36 43 44
|
syl3anc |
|- ( ( F : ( 1 ... N ) --> ( 1 ... M ) /\ a e. ( NN0 ^m ( 1 ... M ) ) /\ d e. ( NN0 ^m ( ZZ \ NN ) ) ) -> ( d o. F ) = (/) ) |
46 |
45
|
uneq2d |
|- ( ( F : ( 1 ... N ) --> ( 1 ... M ) /\ a e. ( NN0 ^m ( 1 ... M ) ) /\ d e. ( NN0 ^m ( ZZ \ NN ) ) ) -> ( ( a o. F ) u. ( d o. F ) ) = ( ( a o. F ) u. (/) ) ) |
47 |
33 46
|
syl5eq |
|- ( ( F : ( 1 ... N ) --> ( 1 ... M ) /\ a e. ( NN0 ^m ( 1 ... M ) ) /\ d e. ( NN0 ^m ( ZZ \ NN ) ) ) -> ( ( a u. d ) o. F ) = ( ( a o. F ) u. (/) ) ) |
48 |
|
un0 |
|- ( ( a o. F ) u. (/) ) = ( a o. F ) |
49 |
47 48
|
eqtrdi |
|- ( ( F : ( 1 ... N ) --> ( 1 ... M ) /\ a e. ( NN0 ^m ( 1 ... M ) ) /\ d e. ( NN0 ^m ( ZZ \ NN ) ) ) -> ( ( a u. d ) o. F ) = ( a o. F ) ) |
50 |
|
coundir |
|- ( ( a u. d ) o. ( _I |` ( ZZ \ NN ) ) ) = ( ( a o. ( _I |` ( ZZ \ NN ) ) ) u. ( d o. ( _I |` ( ZZ \ NN ) ) ) ) |
51 |
|
elmapi |
|- ( a e. ( NN0 ^m ( 1 ... M ) ) -> a : ( 1 ... M ) --> NN0 ) |
52 |
51
|
3ad2ant2 |
|- ( ( F : ( 1 ... N ) --> ( 1 ... M ) /\ a e. ( NN0 ^m ( 1 ... M ) ) /\ d e. ( NN0 ^m ( ZZ \ NN ) ) ) -> a : ( 1 ... M ) --> NN0 ) |
53 |
|
f1oi |
|- ( _I |` ( ZZ \ NN ) ) : ( ZZ \ NN ) -1-1-onto-> ( ZZ \ NN ) |
54 |
|
f1of |
|- ( ( _I |` ( ZZ \ NN ) ) : ( ZZ \ NN ) -1-1-onto-> ( ZZ \ NN ) -> ( _I |` ( ZZ \ NN ) ) : ( ZZ \ NN ) --> ( ZZ \ NN ) ) |
55 |
53 54
|
ax-mp |
|- ( _I |` ( ZZ \ NN ) ) : ( ZZ \ NN ) --> ( ZZ \ NN ) |
56 |
|
coeq0i |
|- ( ( a : ( 1 ... M ) --> NN0 /\ ( _I |` ( ZZ \ NN ) ) : ( ZZ \ NN ) --> ( ZZ \ NN ) /\ ( ( 1 ... M ) i^i ( ZZ \ NN ) ) = (/) ) -> ( a o. ( _I |` ( ZZ \ NN ) ) ) = (/) ) |
57 |
55 41 56
|
mp3an23 |
|- ( a : ( 1 ... M ) --> NN0 -> ( a o. ( _I |` ( ZZ \ NN ) ) ) = (/) ) |
58 |
52 57
|
syl |
|- ( ( F : ( 1 ... N ) --> ( 1 ... M ) /\ a e. ( NN0 ^m ( 1 ... M ) ) /\ d e. ( NN0 ^m ( ZZ \ NN ) ) ) -> ( a o. ( _I |` ( ZZ \ NN ) ) ) = (/) ) |
59 |
|
coires1 |
|- ( d o. ( _I |` ( ZZ \ NN ) ) ) = ( d |` ( ZZ \ NN ) ) |
60 |
|
ffn |
|- ( d : ( ZZ \ NN ) --> NN0 -> d Fn ( ZZ \ NN ) ) |
61 |
|
fnresdm |
|- ( d Fn ( ZZ \ NN ) -> ( d |` ( ZZ \ NN ) ) = d ) |
62 |
34 60 61
|
3syl |
|- ( d e. ( NN0 ^m ( ZZ \ NN ) ) -> ( d |` ( ZZ \ NN ) ) = d ) |
63 |
59 62
|
syl5eq |
|- ( d e. ( NN0 ^m ( ZZ \ NN ) ) -> ( d o. ( _I |` ( ZZ \ NN ) ) ) = d ) |
64 |
63
|
3ad2ant3 |
|- ( ( F : ( 1 ... N ) --> ( 1 ... M ) /\ a e. ( NN0 ^m ( 1 ... M ) ) /\ d e. ( NN0 ^m ( ZZ \ NN ) ) ) -> ( d o. ( _I |` ( ZZ \ NN ) ) ) = d ) |
65 |
58 64
|
uneq12d |
|- ( ( F : ( 1 ... N ) --> ( 1 ... M ) /\ a e. ( NN0 ^m ( 1 ... M ) ) /\ d e. ( NN0 ^m ( ZZ \ NN ) ) ) -> ( ( a o. ( _I |` ( ZZ \ NN ) ) ) u. ( d o. ( _I |` ( ZZ \ NN ) ) ) ) = ( (/) u. d ) ) |
66 |
50 65
|
syl5eq |
|- ( ( F : ( 1 ... N ) --> ( 1 ... M ) /\ a e. ( NN0 ^m ( 1 ... M ) ) /\ d e. ( NN0 ^m ( ZZ \ NN ) ) ) -> ( ( a u. d ) o. ( _I |` ( ZZ \ NN ) ) ) = ( (/) u. d ) ) |
67 |
|
uncom |
|- ( (/) u. d ) = ( d u. (/) ) |
68 |
|
un0 |
|- ( d u. (/) ) = d |
69 |
67 68
|
eqtri |
|- ( (/) u. d ) = d |
70 |
66 69
|
eqtrdi |
|- ( ( F : ( 1 ... N ) --> ( 1 ... M ) /\ a e. ( NN0 ^m ( 1 ... M ) ) /\ d e. ( NN0 ^m ( ZZ \ NN ) ) ) -> ( ( a u. d ) o. ( _I |` ( ZZ \ NN ) ) ) = d ) |
71 |
49 70
|
uneq12d |
|- ( ( F : ( 1 ... N ) --> ( 1 ... M ) /\ a e. ( NN0 ^m ( 1 ... M ) ) /\ d e. ( NN0 ^m ( ZZ \ NN ) ) ) -> ( ( ( a u. d ) o. F ) u. ( ( a u. d ) o. ( _I |` ( ZZ \ NN ) ) ) ) = ( ( a o. F ) u. d ) ) |
72 |
32 71
|
eqtr2id |
|- ( ( F : ( 1 ... N ) --> ( 1 ... M ) /\ a e. ( NN0 ^m ( 1 ... M ) ) /\ d e. ( NN0 ^m ( ZZ \ NN ) ) ) -> ( ( a o. F ) u. d ) = ( ( a u. d ) o. ( F u. ( _I |` ( ZZ \ NN ) ) ) ) ) |
73 |
29 30 31 72
|
syl3anc |
|- ( ( ( ( ( ( M e. NN0 /\ F : ( 1 ... N ) --> ( 1 ... M ) ) /\ N e. NN0 ) /\ b e. ( mzPoly ` ( ( ZZ \ NN ) u. ( 1 ... N ) ) ) ) /\ a e. ( NN0 ^m ( 1 ... M ) ) ) /\ d e. ( NN0 ^m ( ZZ \ NN ) ) ) -> ( ( a o. F ) u. d ) = ( ( a u. d ) o. ( F u. ( _I |` ( ZZ \ NN ) ) ) ) ) |
74 |
73
|
fveq2d |
|- ( ( ( ( ( ( M e. NN0 /\ F : ( 1 ... N ) --> ( 1 ... M ) ) /\ N e. NN0 ) /\ b e. ( mzPoly ` ( ( ZZ \ NN ) u. ( 1 ... N ) ) ) ) /\ a e. ( NN0 ^m ( 1 ... M ) ) ) /\ d e. ( NN0 ^m ( ZZ \ NN ) ) ) -> ( b ` ( ( a o. F ) u. d ) ) = ( b ` ( ( a u. d ) o. ( F u. ( _I |` ( ZZ \ NN ) ) ) ) ) ) |
75 |
|
nn0ssz |
|- NN0 C_ ZZ |
76 |
|
mapss |
|- ( ( ZZ e. _V /\ NN0 C_ ZZ ) -> ( NN0 ^m ( ( ZZ \ NN ) u. ( 1 ... M ) ) ) C_ ( ZZ ^m ( ( ZZ \ NN ) u. ( 1 ... M ) ) ) ) |
77 |
1 75 76
|
mp2an |
|- ( NN0 ^m ( ( ZZ \ NN ) u. ( 1 ... M ) ) ) C_ ( ZZ ^m ( ( ZZ \ NN ) u. ( 1 ... M ) ) ) |
78 |
41
|
reseq2i |
|- ( a |` ( ( 1 ... M ) i^i ( ZZ \ NN ) ) ) = ( a |` (/) ) |
79 |
|
res0 |
|- ( a |` (/) ) = (/) |
80 |
78 79
|
eqtri |
|- ( a |` ( ( 1 ... M ) i^i ( ZZ \ NN ) ) ) = (/) |
81 |
41
|
reseq2i |
|- ( d |` ( ( 1 ... M ) i^i ( ZZ \ NN ) ) ) = ( d |` (/) ) |
82 |
|
res0 |
|- ( d |` (/) ) = (/) |
83 |
81 82
|
eqtri |
|- ( d |` ( ( 1 ... M ) i^i ( ZZ \ NN ) ) ) = (/) |
84 |
80 83
|
eqtr4i |
|- ( a |` ( ( 1 ... M ) i^i ( ZZ \ NN ) ) ) = ( d |` ( ( 1 ... M ) i^i ( ZZ \ NN ) ) ) |
85 |
|
elmapresaun |
|- ( ( a e. ( NN0 ^m ( 1 ... M ) ) /\ d e. ( NN0 ^m ( ZZ \ NN ) ) /\ ( a |` ( ( 1 ... M ) i^i ( ZZ \ NN ) ) ) = ( d |` ( ( 1 ... M ) i^i ( ZZ \ NN ) ) ) ) -> ( a u. d ) e. ( NN0 ^m ( ( 1 ... M ) u. ( ZZ \ NN ) ) ) ) |
86 |
|
uncom |
|- ( ( 1 ... M ) u. ( ZZ \ NN ) ) = ( ( ZZ \ NN ) u. ( 1 ... M ) ) |
87 |
86
|
oveq2i |
|- ( NN0 ^m ( ( 1 ... M ) u. ( ZZ \ NN ) ) ) = ( NN0 ^m ( ( ZZ \ NN ) u. ( 1 ... M ) ) ) |
88 |
85 87
|
eleqtrdi |
|- ( ( a e. ( NN0 ^m ( 1 ... M ) ) /\ d e. ( NN0 ^m ( ZZ \ NN ) ) /\ ( a |` ( ( 1 ... M ) i^i ( ZZ \ NN ) ) ) = ( d |` ( ( 1 ... M ) i^i ( ZZ \ NN ) ) ) ) -> ( a u. d ) e. ( NN0 ^m ( ( ZZ \ NN ) u. ( 1 ... M ) ) ) ) |
89 |
84 88
|
mp3an3 |
|- ( ( a e. ( NN0 ^m ( 1 ... M ) ) /\ d e. ( NN0 ^m ( ZZ \ NN ) ) ) -> ( a u. d ) e. ( NN0 ^m ( ( ZZ \ NN ) u. ( 1 ... M ) ) ) ) |
90 |
77 89
|
sselid |
|- ( ( a e. ( NN0 ^m ( 1 ... M ) ) /\ d e. ( NN0 ^m ( ZZ \ NN ) ) ) -> ( a u. d ) e. ( ZZ ^m ( ( ZZ \ NN ) u. ( 1 ... M ) ) ) ) |
91 |
90
|
adantll |
|- ( ( ( ( ( ( M e. NN0 /\ F : ( 1 ... N ) --> ( 1 ... M ) ) /\ N e. NN0 ) /\ b e. ( mzPoly ` ( ( ZZ \ NN ) u. ( 1 ... N ) ) ) ) /\ a e. ( NN0 ^m ( 1 ... M ) ) ) /\ d e. ( NN0 ^m ( ZZ \ NN ) ) ) -> ( a u. d ) e. ( ZZ ^m ( ( ZZ \ NN ) u. ( 1 ... M ) ) ) ) |
92 |
|
coeq1 |
|- ( e = ( a u. d ) -> ( e o. ( F u. ( _I |` ( ZZ \ NN ) ) ) ) = ( ( a u. d ) o. ( F u. ( _I |` ( ZZ \ NN ) ) ) ) ) |
93 |
92
|
fveq2d |
|- ( e = ( a u. d ) -> ( b ` ( e o. ( F u. ( _I |` ( ZZ \ NN ) ) ) ) ) = ( b ` ( ( a u. d ) o. ( F u. ( _I |` ( ZZ \ NN ) ) ) ) ) ) |
94 |
|
eqid |
|- ( e e. ( ZZ ^m ( ( ZZ \ NN ) u. ( 1 ... M ) ) ) |-> ( b ` ( e o. ( F u. ( _I |` ( ZZ \ NN ) ) ) ) ) ) = ( e e. ( ZZ ^m ( ( ZZ \ NN ) u. ( 1 ... M ) ) ) |-> ( b ` ( e o. ( F u. ( _I |` ( ZZ \ NN ) ) ) ) ) ) |
95 |
|
fvex |
|- ( b ` ( ( a u. d ) o. ( F u. ( _I |` ( ZZ \ NN ) ) ) ) ) e. _V |
96 |
93 94 95
|
fvmpt |
|- ( ( a u. d ) e. ( ZZ ^m ( ( ZZ \ NN ) u. ( 1 ... M ) ) ) -> ( ( e e. ( ZZ ^m ( ( ZZ \ NN ) u. ( 1 ... M ) ) ) |-> ( b ` ( e o. ( F u. ( _I |` ( ZZ \ NN ) ) ) ) ) ) ` ( a u. d ) ) = ( b ` ( ( a u. d ) o. ( F u. ( _I |` ( ZZ \ NN ) ) ) ) ) ) |
97 |
91 96
|
syl |
|- ( ( ( ( ( ( M e. NN0 /\ F : ( 1 ... N ) --> ( 1 ... M ) ) /\ N e. NN0 ) /\ b e. ( mzPoly ` ( ( ZZ \ NN ) u. ( 1 ... N ) ) ) ) /\ a e. ( NN0 ^m ( 1 ... M ) ) ) /\ d e. ( NN0 ^m ( ZZ \ NN ) ) ) -> ( ( e e. ( ZZ ^m ( ( ZZ \ NN ) u. ( 1 ... M ) ) ) |-> ( b ` ( e o. ( F u. ( _I |` ( ZZ \ NN ) ) ) ) ) ) ` ( a u. d ) ) = ( b ` ( ( a u. d ) o. ( F u. ( _I |` ( ZZ \ NN ) ) ) ) ) ) |
98 |
74 97
|
eqtr4d |
|- ( ( ( ( ( ( M e. NN0 /\ F : ( 1 ... N ) --> ( 1 ... M ) ) /\ N e. NN0 ) /\ b e. ( mzPoly ` ( ( ZZ \ NN ) u. ( 1 ... N ) ) ) ) /\ a e. ( NN0 ^m ( 1 ... M ) ) ) /\ d e. ( NN0 ^m ( ZZ \ NN ) ) ) -> ( b ` ( ( a o. F ) u. d ) ) = ( ( e e. ( ZZ ^m ( ( ZZ \ NN ) u. ( 1 ... M ) ) ) |-> ( b ` ( e o. ( F u. ( _I |` ( ZZ \ NN ) ) ) ) ) ) ` ( a u. d ) ) ) |
99 |
98
|
eqeq1d |
|- ( ( ( ( ( ( M e. NN0 /\ F : ( 1 ... N ) --> ( 1 ... M ) ) /\ N e. NN0 ) /\ b e. ( mzPoly ` ( ( ZZ \ NN ) u. ( 1 ... N ) ) ) ) /\ a e. ( NN0 ^m ( 1 ... M ) ) ) /\ d e. ( NN0 ^m ( ZZ \ NN ) ) ) -> ( ( b ` ( ( a o. F ) u. d ) ) = 0 <-> ( ( e e. ( ZZ ^m ( ( ZZ \ NN ) u. ( 1 ... M ) ) ) |-> ( b ` ( e o. ( F u. ( _I |` ( ZZ \ NN ) ) ) ) ) ) ` ( a u. d ) ) = 0 ) ) |
100 |
99
|
rexbidva |
|- ( ( ( ( ( M e. NN0 /\ F : ( 1 ... N ) --> ( 1 ... M ) ) /\ N e. NN0 ) /\ b e. ( mzPoly ` ( ( ZZ \ NN ) u. ( 1 ... N ) ) ) ) /\ a e. ( NN0 ^m ( 1 ... M ) ) ) -> ( E. d e. ( NN0 ^m ( ZZ \ NN ) ) ( b ` ( ( a o. F ) u. d ) ) = 0 <-> E. d e. ( NN0 ^m ( ZZ \ NN ) ) ( ( e e. ( ZZ ^m ( ( ZZ \ NN ) u. ( 1 ... M ) ) ) |-> ( b ` ( e o. ( F u. ( _I |` ( ZZ \ NN ) ) ) ) ) ) ` ( a u. d ) ) = 0 ) ) |
101 |
28 100
|
bitrd |
|- ( ( ( ( ( M e. NN0 /\ F : ( 1 ... N ) --> ( 1 ... M ) ) /\ N e. NN0 ) /\ b e. ( mzPoly ` ( ( ZZ \ NN ) u. ( 1 ... N ) ) ) ) /\ a e. ( NN0 ^m ( 1 ... M ) ) ) -> ( ( a o. F ) e. { c e. ( NN0 ^m ( 1 ... N ) ) | E. d e. ( NN0 ^m ( ZZ \ NN ) ) ( b ` ( c u. d ) ) = 0 } <-> E. d e. ( NN0 ^m ( ZZ \ NN ) ) ( ( e e. ( ZZ ^m ( ( ZZ \ NN ) u. ( 1 ... M ) ) ) |-> ( b ` ( e o. ( F u. ( _I |` ( ZZ \ NN ) ) ) ) ) ) ` ( a u. d ) ) = 0 ) ) |
102 |
101
|
rabbidva |
|- ( ( ( ( M e. NN0 /\ F : ( 1 ... N ) --> ( 1 ... M ) ) /\ N e. NN0 ) /\ b e. ( mzPoly ` ( ( ZZ \ NN ) u. ( 1 ... N ) ) ) ) -> { a e. ( NN0 ^m ( 1 ... M ) ) | ( a o. F ) e. { c e. ( NN0 ^m ( 1 ... N ) ) | E. d e. ( NN0 ^m ( ZZ \ NN ) ) ( b ` ( c u. d ) ) = 0 } } = { a e. ( NN0 ^m ( 1 ... M ) ) | E. d e. ( NN0 ^m ( ZZ \ NN ) ) ( ( e e. ( ZZ ^m ( ( ZZ \ NN ) u. ( 1 ... M ) ) ) |-> ( b ` ( e o. ( F u. ( _I |` ( ZZ \ NN ) ) ) ) ) ) ` ( a u. d ) ) = 0 } ) |
103 |
|
simplll |
|- ( ( ( ( M e. NN0 /\ F : ( 1 ... N ) --> ( 1 ... M ) ) /\ N e. NN0 ) /\ b e. ( mzPoly ` ( ( ZZ \ NN ) u. ( 1 ... N ) ) ) ) -> M e. NN0 ) |
104 |
|
ovex |
|- ( 1 ... M ) e. _V |
105 |
3 104
|
unex |
|- ( ( ZZ \ NN ) u. ( 1 ... M ) ) e. _V |
106 |
105
|
a1i |
|- ( ( ( ( M e. NN0 /\ F : ( 1 ... N ) --> ( 1 ... M ) ) /\ N e. NN0 ) /\ b e. ( mzPoly ` ( ( ZZ \ NN ) u. ( 1 ... N ) ) ) ) -> ( ( ZZ \ NN ) u. ( 1 ... M ) ) e. _V ) |
107 |
|
simpr |
|- ( ( ( ( M e. NN0 /\ F : ( 1 ... N ) --> ( 1 ... M ) ) /\ N e. NN0 ) /\ b e. ( mzPoly ` ( ( ZZ \ NN ) u. ( 1 ... N ) ) ) ) -> b e. ( mzPoly ` ( ( ZZ \ NN ) u. ( 1 ... N ) ) ) ) |
108 |
55
|
a1i |
|- ( F : ( 1 ... N ) --> ( 1 ... M ) -> ( _I |` ( ZZ \ NN ) ) : ( ZZ \ NN ) --> ( ZZ \ NN ) ) |
109 |
|
id |
|- ( F : ( 1 ... N ) --> ( 1 ... M ) -> F : ( 1 ... N ) --> ( 1 ... M ) ) |
110 |
|
incom |
|- ( ( ZZ \ NN ) i^i ( 1 ... N ) ) = ( ( 1 ... N ) i^i ( ZZ \ NN ) ) |
111 |
|
fz1ssnn |
|- ( 1 ... N ) C_ NN |
112 |
|
ssdisj |
|- ( ( ( 1 ... N ) C_ NN /\ ( NN i^i ( ZZ \ NN ) ) = (/) ) -> ( ( 1 ... N ) i^i ( ZZ \ NN ) ) = (/) ) |
113 |
111 39 112
|
mp2an |
|- ( ( 1 ... N ) i^i ( ZZ \ NN ) ) = (/) |
114 |
110 113
|
eqtri |
|- ( ( ZZ \ NN ) i^i ( 1 ... N ) ) = (/) |
115 |
114
|
a1i |
|- ( F : ( 1 ... N ) --> ( 1 ... M ) -> ( ( ZZ \ NN ) i^i ( 1 ... N ) ) = (/) ) |
116 |
|
fun |
|- ( ( ( ( _I |` ( ZZ \ NN ) ) : ( ZZ \ NN ) --> ( ZZ \ NN ) /\ F : ( 1 ... N ) --> ( 1 ... M ) ) /\ ( ( ZZ \ NN ) i^i ( 1 ... N ) ) = (/) ) -> ( ( _I |` ( ZZ \ NN ) ) u. F ) : ( ( ZZ \ NN ) u. ( 1 ... N ) ) --> ( ( ZZ \ NN ) u. ( 1 ... M ) ) ) |
117 |
108 109 115 116
|
syl21anc |
|- ( F : ( 1 ... N ) --> ( 1 ... M ) -> ( ( _I |` ( ZZ \ NN ) ) u. F ) : ( ( ZZ \ NN ) u. ( 1 ... N ) ) --> ( ( ZZ \ NN ) u. ( 1 ... M ) ) ) |
118 |
|
uncom |
|- ( ( _I |` ( ZZ \ NN ) ) u. F ) = ( F u. ( _I |` ( ZZ \ NN ) ) ) |
119 |
118
|
feq1i |
|- ( ( ( _I |` ( ZZ \ NN ) ) u. F ) : ( ( ZZ \ NN ) u. ( 1 ... N ) ) --> ( ( ZZ \ NN ) u. ( 1 ... M ) ) <-> ( F u. ( _I |` ( ZZ \ NN ) ) ) : ( ( ZZ \ NN ) u. ( 1 ... N ) ) --> ( ( ZZ \ NN ) u. ( 1 ... M ) ) ) |
120 |
117 119
|
sylib |
|- ( F : ( 1 ... N ) --> ( 1 ... M ) -> ( F u. ( _I |` ( ZZ \ NN ) ) ) : ( ( ZZ \ NN ) u. ( 1 ... N ) ) --> ( ( ZZ \ NN ) u. ( 1 ... M ) ) ) |
121 |
120
|
ad3antlr |
|- ( ( ( ( M e. NN0 /\ F : ( 1 ... N ) --> ( 1 ... M ) ) /\ N e. NN0 ) /\ b e. ( mzPoly ` ( ( ZZ \ NN ) u. ( 1 ... N ) ) ) ) -> ( F u. ( _I |` ( ZZ \ NN ) ) ) : ( ( ZZ \ NN ) u. ( 1 ... N ) ) --> ( ( ZZ \ NN ) u. ( 1 ... M ) ) ) |
122 |
|
mzprename |
|- ( ( ( ( ZZ \ NN ) u. ( 1 ... M ) ) e. _V /\ b e. ( mzPoly ` ( ( ZZ \ NN ) u. ( 1 ... N ) ) ) /\ ( F u. ( _I |` ( ZZ \ NN ) ) ) : ( ( ZZ \ NN ) u. ( 1 ... N ) ) --> ( ( ZZ \ NN ) u. ( 1 ... M ) ) ) -> ( e e. ( ZZ ^m ( ( ZZ \ NN ) u. ( 1 ... M ) ) ) |-> ( b ` ( e o. ( F u. ( _I |` ( ZZ \ NN ) ) ) ) ) ) e. ( mzPoly ` ( ( ZZ \ NN ) u. ( 1 ... M ) ) ) ) |
123 |
106 107 121 122
|
syl3anc |
|- ( ( ( ( M e. NN0 /\ F : ( 1 ... N ) --> ( 1 ... M ) ) /\ N e. NN0 ) /\ b e. ( mzPoly ` ( ( ZZ \ NN ) u. ( 1 ... N ) ) ) ) -> ( e e. ( ZZ ^m ( ( ZZ \ NN ) u. ( 1 ... M ) ) ) |-> ( b ` ( e o. ( F u. ( _I |` ( ZZ \ NN ) ) ) ) ) ) e. ( mzPoly ` ( ( ZZ \ NN ) u. ( 1 ... M ) ) ) ) |
124 |
3 16 17
|
eldioph4i |
|- ( ( M e. NN0 /\ ( e e. ( ZZ ^m ( ( ZZ \ NN ) u. ( 1 ... M ) ) ) |-> ( b ` ( e o. ( F u. ( _I |` ( ZZ \ NN ) ) ) ) ) ) e. ( mzPoly ` ( ( ZZ \ NN ) u. ( 1 ... M ) ) ) ) -> { a e. ( NN0 ^m ( 1 ... M ) ) | E. d e. ( NN0 ^m ( ZZ \ NN ) ) ( ( e e. ( ZZ ^m ( ( ZZ \ NN ) u. ( 1 ... M ) ) ) |-> ( b ` ( e o. ( F u. ( _I |` ( ZZ \ NN ) ) ) ) ) ) ` ( a u. d ) ) = 0 } e. ( Dioph ` M ) ) |
125 |
103 123 124
|
syl2anc |
|- ( ( ( ( M e. NN0 /\ F : ( 1 ... N ) --> ( 1 ... M ) ) /\ N e. NN0 ) /\ b e. ( mzPoly ` ( ( ZZ \ NN ) u. ( 1 ... N ) ) ) ) -> { a e. ( NN0 ^m ( 1 ... M ) ) | E. d e. ( NN0 ^m ( ZZ \ NN ) ) ( ( e e. ( ZZ ^m ( ( ZZ \ NN ) u. ( 1 ... M ) ) ) |-> ( b ` ( e o. ( F u. ( _I |` ( ZZ \ NN ) ) ) ) ) ) ` ( a u. d ) ) = 0 } e. ( Dioph ` M ) ) |
126 |
102 125
|
eqeltrd |
|- ( ( ( ( M e. NN0 /\ F : ( 1 ... N ) --> ( 1 ... M ) ) /\ N e. NN0 ) /\ b e. ( mzPoly ` ( ( ZZ \ NN ) u. ( 1 ... N ) ) ) ) -> { a e. ( NN0 ^m ( 1 ... M ) ) | ( a o. F ) e. { c e. ( NN0 ^m ( 1 ... N ) ) | E. d e. ( NN0 ^m ( ZZ \ NN ) ) ( b ` ( c u. d ) ) = 0 } } e. ( Dioph ` M ) ) |
127 |
|
eleq2 |
|- ( S = { c e. ( NN0 ^m ( 1 ... N ) ) | E. d e. ( NN0 ^m ( ZZ \ NN ) ) ( b ` ( c u. d ) ) = 0 } -> ( ( a o. F ) e. S <-> ( a o. F ) e. { c e. ( NN0 ^m ( 1 ... N ) ) | E. d e. ( NN0 ^m ( ZZ \ NN ) ) ( b ` ( c u. d ) ) = 0 } ) ) |
128 |
127
|
rabbidv |
|- ( S = { c e. ( NN0 ^m ( 1 ... N ) ) | E. d e. ( NN0 ^m ( ZZ \ NN ) ) ( b ` ( c u. d ) ) = 0 } -> { a e. ( NN0 ^m ( 1 ... M ) ) | ( a o. F ) e. S } = { a e. ( NN0 ^m ( 1 ... M ) ) | ( a o. F ) e. { c e. ( NN0 ^m ( 1 ... N ) ) | E. d e. ( NN0 ^m ( ZZ \ NN ) ) ( b ` ( c u. d ) ) = 0 } } ) |
129 |
128
|
eleq1d |
|- ( S = { c e. ( NN0 ^m ( 1 ... N ) ) | E. d e. ( NN0 ^m ( ZZ \ NN ) ) ( b ` ( c u. d ) ) = 0 } -> ( { a e. ( NN0 ^m ( 1 ... M ) ) | ( a o. F ) e. S } e. ( Dioph ` M ) <-> { a e. ( NN0 ^m ( 1 ... M ) ) | ( a o. F ) e. { c e. ( NN0 ^m ( 1 ... N ) ) | E. d e. ( NN0 ^m ( ZZ \ NN ) ) ( b ` ( c u. d ) ) = 0 } } e. ( Dioph ` M ) ) ) |
130 |
126 129
|
syl5ibrcom |
|- ( ( ( ( M e. NN0 /\ F : ( 1 ... N ) --> ( 1 ... M ) ) /\ N e. NN0 ) /\ b e. ( mzPoly ` ( ( ZZ \ NN ) u. ( 1 ... N ) ) ) ) -> ( S = { c e. ( NN0 ^m ( 1 ... N ) ) | E. d e. ( NN0 ^m ( ZZ \ NN ) ) ( b ` ( c u. d ) ) = 0 } -> { a e. ( NN0 ^m ( 1 ... M ) ) | ( a o. F ) e. S } e. ( Dioph ` M ) ) ) |
131 |
130
|
rexlimdva |
|- ( ( ( M e. NN0 /\ F : ( 1 ... N ) --> ( 1 ... M ) ) /\ N e. NN0 ) -> ( E. b e. ( mzPoly ` ( ( ZZ \ NN ) u. ( 1 ... N ) ) ) S = { c e. ( NN0 ^m ( 1 ... N ) ) | E. d e. ( NN0 ^m ( ZZ \ NN ) ) ( b ` ( c u. d ) ) = 0 } -> { a e. ( NN0 ^m ( 1 ... M ) ) | ( a o. F ) e. S } e. ( Dioph ` M ) ) ) |
132 |
131
|
expimpd |
|- ( ( M e. NN0 /\ F : ( 1 ... N ) --> ( 1 ... M ) ) -> ( ( N e. NN0 /\ E. b e. ( mzPoly ` ( ( ZZ \ NN ) u. ( 1 ... N ) ) ) S = { c e. ( NN0 ^m ( 1 ... N ) ) | E. d e. ( NN0 ^m ( ZZ \ NN ) ) ( b ` ( c u. d ) ) = 0 } ) -> { a e. ( NN0 ^m ( 1 ... M ) ) | ( a o. F ) e. S } e. ( Dioph ` M ) ) ) |
133 |
18 132
|
syl5bi |
|- ( ( M e. NN0 /\ F : ( 1 ... N ) --> ( 1 ... M ) ) -> ( S e. ( Dioph ` N ) -> { a e. ( NN0 ^m ( 1 ... M ) ) | ( a o. F ) e. S } e. ( Dioph ` M ) ) ) |
134 |
133
|
impcom |
|- ( ( S e. ( Dioph ` N ) /\ ( M e. NN0 /\ F : ( 1 ... N ) --> ( 1 ... M ) ) ) -> { a e. ( NN0 ^m ( 1 ... M ) ) | ( a o. F ) e. S } e. ( Dioph ` M ) ) |
135 |
134
|
3impb |
|- ( ( S e. ( Dioph ` N ) /\ M e. NN0 /\ F : ( 1 ... N ) --> ( 1 ... M ) ) -> { a e. ( NN0 ^m ( 1 ... M ) ) | ( a o. F ) e. S } e. ( Dioph ` M ) ) |