Metamath Proof Explorer


Theorem diophin

Description: If two sets are Diophantine, so is their intersection. (Contributed by Stefan O'Rear, 9-Oct-2014) (Revised by Stefan O'Rear, 6-May-2015)

Ref Expression
Assertion diophin ADiophNBDiophNABDiophN

Proof

Step Hyp Ref Expression
1 eldiophelnn0 ADiophNN0
2 id N0N0
3 zex V
4 difexg VN+1V
5 3 4 mp1i N0N+1V
6 ominf ¬ωFin
7 nn0z N0N
8 lzenom NN+1ω
9 enfi N+1ωN+1FinωFin
10 7 8 9 3syl N0N+1FinωFin
11 6 10 mtbiri N0¬N+1Fin
12 fz1eqin N01N=N+1
13 inss1 N+1N+1
14 12 13 eqsstrdi N01NN+1
15 eldioph2b N0N+1V¬N+1Fin1NN+1ADiophNamzPolyN+1A=c|d0N+1c=d1Nad=0
16 2 5 11 14 15 syl22anc N0ADiophNamzPolyN+1A=c|d0N+1c=d1Nad=0
17 nnex V
18 17 a1i N0V
19 1z 1
20 nnuz =1
21 20 uzinf 1¬Fin
22 19 21 mp1i N0¬Fin
23 elfznn a1Na
24 23 ssriv 1N
25 24 a1i N01N
26 eldioph2b N0V¬Fin1NBDiophNbmzPolyB=c|e0c=e1Nbe=0
27 2 18 22 25 26 syl22anc N0BDiophNbmzPolyB=c|e0c=e1Nbe=0
28 16 27 anbi12d N0ADiophNBDiophNamzPolyN+1A=c|d0N+1c=d1Nad=0bmzPolyB=c|e0c=e1Nbe=0
29 reeanv amzPolyN+1bmzPolyA=c|d0N+1c=d1Nad=0B=c|e0c=e1Nbe=0amzPolyN+1A=c|d0N+1c=d1Nad=0bmzPolyB=c|e0c=e1Nbe=0
30 inab c|d0N+1c=d1Nad=0c|e0c=e1Nbe=0=c|d0N+1c=d1Nad=0e0c=e1Nbe=0
31 reeanv d0N+1e0c=d1Nad=0c=e1Nbe=0d0N+1c=d1Nad=0e0c=e1Nbe=0
32 simplrl N0amzPolyN+1bmzPolyd0N+1e0c=d1Nad=0c=e1Nbe=0d0N+1
33 simplrr N0amzPolyN+1bmzPolyd0N+1e0c=d1Nad=0c=e1Nbe=0e0
34 12 eqcomd N0N+1=1N
35 34 reseq2d N0dN+1=d1N
36 35 ad3antrrr N0amzPolyN+1bmzPolyd0N+1e0c=d1Nad=0c=e1Nbe=0dN+1=d1N
37 34 reseq2d N0eN+1=e1N
38 37 ad3antrrr N0amzPolyN+1bmzPolyd0N+1e0c=d1Nad=0c=e1Nbe=0eN+1=e1N
39 simprrl N0amzPolyN+1bmzPolyd0N+1e0c=d1Nad=0c=e1Nbe=0c=e1N
40 simprll N0amzPolyN+1bmzPolyd0N+1e0c=d1Nad=0c=e1Nbe=0c=d1N
41 38 39 40 3eqtr2d N0amzPolyN+1bmzPolyd0N+1e0c=d1Nad=0c=e1Nbe=0eN+1=d1N
42 36 41 eqtr4d N0amzPolyN+1bmzPolyd0N+1e0c=d1Nad=0c=e1Nbe=0dN+1=eN+1
43 elmapresaun d0N+1e0dN+1=eN+1de0N+1
44 32 33 42 43 syl3anc N0amzPolyN+1bmzPolyd0N+1e0c=d1Nad=0c=e1Nbe=0de0N+1
45 20 uneq2i N+1=N+11
46 19 a1i N01
47 nn0p1nn N0N+1
48 47 nnge1d N01N+1
49 lzunuz N11N+1N+11=
50 7 46 48 49 syl3anc N0N+11=
51 45 50 eqtrid N0N+1=
52 51 oveq2d N00N+1=0
53 52 ad3antrrr N0amzPolyN+1bmzPolyd0N+1e0c=d1Nad=0c=e1Nbe=00N+1=0
54 44 53 eleqtrd N0amzPolyN+1bmzPolyd0N+1e0c=d1Nad=0c=e1Nbe=0de0
55 unidm cc=c
56 40 39 uneq12d N0amzPolyN+1bmzPolyd0N+1e0c=d1Nad=0c=e1Nbe=0cc=d1Ne1N
57 55 56 eqtr3id N0amzPolyN+1bmzPolyd0N+1e0c=d1Nad=0c=e1Nbe=0c=d1Ne1N
58 resundir de1N=d1Ne1N
59 57 58 eqtr4di N0amzPolyN+1bmzPolyd0N+1e0c=d1Nad=0c=e1Nbe=0c=de1N
60 uncom de=ed
61 60 reseq1i deN+1=edN+1
62 incom N+1=N+1
63 62 34 eqtrid N0N+1=1N
64 63 reseq2d N0eN+1=e1N
65 64 ad3antrrr N0amzPolyN+1bmzPolyd0N+1e0c=d1Nad=0c=e1Nbe=0eN+1=e1N
66 63 reseq2d N0dN+1=d1N
67 66 ad3antrrr N0amzPolyN+1bmzPolyd0N+1e0c=d1Nad=0c=e1Nbe=0dN+1=d1N
68 67 40 39 3eqtr2d N0amzPolyN+1bmzPolyd0N+1e0c=d1Nad=0c=e1Nbe=0dN+1=e1N
69 65 68 eqtr4d N0amzPolyN+1bmzPolyd0N+1e0c=d1Nad=0c=e1Nbe=0eN+1=dN+1
70 elmapresaunres2 e0d0N+1eN+1=dN+1edN+1=d
71 33 32 69 70 syl3anc N0amzPolyN+1bmzPolyd0N+1e0c=d1Nad=0c=e1Nbe=0edN+1=d
72 61 71 eqtrid N0amzPolyN+1bmzPolyd0N+1e0c=d1Nad=0c=e1Nbe=0deN+1=d
73 72 fveq2d N0amzPolyN+1bmzPolyd0N+1e0c=d1Nad=0c=e1Nbe=0adeN+1=ad
74 simprlr N0amzPolyN+1bmzPolyd0N+1e0c=d1Nad=0c=e1Nbe=0ad=0
75 73 74 eqtrd N0amzPolyN+1bmzPolyd0N+1e0c=d1Nad=0c=e1Nbe=0adeN+1=0
76 elmapresaunres2 d0N+1e0dN+1=eN+1de=e
77 32 33 42 76 syl3anc N0amzPolyN+1bmzPolyd0N+1e0c=d1Nad=0c=e1Nbe=0de=e
78 77 fveq2d N0amzPolyN+1bmzPolyd0N+1e0c=d1Nad=0c=e1Nbe=0bde=be
79 simprrr N0amzPolyN+1bmzPolyd0N+1e0c=d1Nad=0c=e1Nbe=0be=0
80 78 79 eqtrd N0amzPolyN+1bmzPolyd0N+1e0c=d1Nad=0c=e1Nbe=0bde=0
81 59 75 80 jca32 N0amzPolyN+1bmzPolyd0N+1e0c=d1Nad=0c=e1Nbe=0c=de1NadeN+1=0bde=0
82 reseq1 f=def1N=de1N
83 82 eqeq2d f=dec=f1Nc=de1N
84 reseq1 f=defN+1=deN+1
85 84 fveqeq2d f=deafN+1=0adeN+1=0
86 reseq1 f=def=de
87 86 fveqeq2d f=debf=0bde=0
88 85 87 anbi12d f=deafN+1=0bf=0adeN+1=0bde=0
89 83 88 anbi12d f=dec=f1NafN+1=0bf=0c=de1NadeN+1=0bde=0
90 89 rspcev de0c=de1NadeN+1=0bde=0f0c=f1NafN+1=0bf=0
91 54 81 90 syl2anc N0amzPolyN+1bmzPolyd0N+1e0c=d1Nad=0c=e1Nbe=0f0c=f1NafN+1=0bf=0
92 91 ex N0amzPolyN+1bmzPolyd0N+1e0c=d1Nad=0c=e1Nbe=0f0c=f1NafN+1=0bf=0
93 92 rexlimdvva N0amzPolyN+1bmzPolyd0N+1e0c=d1Nad=0c=e1Nbe=0f0c=f1NafN+1=0bf=0
94 simpr N0amzPolyN+1bmzPolyf0f0
95 difss N+1
96 elmapssres f0N+1fN+10N+1
97 94 95 96 sylancl N0amzPolyN+1bmzPolyf0fN+10N+1
98 97 adantr N0amzPolyN+1bmzPolyf0c=f1NafN+1=0bf=0fN+10N+1
99 nnssz
100 elmapssres f0f0
101 94 99 100 sylancl N0amzPolyN+1bmzPolyf0f0
102 101 adantr N0amzPolyN+1bmzPolyf0c=f1NafN+1=0bf=0f0
103 simprl N0amzPolyN+1bmzPolyf0c=f1NafN+1=0bf=0c=f1N
104 14 ad3antrrr N0amzPolyN+1bmzPolyf0c=f1NafN+1=0bf=01NN+1
105 104 resabs1d N0amzPolyN+1bmzPolyf0c=f1NafN+1=0bf=0fN+11N=f1N
106 103 105 eqtr4d N0amzPolyN+1bmzPolyf0c=f1NafN+1=0bf=0c=fN+11N
107 simprrl N0amzPolyN+1bmzPolyf0c=f1NafN+1=0bf=0afN+1=0
108 106 107 jca N0amzPolyN+1bmzPolyf0c=f1NafN+1=0bf=0c=fN+11NafN+1=0
109 resabs1 1Nf1N=f1N
110 24 109 mp1i N0amzPolyN+1bmzPolyf0c=f1NafN+1=0bf=0f1N=f1N
111 103 110 eqtr4d N0amzPolyN+1bmzPolyf0c=f1NafN+1=0bf=0c=f1N
112 simprrr N0amzPolyN+1bmzPolyf0c=f1NafN+1=0bf=0bf=0
113 108 111 112 jca32 N0amzPolyN+1bmzPolyf0c=f1NafN+1=0bf=0c=fN+11NafN+1=0c=f1Nbf=0
114 reseq1 d=fN+1d1N=fN+11N
115 114 eqeq2d d=fN+1c=d1Nc=fN+11N
116 fveqeq2 d=fN+1ad=0afN+1=0
117 115 116 anbi12d d=fN+1c=d1Nad=0c=fN+11NafN+1=0
118 117 anbi1d d=fN+1c=d1Nad=0c=e1Nbe=0c=fN+11NafN+1=0c=e1Nbe=0
119 reseq1 e=fe1N=f1N
120 119 eqeq2d e=fc=e1Nc=f1N
121 fveqeq2 e=fbe=0bf=0
122 120 121 anbi12d e=fc=e1Nbe=0c=f1Nbf=0
123 122 anbi2d e=fc=fN+11NafN+1=0c=e1Nbe=0c=fN+11NafN+1=0c=f1Nbf=0
124 118 123 rspc2ev fN+10N+1f0c=fN+11NafN+1=0c=f1Nbf=0d0N+1e0c=d1Nad=0c=e1Nbe=0
125 98 102 113 124 syl3anc N0amzPolyN+1bmzPolyf0c=f1NafN+1=0bf=0d0N+1e0c=d1Nad=0c=e1Nbe=0
126 125 rexlimdva2 N0amzPolyN+1bmzPolyf0c=f1NafN+1=0bf=0d0N+1e0c=d1Nad=0c=e1Nbe=0
127 93 126 impbid N0amzPolyN+1bmzPolyd0N+1e0c=d1Nad=0c=e1Nbe=0f0c=f1NafN+1=0bf=0
128 simplrl N0amzPolyN+1bmzPolyf0amzPolyN+1
129 mzpf amzPolyN+1a:N+1
130 128 129 syl N0amzPolyN+1bmzPolyf0a:N+1
131 nn0ssz 0
132 mapss V00
133 3 131 132 mp2an 0
134 133 sseli f0f
135 elmapssres fN+1fN+1N+1
136 134 95 135 sylancl f0fN+1N+1
137 136 adantl N0amzPolyN+1bmzPolyf0fN+1N+1
138 130 137 ffvelcdmd N0amzPolyN+1bmzPolyf0afN+1
139 138 zred N0amzPolyN+1bmzPolyf0afN+1
140 simplrr N0amzPolyN+1bmzPolyf0bmzPoly
141 mzpf bmzPolyb:
142 140 141 syl N0amzPolyN+1bmzPolyf0b:
143 elmapssres ff
144 134 99 143 sylancl f0f
145 144 adantl N0amzPolyN+1bmzPolyf0f
146 142 145 ffvelcdmd N0amzPolyN+1bmzPolyf0bf
147 146 zred N0amzPolyN+1bmzPolyf0bf
148 sumsqeq0 afN+1bfafN+1=0bf=0afN+12+bf2=0
149 139 147 148 syl2anc N0amzPolyN+1bmzPolyf0afN+1=0bf=0afN+12+bf2=0
150 134 adantl N0amzPolyN+1bmzPolyf0f
151 reseq1 g=fgN+1=fN+1
152 151 fveq2d g=fagN+1=afN+1
153 152 oveq1d g=fagN+12=afN+12
154 reseq1 g=fg=f
155 154 fveq2d g=fbg=bf
156 155 oveq1d g=fbg2=bf2
157 153 156 oveq12d g=fagN+12+bg2=afN+12+bf2
158 eqid gagN+12+bg2=gagN+12+bg2
159 ovex afN+12+bf2V
160 157 158 159 fvmpt fgagN+12+bg2f=afN+12+bf2
161 150 160 syl N0amzPolyN+1bmzPolyf0gagN+12+bg2f=afN+12+bf2
162 161 eqeq1d N0amzPolyN+1bmzPolyf0gagN+12+bg2f=0afN+12+bf2=0
163 149 162 bitr4d N0amzPolyN+1bmzPolyf0afN+1=0bf=0gagN+12+bg2f=0
164 163 anbi2d N0amzPolyN+1bmzPolyf0c=f1NafN+1=0bf=0c=f1NgagN+12+bg2f=0
165 164 rexbidva N0amzPolyN+1bmzPolyf0c=f1NafN+1=0bf=0f0c=f1NgagN+12+bg2f=0
166 127 165 bitrd N0amzPolyN+1bmzPolyd0N+1e0c=d1Nad=0c=e1Nbe=0f0c=f1NgagN+12+bg2f=0
167 31 166 bitr3id N0amzPolyN+1bmzPolyd0N+1c=d1Nad=0e0c=e1Nbe=0f0c=f1NgagN+12+bg2f=0
168 167 abbidv N0amzPolyN+1bmzPolyc|d0N+1c=d1Nad=0e0c=e1Nbe=0=c|f0c=f1NgagN+12+bg2f=0
169 30 168 eqtrid N0amzPolyN+1bmzPolyc|d0N+1c=d1Nad=0c|e0c=e1Nbe=0=c|f0c=f1NgagN+12+bg2f=0
170 simpl N0amzPolyN+1bmzPolyN0
171 fzssuz 1N1
172 uzssz 1
173 171 172 sstri 1N
174 3 173 pm3.2i V1N
175 174 a1i N0amzPolyN+1bmzPolyV1N
176 3 a1i N0amzPolyN+1bmzPolyV
177 95 a1i N0amzPolyN+1bmzPolyN+1
178 simprl N0amzPolyN+1bmzPolyamzPolyN+1
179 mzpresrename VN+1amzPolyN+1gagN+1mzPoly
180 176 177 178 179 syl3anc N0amzPolyN+1bmzPolygagN+1mzPoly
181 2nn0 20
182 mzpexpmpt gagN+1mzPoly20gagN+12mzPoly
183 180 181 182 sylancl N0amzPolyN+1bmzPolygagN+12mzPoly
184 99 a1i N0amzPolyN+1bmzPoly
185 simprr N0amzPolyN+1bmzPolybmzPoly
186 mzpresrename VbmzPolygbgmzPoly
187 176 184 185 186 syl3anc N0amzPolyN+1bmzPolygbgmzPoly
188 mzpexpmpt gbgmzPoly20gbg2mzPoly
189 187 181 188 sylancl N0amzPolyN+1bmzPolygbg2mzPoly
190 mzpaddmpt gagN+12mzPolygbg2mzPolygagN+12+bg2mzPoly
191 183 189 190 syl2anc N0amzPolyN+1bmzPolygagN+12+bg2mzPoly
192 eldioph2 N0V1NgagN+12+bg2mzPolyc|f0c=f1NgagN+12+bg2f=0DiophN
193 170 175 191 192 syl3anc N0amzPolyN+1bmzPolyc|f0c=f1NgagN+12+bg2f=0DiophN
194 169 193 eqeltrd N0amzPolyN+1bmzPolyc|d0N+1c=d1Nad=0c|e0c=e1Nbe=0DiophN
195 ineq12 A=c|d0N+1c=d1Nad=0B=c|e0c=e1Nbe=0AB=c|d0N+1c=d1Nad=0c|e0c=e1Nbe=0
196 195 eleq1d A=c|d0N+1c=d1Nad=0B=c|e0c=e1Nbe=0ABDiophNc|d0N+1c=d1Nad=0c|e0c=e1Nbe=0DiophN
197 194 196 syl5ibrcom N0amzPolyN+1bmzPolyA=c|d0N+1c=d1Nad=0B=c|e0c=e1Nbe=0ABDiophN
198 197 rexlimdvva N0amzPolyN+1bmzPolyA=c|d0N+1c=d1Nad=0B=c|e0c=e1Nbe=0ABDiophN
199 29 198 biimtrrid N0amzPolyN+1A=c|d0N+1c=d1Nad=0bmzPolyB=c|e0c=e1Nbe=0ABDiophN
200 28 199 sylbid N0ADiophNBDiophNABDiophN
201 1 200 syl ADiophNADiophNBDiophNABDiophN
202 201 anabsi5 ADiophNBDiophNABDiophN