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

Theorem hashmap 11403
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 5881 . . . . . 6  |-  ( a  =  A  ->  (
a  ^m  B )  =  ( A  ^m  B ) )
21fveq2d 5545 . . . . 5  |-  ( a  =  A  ->  ( # `
 ( a  ^m  B ) )  =  ( # `  ( A  ^m  B ) ) )
3 fveq2 5541 . . . . . 6  |-  ( a  =  A  ->  ( # `
 a )  =  ( # `  A
) )
43oveq1d 5889 . . . . 5  |-  ( a  =  A  ->  (
( # `  a ) ^ ( # `  B
) )  =  ( ( # `  A
) ^ ( # `  B ) ) )
52, 4eqeq12d 2310 . . . 4  |-  ( a  =  A  ->  (
( # `  ( a  ^m  B ) )  =  ( ( # `  a ) ^ ( # `
 B ) )  <-> 
( # `  ( A  ^m  B ) )  =  ( ( # `  A ) ^ ( # `
 B ) ) ) )
65imbi2d 307 . . 3  |-  ( a  =  A  ->  (
( B  e.  Fin  ->  ( # `  (
a  ^m  B )
)  =  ( (
# `  a ) ^ ( # `  B
) ) )  <->  ( B  e.  Fin  ->  ( # `  ( A  ^m  B ) )  =  ( ( # `  A ) ^ ( # `
 B ) ) ) ) )
7 oveq2 5882 . . . . . . . 8  |-  ( x  =  (/)  ->  ( a  ^m  x )  =  ( a  ^m  (/) ) )
87fveq2d 5545 . . . . . . 7  |-  ( x  =  (/)  ->  ( # `  ( a  ^m  x
) )  =  (
# `  ( a  ^m  (/) ) ) )
9 fveq2 5541 . . . . . . . 8  |-  ( x  =  (/)  ->  ( # `  x )  =  (
# `  (/) ) )
109oveq2d 5890 . . . . . . 7  |-  ( x  =  (/)  ->  ( (
# `  a ) ^ ( # `  x
) )  =  ( ( # `  a
) ^ ( # `  (/) ) ) )
118, 10eqeq12d 2310 . . . . . 6  |-  ( x  =  (/)  ->  ( (
# `  ( a  ^m  x ) )  =  ( ( # `  a
) ^ ( # `  x ) )  <->  ( # `  (
a  ^m  (/) ) )  =  ( ( # `  a ) ^ ( # `
 (/) ) ) ) )
1211imbi2d 307 . . . . 5  |-  ( x  =  (/)  ->  ( ( a  e.  Fin  ->  (
# `  ( a  ^m  x ) )  =  ( ( # `  a
) ^ ( # `  x ) ) )  <-> 
( a  e.  Fin  ->  ( # `  (
a  ^m  (/) ) )  =  ( ( # `  a ) ^ ( # `
 (/) ) ) ) ) )
13 oveq2 5882 . . . . . . . 8  |-  ( x  =  y  ->  (
a  ^m  x )  =  ( a  ^m  y ) )
1413fveq2d 5545 . . . . . . 7  |-  ( x  =  y  ->  ( # `
 ( a  ^m  x ) )  =  ( # `  (
a  ^m  y )
) )
15 fveq2 5541 . . . . . . . 8  |-  ( x  =  y  ->  ( # `
 x )  =  ( # `  y
) )
1615oveq2d 5890 . . . . . . 7  |-  ( x  =  y  ->  (
( # `  a ) ^ ( # `  x
) )  =  ( ( # `  a
) ^ ( # `  y ) ) )
1714, 16eqeq12d 2310 . . . . . 6  |-  ( x  =  y  ->  (
( # `  ( a  ^m  x ) )  =  ( ( # `  a ) ^ ( # `
 x ) )  <-> 
( # `  ( a  ^m  y ) )  =  ( ( # `  a ) ^ ( # `
 y ) ) ) )
1817imbi2d 307 . . . . 5  |-  ( x  =  y  ->  (
( a  e.  Fin  ->  ( # `  (
a  ^m  x )
)  =  ( (
# `  a ) ^ ( # `  x
) ) )  <->  ( a  e.  Fin  ->  ( # `  (
a  ^m  y )
)  =  ( (
# `  a ) ^ ( # `  y
) ) ) ) )
19 oveq2 5882 . . . . . . . 8  |-  ( x  =  ( y  u. 
{ z } )  ->  ( a  ^m  x )  =  ( a  ^m  ( y  u.  { z } ) ) )
2019fveq2d 5545 . . . . . . 7  |-  ( x  =  ( y  u. 
{ z } )  ->  ( # `  (
a  ^m  x )
)  =  ( # `  ( a  ^m  (
y  u.  { z } ) ) ) )
21 fveq2 5541 . . . . . . . 8  |-  ( x  =  ( y  u. 
{ z } )  ->  ( # `  x
)  =  ( # `  ( y  u.  {
z } ) ) )
2221oveq2d 5890 . . . . . . 7  |-  ( x  =  ( y  u. 
{ z } )  ->  ( ( # `  a ) ^ ( # `
 x ) )  =  ( ( # `  a ) ^ ( # `
 ( y  u. 
{ z } ) ) ) )
2320, 22eqeq12d 2310 . . . . . 6  |-  ( x  =  ( y  u. 
{ z } )  ->  ( ( # `  ( a  ^m  x
) )  =  ( ( # `  a
) ^ ( # `  x ) )  <->  ( # `  (
a  ^m  ( y  u.  { z } ) ) )  =  ( ( # `  a
) ^ ( # `  ( y  u.  {
z } ) ) ) ) )
2423imbi2d 307 . . . . 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 5882 . . . . . . . 8  |-  ( x  =  B  ->  (
a  ^m  x )  =  ( a  ^m  B ) )
2625fveq2d 5545 . . . . . . 7  |-  ( x  =  B  ->  ( # `
 ( a  ^m  x ) )  =  ( # `  (
a  ^m  B )
) )
27 fveq2 5541 . . . . . . . 8  |-  ( x  =  B  ->  ( # `
 x )  =  ( # `  B
) )
2827oveq2d 5890 . . . . . . 7  |-  ( x  =  B  ->  (
( # `  a ) ^ ( # `  x
) )  =  ( ( # `  a
) ^ ( # `  B ) ) )
2926, 28eqeq12d 2310 . . . . . 6  |-  ( x  =  B  ->  (
( # `  ( a  ^m  x ) )  =  ( ( # `  a ) ^ ( # `
 x ) )  <-> 
( # `  ( a  ^m  B ) )  =  ( ( # `  a ) ^ ( # `
 B ) ) ) )
3029imbi2d 307 . . . . 5  |-  ( x  =  B  ->  (
( a  e.  Fin  ->  ( # `  (
a  ^m  x )
)  =  ( (
# `  a ) ^ ( # `  x
) ) )  <->  ( a  e.  Fin  ->  ( # `  (
a  ^m  B )
)  =  ( (
# `  a ) ^ ( # `  B
) ) ) ) )
31 hashcl 11366 . . . . . . . . 9  |-  ( a  e.  Fin  ->  ( # `
 a )  e. 
NN0 )
3231nn0cnd 10036 . . . . . . . 8  |-  ( a  e.  Fin  ->  ( # `
 a )  e.  CC )
