# Learning higher-order logic programs

arXiv: https://arxiv.org/abs/1907.10953 · HTML: https://mlsanity.com/paper/1907.10953/

## Key facts

- Cited by 11 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 25 Jul 2019.

## Built on by (most cited first, 11 of 11)

- [Inductive logic programming at 30](https://mlsanity.com/paper/2102.10556/) (2021)
- [Learning Higher-Order Programs without Meta-Interpretive Learning](https://mlsanity.com/paper/2112.14603/) (2021)
- [A Critical Review of Inductive Logic Programming Techniques for Explainable AI](https://mlsanity.com/paper/2112.15319/) (2021)
- [Learning Logic Programs From Noisy Failures](https://mlsanity.com/paper/2201.03702/) (2021)
- [EXPIL: Explanatory Predicate Invention for Learning in Games](https://mlsanity.com/paper/2406.06107/) (2024)
- [Generating by Understanding: Neural Visual Generation with Logical Symbol Groundings](https://mlsanity.com/paper/2310.17451/) (2023)
- [Learning logic programs by discovering higher-order abstractions](https://mlsanity.com/paper/2308.08334/) (2023)
- [Learning Model Successors](https://mlsanity.com/paper/2502.00197/) (2025)
- [Ultra Strong Machine Learning: LLM-Generated Explanations Do Not Yet Suffice for Teaching Humans Active Learning Strategy](https://mlsanity.com/paper/2509.00961/) (2025)
- [ABD: Default Exception Abduction in Finite First Order Worlds](https://mlsanity.com/paper/2602.18843/) (2026)
- [INDUCTION: Finite-Structure Concept Synthesis in First-Order Logic](https://mlsanity.com/paper/2602.18956/) (2026)

## Abstract (arXiv)

A key feature of inductive logic programming (ILP) is its ability to learn first-order programs, which are intrinsically more expressive than propositional programs. In this paper, we introduce techniques to learn higher-order programs. Specifically, we extend meta-interpretive learning (MIL) to support learning higher-order programs by allowing for higher-order definitions to be used as background knowledge. Our theoretical results show that learning higher-order programs, rather than first-order programs, can reduce the textual complexity required to express programs which in turn reduces the size of the hypothesis space and sample complexity. We implement our idea in two new MIL systems: the Prolog system namea and the ASP system nameb. Both systems support learning higher-order programs and higher-order predicate invention, such as inventing functions for twmap/3 and conditions for twfilter/3. We conduct experiments on four domains (robot strategies, chess playing, list transformations, and string decryption) that compare learning first-order and higher-order programs. Our experimental results support our theoretical claims and show that, compared to learning first-order programs, learning higher-order programs can significantly improve predictive accuracies and reduce learning times.
