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

Theorem moddvds 11808
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 9635 . . . . . 6  |-  ( N  e.  NN  ->  N  e.  QQ )
21adantr 276 . . . . 5  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  N  e.  QQ )
3 nngt0 8946 . . . . . 6  |-  ( N  e.  NN  ->  0  <  N )
43adantr 276 . . . . 5  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  0  <  N )
5 q0mod 10357 . . . . 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 9628 . . . . . . . . 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 9628 . . . . . . . . 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 9638 . . . . . . . 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 10363 . . . . . 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 9378 . . . . . . . 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 9378 . . . . . . . 8  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  B  e.  CC )
2522, 24negsubd 8276 . . . . . . 7  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  ( A  +  -u B )  =  ( A  -  B
) )
2625oveq1d 5892 . . . . . 6  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  ( ( A  +  -u B )  mod  N )  =  ( ( A  -  B )  mod  N
) )
2724negidd 8260 . . . . . . 7  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  ( B  +  -u B )  =  0 )
2827oveq1d 5892 . . . . . 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 9640 . . . . . . . 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 9266 . . . . . . . 8  |-  0  e.  ZZ
36 zq 9628 . . . . . . . 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 10363 . . . . . 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 8274 . . . . . . 7  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  ( ( A  -  B )  +  B )  =  A )
4443oveq1d 5892 . . . . . 6  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  ( (
( A  -  B
)  +  B )  mod  N )  =  ( A  mod  N
) )
4524addid2d 8109 . . . . . . 7  |-  ( ( N  e.  NN  /\  ( A  e.  ZZ  /\  B  e.  ZZ ) )  ->  ( 0  +  B )  =  B )
4645oveq1d 5892 . . . . . 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 9296 . . . 4  |-  ( ( A  e.  ZZ  /\  B  e.  ZZ )  ->  ( A  -  B
)  e.  ZZ )
51 dvdsval3 11800 . . . 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 4005  (class class class)co 5877   0cc0 7813    + caddc 7816    < clt 7994    - cmin 8130   -ucneg 8131   NNcn 8921   ZZcz 9255   QQcq 9621    mod cmo 10324    || cdvds 11796
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 4123  ax-pow 4176  ax-pr 4211  ax-un 4435  ax-setind 4538  ax-cnex 7904  ax-resscn 7905  ax-1cn 7906  ax-1re 7907  ax-icn 7908  ax-addcl 7909  ax-addrcl 7910  ax-mulcl 7911  ax-mulrcl 7912  ax-addcom 7913  ax-mulcom 7914  ax-addass 7915  ax-mulass 7916  ax-distr 7917  ax-i2m1 7918  ax-0lt1 7919  ax-1rid 7920  ax-0id 7921  ax-rnegex 7922  ax-precex 7923  ax-cnre 7924  ax-pre-ltirr 7925  ax-pre-ltwlin 7926  ax-pre-lttrn 7927  ax-pre-apti 7928  ax-pre-ltadd 7929  ax-pre-mulgt0 7930  ax-pre-mulext 7931  ax-arch 7932
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 2741  df-sbc 2965  df-csb 3060  df-dif 3133  df-un 3135  df-in 3137  df-ss 3144  df-pw 3579  df-sn 3600  df-pr 3601  df-op 3603  df-uni 3812  df-int 3847  df-iun 3890  df-br 4006  df-opab 4067  df-mpt 4068  df-id 4295  df-po 4298  df-iso 4299  df-xp 4634  df-rel 4635  df-cnv 4636  df-co 4637  df-dm 4638  df-rn 4639  df-res 4640  df-ima 4641  df-iota 5180  df-fun 5220  df-fn 5221  df-f 5222  df-fv 5226  df-riota 5833  df-ov 5880  df-oprab 5881  df-mpo 5882  df-1st 6143  df-2nd 6144  df-pnf 7996  df-mnf 7997  df-xr 7998  df-ltxr 7999  df-le 8000  df-sub 8132  df-neg 8133  df-reap 8534  df-ap 8541  df-div 8632  df-inn 8922  df-n0 9179  df-z 9256  df-q 9622  df-rp 9656  df-fl 10272  df-mod 10325  df-dvds 11797
This theorem is referenced by:  modm1div  11809  summodnegmod  11831  modmulconst  11832  addmodlteqALT  11867  dvdsmod  11870  congr  12102  cncongr1  12105  cncongr2  12106  crth  12226  eulerthlemh  12233  eulerthlemth  12234  prmdiv  12237  prmdiveq  12238  odzcllem  12244  odzdvds  12247  odzphi  12248  pockthlem  12356  lgslem1  14440  lgsmod  14466  lgsdirprm  14474  lgseisenlem2  14490  m1lgs  14491
  Copyright terms: Public domain W3C validator