Can LLM Aid in Solving Constraints with Inductive Definitions?
Weizhi Feng, Shidong Shen, Jiaxiang Liu, Taolue Chen, Fu Song, Zhilin Wu

TL;DR
This paper introduces a neuro-symbolic method that uses structured prompts to leverage LLMs for generating auxiliary lemmas, enhancing the ability of constraint solvers to handle inductive definitions in proof tasks.
Contribution
It presents a novel neuro-symbolic approach combining LLMs with constraint solvers to improve solving inductive constraints, which are difficult for traditional methods.
Findings
Improves proof task success rate by around 25%.
Enhances SMT/CHC solvers with LLM-generated lemmas.
Demonstrates effectiveness on diverse inductive constraint benchmarks.
Abstract
Solving constraints involving inductive (aka recursive) definitions is challenging. State-of-the-art SMT/CHC solvers and first-order logic provers provide only limited support for solving such constraints, especially when they involve, e.g., abstract data types. In this work, we leverage structured prompts to elicit Large Language Models (LLMs) to generate auxiliary lemmas that are necessary for reasoning about these inductive definitions. We further propose a neuro-symbolic approach, which synergistically integrates LLMs with constraint solvers: the LLM iteratively generates conjectures, while the solver checks their validity and usefulness for proving the goal. We evaluate our approach on a diverse benchmark suite comprising constraints originating from algebrai data types and recurrence relations. The experimental results show that our approach can improve the state-of-the-art SMT…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsNatural Language Processing Techniques · Model-Driven Software Engineering Techniques · Logic, programming, and type systems
