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

Definition df-clab 2219
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 2203, which extends or "overloads" the wel 2204 definition connecting setvar variables, requires that both sides of  e. be a class. In df-cleq 2225 and df-clel 2228, 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 2227 (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 2341 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 2341. (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 2218 . . 3  class  { y  |  ph }
62, 5wcel 2203 . 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  2220  hbab1  2221  hbab  2223  cvjust  2227  abbibcom  2346  abbib  2350  abbi  2351  sb8ab  2356  cbvabw  2357  cbvab  2358  clelab  2360  eqabdv  2363  nfabdw  2403  nfabd  2404  vjust  2813  dfsbcq2  3044  sbc8g  3049  csbcow  3148  csbabg  3199  unab  3487  inab  3488  difab  3489  rabeq0  3537  abeq0  3538  oprcl  3906  exss  4342  peano1  4715  peano2  4716  iotaeq  5320  nfvres  5705  abrexex2g  6312  opabex3d  6313  opabex3  6314  abrexex2  6316  modom  7060  bdab  16600  bdph  16612  bdcriota  16645
  Copyright terms: Public domain W3C validator