165 research outputs found
Denotational Semantics of the Simplified Lambda-Mu Calculus and a New Deduction System of Classical Type Theory
Classical (or Boolean) type theory is the type theory that allows the type
inference (the type counterpart of
double-negation elimination), where is any type and is
absurdity type. This paper first presents a denotational semantics for a
simplified version of Parigot's lambda-mu calculus, a premier example of
classical type theory. In this semantics the domain of each type is divided
into infinitely many ranks and contains not only the usual members of the type
at rank 0 but also their negative, conjunctive, and disjunctive shadows in the
higher ranks, which form an infinitely nested Boolean structure. Absurdity type
is identified as the type of truth values. The paper then presents a new
deduction system of classical type theory, a sequent calculus called the
classical type system (CTS), which involves the standard logical operators such
as negation, conjunction, and disjunction and thus reflects the discussed
semantic structure in a more straightforward fashion.Comment: In Proceedings CL&C 2016, arXiv:1606.0582
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
Kripke Models for Classical Logic
We introduce a notion of Kripke model for classical logic for which we
constructively prove soundness and cut-free completeness. We discuss the
novelty of the notion and its potential applications
Types as Resources for Classical Natural Deduction
We define two resource aware typing systems for the lambda-mu-calculus based on non-idempotent intersection and union types. The
non-idempotent approach provides very simple combinatorial arguments - based on decreasing measures of type derivations - to characterize head and strongly normalizing terms. Moreover, typability provides upper bounds for the length of head-reduction sequences and maximal reduction sequences
- …