-
Notifications
You must be signed in to change notification settings - Fork 2
/
README
114 lines (84 loc) · 3.79 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
-------------------------
Introduction
----
This code implements simple, resolution-based theorem provers for
first-order logic. It is released as free software under the GNU GPL
version 3, and without any warranty. See the file COPYING for
details and the individual source headers for copyright information.
This code is largely a translation of https://github.com/eprover/PyRes , created by Prof.
Stephan Schulz, from Python into Java, with some additions to support SUMO
http://www.ontologyportal.org and Sigma https://github.com/ontologyportal/sigmakee
Adam Pease
-------------------------
Directories
----
src - source code
test - jUnit tests
StarExec - files required to run under StarExec
papers - CADE2021 submission
lib - Java libraries
dist - zip file of JavaRes used in tests reported in CADE2021 submission
data - results from testing on StarExec with TPTP
-------------------------
Compiling
----
Install ant and just type
ant
while in the top level of the JavaRes git repository. To compile a zip for StarExec, type
ant star
-------------------------
jUnit Tests
----
paths are relative to where you've cloned the repository, and given the environment
variable $GITDIR. UnitTestAll runs all unit tests. ProverTest is an integration
test on TPTP problems. It requires that the environment variable $TPTP be set
to the location of the TPTP problems. The only external libraries needed are for
jUnit (and its supporting hamcrest library, which are in the lib dir)
java -ea -Xmx7G -cp $GITDIR/JavaRes/build/classes:$GITDIR/JavaRes/lib/*
org.junit.runner.JUnitCore atp.UnitTestAll
java -ea -Xmx7G -cp $GITDIR/JavaRes/build/classes:$GITDIR/JavaRes/lib/*
org.junit.runner.JUnitCore atp.ProverFOFTest
-------------------------
Running JavaRes
----
To run in verbose mode on a TPTP problem -
java -Xmx15G -cp $GITDIR/JavaRes/build/classes:$GITDIR/JavaRes/lib/*
atp.ProverFOF --eqax --proof --delete-tautologies --forward-subsumption
--backward_subsumption --delete-tautologies --timeout 600 -v $TPTP/Problems/PUZ/PUZ001+1.p
...and in quiet mode
java -Xmx15G -cp $GITDIR/JavaRes/build/classes:$GITDIR/JavaRes/lib/*
atp.ProverFOF --eqax --proof --delete-tautologies --forward-subsumption
--backward_subsumption --delete-tautologies --timeout 600 $TPTP/Problems/PUZ/PUZ001+1.p
To get help that shows the list of available command line options -
java -Xmx15G -cp $GITDIR/JavaRes/build/classes:$GITDIR/JavaRes/lib/*
atp.ProverFOF -h
-------------------------
More Useful Examples for Execution and Analysis
----
Assume that $GIT is the location of your local git repository. Assume that $TPTP is
where you've installed all of TPTP. Assume that $STAR is where you put StarExec
job output
run PyRes with the "best" options
timeout 300 python3 $GIT/PyRes/pyres-fof.py -tifbp -HPickGiven5
-nlargest --silent $TPTP/Problems/NUM/NUM519+1.p
run a single junit test
java -Xmx7G -cp $GIT/JavaRes/build/classes:/home/apease/workspace/JavaRes/lib/*
atp.SingleJUnitTestRunner atp.LiteralTest#testKIFparse
show TPTP test scores by problem category for PyRes and JavaRes
java -Xmx15G -cp $GIT/JavaRes/build/classes:$GIT/JavaRes/lib/* atp.StarExec -r
$STAR/Job1649_output $GIT/JavaRes/data/PyRes-TPTP7-2.csv
show exhaustive comparison of each problem where JavaRes and PyRes differ
java -Xmx15G -cp $GIT/JavaRes/build/classes:$GIT/JavaRes/lib/* atp.StarExec -ro
$STAR/Job1649_output $GIT/JavaRes/data/PyRes-TPTP7-2.csv &> JavaPyCompare.txt
count appearances of a particular SZS ontology result
grep -r ContradictoryAxioms $TPTP/Problems/* | wc -l
show all the SZS ontology tags actually in use in TPTP
grep -Eor "Status\s*: (.*)" $TPTP/Problems/* | cut -d ':' -f 3 | sort -u
ContradictoryAxioms
CounterSatisfiable
Open
Satisfiable
Theorem
Unknown
Unsatisfiable