Metamath Proof Explorer


Theorem hashdvds

Description: The number of numbers in a given residue class in a finite set of integers. (Contributed by Mario Carneiro, 12-Mar-2014) (Proof shortened by Mario Carneiro, 7-Jun-2016)

Ref Expression
Hypotheses hashdvds.1 φ N
hashdvds.2 φ A
hashdvds.3 φ B A 1
hashdvds.4 φ C
Assertion hashdvds φ x A B | N x C = B C N A - 1 - C N

Proof

Step Hyp Ref Expression
1 hashdvds.1 φ N
2 hashdvds.2 φ A
3 hashdvds.3 φ B A 1
4 hashdvds.4 φ C
5 1zzd φ 1
6 eluzelz B A 1 B
7 3 6 syl φ B
8 7 4 zsubcld φ B C
9 8 zred φ B C
10 9 1 nndivred φ B C N
11 10 flcld φ B C N
12 peano2zm A A 1
13 2 12 syl φ A 1
14 13 4 zsubcld φ A - 1 - C
15 14 zred φ A - 1 - C
16 15 1 nndivred φ A - 1 - C N
17 16 flcld φ A - 1 - C N
18 11 17 zsubcld φ B C N A - 1 - C N
19 fzen 1 B C N A - 1 - C N A - 1 - C N 1 B C N A - 1 - C N 1 + A - 1 - C N B C N - A - 1 - C N + A - 1 - C N
20 5 18 17 19 syl3anc φ 1 B C N A - 1 - C N 1 + A - 1 - C N B C N - A - 1 - C N + A - 1 - C N
21 ax-1cn 1
22 17 zcnd φ A - 1 - C N
23 addcom 1 A - 1 - C N 1 + A - 1 - C N = A - 1 - C N + 1
24 21 22 23 sylancr φ 1 + A - 1 - C N = A - 1 - C N + 1
25 11 zcnd φ B C N
26 25 22 npcand φ B C N - A - 1 - C N + A - 1 - C N = B C N
27 24 26 oveq12d φ 1 + A - 1 - C N B C N - A - 1 - C N + A - 1 - C N = A - 1 - C N + 1 B C N
28 20 27 breqtrd φ 1 B C N A - 1 - C N A - 1 - C N + 1 B C N
29 ovexd φ A - 1 - C N + 1 B C N V
30 fzfi A B Fin
31 rabexg A B Fin x A B | N x C V
32 30 31 mp1i φ x A B | N x C V
33 oveq1 x = z N + C x C = z N + C - C
34 33 breq2d x = z N + C N x C N z N + C - C
35 2 adantr φ z A - 1 - C N + 1 B C N A
36 7 adantr φ z A - 1 - C N + 1 B C N B
37 elfzelz z A - 1 - C N + 1 B C N z
38 37 adantl φ z A - 1 - C N + 1 B C N z
39 1 nnzd φ N
40 39 adantr φ z A - 1 - C N + 1 B C N N
41 38 40 zmulcld φ z A - 1 - C N + 1 B C N z N
42 4 adantr φ z A - 1 - C N + 1 B C N C
43 41 42 zaddcld φ z A - 1 - C N + 1 B C N z N + C
44 elfzle1 z A - 1 - C N + 1 B C N A - 1 - C N + 1 z
45 44 adantl φ z A - 1 - C N + 1 B C N A - 1 - C N + 1 z
46 zltp1le A - 1 - C N z A - 1 - C N < z A - 1 - C N + 1 z
47 17 37 46 syl2an φ z A - 1 - C N + 1 B C N A - 1 - C N < z A - 1 - C N + 1 z
48 45 47 mpbird φ z A - 1 - C N + 1 B C N A - 1 - C N < z
49 fllt A - 1 - C N z A - 1 - C N < z A - 1 - C N < z
50 16 37 49 syl2an φ z A - 1 - C N + 1 B C N A - 1 - C N < z A - 1 - C N < z
51 48 50 mpbird φ z A - 1 - C N + 1 B C N A - 1 - C N < z
52 15 adantr φ z A - 1 - C N + 1 B C N A - 1 - C
53 38 zred φ z A - 1 - C N + 1 B C N z
54 1 nnred φ N
55 1 nngt0d φ 0 < N
56 54 55 jca φ N 0 < N
57 56 adantr φ z A - 1 - C N + 1 B C N N 0 < N
58 ltdivmul2 A - 1 - C z N 0 < N A - 1 - C N < z A - 1 - C < z N
59 52 53 57 58 syl3anc φ z A - 1 - C N + 1 B C N A - 1 - C N < z A - 1 - C < z N
60 51 59 mpbid φ z A - 1 - C N + 1 B C N A - 1 - C < z N
61 13 zred φ A 1
62 61 adantr φ z A - 1 - C N + 1 B C N A 1
63 4 zred φ C
64 63 adantr φ z A - 1 - C N + 1 B C N C
65 41 zred φ z A - 1 - C N + 1 B C N z N
66 62 64 65 ltsubaddd φ z A - 1 - C N + 1 B C N A - 1 - C < z N A 1 < z N + C
67 60 66 mpbid φ z A - 1 - C N + 1 B C N A 1 < z N + C
68 zlem1lt A z N + C A z N + C A 1 < z N + C
69 2 43 68 syl2an2r φ z A - 1 - C N + 1 B C N A z N + C A 1 < z N + C
70 67 69 mpbird φ z A - 1 - C N + 1 B C N A z N + C
71 elfzle2 z A - 1 - C N + 1 B C N z B C N
72 71 adantl φ z A - 1 - C N + 1 B C N z B C N
73 flge B C N z z B C N z B C N
74 10 37 73 syl2an φ z A - 1 - C N + 1 B C N z B C N z B C N
75 72 74 mpbird φ z A - 1 - C N + 1 B C N z B C N
76 9 adantr φ z A - 1 - C N + 1 B C N B C
77 lemuldiv z B C N 0 < N z N B C z B C N
78 53 76 57 77 syl3anc φ z A - 1 - C N + 1 B C N z N B C z B C N
79 75 78 mpbird φ z A - 1 - C N + 1 B C N z N B C
80 7 zred φ B
81 80 adantr φ z A - 1 - C N + 1 B C N B
82 leaddsub z N C B z N + C B z N B C
83 65 64 81 82 syl3anc φ z A - 1 - C N + 1 B C N z N + C B z N B C
84 79 83 mpbird φ z A - 1 - C N + 1 B C N z N + C B
85 35 36 43 70 84 elfzd φ z A - 1 - C N + 1 B C N z N + C A B
86 dvdsmul2 z N N z N
87 38 40 86 syl2anc φ z A - 1 - C N + 1 B C N N z N
88 41 zcnd φ z A - 1 - C N + 1 B C N z N
89 4 zcnd φ C
90 89 adantr φ z A - 1 - C N + 1 B C N C
91 88 90 pncand φ z A - 1 - C N + 1 B C N z N + C - C = z N
92 87 91 breqtrrd φ z A - 1 - C N + 1 B C N N z N + C - C
93 34 85 92 elrabd φ z A - 1 - C N + 1 B C N z N + C x A B | N x C
94 93 ex φ z A - 1 - C N + 1 B C N z N + C x A B | N x C
95 oveq1 x = y x C = y C
96 95 breq2d x = y N x C N y C
97 96 elrab y x A B | N x C y A B N y C
98 17 peano2zd φ A - 1 - C N + 1
99 98 adantr φ y A B N y C A - 1 - C N + 1
100 11 adantr φ y A B N y C B C N
101 simprr φ y A B N y C N y C
102 39 adantr φ y A B N y C N
103 1 nnne0d φ N 0
104 103 adantr φ y A B N y C N 0
105 elfzelz y A B y
106 105 ad2antrl φ y A B N y C y
107 4 adantr φ y A B N y C C
108 106 107 zsubcld φ y A B N y C y C
109 dvdsval2 N N 0 y C N y C y C N
110 102 104 108 109 syl3anc φ y A B N y C N y C y C N
111 101 110 mpbid φ y A B N y C y C N
112 61 adantr φ y A B N y C A 1
113 106 zred φ y A B N y C y
114 63 adantr φ y A B N y C C
115 elfzle1 y A B A y
116 115 ad2antrl φ y A B N y C A y
117 zlem1lt A y A y A 1 < y
118 2 106 117 syl2an2r φ y A B N y C A y A 1 < y
119 116 118 mpbid φ y A B N y C A 1 < y
120 112 113 114 119 ltsub1dd φ y A B N y C A - 1 - C < y C
121 15 adantr φ y A B N y C A - 1 - C
122 108 zred φ y A B N y C y C
123 56 adantr φ y A B N y C N 0 < N
124 ltdiv1 A - 1 - C y C N 0 < N A - 1 - C < y C A - 1 - C N < y C N
125 121 122 123 124 syl3anc φ y A B N y C A - 1 - C < y C A - 1 - C N < y C N
126 120 125 mpbid φ y A B N y C A - 1 - C N < y C N
127 fllt A - 1 - C N y C N A - 1 - C N < y C N A - 1 - C N < y C N
128 16 111 127 syl2an2r φ y A B N y C A - 1 - C N < y C N A - 1 - C N < y C N
129 126 128 mpbid φ y A B N y C A - 1 - C N < y C N
130 zltp1le A - 1 - C N y C N A - 1 - C N < y C N A - 1 - C N + 1 y C N
131 17 111 130 syl2an2r φ y A B N y C A - 1 - C N < y C N A - 1 - C N + 1 y C N
132 129 131 mpbid φ y A B N y C A - 1 - C N + 1 y C N
133 80 adantr φ y A B N y C B
134 elfzle2 y A B y B
135 134 ad2antrl φ y A B N y C y B
136 113 133 114 135 lesub1dd φ y A B N y C y C B C
137 9 adantr φ y A B N y C B C
138 lediv1 y C B C N 0 < N y C B C y C N B C N
139 122 137 123 138 syl3anc φ y A B N y C y C B C y C N B C N
140 136 139 mpbid φ y A B N y C y C N B C N
141 flge B C N y C N y C N B C N y C N B C N
142 10 111 141 syl2an2r φ y A B N y C y C N B C N y C N B C N
143 140 142 mpbid φ y A B N y C y C N B C N
144 99 100 111 132 143 elfzd φ y A B N y C y C N A - 1 - C N + 1 B C N
145 144 ex φ y A B N y C y C N A - 1 - C N + 1 B C N
146 97 145 syl5bi φ y x A B | N x C y C N A - 1 - C N + 1 B C N
147 97 anbi2i z A - 1 - C N + 1 B C N y x A B | N x C z A - 1 - C N + 1 B C N y A B N y C
148 108 zcnd φ y A B N y C y C
149 148 adantrl φ z A - 1 - C N + 1 B C N y A B N y C y C
150 38 zcnd φ z A - 1 - C N + 1 B C N z
151 150 adantrr φ z A - 1 - C N + 1 B C N y A B N y C z
152 1 nncnd φ N
153 152 adantr φ z A - 1 - C N + 1 B C N y A B N y C N
154 103 adantr φ z A - 1 - C N + 1 B C N y A B N y C N 0
155 149 151 153 154 divmul3d φ z A - 1 - C N + 1 B C N y A B N y C y C N = z y C = z N
156 106 zcnd φ y A B N y C y
157 156 adantrl φ z A - 1 - C N + 1 B C N y A B N y C y
158 89 adantr φ z A - 1 - C N + 1 B C N y A B N y C C
159 88 adantrr φ z A - 1 - C N + 1 B C N y A B N y C z N
160 157 158 159 subadd2d φ z A - 1 - C N + 1 B C N y A B N y C y C = z N z N + C = y
161 155 160 bitrd φ z A - 1 - C N + 1 B C N y A B N y C y C N = z z N + C = y
162 eqcom z = y C N y C N = z
163 eqcom y = z N + C z N + C = y
164 161 162 163 3bitr4g φ z A - 1 - C N + 1 B C N y A B N y C z = y C N y = z N + C
165 147 164 sylan2b φ z A - 1 - C N + 1 B C N y x A B | N x C z = y C N y = z N + C
166 165 ex φ z A - 1 - C N + 1 B C N y x A B | N x C z = y C N y = z N + C
167 29 32 94 146 166 en3d φ A - 1 - C N + 1 B C N x A B | N x C
168 entr 1 B C N A - 1 - C N A - 1 - C N + 1 B C N A - 1 - C N + 1 B C N x A B | N x C 1 B C N A - 1 - C N x A B | N x C
169 28 167 168 syl2anc φ 1 B C N A - 1 - C N x A B | N x C
170 fzfi 1 B C N A - 1 - C N Fin
171 ssrab2 x A B | N x C A B
172 ssfi A B Fin x A B | N x C A B x A B | N x C Fin
173 30 171 172 mp2an x A B | N x C Fin
174 hashen 1 B C N A - 1 - C N Fin x A B | N x C Fin 1 B C N A - 1 - C N = x A B | N x C 1 B C N A - 1 - C N x A B | N x C
175 170 173 174 mp2an 1 B C N A - 1 - C N = x A B | N x C 1 B C N A - 1 - C N x A B | N x C
176 169 175 sylibr φ 1 B C N A - 1 - C N = x A B | N x C
177 eluzle B A 1 A 1 B
178 3 177 syl φ A 1 B
179 zre A 1 A 1
180 zre B B
181 zre C C
182 lesub1 A 1 B C A 1 B A - 1 - C B C
183 179 180 181 182 syl3an A 1 B C A 1 B A - 1 - C B C
184 13 7 4 183 syl3anc φ A 1 B A - 1 - C B C
185 178 184 mpbid φ A - 1 - C B C
186 lediv1 A - 1 - C B C N 0 < N A - 1 - C B C A - 1 - C N B C N
187 15 9 56 186 syl3anc φ A - 1 - C B C A - 1 - C N B C N
188 185 187 mpbid φ A - 1 - C N B C N
189 flword2 A - 1 - C N B C N A - 1 - C N B C N B C N A - 1 - C N
190 16 10 188 189 syl3anc φ B C N A - 1 - C N
191 uznn0sub B C N A - 1 - C N B C N A - 1 - C N 0
192 hashfz1 B C N A - 1 - C N 0 1 B C N A - 1 - C N = B C N A - 1 - C N
193 190 191 192 3syl φ 1 B C N A - 1 - C N = B C N A - 1 - C N
194 176 193 eqtr3d φ x A B | N x C = B C N A - 1 - C N