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

Theorem modaddmodup 12030
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 11809 . . . . . . . 8  |-  ( B  e.  ( ( M  -  ( A  mod  M ) )..^ M )  ->  B  e.  ZZ )
21zred 10978 . . . . . . 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 11995 . . . . . . . 8  |-  ( ( A  e.  ZZ  /\  M  e.  NN )  ->  ( A  mod  M
)  e.  NN0 )
54nn0red 10865 . . . . . . 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 9635 . . . . 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 11241 . . . . 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 11812 . . . . . 6  |-  ( B  e.  ( ( M  -  ( A  mod  M ) )..^ M )  <-> 
( B  e.  (
ZZ>= `  ( M  -  ( A  mod  M ) ) )  /\  M  e.  ZZ  /\  B  < 
M ) )
12 eluz2 11100 . . . . . . . 8  |-  ( B  e.  ( ZZ>= `  ( M  -  ( A  mod  M ) ) )  <-> 
( ( M  -  ( A  mod  M ) )  e.  ZZ  /\  B  e.  ZZ  /\  ( M  -  ( A  mod  M ) )  <_  B ) )
13 nnre 10555 . . . . . . . . . . . . . 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 10880 . . . . . . . . . . . . 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 10161 . . . . . . . . . . 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 1014 . . . . . . . 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 1017 . . . . . 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 11103 . . . . . . . . 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 10880 . . . . . . . . . . . . . . . . 17  |-  ( A  e.  ZZ  ->  A  e.  RR )
36 modlt 11986 . . . . . . . . . . . . . . . . 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 9744 . . . . . . . . . . . . . . 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 10047 . . . . . . . . . . . . 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 10556 . . . . . . . . . . . . . . 15  |-  ( M  e.  NN  ->  M  e.  CC )
44432timesd 10793 . . . . . . . . . . . . . 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 4479 . . . . . . . . . . 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 1015 . . . . . 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 12028 . . . . 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 2475 . . . 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 1229 . . 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 12017 . . . 4  |-  ( ( A  e.  RR  /\  B  e.  RR  /\  M  e.  RR+ )  ->  (
( B  +  ( A  mod  M ) )  mod  M )  =  ( ( B  +  A )  mod 
M ) )
6259, 60, 10, 61syl3anc 1228 . . 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 2508 . 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 973    = wceq 1379    e. wcel 1767   class class class wbr 4453   ` cfv 5594  (class class class)co 6295   RRcr 9503    + caddc 9507    x. cmul 9509    < clt 9640    <_ cle 9641    - cmin 9817   NNcn 10548   2c2 10597   ZZcz 10876   ZZ>=cuz 11094   RR+crp 11232  ..^cfzo 11804    mod cmo 11976
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1601  ax-4 1612  ax-5 1680  ax-6 1719  ax-7 1739  ax-8 1769  ax-9 1771  ax-10 1786  ax-11 1791  ax-12 1803  ax-13 1968  ax-ext 2445  ax-sep 4574  ax-nul 4582  ax-pow 4631  ax-pr 4692  ax-un 6587  ax-cnex 9560  ax-resscn 9561  ax-1cn 9562  ax-icn 9563  ax-addcl 9564  ax-addrcl 9565  ax-mulcl 9566  ax-mulrcl 9567  ax-mulcom 9568  ax-addass 9569  ax-mulass 9570  ax-distr 9571  ax-i2m1 9572  ax-1ne0 9573  ax-1rid 9574  ax-rnegex 9575  ax-rrecex 9576  ax-cnre 9577  ax-pre-lttri 9578  ax-pre-lttrn 9579  ax-pre-ltadd 9580  ax-pre-mulgt0 9581  ax-pre-sup 9582
This theorem depends on definitions:  df-bi 185  df-or 370  df-an 371  df-3or 974  df-3an 975  df-tru 1382  df-ex 1597  df-nf 1600  df-sb 1712  df-eu 2279  df-mo 2280  df-clab 2453  df-cleq 2459  df-clel 2462  df-nfc 2617  df-ne 2664  df-nel 2665  df-ral 2822  df-rex 2823  df-reu 2824  df-rmo 2825  df-rab 2826  df-v 3120  df-sbc 3337  df-csb 3441  df-dif 3484  df-un 3486  df-in 3488  df-ss 3495  df-pss 3497  df-nul 3791  df-if 3946  df-pw 4018  df-sn 4034  df-pr 4036  df-tp 4038  df-op 4040  df-uni 4252  df-iun 4333  df-br 4454  df-opab 4512  df-mpt 4513  df-tr 4547  df-eprel 4797  df-id 4801  df-po 4806  df-so 4807  df-fr 4844  df-we 4846  df-ord 4887  df-on 4888  df-lim 4889  df-suc 4890  df-xp 5011  df-rel 5012  df-cnv 5013  df-co 5014  df-dm 5015  df-rn 5016  df-res 5017  df-ima 5018  df-iota 5557  df-fun 5596  df-fn 5597  df-f 5598  df-f1 5599  df-fo 5600  df-f1o 5601  df-fv 5602  df-riota 6256  df-ov 6298  df-oprab 6299  df-mpt2 6300  df-om 6696  df-1st 6795  df-2nd 6796  df-recs 7054  df-rdg 7088  df-er 7323  df-en 7529  df-dom 7530  df-sdom 7531  df-sup 7913  df-pnf 9642  df-mnf 9643  df-xr 9644  df-ltxr 9645  df-le 9646  df-sub 9819  df-neg 9820  df-div 10219  df-nn 10549  df-2 10606  df-n0 10808  df-z 10877  df-uz 11095  df-rp 11233  df-fz 11685  df-fzo 11805  df-fl 11909  df-mod 11977
This theorem is referenced by:  cshwidxmod  12754
  Copyright terms: Public domain W3C validator