A Type System Equivalent to the Modal Mu-Calculus Model Checking of Higher-Order Recursion Schemes

The model checking of higher-order recursion schemes has important applications in the verification of higher-order programs. Ong has previously shown that the modal mu-calculus model checking of trees generated by order-n recursion scheme is n-EXPTIME complete, but his algorithm and its correctness proof were rather complex. We give an alternative, type-based verification method: Given a modal mu-calculus formula, we can construct a type system in which a recursion scheme is typable if, and only if, the (possibly infinite, ranked) tree generated by the scheme satisfies the formula. The model checking problem is thus reduced to a type checking problem. Our type-based approach yields a simple verification algorithm, and its correctness proof (constructed without recourse to game semantics) is comparatively easy to understand. Furthermore, the algorithm is polynomial-time in the size of the recursion scheme, assuming that the formula and the largest order and arity of non-terminals of the recursion scheme are fixed.

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

[2]  E. Emerson,et al.  Tree Automata, Mu-Calculus and Determinacy (Extended Abstract) , 1991, FOCS 1991.

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

[4]  Jens Palsberg,et al.  A type system equivalent to a model checker , 2008, TOPL.

[5]  Pawel Urzyczyn,et al.  Deciding Monadic Theories of Hyperalgebraic Trees , 2001, TLCA.

[6]  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).

[7]  Peter Lammich,et al.  Tree Automata , 2009, Arch. Formal Proofs.

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

[9]  Igor Walukiewicz,et al.  The Complexity of Games on Higher Order Pushdown Automata , 2007, ArXiv.

[10]  Marcin Jurdzinski,et al.  Small Progress Measures for Solving Parity Games , 2000, STACS.

[11]  Naoki Kobayashi,et al.  Verification of Tree-Processing Programs via Higher-Order Model Checking , 2010, APLAS.

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

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

[14]  Thierry Cachat,et al.  Higher Order Pushdown Automata, the Caucal Hierarchy of Graphs and Parity Games , 2003, ICALP.

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

[16]  Steffen van Bakel,et al.  Complete Restrictions of the Intersection Type Discipline , 1992, Theor. Comput. Sci..

[17]  Naoki Kobayashi,et al.  Untyped Recursion Schemes and Infinite Intersection Types , 2010, FoSSaCS.

[18]  Naoki Kobayashi,et al.  Higher-order multi-parameter tree transducers and recursion schemes for program verification , 2010, POPL '10.

[19]  Sylvain Salvati Recognizability in the Simply Typed Lambda-Calculus , 2009, WoLLIC.

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

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

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

[23]  Benjamin C. Pierce,et al.  Regular expression types for XML , 2000, TOPL.

[24]  Steven J. Ramsay,et al.  Model Checking Liveness Properties of Higher−Order Functional Programs , 2010 .

[25]  Andrzej S. Murawski,et al.  Collapsible Pushdown Automata and Recursion Schemes , 2008, 2008 23rd Annual IEEE Symposium on Logic in Computer Science.

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

[27]  Sven Schewe Solving Parity Games in Big Steps , 2007, FSTTCS.

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

[29]  C.-H. Luke Ong,et al.  Complexity of Model Checking Recursion Schemes for Fragments of the Modal Mu-Calculus , 2011, Log. Methods Comput. Sci..

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

[31]  Thomas Wilke,et al.  Automata logics, and infinite games: a guide to current research , 2002 .