This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: A function restricted to a singleton. (Contributed by NM, 9-Oct-2004)
| Ref | Expression | ||
|---|---|---|---|
| Assertion | fnressn | |- ( ( F Fn A /\ B e. A ) -> ( F |` { B } ) = { <. B , ( F ` B ) >. } ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | sneq | |- ( x = B -> { x } = { B } ) |
|
| 2 | 1 | reseq2d | |- ( x = B -> ( F |` { x } ) = ( F |` { B } ) ) |
| 3 | fveq2 | |- ( x = B -> ( F ` x ) = ( F ` B ) ) |
|
| 4 | opeq12 | |- ( ( x = B /\ ( F ` x ) = ( F ` B ) ) -> <. x , ( F ` x ) >. = <. B , ( F ` B ) >. ) |
|
| 5 | 3 4 | mpdan | |- ( x = B -> <. x , ( F ` x ) >. = <. B , ( F ` B ) >. ) |
| 6 | 5 | sneqd | |- ( x = B -> { <. x , ( F ` x ) >. } = { <. B , ( F ` B ) >. } ) |
| 7 | 2 6 | eqeq12d | |- ( x = B -> ( ( F |` { x } ) = { <. x , ( F ` x ) >. } <-> ( F |` { B } ) = { <. B , ( F ` B ) >. } ) ) |
| 8 | 7 | imbi2d | |- ( x = B -> ( ( F Fn A -> ( F |` { x } ) = { <. x , ( F ` x ) >. } ) <-> ( F Fn A -> ( F |` { B } ) = { <. B , ( F ` B ) >. } ) ) ) |
| 9 | vex | |- x e. _V |
|
| 10 | 9 | snss | |- ( x e. A <-> { x } C_ A ) |
| 11 | fnssres | |- ( ( F Fn A /\ { x } C_ A ) -> ( F |` { x } ) Fn { x } ) |
|
| 12 | 10 11 | sylan2b | |- ( ( F Fn A /\ x e. A ) -> ( F |` { x } ) Fn { x } ) |
| 13 | dffn2 | |- ( ( F |` { x } ) Fn { x } <-> ( F |` { x } ) : { x } --> _V ) |
|
| 14 | 9 | fsn2 | |- ( ( F |` { x } ) : { x } --> _V <-> ( ( ( F |` { x } ) ` x ) e. _V /\ ( F |` { x } ) = { <. x , ( ( F |` { x } ) ` x ) >. } ) ) |
| 15 | fvex | |- ( ( F |` { x } ) ` x ) e. _V |
|
| 16 | 15 | biantrur | |- ( ( F |` { x } ) = { <. x , ( ( F |` { x } ) ` x ) >. } <-> ( ( ( F |` { x } ) ` x ) e. _V /\ ( F |` { x } ) = { <. x , ( ( F |` { x } ) ` x ) >. } ) ) |
| 17 | vsnid | |- x e. { x } |
|
| 18 | fvres | |- ( x e. { x } -> ( ( F |` { x } ) ` x ) = ( F ` x ) ) |
|
| 19 | 17 18 | ax-mp | |- ( ( F |` { x } ) ` x ) = ( F ` x ) |
| 20 | 19 | opeq2i | |- <. x , ( ( F |` { x } ) ` x ) >. = <. x , ( F ` x ) >. |
| 21 | 20 | sneqi | |- { <. x , ( ( F |` { x } ) ` x ) >. } = { <. x , ( F ` x ) >. } |
| 22 | 21 | eqeq2i | |- ( ( F |` { x } ) = { <. x , ( ( F |` { x } ) ` x ) >. } <-> ( F |` { x } ) = { <. x , ( F ` x ) >. } ) |
| 23 | 16 22 | bitr3i | |- ( ( ( ( F |` { x } ) ` x ) e. _V /\ ( F |` { x } ) = { <. x , ( ( F |` { x } ) ` x ) >. } ) <-> ( F |` { x } ) = { <. x , ( F ` x ) >. } ) |
| 24 | 13 14 23 | 3bitri | |- ( ( F |` { x } ) Fn { x } <-> ( F |` { x } ) = { <. x , ( F ` x ) >. } ) |
| 25 | 12 24 | sylib | |- ( ( F Fn A /\ x e. A ) -> ( F |` { x } ) = { <. x , ( F ` x ) >. } ) |
| 26 | 25 | expcom | |- ( x e. A -> ( F Fn A -> ( F |` { x } ) = { <. x , ( F ` x ) >. } ) ) |
| 27 | 8 26 | vtoclga | |- ( B e. A -> ( F Fn A -> ( F |` { B } ) = { <. B , ( F ` B ) >. } ) ) |
| 28 | 27 | impcom | |- ( ( F Fn A /\ B e. A ) -> ( F |` { B } ) = { <. B , ( F ` B ) >. } ) |