ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  hashmap Unicode version

Theorem hashmap 11192
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.) (Proof shortened by AV, 18-Jul-2022.)
Assertion
Ref Expression
hashmap  |-  ( ( A  e.  Fin  /\  B  e.  Fin )  ->  ( `  ( A  ^m  B ) )  =  ( ( `  A
) ^ ( `  B
) ) )

Proof of Theorem hashmap
Dummy variables  x  y  z are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 oveq2 6058 . . . . . 6  |-  ( x  =  (/)  ->  ( A  ^m  x )  =  ( A  ^m  (/) ) )
21fveq2d 5674 . . . . 5  |-  ( x  =  (/)  ->  ( `  ( A  ^m  x ) )  =  ( `  ( A  ^m  (/) ) ) )
3 fveq2 5670 . . . . . 6  |-  ( x  =  (/)  ->  ( `  x
)  =  ( `  (/) ) )
43oveq2d 6066 . . . . 5  |-  ( x  =  (/)  ->  ( ( `  A ) ^ ( `  x ) )  =  ( ( `  A
) ^ ( `  (/) ) ) )
52, 4eqeq12d 2247 . . . 4  |-  ( x  =  (/)  ->  ( ( `  ( A  ^m  x
) )  =  ( ( `  A ) ^ ( `  x )
)  <->  ( `  ( A  ^m  (/) ) )  =  ( ( `  A
) ^ ( `  (/) ) ) ) )
65imbi2d 230 . . 3  |-  ( x  =  (/)  ->  ( ( A  e.  Fin  ->  ( `  ( A  ^m  x
) )  =  ( ( `  A ) ^ ( `  x )
) )  <->  ( A  e.  Fin  ->  ( `  ( A  ^m  (/) ) )  =  ( ( `  A
) ^ ( `  (/) ) ) ) ) )
7 oveq2 6058 . . . . . 6  |-  ( x  =  y  ->  ( A  ^m  x )  =  ( A  ^m  y
) )
87fveq2d 5674 . . . . 5  |-  ( x  =  y  ->  ( `  ( A  ^m  x
) )  =  ( `  ( A  ^m  y
) ) )
9 fveq2 5670 . . . . . 6  |-  ( x  =  y  ->  ( `  x )  =  ( `  y ) )
109oveq2d 6066 . . . . 5  |-  ( x  =  y  ->  (
( `  A ) ^
( `  x ) )  =  ( ( `  A
) ^ ( `  y
) ) )
118, 10eqeq12d 2247 . . . 4  |-  ( x  =  y  ->  (
( `  ( A  ^m  x ) )  =  ( ( `  A
) ^ ( `  x
) )  <->  ( `  ( A  ^m  y ) )  =  ( ( `  A
) ^ ( `  y
) ) ) )
1211imbi2d 230 . . 3  |-  ( x  =  y  ->  (
( A  e.  Fin  ->  ( `  ( A  ^m  x ) )  =  ( ( `  A
) ^ ( `  x
) ) )  <->  ( A  e.  Fin  ->  ( `  ( A  ^m  y ) )  =  ( ( `  A
) ^ ( `  y
) ) ) ) )
13 oveq2 6058 . . . . . 6  |-  ( x  =  ( y  u. 
{ z } )  ->  ( A  ^m  x )  =  ( A  ^m  ( y  u.  { z } ) ) )
1413fveq2d 5674 . . . . 5  |-  ( x  =  ( y  u. 
{ z } )  ->  ( `  ( A  ^m  x ) )  =  ( `  ( A  ^m  ( y  u.  {
z } ) ) ) )
15 fveq2 5670 . . . . . 6  |-  ( x  =  ( y  u. 
{ z } )  ->  ( `  x )  =  ( `  ( y  u.  { z } ) ) )
1615oveq2d 6066 . . . . 5  |-  ( x  =  ( y  u. 
{ z } )  ->  ( ( `  A
) ^ ( `  x
) )  =  ( ( `  A ) ^ ( `  ( y  u.  { z } ) ) ) )
1714, 16eqeq12d 2247 . . . 4  |-  ( x  =  ( y  u. 
{ z } )  ->  ( ( `  ( A  ^m  x ) )  =  ( ( `  A
) ^ ( `  x
) )  <->  ( `  ( A  ^m  ( y  u. 
{ z } ) ) )  =  ( ( `  A ) ^ ( `  ( y  u.  { z } ) ) ) ) )
1817imbi2d 230 . . 3  |-  ( x  =  ( y  u. 
{ z } )  ->  ( ( A  e.  Fin  ->  ( `  ( A  ^m  x
) )  =  ( ( `  A ) ^ ( `  x )
) )  <->  ( A  e.  Fin  ->  ( `  ( A  ^m  ( y  u. 
{ z } ) ) )  =  ( ( `  A ) ^ ( `  ( y  u.  { z } ) ) ) ) ) )
19 oveq2 6058 . . . . . 6  |-  ( x  =  B  ->  ( A  ^m  x )  =  ( A  ^m  B
) )
2019fveq2d 5674 . . . . 5  |-  ( x  =  B  ->  ( `  ( A  ^m  x
) )  =  ( `  ( A  ^m  B
) ) )
21 fveq2 5670 . . . . . 6  |-  ( x  =  B  ->  ( `  x )  =  ( `  B ) )
2221oveq2d 6066 . . . . 5  |-  ( x  =  B  ->  (
( `  A ) ^
( `  x ) )  =  ( ( `  A
) ^ ( `  B
) ) )
2320, 22eqeq12d 2247 . . . 4  |-  ( x  =  B  ->  (
( `  ( A  ^m  x ) )  =  ( ( `  A
) ^ ( `  x
) )  <->  ( `  ( A  ^m  B ) )  =  ( ( `  A
) ^ ( `  B
) ) ) )
2423imbi2d 230 . . 3  |-  ( x  =  B  ->  (
( A  e.  Fin  ->  ( `  ( A  ^m  x ) )  =  ( ( `  A
) ^ ( `  x
) ) )  <->  ( A  e.  Fin  ->  ( `  ( A  ^m  B ) )  =  ( ( `  A
) ^ ( `  B
) ) ) ) )
25 hashcl 11144 . . . . . 6  |-  ( A  e.  Fin  ->  ( `  A )  e.  NN0 )
2625nn0cnd 9555 . . . . 5  |-  ( A  e.  Fin  ->  ( `  A )  e.  CC )
2726exp0d 11029 . . . 4  |-  ( A  e.  Fin  ->  (
( `  A ) ^
0 )  =  1 )
28 hash0 11159 . . . . . 6  |-  ( `  (/) )  =  0
2928oveq2i 6061 . . . . 5  |-  ( ( `  A ) ^ ( `  (/) ) )  =  ( ( `  A ) ^ 0 )
3029a1i 9 . . . 4  |-  ( A  e.  Fin  ->  (
( `  A ) ^
( `  (/) ) )  =  ( ( `  A
) ^ 0 ) )
31 mapdm0 6897 . . . . . 6  |-  ( A  e.  Fin  ->  ( A  ^m  (/) )  =  { (/)
} )
3231fveq2d 5674 . . . . 5  |-  ( A  e.  Fin  ->  ( `  ( A  ^m  (/) ) )  =  ( `  { (/)
} ) )
33 0ex 4237 . . . . . 6  |-  (/)  e.  _V
34 hashsng 11161 . . . . . 6  |-  ( (/)  e.  _V  ->  ( `  { (/)
} )  =  1 )
3533, 34mp1i 10 . . . . 5  |-  ( A  e.  Fin  ->  ( `  { (/) } )  =  1 )
3632, 35eqtrd 2265 . . . 4  |-  ( A  e.  Fin  ->  ( `  ( A  ^m  (/) ) )  =  1 )
3727, 30, 363eqtr4rd 2276 . . 3  |-  ( A  e.  Fin  ->  ( `  ( A  ^m  (/) ) )  =  ( ( `  A
) ^ ( `  (/) ) ) )
38 oveq1 6057 . . . . . 6  |-  ( ( `  ( A  ^m  y
) )  =  ( ( `  A ) ^ ( `  y )
)  ->  ( ( `  ( A  ^m  y
) )  x.  ( `  A ) )  =  ( ( ( `  A
) ^ ( `  y
) )  x.  ( `  A ) ) )
39 vex 2816 . . . . . . . . . . 11  |-  y  e. 
_V
4039a1i 9 . . . . . . . . . 10  |-  ( ( A  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  y  e.  _V )
41 vsnex 4324 . . . . . . . . . . 11  |-  { z }  e.  _V
4241a1i 9 . . . . . . . . . 10  |-  ( ( A  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  { z }  e.  _V )
43 elex 2825 . . . . . . . . . . 11  |-  ( A  e.  Fin  ->  A  e.  _V )
4443adantr 276 . . . . . . . . . 10  |-  ( ( A  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  A  e.  _V )
45 simprr 533 . . . . . . . . . . 11  |-  ( ( A  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  -.  z  e.  y )
46 disjsn 3751 . . . . . . . . . . 11  |-  ( ( y  i^i  { z } )  =  (/)  <->  -.  z  e.  y )
4745, 46sylibr 134 . . . . . . . . . 10  |-  ( ( A  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
y  i^i  { z } )  =  (/) )
48 mapunen 7104 . . . . . . . . . 10  |-  ( ( ( 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 } ) ) )
4940, 42, 44, 47, 48syl31anc 1277 . . . . . . . . 9  |-  ( ( A  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( A  ^m  ( y  u. 
{ z } ) )  ~~  ( ( A  ^m  y )  X.  ( A  ^m  { z } ) ) )
50 simpl 109 . . . . . . . . . . 11  |-  ( ( A  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  A  e.  Fin )
51 simprl 531 . . . . . . . . . . . 12  |-  ( ( A  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  y  e.  Fin )
52 vex 2816 . . . . . . . . . . . . 13  |-  z  e. 
_V
5352a1i 9 . . . . . . . . . . . 12  |-  ( ( A  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  z  e.  _V )
54 unsnfi 7179 . . . . . . . . . . . 12  |-  ( ( y  e.  Fin  /\  z  e.  _V  /\  -.  z  e.  y )  ->  ( y  u.  {
z } )  e. 
Fin )
5551, 53, 45, 54syl3anc 1274 . . . . . . . . . . 11  |-  ( ( A  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
y  u.  { z } )  e.  Fin )
56 mapfi 7214 . . . . . . . . . . 11  |-  ( ( A  e.  Fin  /\  ( y  u.  {
z } )  e. 
Fin )  ->  ( A  ^m  ( y  u. 
{ z } ) )  e.  Fin )
5750, 55, 56syl2anc 411 . . . . . . . . . 10  |-  ( ( A  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( A  ^m  ( y  u. 
{ z } ) )  e.  Fin )
58 mapfi 7214 . . . . . . . . . . . 12  |-  ( ( A  e.  Fin  /\  y  e.  Fin )  ->  ( A  ^m  y
)  e.  Fin )
5958adantrr 479 . . . . . . . . . . 11  |-  ( ( A  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( A  ^m  y )  e. 
Fin )
60 snfig 7056 . . . . . . . . . . . . 13  |-  ( z  e.  _V  ->  { z }  e.  Fin )
6160elv 2817 . . . . . . . . . . . 12  |-  { z }  e.  Fin
62 mapfi 7214 . . . . . . . . . . . 12  |-  ( ( A  e.  Fin  /\  { z }  e.  Fin )  ->  ( A  ^m  { z } )  e. 
Fin )
6350, 61, 62sylancl 413 . . . . . . . . . . 11  |-  ( ( A  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( A  ^m  { z } )  e.  Fin )
64 xpfi 7192 . . . . . . . . . . 11  |-  ( ( ( A  ^m  y
)  e.  Fin  /\  ( A  ^m  { z } )  e.  Fin )  ->  ( ( A  ^m  y )  X.  ( A  ^m  {
z } ) )  e.  Fin )
6559, 63, 64syl2anc 411 . . . . . . . . . 10  |-  ( ( A  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( A  ^m  y
)  X.  ( A  ^m  { z } ) )  e.  Fin )
66 hashen 11147 . . . . . . . . . 10  |-  ( ( ( 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 } ) ) ) )
6757, 65, 66syl2anc 411 . . . . . . . . 9  |-  ( ( 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 } ) ) ) )
6849, 67mpbird 167 . . . . . . . 8  |-  ( ( A  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( `  ( A  ^m  (
y  u.  { z } ) ) )  =  ( `  (
( A  ^m  y
)  X.  ( A  ^m  { z } ) ) ) )
69 hashxp 11191 . . . . . . . . 9  |-  ( ( ( A  ^m  y
)  e.  Fin  /\  ( A  ^m  { z } )  e.  Fin )  ->  ( `  ( ( A  ^m  y )  X.  ( A  ^m  {
z } ) ) )  =  ( ( `  ( A  ^m  y
) )  x.  ( `  ( A  ^m  {
z } ) ) ) )
7059, 63, 69syl2anc 411 . . . . . . . 8  |-  ( ( A  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( `  ( ( A  ^m  y )  X.  ( A  ^m  { z } ) ) )  =  ( ( `  ( A  ^m  y ) )  x.  ( `  ( A  ^m  { z } ) ) ) )
7150, 53mapsnend 7052 . . . . . . . . . 10  |-  ( ( A  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( A  ^m  { z } )  ~~  A )
72 hashen 11147 . . . . . . . . . . 11  |-  ( ( ( A  ^m  {
z } )  e. 
Fin  /\  A  e.  Fin )  ->  ( ( `  ( A  ^m  {
z } ) )  =  ( `  A
)  <->  ( A  ^m  { z } )  ~~  A ) )
7363, 50, 72syl2anc 411 . . . . . . . . . 10  |-  ( ( A  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( `  ( A  ^m  { z } ) )  =  ( `  A
)  <->  ( A  ^m  { z } )  ~~  A ) )
7471, 73mpbird 167 . . . . . . . . 9  |-  ( ( A  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( `  ( A  ^m  {
z } ) )  =  ( `  A
) )
7574oveq2d 6066 . . . . . . . 8  |-  ( ( A  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( `  ( A  ^m  y ) )  x.  ( `  ( A  ^m  { z } ) ) )  =  ( ( `  ( A  ^m  y ) )  x.  ( `  A )
) )
7668, 70, 753eqtrd 2269 . . . . . . 7  |-  ( ( A  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( `  ( A  ^m  (
y  u.  { z } ) ) )  =  ( ( `  ( A  ^m  y ) )  x.  ( `  A
) ) )
77 hashunsng 11172 . . . . . . . . . . 11  |-  ( z  e.  _V  ->  (
( y  e.  Fin  /\ 
-.  z  e.  y )  ->  ( `  (
y  u.  { z } ) )  =  ( ( `  y
)  +  1 ) ) )
7877elv 2817 . . . . . . . . . 10  |-  ( ( y  e.  Fin  /\  -.  z  e.  y
)  ->  ( `  (
y  u.  { z } ) )  =  ( ( `  y
)  +  1 ) )
7978adantl 277 . . . . . . . . 9  |-  ( ( A  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( `  ( y  u.  {
z } ) )  =  ( ( `  y
)  +  1 ) )
8079oveq2d 6066 . . . . . . . 8  |-  ( ( A  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( `  A ) ^
( `  ( y  u. 
{ z } ) ) )  =  ( ( `  A ) ^ ( ( `  y
)  +  1 ) ) )
8126adantr 276 . . . . . . . . 9  |-  ( ( A  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( `  A )  e.  CC )
82 hashcl 11144 . . . . . . . . . 10  |-  ( y  e.  Fin  ->  ( `  y )  e.  NN0 )
8382ad2antrl 490 . . . . . . . . 9  |-  ( ( A  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  ( `  y )  e.  NN0 )
8481, 83expp1d 11036 . . . . . . . 8  |-  ( ( A  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( `  A ) ^
( ( `  y
)  +  1 ) )  =  ( ( ( `  A ) ^ ( `  y )
)  x.  ( `  A
) ) )
8580, 84eqtrd 2265 . . . . . . 7  |-  ( ( A  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( `  A ) ^
( `  ( y  u. 
{ z } ) ) )  =  ( ( ( `  A
) ^ ( `  y
) )  x.  ( `  A ) ) )
8676, 85eqeq12d 2247 . . . . . 6  |-  ( ( 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 ) ) ) )
8738, 86imbitrrid 156 . . . . 5  |-  ( ( A  e.  Fin  /\  ( y  e.  Fin  /\ 
-.  z  e.  y ) )  ->  (
( `  ( A  ^m  y ) )  =  ( ( `  A
) ^ ( `  y
) )  ->  ( `  ( A  ^m  (
y  u.  { z } ) ) )  =  ( ( `  A
) ^ ( `  (
y  u.  { z } ) ) ) ) )
8887expcom 116 . . . 4  |-  ( ( y  e.  Fin  /\  -.  z  e.  y
)  ->  ( A  e.  Fin  ->  ( ( `  ( A  ^m  y
) )  =  ( ( `  A ) ^ ( `  y )
)  ->  ( `  ( A  ^m  ( y  u. 
{ z } ) ) )  =  ( ( `  A ) ^ ( `  ( y  u.  { z } ) ) ) ) ) )
8988a2d 26 . . 3  |-  ( ( 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 } ) ) ) ) ) )
906, 12, 18, 24, 37, 89findcard2s 7147 . 2  |-  ( B  e.  Fin  ->  ( A  e.  Fin  ->  ( `  ( A  ^m  B
) )  =  ( ( `  A ) ^ ( `  B )
) ) )
9190impcom 125 1  |-  ( ( A  e.  Fin  /\  B  e.  Fin )  ->  ( `  ( A  ^m  B ) )  =  ( ( `  A
) ^ ( `  B
) ) )
Colors of variables: wff set class
Syntax hints:   -. wn 3    -> wi 4    /\ wa 104    <-> wb 105    = wceq 1398    e. wcel 2203   _Vcvv 2813    u. cun 3209    i^i cin 3210   (/)c0 3508   {csn 3689   class class class wbr 4109    X. cxp 4747   ` cfv 5352  (class class class)co 6050    ^m cmap 6882    ~~ cen 6973   Fincfn 6975   CCcc 8125   0cc0 8127   1c1 8128    + caddc 8130    x. cmul 8132   NN0cn0 9496   ^cexp 10900  ♯chash 11138
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 619  ax-in2 620  ax-io 717  ax-5 1496  ax-7 1497  ax-gen 1498  ax-ie1 1542  ax-ie2 1543  ax-8 1553  ax-10 1554  ax-11 1555  ax-i12 1556  ax-bndl 1558  ax-4 1559  ax-17 1575  ax-i9 1579  ax-ial 1583  ax-i5r 1584  ax-13 2205  ax-14 2206  ax-ext 2214  ax-coll 4225  ax-sep 4228  ax-nul 4236  ax-pow 4287  ax-pr 4322  ax-un 4554  ax-setind 4659  ax-iinf 4710  ax-cnex 8218  ax-resscn 8219  ax-1cn 8220  ax-1re 8221  ax-icn 8222  ax-addcl 8223  ax-addrcl 8224  ax-mulcl 8225  ax-mulrcl 8226  ax-addcom 8227  ax-mulcom 8228  ax-addass 8229  ax-mulass 8230  ax-distr 8231  ax-i2m1 8232  ax-0lt1 8233  ax-1rid 8234  ax-0id 8235  ax-rnegex 8236  ax-precex 8237  ax-cnre 8238  ax-pre-ltirr 8239  ax-pre-ltwlin 8240  ax-pre-lttrn 8241  ax-pre-apti 8242  ax-pre-ltadd 8243  ax-pre-mulgt0 8244  ax-pre-mulext 8245
This theorem depends on definitions:  df-bi 117  df-dc 843  df-3or 1006  df-3an 1007  df-tru 1401  df-fal 1404  df-nf 1510  df-sb 1812  df-eu 2083  df-mo 2084  df-clab 2219  df-cleq 2225  df-clel 2228  df-nfc 2373  df-ne 2413  df-nel 2508  df-ral 2525  df-rex 2526  df-reu 2527  df-rmo 2528  df-rab 2529  df-v 2815  df-sbc 3043  df-csb 3139  df-dif 3213  df-un 3215  df-in 3217  df-ss 3224  df-nul 3509  df-if 3621  df-pw 3671  df-sn 3695  df-pr 3696  df-op 3698  df-uni 3915  df-int 3950  df-iun 3993  df-br 4110  df-opab 4172  df-mpt 4173  df-tr 4209  df-id 4414  df-po 4417  df-iso 4418  df-iord 4487  df-on 4489  df-ilim 4490  df-suc 4492  df-iom 4713  df-xp 4755  df-rel 4756  df-cnv 4757  df-co 4758  df-dm 4759  df-rn 4760  df-res 4761  df-ima 4762  df-iota 5312  df-fun 5354  df-fn 5355  df-f 5356  df-f1 5357  df-fo 5358  df-f1o 5359  df-fv 5360  df-riota 6003  df-ov 6053  df-oprab 6054  df-mpo 6055  df-1st 6334  df-2nd 6335  df-recs 6536  df-irdg 6601  df-frec 6622  df-1o 6647  df-oadd 6651  df-er 6767  df-map 6884  df-en 6976  df-dom 6977  df-fin 6978  df-pnf 8310  df-mnf 8311  df-xr 8312  df-ltxr 8313  df-le 8314  df-sub 8446  df-neg 8447  df-reap 8849  df-ap 8856  df-div 8947  df-inn 9238  df-n0 9497  df-z 9578  df-uz 9854  df-fz 10343  df-seqfrec 10810  df-exp 10901  df-ihash 11139
This theorem is referenced by:  hashpwfi  11193
  Copyright terms: Public domain W3C validator