There is a lot more information in the official manual for both programs, but here are some condensed notes on how to use the command-line versions. (Full manual: https://www.cs.unm.edu/~mccune/prover9/manual/2009-11A/)
cd Desktop
cd LADR-2009-11A
make all
(It make take a minute or two to compile.)
Once done compiling, it will prompt you to run the software tests (to make sure everything is ok).
make test1
make test2
make test3
/bin
folder.
chmod -R +x bin
/bin
folder:
cd bin
./prover9 [-h] [-x] [-p] [-t <n>] [-f <files>]
-h Help. Also see http://www.cs.unm.edu/~mccune/prover9/
-x set(auto2). (enhanced auto mode)
-p Fully parenthesize output.
-t n assign(max_seconds, n). (overrides ordinary input)
-f files Take input from files instead of from standard input.
Your ontology should be placed between the formula(assumptions).
and end_of_list.
tags.
formula(goals).
and end_of_list.
tags.formulas(assumptions).
all x all y (in(x,y) -> in(y,x)).
all x (in(x,x)).
all p (point(p) -> -line(p)).
all x all y ((in(x,y) & point(x) & point(y)) -> (x=y)).
all x all y ((in(x,y) & line(x) & line(y)) -> (x=y)).
all p (point(p) -> (exists l (line(l) & in(p,l)))).
all l (line(l) -> (exists p (point(p) & in(p,l)))).
(exists p exists l (point(p) & line(l) & in(p,l))).
end_of_list.
formulas(goals).
% add your goal here
end_of_list.
(In this example, we have no goal.)
*.in
format../prover9 -t 60 -f bipartite_incidence.in > bipartite_incidence.out
Time limit is 60 seconds, it takes in a file called bipartite_incidence.in
and outputs to a file called bipartite_incidence.out
.
SEARCH FAILED
= no proofTHEOREM PROVED
= proof foundPROOF
section. (If there’s no proof, check the statistics section and you’ll see that proofs=0
.)
./mace4 [-t <n>] [-n <k>] [-m <z>] [-f <files>]
-t n assign(max_seconds, n). (overrides ordinary input)
-n k domain_size(k)
-m z max_models(z)
-f files Take input from files instead of from standard input.
In this example, we ask Mace4 to search for:
bipartite_incidence_in
, andbipartite_incidence.out
../mace4 -t 60 -n 2 -m 10 -f bipartite_incidence.in > bipartite_incidence.out
Normally we don’t need to specify the domain size or model limit, so you can also use the command in this format:
./mace4 -t 60 -f bipartite_incidence.in > bipartite_incidence.out
Note: you can also name the model output as
.model
if you want to distinguish your proof output files from the model output files.
./mace4 -t 60 -n 2 -m 10 -f bipartite_incidence.in > bipartite_incidence.model
./mace4 -t 60 -f bipartite_incidence.in > bipartite_incidence.model
MODEL
section.
interpformat
binary also in the folder. You can use it to convert the model output. The commands are of this format with the following options for converting models:
./interpformat standard -f x2.mace4.out > x2.standard
./interpformat standard2 -f x2.mace4.out > x2.standard2
./interpformat portable -f x2.mace4.out > x2.portable
./interpformat tabular -f x2.mace4.out > x2.tabular
./interpformat raw -f x2.mace4.out > x2.raw
./interpformat cooked -f x2.mace4.out > x2.cooked
./interpformat xml -f x2.mace4.out > x2.xml
./interpformat tex -f x2.mace4.out > x2.tex
./interpformat cooked -f bipartite_incidence.out > bipartite_incidence.cooked
bipartite_incidence.cooked
.