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

Theorem addmodlteqALT 16384
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 13984 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 13731 . . . . 5 (𝐼 ∈ (0..^𝑁) ↔ (𝐼 ∈ ℕ0𝑁 ∈ ℕ ∧ 𝐼 < 𝑁))
2 elfzoelz 13689 . . . . . . . 8 (𝐽 ∈ (0..^𝑁) → 𝐽 ∈ ℤ)
3 simplrr 789 . . . . . . . . . 10 (((𝐽 ∈ ℤ ∧ (𝐼 ∈ ℕ0𝑁 ∈ ℕ)) ∧ 𝑆 ∈ ℤ) → 𝑁 ∈ ℕ)
4 nn0z 12616 . . . . . . . . . . . 12 (𝐼 ∈ ℕ0𝐼 ∈ ℤ)
54ad2antrl 740 . . . . . . . . . . 11 ((𝐽 ∈ ℤ ∧ (𝐼 ∈ ℕ0𝑁 ∈ ℕ)) → 𝐼 ∈ ℤ)
6 zaddcl 12635 . . . . . . . . . . 11 ((𝐼 ∈ ℤ ∧ 𝑆 ∈ ℤ) → (𝐼 + 𝑆) ∈ ℤ)
75, 6sylan 591 . . . . . . . . . 10 (((𝐽 ∈ ℤ ∧ (𝐼 ∈ ℕ0𝑁 ∈ ℕ)) ∧ 𝑆 ∈ ℤ) → (𝐼 + 𝑆) ∈ ℤ)
8 zaddcl 12635 . . . . . . . . . . 11 ((𝐽 ∈ ℤ ∧ 𝑆 ∈ ℤ) → (𝐽 + 𝑆) ∈ ℤ)
98adantlr 727 . . . . . . . . . 10 (((𝐽 ∈ ℤ ∧ (𝐼 ∈ ℕ0𝑁 ∈ ℕ)) ∧ 𝑆 ∈ ℤ) → (𝐽 + 𝑆) ∈ ℤ)
103, 7, 93jca 1146 . . . . . . . . 9 (((𝐽 ∈ ℤ ∧ (𝐼 ∈ ℕ0𝑁 ∈ ℕ)) ∧ 𝑆 ∈ ℤ) → (𝑁 ∈ ℕ ∧ (𝐼 + 𝑆) ∈ ℤ ∧ (𝐽 + 𝑆) ∈ ℤ))
1110exp31 424 . . . . . . . 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 16322 . . 3 ((𝑁 ∈ ℕ ∧ (𝐼 + 𝑆) ∈ ℤ ∧ (𝐽 + 𝑆) ∈ ℤ) → (((𝐼 + 𝑆) mod 𝑁) = ((𝐽 + 𝑆) mod 𝑁) ↔ 𝑁 ∥ ((𝐼 + 𝑆) − (𝐽 + 𝑆))))
1816, 17syl 18 . 2 ((𝐼 ∈ (0..^𝑁) ∧ 𝐽 ∈ (0..^𝑁) ∧ 𝑆 ∈ ℤ) → (((𝐼 + 𝑆) mod 𝑁) = ((𝐽 + 𝑆) mod 𝑁) ↔ 𝑁 ∥ ((𝐼 + 𝑆) − (𝐽 + 𝑆))))
19 elfzoel2 13688 . . . . 5 (𝐼 ∈ (0..^𝑁) → 𝑁 ∈ ℤ)
20 zcn 12597 . . . . . . 7 (𝑁 ∈ ℤ → 𝑁 ∈ ℂ)
2120subid1d 11559 . . . . . 6 (𝑁 ∈ ℤ → (𝑁 − 0) = 𝑁)
2221eqcomd 2769 . . . . 5 (𝑁 ∈ ℤ → 𝑁 = (𝑁 − 0))
2319, 22syl 18 . . . 4 (𝐼 ∈ (0..^𝑁) → 𝑁 = (𝑁 − 0))
24233ad2ant1 1151 . . 3 ((𝐼 ∈ (0..^𝑁) ∧ 𝐽 ∈ (0..^𝑁) ∧ 𝑆 ∈ ℤ) → 𝑁 = (𝑁 − 0))
25 elfzoelz 13689 . . . . 5 (𝐼 ∈ (0..^𝑁) → 𝐼 ∈ ℤ)
2625zcnd 12702 . . . 4 (𝐼 ∈ (0..^𝑁) → 𝐼 ∈ ℂ)
272zcnd 12702 . . . 4 (𝐽 ∈ (0..^𝑁) → 𝐽 ∈ ℂ)
28 zcn 12597 . . . 4 (𝑆 ∈ ℤ → 𝑆 ∈ ℂ)
29 pnpcan2 11499 . . . 4 ((𝐼 ∈ ℂ ∧ 𝐽 ∈ ℂ ∧ 𝑆 ∈ ℂ) → ((𝐼 + 𝑆) − (𝐽 + 𝑆)) = (𝐼𝐽))
3026, 27, 28, 29syl3an 1178 . . 3 ((𝐼 ∈ (0..^𝑁) ∧ 𝐽 ∈ (0..^𝑁) ∧ 𝑆 ∈ ℤ) → ((𝐼 + 𝑆) − (𝐽 + 𝑆)) = (𝐼𝐽))
3124, 30breq12d 5123 . 2 ((𝐼 ∈ (0..^𝑁) ∧ 𝐽 ∈ (0..^𝑁) ∧ 𝑆 ∈ ℤ) → (𝑁 ∥ ((𝐼 + 𝑆) − (𝐽 + 𝑆)) ↔ (𝑁 − 0) ∥ (𝐼𝐽)))
32 fzocongeq 16383 . . 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
Syntax hints:  wi 4  wb 209  wa 400  w3a 1103   = wceq 1570  wcel 2143   class class class wbr 5110  (class class class)co 7412  cc 11099  0cc0 11101   + caddc 11104   < clt 11244  cmin 11442  cn 12234  0cn0 12505  cz 12592  ..^cfzo 13684   mod cmo 13904  cdvds 16311
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1825  ax-4 1839  ax-5 1940  ax-6 1997  ax-7 2038  ax-8 2145  ax-9 2153  ax-10 2176  ax-11 2192  ax-12 2213  ax-ext 2735  ax-sep 5258  ax-nul 5270  ax-pow 5338  ax-pr 5406  ax-un 7734  ax-cnex 11157  ax-resscn 11158  ax-1cn 11159  ax-icn 11160  ax-addcl 11161  ax-addrcl 11162  ax-mulcl 11163  ax-mulrcl 11164  ax-mulcom 11165  ax-addass 11166  ax-mulass 11167  ax-distr 11168  ax-i2m1 11169  ax-1ne0 11170  ax-1rid 11171  ax-rnegex 11172  ax-rrecex 11173  ax-cnre 11174  ax-pre-lttri 11175  ax-pre-lttrn 11176  ax-pre-ltadd 11177  ax-pre-mulgt0 11178  ax-pre-sup 11179
This theorem depends on definitions:  df-bi 210  df-an 401  df-or 861  df-3or 1104  df-3an 1105  df-tru 1573  df-fal 1583  df-ex 1810  df-nf 1814  df-sb 2097  df-mo 2567  df-eu 2597  df-clab 2742  df-cleq 2755  df-clel 2838  df-nfc 2912  df-ne 2959  df-nel 3065  df-ral 3080  df-rex 3090  df-rmo 3369  df-reu 3370  df-rab 3417  df-v 3457  df-sbc 3746  df-csb 3855  df-dif 3909  df-un 3911  df-in 3913  df-ss 3923  df-pss 3926  df-nul 4288  df-if 4489  df-pw 4565  df-sn 4591  df-pr 4593  df-op 4597  df-uni 4874  df-iun 4959  df-br 5111  df-opab 5175  df-mpt 5194  df-tr 5220  df-id 5558  df-eprel 5563  df-po 5571  df-so 5572  df-fr 5616  df-we 5618  df-xp 5669  df-rel 5670  df-cnv 5671  df-co 5672  df-dm 5673  df-rn 5674  df-res 5675  df-ima 5676  df-pred 6304  df-ord 6365  df-on 6366  df-lim 6367  df-suc 6368  df-iota 6494  df-fun 6540  df-fn 6541  df-f 6542  df-f1 6543  df-fo 6544  df-f1o 6545  df-fv 6546  df-riota 7369  df-ov 7415  df-oprab 7416  df-mpo 7417  df-om 7864  df-1st 7987  df-2nd 7988  df-frecs 8279  df-wrecs 8310  df-recs 8359  df-rdg 8398  df-er 8695  df-en 8945  df-dom 8946  df-sdom 8947  df-sup 9403  df-inf 9404  df-pnf 11246  df-mnf 11247  df-xr 11248  df-ltxr 11249  df-le 11250  df-sub 11444  df-neg 11445  df-div 11873  df-nn 12235  df-2 12304  df-3 12305  df-n0 12506  df-z 12593  df-uz 12864  df-rp 13018  df-fz 13537  df-fzo 13685  df-fl 13827  df-mod 13905  df-seq 14040  df-exp 14100  df-cj 15152  df-re 15153  df-im 15154  df-sqrt 15288  df-abs 15289  df-dvds 16312
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator