This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: Theorem scheme version of scott0 . The collection of all x of minimum rank such that ph ( x ) is true, is not empty iff there is an x such that ph ( x ) holds. (Contributed by NM, 13-Oct-2003)
| Ref | Expression | ||
|---|---|---|---|
| Assertion | scott0s | |- ( E. x ph <-> { x | ( ph /\ A. y ( [. y / x ]. ph -> ( rank ` x ) C_ ( rank ` y ) ) ) } =/= (/) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | abn0 | |- ( { x | ph } =/= (/) <-> E. x ph ) |
|
| 2 | scott0 | |- ( { x | ph } = (/) <-> { z e. { x | ph } | A. y e. { x | ph } ( rank ` z ) C_ ( rank ` y ) } = (/) ) |
|
| 3 | nfcv | |- F/_ z { x | ph } |
|
| 4 | nfab1 | |- F/_ x { x | ph } |
|
| 5 | nfv | |- F/ x ( rank ` z ) C_ ( rank ` y ) |
|
| 6 | 4 5 | nfralw | |- F/ x A. y e. { x | ph } ( rank ` z ) C_ ( rank ` y ) |
| 7 | nfv | |- F/ z A. y e. { x | ph } ( rank ` x ) C_ ( rank ` y ) |
|
| 8 | fveq2 | |- ( z = x -> ( rank ` z ) = ( rank ` x ) ) |
|
| 9 | 8 | sseq1d | |- ( z = x -> ( ( rank ` z ) C_ ( rank ` y ) <-> ( rank ` x ) C_ ( rank ` y ) ) ) |
| 10 | 9 | ralbidv | |- ( z = x -> ( A. y e. { x | ph } ( rank ` z ) C_ ( rank ` y ) <-> A. y e. { x | ph } ( rank ` x ) C_ ( rank ` y ) ) ) |
| 11 | 3 4 6 7 10 | cbvrabw | |- { z e. { x | ph } | A. y e. { x | ph } ( rank ` z ) C_ ( rank ` y ) } = { x e. { x | ph } | A. y e. { x | ph } ( rank ` x ) C_ ( rank ` y ) } |
| 12 | df-rab | |- { x e. { x | ph } | A. y e. { x | ph } ( rank ` x ) C_ ( rank ` y ) } = { x | ( x e. { x | ph } /\ A. y e. { x | ph } ( rank ` x ) C_ ( rank ` y ) ) } |
|
| 13 | abid | |- ( x e. { x | ph } <-> ph ) |
|
| 14 | df-ral | |- ( A. y e. { x | ph } ( rank ` x ) C_ ( rank ` y ) <-> A. y ( y e. { x | ph } -> ( rank ` x ) C_ ( rank ` y ) ) ) |
|
| 15 | df-sbc | |- ( [. y / x ]. ph <-> y e. { x | ph } ) |
|
| 16 | 15 | imbi1i | |- ( ( [. y / x ]. ph -> ( rank ` x ) C_ ( rank ` y ) ) <-> ( y e. { x | ph } -> ( rank ` x ) C_ ( rank ` y ) ) ) |
| 17 | 16 | albii | |- ( A. y ( [. y / x ]. ph -> ( rank ` x ) C_ ( rank ` y ) ) <-> A. y ( y e. { x | ph } -> ( rank ` x ) C_ ( rank ` y ) ) ) |
| 18 | 14 17 | bitr4i | |- ( A. y e. { x | ph } ( rank ` x ) C_ ( rank ` y ) <-> A. y ( [. y / x ]. ph -> ( rank ` x ) C_ ( rank ` y ) ) ) |
| 19 | 13 18 | anbi12i | |- ( ( x e. { x | ph } /\ A. y e. { x | ph } ( rank ` x ) C_ ( rank ` y ) ) <-> ( ph /\ A. y ( [. y / x ]. ph -> ( rank ` x ) C_ ( rank ` y ) ) ) ) |
| 20 | 19 | abbii | |- { x | ( x e. { x | ph } /\ A. y e. { x | ph } ( rank ` x ) C_ ( rank ` y ) ) } = { x | ( ph /\ A. y ( [. y / x ]. ph -> ( rank ` x ) C_ ( rank ` y ) ) ) } |
| 21 | 11 12 20 | 3eqtri | |- { z e. { x | ph } | A. y e. { x | ph } ( rank ` z ) C_ ( rank ` y ) } = { x | ( ph /\ A. y ( [. y / x ]. ph -> ( rank ` x ) C_ ( rank ` y ) ) ) } |
| 22 | 21 | eqeq1i | |- ( { z e. { x | ph } | A. y e. { x | ph } ( rank ` z ) C_ ( rank ` y ) } = (/) <-> { x | ( ph /\ A. y ( [. y / x ]. ph -> ( rank ` x ) C_ ( rank ` y ) ) ) } = (/) ) |
| 23 | 2 22 | bitri | |- ( { x | ph } = (/) <-> { x | ( ph /\ A. y ( [. y / x ]. ph -> ( rank ` x ) C_ ( rank ` y ) ) ) } = (/) ) |
| 24 | 23 | necon3bii | |- ( { x | ph } =/= (/) <-> { x | ( ph /\ A. y ( [. y / x ]. ph -> ( rank ` x ) C_ ( rank ` y ) ) ) } =/= (/) ) |
| 25 | 1 24 | bitr3i | |- ( E. x ph <-> { x | ( ph /\ A. y ( [. y / x ]. ph -> ( rank ` x ) C_ ( rank ` y ) ) ) } =/= (/) ) |