Users' Mathboxes Mathbox for Alexander van der Vekens < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  m1modmmod Structured version   Visualization version   GIF version

Theorem m1modmmod 42110
Description: An integer decreased by 1 modulo a positive integer minus the integer modulo the same modulus is either -1 or the modulus minus 1. (Contributed by AV, 7-Jun-2020.)
Assertion
Ref Expression
m1modmmod ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → (((𝐴 − 1) mod 𝑁) − (𝐴 mod 𝑁)) = if((𝐴 mod 𝑁) = 0, (𝑁 − 1), -1))

Proof of Theorem m1modmmod
Dummy variables 𝑥 𝑦 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 oveq2 6557 . . . . 5 ((𝐴 mod 𝑁) = 0 → (((𝐴 − 1) mod 𝑁) − (𝐴 mod 𝑁)) = (((𝐴 − 1) mod 𝑁) − 0))
21adantl 481 . . . 4 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → (((𝐴 − 1) mod 𝑁) − (𝐴 mod 𝑁)) = (((𝐴 − 1) mod 𝑁) − 0))
3 peano2zm 11297 . . . . . . . . . 10 (𝐴 ∈ ℤ → (𝐴 − 1) ∈ ℤ)
43zred 11358 . . . . . . . . 9 (𝐴 ∈ ℤ → (𝐴 − 1) ∈ ℝ)
54adantr 480 . . . . . . . 8 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → (𝐴 − 1) ∈ ℝ)
6 nnrp 11718 . . . . . . . . 9 (𝑁 ∈ ℕ → 𝑁 ∈ ℝ+)
76adantl 481 . . . . . . . 8 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → 𝑁 ∈ ℝ+)
85, 7modcld 12536 . . . . . . 7 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → ((𝐴 − 1) mod 𝑁) ∈ ℝ)
98recnd 9947 . . . . . 6 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → ((𝐴 − 1) mod 𝑁) ∈ ℂ)
109subid1d 10260 . . . . 5 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → (((𝐴 − 1) mod 𝑁) − 0) = ((𝐴 − 1) mod 𝑁))
1110adantr 480 . . . 4 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → (((𝐴 − 1) mod 𝑁) − 0) = ((𝐴 − 1) mod 𝑁))
12 mod0mul 42108 . . . . . 6 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → ((𝐴 mod 𝑁) = 0 → ∃𝑥 ∈ ℤ 𝐴 = (𝑥 · 𝑁)))
1312imp 444 . . . . 5 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → ∃𝑥 ∈ ℤ 𝐴 = (𝑥 · 𝑁))
14 oveq1 6556 . . . . . . . . . 10 (𝐴 = (𝑥 · 𝑁) → (𝐴 − 1) = ((𝑥 · 𝑁) − 1))
1514oveq1d 6564 . . . . . . . . 9 (𝐴 = (𝑥 · 𝑁) → ((𝐴 − 1) mod 𝑁) = (((𝑥 · 𝑁) − 1) mod 𝑁))
16 zcn 11259 . . . . . . . . . . . . . . . . 17 (𝑥 ∈ ℤ → 𝑥 ∈ ℂ)
17 nncn 10905 . . . . . . . . . . . . . . . . . 18 (𝑁 ∈ ℕ → 𝑁 ∈ ℂ)
1817adantl 481 . . . . . . . . . . . . . . . . 17 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → 𝑁 ∈ ℂ)
19 mulcl 9899 . . . . . . . . . . . . . . . . 17 ((𝑥 ∈ ℂ ∧ 𝑁 ∈ ℂ) → (𝑥 · 𝑁) ∈ ℂ)
2016, 18, 19syl2anr 494 . . . . . . . . . . . . . . . 16 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → (𝑥 · 𝑁) ∈ ℂ)
2118adantr 480 . . . . . . . . . . . . . . . 16 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → 𝑁 ∈ ℂ)
2220, 21npcand 10275 . . . . . . . . . . . . . . 15 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → (((𝑥 · 𝑁) − 𝑁) + 𝑁) = (𝑥 · 𝑁))
2322eqcomd 2616 . . . . . . . . . . . . . 14 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → (𝑥 · 𝑁) = (((𝑥 · 𝑁) − 𝑁) + 𝑁))
2416adantl 481 . . . . . . . . . . . . . . . 16 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → 𝑥 ∈ ℂ)
2524, 21mulsubfacd 10371 . . . . . . . . . . . . . . 15 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → ((𝑥 · 𝑁) − 𝑁) = ((𝑥 − 1) · 𝑁))
2625oveq1d 6564 . . . . . . . . . . . . . 14 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → (((𝑥 · 𝑁) − 𝑁) + 𝑁) = (((𝑥 − 1) · 𝑁) + 𝑁))
2723, 26eqtrd 2644 . . . . . . . . . . . . 13 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → (𝑥 · 𝑁) = (((𝑥 − 1) · 𝑁) + 𝑁))
2827oveq1d 6564 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → ((𝑥 · 𝑁) − 1) = ((((𝑥 − 1) · 𝑁) + 𝑁) − 1))
29 peano2zm 11297 . . . . . . . . . . . . . . 15 (𝑥 ∈ ℤ → (𝑥 − 1) ∈ ℤ)
3029zcnd 11359 . . . . . . . . . . . . . 14 (𝑥 ∈ ℤ → (𝑥 − 1) ∈ ℂ)
31 mulcl 9899 . . . . . . . . . . . . . 14 (((𝑥 − 1) ∈ ℂ ∧ 𝑁 ∈ ℂ) → ((𝑥 − 1) · 𝑁) ∈ ℂ)
3230, 18, 31syl2anr 494 . . . . . . . . . . . . 13 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → ((𝑥 − 1) · 𝑁) ∈ ℂ)
33 1cnd 9935 . . . . . . . . . . . . 13 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → 1 ∈ ℂ)
3432, 21, 33addsubassd 10291 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → ((((𝑥 − 1) · 𝑁) + 𝑁) − 1) = (((𝑥 − 1) · 𝑁) + (𝑁 − 1)))
3528, 34eqtrd 2644 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → ((𝑥 · 𝑁) − 1) = (((𝑥 − 1) · 𝑁) + (𝑁 − 1)))
3635oveq1d 6564 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → (((𝑥 · 𝑁) − 1) mod 𝑁) = ((((𝑥 − 1) · 𝑁) + (𝑁 − 1)) mod 𝑁))
37 nnre 10904 . . . . . . . . . . . . . . . 16 (𝑁 ∈ ℕ → 𝑁 ∈ ℝ)
38 peano2rem 10227 . . . . . . . . . . . . . . . 16 (𝑁 ∈ ℝ → (𝑁 − 1) ∈ ℝ)
3937, 38syl 17 . . . . . . . . . . . . . . 15 (𝑁 ∈ ℕ → (𝑁 − 1) ∈ ℝ)
4039recnd 9947 . . . . . . . . . . . . . 14 (𝑁 ∈ ℕ → (𝑁 − 1) ∈ ℂ)
4140adantl 481 . . . . . . . . . . . . 13 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → (𝑁 − 1) ∈ ℂ)
4241adantr 480 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → (𝑁 − 1) ∈ ℂ)
4332, 42addcomd 10117 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → (((𝑥 − 1) · 𝑁) + (𝑁 − 1)) = ((𝑁 − 1) + ((𝑥 − 1) · 𝑁)))
4443oveq1d 6564 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → ((((𝑥 − 1) · 𝑁) + (𝑁 − 1)) mod 𝑁) = (((𝑁 − 1) + ((𝑥 − 1) · 𝑁)) mod 𝑁))
4539adantl 481 . . . . . . . . . . . . 13 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → (𝑁 − 1) ∈ ℝ)
4645adantr 480 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → (𝑁 − 1) ∈ ℝ)
477adantr 480 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → 𝑁 ∈ ℝ+)
4829adantl 481 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → (𝑥 − 1) ∈ ℤ)
49 modcyc 12567 . . . . . . . . . . . 12 (((𝑁 − 1) ∈ ℝ ∧ 𝑁 ∈ ℝ+ ∧ (𝑥 − 1) ∈ ℤ) → (((𝑁 − 1) + ((𝑥 − 1) · 𝑁)) mod 𝑁) = ((𝑁 − 1) mod 𝑁))
5046, 47, 48, 49syl3anc 1318 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → (((𝑁 − 1) + ((𝑥 − 1) · 𝑁)) mod 𝑁) = ((𝑁 − 1) mod 𝑁))
5139, 6jca 553 . . . . . . . . . . . . . 14 (𝑁 ∈ ℕ → ((𝑁 − 1) ∈ ℝ ∧ 𝑁 ∈ ℝ+))
5251adantl 481 . . . . . . . . . . . . 13 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → ((𝑁 − 1) ∈ ℝ ∧ 𝑁 ∈ ℝ+))
5352adantr 480 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → ((𝑁 − 1) ∈ ℝ ∧ 𝑁 ∈ ℝ+))
54 nnm1ge0 11321 . . . . . . . . . . . . . 14 (𝑁 ∈ ℕ → 0 ≤ (𝑁 − 1))
5554adantl 481 . . . . . . . . . . . . 13 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → 0 ≤ (𝑁 − 1))
5655adantr 480 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → 0 ≤ (𝑁 − 1))
5737ltm1d 10835 . . . . . . . . . . . . . 14 (𝑁 ∈ ℕ → (𝑁 − 1) < 𝑁)
5857adantl 481 . . . . . . . . . . . . 13 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → (𝑁 − 1) < 𝑁)
5958adantr 480 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → (𝑁 − 1) < 𝑁)
60 modid 12557 . . . . . . . . . . . 12 ((((𝑁 − 1) ∈ ℝ ∧ 𝑁 ∈ ℝ+) ∧ (0 ≤ (𝑁 − 1) ∧ (𝑁 − 1) < 𝑁)) → ((𝑁 − 1) mod 𝑁) = (𝑁 − 1))
6153, 56, 59, 60syl12anc 1316 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → ((𝑁 − 1) mod 𝑁) = (𝑁 − 1))
6250, 61eqtrd 2644 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → (((𝑁 − 1) + ((𝑥 − 1) · 𝑁)) mod 𝑁) = (𝑁 − 1))
6336, 44, 623eqtrd 2648 . . . . . . . . 9 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → (((𝑥 · 𝑁) − 1) mod 𝑁) = (𝑁 − 1))
6415, 63sylan9eqr 2666 . . . . . . . 8 ((((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) ∧ 𝐴 = (𝑥 · 𝑁)) → ((𝐴 − 1) mod 𝑁) = (𝑁 − 1))
6564ex 449 . . . . . . 7 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → (𝐴 = (𝑥 · 𝑁) → ((𝐴 − 1) mod 𝑁) = (𝑁 − 1)))
6665rexlimdva 3013 . . . . . 6 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → (∃𝑥 ∈ ℤ 𝐴 = (𝑥 · 𝑁) → ((𝐴 − 1) mod 𝑁) = (𝑁 − 1)))
6766adantr 480 . . . . 5 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → (∃𝑥 ∈ ℤ 𝐴 = (𝑥 · 𝑁) → ((𝐴 − 1) mod 𝑁) = (𝑁 − 1)))
6813, 67mpd 15 . . . 4 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → ((𝐴 − 1) mod 𝑁) = (𝑁 − 1))
692, 11, 683eqtrrd 2649 . . 3 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → (𝑁 − 1) = (((𝐴 − 1) mod 𝑁) − (𝐴 mod 𝑁)))
70 df-ne 2782 . . . . 5 ((𝐴 mod 𝑁) ≠ 0 ↔ ¬ (𝐴 mod 𝑁) = 0)
71 modn0mul 42109 . . . . . 6 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → ((𝐴 mod 𝑁) ≠ 0 → ∃𝑥 ∈ ℤ ∃𝑦 ∈ (1..^𝑁)𝐴 = ((𝑥 · 𝑁) + 𝑦)))
72 oveq1 6556 . . . . . . . . . . . . 13 (𝐴 = ((𝑥 · 𝑁) + 𝑦) → (𝐴 − 1) = (((𝑥 · 𝑁) + 𝑦) − 1))
7372oveq1d 6564 . . . . . . . . . . . 12 (𝐴 = ((𝑥 · 𝑁) + 𝑦) → ((𝐴 − 1) mod 𝑁) = ((((𝑥 · 𝑁) + 𝑦) − 1) mod 𝑁))
74 oveq1 6556 . . . . . . . . . . . 12 (𝐴 = ((𝑥 · 𝑁) + 𝑦) → (𝐴 mod 𝑁) = (((𝑥 · 𝑁) + 𝑦) mod 𝑁))
7573, 74oveq12d 6567 . . . . . . . . . . 11 (𝐴 = ((𝑥 · 𝑁) + 𝑦) → (((𝐴 − 1) mod 𝑁) − (𝐴 mod 𝑁)) = (((((𝑥 · 𝑁) + 𝑦) − 1) mod 𝑁) − (((𝑥 · 𝑁) + 𝑦) mod 𝑁)))
7616adantr 480 . . . . . . . . . . . . . . . . 17 ((𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁)) → 𝑥 ∈ ℂ)
7776, 18, 19syl2anr 494 . . . . . . . . . . . . . . . 16 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → (𝑥 · 𝑁) ∈ ℂ)
78 elfzoelz 12339 . . . . . . . . . . . . . . . . . . 19 (𝑦 ∈ (1..^𝑁) → 𝑦 ∈ ℤ)
7978zcnd 11359 . . . . . . . . . . . . . . . . . 18 (𝑦 ∈ (1..^𝑁) → 𝑦 ∈ ℂ)
8079adantl 481 . . . . . . . . . . . . . . . . 17 ((𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁)) → 𝑦 ∈ ℂ)
8180adantl 481 . . . . . . . . . . . . . . . 16 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → 𝑦 ∈ ℂ)
82 1cnd 9935 . . . . . . . . . . . . . . . 16 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → 1 ∈ ℂ)
8377, 81, 82addsubassd 10291 . . . . . . . . . . . . . . 15 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → (((𝑥 · 𝑁) + 𝑦) − 1) = ((𝑥 · 𝑁) + (𝑦 − 1)))
84 peano2zm 11297 . . . . . . . . . . . . . . . . . . . 20 (𝑦 ∈ ℤ → (𝑦 − 1) ∈ ℤ)
8578, 84syl 17 . . . . . . . . . . . . . . . . . . 19 (𝑦 ∈ (1..^𝑁) → (𝑦 − 1) ∈ ℤ)
8685zcnd 11359 . . . . . . . . . . . . . . . . . 18 (𝑦 ∈ (1..^𝑁) → (𝑦 − 1) ∈ ℂ)
8786adantl 481 . . . . . . . . . . . . . . . . 17 ((𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁)) → (𝑦 − 1) ∈ ℂ)
8887adantl 481 . . . . . . . . . . . . . . . 16 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → (𝑦 − 1) ∈ ℂ)
8977, 88addcomd 10117 . . . . . . . . . . . . . . 15 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → ((𝑥 · 𝑁) + (𝑦 − 1)) = ((𝑦 − 1) + (𝑥 · 𝑁)))
9083, 89eqtrd 2644 . . . . . . . . . . . . . 14 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → (((𝑥 · 𝑁) + 𝑦) − 1) = ((𝑦 − 1) + (𝑥 · 𝑁)))
9190oveq1d 6564 . . . . . . . . . . . . 13 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → ((((𝑥 · 𝑁) + 𝑦) − 1) mod 𝑁) = (((𝑦 − 1) + (𝑥 · 𝑁)) mod 𝑁))
9285zred 11358 . . . . . . . . . . . . . . . 16 (𝑦 ∈ (1..^𝑁) → (𝑦 − 1) ∈ ℝ)
9392adantl 481 . . . . . . . . . . . . . . 15 ((𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁)) → (𝑦 − 1) ∈ ℝ)
9493adantl 481 . . . . . . . . . . . . . 14 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → (𝑦 − 1) ∈ ℝ)
957adantr 480 . . . . . . . . . . . . . 14 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → 𝑁 ∈ ℝ+)
96 simprl 790 . . . . . . . . . . . . . 14 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → 𝑥 ∈ ℤ)
97 modcyc 12567 . . . . . . . . . . . . . 14 (((𝑦 − 1) ∈ ℝ ∧ 𝑁 ∈ ℝ+𝑥 ∈ ℤ) → (((𝑦 − 1) + (𝑥 · 𝑁)) mod 𝑁) = ((𝑦 − 1) mod 𝑁))
9894, 95, 96, 97syl3anc 1318 . . . . . . . . . . . . 13 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → (((𝑦 − 1) + (𝑥 · 𝑁)) mod 𝑁) = ((𝑦 − 1) mod 𝑁))
9991, 98eqtrd 2644 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → ((((𝑥 · 𝑁) + 𝑦) − 1) mod 𝑁) = ((𝑦 − 1) mod 𝑁))
10077, 81addcomd 10117 . . . . . . . . . . . . . 14 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → ((𝑥 · 𝑁) + 𝑦) = (𝑦 + (𝑥 · 𝑁)))
101100oveq1d 6564 . . . . . . . . . . . . 13 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → (((𝑥 · 𝑁) + 𝑦) mod 𝑁) = ((𝑦 + (𝑥 · 𝑁)) mod 𝑁))
10278zred 11358 . . . . . . . . . . . . . . . 16 (𝑦 ∈ (1..^𝑁) → 𝑦 ∈ ℝ)
103102adantl 481 . . . . . . . . . . . . . . 15 ((𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁)) → 𝑦 ∈ ℝ)
104103adantl 481 . . . . . . . . . . . . . 14 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → 𝑦 ∈ ℝ)
105 modcyc 12567 . . . . . . . . . . . . . 14 ((𝑦 ∈ ℝ ∧ 𝑁 ∈ ℝ+𝑥 ∈ ℤ) → ((𝑦 + (𝑥 · 𝑁)) mod 𝑁) = (𝑦 mod 𝑁))
106104, 95, 96, 105syl3anc 1318 . . . . . . . . . . . . 13 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → ((𝑦 + (𝑥 · 𝑁)) mod 𝑁) = (𝑦 mod 𝑁))
1077, 103anim12ci 589 . . . . . . . . . . . . . . 15 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → (𝑦 ∈ ℝ ∧ 𝑁 ∈ ℝ+))
108 elfzole1 12347 . . . . . . . . . . . . . . . . . . 19 (𝑦 ∈ (1..^𝑁) → 1 ≤ 𝑦)
109 0lt1 10429 . . . . . . . . . . . . . . . . . . . 20 0 < 1
110 0red 9920 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 ∈ (1..^𝑁) → 0 ∈ ℝ)
111 1red 9934 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 ∈ (1..^𝑁) → 1 ∈ ℝ)
112 ltleletr 10009 . . . . . . . . . . . . . . . . . . . . 21 ((0 ∈ ℝ ∧ 1 ∈ ℝ ∧ 𝑦 ∈ ℝ) → ((0 < 1 ∧ 1 ≤ 𝑦) → 0 ≤ 𝑦))
113110, 111, 102, 112syl3anc 1318 . . . . . . . . . . . . . . . . . . . 20 (𝑦 ∈ (1..^𝑁) → ((0 < 1 ∧ 1 ≤ 𝑦) → 0 ≤ 𝑦))
114109, 113mpani 708 . . . . . . . . . . . . . . . . . . 19 (𝑦 ∈ (1..^𝑁) → (1 ≤ 𝑦 → 0 ≤ 𝑦))
115108, 114mpd 15 . . . . . . . . . . . . . . . . . 18 (𝑦 ∈ (1..^𝑁) → 0 ≤ 𝑦)
116 elfzolt2 12348 . . . . . . . . . . . . . . . . . 18 (𝑦 ∈ (1..^𝑁) → 𝑦 < 𝑁)
117115, 116jca 553 . . . . . . . . . . . . . . . . 17 (𝑦 ∈ (1..^𝑁) → (0 ≤ 𝑦𝑦 < 𝑁))
118117adantl 481 . . . . . . . . . . . . . . . 16 ((𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁)) → (0 ≤ 𝑦𝑦 < 𝑁))
119118adantl 481 . . . . . . . . . . . . . . 15 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → (0 ≤ 𝑦𝑦 < 𝑁))
120107, 119jca 553 . . . . . . . . . . . . . 14 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → ((𝑦 ∈ ℝ ∧ 𝑁 ∈ ℝ+) ∧ (0 ≤ 𝑦𝑦 < 𝑁)))
121 modid 12557 . . . . . . . . . . . . . 14 (((𝑦 ∈ ℝ ∧ 𝑁 ∈ ℝ+) ∧ (0 ≤ 𝑦𝑦 < 𝑁)) → (𝑦 mod 𝑁) = 𝑦)
122120, 121syl 17 . . . . . . . . . . . . 13 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → (𝑦 mod 𝑁) = 𝑦)
123101, 106, 1223eqtrd 2648 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → (((𝑥 · 𝑁) + 𝑦) mod 𝑁) = 𝑦)
12499, 123oveq12d 6567 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → (((((𝑥 · 𝑁) + 𝑦) − 1) mod 𝑁) − (((𝑥 · 𝑁) + 𝑦) mod 𝑁)) = (((𝑦 − 1) mod 𝑁) − 𝑦))
12575, 124sylan9eqr 2666 . . . . . . . . . 10 ((((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) ∧ 𝐴 = ((𝑥 · 𝑁) + 𝑦)) → (((𝐴 − 1) mod 𝑁) − (𝐴 mod 𝑁)) = (((𝑦 − 1) mod 𝑁) − 𝑦))
1267, 93anim12ci 589 . . . . . . . . . . . . . 14 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → ((𝑦 − 1) ∈ ℝ ∧ 𝑁 ∈ ℝ+))
127 elfzo2 12342 . . . . . . . . . . . . . . . . 17 (𝑦 ∈ (1..^𝑁) ↔ (𝑦 ∈ (ℤ‘1) ∧ 𝑁 ∈ ℤ ∧ 𝑦 < 𝑁))
128 eluz2 11569 . . . . . . . . . . . . . . . . . . 19 (𝑦 ∈ (ℤ‘1) ↔ (1 ∈ ℤ ∧ 𝑦 ∈ ℤ ∧ 1 ≤ 𝑦))
129 zre 11258 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 ∈ ℤ → 𝑦 ∈ ℝ)
130 zre 11258 . . . . . . . . . . . . . . . . . . . . 21 (1 ∈ ℤ → 1 ∈ ℝ)
131 subge0 10420 . . . . . . . . . . . . . . . . . . . . 21 ((𝑦 ∈ ℝ ∧ 1 ∈ ℝ) → (0 ≤ (𝑦 − 1) ↔ 1 ≤ 𝑦))
132129, 130, 131syl2anr 494 . . . . . . . . . . . . . . . . . . . 20 ((1 ∈ ℤ ∧ 𝑦 ∈ ℤ) → (0 ≤ (𝑦 − 1) ↔ 1 ≤ 𝑦))
133132biimp3ar 1425 . . . . . . . . . . . . . . . . . . 19 ((1 ∈ ℤ ∧ 𝑦 ∈ ℤ ∧ 1 ≤ 𝑦) → 0 ≤ (𝑦 − 1))
134128, 133sylbi 206 . . . . . . . . . . . . . . . . . 18 (𝑦 ∈ (ℤ‘1) → 0 ≤ (𝑦 − 1))
1351343ad2ant1 1075 . . . . . . . . . . . . . . . . 17 ((𝑦 ∈ (ℤ‘1) ∧ 𝑁 ∈ ℤ ∧ 𝑦 < 𝑁) → 0 ≤ (𝑦 − 1))
136127, 135sylbi 206 . . . . . . . . . . . . . . . 16 (𝑦 ∈ (1..^𝑁) → 0 ≤ (𝑦 − 1))
137136adantl 481 . . . . . . . . . . . . . . 15 ((𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁)) → 0 ≤ (𝑦 − 1))
138137adantl 481 . . . . . . . . . . . . . 14 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → 0 ≤ (𝑦 − 1))
139 eluzelz 11573 . . . . . . . . . . . . . . . . . . . . . 22 (𝑦 ∈ (ℤ‘1) → 𝑦 ∈ ℤ)
140139zred 11358 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 ∈ (ℤ‘1) → 𝑦 ∈ ℝ)
141 zre 11258 . . . . . . . . . . . . . . . . . . . . 21 (𝑁 ∈ ℤ → 𝑁 ∈ ℝ)
142 ltle 10005 . . . . . . . . . . . . . . . . . . . . 21 ((𝑦 ∈ ℝ ∧ 𝑁 ∈ ℝ) → (𝑦 < 𝑁𝑦𝑁))
143140, 141, 142syl2an 493 . . . . . . . . . . . . . . . . . . . 20 ((𝑦 ∈ (ℤ‘1) ∧ 𝑁 ∈ ℤ) → (𝑦 < 𝑁𝑦𝑁))
1441433impia 1253 . . . . . . . . . . . . . . . . . . 19 ((𝑦 ∈ (ℤ‘1) ∧ 𝑁 ∈ ℤ ∧ 𝑦 < 𝑁) → 𝑦𝑁)
145139anim1i 590 . . . . . . . . . . . . . . . . . . . . 21 ((𝑦 ∈ (ℤ‘1) ∧ 𝑁 ∈ ℤ) → (𝑦 ∈ ℤ ∧ 𝑁 ∈ ℤ))
1461453adant3 1074 . . . . . . . . . . . . . . . . . . . 20 ((𝑦 ∈ (ℤ‘1) ∧ 𝑁 ∈ ℤ ∧ 𝑦 < 𝑁) → (𝑦 ∈ ℤ ∧ 𝑁 ∈ ℤ))
147 zlem1lt 11306 . . . . . . . . . . . . . . . . . . . 20 ((𝑦 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑦𝑁 ↔ (𝑦 − 1) < 𝑁))
148146, 147syl 17 . . . . . . . . . . . . . . . . . . 19 ((𝑦 ∈ (ℤ‘1) ∧ 𝑁 ∈ ℤ ∧ 𝑦 < 𝑁) → (𝑦𝑁 ↔ (𝑦 − 1) < 𝑁))
149144, 148mpbid 221 . . . . . . . . . . . . . . . . . 18 ((𝑦 ∈ (ℤ‘1) ∧ 𝑁 ∈ ℤ ∧ 𝑦 < 𝑁) → (𝑦 − 1) < 𝑁)
150149a1d 25 . . . . . . . . . . . . . . . . 17 ((𝑦 ∈ (ℤ‘1) ∧ 𝑁 ∈ ℤ ∧ 𝑦 < 𝑁) → ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → (𝑦 − 1) < 𝑁))
151127, 150sylbi 206 . . . . . . . . . . . . . . . 16 (𝑦 ∈ (1..^𝑁) → ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → (𝑦 − 1) < 𝑁))
152151adantl 481 . . . . . . . . . . . . . . 15 ((𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁)) → ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → (𝑦 − 1) < 𝑁))
153152impcom 445 . . . . . . . . . . . . . 14 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → (𝑦 − 1) < 𝑁)
154 modid 12557 . . . . . . . . . . . . . 14 ((((𝑦 − 1) ∈ ℝ ∧ 𝑁 ∈ ℝ+) ∧ (0 ≤ (𝑦 − 1) ∧ (𝑦 − 1) < 𝑁)) → ((𝑦 − 1) mod 𝑁) = (𝑦 − 1))
155126, 138, 153, 154syl12anc 1316 . . . . . . . . . . . . 13 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → ((𝑦 − 1) mod 𝑁) = (𝑦 − 1))
156155oveq1d 6564 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → (((𝑦 − 1) mod 𝑁) − 𝑦) = ((𝑦 − 1) − 𝑦))
157 1cnd 9935 . . . . . . . . . . . . . . . . 17 (𝑦 ∈ (1..^𝑁) → 1 ∈ ℂ)
15879, 157, 79sub32d 10303 . . . . . . . . . . . . . . . 16 (𝑦 ∈ (1..^𝑁) → ((𝑦 − 1) − 𝑦) = ((𝑦𝑦) − 1))
15979subidd 10259 . . . . . . . . . . . . . . . . 17 (𝑦 ∈ (1..^𝑁) → (𝑦𝑦) = 0)
160159oveq1d 6564 . . . . . . . . . . . . . . . 16 (𝑦 ∈ (1..^𝑁) → ((𝑦𝑦) − 1) = (0 − 1))
161158, 160eqtrd 2644 . . . . . . . . . . . . . . 15 (𝑦 ∈ (1..^𝑁) → ((𝑦 − 1) − 𝑦) = (0 − 1))
162161adantl 481 . . . . . . . . . . . . . 14 ((𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁)) → ((𝑦 − 1) − 𝑦) = (0 − 1))
163162adantl 481 . . . . . . . . . . . . 13 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → ((𝑦 − 1) − 𝑦) = (0 − 1))
164 df-neg 10148 . . . . . . . . . . . . 13 -1 = (0 − 1)
165163, 164syl6eqr 2662 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → ((𝑦 − 1) − 𝑦) = -1)
166156, 165eqtrd 2644 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → (((𝑦 − 1) mod 𝑁) − 𝑦) = -1)
167166adantr 480 . . . . . . . . . 10 ((((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) ∧ 𝐴 = ((𝑥 · 𝑁) + 𝑦)) → (((𝑦 − 1) mod 𝑁) − 𝑦) = -1)
168125, 167eqtrd 2644 . . . . . . . . 9 ((((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) ∧ 𝐴 = ((𝑥 · 𝑁) + 𝑦)) → (((𝐴 − 1) mod 𝑁) − (𝐴 mod 𝑁)) = -1)
169168eqcomd 2616 . . . . . . . 8 ((((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) ∧ 𝐴 = ((𝑥 · 𝑁) + 𝑦)) → -1 = (((𝐴 − 1) mod 𝑁) − (𝐴 mod 𝑁)))
170169ex 449 . . . . . . 7 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → (𝐴 = ((𝑥 · 𝑁) + 𝑦) → -1 = (((𝐴 − 1) mod 𝑁) − (𝐴 mod 𝑁))))
171170rexlimdvva 3020 . . . . . 6 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → (∃𝑥 ∈ ℤ ∃𝑦 ∈ (1..^𝑁)𝐴 = ((𝑥 · 𝑁) + 𝑦) → -1 = (((𝐴 − 1) mod 𝑁) − (𝐴 mod 𝑁))))
17271, 171syld 46 . . . . 5 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → ((𝐴 mod 𝑁) ≠ 0 → -1 = (((𝐴 − 1) mod 𝑁) − (𝐴 mod 𝑁))))
17370, 172syl5bir 232 . . . 4 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → (¬ (𝐴 mod 𝑁) = 0 → -1 = (((𝐴 − 1) mod 𝑁) − (𝐴 mod 𝑁))))
174173imp 444 . . 3 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ ¬ (𝐴 mod 𝑁) = 0) → -1 = (((𝐴 − 1) mod 𝑁) − (𝐴 mod 𝑁)))
17569, 174ifeqda 4071 . 2 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → if((𝐴 mod 𝑁) = 0, (𝑁 − 1), -1) = (((𝐴 − 1) mod 𝑁) − (𝐴 mod 𝑁)))
176175eqcomd 2616 1 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → (((𝐴 − 1) mod 𝑁) − (𝐴 mod 𝑁)) = if((𝐴 mod 𝑁) = 0, (𝑁 − 1), -1))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 195  wa 383  w3a 1031   = wceq 1475  wcel 1977  wne 2780  wrex 2897  ifcif 4036   class class class wbr 4583  cfv 5804  (class class class)co 6549  cc 9813  cr 9814  0cc0 9815  1c1 9816   + caddc 9818   · cmul 9820   < clt 9953  cle 9954  cmin 10145  -cneg 10146  cn 10897  cz 11254  cuz 11563  +crp 11708  ..^cfzo 12334   mod cmo 12530
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1713  ax-4 1728  ax-5 1827  ax-6 1875  ax-7 1922  ax-8 1979  ax-9 1986  ax-10 2006  ax-11 2021  ax-12 2034  ax-13 2234  ax-ext 2590  ax-sep 4709  ax-nul 4717  ax-pow 4769  ax-pr 4833  ax-un 6847  ax-cnex 9871  ax-resscn 9872  ax-1cn 9873  ax-icn 9874  ax-addcl 9875  ax-addrcl 9876  ax-mulcl 9877  ax-mulrcl 9878  ax-mulcom 9879  ax-addass 9880  ax-mulass 9881  ax-distr 9882  ax-i2m1 9883  ax-1ne0 9884  ax-1rid 9885  ax-rnegex 9886  ax-rrecex 9887  ax-cnre 9888  ax-pre-lttri 9889  ax-pre-lttrn 9890  ax-pre-ltadd 9891  ax-pre-mulgt0 9892  ax-pre-sup 9893
This theorem depends on definitions:  df-bi 196  df-or 384  df-an 385  df-3or 1032  df-3an 1033  df-tru 1478  df-ex 1696  df-nf 1701  df-sb 1868  df-eu 2462  df-mo 2463  df-clab 2597  df-cleq 2603  df-clel 2606  df-nfc 2740  df-ne 2782  df-nel 2783  df-ral 2901  df-rex 2902  df-reu 2903  df-rmo 2904  df-rab 2905  df-v 3175  df-sbc 3403  df-csb 3500  df-dif 3543  df-un 3545  df-in 3547  df-ss 3554  df-pss 3556  df-nul 3875  df-if 4037  df-pw 4110  df-sn 4126  df-pr 4128  df-tp 4130  df-op 4132  df-uni 4373  df-iun 4457  df-br 4584  df-opab 4644  df-mpt 4645  df-tr 4681  df-eprel 4949  df-id 4953  df-po 4959  df-so 4960  df-fr 4997  df-we 4999  df-xp 5044  df-rel 5045  df-cnv 5046  df-co 5047  df-dm 5048  df-rn 5049  df-res 5050  df-ima 5051  df-pred 5597  df-ord 5643  df-on 5644  df-lim 5645  df-suc 5646  df-iota 5768  df-fun 5806  df-fn 5807  df-f 5808  df-f1 5809  df-fo 5810  df-f1o 5811  df-fv 5812  df-riota 6511  df-ov 6552  df-oprab 6553  df-mpt2 6554  df-om 6958  df-1st 7059  df-2nd 7060  df-wrecs 7294  df-recs 7355  df-rdg 7393  df-er 7629  df-en 7842  df-dom 7843  df-sdom 7844  df-sup 8231  df-inf 8232  df-pnf 9955  df-mnf 9956  df-xr 9957  df-ltxr 9958  df-le 9959  df-sub 10147  df-neg 10148  df-div 10564  df-nn 10898  df-n0 11170  df-z 11255  df-uz 11564  df-rp 11709  df-fz 12198  df-fzo 12335  df-fl 12455  df-mod 12531
This theorem is referenced by:  dignn0flhalflem1  42207
  Copyright terms: Public domain W3C validator