LFP '90 Proceedings of the 1990 ACM conference on LISP and functional programming
Intersection type assignment systems
Selected papers of the thirteenth conference on Foundations of software technology and theoretical computer science
Infinite &lgr;-calculus and types
Theoretical Computer Science - Special issue: Gentzen
Higher-Order Pushdown Trees Are Easy
FoSSaCS '02 Proceedings of the 5th International Conference on Foundations of Software Science and Computation Structures
Information and Computation - TACS 2001
Computation: finite and infinite machines
Computation: finite and infinite machines
On Model-Checking Trees Generated by Higher-Order Recursion Schemes
LICS '06 Proceedings of the 21st Annual IEEE Symposium on Logic in Computer Science
On Typability for Rank-2 Intersection Types with Polymorphic Recursion
LICS '06 Proceedings of the 21st Annual IEEE Symposium on Logic in Computer Science
Types for Hereditary Permutators
LICS '08 Proceedings of the 2008 23rd Annual IEEE Symposium on Logic in Computer Science
Types and higher-order recursion schemes for verification of higher-order programs
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Model-checking higher-order functions
PPDP '09 Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming
A Type System Equivalent to the Modal Mu-Calculus Model Checking of Higher-Order Recursion Schemes
LICS '09 Proceedings of the 2009 24th Annual IEEE Symposium on Logic In Computer Science
Programming Examples Needing Polymorphic Recursion
Electronic Notes in Theoretical Computer Science (ENTCS)
Higher-order multi-parameter tree transducers and recursion schemes for program verification
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Deciding monadic theories of hyperalgebraic trees
TLCA'01 Proceedings of the 5th international conference on Typed lambda calculi and applications
Types for hereditary head normalizing terms
FLOPS'08 Proceedings of the 9th international conference on Functional and logic programming
The monadic second order theory of trees given by arbitrary level-two recursion schemes is decidable
TLCA'05 Proceedings of the 7th international conference on Typed Lambda Calculi and Applications
Functional programs as compressed data
PEPM '12 Proceedings of the ACM SIGPLAN 2012 workshop on Partial evaluation and program manipulation
Two-level game semantics, intersection types, and recursion schemes
ICALP'12 Proceedings of the 39th international colloquium conference on Automata, Languages, and Programming - Volume Part II
An intersection type system for deterministic pushdown automata
TCS'12 Proceedings of the 7th IFIP TC 1/WG 202 international conference on Theoretical Computer Science
Model-Checking higher-order programs with recursive types
ESOP'13 Proceedings of the 22nd European conference on Programming Languages and Systems
Model Checking Higher-Order Programs
Journal of the ACM (JACM)
Hi-index | 0.00 |
A new framework for higher-order program verification has been recently proposed, in which higher-order functional programs are modelled as higher-order recursion schemes and then model-checked. As recursion schemes are essentially terms of the simply-typed lambda-calculus with recursion and tree constructors, however, it was not clear how the new framework applies to programs written in languages with more advanced type systems. To circumvent the limitation, this paper introduces an untyped version of recursion schemes and develops an infinite intersection type system that is equivalent to the model checking of untyped recursion schemes, so that the model checking can be reduced to type checking as in recent work by Kobayashi and Ong for typed recursion schemes. The type system is undecidable but we can obtain decidable subsets of the type system by restricting the shapes of intersection types, yielding a sound (but incomplete in general) model checking algorithm.