Abstract
Generalization is a fundamental operation of inductive inference. While first order syntactic generalization (anti–unification) is well understood, its various extensions are often needed in applications. This paper discusses syntactic higher order generalization in a higher order language λ2 [1]. Based on the application ordering, we prove that least general generalization exists for any two terms and is unique up to renaming. An algorithm to compute the least general generalization is also presented. To illustrate its usefulness, we propose a program verification system based on higher order generalization that can reuse the proofs of similar programs.
Similar content being viewed by others
References
H. Barendregt, Introduction to generalized type systems, Journal of Functional Programming 1(2) (1991) 124-154.
T. Coquand and G. Huet, The calculus of constructions, Information and Computation 76(3/4) (1988) 95-120.
C. Feng and S. Muggleton, Towards inductive generalization in higher order logic, in: Proceedings of the 9th International Workshop on Machine Learning, eds. D. Sleeman et al. (Morgan Kaufman, San Mateo, CA, 1992).
K. Furukawa, M. Imai and R. Goebel, Hyper least general generalization and its application to higher-order concept learning, Manuscript draft.
T.S. Gegg-Harrison, Basic Prolog schemata, CS-1989-20, Department of Computer Science, Duke University (1989).
M. Hagiya, Generalization from partial parametrization in higher order type theory, Theoretical Computer Science 63 (1989) 113-139.
M. Harao, Proof discovery in LK system by analogy, in: Proc. of ASIAN'97, December 1997, Lecture Notes in Computer Science, Vol. 1345 (Springer, Berlin, 1997) pp. 197-211.
R. Harper, F. Honsell and G. Plotkin, A framework for defining logics, Journal of the Association for Computing Machinery 40(1) (1993) 143-184.
R. Hasker, The replay of program derivations, Ph.D. thesis, Department of Computer Science, University of Illinois at Urbana-Champaign (1995).
C.A.R. Hoare, An axiomatic approach to computer programming, Communications of the ACM 12 (1969).
G.P. Huet, A unification algorithm for typed lambda calculus, Theoretical Computer Science 1 (1975) 27-57.
G. Huet and B. Lang, Proving and applying program transformations expressed with second order patterns, Acta Informatica 11 (1978) 31-55.
P. Idestam-Almquist, Generalization of Horn clauses, Ph.D. dissertation, Department of Computer Science and Systems Science, Stockholm University and the Royal Institute of Technology (1993).
J. Lu and J. Xu, Analogical program derivation based on type theory, Theoretical Computer Science 113 (1993) 259-272.
J. Lu and B. Yi, An approach to analogical theorem proving, in: Automated Reasoning, IFIP Transactions A: Computer Science and Technology, Vol. 19, ed. Shi (North-Holland, Amsterdam, 1992) pp. 285-294.
P. Martin-L¨of, Intuitionistic Type Theory, Studies in Proof Theory (Bibliopolis, Napoli, 1984).
S. Muggleton, Inductive logic programming, New Generation Computing 8(4) (1991) 295-318.
C.D. Page Jr., Anti-unification in constraint logic: foundations and applications to learnability in first order logic, to speed-up learning, and to deduction, Ph.D. dissertation, University of Illinois at Urbana-Champaign (1993).
F. Pfenning, Unification and anti-unification in the calculus of constructions, in: Proceedings of the 6th Symposium on Logic in Computer Science (1991) pp. 74-85.
G.D. Plotkin, A note on inductive generalization, in: Machine Intelligence, Vol. 5 (Edinburgh University Press, 1970) pp. 153-163.
G.D. Plotkin, A further note on inductive generalization, in: Machine Intelligence, Vol. 6 (Edinburgh University Press, 1971) pp. 101-124.
J.C. Reynolds, Transformational systems and the algebraic structure of atomic formulas, in: Machine Intelligence, Vol. 5 (Edinburgh University Press, 1970) pp. 135-151.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Lu, J., Mylopoulos, J., Harao, M. et al. Higher order generalization and its application in program verification. Annals of Mathematics and Artificial Intelligence 28, 107–126 (2000). https://doi.org/10.1023/A:1018952121991
Issue Date:
DOI: https://doi.org/10.1023/A:1018952121991