-
I x → x
- Identity function
-
K x y → x
- Constant functions
-
S x y z → (x z) (y z)
- Generalized function application
-
Loop
(S I I) (S I I)
(S I I) (S I I) → (I (S I I)) (I (S I I)) →(S I I) (I (S I I)) → (S I I) (S I I)
-
Recursion
x = S (K f) (S I I)
S I I x → * x x = S (K f) (S I I) x → ((K f) x) ((S I I) x) → * f (x x) → * f (f (x x))
-
Consider a function equation of one variable:
- If we apply function to argument , the result is
-
We want a combinator that implements
- Therefore
- And doesn’t use
- We say we abstract with respect to
- if does not appear in
-
Note is not a combinator
- It is a (recursively defined) mapping from expressions with variables to combinators