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

Definition df-clab 2607
 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.)
Assertion
Ref Expression
df-clab (𝑥 ∈ {𝑦𝜑} ↔ [𝑥 / 𝑦]𝜑)

Detailed syntax breakdown of Definition df-clab
StepHypRef Expression
1 vx . . . 4 setvar 𝑥
21cv 1480 . . 3 class 𝑥
3 wph . . . 4 wff 𝜑
4 vy . . . 4 setvar 𝑦
53, 4cab 2606 . . 3 class {𝑦𝜑}
62, 5wcel 1988 . 2 wff 𝑥 ∈ {𝑦𝜑}
73, 4, 1wsb 1878 . 2 wff [𝑥 / 𝑦]𝜑
86, 7wb 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