Files
deepmind-research/satore/README.md
T
Laurent Orseau 42f8d0aafe Internal
PiperOrigin-RevId: 361132516
2021-03-09 09:52:43 +00:00

1.5 KiB

Satore: First-order logic saturation with atom rewriting

Satore is a first-order logic resolution based theorem prover in CNF without equality, but with atom rewrite rules. New rewrite rules can be discovered during the proof search, potentially reducing exponentially the search space.

Satore stands for Saturation with Atom Rewriting.

Installation

First, install the Racket programming language (Apache2/MIT): https://download.racket-lang.org

Note for Linux users: Do read the comments on the download page.

You may need to configure the PATH environment variable to include the directory containing the racket and raco executables.

To install satore and its dependencies (all are Apache2/MIT licensed), in a directory of your choice, type:

git clone https://github.com/deepmind/deepmind-research/tree/master/satore
raco pkg install --auto --update-deps --link satore

Running Satore

Run a trivial example:

racket -l- satore -p satore/examples/socrates.p --proof

To see the various flags:

racket -l- satore --help

The .p file is assumed to be a standalone file with only comments and cnf(…). lines without equality, where the logic clause must be surrounded by parentheses. All axioms must be included. (This will likely be improved soon.)

Note that racket -l- satore can be invoked from anywhere.