54 citations found. Retrieving documents...
Amy Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, Department of Computer and Information Science, University of Pennsylvania, July 1989.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents  Next 50

Implementation Considerations for Higher-Order Features in.. - Jayaraman, Wilson   (Correct)

....be added to this language. We attempt to motivate such additions and to describe informally the syntax and semantics of the resulting language. However, our discussions will not be comprehensive in either respect. The usefulness of higher order features is examined in several other places (e.g. [12, 16, 25, 26, 37]) and a logic underlying the proposed extension will be presented more precisely in the next section. A higher order ability that is usually coveted in programming contexts is that of passing procedures as arguments to other procedures and of returning these as the results of computations. ....

Amy Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, University of Pennsylvania, August 1989.


Implementing Polymorphic Typing in a Logic Programming.. - Kwon, Nadathur, Wilson (1993)   (3 citations)  (Correct)

.... work presented here is that of providing a good implementation for the higher order logic programming language called Prolog [19] that, amongst other things, incorporates such a notion of typing [20] Numerous applications have been discovered for this language over the last few years (e.g. see [4, 5, 7, 14, 22]) stressing the importance of this concern. In providing a robust and ecient implementation for Prolog, three aspects that are novel to this language have to be dealt with: its higher order features, its new search primitives and its typing regimen. The ideas discussed in this paper complement ....

Amy Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, University of Pennsylvania, August 1989.


A Pragmatic Reconstruction of λProlog - Belleannée, Brisset, Ridoux (1994)   (Correct)

....They can be used respectively in terms and formulas for reflecting each other. This is what we call the symmetry between abstraction and universal quantification. 3.4.2. Example. Let us define a predicate that relates a first order predicate calculus formula and its negation normal form [16]. A first order predicate calculus formula is in negation normal form if the negation connective is only applied to atomic formulas. For instance, A) B) is in negation normal form, but : AB) is not. It is always possible to transform a first order predicate calculus formula into an equivalent ....

A. Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD Dissertation, Dept. of Computer and Information Science, University of Pennsylvania, 1989.


Unification in a lambda-Calculus with Intersection Types - Kohlhase, Pfenning   (Correct)

