# Relational program synthesis with numerical reasoning

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

## Key facts

- Cited by 2 papers in the map (data through 14 Oct 2026).
- Builds on 11 of its 51 references that are in the map.
- First posted on arXiv 3 Oct 2022.

## Builds on (most cited first, 11 of 11)

- [Learning Explanatory Rules from Noisy Data](https://mlsanity.com/paper/1711.04574/) (2017)
- [Learning programs by learning from failures](https://mlsanity.com/paper/2005.02259/) (2020)
- [Clingo = ASP + Control: Preliminary Report](https://mlsanity.com/paper/1405.3694/) (2014)
- [Inductive logic programming at 30](https://mlsanity.com/paper/2102.10556/) (2021)
- [Making sense of sensory input](https://mlsanity.com/paper/1910.02227/) (2019)
- [CrossBeam: Learning to Search in Bottom-Up Program Synthesis](https://mlsanity.com/paper/2203.10452/) (2022)
- [Learning Higher-Order Programs without Meta-Interpretive Learning](https://mlsanity.com/paper/2112.14603/) (2021)
- [Exploiting Answer Set Programming with External Sources for Meta-Interpretive Learning](https://mlsanity.com/paper/1805.00068/) (2018)
- [Best-Effort Inductive Logic Programming via Fine-grained Cost-based Hypothesis Generation](https://mlsanity.com/paper/1707.02729/) (2017)
- [Learning Logic Programs From Noisy Failures](https://mlsanity.com/paper/2201.03702/) (2021)
- [Learning programs with magic values](https://mlsanity.com/paper/2208.03238/) (2022)

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

- [Shedding Light in Task Decomposition in Program Synthesis: The Driving Force of the Synthesizer Model](https://mlsanity.com/paper/2503.08738/) (2025)
- [Satisfiability Modulo Theory Meets Inductive Logic Programming](https://mlsanity.com/paper/2512.12918/) (2025)

## Abstract (arXiv)

Program synthesis approaches struggle to learn programs with numerical values. An especially difficult problem is learning continuous values over multiple examples, such as intervals. To overcome this limitation, we introduce an inductive logic programming approach which combines relational learning with numerical reasoning. Our approach, which we call NUMSYNTH, uses satisfiability modulo theories solvers to efficiently learn programs with numerical values. Our approach can identify numerical values in linear arithmetic fragments, such as real difference logic, and from infinite domains, such as real numbers or integers. Our experiments on four diverse domains, including game playing and program synthesis, show that our approach can (i) learn programs with numerical values from linear arithmetical reasoning, and (ii) outperform existing approaches in terms of predictive accuracies and learning times.
