MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  hashmap Unicode version

Theorem hashmap 11653
Description: The size of the set exponential of two finite sets is the exponential of their sizes. (This is the original motivation behind the notation for set exponentiation.) (Contributed by Mario Carneiro, 5-Aug-2014.)
Assertion
Ref Expression
hashmap  |-  ( ( A  e.  Fin  /\  B  e.  Fin )  ->  ( # `  ( A  ^m  B ) )  =  ( ( # `  A ) ^ ( # `
 B ) ) )

Proof of Theorem hashmap
Dummy variables  x  a  y  z are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 oveq1 6047 . . . . . 6  |-  ( a  =  A  ->  (
a  ^m  B )  =  ( A  ^m  B ) )
21fveq2d 5691 . . . . 5  |-  ( a  =  A  ->  ( # `
 ( a  ^m  B ) )  =  ( # `  ( A  ^m  B ) ) )
3 fveq2 5687 . . . . . 6  |-  ( a  =  A  ->  ( # `
 a )  =  ( # `  A
) )
43oveq1d 6055 . . . . 5  |-  ( a  =  A  ->  (
( # `  a ) ^ ( # `  B
) )  =  ( ( # `  A
) ^ ( # `  B ) ) )
52, 4eqeq12d 2418 . . . 4  |-  ( a  =  A  ->  (
( # `  ( a  ^m  B ) )  =  ( ( # `  a ) ^ ( # `
 B ) )  <-> 
( # `  ( A  ^m  B ) )  =  ( ( # `  A ) ^ ( # `
 B ) ) ) )
65imbi2d 308 . . 3  |-  ( a  =  A  ->  (
( B  e.  Fin  ->  ( # `  (
a  ^m  B )
)  =  ( (
# `  a ) ^ ( # `  B
) ) )  <->  ( B  e.  Fin  ->  ( # `  ( A  ^m  B ) )  =  ( ( # `  A ) ^ ( # `
 B ) ) ) ) )
7 oveq2 6048 . . . . . . . 8  |-  ( x  =  (/)  ->  ( a  ^m  x )  =  ( a  ^m  (/) ) )
87fveq2d 5691 . . . . . . 7  |-  ( x  =  (/)  ->  ( # `  ( a  ^m  x
) )  =  (
# `  ( a  ^m  (/) ) ) )
9 fveq2 5687 . . . . . . . 8  |-  ( x  =  (/)  ->  ( # `  x )  =  (
# `  (/) ) )
109oveq2d 6056 . . . . . . 7  |-  ( x  =  (/)  ->  ( (
# `  a ) ^ ( # `  x
) )  =  ( ( # `  a
) ^ ( # `  (/) ) ) )
118, 10eqeq12d 2418 . . . . . 6  |-  ( x  =  (/)  ->  ( (
# `  ( a  ^m  x ) )  =  ( ( # `  a
) ^ ( # `  x ) )  <->  ( # `  (
a  ^m  (/) ) )  =  ( ( # `  a ) ^ ( # `
 (/) ) ) ) )
1211imbi2d 308 . . . . 5  |-  ( x  =  (/)  ->  ( ( a  e.  Fin  ->  (
# `  ( a  ^m  x ) )  =  ( ( # `  a
) ^ ( # `  x ) ) )  <-> 
( a  e.  Fin  ->  ( # `  (
a  ^m  (/) ) )  =  ( ( # `  a ) ^ ( # `
 (/) ) ) ) ) )
13 oveq2 6048 . . . . . . . 8  |-  ( x  =  y  ->  (
a  ^m  x )  =  ( a  ^m  y ) )
1413fveq2d 5691 . . . . . . 7  |-  ( x  =  y  ->  ( # `
 ( a  ^m  x ) )  =  ( # `  (
a  ^m  y )
) )
15 fveq2 5687 . . . . . . . 8  |-  ( x  =  y  ->  ( # `
 x )  =  ( # `  y
) )
1615oveq2d 6056 . . . . . . 7  |-  ( x  =  y  ->  (
( # `  a ) ^ ( # `  x
) )  =  ( ( # `  a
) ^ ( # `  y ) ) )
1714, 16eqeq12d 2418 . . . . . 6  |-  ( x  =  y  ->  (
( # `  ( a  ^m  x ) )  =  ( ( # `  a ) ^ ( # `
 x ) )  <-> 
( # `  ( a  ^m  y ) )  =  ( ( # `  a ) ^ ( # `
 y ) ) ) )
1817imbi2d 308 . . . . 5  |-  ( x  =  y  ->  (
( a  e.  Fin  ->  ( # `  (
a  ^m  x )
)  =  ( (
# `  a ) ^ ( # `  x
) ) )  <->  ( a  e.  Fin  ->  ( # `  (
a  ^m  y )
)  =  ( (
# `  a ) ^ ( # `  y
) ) ) ) )
19 oveq2 6048 . . . . . . . 8  |-  ( x  =  ( y  u. 
{ z } )  ->  ( a  ^m  x )  =  ( a  ^m  ( y  u.  { z } ) ) )
2019fveq2d 5691 . . . . . . 7  |-  ( x  =  ( y  u. 
{ z } )  ->  ( # `  (
a  ^m  x )
)  =  ( # `  ( a  ^m  (
y  u.  { z } ) ) ) )
21 fveq2 5687 . . . . . . . 8  |-  ( x  =  ( y  u. 
{ z } )  ->  ( # `  x
)  =  ( # `  ( y  u.  {
z } ) ) )
2221oveq2d 6056 . . . . . . 7  |-  ( x  =  ( y  u. 
{ z } )  ->  ( ( # `  a ) ^ ( # `
 x ) )  =  ( ( # `  a ) ^ ( # `
 ( y  u. 
{ z } ) ) ) )
2320, 22eqeq12d 2418 . . . . . 6  |-  ( x  =  ( y  u. 
{ z } )  ->  ( ( # `  ( a  ^m  x
) )  =  ( ( # `  a
) ^ ( # `  x ) )  <->  ( # `  (
a  ^m  ( y  u.  { z } ) ) )  =  ( ( # `  a
) ^ ( # `  ( y  u.  {
z } ) ) ) ) )
2423imbi2d 308 . . . . 5  |-  ( x  =  ( y  u. 
{ z } )  ->  ( ( a  e.  Fin  ->  ( # `
 ( a  ^m  x ) )  =  ( ( # `  a
) ^ ( # `  x ) ) )  <-> 
( a  e.  Fin  ->  ( # `  (
a  ^m  ( y  u.  { z } ) ) )  =  ( ( # `  a
) ^ ( # `  ( y  u.  {
z } ) ) ) ) ) )
25 oveq2 6048 . . . . . . . 8  |-  ( x  =  B  ->  (
a  ^m  x )  =  ( a  ^m  B ) )
2625fveq2d 5691 . . . . . . 7  |-  ( x  =  B  ->  ( # `
 ( a  ^m  x ) )  =  ( # `  (
a  ^m  B )
) )
27 fveq2 5687 . . . . . . . 8  |-  ( x  =  B  ->  ( # `
 x )  =  ( # `  B
) )
2827oveq2d 6056 . . . . . . 7  |-  ( x  =  B  ->  (
( # `  a ) ^ ( # `  x
) )  =  ( ( # `  a
) ^ ( # `  B ) ) )
2926, 28eqeq12d 2418 . . . . . 6  |-  ( x  =  B  ->  (
( # `  ( a  ^m  x ) )  =  ( ( # `  a ) ^ ( # `
 x ) )  <-> 
( # `  ( a  ^m  B ) )  =  ( ( # `  a ) ^ ( # `
 B ) ) ) )
3029imbi2d 308 . . . . 5  |-  ( x  =  B  ->  (
( a  e.  Fin  ->  ( # `  (
a  ^m  x )
)  =  ( (
# `  a ) ^ ( # `  x
) ) )  <->  ( a  e.  Fin  ->  ( # `  (
a  ^m  B )
)  =  ( (
# `  a ) ^ ( # `  B
) ) ) ) )
31 hashcl 11594 . . . . . . . . 9  |-  ( a  e.  Fin  ->  ( # `
 a )  e. 
NN0 )
3231nn0cnd 10232 . . . . . . . 8  |-  ( a  e.  Fin  ->  ( # `
 a )  e.  CC )