....such as 8D: d 8G: g (hyp(D) solve(G) solve(D G) is permitted if we have the typings solve: g g and hyp: d d. We have many other examples where re nement types are bene cial in higher order logic programming. For example, in the higher order representation of natural deductions [1] one can distinguish normal forms as a re nement of arbitrary derivations instead of explicitly encoding two different representations. In the implementation of functional languages [ re nement types can distinguish values from arbitrary expressions instead of leaving this distinction implicit. ....

Amy Felty. Specifying and Implementing Theorem Provers in a HigherOrder Logic Programming Language. PhD thesis, Department of Computer and Information Science, University of Pennsylvania, July 1989.


Structural Cut Elimination - I. Intuitionistic and Classical Logic - Pfenning (2000)   (2 citations)  (Correct)

....between natural deductions and the typed expressions used for their representation. Finding an elegant encoding of sequents and sequent derivations in a logical framework is therefore the first critical issue in an implementation of a proof of cut elimination. Felty s representation [Fel89] in Prolog, for example, uses lists of hypotheses, which is advantageous for search but makes a formal meta theory prohibitively complex. Frameworks based on sequent calculi such as LU [Gir93] or Forum [Mil94] allow direct encodings, but they lack a notation for the proof terms that are required ....

Felty, A. (1989), Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language," Ph.D. thesis, University of Pennsylvania. [Available as Technical Report MS-CIS-89-53]


Semantic Interpretation as Higher-Order Deduction - Pereira (1991)   (11 citations)  (Correct)

....of rules abs and app [40] 2. 2 Rule Metalanguage The treatment of abstractions in semantic interpretation may also be examined in terms of a formalization of semantic interpretation rules in a suitable higherorder logic, as has been done for inference rules of various logics by Felty and Miller [13, 14] using as rule metalanguage the higher order hereditary Harrop formulas [29] implemented in #Prolog [36, 37] Rather than repeating here the precise definitions found elsewhere [13, 29, 36] the language will be introduced by showing how the typing rules of the previous section would be expressed ....

.... rules in a suitable higherorder logic, as has been done for inference rules of various logics by Felty and Miller [13, 14] using as rule metalanguage the higher order hereditary Harrop formulas [29] implemented in #Prolog [36, 37] Rather than repeating here the precise definitions found elsewhere [13, 29, 36], the language will be introduced by showing how the typing rules of the previous section would be expressed [13] The #Prolog program in Figure 2 consists of certain declarations followed by two clauses. The declarations specify expr and ty as the atomic types of (objectlevel) expressions and ....

[Article contains additional citation context not shown here]

A. P. Felty. Specifying and Implementing Theorem Provers in a HigherOrder Logic Programming Language. PhD thesis, Department of Computer and Information Science, University of Pennsylvania, Philadelphia, Pennsylvania, 1989.


A Logical Framework Formulation Of Deductive Generalization - Chuck Liang University (1994)   (Correct)

....syntax. We will use Prolog syntax when we wish to emphasize that something is being regarded as a Prolog expression. For a more detailed introduction to Prolog, please see [11] 1. 3 Prolog as a logical framework Prolog has been used to specify a variety of logics and theorem provers (see [4]) We shall examine one way in which proofs and formulas can be represented below. Natural Deduction Proof System for (a fragment) of first order logic We shall use a Gentzen style natural deduction system (NJ) in reasoning about proofs. A NJ proof checker can be formulated in Prolog in the ....

....shall examine one way in which proofs and formulas can be represented below. Natural Deduction Proof System for (a fragment) of first order logic We shall use a Gentzen style natural deduction system (NJ) in reasoning about proofs. A NJ proof checker can be formulated in Prolog in the style of [4]. Assume there are primitive types i, bool and proof for terms, formulas and proof objects, respectively. type signals a typing declarations. Each introduction and elimination rule is associated with a proof term constructor 1 . type imp bool bool bool. type all (i bool) bool. type ....

[Article contains additional citation context not shown here]

A. Felty. Specifying And Implementing Theorem Provers in a HigherOrder Logic Programming Language. Ph.D. Thesis. University of Pennsylvania, August 1989. 15


Extensions to Logic Programming Motivated by the Construction of.. - Gunter (1991)   (1 citation)  (Correct)

....attempting to implement an interactive generic theorem prover. However, we shall endeavor to appeal to those concerns which have broad applicability, and to skirt those issues that seem peculiar to this particular problem. For more on the particulars of implementing a generic theorem prover, see [2, 3, 4, 11]. The particular language that was used in the building of a generic theorem prover was the higher order logic programming language Prolog, initially designed and prototype implemented by Nadathur and Miller [10] and subsequently reimplemented as part of the Ergo project at CMU by Pfenning and ....

....cation in our meta language helps to provide us with a uniform way to present the inference rules of our logical system, particularly when that system is a natural deduction system. For more detail on the requirements of a meta logic for expressing the inference rules of an object logic, see [3, 2, 11]. 3 Modules and Abstract Modules The need for having some form of encapsulation when doing medium to large scale programming has long been recognized. This need is made quite apparent when one considers the problem of constructing a generic theorem prover. The very nature of the problem of ....

Amy Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, University of Pennsylvania, 1989.


Substitutions As Logic Programming Specifications - Liang   (Correct)

....a more detailed introduction to the various aspects of Prolog, please see [14] 1.2.3 Specifying formal proof systems Prolog is a higher order logic programming language which embodies the concepts of a logical framework. It has been used to specify a variety of logics and theorem provers (see [4]) We give the example of formulating first order logic and Gentzen style natural deduction (the NJ system) Natural Deduction Proof System for (a fragment) of first order logic A NJ proof checker can be formulated in Prolog in the style of [4] with the signature, or module, below. Assume there ....

.... specify a variety of logics and theorem provers (see [4] We give the example of formulating first order logic and Gentzen style natural deduction (the NJ system) Natural Deduction Proof System for (a fragment) of first order logic A NJ proof checker can be formulated in Prolog in the style of [4] with the signature, or module, below. Assume there are primitive types i, bool and proof for terms, formulas and proof objects, respectively. type signals a typing declarations. Each introduction and elimination rule is associated with a proof term constructor 1 . 1 The following program in ....

[Article contains additional citation context not shown here]

Amy Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, University of Pennsylvania, August 1989.


Specifying Object-Level Unification in PROLOG - Liang (1993)   (Correct)

....for meta level logic variables. It may therefore seem natural to use logic variables to represent object level variables, since we can then take advantage of Prolog s built in unification algorithm to perform tasks on object level terms in a declarative fashion. Many systems, including [1] use this paradigm with great success. However, this method can not work in general. Logic variables are by definition either universally quantified variables in program clauses or existentially quantified variables in goal clauses. This restricts the properties they can represent successfully. ....

A. Felty. Specifying And Implementing Theorem Provers in a Higher-Order Logic Programming Language. Ph.D. Thesis. University of Pennsylvania, August 1989.


The Architecture of an Implementation of λProlog.. - Brisset, Ridoux (1992)   (2 citations)  (Correct)

....recognising that some representation already exists and reusing it. Folding amounts to recognising that two different representations represent the same thing and replacing one by the other. We assume a basic knowledge of Prolog and Prolog. 2 Introduction The logic programming language Prolog [28, 27, 29, 15, 13, 26, 14, 30] improves greatly on standard Prolog because it features very powerful operations on terms and programs while still giving them a logical semantics. A keyword common to all these features is scoping. terms introduce scoping at the term level, explicit quantifications (universal and existential) ....

A. Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD Dissertation, Dept. of Computer and Information Science, University of Pennsylvania, 1989.


Logic Programming in a Fragment of Intuitionistic Linear.. - Hodas, Miller (1991)   (224 citations)  (Correct)

....for several years as specification languages and logic programming languages. For example, first order and higher order versions of hereditary Harrop formulas (formulas with no positive occurrences of disjunctions or existentials) have been used as both specification languages for proof systems [7, 8, 25, 29] and as the basis of logic programming languages [9, 12, 18, 20, 21] Much of the expressivity of such systems derives from the the intuitionistic proof rule which states that to prove an implicational goal of the form D oe G in the presence of a proof context Gamma, the context is augmented with ....

Amy Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, University of Pennsylvania, August 1989.


On Extensibility of Proof Checkers - Pollack (1995)   (2 citations)  (Correct)

....The Edinburgh Logical Framework (LF) HHP92] is a logic of total functions and first order dependent types. However, lacking internally definable inductive types, it is not adequate as a meta language to be used as I am suggesting. Similarly, other frameworks such as Isabelle and Prolog [Fel89] which are proof theoretically stronger than LF but also lack inductively defined relations, are not suitable. These three frameworks can express the syntactical constructors of such things as terms, formulas and proofs, as introduction rules , but they lack a notion of inductiveness ....

Amy P. Felty. Specifying and Implementing Theorem Provers in a HigherOrder Logic Programming Language. PhD thesis, University of Pennsylvania, September 1989. MS-CIS-89-53.


Scoping Constructs in Logic Programming: Implementation.. - Nadathur, Jayaraman.. (1993)   (14 citations)  (Correct)

....of the abstraction, but our representation of terms ensures that E(x) the application of E to x produces the desired effect. The examples that we have considered above have been of a very simple nature. More extensive examples may be found in various places in the literature (see, for example, [4, 14, 13, 6, 23]) We believe, however, that the examples presented here are sufficient for understanding the intended semantics and appreciating the value of the new logical symbols. In the following sections we provide a precise definition of a logical language that includes implications and universal ....

Amy Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, University of Pennsylvania, August 1989.


Implementation Considerations for Higher-Order Features in.. - Nadathur, Wilson (1993)   (5 citations)  (Correct)

....be added to this language. We attempt to motivate such additions and to describe informally the syntax and semantics of the resulting language. However, our discussions will not be comprehensive in either respect. The usefulness of higher order features is examined in several other places (e.g. [12, 16, 25, 26, 37]) and a logic underlying the proposed extension will be presented more precisely in the next section. A higher order ability that is usually coveted in programming contexts is that of passing procedures as arguments to other procedures and of returning these as the results of computations. ....

Amy Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, University of Pennsylvania, August 1989.


On the Parallel Implementation of the Higher-Order Logic.. - Arcelli, Formato   (Correct)

.... conversion to be done efficiently. Moreover, an important issue deals with the right interplay of higher order unification and polymorphic types [Kwon 92] Prolog have been used for many purposes such as applications in computational linguistic [Miller 86] for implementing theorem provers [Felty 89] in program transformations [Hannan 88] and for manipulating formulas and programs [Miller 87] These experiments have indicated the usefulness of the language, especially of its higher order features, and thus it is of considerable value to have efficient implementations of Prolog, that are ....

A. Felty, Specifying and Implementing Theorem Provers in a HigherOrder Logic Programming Language, Ph.D Thesis, University of Pennsylvania, Aug. 1989.


The Architecture of an Implementation of λProlog.. - Brisset, Ridoux (1994)   (2 citations)  (Correct)

....nouveaut es de Prolog comme les types, la fi r eduction et la suspension de l unification. Mots cl e : Impl ementation, Programmation logique, Prolog, Gestion de m emoire, Mali The Architecture of an Implementation of Prolog: Prolog Mali 3 1 Introduction The logic programming language Prolog [30, 29, 31, 17, 15, 28, 16, 32] improves on standard Prolog because it features more powerful operations on terms and programs while still giving them a logical semantics. A keyword common to all these features is scoping. Terms introduce scoping at the term level, explicit quantifications (universal and existential) introduce ....

A. Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD Dissertation, Dept. of Computer and Information Science, University of Pennsylvania, 1989.


A Semi-Functional Implementation of a Higher-Order Logic.. - Elliott, Pfenning (1990)   (30 citations)  (Correct)

....: dset) sc 9 Higher Order Logic The language of higher order terms introduced so far has not changed the underlying logic of our logic programming language: it is still a rst order 38 logic, though over a very rich domain. This is sucient for many application programs (see, for example, [10]) but there are instances where it is very elegant and natural to allow true higher order programming. By higher order programming we mean the ability of programs to construct other programs (to be assumed) and other goals (to be invoked) In Prolog some semblance of such a facility is provided ....

Amy Felty. Specifying and Implementing Theorem Provers in a HigherOrder Logic Programming Language. PhD thesis, Department of Computer and Information Science, University of Pennsylvania, July 1989.


A Framework for Defining Logics - Harper, Honsell, Plotkin (1987)   (380 citations)  (Correct)

....logic [38, 39] Constable and Howe [8] demonstrated the use of NuPRL as a logical framework, emphasizing the use of the richer type structure of the NuPRL type theory in an encoding. More recently, Felty has studied the representation of logics in Prolog, in particular, the LF type theory itself [18]. Mendler and Aczel [32] are developing the theory of MaThImP, as system for doing inter35 active mathematics on a machine that is similarly based on a general theory of logical systems, albeit of a rather different flavor than that considered here. Feferman has proposed a theory of formal systems ....

Felty, A. Specifying and Implementing Theorem Provers in a HigherOrder Logic Programming Language. PhD thesis, Department of Computer and Information Science, University of Pennsylvania, July 1989.


Head-Tactics Optimization - Bertot (1997)   (Correct)

.... are generated from an inter 3 pretation of locations selected by the user, has been formally described in [2] and [4] It has been implemented in several experiments of proof environments, based on a variety of proof systems: Isabelle [20] HOL [21] a theorem prover developped in prolog [8], and Coq [13] all using a structure editor [22,5] to facilitate the input of mouse location information. Although the initial algorithm is intended for icommonj logics, extensions of this notion have also been studied for modal logic [10] On the implementation side, the importance of structure ....

Amy Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, University of Pennsylvania, 1989.


Intersection Types for a Logical Framework - Frank Pfenning (1992)   (6 citations)  (Correct)

....subtypes. Natural Deductions in Normal Form. The next example illustrates that we often want to make subtype distinctions at the level of deductions and not only at the level of syntax. We follow the usual representation of natural deduction in LF [HHP93] and Felty s trick to enforce normal forms [Fel89]. We restrict ourselves to the purely implicational fragment. x A . B oe I x A oe B A oe B A oe E B The deduction in the premise of the implication introduction rule discharges the hypothesis A labelled x and is represented as a function from deductions of A to deductions of B. The ....

Amy Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, Department of Computer and Information Science, University of Pennsylvania, July 1989. Available as Technical Report MS-CIS-89-53.


A Generic Approach to Building User Interfaces for Theorem.. - Bertot, Théry (1996)   (10 citations)  (Correct)

....in this paper will instead be based on communicating programs. This technique enables us to reuse existing software, as can be shown by the number of proof systems to which we have been able to adapt user interfaces (some of these interfaces are no longer maintained) Amy Felty s theorem prover (Felty (1989)) HOL (Gordon Melham (1993) Isabelle (Paulson Nipkow (1994) LEGO (Luo Pollack (1992) and Coq (Dowek et al. 1993) Our initial idea was to take advantage of the similarity between constructing proofs and constructing programs. We have used the Centaur system (Borras et al. 1988) a ....

Felty, A. (1989). Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, University of Pennsylvania.


Finitary Partial Inductive Definitions as a General Logic - Lars-Henrik Eriksson (1994)   (Correct)

....their inference rules using the metalogic. The most well known work in this area are the Edinburgh Logical Framework (LF) 14] which represents logics using a dependent type system, and the metalogic of Isabelle [18] which uses higher order resolution. A third interesting approach is that of Felty [7, 8]. Felty s work intends to specify theorem provers using a higher order logic programming language (specifically lProlog [17] In that respect, her approach is quite similar to that of Isabelle in that languages of the lProlog family implement higher order resolution. There are, however, important ....

....the D rule, it would be possible to derive metalogical results about the specified deductive system. e.g. it should in principle be possible to derive such proof theoretical results as cut elimination or normalisation, although we have not made any practical attempts in this direction. In [8], Felty also proves that LF can be interpreted in her system, so these approaches to general logic as well as the Isabelle approach have the same generality as ours. What is unique about our work is the semantic approach to general logic. The dependence of both the D and D rules on the ....

Felty, A.P.: Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language, Ph.D. thesis MS-CIS-89-53, University of Pennsylvania, 1989.


Proof by Pointing - Bertot, Kahn, Théry (1994)   (18 citations)  (Correct)

....a general principle called proof by pointing that allows the user to guide precisely the proof process with the mouse of his workstation. This idea is widely applicable and has been implemented by the authors in userinterfaces for several proof development systems: Amy Felty s Theorem Prover [Felty89], Coq [Coq91] HOL [HOL88] and Isabelle [Isa90] The paper is organized as follows: first, we give an example of the kind of interaction that results from adopting our principle. Then the second section describes rigorously the principle, its logical foundations and simple consequences. The third ....

....will arise again in the paper in section 4. To make proofs less cumbersome, we will want to dispose of certain assumptions. In doing so, one must be careful not to sacrifice completeness. 3 Implementation Proof by pointing has been implemented for several proof assistants: Felty s theorem prover [Felty89], Coq [Coq91] HOL[HOL88] and Isabelle [Isa90] We used the Centaur system [Centaur93] as a toolkit for building interfaces, mostly for the ability to point at a subexpression with the mouse. As a matter of principle, we tried not to modify the proof engines at all. This is easier if the user is ....

A. Felty, Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language, PhD Thesis, University of Pennsylvania, August 1989.


Using Typed Lambda Calculus to Implement Formal.. - Avron, Honsell.. (1992)   (55 citations)  (Correct)

....ESPRIT Basic Research Action 3245 Logical Frameworks: Design, Implementation and Experiment . A selection of papers presented in the first Workshop are collected in the book [25] Among the recent work most closely related to the topics presented here we mention Frank Pfenning [42] and Amy Felty [17, 18, 19]. This paper is organized as follows. In section 2 we introduce the LF specification language (or type theory) In section 3 we discuss the LF paradigm for specifying a logical system. The subsequent sections illustrate this paradigm. Section 4 deals with modal logics. Section 5 deals with various ....

Amy Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language PhD thesis, University of Pennsylvania, August 1989.


Substitutions for Proofs and Types as Logic Programming (Extended.. - Liang (1996)   (Correct)

....declarative logical framework. In such a framework LF specifications, and substitutions for LF expressions, should be rendered as directly executable specifications. A logic programming language based on intuitionistic logic, such as Prolog [8] can be used for this purpose. It has been shown [6, 9, 1] that a higher order 1 intuitionistic logic programming language can be used to support a natural, higher order abstract syntax of object level expressions involving bound variable scopes (such as quantified formulas of first order logic) In addition, theorem proving in natural deduction and ....

Amy Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, University of Pennsylvania, August 1989.


Refinement Types for Logical Frameworks - Frank Pfenning (1993)   (27 citations)  (Correct)

....Natural Deductions in Normal Form. The next example illustrates that we often want to make subtype distinctions at the level of deductions and not only at the level of syntax. We follow the usual representation of natural deduction in LF [HHP93] and Felty s trick to enforce normal forms [Fel89]. We restrict ourselves to the purely implicational fragment. x A . B oe I x A oe B A oe B A oe E B The deduction in the premise of the implication introduction rule discharges the hypothesis A labelled x and is represented as a function from deductions of A to deductions of B. The ....

Amy Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, Department of Computer and Information Science, University of Pennsylvania, July 1989. Available as Technical Report MSCIS -89-53.


Program Derivation by Proof Transformation - Anderson (1993)   (7 citations)  (Correct)

....flexibility and independence of the choice of logic and theorem proving tools can support quite different lines of research, yet al..low sharing of techniques between them. 140 6.3 Future work The implementation described here could be improved and extended in a number of ways. The work of Felty [Fel89] on the specification and implementation of theorem provers in the closely related setting of Prolog, combined with our work, would provide a basis for a complete implementation in Elf of support for programming by theorem proving. The tacticals she developed for theorem provers in Prolog could ....

Amy Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, Department of Computer and Information Science, University of Pennsylvania, July 1989. Available as Technical Report MS-CIS-89-53.


A Semi-Functional Implementation of a Higher-Order Logic.. - Elliott (1991)   (30 citations)  (Correct)

....: dset) sc 9 Higher Order Logic The language of higher order terms introduced so far has not changed the underlying logic of our logic programming language: it is still a first order logic, though over a very rich domain. This is sufficient for many application programs (see, for example, [10]) but there are instances where it is very elegant and natural to allow true higher order programming. By higher order programming we mean the ability of programs to construct other programs (to be assumed) and other goals (to be invoked) In Prolog some semblance of such a facility is provided ....

Amy Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, Department of Computer and Information Science, University of Pennsylvania, July 1989.


A Generic Approach to Building User Interfaces for Theorem.. - Bertot, Théry (1995)   (10 citations)  (Correct)

....in this paper will instead be based on communicating programs. This technique enables us to reuse existing software, as can be shown by the number of proof systems to which we have been able to adapt user interfaces (some of these interfaces are no longer maintained) Amy Felty s theorem prover (Felty (1989)) HOL (Gordon Melham (1993) Isabelle (Paulson Nipkow (1994) LEGO (Luo Pollack (1992) and Coq (Dowek et al. 1993) We take advantage of the similarity between constructing proofs and constructing programs. We have used the Centaur system (Borras et al. 1988) a programming ....

Felty, A. (1989). Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, University of Pennsylvania.


Proceedings Of The 1992 Workshop On Types For Proofs And.. - Nordström, Petersson.. (1992)   (Correct)

....and whose terms would be deliverables, thus following the insight of Martin Lof; but we have not yet worked out this approach. The basic approach was proposed in an unpublished talk by Burstall at the Bastad Workshop on type theory in 1988. A brief account by the present authors appeared as [4], and a full treatment of work so far is in McKinna s thesis [25] 2 Review of ECC and a simple example Luo s Extended Calculus of Constructions, ECC, 21, 22] is a rich type theory containing Coquand and Huet s Calculus of Constructions [6, 7] as a subsystem, together with strong Sigma types ....

....References [1] J.B enabou, Fibred categories and the foundations of naive category theory , JSL, 1985. 2] S. Berardi, Type Dependence and Constructive Mathematics , Ph.D. thesis, Dipartimento di Informatica, Torino, Italy 1990. 3] N.G. de Bruijn, A survey of the project AUTOMATH , in: 36] [4] R.M.Burstall and J.H.McKinna, Deliverables: an approach to program development in Constructions , in [17] also available as a University of Edinburgh technical report ECS LFCS91 133. 5] R.Constable et al. Implementing Mathematics with the NuPrl Proof Development System, Prentice Hall, New ....

[Article contains additional citation context not shown here]

A. Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD theses, University of Pennsylvania, 1989.


A Structural Proof of Cut Elimination and Its Representation in.. - Pfenning (1994)   (10 citations)  (Correct)

....between natural deductions and the typed expressions used for their representation. Finding an elegant encoding of sequents and sequent derivations in a logical framework is therefore the first critical issue in an implementation of a proof of cut elimination. Felty s representation [Fel89] in Prolog, for example, uses lists of hypotheses which is advantageous for search but makes a formal meta theory prohibitively complex. Frameworks based on sequent calculi such as LU [Gir93] or Forum [Mil94] allow direct encodings, but they lack a notation for the proof terms that are required ....

Amy Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, University of Pennsylvania, August 1989. Available as Technical Report MS-CIS-89-53.


Representing Proof Transformations for Program Optimization - Anderson (1994)   (6 citations)  (Correct)

....formal logic like proof transformation has been to use a separate programming language, such as ML, as a metalanguage for a type theory considered as an object logic. A more recently developed strategy, which has been applied to programming language semantics [13] 12] 19] theorem provers [8], 9] and the metatheory of deductive systems [29] is the use of a higher order logic programming language as a logical framework. This is the basis of the approach taken here. The Elf programming language [27] supports this strategy by providing an operational interpretation to the Edinburgh ....

