A procedure is described that gives values to set variables in automatic theorem proving. The result is that a theorem is thereby reduced to first order logic, which is often much easier to prove. This procedure handles a part of higher order logic, a small but important part. It is not as general as the methods of Huet, Andrews, Pietrzykowski, and Haynes and Henschen, but it seems to be much faster when it applies. It is more in the spirit of J.L. Darlington's F-Matching. This procedure is not domain specific: results have been obtained In intermediate analysis (the intermediate value theorem), topology, logic, and program verification (finding internal assertions). This method is a "maximal method" in that a largest (or maximal) set is usually produced if there is one. A preliminary version has been programmed for the computer and run to prove several theorems. Figure 1 The Intermediate Value Theorem There are several other theorems in analysis, such as the Heine-Borel Theorem where the chief difficulty lies in defining a particular set. Also a similar situation comes up again and again in other parts of mathematics, and in application areas such as program verification and program synthesis. The problem of finding a value for a set variable A, is of course equivalent to the problem of giving a value to a one place predicate variable P. This is a part of higher order logic, and as such can be attacked by the systems and ideas of Huet [3], Pietrzykowski [10], Haynes and Henschen [7], Andrews [11], etc. But these are very slow for many simple proofs. For example, Huet's beautiful system [3] is forced into double splitting on the rather easy theorem given in Example 4 below. (Even a human has trouble applying his procedure to this example.) In this paper we describe a procedure which attempts to overcome this difficulty. It is less general than those referred to above; it usually applies only to a part of second order logic (but an important part); and it seems to be must faster when it applies. Ours is more in the spirit of J. L. Darlington's "F-Matching", but different in method and scope. Our methods are not domain specific, not just a collection of heuristics for finding sets in a particular area like analysis. They can be used to prove theorems (such as the intermediate value theorem) in analysis where the …
[1]
W. W. Bledsoe,et al.
Splitting and Reduction Heuristics in Automatic Theorem Proving
,
1971,
Artif. Intell..
[2]
Paul R. Hudak.
Deductive Plan Formation in Higher-Order Logic J. S. Darlington
,
1974
.
[3]
Peter B. Andrews.
Resolution in type theory
,
1971,
Journal of Symbolic Logic.
[4]
Gérard P. Huet,et al.
A Unification Algorithm for Typed lambda-Calculus
,
1975,
Theor. Comput. Sci..
[5]
Donald I. Good,et al.
An interactive program verification system
,
1975
.
[6]
Robert S. Boyer,et al.
Computer Proofs of Limit Theorems
,
1971,
IJCAI.
[7]
Robert S. Boyer,et al.
Proving Theorems about LISP Functions
,
1973,
JACM.
[8]
Tomasz Pietrzykowski.
A Complete Mechanization of Second-Order Type Theory
,
1973,
JACM.
[9]
J. A. Robinson,et al.
A Machine-Oriented Logic Based on the Resolution Principle
,
1965,
JACM.
[10]
Richard C. T. Lee,et al.
Symbolic logic and mechanical theorem proving
,
1973,
Computer science classics.
[11]
W. W. Bledsoe,et al.
Non-Resolution Theorem Proving
,
1977,
Artif. Intell..
[12]
Gérard Huet,et al.
Constrained resolution: a complete method for higher-order logic.
,
1972
.