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 41601
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 6612 . . . . 5 ((𝐴 mod 𝑁) = 0 → (((𝐴 − 1) mod 𝑁) − (𝐴 mod 𝑁)) = (((𝐴 − 1) mod 𝑁) − 0))
21adantl 482 . . . 4 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → (((𝐴 − 1) mod 𝑁) − (𝐴 mod 𝑁)) = (((𝐴 − 1) mod 𝑁) − 0))
3 peano2zm 11364 . . . . . . . . . 10 (𝐴 ∈ ℤ → (𝐴 − 1) ∈ ℤ)
43zred 11426 . . . . . . . . 9 (𝐴 ∈ ℤ → (𝐴 − 1) ∈ ℝ)
54adantr 481 . . . . . . . 8 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → (𝐴 − 1) ∈ ℝ)
6 nnrp 11786 . . . . . . . . 9 (𝑁 ∈ ℕ → 𝑁 ∈ ℝ+)
76adantl 482 . . . . . . . 8 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → 𝑁 ∈ ℝ+)
85, 7modcld 12614 . . . . . . 7 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → ((𝐴 − 1) mod 𝑁) ∈ ℝ)
98recnd 10012 . . . . . 6 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → ((𝐴 − 1) mod 𝑁) ∈ ℂ)
109subid1d 10325 . . . . 5 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → (((𝐴 − 1) mod 𝑁) − 0) = ((𝐴 − 1) mod 𝑁))
1110adantr 481 . . . 4 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → (((𝐴 − 1) mod 𝑁) − 0) = ((𝐴 − 1) mod 𝑁))
12 mod0mul 41599 . . . . . 6 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → ((𝐴 mod 𝑁) = 0 → ∃𝑥 ∈ ℤ 𝐴 = (𝑥 · 𝑁)))
1312imp 445 . . . . 5 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → ∃𝑥 ∈ ℤ 𝐴 = (𝑥 · 𝑁))
14 oveq1 6611 . . . . . . . . . 10 (𝐴 = (𝑥 · 𝑁) → (𝐴 − 1) = ((𝑥 · 𝑁) − 1))
1514oveq1d 6619 . . . . . . . . 9 (𝐴 = (𝑥 · 𝑁) → ((𝐴 − 1) mod 𝑁) = (((𝑥 · 𝑁) − 1) mod 𝑁))
16 zcn 11326 . . . . . . . . . . . . . . . . 17 (𝑥 ∈ ℤ → 𝑥 ∈ ℂ)
17 nncn 10972 . . . . . . . . . . . . . . . . . 18 (𝑁 ∈ ℕ → 𝑁 ∈ ℂ)
1817adantl 482 . . . . . . . . . . . . . . . . 17 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → 𝑁 ∈ ℂ)
19 mulcl 9964 . . . . . . . . . . . . . . . . 17 ((𝑥 ∈ ℂ ∧ 𝑁 ∈ ℂ) → (𝑥 · 𝑁) ∈ ℂ)
2016, 18, 19syl2anr 495 . . . . . . . . . . . . . . . 16 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → (𝑥 · 𝑁) ∈ ℂ)
2118adantr 481 . . . . . . . . . . . . . . . 16 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → 𝑁 ∈ ℂ)
2220, 21npcand 10340 . . . . . . . . . . . . . . 15 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → (((𝑥 · 𝑁) − 𝑁) + 𝑁) = (𝑥 · 𝑁))
2322eqcomd 2627 . . . . . . . . . . . . . 14 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → (𝑥 · 𝑁) = (((𝑥 · 𝑁) − 𝑁) + 𝑁))
2416adantl 482 . . . . . . . . . . . . . . . 16 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → 𝑥 ∈ ℂ)
2524, 21mulsubfacd 10436 . . . . . . . . . . . . . . 15 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → ((𝑥 · 𝑁) − 𝑁) = ((𝑥 − 1) · 𝑁))
2625oveq1d 6619 . . . . . . . . . . . . . 14 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → (((𝑥 · 𝑁) − 𝑁) + 𝑁) = (((𝑥 − 1) · 𝑁) + 𝑁))
2723, 26eqtrd 2655 . . . . . . . . . . . . 13 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → (𝑥 · 𝑁) = (((𝑥 − 1) · 𝑁) + 𝑁))
2827oveq1d 6619 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → ((𝑥 · 𝑁) − 1) = ((((𝑥 − 1) · 𝑁) + 𝑁) − 1))
29 peano2zm 11364 . . . . . . . . . . . . . . 15 (𝑥 ∈ ℤ → (𝑥 − 1) ∈ ℤ)
3029zcnd 11427 . . . . . . . . . . . . . 14 (𝑥 ∈ ℤ → (𝑥 − 1) ∈ ℂ)
31 mulcl 9964 . . . . . . . . . . . . . 14 (((𝑥 − 1) ∈ ℂ ∧ 𝑁 ∈ ℂ) → ((𝑥 − 1) · 𝑁) ∈ ℂ)
3230, 18, 31syl2anr 495 . . . . . . . . . . . . 13 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → ((𝑥 − 1) · 𝑁) ∈ ℂ)
33 1cnd 10000 . . . . . . . . . . . . 13 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → 1 ∈ ℂ)
3432, 21, 33addsubassd 10356 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → ((((𝑥 − 1) · 𝑁) + 𝑁) − 1) = (((𝑥 − 1) · 𝑁) + (𝑁 − 1)))
3528, 34eqtrd 2655 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → ((𝑥 · 𝑁) − 1) = (((𝑥 − 1) · 𝑁) + (𝑁 − 1)))
3635oveq1d 6619 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → (((𝑥 · 𝑁) − 1) mod 𝑁) = ((((𝑥 − 1) · 𝑁) + (𝑁 − 1)) mod 𝑁))
37 nnre 10971 . . . . . . . . . . . . . . . 16 (𝑁 ∈ ℕ → 𝑁 ∈ ℝ)
38 peano2rem 10292 . . . . . . . . . . . . . . . 16 (𝑁 ∈ ℝ → (𝑁 − 1) ∈ ℝ)
3937, 38syl 17 . . . . . . . . . . . . . . 15 (𝑁 ∈ ℕ → (𝑁 − 1) ∈ ℝ)
4039recnd 10012 . . . . . . . . . . . . . 14 (𝑁 ∈ ℕ → (𝑁 − 1) ∈ ℂ)
4140adantl 482 . . . . . . . . . . . . 13 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → (𝑁 − 1) ∈ ℂ)
4241adantr 481 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → (𝑁 − 1) ∈ ℂ)
4332, 42addcomd 10182 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → (((𝑥 − 1) · 𝑁) + (𝑁 − 1)) = ((𝑁 − 1) + ((𝑥 − 1) · 𝑁)))
4443oveq1d 6619 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → ((((𝑥 − 1) · 𝑁) + (𝑁 − 1)) mod 𝑁) = (((𝑁 − 1) + ((𝑥 − 1) · 𝑁)) mod 𝑁))
4539adantl 482 . . . . . . . . . . . . 13 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → (𝑁 − 1) ∈ ℝ)
4645adantr 481 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → (𝑁 − 1) ∈ ℝ)
477adantr 481 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → 𝑁 ∈ ℝ+)
4829adantl 482 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → (𝑥 − 1) ∈ ℤ)
49 modcyc 12645 . . . . . . . . . . . 12 (((𝑁 − 1) ∈ ℝ ∧ 𝑁 ∈ ℝ+ ∧ (𝑥 − 1) ∈ ℤ) → (((𝑁 − 1) + ((𝑥 − 1) · 𝑁)) mod 𝑁) = ((𝑁 − 1) mod 𝑁))
5046, 47, 48, 49syl3anc 1323 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → (((𝑁 − 1) + ((𝑥 − 1) · 𝑁)) mod 𝑁) = ((𝑁 − 1) mod 𝑁))
5139, 6jca 554 . . . . . . . . . . . . . 14 (𝑁 ∈ ℕ → ((𝑁 − 1) ∈ ℝ ∧ 𝑁 ∈ ℝ+))
5251adantl 482 . . . . . . . . . . . . 13 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → ((𝑁 − 1) ∈ ℝ ∧ 𝑁 ∈ ℝ+))
5352adantr 481 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → ((𝑁 − 1) ∈ ℝ ∧ 𝑁 ∈ ℝ+))
54 nnm1ge0 11389 . . . . . . . . . . . . . 14 (𝑁 ∈ ℕ → 0 ≤ (𝑁 − 1))
5554adantl 482 . . . . . . . . . . . . 13 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → 0 ≤ (𝑁 − 1))
5655adantr 481 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → 0 ≤ (𝑁 − 1))
5737ltm1d 10900 . . . . . . . . . . . . . 14 (𝑁 ∈ ℕ → (𝑁 − 1) < 𝑁)
5857adantl 482 . . . . . . . . . . . . 13 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → (𝑁 − 1) < 𝑁)
5958adantr 481 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → (𝑁 − 1) < 𝑁)
60 modid 12635 . . . . . . . . . . . 12 ((((𝑁 − 1) ∈ ℝ ∧ 𝑁 ∈ ℝ+) ∧ (0 ≤ (𝑁 − 1) ∧ (𝑁 − 1) < 𝑁)) → ((𝑁 − 1) mod 𝑁) = (𝑁 − 1))
6153, 56, 59, 60syl12anc 1321 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → ((𝑁 − 1) mod 𝑁) = (𝑁 − 1))
6250, 61eqtrd 2655 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → (((𝑁 − 1) + ((𝑥 − 1) · 𝑁)) mod 𝑁) = (𝑁 − 1))
6336, 44, 623eqtrd 2659 . . . . . . . . 9 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → (((𝑥 · 𝑁) − 1) mod 𝑁) = (𝑁 − 1))
6415, 63sylan9eqr 2677 . . . . . . . 8 ((((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) ∧ 𝐴 = (𝑥 · 𝑁)) → ((𝐴 − 1) mod 𝑁) = (𝑁 − 1))
6564ex 450 . . . . . . 7 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ 𝑥 ∈ ℤ) → (𝐴 = (𝑥 · 𝑁) → ((𝐴 − 1) mod 𝑁) = (𝑁 − 1)))
6665rexlimdva 3024 . . . . . 6 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → (∃𝑥 ∈ ℤ 𝐴 = (𝑥 · 𝑁) → ((𝐴 − 1) mod 𝑁) = (𝑁 − 1)))
6766adantr 481 . . . . 5 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → (∃𝑥 ∈ ℤ 𝐴 = (𝑥 · 𝑁) → ((𝐴 − 1) mod 𝑁) = (𝑁 − 1)))
6813, 67mpd 15 . . . 4 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → ((𝐴 − 1) mod 𝑁) = (𝑁 − 1))
692, 11, 683eqtrrd 2660 . . 3 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝐴 mod 𝑁) = 0) → (𝑁 − 1) = (((𝐴 − 1) mod 𝑁) − (𝐴 mod 𝑁)))
70 df-ne 2791 . . . . 5 ((𝐴 mod 𝑁) ≠ 0 ↔ ¬ (𝐴 mod 𝑁) = 0)
71 modn0mul 41600 . . . . . 6 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → ((𝐴 mod 𝑁) ≠ 0 → ∃𝑥 ∈ ℤ ∃𝑦 ∈ (1..^𝑁)𝐴 = ((𝑥 · 𝑁) + 𝑦)))
72 oveq1 6611 . . . . . . . . . . . . 13 (𝐴 = ((𝑥 · 𝑁) + 𝑦) → (𝐴 − 1) = (((𝑥 · 𝑁) + 𝑦) − 1))
7372oveq1d 6619 . . . . . . . . . . . 12 (𝐴 = ((𝑥 · 𝑁) + 𝑦) → ((𝐴 − 1) mod 𝑁) = ((((𝑥 · 𝑁) + 𝑦) − 1) mod 𝑁))
74 oveq1 6611 . . . . . . . . . . . 12 (𝐴 = ((𝑥 · 𝑁) + 𝑦) → (𝐴 mod 𝑁) = (((𝑥 · 𝑁) + 𝑦) mod 𝑁))
7573, 74oveq12d 6622 . . . . . . . . . . 11 (𝐴 = ((𝑥 · 𝑁) + 𝑦) → (((𝐴 − 1) mod 𝑁) − (𝐴 mod 𝑁)) = (((((𝑥 · 𝑁) + 𝑦) − 1) mod 𝑁) − (((𝑥 · 𝑁) + 𝑦) mod 𝑁)))
7616adantr 481 . . . . . . . . . . . . . . . . 17 ((𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁)) → 𝑥 ∈ ℂ)
7776, 18, 19syl2anr 495 . . . . . . . . . . . . . . . 16 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → (𝑥 · 𝑁) ∈ ℂ)
78 elfzoelz 12411 . . . . . . . . . . . . . . . . . . 19 (𝑦 ∈ (1..^𝑁) → 𝑦 ∈ ℤ)
7978zcnd 11427 . . . . . . . . . . . . . . . . . 18 (𝑦 ∈ (1..^𝑁) → 𝑦 ∈ ℂ)
8079adantl 482 . . . . . . . . . . . . . . . . 17 ((𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁)) → 𝑦 ∈ ℂ)
8180adantl 482 . . . . . . . . . . . . . . . 16 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → 𝑦 ∈ ℂ)
82 1cnd 10000 . . . . . . . . . . . . . . . 16 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → 1 ∈ ℂ)
8377, 81, 82addsubassd 10356 . . . . . . . . . . . . . . 15 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → (((𝑥 · 𝑁) + 𝑦) − 1) = ((𝑥 · 𝑁) + (𝑦 − 1)))
84 peano2zm 11364 . . . . . . . . . . . . . . . . . . . 20 (𝑦 ∈ ℤ → (𝑦 − 1) ∈ ℤ)
8578, 84syl 17 . . . . . . . . . . . . . . . . . . 19 (𝑦 ∈ (1..^𝑁) → (𝑦 − 1) ∈ ℤ)
8685zcnd 11427 . . . . . . . . . . . . . . . . . 18 (𝑦 ∈ (1..^𝑁) → (𝑦 − 1) ∈ ℂ)
8786adantl 482 . . . . . . . . . . . . . . . . 17 ((𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁)) → (𝑦 − 1) ∈ ℂ)
8887adantl 482 . . . . . . . . . . . . . . . 16 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → (𝑦 − 1) ∈ ℂ)
8977, 88addcomd 10182 . . . . . . . . . . . . . . 15 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → ((𝑥 · 𝑁) + (𝑦 − 1)) = ((𝑦 − 1) + (𝑥 · 𝑁)))
9083, 89eqtrd 2655 . . . . . . . . . . . . . 14 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → (((𝑥 · 𝑁) + 𝑦) − 1) = ((𝑦 − 1) + (𝑥 · 𝑁)))
9190oveq1d 6619 . . . . . . . . . . . . 13 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → ((((𝑥 · 𝑁) + 𝑦) − 1) mod 𝑁) = (((𝑦 − 1) + (𝑥 · 𝑁)) mod 𝑁))
9285zred 11426 . . . . . . . . . . . . . . . 16 (𝑦 ∈ (1..^𝑁) → (𝑦 − 1) ∈ ℝ)
9392adantl 482 . . . . . . . . . . . . . . 15 ((𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁)) → (𝑦 − 1) ∈ ℝ)
9493adantl 482 . . . . . . . . . . . . . 14 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → (𝑦 − 1) ∈ ℝ)
957adantr 481 . . . . . . . . . . . . . 14 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → 𝑁 ∈ ℝ+)
96 simprl 793 . . . . . . . . . . . . . 14 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → 𝑥 ∈ ℤ)
97 modcyc 12645 . . . . . . . . . . . . . 14 (((𝑦 − 1) ∈ ℝ ∧ 𝑁 ∈ ℝ+𝑥 ∈ ℤ) → (((𝑦 − 1) + (𝑥 · 𝑁)) mod 𝑁) = ((𝑦 − 1) mod 𝑁))
9894, 95, 96, 97syl3anc 1323 . . . . . . . . . . . . 13 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → (((𝑦 − 1) + (𝑥 · 𝑁)) mod 𝑁) = ((𝑦 − 1) mod 𝑁))
9991, 98eqtrd 2655 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → ((((𝑥 · 𝑁) + 𝑦) − 1) mod 𝑁) = ((𝑦 − 1) mod 𝑁))
10077, 81addcomd 10182 . . . . . . . . . . . . . 14 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → ((𝑥 · 𝑁) + 𝑦) = (𝑦 + (𝑥 · 𝑁)))
101100oveq1d 6619 . . . . . . . . . . . . 13 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → (((𝑥 · 𝑁) + 𝑦) mod 𝑁) = ((𝑦 + (𝑥 · 𝑁)) mod 𝑁))
10278zred 11426 . . . . . . . . . . . . . . . 16 (𝑦 ∈ (1..^𝑁) → 𝑦 ∈ ℝ)
103102adantl 482 . . . . . . . . . . . . . . 15 ((𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁)) → 𝑦 ∈ ℝ)
104103adantl 482 . . . . . . . . . . . . . 14 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → 𝑦 ∈ ℝ)
105 modcyc 12645 . . . . . . . . . . . . . 14 ((𝑦 ∈ ℝ ∧ 𝑁 ∈ ℝ+𝑥 ∈ ℤ) → ((𝑦 + (𝑥 · 𝑁)) mod 𝑁) = (𝑦 mod 𝑁))
106104, 95, 96, 105syl3anc 1323 . . . . . . . . . . . . 13 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → ((𝑦 + (𝑥 · 𝑁)) mod 𝑁) = (𝑦 mod 𝑁))
1077, 103anim12ci 590 . . . . . . . . . . . . . . 15 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → (𝑦 ∈ ℝ ∧ 𝑁 ∈ ℝ+))
108 elfzole1 12419 . . . . . . . . . . . . . . . . . . 19 (𝑦 ∈ (1..^𝑁) → 1 ≤ 𝑦)
109 0lt1 10494 . . . . . . . . . . . . . . . . . . . 20 0 < 1
110 0red 9985 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 ∈ (1..^𝑁) → 0 ∈ ℝ)
111 1red 9999 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 ∈ (1..^𝑁) → 1 ∈ ℝ)
112 ltleletr 10074 . . . . . . . . . . . . . . . . . . . . 21 ((0 ∈ ℝ ∧ 1 ∈ ℝ ∧ 𝑦 ∈ ℝ) → ((0 < 1 ∧ 1 ≤ 𝑦) → 0 ≤ 𝑦))
113110, 111, 102, 112syl3anc 1323 . . . . . . . . . . . . . . . . . . . 20 (𝑦 ∈ (1..^𝑁) → ((0 < 1 ∧ 1 ≤ 𝑦) → 0 ≤ 𝑦))
114109, 113mpani 711 . . . . . . . . . . . . . . . . . . 19 (𝑦 ∈ (1..^𝑁) → (1 ≤ 𝑦 → 0 ≤ 𝑦))
115108, 114mpd 15 . . . . . . . . . . . . . . . . . 18 (𝑦 ∈ (1..^𝑁) → 0 ≤ 𝑦)
116 elfzolt2 12420 . . . . . . . . . . . . . . . . . 18 (𝑦 ∈ (1..^𝑁) → 𝑦 < 𝑁)
117115, 116jca 554 . . . . . . . . . . . . . . . . 17 (𝑦 ∈ (1..^𝑁) → (0 ≤ 𝑦𝑦 < 𝑁))
118117adantl 482 . . . . . . . . . . . . . . . 16 ((𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁)) → (0 ≤ 𝑦𝑦 < 𝑁))
119118adantl 482 . . . . . . . . . . . . . . 15 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → (0 ≤ 𝑦𝑦 < 𝑁))
120107, 119jca 554 . . . . . . . . . . . . . 14 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → ((𝑦 ∈ ℝ ∧ 𝑁 ∈ ℝ+) ∧ (0 ≤ 𝑦𝑦 < 𝑁)))
121 modid 12635 . . . . . . . . . . . . . 14 (((𝑦 ∈ ℝ ∧ 𝑁 ∈ ℝ+) ∧ (0 ≤ 𝑦𝑦 < 𝑁)) → (𝑦 mod 𝑁) = 𝑦)
122120, 121syl 17 . . . . . . . . . . . . 13 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → (𝑦 mod 𝑁) = 𝑦)
123101, 106, 1223eqtrd 2659 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → (((𝑥 · 𝑁) + 𝑦) mod 𝑁) = 𝑦)
12499, 123oveq12d 6622 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → (((((𝑥 · 𝑁) + 𝑦) − 1) mod 𝑁) − (((𝑥 · 𝑁) + 𝑦) mod 𝑁)) = (((𝑦 − 1) mod 𝑁) − 𝑦))
12575, 124sylan9eqr 2677 . . . . . . . . . 10 ((((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) ∧ 𝐴 = ((𝑥 · 𝑁) + 𝑦)) → (((𝐴 − 1) mod 𝑁) − (𝐴 mod 𝑁)) = (((𝑦 − 1) mod 𝑁) − 𝑦))
1267, 93anim12ci 590 . . . . . . . . . . . . . 14 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → ((𝑦 − 1) ∈ ℝ ∧ 𝑁 ∈ ℝ+))
127 elfzo2 12414 . . . . . . . . . . . . . . . . 17 (𝑦 ∈ (1..^𝑁) ↔ (𝑦 ∈ (ℤ‘1) ∧ 𝑁 ∈ ℤ ∧ 𝑦 < 𝑁))
128 eluz2 11637 . . . . . . . . . . . . . . . . . . 19 (𝑦 ∈ (ℤ‘1) ↔ (1 ∈ ℤ ∧ 𝑦 ∈ ℤ ∧ 1 ≤ 𝑦))
129 zre 11325 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 ∈ ℤ → 𝑦 ∈ ℝ)
130 zre 11325 . . . . . . . . . . . . . . . . . . . . 21 (1 ∈ ℤ → 1 ∈ ℝ)
131 subge0 10485 . . . . . . . . . . . . . . . . . . . . 21 ((𝑦 ∈ ℝ ∧ 1 ∈ ℝ) → (0 ≤ (𝑦 − 1) ↔ 1 ≤ 𝑦))
132129, 130, 131syl2anr 495 . . . . . . . . . . . . . . . . . . . 20 ((1 ∈ ℤ ∧ 𝑦 ∈ ℤ) → (0 ≤ (𝑦 − 1) ↔ 1 ≤ 𝑦))
133132biimp3ar 1430 . . . . . . . . . . . . . . . . . . 19 ((1 ∈ ℤ ∧ 𝑦 ∈ ℤ ∧ 1 ≤ 𝑦) → 0 ≤ (𝑦 − 1))
134128, 133sylbi 207 . . . . . . . . . . . . . . . . . 18 (𝑦 ∈ (ℤ‘1) → 0 ≤ (𝑦 − 1))
1351343ad2ant1 1080 . . . . . . . . . . . . . . . . 17 ((𝑦 ∈ (ℤ‘1) ∧ 𝑁 ∈ ℤ ∧ 𝑦 < 𝑁) → 0 ≤ (𝑦 − 1))
136127, 135sylbi 207 . . . . . . . . . . . . . . . 16 (𝑦 ∈ (1..^𝑁) → 0 ≤ (𝑦 − 1))
137136adantl 482 . . . . . . . . . . . . . . 15 ((𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁)) → 0 ≤ (𝑦 − 1))
138137adantl 482 . . . . . . . . . . . . . 14 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → 0 ≤ (𝑦 − 1))
139 eluzelz 11641 . . . . . . . . . . . . . . . . . . . . . 22 (𝑦 ∈ (ℤ‘1) → 𝑦 ∈ ℤ)
140139zred 11426 . . . . . . . . . . . . . . . . . . . . 21 (𝑦 ∈ (ℤ‘1) → 𝑦 ∈ ℝ)
141 zre 11325 . . . . . . . . . . . . . . . . . . . . 21 (𝑁 ∈ ℤ → 𝑁 ∈ ℝ)
142 ltle 10070 . . . . . . . . . . . . . . . . . . . . 21 ((𝑦 ∈ ℝ ∧ 𝑁 ∈ ℝ) → (𝑦 < 𝑁𝑦𝑁))
143140, 141, 142syl2an 494 . . . . . . . . . . . . . . . . . . . 20 ((𝑦 ∈ (ℤ‘1) ∧ 𝑁 ∈ ℤ) → (𝑦 < 𝑁𝑦𝑁))
1441433impia 1258 . . . . . . . . . . . . . . . . . . 19 ((𝑦 ∈ (ℤ‘1) ∧ 𝑁 ∈ ℤ ∧ 𝑦 < 𝑁) → 𝑦𝑁)
145139anim1i 591 . . . . . . . . . . . . . . . . . . . . 21 ((𝑦 ∈ (ℤ‘1) ∧ 𝑁 ∈ ℤ) → (𝑦 ∈ ℤ ∧ 𝑁 ∈ ℤ))
1461453adant3 1079 . . . . . . . . . . . . . . . . . . . 20 ((𝑦 ∈ (ℤ‘1) ∧ 𝑁 ∈ ℤ ∧ 𝑦 < 𝑁) → (𝑦 ∈ ℤ ∧ 𝑁 ∈ ℤ))
147 zlem1lt 11373 . . . . . . . . . . . . . . . . . . . 20 ((𝑦 ∈ ℤ ∧ 𝑁 ∈ ℤ) → (𝑦𝑁 ↔ (𝑦 − 1) < 𝑁))
148146, 147syl 17 . . . . . . . . . . . . . . . . . . 19 ((𝑦 ∈ (ℤ‘1) ∧ 𝑁 ∈ ℤ ∧ 𝑦 < 𝑁) → (𝑦𝑁 ↔ (𝑦 − 1) < 𝑁))
149144, 148mpbid 222 . . . . . . . . . . . . . . . . . 18 ((𝑦 ∈ (ℤ‘1) ∧ 𝑁 ∈ ℤ ∧ 𝑦 < 𝑁) → (𝑦 − 1) < 𝑁)
150149a1d 25 . . . . . . . . . . . . . . . . 17 ((𝑦 ∈ (ℤ‘1) ∧ 𝑁 ∈ ℤ ∧ 𝑦 < 𝑁) → ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → (𝑦 − 1) < 𝑁))
151127, 150sylbi 207 . . . . . . . . . . . . . . . 16 (𝑦 ∈ (1..^𝑁) → ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → (𝑦 − 1) < 𝑁))
152151adantl 482 . . . . . . . . . . . . . . 15 ((𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁)) → ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → (𝑦 − 1) < 𝑁))
153152impcom 446 . . . . . . . . . . . . . 14 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → (𝑦 − 1) < 𝑁)
154 modid 12635 . . . . . . . . . . . . . 14 ((((𝑦 − 1) ∈ ℝ ∧ 𝑁 ∈ ℝ+) ∧ (0 ≤ (𝑦 − 1) ∧ (𝑦 − 1) < 𝑁)) → ((𝑦 − 1) mod 𝑁) = (𝑦 − 1))
155126, 138, 153, 154syl12anc 1321 . . . . . . . . . . . . 13 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → ((𝑦 − 1) mod 𝑁) = (𝑦 − 1))
156155oveq1d 6619 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → (((𝑦 − 1) mod 𝑁) − 𝑦) = ((𝑦 − 1) − 𝑦))
157 1cnd 10000 . . . . . . . . . . . . . . . . 17 (𝑦 ∈ (1..^𝑁) → 1 ∈ ℂ)
15879, 157, 79sub32d 10368 . . . . . . . . . . . . . . . 16 (𝑦 ∈ (1..^𝑁) → ((𝑦 − 1) − 𝑦) = ((𝑦𝑦) − 1))
15979subidd 10324 . . . . . . . . . . . . . . . . 17 (𝑦 ∈ (1..^𝑁) → (𝑦𝑦) = 0)
160159oveq1d 6619 . . . . . . . . . . . . . . . 16 (𝑦 ∈ (1..^𝑁) → ((𝑦𝑦) − 1) = (0 − 1))
161158, 160eqtrd 2655 . . . . . . . . . . . . . . 15 (𝑦 ∈ (1..^𝑁) → ((𝑦 − 1) − 𝑦) = (0 − 1))
162161adantl 482 . . . . . . . . . . . . . 14 ((𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁)) → ((𝑦 − 1) − 𝑦) = (0 − 1))
163162adantl 482 . . . . . . . . . . . . 13 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → ((𝑦 − 1) − 𝑦) = (0 − 1))
164 df-neg 10213 . . . . . . . . . . . . 13 -1 = (0 − 1)
165163, 164syl6eqr 2673 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → ((𝑦 − 1) − 𝑦) = -1)
166156, 165eqtrd 2655 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → (((𝑦 − 1) mod 𝑁) − 𝑦) = -1)
167166adantr 481 . . . . . . . . . 10 ((((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) ∧ 𝐴 = ((𝑥 · 𝑁) + 𝑦)) → (((𝑦 − 1) mod 𝑁) − 𝑦) = -1)
168125, 167eqtrd 2655 . . . . . . . . 9 ((((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) ∧ 𝐴 = ((𝑥 · 𝑁) + 𝑦)) → (((𝐴 − 1) mod 𝑁) − (𝐴 mod 𝑁)) = -1)
169168eqcomd 2627 . . . . . . . 8 ((((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) ∧ 𝐴 = ((𝑥 · 𝑁) + 𝑦)) → -1 = (((𝐴 − 1) mod 𝑁) − (𝐴 mod 𝑁)))
170169ex 450 . . . . . . 7 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ (𝑥 ∈ ℤ ∧ 𝑦 ∈ (1..^𝑁))) → (𝐴 = ((𝑥 · 𝑁) + 𝑦) → -1 = (((𝐴 − 1) mod 𝑁) − (𝐴 mod 𝑁))))
171170rexlimdvva 3031 . . . . . 6 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → (∃𝑥 ∈ ℤ ∃𝑦 ∈ (1..^𝑁)𝐴 = ((𝑥 · 𝑁) + 𝑦) → -1 = (((𝐴 − 1) mod 𝑁) − (𝐴 mod 𝑁))))
17271, 171syld 47 . . . . 5 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → ((𝐴 mod 𝑁) ≠ 0 → -1 = (((𝐴 − 1) mod 𝑁) − (𝐴 mod 𝑁))))
17370, 172syl5bir 233 . . . 4 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → (¬ (𝐴 mod 𝑁) = 0 → -1 = (((𝐴 − 1) mod 𝑁) − (𝐴 mod 𝑁))))
174173imp 445 . . 3 (((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) ∧ ¬ (𝐴 mod 𝑁) = 0) → -1 = (((𝐴 − 1) mod 𝑁) − (𝐴 mod 𝑁)))
17569, 174ifeqda 4093 . 2 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → if((𝐴 mod 𝑁) = 0, (𝑁 − 1), -1) = (((𝐴 − 1) mod 𝑁) − (𝐴 mod 𝑁)))
176175eqcomd 2627 1 ((𝐴 ∈ ℤ ∧ 𝑁 ∈ ℕ) → (((𝐴 − 1) mod 𝑁) − (𝐴 mod 𝑁)) = if((𝐴 mod 𝑁) = 0, (𝑁 − 1), -1))
Colors of variables: wff setvar class
Syntax hints:  ¬ wn 3  wi 4  wb 196  wa 384  w3a 1036   = wceq 1480  wcel 1987  wne 2790  wrex 2908  ifcif 4058   class class class wbr 4613  cfv 5847  (class class class)co 6604  cc 9878  cr 9879  0cc0 9880  1c1 9881   + caddc 9883   · cmul 9885   < clt 10018  cle 10019  cmin 10210  -cneg 10211  cn 10964  cz 11321  cuz 11631  +crp 11776  ..^cfzo 12406   mod cmo 12608
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1719  ax-4 1734  ax-5 1836  ax-6 1885  ax-7 1932  ax-8 1989  ax-9 1996  ax-10 2016  ax-11 2031  ax-12 2044  ax-13 2245  ax-ext 2601  ax-sep 4741  ax-nul 4749  ax-pow 4803  ax-pr 4867  ax-un 6902  ax-cnex 9936  ax-resscn 9937  ax-1cn 9938  ax-icn 9939  ax-addcl 9940  ax-addrcl 9941  ax-mulcl 9942  ax-mulrcl 9943  ax-mulcom 9944  ax-addass 9945  ax-mulass 9946  ax-distr 9947  ax-i2m1 9948  ax-1ne0 9949  ax-1rid 9950  ax-rnegex 9951  ax-rrecex 9952  ax-cnre 9953  ax-pre-lttri 9954  ax-pre-lttrn 9955  ax-pre-ltadd 9956  ax-pre-mulgt0 9957  ax-pre-sup 9958
This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-3or 1037  df-3an 1038  df-tru 1483  df-ex 1702  df-nf 1707  df-sb 1878  df-eu 2473  df-mo 2474  df-clab 2608  df-cleq 2614  df-clel 2617  df-nfc 2750  df-ne 2791  df-nel 2894  df-ral 2912  df-rex 2913  df-reu 2914  df-rmo 2915  df-rab 2916  df-v 3188  df-sbc 3418  df-csb 3515  df-dif 3558  df-un 3560  df-in 3562  df-ss 3569  df-pss 3571  df-nul 3892  df-if 4059  df-pw 4132  df-sn 4149  df-pr 4151  df-tp 4153  df-op 4155  df-uni 4403  df-iun 4487  df-br 4614  df-opab 4674  df-mpt 4675  df-tr 4713  df-eprel 4985  df-id 4989  df-po 4995  df-so 4996  df-fr 5033  df-we 5035  df-xp 5080  df-rel 5081  df-cnv 5082  df-co 5083  df-dm 5084  df-rn 5085  df-res 5086  df-ima 5087  df-pred 5639  df-ord 5685  df-on 5686  df-lim 5687  df-suc 5688  df-iota 5810  df-fun 5849  df-fn 5850  df-f 5851  df-f1 5852  df-fo 5853  df-f1o 5854  df-fv 5855  df-riota 6565  df-ov 6607  df-oprab 6608  df-mpt2 6609  df-om 7013  df-1st 7113  df-2nd 7114  df-wrecs 7352  df-recs 7413  df-rdg 7451  df-er 7687  df-en 7900  df-dom 7901  df-sdom 7902  df-sup 8292  df-inf 8293  df-pnf 10020  df-mnf 10021  df-xr 10022  df-ltxr 10023  df-le 10024  df-sub 10212  df-neg 10213  df-div 10629  df-nn 10965  df-n0 11237  df-z 11322  df-uz 11632  df-rp 11777  df-fz 12269  df-fzo 12407  df-fl 12533  df-mod 12609
This theorem is referenced by:  dignn0flhalflem1  41698
  Copyright terms: Public domain W3C validator