In recent decades, the
SKI combinator calculus, with only two primitive combinators,
K and
S, has become the canonical approach to
combinatory logic.
B, C, and
W can be expressed in terms of
S and
K as follows: •
B =
S (
K S)
K •
C =
S (
S (
K (
S (
K S)
K))
S) (
K K) •
K =
K •
W =
S S (
S K) Another way is, having defined
B as above, to further define
C =
S(
BBS)(
KK) and
W =
CSI. In fact,
S(
Kx)yz =
Bxyz and
Sx(
Ky)z =
Cxyz, as is easily verified. Going the other direction, SKI can be defined in terms of B, C, K, W as: •
I =
W K •
K =
K •
S =
B (
B (
B W)
C) (
B B) =
B (
B W) (
B B C). Also of note,
Y combinator has a short expression in this system, as
Y =
BU(
CBU) =
BU(
BWB) =
B(
W(
WK))(
BWB), where
U =
WI =
SII is the self-application combinator. Using just two combinators,
B and
W, an infinite number of fixpoint combinators can be constructed, one example being
B(
WW)(
BW(
BBB)), discovered by R. Statman in 1986. ==Connection to intuitionistic logic==