Metamath Proof Explorer


Theorem modaddmodup

Description: The sum of an integer modulo a positive integer and another integer minus the positive integer equals the sum of the two integers modulo the positive integer if the other integer is in the upper part of the range between 0 and the positive integer. (Contributed by AV, 30-Oct-2018)

Ref Expression
Assertion modaddmodup AMBMAmodM..^MB+AmodM-M=B+AmodM

Proof

Step Hyp Ref Expression
1 elfzoelz BMAmodM..^MB
2 1 zred BMAmodM..^MB
3 2 adantr BMAmodM..^MAMB
4 zmodcl AMAmodM0
5 4 nn0red AMAmodM
6 5 adantl BMAmodM..^MAMAmodM
7 3 6 readdcld BMAmodM..^MAMB+AmodM
8 7 ancoms AMBMAmodM..^MB+AmodM
9 nnrp MM+
10 9 ad2antlr AMBMAmodM..^MM+
11 elfzo2 BMAmodM..^MBMAmodMMB<M
12 eluz2 BMAmodMMAmodMBMAmodMB
13 nnre MM
14 13 adantl AMM
15 14 adantl BAMM
16 5 adantl BAMAmodM
17 zre BB
18 17 adantr BAMB
19 15 16 18 lesubaddd BAMMAmodMBMB+AmodM
20 19 biimpd BAMMAmodMBMB+AmodM
21 20 impancom BMAmodMBAMMB+AmodM
22 21 3adant1 MAmodMBMAmodMBAMMB+AmodM
23 12 22 sylbi BMAmodMAMMB+AmodM
24 23 3ad2ant1 BMAmodMMB<MAMMB+AmodM
25 11 24 sylbi BMAmodM..^MAMMB+AmodM
26 25 impcom AMBMAmodM..^MMB+AmodM
27 eluzelz BMAmodMB
28 17 5 anim12i BAMBAmodM
29 13 13 jca MMM
30 29 adantl AMMM
31 30 adantl BAMMM
32 28 31 jca BAMBAmodMMM
33 32 adantr BAMB<MBAmodMMM
34 simpr BAMB<MB<M
35 zre AA
36 modlt AM+AmodM<M
37 35 9 36 syl2an AMAmodM<M
38 5 14 37 ltled AMAmodMM
39 38 ad2antlr BAMB<MAmodMM
40 34 39 jca BAMB<MB<MAmodMM
41 ltleadd BAmodMMMB<MAmodMMB+AmodM<M+M
42 33 40 41 sylc BAMB<MB+AmodM<M+M
43 nncn MM
44 43 2timesd M2 M=M+M
45 44 adantl AM2 M=M+M
46 45 ad2antlr BAMB<M2 M=M+M
47 42 46 breqtrrd BAMB<MB+AmodM<2 M
48 47 exp31 BAMB<MB+AmodM<2 M
49 48 com23 BB<MAMB+AmodM<2 M
50 27 49 syl BMAmodMB<MAMB+AmodM<2 M
51 50 imp BMAmodMB<MAMB+AmodM<2 M
52 51 3adant2 BMAmodMMB<MAMB+AmodM<2 M
53 11 52 sylbi BMAmodM..^MAMB+AmodM<2 M
54 53 impcom AMBMAmodM..^MB+AmodM<2 M
55 2submod B+AmodMM+MB+AmodMB+AmodM<2 MB+AmodMmodM=B+AmodM-M
56 55 eqcomd B+AmodMM+MB+AmodMB+AmodM<2 MB+AmodM-M=B+AmodMmodM
57 8 10 26 54 56 syl22anc AMBMAmodM..^MB+AmodM-M=B+AmodMmodM
58 35 adantr AMA
59 58 adantr AMBMAmodM..^MA
60 2 adantl AMBMAmodM..^MB
61 modadd2mod ABM+B+AmodMmodM=B+AmodM
62 59 60 10 61 syl3anc AMBMAmodM..^MB+AmodMmodM=B+AmodM
63 57 62 eqtrd AMBMAmodM..^MB+AmodM-M=B+AmodM
64 63 ex AMBMAmodM..^MB+AmodM-M=B+AmodM