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

Definition df-clab 2430
Description: Define class abstraction notation (so-called by Quine), also called a "class builder" in the literature.  x and  y need not be distinct. Definition 2.1 of [Quine] p. 16. Typically,  ph will have  y as a free variable, and " { y  |  ph } " is read "the class of all sets  y such that  ph ( y ) is true." We do not define  { y  |  ph } in isolation but only as part of an expression that extends or "overloads" the  e. relationship.

This is our first use of the 
e. symbol to connect classes instead of sets. The syntax definition wcel 1728, which extends or "overloads" the wel 1729 definition connecting set variables, requires that both sides of  e. be a class. In df-cleq 2436 and df-clel 2439, we introduce a new kind of variable (class variable) that can substituted with expressions such as  { y  | 
ph }. In the present definition, the  x on the left-hand side is a set variable. Syntax definition cv 1653 allows us to substitute a set variable  x for a class variable: all sets are classes by cvjust 2438 (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 2548 for a quick overview).

Because class variables can be substituted with compound expressions and set variables cannot, it is often useful to convert a theorem containing a free set variable to a more general version with a class variable. This is done with theorems such as vtoclg 3020 which is used, for example, to convert elirrv 7601 to elirr 7602.

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  {
y  |  ph } a "class term".

For a general discussion of the theory of classes, see http://us.metamath.org/mpeuni/mmset.html#class. (Contributed by NM, 5-Aug-1993.)

Assertion
Ref Expression
df-clab  |-  ( x  e.  { y  | 
ph }  <->  [ x  /  y ] ph )

Detailed syntax breakdown of Definition df-clab
StepHypRef Expression
1 vx . . . 4  set  x
21cv 1653 . . 3  class  x
3 wph . . . 4  wff  ph
4 vy . . . 4  set  y
53, 4cab 2429 . . 3  class  { y  |  ph }
62, 5wcel 1728 . 2  wff  x  e. 
{ y  |  ph }
73, 4, 1wsb 1660 . 2  wff  [ x  /  y ] ph
86, 7wb 178 1  wff  ( x  e.  { y  | 
ph }  <->  [ x  /  y ] ph )
Colors of variables: wff set class
This definition is referenced by:  abid  2431  hbab1  2432  hbab  2434  cvjust  2438  abbi  2553  cbvab  2561  clelab  2563  nfabd2  2597  vjust  2966  dfsbcq2  3173  sbc8g  3177  unab  3596  inab  3597  difab  3598  csbab  3687  csbabgOLD  3688  exss  4461  iotaeq  5461  abrexex2g  6024  opabex3d  6025  opabex3  6026  abrexex2  6037
  Copyright terms: Public domain W3C validator