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

Definition df-clab 2221
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 2205, which extends or "overloads" the wel 2206 definition connecting setvar variables, requires that both sides of  e. be a class. In df-cleq 2227 and df-clel 2230, 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 1397 allows us to substitute a setvar variable  x for a class variable: all sets are classes by cvjust 2229 (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 2343 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 2343. (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 1397 . . 3  class  x
3 wph . . . 4  wff  ph
4 vy . . . 4  setvar  y
53, 4cab 2220 . . 3  class  { y  |  ph }
62, 5wcel 2205 . 2  wff  x  e. 
{ y  |  ph }
73, 4, 1wsb 1811 . 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  2222  hbab1  2223  hbab  2225  cvjust  2229  abbibcom  2348  abbib  2352  abbi  2353  sb8ab  2358  cbvabw  2359  cbvab  2360  clelab  2362  eqabdv  2365  nfabdw  2405  nfabd  2406  vjust  2816  dfsbcq2  3048  sbc8g  3053  csbcow  3152  csbabg  3203  unab  3492  inab  3493  difab  3494  rabeq0  3542  abeq0  3543  oprcl  3912  exss  4348  peano1  4721  peano2  4722  iotaeq  5326  nfvres  5711  abrexex2g  6322  opabex3d  6323  opabex3  6324  abrexex2  6326  modom  7074  bdab  16734  bdph  16746  bdcriota  16779
  Copyright terms: Public domain W3C validator