Results 1 - 10
of
15
A Curry-Howard foundation for functional computation with control
- In Proceedings of ACM SIGPLAN-SIGACT Symposium on Principle of Programming Languages
, 1997
"... We introduce the type theory ¯ v , a call-by-value variant of Parigot's ¯-calculus, as a Curry-Howard representation theory of classical propositional proofs. The associated rewrite system is Church-Rosser and strongly normalizing, and definitional equality of the type theory is consistent, compatib ..."
Abstract
-
Cited by 67 (3 self)
- Add to MetaCart
We introduce the type theory ¯ v , a call-by-value variant of Parigot's ¯-calculus, as a Curry-Howard representation theory of classical propositional proofs. The associated rewrite system is Church-Rosser and strongly normalizing, and definitional equality of the type theory is consistent, compatible with cut, congruent and decidable. The attendant call-by-value programming language ¯pcf v is obtained from ¯ v by augmenting it by basic arithmetic, conditionals and fixpoints. We study the behavioural properties of ¯pcf v and show that, though simple, it is a very general language for functional computation with control: it can express all the main control constructs such as exceptions and first-class continuations. Proof-theoretically the dual ¯ v -constructs of naming and ¯-abstraction witness the introduction and elimination rules of absurdity respectively. Computationally they give succinct expression to a kind of generic (forward) "jump" operator, which may be regarded as a unif...
Correspondence between Operational and Denotational Semantics
- Handbook of Logic in Computer Science
, 1995
"... This course introduces the operational and denotational semantics of PCF and examines the relationship between the two. Topics: Syntax and operational semantics of PCF, Activity Lemma, undefinability of parallel or; Context Lemma (first principles proof) and proof by logical relations Denotational ..."
Abstract
-
Cited by 21 (0 self)
- Add to MetaCart
This course introduces the operational and denotational semantics of PCF and examines the relationship between the two. Topics: Syntax and operational semantics of PCF, Activity Lemma, undefinability of parallel or; Context Lemma (first principles proof) and proof by logical relations Denotational semantics of PCF induced by an interpretation; (standard) Scott model, adequacy, weak adequacy and its proof (by a computability predicate) Domain Theory up to SFP and Scott domains; non full abstraction of the standard model, definability of compact elements and full abstraction for PCFP (PCF + parallel or), properties of order-extensional (continuous) models of PCF, Milner's model and Mulmuley's construction (excluding proofs) Additional topics (time permitting): results on pure simply-typed lambda calculus, Friedman 's Completeness Theorem, minimal model, logical relations and definability, undecidability of lambda definability (excluding proof), dI-domains and stable functions Homepa...
Modified Realizability Toposes and Strong Normalization Proofs (Extended Abstract)
- Typed Lambda Calculi and Applications, LNCS 664
, 1993
"... ) 1 J. M. E. Hyland 2 C.-H. L. Ong 3 University of Cambridge, England Abstract This paper is motivated by the discovery that an appropriate quotient SN 3 of the strongly normalising untyped 3-terms (where 3 is just a formal constant) forms a partial applicative structure with the inherent appl ..."
Abstract
-
Cited by 14 (1 self)
- Add to MetaCart
) 1 J. M. E. Hyland 2 C.-H. L. Ong 3 University of Cambridge, England Abstract This paper is motivated by the discovery that an appropriate quotient SN 3 of the strongly normalising untyped 3-terms (where 3 is just a formal constant) forms a partial applicative structure with the inherent application operation. The quotient structure satisfies all but one of the axioms of a partial combinatory algebra (pca). We call such partial applicative structures conditionally partial combinatory algebras (c-pca). Remarkably, an arbitrary right-absorptive c-pca gives rise to a tripos provided the underlying intuitionistic predicate logic is given an interpretation in the style of Kreisel's modified realizability, as opposed to the standard Kleenestyle realizability. Starting from an arbitrary right-absorptive c-pca U , the tripos-to-topos construction due to Hyland et al. can then be carried out to build a modified realizability topos TOPm (U ) of non-standard sets equipped with an equali...
Subject reduction and minimal types for higher order subtyping
- In Proceedings of the Second Chinese Language Processing Workshop
, 1997
"... We define the typed lambda calculus F ω ∧ , a natural generalization of Girard’s system F ω with intersection types and bounded polymorphism. A novel aspect of our presentation is the use of term rewriting techniques to present intersection types, which clearly splits the computational semantics (re ..."
Abstract
-
Cited by 5 (3 self)
- Add to MetaCart
We define the typed lambda calculus F ω ∧ , a natural generalization of Girard’s system F ω with intersection types and bounded polymorphism. A novel aspect of our presentation is the use of term rewriting techniques to present intersection types, which clearly splits the computational semantics (reduction rules) from the syntax (inference rules) of the system. We establish properties such as Church-Rosser for the reduction relation on types and terms, and Strong Normalization for the reduction on types. We prove that types are preserved by computation (Subject Reduction property), and that the system satisfies the Minimal Types property. On the way to establishing these results, we define algorithms for type inference and subtype checking. 1
A paraconsistent higher order logic
- International Workshop on Paraconsistent Computational Logic, volume 95 of Roskilde University, Computer Science, Technical Reports
, 2004
"... Abstract. Classical logic predicts that everything (thus nothing useful at all) follows from inconsistency. A paraconsistent logic is a logic where an inconsistency does not lead to such an explosion, and since in practice consistency is difficult to achieve there are many potential applications of ..."
Abstract
-
Cited by 5 (5 self)
- Add to MetaCart
Abstract. Classical logic predicts that everything (thus nothing useful at all) follows from inconsistency. A paraconsistent logic is a logic where an inconsistency does not lead to such an explosion, and since in practice consistency is difficult to achieve there are many potential applications of paraconsistent logics in knowledge-based systems, logical semantics of natural language, etc. Higher order logics have the advantages of being expressive and with several automated theorem provers available. Also the type system can be helpful. We present a concise description of a paraconsistent higher order logic with countable infinite indeterminacy, where each basic formula can get its own indeterminate truth value (or as we prefer: truth code). The meaning of the logical operators is new and rather different from traditional many-valued logics as well as from logics based on bilattices. The adequacy of the logic is examined by a case study in the domain of medicine. Thus we try to build a bridge between the HOL and MVL communities. A sequent calculus is proposed based on recent work by Muskens. Many non-classical logics are, at the propositional level, funny toys which work quite good, but when one wants to extend them to higher levels to get a real logic that would enable one to do mathematics or other more sophisticated reasonings, sometimes dramatic troubles appear.
Lazy Lambda Calculus: Theories, Models and Local Structure Characterisation
- AUTOMATA, LANGUAGES AND PROGRAMMING, LNCS 623
, 1994
"... Lambda Calculus is commonly thought to be the basis for functional programming. However, there is a fundamental mismatch between the "standard" theory of sensible Lambda Calculus (as in e.g. [Bar84]) and the practice of lazy evaluation which is a distinctive feature of functional programming. This ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
Lambda Calculus is commonly thought to be the basis for functional programming. However, there is a fundamental mismatch between the "standard" theory of sensible Lambda Calculus (as in e.g. [Bar84]) and the practice of lazy evaluation which is a distinctive feature of functional programming. This paper proposes modification of a number of key notions in the sensible theory along the lines of laziness. Starting from the strongly unsolvables as the meaningless terms, we define and investigate properties of lazy (or weakly sensible) λ-theories, lazy λ-models and a number of lazy behavioural preorders on λ-terms. In the second part, we show that all these notions have a natural place in a class of lazy pse-models. A major result of this paper is a new local structure theorem for lazy pse-models. This characterizes the ordering between denotations of λ-terms in the model by a new lazy behavioural preorder.
Bottom-up β-reduction: Uplinks and λ-DAGs
- Proceedings of the 14th European Symposium on Programming (ESOP 2005), number 3444 in LNCS
, 2005
"... Abstract. Representing a λ-calculus term as a DAG rather than a tree allows us to represent the sharing that arises from β-reduction, thus avoiding combinatorial explosion in space. By adding uplinks from a child to its parents, we can efficiently implement β-reduction in a bottom-up manner, thus av ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
Abstract. Representing a λ-calculus term as a DAG rather than a tree allows us to represent the sharing that arises from β-reduction, thus avoiding combinatorial explosion in space. By adding uplinks from a child to its parents, we can efficiently implement β-reduction in a bottom-up manner, thus avoiding combinatorial explosion in time required to search the term in a top-down fashion. We present an algorithm for performing β-reduction on λ-terms represented as uplinked DAGs; discuss its relation to alternate techniques such as Lamping graphs, explicit-substitution calculi and director strings; and present some timings of an implementation. Besides being both fast and parsimonious of space, the algorithm is particularly suited to applications such as compilers, theorem provers, and type-manipulation systems that may need to examine terms inbetween reductions—i.e., the “readback ” problem for our representation is trivial. Like Lamping graphs, and unlike director strings or the suspension λ-calculus, the algorithm functions by side-effecting the term containing the redex; the representation is not a “persistent ” one. The algorithm additionally has the charm of being quite simple: a complete implementation of the core data structures and algorithms is 180 lines of SML. 1
Non-Determinism in a Functional Setting (Extended Abstract)
- In Proceedings 8th LICS
, 1993
"... ) C.-H. Luke Ong Computer Laboratory, University of Cambridge, Pembroke Street, CB2 3QG England. Email: Luke.Ong@cl.cam.ac.uk and discs, National University of Singapore. Abstract The pure untyped Lambda Calculus augmented with an (erratic) choice operator is considered as an idealised non-deter ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
) C.-H. Luke Ong Computer Laboratory, University of Cambridge, Pembroke Street, CB2 3QG England. Email: Luke.Ong@cl.cam.ac.uk and discs, National University of Singapore. Abstract The pure untyped Lambda Calculus augmented with an (erratic) choice operator is considered as an idealised non-deterministic functional language. Both the "may" and the "must" modalities of convergence are of interest to us. Following Abramsky's work on domain theory in logical form, we identify the denotational type that captures our computational situation: ffi = P[[ffi ! ffi ] ? ] where P[\Gamma] is the Plotkin powerdomain functor. We then carry out a systematic programme which hinges on three distinct interpretations of ffi , namely, process-theoretic, denotational and logical. The main theme of our programme is the complementarity of the various interpretations of ffi . This work may be seen as a step towards a reapprochement between the algebraic theory of processes in Concurrency on the one hand, ...
Formalizing Non-Termination of Recursive Programs
- J. of Logic and Algebraic Programming
, 2001
"... In applicative theories the recursion theorem provides a term rec which solves recursive equations. However, it is not provable that a solution obtained by rec is minimal. In the present paper we introduce an applicative theory in which it is possible to dene a least xed point operator. Still, o ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
In applicative theories the recursion theorem provides a term rec which solves recursive equations. However, it is not provable that a solution obtained by rec is minimal. In the present paper we introduce an applicative theory in which it is possible to dene a least xed point operator. Still, our theory has a standard recursion theoretic interpretation. 1