Amy Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, Department of Computer and Information Science, University of Pennsylvania, July 1989. Available as Technical Report MS-CIS-89-53.


Logic Programming in the LF Logical Framework - Pfenning (1991)   (138 citations)  (Correct)

....to be more declarative and easier to understand. Often one can take what authors bill as an algorithmic version of an inference system and implement it in Elf with very little additional work. Moreover, it is possible to implement tactics and tacticals in Elf along the lines proposed by Felty [8]. Such tactics are also often easier to write and understand than tactics written in a functional style, since they inherit a notion of meta variable (the logic variable, in logic programming terminology) a notion of unification, and nondeterminism and backtracking in a uniform way from the ....

....are used to describe when inference rules should be applied. Elf gives meta programs a much more declarative flavor, and programs tend to be easier to read and have more predictable behavior than tactics. Moreover, tactics can easily be defined within Elf (similarly to Felty s formulation [8]) Finally, by programming directly Logic Programming in the LF Logical Framework 15 in a language with dependent types, static typechecking can make stronger correctness guarantees than functional meta languages without dependent types (such as ML, for example) The way dependent types can be ....

Amy Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, Department of Computer and Information Science, University of Pennsylvania, July 1989.


Implementing Polymorphic Typing in a Logic Programming.. - Kwon, Nadathur, Wilson (1994)   (3 citations)  (Correct)

