This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: A restricted class abstraction restricted to a singleton is either the empty set or the singleton itself. (Contributed by AV, 21-Jul-2019)
| Ref | Expression | ||
|---|---|---|---|
| Assertion | rabsnifsb | |- { x e. { A } | ph } = if ( [. A / x ]. ph , { A } , (/) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | elsni | |- ( x e. { A } -> x = A ) |
|
| 2 | sbceq1a | |- ( x = A -> ( ph <-> [. A / x ]. ph ) ) |
|
| 3 | 2 | biimpd | |- ( x = A -> ( ph -> [. A / x ]. ph ) ) |
| 4 | 1 3 | syl | |- ( x e. { A } -> ( ph -> [. A / x ]. ph ) ) |
| 5 | 4 | imdistani | |- ( ( x e. { A } /\ ph ) -> ( x e. { A } /\ [. A / x ]. ph ) ) |
| 6 | 5 | orcd | |- ( ( x e. { A } /\ ph ) -> ( ( x e. { A } /\ [. A / x ]. ph ) \/ ( x e. (/) /\ -. [. A / x ]. ph ) ) ) |
| 7 | 2 | biimprd | |- ( x = A -> ( [. A / x ]. ph -> ph ) ) |
| 8 | 1 7 | syl | |- ( x e. { A } -> ( [. A / x ]. ph -> ph ) ) |
| 9 | 8 | imdistani | |- ( ( x e. { A } /\ [. A / x ]. ph ) -> ( x e. { A } /\ ph ) ) |
| 10 | noel | |- -. x e. (/) |
|
| 11 | 10 | pm2.21i | |- ( x e. (/) -> ( x e. { A } /\ ph ) ) |
| 12 | 11 | adantr | |- ( ( x e. (/) /\ -. [. A / x ]. ph ) -> ( x e. { A } /\ ph ) ) |
| 13 | 9 12 | jaoi | |- ( ( ( x e. { A } /\ [. A / x ]. ph ) \/ ( x e. (/) /\ -. [. A / x ]. ph ) ) -> ( x e. { A } /\ ph ) ) |
| 14 | 6 13 | impbii | |- ( ( x e. { A } /\ ph ) <-> ( ( x e. { A } /\ [. A / x ]. ph ) \/ ( x e. (/) /\ -. [. A / x ]. ph ) ) ) |
| 15 | 14 | abbii | |- { x | ( x e. { A } /\ ph ) } = { x | ( ( x e. { A } /\ [. A / x ]. ph ) \/ ( x e. (/) /\ -. [. A / x ]. ph ) ) } |
| 16 | nfv | |- F/ y ( ( x e. { A } /\ [. A / x ]. ph ) \/ ( x e. (/) /\ -. [. A / x ]. ph ) ) |
|
| 17 | nfv | |- F/ x y e. { A } |
|
| 18 | nfsbc1v | |- F/ x [. A / x ]. ph |
|
| 19 | 17 18 | nfan | |- F/ x ( y e. { A } /\ [. A / x ]. ph ) |
| 20 | nfv | |- F/ x y e. (/) |
|
| 21 | 18 | nfn | |- F/ x -. [. A / x ]. ph |
| 22 | 20 21 | nfan | |- F/ x ( y e. (/) /\ -. [. A / x ]. ph ) |
| 23 | 19 22 | nfor | |- F/ x ( ( y e. { A } /\ [. A / x ]. ph ) \/ ( y e. (/) /\ -. [. A / x ]. ph ) ) |
| 24 | eleq1w | |- ( x = y -> ( x e. { A } <-> y e. { A } ) ) |
|
| 25 | 24 | anbi1d | |- ( x = y -> ( ( x e. { A } /\ [. A / x ]. ph ) <-> ( y e. { A } /\ [. A / x ]. ph ) ) ) |
| 26 | eleq1w | |- ( x = y -> ( x e. (/) <-> y e. (/) ) ) |
|
| 27 | 26 | anbi1d | |- ( x = y -> ( ( x e. (/) /\ -. [. A / x ]. ph ) <-> ( y e. (/) /\ -. [. A / x ]. ph ) ) ) |
| 28 | 25 27 | orbi12d | |- ( x = y -> ( ( ( x e. { A } /\ [. A / x ]. ph ) \/ ( x e. (/) /\ -. [. A / x ]. ph ) ) <-> ( ( y e. { A } /\ [. A / x ]. ph ) \/ ( y e. (/) /\ -. [. A / x ]. ph ) ) ) ) |
| 29 | 16 23 28 | cbvabw | |- { x | ( ( x e. { A } /\ [. A / x ]. ph ) \/ ( x e. (/) /\ -. [. A / x ]. ph ) ) } = { y | ( ( y e. { A } /\ [. A / x ]. ph ) \/ ( y e. (/) /\ -. [. A / x ]. ph ) ) } |
| 30 | 15 29 | eqtri | |- { x | ( x e. { A } /\ ph ) } = { y | ( ( y e. { A } /\ [. A / x ]. ph ) \/ ( y e. (/) /\ -. [. A / x ]. ph ) ) } |
| 31 | df-rab | |- { x e. { A } | ph } = { x | ( x e. { A } /\ ph ) } |
|
| 32 | df-if | |- if ( [. A / x ]. ph , { A } , (/) ) = { y | ( ( y e. { A } /\ [. A / x ]. ph ) \/ ( y e. (/) /\ -. [. A / x ]. ph ) ) } |
|
| 33 | 30 31 32 | 3eqtr4i | |- { x e. { A } | ph } = if ( [. A / x ]. ph , { A } , (/) ) |