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

Definition df-clab 2152
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 2136, which extends or "overloads" the wel 2137 definition connecting setvar variables, requires that both sides of  e. be a class. In df-cleq 2158 and df-clel 2161, 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 1342 allows us to substitute a setvar variable  x for a class variable: all sets are classes by cvjust 2160 (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 2275 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 2275. (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 1342 . . 3  class  x
3 wph . . . 4  wff  ph
4 vy . . . 4  setvar  y
53, 4cab 2151 . . 3  class  { y  |  ph }
62, 5wcel 2136 . 2  wff  x  e. 
{ y  |  ph }
73, 4, 1wsb 1750 . 2  wff  [ x  /  y ] ph
86, 7wb 104 1  wff  ( x  e.  { y  | 
ph }  <->  [ x  /  y ] ph )
Colors of variables: wff set class
This definition is referenced by:  abid  2153  hbab1  2154  hbab  2156  cvjust  2160  abbi  2280  sb8ab  2288  cbvabw  2289  cbvab  2290  clelab  2292  nfabdw  2327  nfabd  2328  vjust  2727  dfsbcq2  2954  sbc8g  2958  csbcow  3056  csbabg  3106  unab  3389  inab  3390  difab  3391  rabeq0  3438  abeq0  3439  oprcl  3782  exss  4205  peano1  4571  peano2  4572  iotaeq  5161  nfvres  5519  abrexex2g  6088  opabex3d  6089  opabex3  6090  abrexex2  6092  bdab  13730  bdph  13742  bdcriota  13775
  Copyright terms: Public domain W3C validator