ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  moddvds Unicode version

Theorem moddvds 11805
Description: Two ways to say  A  ==  B (mod  N), see also definition in [ApostolNT] p. 106. (Contributed by Mario Carneiro, 18-Feb-2014.)
Assertion
Ref Expression
moddvds  |-  ( ( N  e.  NN  /\  A  e.  ZZ  /\  B  e.  ZZ )  ->  (
( A  mod  N
)  =  ( B  mod  N )  <->  N  ||  ( A  -  B )
) )

Proof of Theorem moddvds
StepHypRef Expression
1 nnq 9632 . . . . . 6  |-  ( N  e.  NN  ->  N  e.  QQ )
21adantr 276 . . . . 5  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  N  e.  QQ )
3 nngt0 8943 . . . . . 6  |-  ( N  e.  NN  ->  0  <  N )
43adantr 276 . . . . 5  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  0  <  N )
5 q0mod 10354 . . . . 5  |-  ( ( N  e.  QQ  /\  0  <  N )  -> 
( 0  mod  N
)  =  0 )
62, 4, 5syl2anc 411 . . . 4  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  ( 0  mod  N )  =  0 )
76eqeq2d 2189 . . 3  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  ( (
( A  -  B
)  mod  N )  =  ( 0  mod 
N )  <->  ( ( A  -  B )  mod  N )  =  0 ) )
8 zq 9625 . . . . . . . . 9  |-  ( A  e.  ZZ  ->  A  e.  QQ )
98ad2antrl 490 . . . . . . . 8  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  A  e.  QQ )
109adantr 276 . . . . . . 7  |-  ( ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  /\  ( A  mod  N )  =  ( B  mod  N
) )  ->  A  e.  QQ )
11 zq 9625 . . . . . . . . 9  |-  ( B  e.  ZZ  ->  B  e.  QQ )
1211ad2antll 491 . . . . . . . 8  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  B  e.  QQ )
1312adantr 276 . . . . . . 7  |-  ( ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  /\  ( A  mod  N )  =  ( B  mod  N
) )  ->  B  e.  QQ )
14 qnegcl 9635 . . . . . . . 8  |-  ( B  e.  QQ  ->  -u B  e.  QQ )
1513, 14syl 14 . . . . . . 7  |-  ( ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  /\  ( A  mod  N )  =  ( B  mod  N
) )  ->  -u B  e.  QQ )
162adantr 276 . . . . . . 7  |-  ( ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  /\  ( A  mod  N )  =  ( B  mod  N
) )  ->  N  e.  QQ )
174adantr 276 . . . . . . 7  |-  ( ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  /\  ( A  mod  N )  =  ( B  mod  N
) )  ->  0  <  N )
18 simpr 110 . . . . . . 7  |-  ( ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  /\  ( A  mod  N )  =  ( B  mod  N
) )  ->  ( A  mod  N )  =  ( B  mod  N
) )
1910, 13, 15, 16, 17, 18modqadd1 10360 . . . . . 6  |-  ( ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  /\  ( A  mod  N )  =  ( B  mod  N
) )  ->  (
( A  +  -u B )  mod  N
)  =  ( ( B  +  -u B
)  mod  N )
)
2019ex 115 . . . . 5  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  ( ( A  mod  N )  =  ( B  mod  N
)  ->  ( ( A  +  -u B )  mod  N )  =  ( ( B  +  -u B )  mod  N
) ) )
21 simprl 529 . . . . . . . . 9  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  A  e.  ZZ )
2221zcnd 9375 . . . . . . . 8  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  A  e.  CC )
23 simprr 531 . . . . . . . . 9  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  B  e.  ZZ )
2423zcnd 9375 . . . . . . . 8  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  B  e.  CC )
2522, 24negsubd 8273 . . . . . . 7  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  ( A  +  -u B )  =  ( A  -  B
) )
2625oveq1d 5889 . . . . . 6  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  ( ( A  +  -u B )  mod  N )  =  ( ( A  -  B )  mod  N
) )
2724negidd 8257 . . . . . . 7  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  ( B  +  -u B )  =  0 )
2827oveq1d 5889 . . . . . 6  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  ( ( B  +  -u B )  mod  N )  =  ( 0  mod  N
) )
2926, 28eqeq12d 2192 . . . . 5  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  ( (
( A  +  -u B )  mod  N
)  =  ( ( B  +  -u B
)  mod  N )  <->  ( ( A  -  B
)  mod  N )  =  ( 0  mod 
N ) ) )
3020, 29sylibd 149 . . . 4  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  ( ( A  mod  N )  =  ( B  mod  N
)  ->  ( ( A  -  B )  mod  N )  =  ( 0  mod  N ) ) )
319adantr 276 . . . . . . . 8  |-  ( ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  /\  ( ( A  -  B )  mod  N )  =  ( 0  mod  N
) )  ->  A  e.  QQ )
3212adantr 276 . . . . . . . 8  |-  ( ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  /\  ( ( A  -  B )  mod  N )  =  ( 0  mod  N
) )  ->  B  e.  QQ )
33 qsubcl 9637 . . . . . . . 8  |-  ( ( A  e.  QQ  /\  B  e.  QQ )  ->  ( A  -  B
)  e.  QQ )
3431, 32, 33syl2anc 411 . . . . . . 7  |-  ( ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  /\  ( ( A  -  B )  mod  N )  =  ( 0  mod  N
) )  ->  ( A  -  B )  e.  QQ )
35 0z 9263 . . . . . . . 8  |-  0  e.  ZZ
36 zq 9625 . . . . . . . 8  |-  ( 0  e.  ZZ  ->  0  e.  QQ )
3735, 36mp1i 10 . . . . . . 7  |-  ( ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  /\  ( ( A  -  B )  mod  N )  =  ( 0  mod  N
) )  ->  0  e.  QQ )
382adantr 276 . . . . . . 7  |-  ( ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  /\  ( ( A  -  B )  mod  N )  =  ( 0  mod  N
) )  ->  N  e.  QQ )
394adantr 276 . . . . . . 7  |-  ( ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  /\  ( ( A  -  B )  mod  N )  =  ( 0  mod  N
) )  ->  0  <  N )
40 simpr 110 . . . . . . 7  |-  ( ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  /\  ( ( A  -  B )  mod  N )  =  ( 0  mod  N
) )  ->  (
( A  -  B
)  mod  N )  =  ( 0  mod 
N ) )
4134, 37, 32, 38, 39, 40modqadd1 10360 . . . . . 6  |-  ( ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  /\  ( ( A  -  B )  mod  N )  =  ( 0  mod  N
) )  ->  (
( ( A  -  B )  +  B
)  mod  N )  =  ( ( 0  +  B )  mod 
N ) )
4241ex 115 . . . . 5  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  ( (
( A  -  B
)  mod  N )  =  ( 0  mod 
N )  ->  (
( ( A  -  B )  +  B
)  mod  N )  =  ( ( 0  +  B )  mod 
N ) ) )
4322, 24npcand 8271 . . . . . . 7  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  ( ( A  -  B )  +  B )  =  A )
4443oveq1d 5889 . . . . . 6  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  ( (
( A  -  B
)  +  B )  mod  N )  =  ( A  mod  N
) )
4524addid2d 8106 . . . . . . 7  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  ( 0  +  B )  =  B )
4645oveq1d 5889 . . . . . 6  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  ( (
0  +  B )  mod  N )  =  ( B  mod  N
) )
4744, 46eqeq12d 2192 . . . . 5  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  ( (
( ( A  -  B )  +  B
)  mod  N )  =  ( ( 0  +  B )  mod 
N )  <->  ( A  mod  N )  =  ( B  mod  N ) ) )
4842, 47sylibd 149 . . . 4  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  ( (
( A  -  B
)  mod  N )  =  ( 0  mod 
N )  ->  ( A  mod  N )  =  ( B  mod  N
) ) )
4930, 48impbid 129 . . 3  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  ( ( A  mod  N )  =  ( B  mod  N
)  <->  ( ( A  -  B )  mod 
N )  =  ( 0  mod  N ) ) )
50 zsubcl 9293 . . . 4  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( A  -  B
)  e.  ZZ )
51 dvdsval3 11797 . . . 4  |-  ( ( N  e.  NN  /\  ( A  -  B
)  e.  ZZ )  ->  ( N  ||  ( A  -  B
)  <->  ( ( A  -  B )  mod 
N )  =  0 ) )
5250, 51sylan2 286 . . 3  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  ( N  ||  ( A  -  B
)  <->  ( ( A  -  B )  mod 
N )  =  0 ) )
537, 49, 523bitr4d 220 . 2  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  ( ( A  mod  N )  =  ( B  mod  N
)  <->  N  ||  ( A  -  B ) ) )
54533impb 1199 1  |-  ( ( N  e.  NN  /\  A  e.  ZZ  /\  B  e.  ZZ )  ->  (
( A  mod  N
)  =  ( B  mod  N )  <->  N  ||  ( A  -  B )
) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 104    <-> wb 105    /\ w3a 978    = wceq 1353    e. wcel 2148   class class class wbr 4003  (class class class)co 5874   0cc0 7810    + caddc 7813    < clt 7991    - cmin 8127   -ucneg 8128   NNcn 8918   ZZcz 9252   QQcq 9618    mod cmo 10321    || cdvds 11793
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 614  ax-in2 615  ax-io 709  ax-5 1447  ax-7 1448  ax-gen 1449  ax-ie1 1493  ax-ie2 1494  ax-8 1504  ax-10 1505  ax-11 1506  ax-i12 1507  ax-bndl 1509  ax-4 1510  ax-17 1526  ax-i9 1530  ax-ial 1534  ax-i5r 1535  ax-13 2150  ax-14 2151  ax-ext 2159  ax-sep 4121  ax-pow 4174  ax-pr 4209  ax-un 4433  ax-setind 4536  ax-cnex 7901  ax-resscn 7902  ax-1cn 7903  ax-1re 7904  ax-icn 7905  ax-addcl 7906  ax-addrcl 7907  ax-mulcl 7908  ax-mulrcl 7909  ax-addcom 7910  ax-mulcom 7911  ax-addass 7912  ax-mulass 7913  ax-distr 7914  ax-i2m1 7915  ax-0lt1 7916  ax-1rid 7917  ax-0id 7918  ax-rnegex 7919  ax-precex 7920  ax-cnre 7921  ax-pre-ltirr 7922  ax-pre-ltwlin 7923  ax-pre-lttrn 7924  ax-pre-apti 7925  ax-pre-ltadd 7926  ax-pre-mulgt0 7927  ax-pre-mulext 7928  ax-arch 7929
This theorem depends on definitions:  df-bi 117  df-3or 979  df-3an 980  df-tru 1356  df-fal 1359  df-nf 1461  df-sb 1763  df-eu 2029  df-mo 2030  df-clab 2164  df-cleq 2170  df-clel 2173  df-nfc 2308  df-ne 2348  df-nel 2443  df-ral 2460  df-rex 2461  df-reu 2462  df-rmo 2463  df-rab 2464  df-v 2739  df-sbc 2963  df-csb 3058  df-dif 3131  df-un 3133  df-in 3135  df-ss 3142  df-pw 3577  df-sn 3598  df-pr 3599  df-op 3601  df-uni 3810  df-int 3845  df-iun 3888  df-br 4004  df-opab 4065  df-mpt 4066  df-id 4293  df-po 4296  df-iso 4297  df-xp 4632  df-rel 4633  df-cnv 4634  df-co 4635  df-dm 4636  df-rn 4637  df-res 4638  df-ima 4639  df-iota 5178  df-fun 5218  df-fn 5219  df-f 5220  df-fv 5224  df-riota 5830  df-ov 5877  df-oprab 5878  df-mpo 5879  df-1st 6140  df-2nd 6141  df-pnf 7993  df-mnf 7994  df-xr 7995  df-ltxr 7996  df-le 7997  df-sub 8129  df-neg 8130  df-reap 8531  df-ap 8538  df-div 8629  df-inn 8919  df-n0 9176  df-z 9253  df-q 9619  df-rp 9653  df-fl 10269  df-mod 10322  df-dvds 11794
This theorem is referenced by:  modm1div  11806  summodnegmod  11828  modmulconst  11829  addmodlteqALT  11864  dvdsmod  11867  congr  12099  cncongr1  12102  cncongr2  12103  crth  12223  eulerthlemh  12230  eulerthlemth  12231  prmdiv  12234  prmdiveq  12235  odzcllem  12241  odzdvds  12244  odzphi  12245  pockthlem  12353  lgslem1  14371  lgsmod  14397  lgsdirprm  14405  lgseisenlem2  14421  m1lgs  14422
  Copyright terms: Public domain W3C validator