.... work presented here is that of providing a good implementation for the higher order logic programming language called Prolog [19] that, amongst other things, incorporates such a notion of typing [20] Numerous applications have been discovered for this language over the last few years (e.g. see [4, 5, 7, 14, 22]) stressing the importance of this concern. In providing a robust and efficient implementation for Prolog, three aspects that are novel to this language have to be dealt with: its higher order features, its new search primitives and its typing regimen. The ideas discussed in this paper complement ....

Amy Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, University of Pennsylvania, August 1989.


Object-Level Substitution, Unification And Generalization In.. - Chuck C. Liang (1995)   (Correct)

....Automated Theorem Proving In this section we will give a sample application of object level matching. There are certainly other applications for matching. Here we introduce a technique especially suitable for meta logic programming given the previous work of Felty on specifying theorem provers [12]. The techniques given here can also stand independently of logic programming and are potentially applicable to a varity of tactic style theorem provers such as NuPrl [4] and HOL [17] Often the same proof of a conjecture can also be used as the proof of similar conjectures. Without loss of ....

....need to freeze parameters on one side of a matching problem while treating them as variables on the other side. We need to use constants symbols and object level substitutions in order to implement the technique correctly. Following the manner of specifying sequent calculus theorem provers of [12], the following program can be given. Here, seq G A) represents the sequent Gamma A. Given a list of parameters Params, wolog Params) specifies a tactic that transforms one sequent goal to a simpler subgoal. We will use copy for a generic first order copy clause regardless of type. The ....