3332exp0d 11255 . . . . . . 7  |-  ( a  e.  Fin  ->  (
( # `  a ) ^ 0 )  =  1 )
3433eqcomd 2301 . . . . . 6  |-  ( a  e.  Fin  ->  1  =  ( ( # `  a ) ^ 0 ) )
35 vex 2804 . . . . . . . . . 10  |-  a  e. 
_V
36 map0e 6821 . . . . . . . . . 10  |-  ( a  e.  _V  ->  (
a  ^m  (/) )  =  1o )
3735, 36ax-mp 8 . . . . . . . . 9  |-  ( a  ^m  (/) )  =  1o
38 df1o2 6507 . . . . . . . . 9  |-  1o  =  { (/) }
3937, 38eqtri 2316 . . . . . . . 8  |-  ( a  ^m  (/) )  =  { (/)
}
4039fveq2i 5544 . . . . . . 7  |-  ( # `  ( a  ^m  (/) ) )  =  ( # `  { (/)
} )
41 0ex 4166 . . . . . . . 8  |-  (/)  e.  _V
42 hashsng 11372 . . . . . . . 8  |-  ( (/)  e.  _V  ->  ( # `  { (/)
} )  =  1 )
4341, 42ax-mp 8 . . . . . . 7  |-  ( # `  { (/) } )  =  1
4440, 43eqtri 2316 . . . . . 6  |-  ( # `  ( a  ^m  (/) ) )  =  1
45 hash0 11371 . . . . . . 7  |-  ( # `  (/) )  =  0
4645oveq2i 5885 . . . . . 6  |-  ( (
# `  a ) ^ ( # `  (/) ) )  =  ( ( # `  a ) ^ 0 )
4734, 44, 463eqtr4g 2353 . . . . 5  |-  ( a  e.  Fin  ->  ( # `
 ( a  ^m  (/) ) )  =  ( ( # `  a
) ^ ( # `  (/) ) ) )
48 oveq1 5881 . . . . . . . 8  |-  ( (
# `  ( a  ^m  y ) )  =  ( ( # `  a
) ^ ( # `  y ) )  -> 
( ( # `  (
a  ^m  y )
)  x.  ( # `  a ) )  =  ( ( ( # `  a ) ^ ( # `
 y ) )  x.  ( # `  a
) ) )
49 vex 2804 . . . . . . . . . . . . 13  |-  y  e. 
_V
50 snex 4232 . . . . . . . . . . . . 13  |-  { z }  e.  _V
5149, 50, 353pm3.2i 1130 . . . . . . . . . . . 12  |-  ( y  e.  _V  /\  {
z }  e.  _V  /\  a  e.  _V )
52 simprr 733 . . . . . . . . . . . . 13  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  -.  z  e.  y )
53 disjsn 3706 . . . . . . . . . . . . 13  |-  ( ( y  i^i  { z } )  =  (/)  <->  -.  z  e.  y )
5452, 53sylibr 203 . . . . . . . . . . . 12  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
y  i^i  { z } )  =  (/) )
55 mapunen 7046 . . . . . . . . . . . 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 644 . . . . . . . . . . 11  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
a  ^m  ( y  u.  { z } ) )  ~~  ( ( a  ^m  y )  X.  ( a  ^m  { z } ) ) )
57 simpl 443 . . . . . . . . . . . . 13  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  a  e.  Fin )
58 simprl 732 . . . . . . . . . . . . . 14  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  y  e.  Fin )
59 snfi 6957 . . . . . . . . . . . . . 14  |-  { z }  e.  Fin
60 unfi 7140 . . . . . . . . . . . . . 14  |-  ( ( y  e.  Fin  /\  { z }  e.  Fin )  ->  ( y  u. 
{ z } )  e.  Fin )
6158, 59, 60sylancl 643 . . . . . . . . . . . . 13  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
y  u.  { z } )  e.  Fin )
62 mapfi 7168 . . . . . . . . . . . . 13  |-  ( ( a  e.  Fin  /\  ( y  u.  {
z } )  e. 
Fin )  ->  (
a  ^m  ( y  u.  { z } ) )  e.  Fin )
6357, 61, 62syl2anc 642 . . . . . . . . . . . 12  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
a  ^m  ( y  u.  { z } ) )  e.  Fin )
64 mapfi 7168 . . . . . . . . . . . . . 14  |-  ( ( a  e.  Fin  /\  y  e.  Fin )  ->  ( a  ^m  y
)  e.  Fin )
6564adantrr 697 . . . . . . . . . . . . 13  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
a  ^m  y )  e.  Fin )
66 mapfi 7168 . . . . . . . . . . . . . 14  |-  ( ( a  e.  Fin  /\  { z }  e.  Fin )  ->  ( a  ^m  { z } )  e. 
Fin )
6757, 59, 66sylancl 643 . . . . . . . . . . . . 13  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
a  ^m  { z } )  e.  Fin )
68 xpfi 7144 . . . . . . . . . . . . 13  |-  ( ( ( a  ^m  y
)  e.  Fin  /\  ( a  ^m  {
z } )  e. 
Fin )  ->  (
( a  ^m  y
)  X.  ( a  ^m  { z } ) )  e.  Fin )
6965, 67, 68syl2anc 642 . . . . . . . . . . . 12  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( a  ^m  y
)  X.  ( a  ^m  { z } ) )  e.  Fin )
70 hashen 11362 . . . . . . . . . . . 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 642 . . . . . . . . . . 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 223 . . . . . . . . . 10  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( # `
 ( a  ^m  ( y  u.  {
z } ) ) )  =  ( # `  ( ( a  ^m  y )  X.  (
a  ^m  { z } ) ) ) )
73 hashxp 11402 . . . . . . . . . . . 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 642 . . . . . . . . . . 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 2804 . . . . . . . . . . . . . 14  |-  z  e. 
_V
7635, 75mapsnen 6954 . . . . . . . . . . . . 13  |-  ( a  ^m  { z } )  ~~  a
77 hashen 11362 . . . . . . . . . . . . . 14  |-  ( ( ( a  ^m  {
z } )  e. 
Fin  /\  a  e.  Fin )  ->  ( (
# `  ( a  ^m  { z } ) )  =  ( # `  a )  <->  ( a  ^m  { z } ) 
~~  a ) )
7867, 57, 77syl2anc 642 . . . . . . . . . . . . 13  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( # `  ( a  ^m  { z } ) )  =  (
# `  a )  <->  ( a  ^m  { z } )  ~~  a
) )
7976, 78mpbiri 224 . . . . . . . . . . . 12  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( # `
 ( a  ^m  { z } ) )  =  ( # `  a
) )
8079oveq2d 5890 . . . . . . . . . . 11  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( # `  ( a  ^m  y ) )  x.  ( # `  (
a  ^m  { z } ) ) )  =  ( ( # `  ( a  ^m  y
) )  x.  ( # `
 a ) ) )
8174, 80eqtrd 2328 . . . . . . . . . 10  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( # `
 ( ( a  ^m  y )  X.  ( a  ^m  {
z } ) ) )  =  ( (
# `  ( a  ^m  y ) )  x.  ( # `  a
) ) )
8272, 81eqtrd 2328 . . . . . . . . 9  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( # `
 ( a  ^m  ( y  u.  {
z } ) ) )  =  ( (
# `  ( a  ^m  y ) )  x.  ( # `  a
) ) )
83 hashunsng 11383 . . . . . . . . . . . . 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 452 . . . . . . . . . . 11  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( # `
 ( y  u. 
{ z } ) )  =  ( (
# `  y )  +  1 ) )
8685oveq2d 5890 . . . . . . . . . 10  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( # `  a ) ^ ( # `  (
y  u.  { z } ) ) )  =  ( ( # `  a ) ^ (
( # `  y )  +  1 ) ) )
8732adantr 451 . . . . . . . . . . 11  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( # `
 a )  e.  CC )
88 hashcl 11366 . . . . . . . . . . . 12  |-  ( y  e.  Fin  ->  ( # `
 y )  e. 
NN0 )
8988ad2antrl 708 . . . . . . . . . . 11  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( # `
 y )  e. 
NN0 )
9087, 89expp1d 11262 . . . . . . . . . 10  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( # `  a ) ^ ( ( # `  y )  +  1 ) )  =  ( ( ( # `  a
) ^ ( # `  y ) )  x.  ( # `  a
) ) )
9186, 90eqtrd 2328 . . . . . . . . 9  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( # `  a ) ^ ( # `  (
y  u.  { z } ) ) )  =  ( ( (
# `  a ) ^ ( # `  y
) )  x.  ( # `
 a ) ) )
9282, 91eqeq12d 2310 . . . . . . . 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 212 . . . . . . 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 424 . . . . . 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 23 . . . . 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 7115 . . . 4  |-  ( B  e.  Fin  ->  (
a  e.  Fin  ->  (
# `  ( a  ^m  B ) )  =  ( ( # `  a
) ^ ( # `  B ) ) ) )
9796com12 27 . . 3  |-  ( a  e.  Fin  ->  ( B  e.  Fin  ->  ( # `
 ( a  ^m  B ) )  =  ( ( # `  a
) ^ ( # `  B ) ) ) )
986, 97vtoclga 2862 . 2  |-  ( A  e.  Fin  ->  ( B  e.  Fin  ->  ( # `
 ( A  ^m  B ) )  =  ( ( # `  A
) ^ ( # `  B ) ) ) )
9998imp 418 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 176    /\ wa 358    /\ w3a 934    = wceq 1632    e. wcel 1696   _Vcvv 2801    u. cun 3163    i^i cin 3164   (/)c0 3468   {csn 3653   class class class wbr 4039    X. cxp 4703   ` cfv 5271  (class class class)co 5874   1oc1o 6488    ^m cmap 6788    ~~ cen 6876   Fincfn 6879   CCcc 8751   0cc0 8753   1c1 8754    + caddc 8756    x. cmul 8758   NN0cn0 9981   ^cexp 11120   #chash 11353
This theorem is referenced by:  hashpw  11404  prmreclem2  12980  birthdaylem2  20263
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1536  ax-5 1547  ax-17 1606  ax-9 1644  ax-8 1661  ax-13 1698  ax-14 1700  ax-6 1715  ax-7 1720  ax-11 1727  ax-12 1878  ax-ext 2277  ax-rep 4147  ax-sep 4157  ax-nul 4165  ax-pow 4204  ax-pr 4230  ax-un 4528  ax-cnex 8809  ax-resscn 8810  ax-1cn 8811  ax-icn 8812  ax-addcl 8813  ax-addrcl 8814  ax-mulcl 8815  ax-mulrcl 8816  ax-mulcom 8817  ax-addass 8818  ax-mulass 8819  ax-distr 8820  ax-i2m1 8821  ax-1ne0 8822  ax-1rid 8823  ax-rnegex 8824  ax-rrecex 8825  ax-cnre 8826  ax-pre-lttri 8827  ax-pre-lttrn 8828  ax-pre-ltadd 8829  ax-pre-mulgt0 8830
This theorem depends on definitions:  df-bi 177  df-or 359  df-an 360  df-3or 935  df-3an 936  df-tru 1310  df-ex 1532  df-nf 1535  df-sb 1639  df-eu 2160  df-mo 2161  df-clab 2283  df-cleq 2289  df-clel 2292  df-nfc 2421  df-ne 2461  df-nel 2462  df-ral 2561  df-rex 2562  df-reu 2563  df-rmo 2564  df-rab 2565  df-v 2803  df-sbc 3005  df-csb 3095  df-dif 3168  df-un 3170  df-in 3172  df-ss 3179  df-pss 3181  df-nul 3469  df-if 3579  df-pw 3640  df-sn 3659  df-pr 3660  df-tp 3661  df-op 3662  df-uni 3844  df-int 3879  df-iun 3923  df-br 4040  df-opab 4094  df-mpt 4095  df-tr 4130  df-eprel 4321  df-id 4325  df-po 4330  df-so 4331  df-fr 4368  df-we 4370  df-ord 4411  df-on 4412  df-lim 4413  df-suc 4414  df-om 4673  df-xp 4711  df-rel 4712  df-cnv 4713  df-co 4714  df-dm 4715  df-rn 4716  df-res 4717  df-ima 4718  df-iota 5235  df-fun 5273  df-fn 5274  df-f 5275  df-f1 5276  df-fo 5277  df-f1o 5278  df-fv 5279  df-ov 5877  df-oprab 5878  df-mpt2 5879  df-1st 6138  df-2nd 6139  df-riota 6320  df-recs 6404  df-rdg 6439  df-1o 6495  df-2o 6496  df-oadd 6499  df-er 6676  df-map 6790  df-pm 6791  df-en 6880  df-dom 6881  df-sdom 6882  df-fin 6883  df-card 7588  df-cda 7810  df-pnf 8885  df-mnf 8886  df-xr 8887  df-ltxr 8888  df-le 8889  df-sub 9055  df-neg 9056  df-nn 9763  df-n0 9982  df-z 10041  df-uz 10247  df-fz 10799  df-seq 11063  df-exp 11121  df-hash 11354
  Copyright terms: Public domain W3C validator