Results 1  10
of
24
A New Approach to Abstract Syntax Involving Binders
 In 14th Annual Symposium on Logic in Computer Science
, 1999
"... Syntax Involving Binders Murdoch Gabbay Cambridge University DPMMS Cambridge CB2 1SB, UK M.J.Gabbay@cantab.com Andrew Pitts Cambridge University Computer Laboratory Cambridge CB2 3QG, UK ap@cl.cam.ac.uk Abstract The FraenkelMostowski permutation model of set theory with atoms (FMsets) ..."
Abstract

Cited by 145 (14 self)
 Add to MetaCart
Syntax Involving Binders Murdoch Gabbay Cambridge University DPMMS Cambridge CB2 1SB, UK M.J.Gabbay@cantab.com Andrew Pitts Cambridge University Computer Laboratory Cambridge CB2 3QG, UK ap@cl.cam.ac.uk Abstract The FraenkelMostowski permutation model of set theory with atoms (FMsets) can serve as the semantic basis of metalogics for specifying and reasoning about formal systems involving name binding, ffconversion, capture avoiding substitution, and so on. We show that in FMset theory one can express statements quantifying over `fresh' names and we use this to give a novel settheoretic interpretation of name abstraction. Inductively defined FMsets involving this nameabstraction set former (together with cartesian product and disjoint union) can correctly encode objectlevel syntax modulo ffconversion. In this way, the standard theory of algebraic data types can be extended to encompass signatures involving binding operators. In particular, there is an associated n...
Five axioms of alphaconversion
 Ninth international Conference on Theorem Proving in Higher Order Logics TPHOL
, 1996
"... Abstract. We present five axioms of namecarrying lambdaterms identified up to alphaconversion—that is, up to renaming of bound variables. We assume constructors for constants, variables, application and lambdaabstraction. Other constants represent a function Fv that returns the set of free variab ..."
Abstract

Cited by 52 (0 self)
 Add to MetaCart
Abstract. We present five axioms of namecarrying lambdaterms identified up to alphaconversion—that is, up to renaming of bound variables. We assume constructors for constants, variables, application and lambdaabstraction. Other constants represent a function Fv that returns the set of free variables in a term and a function that substitutes a term for a variable free in another term. Our axioms are (1) equations relating Fv and each constructor, (2) equations relating substitution and each constructor, (3) alphaconversion itself, (4) unique existence of functions on lambdaterms defined by structural iteration, and (5) construction of lambdaabstractions given certain functions from variables to terms. By building a model from de Bruijn’s nameless lambdaterms, we show that our five axioms are a conservative extension of HOL. Theorems provable from the axioms include distinctness, injectivity and an exhaustion principle for the constructors, principles of structural induction and primitive recursion on lambdaterms, Hindley and Seldin’s substitution lemmas and
Alphastructural recursion and induction
 Journal of the ACM
, 2006
"... The nominal approach to abstract syntax deals with the issues of bound names and αequivalence by considering constructions and properties that are invariant with respect to permuting names. The use of permutations gives rise to an attractively simple formalisation of common, but often technically i ..."
Abstract

Cited by 45 (6 self)
 Add to MetaCart
The nominal approach to abstract syntax deals with the issues of bound names and αequivalence by considering constructions and properties that are invariant with respect to permuting names. The use of permutations gives rise to an attractively simple formalisation of common, but often technically incorrect uses of structural recursion and induction for abstract syntax modulo αequivalence. At the heart of this approach is the notion of finitely supported mathematical objects. This paper explains the idea in as concrete a way as possible and gives a new derivation within higherorder logic of principles of αstructural recursion and induction for αequivalence classes from the ordinary versions of these principles for abstract syntax trees.
Trustworthy Tools for Trustworthy Programs: A Verified Verification Condition Generator
, 1994
"... Verification Condition Generator (VCG) tools have been effective in simplifying the task of proving programs correct. However, in the past these VCG tools have in general not themselves been mechanically proven, so any proof using and depending on these VCGs might have contained errors. In our w ..."
Abstract

Cited by 21 (1 self)
 Add to MetaCart
Verification Condition Generator (VCG) tools have been effective in simplifying the task of proving programs correct. However, in the past these VCG tools have in general not themselves been mechanically proven, so any proof using and depending on these VCGs might have contained errors. In our work, we define and rigorously prove correct a VCG tool within the HOL theorem proving system, for a standard whileloop language, with one new feature not usually treated: expressions with side effects. Starting from a structural operational semantics of this programming language, we prove as theorems the axioms and rules of inference of a Hoarestyle axiomatic semantics, verifying their soundness. This axiomatic semantics is then used to define and prove correct a VCG tool for this language. Finally, this verified VCG is applied to an example program to verify its correctness.
Relational Reasoning about Contexts
 HIGHER ORDER OPERATIONAL TECHNIQUES IN SEMANTICS, PUBLICATIONS OF THE NEWTON INSTITUTE
, 1998
"... ..."
A conservative look at term deduction systems with variable binding
, 1995
"... We set up a formal framework to describe term deduction systems, such as transition system speci cations in the style of Plotkin, and conditional term rewriting systems. This framework has the power to express manysortedness, general binding mechanisms and substitutions, among other notions such as ..."
Abstract

Cited by 10 (4 self)
 Add to MetaCart
We set up a formal framework to describe term deduction systems, such as transition system speci cations in the style of Plotkin, and conditional term rewriting systems. This framework has the power to express manysortedness, general binding mechanisms and substitutions, among other notions such as negative premises and unary predicates on terms. The framework is used to present a conservativity format in operational semantics, which states sufficient criteria to ensure that the extension of a transition system specification with new rules does not affect the behaviour of the original terms. Furthermore, we showhowgeneral theorems in structured operational semantics can be transformed into results in conditional term rewriting. We apply this approach to the conservativity theorem, which yields a result that is useful in the field of abstract data types.
A Full Formalisation of πCalculus Theory in the Calculus of Constructions
, 1997
"... A formalisation of picalculus in the Coq system is presented. Based on a de Bruijn notation for names, our... ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
A formalisation of picalculus in the Coq system is presented. Based on a de Bruijn notation for names, our...
Alphastructural recursion and induction (extended abstract
 Theorem Proving in Higher Order Logics, 18th International Conference, TPHOLs 2005, Oxford UK, August 2005, Proceedings, volume 3603 of Lecture Notes in Computer Science
, 2005
"... Abstract. There is growing evidence for the usefulness of name permutations when dealing with syntax involving names and namebinding. In particular they facilitate an attractively simple formalisation of common, but often technically incorrect uses of structural recursion and induction for abstract ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
Abstract. There is growing evidence for the usefulness of name permutations when dealing with syntax involving names and namebinding. In particular they facilitate an attractively simple formalisation of common, but often technically incorrect uses of structural recursion and induction for abstract syntax trees modulo αequivalence. At the heart of this formalisation is the notion of finitely supported mathematical objects. This paper explains the idea in as concrete a way as possible and gives a new derivation within higherorder logic of principles of αstructural recursion and induction for αequivalence classes from the ordinary versions of these principles for abstract syntax trees. 1
An Elimination Theorem for Regular Behaviours with Integration
 LNCS 715
, 1993
"... This chapter deals with an extension of the process algebra ACP with rational time and integration. We determine a proper subdomain of the regular processes for which an elimination theorem holds, namely, for each pair of processes p0 ; p1 in this class there is a process q in this class such that p ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
This chapter deals with an extension of the process algebra ACP with rational time and integration. We determine a proper subdomain of the regular processes for which an elimination theorem holds, namely, for each pair of processes p0 ; p1 in this class there is a process q in this class such that p0kp1 and q are bisimilar. Some simple examples show that if this subdomain is enlarged, then the elimination result is lost. The subdomain is equivalent to the model of timed automata from Alur and Dill. 1 Introduction In recent years, process algebras such as CCS, CSP and ACP, have been extended with constructs that mean to describe some notion of either discrete or dense time. This chapter is based on the approach of Baeten and Bergstra [3], which extends ACP with real time. They introduced the notion of integration, which expresses the possibility that an action occurs somewhere within a time interval. The construct R v2V p executes the process p, where the behaviour of p may depend on...
Tracing Lazy Functional Languages
 In Proceedings of Computing: The Australasian Theory Symposium
, 1996
"... We argue that Ariola and Felleisen's and Maraist, Odersky and Wadler's callbyneed lambda calculus forms a suitable formal basis for tracing evaluation in lazy functional languages. Keywords Functional programming, tracing, callbyneed, lambda calculus, lazy evaluation. 1 Tracing functional languag ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
We argue that Ariola and Felleisen's and Maraist, Odersky and Wadler's callbyneed lambda calculus forms a suitable formal basis for tracing evaluation in lazy functional languages. Keywords Functional programming, tracing, callbyneed, lambda calculus, lazy evaluation. 1 Tracing functional languages One major advantage of pure, and especially lazy, functional languages over more conventional imperative languages is in not having to directly and completely specify the order of execution of a program. Leaving execution order unspecified allows the compiler or interpreter to perform transformations on the code, changing the order of execution and perhaps even executing parts of the program in parallel. However, when it comes to debugging a program, this feature turns into a disadvantage. In a more conventional language, one can `trace' execution by inserting write statements in interesting places in order to monitor what is happening. More sophisticated tracing systems provide stepb...