Abstract
One of the striking characteristics of mathematical reasoning is the contrast between the formal aspects of mathematical truth and the informal character of the ways to that truth. Among the many important and usually informal mathematical activities we are interested by proof analogy (i.e. common pattern between proofs of different theorems) in the context of interactive theorem proving. In some sense we propose a partial contribution of one of the Polya's wishes [Polya 73]:
"Analogy pervades all our thinking, our everyday speech and our trivial conclusions as well as artistic way of expression and the highest scientific achievements...but analogy may reach the level of mathematical precision..."
It is a work in philosophy of mathematics [Resnik 75], in which mathematics is viewed as studying patterns or structures, which encouraged us to pursue our aim of partially formalizing analogy. We naturally arrived at the need of considering other activities strongly tied to the notion of analogy and very well known of the working mathematician: generalization, abstraction and analysis of proofs.
We propose a method to deal with proof analogy in interactive theorem proving where the paradigm of "proposition as types" is adopted, proofs are represented as terms and a higher-order language L is available to the user.
Let us assume that the user has to prove a conjecture C. Given a proof P for a known theorem T, he describes in the language L a scheme of P. Then he expresses the syntactic analogy he views as relevant between the scheme of P and what "should be" a proof scheme for C, as a transformation rule. This process needs analysis of proofs, generalization and abstraction.
A second order pattern matching algorithm constructs matchers of P and its scheme, and applies them to the intended proof scheme of the conjecture C. In the best case one obtains a potential proof of C, but in general one obtains a more instantiated proof-scheme with some "holes" to be filled by a theorem prover. In both cases a proof-checking process is necessary (analogy is in general a heuristic way of thinking).
A question arises naturally: "What to do when the assumed analogy fails?". We study in this paper one of the possible answers: "Information may be extracted from the failure in order to suggest lemmas that try to semantically restore analogy". Of course these lemmas can also serve for detecting wrong analogies (for example, if required lemmas clearly cannot be theorems). Two kinds of failure are possible:
-
i)
The given proof P and its proposed scheme are not matchable.
-
ii)
A type error is detected in the instantiated proof scheme for C.
We give in the following a method to suggest lemmas in the first case, and sketch some ideas of how to use such a possibility in the second case.
Preview
Unable to display preview. Download preview PDF.
Bibliography
T. Boy de la Tour, R. Caferra: "Proof analogy in interactive theorem proving: a method to express and use it via second order pattern matching"; Proc. of the AAAI-87; Seattle, U.S.A., July 1987, 95–99.
A. Bundy: "Discovery and reasoning in Mathematics"; Proc. of the 9th. IJCAI. Los Angeles, U.S.A., August 1985, 1221–1230.
R. L. Constable, T. B. Knoblock, J. L. Bates: "Writing programs that construct proofs";Journal of Automated Reasoning 1, 1985, 285–326.
H. Gelernter, J. R. Hansen, D. W. Loveland: "Empirical explorations of the geometry-theorem proving machine"; in "Computers and Thought" (E. Feigenbaum and J. Feldman eds.), McGraw-Hill, 1963, 153–163.
G. Huet, B. Lang: "Proving and applying program transformations expressed with second-order patterns"; Acta Informatica 11, 1978, 31–55.
G. Huet: "Formal structures for computation and deduction". First edition, May 1986.
R. E. Kling: "A paradigm for reasoning by analogy"; Artificial Intelligence 2, 1971, 147–178.
D. Leivant: "Polymorphic Type Inference", Proc. 10th. ACM Symp. On Principles of Programming Languages, 1983, 88–98.
D.W. Loveland: "Automated theorem proving: a logical basis". North-Holland 1978.
R. Milner: "A Theory of Type Polymorphism in Programming"; Journal of Computer and System Sciences 17 (1978), 348–375.
R. Milner: "The use of machines to assist in rigorous proof" in "Mathematical Logic and Programming Languages" (C.A.R. Hoare and J.C. Shepherdson, eds.), Prentice-Hall 1985, pp.77–88.
F. Pfenning: "Analytic and Non-analytic Proofs"; Proc. 7th. International Conference on Automated Deduction, California, USA. Lecture Notes in Computer Science 170, Springer-Verlag 1984, 394–413.
D. A. Plaisted: "Theorem proving with abstraction"; Artificial Intelligence 16, 1981, 47–108.
G. Polya: "How to solve it, a new aspect of mathematical method". Princeton University Press, 2nd. ed., 1973.
M.D. Resnik: "Mathematical knowledge and pattern cognition"; Canadian Journal of Philosophy, volume 5, Number 1, September 1975, pp. 25–39.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1989 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Boy de la Tour, T., Caferra, R. (1989). Aformal approach to some usually informal techniques used in mathematical reasoning. In: Gianni, P. (eds) Symbolic and Algebraic Computation. ISSAC 1988. Lecture Notes in Computer Science, vol 358. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-51084-2_38
Download citation
DOI: https://doi.org/10.1007/3-540-51084-2_38
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-51084-0
Online ISBN: 978-3-540-46153-1
eBook Packages: Springer Book Archive