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

Theorem modaddmodup 12024
Description: The sum of an integer modulo a positive integer and another integer minus the positive integer equals the sum of the two integers modulo the positive integer if the other integer is in the upper part of the range between 0 and the positive integer. (Contributed by AV, 30-Oct-2018.)
Assertion
Ref Expression
modaddmodup  |-  ( ( A  e.  ZZ  /\  M  e.  NN )  ->  ( B  e.  ( ( M  -  ( A  mod  M ) )..^ M )  ->  (
( B  +  ( A  mod  M ) )  -  M )  =  ( ( B  +  A )  mod 
M ) ) )

Proof of Theorem modaddmodup
StepHypRef Expression
1 elfzoelz 11803 . . . . . . . 8  |-  ( B  e.  ( ( M  -  ( A  mod  M ) )..^ M )  ->  B  e.  ZZ )
21zred 10969 . . . . . . 7  |-  ( B  e.  ( ( M  -  ( A  mod  M ) )..^ M )  ->  B  e.  RR )
32adantr 465 . . . . . 6  |-  ( ( B  e.  ( ( M  -  ( A  mod  M ) )..^ M )  /\  ( A  e.  ZZ  /\  M  e.  NN ) )  ->  B  e.  RR )
4 zmodcl 11989 . . . . . . . 8  |-  ( ( A  e.  ZZ  /\  M  e.  NN )  ->  ( A  mod  M
)  e.  NN0 )
54nn0red 10854 . . . . . . 7  |-  ( ( A  e.  ZZ  /\  M  e.  NN )  ->  ( A  mod  M
)  e.  RR )
65adantl 466 . . . . . 6  |-  ( ( B  e.  ( ( M  -  ( A  mod  M ) )..^ M )  /\  ( A  e.  ZZ  /\  M  e.  NN ) )  -> 
( A  mod  M
)  e.  RR )
73, 6readdcld 9621 . . . . 5  |-  ( ( B  e.  ( ( M  -  ( A  mod  M ) )..^ M )  /\  ( A  e.  ZZ  /\  M  e.  NN ) )  -> 
( B  +  ( A  mod  M ) )  e.  RR )
87ancoms 453 . . . 4  |-  ( ( ( A  e.  ZZ  /\  M  e.  NN )  /\  B  e.  ( ( M  -  ( A  mod  M ) )..^ M ) )  -> 
( B  +  ( A  mod  M ) )  e.  RR )
9 nnrp 11233 . . . . 5  |-  ( M  e.  NN  ->  M  e.  RR+ )
109ad2antlr 726 . . . 4  |-  ( ( ( A  e.  ZZ  /\  M  e.  NN )  /\  B  e.  ( ( M  -  ( A  mod  M ) )..^ M ) )  ->  M  e.  RR+ )
11 elfzo2 11806 . . . . . 6  |-  ( B  e.  ( ( M  -  ( A  mod  M ) )..^ M )  <-> 
( B  e.  (
ZZ>= `  ( M  -  ( A  mod  M ) ) )  /\  M  e.  ZZ  /\  B  < 
M ) )
12 eluz2 11091 . . . . . . . 8  |-  ( B  e.  ( ZZ>= `  ( M  -  ( A  mod  M ) ) )  <-> 
( ( M  -  ( A  mod  M ) )  e.  ZZ  /\  B  e.  ZZ  /\  ( M  -  ( A  mod  M ) )  <_  B ) )
13 nnre 10544 . . . . . . . . . . . . . 14  |-  ( M  e.  NN  ->  M  e.  RR )
1413adantl 466 . . . . . . . . . . . . 13  |-  ( ( A  e.  ZZ  /\  M  e.  NN )  ->  M  e.  RR )
1514adantl 466 . . . . . . . . . . . 12  |-  ( ( B  e.  ZZ  /\  ( A  e.  ZZ  /\  M  e.  NN ) )  ->  M  e.  RR )
165adantl 466 . . . . . . . . . . . 12  |-  ( ( B  e.  ZZ  /\  ( A  e.  ZZ  /\  M  e.  NN ) )  ->  ( A  mod  M )  e.  RR )
17 zre 10869 . . . . . . . . . . . . 13  |-  ( B  e.  ZZ  ->  B  e.  RR )
1817adantr 465 . . . . . . . . . . . 12  |-  ( ( B  e.  ZZ  /\  ( A  e.  ZZ  /\  M  e.  NN ) )  ->  B  e.  RR )
1915, 16, 18lesubaddd 10150 . . . . . . . . . . 11  |-  ( ( B  e.  ZZ  /\  ( A  e.  ZZ  /\  M  e.  NN ) )  ->  ( ( M  -  ( A  mod  M ) )  <_  B 
<->  M  <_  ( B  +  ( A  mod  M ) ) ) )
2019biimpd 207 . . . . . . . . . 10  |-  ( ( B  e.  ZZ  /\  ( A  e.  ZZ  /\  M  e.  NN ) )  ->  ( ( M  -  ( A  mod  M ) )  <_  B  ->  M  <_  ( B  +  ( A  mod  M ) ) ) )
2120impancom 440 . . . . . . . . 9  |-  ( ( B  e.  ZZ  /\  ( M  -  ( A  mod  M ) )  <_  B )  -> 
( ( A  e.  ZZ  /\  M  e.  NN )  ->  M  <_  ( B  +  ( A  mod  M ) ) ) )
22213adant1 1013 . . . . . . . 8  |-  ( ( ( M  -  ( A  mod  M ) )  e.  ZZ  /\  B  e.  ZZ  /\  ( M  -  ( A  mod  M ) )  <_  B
)  ->  ( ( A  e.  ZZ  /\  M  e.  NN )  ->  M  <_  ( B  +  ( A  mod  M ) ) ) )
2312, 22sylbi 195 . . . . . . 7  |-  ( B  e.  ( ZZ>= `  ( M  -  ( A  mod  M ) ) )  ->  ( ( A  e.  ZZ  /\  M  e.  NN )  ->  M  <_  ( B  +  ( A  mod  M ) ) ) )
24233ad2ant1 1016 . . . . . 6  |-  ( ( B  e.  ( ZZ>= `  ( M  -  ( A  mod  M ) ) )  /\  M  e.  ZZ  /\  B  < 
M )  ->  (
( A  e.  ZZ  /\  M  e.  NN )  ->  M  <_  ( B  +  ( A  mod  M ) ) ) )
2511, 24sylbi 195 . . . . 5  |-  ( B  e.  ( ( M  -  ( A  mod  M ) )..^ M )  ->  ( ( A  e.  ZZ  /\  M  e.  NN )  ->  M  <_  ( B  +  ( A  mod  M ) ) ) )
2625impcom 430 . . . 4  |-  ( ( ( A  e.  ZZ  /\  M  e.  NN )  /\  B  e.  ( ( M  -  ( A  mod  M ) )..^ M ) )  ->  M  <_  ( B  +  ( A  mod  M ) ) )
27 eluzelz 11094 . . . . . . . . 9  |-  ( B  e.  ( ZZ>= `  ( M  -  ( A  mod  M ) ) )  ->  B  e.  ZZ )
2817, 5anim12i 566 . . . . . . . . . . . . . . 15  |-  ( ( B  e.  ZZ  /\  ( A  e.  ZZ  /\  M  e.  NN ) )  ->  ( B  e.  RR  /\  ( A  mod  M )  e.  RR ) )
2913, 13jca 532 . . . . . . . . . . . . . . . . 17  |-  ( M  e.  NN  ->  ( M  e.  RR  /\  M  e.  RR ) )
3029adantl 466 . . . . . . . . . . . . . . . 16  |-  ( ( A  e.  ZZ  /\  M  e.  NN )  ->  ( M  e.  RR  /\  M  e.  RR ) )
3130adantl 466 . . . . . . . . . . . . . . 15  |-  ( ( B  e.  ZZ  /\  ( A  e.  ZZ  /\  M  e.  NN ) )  ->  ( M  e.  RR  /\  M  e.  RR ) )
3228, 31jca 532 . . . . . . . . . . . . . 14  |-  ( ( B  e.  ZZ  /\  ( A  e.  ZZ  /\  M  e.  NN ) )  ->  ( ( B  e.  RR  /\  ( A  mod  M )  e.  RR )  /\  ( M  e.  RR  /\  M  e.  RR ) ) )
3332adantr 465 . . . . . . . . . . . . 13  |-  ( ( ( B  e.  ZZ  /\  ( A  e.  ZZ  /\  M  e.  NN ) )  /\  B  < 
M )  ->  (
( B  e.  RR  /\  ( A  mod  M
)  e.  RR )  /\  ( M  e.  RR  /\  M  e.  RR ) ) )
34 simpr 461 . . . . . . . . . . . . . 14  |-  ( ( ( B  e.  ZZ  /\  ( A  e.  ZZ  /\  M  e.  NN ) )  /\  B  < 
M )  ->  B  <  M )
35 zre 10869 . . . . . . . . . . . . . . . . 17  |-  ( A  e.  ZZ  ->  A  e.  RR )
36 modlt 11980 . . . . . . . . . . . . . . . . 17  |-  ( ( A  e.  RR  /\  M  e.  RR+ )  -> 
( A  mod  M
)  <  M )
3735, 9, 36syl2an 477 . . . . . . . . . . . . . . . 16  |-  ( ( A  e.  ZZ  /\  M  e.  NN )  ->  ( A  mod  M
)  <  M )
385, 14, 37ltled 9731 . . . . . . . . . . . . . . 15  |-  ( ( A  e.  ZZ  /\  M  e.  NN )  ->  ( A  mod  M
)  <_  M )
3938ad2antlr 726 . . . . . . . . . . . . . 14  |-  ( ( ( B  e.  ZZ  /\  ( A  e.  ZZ  /\  M  e.  NN ) )  /\  B  < 
M )  ->  ( A  mod  M )  <_  M )
4034, 39jca 532 . . . . . . . . . . . . 13  |-  ( ( ( B  e.  ZZ  /\  ( A  e.  ZZ  /\  M  e.  NN ) )  /\  B  < 
M )  ->  ( B  <  M  /\  ( A  mod  M )  <_  M ) )
41 ltleadd 10036 . . . . . . . . . . . . 13  |-  ( ( ( B  e.  RR  /\  ( A  mod  M
)  e.  RR )  /\  ( M  e.  RR  /\  M  e.  RR ) )  -> 
( ( B  < 
M  /\  ( A  mod  M )  <_  M
)  ->  ( B  +  ( A  mod  M ) )  <  ( M  +  M )
) )
4233, 40, 41sylc 60 . . . . . . . . . . . 12  |-  ( ( ( B  e.  ZZ  /\  ( A  e.  ZZ  /\  M  e.  NN ) )  /\  B  < 
M )  ->  ( B  +  ( A  mod  M ) )  < 
( M  +  M
) )
43 nncn 10545 . . . . . . . . . . . . . . 15  |-  ( M  e.  NN  ->  M  e.  CC )
44432timesd 10782 . . . . . . . . . . . . . 14  |-  ( M  e.  NN  ->  (
2  x.  M )  =  ( M  +  M ) )
4544adantl 466 . . . . . . . . . . . . 13  |-  ( ( A  e.  ZZ  /\  M  e.  NN )  ->  ( 2  x.  M
)  =  ( M  +  M ) )
4645ad2antlr 726 . . . . . . . . . . . 12  |-  ( ( ( B  e.  ZZ  /\  ( A  e.  ZZ  /\  M  e.  NN ) )  /\  B  < 
M )  ->  (
2  x.  M )  =  ( M  +  M ) )
4742, 46breqtrrd 4459 . . . . . . . . . . 11  |-  ( ( ( B  e.  ZZ  /\  ( A  e.  ZZ  /\  M  e.  NN ) )  /\  B  < 
M )  ->  ( B  +  ( A  mod  M ) )  < 
( 2  x.  M
) )
4847exp31 604 . . . . . . . . . 10  |-  ( B  e.  ZZ  ->  (
( A  e.  ZZ  /\  M  e.  NN )  ->  ( B  < 
M  ->  ( B  +  ( A  mod  M ) )  <  (
2  x.  M ) ) ) )
4948com23 78 . . . . . . . . 9  |-  ( B  e.  ZZ  ->  ( B  <  M  ->  (
( A  e.  ZZ  /\  M  e.  NN )  ->  ( B  +  ( A  mod  M ) )  <  ( 2  x.  M ) ) ) )
5027, 49syl 16 . . . . . . . 8  |-  ( B  e.  ( ZZ>= `  ( M  -  ( A  mod  M ) ) )  ->  ( B  < 
M  ->  ( ( A  e.  ZZ  /\  M  e.  NN )  ->  ( B  +  ( A  mod  M ) )  < 
( 2  x.  M
) ) ) )
5150imp 429 . . . . . . 7  |-  ( ( B  e.  ( ZZ>= `  ( M  -  ( A  mod  M ) ) )  /\  B  < 
M )  ->  (
( A  e.  ZZ  /\  M  e.  NN )  ->  ( B  +  ( A  mod  M ) )  <  ( 2  x.  M ) ) )
52513adant2 1014 . . . . . 6  |-  ( ( B  e.  ( ZZ>= `  ( M  -  ( A  mod  M ) ) )  /\  M  e.  ZZ  /\  B  < 
M )  ->  (
( A  e.  ZZ  /\  M  e.  NN )  ->  ( B  +  ( A  mod  M ) )  <  ( 2  x.  M ) ) )
5311, 52sylbi 195 . . . . 5  |-  ( B  e.  ( ( M  -  ( A  mod  M ) )..^ M )  ->  ( ( A  e.  ZZ  /\  M  e.  NN )  ->  ( B  +  ( A  mod  M ) )  < 
( 2  x.  M
) ) )
5453impcom 430 . . . 4  |-  ( ( ( A  e.  ZZ  /\  M  e.  NN )  /\  B  e.  ( ( M  -  ( A  mod  M ) )..^ M ) )  -> 
( B  +  ( A  mod  M ) )  <  ( 2  x.  M ) )
55 2submod 12022 . . . . 5  |-  ( ( ( ( B  +  ( A  mod  M ) )  e.  RR  /\  M  e.  RR+ )  /\  ( M  <_  ( B  +  ( A  mod  M ) )  /\  ( B  +  ( A  mod  M ) )  < 
( 2  x.  M
) ) )  -> 
( ( B  +  ( A  mod  M ) )  mod  M )  =  ( ( B  +  ( A  mod  M ) )  -  M
) )
5655eqcomd 2449 . . . 4  |-  ( ( ( ( B  +  ( A  mod  M ) )  e.  RR  /\  M  e.  RR+ )  /\  ( M  <_  ( B  +  ( A  mod  M ) )  /\  ( B  +  ( A  mod  M ) )  < 
( 2  x.  M
) ) )  -> 
( ( B  +  ( A  mod  M ) )  -  M )  =  ( ( B  +  ( A  mod  M ) )  mod  M
) )
578, 10, 26, 54, 56syl22anc 1228 . . 3  |-  ( ( ( A  e.  ZZ  /\  M  e.  NN )  /\  B  e.  ( ( M  -  ( A  mod  M ) )..^ M ) )  -> 
( ( B  +  ( A  mod  M ) )  -  M )  =  ( ( B  +  ( A  mod  M ) )  mod  M
) )
5835adantr 465 . . . . 5  |-  ( ( A  e.  ZZ  /\  M  e.  NN )  ->  A  e.  RR )
5958adantr 465 . . . 4  |-  ( ( ( A  e.  ZZ  /\  M  e.  NN )  /\  B  e.  ( ( M  -  ( A  mod  M ) )..^ M ) )  ->  A  e.  RR )
602adantl 466 . . . 4  |-  ( ( ( A  e.  ZZ  /\  M  e.  NN )  /\  B  e.  ( ( M  -  ( A  mod  M ) )..^ M ) )  ->  B  e.  RR )
61 modadd2mod 12011 . . . 4  |-  ( ( A  e.  RR  /\  B  e.  RR  /\  M  e.  RR+ )  ->  (
( B  +  ( A  mod  M ) )  mod  M )  =  ( ( B  +  A )  mod 
M ) )
6259, 60, 10, 61syl3anc 1227 . . 3  |-  ( ( ( A  e.  ZZ  /\  M  e.  NN )  /\  B  e.  ( ( M  -  ( A  mod  M ) )..^ M ) )  -> 
( ( B  +  ( A  mod  M ) )  mod  M )  =  ( ( B  +  A )  mod 
M ) )
6357, 62eqtrd 2482 . 2  |-  ( ( ( A  e.  ZZ  /\  M  e.  NN )  /\  B  e.  ( ( M  -  ( A  mod  M ) )..^ M ) )  -> 
( ( B  +  ( A  mod  M ) )  -  M )  =  ( ( B  +  A )  mod 
M ) )
6463ex 434 1  |-  ( ( A  e.  ZZ  /\  M  e.  NN )  ->  ( B  e.  ( ( M  -  ( A  mod  M ) )..^ M )  ->  (
( B  +  ( A  mod  M ) )  -  M )  =  ( ( B  +  A )  mod 
M ) ) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    /\ wa 369    /\ w3a 972    = wceq 1381    e. wcel 1802   class class class wbr 4433   ` cfv 5574  (class class class)co 6277   RRcr 9489    + caddc 9493    x. cmul 9495    < clt 9626    <_ cle 9627    - cmin 9805   NNcn 10537   2c2 10586   ZZcz 10865   ZZ>=cuz 11085   RR+crp 11224  ..^cfzo 11798    mod cmo 11970
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1603  ax-4 1616  ax-5 1689  ax-6 1732  ax-7 1774  ax-8 1804  ax-9 1806  ax-10 1821  ax-11 1826  ax-12 1838  ax-13 1983  ax-ext 2419  ax-sep 4554  ax-nul 4562  ax-pow 4611  ax-pr 4672  ax-un 6573  ax-cnex 9546  ax-resscn 9547  ax-1cn 9548  ax-icn 9549  ax-addcl 9550  ax-addrcl 9551  ax-mulcl 9552  ax-mulrcl 9553  ax-mulcom 9554  ax-addass 9555  ax-mulass 9556  ax-distr 9557  ax-i2m1 9558  ax-1ne0 9559  ax-1rid 9560  ax-rnegex 9561  ax-rrecex 9562  ax-cnre 9563  ax-pre-lttri 9564  ax-pre-lttrn 9565  ax-pre-ltadd 9566  ax-pre-mulgt0 9567  ax-pre-sup 9568
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 973  df-3an 974  df-tru 1384  df-ex 1598  df-nf 1602  df-sb 1725  df-eu 2270  df-mo 2271  df-clab 2427  df-cleq 2433  df-clel 2436  df-nfc 2591  df-ne 2638  df-nel 2639  df-ral 2796  df-rex 2797  df-reu 2798  df-rmo 2799  df-rab 2800  df-v 3095  df-sbc 3312  df-csb 3418  df-dif 3461  df-un 3463  df-in 3465  df-ss 3472  df-pss 3474  df-nul 3768  df-if 3923  df-pw 3995  df-sn 4011  df-pr 4013  df-tp 4015  df-op 4017  df-uni 4231  df-iun 4313  df-br 4434  df-opab 4492  df-mpt 4493  df-tr 4527  df-eprel 4777  df-id 4781  df-po 4786  df-so 4787  df-fr 4824  df-we 4826  df-ord 4867  df-on 4868  df-lim 4869  df-suc 4870  df-xp 4991  df-rel 4992  df-cnv 4993  df-co 4994  df-dm 4995  df-rn 4996  df-res 4997  df-ima 4998  df-iota 5537  df-fun 5576  df-fn 5577  df-f 5578  df-f1 5579  df-fo 5580  df-f1o 5581  df-fv 5582  df-riota 6238  df-ov 6280  df-oprab 6281  df-mpt2 6282  df-om 6682  df-1st 6781  df-2nd 6782  df-recs 7040  df-rdg 7074  df-er 7309  df-en 7515  df-dom 7516  df-sdom 7517  df-sup 7899  df-pnf 9628  df-mnf 9629  df-xr 9630  df-ltxr 9631  df-le 9632  df-sub 9807  df-neg 9808  df-div 10208  df-nn 10538  df-2 10595  df-n0 10797  df-z 10866  df-uz 11086  df-rp 11225  df-fz 11677  df-fzo 11799  df-fl 11903  df-mod 11971
This theorem is referenced by:  cshwidxmod  12748
  Copyright terms: Public domain W3C validator