Description: Proposed definition to replace df-sb and df-sbc . Proof is therefore unimportant. Contrary to df-sb , this definition makes a substituted formula false when one substitutes a non-existent object for a variable. This is better suited to the "Levy-style" treatment of classes as virtual objects adopted by set.mm. Indeed, in most set theories, and in particular in this database, one wants to be able to collect the extension of a formula, so it is natural that the extension of a formula contain only sets, and not proper classes. This is illustrated by the fact that bj-dfsbc holds unconditionally. That statement could therefore replace df-clab .
This definition is equivalent to df-sb when a setvar is substituted for the class, since, as soon as, ax6ev is posited, all variables "exist". (Contributed by BJ, 19-Feb-2026)
| Ref | Expression | ||
|---|---|---|---|
| Assertion | bj-df-sb | |- ( [. A / x ]. ph <-> E. y ( y = A /\ A. x ( x = y -> ph ) ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | sbc7 | |- ( [. A / x ]. ph <-> E. y ( y = A /\ [. y / x ]. ph ) ) |
|
| 2 | sbsbc | |- ( [ y / x ] ph <-> [. y / x ]. ph ) |
|
| 3 | sb6 | |- ( [ y / x ] ph <-> A. x ( x = y -> ph ) ) |
|
| 4 | 2 3 | bitr3i | |- ( [. y / x ]. ph <-> A. x ( x = y -> ph ) ) |
| 5 | 4 | anbi2i | |- ( ( y = A /\ [. y / x ]. ph ) <-> ( y = A /\ A. x ( x = y -> ph ) ) ) |
| 6 | 5 | exbii | |- ( E. y ( y = A /\ [. y / x ]. ph ) <-> E. y ( y = A /\ A. x ( x = y -> ph ) ) ) |
| 7 | 1 6 | bitri | |- ( [. A / x ]. ph <-> E. y ( y = A /\ A. x ( x = y -> ph ) ) ) |