This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: The size function is a function into the extended nonnegative integers. (Contributed by Mario Carneiro, 13-Sep-2013) (Revised by AV, 10-Dec-2020)
| Ref | Expression | ||
|---|---|---|---|
| Assertion | hashfxnn0 | |- # : _V --> NN0* |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | eqid | |- ( rec ( ( x e. _V |-> ( x + 1 ) ) , 0 ) |` _om ) = ( rec ( ( x e. _V |-> ( x + 1 ) ) , 0 ) |` _om ) |
|
| 2 | eqid | |- ( ( rec ( ( x e. _V |-> ( x + 1 ) ) , 0 ) |` _om ) o. card ) = ( ( rec ( ( x e. _V |-> ( x + 1 ) ) , 0 ) |` _om ) o. card ) |
|
| 3 | 1 2 | hashkf | |- ( ( rec ( ( x e. _V |-> ( x + 1 ) ) , 0 ) |` _om ) o. card ) : Fin --> NN0 |
| 4 | pnfex | |- +oo e. _V |
|
| 5 | 4 | fconst | |- ( ( _V \ Fin ) X. { +oo } ) : ( _V \ Fin ) --> { +oo } |
| 6 | 3 5 | pm3.2i | |- ( ( ( rec ( ( x e. _V |-> ( x + 1 ) ) , 0 ) |` _om ) o. card ) : Fin --> NN0 /\ ( ( _V \ Fin ) X. { +oo } ) : ( _V \ Fin ) --> { +oo } ) |
| 7 | disjdif | |- ( Fin i^i ( _V \ Fin ) ) = (/) |
|
| 8 | fun | |- ( ( ( ( ( rec ( ( x e. _V |-> ( x + 1 ) ) , 0 ) |` _om ) o. card ) : Fin --> NN0 /\ ( ( _V \ Fin ) X. { +oo } ) : ( _V \ Fin ) --> { +oo } ) /\ ( Fin i^i ( _V \ Fin ) ) = (/) ) -> ( ( ( rec ( ( x e. _V |-> ( x + 1 ) ) , 0 ) |` _om ) o. card ) u. ( ( _V \ Fin ) X. { +oo } ) ) : ( Fin u. ( _V \ Fin ) ) --> ( NN0 u. { +oo } ) ) |
|
| 9 | 6 7 8 | mp2an | |- ( ( ( rec ( ( x e. _V |-> ( x + 1 ) ) , 0 ) |` _om ) o. card ) u. ( ( _V \ Fin ) X. { +oo } ) ) : ( Fin u. ( _V \ Fin ) ) --> ( NN0 u. { +oo } ) |
| 10 | df-hash | |- # = ( ( ( rec ( ( x e. _V |-> ( x + 1 ) ) , 0 ) |` _om ) o. card ) u. ( ( _V \ Fin ) X. { +oo } ) ) |
|
| 11 | eqid | |- _V = _V |
|
| 12 | df-xnn0 | |- NN0* = ( NN0 u. { +oo } ) |
|
| 13 | feq123 | |- ( ( # = ( ( ( rec ( ( x e. _V |-> ( x + 1 ) ) , 0 ) |` _om ) o. card ) u. ( ( _V \ Fin ) X. { +oo } ) ) /\ _V = _V /\ NN0* = ( NN0 u. { +oo } ) ) -> ( # : _V --> NN0* <-> ( ( ( rec ( ( x e. _V |-> ( x + 1 ) ) , 0 ) |` _om ) o. card ) u. ( ( _V \ Fin ) X. { +oo } ) ) : _V --> ( NN0 u. { +oo } ) ) ) |
|
| 14 | 10 11 12 13 | mp3an | |- ( # : _V --> NN0* <-> ( ( ( rec ( ( x e. _V |-> ( x + 1 ) ) , 0 ) |` _om ) o. card ) u. ( ( _V \ Fin ) X. { +oo } ) ) : _V --> ( NN0 u. { +oo } ) ) |
| 15 | unvdif | |- ( Fin u. ( _V \ Fin ) ) = _V |
|
| 16 | 15 | feq2i | |- ( ( ( ( rec ( ( x e. _V |-> ( x + 1 ) ) , 0 ) |` _om ) o. card ) u. ( ( _V \ Fin ) X. { +oo } ) ) : ( Fin u. ( _V \ Fin ) ) --> ( NN0 u. { +oo } ) <-> ( ( ( rec ( ( x e. _V |-> ( x + 1 ) ) , 0 ) |` _om ) o. card ) u. ( ( _V \ Fin ) X. { +oo } ) ) : _V --> ( NN0 u. { +oo } ) ) |
| 17 | 14 16 | bitr4i | |- ( # : _V --> NN0* <-> ( ( ( rec ( ( x e. _V |-> ( x + 1 ) ) , 0 ) |` _om ) o. card ) u. ( ( _V \ Fin ) X. { +oo } ) ) : ( Fin u. ( _V \ Fin ) ) --> ( NN0 u. { +oo } ) ) |
| 18 | 9 17 | mpbir | |- # : _V --> NN0* |