[Article contains additional citation context not shown here]

Amy Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, University of Pennsylvania, August 1989.


Real Theorem Provers Deserve Real User-Interfaces - Théry, Bertot, Kahn (1992)   (5 citations)  (Correct)

.... an efficiency penalty in this separation, is it necessary to develop more code on its behalf, does the prover allow an implementation of the desired protocol The analysis presented in this paper is based on experiments pursued with three fairly different, publicly available systems: Felty s prover[Felty89], implemented in Prolog, HOL[HOL88] implemented in ML and Lisp, and Isabelle[Isa90] implemented in SML. All three of them have a programmable top level, so that it is possible to implement the prover s side of the protocol with the same insight in the prover s internals as a regular user. The ....

....occurrences is typical. With an adequate interface this intuitive notion can be fully exploited to produce proofs that are more natural. Many interesting directions in developing real proof environments must still be explored. An example is the post processing of proofs. In Felty s theorem prover [Felty89], the proof is performed in a sequent style. When it is finished, the sequent proof is translated into a natural deduction proof [Felty91] The natural deduction tree is then displayed in mock natural language style. Post processing proofs, to obtain clearer and more economical proofs, is a form ....

A. Felty, "Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language", PhD Thesis, University of Pennsylvania, August 1989.


Real Theorem Provers Deserve Real User-Interfaces - Thery, al. (1992)   (10 citations)  (Correct)

