Results 1  10
of
20
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
(Show Context)
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
Programming with proofs and explicit contexts
 In Symposium on Principles and Practice of Declarative Programming, 2008. François Pottier and Nadji
"... This paper explores a new point in the design space of functional programming: functional programming with dependentlytyped higherorder data structures described in the logical framework LF. This allows us to program with proofs as higherorder data. We present a decidable bidirectional type syste ..."
Abstract

Cited by 23 (8 self)
 Add to MetaCart
(Show Context)
This paper explores a new point in the design space of functional programming: functional programming with dependentlytyped higherorder data structures described in the logical framework LF. This allows us to program with proofs as higherorder data. We present a decidable bidirectional type system that distinguishes between dependentlytyped data and computations. To support reasoning about open data, our foundation makes contexts explicit. This provides us with a concise characterization of open data, which is crucial to elegantly describe proofs. In addition, we present an operational semantics for this language based on higherorder pattern matching for dependently typed objects. Based on this development, we prove progress and preservation.
Case analysis of higherorder data
"... Abstract. We discuss coverage checking for data that is dependently typed and is defined using higherorder abstract syntax. Unlike previous work on coverage checking that required objects to be closed, we consider open data objects, i.e. objects that may depend on some context. Our work may therefo ..."
Abstract

Cited by 14 (12 self)
 Add to MetaCart
(Show Context)
Abstract. We discuss coverage checking for data that is dependently typed and is defined using higherorder abstract syntax. Unlike previous work on coverage checking that required objects to be closed, we consider open data objects, i.e. objects that may depend on some context. Our work may therefore provide insights into coverage checking in Twelf, and serve as a basis for coverage checking in functional languages such as Delphin and Beluga. More generally, our work is a foundation for proofs by case analysis in systems that reason about higherorder abstract syntax. 1
Structural Recursion with Locally Scoped Names
"... This paper introduces a new recursion principle for inductively defined data modulo αequivalence of bound names that makes use of Oderskystyle local names when recursing over bound names. It is formulated in simply typed λcalculus extended with names that can be restricted to a lexical scope, tes ..."
Abstract

Cited by 8 (2 self)
 Add to MetaCart
This paper introduces a new recursion principle for inductively defined data modulo αequivalence of bound names that makes use of Oderskystyle local names when recursing over bound names. It is formulated in simply typed λcalculus extended with names that can be restricted to a lexical scope, tested for equality, explicitly swapped and abstracted. The new recursion principle is motivated by the nominal sets notion of “αstructural recursion”, whose use of names and associated freshness sideconditions in recursive definitions formalizes common practice with binders. The new calculus has a simple interpretation in nominal sets equipped with name restriction operations. It is shown to adequately represent αstructural recursion while avoiding the need to verify freshness sideconditions in definitions and computations. The paper is a revised and expanded version of (Pitts, 2010). 1
Nominal System T
, 2010
"... This paper introduces a new recursion principle for inductive data modulo ..."
Abstract

Cited by 6 (1 self)
 Add to MetaCart
This paper introduces a new recursion principle for inductive data modulo
Nominal Abstraction
, 2009
"... Recursive relational specifications are commonly used to describe the computational structure of formal systems. Recent research in proof theory has identified two features that facilitate direct, logicbased reasoning about such descriptions: the interpretation of atomic judgments through recursive ..."
Abstract

Cited by 5 (3 self)
 Add to MetaCart
Recursive relational specifications are commonly used to describe the computational structure of formal systems. Recent research in proof theory has identified two features that facilitate direct, logicbased reasoning about such descriptions: the interpretation of atomic judgments through recursive definitions and an encoding of binding constructs via generic judgments. However, logics encompassing these two features do not currently allow for the definition of relations that embody dynamic aspects related to binding, a capability needed in many reasoning tasks. We propose a new relation between terms called nominal abstraction as a means for overcoming this deficiency. We incorporate nominal abstraction into a rich logic also including definitions, generic quantification, induction, and coinduction that we then prove to be consistent. We present examples to show that this logic can provide elegant treatments of binding contexts that appear in many proofs, such as those establishing properties of typing calculi and of arbitrarily cascading substitutions that play a role in reducibility arguments.
Abella: A system for reasoning about relational specifications
 Journal of Formalized Reasoning
"... The Abella interactive theorem prover is based on an intuitionistic logic that allows for inductive and coinductive reasoning over relations. Abella supports the λtree approach to treating syntax containing binders: it allows simply typed λterms to be used to represent such syntax and it provides ..."
Abstract

Cited by 4 (4 self)
 Add to MetaCart
(Show Context)
The Abella interactive theorem prover is based on an intuitionistic logic that allows for inductive and coinductive reasoning over relations. Abella supports the λtree approach to treating syntax containing binders: it allows simply typed λterms to be used to represent such syntax and it provides higherorder (pattern) unification, the ∇ quantifier, and nominal constants for reasoning about these representations. As such, it is a suitable vehicle for formalizing the metatheory of formal systems such as logics and programming languages. This tutorial exposes Abella incrementally, starting with its capabilities at a firstorder logic level and gradually presenting more sophisticated features, ending with the support it offers to the twolevel logic approach to metatheoretic reasoning. Along the way, we show how Abella can be used prove theorems involving natural numbers, lists, and automata, as well as involving typed and untyped λcalculi and the picalculus. Contents
The Representational Adequacy of HYBRID
"... The Hybrid system (Ambler et al., 2002b), implemented within Isabelle/HOL, allows object logics to be represented using higher order abstract syntax (HOAS), and reasoned about using tactical theorem proving in general and principles of (co)induction in particular. The form of HOAS provided by Hybrid ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
The Hybrid system (Ambler et al., 2002b), implemented within Isabelle/HOL, allows object logics to be represented using higher order abstract syntax (HOAS), and reasoned about using tactical theorem proving in general and principles of (co)induction in particular. The form of HOAS provided by Hybrid is essentially a lambda calculus with constants. Of fundamental interest is the form of the lambda abstractions provided by Hybrid. The user has the convenience of writing lambda abstractions using names for the binding variables. However each abstraction is actually a definition of a de Bruijn expression, and Hybrid can unwind the user’s abstractions (written with names) to machine friendly de Bruijn expressions (without names). In this sense the formal system contains a hybrid of named and nameless bound variable notation. In this paper, we present a formal theory in a logical framework which can be viewed as a model of core Hybrid, and state and prove that the model is representationally adequate for HOAS. In particular, it is the canonical translation function from λexpressions to Hybrid that witnesses adequacy. We also prove two results that characterise how Hybrid represents certain classes of λexpressions. The Hybrid system contains a number of different syntactic classes of expression, and associated abstraction mechanisms. Hence this paper also aims to provide a selfcontained theoretical introduction to both the syntax and key ideas of the system; background in automated theorem proving is not essential, although this paper will be of considerable interest to those who wish to work with Hybrid in Isabelle/HOL.
Relating nominal and higherorder abstract syntax specifications
 in: Proceedings of the 2010 Symposium on Principles and Practice of Declarative Programming, ACM
"... Nominal abstract syntax and higherorder abstract syntax provide a means for describing binding structure which is higherlevel than traditional techniques. These approaches have spawned two different communities which have developed along similar lines but with subtle differences that make them dif ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
(Show Context)
Nominal abstract syntax and higherorder abstract syntax provide a means for describing binding structure which is higherlevel than traditional techniques. These approaches have spawned two different communities which have developed along similar lines but with subtle differences that make them difficult to relate. The nominal abstract syntax community has devices like names, freshness, nameabstractions with variable capture, and thequantifier, whereas the higherorder abstract syntax community has devices like λbinders, λconversion, raising, and the ∇quantifier. This paper aims to unify these communities and provide a concrete correspondence between their different devices. In particular, we develop a semanticspreserving translation from αProlog, a nominal abstract syntax based logic programming language, to G − , a higherorder abstract syntax based logic programming language. We also discuss higherorder judgments, a common and powerful tool for specifications with higherorder abstract syntax, and we show how these can be incorporated into G −. This establishes G − as a language with the power of higherorder abstract syntax, the finegrained variable control of nominal specifications, and the desirable properties of higherorder judgments.
Contributions to the Theory of Syntax with Bindings and to Process Algebra
, 2010
"... We develop a theory of syntax with bindings, focusing on: methodological issues concerning the convenient representation of syntax; techniques for recursive definitions and inductive reasoning. Our approach consists of a combination of FOAS (FirstOrder Abstract Syntax) and HOAS (HigherOrder Abst ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
(Show Context)
We develop a theory of syntax with bindings, focusing on: methodological issues concerning the convenient representation of syntax; techniques for recursive definitions and inductive reasoning. Our approach consists of a combination of FOAS (FirstOrder Abstract Syntax) and HOAS (HigherOrder Abstract Syntax) and tries to take advantage of the best of both worlds. The connection between FOAS and HOAS follows some general patterns and is presented as a (formally certified) statement of adequacy. We also develop a general technique for proving bisimilarity in process algebra Our technique, presented as a formal proof system, is applicable to a wide range of process algebras. The proof system is incremental, in that it allows building incrementally an a priori unknown bisimulation, and patternbased, in that it works on equalities of process patterns (i.e., universally quantified equations of process terms containing process variables), thus taking advantage of equational reasoning in a “circular ” manner, inside coinductive proof loops. All the work presented here has been formalized in the Isabelle theorem prover. The formalization is performed in a general setting: arbitrary manysorted syntax with bindings and arbitrary SOSspecified process algebra in de Simone format. The usefulness of our techniques is illustrated by several formalized case studies: a development of callbyname and callbyvalue λcalculus with constants, including ChurchRosser theorems, connection with de Bruijn representation, connection with other Isabelle formalizations, HOAS representation, and contituationpassingstyle (CPS) transformation; a proof in HOAS of strong normalization for the polymorphic secondorder λcalculus (a.k.a. System F). We also indicate the outline and some details of the formal development. ii to Leili R. Marleene iii