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

Theorem pellexlem6 30361
 Description: Lemma for pellex 30362. 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 10541 . . . . . . . 8
3 pellex.enn . . . . . . . . 9
43nncnd 10541 . . . . . . . 8
52, 4mulcld 9605 . . . . . . 7
6 pellex.dnn . . . . . . . . 9
76nncnd 10541 . . . . . . . 8
8 pellex.bnn . . . . . . . . . 10
98nncnd 10541 . . . . . . . . 9
10 pellex.fnn . . . . . . . . . 10
1110nncnd 10541 . . . . . . . . 9
129, 11mulcld 9605 . . . . . . . 8
137, 12mulcld 9605 . . . . . . 7
145, 13subcld 9919 . . . . . 6
15 pellex.cz . . . . . . 7
1615zcnd 10956 . . . . . 6
17 pellex.cn0 . . . . . 6
1814, 16, 17absdivd 13235 . . . . 5
195, 13negsubd 9925 . . . . . . . . . . 11
2019eqcomd 2468 . . . . . . . . . 10
2120oveq1d 6290 . . . . . . . . 9
221nnred 10540 . . . . . . . . . . 11
233nnred 10540 . . . . . . . . . . 11
2422, 23remulcld 9613 . . . . . . . . . 10
256nnred 10540 . . . . . . . . . . 11
268nnred 10540 . . . . . . . . . . . 12
2710nnred 10540 . . . . . . . . . . . 12
2826, 27remulcld 9613 . . . . . . . . . . 11
2925, 28remulcld 9613 . . . . . . . . . 10
3029renegcld 9975 . . . . . . . . . 10
3116, 17absrpcld 13228 . . . . . . . . . 10
323nnzd 10954 . . . . . . . . . . . 12
33 pellex.xcg . . . . . . . . . . . 12
34 modmul1 11996 . . . . . . . . . . . 12
3522, 23, 32, 31, 33, 34syl221anc 1234 . . . . . . . . . . 11
364sqcld 12263 . . . . . . . . . . . . . . 15
3711sqcld 12263 . . . . . . . . . . . . . . . 16
387, 37mulcld 9605 . . . . . . . . . . . . . . 15
3936, 38npcand 9923 . . . . . . . . . . . . . 14
404sqvald 12262 . . . . . . . . . . . . . 14
4139, 40eqtr2d 2502 . . . . . . . . . . . . 13
4241oveq1d 6290 . . . . . . . . . . . 12
4323resqcld 12291 . . . . . . . . . . . . . 14
4427resqcld 12291 . . . . . . . . . . . . . . 15
4525, 44remulcld 9613 . . . . . . . . . . . . . 14
4643, 45resubcld 9976 . . . . . . . . . . . . 13
47 0re 9585 . . . . . . . . . . . . . 14
4847a1i 11 . . . . . . . . . . . . 13
4916abscld 13216 . . . . . . . . . . . . . . . . . . 19
5049recnd 9611 . . . . . . . . . . . . . . . . . 18
5116, 17absne0d 13227 . . . . . . . . . . . . . . . . . 18
5250, 51dividd 10307 . . . . . . . . . . . . . . . . 17
53 1z 10883 . . . . . . . . . . . . . . . . . 18
5453a1i 11 . . . . . . . . . . . . . . . . 17
5552, 54eqeltrd 2548 . . . . . . . . . . . . . . . 16
56 mod0 11959 . . . . . . . . . . . . . . . . 17
5749, 31, 56syl2anc 661 . . . . . . . . . . . . . . . 16
5855, 57mpbird 232 . . . . . . . . . . . . . . 15
5915zred 10955 . . . . . . . . . . . . . . . 16
60 absmod0 13086 . . . . . . . . . . . . . . . 16
6159, 31, 60syl2anc 661 . . . . . . . . . . . . . . 15
6258, 61mpbird 232 . . . . . . . . . . . . . 14
63 pellex.no2 . . . . . . . . . . . . . . 15
6463oveq1d 6290 . . . . . . . . . . . . . 14
65 0mod 11983 . . . . . . . . . . . . . . 15
6631, 65syl 16 . . . . . . . . . . . . . 14
6762, 64, 663eqtr4d 2511 . . . . . . . . . . . . 13
68 modadd1 11989 . . . . . . . . . . . . 13
6946, 48, 45, 31, 67, 68syl221anc 1234 . . . . . . . . . . . 12
7038addid2d 9769 . . . . . . . . . . . . . 14
7111sqvald 12262 . . . . . . . . . . . . . . 15
7271oveq2d 6291 . . . . . . . . . . . . . 14
737, 11, 11mul12d 9777 . . . . . . . . . . . . . 14
7470, 72, 733eqtrd 2505 . . . . . . . . . . . . 13
7574oveq1d 6290 . . . . . . . . . . . 12
7642, 69, 753eqtrd 2505 . . . . . . . . . . 11
776nnzd 10954 . . . . . . . . . . . . . 14
7810nnzd 10954 . . . . . . . . . . . . . 14
7977, 78zmulcld 10961 . . . . . . . . . . . . 13
80 pellex.ycg . . . . . . . . . . . . . 14
8180eqcomd 2468 . . . . . . . . . . . . 13
82 modmul1 11996 . . . . . . . . . . . . 13
8327, 26, 79, 31, 81, 82syl221anc 1234 . . . . . . . . . . . 12
849, 7, 11mul12d 9777 . . . . . . . . . . . . 13
8584oveq1d 6290 . . . . . . . . . . . 12
8683, 85eqtrd 2501 . . . . . . . . . . 11
8735, 76, 863eqtrd 2505 . . . . . . . . . 10
88 modadd1 11989 . . . . . . . . . 10
8924, 29, 30, 31, 87, 88syl221anc 1234 . . . . . . . . 9
9013negidd 9909 . . . . . . . . . 10
9190oveq1d 6290 . . . . . . . . 9
9221, 89, 913eqtrd 2505 . . . . . . . 8
9392, 66eqtrd 2501 . . . . . . 7
9424, 29resubcld 9976 . . . . . . . 8
95 absmod0 13086 . . . . . . . 8
9694, 31, 95syl2anc 661 . . . . . . 7
9793, 96mpbid 210 . . . . . 6
9814abscld 13216 . . . . . . 7
99 mod0 11959 . . . . . . 7
10098, 31, 99syl2anc 661 . . . . . 6
10197, 100mpbid 210 . . . . 5
10218, 101eqeltrd 2548 . . . 4
10394, 59, 17redivcld 10361 . . . . 5
104 absz 13094 . . . . 5
105103, 104syl 16 . . . 4
106102, 105mpbird 232 . . 3
107 0lt1 10064 . . . . . . . 8
108 1re 9584 . . . . . . . . 9
10947, 108ltnlei 9694 . . . . . . . 8
110107, 109mpbi 208 . . . . . . 7
1119, 4mulcld 9605 . . . . . . . . . . . . . 14
1122, 11mulcld 9605 . . . . . . . . . . . . . 14
113111, 112subcld 9919 . . . . . . . . . . . . 13
114113, 16, 17divcld 10309 . . . . . . . . . . . 12
115114abscld 13216 . . . . . . . . . . 11
116115resqcld 12291 . . . . . . . . . 10
1176nnnn0d 10841 . . . . . . . . . . 11
118117nn0ge0d 10844 . . . . . . . . . 10
119115sqge0d 12292 . . . . . . . . . 10
12025, 116, 118, 119mulge0d 10118 . . . . . . . . 9
12125, 116remulcld 9613 . . . . . . . . . 10
12248, 121suble0d 10132 . . . . . . . . 9
123120, 122mpbird 232 . . . . . . . 8
124 breq1 4443 . . . . . . . 8
125123, 124syl5ibrcom 222 . . . . . . 7
126110, 125mtoi 178 . . . . . 6
127 absresq 13085 . . . . . . . . . . . 12
128103, 127syl 16 . . . . . . . . . . 11
12914, 16, 17sqdivd 12278 . . . . . . . . . . 11
13014sqvald 12262 . . . . . . . . . . . 12
131130oveq1d 6290 . . . . . . . . . . 11
132128, 129, 1313eqtrd 2505 . . . . . . . . . 10
13326, 23remulcld 9613 . . . . . . . . . . . . . . . 16
13422, 27remulcld 9613 . . . . . . . . . . . . . . . 16
135133, 134resubcld 9976 . . . . . . . . . . . . . . 15
136135, 59, 17redivcld 10361 . . . . . . . . . . . . . 14
137 absresq 13085 . . . . . . . . . . . . . 14
138136, 137syl 16 . . . . . . . . . . . . 13
139113, 16, 17sqdivd 12278 . . . . . . . . . . . . 13
140138, 139eqtrd 2501 . . . . . . . . . . . 12
141140oveq2d 6291 . . . . . . . . . . 11
142113sqcld 12263 . . . . . . . . . . . 12
14316sqcld 12263 . . . . . . . . . . . 12
144 sqne0 12189 . . . . . . . . . . . . . 14
14516, 144syl 16 . . . . . . . . . . . . 13
14617, 145mpbird 232 . . . . . . . . . . . 12
1477, 142, 143, 146divassd 10344 . . . . . . . . . . 11
148113sqvald 12262 . . . . . . . . . . . . 13
149148oveq2d 6291 . . . . . . . . . . . 12
150149oveq1d 6290 . . . . . . . . . . 11
151141, 147, 1503eqtr2d 2507 . . . . . . . . . 10
152132, 151oveq12d 6293 . . . . . . . . 9
15314, 14mulcld 9605 . . . . . . . . . 10
154113, 113mulcld 9605 . . . . . . . . . . 11
1557, 154mulcld 9605 . . . . . . . . . 10
156153, 155, 143, 146divsubdird 10348 . . . . . . . . 9
1575, 13, 5, 13mulsubd 10004 . . . . . . . . . . . 12
158111, 112, 111, 112mulsubd 10004 . . . . . . . . . . . . . 14
159158oveq2d 6291 . . . . . . . . . . . . 13
160111, 111mulcld 9605 . . . . . . . . . . . . . . 15
161112, 112mulcld 9605 . . . . . . . . . . . . . . 15
162160, 161addcld 9604 . . . . . . . . . . . . . 14
163111, 112mulcld 9605 . . . . . . . . . . . . . . 15
164163, 163addcld 9604 . . . . . . . . . . . . . 14
1657, 162, 164subdid 10001 . . . . . . . . . . . . 13
1667, 160, 161adddid 9609 . . . . . . . . . . . . . 14
1677, 163, 163adddid 9609 . . . . . . . . . . . . . 14
168166, 167oveq12d 6293 . . . . . . . . . . . . 13
169159, 165, 1683eqtrd 2505 . . . . . . . . . . . 12
170157, 169oveq12d 6293 . . . . . . . . . . 11
171170oveq1d 6290 . . . . . . . . . 10
1725, 13mulcomd 9606 . . . . . . . . . . . . . . . 16
1737, 12, 5mulassd 9608 . . . . . . . . . . . . . . . 16
1742, 4mulcomd 9606 . . . . . . . . . . . . . . . . . . 19
175174oveq2d 6291 . . . . . . . . . . . . . . . . . 18
1769, 11, 4, 2mul4d 9780 . . . . . . . . . . . . . . . . . 18
17711, 2mulcomd 9606 . . . . . . . . . . . . . . . . . . 19
178177oveq2d 6291 . . . . . . . . . . . . . . . . . 18
179175, 176, 1783eqtrd 2505 . . . . . . . . . . . . . . . . 17
180179oveq2d 6291 . . . . . . . . . . . . . . . 16
181172, 173, 1803eqtrd 2505 . . . . . . . . . . . . . . 15
182181, 181oveq12d 6293 . . . . . . . . . . . . . 14
183182oveq2d 6291 . . . . . . . . . . . . 13
184183oveq1d 6290 . . . . . . . . . . . 12
1855, 5mulcld 9605 . . . . . . . . . . . . . 14
18613, 13mulcld 9605 . . . . . . . . . . . . . 14
187185, 186addcld 9604 . . . . . . . . . . . . 13
1887, 160mulcld 9605 . . . . . . . . . . . . . 14
1897, 161mulcld 9605 . . . . . . . . . . . . . 14
190188, 189addcld 9604 . . . . . . . . . . . . 13
1917, 163mulcld 9605 . . . . . . . . . . . . . 14
192191, 191addcld 9604 . . . . . . . . . . . . 13
193187, 190, 192nnncan2d 9954 . . . . . . . . . . . 12
194185, 186, 188, 189addsub4d 9966 . . . . . . . . . . . . 13
1955sqvald 12262 . . . . . . . . . . . . . . 15
196111sqvald 12262 . . . . . . . . . . . . . . . 16
197196oveq2d 6291 . . . . . . . . . . . . . . 15
198195, 197oveq12d 6293 . . . . . . . . . . . . . 14
19913sqvald 12262 . . . . . . . . . . . . . . 15
200112sqvald 12262 . . . . . . . . . . . . . . . 16
201200oveq2d 6291 . . . . . . . . . . . . . . 15
202199, 201oveq12d 6293 . . . . . . . . . . . . . 14
203198, 202oveq12d 6293 . . . . . . . . . . . . 13
2042, 4sqmuld 12277 . . . . . . . . . . . . . . . 16
2059, 4sqmuld 12277 . . . . . . . . . . . . . . . . . 18
206205oveq2d 6291 . . . . . . . . . . . . . . . . 17
2079sqcld 12263 . . . . . . . . . . . . . . . . . 18
2087, 207, 36mulassd 9608 . . . . . . . . . . . . . . . . 17
209206, 208eqtr4d 2504 . . . . . . . . . . . . . . . 16
210204, 209oveq12d 6293 . . . . . . . . . . . . . . 15
2117sqvald 12262 . . . . . . . . . . . . . . . . . 18
2129, 11sqmuld 12277 . . . . . . . . . . . . . . . . . 18
213211, 212oveq12d 6293 . . . . . . . . . . . . . . . . 17
2147, 12sqmuld 12277 . . . . . . . . . . . . . . . . 17
2157, 7mulcld 9605 . . . . . . . . . . . . . . . . . 18
216215, 207, 37mulassd 9608 . . . . . . . . . . . . . . . . 17
217213, 214, 2163eqtr4d 2511 . . . . . . . . . . . . . . . 16
2182, 11sqmuld 12277 . . . . . . . . . . . . . . . . . 18
219218oveq2d 6291 . . . . . . . . . . . . . . . . 17
2202sqcld 12263 . . . . . . . . . . . . . . . . . 18
2217, 220, 37mulassd 9608 . . . . . . . . . . . . . . . . 17
222219, 221eqtr4d 2504 . . . . . . . . . . . . . . . 16
223217, 222oveq12d 6293 . . . . . . . . . . . . . . 15
224210, 223oveq12d 6293 . . . . . . . . . . . . . 14
2257, 207mulcld 9605 . . . . . . . . . . . . . . . . 17
226220, 225, 36subdird 10002 . . . . . . . . . . . . . . . 16
227 pellex.no1 . . . . . . . . . . . . . . . . 17
228227oveq1d 6290 . . . . . . . . . . . . . . . 16
229226, 228eqtr3d 2503 . . . . . . . . . . . . . . 15
2307, 7, 207mulassd 9608 . . . . . . . . . . . . . . . . . 18
231230oveq1d 6290 . . . . . . . . . . . . . . . . 17
232231oveq1d 6290 . . . . . . . . . . . . . . . 16
233215, 207mulcld 9605 . . . . . . . . . . . . . . . . 17
2347, 220mulcld 9605 . . . . . . . . . . . . . . . . 17
235233, 234, 37subdird 10002 . . . . . . . . . . . . . . . 16
236 subdi 9979 . . . . . . . . . . . . . . . . . . . 20
237236eqcomd 2468 . . . . . . . . . . . . . . . . . . 19
2387, 225, 220, 237syl3anc 1223 . . . . . . . . . . . . . . . . . 18
239 negsubdi2 9867 . . . . . . . . . . . . . . . . . . . . . 22
240239eqcomd 2468 . . . . . . . . . . . . . . . . . . . . 21
241220, 225, 240syl2anc 661 . . . . . . . . . . . . . . . . . . . 20
242227negeqd 9803 . . . . . . . . . . . . . . . . . . . 20
243241, 242eqtrd 2501 . . . . . . . . . . . . . . . . . . 19
244243oveq2d 6291 . . . . . . . . . . . . . . . . . 18
2457, 16mulneg2d 9999 . . . . . . . . . . . . . . . . . 18
246238, 244, 2453eqtrd 2505 . . . . . . . . . . . . . . . . 17
247246oveq1d 6290 . . . . . . . . . . . . . . . 16
248232, 235, 2473eqtr3d 2509 . . . . . . . . . . . . . . 15
249229, 248oveq12d 6293 . . . . . . . . . . . . . 14
2507, 16mulcld 9605 . . . . . . . . . . . . . . . . . 18
251250, 37mulneg1d 9998 . . . . . . . . . . . . . . . . 17
2527, 16mulcomd 9606 . . . . . . . . . . . . . . . . . . . 20
253252oveq1d 6290 . . . . . . . . . . . . . . . . . . 19
25416, 7, 37mulassd 9608 . . . . . . . . . . . . . . . . . . 19
255253, 254eqtrd 2501 . . . . . . . . . . . . . . . . . 18
256255negeqd 9803 . . . . . . . . . . . . . . . . 17
257251, 256eqtrd 2501 . . . . . . . . . . . . . . . 16
258257oveq2d 6291 . . . . . . . . . . . . . . 15
25916, 36mulcld 9605 . . . . . . . . . . . . . . . 16
26016, 38mulcld 9605 . . . . . . . . . . . . . . . 16
261259, 260negsubd 9925 . . . . . . . . . . . . . . 15
26263oveq2d 6291 . . . . . . . . . . . . . . . 16
263 subdi 9979 . . . . . . . . . . . . . . . . . 18
264263eqcomd 2468 . . . . . . . . . . . . . . . . 17
26516, 36, 38, 264syl3anc 1223 . . . . . . . . . . . . . . . 16
26616sqvald 12262 . . . . . . . . . . . . . . . 16
267262, 265, 2663eqtr4d 2511 . . . . . . . . . . . . . . 15
268258, 261, 2673eqtrd 2505 . . . . . . . . . . . . . 14
269224, 249, 2683eqtrd 2505 . . . . . . . . . . . . 13
270194, 203, 2693eqtr2d 2507 . . . . . . . . . . . 12
271184, 193, 2703eqtrd 2505 . . . . . . . . . . 11
272271oveq1d 6290 . . . . . . . . . 10
273143, 146dividd 10307 . . . . . . . . . 10
274171, 272, 2733eqtrd 2505 . . . . . . . . 9
275152, 156, 2743eqtr2d 2507 . . . . . . . 8
276275adantr 465 . . . . . . 7
277 simpr 461 . . . . . . . . . . . 12
278277oveq1d 6290 . . . . . . . . . . 11
279278fveq2d 5861 . . . . . . . . . 10
28016, 17div0d 10308 . . . . . . . . . . . 12
281280abs00bd 13074 . . . . . . . . . . 11
282281adantr 465 . . . . . . . . . 10
283279, 282eqtrd 2501 . . . . . . . . 9
284283sq0id 12216 . . . . . . . 8
285284oveq1d 6290 . . . . . . 7
286276, 285eqtr3d 2503 . . . . . 6
287126, 286mtand 659 . . . . 5
288287neqned 2663 . . . 4
28914, 16, 288, 17divne0d 10325 . . 3
290 nnabscl 13107 . . 3
291106, 289, 290syl2anc 661 . 2
292113, 16, 17absdivd 13235 . . . . 5
293 negsub 9856 . . . . . . . . . . . 12
294293eqcomd 2468 . . . . . . . . . . 11
295111, 112, 294syl2anc 661 . . . . . . . . . 10
296295oveq1d 6290 . . . . . . . . 9
297134renegcld 9975 . . . . . . . . . 10
29811, 4mulcomd 9606 . . . . . . . . . . . 12
299298oveq1d 6290 . . . . . . . . . . 11
300 modmul1 11996 . . . . . . . . . . . 12
30126, 27, 32, 31, 80, 300syl221anc 1234 . . . . . . . . . . 11
302 modmul1 11996 . . . . . . . . . . . 12
30322, 23, 78, 31, 33, 302syl221anc 1234 . . . . . . . . . . 11
304299, 301, 3033eqtr4d 2511 . . . . . . . . . 10
305 modadd1 11989 . . . . . . . . . 10
306133, 134, 297, 31, 304, 305syl221anc 1234 . . . . . . . . 9
307112negidd 9909 . . . . . . . . . 10
308307oveq1d 6290 . . . . . . . . 9
309296, 306, 3083eqtrd 2505 . . . . . . . 8
310309, 66eqtrd 2501 . . . . . . 7
311 absmod0 13086 . . . . . . . 8
312135, 31, 311syl2anc 661 . . . . . . 7
313310, 312mpbid 210 . . . . . 6
314113abscld 13216 . . . . . . 7
315 mod0 11959 . . . . . . 7
316314, 31, 315syl2anc 661 . . . . . 6
317313, 316mpbid 210 . . . . 5
318292, 317eqeltrd 2548 . . . 4
319 absz 13094 . . . . 5
320136, 319syl 16 . . . 4
321318, 320mpbird 232 . . 3
322 pellex.neq . . . . . . 7
32310nnne0d 10569 . . . . . . . . 9
3243nnne0d 10569 . . . . . . . . 9
3259, 11, 2, 4, 323, 324divmuleqd 10355 . . . . . . . 8
32663adantr 465 . . . . . . . . . . . . . . 15
327326eqcomd 2468 . . . . . . . . . . . . . 14
328327oveq2d 6291 . . . . . . . . . . . . 13
3299, 11, 323divcld 10309 . . . . . . . . . . . . . . . 16
330329sqcld 12263 . . . . . . . . . . . . . . 15
331330adantr 465 . . . . . . . . . . . . . 14
33236adantr 465 . . . . . . . . . . . . . 14
33338adantr 465 . . . . . . . . . . . . . 14
334331, 332, 333subdid 10001 . . . . . . . . . . . . 13
335 oveq1 6282 . . . . . . . . . . . . . . . . 17
336335oveq1d 6290 . . . . . . . . . . . . . . . 16
337336adantl 466 . . . . . . . . . . . . . . 15
3382adantr 465 . . . . . . . . . . . . . . . . 17
3394adantr 465 . . . . . . . . . . . . . . . . 17
340324adantr 465 . . . . . . . . . . . . . . . . 17
341338, 339, 340sqdivd 12278 . . . . . . . . . . . . . . . 16
342341oveq1d 6290 . . . . . . . . . . . . . . 15
343220adantr 465 . . . . . . . . . . . . . . . 16
344 sqne0 12189 . . . . . . . . . . . . . . . . . . 19
3454, 344syl 16 . . . . . . . . . . . . . . . . . 18
346324, 345mpbird 232 . . . . . . . . . . . . . . . . 17
347346adantr 465 . . . . . . . . . . . . . . . 16
348343, 332, 347divcan1d 10310 . . . . . . . . . . . . . . 15
349337, 342, 3483eqtrd 2505 . . . . . . . . . . . . . 14
3507adantr 465 . . . . . . . . . . . . . . . 16
35137adantr 465 . . . . . . . . . . . . . . . 16
352331, 350, 351mul12d 9777 . . . . . . . . . . . . . . 15
3539adantr 465 . . . . . . . . . . . . . . . . . 18
35411adantr 465 . . . . . . . . . . . . . . . . . 18
355323adantr 465 . . . . . . . . . . . . . . . . . 18
356353, 354, 355sqdivd 12278 . . . . . . . . . . . . . . . . 17
357356oveq1d 6290 . . . . . . . . . . . . . . . 16
358357oveq2d 6291 . . . . . . . . . . . . . . 15
359207adantr 465 . . . . . . . . . . . . . . . . 17
360 sqne0 12189 . . . . . . . . . . . . . . . . . . . 20
36111, 360syl 16 . . . . . . . . . . . . . . . . . . 19
362323, 361mpbird 232 . . . . . . . . . . . . . . . . . 18
363362adantr 465 . . . . . . . . . . . . . . . . 17
364359, 351, 363divcan1d 10310 . . . . . . . . . . . . . . . 16