Metamath Proof Explorer


Theorem diophren

Description: Change variables in a Diophantine set, using class notation. This allows already proved Diophantine sets to be reused in contexts with more variables. (Contributed by Stefan O'Rear, 16-Oct-2014) (Revised by Stefan O'Rear, 5-Jun-2015)

Ref Expression
Assertion diophren ( ( 𝑆 ∈ ( Dioph ‘ 𝑁 ) ∧ 𝑀 ∈ ℕ0𝐹 : ( 1 ... 𝑁 ) ⟶ ( 1 ... 𝑀 ) ) → { 𝑎 ∈ ( ℕ0m ( 1 ... 𝑀 ) ) ∣ ( 𝑎𝐹 ) ∈ 𝑆 } ∈ ( Dioph ‘ 𝑀 ) )

Proof

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