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.
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), type:
raco pkg install --auto --update-deps satore
First, you can check that satore is correctly installed by typing:
racket -l- satore --help
There are some examples in the examples
subdirectory of the satore
directory, and its location can be found with
racket -e '(displayln (collection-file-path "examples" "satore"))'
Run a trivial example:
racket -l- satore -p path-to-satore/examples/socrates.p --proof
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.)
Corrected results on TPTP 7.2.0, on a 2-2.5GHz CPU, with a limit of 5 minutes
and 32GB per problem, either with the default settings, or with
--no-discover-online
to disable atom rewriting:
┌────────────────────────────┬───────┬───────┬───────┬───────┬───────┬────────┐
│Strategy │ UEQ │ CNE │ CEQ │ FNE │ FEQ │ All │
│ Class size→│ 1092 │ 2212 │ 4436 │ 1784 │ 5860 │ 15384 │
├────────────────────────────┼───────┼───────┼───────┼───────┼───────┼────────┤
│Satore (all) │ 177 │ 1140 │ 956 │ 822 │ 1324 │ 4419 │
│ (proof) │ 177 │ 1078 │ 952 │ 766 │ 1324 │ 4297 │
│ (sat) │ 0 │ 62 │ 4 │ 56 │ 0 │ 122 │
├────────────────────────────┼───────┼───────┼───────┼───────┼───────┼────────┤
│Satore w/o atom rw (all) │ 128 │ 967 │ 674 │ 711 │ 843 │ 3323 │
│ (proof) │ 128 │ 913 │ 670 │ 658 │ 843 │ 3212 │
│ (sat) │ 0 │ 54 │ 4 │ 53 │ 0 │ 111 │
└────────────────────────────┴───────┴───────┴───────┴───────┴───────┴────────┘