Towards Bottom-Up Enumeration in miniKanren via Pruning and Memoization

📅 2026-07-28
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
This work addresses the lack of efficient bottom-up enumeration mechanisms in relational program synthesis, which hinders effective deduplication and reuse of intermediate results. The authors introduce, for the first time, observational equivalence-based deduplication and bottom-up enumeration into relational logic programming within miniKanren. They propose two core combinators: *prune*, which enables stream-based deduplication, and *defrel/bank*, which supports relational memoization and answer reuse; they further extend this to a weighted best-first search variant, *defrel/bank-w*. Experimental evaluation on arithmetic and string synthesis benchmarks demonstrates that the approach significantly outperforms depth-bounded baselines on most deep-target problems, with slightly inferior performance only in rare cases where compact solutions are missed due to depth-first search ordering.
📝 Abstract
We present two small library combinators on top of plain miniKanren, designed to bring bottom-up enumeration with observational deduplication, the standard tool in non-relational program-by-example (PBE) synthesizers, into the relational setting. The first combinator, prune, deduplicates an answer stream by a user-supplied key, typically the input/output behavior of the candidate. The second, defrel/bank, memoizes a relation against canonical fresh variables so that a single pruned answer stream is built bottom-up and replayed at every call site. We also discuss a weighted variant, defrel/bank-w, which attaches admissible upper bounds to immature streams to recover best-first enumeration in cases where the natural depth-first canonical order misses compact representatives. On a preliminary PBE benchmark of arithmetic and string synthesis targets, defrel/bank substantially outperforms the depth-bounded baseline on most deep targets, while losing on a small family where the canonical depth-first enumeration order misses compact representatives. We leave a broader empirical evaluation to an extended version of this paper.
Problem

Research questions and friction points this paper is trying to address.

bottom-up enumeration
program synthesis
relational programming
observational deduplication
miniKanren
Innovation

Methods, ideas, or system contributions that make the work stand out.

bottom-up enumeration
memoization
observational deduplication
relational programming
program synthesis
🔎 Similar Papers
No similar papers found.