Step | Hyp | Ref
| Expression |
1 | | birthday.t |
. . . . . . 7
               |
2 | 1 | fveq2i 6194 |
. . . . . 6
                       |
3 | | fzfi 12771 |
. . . . . . 7
     |
4 | | fzfi 12771 |
. . . . . . 7
     |
5 | | hashf1 13241 |
. . . . . . 7
                                                               |
6 | 3, 4, 5 | mp2an 708 |
. . . . . 6
                                                   |
7 | 2, 6 | eqtri 2644 |
. . . . 5
                                     |
8 | | elfznn0 12433 |
. . . . . . . . 9
       |
9 | 8 | adantl 482 |
. . . . . . . 8
 
       |
10 | | hashfz1 13134 |
. . . . . . . 8

          |
11 | 9, 10 | syl 17 |
. . . . . . 7
 
               |
12 | 11 | fveq2d 6195 |
. . . . . 6
 
                       |
13 | | nnnn0 11299 |
. . . . . . . . 9
   |
14 | | hashfz1 13134 |
. . . . . . . . 9

          |
15 | 13, 14 | syl 17 |
. . . . . . . 8
           |
16 | 15 | adantr 481 |
. . . . . . 7
 
               |
17 | 16, 11 | oveq12d 6668 |
. . . . . 6
 
                           |
18 | 12, 17 | oveq12d 6668 |
. . . . 5
 
                                               |
19 | 7, 18 | syl5eq 2668 |
. . . 4
 
                   |
20 | 13 | adantr 481 |
. . . . . . . . 9
 
       |
21 | | faccl 13070 |
. . . . . . . . 9

      |
22 | 20, 21 | syl 17 |
. . . . . . . 8
 
           |
23 | 22 | nncnd 11036 |
. . . . . . 7
 
           |
24 | | fznn0sub 12373 |
. . . . . . . . . 10
     
   |
25 | 24 | adantl 482 |
. . . . . . . . 9
 
         |
26 | | faccl 13070 |
. . . . . . . . 9
  
        |
27 | 25, 26 | syl 17 |
. . . . . . . 8
 
        
    |
28 | 27 | nncnd 11036 |
. . . . . . 7
 
        
    |
29 | 27 | nnne0d 11065 |
. . . . . . 7
 
        
    |
30 | 23, 28, 29 | divcld 10801 |
. . . . . 6
 
             
     |
31 | | faccl 13070 |
. . . . . . . 8

      |
32 | 9, 31 | syl 17 |
. . . . . . 7
 
           |
33 | 32 | nncnd 11036 |
. . . . . 6
 
           |
34 | 32 | nnne0d 11065 |
. . . . . 6
 
           |
35 | 30, 33, 34 | divcan2d 10803 |
. . . . 5
 
                   
                       |
36 | | bcval2 13092 |
. . . . . . . 8
                
          |
37 | 36 | adantl 482 |
. . . . . . 7
 
                           |
38 | 23, 28, 33, 29, 34 | divdiv1d 10832 |
. . . . . . 7
 
              
                            |
39 | 37, 38 | eqtr4d 2659 |
. . . . . 6
 
                           |
40 | 39 | oveq2d 6666 |
. . . . 5
 
                                       |
41 | | fzfid 12772 |
. . . . . . . 8
 
           |
42 | | elfznn 12370 |
. . . . . . . . . 10
       |
43 | 42 | adantl 482 |
. . . . . . . . 9
            
  |
44 | | nnrp 11842 |
. . . . . . . . . . 11
   |
45 | 44 | relogcld 24369 |
. . . . . . . . . 10
       |
46 | 45 | recnd 10068 |
. . . . . . . . 9
       |
47 | 43, 46 | syl 17 |
. . . . . . . 8
            
      |
48 | 41, 47 | fsumcl 14464 |
. . . . . . 7
 
                 |
49 | | fzfid 12772 |
. . . . . . . 8
 
             |
50 | | elfznn 12370 |
. . . . . . . . . 10
         |
51 | 50 | adantl 482 |
. . . . . . . . 9
              
  |
52 | 51, 46 | syl 17 |
. . . . . . . 8
              
      |
53 | 49, 52 | fsumcl 14464 |
. . . . . . 7
 
                   |
54 | | efsub 14830 |
. . . . . . 7
  
                                                                                    |
55 | 48, 53, 54 | syl2anc 693 |
. . . . . 6
 
                                                                   |
