Results 1 
4 of
4
Logic Programming in the LF Logical Framework
, 1991
"... this paper we describe Elf, a metalanguage intended for environments dealing with deductive systems represented in LF. While this paper is intended to include a full description of the Elf core language, we only state, but do not prove here the most important theorems regarding the basic building b ..."
Abstract

Cited by 175 (50 self)
 Add to MetaCart
this paper we describe Elf, a metalanguage intended for environments dealing with deductive systems represented in LF. While this paper is intended to include a full description of the Elf core language, we only state, but do not prove here the most important theorems regarding the basic building blocks of Elf. These proofs are left to a future paper. A preliminary account of Elf can be found in [26]. The range of applications of Elf includes theorem proving and proof transformation in various logics, definition and execution of structured operational and natural semantics for programming languages, type checking and type inference, etc. The basic idea behind Elf is to unify logic definition (in the style of LF) with logic programming (in the style of Prolog, see [22, 24]). It achieves this unification by giving types an operational interpretation, much the same way that Prolog gives certain formulas (Hornclauses) an operational interpretation. An alternative approach to logic programming in LF has been developed independently by Pym [28]. Here are some of the salient characteristics of our unified approach to logic definition and metaprogramming. First of all, the Elf search process automatically constructs terms that can represent objectlogic proofs, and thus a program need not construct them explicitly. This is in contrast to logic programming languages where executing a logic program corresponds to theorem proving in a metalogic, but a metaproof is never constructed or used and it is solely the programmer's responsibility to construct objectlogic proofs where they are needed. Secondly, the partial correctness of many metaprograms with respect to a given logic can be expressed and proved by Elf itself (see the example in Section 5). This creates the possibilit...
Unification and AntiUnification in the Calculus of Constructions
 In Sixth Annual IEEE Symposium on Logic in Computer Science
, 1991
"... We present algorithms for unification and antiunification in the Calculus of Constructions, where occurrences of free variables (the variables subject to instantiation) are restricted to higherorder patterns, a notion investigated for the simplytyped calculus by Miller. Most general unifiers and ..."
Abstract

Cited by 63 (15 self)
 Add to MetaCart
We present algorithms for unification and antiunification in the Calculus of Constructions, where occurrences of free variables (the variables subject to instantiation) are restricted to higherorder patterns, a notion investigated for the simplytyped calculus by Miller. Most general unifiers and least common antiinstances are shown to exist and are unique up to a simple equivalence. The unification algorithm is used for logic program execution and type and term reconstruction in the current implementation of Elf and has shown itself to be practical. The main application of the antiunification algorithm we have in mind is that of proof generalization. 1 Introduction Higherorder logic with an embedded simplytyped  calculus has been used as the basis for a number of theorem provers (for example [1, 19]) and the programming language Prolog [16]. Central to these systems is an implementation of Huet's preunification algorithm for the simplytyped calculus [12] which has shown it...
Desiderata for Interactive Verification Systems
, 1994
"... What facilities should an interactive verification system provide? We take the pragmatic view that the particular logic underlying a proof system is not as important as the support that is provided. Although a plethora of logics have been implemented, we think that there is a common kernel of suppor ..."
Abstract
 Add to MetaCart
What facilities should an interactive verification system provide? We take the pragmatic view that the particular logic underlying a proof system is not as important as the support that is provided. Although a plethora of logics have been implemented, we think that there is a common kernel of support that a proof system ought to provide. Towards this end, we give detailed suggestions for verification support in three major areas: formalization, proof, and interface. Although our perspective comes from experience with highly expressive logics such as set theory, higher order logic, and type theory, we think our analyses apply more generally. Introduction Currently, theorem provers are used in the verification of both hardware and software [GM93, ORS92, BM90, HRS90, FFMH92], the formalization of informal mathematical proofs [FGT90, CH85, Pau90b], the teaching of logic[AMC84], and as tools of mathematical and metamathematical research [WWM + 90, CAB + 86]. 1 In this paper we describ...
A refinement of de Bruijn's formal language of mathematics
 Journal of Logic, Language and Information
, 2004
"... We provide a syntax and a derivation system for a formal language of mathematics called Weak Type Theory (WTT). We give the metatheory of WTT and a number of illustrative examples. WTT is a refinement of de Bruijn's Mathematical Vernacular (MV) and hence: WTT is faithful to the mathematician's lang ..."
Abstract
 Add to MetaCart
We provide a syntax and a derivation system for a formal language of mathematics called Weak Type Theory (WTT). We give the metatheory of WTT and a number of illustrative examples. WTT is a refinement of de Bruijn's Mathematical Vernacular (MV) and hence: WTT is faithful to the mathematician's language yet is formal and avoids ambiguities.