## A Logic for Reasoning with Higher-Order Abstract Syntax

### Cached

### Download Links

Citations: | 7 - 2 self |

### BibTeX

@MISC{Mcdowell_alogic,

author = {Raymond Mcdowell and Dale Miller},

title = {A Logic for Reasoning with Higher-Order Abstract Syntax},

year = {}

}

### OpenURL

### Abstract

Logical frameworks based on intuitionistic or linear logics with higher-type quantification have been successfully used to give high-level, 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 subject-reduction theorem holds. One challenge in developing a framework for such reasoning is that higherorder abstract syntax (HOAS), an elegant and declarative treatment of object-level abstraction and substitution,is difficult to treat in proofs involving induction. In this paper, we present a meta-logic that can be used to reason about judgments coded using HOAS; this meta-logic is an extension of a simple intuitionistic logic that admits higher-order quantification over simply typed-terms (key ingredients for HOAS) as well as induction and a notion of definition. The latter concept of a definition is a proof-theoretic device that allows certain theories to be treated as “closed ” or as defining fixed points. The resulting meta-logic 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.

### Citations

847 |
A formulation of the simple theory of types
- Church
- 1940
(Show Context)
Citation Context ...work. 2. Designing the meta-logic In this paper we use an intuitionistic logic for our metalogic; in particular, we start with an intuitionistic version of a subset of Church’s Simple Theory of Types =-=[5]-=- (assuming -conversion for the equality of terms). Formulas will have the type o, the logical constants for true and false are > and ?, for conjunction and implication are ^ and ,and universal and exi... |

303 | D.: Logic programming in a fragment of intuitionistic linear logic
- Hodas, Miller
- 1994
(Show Context)
Citation Context ...f bisimulation in our framework. In FO ∆IN we can easily represent object-logics other than the intuitionistic one used here. Encoding fragments of second-order linear logic, along the lines of Lolli =-=[16]-=- and Forum [27], can be done simply by changing the definition of seq given in Section 3. These various intuitionistic and linear logics are known to be able to capture a wide range of judgments in th... |

239 | The lazy lambda calculus
- Abramsky
- 1990
(Show Context)
Citation Context ...th the specification and reasoning was done in the meta-logic. We have already begun using the techniques presented in the current paper to extend that work to the setting of applicative bisimulation =-=[1]-=-. It would also be interesting to use Howe’s technique [17] to prove the congruence of bisimulation in our framework. In FO ∆IN we can easily represent object-logics other than the intuitionistic one ... |

169 |
A unification algorithm for typed -calculus
- Huet
- 1975
(Show Context)
Citation Context ...responds to the logic programming notion of backchaining if we think of 4 = in definitions as reverse implication. The left-introduction rule for defined concepts uses complete sets of unifiers (CSU) =-=[18]-=-: H ;Γ ,! B j 2 CSU(p ū; p ¯t) for some clause 8 ¯x:[p ¯t 4 = H] p ū; Γ ,! B def Lwhere is a substitution of terms for variables,Γ is a multiset of formulas, B is a formula, and the variables ¯x are ... |

123 | Primitive recursion for higherorder abstract syntax
- Despeyroux, Pfenning, et al.
- 1997
(Show Context)
Citation Context ...pe tm includes expressions that do not encode terms of the object-language. They avoid these exotic terms through the definition and use of a validation predicate. Despeyroux, Pfenning, and Schürmann =-=[8]-=- address the problem of exotic terms by using a modal operator to distinguish the types of parametric functions (expressible as -terms) from the types of arbitrary functions. As a result, their calcul... |

106 | Proving congruence of bisimulation in functional programming languages
- Howe
- 1996
(Show Context)
Citation Context ...gic. We have already begun using the techniques presented in the current paper to extend that work to the setting of applicative bisimulation [1]. It would also be interesting to use Howe’s technique =-=[17]-=- to prove the congruence of bisimulation in our framework. In FO ∆IN we can easily represent object-logics other than the intuitionistic one used here. Encoding fragments of second-order linear logic,... |