56 | 25 | nn0red 11352 |
. . . . . . . . . . . 12
 
         |
57 | 56 | ltp1d 10954 |
. . . . . . . . . . 11
 
             |
58 | | fzdisj 12368 |
. . . . . . . . . . 11
           
 
           |
59 | 57, 58 | syl 17 |
. . . . . . . . . 10
 
                       |
60 | | fznn0sub2 12446 |
. . . . . . . . . . . . . . . 16
     
       |
61 | 60 | adantl 482 |
. . . . . . . . . . . . . . 15
 
             |
62 | | elfzle2 12345 |
. . . . . . . . . . . . . . 15
       
   |
63 | 61, 62 | syl 17 |
. . . . . . . . . . . . . 14
 
         |
64 | 63 | adantr 481 |
. . . . . . . . . . . . 13
               |
65 | | simpr 477 |
. . . . . . . . . . . . . . 15
               |
66 | | nnuz 11723 |
. . . . . . . . . . . . . . 15
     |
67 | 65, 66 | syl6eleq 2711 |
. . . . . . . . . . . . . 14
                   |
68 | | nnz 11399 |
. . . . . . . . . . . . . . 15
   |
69 | 68 | ad2antrr 762 |
. . . . . . . . . . . . . 14
             |
70 | | elfz5 12334 |
. . . . . . . . . . . . . 14
               
     |
71 | 67, 69, 70 | syl2anc 693 |
. . . . . . . . . . . . 13
                       |
72 | 64, 71 | mpbird 247 |
. . . . . . . . . . . 12
                   |
73 | | fzsplit 12367 |
. . . . . . . . . . . 12
                             |
74 | 72, 73 | syl 17 |
. . . . . . . . . . 11
                   
             |
75 | | simpr 477 |
. . . . . . . . . . . . . . 15
          
    |
76 | 75 | oveq2d 6666 |
. . . . . . . . . . . . . 14
          
            |
77 | | fz10 12362 |
. . . . . . . . . . . . . 14
     |
78 | 76, 77 | syl6eq 2672 |
. . . . . . . . . . . . 13
          
        |
79 | 78 | uneq1d 3766 |
. . . . . . . . . . . 12
          
                
           |
80 | | uncom 3757 |
. . . . . . . . . . . . . 14
                     |
81 | | un0 3967 |
. . . . . . . . . . . . . 14
                   |
82 | 80, 81 | eqtri 2644 |
. . . . . . . . . . . . 13
                   |
83 | 75 | oveq1d 6665 |
. . . . . . . . . . . . . . 15
          
 
      |
84 | | 1e0p1 11552 |
. . . . . . . . . . . . . . 15
   |
85 | 83, 84 | syl6eqr 2674 |
. . . . . . . . . . . . . 14
          
 
    |
86 | 85 | oveq1d 6665 |
. . . . . . . . . . . . 13
          
              |
87 | 82, 86 | syl5eq 2668 |
. . . . . . . . . . . 12
          
                |
88 | 79, 87 | eqtr2d 2657 |
. . . . . . . . . . 11
          
                      |
89 | | elnn0 11294 |
. . . . . . . . . . . 12
  
        |
90 | 25, 89 | sylib 208 |
. . . . . . . . . . 11
 
             |
91 | 74, 88, 90 | mpjaodan 827 |
. . . . . . . . . 10
 
             
             |
92 | 59, 91, 41, 47 | fsumsplit 14471 |
. . . . . . . . 9
 
                                             |
93 | 92 | oveq1d 6665 |
. . . . . . . 8
 
                    
                                                    |
94 | | fzfid 12772 |
. . . . . . . . . 10
 
               |
95 | | nn0p1nn 11332 |
. . . . . . . . . . . . 13
  
      |
96 | 25, 95 | syl 17 |
. . . . . . . . . . . 12
 
           |
97 | | elfzuz 12338 |
. . . . . . . . . . . 12
             
     |
98 | | eluznn 11758 |
. . . . . . . . . . . 12
     
        
  |
99 | 96, 97, 98 | syl2an 494 |
. . . . . . . . . . 11
                
  |
100 | 99, 46 | syl 17 |
. . . . . . . . . 10
                
      |
101 | 94, 100 | fsumcl 14464 |
. . . . . . . . 9
 
                     |
102 | 53, 101 | pncan2d 10394 |
. . . . . . . 8
 
                                                               |
103 | 93, 102 | eqtr2d 2657 |
. . . . . . 7
 
                                             |
