Skip to main content Accessibility help
×
×
Home

Simply typed fixpoint calculus and collapsible pushdown automata

  • SYLVAIN SALVATI (a1) and IGOR WALUKIEWICZ (a1)
Abstract

Simply typed λ-calculus with fixpoint combinators, λY-calculus, offers an interesting method for approximating program semantics. The Böhm tree of a λY-term 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 as λY-terms. We clarify the relationship between the two models. In particular, we present two relatively simple translations from λY-terms to CPDA using Krivine machines as an intermediate step. The latter are general machines for describing computation of the weak head normal form in the λ-calculus. They provide the notions of closure and environment that facilitate reasoning about computation.

Copyright
References
Hide All
Aehlig, K., de Miranda, J. G. and Ong, C.-H. L. (2005) The monadic second order theory of trees given by arbitrary level-two recursion schemes is decidable. In: Proceedings of the International Conference on Typed Lambda Calculi and Applications. Springer Lecture Notes in Computer Science 3461 3954.
Aho, A. (1968) Indexed grammars – an extension of context-free grammars. Journal of the Association of Computing Machinery 15 (4) 647671.
Barendregt, H. (1977) The type free lambda calculus. In: Barwise, J.(ed.) Handbook of Mathematical Logic, Chapter D.7, North Holland, Amsterdam 10911132.
Barendregt, H. (1985) The Lambda Calculus, Its Syntax and Semantics, Studies in Logic and the Foundations of Mathematics volume 103, North Holland, Amsterdam.
Barendregt, H. and Klop, J. W. (2009) Applications of infinitary lambda calculus. Information and Computation 207 (5) 559582.
Blum, W. and Ong, L. (2009) The safe lambda calculus. Logical Methods in Computer Science 5 (1:3) 138.
Broadbent, C., Carayol, A., Ong, L. and Serre, O. (2010) Recursion schemes and logical reflection. In: Proceedings of the Annual Symposium on Logic in Computer Science, IEEE Computer Society 120–129.
Broadbent, C. H., Carayol, A., Hague, M. and Serre, O. (2012) A saturation method for collapsible pushdown systems. In: Proceedings of the International Colloquium on Automata, Languages and Programming Track B. Springer-Verlag Lecture Notes in Computer Science 7392 165176.
Carayol, A., Hague, M., Meyer, A., Ong, C.-H. L. and Serre, O. (2008) Winning regions of higher-order pushdown games. In: Proceedings of the Annual Symposium on Logic in Computer Science, IEEE Computer Society 193–204.
Carayol, A. and Serre, O. (2012) Collapsible pushdown automata and labeled recursion schemes equivalence, safety and effective selection. In: Proceedings of the Annual Symposium on Logic in Computer Science, IEEE Computer Society 165–174.
Carayol, A. and Wöhrle, S. (2003) The Caucal hierarchy of infinite graphs in terms of logic and higher-order pushdown automata. In: Foundations of Software Technology and Theoretical Computer Science. Springer Lecture Notes in Computer Science 2914 112124.
Caucal, D. (2002) On infinite terms having a decidable monadic theory. In: Proceedings of the International Symposium on Mathematical Foundations of Computer Science. Springer Lecture Notes in Computer Science 2420 165176.
Damm, W. (1982) The IO– and OI–hierarchies. Theoretical Computer Science 20 (2) 95208.
Damm, W. and Goerdt, A. (1986) An automata-theoretical characterization of the OI-hierarchy. Information and Control 71 (1–2) 132.
Dezani-Ciancaglini, M., Giovannetti, E. and de' Liguoro, U. (1998) Intersection types, Lambda-models and Böhm trees. In: MSJ-Memoir Vol. 2 ‘Theories of Types and Proofs’, volume 2, Mathematical Society of Japan 4597.
Hague, M., Murawski, A. S., Ong, C.-H. L. and Serre, O. (2008) Collapsible pushdown automata and recursion schemes. In: Proceedings of the Annual Symposium on Logic in Computer Science, IEEE Computer Society 452–461.
Hyland, J. M. E. and Ong, C.-H. L. (2000) On full abstraction for pcf: I, II, and III. Information and Computation 163 (2) 285408.
Ianov, Y. (1969) The logical schemes of algorithms. In: Problems of Cybernetics I, Oxford: Pergamon Press, 82140.
Kfoury, A. and Urzyczyn, P. (1988) Finitely typed functional programs, Part II: Comparisons to imperative languages. Technical report BUCS tech report, 88-012, Boston University.
Knapik, T., Niwinski, D. and Urzyczyn, P. (2002) Higher-order pushdown trees are easy. In: Proceedings of the International Conference on Foundations of Software Science and Computation Structures. Lecture Notes in Computer Science 2303 205222.
Knapik, T., Niwinski, D., Urzyczyn, P. and Walukiewicz, I. (2005) Unsafe grammars and panic automata. In: Proceedings of the International Colloquium on Automata, Languages and Programming. Springer Lecture Notes in Computer Science 3580 14501461.
Kobayashi, N. (2011) A practical linear time algorithm for trivial automata model checking of higher-order recursion schemes. In: Proceedings of the International Conference on Foundations of Software Science and Computation Structures. Springer Lecture Notes in Computer Science 6604 260274.
Kobayashi, N. (2013) Model checking higher order programs. Journal of the Association of Computing Machinery 60 (3) Article No. 20. doi: 10.1145/2487241.2487246.
Kobayashi, N. and Ong, L. (2009) A type system equivalent to modal mu-calculus model checking of recursion schemes. In: Proceedings of the Annual Symposium on Logic in Computer Science, IEEE Computer Society 179–188.
Krivine, J.-L. (2007) A call-by-name lambda-calculus machine. Higher-Order and Symbolic Computation 20 (3) 199207.
Maslov, A. (1974) The hierarchy of indexed languages of an arbitrary level. Soviet Mathematics Doklady 15 11701174.
Maslov, A. (1976) Multilevel stack automata. Problems of Information Transmission 12 3842.
Milner, R. (1973) Models of LCF. Memo AIM-186, Stanford University.
Miranda, J. G. de (2006) Structures Generated by Higher-Order Grammars and the Safety Constraint, Ph.D. thesis, Oxford University.
Nivat, M. (1972a) Langages algébriques sur le magma libre et sémantique des schémas de programme. In: Proceedings of the International Colloquium on Automata, Languages and Programming 293–308.
Nivat, M. (1972b) On the interpretation of recursive program schemes. In: Symposia Mathematica 15 255281.
Ong, C.-H. L. (2006) On model-checking trees generated by higher-order recursion schemes. In: Proceedings of the Annual Symposium on Logic in Computer Science, IEEE Computer Society 81–90.
Parys, P. (2012) On the significance of the collapse operation. In: Proceedings of the Annual Symposium on Logic in Computer Science, IEEE Computer Society 521–530.
Plotkin, G. D. (1977) LCF considered as a programming language. Theoretical Computer Science 5 (3) 223255.
Salvati, S. and Walukiewicz, I. (2011) Krivine machines and higher-order schemes. In: Proceedings of the International Colloquium on Automata, Languages and Programming Track B. Springer Lecture Notes in Computer Science 6756 162173.
Salvati, S. and Walukiewicz, I. (2012) Recursive schemes, Krivine machines, and collapsible pushdown automata. In: Proceedings of the International Workshop on Reachability Problems. Springer Lecture Notes in Computer Science 7550 620.
Salvati, S. and Walukiewicz, I. (2013) Using models to model-check recursive schemes. In: Proceedings of the International Conference on Typed Lambda Calculi and Applications. Springer Lecture Notes in Computer Science 7941 189204.
Recommend this journal

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

Mathematical Structures in Computer Science
  • ISSN: 0960-1295
  • EISSN: 1469-8072
  • URL: /core/journals/mathematical-structures-in-computer-science
Please enter your name
Please enter a valid email address
Who would you like to send this to? *
×

Metrics

Full text views

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

Abstract views

Total abstract views: 0 *
Loading metrics...

* Views captured on Cambridge Core between <date>. This data will be updated every 24 hours.

Usage data cannot currently be displayed