Abstract
Higher-order recursive schemes are an interesting method of approximating program semantics. The semantics of a scheme is an infinite tree labeled with built-in constants. This tree represents the meaning of the program up to the meaning of built-in constants. It is much easier to reason about properties of such trees than properties of interpreted programs. Moreover some interesting properties of programs are already expressible on the level of these trees.
Collapsible pushdown automata (CPDA) give another way of generating the same class of trees. We present a relatively simple translation from recursive schemes to CPDA using Krivine machines as an intermediate step. The later are general machines for describing computation of the weak head normal form in the lambda-calculus. They provide the notions of closure and environment that facilitate reasoning about computation.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Aehlig, K., de Miranda, J.G., Ong, C.-H.L.: The Monadic Second Order Theory of Trees Given by Arbitrary Level-Two Recursion Schemes Is Decidable. In: Urzyczyn, P. (ed.) TLCA 2005. LNCS, vol. 3461, pp. 39–54. Springer, Heidelberg (2005)
Aho, A.: Indexed grammars – an extension of context-free grammars. J. ACM 15(4), 647–671 (1968)
Barendregt, H.: The type free lambda calculus. In: Barwise, J. (ed.) Handbook of Mathematical Logic, ch. D.7, pp. 1091–1132. North Holland (1977)
Barendregt, H.: The Lambda Calculus, Its Syntax and Semantics. Studies in Logic and the Foundations of Mathematics, vol. 103. Elsevier (1985)
Barendregt, H., Klop, J.W.: Applications of infinitary lambda calculus. Inf. Comput. 207(5), 559–582 (2009)
Carayol, A., Serre, O.: Collapsible pushdown automata and labeled recursion schemes equivalence, safety and effective selection. In: LICS, pp. 165–174 (2012)
Carayol, A., Wöhrle, S.: The Caucal Hierarchy of Infinite Graphs in Terms of Logic and Higher-Order Pushdown Automata. In: Pandya, P.K., Radhakrishnan, J. (eds.) FSTTCS 2003. LNCS, vol. 2914, pp. 112–123. Springer, Heidelberg (2003)
Caucal, D.: On Infinite Terms Having a Decidable Monadic Theory. In: Diks, K., Rytter, W. (eds.) MFCS 2002. LNCS, vol. 2420, pp. 165–176. Springer, Heidelberg (2002)
Damm, W.: The IO– and OI–hierarchies. Theoretical Computer Science 20(2), 95–208 (1982)
Dezani-Ciancaglini, M., Giovannetti, E., de’ Liguoro, U.: Intersection Types, Lambda-models and Böhm Trees. In: MSJ-Memoir. Theories of Types and Proofs, vol. 2, pp. 45–97. Mathematical Society of Japan (1998)
Hague, M., Murawski, A.S., Ong, C.-H.L., Serre, O.: Collapsible pushdown automata and recursion schemes. In: LICS 2008, pp. 452–461. IEEE Computer Society (2008)
Ianov, Y.: The logical schemes of algorithms. In: Problems of Cybernetics I, pp. 82–140. Pergamon, Oxford (1969)
Indermark, K.: Schemes with Recursion on Higher Types. In: Mazurkiewicz, A. (ed.) MFCS 1976. LNCS, vol. 45, pp. 352–358. Springer, Heidelberg (1976)
Kfoury, A., Urzyczyn, P.: Finitely typed functional programs, Part II: comparisons to imperative languages. Technical report, Boston University (1988)
Knapik, T., Niwiński, D., Urzyczyn, P.: Higher-Order Pushdown Trees Are Easy. In: Nielsen, M., Engberg, U. (eds.) FOSSACS 2002. LNCS, vol. 2303, pp. 205–222. Springer, Heidelberg (2002)
Knapik, T., Niwiński, D., Urzyczyn, P., Walukiewicz, I.: Unsafe Grammars and Panic Automata. In: Caires, L., Italiano, G.F., Monteiro, L., Palamidessi, C., Yung, M. (eds.) ICALP 2005. LNCS, vol. 3580, pp. 1450–1461. Springer, Heidelberg (2005)
Kobayashi, N.: Types and higher-order recursion schemes for verification of higher-order programs. In: POPL 2009, pp. 416–428. ACM (2009)
Krivine, J.-L.: A call-by-name lambda-calculus machine. Higher-Order and Symbolic Computation 20(3), 199–207 (2007)
Maslov, A.: The hierarchy of indexed languages of an arbitrary level. Soviet Math. Doklady 15, 1170–1174 (1974)
Maslov, A.: Multilevel stack automata. Problems of Information Transmission 12, 38–43 (1976)
Milner, R.: Models of LCF. Memo AIM-186. Stanford University (1973)
Ong, C.-H.L.: On model-checking trees generated by higher-order recursion schemes. In: LICS 2006, pp. 81–90 (2006)
Parys, P.: On the significance of the collapse operation. In: LICS 2012 (2012)
Plotkin, G.D.: LCF considered as a programming language. Theor. Comput. Sci. 5(3), 223–255 (1977)
Salvati, S., Walukiewicz, I.: Recursive Schemes, Krivine Machines, and Collapsible Pushdown Automata. HAL Report, hal-00717718 (2012), http://hal.archives-ouvertes.fr/hal-00717718
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Salvati, S., Walukiewicz, I. (2012). Recursive Schemes, Krivine Machines, and Collapsible Pushdown Automata. In: Finkel, A., Leroux, J., Potapov, I. (eds) Reachability Problems. RP 2012. Lecture Notes in Computer Science, vol 7550. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-33512-9_2
Download citation
DOI: https://doi.org/10.1007/978-3-642-33512-9_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-33511-2
Online ISBN: 978-3-642-33512-9
eBook Packages: Computer ScienceComputer Science (R0)