1,460 research outputs found
Investigations on the Dual Calculus
AbstractThe Dual Calculus, proposed recently by Wadler, is the outcome of two distinct lines of research in theoretical computer science:(A)Efforts to extend the Curry–Howard isomorphism, established between the simply-typed lambda calculus and intuitionistic logic, to classical logic.(B)Efforts to establish the tacit conjecture that call-by-value (CBV) reduction in lambda calculus is dual to call-by-name (CBN) reduction.This paper initially investigates relations of the Dual Calculus to other calculi, namely the simply-typed lambda calculus and the Symmetric lambda calculus. Moreover, Church–Rosser and Strong Normalization properties are proven for the calculus’ CBV reduction relation. Finally, extensions of the calculus to second-order types are briefly introduced
A Normalizing Intuitionistic Set Theory with Inaccessible Sets
We propose a set theory strong enough to interpret powerful type theories
underlying proof assistants such as LEGO and also possibly Coq, which at the
same time enables program extraction from its constructive proofs. For this
purpose, we axiomatize an impredicative constructive version of
Zermelo-Fraenkel set theory IZF with Replacement and -many
inaccessibles, which we call \izfio. Our axiomatization utilizes set terms, an
inductive definition of inaccessible sets and the mutually recursive nature of
equality and membership relations. It allows us to define a weakly-normalizing
typed lambda calculus corresponding to proofs in \izfio according to the
Curry-Howard isomorphism principle. We use realizability to prove the
normalization theorem, which provides a basis for program extraction
capability.Comment: To be published in Logical Methods in Computer Scienc
Existential witness extraction in classical realizability and via a negative translation
We show how to extract existential witnesses from classical proofs using
Krivine's classical realizability---where classical proofs are interpreted as
lambda-terms with the call/cc control operator. We first recall the basic
framework of classical realizability (in classical second-order arithmetic) and
show how to extend it with primitive numerals for faster computations. Then we
show how to perform witness extraction in this framework, by discussing several
techniques depending on the shape of the existential formula. In particular, we
show that in the Sigma01-case, Krivine's witness extraction method reduces to
Friedman's through a well-suited negative translation to intuitionistic
second-order arithmetic. Finally we discuss the advantages of using call/cc
rather than a negative translation, especially from the point of view of an
implementation.Comment: 52 pages. Accepted in Logical Methods for Computer Science (LMCS),
201
Classical Combinatory Logic
International audienceCombinatory logic shows that bound variables can be eliminated without loss of expressiveness. It has applications both in the foundations of mathematics and in the implementation of functional programming languages. The original combinatory calculus corresponds to minimal implicative logic written in a system "Ă la Hilbert''. We present in this paper a combinatory logic which corresponds to propositional classical logic. This system is equivalent to the system of Barbanera and Berardi
The duality of computation
http://www.acm.orgInternational audienceWe present the lambda-bar-mu-mu-tilde-calculus, a syntax for lambda-calculus + control operators exhibiting symmetries such as program/context and call-by-name/call-by-value. This calculus is derived from implicational Gentzen's sequent calculus LK, a key classical logical system in proof theory. Under the Curry-Howard correspondence between proofs and programs, we can see LK, or more precisely a formulation called LK-mu-mu-tilde, as a syntax-directed system of simple types for lambda-bar-mu-mu-tilde-calculus. For lambda-bar-mu-mu-tilde-calculus, choosing a call-by-name or call-by-value discipline for reduction amounts to choosing one of the two possible symmetric orientations of a critical pair. Our analysis leads us to revisit the question of what is a natural syntax for call-by-value functional computation. We define a translation of lambda-mu-calculus into lambda-bar-mu-mu-tilde-calculus and two dual translations back to lambda-calculus, and we recover known CPS translations by composing these translations
Strong Normalization for HA + EM1 by Non-Deterministic Choice
We study the strong normalization of a new Curry-Howard correspondence for HA
+ EM1, constructive Heyting Arithmetic with the excluded middle on
Sigma01-formulas. The proof-term language of HA + EM1 consists in the lambda
calculus plus an operator ||_a which represents, from the viewpoint of
programming, an exception operator with a delimited scope, and from the
viewpoint of logic, a restricted version of the excluded middle. We give a
strong normalization proof for the system based on a technique of
"non-deterministic immersion".Comment: In Proceedings COS 2013, arXiv:1309.092
- …