Results 1 - 10
of
21
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 Fraenkel-Mostowski permutation model of set theory with atoms (FM-sets) ..."
Abstract
-
Cited by 127 (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 Fraenkel-Mostowski permutation model of set theory with atoms (FM-sets) can serve as the semantic basis of meta-logics for specifying and reasoning about formal systems involving name binding, ff-conversion, capture avoiding substitution, and so on. We show that in FM-set theory one can express statements quantifying over `fresh' names and we use this to give a novel set-theoretic interpretation of name abstraction. Inductively defined FM-sets involving this name-abstraction set former (together with cartesian product and disjoint union) can correctly encode object-level syntax modulo ff-conversion. 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 alpha-conversion
- Ninth international Conference on Theorem Proving in Higher Order Logics TPHOL
, 1996
"... Abstract. We present five axioms of name-carrying lambda-terms identified up to alpha-conversion—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 49 (0 self)
- Add to MetaCart
Abstract. We present five axioms of name-carrying lambda-terms identified up to alpha-conversion—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) alpha-conversion itself, (4) unique existence of functions on lambda-terms defined by structural iteration, and (5) construction of lambda-abstractions given certain functions from variables to terms. By building a model from de Bruijn’s nameless lambda-terms, 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 lambda-terms, Hindley and Seldin’s substitution lemmas and
Alpha-structural 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 38 (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 higher-order logic of principles of α-structural recursion and induction for α-equivalence classes from the ordinary versions of these principles for abstract syntax trees.
Relational Reasoning about Contexts
- HIGHER ORDER OPERATIONAL TECHNIQUES IN SEMANTICS, PUBLICATIONS OF THE NEWTON INSTITUTE
, 1998
"... ..."
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 20 (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 while-loop 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 Hoare-style 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.
A conservative look at term deduction systems with variable binding. Logic group preprint series 140
, 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 many-sortedness, 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 many-sortedness, 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 su cient criteria to ensure that the extension of a transition system speci cation with new rules does not a ect 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 eld of abstract data types. 1
A Full Formalisation of π-Calculus Theory in the Calculus of Constructions
, 1997
"... A formalisation of pi-calculus 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 pi-calculus in the Coq system is presented. Based on a de Bruijn notation for names, our...
Alpha-structural 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 name-binding. 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 name-binding. 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 higher-order 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 call-byneed lambda calculus forms a suitable formal basis for tracing evaluation in lazy functional languages. Keywords Functional programming, tracing, call-by-need, lambda calculus, lazy evaluation. 1 Tracing functional languag ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
We argue that Ariola and Felleisen's and Maraist, Odersky and Wadler's call-byneed lambda calculus forms a suitable formal basis for tracing evaluation in lazy functional languages. Keywords Functional programming, tracing, call-by-need, 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 step-b...