.... an efficiency penalty in this separation, is it necessary to develop more code on its behalf, does the prover allow an implementation of the desired protocol The analysis presented in this paper is based on experiments pursued with three fairly different, publicly available systems: Felty s prover[Felty89], implemented in Prolog, HOL[HOL88] implemented in ML and Lisp, and Isabelle[Isa90] implemented in SML. All three of them have a programmable top level, so that it is possible to implement the prover s side of the protocol while remaining a conventional system s user. The experimental user ....

....In the case of a theorem prover, constructing a command involves roughly four kinds of objects: tactics, terms, occurrences and theorems. Tactics To explain to what extent the interface may help the user in finding a proof tactic, consider the notion of proof step in the system developed by Felty[Felty89] in a very simple and elegant prover for intuitionistic first order logic. There are fourteen basic tactics, that are associated with rules of a sequent calculus[Szabo69] A typical rule is for example: andI tac Gamma A Gamma B Gamma A B The reading of this rule as a tactic is very ....

[Article contains additional citation context not shown here]

A. Felty, "Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language", PhD Thesis, University of Pennsylvania, August 1989.


Higher-Order Logic Programming as Constraint Logic Programming - Michaylov, Pfenning (1993)   (6 citations)  (Correct)

....Elf [22] it is a dependently typed calculus. These languages are particularly useful for various kinds of metaprogramming and theorem proving tasks because of the logical support for variable binding via abstraction. They have been used for a wide range of applications including theorem proving [3], programming language interpretation [5, 13] type inference [21] compilation [6] and natural language parsing [20] Despite their utility, current language implementations have acquired a well deserved reputation for being inefficient. In this paper we argue that HOLP languages can reasonably ....

