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 φBA1
hashdvds.4 φC
Assertion hashdvds φxAB|NxC=BCNA-1-CN

Proof

Step Hyp Ref Expression
1 hashdvds.1 φN
2 hashdvds.2 φA
3 hashdvds.3 φBA1
4 hashdvds.4 φC
5 1zzd φ1
6 eluzelz BA1B
7 3 6 syl φB
8 7 4 zsubcld φBC
9 8 zred φBC
10 9 1 nndivred φBCN
11 10 flcld φBCN
12 peano2zm AA1
13 2 12 syl φA1
14 13 4 zsubcld φA-1-C
15 14 zred φA-1-C
16 15 1 nndivred φA-1-CN
17 16 flcld φA-1-CN
18 11 17 zsubcld φBCNA-1-CN
19 fzen 1BCNA-1-CNA-1-CN1BCNA-1-CN1+A-1-CNBCN-A-1-CN+A-1-CN
20 5 18 17 19 syl3anc φ1BCNA-1-CN1+A-1-CNBCN-A-1-CN+A-1-CN
21 ax-1cn 1
22 17 zcnd φA-1-CN
23 addcom 1A-1-CN1+A-1-CN=A-1-CN+1
24 21 22 23 sylancr φ1+A-1-CN=A-1-CN+1
25 11 zcnd φBCN
26 25 22 npcand φBCN-A-1-CN+A-1-CN=BCN
27 24 26 oveq12d φ1+A-1-CNBCN-A-1-CN+A-1-CN=A-1-CN+1BCN
28 20 27 breqtrd φ1BCNA-1-CNA-1-CN+1BCN
29 ovexd φA-1-CN+1BCNV
30 fzfi ABFin
31 rabexg ABFinxAB|NxCV
32 30 31 mp1i φxAB|NxCV
33 oveq1 x=z N+CxC=z N+C-C
34 33 breq2d x=z N+CNxCNz N+C-C
35 2 adantr φzA-1-CN+1BCNA
36 7 adantr φzA-1-CN+1BCNB
37 elfzelz zA-1-CN+1BCNz
38 37 adantl φzA-1-CN+1BCNz
39 1 nnzd φN
40 39 adantr φzA-1-CN+1BCNN
41 38 40 zmulcld φzA-1-CN+1BCNz N
42 4 adantr φzA-1-CN+1BCNC
43 41 42 zaddcld φzA-1-CN+1BCNz N+C
44 elfzle1 zA-1-CN+1BCNA-1-CN+1z
45 44 adantl φzA-1-CN+1BCNA-1-CN+1z
46 zltp1le A-1-CNzA-1-CN<zA-1-CN+1z
47 17 37 46 syl2an φzA-1-CN+1BCNA-1-CN<zA-1-CN+1z
48 45 47 mpbird φzA-1-CN+1BCNA-1-CN<z
49 fllt A-1-CNzA-1-CN<zA-1-CN<z
50 16 37 49 syl2an φzA-1-CN+1BCNA-1-CN<zA-1-CN<z
51 48 50 mpbird φzA-1-CN+1BCNA-1-CN<z
52 15 adantr φzA-1-CN+1BCNA-1-C
53 38 zred φzA-1-CN+1BCNz
54 1 nnred φN
55 1 nngt0d φ0<N
56 54 55 jca φN0<N
57 56 adantr φzA-1-CN+1BCNN0<N
58 ltdivmul2 A-1-CzN0<NA-1-CN<zA-1-C<z N
59 52 53 57 58 syl3anc φzA-1-CN+1BCNA-1-CN<zA-1-C<z N
60 51 59 mpbid φzA-1-CN+1BCNA-1-C<z N
61 13 zred φA1
62 61 adantr φzA-1-CN+1BCNA1
63 4 zred φC
64 63 adantr φzA-1-CN+1BCNC
65 41 zred φzA-1-CN+1BCNz N
66 62 64 65 ltsubaddd φzA-1-CN+1BCNA-1-C<z NA1<z N+C
67 60 66 mpbid φzA-1-CN+1BCNA1<z N+C
68 zlem1lt Az N+CAz N+CA1<z N+C
69 2 43 68 syl2an2r φzA-1-CN+1BCNAz N+CA1<z N+C
70 67 69 mpbird φzA-1-CN+1BCNAz N+C
71 elfzle2 zA-1-CN+1BCNzBCN
72 71 adantl φzA-1-CN+1BCNzBCN
73 flge BCNzzBCNzBCN
74 10 37 73 syl2an φzA-1-CN+1BCNzBCNzBCN
75 72 74 mpbird φzA-1-CN+1BCNzBCN
76 9 adantr φzA-1-CN+1BCNBC
77 lemuldiv zBCN0<Nz NBCzBCN
78 53 76 57 77 syl3anc φzA-1-CN+1BCNz NBCzBCN
79 75 78 mpbird φzA-1-CN+1BCNz NBC
80 7 zred φB
81 80 adantr φzA-1-CN+1BCNB
82 leaddsub z NCBz N+CBz NBC
83 65 64 81 82 syl3anc φzA-1-CN+1BCNz N+CBz NBC
84 79 83 mpbird φzA-1-CN+1BCNz N+CB
85 35 36 43 70 84 elfzd φzA-1-CN+1BCNz N+CAB
86 dvdsmul2 zNNz N
87 38 40 86 syl2anc φzA-1-CN+1BCNNz N
88 41 zcnd φzA-1-CN+1BCNz N
89 4 zcnd φC
90 89 adantr φzA-1-CN+1BCNC
91 88 90 pncand φzA-1-CN+1BCNz N+C-C=z N
92 87 91 breqtrrd φzA-1-CN+1BCNNz N+C-C
93 34 85 92 elrabd φzA-1-CN+1BCNz N+CxAB|NxC
94 93 ex φzA-1-CN+1BCNz N+CxAB|NxC
95 oveq1 x=yxC=yC
96 95 breq2d x=yNxCNyC
97 96 elrab yxAB|NxCyABNyC
98 17 peano2zd φA-1-CN+1
99 98 adantr φyABNyCA-1-CN+1
100 11 adantr φyABNyCBCN
101 simprr φyABNyCNyC
102 39 adantr φyABNyCN
103 1 nnne0d φN0
104 103 adantr φyABNyCN0
105 elfzelz yABy
106 105 ad2antrl φyABNyCy
107 4 adantr φyABNyCC
108 106 107 zsubcld φyABNyCyC
109 dvdsval2 NN0yCNyCyCN
110 102 104 108 109 syl3anc φyABNyCNyCyCN
111 101 110 mpbid φyABNyCyCN
112 61 adantr φyABNyCA1
113 106 zred φyABNyCy
114 63 adantr φyABNyCC
115 elfzle1 yABAy
116 115 ad2antrl φyABNyCAy
117 zlem1lt AyAyA1<y
118 2 106 117 syl2an2r φyABNyCAyA1<y
119 116 118 mpbid φyABNyCA1<y
120 112 113 114 119 ltsub1dd φyABNyCA-1-C<yC
121 15 adantr φyABNyCA-1-C
122 108 zred φyABNyCyC
123 56 adantr φyABNyCN0<N
124 ltdiv1 A-1-CyCN0<NA-1-C<yCA-1-CN<yCN
125 121 122 123 124 syl3anc φyABNyCA-1-C<yCA-1-CN<yCN
126 120 125 mpbid φyABNyCA-1-CN<yCN
127 fllt A-1-CNyCNA-1-CN<yCNA-1-CN<yCN
128 16 111 127 syl2an2r φyABNyCA-1-CN<yCNA-1-CN<yCN
129 126 128 mpbid φyABNyCA-1-CN<yCN
130 zltp1le A-1-CNyCNA-1-CN<yCNA-1-CN+1yCN
131 17 111 130 syl2an2r φyABNyCA-1-CN<yCNA-1-CN+1yCN
132 129 131 mpbid φyABNyCA-1-CN+1yCN
133 80 adantr φyABNyCB
134 elfzle2 yAByB
135 134 ad2antrl φyABNyCyB
136 113 133 114 135 lesub1dd φyABNyCyCBC
137 9 adantr φyABNyCBC
138 lediv1 yCBCN0<NyCBCyCNBCN
139 122 137 123 138 syl3anc φyABNyCyCBCyCNBCN
140 136 139 mpbid φyABNyCyCNBCN
141 flge BCNyCNyCNBCNyCNBCN
142 10 111 141 syl2an2r φyABNyCyCNBCNyCNBCN
143 140 142 mpbid φyABNyCyCNBCN
144 99 100 111 132 143 elfzd φyABNyCyCNA-1-CN+1BCN
145 144 ex φyABNyCyCNA-1-CN+1BCN
146 97 145 biimtrid φyxAB|NxCyCNA-1-CN+1BCN
147 97 anbi2i zA-1-CN+1BCNyxAB|NxCzA-1-CN+1BCNyABNyC
148 108 zcnd φyABNyCyC
149 148 adantrl φzA-1-CN+1BCNyABNyCyC
150 38 zcnd φzA-1-CN+1BCNz
151 150 adantrr φzA-1-CN+1BCNyABNyCz
152 1 nncnd φN
153 152 adantr φzA-1-CN+1BCNyABNyCN
154 103 adantr φzA-1-CN+1BCNyABNyCN0
155 149 151 153 154 divmul3d φzA-1-CN+1BCNyABNyCyCN=zyC=z N
156 106 zcnd φyABNyCy
157 156 adantrl φzA-1-CN+1BCNyABNyCy
158 89 adantr φzA-1-CN+1BCNyABNyCC
159 88 adantrr φzA-1-CN+1BCNyABNyCz N
160 157 158 159 subadd2d φzA-1-CN+1BCNyABNyCyC=z Nz N+C=y
161 155 160 bitrd φzA-1-CN+1BCNyABNyCyCN=zz N+C=y
162 eqcom z=yCNyCN=z
163 eqcom y=z N+Cz N+C=y
164 161 162 163 3bitr4g φzA-1-CN+1BCNyABNyCz=yCNy=z N+C
165 147 164 sylan2b φzA-1-CN+1BCNyxAB|NxCz=yCNy=z N+C
166 165 ex φzA-1-CN+1BCNyxAB|NxCz=yCNy=z N+C
167 29 32 94 146 166 en3d φA-1-CN+1BCNxAB|NxC
168 entr 1BCNA-1-CNA-1-CN+1BCNA-1-CN+1BCNxAB|NxC1BCNA-1-CNxAB|NxC
169 28 167 168 syl2anc φ1BCNA-1-CNxAB|NxC
170 fzfi 1BCNA-1-CNFin
171 ssrab2 xAB|NxCAB
172 ssfi ABFinxAB|NxCABxAB|NxCFin
173 30 171 172 mp2an xAB|NxCFin
174 hashen 1BCNA-1-CNFinxAB|NxCFin1BCNA-1-CN=xAB|NxC1BCNA-1-CNxAB|NxC
175 170 173 174 mp2an 1BCNA-1-CN=xAB|NxC1BCNA-1-CNxAB|NxC
176 169 175 sylibr φ1BCNA-1-CN=xAB|NxC
177 eluzle BA1A1B
178 3 177 syl φA1B
179 zre A1A1
180 zre BB
181 zre CC
182 lesub1 A1BCA1BA-1-CBC
183 179 180 181 182 syl3an A1BCA1BA-1-CBC
184 13 7 4 183 syl3anc φA1BA-1-CBC
185 178 184 mpbid φA-1-CBC
186 lediv1 A-1-CBCN0<NA-1-CBCA-1-CNBCN
187 15 9 56 186 syl3anc φA-1-CBCA-1-CNBCN
188 185 187 mpbid φA-1-CNBCN
189 flword2 A-1-CNBCNA-1-CNBCNBCNA-1-CN
190 16 10 188 189 syl3anc φBCNA-1-CN
191 uznn0sub BCNA-1-CNBCNA-1-CN0
192 hashfz1 BCNA-1-CN01BCNA-1-CN=BCNA-1-CN
193 190 191 192 3syl φ1BCNA-1-CN=BCNA-1-CN
194 176 193 eqtr3d φxAB|NxC=BCNA-1-CN