# B, C, K, W system

The B, C, K, W system is a variant of combinatory logic that takes as primitive the combinators B, C, K, and W. This system was discovered by Haskell Curry in his doctoral thesis Grundlagen der kombinatorischen Logik, whose results are set out in Curry (1930).

## Definition

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

Intuitively,

• B x y z is the composition of the arguments x and y applied to the argument z;
• C x y z swaps the arguments y and z;
• K x y discards the argument y;
• W x y duplicates the argument y.

## Connection to other combinators

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)

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).

## Connection to intuitionistic logic

The combinators B, C, K and W correspond to four well-known axioms of sentential logic:

AB: (BC) → ((AB) → (AC)),
AC: (A → (BC)) → (B → (AC)),
AK: A → (BA),
AW: (A → (AB)) → (AB).

Function application corresponds to the rule modus ponens:

MP: from A and AB infer B.

The axioms AB, AC, AK and AW, and the rule MP are complete for the implicational fragment of intuitionistic logic. In order for combinatory logic to have as a model: