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

Definition df-clab 2735
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 2127, which extends or "overloads" the wel 2128 definition connecting setvar variables, requires that both sides of be classes. In df-cleq 2741 and df-clel 2744, 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 1619 allows us to substitute a setvar variable 𝑥 for a class variable: all sets are classes by cvjust 2743 (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 2858 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 3394 which is used, for example, to convert elirrv 8654 to elirr 8655.

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 2735, df-cleq 2741, and df-clel 2744 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 1619 . . 3 class 𝑥
3 wph . . . 4 wff 𝜑
4 vy . . . 4 setvar 𝑦
53, 4cab 2734 . . 3 class {𝑦𝜑}
62, 5wcel 2127 . 2 wff 𝑥 ∈ {𝑦𝜑}
73, 4, 1wsb 2034 . 2 wff [𝑥 / 𝑦]𝜑
86, 7wb 196 1 wff (𝑥 ∈ {𝑦𝜑} ↔ [𝑥 / 𝑦]𝜑)
Colors of variables: wff setvar class
This definition is referenced by:  abid  2736  hbab1  2737  hbab  2739  cvjust  2743  cbvab  2872  clelab  2874  nfabd2  2910  vjust  3329  abv  3334  dfsbcq2  3567  sbc8g  3572  unab  4025  inab  4026  difab  4027  csbab  4139  exss  5068  iotaeq  6008  abrexex2g  7297  opabex3d  7298  opabex3  7299  abrexex2OLD  7303  bj-hbab1  33048  bj-abbi  33052  bj-vjust  33063  eliminable1  33117  bj-cleljustab  33124  bj-vexwt  33131  bj-vexwvt  33133  bj-ab0  33179  bj-snsetex  33228  bj-vjust2  33292  csbabgOLD  39521
  Copyright terms: Public domain W3C validator