| Step | Hyp | Ref | Expression | 
						
							| 1 |  | fveqeq2 |  |-  ( a = x -> ( ( #b ` a ) = y <-> ( #b ` x ) = y ) ) | 
						
							| 2 |  | id |  |-  ( a = x -> a = x ) | 
						
							| 3 |  | oveq2 |  |-  ( a = x -> ( k ( digit ` 2 ) a ) = ( k ( digit ` 2 ) x ) ) | 
						
							| 4 | 3 | oveq1d |  |-  ( a = x -> ( ( k ( digit ` 2 ) a ) x. ( 2 ^ k ) ) = ( ( k ( digit ` 2 ) x ) x. ( 2 ^ k ) ) ) | 
						
							| 5 | 4 | sumeq2sdv |  |-  ( a = x -> sum_ k e. ( 0 ..^ y ) ( ( k ( digit ` 2 ) a ) x. ( 2 ^ k ) ) = sum_ k e. ( 0 ..^ y ) ( ( k ( digit ` 2 ) x ) x. ( 2 ^ k ) ) ) | 
						
							| 6 | 2 5 | eqeq12d |  |-  ( a = x -> ( a = sum_ k e. ( 0 ..^ y ) ( ( k ( digit ` 2 ) a ) x. ( 2 ^ k ) ) <-> x = sum_ k e. ( 0 ..^ y ) ( ( k ( digit ` 2 ) x ) x. ( 2 ^ k ) ) ) ) | 
						
							| 7 | 1 6 | imbi12d |  |-  ( a = x -> ( ( ( #b ` a ) = y -> a = sum_ k e. ( 0 ..^ y ) ( ( k ( digit ` 2 ) a ) x. ( 2 ^ k ) ) ) <-> ( ( #b ` x ) = y -> x = sum_ k e. ( 0 ..^ y ) ( ( k ( digit ` 2 ) x ) x. ( 2 ^ k ) ) ) ) ) | 
						
							| 8 | 7 | cbvralvw |  |-  ( A. a e. NN0 ( ( #b ` a ) = y -> a = sum_ k e. ( 0 ..^ y ) ( ( k ( digit ` 2 ) a ) x. ( 2 ^ k ) ) ) <-> A. x e. NN0 ( ( #b ` x ) = y -> x = sum_ k e. ( 0 ..^ y ) ( ( k ( digit ` 2 ) x ) x. ( 2 ^ k ) ) ) ) | 
						
							| 9 |  | elnn0 |  |-  ( a e. NN0 <-> ( a e. NN \/ a = 0 ) ) | 
						
							| 10 |  | nn0sumshdiglemA |  |-  ( ( ( a e. NN /\ ( a / 2 ) e. NN ) /\ y e. NN ) -> ( A. x e. NN0 ( ( #b ` x ) = y -> x = sum_ k e. ( 0 ..^ y ) ( ( k ( digit ` 2 ) x ) x. ( 2 ^ k ) ) ) -> ( ( #b ` a ) = ( y + 1 ) -> a = sum_ k e. ( 0 ..^ ( y + 1 ) ) ( ( k ( digit ` 2 ) a ) x. ( 2 ^ k ) ) ) ) ) | 
						
							| 11 | 10 | expimpd |  |-  ( ( a e. NN /\ ( a / 2 ) e. NN ) -> ( ( y e. NN /\ A. x e. NN0 ( ( #b ` x ) = y -> x = sum_ k e. ( 0 ..^ y ) ( ( k ( digit ` 2 ) x ) x. ( 2 ^ k ) ) ) ) -> ( ( #b ` a ) = ( y + 1 ) -> a = sum_ k e. ( 0 ..^ ( y + 1 ) ) ( ( k ( digit ` 2 ) a ) x. ( 2 ^ k ) ) ) ) ) | 
						
							| 12 |  | nn0sumshdiglemB |  |-  ( ( ( a e. NN /\ ( ( a - 1 ) / 2 ) e. NN0 ) /\ y e. NN ) -> ( A. x e. NN0 ( ( #b ` x ) = y -> x = sum_ k e. ( 0 ..^ y ) ( ( k ( digit ` 2 ) x ) x. ( 2 ^ k ) ) ) -> ( ( #b ` a ) = ( y + 1 ) -> a = sum_ k e. ( 0 ..^ ( y + 1 ) ) ( ( k ( digit ` 2 ) a ) x. ( 2 ^ k ) ) ) ) ) | 
						
							| 13 | 12 | expimpd |  |-  ( ( a e. NN /\ ( ( a - 1 ) / 2 ) e. NN0 ) -> ( ( y e. NN /\ A. x e. NN0 ( ( #b ` x ) = y -> x = sum_ k e. ( 0 ..^ y ) ( ( k ( digit ` 2 ) x ) x. ( 2 ^ k ) ) ) ) -> ( ( #b ` a ) = ( y + 1 ) -> a = sum_ k e. ( 0 ..^ ( y + 1 ) ) ( ( k ( digit ` 2 ) a ) x. ( 2 ^ k ) ) ) ) ) | 
						
							| 14 |  | nneom |  |-  ( a e. NN -> ( ( a / 2 ) e. NN \/ ( ( a - 1 ) / 2 ) e. NN0 ) ) | 
						
							| 15 | 11 13 14 | mpjaodan |  |-  ( a e. NN -> ( ( y e. NN /\ A. x e. NN0 ( ( #b ` x ) = y -> x = sum_ k e. ( 0 ..^ y ) ( ( k ( digit ` 2 ) x ) x. ( 2 ^ k ) ) ) ) -> ( ( #b ` a ) = ( y + 1 ) -> a = sum_ k e. ( 0 ..^ ( y + 1 ) ) ( ( k ( digit ` 2 ) a ) x. ( 2 ^ k ) ) ) ) ) | 
						
							| 16 |  | eqcom |  |-  ( 1 = ( y + 1 ) <-> ( y + 1 ) = 1 ) | 
						
							| 17 | 16 | a1i |  |-  ( y e. NN -> ( 1 = ( y + 1 ) <-> ( y + 1 ) = 1 ) ) | 
						
							| 18 |  | nncn |  |-  ( y e. NN -> y e. CC ) | 
						
							| 19 |  | 1cnd |  |-  ( y e. NN -> 1 e. CC ) | 
						
							| 20 | 18 19 19 | addlsub |  |-  ( y e. NN -> ( ( y + 1 ) = 1 <-> y = ( 1 - 1 ) ) ) | 
						
							| 21 |  | 1m1e0 |  |-  ( 1 - 1 ) = 0 | 
						
							| 22 | 21 | a1i |  |-  ( y e. NN -> ( 1 - 1 ) = 0 ) | 
						
							| 23 | 22 | eqeq2d |  |-  ( y e. NN -> ( y = ( 1 - 1 ) <-> y = 0 ) ) | 
						
							| 24 | 17 20 23 | 3bitrd |  |-  ( y e. NN -> ( 1 = ( y + 1 ) <-> y = 0 ) ) | 
						
							| 25 |  | oveq1 |  |-  ( y = 0 -> ( y + 1 ) = ( 0 + 1 ) ) | 
						
							| 26 | 25 | oveq2d |  |-  ( y = 0 -> ( 0 ..^ ( y + 1 ) ) = ( 0 ..^ ( 0 + 1 ) ) ) | 
						
							| 27 |  | 0p1e1 |  |-  ( 0 + 1 ) = 1 | 
						
							| 28 | 27 | oveq2i |  |-  ( 0 ..^ ( 0 + 1 ) ) = ( 0 ..^ 1 ) | 
						
							| 29 |  | fzo01 |  |-  ( 0 ..^ 1 ) = { 0 } | 
						
							| 30 | 28 29 | eqtri |  |-  ( 0 ..^ ( 0 + 1 ) ) = { 0 } | 
						
							| 31 | 26 30 | eqtrdi |  |-  ( y = 0 -> ( 0 ..^ ( y + 1 ) ) = { 0 } ) | 
						
							| 32 | 31 | sumeq1d |  |-  ( y = 0 -> sum_ k e. ( 0 ..^ ( y + 1 ) ) ( ( k ( digit ` 2 ) 0 ) x. ( 2 ^ k ) ) = sum_ k e. { 0 } ( ( k ( digit ` 2 ) 0 ) x. ( 2 ^ k ) ) ) | 
						
							| 33 |  | 0cn |  |-  0 e. CC | 
						
							| 34 |  | oveq1 |  |-  ( k = 0 -> ( k ( digit ` 2 ) 0 ) = ( 0 ( digit ` 2 ) 0 ) ) | 
						
							| 35 |  | 2nn |  |-  2 e. NN | 
						
							| 36 |  | 0z |  |-  0 e. ZZ | 
						
							| 37 |  | dig0 |  |-  ( ( 2 e. NN /\ 0 e. ZZ ) -> ( 0 ( digit ` 2 ) 0 ) = 0 ) | 
						
							| 38 | 35 36 37 | mp2an |  |-  ( 0 ( digit ` 2 ) 0 ) = 0 | 
						
							| 39 | 34 38 | eqtrdi |  |-  ( k = 0 -> ( k ( digit ` 2 ) 0 ) = 0 ) | 
						
							| 40 |  | oveq2 |  |-  ( k = 0 -> ( 2 ^ k ) = ( 2 ^ 0 ) ) | 
						
							| 41 |  | 2cn |  |-  2 e. CC | 
						
							| 42 |  | exp0 |  |-  ( 2 e. CC -> ( 2 ^ 0 ) = 1 ) | 
						
							| 43 | 41 42 | ax-mp |  |-  ( 2 ^ 0 ) = 1 | 
						
							| 44 | 40 43 | eqtrdi |  |-  ( k = 0 -> ( 2 ^ k ) = 1 ) | 
						
							| 45 | 39 44 | oveq12d |  |-  ( k = 0 -> ( ( k ( digit ` 2 ) 0 ) x. ( 2 ^ k ) ) = ( 0 x. 1 ) ) | 
						
							| 46 |  | 1re |  |-  1 e. RR | 
						
							| 47 |  | mul02lem2 |  |-  ( 1 e. RR -> ( 0 x. 1 ) = 0 ) | 
						
							| 48 | 46 47 | ax-mp |  |-  ( 0 x. 1 ) = 0 | 
						
							| 49 | 45 48 | eqtrdi |  |-  ( k = 0 -> ( ( k ( digit ` 2 ) 0 ) x. ( 2 ^ k ) ) = 0 ) | 
						
							| 50 | 49 | sumsn |  |-  ( ( 0 e. CC /\ 0 e. CC ) -> sum_ k e. { 0 } ( ( k ( digit ` 2 ) 0 ) x. ( 2 ^ k ) ) = 0 ) | 
						
							| 51 | 33 33 50 | mp2an |  |-  sum_ k e. { 0 } ( ( k ( digit ` 2 ) 0 ) x. ( 2 ^ k ) ) = 0 | 
						
							| 52 | 32 51 | eqtr2di |  |-  ( y = 0 -> 0 = sum_ k e. ( 0 ..^ ( y + 1 ) ) ( ( k ( digit ` 2 ) 0 ) x. ( 2 ^ k ) ) ) | 
						
							| 53 | 24 52 | biimtrdi |  |-  ( y e. NN -> ( 1 = ( y + 1 ) -> 0 = sum_ k e. ( 0 ..^ ( y + 1 ) ) ( ( k ( digit ` 2 ) 0 ) x. ( 2 ^ k ) ) ) ) | 
						
							| 54 | 53 | adantl |  |-  ( ( a = 0 /\ y e. NN ) -> ( 1 = ( y + 1 ) -> 0 = sum_ k e. ( 0 ..^ ( y + 1 ) ) ( ( k ( digit ` 2 ) 0 ) x. ( 2 ^ k ) ) ) ) | 
						
							| 55 |  | fveq2 |  |-  ( a = 0 -> ( #b ` a ) = ( #b ` 0 ) ) | 
						
							| 56 |  | blen0 |  |-  ( #b ` 0 ) = 1 | 
						
							| 57 | 55 56 | eqtrdi |  |-  ( a = 0 -> ( #b ` a ) = 1 ) | 
						
							| 58 | 57 | eqeq1d |  |-  ( a = 0 -> ( ( #b ` a ) = ( y + 1 ) <-> 1 = ( y + 1 ) ) ) | 
						
							| 59 |  | id |  |-  ( a = 0 -> a = 0 ) | 
						
							| 60 |  | oveq2 |  |-  ( a = 0 -> ( k ( digit ` 2 ) a ) = ( k ( digit ` 2 ) 0 ) ) | 
						
							| 61 | 60 | oveq1d |  |-  ( a = 0 -> ( ( k ( digit ` 2 ) a ) x. ( 2 ^ k ) ) = ( ( k ( digit ` 2 ) 0 ) x. ( 2 ^ k ) ) ) | 
						
							| 62 | 61 | sumeq2sdv |  |-  ( a = 0 -> sum_ k e. ( 0 ..^ ( y + 1 ) ) ( ( k ( digit ` 2 ) a ) x. ( 2 ^ k ) ) = sum_ k e. ( 0 ..^ ( y + 1 ) ) ( ( k ( digit ` 2 ) 0 ) x. ( 2 ^ k ) ) ) | 
						
							| 63 | 59 62 | eqeq12d |  |-  ( a = 0 -> ( a = sum_ k e. ( 0 ..^ ( y + 1 ) ) ( ( k ( digit ` 2 ) a ) x. ( 2 ^ k ) ) <-> 0 = sum_ k e. ( 0 ..^ ( y + 1 ) ) ( ( k ( digit ` 2 ) 0 ) x. ( 2 ^ k ) ) ) ) | 
						
							| 64 | 58 63 | imbi12d |  |-  ( a = 0 -> ( ( ( #b ` a ) = ( y + 1 ) -> a = sum_ k e. ( 0 ..^ ( y + 1 ) ) ( ( k ( digit ` 2 ) a ) x. ( 2 ^ k ) ) ) <-> ( 1 = ( y + 1 ) -> 0 = sum_ k e. ( 0 ..^ ( y + 1 ) ) ( ( k ( digit ` 2 ) 0 ) x. ( 2 ^ k ) ) ) ) ) | 
						
							| 65 | 64 | adantr |  |-  ( ( a = 0 /\ y e. NN ) -> ( ( ( #b ` a ) = ( y + 1 ) -> a = sum_ k e. ( 0 ..^ ( y + 1 ) ) ( ( k ( digit ` 2 ) a ) x. ( 2 ^ k ) ) ) <-> ( 1 = ( y + 1 ) -> 0 = sum_ k e. ( 0 ..^ ( y + 1 ) ) ( ( k ( digit ` 2 ) 0 ) x. ( 2 ^ k ) ) ) ) ) | 
						
							| 66 | 54 65 | mpbird |  |-  ( ( a = 0 /\ y e. NN ) -> ( ( #b ` a ) = ( y + 1 ) -> a = sum_ k e. ( 0 ..^ ( y + 1 ) ) ( ( k ( digit ` 2 ) a ) x. ( 2 ^ k ) ) ) ) | 
						
							| 67 | 66 | a1d |  |-  ( ( a = 0 /\ y e. NN ) -> ( A. x e. NN0 ( ( #b ` x ) = y -> x = sum_ k e. ( 0 ..^ y ) ( ( k ( digit ` 2 ) x ) x. ( 2 ^ k ) ) ) -> ( ( #b ` a ) = ( y + 1 ) -> a = sum_ k e. ( 0 ..^ ( y + 1 ) ) ( ( k ( digit ` 2 ) a ) x. ( 2 ^ k ) ) ) ) ) | 
						
							| 68 | 67 | expimpd |  |-  ( a = 0 -> ( ( y e. NN /\ A. x e. NN0 ( ( #b ` x ) = y -> x = sum_ k e. ( 0 ..^ y ) ( ( k ( digit ` 2 ) x ) x. ( 2 ^ k ) ) ) ) -> ( ( #b ` a ) = ( y + 1 ) -> a = sum_ k e. ( 0 ..^ ( y + 1 ) ) ( ( k ( digit ` 2 ) a ) x. ( 2 ^ k ) ) ) ) ) | 
						
							| 69 | 15 68 | jaoi |  |-  ( ( a e. NN \/ a = 0 ) -> ( ( y e. NN /\ A. x e. NN0 ( ( #b ` x ) = y -> x = sum_ k e. ( 0 ..^ y ) ( ( k ( digit ` 2 ) x ) x. ( 2 ^ k ) ) ) ) -> ( ( #b ` a ) = ( y + 1 ) -> a = sum_ k e. ( 0 ..^ ( y + 1 ) ) ( ( k ( digit ` 2 ) a ) x. ( 2 ^ k ) ) ) ) ) | 
						
							| 70 | 9 69 | sylbi |  |-  ( a e. NN0 -> ( ( y e. NN /\ A. x e. NN0 ( ( #b ` x ) = y -> x = sum_ k e. ( 0 ..^ y ) ( ( k ( digit ` 2 ) x ) x. ( 2 ^ k ) ) ) ) -> ( ( #b ` a ) = ( y + 1 ) -> a = sum_ k e. ( 0 ..^ ( y + 1 ) ) ( ( k ( digit ` 2 ) a ) x. ( 2 ^ k ) ) ) ) ) | 
						
							| 71 | 70 | com12 |  |-  ( ( y e. NN /\ A. x e. NN0 ( ( #b ` x ) = y -> x = sum_ k e. ( 0 ..^ y ) ( ( k ( digit ` 2 ) x ) x. ( 2 ^ k ) ) ) ) -> ( a e. NN0 -> ( ( #b ` a ) = ( y + 1 ) -> a = sum_ k e. ( 0 ..^ ( y + 1 ) ) ( ( k ( digit ` 2 ) a ) x. ( 2 ^ k ) ) ) ) ) | 
						
							| 72 | 71 | ralrimiv |  |-  ( ( y e. NN /\ A. x e. NN0 ( ( #b ` x ) = y -> x = sum_ k e. ( 0 ..^ y ) ( ( k ( digit ` 2 ) x ) x. ( 2 ^ k ) ) ) ) -> A. a e. NN0 ( ( #b ` a ) = ( y + 1 ) -> a = sum_ k e. ( 0 ..^ ( y + 1 ) ) ( ( k ( digit ` 2 ) a ) x. ( 2 ^ k ) ) ) ) | 
						
							| 73 | 72 | ex |  |-  ( y e. NN -> ( A. x e. NN0 ( ( #b ` x ) = y -> x = sum_ k e. ( 0 ..^ y ) ( ( k ( digit ` 2 ) x ) x. ( 2 ^ k ) ) ) -> A. a e. NN0 ( ( #b ` a ) = ( y + 1 ) -> a = sum_ k e. ( 0 ..^ ( y + 1 ) ) ( ( k ( digit ` 2 ) a ) x. ( 2 ^ k ) ) ) ) ) | 
						
							| 74 | 8 73 | biimtrid |  |-  ( y e. NN -> ( A. a e. NN0 ( ( #b ` a ) = y -> a = sum_ k e. ( 0 ..^ y ) ( ( k ( digit ` 2 ) a ) x. ( 2 ^ k ) ) ) -> A. a e. NN0 ( ( #b ` a ) = ( y + 1 ) -> a = sum_ k e. ( 0 ..^ ( y + 1 ) ) ( ( k ( digit ` 2 ) a ) x. ( 2 ^ k ) ) ) ) ) |