Results 1  10
of
29
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.
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 51 (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
Combining higher order abstract syntax with tactical theorem proving and (co)induction
 In TPHOLs ’02: Proceedings of the 15th International Conference on Theorem Proving in Higher Order Logics
, 2002
"... Abstract. Combining Higher Order Abstract Syntax (HOAS) and induction is well known to be problematic. We have implemented a tool called Hybrid, within Isabelle HOL, which does allow object logics to be represented using HOAS, and reasoned about using tactical theorem proving in general and principl ..."
Abstract

Cited by 33 (15 self)
 Add to MetaCart
Abstract. Combining Higher Order Abstract Syntax (HOAS) and induction is well known to be problematic. We have implemented a tool called Hybrid, within Isabelle HOL, which does allow object logics to be represented using HOAS, and reasoned about using tactical theorem proving in general and principles of (co)induction in particular. In this paper we describe Hybrid, and illustrate its use with case studies. We also provide some theoretical adequacy results which underpin our practical work. 1 Introduction Many people are concerned with the development of computing systems which can be used to reason about and prove properties of programming languages. However, developing such systems is not easy. Difficulties abound in both practical implementation and underpinning theory. Our paper makes both a theoretical and practical contribution to this research area. More precisely, this paper concerns how to reason about object level logics with syntax involving variable bindingnote that a programming language can be presented as an example of such an object logic. Our contribution is the provision of a mechanized tool, Hybrid, which has been coded within Isabelle HOL, and provides a form of logical framework within which the syntax of an object
Closure Under AlphaConversion
 In The Informal Proceeding of the 1993 Workshop on Types for Proofs and Programs
, 1993
"... this paper appears in Types for Proofs and Programs: International Workshop TYPES'93, Nijmegen, May 1993, Selected Papers, LNCS 806. abstraction, compute a type for its body in an extended context; to compute a type for an application, compute types for its left and right components, and check that ..."
Abstract

Cited by 24 (3 self)
 Add to MetaCart
this paper appears in Types for Proofs and Programs: International Workshop TYPES'93, Nijmegen, May 1993, Selected Papers, LNCS 806. abstraction, compute a type for its body in an extended context; to compute a type for an application, compute types for its left and right components, and check that they match appropriately. Lets use the algorithm to compute a type for a = [x:ø ][x:oe]x. FAILURE: no rule applies because x 2 Dom (x:ø )
Combining de Bruijn indices and higherorder abstract syntax in Coq
 Proceedings of TYPES 2006, volume 4502 of Lecture Notes in Computer Science
, 2006
"... Abstract. The use of higherorder abstract syntax is an important approach for the representation of binding constructs in encodings of languages and logics in a logical framework. Formal metareasoning about such object languages is a particular challenge. We present a mechanism for such reasoning, ..."
Abstract

Cited by 12 (2 self)
 Add to MetaCart
Abstract. The use of higherorder abstract syntax is an important approach for the representation of binding constructs in encodings of languages and logics in a logical framework. Formal metareasoning about such object languages is a particular challenge. We present a mechanism for such reasoning, formalized in Coq, inspired by the Hybrid tool in Isabelle. At the base level, we define a de Bruijn representation of terms with basic operations and a reasoning framework. At a higher level, we can represent languages and reason about them using higherorder syntax. We take advantage of Coq’s constructive logic by formulating many definitions as Coq programs. We illustrate the method on two examples: the untyped lambda calculus and quantified propositional logic. For each language, we can define recursion and induction principles that work directly on the higherorder syntax. 1
A formal treatment of the Barendregt Variable Convention in rule inductions
 In MERLIN ’05: Proceedings of the 3rd ACM SIGPLAN workshop on Mechanized
, 2005
"... Barendregt’s variable convention simplifies many informal proofs in the λcalculus by allowing the consideration of only those bound variables that have been suitably chosen. Barendregt does not give a formal justification for the variable convention, which makes it hard to formalise such informal p ..."
Abstract

Cited by 11 (4 self)
 Add to MetaCart
Barendregt’s variable convention simplifies many informal proofs in the λcalculus by allowing the consideration of only those bound variables that have been suitably chosen. Barendregt does not give a formal justification for the variable convention, which makes it hard to formalise such informal proofs. In this paper we show how a form of the variable convention can be built into the reasoning principles for rule inductions. We give two examples explaining our technique.
A Mechanized Theory of the picalculus in HOL
, 1992
"... : The ßcalculus is a process algebra for modelling concurrent systems in which the pattern of communication between processes may change over time. This paper describes the results of preliminary work on a definitional formal theory of the ßcalculus in higher order logic using the HOL theorem prov ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
: The ßcalculus is a process algebra for modelling concurrent systems in which the pattern of communication between processes may change over time. This paper describes the results of preliminary work on a definitional formal theory of the ßcalculus in higher order logic using the HOL theorem prover. The ultimate goal of this work is to provide practical mechanized support for reasoning with the ßcalculus about applications. Introduction The ßcalculus [17, 18] is a process algebra proposed by Milner, Parrow and Walker for modelling concurrent systems in which the pattern of interconnection between processes may change over time. This paper describes work on a mechanized formal theory of the ßcalculus in higher order logic using the HOL theorem prover [8]. The main aim of this work is to construct a practical and sound theoremproving tool to support reasoning about applications using the ßcalculus, as well as metatheoretic reasoning about the ßcalculus itself. Four general prin...
A Theory of Hygienic Macros
"... Abstract. Hygienic macro systems, such as Scheme’s, automatically rename variables to prevent unintentional variable capture—in short, they “just work. ” Yet hygiene has never been formally presented as a specification rather than an algorithm. According to folklore, the definition of hygienic macro ..."
Abstract

Cited by 7 (1 self)
 Add to MetaCart
Abstract. Hygienic macro systems, such as Scheme’s, automatically rename variables to prevent unintentional variable capture—in short, they “just work. ” Yet hygiene has never been formally presented as a specification rather than an algorithm. According to folklore, the definition of hygienic macro expansion hinges on the preservation of alphaequivalence. But the only known notion of alphaequivalence for programs with macros depends on the results of macro expansion! We break this circularity by introducing explicit binding specifications into the syntax of macro definitions, permitting a definition of alphaequivalence independent of expansion. We define a semantics for a firstorder subset of Schemelike macros and prove hygiene as a consequence of confluence. The subject of macro hygiene is not at all decided, and more research is needed to precisely state what hygiene formally means and [precisely which] assurances it provides. —Oleg Kiselyov [1]
Proof pearl: de bruijn terms really do work
 In TPHOLs, volume 4732 of LNCS
, 2007
"... Abstract. Placing our result in a web of related mechanised results, we give a direct proof that the de Bruijn λcalculus (à laHuet,Nipkowand Shankar) is isomorphic to an αquotiented λcalculus. In order to establish the link, we introduce an “indexcarrying ” abstraction mechanism over de Bruijn t ..."
Abstract

Cited by 6 (1 self)
 Add to MetaCart
Abstract. Placing our result in a web of related mechanised results, we give a direct proof that the de Bruijn λcalculus (à laHuet,Nipkowand Shankar) is isomorphic to an αquotiented λcalculus. In order to establish the link, we introduce an “indexcarrying ” abstraction mechanism over de Bruijn terms, and consider it alongside a simplified substitution mechanism. Relating the new notions to those of the αquotiented and the proper de Bruijn formalisms draws on techniques from the theory of nominal sets. 1