482 research outputs found
The computability path ordering
This paper aims at carrying out termination proofs for simply typed
higher-order calculi automatically by using ordering comparisons. To this end,
we introduce the computability path ordering (CPO), a recursive relation on
terms obtained by lifting a precedence on function symbols. A first version,
core CPO, is essentially obtained from the higher-order recursive path ordering
(HORPO) by eliminating type checks from some recursive calls and by
incorporating the treatment of bound variables as in the com-putability
closure. The well-foundedness proof shows that core CPO captures the essence of
computability arguments \'a la Tait and Girard, therefore explaining its name.
We further show that no further type check can be eliminated from its recursive
calls without loosing well-foundedness, but for one for which we found no
counterexample yet. Two extensions of core CPO are then introduced which allow
one to consider: the first, higher-order inductive types; the second, a
precedence in which some function symbols are smaller than application and
abstraction
The Sigma-Semantics: A Comprehensive Semantics for Functional Programs
A comprehensive semantics for functional programs is presented, which generalizes the well-known call-by-value and call-by-name semantics. By permitting a separate choice between call-by value and call-by-name for every argument position of every function and parameterizing the semantics by this choice we abstract from the parameter-passing mechanism. Thus common and distinguishing features of all instances of the sigma-semantics, especially call-by-value and call-by-name semantics, are highlighted. Furthermore, a property can be validated for all instances of the sigma-semantics by a single proof. This is employed for proving the equivalence of the given denotational (fixed-point based) and two operational (reduction based) definitions of the sigma-semantics. We present and apply means for very simple proofs of equivalence with the denotational sigma-semantics for a large class of reduction-based sigma-semantics. Our basis are simple first-order constructor-based functional programs with patterns
The Sigma-Semantics: A Comprehensive Semantics for Functional Programs
A comprehensive semantics for functional programs is presented, which generalizes the well-known call-by-value and call-by-name semantics. By permitting a separate choice between call-by value and call-by-name for every argument position of every function and parameterizing the semantics by this choice we abstract from the parameter-passing mechanism. Thus common and distinguishing features of all instances of the sigma-semantics, especially call-by-value and call-by-name semantics, are highlighted. Furthermore, a property can be validated for all instances of the sigma-semantics by a single proof. This is employed for proving the equivalence of the given denotational (fixed-point based) and two operational (reduction based) definitions of the sigma-semantics. We present and apply means for very simple proofs of equivalence with the denotational sigma-semantics for a large class of reduction-based sigma-semantics. Our basis are simple first-order constructor-based functional programs with patterns
Cyclic Datatypes modulo Bisimulation based on Second-Order Algebraic Theories
Cyclic data structures, such as cyclic lists, in functional programming are
tricky to handle because of their cyclicity. This paper presents an
investigation of categorical, algebraic, and computational foundations of
cyclic datatypes. Our framework of cyclic datatypes is based on second-order
algebraic theories of Fiore et al., which give a uniform setting for syntax,
types, and computation rules for describing and reasoning about cyclic
datatypes. We extract the "fold" computation rules from the categorical
semantics based on iteration categories of Bloom and Esik. Thereby, the rules
are correct by construction. We prove strong normalisation using the General
Schema criterion for second-order computation rules. Rather than the fixed
point law, we particularly choose Bekic law for computation, which is a key to
obtaining strong normalisation. We also prove the property of "Church-Rosser
modulo bisimulation" for the computation rules. Combining these results, we
have a remarkable decidability result of the equational theory of cyclic data
and fold.Comment: 38 page
On Berry's conjectures about the stable order in PCF
PCF is a sequential simply typed lambda calculus language. There is a unique
order-extensional fully abstract cpo model of PCF, built up from equivalence
classes of terms. In 1979, G\'erard Berry defined the stable order in this
model and proved that the extensional and the stable order together form a
bicpo. He made the following two conjectures: 1) "Extensional and stable order
form not only a bicpo, but a bidomain." We refute this conjecture by showing
that the stable order is not bounded complete, already for finitary PCF of
second-order types. 2) "The stable order of the model has the syntactic order
as its image: If a is less than b in the stable order of the model, for finite
a and b, then there are normal form terms A and B with the semantics a, resp.
b, such that A is less than B in the syntactic order." We give counter-examples
to this conjecture, again in finitary PCF of second-order types, and also
refute an improved conjecture: There seems to be no simple syntactic
characterization of the stable order. But we show that Berry's conjecture is
true for unary PCF. For the preliminaries, we explain the basic fully abstract
semantics of PCF in the general setting of (not-necessarily complete) partial
order models (f-models.) And we restrict the syntax to "game terms", with a
graphical representation.Comment: submitted to LMCS, 39 pages, 23 pstricks/pst-tree figures, main
changes for this version: 4.1: proof of game term theorem corrected, 7.: the
improved chain conjecture is made precise, more references adde
Probabilistic Rewriting: On Normalization, Termination, and Unique Normal Forms
While a mature body of work supports the study of rewriting systems, even
infinitary ones, abstract tools for Probabilistic Rewriting are still limited.
Here, we investigate questions such as uniqueness of the result (unique limit
distribution) and we develop a set of proof techniques to analyze and compare
reduction strategies. The goal is to have tools to support the operational
analysis of probabilistic calculi (such as probabilistic lambda-calculi) whose
evaluation is also non-deterministic, in the sense that different reductions
are possible.
In particular, we investigate how the behavior of different rewrite sequences
starting from the same term compare w.r.t. normal forms, and propose a robust
analogue of the notion of "unique normal form". Our approach is that of
Abstract Rewrite Systems, i.e. we search for general properties of
probabilistic rewriting, which hold independently of the specific structure of
the objects.Comment: Extended version of the paper in FSCD 2019, International Conference
on Formal Structures for Computation and Deductio
Strict Ideal Completions of the Lambda Calculus
The infinitary lambda calculi pioneered by Kennaway et al. extend the basic
lambda calculus by metric completion to infinite terms and reductions.
Depending on the chosen metric, the resulting infinitary calculi exhibit
different notions of strictness. To obtain infinitary normalisation and
infinitary confluence properties for these calculi, Kennaway et al. extend
-reduction with infinitely many `-rules', which contract
meaningless terms directly to . Three of the resulting B\"ohm reduction
calculi have unique infinitary normal forms corresponding to B\"ohm-like trees.
In this paper we develop a corresponding theory of infinitary lambda calculi
based on ideal completion instead of metric completion. We show that each of
our calculi conservatively extends the corresponding metric-based calculus.
Three of our calculi are infinitarily normalising and confluent; their unique
infinitary normal forms are exactly the B\"ohm-like trees of the corresponding
metric-based calculi. Our calculi dispense with the infinitely many
-rules of the metric-based calculi. The fully non-strict calculus (called
) consists of only -reduction, while the other two calculi (called
and ) require two additional rules that precisely state their
strictness properties: (for ) and (for and )
- …