104 | 103 | fveq2d 6195 |
. . . . . 6
 
                                                     |
105 | 22 | nnne0d 11065 |
. . . . . . . . 9
 
           |
106 | | eflog 24323 |
. . . . . . . . 9
                             |
107 | 23, 105, 106 | syl2anc 693 |
. . . . . . . 8
 
                       |
108 | | logfac 24347 |
. . . . . . . . . 10

                    |
109 | 20, 108 | syl 17 |
. . . . . . . . 9
 
                         |
110 | 109 | fveq2d 6195 |
. . . . . . . 8
 
                                 |
111 | 107, 110 | eqtr3d 2658 |
. . . . . . 7
 
                         |
112 | | eflog 24323 |
. . . . . . . . 9
     
                  
       
    |
113 | 28, 29, 112 | syl2anc 693 |
. . . . . . . 8
 
              
       
    |
114 | | logfac 24347 |
. . . . . . . . . 10
  
      
                 |
115 | 25, 114 | syl 17 |
. . . . . . . . 9
 
                             |
116 | 115 | fveq2d 6195 |
. . . . . . . 8
 
              
                      |
117 | 113, 116 | eqtr3d 2658 |
. . . . . . 7
 
        
         
          |
118 | 111, 117 | oveq12d 6668 |
. . . . . 6
 
             
                                     |
119 | 55, 104, 118 | 3eqtr4d 2666 |
. . . . 5
 
                                     |
120 | 35, 40, 119 | 3eqtr4d 2666 |
. . . 4
 
                                 |
121 | 19, 120 | eqtrd 2656 |
. . 3
 
                             |
122 | | birthday.s |
. . . . . . . 8
               |
123 | | mapvalg 7867 |
. . . . . . . . 9
                                     |
124 | 4, 3, 123 | mp2an 708 |
. . . . . . . 8
                         |
125 | 122, 124 | eqtr4i 2647 |
. . . . . . 7
           |
126 | 125 | fveq2i 6194 |
. . . . . 6
                   |
127 | | hashmap 13222 |
. . . . . . 7
                  
                            |
128 | 4, 3, 127 | mp2an 708 |
. . . . . 6
                                   |
129 | 126, 128 | eqtri 2644 |
. . . . 5
                         |
130 | 16, 11 | oveq12d 6668 |
. . . . 5
 
                               |
131 | 129, 130 | syl5eq 2668 |
. . . 4
 
               |
132 | | nncn 11028 |
. . . . . 6
   |
133 | 132 | adantr 481 |
. . . . 5
 
       |
134 | | nnne0 11053 |
. . . . . 6
   |
135 | 134 | adantr 481 |
. . . . 5
 
       |
136 | | elfzelz 12342 |
. . . . . 6
       |
137 | 136 | adantl 482 |
. . . . 5
 
       |
138 | | explog 24340 |
. . . . 5
          
        |
139 | 133, 135,
137, 138 | syl3anc 1326 |
. . . 4
 
                     |
140 | 131, 139 | eqtrd 2656 |
. . 3
 
                     |
141 | 121, 140 | oveq12d 6668 |
. 2
 
                                               |
142 | 9 | nn0cnd 11353 |
. . . 4
 
       |
143 | | nnrp 11842 |
. . . . . . 7
   |
144 | 143 | adantr 481 |
. . . . . 6
 
       |
145 | 144 | relogcld 24369 |
. . . . 5
 
           |
146 | 145 | recnd 10068 |
. . . 4
 
           |
147 | 142, 146 | mulcld 10060 |
. . 3
 
             |
148 | | efsub 14830 |
. . 3
  
             
                                                      
         |
149 | 101, 147,
148 | syl2anc 693 |
. 2
 
                                                     
         |
150 | | relogdiv 24339 |
. . . . . . 7
                     |
151 | 44, 144, 150 | syl2anr 495 |
. . . . . 6
                           |
152 | 99, 151 | syldan 487 |
. . . . 5
                
                  |
153 | 152 | sumeq2dv 14433 |
. . . 4
 
                                           |
154 | 68 | adantr 481 |
. . . . . 6
 
       |
155 | 25 | nn0zd 11480 |
. . . . . . 7
 
         |
156 | 155 | peano2zd 11485 |
. . . . . 6
 
           |
157 | 99, 44 | syl 17 |
. . . . . . . . 9
                
  |
158 | 144 | adantr 481 |
. . . . . . . . 9
                
  |
159 | 157, 158 | rpdivcld 11889 |
. . . . . . . 8
                
    |