3332exp0d 11472 . . . . . . 7  |-  ( a  e.  Fin  ->  (
( # `  a ) ^ 0 )  =  1 )
3433eqcomd 2409 . . . . . 6  |-  ( a  e.  Fin  ->  1  =  ( ( # `  a ) ^ 0 ) )
35 vex 2919 . . . . . . . . . 10  |-  a  e. 
_V
36 map0e 7010 . . . . . . . . . 10  |-  ( a  e.  _V  ->  (
a  ^m  (/) )  =  1o )
3735, 36ax-mp 8 . . . . . . . . 9  |-  ( a  ^m  (/) )  =  1o
38 df1o2 6695 . . . . . . . . 9  |-  1o  =  { (/) }
3937, 38eqtri 2424 . . . . . . . 8  |-  ( a  ^m  (/) )  =  { (/)
}
4039fveq2i 5690 . . . . . . 7  |-  ( # `  ( a  ^m  (/) ) )  =  ( # `  { (/)
} )
41 0ex 4299 . . . . . . . 8  |-  (/)  e.  _V
42 hashsng 11602 . . . . . . . 8  |-  ( (/)  e.  _V  ->  ( # `  { (/)
} )  =  1 )
4341, 42ax-mp 8 . . . . . . 7  |-  ( # `  { (/) } )  =  1
4440, 43eqtri 2424 . . . . . 6  |-  ( # `  ( a  ^m  (/) ) )  =  1
45 hash0 11601 . . . . . . 7  |-  ( # `  (/) )  =  0
4645oveq2i 6051 . . . . . 6  |-  ( (
# `  a ) ^ ( # `  (/) ) )  =  ( ( # `  a ) ^ 0 )
4734, 44, 463eqtr4g 2461 . . . . 5  |-  ( a  e.  Fin  ->  ( # `
 ( a  ^m  (/) ) )  =  ( ( # `  a
) ^ ( # `  (/) ) ) )
48 oveq1 6047 . . . . . . . 8  |-  ( (
# `  ( a  ^m  y ) )  =  ( ( # `  a
) ^ ( # `  y ) )  -> 
( ( # `  (
a  ^m  y )
)  x.  ( # `  a ) )  =  ( ( ( # `  a ) ^ ( # `
 y ) )  x.  ( # `  a
) ) )
49 vex 2919 . . . . . . . . . . . . 13  |-  y  e. 
_V
50 snex 4365 . . . . . . . . . . . . 13  |-  { z }  e.  _V
5149, 50, 353pm3.2i 1132 . . . . . . . . . . . 12  |-  ( y  e.  _V  /\  {
z }  e.  _V  /\  a  e.  _V )
52 simprr 734 . . . . . . . . . . . . 13  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  -.  z  e.  y )
53 disjsn 3828 . . . . . . . . . . . . 13  |-  ( ( y  i^i  { z } )  =  (/)  <->  -.  z  e.  y )
5452, 53sylibr 204 . . . . . . . . . . . 12  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
y  i^i  { z } )  =  (/) )
55 mapunen 7235 . . . . . . . . . . . 12  |-  ( ( ( y  e.  _V  /\ 
{ z }  e.  _V  /\  a  e.  _V )  /\  ( y  i^i 
{ z } )  =  (/) )  ->  (
a  ^m  ( y  u.  { z } ) )  ~~  ( ( a  ^m  y )  X.  ( a  ^m  { z } ) ) )
5651, 54, 55sylancr 645 . . . . . . . . . . 11  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
a  ^m  ( y  u.  { z } ) )  ~~  ( ( a  ^m  y )  X.  ( a  ^m  { z } ) ) )
57 simpl 444 . . . . . . . . . . . . 13  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  a  e.  Fin )
58 simprl 733 . . . . . . . . . . . . . 14  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  y  e.  Fin )
59 snfi 7146 . . . . . . . . . . . . . 14  |-  { z }  e.  Fin
60 unfi 7333 . . . . . . . . . . . . . 14  |-  ( ( y  e.  Fin  /\  { z }  e.  Fin )  ->  ( y  u. 
{ z } )  e.  Fin )
6158, 59, 60sylancl 644 . . . . . . . . . . . . 13  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
y  u.  { z } )  e.  Fin )
62 mapfi 7361 . . . . . . . . . . . . 13  |-  ( ( a  e.  Fin  /\  ( y  u.  {
z } )  e. 
Fin )  ->  (
a  ^m  ( y  u.  { z } ) )  e.  Fin )
6357, 61, 62syl2anc 643 . . . . . . . . . . . 12  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
a  ^m  ( y  u.  { z } ) )  e.  Fin )
64 mapfi 7361 . . . . . . . . . . . . . 14  |-  ( ( a  e.  Fin  /\  y  e.  Fin )  ->  ( a  ^m  y
)  e.  Fin )
6564adantrr 698 . . . . . . . . . . . . 13  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
a  ^m  y )  e.  Fin )
66 mapfi 7361 . . . . . . . . . . . . . 14  |-  ( ( a  e.  Fin  /\  { z }  e.  Fin )  ->  ( a  ^m  { z } )  e. 
Fin )
6757, 59, 66sylancl 644 . . . . . . . . . . . . 13  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
a  ^m  { z } )  e.  Fin )
68 xpfi 7337 . . . . . . . . . . . . 13  |-  ( ( ( a  ^m  y
)  e.  Fin  /\  ( a  ^m  {
z } )  e. 
Fin )  ->  (
( a  ^m  y
)  X.  ( a  ^m  { z } ) )  e.  Fin )
6965, 67, 68syl2anc 643 . . . . . . . . . . . 12  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( a  ^m  y
)  X.  ( a  ^m  { z } ) )  e.  Fin )
70 hashen 11586 . . . . . . . . . . . 12  |-  ( ( ( a  ^m  (
y  u.  { z } ) )  e. 
Fin  /\  ( (
a  ^m  y )  X.  ( a  ^m  {
z } ) )  e.  Fin )  -> 
( ( # `  (
a  ^m  ( y  u.  { z } ) ) )  =  (
# `  ( (
a  ^m  y )  X.  ( a  ^m  {
z } ) ) )  <->  ( a  ^m  ( y  u.  {
z } ) ) 
~~  ( ( a  ^m  y )  X.  ( a  ^m  {
z } ) ) ) )
7163, 69, 70syl2anc 643 . . . . . . . . . . 11  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( # `  ( a  ^m  ( y  u. 
{ z } ) ) )  =  (
# `  ( (
a  ^m  y )  X.  ( a  ^m  {
z } ) ) )  <->  ( a  ^m  ( y  u.  {
z } ) ) 
~~  ( ( a  ^m  y )  X.  ( a  ^m  {
z } ) ) ) )
7256, 71mpbird 224 . . . . . . . . . 10  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( # `
 ( a  ^m  ( y  u.  {
z } ) ) )  =  ( # `  ( ( a  ^m  y )  X.  (
a  ^m  { z } ) ) ) )
73 hashxp 11652 . . . . . . . . . . . 12  |-  ( ( ( a  ^m  y
)  e.  Fin  /\  ( a  ^m  {
z } )  e. 
Fin )  ->  ( # `
 ( ( a  ^m  y )  X.  ( a  ^m  {
z } ) ) )  =  ( (
# `  ( a  ^m  y ) )  x.  ( # `  (
a  ^m  { z } ) ) ) )
7465, 67, 73syl2anc 643 . . . . . . . . . . 11  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( # `
 ( ( a  ^m  y )  X.  ( a  ^m  {
z } ) ) )  =  ( (
# `  ( a  ^m  y ) )  x.  ( # `  (
a  ^m  { z } ) ) ) )
75 vex 2919 . . . . . . . . . . . . . 14  |-  z  e. 
_V
7635, 75mapsnen 7143 . . . . . . . . . . . . 13  |-  ( a  ^m  { z } )  ~~  a
77 hashen 11586 . . . . . . . . . . . . . 14  |-  ( ( ( a  ^m  {
z } )  e. 
Fin  /\  a  e.  Fin )  ->  ( (
# `  ( a  ^m  { z } ) )  =  ( # `  a )  <->  ( a  ^m  { z } ) 
~~  a ) )
7867, 57, 77syl2anc 643 . . . . . . . . . . . . 13  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( # `  ( a  ^m  { z } ) )  =  (
# `  a )  <->  ( a  ^m  { z } )  ~~  a
) )
7976, 78mpbiri 225 . . . . . . . . . . . 12  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( # `
 ( a  ^m  { z } ) )  =  ( # `  a
) )
8079oveq2d 6056 . . . . . . . . . . 11  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( # `  ( a  ^m  y ) )  x.  ( # `  (
a  ^m  { z } ) ) )  =  ( ( # `  ( a  ^m  y
) )  x.  ( # `
 a ) ) )
8174, 80eqtrd 2436 . . . . . . . . . 10  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( # `
 ( ( a  ^m  y )  X.  ( a  ^m  {
z } ) ) )  =  ( (
# `  ( a  ^m  y ) )  x.  ( # `  a
) ) )
8272, 81eqtrd 2436 . . . . . . . . 9  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( # `
 ( a  ^m  ( y  u.  {
z } ) ) )  =  ( (
# `  ( a  ^m  y ) )  x.  ( # `  a
) ) )
83 hashunsng 11620 . . . . . . . . . . . . 13  |-  ( z  e.  _V  ->  (
( y  e.  Fin  /\ 
-.  z  e.  y )  ->  ( # `  (
y  u.  { z } ) )  =  ( ( # `  y
)  +  1 ) ) )
8475, 83ax-mp 8 . . . . . . . . . . . 12  |-  ( ( y  e.  Fin  /\  -.  z  e.  y
)  ->  ( # `  (
y  u.  { z } ) )  =  ( ( # `  y
)  +  1 ) )
8584adantl 453 . . . . . . . . . . 11  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( # `
 ( y  u. 
{ z } ) )  =  ( (
# `  y )  +  1 ) )
8685oveq2d 6056 . . . . . . . . . 10  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( # `  a ) ^ ( # `  (
y  u.  { z } ) ) )  =  ( ( # `  a ) ^ (
( # `  y )  +  1 ) ) )
8732adantr 452 . . . . . . . . . . 11  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( # `
 a )  e.  CC )
88 hashcl 11594 . . . . . . . . . . . 12  |-  ( y  e.  Fin  ->  ( # `
 y )  e. 
NN0 )
8988ad2antrl 709 . . . . . . . . . . 11  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( # `
 y )  e. 
NN0 )
9087, 89expp1d 11479 . . . . . . . . . 10  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( # `  a ) ^ ( ( # `  y )  +  1 ) )  =  ( ( ( # `  a
) ^ ( # `  y ) )  x.  ( # `  a
) ) )
9186, 90eqtrd 2436 . . . . . . . . 9  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( # `  a ) ^ ( # `  (
y  u.  { z } ) ) )  =  ( ( (
# `  a ) ^ ( # `  y
) )  x.  ( # `
 a ) ) )
