On Average-Case Hardness of Higher-Order Model Checking

We study a mixture between the average case and worst case complexities of higher-order model checking, the problem of deciding whether the tree generated by a given λ Y-term (or equivalently, a higher-order recursion scheme) satisfies the property expressed by a given tree automaton. Higher-order model checking has recently been studied extensively in the context of higher-order program verification. Although the worst-case complexity of the problem is k-EXPTIME complete for order-k terms, various higher-order model checkers have been developed that run efficiently for typical inputs, and program verification tools have been constructed on top of them. One may, therefore, hope that higher-order model checking can be solved efficiently in the average case, despite the worst-case complexity. We provide a negative result, by showing that, under certain assumptions, for almost every term, the higher-order model checking problem specialized for the term is k-EXPTIME hard with respect to the size of automata. The proof is based on a novel intersection type system that characterizes terms that do not contain any useless subterms.

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

[2]  RENÉ DAVID,et al.  ASYMPTOTICALLY ALMOST ALL λ-TERMS ARE STRONGLY NORMALIZING , 2013 .

[3]  Naoki Kobayashi,et al.  Almost Every Simply Typed Lambda-Term Has a Long Beta-Reduction Sequence , 2019, Log. Methods Comput. Sci..

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

[5]  Maciej Bendkowski,et al.  On the likelihood of normalization in combinatory logic , 2017, J. Log. Comput..

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

[7]  Igor Walukiewicz,et al.  Recursive Schemes, Krivine Machines, and Collapsible Pushdown Automata , 2012, RP.

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

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

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

[11]  Andrzej S. Murawski,et al.  Linearity in higher-order recursion schemes , 2018, Proc. ACM Program. Lang..

[12]  C.-H. Luke Ong,et al.  A type-directed abstraction refinement approach to higher-order model checking , 2014, POPL.

[13]  Naoki Kobayashi,et al.  Almost Every Simply Typed λ-Term Has a Long β-Reduction Sequence , 2017, FoSSaCS.

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

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

[16]  Ilya Kapovich,et al.  Generic-case complexity, decision problems in group theory and random walks , 2002, ArXiv.

[17]  Paola Giannini,et al.  Refinement Types for Program Analysis , 1996, SAS.

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

[19]  Naoki Kobayashi Type-based useless variable elimination , 1999, PEPM '00.

[20]  Ferruccio Damiani,et al.  A conjunctive type system for useless-code elimination , 2003, Mathematical Structures in Computer Science.

[21]  Ryota Suzuki,et al.  Streett Automata Model Checking of Higher-Order Recursion Schemes , 2017, FSCD.

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

[23]  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.