Mathbox for Stefan O'Rear < Previous   Next > Nearby theorems Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  pellexlem6 Structured version   Unicode version

Theorem pellexlem6 26897
 Description: Lemma for pellex 26898. Doing a field division between near solutions get us to norm 1, and the modularity constraint ensures we still have an integer. Returning NN guarantees that we are not returning the trivial solution (1,0). We are not explicitly defining the Pell-field, Pell-ring, and Pell-norm explicitly because after this construction is done we will never use them. This is mostly basic algebraic number theory and could be simplified if a generic framework for that were in place. (Contributed by Stefan O'Rear, 19-Oct-2014.)
Hypotheses
Ref Expression
pellex.ann
pellex.bnn
pellex.cz
pellex.dnn
pellex.irr
pellex.enn
pellex.fnn
pellex.neq
pellex.cn0
pellex.no1
pellex.no2
pellex.xcg
pellex.ycg
Assertion
Ref Expression
pellexlem6
Distinct variable groups:   ,,   ,,   ,,   ,,   ,,   ,,   ,,

Proof of Theorem pellexlem6
StepHypRef Expression
1 pellex.ann . . . . . . . . 9
21nncnd 10016 . . . . . . . 8
3 pellex.enn . . . . . . . . 9
43nncnd 10016 . . . . . . . 8
52, 4mulcld 9108 . . . . . . 7
6 pellex.dnn . . . . . . . . 9
76nncnd 10016 . . . . . . . 8
8 pellex.bnn . . . . . . . . . 10
98nncnd 10016 . . . . . . . . 9
10 pellex.fnn . . . . . . . . . 10
1110nncnd 10016 . . . . . . . . 9
129, 11mulcld 9108 . . . . . . . 8
137, 12mulcld 9108 . . . . . . 7
145, 13subcld 9411 . . . . . 6
15 pellex.cz . . . . . . 7
1615zcnd 10376 . . . . . 6
17 pellex.cn0 . . . . . 6
1814, 16, 17absdivd 12257 . . . . 5
195, 13negsubd 9417 . . . . . . . . . . 11
2019eqcomd 2441 . . . . . . . . . 10
2120oveq1d 6096 . . . . . . . . 9
221nnred 10015 . . . . . . . . . . 11
233nnred 10015 . . . . . . . . . . 11
2422, 23remulcld 9116 . . . . . . . . . 10
256nnred 10015 . . . . . . . . . . 11
268nnred 10015 . . . . . . . . . . . 12
2710nnred 10015 . . . . . . . . . . . 12
2826, 27remulcld 9116 . . . . . . . . . . 11
2925, 28remulcld 9116 . . . . . . . . . 10
3029renegcld 9464 . . . . . . . . . 10
3116, 17absrpcld 12250 . . . . . . . . . 10
323nnzd 10374 . . . . . . . . . . . 12
33 pellex.xcg . . . . . . . . . . . 12
34 modmul1 11279 . . . . . . . . . . . 12
3522, 23, 32, 31, 33, 34syl221anc 1195 . . . . . . . . . . 11
364sqcld 11521 . . . . . . . . . . . . . . 15
3711sqcld 11521 . . . . . . . . . . . . . . . 16
387, 37mulcld 9108 . . . . . . . . . . . . . . 15
3936, 38npcand 9415 . . . . . . . . . . . . . 14
404sqvald 11520 . . . . . . . . . . . . . 14
4139, 40eqtr2d 2469 . . . . . . . . . . . . 13
4241oveq1d 6096 . . . . . . . . . . . 12
4323resqcld 11549 . . . . . . . . . . . . . 14
4427resqcld 11549 . . . . . . . . . . . . . . 15
4525, 44remulcld 9116 . . . . . . . . . . . . . 14
4643, 45resubcld 9465 . . . . . . . . . . . . 13
47 0re 9091 . . . . . . . . . . . . . 14
4847a1i 11 . . . . . . . . . . . . 13
4916abscld 12238 . . . . . . . . . . . . . . . . . . 19
5049recnd 9114 . . . . . . . . . . . . . . . . . 18
5116, 17absne0d 12249 . . . . . . . . . . . . . . . . . 18
5250, 51dividd 9788 . . . . . . . . . . . . . . . . 17
53 1z 10311 . . . . . . . . . . . . . . . . . 18
5453a1i 11 . . . . . . . . . . . . . . . . 17
5552, 54eqeltrd 2510 . . . . . . . . . . . . . . . 16
56 mod0 11255 . . . . . . . . . . . . . . . . 17
5749, 31, 56syl2anc 643 . . . . . . . . . . . . . . . 16
5855, 57mpbird 224 . . . . . . . . . . . . . . 15
5915zred 10375 . . . . . . . . . . . . . . . 16
60 absmod0 12108 . . . . . . . . . . . . . . . 16
6159, 31, 60syl2anc 643 . . . . . . . . . . . . . . 15
6258, 61mpbird 224 . . . . . . . . . . . . . 14
63 pellex.no2 . . . . . . . . . . . . . . 15
6463oveq1d 6096 . . . . . . . . . . . . . 14
65 0mod 11272 . . . . . . . . . . . . . . 15
6631, 65syl 16 . . . . . . . . . . . . . 14
6762, 64, 663eqtr4d 2478 . . . . . . . . . . . . 13
68 modadd1 11278 . . . . . . . . . . . . 13
6946, 48, 45, 31, 67, 68syl221anc 1195 . . . . . . . . . . . 12
7038addid2d 9267 . . . . . . . . . . . . . 14
7111sqvald 11520 . . . . . . . . . . . . . . 15
7271oveq2d 6097 . . . . . . . . . . . . . 14
737, 11, 11mul12d 9275 . . . . . . . . . . . . . 14
7470, 72, 733eqtrd 2472 . . . . . . . . . . . . 13
7574oveq1d 6096 . . . . . . . . . . . 12
7642, 69, 753eqtrd 2472 . . . . . . . . . . 11
776nnzd 10374 . . . . . . . . . . . . . 14
7810nnzd 10374 . . . . . . . . . . . . . 14
7977, 78zmulcld 10381 . . . . . . . . . . . . 13
80 pellex.ycg . . . . . . . . . . . . . 14
8180eqcomd 2441 . . . . . . . . . . . . 13
82 modmul1 11279 . . . . . . . . . . . . 13
8327, 26, 79, 31, 81, 82syl221anc 1195 . . . . . . . . . . . 12
849, 7, 11mul12d 9275 . . . . . . . . . . . . 13
8584oveq1d 6096 . . . . . . . . . . . 12
8683, 85eqtrd 2468 . . . . . . . . . . 11
8735, 76, 863eqtrd 2472 . . . . . . . . . 10
88 modadd1 11278 . . . . . . . . . 10
8924, 29, 30, 31, 87, 88syl221anc 1195 . . . . . . . . 9
9013negidd 9401 . . . . . . . . . 10
9190oveq1d 6096 . . . . . . . . 9
9221, 89, 913eqtrd 2472 . . . . . . . 8
9392, 66eqtrd 2468 . . . . . . 7
9424, 29resubcld 9465 . . . . . . . 8
95 absmod0 12108 . . . . . . . 8
9694, 31, 95syl2anc 643 . . . . . . 7
9793, 96mpbid 202 . . . . . 6
9814abscld 12238 . . . . . . 7
99 mod0 11255 . . . . . . 7
10098, 31, 99syl2anc 643 . . . . . 6
10197, 100mpbid 202 . . . . 5
10218, 101eqeltrd 2510 . . . 4
10394, 59, 17redivcld 9842 . . . . 5
104 absz 12116 . . . . 5
105103, 104syl 16 . . . 4
106102, 105mpbird 224 . . 3
107 0lt1 9550 . . . . . . . 8
108 1re 9090 . . . . . . . . 9
10947, 108ltnlei 9194 . . . . . . . 8
110107, 109mpbi 200 . . . . . . 7
1119, 4mulcld 9108 . . . . . . . . . . . . . 14
1122, 11mulcld 9108 . . . . . . . . . . . . . 14
113111, 112subcld 9411 . . . . . . . . . . . . 13
114113, 16, 17divcld 9790 . . . . . . . . . . . 12
115114abscld 12238 . . . . . . . . . . 11
116115resqcld 11549 . . . . . . . . . 10
1176nnnn0d 10274 . . . . . . . . . . 11
118117nn0ge0d 10277 . . . . . . . . . 10
119115sqge0d 11550 . . . . . . . . . 10
12025, 116, 118, 119mulge0d 9603 . . . . . . . . 9
12125, 116remulcld 9116 . . . . . . . . . 10
12248, 121suble0d 9617 . . . . . . . . 9
123120, 122mpbird 224 . . . . . . . 8
124 breq1 4215 . . . . . . . 8
125123, 124syl5ibrcom 214 . . . . . . 7
126110, 125mtoi 171 . . . . . 6
127 absresq 12107 . . . . . . . . . . . 12
128103, 127syl 16 . . . . . . . . . . 11
12914, 16, 17sqdivd 11536 . . . . . . . . . . 11
13014sqvald 11520 . . . . . . . . . . . 12
131130oveq1d 6096 . . . . . . . . . . 11
132128, 129, 1313eqtrd 2472 . . . . . . . . . 10
13326, 23remulcld 9116 . . . . . . . . . . . . . . . 16
13422, 27remulcld 9116 . . . . . . . . . . . . . . . 16
135133, 134resubcld 9465 . . . . . . . . . . . . . . 15
136135, 59, 17redivcld 9842 . . . . . . . . . . . . . 14
137 absresq 12107 . . . . . . . . . . . . . 14
138136, 137syl 16 . . . . . . . . . . . . 13
139113, 16, 17sqdivd 11536 . . . . . . . . . . . . 13
140138, 139eqtrd 2468 . . . . . . . . . . . 12
141140oveq2d 6097 . . . . . . . . . . 11
142113sqcld 11521 . . . . . . . . . . . 12
14316sqcld 11521 . . . . . . . . . . . 12
144 sqne0 11448 . . . . . . . . . . . . . 14
14516, 144syl 16 . . . . . . . . . . . . 13
14617, 145mpbird 224 . . . . . . . . . . . 12
1477, 142, 143, 146divassd 9825 . . . . . . . . . . 11
148113sqvald 11520 . . . . . . . . . . . . 13
149148oveq2d 6097 . . . . . . . . . . . 12
150149oveq1d 6096 . . . . . . . . . . 11
151141, 147, 1503eqtr2d 2474 . . . . . . . . . 10
152132, 151oveq12d 6099 . . . . . . . . 9
15314, 14mulcld 9108 . . . . . . . . . 10
154113, 113mulcld 9108 . . . . . . . . . . 11
1557, 154mulcld 9108 . . . . . . . . . 10
156153, 155, 143, 146divsubdird 9829 . . . . . . . . 9
1575, 13, 5, 13mulsubd 9492 . . . . . . . . . . . 12
158111, 112, 111, 112mulsubd 9492 . . . . . . . . . . . . . 14
159158oveq2d 6097 . . . . . . . . . . . . 13
160111, 111mulcld 9108 . . . . . . . . . . . . . . 15
161112, 112mulcld 9108 . . . . . . . . . . . . . . 15
162160, 161addcld 9107 . . . . . . . . . . . . . 14
163111, 112mulcld 9108 . . . . . . . . . . . . . . 15
164163, 163addcld 9107 . . . . . . . . . . . . . 14
1657, 162, 164subdid 9489 . . . . . . . . . . . . 13
1667, 160, 161adddid 9112 . . . . . . . . . . . . . 14
1677, 163, 163adddid 9112 . . . . . . . . . . . . . 14
168166, 167oveq12d 6099 . . . . . . . . . . . . 13
169159, 165, 1683eqtrd 2472 . . . . . . . . . . . 12
170157, 169oveq12d 6099 . . . . . . . . . . 11
171170oveq1d 6096 . . . . . . . . . 10
1725, 13mulcomd 9109 . . . . . . . . . . . . . . . 16
1737, 12, 5mulassd 9111 . . . . . . . . . . . . . . . 16
1742, 4mulcomd 9109 . . . . . . . . . . . . . . . . . . 19
175174oveq2d 6097 . . . . . . . . . . . . . . . . . 18
1769, 11, 4, 2mul4d 9278 . . . . . . . . . . . . . . . . . 18
17711, 2mulcomd 9109 . . . . . . . . . . . . . . . . . . 19
178177oveq2d 6097 . . . . . . . . . . . . . . . . . 18
179175, 176, 1783eqtrd 2472 . . . . . . . . . . . . . . . . 17
180179oveq2d 6097 . . . . . . . . . . . . . . . 16
181172, 173, 1803eqtrd 2472 . . . . . . . . . . . . . . 15
182181, 181oveq12d 6099 . . . . . . . . . . . . . 14
183182oveq2d 6097 . . . . . . . . . . . . 13
184183oveq1d 6096 . . . . . . . . . . . 12
1855, 5mulcld 9108 . . . . . . . . . . . . . 14
18613, 13mulcld 9108 . . . . . . . . . . . . . 14
187185, 186addcld 9107 . . . . . . . . . . . . 13
1887, 160mulcld 9108 . . . . . . . . . . . . . 14
1897, 161mulcld 9108 . . . . . . . . . . . . . 14
190188, 189addcld 9107 . . . . . . . . . . . . 13
1917, 163mulcld 9108 . . . . . . . . . . . . . 14
192191, 191addcld 9107 . . . . . . . . . . . . 13
193187, 190, 192nnncan2d 9446 . . . . . . . . . . . 12
194185, 186, 188, 189addsub4d 9458 . . . . . . . . . . . . 13
1955sqvald 11520 . . . . . . . . . . . . . . 15
196111sqvald 11520 . . . . . . . . . . . . . . . 16
197196oveq2d 6097 . . . . . . . . . . . . . . 15
198195, 197oveq12d 6099 . . . . . . . . . . . . . 14
19913sqvald 11520 . . . . . . . . . . . . . . 15
200112sqvald 11520 . . . . . . . . . . . . . . . 16
201200oveq2d 6097 . . . . . . . . . . . . . . 15
202199, 201oveq12d 6099 . . . . . . . . . . . . . 14
203198, 202oveq12d 6099 . . . . . . . . . . . . 13
2042, 4sqmuld 11535 . . . . . . . . . . . . . . . 16
2059, 4sqmuld 11535 . . . . . . . . . . . . . . . . . 18
206205oveq2d 6097 . . . . . . . . . . . . . . . . 17
2079sqcld 11521 . . . . . . . . . . . . . . . . . 18
2087, 207, 36mulassd 9111 . . . . . . . . . . . . . . . . 17
209206, 208eqtr4d 2471 . . . . . . . . . . . . . . . 16
210204, 209oveq12d 6099 . . . . . . . . . . . . . . 15
2117sqvald 11520 . . . . . . . . . . . . . . . . . 18
2129, 11sqmuld 11535 . . . . . . . . . . . . . . . . . 18
213211, 212oveq12d 6099 . . . . . . . . . . . . . . . . 17
2147, 12sqmuld 11535 . . . . . . . . . . . . . . . . 17
2157, 7mulcld 9108 . . . . . . . . . . . . . . . . . 18
216215, 207, 37mulassd 9111 . . . . . . . . . . . . . . . . 17
217213, 214, 2163eqtr4d 2478 . . . . . . . . . . . . . . . 16
2182, 11sqmuld 11535 . . . . . . . . . . . . . . . . . 18
219218oveq2d 6097 . . . . . . . . . . . . . . . . 17
2202sqcld 11521 . . . . . . . . . . . . . . . . . 18
2217, 220, 37mulassd 9111 . . . . . . . . . . . . . . . . 17
222219, 221eqtr4d 2471 . . . . . . . . . . . . . . . 16
223217, 222oveq12d 6099 . . . . . . . . . . . . . . 15
224210, 223oveq12d 6099 . . . . . . . . . . . . . 14
2257, 207mulcld 9108 . . . . . . . . . . . . . . . . 17
226220, 225, 36subdird 9490 . . . . . . . . . . . . . . . 16
227 pellex.no1 . . . . . . . . . . . . . . . . 17
228227oveq1d 6096 . . . . . . . . . . . . . . . 16
229226, 228eqtr3d 2470 . . . . . . . . . . . . . . 15
2307, 7, 207mulassd 9111 . . . . . . . . . . . . . . . . . 18
231230oveq1d 6096 . . . . . . . . . . . . . . . . 17
232231oveq1d 6096 . . . . . . . . . . . . . . . 16
233215, 207mulcld 9108 . . . . . . . . . . . . . . . . 17
2347, 220mulcld 9108 . . . . . . . . . . . . . . . . 17
235233, 234, 37subdird 9490 . . . . . . . . . . . . . . . 16
236 subdi 9467 . . . . . . . . . . . . . . . . . . . 20
237236eqcomd 2441 . . . . . . . . . . . . . . . . . . 19
2387, 225, 220, 237syl3anc 1184 . . . . . . . . . . . . . . . . . 18
239 negsubdi2 9360 . . . . . . . . . . . . . . . . . . . . . 22
240239eqcomd 2441 . . . . . . . . . . . . . . . . . . . . 21
241220, 225, 240syl2anc 643 . . . . . . . . . . . . . . . . . . . 20
242227negeqd 9300 . . . . . . . . . . . . . . . . . . . 20
243241, 242eqtrd 2468 . . . . . . . . . . . . . . . . . . 19
244243oveq2d 6097 . . . . . . . . . . . . . . . . . 18
2457, 16mulneg2d 9487 . . . . . . . . . . . . . . . . . 18
246238, 244, 2453eqtrd 2472 . . . . . . . . . . . . . . . . 17
247246oveq1d 6096 . . . . . . . . . . . . . . . 16
248232, 235, 2473eqtr3d 2476 . . . . . . . . . . . . . . 15
249229, 248oveq12d 6099 . . . . . . . . . . . . . 14
2507, 16mulcld 9108 . . . . . . . . . . . . . . . . . 18
251250, 37mulneg1d 9486 . . . . . . . . . . . . . . . . 17
2527, 16mulcomd 9109 . . . . . . . . . . . . . . . . . . . 20
253252oveq1d 6096 . . . . . . . . . . . . . . . . . . 19
25416, 7, 37mulassd 9111 . . . . . . . . . . . . . . . . . . 19
255253, 254eqtrd 2468 . . . . . . . . . . . . . . . . . 18
256255negeqd 9300 . . . . . . . . . . . . . . . . 17
257251, 256eqtrd 2468 . . . . . . . . . . . . . . . 16
258257oveq2d 6097 . . . . . . . . . . . . . . 15
25916, 36mulcld 9108 . . . . . . . . . . . . . . . 16
26016, 38mulcld 9108 . . . . . . . . . . . . . . . 16
261259, 260negsubd 9417 . . . . . . . . . . . . . . 15
26263oveq2d 6097 . . . . . . . . . . . . . . . 16
263 subdi 9467 . . . . . . . . . . . . . . . . . 18
264263eqcomd 2441 . . . . . . . . . . . . . . . . 17
26516, 36, 38, 264syl3anc 1184 . . . . . . . . . . . . . . . 16
26616sqvald 11520 . . . . . . . . . . . . . . . 16
267262, 265, 2663eqtr4d 2478 . . . . . . . . . . . . . . 15
268258, 261, 2673eqtrd 2472 . . . . . . . . . . . . . 14
269224, 249, 2683eqtrd 2472 . . . . . . . . . . . . 13
270194, 203, 2693eqtr2d 2474 . . . . . . . . . . . 12
271184, 193, 2703eqtrd 2472 . . . . . . . . . . 11
272271oveq1d 6096 . . . . . . . . . 10
273143, 146dividd 9788 . . . . . . . . . 10
274171, 272, 2733eqtrd 2472 . . . . . . . . 9
275152, 156, 2743eqtr2d 2474 . . . . . . . 8
276275adantr 452 . . . . . . 7
277 simpr 448 . . . . . . . . . . . 12
278277oveq1d 6096 . . . . . . . . . . 11
279278fveq2d 5732 . . . . . . . . . 10
28016, 17div0d 9789 . . . . . . . . . . . 12
281280abs00bd 12096 . . . . . . . . . . 11
282281adantr 452 . . . . . . . . . 10
283279, 282eqtrd 2468 . . . . . . . . 9
284283sq0id 11475 . . . . . . . 8
285284oveq1d 6096 . . . . . . 7
286276, 285eqtr3d 2470 . . . . . 6
287126, 286mtand 641 . . . . 5
288287neneqad 2674 . . . 4
28914, 16, 288, 17divne0d 9806 . . 3
290 nnabscl 12129 . . 3
291106, 289, 290syl2anc 643 . 2
292113, 16, 17absdivd 12257 . . . . 5
293 negsub 9349 . . . . . . . . . . . 12
294293eqcomd 2441 . . . . . . . . . . 11
295111, 112, 294syl2anc 643 . . . . . . . . . 10
296295oveq1d 6096 . . . . . . . . 9
297134renegcld 9464 . . . . . . . . . 10
29811, 4mulcomd 9109 . . . . . . . . . . . 12
299298oveq1d 6096 . . . . . . . . . . 11
300 modmul1 11279 . . . . . . . . . . . 12
30126, 27, 32, 31, 80, 300syl221anc 1195 . . . . . . . . . . 11
302 modmul1 11279 . . . . . . . . . . . 12
30322, 23, 78, 31, 33, 302syl221anc 1195 . . . . . . . . . . 11
304299, 301, 3033eqtr4d 2478 . . . . . . . . . 10
305 modadd1 11278 . . . . . . . . . 10
306133, 134, 297, 31, 304, 305syl221anc 1195 . . . . . . . . 9
307112negidd 9401 . . . . . . . . . 10
308307oveq1d 6096 . . . . . . . . 9
309296, 306, 3083eqtrd 2472 . . . . . . . 8
310309, 66eqtrd 2468 . . . . . . 7
311 absmod0 12108 . . . . . . . 8
312135, 31, 311syl2anc 643 . . . . . . 7
313310, 312mpbid 202 . . . . . 6
314113abscld 12238 . . . . . . 7
315 mod0 11255 . . . . . . 7
316314, 31, 315syl2anc 643 . . . . . 6
317313, 316mpbid 202 . . . . 5
318292, 317eqeltrd 2510 . . . 4
319 absz 12116 . . . . 5
320136, 319syl 16 . . . 4
321318, 320mpbird 224 . . 3
322 pellex.neq . . . . . . 7
32310nnne0d 10044 . . . . . . . . 9
3243nnne0d 10044 . . . . . . . . 9
3259, 11, 2, 4, 323, 324divmuleqd 9836 . . . . . . . 8
32663adantr 452 . . . . . . . . . . . . . . 15
327326eqcomd 2441 . . . . . . . . . . . . . 14
328327oveq2d 6097 . . . . . . . . . . . . 13
3299, 11, 323divcld 9790 . . . . . . . . . . . . . . . 16
330329sqcld 11521 . . . . . . . . . . . . . . 15
331330adantr 452 . . . . . . . . . . . . . 14
33236adantr 452 . . . . . . . . . . . . . 14
33338adantr 452 . . . . . . . . . . . . . 14
334331, 332, 333subdid 9489 . . . . . . . . . . . . 13
335 oveq1 6088 . . . . . . . . . . . . . . . . 17
336335oveq1d 6096 . . . . . . . . . . . . . . . 16
337336adantl 453 . . . . . . . . . . . . . . 15
3382adantr 452 . . . . . . . . . . . . . . . . 17
3394adantr 452 . . . . . . . . . . . . . . . . 17
340324adantr 452 . . . . . . . . . . . . . . . . 17
341338, 339, 340sqdivd 11536 . . . . . . . . . . . . . . . 16
342341oveq1d 6096 . . . . . . . . . . . . . . 15
343220adantr 452 . . . . . . . . . . . . . . . 16
344 sqne0 11448 . . . . . . . . . . . . . . . . . . 19
3454, 344syl 16 . . . . . . . . . . . . . . . . . 18
346324, 345mpbird 224 . . . . . . . . . . . . . . . . 17
347346adantr 452 . . . . . . . . . . . . . . . 16
348343, 332, 347divcan1d 9791 . . . . . . . . . . . . . . 15
349337, 342, 3483eqtrd 2472 . . . . . . . . . . . . . 14
3507adantr 452 . . . . . . . . . . . . . . . 16
35137adantr 452 . . . . . . . . . . . . . . . 16
352331, 350, 351mul12d 9275 . . . . . . . . . . . . . . 15
3539adantr 452 . . . . . . . . . . . . . . . . . 18
35411adantr 452 . . . . . . . . . . . . . . . . . 18
355323adantr 452 . . . . . . . . . . . . . . . . . 18
356353, 354, 355sqdivd 11536 . . . . . . . . . . . . . . . . 17
357356oveq1d 6096 . . . . . . . . . . . . . . . 16
358357oveq2d 6097 . . . . . . . . . . . . . . 15
359207adantr 452 . . . . . . . . . . . . . . . . 17
360 sqne0 11448 . . . . . . . . . . . . . . . . . . . 20
36111, 360syl 16 . . . . . . . . . . . . . . . . . . 19
362323, 361mpbird 224 . . . . . . . . . . . . . . . . . 18
363362adantr 452 . . . . . . . . . . . . . . . . 17
364359, 351, 363divcan1d 9791 . . . . . . . . . . . . . . . 16