Dataset Open Access

Superposition for Lambda-Free Higher-Order Logic — Supplementary Material

Bentkamp, Alexander; Blanchette, Jasmin; Cruanes, Simon; Waldmann, Uwe

We provide the following supplementary material for our paper. The longer version of our paper can be found here: report.

Compiling Zipperposition

Compilation instructions for Zipperposition, in particular instructions for compilation for StarExec, can also be found in the Zipperposition readme.

In general, follow the following steps:

  • Install OPAM
  • Zipperposition requires OCaml >= 4.03.0, e.g. use
    opam switch 4.05.0+flambda
    eval `opam config env`
  • You might have to install gmplib on your system, e.g.
    sudo apt-get install libgmp3-dev
  • Zipperposition requires the following dependencies.
    opam install zarith containers sequence oasis msat menhir jbuilder
  • Clone Zipperposition and compile it (we used commit 7fe2ebeb0500e350fd0f1dd4c4ad402ba9cf99b6):
    git clone https://github.com/c-cube/zipperposition.git --branch dev
    cd zipperposition
    make build
    This will create the binary zipperposition.native.
  • Compile the applicative encoder if needed:
    jbuilder build ./src/tools/app_encode.exe
    This will create the binary ./_build/default/src/tools/app_encode.exe.

Problems

We used the following first-order (TFF) and the higher-order (THF) TPTP (v7.0.0) problems for the evaluation:
TFF problem list
THF problem list

The selection criteria for the problems are described in our paper. We used these scripts to create these problems lists and to generate an XML file to link these problems into a seperate space in Starexec: Problem selection & StarExec XML generation scripts

Run scripts

We used the following run scripts on starexec. This archive also contains the Zipperposition binary and the applicative encoder binary, compiled for Starexec: StarExec run scripts

The scripts use the following command-line options for Zipperposition:

  • First-order mode:
    ./zipperposition.native -i tptp -o tptp --no-ho --no-avatar --no-induction --no-unif-pattern --simultaneous-sup false --no-max-vars --no-fool
  • Intensional purifying calculus:
    ./zipperposition.native -i tptp -o tptp --no-avatar --ho --force-ho --no-ho-elim-pred-var --ho-general-ext-pos --no-ho-unif --no-induction --no-unif-pattern --simultaneous-sup false --ho-purify int --ho-no-ext-pos --ho-no-ext-neg --ho-prim-enum none --no-max-vars --dont-select-ho-var-lits --no-fool
  • Intensional nonpurifying calculus:
    ./zipperposition.native -i tptp -o tptp --no-avatar --ho --force-ho --no-ho-elim-pred-var --ho-general-ext-pos --no-ho-unif --no-induction --no-unif-pattern --simultaneous-sup false --sup-at-vars --ho-no-ext-pos --ho-no-ext-neg --ho-prim-enum none --no-max-vars --dont-select-ho-var-lits --no-fool
  • Extensional purifying calculus:
    ./zipperposition.native -i tptp -o tptp --no-avatar --ho --force-ho --no-ho-elim-pred-var --ho-general-ext-pos --no-ho-unif --no-induction --no-unif-pattern --simultaneous-sup false --ho-purify ext --ho-ext-axiom --restrict-hidden-sup-at-vars --ho-prim-enum none --no-max-vars --dont-select-ho-var-lits --no-fool
  • Extensional nonpurifying calculus:
    ./zipperposition.native -i tptp -o tptp --no-avatar --ho --force-ho --no-ho-elim-pred-var --ho-general-ext-pos --no-ho-unif --no-induction --no-unif-pattern --simultaneous-sup false --sup-at-vars --restrict-hidden-sup-at-vars --ho-ext-axiom --ho-prim-enum none --no-max-vars --dont-select-ho-var-lits --no-fool

Additionally, we provided the problem's filename as the first argument, the order (--ord rpo6 or --ord kbo), the timeout (--timeout 600) and the memory limit (--mem-limit 128000). We used --timeout 600 and Starexec's Wallclock timeout was set to 600s, but Starexec's CPU timeout was set to 300s. So effectively we allowed only 300s of calculation time.

For the applicative encoder app_encode.exe, we provide the problem's filename as the first argument. The option -o tptp should be used to ensure that the output is also in TPTP format. To add the extensionality axiom to the applicative encoding, we use --app-encode-extensional.

Results

Download the raw output of the evaluation and the .csv files created by StarExec here: Evaluation output

We used our own scripts to statistically analyse the results instead of using StarExec's statistics: Evaluation scripts. Set the location of the xml-file and the output files produced by StarExec in config.py and run stats.py to obtain the statistics displayed in the paper.

Examples

We tested the examples given in our paper in Zipperposition. Here are the problem files we used. Some are in TPTP format (.p) and some are in Zipperposition format (.zf).

Files (24.4 MB)
Name Size
eval.tar.gz
md5:8de6f0509e1992da8831213f2b37968d
4.8 kB Download
example_add_equiv_defs.p
md5:5269e1f6a2f8bc806bcf5147a8482e5e
2.2 kB Download
example_add_equiv_defs_app.p
md5:20bb64b216e07dfe85edb0765fbbac1a
32.3 kB Download
example_posext.zf
md5:09995323cdea76a1824cd88c9521d4ca
1.6 kB Download
example_supatvars_rpo.zf
md5:468ac03a790adbd594694d0962ad01b5
1.9 kB Download
example_varcond.zf
md5:abde103489d98c89caa3299a24092a04
909 Bytes Download
list_TFF.txt
md5:b8573fa7f0bb7ab3f7bdfc35e38b9539
10.6 kB Download
list_THF.txt
md5:a3974658976c79b91bb2dd9000e8cca3
19.8 kB Download
output.tar.gz
md5:0ab6352bffd29c4b62c4271f67e739c1
16.7 MB Download
run_scripts.tar.gz
md5:a3fdb79976465b7022dd5cc26a7f756a
7.4 MB Download
starexec_xml.tar.gz
md5:e75effd553ea85c8e7afb744f6664069
217.1 kB Download
30
25
views
downloads
All versions This version
Views 3030
Downloads 2525
Data volume 48.8 MB48.8 MB
Unique views 1818
Unique downloads 44

Share

Cite as