Metamath Proof Explorer < Previous   Next > Nearby theorems Mirrors  >  Home  >  MPE Home  >  Th. List  >  df-clab Structured version   Visualization version   GIF version

Definition df-clab 2597
 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 1977, which extends or "overloads" the wel 1978 definition connecting setvar variables, requires that both sides of ∈ be classes. In df-cleq 2603 and df-clel 2606, 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 1474 allows us to substitute a setvar variable 𝑥 for a class variable: all sets are classes by cvjust 2605 (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 2719 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 3239 which is used, for example, to convert elirrv 8387 to elirr 8388. 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 2597, df-cleq 2603, and df-clel 2606 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.)
Assertion
Ref Expression
df-clab (𝑥 ∈ {𝑦𝜑} ↔ [𝑥 / 𝑦]𝜑)

Detailed syntax breakdown of Definition df-clab
StepHypRef Expression
1 vx . . . 4 setvar 𝑥
21cv 1474 . . 3 class 𝑥
3 wph . . . 4 wff 𝜑
4 vy . . . 4 setvar 𝑦
53, 4cab 2596 . . 3 class {𝑦𝜑}
62, 5wcel 1977 . 2 wff 𝑥 ∈ {𝑦𝜑}
73, 4, 1wsb 1867 . 2 wff [𝑥 / 𝑦]𝜑
86, 7wb 195 1 wff (𝑥 ∈ {𝑦𝜑} ↔ [𝑥 / 𝑦]𝜑)
 Colors of variables: wff setvar class This definition is referenced by:  abid  2598  hbab1  2599  hbab  2601  cvjust  2605  cbvab  2733  clelab  2735  nfabd2  2770  vjust  3174  abv  3179  dfsbcq2  3405  sbc8g  3410  unab  3853  inab  3854  difab  3855  csbab  3960  exss  4858  iotaeq  5776  abrexex2g  7036  opabex3d  7037  opabex3  7038  abrexex2  7040  bj-hbab1  31959  bj-abbi  31963  bj-vjust  31974  eliminable1  32033  bj-vexwt  32048  bj-vexwvt  32050  bj-ab0  32094  bj-snsetex  32144  bj-vjust2  32206  csbabgOLD  38072
 Copyright terms: Public domain W3C validator