Skip to main content
    • Aa
    • Aa

Normal-order reduction grammars*


We present an algorithm which, for given n, generates an unambiguous regular tree grammar defining the set of combinatory logic terms, over the set {S, K} of primitive combinators, requiring exactly n normal-order reduction steps to normalize. As a consequence of Curry and Feys's standardization theorem, our reduction grammars form a complete syntactic characterization of normalizing combinatory logic terms. Using them, we provide a recursive method of constructing ordinary generating functions counting the number of SK-combinators reducing in n normal-order reduction steps. Finally, we investigate the size of generated grammars giving a primitive recursive upper bound.

Hide All

This work was partially supported within the Polish National Science Center grant 2013/11/B/ST6/00975.

Linked references
Hide All

This list contains references from the content that can be linked to their source. For a full set of references and notes please see the PDF or HTML where available.

A. Bernadet & S. J. Lengrand (2013) Non-idempotent intersection types and strong normalisation. Log. Methods Comput. Sci. 9 (4), 146.

H. B. Curry (1930) Grundlagen der kombinatorischen Logik. Am. J. Math. 52 (3), 509536.

H. B. Curry & R. Feys (1958) Combinatory Logic, vol. 1. Amsterdam: North Holland.

R. David , K. Grygiel , J. Kozik , Raffalli, C., Theyssier, G. & M. Zaionc (2013) Asymptotically almost all λ-terms are strongly normalizing. Log. Methods Comput. Sci. 9 (1), 130.

P. Duchon , P. Flajolet , G. Louchard , & G. Schaeffer (2004) Boltzmann samplers for the random generation of combinatorial structures. Comb. Probab. Comput. 13, 2004.

P. Flajolet & R. Sedgewick (2009) Analytic Combinatorics, 1 edn. New York, NY, USA: Cambridge University Press.

K. Grygiel & P. Lescanne (2013) Counting and generating lambda terms. J. Funct. Program. 23 (5), 594628.

K. Grygiel & P. Lescanne (2015) Counting and generating terms in the binary lambda calculus. J. Funct. Program. 25, e24 (25 pages).

M. Schönfinkel (1924) Über die Bausteine der mathematischen Logik. Math. Ann. 92 (3), 305316.

D. Turner (1986) An overview of Miranda. SIGPLAN Not. 21 (12), 158166.

Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Journal of Functional Programming
  • ISSN: 0956-7968
  • EISSN: 1469-7653
  • URL: /core/journals/journal-of-functional-programming
Please enter your name
Please enter a valid email address
Who would you like to send this to? *


Full text views

Total number of HTML views: 0
Total number of PDF views: 27 *
Loading metrics...

Abstract views

Total abstract views: 177 *
Loading metrics...

* Views captured on Cambridge Core between 17th January 2017 - 24th June 2017. This data will be updated every 24 hours.