Amy Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, Department of Computer and Information Science, University of Pennsylvania, July 1989. Available as Technical Report MS-CIS-87-109.


Unification in a lambda-Calculus with Intersection Types - Kohlhase, Pfenning   (Correct)

....such as 8D:d: 8G:g: hyp(D) oe solve(G) oe solve(D oe G) is permitted if we have the typings solve : g g and hyp : d d. We have many other examples where refinement types are beneficial in higher order logic programming. For example, in the higher order representation of natural deductions [2] one can distinguish normal forms as a refinement of arbitrary derivations instead of explicitly encoding two different representations. In the implementation of functional languages [4] refinement types can distinguish values from arbitrary expressions instead of leaving this distinction ....

Amy Felty. Specifying and Implementing Theorem Provers in a HigherOrder Logic Programming Language. PhD thesis, Department of Com- puter and Information Science, University of Pennsylvania, July 1989. Available as Technical Report MS-CIS-89-53.


A Logic Program for Transforming Sequent Proofs to Natural.. - Felty (1991)   (11 citations)  Self-citation (Felty)   (Correct)

....In specifying these rules, there are often many choices in choosing a representation of sequent proofs. In this presentation, we simply choose one. For a more thorough discussion of the issues involved in specifying inference rules and proofs for this inference system and others in hh 2 , see [5, 4]. First, consider the R inference rule in Fig. 1 which introduces a conjunction on the right side of the sequent. This rule has a natural rendering as the following definite clause. andr Q1 Q2) Gamma (A and B) Q1 (Gamma A) Q2 (Gamma B) This formula may be read as: if ....

Amy Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, University of Pennsylvania, August 1989.


Encoding the Calculus of Constructions in a Higher-Order Logic - Amy Felty Att (1993)   Self-citation (Felty)   (Correct)

