Results 1  10
of
40
A new approach to abstract syntax with variable binding
 Formal Aspects of Computing
, 2002
"... Abstract. The permutation model of set theory with atoms (FMsets), devised by Fraenkel and Mostowski in the 1930s, supports notions of ‘nameabstraction ’ and ‘fresh name ’ that provide a new way to represent, compute with, and reason about the syntax of formal systems involving variablebinding op ..."
Abstract

Cited by 207 (44 self)
 Add to MetaCart
Abstract. The permutation model of set theory with atoms (FMsets), devised by Fraenkel and Mostowski in the 1930s, supports notions of ‘nameabstraction ’ and ‘fresh name ’ that provide a new way to represent, compute with, and reason about the syntax of formal systems involving variablebinding operations. Inductively defined FMsets involving the nameabstraction set former (together with Cartesian product and disjoint union) can correctly encode syntax modulo renaming of bound variables. 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 notion of structural recursion for defining syntaxmanipulating functions (such as capture avoiding substitution, set of free variables, etc.) and a notion of proof by structural induction, both of which remain pleasingly close to informal practice in computer science. 1.
Nominal Logic: A First Order Theory of Names and Binding
 Information and Computation
, 2001
"... This paper formalises within firstorder logic some common practices in computer science to do with representing and reasoning about syntactical structures involving named bound variables (as opposed to nameless terms, explicit substitutions, or higher order abstract syntax). It introduces Nominal L ..."
Abstract

Cited by 161 (15 self)
 Add to MetaCart
This paper formalises within firstorder logic some common practices in computer science to do with representing and reasoning about syntactical structures involving named bound variables (as opposed to nameless terms, explicit substitutions, or higher order abstract syntax). It introduces Nominal Logic, a version of firstorder manysorted logic with equality containing primitives for renaming via nameswapping and for freshness of names, from which a notion of binding can be derived. Its axioms express...
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 146 (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...
Mechanized metatheory for the masses: The POPLmark challenge
 In Theorem Proving in Higher Order Logics: 18th International Conference, number 3603 in LNCS
, 2005
"... Abstract. How close are we to a world where every paper on programming languages is accompanied by an electronic appendix with machinechecked proofs? We propose an initial set of benchmarks for measuring progress in this area. Based on the metatheory of System F<:, a typed lambdacalculus with secon ..."
Abstract

Cited by 136 (15 self)
 Add to MetaCart
Abstract. How close are we to a world where every paper on programming languages is accompanied by an electronic appendix with machinechecked proofs? We propose an initial set of benchmarks for measuring progress in this area. Based on the metatheory of System F<:, a typed lambdacalculus with secondorder polymorphism, subtyping, and records, these benchmarks embody many aspects of programming languages that are challenging to formalize: variable binding at both the term and type levels, syntactic forms with variable numbers of components (including binders), and proofs demanding complex induction principles. We hope that these benchmarks will help clarify the current state of the art, provide a basis for comparing competing technologies, and motivate further research. 1
Nominal techniques in Isabelle/HOL
 Proceedings of the 20th International Conference on Automated Deduction (CADE20
, 2005
"... Abstract. In this paper we define an inductive set that is bijective with the ffequated lambdaterms. Unlike deBruijn indices, however, our inductive definition includes names and reasoning about this definition is very similar to informal reasoning on paper. For this we provide a structural induc ..."
Abstract

Cited by 80 (12 self)
 Add to MetaCart
Abstract. In this paper we define an inductive set that is bijective with the ffequated lambdaterms. Unlike deBruijn indices, however, our inductive definition includes names and reasoning about this definition is very similar to informal reasoning on paper. For this we provide a structural induction principle that requires to prove the lambdacase for fresh binders only. The main technical novelty of this work is that it is compatible with the axiomofchoice (unlike earlier nominal logic work by Pitts et al); thus we were able to implement all results in Isabelle/HOL and use them to formalise the standard proofs for ChurchRosser and strongnormalisation. Keywords. Lambdacalculus, nominal logic, structural induction, theoremassistants.
Some lambda calculus and type theory formalized
 Journal of Automated Reasoning
, 1999
"... Abstract. We survey a substantial body of knowledge about lambda calculus and Pure Type Systems, formally developed in a constructive type theory using the LEGO proof system. On lambda calculus, we work up to an abstract, simplified, proof of standardization for beta reduction, that does not mention ..."
Abstract

Cited by 53 (7 self)
 Add to MetaCart
Abstract. We survey a substantial body of knowledge about lambda calculus and Pure Type Systems, formally developed in a constructive type theory using the LEGO proof system. On lambda calculus, we work up to an abstract, simplified, proof of standardization for beta reduction, that does not mention redex positions or residuals. Then we outline the meta theory of Pure Type Systems, leading to the strengthening lemma. One novelty is our use of named variables for the formalization. Along the way we point out what we feel has been learned about general issues of formalizing mathematics, emphasizing the search for formal definitions that are convenient for formal proof and convincingly represent the intended informal concepts.
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 44 (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.
Programming a symbolic model checker in a fully expansive theorem prover
 Proceedings of the 16th International Conference on Theorem Proving in Higher Order Logics, volume 2758 of Lecture Notes in Computer Science
, 2003
"... Abstract. Model checking and theorem proving are two complementary approaches to formal verification. In this paper we show how binary decision diagram (BDD) based symbolic model checking algorithms may be embedded in a theorem prover to take advantage of the comparatively secure environment without ..."
Abstract

Cited by 16 (5 self)
 Add to MetaCart
Abstract. Model checking and theorem proving are two complementary approaches to formal verification. In this paper we show how binary decision diagram (BDD) based symbolic model checking algorithms may be embedded in a theorem prover to take advantage of the comparatively secure environment without incurring an unacceptable performance penalty. 1
Recursive function definition for types with binders
 In Proc. TPHOLS 2004
, 2004
"... Abstract. This work describes the proof and uses of a theorem allowing definition of recursive functions over the type of λcalculus terms, where terms with bound variables are identified up to αequivalence. The theorem embodies what is effectively a principle of primitive recursion, and the analog ..."
Abstract

Cited by 13 (0 self)
 Add to MetaCart
Abstract. This work describes the proof and uses of a theorem allowing definition of recursive functions over the type of λcalculus terms, where terms with bound variables are identified up to αequivalence. The theorem embodies what is effectively a principle of primitive recursion, and the analogues of this theorem for other types with binders are clear. The theorem’s sideconditions require that the putative definition be wellbehaved with respect to fresh name generation and name permutation. A number of examples over the type of λcalculus terms illustrate the use of the new principle. 1