160 | 159 | relogcld 24369 |
. . . . . . 7
                
        |
161 | 160 | recnd 10068 |
. . . . . 6
                
        |
162 | | oveq1 6657 |
. . . . . . 7
           |
163 | 162 | fveq2d 6195 |
. . . . . 6
                   |
164 | 154, 156,
154, 161, 163 | fsumrev 14511 |
. . . . 5
 
                           
 
               |
165 | 133 | subidd 10380 |
. . . . . . 7
 
         |
166 | | 1cnd 10056 |
. . . . . . . . . 10
 
       |
167 | 133, 142,
166 | subsubd 10420 |
. . . . . . . . 9
 
      
        |
168 | 167 | oveq2d 6666 |
. . . . . . . 8
 
      

           |
169 | | ax-1cn 9994 |
. . . . . . . . . 10
 |
170 | | subcl 10280 |
. . . . . . . . . 10
 
     |
171 | 142, 169,
170 | sylancl 694 |
. . . . . . . . 9
 
         |
172 | 133, 171 | nncand 10397 |
. . . . . . . 8
 
      

       |
173 | 168, 172 | eqtr3d 2658 |
. . . . . . 7
 
               |
174 | 165, 173 | oveq12d 6668 |
. . . . . 6
 
                         |
175 | 133 | adantr 481 |
. . . . . . . . 9
              
  |
176 | | elfznn0 12433 |
. . . . . . . . . . 11
         |
177 | 176 | adantl 482 |
. . . . . . . . . 10
              
  |
178 | 177 | nn0cnd 11353 |
. . . . . . . . 9
              
  |
179 | 135 | adantr 481 |
. . . . . . . . 9
              
  |
180 | 175, 178,
175, 179 | divsubdird 10840 |
. . . . . . . 8
              
 
          |
181 | 175, 179 | dividd 10799 |
. . . . . . . . 9
              
    |
182 | 181 | oveq1d 6665 |
. . . . . . . 8
              
            |
183 | 180, 182 | eqtrd 2656 |
. . . . . . 7
              
 
        |
184 | 183 | fveq2d 6195 |
. . . . . 6
              
                  |
185 | 174, 184 | sumeq12rdv 14438 |
. . . . 5
 
                                             |
186 | 164, 185 | eqtrd 2656 |
. . . 4
 
                         
             |
187 | 146 | adantr 481 |
. . . . . 6
                
      |
188 | 94, 100, 187 | fsumsub 14520 |
. . . . 5
 
                                                         |
189 | | fsumconst 14522 |
. . . . . . . 8
                                                 |
190 | 94, 146, 189 | syl2anc 693 |
. . . . . . 7
 
                                       |
191 | | 1zzd 11408 |
. . . . . . . . . . . 12
 
       |
192 | | fzen 12358 |
. . . . . . . . . . . 12
 

             
      |
193 | 191, 137,
155, 192 | syl3anc 1326 |
. . . . . . . . . . 11
 
                       |
194 | 25 | nn0cnd 11353 |
. . . . . . . . . . . . 13
 
         |
195 | | addcom 10222 |
. . . . . . . . . . . . 13
  
            |
196 | 169, 194,
195 | sylancr 695 |
. . . . . . . . . . . 12
 
               |
197 | 142, 133 | pncan3d 10395 |
. . . . . . . . . . . 12
 
      
    |
198 | 196, 197 | oveq12d 6668 |
. . . . . . . . . . 11
 
                           |
199 | 193, 198 | breqtrd 4679 |
. . . . . . . . . 10
 
                   |
200 | | hasheni 13136 |
. . . . . . . . . 10
                                   |
201 | 199, 200 | syl 17 |
. . . . . . . . 9
 
                           |
202 | 201, 11 | eqtr3d 2658 |
. . . . . . . 8
 
                   |
203 | 202 | oveq1d 6665 |
. . . . . . 7
 
                               |
204 | 190, 203 | eqtrd 2656 |
. . . . . 6
 
                           |
205 | 204 | oveq2d 6666 |
. . . . 5
 
                                    
                      |
206 | 188, 205 | eqtrd 2656 |
. . . 4
 
                                                 |
207 | 153, 186,
206 | 3eqtr3rd 2665 |
. . 3
 
                                             |
208 | 207 | fveq2d 6195 |
. 2
 
                                  
                  |
209 | 141, 149,
208 | 3eqtr2d 2662 |
1
 
                  
                  |