Published February 13, 2020 | Version 1.0.0
Dataset Open

The Embedding Path Order for Lambda-Free Higher-Order Terms — Supplementary Material

  • 1. Vrije Universiteit Amsterdam

Description

This page contains supplementary material for the article The Embedding Path Order for Lambda-Free Higher-Order Terms.

Zipperposition

Compilation instructions for Zipperposition, in particular instructions for compilation for StarExec, can also be found in the Zipperposition readme. I used OCaml 4.07.0, branch lfzip, commit 2d9af0d3d1f3501aec8c2988ab8395b1e1ee98ae

Problems

I used the following TPTP (v7.2.0) problems for the evaluation:  TPTP problem list. This lists contains all higher-order (THF) problems, excluding those that contain arithmetic, tuples, the $distinct predicate, or the $ite symbol, as well as those whose clausal normal form generated by Zipperposition is outside the lambda-free fragment. To find those problems, I used a program that can be found under zipperposition/_build/default/src/tools/type_check.exe after compiling Zipperposition. Note that the lambda-free mode of Zipperposition itself will not check whether the problem is in the fragment or not. It is neither aware that the calculus is complete for this fragment and it will always report "GaveUp" instead of "CounterSatisfiable" if the calculus saturates.

The selection of TPTP problems and the problems generated by Isabelle/Sledgehammer can be downloaded here: Benchmarks

Run scripts

I used the following run scripts on StarExec. This archive also contains the Zipperposition binary, compiled for StarExec: StarExec run scripts

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

  • EPO
    ./zipperposition.exe --mode lambda-free-intensional --ord epo
  • RPO
    ./zipperposition.exe --mode lambda-free-intensional --ord rpo6
  • KBO
    ./zipperposition.exe --mode lambda-free-intensional --ord kbo
  • appRPO
    ./zipperposition.exe --mode fo-complete-basic --app-encode intensional --ord rpo6
  • appKBO
    ./zipperposition.exe --mode fo-complete-basic --app-encode intensional --ord kbo

As additional command line arguments, I provided the problem's filename, the extension operator (--default-symbol-status lengthlexicographic or --default-symbol-status lengthlexicographicrtl) and the options --stats --profile. On Starexec, I chose a wallclock timeout of 600s, a CPU timeout of 300s. StarExec's machine specifications are:

# Starexec stats nodes 001 - 192:
Intel(R) Xeon(R) CPU E5-2609 0 @ 2.40GHz (2393 MHZ)
    10240  KB Cache
    263932744 kB main memory

# Software:
OS:       CentOS Linux release 7.7.1908 (Core)
kernel:   3.10.0-1062.4.3.el7.x86_64
glibc:    glibc-2.17-292.el7.x86_64
          gcc-4.8.5-39.el7.x86_64
          glibc-2.17-292.el7.i686

Results

Get an interactive overview of the results here: Interactive evaluation results

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

Counter-example generation with Lazy SmallCheck

Some of the examples in the paper were generated using Lazy SmallCheck. Here are the programs used to this: Counter-example generation

Formalization

Proofs of the properties of EPO were formalized in Isabelle/HOL and published in the Archive of Formal Proofs: Formalization of the Embedding Path Order for Lambda-Free Higher-Order Terms

Files

benchmarks.zip

Files (111.5 MB)

Name Size Download all
md5:1c74a2a3d67df978915cce31691e2cae
16.5 MB Preview Download
md5:d9ef48167eec4db7a31038284867b040
5.3 kB Preview Download
md5:8f7860f1e706e734c867f83427208cb6
10.0 kB Preview Download
md5:8278faefe18327bb29468d5f53cd5f3b
91.6 MB Preview Download
md5:aa4cb940e9d9377a233db7e23ccb8037
3.4 MB Preview Download

Additional details

Funding

Matryoshka – Fast Interactive Verification through Strong Higher-Order Automation 713999
European Commission