Results 11  20
of
101
A Tutorial on Coinduction and Functional Programming
 IN GLASGOW FUNCTIONAL PROGRAMMING WORKSHOP
, 1994
"... Coinduction is an important tool for reasoning about unbounded structures. This tutorial explains the foundations of coinduction, 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 27 (1 self)
 Add to MetaCart
Coinduction is an important tool for reasoning about unbounded structures. This tutorial explains the foundations of coinduction, 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 Morrisstyle contextual equivalence. We show how to prove properties of lazy streams by coinduction and derive Bird and Wadler's Take Lemma, a wellknown 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 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...
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 Javalike 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 23 (0 self)
 Add to MetaCart
Abstract. We introduce an expressive yet semantically clean core Javalike 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 fullyabstract with respect to a natural notion of testing equivalence for object systems. This is the first such result for a full classbased OOlanguage with inheritance. 1
Induction and coinduction in sequent calculus
 Postproceedings 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 coinduction. These proof principles are based on a proof theoretic (rather than sett ..."
Abstract

Cited by 23 (8 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 coinduction. These proof principles are based on a proof theoretic (rather than settheoretic) 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 coinductively about properties of computational system making full use of higherorder abstract syntax. Consistency is guaranteed via cutelimination, where we give the first, to our knowledge, cutelimination procedure in the presence of general inductive and coinductive definitions. 1
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 domaintheoretic constructions. First, we expect to be able to interpret the standard constructions of total type theory in this category, so it should inherit cartesianclosure, 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...
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 17 (6 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 settheoretical 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.
The LambdaCalculus 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 17 (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 nontrivial functional character.
A Definitional TwoLevel Approach to Reasoning with HigherOrder Abstract Syntax
 Journal of Automated Reasoning
, 2010
"... Abstract. Combining higherorder abstract syntax and (co)induction in a logical framework is well known to be problematic. Previous work [ACM02] described the implementation of a tool called Hybrid, within Isabelle HOL, syntax, and reasoned about using tactical theorem proving and principles of (co ..."
Abstract

Cited by 14 (3 self)
 Add to MetaCart
Abstract. Combining higherorder abstract syntax and (co)induction in a logical framework is well known to be problematic. Previous work [ACM02] described the implementation of a tool called Hybrid, within Isabelle HOL, syntax, and reasoned about using tactical theorem proving and principles of (co)induction. Moreover, it is definitional, which guarantees consistency within a classical type theory. The idea is to have a de Bruijn representation of syntax, while offering tools for reasoning about them at the higher level. In this paper we describe how to use it in a multilevel reasoning fashion, similar in spirit to other metalogics such as Linc and Twelf. By explicitly referencing provability in a middle layer called a specification logic, we solve the problem of reasoning by (co)induction in the presence of nonstratifiable hypothetical judgments, which allow very elegant and succinct specifications of object logic inference rules. We first demonstrate the method on a simple example, formally proving type soundness (subject reduction) for a fragment of a pure functional language, using a minimal intuitionistic logic as the specification logic. We then prove an analogous result for a continuationmachine presentation of the operational semantics of the same language, encoded this time in an ordered linear logic that serves as the specification layer. This example demonstrates the ease with which we can incorporate new specification logics, and also illustrates a significantly
Filter Models and Easy Terms
, 2001
"... We illustrate the use of intersection types as a tool for synthesizing models which exhibit special purpose features. We focus on semantical proofs of easiness. This allows us to prove that the class of theories induced by graph models is strictly included in the class of theories induced by n ..."
Abstract

Cited by 12 (4 self)
 Add to MetaCart
We illustrate the use of intersection types as a tool for synthesizing models which exhibit special purpose features. We focus on semantical proofs of easiness. This allows us to prove that the class of theories induced by graph models is strictly included in the class of theories induced by nonextensional lter models.