Metamath Proof Explorer


Theorem submodlt

Description: The difference of an element of a half-open range of nonnegative integers and the upper bound of this range modulo an integer greater than the upper bound. (Contributed by AV, 1-Sep-2025)

Ref Expression
Assertion submodlt N A 0 ..^ B B < N A B mod N = N + A - B

Proof

Step Hyp Ref Expression
1 elfzoel2 A 0 ..^ B B
2 1 zcnd A 0 ..^ B B
3 elfzoelz A 0 ..^ B A
4 3 zcnd A 0 ..^ B A
5 2 4 jca A 0 ..^ B B A
6 5 3ad2ant2 N A 0 ..^ B B < N B A
7 negsubdi2 B A B A = A B
8 6 7 syl N A 0 ..^ B B < N B A = A B
9 8 eqcomd N A 0 ..^ B B < N A B = B A
10 9 oveq1d N A 0 ..^ B B < N A B mod N = B A mod N
11 1 3 zsubcld A 0 ..^ B B A
12 11 zred A 0 ..^ B B A
13 12 3ad2ant2 N A 0 ..^ B B < N B A
14 nnrp N N +
15 14 3ad2ant1 N A 0 ..^ B B < N N +
16 negmod B A N + B A mod N = N B A mod N
17 13 15 16 syl2anc N A 0 ..^ B B < N B A mod N = N B A mod N
18 10 17 eqtrd N A 0 ..^ B B < N A B mod N = N B A mod N
19 nnz N N
20 19 3ad2ant1 N A 0 ..^ B B < N N
21 11 3ad2ant2 N A 0 ..^ B B < N B A
22 20 21 zsubcld N A 0 ..^ B B < N N B A
23 22 zred N A 0 ..^ B B < N N B A
24 1 zred A 0 ..^ B B
25 24 3ad2ant2 N A 0 ..^ B B < N B
26 nnre N N
27 26 3ad2ant1 N A 0 ..^ B B < N N
28 elfzo0suble A 0 ..^ B B A B
29 28 3ad2ant2 N A 0 ..^ B B < N B A B
30 simp3 N A 0 ..^ B B < N B < N
31 leltletr B A B N B A B B < N B A N
32 31 imp B A B N B A B B < N B A N
33 13 25 27 29 30 32 syl32anc N A 0 ..^ B B < N B A N
34 27 13 subge0d N A 0 ..^ B B < N 0 N B A B A N
35 33 34 mpbird N A 0 ..^ B B < N 0 N B A
36 elfzo0 A 0 ..^ B A 0 B A < B
37 nn0re A 0 A
38 nnre B B
39 posdif A B A < B 0 < B A
40 37 38 39 syl2an A 0 B A < B 0 < B A
41 40 biimp3a A 0 B A < B 0 < B A
42 36 41 sylbi A 0 ..^ B 0 < B A
43 42 3ad2ant2 N A 0 ..^ B B < N 0 < B A
44 13 27 ltsubposd N A 0 ..^ B B < N 0 < B A N B A < N
45 43 44 mpbid N A 0 ..^ B B < N N B A < N
46 modid N B A N + 0 N B A N B A < N N B A mod N = N B A
47 23 15 35 45 46 syl22anc N A 0 ..^ B B < N N B A mod N = N B A
48 nncn N N
49 48 3ad2ant1 N A 0 ..^ B B < N N
50 2 3ad2ant2 N A 0 ..^ B B < N B
51 4 3ad2ant2 N A 0 ..^ B B < N A
52 49 50 51 subsub3d N A 0 ..^ B B < N N B A = N + A - B
53 18 47 52 3eqtrd N A 0 ..^ B B < N A B mod N = N + A - B