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

Definition df-clab 2196
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 2180, which extends or "overloads" the wel 2181 definition connecting setvar variables, requires that both sides of  e. be a class. In df-cleq 2202 and df-clel 2205, 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 1374 allows us to substitute a setvar variable  x for a class variable: all sets are classes by cvjust 2204 (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 2318 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 2318. (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 1374 . . 3  class  x
3 wph . . . 4  wff  ph
4 vy . . . 4  setvar  y
53, 4cab 2195 . . 3  class  { y  |  ph }
62, 5wcel 2180 . 2  wff  x  e. 
{ y  |  ph }
73, 4, 1wsb 1788 . 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  2197  hbab1  2198  hbab  2200  cvjust  2204  abbi  2323  sb8ab  2331  cbvabw  2332  cbvab  2333  clelab  2335  eqabdv  2338  nfabdw  2371  nfabd  2372  vjust  2780  dfsbcq2  3011  sbc8g  3016  csbcow  3115  csbabg  3166  unab  3451  inab  3452  difab  3453  rabeq0  3501  abeq0  3502  oprcl  3860  exss  4292  peano1  4663  peano2  4664  iotaeq  5263  nfvres  5637  abrexex2g  6235  opabex3d  6236  opabex3  6237  abrexex2  6239  bdab  16111  bdph  16123  bdcriota  16156
  Copyright terms: Public domain W3C validator