SYNTOLOGY HomeExplorerAtlasCodeMethodologyAboutDevelopersFeedPricing
Paper · 2306.03872 · NeurIPS · 2023

Deductive Verification of Chain-of-Thought Reasoning

Zhiao Huang, Hao Su, Zhan Ling, Xuanlin Li, Yunhao Fang, Mingu Lee, Roland Memisevic

arXiv · PDF · Open in the Atlas

Code that ran

We lifted 7 functions out of this paper's own repositories and ran 2 of them in a sandbox. "Ran" means the function executed on a synthesized input and returned a value. It is not a reproduction of the paper's results.

RepositoryRoleRan
lz1oceani/verify_cot canonical 2 of 7
FunctionStatusWhere it lives
lstrip_string Ran lz1oceani/verify_cot/run_verification.py
pointer only (licence: CC-BY-4.0) · get_code("81eb84266f4e646e")
parse_results Ran lz1oceani/verify_cot/run_verification.py
pointer only (licence: CC-BY-4.0) · get_code("2ff8ae19d6efa4a1")
parse_steps Not yet run lz1oceani/verify_cot/run_verification.py
pointer only (licence: CC-BY-4.0) · get_code("5d4397ea6017fb63")
prompt_fn Not yet run lz1oceani/verify_cot/prompts.py
pointer only (licence: CC-BY-4.0) · get_code("1819d2d2bfe512b2")
prompt_fn Not yet run lz1oceani/verify_cot/run_verification.py
pointer only (licence: CC-BY-4.0) · get_code("4b45db936fa3b443")
run_verify_naive Not yet run lz1oceani/verify_cot/run_verification.py
pointer only (licence: CC-BY-4.0) · get_code("9e416d18d332aea8")
verify_steps Not yet run lz1oceani/verify_cot/run_verification.py
pointer only (licence: CC-BY-4.0) · get_code("30d79903a57a3423")

Repositories linked to this paper

Some links come from the archived Papers with Code dataset (CC BY-SA 4.0): attribution and licence.

Abstract

Large Language Models (LLMs) significantly benefit from Chain-of-Thought (CoT) prompting in performing various reasoning tasks. While CoT allows models to produce more comprehensive reasoning processes, its emphasis on intermediate reasoning steps can inadvertently introduce hallucinations and accumulated errors, thereby limiting models' ability to solve complex reasoning tasks. Inspired by how humans engage in careful and meticulous deductive logical reasoning processes to solve tasks, we seek to enable language models to perform explicit and rigorous deductive reasoning, and also ensure the trustworthiness of their reasoning process through self-verification. However, directly verifying the validity of an entire deductive reasoning process is challenging, even with advanced models like ChatGPT. In light of this, we propose to decompose a reasoning verification process into a series of step-by-step subprocesses, each only receiving their necessary context and premises. To facilitate this procedure, we propose Natural Program, a natural language-based deductive reasoning format. Our approach enables models to generate precise reasoning steps where subsequent steps are more rigorously grounded on prior steps. It also empowers language models to carry out reasoning self-verification in a step-by-step manner. By integrating this verification process into each deductive reasoning stage, we significantly enhance the rigor and trustfulness of generated reasoning steps. Along this process, we also improve the answer correctness on complex reasoning tasks. Code will be released at https://github.com/lz1oceani/verify_cot.

For agents

The same record, over MCP at https://syntology.ai/mcp:

get_harvested_code_for_paper("2306.03872")
get_code_for_paper("2306.03872")
have("2306.03872")

Connect an agent — have() is free.