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

Definition df-clab 2194
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 2178, which extends or "overloads" the wel 2179 definition connecting setvar variables, requires that both sides of  e. be a class. In df-cleq 2200 and df-clel 2203, 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 1372 allows us to substitute a setvar variable  x for a class variable: all sets are classes by cvjust 2202 (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 2316 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 2316. (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 1372 . . 3  class  x
3 wph . . . 4  wff  ph
4 vy . . . 4  setvar  y
53, 4cab 2193 . . 3  class  { y  |  ph }
62, 5wcel 2178 . 2  wff  x  e. 
{ y  |  ph }
73, 4, 1wsb 1786 . 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  2195  hbab1  2196  hbab  2198  cvjust  2202  abbi  2321  sb8ab  2329  cbvabw  2330  cbvab  2331  clelab  2333  eqabdv  2336  nfabdw  2369  nfabd  2370  vjust  2777  dfsbcq2  3008  sbc8g  3013  csbcow  3112  csbabg  3163  unab  3448  inab  3449  difab  3450  rabeq0  3498  abeq0  3499  oprcl  3857  exss  4289  peano1  4660  peano2  4661  iotaeq  5259  nfvres  5633  abrexex2g  6228  opabex3d  6229  opabex3  6230  abrexex2  6232  bdab  15973  bdph  15985  bdcriota  16018
  Copyright terms: Public domain W3C validator