You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-[SMT-LIB Standard](https://smtlib.cs.uiowa.edu/) — The SMT-LIB 2.0 standard used by the SMT2 backend.
35
+
-[Diataxis Documentation Framework](https://diataxis.fr/) — Framework guiding the structure of this documentation.
36
+
37
+
## Acknowledgements
38
+
39
+
This work was supported by:
40
+
41
+
*National Science Foundation (NSF) funded AI institute for Intelligent Cyberinfrastructure with Computational Learning in the Environment (ICICLE) (OAC 2112606)*
42
+
43
+
## Issue Reporting
44
+
45
+
If you encounter any issues, please report them via [GitHub Issues](https://github.com/debarghaG/proofofthought/issues). When filing an issue, please include:
-**backend_comparison.py** - Comparing SMT2 vs JSON backends
167
+
-**batch_evaluation.py** - Evaluating on datasets
168
+
-**postprocessor_example.py** - Using postprocessing techniques
169
+
170
+
### Running Examples After pip Install
171
+
172
+
If you installed via `pip install proofofthought`, you can create your own scripts anywhere using the Quick Start examples above. The examples directory is primarily for development and testing.
173
+
174
+
### Running Examples in Development Mode
175
+
176
+
If you cloned the repository:
177
+
178
+
```bash
179
+
cd /path/to/proofofthought
180
+
python examples/simple_usage.py
139
181
```
140
182
183
+
**Note:** Some examples use helper modules like `utils/azure_config.py` which are only available when running from the repository root.
184
+
185
+
---
186
+
187
+
# How-To Guides
188
+
141
189
## Backend Selection
142
190
143
191
ProofOfThought supports two execution backends:
@@ -186,40 +234,21 @@ Available techniques:
186
234
187
235
See [POSTPROCESSORS.md](POSTPROCESSORS.md) for complete documentation and usage examples.
188
236
189
-
## Architecture
190
-
191
-
The system has two layers:
192
-
193
-
1.**High-level API** (`z3adapter.reasoning`) - Simple Python interface for reasoning tasks
194
-
2.**Low-level execution** (`z3adapter.backends`) - JSON DSL or SMT2 backend for Z3
195
-
196
-
Most users should use the high-level API.
197
-
198
-
## Examples
199
-
200
-
The `examples/` directory contains complete working examples for various use cases:
-**backend_comparison.py** - Comparing SMT2 vs JSON backends
205
-
-**batch_evaluation.py** - Evaluating on datasets
206
-
-**postprocessor_example.py** - Using postprocessing techniques
207
-
208
-
### Running Examples After pip Install
209
-
210
-
If you installed via `pip install proofofthought`, you can create your own scripts anywhere using the Quick Start examples above. The examples directory is primarily for development and testing.
211
-
212
-
### Running Examples in Development Mode
237
+
## Batch Evaluation
213
238
214
-
If you cloned the repository:
239
+
```python
240
+
from z3adapter.reasoning import EvaluationPipeline, ProofOfThought
**Note:** Some examples use helper modules like `utils/azure_config.py` which are only available when running from the repository root.
222
-
223
252
## Running Experiments
224
253
225
254
You can use this repository as a strong baseline for LLM+Solver methods. This code is generally benchmarked with GPT-5 on the first 100 samples of 5 datasets, as an indicator of whether we broke something during development. These numbers are not the best, and you can certainly get better numbers with better prompt engineering with this same tooling. Please feel free to put in a PR if you get better numbers with modified prompts.
@@ -236,9 +265,28 @@ This will:
236
265
- Generate results tables in `results/`
237
266
- Automatically update the benchmark results section below
238
267
268
+
---
269
+
270
+
# Explanation
271
+
272
+
## Architecture
273
+
274
+
The system has two layers:
275
+
276
+
1.**High-level API** (`z3adapter.reasoning`) - Simple Python interface for reasoning tasks
277
+
2.**Low-level execution** (`z3adapter.backends`) - JSON DSL or SMT2 backend for Z3
278
+
279
+
Most users should use the high-level API.
280
+
281
+
For full documentation, visit the [ProofOfThought Documentation Site](https://debarghag.github.io/proofofthought/).
description: LLM-based reasoning using Z3 theorem proving with multiple backend support (SMT2 and JSON). Provides a high-level Python API for neurosymbolic reasoning tasks with postprocessing techniques for enhanced quality.
citation: "Debargha Ganguly, Srinivasan Iyengar, Vipin Chaudhary, Shivkumar Kalyanaraman. (2024) PROOF OF THOUGHT: Neurosymbolic Program Synthesis allows Robust and Interpretable Reasoning. The First Workshop on System-2 Reasoning at Scale, NeurIPS'24. https://openreview.net/forum?id=Pxx3r14j3U"
0 commit comments