Step |
Hyp |
Ref |
Expression |
1 |
|
birthday.s |
|
2 |
|
birthday.t |
|
3 |
2
|
fveq2i |
|
4 |
|
fzfi |
|
5 |
|
fzfi |
|
6 |
|
hashf1 |
|
7 |
4 5 6
|
mp2an |
|
8 |
3 7
|
eqtri |
|
9 |
|
elfznn0 |
|
10 |
9
|
adantl |
|
11 |
|
hashfz1 |
|
12 |
10 11
|
syl |
|
13 |
12
|
fveq2d |
|
14 |
|
nnnn0 |
|
15 |
|
hashfz1 |
|
16 |
14 15
|
syl |
|
17 |
16
|
adantr |
|
18 |
17 12
|
oveq12d |
|
19 |
13 18
|
oveq12d |
|
20 |
8 19
|
eqtrid |
|
21 |
14
|
adantr |
|
22 |
21
|
faccld |
|
23 |
22
|
nncnd |
|
24 |
|
fznn0sub |
|
25 |
24
|
adantl |
|
26 |
25
|
faccld |
|
27 |
26
|
nncnd |
|
28 |
26
|
nnne0d |
|
29 |
23 27 28
|
divcld |
|
30 |
10
|
faccld |
|
31 |
30
|
nncnd |
|
32 |
30
|
nnne0d |
|
33 |
29 31 32
|
divcan2d |
|
34 |
|
bcval2 |
|
35 |
34
|
adantl |
|
36 |
23 27 31 28 32
|
divdiv1d |
|
37 |
35 36
|
eqtr4d |
|
38 |
37
|
oveq2d |
|
39 |
|
fzfid |
|
40 |
|
elfznn |
|
41 |
40
|
adantl |
|
42 |
|
nnrp |
|
43 |
42
|
relogcld |
|
44 |
43
|
recnd |
|
45 |
41 44
|
syl |
|
46 |
39 45
|
fsumcl |
|
47 |
|
fzfid |
|
48 |
|
elfznn |
|
49 |
48
|
adantl |
|
50 |
49 44
|
syl |
|
51 |
47 50
|
fsumcl |
|
52 |
|
efsub |
|
53 |
46 51 52
|
syl2anc |
|
54 |
25
|
nn0red |
|
55 |
54
|
ltp1d |
|
56 |
|
fzdisj |
|
57 |
55 56
|
syl |
|
58 |
|
fznn0sub2 |
|
59 |
58
|
adantl |
|
60 |
|
elfzle2 |
|
61 |
59 60
|
syl |
|
62 |
61
|
adantr |
|
63 |
|
simpr |
|
64 |
|
nnuz |
|
65 |
63 64
|
eleqtrdi |
|
66 |
|
nnz |
|
67 |
66
|
ad2antrr |
|
68 |
|
elfz5 |
|
69 |
65 67 68
|
syl2anc |
|
70 |
62 69
|
mpbird |
|
71 |
|
fzsplit |
|
72 |
70 71
|
syl |
|
73 |
|
simpr |
|
74 |
73
|
oveq2d |
|
75 |
|
fz10 |
|
76 |
74 75
|
eqtrdi |
|
77 |
76
|
uneq1d |
|
78 |
|
uncom |
|
79 |
|
un0 |
|
80 |
78 79
|
eqtri |
|
81 |
73
|
oveq1d |
|
82 |
|
1e0p1 |
|
83 |
81 82
|
eqtr4di |
|
84 |
83
|
oveq1d |
|
85 |
80 84
|
eqtrid |
|
86 |
77 85
|
eqtr2d |
|
87 |
|
elnn0 |
|
88 |
25 87
|
sylib |
|
89 |
72 86 88
|
mpjaodan |
|
90 |
57 89 39 45
|
fsumsplit |
|
91 |
90
|
oveq1d |
|
92 |
|
fzfid |
|
93 |
|
nn0p1nn |
|
94 |
25 93
|
syl |
|
95 |
|
elfzuz |
|
96 |
|
eluznn |
|
97 |
94 95 96
|
syl2an |
|
98 |
97 44
|
syl |
|
99 |
92 98
|
fsumcl |
|
100 |
51 99
|
pncan2d |
|
101 |
91 100
|
eqtr2d |
|
102 |
101
|
fveq2d |
|
103 |
22
|
nnne0d |
|
104 |
|
eflog |
|
105 |
23 103 104
|
syl2anc |
|
106 |
|
logfac |
|
107 |
21 106
|
syl |
|
108 |
107
|
fveq2d |
|
109 |
105 108
|
eqtr3d |
|
110 |
|
eflog |
|
111 |
27 28 110
|
syl2anc |
|
112 |
|
logfac |
|
113 |
25 112
|
syl |
|
114 |
113
|
fveq2d |
|
115 |
111 114
|
eqtr3d |
|
116 |
109 115
|
oveq12d |
|
117 |
53 102 116
|
3eqtr4d |
|
118 |
33 38 117
|
3eqtr4d |
|
119 |
20 118
|
eqtrd |
|
120 |
|
mapvalg |
|
121 |
5 4 120
|
mp2an |
|
122 |
1 121
|
eqtr4i |
|
123 |
122
|
fveq2i |
|
124 |
|
hashmap |
|
125 |
5 4 124
|
mp2an |
|
126 |
123 125
|
eqtri |
|
127 |
17 12
|
oveq12d |
|
128 |
126 127
|
eqtrid |
|
129 |
|
nncn |
|
130 |
129
|
adantr |
|
131 |
|
nnne0 |
|
132 |
131
|
adantr |
|
133 |
|
elfzelz |
|
134 |
133
|
adantl |
|
135 |
|
explog |
|
136 |
130 132 134 135
|
syl3anc |
|
137 |
128 136
|
eqtrd |
|
138 |
119 137
|
oveq12d |
|
139 |
10
|
nn0cnd |
|
140 |
|
nnrp |
|
141 |
140
|
adantr |
|
142 |
141
|
relogcld |
|
143 |
142
|
recnd |
|
144 |
139 143
|
mulcld |
|
145 |
|
efsub |
|
146 |
99 144 145
|
syl2anc |
|
147 |
|
relogdiv |
|
148 |
42 141 147
|
syl2anr |
|
149 |
97 148
|
syldan |
|
150 |
149
|
sumeq2dv |
|
151 |
66
|
adantr |
|
152 |
25
|
nn0zd |
|
153 |
152
|
peano2zd |
|
154 |
97
|
nnrpd |
|
155 |
141
|
adantr |
|
156 |
154 155
|
rpdivcld |
|
157 |
156
|
relogcld |
|
158 |
157
|
recnd |
|
159 |
|
fvoveq1 |
|
160 |
151 153 151 158 159
|
fsumrev |
|
161 |
130
|
subidd |
|
162 |
|
1cnd |
|
163 |
130 139 162
|
subsubd |
|
164 |
163
|
oveq2d |
|
165 |
|
ax-1cn |
|
166 |
|
subcl |
|
167 |
139 165 166
|
sylancl |
|
168 |
130 167
|
nncand |
|
169 |
164 168
|
eqtr3d |
|
170 |
161 169
|
oveq12d |
|
171 |
130
|
adantr |
|
172 |
|
elfznn0 |
|
173 |
172
|
adantl |
|
174 |
173
|
nn0cnd |
|
175 |
132
|
adantr |
|
176 |
171 174 171 175
|
divsubdird |
|
177 |
171 175
|
dividd |
|
178 |
177
|
oveq1d |
|
179 |
176 178
|
eqtrd |
|
180 |
179
|
fveq2d |
|
181 |
170 180
|
sumeq12rdv |
|
182 |
160 181
|
eqtrd |
|
183 |
143
|
adantr |
|
184 |
92 98 183
|
fsumsub |
|
185 |
|
fsumconst |
|
186 |
92 143 185
|
syl2anc |
|
187 |
|
1zzd |
|
188 |
|
fzen |
|
189 |
187 134 152 188
|
syl3anc |
|
190 |
25
|
nn0cnd |
|
191 |
|
addcom |
|
192 |
165 190 191
|
sylancr |
|
193 |
139 130
|
pncan3d |
|
194 |
192 193
|
oveq12d |
|
195 |
189 194
|
breqtrd |
|
196 |
|
hasheni |
|
197 |
195 196
|
syl |
|
198 |
197 12
|
eqtr3d |
|
199 |
198
|
oveq1d |
|
200 |
186 199
|
eqtrd |
|
201 |
200
|
oveq2d |
|
202 |
184 201
|
eqtrd |
|
203 |
150 182 202
|
3eqtr3rd |
|
204 |
203
|
fveq2d |
|
205 |
138 146 204
|
3eqtr2d |
|