Approximate Relational Reasoning for Higher-Order Probabilistic Programs - Formalization Artifact
Authors/Creators
Description
Approximate Relational Reasoning for Higher-Order Probabilistic Programs - Formalization Artifact
This artifact contains the Coq development accompanying the POPL 2025 submission "Approximate Relational Reasoning for Higher-Order Probabilistic Programs".
Contents
- The file
docker-approxis.tar.gzcontains a (compressed) Docker image that contains a working, compiled version of Approxis and all of its dependencies. - The file
coq-approxis.tar.gzcontains the Coq development. - The file
Dockerfilewas used to create the Docker image by running the commanddocker build -t approxis . && docker save approxis:latest | gzip > docker-approxis.tar.gz. The Docker image was created on Arch Linux, with a current version of Docker (date: 2024-10-16, version: 27.3.1, build ce1223035a). To successfully build the image, the filescoq-approxis.tar.gzandDockerfileshould be in the current working directory.
Usage
Please refer to the file README.md in coq-approxis.tar.gz for information about the main results of the POPL submission as well as manual installation instructions.
The Docker image can be loaded via the command docker load < docker-approxis.tar.gz. We recommend either working with the provided image or following the installation instructions in the readme.
To run an interactive Docker shell, execute the command docker run -i --name approxis -t approxis. From the interactive shell, one can check that the results of the paper have been proven without "admits" by examining the file collecting the main results and re-compiling it:
cat theories/approxis/approxis_examples.vtouch theories/approxis/approxis_examples.vmake
This sequence of commands will print Coq's the mathematical axioms for real numbers and classical logic.
Files
Additional details
Related works
- Is supplement to
- arXiv:2407.14107 (arXiv)
Software
- Repository URL
- http://github.com/logsem/clutch
- Programming language
- Coq
- Development Status
- Active