## Binary Lambda Calculus and Combinatory Logic.” Sep 14, 2004. http://homepages. cwi.nl/ ∼ tromp/cl/LC.pdf [64] Tadaki, K. “Upper bound by Kolmogorov complexity for the probability (2003)

### Cached

### Download Links

Venue: | in computable POVM measurement.” Proceedings of the 5th Conference on Real Numbers and Computers, RNC5 |

Citations: | 10 - 0 self |

### BibTeX

@INPROCEEDINGS{Tromp03binarylambda,

author = {John Tromp},

title = {Binary Lambda Calculus and Combinatory Logic.” Sep 14, 2004. http://homepages. cwi.nl/ ∼ tromp/cl/LC.pdf [64] Tadaki, K. “Upper bound by Kolmogorov complexity for the probability},

booktitle = {in computable POVM measurement.” Proceedings of the 5th Conference on Real Numbers and Computers, RNC5},

year = {2003},

pages = {214}

}

### OpenURL

### Abstract

In the first part, we introduce binary representations of both lambda calculus and combinatory logic terms, and demonstrate their simplicity by providing very compact parser-interpreters for these binary languages. Along the way we also present new results on list representations, bracket abstraction, and fixpoint combinators. In the second part we review Algorithmic Information Theory, for which these interpreters provide a convenient vehicle. We demonstrate this with several concrete upper bounds on program-size complexity, including an elegant self-delimiting code for binary strings. 1

### Citations

542 |
The Emperor’s New Mind
- Penrose
- 1989
(Show Context)
Citation Context ...a bitstring. This makes construction of a universal Turing machine that has to parse and interpret a finite control description quite challenging. Roger Penrose takes up this challenge in 10shis book =-=[1]-=-, at the end of Chapter 2, resulting in a universal Turing machine whose own encoding is an impressive 5495 bits in size, over 26 times that of E. The ominously named language ‘Brainfuck’ which advert... |

337 | Algorithmic Information Theory
- Chaitin
- 2004
(Show Context)
Citation Context ...o.’s. Levin stops short of exhibiting a specific universal computer though, and the abstract, almost topological, nature of algorithms in the model complicates a study of the constants achievable. In =-=[2]-=-, Gregory Chaitin paraphrases John McCarthy about his invention of LISP, as “This is a better universal Turing machine. Let’s do recursive function theory that way!” Later, Chaitin continues with “So ... |

324 | Lambda-calculus notation with nameless dummies: a tool for automatic formula manipulation with application to the Church-Rosser theorem
- Bruijn
- 1972
(Show Context)
Citation Context ...s the string 011. We represent an unterminated string, such as part of an input stream, as an open term (s : z), where the free variable z represents the remainder of input. 2.3 de Bruijn notation In =-=[12]-=-, de Bruijn proposed an alternative notation for closed lambda terms using natural numbers rather than variable names. Abstraction is simply written λM while the variable bound by the n’th enclosing λ... |

312 |
Higher-order abstract syntax
- Pfenning, Elliott
- 1988
(Show Context)
Citation Context .... Decoding such numbers is somewhat cumbersome, and not particularly efficient. In search of simpler constructions, various alternative encodings have been proposed using higher-order abstract syntax =-=[8]-=- combined with the standard lambda representation of signatures [11]. A particularly simple encoding was proposed by Mogensen [22], for which the term λm.m(λx.x)(λx.x) acts as a selfinterpreter. The p... |

205 |
The Lambda Calculus: its syntax and semantics, Revised and expanded edition
- Barendregt
- 1984
(Show Context)
Citation Context ...sic results of Algorithmic Information Theory with explicit constants. 2 Lambda Calculus We only summarize the basics here. For a comprehensive treatment we refer the reader to the standard reference =-=[18]-=-. Assume a countably infinite set of variables a, b, . . . , x, y, z, x0, x1, . . . The set of lambda terms Λ is built up from variables using abstraction and application (λx.M) (M N), where x is any ... |

118 |
An Introduction to Kolmogorov Complexity
- Li, Vitanyi
- 1997
(Show Context)
Citation Context ...ell’ [20], which is essentially typed lambda calculus with a lot of syntactic sugar. 4.3 An Invariance Theorem The following theorem is the first concrete instance of the Invariance Theorem, 2.1.1 in =-=[6]-=-. Theorem 5 Define KS ′ (x|y1, . . . , yk) and KP ′ (x|y1, . . . , yk) analogous to Definition 4 in terms of U ′ . Then KS(x) ≤ KS ′ (x) + 130 and KP (x) ≤ KP ′ (x) + 130. The proof is immediate from ... |

101 | Tackling the awkward squad: monadic input/output, concurrency, exceptions, and foreign-language calls in Haskell. Pages 47–96
- Jones, Simon
- 2001
(Show Context)
Citation Context ...e output to have prefix s. 4.2 Monadic IO The reason for preserving the remainder of input in the prefix casse is to facilitate the processing of concatenated descriptions, in the style of monadic IO =-=[19]-=-. Although a pure functional language like λ calculus cannot define functions with side effects, as traditionally used to implement IO, it can express an abstract data type representing IO actions; th... |

63 |
Reification: Reflection Without Metaphysics
- Friedman, Wand
- 1984
(Show Context)
Citation Context ...xity, including an elegant self-delimiting code for binary strings. 1 Introduction The ability to represent programs as data and to map such data back to programs (known as reification and reflection =-=[9]-=-), is of both practical use in metaprogramming [14] as well as theoretical use in computability and logic [17]. It comes as no surprise that the pure lambda calculus, which represents both programs an... |

52 |
λ-definability and recursiveness
- Kleene
- 1936
(Show Context)
Citation Context ...oretical use in computability and logic [17]. It comes as no surprise that the pure lambda calculus, which represents both programs and data as functions, is well equipped to offer these features. In =-=[7]-=-, Kleene was the first to propose an encoding of lambda terms, mapping them to Gödel numbers, which can in turn be represented as so called Church numerals. Decoding such numbers is somewhat cumbersom... |

47 | Exploring Randomness
- Chaitin
- 2001
(Show Context)
Citation Context ...76. This is the easy side of the fundamental “Symmetry of information” theorem K(x) − K(x|y ∗ ) = K(y) − K(y|x ∗ ) + O(1), which says that y contains as much information about x as x does about y. In =-=[3]-=-, Chaitin proves the same theorem using a resource bounded evaluator, which in his version of LISP comes as a primitive called ”try”. His proof is embodied in the program gamma: ((’ (lambda (loop) ((’... |

41 | Reflection in logic, functional and object-oriented programming: A short comparative study
- Demers, Malenfant
- 1995
(Show Context)
Citation Context ...r binary strings. 1 Introduction The ability to represent programs as data and to map such data back to programs (known as reification and reflection [9]), is of both practical use in metaprogramming =-=[14]-=- as well as theoretical use in computability and logic [17]. It comes as no surprise that the pure lambda calculus, which represents both programs and data as functions, is well equipped to offer thes... |

28 |
An Eternal Golden Braid, Basic
- Gödel, Bach
(Show Context)
Citation Context ...rograms as data and to map such data back to programs (known as reification and reflection [9]), is of both practical use in metaprogramming [14] as well as theoretical use in computability and logic =-=[17]-=-. It comes as no surprise that the pure lambda calculus, which represents both programs and data as functions, is well equipped to offer these features. In [7], Kleene was the first to propose an enco... |

24 |
1979b) “Another Algorithm for Bracket Abstraction
- Turner
- 1979
(Show Context)
Citation Context ...nator of size 536. A better version is λ 1 , which uses the additional rule λ 1 x. (M x) ≡ M (x �∈ M) 8swhenever possible. Now the size of F as a combinator is only 281, just over half as big. Turner =-=[23]-=- noticed that repeated use of bracket abstraction can lead to a quadratic expansion on terms such as X ≡ λa b . . . z.(a b . . . z) (a b . . . z), and proposed new combinators to avoid such behaviour.... |

21 | M-LISP: A representation-independent dialect of LISP with reduction semantics
- Muller
- 1992
(Show Context)
Citation Context ...0] amply demonstrate the efficiency of λ calculus with a linear time implementation of k-tree Turing Machines. Clear semantics should be a primary concern, and Lisp is somewhat lacking in this regard =-=[4]-=-. This paper thus develops the approach suggested but discarded by Chaitin. 4.1 Functional Complexity By providing the appropriate continuations to the interpreters that we constructed, they become un... |

9 |
On the redundancy and delay of decodable coding of natural numbers
- Levenshtein
- 1968
(Show Context)
Citation Context ...l numbers as vertices, and the set of binary strings as edges, such that the 2 n length-n strings are the edges leading from vertex n. Edge w leads from vertex |w| to w + 1, which in binary is 1w. In =-=[8]-=-, Vladimir Levenshtein defines a universal code for the natural numbers that corresponds to concatenating the edges on the path from 0 to n, prefixed with a unary encoding of the depth of vertex n in ... |

8 |
On a concrete method of assigning complexity measures. Doklady Akademii nauk SSSR
- Levin
- 1977
(Show Context)
Citation Context ...ates to 423 · log(8) = 1269 bits (the alphabet used is actually ASCII at 7 or 8 bits per symbol, but the interpreter could be redesigned to use 3-bit symbols and an alternative program delimiter). In =-=[5]-=-, Levin stresses the importance of a (descriptional complexity) measure, which, when compared with other natural measures, yields small constants, of at most a few hundred bits. His approach is based ... |

3 | What is an efficient implementation of the λ-calculus
- Frandsen, Sturtivant
- 1991
(Show Context)
Citation Context ... to λ calculus or CL that is slow; only such choices as Church numerals for arithmetic can be said to be slow, but one is free to do arithmetic in binary rather than in unary. Frandsen and Sturtivant =-=[10]-=- amply demonstrate the efficiency of λ calculus with a linear time implementation of k-tree Turing Machines. Clear semantics should be a primary concern, and Lisp is somewhat lacking in this regard [4... |

3 | 1994] Discriminating coded lambda terms
- Barendregt
(Show Context)
Citation Context ....〉〉〉. Our choice of nil allows for the processing of a possible empty list s with the expression s M N, which for s ≡ nil reduces to N, and for s ≡ 〈P, Q〉 reduces to M P Q N]. In contrast, Barendregt =-=[13]-=- chose I to represent the empty list, which requires a much more complicated list processing expression like like s (λa b c.c a b) MXN, which for s = nil reduces to N M X, and for s ≡ 〈P, Q〉 reduces t... |

1 |
Typed representation of objects by functions, TOPLAS
- Steensgaard-Madsen
- 1989
(Show Context)
Citation Context ...y efficient. In search of simpler constructions, various alternative encodings have been proposed using higher-order abstract syntax [8] combined with the standard lambda representation of signatures =-=[11]-=-. A particularly simple encoding was proposed by Mogensen [22], for which the term λm.m(λx.x)(λx.x) acts as a selfinterpreter. The prevalent data format, both in information theory and in practice, ho... |