9282, 91eqeq12d 2418 . . . . . . . 8  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( # `  ( a  ^m  ( y  u. 
{ z } ) ) )  =  ( ( # `  a
) ^ ( # `  ( y  u.  {
z } ) ) )  <->  ( ( # `  ( a  ^m  y
) )  x.  ( # `
 a ) )  =  ( ( (
# `  a ) ^ ( # `  y
) )  x.  ( # `
 a ) ) ) )
9348, 92syl5ibr 213 . . . . . . 7  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( # `  ( a  ^m  y ) )  =  ( ( # `  a ) ^ ( # `
 y ) )  ->  ( # `  (
a  ^m  ( y  u.  { z } ) ) )  =  ( ( # `  a
) ^ ( # `  ( y  u.  {
z } ) ) ) ) )
9493expcom 425 . . . . . 6  |-  ( ( y  e.  Fin  /\  -.  z  e.  y
)  ->  ( a  e.  Fin  ->  ( ( # `
 ( a  ^m  y ) )  =  ( ( # `  a
) ^ ( # `  y ) )  -> 
( # `  ( a  ^m  ( y  u. 
{ z } ) ) )  =  ( ( # `  a
) ^ ( # `  ( y  u.  {
z } ) ) ) ) ) )
9594a2d 24 . . . . 5  |-  ( ( y  e.  Fin  /\  -.  z  e.  y
)  ->  ( (
a  e.  Fin  ->  (
# `  ( a  ^m  y ) )  =  ( ( # `  a
) ^ ( # `  y ) ) )  ->  ( a  e. 
Fin  ->  ( # `  (
a  ^m  ( y  u.  { z } ) ) )  =  ( ( # `  a
) ^ ( # `  ( y  u.  {
z } ) ) ) ) ) )
9612, 18, 24, 30, 47, 95findcard2s 7308 . . . 4  |-  ( B  e.  Fin  ->  (
a  e.  Fin  ->  (
# `  ( a  ^m  B ) )  =  ( ( # `  a
) ^ ( # `  B ) ) ) )
9796com12 29 . . 3  |-  ( a  e.  Fin  ->  ( B  e.  Fin  ->  ( # `
 ( a  ^m  B ) )  =  ( ( # `  a
) ^ ( # `  B ) ) ) )
986, 97vtoclga 2977 . 2  |-  ( A  e.  Fin  ->  ( B  e.  Fin  ->  ( # `
 ( A  ^m  B ) )  =  ( ( # `  A
) ^ ( # `  B ) ) ) )
9998imp 419 1  |-  ( ( A  e.  Fin  /\  B  e.  Fin )  ->  ( # `  ( A  ^m  B ) )  =  ( ( # `  A ) ^ ( # `
 B ) ) )
Colors of variables: wff set class
Syntax hints:   -. wn 3    -> wi 4    <-> wb 177    /\ wa 359    /\ w3a 936    = wceq 1649    e. wcel 1721   _Vcvv 2916    u. cun 3278    i^i cin 3279   (/)c0 3588   {csn 3774   class class class wbr 4172    X. cxp 4835   ` cfv 5413  (class class class)co 6040   1oc1o 6676    ^m cmap 6977    ~~ cen 7065   Fincfn 7068   CCcc 8944   0cc0 8946   1c1 8947    + caddc 8949    x. cmul 8951   NN0cn0 10177   ^cexp 11337   #chash 11573
This theorem is referenced by:  hashpw  11654  prmreclem2  13240  birthdaylem2  20744
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1552  ax-5 1563  ax-17 1623  ax-9 1662  ax-8 1683  ax-13 1723  ax-14 1725  ax-6 1740  ax-7 1745  ax-11 1757  ax-12 1946  ax-ext 2385  ax-rep 4280  ax-sep 4290  ax-nul 4298  ax-pow 4337  ax-pr 4363  ax-un 4660  ax-cnex 9002  ax-resscn 9003  ax-1cn 9004  ax-icn 9005  ax-addcl 9006  ax-addrcl 9007  ax-mulcl 9008  ax-mulrcl 9009  ax-mulcom 9010  ax-addass 9011  ax-mulass 9012  ax-distr 9013  ax-i2m1 9014  ax-1ne0 9015  ax-1rid 9016  ax-rnegex 9017  ax-rrecex 9018  ax-cnre 9019  ax-pre-lttri 9020  ax-pre-lttrn 9021  ax-pre-ltadd 9022  ax-pre-mulgt0 9023
This theorem depends on definitions:  df-bi 178  df-or 360  df-an 361  df-3or 937  df-3an 938  df-tru 1325  df-ex 1548  df-nf 1551  df-sb 1656  df-eu 2258  df-mo 2259  df-clab 2391  df-cleq 2397  df-clel 2400  df-nfc 2529  df-ne 2569  df-nel 2570  df-ral 2671  df-rex 2672  df-reu 2673  df-rmo 2674  df-rab 2675  df-v 2918  df-sbc 3122  df-csb 3212  df-dif 3283  df-un 3285  df-in 3287  df-ss 3294  df-pss 3296  df-nul 3589  df-if 3700  df-pw 3761  df-sn 3780  df-pr 3781  df-tp 3782  df-op 3783  df-uni 3976  df-int 4011  df-iun 4055  df-br 4173  df-opab 4227  df-mpt 4228  df-tr 4263  df-eprel 4454  df-id 4458  df-po 4463  df-so 4464  df-fr 4501  df-we 4503  df-ord 4544  df-on 4545  df-lim 4546  df-suc 4547  df-om 4805  df-xp 4843  df-rel 4844  df-cnv 4845  df-co 4846  df-dm 4847  df-rn 4848  df-res 4849  df-ima 4850  df-iota 5377  df-fun 5415  df-fn 5416  df-f 5417  df-f1 5418  df-fo 5419  df-f1o 5420  df-fv 5421  df-ov 6043  df-oprab 6044  df-mpt2 6045  df-1st 6308  df-2nd 6309  df-riota 6508  df-recs 6592  df-rdg 6627  df-1o 6683  df-2o 6684  df-oadd 6687  df-er 6864  df-map 6979  df-pm 6980  df-en 7069  df-dom 7070  df-sdom 7071  df-fin 7072  df-card 7782  df-cda 8004  df-pnf 9078  df-mnf 9079  df-xr 9080  df-ltxr 9081  df-le 9082  df-sub 9249  df-neg 9250  df-nn 9957  df-n0 10178  df-z 10239  df-uz 10445  df-fz 11000  df-seq 11279  df-exp 11338  df-hash 11574
  Copyright terms: Public domain W3C validator