1,270 research outputs found
Classical logic, continuation semantics and abstract machines
One of the goals of this paper is to demonstrate that denotational semantics is useful for operational issues like implementation of functional languages by abstract machines. This is exemplified in a tutorial way by studying the case of extensional untyped call-by-name λ-calculus with Felleisen's control operator 𝒞. We derive the transition rules for an abstract machine from a continuation semantics which appears as a generalization of the ¬¬-translation known from logic. The resulting abstract machine appears as an extension of Krivine's machine implementing head reduction. Though the result, namely Krivine's machine, is well known our method of deriving it from continuation semantics is new and applicable to other languages (as e.g. call-by-value variants). Further new results are that Scott's D∞-models are all instances of continuation models. Moreover, we extend our continuation semantics to Parigot's λμ-calculus from which we derive an extension of Krivine's machine for λμ-calculus. The relation between continuation semantics and the abstract machines is made precise by proving computational adequacy results employing an elegant method introduced by Pitts
On Various Negative Translations
Several proof translations of classical mathematics into intuitionistic
mathematics have been proposed in the literature over the past century. These
are normally referred to as negative translations or double-negation
translations. Among those, the most commonly cited are translations due to
Kolmogorov, Godel, Gentzen, Kuroda and Krivine (in chronological order). In
this paper we propose a framework for explaining how these different
translations are related to each other. More precisely, we define a notion of a
(modular) simplification starting from Kolmogorov translation, which leads to a
partial order between different negative translations. In this derived
ordering, Kuroda and Krivine are minimal elements. Two new minimal translations
are introduced, with Godel and Gentzen translations sitting in between
Kolmogorov and one of these new translations.Comment: In Proceedings CL&C 2010, arXiv:1101.520
Relational Parametricity and Control
We study the equational theory of Parigot's second-order
λμ-calculus in connection with a call-by-name continuation-passing
style (CPS) translation into a fragment of the second-order λ-calculus.
It is observed that the relational parametricity on the target calculus induces
a natural notion of equivalence on the λμ-terms. On the other hand,
the unconstrained relational parametricity on the λμ-calculus turns
out to be inconsistent with this CPS semantics. Following these facts, we
propose to formulate the relational parametricity on the λμ-calculus
in a constrained way, which might be called ``focal parametricity''.Comment: 22 pages, for Logical Methods in Computer Scienc
A Direct Version of Veldman's Proof of Open Induction on Cantor Space via Delimited Control Operators
First, we reconstruct Wim Veldman's result that Open Induction on Cantor
space can be derived from Double-negation Shift and Markov's Principle. In
doing this, we notice that one has to use a countable choice axiom in the proof
and that Markov's Principle is replaceable by slightly strengthening the
Double-negation Shift schema. We show that this strengthened version of
Double-negation Shift can nonetheless be derived in a constructive intermediate
logic based on delimited control operators, extended with axioms for
higher-type Heyting Arithmetic. We formalize the argument and thus obtain a
proof term that directly derives Open Induction on Cantor space by the shift
and reset delimited control operators of Danvy and Filinski
Continuation-passing Style Models Complete for Intuitionistic Logic
A class of models is presented, in the form of continuation monads
polymorphic for first-order individuals, that is sound and complete for minimal
intuitionistic predicate logic. The proofs of soundness and completeness are
constructive and the computational content of their composition is, in
particular, a -normalisation-by-evaluation program for simply typed
lambda calculus with sum types. Although the inspiration comes from Danvy's
type-directed partial evaluator for the same lambda calculus, the there
essential use of delimited control operators (i.e. computational effects) is
avoided. The role of polymorphism is crucial -- dropping it allows one to
obtain a notion of model complete for classical predicate logic. The connection
between ours and Kripke models is made through a strengthening of the
Double-negation Shift schema
Proving termination of evaluation for System F with control operators
We present new proofs of termination of evaluation in reduction semantics
(i.e., a small-step operational semantics with explicit representation of
evaluation contexts) for System F with control operators. We introduce a
modified version of Girard's proof method based on reducibility candidates,
where the reducibility predicates are defined on values and on evaluation
contexts as prescribed by the reduction semantics format. We address both
abortive control operators (callcc) and delimited-control operators (shift and
reset) for which we introduce novel polymorphic type systems, and we consider
both the call-by-value and call-by-name evaluation strategies.Comment: In Proceedings COS 2013, arXiv:1309.092
- …