Metamath Proof Explorer


Theorem eldioph4b

Description: Membership in Dioph expressed using a quantified union to add witness variables instead of a restriction to remove them. (Contributed by Stefan O'Rear, 16-Oct-2014)

Ref Expression
Hypotheses eldioph4b.a ⊢ W ∈ V
eldioph4b.b ⊢ ¬ W ∈ Fin
eldioph4b.c ⊢ W ∩ ℕ = ∅
Assertion eldioph4b ⊢ S ∈ Dioph ⁡ N ↔ N ∈ ℕ 0 ∧ ∃ p ∈ mzPoly ⁡ W ∪ 1 … N S = t ∈ ℕ 0 1 … N | ∃ w ∈ ℕ 0 W p ⁡ t ∪ w = 0

Proof

Step Hyp Ref Expression
1 eldioph4b.a ⊢ W ∈ V
2 eldioph4b.b ⊢ ¬ W ∈ Fin
3 eldioph4b.c ⊢ W ∩ ℕ = ∅
4 eldiophelnn0 ⊢ S ∈ Dioph ⁡ N → N ∈ ℕ 0
5 ovex ⊢ 1 … N ∈ V
6 1 5 unex ⊢ W ∪ 1 … N ∈ V
7 6 jctr ⊢ N ∈ ℕ 0 → N ∈ ℕ 0 ∧ W ∪ 1 … N ∈ V
8 2 intnanr ⊢ ¬ W ∈ Fin ∧ 1 … N ∈ Fin
9 unfir ⊢ W ∪ 1 … N ∈ Fin → W ∈ Fin ∧ 1 … N ∈ Fin
10 8 9 mto ⊢ ¬ W ∪ 1 … N ∈ Fin
11 ssun2 ⊢ 1 … N ⊆ W ∪ 1 … N
12 10 11 pm3.2i ⊢ ¬ W ∪ 1 … N ∈ Fin ∧ 1 … N ⊆ W ∪ 1 … N
13 eldioph2b ⊢ N ∈ ℕ 0 ∧ W ∪ 1 … N ∈ V ∧ ¬ W ∪ 1 … N ∈ Fin ∧ 1 … N ⊆ W ∪ 1 … N → S ∈ Dioph ⁡ N ↔ ∃ p ∈ mzPoly ⁡ W ∪ 1 … N S = t | ∃ u ∈ ℕ 0 W ∪ 1 … N t = u ↾ 1 … N ∧ p ⁡ u = 0
14 7 12 13 sylancl ⊢ N ∈ ℕ 0 → S ∈ Dioph ⁡ N ↔ ∃ p ∈ mzPoly ⁡ W ∪ 1 … N S = t | ∃ u ∈ ℕ 0 W ∪ 1 … N t = u ↾ 1 … N ∧ p ⁡ u = 0
15 elmapssres ⊢ u ∈ ℕ 0 W ∪ 1 … N ∧ 1 … N ⊆ W ∪ 1 … N → u ↾ 1 … N ∈ ℕ 0 1 … N
16 11 15 mpan2 ⊢ u ∈ ℕ 0 W ∪ 1 … N → u ↾ 1 … N ∈ ℕ 0 1 … N
17 16 adantr ⊢ u ∈ ℕ 0 W ∪ 1 … N ∧ p ⁡ u = 0 → u ↾ 1 … N ∈ ℕ 0 1 … N
18 ssun1 ⊢ W ⊆ W ∪ 1 … N
19 elmapssres ⊢ u ∈ ℕ 0 W ∪ 1 … N ∧ W ⊆ W ∪ 1 … N → u ↾ W ∈ ℕ 0 W
20 18 19 mpan2 ⊢ u ∈ ℕ 0 W ∪ 1 … N → u ↾ W ∈ ℕ 0 W
21 20 adantr ⊢ u ∈ ℕ 0 W ∪ 1 … N ∧ p ⁡ u = 0 → u ↾ W ∈ ℕ 0 W
22 uncom ⊢ u ↾ 1 … N ∪ u ↾ W = u ↾ W ∪ u ↾ 1 … N
23 resundi ⊢ u ↾ W ∪ 1 … N = u ↾ W ∪ u ↾ 1 … N
24 22 23 eqtr4i ⊢ u ↾ 1 … N ∪ u ↾ W = u ↾ W ∪ 1 … N
25 elmapi ⊢ u ∈ ℕ 0 W ∪ 1 … N → u : W ∪ 1 … N ⟶ ℕ 0
26 ffn ⊢ u : W ∪ 1 … N ⟶ ℕ 0 → u Fn W ∪ 1 … N
27 fnresdm ⊢ u Fn W ∪ 1 … N → u ↾ W ∪ 1 … N = u
28 25 26 27 3syl ⊢ u ∈ ℕ 0 W ∪ 1 … N → u ↾ W ∪ 1 … N = u
29 24 28 eqtrid ⊢ u ∈ ℕ 0 W ∪ 1 … N → u ↾ 1 … N ∪ u ↾ W = u
30 29 fveqeq2d ⊢ u ∈ ℕ 0 W ∪ 1 … N → p ⁡ u ↾ 1 … N ∪ u ↾ W = 0 ↔ p ⁡ u = 0
31 30 biimpar ⊢ u ∈ ℕ 0 W ∪ 1 … N ∧ p ⁡ u = 0 → p ⁡ u ↾ 1 … N ∪ u ↾ W = 0
32 uneq2 ⊢ w = u ↾ W → u ↾ 1 … N ∪ w = u ↾ 1 … N ∪ u ↾ W
33 32 fveqeq2d ⊢ w = u ↾ W → p ⁡ u ↾ 1 … N ∪ w = 0 ↔ p ⁡ u ↾ 1 … N ∪ u ↾ W = 0
34 33 rspcev ⊢ u ↾ W ∈ ℕ 0 W ∧ p ⁡ u ↾ 1 … N ∪ u ↾ W = 0 → ∃ w ∈ ℕ 0 W p ⁡ u ↾ 1 … N ∪ w = 0
35 21 31 34 syl2anc ⊢ u ∈ ℕ 0 W ∪ 1 … N ∧ p ⁡ u = 0 → ∃ w ∈ ℕ 0 W p ⁡ u ↾ 1 … N ∪ w = 0
36 17 35 jca ⊢ u ∈ ℕ 0 W ∪ 1 … N ∧ p ⁡ u = 0 → u ↾ 1 … N ∈ ℕ 0 1 … N ∧ ∃ w ∈ ℕ 0 W p ⁡ u ↾ 1 … N ∪ w = 0
37 eleq1 ⊢ t = u ↾ 1 … N → t ∈ ℕ 0 1 … N ↔ u ↾ 1 … N ∈ ℕ 0 1 … N
38 uneq1 ⊢ t = u ↾ 1 … N → t ∪ w = u ↾ 1 … N ∪ w
39 38 fveqeq2d ⊢ t = u ↾ 1 … N → p ⁡ t ∪ w = 0 ↔ p ⁡ u ↾ 1 … N ∪ w = 0
40 39 rexbidv ⊢ t = u ↾ 1 … N → ∃ w ∈ ℕ 0 W p ⁡ t ∪ w = 0 ↔ ∃ w ∈ ℕ 0 W p ⁡ u ↾ 1 … N ∪ w = 0
41 37 40 anbi12d ⊢ t = u ↾ 1 … N → t ∈ ℕ 0 1 … N ∧ ∃ w ∈ ℕ 0 W p ⁡ t ∪ w = 0 ↔ u ↾ 1 … N ∈ ℕ 0 1 … N ∧ ∃ w ∈ ℕ 0 W p ⁡ u ↾ 1 … N ∪ w = 0
42 36 41 syl5ibrcom ⊢ u ∈ ℕ 0 W ∪ 1 … N ∧ p ⁡ u = 0 → t = u ↾ 1 … N → t ∈ ℕ 0 1 … N ∧ ∃ w ∈ ℕ 0 W p ⁡ t ∪ w = 0
43 42 expimpd ⊢ u ∈ ℕ 0 W ∪ 1 … N → p ⁡ u = 0 ∧ t = u ↾ 1 … N → t ∈ ℕ 0 1 … N ∧ ∃ w ∈ ℕ 0 W p ⁡ t ∪ w = 0
44 43 ancomsd ⊢ u ∈ ℕ 0 W ∪ 1 … N → t = u ↾ 1 … N ∧ p ⁡ u = 0 → t ∈ ℕ 0 1 … N ∧ ∃ w ∈ ℕ 0 W p ⁡ t ∪ w = 0
45 44 rexlimiv ⊢ ∃ u ∈ ℕ 0 W ∪ 1 … N t = u ↾ 1 … N ∧ p ⁡ u = 0 → t ∈ ℕ 0 1 … N ∧ ∃ w ∈ ℕ 0 W p ⁡ t ∪ w = 0
46 uncom ⊢ t ∪ w = w ∪ t
47 fz1ssnn ⊢ 1 … N ⊆ ℕ
48 sslin ⊢ 1 … N ⊆ ℕ → W ∩ 1 … N ⊆ W ∩ ℕ
49 47 48 ax-mp ⊢ W ∩ 1 … N ⊆ W ∩ ℕ
50 49 3 sseqtri ⊢ W ∩ 1 … N ⊆ ∅
51 ss0 ⊢ W ∩ 1 … N ⊆ ∅ → W ∩ 1 … N = ∅
52 50 51 ax-mp ⊢ W ∩ 1 … N = ∅
53 52 reseq2i ⊢ w ↾ W ∩ 1 … N = w ↾ ∅
54 res0 ⊢ w ↾ ∅ = ∅
55 53 54 eqtri ⊢ w ↾ W ∩ 1 … N = ∅
56 52 reseq2i ⊢ t ↾ W ∩ 1 … N = t ↾ ∅
57 res0 ⊢ t ↾ ∅ = ∅
58 56 57 eqtri ⊢ t ↾ W ∩ 1 … N = ∅
59 55 58 eqtr4i ⊢ w ↾ W ∩ 1 … N = t ↾ W ∩ 1 … N
60 elmapresaun ⊢ w ∈ ℕ 0 W ∧ t ∈ ℕ 0 1 … N ∧ w ↾ W ∩ 1 … N = t ↾ W ∩ 1 … N → w ∪ t ∈ ℕ 0 W ∪ 1 … N
61 59 60 mp3an3 ⊢ w ∈ ℕ 0 W ∧ t ∈ ℕ 0 1 … N → w ∪ t ∈ ℕ 0 W ∪ 1 … N
62 61 ancoms ⊢ t ∈ ℕ 0 1 … N ∧ w ∈ ℕ 0 W → w ∪ t ∈ ℕ 0 W ∪ 1 … N
63 46 62 eqeltrid ⊢ t ∈ ℕ 0 1 … N ∧ w ∈ ℕ 0 W → t ∪ w ∈ ℕ 0 W ∪ 1 … N
64 63 adantr ⊢ t ∈ ℕ 0 1 … N ∧ w ∈ ℕ 0 W ∧ p ⁡ t ∪ w = 0 → t ∪ w ∈ ℕ 0 W ∪ 1 … N
65 46 reseq1i ⊢ t ∪ w ↾ 1 … N = w ∪ t ↾ 1 … N
66 elmapresaunres2 ⊢ w ∈ ℕ 0 W ∧ t ∈ ℕ 0 1 … N ∧ w ↾ W ∩ 1 … N = t ↾ W ∩ 1 … N → w ∪ t ↾ 1 … N = t
67 59 66 mp3an3 ⊢ w ∈ ℕ 0 W ∧ t ∈ ℕ 0 1 … N → w ∪ t ↾ 1 … N = t
68 67 ancoms ⊢ t ∈ ℕ 0 1 … N ∧ w ∈ ℕ 0 W → w ∪ t ↾ 1 … N = t
69 65 68 eqtr2id ⊢ t ∈ ℕ 0 1 … N ∧ w ∈ ℕ 0 W → t = t ∪ w ↾ 1 … N
70 69 adantr ⊢ t ∈ ℕ 0 1 … N ∧ w ∈ ℕ 0 W ∧ p ⁡ t ∪ w = 0 → t = t ∪ w ↾ 1 … N
71 simpr ⊢ t ∈ ℕ 0 1 … N ∧ w ∈ ℕ 0 W ∧ p ⁡ t ∪ w = 0 → p ⁡ t ∪ w = 0
72 reseq1 ⊢ u = t ∪ w → u ↾ 1 … N = t ∪ w ↾ 1 … N
73 72 eqeq2d ⊢ u = t ∪ w → t = u ↾ 1 … N ↔ t = t ∪ w ↾ 1 … N
74 fveqeq2 ⊢ u = t ∪ w → p ⁡ u = 0 ↔ p ⁡ t ∪ w = 0
75 73 74 anbi12d ⊢ u = t ∪ w → t = u ↾ 1 … N ∧ p ⁡ u = 0 ↔ t = t ∪ w ↾ 1 … N ∧ p ⁡ t ∪ w = 0
76 75 rspcev ⊢ t ∪ w ∈ ℕ 0 W ∪ 1 … N ∧ t = t ∪ w ↾ 1 … N ∧ p ⁡ t ∪ w = 0 → ∃ u ∈ ℕ 0 W ∪ 1 … N t = u ↾ 1 … N ∧ p ⁡ u = 0
77 64 70 71 76 syl12anc ⊢ t ∈ ℕ 0 1 … N ∧ w ∈ ℕ 0 W ∧ p ⁡ t ∪ w = 0 → ∃ u ∈ ℕ 0 W ∪ 1 … N t = u ↾ 1 … N ∧ p ⁡ u = 0
78 77 r19.29an ⊢ t ∈ ℕ 0 1 … N ∧ ∃ w ∈ ℕ 0 W p ⁡ t ∪ w = 0 → ∃ u ∈ ℕ 0 W ∪ 1 … N t = u ↾ 1 … N ∧ p ⁡ u = 0
79 45 78 impbii ⊢ ∃ u ∈ ℕ 0 W ∪ 1 … N t = u ↾ 1 … N ∧ p ⁡ u = 0 ↔ t ∈ ℕ 0 1 … N ∧ ∃ w ∈ ℕ 0 W p ⁡ t ∪ w = 0
80 79 abbii ⊢ t | ∃ u ∈ ℕ 0 W ∪ 1 … N t = u ↾ 1 … N ∧ p ⁡ u = 0 = t | t ∈ ℕ 0 1 … N ∧ ∃ w ∈ ℕ 0 W p ⁡ t ∪ w = 0
81 df-rab ⊢ t ∈ ℕ 0 1 … N | ∃ w ∈ ℕ 0 W p ⁡ t ∪ w = 0 = t | t ∈ ℕ 0 1 … N ∧ ∃ w ∈ ℕ 0 W p ⁡ t ∪ w = 0
82 80 81 eqtr4i ⊢ t | ∃ u ∈ ℕ 0 W ∪ 1 … N t = u ↾ 1 … N ∧ p ⁡ u = 0 = t ∈ ℕ 0 1 … N | ∃ w ∈ ℕ 0 W p ⁡ t ∪ w = 0
83 82 eqeq2i ⊢ S = t | ∃ u ∈ ℕ 0 W ∪ 1 … N t = u ↾ 1 … N ∧ p ⁡ u = 0 ↔ S = t ∈ ℕ 0 1 … N | ∃ w ∈ ℕ 0 W p ⁡ t ∪ w = 0
84 83 rexbii ⊢ ∃ p ∈ mzPoly ⁡ W ∪ 1 … N S = t | ∃ u ∈ ℕ 0 W ∪ 1 … N t = u ↾ 1 … N ∧ p ⁡ u = 0 ↔ ∃ p ∈ mzPoly ⁡ W ∪ 1 … N S = t ∈ ℕ 0 1 … N | ∃ w ∈ ℕ 0 W p ⁡ t ∪ w = 0
85 14 84 bitrdi ⊢ N ∈ ℕ 0 → S ∈ Dioph ⁡ N ↔ ∃ p ∈ mzPoly ⁡ W ∪ 1 … N S = t ∈ ℕ 0 1 … N | ∃ w ∈ ℕ 0 W p ⁡ t ∪ w = 0
86 4 85 biadanii ⊢ S ∈ Dioph ⁡ N ↔ N ∈ ℕ 0 ∧ ∃ p ∈ mzPoly ⁡ W ∪ 1 … N S = t ∈ ℕ 0 1 … N | ∃ w ∈ ℕ 0 W p ⁡ t ∪ w = 0