The B, C, K, W
system is a variant of combinatory logic
that takes as primitive the combinators B, C, K
, and W
. This systems was discovered by Haskell Curry
in his doctoral thesis Grundlagen der kombinatorischen Logik
, whose results are set out in Curry (1930).
The combinators are defined as follows:
- B x y z = x (y z)
- C x y z = x z y
- K x y = x
- W x y = x y y
- B x y is the composition of x and y;
- C x y z interchanges the arguments y and z;
- K x y "ignores" the argument y;
- W x y duplicates the argument y.
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(KS))K);
- C = ((S((S(K((S(KS))K)))S))(KK));
- W = (SS(K(SKK))''').
Going the other direction, SKI can be defined in terms of B,C,K,W as: