59 research outputs found
Size-Change Termination as a Contract
Termination is an important but undecidable program property, which has led
to a large body of work on static methods for conservatively predicting or
enforcing termination. One such method is the size-change termination approach
of Lee, Jones, and Ben-Amram, which operates in two phases: (1) abstract
programs into "size-change graphs," and (2) check these graphs for the
size-change property: the existence of paths that lead to infinite decreasing
sequences.
We transpose these two phases with an operational semantics that accounts for
the run-time enforcement of the size-change property, postponing (or entirely
avoiding) program abstraction. This choice has two key consequences: (1)
size-change termination can be checked at run-time and (2) termination can be
rephrased as a safety property analyzed using existing methods for systematic
abstraction.
We formulate run-time size-change checks as contracts in the style of Findler
and Felleisen. The result compliments existing contracts that enforce partial
correctness specifications to obtain contracts for total correctness. Our
approach combines the robustness of the size-change principle for termination
with the precise information available at run-time. It has tunable overhead and
can check for nontermination without the conservativeness necessary in static
checking. To obtain a sound and computable termination analysis, we apply
existing abstract interpretation techniques directly to the operational
semantics, avoiding the need for custom abstractions for termination. The
resulting analyzer is competitive with with existing, purpose-built analyzers
A DIRECT PROOF OF SCHWICHTENBERG'S BAR RECURSION CLOSURE THEOREM
In 1979 Schwichtenberg showed that the System definable
functionals are closed under a rule-like version Spector's bar recursion of
lowest type levels and . More precisely, if the functional which
controls the stopping condition of Spector's bar recursor is
-definable, then the corresponding bar recursion of type levels
and is already -definable. Schwichtenberg's original proof,
however, relies on a detour through Tait's infinitary terms and the
correspondence between ordinal recursion for and
primitive recursion over finite types. This detour makes it hard to calculate
on given concrete system input, what the corresponding system
output would look like. In this paper we present an alternative
(more direct) proof based on an explicit construction which we prove correct
via a suitably defined logical relation. We show through an example how this
gives a straightforward mechanism for converting bar recursive definitions into
-definitions under the conditions of Schwichtenberg's theorem.
Finally, with the explicit construction we can also easily state a sharper
result: if is in the fragment then terms built from
for this particular are definable in the
fragment .Comment: 12 page
Reverse mathematical bounds for the Termination Theorem
In 2004 Podelski and Rybalchenko expressed the termination of transition-based programs as a property of well-founded relations. The classical proof by Podelski and Rybalchenko requires Ramsey's Theorem for pairs which is a purely classical result, therefore extracting bounds from the original proof is non-trivial task. Our goal is to investigate the termination analysis from the point of view of Reverse Mathematics. By studying the strength of Podelski and Rybalchenko's Termination Theorem we can extract some information about termination bounds
Mathematical Logic: Proof theory, Constructive Mathematics
The workshop âMathematical Logic: Proof Theory, Constructive Mathematicsâ was centered around proof-theoretic aspects of current mathematics, constructive mathematics and logical aspects of computational complexit
12th International Workshop on Termination (WST 2012) : WST 2012, February 19â23, 2012, Obergurgl, Austria / ed. by Georg Moser
This volume contains the proceedings of the 12th International Workshop on Termination (WST 2012), to be held February 19â23, 2012 in Obergurgl, Austria. The goal of the Workshop on Termination is to be a venue for presentation and discussion of all topics in and around termination. In this way, the workshop tries to bridge the gaps between different communities interested and active in research in and around termination. The 12th International Workshop on Termination in Obergurgl continues the successful workshops held in St. Andrews (1993), La Bresse (1995), Ede (1997), Dagstuhl (1999), Utrecht (2001), Valencia (2003), Aachen (2004), Seattle (2006), Paris (2007), Leipzig (2009), and Edinburgh (2010). The 12th International Workshop on Termination did welcome contributions on all aspects of termination and complexity analysis. Contributions from the imperative, constraint, functional, and logic programming communities, and papers investigating applications of complexity or termination (for example in program transformation or theorem proving) were particularly welcome. We did receive 18 submissions which all were accepted. Each paper was assigned two reviewers. In addition to these 18 contributed talks, WST 2012, hosts three invited talks by Alexander Krauss, Martin Hofmann, and Fausto Spoto
Fifty years of Hoare's Logic
We present a history of Hoare's logic.Comment: 79 pages. To appear in Formal Aspects of Computin
- âŠ