Step |
Hyp |
Ref |
Expression |
1 |
|
pweq |
|- ( x = A -> ~P x = ~P A ) |
2 |
1
|
fveq2d |
|- ( x = A -> ( # ` ~P x ) = ( # ` ~P A ) ) |
3 |
|
fveq2 |
|- ( x = A -> ( # ` x ) = ( # ` A ) ) |
4 |
3
|
oveq2d |
|- ( x = A -> ( 2 ^ ( # ` x ) ) = ( 2 ^ ( # ` A ) ) ) |
5 |
2 4
|
eqeq12d |
|- ( x = A -> ( ( # ` ~P x ) = ( 2 ^ ( # ` x ) ) <-> ( # ` ~P A ) = ( 2 ^ ( # ` A ) ) ) ) |
6 |
|
vex |
|- x e. _V |
7 |
6
|
pw2en |
|- ~P x ~~ ( 2o ^m x ) |
8 |
|
pwfi |
|- ( x e. Fin <-> ~P x e. Fin ) |
9 |
8
|
biimpi |
|- ( x e. Fin -> ~P x e. Fin ) |
10 |
|
df2o2 |
|- 2o = { (/) , { (/) } } |
11 |
|
prfi |
|- { (/) , { (/) } } e. Fin |
12 |
10 11
|
eqeltri |
|- 2o e. Fin |
13 |
|
mapfi |
|- ( ( 2o e. Fin /\ x e. Fin ) -> ( 2o ^m x ) e. Fin ) |
14 |
12 13
|
mpan |
|- ( x e. Fin -> ( 2o ^m x ) e. Fin ) |
15 |
|
hashen |
|- ( ( ~P x e. Fin /\ ( 2o ^m x ) e. Fin ) -> ( ( # ` ~P x ) = ( # ` ( 2o ^m x ) ) <-> ~P x ~~ ( 2o ^m x ) ) ) |
16 |
9 14 15
|
syl2anc |
|- ( x e. Fin -> ( ( # ` ~P x ) = ( # ` ( 2o ^m x ) ) <-> ~P x ~~ ( 2o ^m x ) ) ) |
17 |
7 16
|
mpbiri |
|- ( x e. Fin -> ( # ` ~P x ) = ( # ` ( 2o ^m x ) ) ) |
18 |
|
hashmap |
|- ( ( 2o e. Fin /\ x e. Fin ) -> ( # ` ( 2o ^m x ) ) = ( ( # ` 2o ) ^ ( # ` x ) ) ) |
19 |
12 18
|
mpan |
|- ( x e. Fin -> ( # ` ( 2o ^m x ) ) = ( ( # ` 2o ) ^ ( # ` x ) ) ) |
20 |
|
hash2 |
|- ( # ` 2o ) = 2 |
21 |
20
|
oveq1i |
|- ( ( # ` 2o ) ^ ( # ` x ) ) = ( 2 ^ ( # ` x ) ) |
22 |
19 21
|
eqtrdi |
|- ( x e. Fin -> ( # ` ( 2o ^m x ) ) = ( 2 ^ ( # ` x ) ) ) |
23 |
17 22
|
eqtrd |
|- ( x e. Fin -> ( # ` ~P x ) = ( 2 ^ ( # ` x ) ) ) |
24 |
5 23
|
vtoclga |
|- ( A e. Fin -> ( # ` ~P A ) = ( 2 ^ ( # ` A ) ) ) |