Metamath Proof Explorer |
< Previous
Next >
Nearby theorems |
||
Mirrors > Home > MPE Home > Th. List > df-clab | Structured version Visualization version GIF version |
Description: Define class abstraction
notation (so-called by Quine), also called a
"class builder" in the literature. 𝑥 and 𝑦 need
not be distinct.
Definition 2.1 of [Quine] p. 16.
Typically, 𝜑 will have 𝑦 as a
free variable, and "{𝑦 ∣ 𝜑} " is read "the class of
all sets 𝑦
such that 𝜑(𝑦) is true." We do not define
{𝑦 ∣
𝜑} in
isolation but only as part of an expression that extends or
"overloads"
the ∈ relationship.
This is our first use of the ∈ symbol to connect classes instead of sets. The syntax definition wcel 1988, which extends or "overloads" the wel 1989 definition connecting setvar variables, requires that both sides of ∈ be classes. In df-cleq 2613 and df-clel 2616, we introduce a new kind of variable (class variable) that can be substituted with expressions such as {𝑦 ∣ 𝜑}. In the present definition, the 𝑥 on the left-hand side is a setvar variable. Syntax definition cv 1480 allows us to substitute a setvar variable 𝑥 for a class variable: all sets are classes by cvjust 2615 (but not necessarily vice-versa). For a full description of how classes are introduced and how to recover the primitive language, see the discussion in Quine (and under abeq2 2730 for a quick overview). Because class variables can be substituted with compound expressions and setvar variables cannot, it is often useful to convert a theorem containing a free setvar variable to a more general version with a class variable. This is done with theorems such as vtoclg 3261 which is used, for example, to convert elirrv 8489 to elirr 8490. This is called the "axiom of class comprehension" by [Levy] p. 338, who treats the theory of classes as an extralogical extension to our logic and set theory axioms. He calls the construction {𝑦 ∣ 𝜑} a "class term". While the three class definitions df-clab 2607, df-cleq 2613, and df-clel 2616 are eliminable and conservative and thus meet the requirements for sound definitions, they are technically axioms in that they do not satisfy the requirements for the current definition checker. The proofs of conservativity require external justification that is beyond the scope of the definition checker. For a general discussion of the theory of classes, see mmset.html#class. (Contributed by NM, 26-May-1993.) |
Ref | Expression |
---|---|
df-clab | ⊢ (𝑥 ∈ {𝑦 ∣ 𝜑} ↔ [𝑥 / 𝑦]𝜑) |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | vx | . . . 4 setvar 𝑥 | |
2 | 1 | cv 1480 | . . 3 class 𝑥 |
3 | wph | . . . 4 wff 𝜑 | |
4 | vy | . . . 4 setvar 𝑦 | |
5 | 3, 4 | cab 2606 | . . 3 class {𝑦 ∣ 𝜑} |
6 | 2, 5 | wcel 1988 | . 2 wff 𝑥 ∈ {𝑦 ∣ 𝜑} |
7 | 3, 4, 1 | wsb 1878 | . 2 wff [𝑥 / 𝑦]𝜑 |
8 | 6, 7 | wb 196 | 1 wff (𝑥 ∈ {𝑦 ∣ 𝜑} ↔ [𝑥 / 𝑦]𝜑) |
Colors of variables: wff setvar class |
This definition is referenced by: abid 2608 hbab1 2609 hbab 2611 cvjust 2615 cbvab 2744 clelab 2746 nfabd2 2781 vjust 3196 abv 3201 dfsbcq2 3432 sbc8g 3437 unab 3886 inab 3887 difab 3888 csbab 3999 exss 4922 iotaeq 5847 abrexex2g 7129 opabex3d 7130 opabex3 7131 abrexex2OLD 7135 bj-hbab1 32746 bj-abbi 32750 bj-vjust 32761 eliminable1 32815 bj-cleljustab 32822 bj-vexwt 32829 bj-vexwvt 32831 bj-ab0 32877 bj-snsetex 32926 bj-vjust2 32990 csbabgOLD 38870 |
Copyright terms: Public domain | W3C validator |