93 |
The ALF proof editor and its proof engine
- Magnusson, Nordström
- 1994
(Show Context)
Citation Context ...t most levels of a specification. Recently, logical specification languages have been used to not only describe how to perform computations but also describe properties about the encoded computations =-=[3, 19, 21, 38]-=-. By proving these properties in a formal framework, we can benefit from automated proof assistance and gain greater confidence in our results. However, this work has been done in languages that do no... |

83 | Using typed lambda calculus to implement formal systems on a machine
- Avron, Honsell, et al.
- 1987
(Show Context)
Citation Context ...ions of evaluation for a simple functional programming language. 1. Introduction Meta-logics and type systems have been used to specify the semantics of a wide range of logics and computation systems =-=[2, 4, 11, 34]-=-. This is done by making judgments, such as “the term M denotes a program,” “the program M evaluates to the value V ”, and “the program M has type T ”, into predicates that can be proved or types for ... |

66 | Implementing tactics and tacticals in a higher-order logic programming language
- Felty
- 1993
(Show Context)
Citation Context ...ions of evaluation for a simple functional programming language. 1. Introduction Meta-logics and type systems have been used to specify the semantics of a wide range of logics and computation systems =-=[2, 4, 11, 34]-=-. This is done by making judgments, such as “the term M denotes a program,” “the program M evaluates to the value V ”, and “the program M has type T ”, into predicates that can be proved or types for ... |

61 | Cut-elimination for a logic with definitions and induction
- McDowell, Miller
- 2000
(Show Context)
Citation Context ...opt this solution here. It is possible to loosen this restriction by either restricting occurrences of the modal operators ! and ? in a linear logic setting [13] or stratifying the defined predicates =-=[23]-=-, but we shall not require such flexibility in this paper. The right-introduction rule for defined atoms is Γ ,! H Γ ,! p ū def R; where p ū =(p¯t) for some clause 8 ¯x:[p ¯t 4 = H] where is a substit... |

59 | From operational semantics to abstract machines
- Hannan, Miller
- 1992
(Show Context)
Citation Context ..., all of type i ! i ! atm. The object-logic specifications for these are the usual ones, writtenintheL subset of higher-order logic [26] and are those common to specifications written in, say, Prolog =-=[15]-=- and Elf [32]. This object-level specification is represented at the meta-level as the definition D(lambda) shown in Table 1. (We have dropped the 4 = > body of these clauses.) This definition can be ... |

57 | Metalogical frameworks
- Basin, Constable
- 1993
(Show Context)
Citation Context ...t most levels of a specification. Recently, logical specification languages have been used to not only describe how to perform computations but also describe properties about the encoded computations =-=[3, 19, 21, 38]-=-. By proving these properties in a formal framework, we can benefit from automated proof assistance and gain greater confidence in our results. However, this work has been done in languages that do no... |

42 | Proof Theoretic Approach to Specification Languages
- Chirimar
- 1995
(Show Context)
Citation Context ...ions of evaluation for a simple functional programming language. 1. Introduction Meta-logics and type systems have been used to specify the semantics of a wide range of logics and computation systems =-=[2, 4, 11, 34]-=-. This is done by making judgments, such as “the term M denotes a program,” “the program M evaluates to the value V ”, and “the program M has type T ”, into predicates that can be proved or types for ... |

41 | Higher-order abstract syntax in Coq
- Despeyroux, Felty, et al.
- 1995
(Show Context)
Citation Context ...r (sequent-style) derivation. 5. Related work There are several other approaches to dealing with higherorder abstract syntax directly in a formalized meta-language. Despeyroux, Felty, and Hirschowitz =-=[7, 6]-=- show that induction principles for a restricted form of second-order abstract syntax can be derived in the Coq proof development system. To keep the definitions monotone, they introduce a separate ty... |

