MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  4sqlem10 Structured version   Unicode version

Theorem 4sqlem10 13991
Description: Lemma for 4sq 14008. (Contributed by Mario Carneiro, 16-Jul-2014.)
Hypotheses
Ref Expression
4sqlem5.2  |-  ( ph  ->  A  e.  ZZ )
4sqlem5.3  |-  ( ph  ->  M  e.  NN )
4sqlem5.4  |-  B  =  ( ( ( A  +  ( M  / 
2 ) )  mod 
M )  -  ( M  /  2 ) )
4sqlem10.5  |-  ( (
ph  /\  ps )  ->  ( ( ( ( M ^ 2 )  /  2 )  / 
2 )  -  ( B ^ 2 ) )  =  0 )
Assertion
Ref Expression
4sqlem10  |-  ( (
ph  /\  ps )  ->  ( M ^ 2 )  ||  ( ( A ^ 2 )  -  ( ( ( M ^ 2 )  /  2 )  / 
2 ) ) )

Proof of Theorem 4sqlem10
StepHypRef Expression
1 4sqlem5.2 . . . . . . . . . . 11  |-  ( ph  ->  A  e.  ZZ )
21adantr 462 . . . . . . . . . 10  |-  ( (
ph  /\  ps )  ->  A  e.  ZZ )
3 4sqlem5.3 . . . . . . . . . . . . . . . 16  |-  ( ph  ->  M  e.  NN )
43adantr 462 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ps )  ->  M  e.  NN )
54nnred 10325 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ps )  ->  M  e.  RR )
65rehalfcld 10559 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ps )  ->  ( M  /  2
)  e.  RR )
76recnd 9400 . . . . . . . . . . . 12  |-  ( (
ph  /\  ps )  ->  ( M  /  2
)  e.  CC )
87negnegd 9698 . . . . . . . . . . 11  |-  ( (
ph  /\  ps )  -> 
-u -u ( M  / 
2 )  =  ( M  /  2 ) )
9 4sqlem5.4 . . . . . . . . . . . . . . . . . . . 20  |-  B  =  ( ( ( A  +  ( M  / 
2 ) )  mod 
M )  -  ( M  /  2 ) )
101, 3, 94sqlem5 13986 . . . . . . . . . . . . . . . . . . 19  |-  ( ph  ->  ( B  e.  ZZ  /\  ( ( A  -  B )  /  M
)  e.  ZZ ) )
1110adantr 462 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ps )  ->  ( B  e.  ZZ  /\  ( ( A  -  B )  /  M
)  e.  ZZ ) )
1211simpld 456 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ps )  ->  B  e.  ZZ )
1312zred 10735 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ps )  ->  B  e.  RR )
141, 3, 94sqlem6 13987 . . . . . . . . . . . . . . . . . 18  |-  ( ph  ->  ( -u ( M  /  2 )  <_  B  /\  B  <  ( M  /  2 ) ) )
1514adantr 462 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ps )  ->  ( -u ( M  /  2 )  <_  B  /\  B  <  ( M  /  2 ) ) )
1615simprd 460 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ps )  ->  B  <  ( M  /  2 ) )
1713, 16ltned 9498 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ps )  ->  B  =/=  ( M  /  2 ) )
1817neneqd 2614 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ps )  ->  -.  B  =  ( M  /  2 ) )
19 2cnd 10382 . . . . . . . . . . . . . . . . . . . 20  |-  ( (
ph  /\  ps )  ->  2  e.  CC )
2019sqvald 11989 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ps )  ->  ( 2 ^ 2 )  =  ( 2  x.  2 ) )
2120oveq2d 6096 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ps )  ->  ( ( M ^
2 )  /  (
2 ^ 2 ) )  =  ( ( M ^ 2 )  /  ( 2  x.  2 ) ) )
224nncnd 10326 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ps )  ->  M  e.  CC )
23 2ne0 10402 . . . . . . . . . . . . . . . . . . . 20  |-  2  =/=  0
2423a1i 11 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ps )  ->  2  =/=  0 )
2522, 19, 24sqdivd 12005 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ps )  ->  ( ( M  / 
2 ) ^ 2 )  =  ( ( M ^ 2 )  /  ( 2 ^ 2 ) ) )
2622sqcld 11990 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ps )  ->  ( M ^ 2 )  e.  CC )
2726, 19, 19, 24, 24divdiv1d 10126 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ps )  ->  ( ( ( M ^ 2 )  / 
2 )  /  2
)  =  ( ( M ^ 2 )  /  ( 2  x.  2 ) ) )
2821, 25, 273eqtr4d 2475 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ps )  ->  ( ( M  / 
2 ) ^ 2 )  =  ( ( ( M ^ 2 )  /  2 )  /  2 ) )
2926halfcld 10557 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ps )  ->  ( ( M ^
2 )  /  2
)  e.  CC )
3029halfcld 10557 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ps )  ->  ( ( ( M ^ 2 )  / 
2 )  /  2
)  e.  CC )
3112zcnd 10736 . . . . . . . . . . . . . . . . . . 19  |-  ( (
ph  /\  ps )  ->  B  e.  CC )
3231sqcld 11990 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ps )  ->  ( B ^ 2 )  e.  CC )
33 4sqlem10.5 . . . . . . . . . . . . . . . . . 18  |-  ( (
ph  /\  ps )  ->  ( ( ( ( M ^ 2 )  /  2 )  / 
2 )  -  ( B ^ 2 ) )  =  0 )
3430, 32, 33subeq0d 9715 . . . . . . . . . . . . . . . . 17  |-  ( (
ph  /\  ps )  ->  ( ( ( M ^ 2 )  / 
2 )  /  2
)  =  ( B ^ 2 ) )
3528, 34eqtr2d 2466 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ps )  ->  ( B ^ 2 )  =  ( ( M  /  2 ) ^ 2 ) )
36 sqeqor 11964 . . . . . . . . . . . . . . . . 17  |-  ( ( B  e.  CC  /\  ( M  /  2
)  e.  CC )  ->  ( ( B ^ 2 )  =  ( ( M  / 
2 ) ^ 2 )  <->  ( B  =  ( M  /  2
)  \/  B  = 
-u ( M  / 
2 ) ) ) )
3731, 7, 36syl2anc 654 . . . . . . . . . . . . . . . 16  |-  ( (
ph  /\  ps )  ->  ( ( B ^
2 )  =  ( ( M  /  2
) ^ 2 )  <-> 
( B  =  ( M  /  2 )  \/  B  =  -u ( M  /  2
) ) ) )
3835, 37mpbid 210 . . . . . . . . . . . . . . 15  |-  ( (
ph  /\  ps )  ->  ( B  =  ( M  /  2 )  \/  B  =  -u ( M  /  2
) ) )
3938ord 377 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  ps )  ->  ( -.  B  =  ( M  /  2
)  ->  B  =  -u ( M  /  2
) ) )
4018, 39mpd 15 . . . . . . . . . . . . 13  |-  ( (
ph  /\  ps )  ->  B  =  -u ( M  /  2 ) )
4140, 12eqeltrrd 2508 . . . . . . . . . . . 12  |-  ( (
ph  /\  ps )  -> 
-u ( M  / 
2 )  e.  ZZ )
4241znegcld 10737 . . . . . . . . . . 11  |-  ( (
ph  /\  ps )  -> 
-u -u ( M  / 
2 )  e.  ZZ )
438, 42eqeltrrd 2508 . . . . . . . . . 10  |-  ( (
ph  /\  ps )  ->  ( M  /  2
)  e.  ZZ )
442, 43zaddcld 10739 . . . . . . . . 9  |-  ( (
ph  /\  ps )  ->  ( A  +  ( M  /  2 ) )  e.  ZZ )
4544zred 10735 . . . . . . . 8  |-  ( (
ph  /\  ps )  ->  ( A  +  ( M  /  2 ) )  e.  RR )
464nnrpd 11014 . . . . . . . 8  |-  ( (
ph  /\  ps )  ->  M  e.  RR+ )
4745, 46modcld 11698 . . . . . . 7  |-  ( (
ph  /\  ps )  ->  ( ( A  +  ( M  /  2
) )  mod  M
)  e.  RR )
4847recnd 9400 . . . . . 6  |-  ( (
ph  /\  ps )  ->  ( ( A  +  ( M  /  2
) )  mod  M
)  e.  CC )
49 0cnd 9367 . . . . . 6  |-  ( (
ph  /\  ps )  ->  0  e.  CC )
50 df-neg 9586 . . . . . . 7  |-  -u ( M  /  2 )  =  ( 0  -  ( M  /  2 ) )
5140, 9, 503eqtr3g 2488 . . . . . 6  |-  ( (
ph  /\  ps )  ->  ( ( ( A  +  ( M  / 
2 ) )  mod 
M )  -  ( M  /  2 ) )  =  ( 0  -  ( M  /  2
) ) )
5248, 49, 7, 51subcan2d 9749 . . . . 5  |-  ( (
ph  /\  ps )  ->  ( ( A  +  ( M  /  2
) )  mod  M
)  =  0 )
53 dvdsval3 13522 . . . . . 6  |-  ( ( M  e.  NN  /\  ( A  +  ( M  /  2 ) )  e.  ZZ )  -> 
( M  ||  ( A  +  ( M  /  2 ) )  <-> 
( ( A  +  ( M  /  2
) )  mod  M
)  =  0 ) )
544, 44, 53syl2anc 654 . . . . 5  |-  ( (
ph  /\  ps )  ->  ( M  ||  ( A  +  ( M  /  2 ) )  <-> 
( ( A  +  ( M  /  2
) )  mod  M
)  =  0 ) )
5552, 54mpbird 232 . . . 4  |-  ( (
ph  /\  ps )  ->  M  ||  ( A  +  ( M  / 
2 ) ) )
564nnzd 10734 . . . . 5  |-  ( (
ph  /\  ps )  ->  M  e.  ZZ )
57 dvdssq 13727 . . . . 5  |-  ( ( M  e.  ZZ  /\  ( A  +  ( M  /  2 ) )  e.  ZZ )  -> 
( M  ||  ( A  +  ( M  /  2 ) )  <-> 
( M ^ 2 )  ||  ( ( A  +  ( M  /  2 ) ) ^ 2 ) ) )
5856, 44, 57syl2anc 654 . . . 4  |-  ( (
ph  /\  ps )  ->  ( M  ||  ( A  +  ( M  /  2 ) )  <-> 
( M ^ 2 )  ||  ( ( A  +  ( M  /  2 ) ) ^ 2 ) ) )
5955, 58mpbid 210 . . 3  |-  ( (
ph  /\  ps )  ->  ( M ^ 2 )  ||  ( ( A  +  ( M  /  2 ) ) ^ 2 ) )
6022sqvald 11989 . . . 4  |-  ( (
ph  /\  ps )  ->  ( M ^ 2 )  =  ( M  x.  M ) )
614nnne0d 10354 . . . . . 6  |-  ( (
ph  /\  ps )  ->  M  =/=  0 )
62 dvdsmulcr 13545 . . . . . 6  |-  ( ( M  e.  ZZ  /\  ( A  +  ( M  /  2 ) )  e.  ZZ  /\  ( M  e.  ZZ  /\  M  =/=  0 ) )  -> 
( ( M  x.  M )  ||  (
( A  +  ( M  /  2 ) )  x.  M )  <-> 
M  ||  ( A  +  ( M  / 
2 ) ) ) )
6356, 44, 56, 61, 62syl112anc 1215 . . . . 5  |-  ( (
ph  /\  ps )  ->  ( ( M  x.  M )  ||  (
( A  +  ( M  /  2 ) )  x.  M )  <-> 
M  ||  ( A  +  ( M  / 
2 ) ) ) )
6455, 63mpbird 232 . . . 4  |-  ( (
ph  /\  ps )  ->  ( M  x.  M
)  ||  ( ( A  +  ( M  /  2 ) )  x.  M ) )
6560, 64eqbrtrd 4300 . . 3  |-  ( (
ph  /\  ps )  ->  ( M ^ 2 )  ||  ( ( A  +  ( M  /  2 ) )  x.  M ) )
66 zsqcl 11920 . . . . 5  |-  ( M  e.  ZZ  ->  ( M ^ 2 )  e.  ZZ )
6756, 66syl 16 . . . 4  |-  ( (
ph  /\  ps )  ->  ( M ^ 2 )  e.  ZZ )
68 zsqcl 11920 . . . . 5  |-  ( ( A  +  ( M  /  2 ) )  e.  ZZ  ->  (
( A  +  ( M  /  2 ) ) ^ 2 )  e.  ZZ )
6944, 68syl 16 . . . 4  |-  ( (
ph  /\  ps )  ->  ( ( A  +  ( M  /  2
) ) ^ 2 )  e.  ZZ )
7044, 56zmulcld 10741 . . . 4  |-  ( (
ph  /\  ps )  ->  ( ( A  +  ( M  /  2
) )  x.  M
)  e.  ZZ )
71 dvds2sub 13548 . . . 4  |-  ( ( ( M ^ 2 )  e.  ZZ  /\  ( ( A  +  ( M  /  2
) ) ^ 2 )  e.  ZZ  /\  ( ( A  +  ( M  /  2
) )  x.  M
)  e.  ZZ )  ->  ( ( ( M ^ 2 ) 
||  ( ( A  +  ( M  / 
2 ) ) ^
2 )  /\  ( M ^ 2 )  ||  ( ( A  +  ( M  /  2
) )  x.  M
) )  ->  ( M ^ 2 )  ||  ( ( ( A  +  ( M  / 
2 ) ) ^
2 )  -  (
( A  +  ( M  /  2 ) )  x.  M ) ) ) )
7267, 69, 70, 71syl3anc 1211 . . 3  |-  ( (
ph  /\  ps )  ->  ( ( ( M ^ 2 )  ||  ( ( A  +  ( M  /  2
) ) ^ 2 )  /\  ( M ^ 2 )  ||  ( ( A  +  ( M  /  2
) )  x.  M
) )  ->  ( M ^ 2 )  ||  ( ( ( A  +  ( M  / 
2 ) ) ^
2 )  -  (
( A  +  ( M  /  2 ) )  x.  M ) ) ) )
7359, 65, 72mp2and 672 . 2  |-  ( (
ph  /\  ps )  ->  ( M ^ 2 )  ||  ( ( ( A  +  ( M  /  2 ) ) ^ 2 )  -  ( ( A  +  ( M  / 
2 ) )  x.  M ) ) )
7444zcnd 10736 . . . . 5  |-  ( (
ph  /\  ps )  ->  ( A  +  ( M  /  2 ) )  e.  CC )
7574sqvald 11989 . . . 4  |-  ( (
ph  /\  ps )  ->  ( ( A  +  ( M  /  2
) ) ^ 2 )  =  ( ( A  +  ( M  /  2 ) )  x.  ( A  +  ( M  /  2
) ) ) )
7675oveq1d 6095 . . 3  |-  ( (
ph  /\  ps )  ->  ( ( ( A  +  ( M  / 
2 ) ) ^
2 )  -  (
( A  +  ( M  /  2 ) )  x.  M ) )  =  ( ( ( A  +  ( M  /  2 ) )  x.  ( A  +  ( M  / 
2 ) ) )  -  ( ( A  +  ( M  / 
2 ) )  x.  M ) ) )
7774, 74, 22subdid 9788 . . 3  |-  ( (
ph  /\  ps )  ->  ( ( A  +  ( M  /  2
) )  x.  (
( A  +  ( M  /  2 ) )  -  M ) )  =  ( ( ( A  +  ( M  /  2 ) )  x.  ( A  +  ( M  / 
2 ) ) )  -  ( ( A  +  ( M  / 
2 ) )  x.  M ) ) )
78222halvesd 10558 . . . . . . 7  |-  ( (
ph  /\  ps )  ->  ( ( M  / 
2 )  +  ( M  /  2 ) )  =  M )
7978oveq2d 6096 . . . . . 6  |-  ( (
ph  /\  ps )  ->  ( ( A  +  ( M  /  2
) )  -  (
( M  /  2
)  +  ( M  /  2 ) ) )  =  ( ( A  +  ( M  /  2 ) )  -  M ) )
802zcnd 10736 . . . . . . 7  |-  ( (
ph  /\  ps )  ->  A  e.  CC )
8180, 7, 7pnpcan2d 9745 . . . . . 6  |-  ( (
ph  /\  ps )  ->  ( ( A  +  ( M  /  2
) )  -  (
( M  /  2
)  +  ( M  /  2 ) ) )  =  ( A  -  ( M  / 
2 ) ) )
8279, 81eqtr3d 2467 . . . . 5  |-  ( (
ph  /\  ps )  ->  ( ( A  +  ( M  /  2
) )  -  M
)  =  ( A  -  ( M  / 
2 ) ) )
8382oveq2d 6096 . . . 4  |-  ( (
ph  /\  ps )  ->  ( ( A  +  ( M  /  2
) )  x.  (
( A  +  ( M  /  2 ) )  -  M ) )  =  ( ( A  +  ( M  /  2 ) )  x.  ( A  -  ( M  /  2
) ) ) )
84 subsq 11957 . . . . 5  |-  ( ( A  e.  CC  /\  ( M  /  2
)  e.  CC )  ->  ( ( A ^ 2 )  -  ( ( M  / 
2 ) ^ 2 ) )  =  ( ( A  +  ( M  /  2 ) )  x.  ( A  -  ( M  / 
2 ) ) ) )
8580, 7, 84syl2anc 654 . . . 4  |-  ( (
ph  /\  ps )  ->  ( ( A ^
2 )  -  (
( M  /  2
) ^ 2 ) )  =  ( ( A  +  ( M  /  2 ) )  x.  ( A  -  ( M  /  2
) ) ) )
8628oveq2d 6096 . . . 4  |-  ( (
ph  /\  ps )  ->  ( ( A ^
2 )  -  (
( M  /  2
) ^ 2 ) )  =  ( ( A ^ 2 )  -  ( ( ( M ^ 2 )  /  2 )  / 
2 ) ) )
8783, 85, 863eqtr2d 2471 . . 3  |-  ( (
ph  /\  ps )  ->  ( ( A  +  ( M  /  2
) )  x.  (
( A  +  ( M  /  2 ) )  -  M ) )  =  ( ( A ^ 2 )  -  ( ( ( M ^ 2 )  /  2 )  / 
2 ) ) )
8876, 77, 873eqtr2d 2471 . 2  |-  ( (
ph  /\  ps )  ->  ( ( ( A  +  ( M  / 
2 ) ) ^
2 )  -  (
( A  +  ( M  /  2 ) )  x.  M ) )  =  ( ( A ^ 2 )  -  ( ( ( M ^ 2 )  /  2 )  / 
2 ) ) )
8973, 88breqtrd 4304 1  |-  ( (
ph  /\  ps )  ->  ( M ^ 2 )  ||  ( ( A ^ 2 )  -  ( ( ( M ^ 2 )  /  2 )  / 
2 ) ) )
Colors of variables: wff setvar class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 184    \/ wo 368    /\ wa 369    = wceq 1362    e. wcel 1755    =/= wne 2596   class class class wbr 4280  (class class class)co 6080   CCcc 9268   0cc0 9270    + caddc 9273    x. cmul 9275    < clt 9406    <_ cle 9407    - cmin 9583   -ucneg 9584    / cdiv 9981   NNcn 10310   2c2 10359   ZZcz 10634    mod cmo 11692   ^cexp 11849    || cdivides 13518
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1594  ax-4 1605  ax-5 1669  ax-6 1707  ax-7 1727  ax-8 1757  ax-9 1759  ax-10 1774  ax-11 1779  ax-12 1791  ax-13 1942  ax-ext 2414  ax-sep 4401  ax-nul 4409  ax-pow 4458  ax-pr 4519  ax-un 6361  ax-cnex 9326  ax-resscn 9327  ax-1cn 9328  ax-icn 9329  ax-addcl 9330  ax-addrcl 9331  ax-mulcl 9332  ax-mulrcl 9333  ax-mulcom 9334  ax-addass 9335  ax-mulass 9336  ax-distr 9337  ax-i2m1 9338  ax-1ne0 9339  ax-1rid 9340  ax-rnegex 9341  ax-rrecex 9342  ax-cnre 9343  ax-pre-lttri 9344  ax-pre-lttrn 9345  ax-pre-ltadd 9346  ax-pre-mulgt0 9347  ax-pre-sup 9348
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 959  df-3an 960  df-tru 1365  df-ex 1590  df-nf 1593  df-sb 1700  df-eu 2258  df-mo 2259  df-clab 2420  df-cleq 2426  df-clel 2429  df-nfc 2558  df-ne 2598  df-nel 2599  df-ral 2710  df-rex 2711  df-reu 2712  df-rmo 2713  df-rab 2714  df-v 2964  df-sbc 3176  df-csb 3277  df-dif 3319  df-un 3321  df-in 3323  df-ss 3330  df-pss 3332  df-nul 3626  df-if 3780  df-pw 3850  df-sn 3866  df-pr 3868  df-tp 3870  df-op 3872  df-uni 4080  df-iun 4161  df-br 4281  df-opab 4339  df-mpt 4340  df-tr 4374  df-eprel 4619  df-id 4623  df-po 4628  df-so 4629  df-fr 4666  df-we 4668  df-ord 4709  df-on 4710  df-lim 4711  df-suc 4712  df-xp 4833  df-rel 4834  df-cnv 4835  df-co 4836  df-dm 4837  df-rn 4838  df-res 4839  df-ima 4840  df-iota 5369  df-fun 5408  df-fn 5409  df-f 5410  df-f1 5411  df-fo 5412  df-f1o 5413  df-fv 5414  df-riota 6039  df-ov 6083  df-oprab 6084  df-mpt2 6085  df-om 6466  df-2nd 6567  df-recs 6818  df-rdg 6852  df-er 7089  df-en 7299  df-dom 7300  df-sdom 7301  df-sup 7679  df-pnf 9408  df-mnf 9409  df-xr 9410  df-ltxr 9411  df-le 9412  df-sub 9585  df-neg 9586  df-div 9982  df-nn 10311  df-2 10368  df-3 10369  df-n0 10568  df-z 10635  df-uz 10850  df-rp 10980  df-fl 11626  df-mod 11693  df-seq 11791  df-exp 11850  df-cj 12572  df-re 12573  df-im 12574  df-sqr 12708  df-abs 12709  df-dvds 13519  df-gcd 13674
This theorem is referenced by:  4sqlem16  14004
  Copyright terms: Public domain W3C validator