Results 1 
8 of
8
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 23 (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 orderextensional (continuous) models of PCF, Milner's model and Mulmuley's construction (excluding proofs) Additional topics (time permitting): results on pure simplytyped lambda calculus, Friedman 's Completeness Theorem, minimal model, logical relations and definability, undecidability of lambda definability (excluding proof), dIdomains and stable functions Homepa...
Must Preorder in NonDeterministic Untyped λcalculus
 IN CAAP '92, VOLUME 581 OF LNCS
, 1992
"... This paper studies the interplay between functional application and nondeterministic choice in the context of untyped λcalculus. We introduce an operational semantics which is based on the idea of must preorder, coming from the theory of process algebras. To characterize this relation, we build a ..."
Abstract

Cited by 11 (1 self)
 Add to MetaCart
This paper studies the interplay between functional application and nondeterministic choice in the context of untyped λcalculus. We introduce an operational semantics which is based on the idea of must preorder, coming from the theory of process algebras. To characterize this relation, we build a model using the classical inverse limit construction, and we prove it fully abstract using a generalization of Böhm trees.
NonDeterministic Extensions of Untyped λcalculus
 INFO. AND COMP
, 1995
"... The main concern of this paper is the study of the interplay between functionality and non determinism. Indeed the first question we ask is whether the analysis of parallelism in terms of sequentiality and non determinism, which is usual in the algebraic treatment of concurrency, remains correct in ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
The main concern of this paper is the study of the interplay between functionality and non determinism. Indeed the first question we ask is whether the analysis of parallelism in terms of sequentiality and non determinism, which is usual in the algebraic treatment of concurrency, remains correct in presence of functional application and abstraction. We identify non determinism in the setting of λcalculus with the absence of the ChurchRosser property plus the inconsistency of the equational theory obtained by the symmetric closure of the reduction relation. We argue in favour of a distinction between non determinism and parallelism, due to the conjunctive nature of the former in contrast to the disjunctive character of the latter. This is the basis of our analysis of the operational and denotational semantics of non deterministiccalculus, which is the classical calculus plus a choice operator, and of our election of bounded indeterminacy as the semantical counterpart of conjunctive non determinism. This leads to operational semantics based on...
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 psemodels. A major result of this paper is a new local structure theorem for lazy psemodels. This characterizes the ordering between denotations of λterms in the model by a new lazy behavioural preorder.
Data Types, Infinity and Equality in System AF2
 In CSL ’93, volume 832 of LNCS
, 1995
"... This work presents an extension of system AF 2 to allow the use of infinite data types. We extend the logic with inductive and coinductive types, and show that the "programming method" is still correct. Unlike previous work in other typesystems, we only use the pure calculus. Propositions about no ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
This work presents an extension of system AF 2 to allow the use of infinite data types. We extend the logic with inductive and coinductive types, and show that the "programming method" is still correct. Unlike previous work in other typesystems, we only use the pure calculus. Propositions about normalization and unicity of the representation of data have no equivalent in other systems. Moreover, the class of data types we consider is very large with some unusual ones. 1 Introduction Since the work of Curry, a lot of typesystems have been created (e.g., De Bruijn's Automath [4]; Girard's system F [5]; MartinLof's type theory [10]; CoquandHuet's Calculus of construction [3]; etc). One of their purposes is program extraction via the CurryHoward isomorphism [6], which establishes a correspondence between programs and proofs of specifications. One of these systems is AF 2 (second order functional arithmetic) due to Leivant and Krivine [9, 7, 8]. It uses equations as algorithmic specif...
Machine Deduction
 In Proc. Types for Proofs and Program, LNCS 806
, 1993
"... We present in this paper a new type system which allows to extract code for an abstract machine instead of lambdaterms. Thus, we get a framework to compile correctly programs extracted from proof by translating their proof in our system and then extracting the code. Moreover, we will see that we ca ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
We present in this paper a new type system which allows to extract code for an abstract machine instead of lambdaterms. Thus, we get a framework to compile correctly programs extracted from proof by translating their proof in our system and then extracting the code. Moreover, we will see that we can associate programs to classical proofs. 1 Introduction. The proof as program paradigm, using the CurryHoward isomorphism [4], gives a way to associate a program to an intuitionistic proof. This program is almost always a functional program (in general a lambdaterm [1]) which has to be compiled before being executed [11]. This ensures some correctness about the functional program extracted from the proof. But the correctness of the compiled code is relative to the proof of the compiler. The usual way to ensure this kind of correctness is to define a semantics for the functional language, and to verify that the compiler preserves this semantics. We study in this paper a type system for th...