Metamath Proof Explorer


Theorem modfzo0difsn

Description: For a number within a half-open range of nonnegative integers with one excluded integer there is a positive integer so that the number is equal to the sum of the positive integer and the excluded integer modulo the upper bound of the range. (Contributed by AV, 19-Mar-2021)

Ref Expression
Assertion modfzo0difsn J0..^NK0..^NJi1..^NK=i+JmodN

Proof

Step Hyp Ref Expression
1 eldifi K0..^NJK0..^N
2 elfzoelz K0..^NK
3 2 zred K0..^NK
4 1 3 syl K0..^NJK
5 elfzoelz J0..^NJ
6 5 zred J0..^NJ
7 leloe KJKJK<JK=J
8 4 6 7 syl2anr J0..^NK0..^NJKJK<JK=J
9 elfzo0 K0..^NK0NK<N
10 elfzo0 J0..^NJ0NJ<N
11 nn0cn K0K
12 11 adantr K0K<NK
13 12 adantl J0NJ<NK0K<NK
14 nn0cn J0J
15 14 3ad2ant1 J0NJ<NJ
16 15 adantr J0NJ<NK0K<NJ
17 nncn NN
18 17 3ad2ant2 J0NJ<NN
19 18 adantr J0NJ<NK0K<NN
20 13 16 19 subadd23d J0NJ<NK0K<NK-J+N=K+N-J
21 simpl K0K<NK0
22 nn0z J0J
23 nnz NN
24 znnsub JNJ<NNJ
25 22 23 24 syl2an J0NJ<NNJ
26 25 biimp3a J0NJ<NNJ
27 nn0nnaddcl K0NJK+N-J
28 21 26 27 syl2anr J0NJ<NK0K<NK+N-J
29 20 28 eqeltrd J0NJ<NK0K<NK-J+N
30 29 adantr J0NJ<NK0K<NK<JK-J+N
31 simp2 J0NJ<NN
32 31 adantr J0NJ<NK0K<NN
33 32 adantr J0NJ<NK0K<NK<JN
34 nn0re K0K
35 34 adantr K0K<NK
36 35 adantl J0NJ<NK0K<NK
37 nn0re J0J
38 37 3ad2ant1 J0NJ<NJ
39 38 adantr J0NJ<NK0K<NJ
40 36 39 sublt0d J0NJ<NK0K<NKJ<0K<J
41 40 bicomd J0NJ<NK0K<NK<JKJ<0
42 41 biimpa J0NJ<NK0K<NK<JKJ<0
43 resubcl KJKJ
44 35 38 43 syl2anr J0NJ<NK0K<NKJ
45 nnre NN
46 45 3ad2ant2 J0NJ<NN
47 46 adantr J0NJ<NK0K<NN
48 44 47 jca J0NJ<NK0K<NKJN
49 48 adantr J0NJ<NK0K<NK<JKJN
50 ltaddnegr KJNKJ<0K-J+N<N
51 49 50 syl J0NJ<NK0K<NK<JKJ<0K-J+N<N
52 42 51 mpbid J0NJ<NK0K<NK<JK-J+N<N
53 elfzo1 K-J+N1..^NK-J+NNK-J+N<N
54 30 33 52 53 syl3anbrc J0NJ<NK0K<NK<JK-J+N1..^N
55 54 exp31 J0NJ<NK0K<NK<JK-J+N1..^N
56 10 55 sylbi J0..^NK0K<NK<JK-J+N1..^N
57 56 com12 K0K<NJ0..^NK<JK-J+N1..^N
58 57 3adant2 K0NK<NJ0..^NK<JK-J+N1..^N
59 9 58 sylbi K0..^NJ0..^NK<JK-J+N1..^N
60 1 59 syl K0..^NJJ0..^NK<JK-J+N1..^N
61 60 impcom J0..^NK0..^NJK<JK-J+N1..^N
62 61 impcom K<JJ0..^NK0..^NJK-J+N1..^N
63 oveq1 i=K-J+Ni+J=KJ+N+J
64 2 zcnd K0..^NK
65 64 adantr K0..^NJ0NK
66 14 adantr J0NJ
67 66 adantl K0..^NJ0NJ
68 17 adantl J0NN
69 68 adantl K0..^NJ0NN
70 65 67 69 3jca K0..^NJ0NKJN
71 70 ex K0..^NJ0NKJN
72 1 71 syl K0..^NJJ0NKJN
73 72 com12 J0NK0..^NJKJN
74 73 3adant3 J0NJ<NK0..^NJKJN
75 10 74 sylbi J0..^NK0..^NJKJN
76 75 imp J0..^NK0..^NJKJN
77 76 adantl K<JJ0..^NK0..^NJKJN
78 nppcan KJNKJ+N+J=K+N
79 77 78 syl K<JJ0..^NK0..^NJKJ+N+J=K+N
80 63 79 sylan9eqr K<JJ0..^NK0..^NJi=K-J+Ni+J=K+N
81 80 oveq1d K<JJ0..^NK0..^NJi=K-J+Ni+JmodN=K+NmodN
82 81 eqeq2d K<JJ0..^NK0..^NJi=K-J+NK=i+JmodNK=K+NmodN
83 9 biimpi K0..^NK0NK<N
84 83 a1d K0..^NJ0..^NK0NK<N
85 1 84 syl K0..^NJJ0..^NK0NK<N
86 85 impcom J0..^NK0..^NJK0NK<N
87 86 adantl K<JJ0..^NK0..^NJK0NK<N
88 addmodidr K0NK<NK+NmodN=K
89 88 eqcomd K0NK<NK=K+NmodN
90 87 89 syl K<JJ0..^NK0..^NJK=K+NmodN
91 62 82 90 rspcedvd K<JJ0..^NK0..^NJi1..^NK=i+JmodN
92 91 ex K<JJ0..^NK0..^NJi1..^NK=i+JmodN
93 eldifsn K0..^NJK0..^NKJ
94 eqneqall K=JKJi1..^NK=i+JmodN
95 94 com12 KJK=Ji1..^NK=i+JmodN
96 95 adantl K0..^NKJK=Ji1..^NK=i+JmodN
97 93 96 sylbi K0..^NJK=Ji1..^NK=i+JmodN
98 97 adantl J0..^NK0..^NJK=Ji1..^NK=i+JmodN
99 98 com12 K=JJ0..^NK0..^NJi1..^NK=i+JmodN
100 92 99 jaoi K<JK=JJ0..^NK0..^NJi1..^NK=i+JmodN
101 100 com12 J0..^NK0..^NJK<JK=Ji1..^NK=i+JmodN
102 8 101 sylbid J0..^NK0..^NJKJi1..^NK=i+JmodN
103 102 com12 KJJ0..^NK0..^NJi1..^NK=i+JmodN
104 ltnle JKJ<K¬KJ
105 6 4 104 syl2an J0..^NK0..^NJJ<K¬KJ
106 105 bicomd J0..^NK0..^NJ¬KJJ<K
107 22 3ad2ant1 J0NJ<NJ
108 nn0z K0K
109 108 adantr K0K<NK
110 znnsub JKJ<KKJ
111 107 109 110 syl2anr K0K<NJ0NJ<NJ<KKJ
112 111 biimpa K0K<NJ0NJ<NJ<KKJ
113 31 adantl K0K<NJ0NJ<NN
114 113 adantr K0K<NJ0NJ<NJ<KN
115 nn0ge0 J00J
116 115 3ad2ant1 J0NJ<N0J
117 116 adantl K0J0NJ<N0J
118 subge02 KJ0JKJK
119 34 38 118 syl2an K0J0NJ<N0JKJK
120 117 119 mpbid K0J0NJ<NKJK
121 38 adantl K0J0NJ<NJ
122 34 adantr K0J0NJ<NK
123 46 adantl K0J0NJ<NN
124 121 122 123 3jca K0J0NJ<NJKN
125 43 ancoms JKKJ
126 125 3adant3 JKNKJ
127 simp2 JKNK
128 simp3 JKNN
129 126 127 128 3jca JKNKJKN
130 124 129 syl K0J0NJ<NKJKN
131 lelttr KJKNKJKK<NKJ<N
132 130 131 syl K0J0NJ<NKJKK<NKJ<N
133 120 132 mpand K0J0NJ<NK<NKJ<N
134 133 impancom K0K<NJ0NJ<NKJ<N
135 134 imp K0K<NJ0NJ<NKJ<N
136 135 adantr K0K<NJ0NJ<NJ<KKJ<N
137 112 114 136 3jca K0K<NJ0NJ<NJ<KKJNKJ<N
138 137 exp31 K0K<NJ0NJ<NJ<KKJNKJ<N
139 138 3adant2 K0NK<NJ0NJ<NJ<KKJNKJ<N
140 9 139 sylbi K0..^NJ0NJ<NJ<KKJNKJ<N
141 1 140 syl K0..^NJJ0NJ<NJ<KKJNKJ<N
142 141 com12 J0NJ<NK0..^NJJ<KKJNKJ<N
143 10 142 sylbi J0..^NK0..^NJJ<KKJNKJ<N
144 143 imp J0..^NK0..^NJJ<KKJNKJ<N
145 106 144 sylbid J0..^NK0..^NJ¬KJKJNKJ<N
146 145 impcom ¬KJJ0..^NK0..^NJKJNKJ<N
147 elfzo1 KJ1..^NKJNKJ<N
148 146 147 sylibr ¬KJJ0..^NK0..^NJKJ1..^N
149 oveq1 i=KJi+J=K-J+J
150 1 64 syl K0..^NJK
151 5 zcnd J0..^NJ
152 npcan KJK-J+J=K
153 150 151 152 syl2anr J0..^NK0..^NJK-J+J=K
154 153 adantl ¬KJJ0..^NK0..^NJK-J+J=K
155 149 154 sylan9eqr ¬KJJ0..^NK0..^NJi=KJi+J=K
156 155 oveq1d ¬KJJ0..^NK0..^NJi=KJi+JmodN=KmodN
157 156 eqeq2d ¬KJJ0..^NK0..^NJi=KJK=i+JmodNK=KmodN
158 zmodidfzoimp K0..^NKmodN=K
159 1 158 syl K0..^NJKmodN=K
160 159 adantl J0..^NK0..^NJKmodN=K
161 160 adantl ¬KJJ0..^NK0..^NJKmodN=K
162 161 eqcomd ¬KJJ0..^NK0..^NJK=KmodN
163 148 157 162 rspcedvd ¬KJJ0..^NK0..^NJi1..^NK=i+JmodN
164 163 ex ¬KJJ0..^NK0..^NJi1..^NK=i+JmodN
165 103 164 pm2.61i J0..^NK0..^NJi1..^NK=i+JmodN