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

Theorem addmodlteqALT 16362
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 13987 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 13740 . . . . 5 (𝐼 ∈ (0..^𝑁) ↔ (𝐼 ∈ ℕ0𝑁 ∈ ℕ ∧ 𝐼 < 𝑁))
2 elfzoelz 13699 . . . . . . . 8 (𝐽 ∈ (0..^𝑁) → 𝐽 ∈ ℤ)
3 simplrr 778 . . . . . . . . . 10 (((𝐽 ∈ ℤ ∧ (𝐼 ∈ ℕ0𝑁 ∈ ℕ)) ∧ 𝑆 ∈ ℤ) → 𝑁 ∈ ℕ)
4 nn0z 12638 . . . . . . . . . . . 12 (𝐼 ∈ ℕ0𝐼 ∈ ℤ)
54ad2antrl 728 . . . . . . . . . . 11 ((𝐽 ∈ ℤ ∧ (𝐼 ∈ ℕ0𝑁 ∈ ℕ)) → 𝐼 ∈ ℤ)
6 zaddcl 12657 . . . . . . . . . . 11 ((𝐼 ∈ ℤ ∧ 𝑆 ∈ ℤ) → (𝐼 + 𝑆) ∈ ℤ)
75, 6sylan 580 . . . . . . . . . 10 (((𝐽 ∈ ℤ ∧ (𝐼 ∈ ℕ0𝑁 ∈ ℕ)) ∧ 𝑆 ∈ ℤ) → (𝐼 + 𝑆) ∈ ℤ)
8 zaddcl 12657 . . . . . . . . . . 11 ((𝐽 ∈ ℤ ∧ 𝑆 ∈ ℤ) → (𝐽 + 𝑆) ∈ ℤ)
98adantlr 715 . . . . . . . . . 10 (((𝐽 ∈ ℤ ∧ (𝐼 ∈ ℕ0𝑁 ∈ ℕ)) ∧ 𝑆 ∈ ℤ) → (𝐽 + 𝑆) ∈ ℤ)
103, 7, 93jca 1129 . . . . . . . . 9 (((𝐽 ∈ ℤ ∧ (𝐼 ∈ ℕ0𝑁 ∈ ℕ)) ∧ 𝑆 ∈ ℤ) → (𝑁 ∈ ℕ ∧ (𝐼 + 𝑆) ∈ ℤ ∧ (𝐽 + 𝑆) ∈ ℤ))
1110exp31 419 . . . . . . . 8 (𝐽 ∈ ℤ → ((𝐼 ∈ ℕ0𝑁 ∈ ℕ) → (𝑆 ∈ ℤ → (𝑁 ∈ ℕ ∧ (𝐼 + 𝑆) ∈ ℤ ∧ (𝐽 + 𝑆) ∈ ℤ))))
122, 11syl 17 . . . . . . 7 (𝐽 ∈ (0..^𝑁) → ((𝐼 ∈ ℕ0𝑁 ∈ ℕ) → (𝑆 ∈ ℤ → (𝑁 ∈ ℕ ∧ (𝐼 + 𝑆) ∈ ℤ ∧ (𝐽 + 𝑆) ∈ ℤ))))
1312com12 32 . . . . . 6 ((𝐼 ∈ ℕ0𝑁 ∈ ℕ) → (𝐽 ∈ (0..^𝑁) → (𝑆 ∈ ℤ → (𝑁 ∈ ℕ ∧ (𝐼 + 𝑆) ∈ ℤ ∧ (𝐽 + 𝑆) ∈ ℤ))))
14133adant3 1133 . . . . 5 ((𝐼 ∈ ℕ0𝑁 ∈ ℕ ∧ 𝐼 < 𝑁) → (𝐽 ∈ (0..^𝑁) → (𝑆 ∈ ℤ → (𝑁 ∈ ℕ ∧ (𝐼 + 𝑆) ∈ ℤ ∧ (𝐽 + 𝑆) ∈ ℤ))))
151, 14sylbi 217 . . . 4 (𝐼 ∈ (0..^𝑁) → (𝐽 ∈ (0..^𝑁) → (𝑆 ∈ ℤ → (𝑁 ∈ ℕ ∧ (𝐼 + 𝑆) ∈ ℤ ∧ (𝐽 + 𝑆) ∈ ℤ))))
16153imp 1111 . . 3 ((𝐼 ∈ (0..^𝑁) ∧ 𝐽 ∈ (0..^𝑁) ∧ 𝑆 ∈ ℤ) → (𝑁 ∈ ℕ ∧ (𝐼 + 𝑆) ∈ ℤ ∧ (𝐽 + 𝑆) ∈ ℤ))
17 moddvds 16301 . . 3 ((𝑁 ∈ ℕ ∧ (𝐼 + 𝑆) ∈ ℤ ∧ (𝐽 + 𝑆) ∈ ℤ) → (((𝐼 + 𝑆) mod 𝑁) = ((𝐽 + 𝑆) mod 𝑁) ↔ 𝑁 ∥ ((𝐼 + 𝑆) − (𝐽 + 𝑆))))
1816, 17syl 17 . 2 ((𝐼 ∈ (0..^𝑁) ∧ 𝐽 ∈ (0..^𝑁) ∧ 𝑆 ∈ ℤ) → (((𝐼 + 𝑆) mod 𝑁) = ((𝐽 + 𝑆) mod 𝑁) ↔ 𝑁 ∥ ((𝐼 + 𝑆) − (𝐽 + 𝑆))))
19 elfzoel2 13698 . . . . 5 (𝐼 ∈ (0..^𝑁) → 𝑁 ∈ ℤ)
20 zcn 12618 . . . . . . 7 (𝑁 ∈ ℤ → 𝑁 ∈ ℂ)
2120subid1d 11609 . . . . . 6 (𝑁 ∈ ℤ → (𝑁 − 0) = 𝑁)
2221eqcomd 2743 . . . . 5 (𝑁 ∈ ℤ → 𝑁 = (𝑁 − 0))
2319, 22syl 17 . . . 4 (𝐼 ∈ (0..^𝑁) → 𝑁 = (𝑁 − 0))
24233ad2ant1 1134 . . 3 ((𝐼 ∈ (0..^𝑁) ∧ 𝐽 ∈ (0..^𝑁) ∧ 𝑆 ∈ ℤ) → 𝑁 = (𝑁 − 0))
25 elfzoelz 13699 . . . . 5 (𝐼 ∈ (0..^𝑁) → 𝐼 ∈ ℤ)
2625zcnd 12723 . . . 4 (𝐼 ∈ (0..^𝑁) → 𝐼 ∈ ℂ)
272zcnd 12723 . . . 4 (𝐽 ∈ (0..^𝑁) → 𝐽 ∈ ℂ)
28 zcn 12618 . . . 4 (𝑆 ∈ ℤ → 𝑆 ∈ ℂ)
29 pnpcan2 11549 . . . 4 ((𝐼 ∈ ℂ ∧ 𝐽 ∈ ℂ ∧ 𝑆 ∈ ℂ) → ((𝐼 + 𝑆) − (𝐽 + 𝑆)) = (𝐼𝐽))
3026, 27, 28, 29syl3an 1161 . . 3 ((𝐼 ∈ (0..^𝑁) ∧ 𝐽 ∈ (0..^𝑁) ∧ 𝑆 ∈ ℤ) → ((𝐼 + 𝑆) − (𝐽 + 𝑆)) = (𝐼𝐽))
3124, 30breq12d 5156 . 2 ((𝐼 ∈ (0..^𝑁) ∧ 𝐽 ∈ (0..^𝑁) ∧ 𝑆 ∈ ℤ) → (𝑁 ∥ ((𝐼 + 𝑆) − (𝐽 + 𝑆)) ↔ (𝑁 − 0) ∥ (𝐼𝐽)))
32 fzocongeq 16361 . . 3 ((𝐼 ∈ (0..^𝑁) ∧ 𝐽 ∈ (0..^𝑁)) → ((𝑁 − 0) ∥ (𝐼𝐽) ↔ 𝐼 = 𝐽))
33323adant3 1133 . 2 ((𝐼 ∈ (0..^𝑁) ∧ 𝐽 ∈ (0..^𝑁) ∧ 𝑆 ∈ ℤ) → ((𝑁 − 0) ∥ (𝐼𝐽) ↔ 𝐼 = 𝐽))
3418, 31, 333bitrd 305 1 ((𝐼 ∈ (0..^𝑁) ∧ 𝐽 ∈ (0..^𝑁) ∧ 𝑆 ∈ ℤ) → (((𝐼 + 𝑆) mod 𝑁) = ((𝐽 + 𝑆) mod 𝑁) ↔ 𝐼 = 𝐽))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395  w3a 1087   = wceq 1540  wcel 2108   class class class wbr 5143  (class class class)co 7431  cc 11153  0cc0 11155   + caddc 11158   < clt 11295  cmin 11492  cn 12266  0cn0 12526  cz 12613  ..^cfzo 13694   mod cmo 13909  cdvds 16290
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1795  ax-4 1809  ax-5 1910  ax-6 1967  ax-7 2007  ax-8 2110  ax-9 2118  ax-10 2141  ax-11 2157  ax-12 2177  ax-ext 2708  ax-sep 5296  ax-nul 5306  ax-pow 5365  ax-pr 5432  ax-un 7755  ax-cnex 11211  ax-resscn 11212  ax-1cn 11213  ax-icn 11214  ax-addcl 11215  ax-addrcl 11216  ax-mulcl 11217  ax-mulrcl 11218  ax-mulcom 11219  ax-addass 11220  ax-mulass 11221  ax-distr 11222  ax-i2m1 11223  ax-1ne0 11224  ax-1rid 11225  ax-rnegex 11226  ax-rrecex 11227  ax-cnre 11228  ax-pre-lttri 11229  ax-pre-lttrn 11230  ax-pre-ltadd 11231  ax-pre-mulgt0 11232  ax-pre-sup 11233
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 849  df-3or 1088  df-3an 1089  df-tru 1543  df-fal 1553  df-ex 1780  df-nf 1784  df-sb 2065  df-mo 2540  df-eu 2569  df-clab 2715  df-cleq 2729  df-clel 2816  df-nfc 2892  df-ne 2941  df-nel 3047  df-ral 3062  df-rex 3071  df-rmo 3380  df-reu 3381  df-rab 3437  df-v 3482  df-sbc 3789  df-csb 3900  df-dif 3954  df-un 3956  df-in 3958  df-ss 3968  df-pss 3971  df-nul 4334  df-if 4526  df-pw 4602  df-sn 4627  df-pr 4629  df-op 4633  df-uni 4908  df-iun 4993  df-br 5144  df-opab 5206  df-mpt 5226  df-tr 5260  df-id 5578  df-eprel 5584  df-po 5592  df-so 5593  df-fr 5637  df-we 5639  df-xp 5691  df-rel 5692  df-cnv 5693  df-co 5694  df-dm 5695  df-rn 5696  df-res 5697  df-ima 5698  df-pred 6321  df-ord 6387  df-on 6388  df-lim 6389  df-suc 6390  df-iota 6514  df-fun 6563  df-fn 6564  df-f 6565  df-f1 6566  df-fo 6567  df-f1o 6568  df-fv 6569  df-riota 7388  df-ov 7434  df-oprab 7435  df-mpo 7436  df-om 7888  df-1st 8014  df-2nd 8015  df-frecs 8306  df-wrecs 8337  df-recs 8411  df-rdg 8450  df-er 8745  df-en 8986  df-dom 8987  df-sdom 8988  df-sup 9482  df-inf 9483  df-pnf 11297  df-mnf 11298  df-xr 11299  df-ltxr 11300  df-le 11301  df-sub 11494  df-neg 11495  df-div 11921  df-nn 12267  df-2 12329  df-3 12330  df-n0 12527  df-z 12614  df-uz 12879  df-rp 13035  df-fz 13548  df-fzo 13695  df-fl 13832  df-mod 13910  df-seq 14043  df-exp 14103  df-cj 15138  df-re 15139  df-im 15140  df-sqrt 15274  df-abs 15275  df-dvds 16291
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator