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

Theorem hashmap 11387
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 5865 . . . . . 6  |-  ( a  =  A  ->  (
a  ^m  B )  =  ( A  ^m  B ) )
21fveq2d 5529 . . . . 5  |-  ( a  =  A  ->  ( # `
 ( a  ^m  B ) )  =  ( # `  ( A  ^m  B ) ) )
3 fveq2 5525 . . . . . 6  |-  ( a  =  A  ->  ( # `
 a )  =  ( # `  A
) )
43oveq1d 5873 . . . . 5  |-  ( a  =  A  ->  (
( # `  a ) ^ ( # `  B
) )  =  ( ( # `  A
) ^ ( # `  B ) ) )
52, 4eqeq12d 2297 . . . 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 5866 . . . . . . . 8  |-  ( x  =  (/)  ->  ( a  ^m  x )  =  ( a  ^m  (/) ) )
87fveq2d 5529 . . . . . . 7  |-  ( x  =  (/)  ->  ( # `  ( a  ^m  x
) )  =  (
# `  ( a  ^m  (/) ) ) )
9 fveq2 5525 . . . . . . . 8  |-  ( x  =  (/)  ->  ( # `  x )  =  (
# `  (/) ) )
109oveq2d 5874 . . . . . . 7  |-  ( x  =  (/)  ->  ( (
# `  a ) ^ ( # `  x
) )  =  ( ( # `  a
) ^ ( # `  (/) ) ) )
118, 10eqeq12d 2297 . . . . . 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 5866 . . . . . . . 8  |-  ( x  =  y  ->  (
a  ^m  x )  =  ( a  ^m  y ) )
1413fveq2d 5529 . . . . . . 7  |-  ( x  =  y  ->  ( # `
 ( a  ^m  x ) )  =  ( # `  (
a  ^m  y )
) )
15 fveq2 5525 . . . . . . . 8  |-  ( x  =  y  ->  ( # `
 x )  =  ( # `  y
) )
1615oveq2d 5874 . . . . . . 7  |-  ( x  =  y  ->  (
( # `  a ) ^ ( # `  x
) )  =  ( ( # `  a
) ^ ( # `  y ) ) )
1714, 16eqeq12d 2297 . . . . . 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 5866 . . . . . . . 8  |-  ( x  =  ( y  u. 
{ z } )  ->  ( a  ^m  x )  =  ( a  ^m  ( y  u.  { z } ) ) )
2019fveq2d 5529 . . . . . . 7  |-  ( x  =  ( y  u. 
{ z } )  ->  ( # `  (
a  ^m  x )
)  =  ( # `  ( a  ^m  (
y  u.  { z } ) ) ) )
21 fveq2 5525 . . . . . . . 8  |-  ( x  =  ( y  u. 
{ z } )  ->  ( # `  x
)  =  ( # `  ( y  u.  {
z } ) ) )
2221oveq2d 5874 . . . . . . 7  |-  ( x  =  ( y  u. 
{ z } )  ->  ( ( # `  a ) ^ ( # `
 x ) )  =  ( ( # `  a ) ^ ( # `
 ( y  u. 
{ z } ) ) ) )
2320, 22eqeq12d 2297 . . . . . 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 5866 . . . . . . . 8  |-  ( x  =  B  ->  (
a  ^m  x )  =  ( a  ^m  B ) )
2625fveq2d 5529 . . . . . . 7  |-  ( x  =  B  ->  ( # `
 ( a  ^m  x ) )  =  ( # `  (
a  ^m  B )
) )
27 fveq2 5525 . . . . . . . 8  |-  ( x  =  B  ->  ( # `
 x )  =  ( # `  B
) )
2827oveq2d 5874 . . . . . . 7  |-  ( x  =  B  ->  (
( # `  a ) ^ ( # `  x
) )  =  ( ( # `  a
) ^ ( # `  B ) ) )
2926, 28eqeq12d 2297 . . . . . 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 11350 . . . . . . . . 9  |-  ( a  e.  Fin  ->  ( # `
 a )  e. 
NN0 )
3231nn0cnd 10020 . . . . . . . 8  |-  ( a  e.  Fin  ->  ( # `
 a )  e.  CC )
3332exp0d 11239 . . . . . . 7  |-  ( a  e.  Fin  ->  (
( # `  a ) ^ 0 )  =  1 )
3433eqcomd 2288 . . . . . 6  |-  ( a  e.  Fin  ->  1  =  ( ( # `  a ) ^ 0 ) )
35 vex 2791 . . . . . . . . . 10  |-  a  e. 
_V
36 map0e 6805 . . . . . . . . . 10  |-  ( a  e.  _V  ->  (
a  ^m  (/) )  =  1o )
3735, 36ax-mp 8 . . . . . . . . 9  |-  ( a  ^m  (/) )  =  1o
38 df1o2 6491 . . . . . . . . 9  |-  1o  =  { (/) }
3937, 38eqtri 2303 . . . . . . . 8  |-  ( a  ^m  (/) )  =  { (/)
}
4039fveq2i 5528 . . . . . . 7  |-  ( # `  ( a  ^m  (/) ) )  =  ( # `  { (/)
} )
41 0ex 4150 . . . . . . . 8  |-  (/)  e.  _V
42 hashsng 11356 . . . . . . . 8  |-  ( (/)  e.  _V  ->  ( # `  { (/)
} )  =  1 )
4341, 42ax-mp 8 . . . . . . 7  |-  ( # `  { (/) } )  =  1
4440, 43eqtri 2303 . . . . . 6  |-  ( # `  ( a  ^m  (/) ) )  =  1
45 hash0 11355 . . . . . . 7  |-  ( # `  (/) )  =  0
4645oveq2i 5869 . . . . . 6  |-  ( (
# `  a ) ^ ( # `  (/) ) )  =  ( ( # `  a ) ^ 0 )
4734, 44, 463eqtr4g 2340 . . . . 5  |-  ( a  e.  Fin  ->  ( # `
 ( a  ^m  (/) ) )  =  ( ( # `  a
) ^ ( # `  (/) ) ) )
48 oveq1 5865 . . . . . . . 8  |-  ( (
# `  ( a  ^m  y ) )  =  ( ( # `  a
) ^ ( # `  y ) )  -> 
( ( # `  (
a  ^m  y )
)  x.  ( # `  a ) )  =  ( ( ( # `  a ) ^ ( # `
 y ) )  x.  ( # `  a
) ) )
49 vex 2791 . . . . . . . . . . . . 13  |-  y  e. 
_V
50 snex 4216 . . . . . . . . . . . . 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 3693 . . . . . . . . . . . . 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 7030 . . . . . . . . . . . 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 6941 . . . . . . . . . . . . . 14  |-  { z }  e.  Fin
60 unfi 7124 . . . . . . . . . . . . . 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 7152 . . . . . . . . . . . . 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 7152 . . . . . . . . . . . . . 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 7152 . . . . . . . . . . . . . 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 7128 . . . . . . . . . . . . 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 11346 . . . . . . . . . . . 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 11386 . . . . . . . . . . . 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 2791 . . . . . . . . . . . . . 14  |-  z  e. 
_V
7635, 75mapsnen 6938 . . . . . . . . . . . . 13  |-  ( a  ^m  { z } )  ~~  a
77 hashen 11346 . . . . . . . . . . . . . 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 5874 . . . . . . . . . . 11  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( # `  ( a  ^m  y ) )  x.  ( # `  (
a  ^m  { z } ) ) )  =  ( ( # `  ( a  ^m  y
) )  x.  ( # `
 a ) ) )
8174, 80eqtrd 2315 . . . . . . . . . 10  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( # `
 ( ( a  ^m  y )  X.  ( a  ^m  {
z } ) ) )  =  ( (
# `  ( a  ^m  y ) )  x.  ( # `  a
) ) )
8272, 81eqtrd 2315 . . . . . . . . 9  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( # `
 ( a  ^m  ( y  u.  {
z } ) ) )  =  ( (
# `  ( a  ^m  y ) )  x.  ( # `  a
) ) )
83 hashunsng 11367 . . . . . . . . . . . . 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 5874 . . . . . . . . . 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 11350 . . . . . . . . . . . 12  |-  ( y  e.  Fin  ->  ( # `
 y )  e. 
NN0 )
8988ad2antrl 708 . . . . . . . . . . 11  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( # `
 y )  e. 
NN0 )
9087, 89expp1d 11246 . . . . . . . . . 10  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( # `  a ) ^ ( ( # `  y )  +  1 ) )  =  ( ( ( # `  a
) ^ ( # `  y ) )  x.  ( # `  a
) ) )
9186, 90eqtrd 2315 . . . . . . . . 9  |-  ( ( a  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( # `  a ) ^ ( # `  (
y  u.  { z } ) ) )  =  ( ( (
# `  a ) ^ ( # `  y
) )  x.  ( # `
 a ) ) )
9282, 91eqeq12d 2297 . . . . . . . 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 7099 . . . 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 2849 . 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 1623    e. wcel 1684   _Vcvv 2788    u. cun 3150    i^i cin 3151   (/)c0 3455   {csn 3640   class class class wbr 4023    X. cxp 4687   ` cfv 5255  (class class class)co 5858   1oc1o 6472    ^m cmap 6772    ~~ cen 6860   Fincfn 6863   CCcc 8735   0cc0 8737   1c1 8738    + caddc 8740    x. cmul 8742   NN0cn0 9965   ^cexp 11104   #chash 11337
This theorem is referenced by:  hashpw  11388  prmreclem2  12964  birthdaylem2  20247
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1533  ax-5 1544  ax-17 1603  ax-9 1635  ax-8 1643  ax-13 1686  ax-14 1688  ax-6 1703  ax-7 1708  ax-11 1715  ax-12 1866  ax-ext 2264  ax-rep 4131  ax-sep 4141  ax-nul 4149  ax-pow 4188  ax-pr 4214  ax-un 4512  ax-cnex 8793  ax-resscn 8794  ax-1cn 8795  ax-icn 8796  ax-addcl 8797  ax-addrcl 8798  ax-mulcl 8799  ax-mulrcl 8800  ax-mulcom 8801  ax-addass 8802  ax-mulass 8803  ax-distr 8804  ax-i2m1 8805  ax-1ne0 8806  ax-1rid 8807  ax-rnegex 8808  ax-rrecex 8809  ax-cnre 8810  ax-pre-lttri 8811  ax-pre-lttrn 8812  ax-pre-ltadd 8813  ax-pre-mulgt0 8814
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 1529  df-nf 1532  df-sb 1630  df-eu 2147  df-mo 2148  df-clab 2270  df-cleq 2276  df-clel 2279  df-nfc 2408  df-ne 2448  df-nel 2449  df-ral 2548  df-rex 2549  df-reu 2550  df-rmo 2551  df-rab 2552  df-v 2790  df-sbc 2992  df-csb 3082  df-dif 3155  df-un 3157  df-in 3159  df-ss 3166  df-pss 3168  df-nul 3456  df-if 3566  df-pw 3627  df-sn 3646  df-pr 3647  df-tp 3648  df-op 3649  df-uni 3828  df-int 3863  df-iun 3907  df-br 4024  df-opab 4078  df-mpt 4079  df-tr 4114  df-eprel 4305  df-id 4309  df-po 4314  df-so 4315  df-fr 4352  df-we 4354  df-ord 4395  df-on 4396  df-lim 4397  df-suc 4398  df-om 4657  df-xp 4695  df-rel 4696  df-cnv 4697  df-co 4698  df-dm 4699  df-rn 4700  df-res 4701  df-ima 4702  df-iota 5219  df-fun 5257  df-fn 5258  df-f 5259  df-f1 5260  df-fo 5261  df-f1o 5262  df-fv 5263  df-ov 5861  df-oprab 5862  df-mpt2 5863  df-1st 6122  df-2nd 6123  df-riota 6304  df-recs 6388  df-rdg 6423  df-1o 6479  df-2o 6480  df-oadd 6483  df-er 6660  df-map 6774  df-pm 6775  df-en 6864  df-dom 6865  df-sdom 6866  df-fin 6867  df-card 7572  df-cda 7794  df-pnf 8869  df-mnf 8870  df-xr 8871  df-ltxr 8872  df-le 8873  df-sub 9039  df-neg 9040  df-nn 9747  df-n0 9966  df-z 10025  df-uz 10231  df-fz 10783  df-seq 11047  df-exp 11105  df-hash 11338
  Copyright terms: Public domain W3C validator