Recursion Schemes, Collapsible Pushdown Automata and Higher-Order Model Checking

This paper is about two models of computation that underpin recent developments in the algorithmic verification of higher-order computation. Recursion schemes are in essence the simply-typed lambda calculus with recursion, generated from first-order symbols. Collapsible pushdown automata are a generalisation of pushdown automata to higher-order stacks — which are iterations of stack of stacks — that contain symbols equipped with links. We study and compare the expressive power of the two models and the algorithmic properties of infinite structures such as trees and graphs generated by them. We conclude with a brief overview of recent applications to the model checking of higher-order functional programs. A central theme of the work is the fruitful interplay of ideas between the neighbouring fields of semantics and algorithmic verification.

[1]  Didier Caucal,et al.  On infinite transition graphs having a decidable monadic theory , 1996, Theor. Comput. Sci..

[2]  Werner Damm,et al.  Higher Type Recursion and Self-Application as Control Structures , 1977, Formal Description of Programming Concepts.

[3]  C.-H. Luke Ong,et al.  On Model-Checking Trees Generated by Higher-Order Recursion Schemes , 2006, 21st Annual IEEE Symposium on Logic in Computer Science (LICS'06).

[4]  Alex K. Simpson,et al.  Computational Adequacy in an Elementary Topos , 1998, CSL.

[5]  Bruno Courcelle,et al.  Recursive Applicative Program Schemes , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[6]  Pawel Parys On the Significance of the Collapse Operation , 2012, 2012 27th Annual IEEE Symposium on Logic in Computer Science.

[7]  Jolie G. de Miranda Structures generated by higher-order grammars and the safety constraint , 2006 .

[8]  C.-H. Luke Ong,et al.  Complexity of Model Checking Recursion Schemes for Fragments of the Modal Mu-Calculus , 2009, ICALP.

[9]  Michael Stewart Paterson,et al.  Equivalence Problems in a Model of Computation , 1967 .

[10]  Andrzej S. Murawski,et al.  Collapsible Pushdown Automata and Recursion Schemes , 2008, LICS.

[11]  Radha Jagadeesan,et al.  Full Abstraction for PCF , 1994, Inf. Comput..

[12]  Bruno Courcelle,et al.  The Monadic Second-Order Logic of Graphs IX: Machines and their Behaviours , 1995, Theor. Comput. Sci..

[13]  Olivier Serre,et al.  Collapsible Pushdown Automata and Labeled Recursion Schemes: Equivalence, Safety and Effective Selection , 2012, 2012 27th Annual IEEE Symposium on Logic in Computer Science.

[14]  Rainer Parchmann,et al.  On Deterministic Indexed Languages , 1980, Inf. Control..

[15]  Neil D. Jones,et al.  The Complexity of Finite Memory Programs with Recursion , 1976 .

[16]  Pawel Urzyczyn,et al.  Higher-Order Pushdown Trees Are Easy , 2002, FoSSaCS.

[17]  H. Schwichtenberg,et al.  Definierbare Funktionen im Lambda-Kalkül mit Typen , 1976 .

[18]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[19]  Naoki Kobayashi,et al.  Model Checking Higher-Order Programs , 2013, JACM.

[20]  Alfred V. Aho Indexed Grammars-An Extension of Context Free Grammars , 1967, SWAT.

[21]  Pawel Parys A Pumping Lemma for Pushdown Graphs of Any Level , 2012, STACS.

[22]  Pawel Parys Collapse Operation Increases Expressive Power of Deterministic Higher Order Pushdown Automata , 2011, STACS.

[23]  Irène Guessarian,et al.  Algebraic semantics , 1981, Lecture Notes in Computer Science.

[24]  Klaus Aehlig,et al.  The Monadic Second Order Theory of Trees Given by Arbitrary Level-Two Recursion Schemes Is Decidable , 2005, TLCA.

[25]  Igor Walukiewicz,et al.  Krivine machines and higher-order schemes , 2011, Inf. Comput..

[26]  Robin Milner,et al.  On Observing Nondeterminism and Concurrency , 1980, ICALP.

[27]  C.-H. Luke Ong,et al.  The Safe Lambda Calculus , 2007, TLCA.

[28]  Robert H. Gilman A Shrinking Lemma for Indexed Languages , 1996, Theor. Comput. Sci..

[29]  C.-H. Luke Ong,et al.  A traversal-based algorithm for higher-order model checking , 2012, ICFP '12.

[30]  C.-H. Luke Ong,et al.  A Type System Equivalent to the Modal Mu-Calculus Model Checking of Higher-Order Recursion Schemes , 2009, 2009 24th Annual IEEE Symposium on Logic In Computer Science.

[31]  Sebastian Maneth,et al.  The Complexity of Tree Transducer Output Languages , 2008, FSTTCS.

[32]  Igor Walukiewicz,et al.  Unsafe Grammars and Panic Automata , 2005, ICALP.

[33]  Vladimiro Sassone,et al.  Mathematical Foundations of Computer Science 2012 , 2012, Lecture Notes in Computer Science.

[34]  Sam Lindley,et al.  Extensional Rewriting with Sums , 2007, TLCA.

[35]  Pawel Parys,et al.  Strictness of the Collapsible Pushdown Hierarchy , 2012, MFCS.

[36]  G.D. Plotkin,et al.  LCF Considered as a Programming Language , 1977, Theor. Comput. Sci..

[37]  M. Nivat On the interpretation of recursive program schemes , 1974 .

[38]  Igor Walukiewicz,et al.  Pushdown Processes: Games and Model-Checking , 1996, Inf. Comput..

[39]  Hugo Herbelin,et al.  Computing with Abstract Böhm Trees , 1998, Fuji International Symposium on Functional and Logic Programming.

[40]  Naoki Kobayashi,et al.  Predicate abstraction and CEGAR for higher-order model checking , 2011, PLDI '11.

[41]  Hugo Herbelin,et al.  Abstract machines for dialogue games , 2007, ArXiv.

[42]  E. Allen Emerson,et al.  Tree automata, mu-calculus and determinacy , 1991, [1991] Proceedings 32nd Annual Symposium of Foundations of Computer Science.

[43]  C.-H. Luke Ong,et al.  Verifying higher-order functional programs with pattern-matching algebraic data types , 2011, POPL '11.

[44]  Javier Esparza,et al.  A BDD-Based Model Checker for Recursive Programs , 2001, CAV.

[45]  Klaus Aehlig,et al.  Safety Is not a Restriction at Level 2 for String Languages , 2005, FoSSaCS.

[46]  C.-H. Luke Ong,et al.  On Full Abstraction for PCF: I, II, and III , 2000, Inf. Comput..

[47]  Thierry Cachat,et al.  Games on pushdown graphs and extensions , 2003 .

[48]  Bruno Courcelle,et al.  Fundamental Properties of Infinite Trees , 1983, Theor. Comput. Sci..

[49]  Naoki Kobayashi Model-checking higher-order functions , 2009, PPDP '09.

[50]  M. Rabin Decidability of second-order theories and automata on infinite trees , 1968 .

[51]  Didier Caucal On Infinite Terms Having a Decidable Monadic Theory , 2002, MFCS.

[52]  Werner Damm,et al.  The IO- and OI-Hierarchies , 1982, Theor. Comput. Sci..

[53]  Willem P. de Roever,et al.  A Calculus for Recursive Program Schemes , 1972, ICALP.

[54]  J. Van Leeuwen,et al.  Handbook of theoretical computer science - Part A: Algorithms and complexity; Part B: Formal models and semantics , 1990 .

[55]  Naoki Kobayashi A Practical Linear Time Algorithm for Trivial Automata Model Checking of Higher-Order Recursion Schemes , 2011, FoSSaCS.

[56]  Vincent Danos,et al.  Game semantics and abstract machines , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

[57]  Krishnendu Chatterjee,et al.  Algorithms for Omega-Regular Games with Imperfect Information , 2006, Log. Methods Comput. Sci..

[58]  Helmut Schwichtenberg,et al.  Definierbare Funktionen imλ-Kalkül mit Typen , 1975, Archive for Mathematical Logic.

[59]  Ian Stark,et al.  Free-Algebra Models for the pi-Calculus , 2005, FoSSaCS.

[60]  Werner Damm Higher type program schemes and their tree languages , 1977, Theoretical Computer Science.

[61]  C.-H. Luke Ong,et al.  Recursion Schemes and Logical Reflection , 2010, 2010 25th Annual IEEE Symposium on Logic in Computer Science.

[62]  Rainer Parchmann,et al.  Linear Indexed Languages , 1984, Theor. Comput. Sci..

[63]  Klaus Aehlig A Finite Semantics of Simply-Typed Lambda Terms for Infinite Runs of Automata , 2007, Log. Methods Comput. Sci..

[64]  Andrzej S. Murawski,et al.  Idealized Algol with Ground Recursion, and DPDA Equivalence , 2005, ICALP.

[65]  Patrícia Duarte de Lima Machado,et al.  Unit Testing for CASL Architectural Specifications , 2002, MFCS.

[66]  David E. Muller,et al.  The Theory of Ends, Pushdown Automata, and Second-Order Logic , 1985, Theor. Comput. Sci..

[67]  Werner Damm,et al.  An Automata-Theoretical Characterization of the OI-Hierarchy , 1986, Inf. Control..

[68]  Naoki Kobayashi Types and higher-order recursion schemes for verification of higher-order programs , 2009, POPL '09.

[69]  Joost Engelfriet,et al.  Iterated Stack Automata and Complexity Classes , 1991, Inf. Comput..

[70]  Robin Milner,et al.  Theories for the Global Ubiquitous Computer , 2004, FoSSaCS.

[71]  Thomas Schwentick,et al.  Logics For Context-Free Languages , 1994, CSL.

[72]  Maurice Nivat,et al.  Langages algébriques sur le magma libre et sémantique des schémas de programme , 1972, ICALP.

[73]  Takeshi Hayashi On Derivation Trees of Indexed Grammars —An Extension of the uvwxy-Theorem— , 1973 .