ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  df-clab Unicode version

Definition df-clab 2216
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 2200, which extends or "overloads" the wel 2201 definition connecting setvar variables, requires that both sides of  e. be a class. In df-cleq 2222 and df-clel 2225, 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 setvar variable. Syntax definition cv 1394 allows us to substitute a setvar variable  x for a class variable: all sets are classes by cvjust 2224 (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 2338 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 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 https://us.metamath.org/mpeuni/mmset.html#class 2338. (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  setvar  x
21cv 1394 . . 3  class  x
3 wph . . . 4  wff  ph
4 vy . . . 4  setvar  y
53, 4cab 2215 . . 3  class  { y  |  ph }
62, 5wcel 2200 . 2  wff  x  e. 
{ y  |  ph }
73, 4, 1wsb 1808 . 2  wff  [ x  /  y ] ph
86, 7wb 105 1  wff  ( x  e.  { y  | 
ph }  <->  [ x  /  y ] ph )
Colors of variables: wff set class
This definition is referenced by:  abid  2217  hbab1  2218  hbab  2220  cvjust  2224  abbi  2343  sb8ab  2351  cbvabw  2352  cbvab  2353  clelab  2355  eqabdv  2358  nfabdw  2391  nfabd  2392  vjust  2801  dfsbcq2  3032  sbc8g  3037  csbcow  3136  csbabg  3187  unab  3472  inab  3473  difab  3474  rabeq0  3522  abeq0  3523  oprcl  3882  exss  4315  peano1  4688  peano2  4689  iotaeq  5291  nfvres  5669  abrexex2g  6275  opabex3d  6276  opabex3  6277  abrexex2  6279  modom  6987  bdab  16343  bdph  16355  bdcriota  16388
  Copyright terms: Public domain W3C validator