....and only if P Gamma (conv f hhAii hhBii) has a sequent proof. Proof: This lemma is proved by induction on a derivation of A = fi B and Lemma 5. The induction is simultaneous with similar statements for the other two convertibility relations. The proofs are an extension of those given in Felty [7] for a specification of convertibility for LF. A few remaining assumptions in I are necessary in order to have a direct correspondence between derivability in CC and provability in I. We include the formulas in Figure 8. The first formula expresses the (PROP TYPE) rule. The next four formulas ....

....inside terms, there must be both a positive and a negative version. Although this complicates the encoding technically, it adds no new difficulty to the proofs of the correspondence between I proofs and CC derivations. In fact, this correspondence can be proven by extending the proof in Felty [7], where both positive and negative encodings are used to encode the LF type theory. The specification for terms in normal form for LF given there can also be extended directly to CC. 6 Implementing a Search Procedure We consider two examples taken from Dowek [5] First, we start with the ....

[Article contains additional citation context not shown here]

Amy Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, University of Pennsylvania, Technical Report MS-CIS-89-53, August 1989.


Encoding Dependent Types in an Intuitionistic Logic - Felty (1991)   (16 citations)  Self-citation (Felty)   (Correct)

.... ty can be introduced for Pi and abstraction. A coding of the convertibility relation on terms is also required in this setting. Note that the above simple types have order 1 and 2 respectively. In fact hh 2 is all that is required to encode provability of typed calculi in this manner. In [5], using such an encoding on terms, it was shown that a direct encoding of LF specifications using the approach in this paper can be defined in just hh 2 . The proofs of the correctness of that encoding are similar to those presented here. In [12] a similar approach based on recursion over types ....

Amy Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, University of Pennsylvania, August 1989.


A Logic Programming Approach to Implementing Higher-Order Term.. - Felty (1992)   (15 citations)  Self-citation (Felty)   (Correct)

....Sections 6 and 7 illustrate how to integrate a general component for higher order term rewriting into a tactic style theorem prover. The implementation discussed here builds on the logic programming implementation of tactic style theorem provers presented in Felty and Miller [8] and Felty [6]. Section 7 discusses how the operation of higher order unification which is available in our logic programming language can be used to directly implement tactics for first order term rewriting. We discuss both the power and limitations of this implementation technique. Finally, Section 8 ....

....to handle permutations of the elimination and 9 elimination rules with other rules. These permutations can also be described as rewrite rules. For a complete specification of the reductions for full intuitionistic first order logic using the representation of proof trees as given here, see Felty [6]. 4 The Meta Logic and Language We now present the meta language used to specify and implement rewrite systems in the remainder of this paper. The terms of the meta logic are the simply typed terms, the same language used to define higher order rewrite systems. We often speak of a fixed ....

[Article contains additional citation context not shown here]

Amy Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, University of Pennsylvania, August 1989.


Implementing Tactics and Tacticals in a Higher-Order Logic.. - Amy Felty (1993)   (43 citations)  Self-citation (Felty)   (Correct)

....The program may enter an infinite loop repeatedly applying this rule. In some cases, it may be possible to modify specifications so that they act as complete automatic theorem provers under depth first control. Such a theorem prover for the classical sequent calculus can be found in Felty [10]. Beginning in Section 5, we consider the implementation of tactic style theorem provers which provide more flexible forms of control. There, we will discuss a modified specification of inference rules, such that clauses may be used as tactics implementing the basic operations of a theorem prover. ....

....such as the type o of formulas of the metalanguage. Also, such a use of polymorphism can cause undesirable operational behavior during unification. On simple unification problems, for example, there may be infinite branching in the search for instances of both types and terms. See Felty [10] for a fuller discussion of these problems. Instead, we introduce a new type tm to represent object level terms, and a second type ty to represent object level types. To construct function types, we use the infix arrow of type ty ty ty. If our object language has a function symbol f of ....

[Article contains additional citation context not shown here]

Amy Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, University of Pennsylvania, Technical Report MS-CIS-89-53, August 1989.


A Proof of the Church-Rosser Theorem - And Its Representation   (Correct)

No context found.

Amy Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, Department of Computer and Information Science, University of Pennsylvania, July 1989.


Intersection Types for a Logical Framework - Frank Pfenning School   (Correct)

No context found.

Amy Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, Department of Computer and Information Science, University of Pennsylvania, July 1989. Available as Technical Report MS-CIS-89-53.


Refinement Types for Logical Frameworks - Frank Pfenning Department (1993)   (27 citations)  (Correct)

No context found.

Amy Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, Department of Computer and Information Science, University of Pennsylvania, July 1989. Available as Technical Report MSCIS -89-53.


Head-Tactics Simplification - Bertot (1997)   (Correct)

No context found.

Amy Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, University of Pennsylvania, 1989.


A Proof of the Church-Rosser Theorem and its Representation in a .. - Pfenning (1992)   (21 citations)  (Correct)

No context found.

Amy Felty. Specifying and Implementing Theorem Provers in a Higher-Order Logic Programming Language. PhD thesis, Department of Computer and Information Science, University of Pennsylvania, July 1989.

First 50 documents  Next 50

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC