MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  df-sb Structured version   Unicode version

Definition df-sb 1660
Description: Define proper substitution. Remark 9.1 in [Megill] p. 447 (p. 15 of the preprint). For our notation, we use  [ y  /  x ] ph to mean "the wff that results from the proper substitution of  y for  x in the wff  ph." We can also use  [ y  /  x ] ph in place of the "free for" side condition used in traditional predicate calculus; see, for example, stdpc4 2092.

Our notation was introduced in Haskell B. Curry's Foundations of Mathematical Logic (1977), p. 316 and is frequently used in textbooks of lambda calculus and combinatory logic. This notation improves the common but ambiguous notation, " ph ( y ) is the wff that results when  y is properly substituted for  x in  ph ( x )." For example, if the original  ph ( x ) is  x  =  y, then  ph ( y ) is  y  =  y, from which we obtain that  ph ( x ) is  x  =  x. So what exactly does  ph ( x ) mean? Curry's notation solves this problem.

In most books, proper substitution has a somewhat complicated recursive definition with multiple cases based on the occurrences of free and bound variables in the wff. Instead, we use a single formula that is exactly equivalent and gives us a direct definition. We later prove that our definition has the properties we expect of proper substitution (see theorems sbequ 2113, sbcom2 2192 and sbid2v 2202).

Note that our definition is valid even when  x and  y are replaced with the same variable, as sbid 1948 shows. We achieve this by having  x free in the first conjunct and bound in the second. We can also achieve this by using a dummy variable, as the alternate definition dfsb7 2200 shows (which some logicians may prefer because it doesn't mix free and bound variables). Another version that mixes free and bound variables is dfsb3 2111. When  x and  y are distinct, we can express proper substitution with the simpler expressions of sb5 2178 and sb6 2177.

There are no restrictions on any of the variables, including what variables may occur in wff 
ph. (Contributed by NM, 5-Aug-1993.)

Assertion
Ref Expression
df-sb  |-  ( [ y  /  x ] ph 
<->  ( ( x  =  y  ->  ph )  /\  E. x ( x  =  y  /\  ph )
) )

Detailed syntax breakdown of Definition df-sb
StepHypRef Expression
1 wph . . 3  wff  ph
2 vx . . 3  set  x
3 vy . . 3  set  y
41, 2, 3wsb 1659 . 2  wff  [ y  /  x ] ph
52, 3weq 1654 . . . 4  wff  x  =  y
65, 1wi 4 . . 3  wff  ( x  =  y  ->  ph )
75, 1wa 360 . . . 4  wff  ( x  =  y  /\  ph )
87, 2wex 1551 . . 3  wff  E. x
( x  =  y  /\  ph )
96, 8wa 360 . 2  wff  ( ( x  =  y  ->  ph )  /\  E. x
( x  =  y  /\  ph ) )
104, 9wb 178 1  wff  ( [ y  /  x ] ph 
<->  ( ( x  =  y  ->  ph )  /\  E. x ( x  =  y  /\  ph )
) )
Colors of variables: wff set class
This definition is referenced by:  sbequ2  1661  sbequ2OLD  1662  sb1  1663  sbimi  1665  sbequ1  1944  sb2  2091  drsb1  2114  sbn  2132  sbnOLD  2133  sb6  2177  subsym1  26182  wl-sbequ8  26241  wl-sbrim  26242  drsb1NEW7  29579  sb2NEW7  29610  sbnNEW7  29635  sb6NEW7  29670
  Copyright terms: Public domain W3C validator