author | blanchet |
Mon, 13 Jul 2015 16:54:27 +0200 | |
changeset 60716 | 8e82a83757df |
parent 52123 | 8a34b9a882bb |
child 62588 | cd266473b81b |
permissions | -rw-r--r-- |
60716 | 1 |
Notes from Geoff: |
2 |
||
3 |
I added a few lines to the top of bin/isabelle ... |
|
4 |
||
5 |
## Geoff makes Isabelle a robust tool, because he's kind |
|
6 |
function cleanup { |
|
7 |
rm -rf $HOME |
|
8 |
} |
|
9 |
if [ -z ${HOME+x} ]; then |
|
10 |
HOME="/tmp/Isabelle_$$" |
|
11 |
trap cleanup EXIT |
|
12 |
fi |
|
13 |
||
14 |
... which you might like to adopt. Now it works on SystemOnTPTP. |
|
15 |
||
52098
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
16 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
17 |
Notes to Geoff: |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
18 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
19 |
Once you have open the archive, Isabelle and its tool are ready to go. The |
60716 | 20 |
various tools are invoked as follows (given a file name %s): |
52098
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
21 |
|
60716 | 22 |
Isabelle, competition version: |
23 |
STAREXEC_WALLCLOCK_LIMIT=300 ./bin/starexec_run_isabelle %s |
|
52098
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
24 |
|
60716 | 25 |
Isabelle, demo version: |
26 |
STAREXEC_WALLCLOCK_LIMIT=300 ./bin/starexec_run_isabelle_hot %s |
|
52098
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
27 |
|
60716 | 28 |
Nitpick (formerly also called Nitrox): |
29 |
STAREXEC_WALLCLOCK_LIMIT=300 ./bin/starexec_run_nitpick %s |
|
52098
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
30 |
|
60716 | 31 |
Refute: |
32 |
STAREXEC_WALLCLOCK_LIMIT=300 ./bin/starexec_run_refute %s |
|
52098
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
33 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
34 |
Here's an example: |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
35 |
|
60716 | 36 |
STAREXEC_WALLCLOCK_LIMIT=300 ./bin/starexec_run_isabelle $TPTP/Problems/SET/SET014^4.p |
52098
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
37 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
38 |
The output should look as follows: |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
39 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
40 |
running nitpick for 7 s |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
41 |
FAILURE: nitpick |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
42 |
running simp for 15 s |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
43 |
SUCCESS: simp |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
44 |
% SZS status Theorem |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
45 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
46 |
Additional sanity tests: |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
47 |
|
60716 | 48 |
STAREXEC_WALLCLOCK_LIMIT=300 ./bin/starexec_run_isabelle_hot $TPTP/Problems/CSR/CSR150^3.p |
49 |
STAREXEC_WALLCLOCK_LIMIT=300 ./bin/starexec_run_isabelle_hot $TPTP/Problems/SYO/SYO304^5.p |
|
50 |
||
51 |
The first problem is unprovable; the second one is proved by Satallax. |
|
52098
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
52 |
|
60716 | 53 |
All the tools accept CNF, FOF, TFF0, or THF0 problems and output SZS |
54 |
statuses of the form |
|
52098
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
55 |
|
60716 | 56 |
% SZS status XXX |
52098
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
57 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
58 |
where XXX is in the set |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
59 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
60 |
{Unknown, TimedOut, Unsatisfiable, Theorem, Satisfiable, CounterSatisfiable} |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
61 |
|
60716 | 62 |
Nitpick also output a model within "% SZS begin" and "% SZS end" tags, in |
63 |
its idiosyncratic syntax. |
|
52098
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
64 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
65 |
In 2011, there were some problems with Java (needed for Nitpick), because it |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
66 |
required so much memory at startup. I doubt there will be any problems this |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
67 |
year, because Isabelle now includes its own version of Java, but the solution |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
68 |
back then was to replace |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
69 |
|
60716 | 70 |
exec "$ISABELLE_TOOL" java |
52098
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
71 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
72 |
in the last line of the "contrib/kodkodi-1.5.2/bin/kodkodi" script with |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
73 |
|
60716 | 74 |
/usr/lib64/jvm/java-1.5.0-gcj-4.5-1.5.0.0/jre/bin/java |
52098
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
75 |
|
60716 | 76 |
See the emails we exchanged on 18 July 2011, with the subject "No problem on |
52098
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
77 |
my Linux 64-bit". |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
78 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
79 |
Enjoy! |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
80 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
81 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
82 |
Notes to myself: |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
83 |
|
60716 | 84 |
I downloaded the official Isabelle2015 Linux package from |
85 |
||
86 |
http://isabelle.in.tum.de/dist/Isabelle2015_linux.tar.gz |
|
52098
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
87 |
|
60716 | 88 |
on "macbroy21" and renamed the directory "Isabelle2015-CASC". I modified |
52098
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
89 |
|
60716 | 90 |
src/HOL/TPTP/atp_problem_import.ML |
91 |
||
92 |
to include changes backported from the development version of Isabelle. I |
|
93 |
then built a "HOL-TPTP" image: |
|
52098
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
94 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
95 |
./bin/isabelle build -b HOL-TPTP |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
96 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
97 |
I copied the heaps over to "./heaps": |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
98 |
|
60716 | 99 |
mv ~/.isabelle/Isabelle2015/heaps . |
52098
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
100 |
|
60716 | 101 |
I created some wrapper scripts in "./bin": |
52098
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
102 |
|
60716 | 103 |
starexec_run_default |
104 |
starexec_run_isabelle |
|
105 |
starexec_run_isabelle_hot |
|
106 |
starexec_run_nitpick |
|
107 |
starexec_run_refute |
|
52098
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
108 |
|
60716 | 109 |
I tested the "SET014^4" problem mentioned above. |
52098
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
110 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
111 |
Next, I installed and enabled ATPs. |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
112 |
|
60716 | 113 |
LEO-II (1.6.2): |
52098
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
114 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
115 |
I logged to a 32-bit Linux ("lxlabbroy") machine. I retrieved LEO-II from |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
116 |
|
60716 | 117 |
http://page.mi.fu-berlin.de/cbenzmueller/leo/leo2_v1.6.2.tgz |
52098
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
118 |
|
60716 | 119 |
I did "make opt". I copied "bin/leo.opt" to |
120 |
"~/Isabelle2015-CASC/contrib/leo". |
|
52098
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
121 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
122 |
I added this line to "etc/settings": |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
123 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
124 |
LEO2_HOME=$ISABELLE_HOME/contrib |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
125 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
126 |
Satallax (2.7): |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
127 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
128 |
I logged to a 32-bit Linux ("lxlabbroy") machine. I retrieved Satallax from |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
129 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
130 |
http://www.ps.uni-saarland.de/~cebrown/satallax/downloads/satallax-2.7.tar.gz |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
131 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
132 |
I added E to the path so that it gets detected by Satallax's configure |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
133 |
script: |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
134 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
135 |
export PATH=$PATH:~/Isabelle2013-CASC/contrib/e-1.6-2/x86-linux |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
136 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
137 |
I followed the instructions in "satallax-2.7/INSTALL". I copied |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
138 |
"bin/satallax.opt" to "~/Isabelle2013-CASC/contrib/satallax". |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
139 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
140 |
I added this line to "etc/settings": |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
141 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
142 |
SATALLAX_HOME=$ISABELLE_HOME/contrib |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
143 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
144 |
Vampire (2.6): |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
145 |
|
60716 | 146 |
I copied the file "vampire", which I probably got from the 2013 CASC |
147 |
archive and moved it to "~/Isabelle2013-CASC/contrib/vampire". |
|
52098
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
148 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
149 |
I added these lines to "etc/settings": |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
150 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
151 |
VAMPIRE_HOME=$ISABELLE_HOME/contrib |
60716 | 152 |
VAMPIRE_VERSION=3.0 |
153 |
||
154 |
Z3 TPTP (4.3.2.0 postrelease): |
|
52098
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
155 |
|
60716 | 156 |
I cloned out the git repository: |
157 |
||
158 |
git clone https://git01.codeplex.com/z3 |
|
52098
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
159 |
|
60716 | 160 |
I build Z3 and from "build", ran "make examples" to build "z3_tptp". |
161 |
I copied "z3_tptp" as "z3_tptp-solver" and "libz3.so" to "./contrib", |
|
162 |
and put a wrapper called "z3_tptp" to set the library path correctly |
|
163 |
(inspired by the CVC4 setup on Mac OS X). |
|
52098
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
164 |
|
60716 | 165 |
I added this line to "etc/settings": |
166 |
||
167 |
Z3_TPTP_HOME=$ISABELLE_HOME/contrib |
|
52098
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
168 |
|
60716 | 169 |
Unfortunately, I got "z3::exception" errors. I did not investigate this |
170 |
further and commented out the environment variable in "etc/settings". |
|
171 |
||
172 |
To test that the examples actually worked, I create a file called |
|
173 |
"/tmp/T.thy" with the following content: |
|
52098
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
174 |
|
60716 | 175 |
theory T imports Main begin |
176 |
lemma "a = b ==> [b] = [a]" |
|
177 |
sledgehammer [cvc4 e leo2 satallax spass vampire z3 z3_tptp] () |
|
178 |
oops |
|
179 |
end |
|
180 |
||
181 |
Then I ran |
|
52098
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
182 |
|
60716 | 183 |
./bin/isabelle_process -e 'use_thy "/tmp/T";' |
184 |
||
185 |
I also performed the aforementioned sanity tests. |
|
52098
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
186 |
|
60716 | 187 |
Finally, I renamed "README" to "README.orig" and copied this "ReadMe" over. |
188 |
||
189 |
Ideas for a future year: |
|
52098
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
190 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
191 |
* Unfold definitions, esp. if it makes the problem more first-order (cf. |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
192 |
"SEU466^1"). |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
193 |
* Detect and remove needless definitions. |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
194 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
195 |
That's it. |
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
196 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
197 |
|
6c38df1d294a
added CASC-related files, to keep a public record of the Isabelle submission at the competition
blanchet
parents:
diff
changeset
|
198 |
Jasmin Blanchette |
60716 | 199 |
10 June 2015 |