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

Theorem addmodlteqALT 11303
Description: Two nonnegative integers less than the modulus are equal iff the sums of these integer with another integer are equal modulo the modulus. Shorter proof of addmodlteq 9954 based on the "divides" relation. (Contributed by AV, 14-Mar-2021.) (New usage is discouraged.) (Proof modification is discouraged.)
Assertion
Ref Expression
addmodlteqALT  |-  ( ( I  e.  ( 0..^ N )  /\  J  e.  ( 0..^ N )  /\  S  e.  ZZ )  ->  ( ( ( I  +  S )  mod  N )  =  ( ( J  +  S )  mod  N
)  <->  I  =  J
) )

Proof of Theorem addmodlteqALT
StepHypRef Expression
1 elfzo0 9742 . . . . 5  |-  ( I  e.  ( 0..^ N )  <->  ( I  e. 
NN0  /\  N  e.  NN  /\  I  <  N
) )
2 elfzoelz 9707 . . . . . . . 8  |-  ( J  e.  ( 0..^ N )  ->  J  e.  ZZ )
3 simplrr 504 . . . . . . . . . 10  |-  ( ( ( J  e.  ZZ  /\  ( I  e.  NN0  /\  N  e.  NN ) )  /\  S  e.  ZZ )  ->  N  e.  NN )
4 nn0z 8868 . . . . . . . . . . . 12  |-  ( I  e.  NN0  ->  I  e.  ZZ )
54ad2antrl 475 . . . . . . . . . . 11  |-  ( ( J  e.  ZZ  /\  ( I  e.  NN0  /\  N  e.  NN ) )  ->  I  e.  ZZ )
6 zaddcl 8888 . . . . . . . . . . 11  |-  ( ( I  e.  ZZ  /\  S  e.  ZZ )  ->  ( I  +  S
)  e.  ZZ )
75, 6sylan 278 . . . . . . . . . 10  |-  ( ( ( J  e.  ZZ  /\  ( I  e.  NN0  /\  N  e.  NN ) )  /\  S  e.  ZZ )  ->  (
I  +  S )  e.  ZZ )
8 zaddcl 8888 . . . . . . . . . . 11  |-  ( ( J  e.  ZZ  /\  S  e.  ZZ )  ->  ( J  +  S
)  e.  ZZ )
98adantlr 462 . . . . . . . . . 10  |-  ( ( ( J  e.  ZZ  /\  ( I  e.  NN0  /\  N  e.  NN ) )  /\  S  e.  ZZ )  ->  ( J  +  S )  e.  ZZ )
103, 7, 93jca 1126 . . . . . . . . 9  |-  ( ( ( J  e.  ZZ  /\  ( I  e.  NN0  /\  N  e.  NN ) )  /\  S  e.  ZZ )  ->  ( N  e.  NN  /\  (
I  +  S )  e.  ZZ  /\  ( J  +  S )  e.  ZZ ) )
1110exp31 357 . . . . . . . 8  |-  ( J  e.  ZZ  ->  (
( I  e.  NN0  /\  N  e.  NN )  ->  ( S  e.  ZZ  ->  ( N  e.  NN  /\  ( I  +  S )  e.  ZZ  /\  ( J  +  S )  e.  ZZ ) ) ) )
122, 11syl 14 . . . . . . 7  |-  ( J  e.  ( 0..^ N )  ->  ( (
I  e.  NN0  /\  N  e.  NN )  ->  ( S  e.  ZZ  ->  ( N  e.  NN  /\  ( I  +  S
)  e.  ZZ  /\  ( J  +  S
)  e.  ZZ ) ) ) )
1312com12 30 . . . . . 6  |-  ( ( I  e.  NN0  /\  N  e.  NN )  ->  ( J  e.  ( 0..^ N )  -> 
( S  e.  ZZ  ->  ( N  e.  NN  /\  ( I  +  S
)  e.  ZZ  /\  ( J  +  S
)  e.  ZZ ) ) ) )
14133adant3 966 . . . . 5  |-  ( ( I  e.  NN0  /\  N  e.  NN  /\  I  <  N )  ->  ( J  e.  ( 0..^ N )  ->  ( S  e.  ZZ  ->  ( N  e.  NN  /\  ( I  +  S
)  e.  ZZ  /\  ( J  +  S
)  e.  ZZ ) ) ) )
151, 14sylbi 120 . . . 4  |-  ( I  e.  ( 0..^ N )  ->  ( J  e.  ( 0..^ N )  ->  ( S  e.  ZZ  ->  ( N  e.  NN  /\  ( I  +  S )  e.  ZZ  /\  ( J  +  S )  e.  ZZ ) ) ) )
16153imp 1140 . . 3  |-  ( ( I  e.  ( 0..^ N )  /\  J  e.  ( 0..^ N )  /\  S  e.  ZZ )  ->  ( N  e.  NN  /\  ( I  +  S )  e.  ZZ  /\  ( J  +  S )  e.  ZZ ) )
17 moddvds 11248 . . 3  |-  ( ( N  e.  NN  /\  ( I  +  S
)  e.  ZZ  /\  ( J  +  S
)  e.  ZZ )  ->  ( ( ( I  +  S )  mod  N )  =  ( ( J  +  S )  mod  N
)  <->  N  ||  ( ( I  +  S )  -  ( J  +  S ) ) ) )
1816, 17syl 14 . 2  |-  ( ( I  e.  ( 0..^ N )  /\  J  e.  ( 0..^ N )  /\  S  e.  ZZ )  ->  ( ( ( I  +  S )  mod  N )  =  ( ( J  +  S )  mod  N
)  <->  N  ||  ( ( I  +  S )  -  ( J  +  S ) ) ) )
19 elfzoel2 9706 . . . . 5  |-  ( I  e.  ( 0..^ N )  ->  N  e.  ZZ )
20 zcn 8853 . . . . . . 7  |-  ( N  e.  ZZ  ->  N  e.  CC )
2120subid1d 7879 . . . . . 6  |-  ( N  e.  ZZ  ->  ( N  -  0 )  =  N )
2221eqcomd 2100 . . . . 5  |-  ( N  e.  ZZ  ->  N  =  ( N  - 
0 ) )
2319, 22syl 14 . . . 4  |-  ( I  e.  ( 0..^ N )  ->  N  =  ( N  -  0
) )
24233ad2ant1 967 . . 3  |-  ( ( I  e.  ( 0..^ N )  /\  J  e.  ( 0..^ N )  /\  S  e.  ZZ )  ->  N  =  ( N  -  0 ) )
25 elfzoelz 9707 . . . . 5  |-  ( I  e.  ( 0..^ N )  ->  I  e.  ZZ )
2625zcnd 8968 . . . 4  |-  ( I  e.  ( 0..^ N )  ->  I  e.  CC )
272zcnd 8968 . . . 4  |-  ( J  e.  ( 0..^ N )  ->  J  e.  CC )
28 zcn 8853 . . . 4  |-  ( S  e.  ZZ  ->  S  e.  CC )
29 pnpcan2 7819 . . . 4  |-  ( ( I  e.  CC  /\  J  e.  CC  /\  S  e.  CC )  ->  (
( I  +  S
)  -  ( J  +  S ) )  =  ( I  -  J ) )
3026, 27, 28, 29syl3an 1223 . . 3  |-  ( ( I  e.  ( 0..^ N )  /\  J  e.  ( 0..^ N )  /\  S  e.  ZZ )  ->  ( ( I  +  S )  -  ( J  +  S
) )  =  ( I  -  J ) )
3124, 30breq12d 3880 . 2  |-  ( ( I  e.  ( 0..^ N )  /\  J  e.  ( 0..^ N )  /\  S  e.  ZZ )  ->  ( N  ||  ( ( I  +  S )  -  ( J  +  S )
)  <->  ( N  - 
0 )  ||  (
I  -  J ) ) )
32 fzocongeq 11302 . . 3  |-  ( ( I  e.  ( 0..^ N )  /\  J  e.  ( 0..^ N ) )  ->  ( ( N  -  0 ) 
||  ( I  -  J )  <->  I  =  J ) )
33323adant3 966 . 2  |-  ( ( I  e.  ( 0..^ N )  /\  J  e.  ( 0..^ N )  /\  S  e.  ZZ )  ->  ( ( N  -  0 )  ||  ( I  -  J
)  <->  I  =  J
) )
3418, 31, 333bitrd 213 1  |-  ( ( I  e.  ( 0..^ N )  /\  J  e.  ( 0..^ N )  /\  S  e.  ZZ )  ->  ( ( ( I  +  S )  mod  N )  =  ( ( J  +  S )  mod  N
)  <->  I  =  J
) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    /\ wa 103    <-> wb 104    /\ w3a 927    = wceq 1296    e. wcel 1445   class class class wbr 3867  (class class class)co 5690   CCcc 7445   0cc0 7447    + caddc 7450    < clt 7619    - cmin 7750   NNcn 8520   NN0cn0 8771   ZZcz 8848  ..^cfzo 9702    mod cmo 9878    || cdvds 11239
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-mp 7  ax-ia1 105  ax-ia2 106  ax-ia3 107  ax-in1 582  ax-in2 583  ax-io 668  ax-5 1388  ax-7 1389  ax-gen 1390  ax-ie1 1434  ax-ie2 1435  ax-8 1447  ax-10 1448  ax-11 1449  ax-i12 1450  ax-bndl 1451  ax-4 1452  ax-13 1456  ax-14 1457  ax-17 1471  ax-i9 1475  ax-ial 1479  ax-i5r 1480  ax-ext 2077  ax-coll 3975  ax-sep 3978  ax-nul 3986  ax-pow 4030  ax-pr 4060  ax-un 4284  ax-setind 4381  ax-iinf 4431  ax-cnex 7533  ax-resscn 7534  ax-1cn 7535  ax-1re 7536  ax-icn 7537  ax-addcl 7538  ax-addrcl 7539  ax-mulcl 7540  ax-mulrcl 7541  ax-addcom 7542  ax-mulcom 7543  ax-addass 7544  ax-mulass 7545  ax-distr 7546  ax-i2m1 7547  ax-0lt1 7548  ax-1rid 7549  ax-0id 7550  ax-rnegex 7551  ax-precex 7552  ax-cnre 7553  ax-pre-ltirr 7554  ax-pre-ltwlin 7555  ax-pre-lttrn 7556  ax-pre-apti 7557  ax-pre-ltadd 7558  ax-pre-mulgt0 7559  ax-pre-mulext 7560  ax-arch 7561  ax-caucvg 7562
This theorem depends on definitions:  df-bi 116  df-dc 784  df-3or 928  df-3an 929  df-tru 1299  df-fal 1302  df-nf 1402  df-sb 1700  df-eu 1958  df-mo 1959  df-clab 2082  df-cleq 2088  df-clel 2091  df-nfc 2224  df-ne 2263  df-nel 2358  df-ral 2375  df-rex 2376  df-reu 2377  df-rmo 2378  df-rab 2379  df-v 2635  df-sbc 2855  df-csb 2948  df-dif 3015  df-un 3017  df-in 3019  df-ss 3026  df-nul 3303  df-if 3414  df-pw 3451  df-sn 3472  df-pr 3473  df-op 3475  df-uni 3676  df-int 3711  df-iun 3754  df-br 3868  df-opab 3922  df-mpt 3923  df-tr 3959  df-id 4144  df-po 4147  df-iso 4148  df-iord 4217  df-on 4219  df-ilim 4220  df-suc 4222  df-iom 4434  df-xp 4473  df-rel 4474  df-cnv 4475  df-co 4476  df-dm 4477  df-rn 4478  df-res 4479  df-ima 4480  df-iota 5014  df-fun 5051  df-fn 5052  df-f 5053  df-f1 5054  df-fo 5055  df-f1o 5056  df-fv 5057  df-riota 5646  df-ov 5693  df-oprab 5694  df-mpt2 5695  df-1st 5949  df-2nd 5950  df-recs 6108  df-frec 6194  df-pnf 7621  df-mnf 7622  df-xr 7623  df-ltxr 7624  df-le 7625  df-sub 7752  df-neg 7753  df-reap 8149  df-ap 8156  df-div 8237  df-inn 8521  df-2 8579  df-3 8580  df-4 8581  df-n0 8772  df-z 8849  df-uz 9119  df-q 9204  df-rp 9234  df-fz 9574  df-fzo 9703  df-fl 9826  df-mod 9879  df-iseq 10002  df-seq3 10003  df-exp 10086  df-cj 10407  df-re 10408  df-im 10409  df-rsqrt 10562  df-abs 10563  df-dvds 11240
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator