Abstract
Certain tasks, such as formal program development and theorem proving, fundamentally rely upon the manipulation of higher-order objects such as functions and predicates. Computing tools intended to assist in performing these tasks are at present inadequate in both the amount of ‘knowledge’ they contain (i.e., the level of support they provide) and in their ability to ‘learn’ (i.e., their capacity to enhance that support over time). The application of a relevant machine learning technique—explanation-based generalization (EBG)—has thus far been limited to first-order problem representations. We extend EBG to generalize higher-order values, thereby enabling its application to higher-order problem encodings.
Logic programming provides a uniform framework in which all aspects of explanation-based generalization and learning may be defined and carried out. First-order Horn logics (e.g., Prolog) are not, however, well suited to higher-order applications. Instead, we employ λProlog, a higher-order logic programming language, as our basic framework for realizing higher-order EBG. In order to capture the distinction between domain theory and training instance upon which EBG relies, we extend λProlog with the necessity operator □ of modal logic. We develop a meta-interpreter realizing EBG for the extended language, λ□ Prolog, and provide examples of higher-order EBG.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
References
Angluin, D. & Smith, C.H. (1983). Inductive inference: Theory and methods. Computing Surveys,15, 237–269.
Bhatnagar, N. (1988). A correctness proof of explanation-based generalization as resolution theorem proving.Proceedings of the AAAI Spring Symposium on Explanation-Based Learning (pp. 220–225).
Burstall, R.M. & Darlington, J. (1977). A transformation system for developing recursive programs. Journal ofthe Association for Computing Machinery,24, 44–67.
Chellas, B.F. (1980). Modal logic: An introduction. Cambridge University Press.
Cohen, W.W. (1988). Generalizing number and learning from multiple examples in explanation-based learning.Proceedings of the Fifth International Machine Learning Conference.
Constable, R.L., et al. (1986). Implementing mathematics with the Nuprl Proof Development System.EnglewoodCliffs, NJ: Prentice-Hall.
DeJong, G. & Mooney, R. (1986). Explanation-based generalization: An alternate view: MachineLearning, 1,145–176.
del Cerro, L.F. (1986). Molog: A system that extends Prolog with modal logic. New GenerationComputing, 4, 35–50.
del Cerro, L.F. & Penttonen, M. (1987). A note on the complexity of the satisfiability of modal HornClauses.Journal of Logic Programming, 4, 1–10.
Dietterich, T.G. (1986). Learning at the knowledge level. Machine Learning, 1, 287–315.
Dietterich, T.G. et al., (1982). Learning and inductive inference. In P.R. Cohen & E.A. Feigenbaum,(Eds.)The handbook of artificial intelligence, volume 3, pp. 325–511. William Kaufmann.
Dietzen, S. (1992). A language for higher-order explanation-based learning. Ph.D. thesis, School ofComputerScience, Carnegie Mellon University. Available as Technical Report CMU-CS-92-110.
Dietzen, S. & Pfenning, F. (1989). Higher-order and modal logic as a framework for explanation-basedgeneralization(Extended abstract). In A.M. Segre, (Ed.), Sixth International Workshop on Machine Learning, pp.447–449.San Mateo, California: Morgan-Kaufmann Publishers.
Dietzen, S. & Scherlis, W. (1987). Analogy in program development. In J.C. Boudreaux, B.W. Hamill & R. Jernigan, (Ed.) The role of language in problem solving 2, pp. 95–117. North-Holland. Alsoavailable as Ergo Report 86-013, School of Computer Science, Carnegie Mellon University, Pittsburgh.
Donat, M.R. & Wallen, L.A. (1988). Learning and applying generalized solutions using higher orderresolution.In E. Lusk & R. Overbeek (Eds.) Ninth International Conference on Automated Deduction, Argonne,Illinois,pp. 41–60. Berlin: Springer-Verlag LNCS 310.
Elliott, C. & Pfenning, F. (1989). eLP: A Common Lisp implementation of λProlog in the Ergo SupportSystem.Available via ftp over the Internet. Send mail to elp-request©cs.cmu.edu on the Internet for further information.
Elliott, C.M. (1990). Extensions and applications of higher-order unification. Ph.D. thesis, School ofComputerScience, Carnegie Mellon University. Available as Technical Report CMU-CS-90-134.
Ellman, T. (1989). Explanation-based learning: A survey of programs and perspectives. ACM ComputingSurveys,21, 163–221.
Feather, M.S. (1986). A survey and classification of some program transformation approaches and techniques.IFIP TC2 Working Conference on Program Specification and Transformation. North-Holland.
Felty, A. & Miller, D.A. (1988). Specifying theorem provers in a higher-order logic programming language.InE. Lusk & R. Overbeek (Eds.), Ninth International Conference on Automated Deduction, Argonne,Illinois,pp. 61–80. Berlin: Springer-Verlag LNCS 310.
Goldfarb, W.D. (1981). The undecidability of the second-order unification problem. TheoreticalComputer Science,13, 225–230.
Gordon, M.J., Milner, R. & Wadsworth, C.P. (1979). Edinburgh LCF. Springer-Verlag LNCS78.
Hannan, J. & Miller, D. (1988). Uses of higher-order unification for implementing program transformers. InR.A. Kowalski & K.A. Bowen (Eds.) Logic programming: Proceedings of the Fifth InternationalConferenceand Symposium, Volume 2, pp. 942–959. Cambridge, MA: MIT Press.
Harper, R., Honsell, F. & Plotkin, G. (1987). A framework for defining logics. Symposium onlogic in computerscience, pp. 194–204. IEEE. An extended and revised version is available as Technical Report CMU-CS-89-173,School of Computer Science, Carnegie Mellon University.
Hill, W.L. (1987). Machine learning for software reuse. Proceedings of IJCAI (pp. 338–344).
Hindley, J.R. & Seldin, J.P. (1986). Introduction to combinators and λ-calculus. CambridgeUniversity Press.London Mathematical Society Student Texts: 1.
Hirsh, H. (1987). Explanation-based generalization in a logic-programming environment. Proceedings ofIJCAI(pp. 221–227).
Hirsh, H. (1988). Reasoning about operationality for explanation-based learning. Proceedings of theFifthInternational Machine Learning Conference.
Hirsh, H. (1989). Incremental version-space merging: A general framework for concept learning. Ph.Dthesis,Stanford University,Stanford, CA.
Huet, G. (1975). A unification algorithm for typed λ-calculus. Theoretical Computer Science,1, 27–57.
Huet, G. & Lang B. (1978). Proving and applying program transformations expressed with second-orderpatterns.Acta Informatica, 11, 31–55.
Hughes, G.E. & Cresswell, M.J. (1968). Introduction to modal logic. London: Methuen and Co.,Ltd.
Jaffar, J. & Lassez, J.-L. (1987). Constraint logic programming. Proceedings of the FourteenthAnnual ACMSymposium on Principles of Programming Languages, Munich (pp. 111–119). ACM Press.
Kedar-Cabelli, T. & McCarty, L.T. (1987). Explanation-based generalization as resolution theorem proving.Proceedings of the Fourth International Workshop on Machine Learning (pp. 383–389). Also availableas Technical Repor ML-TR-10, Department of Computer Science, Rutgers University.
Keller, R. (1988). Defining operationality for explanation-based learning. Artificial Intelligence,35, 227–241.
Knight, K. (1989). Unification: A multi-disciplinary survey. ACM Computing Surveys, 21, 93–124.
Laird, J.E., Rosenbloom, P.S. & Newell, A. (1987). Soar: An architecture for general intelligence. Artificial Intelligence33, 1–64.
Lee, P., et al. (1988). The Ergo Support System: An integrated set of tools for prototyping integratedenvironments. In P. Henderson (Ed.) Proceedings of the ACM SIGSOFT/SIGPLAN SoftwareEngineering Symposium on Practical Software Development Environments (pp. 25–34). ACM Press.Also available as Ergo Report 88-054, School of Computer Science, Carnegie Mellon University, Pittsburgh.
Mahadevan, S. (1990). An apprentice-based approach to learning problem-solving knowledge(Technical Report ML-TR-30). New Brunswick, N.J.: Rutgers University. Ph.D. Dissertation.
Miller, D. (1990). A logic programming language with lambda-abstraction, function variables, and simpleunification. In P. Schroeder-Heister, (Ed.). Extensions of logic programming (pp. 253–282).Springer-Verlag LNCS475.
Miller, D. & Nadathur, G. (1986). Some uses of higher-order logic in computational linguistics. Proceedingsof the Twenty-Fourth Annual Meeting of the Association for Computational Linguistics(pp.247–255).
Miller, D.A. & Nadathur, G. (1987). A logic programming approach to manipulating formulas and programs.Symposium on Logic Programming. San Francisco: IEEE.
Minton, S. (1988). Quantitative results concerning the utility of explanation-based learning. Proceedingsof AAAI (pp. 564–569).
Minton, S. et al. (1989). Explanation-based learning: A problem-solving perspective. ArtificialIntelligence, 40, 63–118. Special issue on machine learning. Also available as Technical Report CMU-CS-89-103,School of Computer Science, Carnegie Mellon University, Pittsburgh, PA.
Mitchell, T.M. Keller, R.M. & Kedar-Cabelli, S.T. (1986). Explanation-based generalization: A unifyingview. Machine Learning, 1, 47–80.
Mitchell, T.M. Mahadevan, S. & Steinberg, L. (1985). LEAP: A learning apprentice for VLSI design. Proceedingsof IJCAI (pp. 573–580). Morgan Kaufmann.
Mostow, J. (1989). Design by derivational analogy: Issues in the automated replay of design plans. ArtificialIntelligence, 40, 119–184. Special issue on machine learning.
Nadathur, G. & Miller, D. (1988). An overview of λProlog. In R.A. Kowalski & K.A. Bowen(Eds.) Logic programming: Proceedings of the Fifth International Conference and Symposium, Volum1 (pp. 810–827). Cambridge, MA: MIT Press.
Partsch, H. & Steinbrüggen, (1983). Program transformation systems. Computing Surveys,15, 199–236.
Pereira, F.C.N. (1990). Prolog and natural-language analysis: Into the third decade. In S. Debray & M. Hermenegildo,(Eds.). Proceedings of the North American Conference on Logic Programming (pp.813–832). MIT Press.
Pfenning, F. & Elliott, C. (1988). Higher-order abstract syntax. Proceedings of the SIGPLAN '88Symposium on Language Design and Implementation, Atlanta, Georgia (pp. 199–208). ACM Press.Available as Ergo Report 88–036, School of Computer Science, Carnegie Mellon,University, Pittsburgh.
Prieditis, A.E. & Mostow, J. (1987). Prolearn: Toward a Prolog interpreter that learns. Proceedingsof AAAI.
Shavlik, J. (1990). Acquiring recursive and iterative concepts with explanation-based learning. Machine Learning, 5, 39–70.
Sterling, L. & Shapiro, E. (1986). The art of Prolog: Advanced programming techniques. MITPress.
Thistlewaite, P.B., McRobbie, M.A. & Meyer, R.K. (1988). Automated theorem-proving in non-classicallogics. London: Pitman.
Wallen, L.A. (1987). Automated proof search in non-classical logics: Efficient matrix proof methods formodal and intuitionistic logics. Ph.D. thesis, University of Edinburgh.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Dietzen, S., Pfenning, F. Higher-Order and Modal Logic as a Framework for Explanation-Based Generalization. Machine Learning 9, 23–55 (1992). https://doi.org/10.1023/A:1022676712939
Issue Date:
DOI: https://doi.org/10.1023/A:1022676712939