Skip to main content
Log in

Higher order generalization and its application in program verification

  • Published:
Annals of Mathematics and Artificial Intelligence Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. H. Barendregt, Introduction to generalized type systems, Journal of Functional Programming 1(2) (1991) 124-154.

    Google Scholar 

  2. T. Coquand and G. Huet, The calculus of constructions, Information and Computation 76(3/4) (1988) 95-120.

    Article  MATH  MathSciNet  Google Scholar 

  3. 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).

    Google Scholar 

  4. K. Furukawa, M. Imai and R. Goebel, Hyper least general generalization and its application to higher-order concept learning, Manuscript draft.

  5. T.S. Gegg-Harrison, Basic Prolog schemata, CS-1989-20, Department of Computer Science, Duke University (1989).

  6. M. Hagiya, Generalization from partial parametrization in higher order type theory, Theoretical Computer Science 63 (1989) 113-139.

    Article  MATH  MathSciNet  Google Scholar 

  7. 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.

    Google Scholar 

  8. R. Harper, F. Honsell and G. Plotkin, A framework for defining logics, Journal of the Association for Computing Machinery 40(1) (1993) 143-184.

    MATH  MathSciNet  Google Scholar 

  9. R. Hasker, The replay of program derivations, Ph.D. thesis, Department of Computer Science, University of Illinois at Urbana-Champaign (1995).

  10. C.A.R. Hoare, An axiomatic approach to computer programming, Communications of the ACM 12 (1969).

  11. G.P. Huet, A unification algorithm for typed lambda calculus, Theoretical Computer Science 1 (1975) 27-57.

    Article  MATH  MathSciNet  Google Scholar 

  12. G. Huet and B. Lang, Proving and applying program transformations expressed with second order patterns, Acta Informatica 11 (1978) 31-55.

    Article  MATH  MathSciNet  Google Scholar 

  13. 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).

  14. J. Lu and J. Xu, Analogical program derivation based on type theory, Theoretical Computer Science 113 (1993) 259-272.

    Article  MATH  MathSciNet  Google Scholar 

  15. 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.

  16. P. Martin-L¨of, Intuitionistic Type Theory, Studies in Proof Theory (Bibliopolis, Napoli, 1984).

    Google Scholar 

  17. S. Muggleton, Inductive logic programming, New Generation Computing 8(4) (1991) 295-318.

    Article  MATH  Google Scholar 

  18. 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).

  19. 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.

  20. G.D. Plotkin, A note on inductive generalization, in: Machine Intelligence, Vol. 5 (Edinburgh University Press, 1970) pp. 153-163.

    MathSciNet  Google Scholar 

  21. G.D. Plotkin, A further note on inductive generalization, in: Machine Intelligence, Vol. 6 (Edinburgh University Press, 1971) pp. 101-124.

    MATH  MathSciNet  Google Scholar 

  22. J.C. Reynolds, Transformational systems and the algebraic structure of atomic formulas, in: Machine Intelligence, Vol. 5 (Edinburgh University Press, 1970) pp. 135-151.

    MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints 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

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1018952121991

Keywords

Navigation