Jump to content

Binary combinatory logic

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by R.e.s. (talk | contribs) at 23:52, 23 July 2005 (Binary Combinatory Logic (new page)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

Binary Combinatory Logic (BCL) is a complete formulation of combinatory logic (CL) using only the symbols 0 and 1 together with two term-rewriting rules. BCL has applications in complexity theory.

Definition

Syntax

  • <term> ::= 00 | 01 | 1 <term> <term>

Semantics

Given any term, the following two rewriting rules are to be applied (in any order) until neither applies:

  • 1100xy --> x
  • 11101xyz --> 11xz1yz

where x, y, and z are arbitrary terms.

The terms 00 and 01 correspond, respectively, to the K and S basis combinators of CL, and the prefix '1' acts as a left parenthesis (which is sufficient for disambiguation in a CL expression).

Alternative equivalent formulations may exchange the rôles of 0 and 1 in the syntax and/or in the rewriting rules.

See also

  • Iota and Jot -- languages that are similar to BCL, but are more complicated due to unstated λ-calculus syntax and semantics.