Metamath Proof Explorer


Theorem mul4sqlem

Description: Lemma for mul4sq : algebraic manipulations. The extra assumptions involving M are for a part of 4sqlem17 which needs to know not just that the product is a sum of squares, but also that it preserves divisibility by M . (Contributed by Mario Carneiro, 14-Jul-2014)

Ref Expression
Hypotheses 4sq.1 S=n|xyzwn=x2+y2+z2+w2
mul4sq.1 φAi
mul4sq.2 φBi
mul4sq.3 φCi
mul4sq.4 φDi
mul4sq.5 X=A2+B2
mul4sq.6 Y=C2+D2
mul4sq.7 φM
mul4sq.8 φACMi
mul4sq.9 φBDMi
mul4sq.10 φXM0
Assertion mul4sqlem φXMYMS

Proof

Step Hyp Ref Expression
1 4sq.1 S=n|xyzwn=x2+y2+z2+w2
2 mul4sq.1 φAi
3 mul4sq.2 φBi
4 mul4sq.3 φCi
5 mul4sq.4 φDi
6 mul4sq.5 X=A2+B2
7 mul4sq.6 Y=C2+D2
8 mul4sq.7 φM
9 mul4sq.8 φACMi
10 mul4sq.9 φBDMi
11 mul4sq.10 φXM0
12 gzcn AiA
13 2 12 syl φA
14 gzcn CiC
15 4 14 syl φC
16 13 15 mulcld φAC
17 16 absvalsqd φAC2=ACAC
18 16 cjcld φAC
19 16 18 mulcld φACAC
20 17 19 eqeltrd φAC2
21 gzcn BiB
22 3 21 syl φB
23 gzcn DiD
24 5 23 syl φD
25 22 24 mulcld φBD
26 25 absvalsqd φBD2=BDBD
27 25 cjcld φBD
28 25 27 mulcld φBDBD
29 26 28 eqeltrd φBD2
30 20 29 addcld φAC2+BD2
31 13 cjcld φA
32 31 15 mulcld φAC
33 22 cjcld φB
34 33 24 mulcld φBD
35 32 34 mulcld φACBD
36 15 cjcld φC
37 22 36 mulcld φBC
38 24 cjcld φD
39 13 38 mulcld φAD
40 37 39 mulcld φBCAD
41 35 40 addcld φACBD+BCAD
42 13 24 mulcld φAD
43 42 absvalsqd φAD2=ADAD
44 42 cjcld φAD
45 42 44 mulcld φADAD
46 43 45 eqeltrd φAD2
47 22 15 mulcld φBC
48 47 absvalsqd φBC2=BCBC
49 47 cjcld φBC
50 47 49 mulcld φBCBC
51 48 50 eqeltrd φBC2
52 46 51 addcld φAD2+BC2
53 30 41 52 ppncand φAC2+BD2+ACBD+BCAD+AD2+BC2-ACBD+BCAD=AC2+BD2+AD2+BC2
54 22 38 mulcld φBD
55 32 54 addcld φAC+BD
56 55 absvalsqd φAC+BD2=AC+BDAC+BD
57 32 54 cjaddd φAC+BD=AC+BD
58 31 15 cjmuld φAC=AC
59 13 cjcjd φA=A
60 59 oveq1d φAC=AC
61 58 60 eqtrd φAC=AC
62 22 38 cjmuld φBD=BD
63 24 cjcjd φD=D
64 63 oveq2d φBD=BD
65 62 64 eqtrd φBD=BD
66 61 65 oveq12d φAC+BD=AC+BD
67 57 66 eqtrd φAC+BD=AC+BD
68 67 oveq2d φAC+BDAC+BD=AC+BDAC+BD
69 13 36 mulcld φAC
70 32 69 34 adddid φACAC+BD=ACAC+ACBD
71 15 31 13 36 mul4d φCAAC=CAAC
72 31 15 mulcomd φAC=CA
73 72 oveq1d φACAC=CAAC
74 13 15 mulcomd φAC=CA
75 13 15 cjmuld φAC=AC
76 74 75 oveq12d φACAC=CAAC
77 71 73 76 3eqtr4d φACAC=ACAC
78 77 17 eqtr4d φACAC=AC2
79 78 oveq1d φACAC+ACBD=AC2+ACBD
80 70 79 eqtrd φACAC+BD=AC2+ACBD
81 54 69 34 adddid φBDAC+BD=BDAC+BDBD
82 13 36 mulcomd φAC=CA
83 82 oveq2d φBDAC=BDCA
84 22 38 36 13 mul4d φBDCA=BCDA
85 38 13 mulcomd φDA=AD
86 85 oveq2d φBCDA=BCAD
87 83 84 86 3eqtrd φBDAC=BCAD
88 22 38 24 33 mul4d φBDDB=BDDB
89 33 24 mulcomd φBD=DB
90 89 oveq2d φBDBD=BDDB
91 22 24 cjmuld φBD=BD
92 33 38 mulcomd φBD=DB
93 91 92 eqtrd φBD=DB
94 93 oveq2d φBDBD=BDDB
95 88 90 94 3eqtr4d φBDBD=BDBD
96 95 26 eqtr4d φBDBD=BD2
97 87 96 oveq12d φBDAC+BDBD=BCAD+BD2
98 81 97 eqtrd φBDAC+BD=BCAD+BD2
99 80 98 oveq12d φACAC+BD+BDAC+BD=AC2+ACBD+BCAD+BD2
100 69 34 addcld φAC+BD
101 32 54 100 adddird φAC+BDAC+BD=ACAC+BD+BDAC+BD
102 20 29 35 40 add42d φAC2+BD2+ACBD+BCAD=AC2+ACBD+BCAD+BD2
103 99 101 102 3eqtr4d φAC+BDAC+BD=AC2+BD2+ACBD+BCAD
104 56 68 103 3eqtrd φAC+BD2=AC2+BD2+ACBD+BCAD
105 31 24 mulcld φAD
106 105 37 subcld φADBC
107 106 absvalsqd φADBC2=ADBCADBC
108 cjsub ADBCADBC=ADBC
109 105 37 108 syl2anc φADBC=ADBC
110 31 24 cjmuld φAD=AD
111 59 oveq1d φAD=AD
112 110 111 eqtrd φAD=AD
113 22 36 cjmuld φBC=BC
114 15 cjcjd φC=C
115 114 oveq2d φBC=BC
116 113 115 eqtrd φBC=BC
117 112 116 oveq12d φADBC=ADBC
118 109 117 eqtrd φADBC=ADBC
119 118 oveq2d φADBCADBC=ADBCADBC
120 33 15 mulcld φBC
121 39 120 subcld φADBC
122 105 37 121 subdird φADBCADBC=ADADBCBCADBC
123 105 39 120 subdid φADADBC=ADADADBC
124 24 31 13 38 mul4d φDAAD=DAAD
125 31 24 mulcomd φAD=DA
126 125 oveq1d φADAD=DAAD
127 13 24 mulcomd φAD=DA
128 13 24 cjmuld φAD=AD
129 127 128 oveq12d φADAD=DAAD
130 124 126 129 3eqtr4d φADAD=ADAD
131 130 43 eqtr4d φADAD=AD2
132 33 15 mulcomd φBC=CB
133 132 oveq2d φADBC=ADCB
134 31 24 15 33 mul4d φADCB=ACDB
135 24 33 mulcomd φDB=BD
136 135 oveq2d φACDB=ACBD
137 133 134 136 3eqtrd φADBC=ACBD
138 131 137 oveq12d φADADADBC=AD2ACBD
139 123 138 eqtrd φADADBC=AD2ACBD
140 37 39 120 subdid φBCADBC=BCADBCBC
141 132 oveq2d φBCBC=BCCB
142 22 36 15 33 mul4d φBCCB=BCCB
143 36 33 mulcomd φCB=BC
144 22 15 cjmuld φBC=BC
145 143 144 eqtr4d φCB=BC
146 145 oveq2d φBCCB=BCBC
147 141 142 146 3eqtrd φBCBC=BCBC
148 147 48 eqtr4d φBCBC=BC2
149 148 oveq2d φBCADBCBC=BCADBC2
150 140 149 eqtrd φBCADBC=BCADBC2
151 139 150 oveq12d φADADBCBCADBC=AD2-ACBD-BCADBC2
152 46 35 40 51 subadd4d φAD2-ACBD-BCADBC2=AD2+BC2-ACBD+BCAD
153 122 151 152 3eqtrd φADBCADBC=AD2+BC2-ACBD+BCAD
154 107 119 153 3eqtrd φADBC2=AD2+BC2-ACBD+BCAD
155 104 154 oveq12d φAC+BD2+ADBC2=AC2+BD2+ACBD+BCAD+AD2+BC2-ACBD+BCAD
156 13 31 mulcld φAA
157 22 33 mulcld φBB
158 15 36 mulcld φCC
159 24 38 mulcld φDD
160 158 159 addcld φCC+DD
161 156 157 160 adddird φAA+BBCC+DD=AACC+DD+BBCC+DD
162 75 oveq2d φACAC=ACAC
163 13 15 31 36 mul4d φACAC=AACC
164 17 162 163 3eqtrd φAC2=AACC
165 128 oveq2d φADAD=ADAD
166 13 24 31 38 mul4d φADAD=AADD
167 43 165 166 3eqtrd φAD2=AADD
168 164 167 oveq12d φAC2+AD2=AACC+AADD
169 156 158 159 adddid φAACC+DD=AACC+AADD
170 168 169 eqtr4d φAC2+AD2=AACC+DD
171 144 oveq2d φBCBC=BCBC
172 22 15 33 36 mul4d φBCBC=BBCC
173 48 171 172 3eqtrd φBC2=BBCC
174 91 oveq2d φBDBD=BDBD
175 22 24 33 38 mul4d φBDBD=BBDD
176 26 174 175 3eqtrd φBD2=BBDD
177 173 176 oveq12d φBC2+BD2=BBCC+BBDD
178 157 158 159 adddid φBBCC+DD=BBCC+BBDD
179 177 178 eqtr4d φBC2+BD2=BBCC+DD
180 170 179 oveq12d φAC2+AD2+BC2+BD2=AACC+DD+BBCC+DD
181 161 180 eqtr4d φAA+BBCC+DD=AC2+AD2+BC2+BD2
182 13 absvalsqd φA2=AA
183 22 absvalsqd φB2=BB
184 182 183 oveq12d φA2+B2=AA+BB
185 6 184 eqtrid φX=AA+BB
186 15 absvalsqd φC2=CC
187 24 absvalsqd φD2=DD
188 186 187 oveq12d φC2+D2=CC+DD
189 7 188 eqtrid φY=CC+DD
190 185 189 oveq12d φXY=AA+BBCC+DD
191 20 29 46 51 add42d φAC2+BD2+AD2+BC2=AC2+AD2+BC2+BD2
192 181 190 191 3eqtr4d φXY=AC2+BD2+AD2+BC2
193 53 155 192 3eqtr4d φAC+BD2+ADBC2=XY
194 193 oveq1d φAC+BD2+ADBC2M2=XYM2
195 8 nncnd φM
196 8 nnne0d φM0
197 55 195 196 absdivd φAC+BDM=AC+BDM
198 8 nnred φM
199 8 nnnn0d φM0
200 199 nn0ge0d φ0M
201 198 200 absidd φM=M
202 201 oveq2d φAC+BDM=AC+BDM
203 197 202 eqtrd φAC+BDM=AC+BDM
204 203 oveq1d φAC+BDM2=AC+BDM2
205 55 abscld φAC+BD
206 205 recnd φAC+BD
207 206 195 196 sqdivd φAC+BDM2=AC+BD2M2
208 204 207 eqtrd φAC+BDM2=AC+BD2M2
209 106 195 196 absdivd φADBCM=ADBCM
210 201 oveq2d φADBCM=ADBCM
211 209 210 eqtrd φADBCM=ADBCM
212 211 oveq1d φADBCM2=ADBCM2
213 106 abscld φADBC
214 213 recnd φADBC
215 214 195 196 sqdivd φADBCM2=ADBC2M2
216 212 215 eqtrd φADBCM2=ADBC2M2
217 208 216 oveq12d φAC+BDM2+ADBCM2=AC+BD2M2+ADBC2M2
218 30 41 addcld φAC2+BD2+ACBD+BCAD
219 104 218 eqeltrd φAC+BD2
220 52 41 subcld φAD2+BC2-ACBD+BCAD
221 154 220 eqeltrd φADBC2
222 8 nnsqcld φM2
223 222 nncnd φM2
224 222 nnne0d φM20
225 219 221 223 224 divdird φAC+BD2+ADBC2M2=AC+BD2M2+ADBC2M2
226 217 225 eqtr4d φAC+BDM2+ADBCM2=AC+BD2+ADBC2M2
227 182 156 eqeltrd φA2
228 183 157 eqeltrd φB2
229 227 228 addcld φA2+B2
230 6 229 eqeltrid φX
231 189 160 eqeltrd φY
232 230 195 231 195 196 196 divmuldivd φXMYM=XY M M
233 195 sqvald φM2= M M
234 233 oveq2d φXYM2=XY M M
235 232 234 eqtr4d φXMYM=XYM2
236 194 226 235 3eqtr4d φAC+BDM2+ADBCM2=XMYM
237 230 55 nncand φXXAC+BD=AC+BD
238 156 157 32 54 addsub4d φAA+BB-AC+BD=AAAC+BB-BD
239 185 oveq1d φXAC+BD=AA+BB-AC+BD
240 31 13 15 subdid φAAC=AAAC
241 31 13 mulcomd φAA=AA
242 241 oveq1d φAAAC=AAAC
243 240 242 eqtrd φAAC=AAAC
244 cjsub BDBD=BD
245 22 24 244 syl2anc φBD=BD
246 245 oveq2d φBBD=BBD
247 22 33 38 subdid φBBD=BBBD
248 246 247 eqtrd φBBD=BBBD
249 243 248 oveq12d φAAC+BBD=AAAC+BB-BD
250 238 239 249 3eqtr4d φXAC+BD=AAC+BBD
251 250 oveq2d φXXAC+BD=XAAC+BBD
252 237 251 eqtr3d φAC+BD=XAAC+BBD
253 252 oveq1d φAC+BDM=XAAC+BBDM
254 13 15 subcld φAC
255 31 254 mulcld φAAC
256 22 24 subcld φBD
257 256 cjcld φBD
258 22 257 mulcld φBBD
259 255 258 addcld φAAC+BBD
260 230 259 195 196 divsubdird φXAAC+BBDM=XMAAC+BBDM
261 255 258 195 196 divdird φAAC+BBDM=AACM+BBDM
262 31 254 195 196 divassd φAACM=AACM
263 22 257 195 196 divassd φBBDM=BBDM
264 256 195 196 cjdivd φBDM=BDM
265 198 cjred φM=M
266 265 oveq2d φBDM=BDM
267 264 266 eqtrd φBDM=BDM
268 267 oveq2d φBBDM=BBDM
269 263 268 eqtr4d φBBDM=BBDM
270 262 269 oveq12d φAACM+BBDM=AACM+BBDM
271 261 270 eqtrd φAAC+BBDM=AACM+BBDM
272 271 oveq2d φXMAAC+BBDM=XMAACM+BBDM
273 253 260 272 3eqtrd φAC+BDM=XMAACM+BBDM
274 11 nn0zd φXM
275 zgz XMXMi
276 274 275 syl φXMi
277 gzcjcl AiAi
278 2 277 syl φAi
279 gzmulcl AiACMiAACMi
280 278 9 279 syl2anc φAACMi
281 gzcjcl BDMiBDMi
282 10 281 syl φBDMi
283 gzmulcl BiBDMiBBDMi
284 3 282 283 syl2anc φBBDMi
285 gzaddcl AACMiBBDMiAACM+BBDMi
286 280 284 285 syl2anc φAACM+BBDMi
287 gzsubcl XMiAACM+BBDMiXMAACM+BBDMi
288 276 286 287 syl2anc φXMAACM+BBDMi
289 273 288 eqeltrd φAC+BDMi
290 254 cjcld φAC
291 22 290 mulcld φBAC
292 31 256 mulcld φABD
293 291 292 195 196 divsubdird φBACABDM=BACMABDM
294 cjsub ACAC=AC
295 13 15 294 syl2anc φAC=AC
296 295 oveq2d φBAC=BAC
297 22 31 36 subdid φBAC=BABC
298 296 297 eqtrd φBAC=BABC
299 31 22 24 subdid φABD=ABAD
300 31 22 mulcomd φAB=BA
301 300 oveq1d φABAD=BAAD
302 299 301 eqtrd φABD=BAAD
303 298 302 oveq12d φBACABD=BA-BC-BAAD
304 22 31 mulcld φBA
305 304 37 105 nnncan1d φBA-BC-BAAD=ADBC
306 303 305 eqtrd φBACABD=ADBC
307 306 oveq1d φBACABDM=ADBCM
308 293 307 eqtr3d φBACMABDM=ADBCM
309 22 290 195 196 divassd φBACM=BACM
310 254 195 196 cjdivd φACM=ACM
311 265 oveq2d φACM=ACM
312 310 311 eqtrd φACM=ACM
313 312 oveq2d φBACM=BACM
314 309 313 eqtr4d φBACM=BACM
315 31 256 195 196 divassd φABDM=ABDM
316 314 315 oveq12d φBACMABDM=BACMABDM
317 308 316 eqtr3d φADBCM=BACMABDM
318 gzcjcl ACMiACMi
319 9 318 syl φACMi
320 gzmulcl BiACMiBACMi
321 3 319 320 syl2anc φBACMi
322 gzmulcl AiBDMiABDMi
323 278 10 322 syl2anc φABDMi
324 gzsubcl BACMiABDMiBACMABDMi
325 321 323 324 syl2anc φBACMABDMi
326 317 325 eqeltrd φADBCMi
327 1 4sqlem4a AC+BDMiADBCMiAC+BDM2+ADBCM2S
328 289 326 327 syl2anc φAC+BDM2+ADBCM2S
329 236 328 eqeltrrd φXMYMS