| Metamath Proof Explorer |
< Previous
Next >
Related theorems GIF version |
| Description: Define proper
substitution. Remark 9.1 in [Megill] p. 447
(p. 15 of the
preprint). For our notation, we use [y / x]φ to mean "the wff
that results when y is properly
substituted for x in the wff
φ." We can also use
[y / x]φ in place
of the "free for"
side condition used in traditional predicate calculus; see, for example,
stdpc4 1222.
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, "φ(y) is the wff that results when y is properly substituted for x in φ(x)." For example, if the original φ(x) is x = y, then φ(y) is y = y, from which we obtain that φ(x) is x = x. So what exactly does φ(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 remarkable little formula that is exactly equivalent and gives us a single direct definition. We later prove that our definition has the properties we expect of proper substitution (see theorems sbequ 1266, sbcom2 1373 and sbid2v 1382). Note that our definition is valid even when x and y are replaced with the same variable, as sbid 1221 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 1379 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 1263. When x and y are distinct, we can express proper substitution with the simpler expressions of sb5 1306 and sb6 1305. There are no restrictions on any of the variables, including what variables may occur in wff φ. |
| Ref | Expression |
|---|---|
| df-sb | ⊢ ([y / x]φ ↔ ((x = y → φ) ⋀ ∃x(x = y ⋀ φ))) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | wph | . . 3 wff φ | |
| 2 | vx | . . 3 set x | |
| 3 | vy | . . . 4 set y | |
| 4 | 3 | cv 991 | . . 3 class y |
| 5 | 1, 2, 4 | wsbc 1207 | . 2 wff [y / x]φ |
| 6 | 2 | cv 991 | . . . . 5 class x |
| 7 | 6, 4 | wceq 992 | . . . 4 wff x = y |
| 8 | 7, 1 | wi 3 | . . 3 wff (x = y → φ) |
| 9 | 7, 1 | wa 221 | . . . 4 wff (x = y ⋀ φ) |
| 10 | 9, 2 | wex 1016 | . . 3 wff ∃x(x = y ⋀ φ) |
| 11 | 8, 10 | wa 221 | . 2 wff ((x = y → φ) ⋀ ∃x(x = y ⋀ φ)) |
| 12 | 5, 11 | wb 144 | 1 wff ([y / x]φ ↔ ((x = y → φ) ⋀ ∃x(x = y ⋀ φ))) |
| Colors of variables: wff set class |
| This definition is referenced by: sbimi 1210 drsb1 1212 sb1 1213 sb2 1214 sbequ1 1215 sbequ2 1216 sbn 1268 sb6 1305 |