Automated Theorem Provers Help Improve Large Language Model Reasoning

Lachlan McGinness, Peter Baumgartner
8/7/2024
cs.AIcs.CL

No confident code implementation found for this paper. 5 possible matches can be shown below.

Abstract

In this paper we demonstrate how logic programming systems and Automated first-order logic Theorem Provers (ATPs) can improve the accuracy of Large Language Models (LLMs) for logical reasoning tasks where the baseline performance is given by direct LLM solutions. We first evaluate LLM reasoning on steamroller problems using the PRONTOQA benchmark. We show how accuracy can be improved with a neuro-symbolic architecture where the LLM acts solely as a front-end for translating a given problem into a formal logic language and an automated reasoning engine is called for solving it. However, this approach critically hinges on the correctness of the LLM translation. To assess this translation correctness, we secondly define a framework of syntactic and semantic error categories. We implemented the framework and used it to identify errors that LLMs make in the benchmark domain. Based on these findings, we thirdly extended our method with capabilities for automatically correcting syntactic and semantic errors. For semantic error correction we integrate first-order logic ATPs, which is our main and novel contribution. We demonstrate that this approach reduces semantic errors significantly and further increases the accurracy of LLM logical reasoning.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. 5 weaker matches are hidden by default — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{mcginness2024automated,
  title  = {Automated Theorem Provers Help Improve Large Language Model Reasoning},
  author = {Lachlan McGinness and Peter Baumgartner},
  year   = {2024},
  eprint = {2408.03492},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2408.03492v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2408.03492.svg)](https://codeofpaper.com/paper/2408.03492)

Discussion