Results 1 - 10
of
218
The Foundation of a Generic Theorem Prover
- Journal of Automated Reasoning
, 1989
"... Isabelle [28, 30] is an interactive theorem prover that supports a variety of logics. It represents rules as propositions (not as functions) and builds proofs by combining rules. These operations constitute a meta-logic (or `logical framework') in which the object-logics are formalized. Isabelle is ..."
Abstract
-
Cited by 387 (43 self)
- Add to MetaCart
Isabelle [28, 30] is an interactive theorem prover that supports a variety of logics. It represents rules as propositions (not as functions) and builds proofs by combining rules. These operations constitute a meta-logic (or `logical framework') in which the object-logics are formalized. Isabelle is now based on higher-order logic --- a precise and well-understood foundation. Examples illustrate use of this meta-logic to formalize logics and proofs. Axioms for first-order logic are shown sound and complete. Backwards proof is formalized by meta-reasoning about object-level entailment. Higher-order logic has several practical advantages over other meta-logics. Many proof techniques are known, such as Huet's higher-order unification procedure. Key words: higher-order logic, higher-order unification, Isabelle, LCF, logical frameworks, meta-reasoning, natural deduction Contents 1 History and overview 2 2 The meta-logic M 4 2.1 Syntax of the meta-logic ......................... 4 2.2 ...
A logic programming language with lambda-abstraction, function variables, and simple unification
- Extensions of Logic Programming. Springer Lecture Notes in Artificial Intelligence
, 1990
"... A meta programming language must be able to represent and manipulate such syntactic structures as programs, formulas, types, and proofs. A common characteristic of all these structures is that they involve notions of abstractions, scope, bound and free variables, substitution instances, and equality ..."
Abstract
-
Cited by 271 (21 self)
- Add to MetaCart
A meta programming language must be able to represent and manipulate such syntactic structures as programs, formulas, types, and proofs. A common characteristic of all these structures is that they involve notions of abstractions, scope, bound and free variables, substitution instances, and equality up to alphabetic changes of bound variables.
Unification under a mixed prefix
- Journal of Symbolic Computation
, 1992
"... Unification problems are identified with conjunctions of equations between simply typed λ-terms where free variables in the equations can be universally or existentially quantified. Two schemes for simplifying quantifier alternation, called Skolemization and raising (a dual of Skolemization), are pr ..."
Abstract
-
Cited by 109 (12 self)
- Add to MetaCart
Unification problems are identified with conjunctions of equations between simply typed λ-terms where free variables in the equations can be universally or existentially quantified. Two schemes for simplifying quantifier alternation, called Skolemization and raising (a dual of Skolemization), are presented. In this setting where variables of functional type can be quantified and not all types contain closed terms, the naive generalization of firstorder Skolemization has several technical problems that are addressed. The method of searching for pre-unifiers described by Huet is easily extended to the mixed prefix setting, although solving flexible-flexible unification problems is undecidable since types may be empty. Unification problems may have numerous incomparable unifiers. Occasionally, unifiers share common factors and several of these are presented. Various optimizations on the general unification search problem are as discussed. 1.
Higher-order Unification via Explicit Substitutions (Extended Abstract)
- Proceedings of LICS'95
, 1995
"... Higher-order unification is equational unification for βη-conversion. But it is not first-order equational unification, as substitution has to avoid capture. In this paper higher-order unification is reduced to first-order equational unification in a suitable theory: the λσ-cal ..."
Abstract
-
Cited by 95 (11 self)
- Add to MetaCart
Higher-order unification is equational unification for βη-conversion. But it is not first-order equational unification, as substitution has to avoid capture. In this paper higher-order unification is reduced to first-order equational unification in a suitable theory: the λσ-calculus of explicit substitutions.
The TPTP Problem Library
, 1999
"... This report provides a detailed description of the TPTP Problem Library for automated theorem proving systems. The library is available via Internet, and forms a common basis for development of and experimentation with automated theorem provers. This report provides: ffl the motivations for buildin ..."
Abstract
-
Cited by 94 (5 self)
- Add to MetaCart
This report provides a detailed description of the TPTP Problem Library for automated theorem proving systems. The library is available via Internet, and forms a common basis for development of and experimentation with automated theorem provers. This report provides: ffl the motivations for building the library; ffl a discussion of the inadequacies of previous problem collections, and how these have been resolved in the TPTP; ffl a description of the library structure, including overview information; ffl descriptions of supplementary utility programs; ffl guidelines for obtaining and using the library; Contents 1 Introduction 2 1.1 Previous Problem Collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 What is Required? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2 Inside the TPTP 6 2.1 The TPTP Domain Structure . . . . . . . . . . . . . . . . . . . . . ...
Classical Type Theory
, 2001
"... Contents 1 Introduction to type theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 967 1.1 Early versions of type theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . 967 1.2 Type theory with -notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 969 1.3 The ..."
Abstract
-
Cited by 93 (5 self)
- Add to MetaCart
Contents 1 Introduction to type theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 967 1.1 Early versions of type theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . 967 1.2 Type theory with -notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 969 1.3 The Axiom of Choice and Skolemization . . . . . . . . . . . . . . . . . . . . . . 973 1.4 The expressiveness of type theory . . . . . . . . . . . . . . . . . . . . . . . . . 975 1.5 Set theory as an alternative to type theory . . . . . . . . . . . . . . . . . . . . 976 2 Metatheoretical foundations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977 2.1 The Unifying Principle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 977 2.2 Expansion proofs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 978 2.3 Proof translations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 982 2.4 Higher-order uni cation . . . . . . . . . . . .
Combinatory Reduction Systems: introduction and survey
- Theoretical Computer Science
, 1993
"... Combinatory Reduction Systems, or CRSs for short, were designed to combine the usual first-order format of term rewriting with the presence of bound variables as in pure -calculus and various typed -calculi. Bound variables are also present in many other rewrite systems, such as systems with simpli ..."
Abstract
-
Cited by 75 (9 self)
- Add to MetaCart
Combinatory Reduction Systems, or CRSs for short, were designed to combine the usual first-order format of term rewriting with the presence of bound variables as in pure -calculus and various typed -calculi. Bound variables are also present in many other rewrite systems, such as systems with simplification rules for proof normalization. The original idea of CRSs is due to Aczel, who introduced a restricted class of CRSs and, under the assumption of orthogonality, proved confluence. Orthogonality means that the rules are non-ambiguous (no overlap leading to a critical pair) and left-linear (no global comparison of terms necessary). We introduce the class of orthogonal CRSs, illustrated with many examples, discuss its expressive power, and give an outline of a short proof of confluence. This proof is a direct generalization of Aczel's original proof, which is close to the well-known confluence proof for -calculus by Tait and Martin-Lof. There is a well-known connection between the para...
tps: A theorem proving system for classical type theory
- Journal of Automated Reasoning
, 1996
"... This is a description of TPS, a theorem proving system for classical type theory (Church’s typed λ-calculus). TPS has been designed to be a general research tool for manipulating wffs of first- and higher-order logic, and searching for proofs of such wffs interactively or automatically, or in a comb ..."
Abstract
-
Cited by 64 (5 self)
- Add to MetaCart
This is a description of TPS, a theorem proving system for classical type theory (Church’s typed λ-calculus). TPS has been designed to be a general research tool for manipulating wffs of first- and higher-order logic, and searching for proofs of such wffs interactively or automatically, or in a combination of these modes. An important feature of TPS is the ability to translate between expansion proofs and natural deduction proofs. Examples of theorems which TPS can prove completely automatically are given to illustrate certain aspects of TPS’s behavior and problems of theorem proving in higher-order logic. 7
Programming in an Integrated Functional and Logic Language
, 1999
"... Escher is a general-purpose, declarative programming language that integrates the best features of both functional and logic programming languages. It has types and modules, higher-order and meta-programming facilities, concurrency, and declarative input/output. The main design aim is to combine in ..."
Abstract
-
Cited by 63 (14 self)
- Add to MetaCart
Escher is a general-purpose, declarative programming language that integrates the best features of both functional and logic programming languages. It has types and modules, higher-order and meta-programming facilities, concurrency, and declarative input/output. The main design aim is to combine in a practical and comprehensive way the best ideas of existing functional and logic languages, such as Haskell and Godel. In fact, Escher uses the Haskell syntax and is most straightforwardly understood as an extension of Haskell. Consequently, this paper discusses Escher from this perspective. It provides an introduction to the Escher language, concentrating largely on the issue of programming style and the Escher programming idioms not provided by Haskell. Also the extra mechanisms needed to support these idioms are discussed.
Type Classes and Overloading in Higher-Order Logic
- Theorem Proving in Higher Order Logics: TPHOLs ’97, LNCS 1275
, 1997
"... Type classes and overloading are shown to be independent concepts that can both be added to simple higher-order logics in the tradition of Church and Gordon, without demanding more logical expressiveness. In particular, model-theoretic issues are not affected. Our metalogical results may serve as a ..."
Abstract
-
Cited by 58 (8 self)
- Add to MetaCart
Type classes and overloading are shown to be independent concepts that can both be added to simple higher-order logics in the tradition of Church and Gordon, without demanding more logical expressiveness. In particular, model-theoretic issues are not affected. Our metalogical results may serve as a foundation of systems like Isabelle/Pure that offer the user Haskell-style order-sorted polymorphism as an extended syntactic feature. The latter can be used to describe simple abstract theories with a single carrier type and a fixed signature of operations.

