Results 1  10
of
24
A Linear Logical Framework
, 1996
"... We present the linear type theory LLF as the forAppeared in the proceedings of the Eleventh Annual IEEE Symposium on Logic in Computer Science  LICS'96 (E. Clarke editor), pp. 264275, New Brunswick, NJ, July 2730 1996. mal basis for a conservative extension of the LF logical framework. ..."
Abstract

Cited by 222 (45 self)
 Add to MetaCart
We present the linear type theory LLF as the forAppeared in the proceedings of the Eleventh Annual IEEE Symposium on Logic in Computer Science  LICS'96 (E. Clarke editor), pp. 264275, New Brunswick, NJ, July 2730 1996. mal basis for a conservative extension of the LF logical framework. LLF combines the expressive power of dependent types with linear logic to permit the natural and concise representation of a whole new class of deductive systems, namely those dealing with state. As an example we encode a version of MiniML with references including its type system, its operational semantics, and a proof of type preservation. Another example is the encoding of a sequent calculus for classical linear logic and its cut elimination theorem. LLF can also be given an operational interpretation as a logic programming language under which the representations above can be used for type inference, evaluation and cutelimination. 1 Introduction A logical framework is a formal system desig...
Structural Cut Elimination  I. Intuitionistic and Classical Logic
 Information and Computation
, 2000
"... this paper we present new proofs of cut elimination for intuitionistic and classical sequent calculi and give their representations in the logical framework LF [HHP93] as implemented in the Elf system [Pfe91]. Multisets are avoided altogether in these proofs, and termination measures are replaced b ..."
Abstract

Cited by 54 (18 self)
 Add to MetaCart
this paper we present new proofs of cut elimination for intuitionistic and classical sequent calculi and give their representations in the logical framework LF [HHP93] as implemented in the Elf system [Pfe91]. Multisets are avoided altogether in these proofs, and termination measures are replaced by three nested structural inductions. Parameters are treated as variables bound in derivations, thus naturally capturing occurrence conditions. A starting point for the proofs is Kleene's sequent system G 3 [Kle52], which we derive systematically from the point of view that a sequent calculus should be a calculus of proof search for natural deductions. It can easily be related to Gentzen's original and other sequent calculi. We augment G 3 with proof terms that are stable under weakening. These proof terms enable the structural induction and furthermore form the basis of the representation of the proof in LF. The most closely related work on cut elimination is MartinLo# f 's proof of admissibility [ML68]. In MartinLo# f 's system the cut rule incorporates aspects of both weakening and contraction which enables a structural induction argument closely related to ours. However, without the introduction of proof terms, the implicit weakening in the cut rule makes it difficult to implement this proof directly. Herbelin [Her95] restates this proof and proceeds by assigning proof terms only to restricted sequent calculi LJT and LKT which correspond more immediately to
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 54 (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
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
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
The Mechanisation of BarendregtStyle Equational Proofs (the Residual Perspective)
, 2001
"... We show how to mechanise equational proofs about higherorder languages by using the primitive proof principles of firstorder abstract syntax over onesorted variable names. We illustrate the method here by proving (in Isabelle/HOL) a technical property which makes the method widely applicable for ..."
Abstract

Cited by 9 (5 self)
 Add to MetaCart
We show how to mechanise equational proofs about higherorder languages by using the primitive proof principles of firstorder abstract syntax over onesorted variable names. We illustrate the method here by proving (in Isabelle/HOL) a technical property which makes the method widely applicable for the λcalculus: the residual theory of β is renamingfree upto an initiality condition akin to the socalled Barendregt Variable Convention. We use our results to give a new diagrambased proof of the development part of the strong finite development property for the λcalculus. The proof has the same equational implications (e.g., confluence) as the proof of the full property but without the need to prove SN. We account for two other uses of the proof method, as presented elsewhere. One has been mechanised in full in Isabelle/HOL.
Primitive recursion for higher order abstract syntax with dependent types
 In International Workshop on Intuitionistic Modal Logics and Applications (IMLA
, 1999
"... Higherorder abstract syntax is a central representation technique in logical frameworks which maps variables of the object language into variables in the metalanguage. It leads to concise encodings, but is incompatible with functions dened by primitive recursion or proofs by induction. In this pap ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
Higherorder abstract syntax is a central representation technique in logical frameworks which maps variables of the object language into variables in the metalanguage. It leads to concise encodings, but is incompatible with functions dened by primitive recursion or proofs by induction. In this paper we propose an extension of the simplytyped lambdacalculus with iteration and case constructs which preserves the adequacy of higherorder abstract syntax encodings. The wellknown paradoxes are avoided through the use of a modal operator which obeys the laws of S4. In the resulting calculus many functions over higherorder representations can be expressed elegantly. Our central technical result, namely that our calculus is conservative over the simplytyped lambdacalculus, is proved by a rather complex argument using logical relations. We view our system as an important rst step towards allowing the methodology of LF to be employed eectively in systems based on induction principles such as ALF, Coq, or Nuprl, leading to a synthesis of currently incompatible paradigms.
A Logic for Reasoning with HigherOrder Abstract Syntax
"... Logical frameworks based on intuitionistic or linear logics with highertype quantification have been successfully used to give highlevel, modular, and formal specifications of many important judgments in the area of programming languages and inference systems. Given such specifications, it is natu ..."
Abstract

Cited by 7 (2 self)
 Add to MetaCart
Logical frameworks based on intuitionistic or linear logics with highertype quantification have been successfully used to give highlevel, modular, and formal specifications of many important judgments in the area of programming languages and inference systems. Given such specifications, it is natural to consider proving properties about the specified systems in the framework: for example, given the specification of evaluation for a functional programming language, prove that the language is deterministic or that the subjectreduction theorem holds. One challenge in developing a framework for such reasoning is that higherorder abstract syntax (HOAS), an elegant and declarative treatment of objectlevel abstraction and substitution,is difficult to treat in proofs involving induction. In this paper, we present a metalogic that can be used to reason about judgments coded using HOAS; this metalogic is an extension of a simple intuitionistic logic that admits higherorder quantification over simply typedterms (key ingredients for HOAS) as well as induction and a notion of definition. The latter concept of a definition is a prooftheoretic device that allows certain theories to be treated as “closed ” or as defining fixed points. The resulting metalogic can specify various logical frameworks and a large range of judgments regarding programming languages and inference systems. We illustrate this point through examples, including the admissibility of cut for a simple logic and subject reduction, determinacy of evaluation, and the equivalence of SOS and natural semantics presentations of evaluation for a simple functional programming language. 1.
Combining higherorder abstract syntax with firstorder abstract syntax in ATS
 In ACM Workshop on Mechanized Reasoning about Languages with Variable Binding
, 2005
"... Abstract Encodings based on higherorder abstract syntax represent the variables of an objectlanguage as the variables of a metalanguage. Such encodings allow for the reuse of ffconversion, substitutionand hypothetical judgments already defined in the metalanguage and thus often lead to simple ..."
Abstract

Cited by 6 (1 self)
 Add to MetaCart
Abstract Encodings based on higherorder abstract syntax represent the variables of an objectlanguage as the variables of a metalanguage. Such encodings allow for the reuse of ffconversion, substitutionand hypothetical judgments already defined in the metalanguage and thus often lead to simple and natural formalization. However,it is also wellknown that there are some inherent difficulties with higherorder abstract syntax in supporting recursive definitions.We demonstrate a novel approach to explicitly combining higherorder abstract syntax with firstorder abstract syntax thatmakes use of a (restricted) form of dependent types. With this combination, we can readily define recursive functions over firstorderabstract syntax while ensuring the correctness of these functions through higherorder abstract syntax. We present an implementation of substitution and a verified evaluator for pure untyped callbyvalue *calculus. Categories and Subject Descriptors D.3 [Software]: Programming Languages
A TypeTheoretic Approach to Induction with HigherOrder Encodings
, 2001
"... Reasoning by induction is common practice in computer science and mathematics. In formal logic, however, standard induction principles exist only for a certain class of inductively defined structures that satisfy the positivity condition. This is a major restriction considering that many structures ..."
Abstract

Cited by 5 (4 self)
 Add to MetaCart
Reasoning by induction is common practice in computer science and mathematics. In formal logic, however, standard induction principles exist only for a certain class of inductively defined structures that satisfy the positivity condition. This is a major restriction considering that many structures in programming languages and logics are best expressed using higherorder representation techniques that violate exactly this condition. In this paper we develop induction principles for higherorder encodings in the setting of firstorder intuitionistic logic. They differ from standard induction principles in that they rely on the concept of worlds [Sch01] which admits reasoning about open terms in regularly formed contexts. The soundness of these induction principles follows from external termination and coverage considerations about a realizability interpretation of proofs.
Proving Correctness of the Translation from MiniML to the CAM with the Coq Proof Development System
 with the Coq Proof Development System. Research report RR2536, INRIA, Rocquencourt
, 1995
"... In this article we show how we proved correctness of the translation from a small applicative language with recursive definitions (MiniML) to the Categorical abstract machine (CAM) using the Coq system. Our aim was to mechanise the proof of J. Despeyroux [10]. Like her, we use natural semantics to ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
In this article we show how we proved correctness of the translation from a small applicative language with recursive definitions (MiniML) to the Categorical abstract machine (CAM) using the Coq system. Our aim was to mechanise the proof of J. Despeyroux [10]. Like her, we use natural semantics to axiomatise the semantics of our languages. The axiomatisations of inferences systems and of the languages is nicely performed by the mechanism of inductive definitions in the Coq system. Unfortunately both the source and the target semantics involve nested structures that cannot be formalised inductively. We have overcome this problem by making some slight modifications of both the source and target semantics and show how the changes in the source and target semantics are related. For the remaining tranlation we explain how we can use the Coq system to formalize nonterminating programs and incorrect programs, objects that are impossible to explain with only the formalism of natural semantic...