Results 11 - 20
of
93
A Tutorial on Co-induction and Functional Programming
- IN GLASGOW FUNCTIONAL PROGRAMMING WORKSHOP
, 1994
"... Co-induction is an important tool for reasoning about unbounded structures. This tutorial explains the foundations of co-induction, and shows how it justifies intuitive arguments about lazy streams, of central importance to lazy functional programmers. We explain from first principles a theory based ..."
Abstract
-
Cited by 24 (1 self)
- Add to MetaCart
Co-induction is an important tool for reasoning about unbounded structures. This tutorial explains the foundations of co-induction, and shows how it justifies intuitive arguments about lazy streams, of central importance to lazy functional programmers. We explain from first principles a theory based on a new formulation of bisimilarity for functional programs, which coincides exactly with Morris-style contextual equivalence. We show how to prove properties of lazy streams by co-induction and derive Bird and Wadler's Take Lemma, a well-known proof technique for lazy streams.
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...
A Uniform Approach to Domain Theory in Realizability Models
- Mathematical Structures in Computer Science
, 1996
"... this paper we provide a uniform approach to modelling them in categories of modest sets. To do this, we identify appropriate structure for doing "domain theory" in such "realizability models". In Sections 2 and 3 we introduce PCAs and define the associated "realizability" categories of assemblies an ..."
Abstract
-
Cited by 19 (6 self)
- Add to MetaCart
this paper we provide a uniform approach to modelling them in categories of modest sets. To do this, we identify appropriate structure for doing "domain theory" in such "realizability models". In Sections 2 and 3 we introduce PCAs and define the associated "realizability" categories of assemblies and modest sets. Next, in Section 4, we prepare for our development of domain theory with an analysis of nontermination. Previous approaches have used (relatively complicated) categorical formulations of partial maps for this purpose. Instead, motivated by the idea that A provides a primitive programming language, we consider a simple notion of "diverging" computation within A itself. This leads to a theory of divergences from which a notion of (computable) partial function is derived together with a lift monad classifying partial functions. The next task is to isolate a subcategory of modest sets with sufficient structure for supporting analogues of the usual domain-theoretic constructions. First, we expect to be able to interpret the standard constructions of total type theory in this category, so it should inherit cartesian-closure, coproducts and the natural numbers from modest sets. Second, it should interact well with the notion of partiality, so it should be closed under application of the lift functor. Third, it should allow the recursive definition of partial functions. This is achieved by obtaining a fixpoint object in the category, as defined in (Crole and Pitts 1992). Finally, although there is in principle no definitive list of requirements on such a category, one would like it to support more complicated constructions such as those required to interpret polymorphic and recursive types. The central part of the paper (Sections 5, 6, 7 and 9) is devoted to establish...
Java Jr.: A fully abstract trace semantics for a core Java language
- In ESOP, volume 3444 of LNCS
, 2005
"... Abstract. We introduce an expressive yet semantically clean core Java-like language, Java Jr., and provide it with a formal operational semantics based on traces of observable actions which represent interaction across package boundaries. A detailed example based on the Observer Pattern is used to d ..."
Abstract
-
Cited by 19 (0 self)
- Add to MetaCart
Abstract. We introduce an expressive yet semantically clean core Java-like language, Java Jr., and provide it with a formal operational semantics based on traces of observable actions which represent interaction across package boundaries. A detailed example based on the Observer Pattern is used to demonstrate the intuitive character of the semantic model. We also show that our semantic trace equivalence is fully-abstract with respect to a natural notion of testing equivalence for object systems. This is the first such result for a full class-based OO-language with inheritance. 1
Induction and co-induction in sequent calculus
- Post-proceedings of TYPES 2003, number 3085 in LNCS
, 2003
"... Abstract. Proof search has been used to specify a wide range of computation systems. In order to build a framework for reasoning about such specifications, we make use of a sequent calculus involving induction and co-induction. These proof principles are based on a proof theoretic (rather than set-t ..."
Abstract
-
Cited by 18 (5 self)
- Add to MetaCart
Abstract. Proof search has been used to specify a wide range of computation systems. In order to build a framework for reasoning about such specifications, we make use of a sequent calculus involving induction and co-induction. These proof principles are based on a proof theoretic (rather than set-theoretic) notion of definition [13, 20, 25, 51]. Definitions are akin to (stratified) logic programs, where the left and right rules for defined atoms allow one to view theories as “closed ” or defining fixed points. The use of definitions makes it possible to reason intensionally about syntax, in particular enforcing free equality via unification. We add in a consistent way rules for pre and post fixed points, thus allowing the user to reason inductively and co-inductively about properties of computational system making full use of higher-order abstract syntax. Consistency is guaranteed via cut-elimination, where we give the first, to our knowledge, cut-elimination procedure in the presence of general inductive and co-inductive definitions. 1
Compositional Characterizations of λ-terms using Intersection Types (Extended Abstract)
, 2000
"... We show how to characterize compositionally a number of evaluation properties of λ-terms using Intersection Type assignment systems. In particular, we focus on termination properties, such as strong normalization, normalization, head normalization, and weak head normalization. We consider also the ..."
Abstract
-
Cited by 14 (5 self)
- Add to MetaCart
We show how to characterize compositionally a number of evaluation properties of λ-terms using Intersection Type assignment systems. In particular, we focus on termination properties, such as strong normalization, normalization, head normalization, and weak head normalization. We consider also the persistent versions of such notions. By way of example, we consider also another evaluation property, unrelated to termination, namely reducibility to a closed term. Many of these characterization results are new, to our knowledge, or else they streamline, strengthen, or generalize earlier results in the literature. The completeness parts of the characterizations are proved uniformly for all the properties, using a set-theoretical semantics of intersection types over suitable kinds of stable sets. This technique generalizes Krivine 's and Mitchell's methods for strong normalization to other evaluation properties.
Developing (Meta)Theory of lambda-calculus in the Theory of Contexts
- Proc. MERLIN’01, TR 2001/26, Dept. of Math. and Comp. Sci., Univ. of Leicester
, 2001
"... . We present a case study on the formal development of a non trivial (meta)theory in the Theory of Contexts using the Coq proof assistant. The methodology underlying the Theory of Contexts for reasoning on systems presented in HOAS is based on an axiomatic syntactic standpoint. We feel that one ..."
Abstract
-
Cited by 12 (2 self)
- Add to MetaCart
. We present a case study on the formal development of a non trivial (meta)theory in the Theory of Contexts using the Coq proof assistant. The methodology underlying the Theory of Contexts for reasoning on systems presented in HOAS is based on an axiomatic syntactic standpoint. We feel that one of the main advantages of this approach, is that it requires a very low logical overhead. The object logic we focus on is the lazy, call-by-name #-calculus (#cbn ), both untyped and simply typed. We will see that the formal, fully detailed development of the theory of #cbn in the Theory of Contexts introduces a small, sustainable overhead with respect to the proofs "on the paper". Moreover, this will allow for comparison with similar case studies developed in other approaches to the metatheoretical reasoning in higher-order abstract syntax. Keywords: higher-order abstract syntax, induction, logical frameworks.
The Lambda-Calculus with Multiplicities
, 1993
"... We introduce a refinement of the λ-calculus, where the argument of a function is a bag of resources, that is a multiset of terms, whose multiplicities indicate how many copies of them are available. We show that this "λ-calculus with multiplicities" has a natural functionality theory, similar to Cop ..."
Abstract
-
Cited by 12 (2 self)
- Add to MetaCart
We introduce a refinement of the λ-calculus, where the argument of a function is a bag of resources, that is a multiset of terms, whose multiplicities indicate how many copies of them are available. We show that this "λ-calculus with multiplicities" has a natural functionality theory, similar to Coppo and Dezani's intersection type discipline. In our functionality theory the conjunction is managed in a "multiplicative" manner, according to Girard's terminology. We show that this provides an adequate interpretation of the calculus, by establishing that a term is convergent if and only if it has a non-trivial functional character.
Final Semantics for untyped λ-calculus
- In LNCS, volume 902
, 1995
"... . Proof principles for reasoning about various semantics of untyped -calculus are discussed. The semantics are determined operationally by fixing a particular reduction strategy on -terms and a suitable set of values, and by taking the corresponding observational equivalence on terms. These princip ..."
Abstract
-
Cited by 11 (1 self)
- Add to MetaCart
. Proof principles for reasoning about various semantics of untyped -calculus are discussed. The semantics are determined operationally by fixing a particular reduction strategy on -terms and a suitable set of values, and by taking the corresponding observational equivalence on terms. These principles arise naturally as co-induction principles, when the observational equivalences are shown to be induced by the unique mapping into a final F -coalgebra, for a suitable functor F . This is achieved either by induction on computation steps or exploiting the properties of some, computationally adequate, inverse limit denotational model. The final F -coalgebras cannot be given, in general, the structure of a "denotational" -model. Nevertheless the "final semantics" can count as compositional in that it induces a congruence. We utilize the intuitive categorical setting of hypersets and functions. The importance of the principles introduced in this paper lies in the fact that they often allow...

