![]() |
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 2145, which extends or "overloads" the wel 2146 definition connecting setvar variables, requires that both sides of ∈ be classes. In df-cleq 2764 and df-clel 2767, 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 1630 allows us to substitute a setvar variable 𝑥 for a class variable: all sets are classes by cvjust 2766 (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 2881 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 3417 which is used, for example, to convert elirrv 8660 to elirr 8661. 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 2758, df-cleq 2764, and df-clel 2767 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 1630 | . . 3 class 𝑥 |
3 | wph | . . . 4 wff 𝜑 | |
4 | vy | . . . 4 setvar 𝑦 | |
5 | 3, 4 | cab 2757 | . . 3 class {𝑦 ∣ 𝜑} |
6 | 2, 5 | wcel 2145 | . 2 wff 𝑥 ∈ {𝑦 ∣ 𝜑} |
7 | 3, 4, 1 | wsb 2049 | . 2 wff [𝑥 / 𝑦]𝜑 |
8 | 6, 7 | wb 196 | 1 wff (𝑥 ∈ {𝑦 ∣ 𝜑} ↔ [𝑥 / 𝑦]𝜑) |
Colors of variables: wff setvar class |
This definition is referenced by: abid 2759 hbab1 2760 hbab 2762 cvjust 2766 cbvab 2895 clelab 2897 nfabd2 2933 vjust 3352 abv 3358 dfsbcq2 3590 sbc8g 3595 unab 4042 inab 4043 difab 4044 csbab 4153 exss 5060 iotaeq 6001 abrexex2g 7294 opabex3d 7295 opabex3 7296 abrexex2OLD 7300 bj-hbab1 33106 bj-abbi 33110 bj-vjust 33121 eliminable1 33173 bj-cleljustab 33180 bj-vexwt 33182 bj-vexwvt 33184 bj-ab0 33230 bj-snsetex 33281 bj-vjust2 33345 csbabgOLD 39575 |
Copyright terms: Public domain | W3C validator |