28 | A finitary version of the calculus of partial inductive definitions
- Eriksson
- 1991
(Show Context)
Citation Context ...reflection often considered between a meta-logic and object-logic)and to an inference rule used by Girard in his note on fixed points [13]. This particular presentation of the rule is due to Eriksson =-=[9]-=-. Notice that in the def L rule, the free variables of the conclusion can be instantiated in the premises (see item 3 in the list of desired meta-logic features). 2.3. Natural number induction We inco... |

22 | Higher-order abstract syntax with induction in Coq
- Despeyroux, Hirschowitz
- 1994
(Show Context)
Citation Context ...r (sequent-style) derivation. 5. Related work There are several other approaches to dealing with higherorder abstract syntax directly in a formalized meta-language. Despeyroux, Felty, and Hirschowitz =-=[7, 6]-=- show that induction principles for a restricted form of second-order abstract syntax can be derived in the Coq proof development system. To keep the definitions monotone, they introduce a separate ty... |

17 | Catuscia Palamidessi. Encoding transition systems in sequent calculus - McDowell, Miller |

16 | Experience with FS0 as a framework theory
- Matthews, Smaill, et al.
- 1993
(Show Context)
Citation Context ...t most levels of a specification. Recently, logical specification languages have been used to not only describe how to perform computations but also describe properties about the encoded computations =-=[3, 19, 21, 38]-=-. By proving these properties in a formal framework, we can benefit from automated proof assistance and gain greater confidence in our results. However, this work has been done in languages that do no... |

9 |
A fixpoint theorem in linear logic. A message posted on the mailing list linear@cs.stanford.edu, see http://www.csl.sri.com/linear/mailing-list-traffic/ www/07/mail_3.html
- Girard
- 1992
(Show Context)
Citation Context ...mplication in clause bodies [36], and we adopt this solution here. It is possible to loosen this restriction by either restricting occurrences of the modal operators ! and ? in a linear logic setting =-=[13]-=- or stratifying the defined predicates [23], but we shall not require such flexibility in this paper. The right-introduction rule for defined atoms is Γ ,! H Γ ,! p ū def R; where p ū =(p¯t) for some ... |

1 |
Specifying theorem provers in a higher-orderlogic programming language
- Felty, Miller
- 1988
(Show Context)
Citation Context ...onsideration. In this way, we can talk directly about the structure of object-logic sequents and their provability. This technique of representing a logic within a logic is not new (see, for example, =-=[12, 31]-=- for some early references) and corresponds to the structure of common informal reasoning. In the next section we present our meta-logic and motivate its design through an informal proof of subject re... |

1 |
Partial inductivedefinitions
- Hallnäs
- 1991
(Show Context)
Citation Context ...ve definitions and natural number induction. Induction on natural numbers allows us to derive other induction principles via the construction of an appropriate measure. A partial inductive definition =-=[14]-=- is a prooftheoretic formalization that allows certain theories to betreated as “closed” or as defining fixed points. This allows us to perform case analyses on the defined judgments. We use this def... |

1 |
A practical implementation of simple consequence relations using inductive definitions
- Matthews
- 1997
(Show Context)
Citation Context ...ation of such external validity conditions. Matthews seeks to reconcile the advantages of LF-style encodings with the facilities for meta-theoretic analysis found in theories of inductive definitions =-=[20]-=-. His approach has some similarity to our own, in that he creates a three-level hierarchy, with each level being encoded in the previous. As in our approach, his top level contains a definition facili... |

1 | Proving meta-theorems in a logical framework. Dissertation proposal
- McDowell
- 1996
(Show Context)
Citation Context ... Proof The proofs of Schroeder-Heister in [36] regarding cut-elimination for definitionsdo not appear to extend to our setting where induction is included. A complete proof of this theorem appears in =-=[22, 23]-=- and is modeled on proofs by Tait and Martin-Löf that use the technical notions of normalizability and computability. The following corollary is an immediate consequence of this cut-elimination theore... |