8 research outputs found
A Finite Semantics of Simply-Typed Lambda Terms for Infinite Runs of<br> Automata
Model checking properties are often described by means of finite automata.
Any particular such automaton divides the set of infinite trees into finitely
many classes, according to which state has an infinite run. Building the full
type hierarchy upon this interpretation of the base type gives a finite
semantics for simply-typed lambda-trees.
A calculus based on this semantics is proven sound and complete. In
particular, for regular infinite lambda-trees it is decidable whether a given
automaton has a run or not. As regular lambda-trees are precisely recursion
schemes, this decidability result holds for arbitrary recursion schemes of
arbitrary level, without any syntactical restriction.Comment: 23 page
Cost Automata, Safe Schemes, and Downward Closures
Higher-order recursion schemes are an expressive formalism used to define
languages of possibly infinite ranked trees. They extend regular and
context-free grammars, and are equivalent to simply typed -calculus
and collapsible pushdown automata. In this work we prove, under a syntactical
constraint called safety, decidability of the model-checking problem for
recursion schemes against properties defined by alternating B-automata, an
extension of alternating parity automata for infinite trees with a boundedness
acceptance condition. We then exploit this result to show how to compute
downward closures of languages of finite trees recognized by safe recursion
schemes.Comment: accepted at ICALP'2
On Model-Checking Higher-Order Effectful Programs (Long Version)
Model-checking is one of the most powerful techniques for verifying systems
and programs, which since the pioneering results by Knapik et al., Ong, and
Kobayashi, is known to be applicable to functional programs with higher-order
types against properties expressed by formulas of monadic second-order logic.
What happens when the program in question, in addition to higher-order
functions, also exhibits algebraic effects such as probabilistic choice or
global store? The results in the literature range from those, mostly positive,
about nondeterministic effects, to those about probabilistic effects, in the
presence of which even mere reachability becomes undecidable. This work takes a
fresh and general look at the problem, first of all showing that there is an
elegant and natural way of viewing higher-order programs producing algebraic
effects as ordinary higher-order recursion schemes. We then move on to consider
effect handlers, showing that in their presence the model checking problem is
bound to be undecidable in the general case, while it stays decidable when
handlers have a simple syntactic form, still sufficient to capture so-called
generic effects. Along the way we hint at how a general specification language
could look like, this way justifying some of the results in the literature, and
deriving new ones
Lambda-calculus and formal language theory
Formal and symbolic approaches have offered computer science many application fields. The rich and fruitful connection between logic, automata and algebra is one such approach. It has been used to model natural languages as well as in program verification. In the mathematics of language it is able to model phenomena ranging from syntax to phonology while in verification it gives model checking algorithms to a wide family of programs. This thesis extends this approach to simply typed lambda-calculus by providing a natural extension of recognizability to programs that are representable by simply typed terms. This notion is then applied to both the mathematics of language and program verification. In the case of the mathematics of language, it is used to generalize parsing algorithms and to propose high-level methods to describe languages. Concerning program verification, it is used to describe methods for verifying the behavioral properties of higher-order programs. In both cases, the link that is drawn between finite state methods and denotational semantics provide the means to mix powerful tools coming from the two worlds
Playing with Trees and Logic
This document proposes an overview of my research sinc