3 research outputs found
Coinductive big-step operational semantics
Using a call-by-value functional language as an example, this article
illustrates the use of coinductive definitions and proofs in big-step
operational semantics, enabling it to describe diverging evaluations in
addition to terminating evaluations. We formalize the connections between the
coinductive big-step semantics and the standard small-step semantics, proving
that both semantics are equivalent. We then study the use of coinductive
big-step semantics in proofs of type soundness and proofs of semantic
preservation for compilers. A methodological originality of this paper is that
all results have been proved using the Coq proof assistant. We explain the
proof-theoretic presentation of coinductive definitions and proofs offered by
Coq, and show that it facilitates the discovery and the presentation of the
results
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