Contents
Binary combinatory logic
Binary combinatory logic (BCL) is a computer programming language that uses binary terms 0 and 1 to create a complete formulation of combinatory logic using only the symbols 0 and 1. Using the S and K combinators, complex boolean algebra functions can be made. BCL has applications in the theory of program-size complexity (Kolmogorov complexity).
Definition
S-K Basis
Utilizing K and S combinators of the Combinatory logic, logical functions can be represented in as functions of combinators:
Syntax
Semantics
The denotational semantics of BCL may be specified as follows: where " " abbreviates "the meaning of ". Here and are the KS-basis combinators, and is the application operation, of combinatory logic. (The prefix corresponds to a left parenthesis, right parentheses being unnecessary for disambiguation.) Thus there are four equivalent formulations of BCL, depending on the manner of encoding the triplet (K, S, left parenthesis). These are (as in the present version), , , and. The operational semantics of BCL, apart from eta-reduction (which is not required for Turing completeness), may be very compactly specified by the following rewriting rules for subterms of a given term, parsing from the left: where, , and are arbitrary subterms. (Note, for example, that because parsing is from the left, is not a subterm of .) BCL can be used to replicate algorithms like Turing machines and Cellular automata, BCL is Turing complete.
This article is derived from Wikipedia and licensed under CC BY-SA 4.0. View the original article.
Wikipedia® is a registered trademark of the
Wikimedia Foundation, Inc.
Bliptext is not
affiliated with or endorsed by Wikipedia or the
Wikimedia Foundation.