MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  addmodlteqALT Structured version   Visualization version   GIF version

Theorem addmodlteqALT 16408
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 14002 based on the "divides" relation. (Contributed by AV, 14-Mar-2021.) (New usage is discouraged.) (Proof modification is discouraged.)
Assertion
Ref Expression
addmodlteqALT ((𝐼 ∈ (0..^𝑁) ∧ 𝐽 ∈ (0..^𝑁) ∧ 𝑆 ∈ ℤ) → (((𝐼 + 𝑆) mod 𝑁) = ((𝐽 + 𝑆) mod 𝑁) ↔ 𝐼 = 𝐽))

Proof of Theorem addmodlteqALT
StepHypRef Expression
1 elfzo0 13748 . . . . 5 (𝐼 ∈ (0..^𝑁) ↔ (𝐼 ∈ ℕ0𝑁 ∈ ℕ ∧ 𝐼 < 𝑁))
2 elfzoelz 13706 . . . . . . . 8 (𝐽 ∈ (0..^𝑁) → 𝐽 ∈ ℤ)
3 simplrr 790 . . . . . . . . . 10 (((𝐽 ∈ ℤ ∧ (𝐼 ∈ ℕ0𝑁 ∈ ℕ)) ∧ 𝑆 ∈ ℤ) → 𝑁 ∈ ℕ)
4 nn0z 12633 . . . . . . . . . . . 12 (𝐼 ∈ ℕ0𝐼 ∈ ℤ)
54ad2antrl 741 . . . . . . . . . . 11 ((𝐽 ∈ ℤ ∧ (𝐼 ∈ ℕ0𝑁 ∈ ℕ)) → 𝐼 ∈ ℤ)
6 zaddcl 12652 . . . . . . . . . . 11 ((𝐼 ∈ ℤ ∧ 𝑆 ∈ ℤ) → (𝐼 + 𝑆) ∈ ℤ)
75, 6sylan 592 . . . . . . . . . 10 (((𝐽 ∈ ℤ ∧ (𝐼 ∈ ℕ0𝑁 ∈ ℕ)) ∧ 𝑆 ∈ ℤ) → (𝐼 + 𝑆) ∈ ℤ)
8 zaddcl 12652 . . . . . . . . . . 11 ((𝐽 ∈ ℤ ∧ 𝑆 ∈ ℤ) → (𝐽 + 𝑆) ∈ ℤ)
98adantlr 728 . . . . . . . . . 10 (((𝐽 ∈ ℤ ∧ (𝐼 ∈ ℕ0𝑁 ∈ ℕ)) ∧ 𝑆 ∈ ℤ) → (𝐽 + 𝑆) ∈ ℤ)
103, 7, 93jca 1146 . . . . . . . . 9 (((𝐽 ∈ ℤ ∧ (𝐼 ∈ ℕ0𝑁 ∈ ℕ)) ∧ 𝑆 ∈ ℤ) → (𝑁 ∈ ℕ ∧ (𝐼 + 𝑆) ∈ ℤ ∧ (𝐽 + 𝑆) ∈ ℤ))
1110exp31 425 . . . . . . . 8 (𝐽 ∈ ℤ → ((𝐼 ∈ ℕ0𝑁 ∈ ℕ) → (𝑆 ∈ ℤ → (𝑁 ∈ ℕ ∧ (𝐼 + 𝑆) ∈ ℤ ∧ (𝐽 + 𝑆) ∈ ℤ))))
122, 11syl 18 . . . . . . 7 (𝐽 ∈ (0..^𝑁) → ((𝐼 ∈ ℕ0𝑁 ∈ ℕ) → (𝑆 ∈ ℤ → (𝑁 ∈ ℕ ∧ (𝐼 + 𝑆) ∈ ℤ ∧ (𝐽 + 𝑆) ∈ ℤ))))
1312com12 33 . . . . . 6 ((𝐼 ∈ ℕ0𝑁 ∈ ℕ) → (𝐽 ∈ (0..^𝑁) → (𝑆 ∈ ℤ → (𝑁 ∈ ℕ ∧ (𝐼 + 𝑆) ∈ ℤ ∧ (𝐽 + 𝑆) ∈ ℤ))))
14133adant3 1150 . . . . 5 ((𝐼 ∈ ℕ0𝑁 ∈ ℕ ∧ 𝐼 < 𝑁) → (𝐽 ∈ (0..^𝑁) → (𝑆 ∈ ℤ → (𝑁 ∈ ℕ ∧ (𝐼 + 𝑆) ∈ ℤ ∧ (𝐽 + 𝑆) ∈ ℤ))))
151, 14sylbi 220 . . . 4 (𝐼 ∈ (0..^𝑁) → (𝐽 ∈ (0..^𝑁) → (𝑆 ∈ ℤ → (𝑁 ∈ ℕ ∧ (𝐼 + 𝑆) ∈ ℤ ∧ (𝐽 + 𝑆) ∈ ℤ))))
16153imp 1128 . . 3 ((𝐼 ∈ (0..^𝑁) ∧ 𝐽 ∈ (0..^𝑁) ∧ 𝑆 ∈ ℤ) → (𝑁 ∈ ℕ ∧ (𝐼 + 𝑆) ∈ ℤ ∧ (𝐽 + 𝑆) ∈ ℤ))
17 moddvds 16346 . . 3 ((𝑁 ∈ ℕ ∧ (𝐼 + 𝑆) ∈ ℤ ∧ (𝐽 + 𝑆) ∈ ℤ) → (((𝐼 + 𝑆) mod 𝑁) = ((𝐽 + 𝑆) mod 𝑁) ↔ 𝑁 ∥ ((𝐼 + 𝑆) − (𝐽 + 𝑆))))
1816, 17syl 18 . 2 ((𝐼 ∈ (0..^𝑁) ∧ 𝐽 ∈ (0..^𝑁) ∧ 𝑆 ∈ ℤ) → (((𝐼 + 𝑆) mod 𝑁) = ((𝐽 + 𝑆) mod 𝑁) ↔ 𝑁 ∥ ((𝐼 + 𝑆) − (𝐽 + 𝑆))))
19 elfzoel2 13705 . . . . 5 (𝐼 ∈ (0..^𝑁) → 𝑁 ∈ ℤ)
20 zcn 12614 . . . . . . 7 (𝑁 ∈ ℤ → 𝑁 ∈ ℂ)
2120subid1d 11576 . . . . . 6 (𝑁 ∈ ℤ → (𝑁 − 0) = 𝑁)
2221eqcomd 2772 . . . . 5 (𝑁 ∈ ℤ → 𝑁 = (𝑁 − 0))
2319, 22syl 18 . . . 4 (𝐼 ∈ (0..^𝑁) → 𝑁 = (𝑁 − 0))
24233ad2ant1 1151 . . 3 ((𝐼 ∈ (0..^𝑁) ∧ 𝐽 ∈ (0..^𝑁) ∧ 𝑆 ∈ ℤ) → 𝑁 = (𝑁 − 0))
25 elfzoelz 13706 . . . . 5 (𝐼 ∈ (0..^𝑁) → 𝐼 ∈ ℤ)
2625zcnd 12719 . . . 4 (𝐼 ∈ (0..^𝑁) → 𝐼 ∈ ℂ)
272zcnd 12719 . . . 4 (𝐽 ∈ (0..^𝑁) → 𝐽 ∈ ℂ)
28 zcn 12614 . . . 4 (𝑆 ∈ ℤ → 𝑆 ∈ ℂ)
29 pnpcan2 11516 . . . 4 ((𝐼 ∈ ℂ ∧ 𝐽 ∈ ℂ ∧ 𝑆 ∈ ℂ) → ((𝐼 + 𝑆) − (𝐽 + 𝑆)) = (𝐼𝐽))
3026, 27, 28, 29syl3an 1178 . . 3 ((𝐼 ∈ (0..^𝑁) ∧ 𝐽 ∈ (0..^𝑁) ∧ 𝑆 ∈ ℤ) → ((𝐼 + 𝑆) − (𝐽 + 𝑆)) = (𝐼𝐽))
3124, 30breq12d 5127 . 2 ((𝐼 ∈ (0..^𝑁) ∧ 𝐽 ∈ (0..^𝑁) ∧ 𝑆 ∈ ℤ) → (𝑁 ∥ ((𝐼 + 𝑆) − (𝐽 + 𝑆)) ↔ (𝑁 − 0) ∥ (𝐼𝐽)))
32 fzocongeq 16407 . . 3 ((𝐼 ∈ (0..^𝑁) ∧ 𝐽 ∈ (0..^𝑁)) → ((𝑁 − 0) ∥ (𝐼𝐽) ↔ 𝐼 = 𝐽))
33323adant3 1150 . 2 ((𝐼 ∈ (0..^𝑁) ∧ 𝐽 ∈ (0..^𝑁) ∧ 𝑆 ∈ ℤ) → ((𝑁 − 0) ∥ (𝐼𝐽) ↔ 𝐼 = 𝐽))
3418, 31, 333bitrd 308 1 ((𝐼 ∈ (0..^𝑁) ∧ 𝐽 ∈ (0..^𝑁) ∧ 𝑆 ∈ ℤ) → (((𝐼 + 𝑆) mod 𝑁) = ((𝐽 + 𝑆) mod 𝑁) ↔ 𝐼 = 𝐽))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wi 4  wb 209  wa 401  w3a 1103   = wceq 1570  wcel 2146   class class class wbr 5114  (class class class)co 7423  cc 11116  0cc0 11118   + caddc 11121   < clt 11261  cmin 11459  cn 12251  0cn0 12522  cz 12609  ..^cfzo 13701   mod cmo 13922  cdvds 16335
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2148  ax-9 2156  ax-10 2179  ax-11 2195  ax-12 2216  ax-ext 2738  ax-sep 5262  ax-nul 5274  ax-pow 5341  ax-pr 5409  ax-un 7745  ax-cnex 11174  ax-resscn 11175  ax-1cn 11176  ax-icn 11177  ax-addcl 11178  ax-addrcl 11179  ax-mulcl 11180  ax-mulrcl 11181  ax-mulcom 11182  ax-addass 11183  ax-mulass 11184  ax-distr 11185  ax-i2m1 11186  ax-1ne0 11187  ax-1rid 11188  ax-rnegex 11189  ax-rrecex 11190  ax-cnre 11191  ax-pre-lttri 11192  ax-pre-lttrn 11193  ax-pre-ltadd 11194  ax-pre-mulgt0 11195  ax-pre-sup 11196
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2570  df-eu 2600  df-clab 2745  df-cleq 2758  df-clel 2841  df-nfc 2915  df-ne 2962  df-nel 3068  df-ral 3083  df-rex 3093  df-rmo 3372  df-reu 3373  df-rab 3420  df-v 3460  df-sbc 3748  df-csb 3857  df-dif 3911  df-un 3913  df-in 3915  df-ss 3925  df-pss 3928  df-nul 4290  df-if 4493  df-pw 4569  df-sn 4595  df-pr 4597  df-op 4601  df-uni 4878  df-iun 4963  df-br 5115  df-opab 5179  df-mpt 5198  df-tr 5224  df-id 5561  df-eprel 5566  df-po 5574  df-so 5575  df-fr 5619  df-we 5621  df-xp 5672  df-rel 5673  df-cnv 5674  df-co 5675  df-dm 5676  df-rn 5677  df-res 5678  df-ima 5679  df-pred 6309  df-ord 6370  df-on 6371  df-lim 6372  df-suc 6373  df-iota 6499  df-fun 6545  df-fn 6546  df-f 6547  df-f1 6548  df-fo 6549  df-f1o 6550  df-fv 6551  df-riota 7380  df-ov 7426  df-oprab 7427  df-mpo 7428  df-om 7872  df-1st 7995  df-2nd 7996  df-frecs 8287  df-wrecs 8318  df-recs 8367  df-rdg 8406  df-er 8703  df-en 8953  df-dom 8954  df-sdom 8955  df-sup 9412  df-inf 9413  df-pnf 11263  df-mnf 11264  df-xr 11265  df-ltxr 11266  df-le 11267  df-sub 11461  df-neg 11462  df-div 11890  df-nn 12252  df-2 12321  df-3 12322  df-n0 12523  df-z 12610  df-uz 12881  df-rp 13035  df-fz 13554  df-fzo 13702  df-fl 13845  df-mod 13923  df-seq 14058  df-exp 14118  df-cj 15176  df-re 15177  df-im 15178  df-sqrt 15312  df-abs 15313  df-dvds 16336
This theorem is used by: (None)
  Copyright terms: Public domain W3C validator