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

Theorem hashmap 11625
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 6027 . . . . . 6  |-  ( a  =  A  ->  (
a  ^m  B )  =  ( A  ^m  B ) )
21fveq2d 5672 . . . . 5  |-  ( a  =  A  ->  ( # `
 ( a  ^m  B ) )  =  ( # `  ( A  ^m  B ) ) )
3 fveq2 5668 . . . . . 6  |-  ( a  =  A  ->  ( # `
 a )  =  ( # `  A
) )
43oveq1d 6035 . . . . 5  |-  ( a  =  A  ->  (
( # `  a ) ^ ( # `  B
) )  =  ( ( # `  A
) ^ ( # `  B ) ) )
52, 4eqeq12d 2401 . . . 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 6028 . . . . . . . 8  |-  ( x  =  (/)  ->  ( a  ^m  x )  =  ( a  ^m  (/) ) )
87fveq2d 5672 . . . . . . 7  |-  ( x  =  (/)  ->  ( # `  ( a  ^m  x
) )  =  (
# `  ( a  ^m  (/) ) ) )
9 fveq2 5668 . . . . . . . 8  |-  ( x  =  (/)  ->  ( # `  x )  =  (
# `  (/) ) )
109oveq2d 6036 . . . . . . 7  |-  ( x  =  (/)  ->  ( (
# `  a ) ^ ( # `  x
) )  =  ( ( # `  a
) ^ ( # `  (/) ) ) )
118, 10eqeq12d 2401 . . . . . 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 6028 . . . . . . . 8  |-  ( x  =  y  ->  (
a  ^m  x )  =  ( a  ^m  y ) )
1413fveq2d 5672 . . . . . . 7  |-  ( x  =  y  ->  ( # `
 ( a  ^m  x ) )  =  ( # `  (
a  ^m  y )
) )
15 fveq2 5668 . . . . . . . 8  |-  ( x  =  y  ->  ( # `
 x )  =  ( # `  y
) )
1615oveq2d 6036 . . . . . . 7  |-  ( x  =  y  ->  (
( # `  a ) ^ ( # `  x
) )  =  ( ( # `  a
) ^ ( # `  y ) ) )
1714, 16eqeq12d 2401 . . . . . 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 6028 . . . . . . . 8  |-  ( x  =  ( y  u. 
{ z } )  ->  ( a  ^m  x )  =  ( a  ^m  ( y  u.  { z } ) ) )
2019fveq2d 5672 . . . . . . 7  |-  ( x  =  ( y  u. 
{ z } )  ->  ( # `  (
a  ^m  x )
)  =  ( # `  ( a  ^m  (
y  u.  { z } ) ) ) )
21 fveq2 5668 . . . . . . . 8  |-  ( x  =  ( y  u. 
{ z } )  ->  ( # `  x
)  =  ( # `  ( y  u.  {
z } ) ) )
2221oveq2d 6036 . . . . . . 7  |-  ( x  =  ( y  u. 
{ z } )  ->  ( ( # `  a ) ^ ( # `
 x ) )  =  ( ( # `  a ) ^ ( # `
 ( y  u. 
{ z } ) ) ) )
2320, 22eqeq12d 2401 . . . . . 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 6028 . . . . . . . 8  |-  ( x  =  B  ->  (
a  ^m  x )  =  ( a  ^m  B ) )
2625fveq2d 5672 . . . . . . 7  |-  ( x  =  B  ->  ( # `
 ( a  ^m  x ) )  =  ( # `  (
a  ^m  B )
) )
27 fveq2 5668 . . . . . . . 8  |-  ( x  =  B  ->  ( # `
 x )  =  ( # `  B
) )
2827oveq2d 6036 . . . . . . 7  |-  ( x  =  B  ->  (
( # `  a ) ^ ( # `  x
) )  =  ( ( # `  a
) ^ ( # `  B ) ) )
2926, 28eqeq12d 2401 . . . . . 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 11566 . . . . . . . . 9  |-  ( a  e.  Fin  ->  ( # `
 a )  e. 
NN0 )
3231nn0cnd 10208 . . . . . . . 8  |-  ( a  e.  Fin  ->  ( # `
 a )  e.  CC )
3332exp0d 11444 . . . . . . 7  |-  ( a  e.  Fin  ->  (
( # `  a ) ^ 0 )  =  1 )
3433eqcomd 2392 . . . . . 6  |-  ( a  e.  Fin  ->  1  =  ( ( # `  a ) ^ 0 ) )
35 vex 2902 . . . . . . . . . 10  |-  a  e. 
_V
36 map0e 6987 . . . . . . . . . 10  |-  ( a  e.  _V  ->  (
a  ^m  (/) )  =  1o )
3735, 36ax-mp 8 . . . . . . . . 9  |-  ( a  ^m  (/) )  =  1o
38 df1o2 6672 . . . . . . . . 9  |-  1o  =  { (/) }
3937, 38eqtri 2407 . . . . . . . 8  |-  ( a  ^m  (/) )  =  { (/)
}
4039fveq2i 5671 . . . . . . 7  |-  ( # `  ( a  ^m  (/) ) )  =  ( # `  { (/)
} )
41 0ex 4280 . . . . . . . 8  |-  (/)  e.  _V
42 hashsng 11574 . . . . . . . 8  |-  ( (/)  e.  _V  ->  ( # `  { (/)
} )  =  1 )
4341, 42ax-mp 8 . . . . . . 7  |-  ( # `  { (/) } )  =  1
4440, 43eqtri 2407 . . . . . 6  |-  ( # `  ( a  ^m  (/) ) )  =  1
45 hash0 11573 . . . . . . 7  |-  ( # `  (/) )  =  0
4645oveq2i 6031 . . . . . 6  |-  ( (
# `  a ) ^ ( # `  (/) ) )  =  ( ( # `  a ) ^ 0 )
4734, 44, 463eqtr4g 2444 . . . . 5  |-  ( a  e.  Fin  ->  ( # `
 ( a  ^m  (/) ) )  =  ( ( # `  a
) ^ ( # `  (/) ) ) )
48 oveq1 6027 . . . . . . . 8  |-  ( (
# `  ( a  ^m  y ) )  =  ( ( # `  a
) ^ ( # `  y ) )  -> 
( ( # `  (
a  ^m  y )
)  x.  ( # `  a ) )  =  ( ( ( # `  a ) ^ ( # `
 y ) )  x.  ( # `  a
) ) )
49 vex 2902 . . . . . . . . . . . . 13  |-  y  e. 
_V
50 snex 4346 . . . . . . . . . . . . 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 3811 . . . . . . . . . . . . 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 7212 . . . . . . . . . . . 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 7123 . . . . . . . . . . . . . 14  |-  { z }  e.  Fin
60 unfi 7310 . . . . . . . . . . . . . 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 7338 . . . . . . . . . . . . 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 7338 . . . . . . . . . . . . . 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 7338 . . . . . . . . . . . . . 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 7314 . . . . . . . . . . . . 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 11558 . . . . . . . . . . . 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 11624 . . . . . . . . . . . 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 2902 . . . . . . . . . . . . . 14  |-  z  e. 
_V
7635, 75mapsnen 7120 . . . . . . . . . . . . 13  |-  ( a  ^m  { z } )  ~~  a
77 hashen 11558 . . . . . . . . . . . . . 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 6036 . . . . . . . . . . 11  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( # `  ( a  ^m  y ) )  x.  ( # `  (
a  ^m  { z } ) ) )  =  ( ( # `  ( a  ^m  y
) )  x.  ( # `
 a ) ) )
8174, 80eqtrd 2419 . . . . . . . . . 10  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( # `
 ( ( a  ^m  y )  X.  ( a  ^m  {
z } ) ) )  =  ( (
# `  ( a  ^m  y ) )  x.  ( # `  a
) ) )
8272, 81eqtrd 2419 . . . . . . . . 9  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( # `
 ( a  ^m  ( y  u.  {
z } ) ) )  =  ( (
# `  ( a  ^m  y ) )  x.  ( # `  a
) ) )
83 hashunsng 11592 . . . . . . . . . . . . 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 6036 . . . . . . . . . 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 11566 . . . . . . . . . . . 12  |-  ( y  e.  Fin  ->  ( # `
 y )  e. 
NN0 )
8988ad2antrl 709 . . . . . . . . . . 11  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( # `
 y )  e. 
NN0 )
9087, 89expp1d 11451 . . . . . . . . . 10  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( # `  a ) ^ ( ( # `  y )  +  1 ) )  =  ( ( ( # `  a
) ^ ( # `  y ) )  x.  ( # `  a
) ) )
9186, 90eqtrd 2419 . . . . . . . . 9  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( # `  a ) ^ ( # `  (
y  u.  { z } ) ) )  =  ( ( (
# `  a ) ^ ( # `  y
) )  x.  ( # `
 a ) ) )
9282, 91eqeq12d 2401 . . . . . . . 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 7285 . . . 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 2960 . 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 1717   _Vcvv 2899    u. cun 3261    i^i cin 3262   (/)c0 3571   {csn 3757   class class class wbr 4153    X. cxp 4816   ` cfv 5394  (class class class)co 6020   1oc1o 6653    ^m cmap 6954    ~~ cen 7042   Fincfn 7045   CCcc 8921   0cc0 8923   1c1 8924    + caddc 8926    x. cmul 8928   NN0cn0 10153   ^cexp 11309   #chash 11545
This theorem is referenced by:  hashpw  11626  prmreclem2  13212  birthdaylem2  20658
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 1661  ax-8 1682  ax-13 1719  ax-14 1721  ax-6 1736  ax-7 1741  ax-11 1753  ax-12 1939  ax-ext 2368  ax-rep 4261  ax-sep 4271  ax-nul 4279  ax-pow 4318  ax-pr 4344  ax-un 4641  ax-cnex 8979  ax-resscn 8980  ax-1cn 8981  ax-icn 8982  ax-addcl 8983  ax-addrcl 8984  ax-mulcl 8985  ax-mulrcl 8986  ax-mulcom 8987  ax-addass 8988  ax-mulass 8989  ax-distr 8990  ax-i2m1 8991  ax-1ne0 8992  ax-1rid 8993  ax-rnegex 8994  ax-rrecex 8995  ax-cnre 8996  ax-pre-lttri 8997  ax-pre-lttrn 8998  ax-pre-ltadd 8999  ax-pre-mulgt0 9000
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 2242  df-mo 2243  df-clab 2374  df-cleq 2380  df-clel 2383  df-nfc 2512  df-ne 2552  df-nel 2553  df-ral 2654  df-rex 2655  df-reu 2656  df-rmo 2657  df-rab 2658  df-v 2901  df-sbc 3105  df-csb 3195  df-dif 3266  df-un 3268  df-in 3270  df-ss 3277  df-pss 3279  df-nul 3572  df-if 3683  df-pw 3744  df-sn 3763  df-pr 3764  df-tp 3765  df-op 3766  df-uni 3958  df-int 3993  df-iun 4037  df-br 4154  df-opab 4208  df-mpt 4209  df-tr 4244  df-eprel 4435  df-id 4439  df-po 4444  df-so 4445  df-fr 4482  df-we 4484  df-ord 4525  df-on 4526  df-lim 4527  df-suc 4528  df-om 4786  df-xp 4824  df-rel 4825  df-cnv 4826  df-co 4827  df-dm 4828  df-rn 4829  df-res 4830  df-ima 4831  df-iota 5358  df-fun 5396  df-fn 5397  df-f 5398  df-f1 5399  df-fo 5400  df-f1o 5401  df-fv 5402  df-ov 6023  df-oprab 6024  df-mpt2 6025  df-1st 6288  df-2nd 6289  df-riota 6485  df-recs 6569  df-rdg 6604  df-1o 6660  df-2o 6661  df-oadd 6664  df-er 6841  df-map 6956  df-pm 6957  df-en 7046  df-dom 7047  df-sdom 7048  df-fin 7049  df-card 7759  df-cda 7981  df-pnf 9055  df-mnf 9056  df-xr 9057  df-ltxr 9058  df-le 9059  df-sub 9225  df-neg 9226  df-nn 9933  df-n0 10154  df-z 10215  df-uz 10421  df-fz 10976  df-seq 11251  df-exp 11310  df-hash 11546
  Copyright terms: Public domain W3C validator