https://github.com/uds-psl/time-invariance-thesis-for-L
Raw File
Tip revision: 41f4eb1f788cc4f096d9c7c286c9ca907588859f authored by Yannick Forster on 23 April 2021, 07:55:11 UTC
Delete LICENSE
Tip revision: 41f4eb1
README.md
# A Mechanised Proof of the Time Invariance Thesis for the Weak Call-by-value λ-Calculus

This repository contains the code of the paper "A Mechanised Proof of the Time Invariance Thesis for the Weak Call-by-value λ-Calculus" by Yannick Forster, Fabian Kunze, Gert Smolka, and Maximilian Wuttke.

A summary of the main results can be found in [`summary.v`](theories/summary.v).

Note that this repository is a fork of the [Coq Library of Undecidability Proofs](https://github.com/uds-psl/coq-library-undecidability/), to which we contribute our results.

## Installation Instructions

You need `opam 2` on your system.

You need `Coq 8.12.1` built on OCAML `>= 4.07.1`, the [Smpl](https://github.com/uds-psl/smpl) package, the [Equations](https://mattam82.github.io/Coq-Equations/) package, and the [MetaCoq](https://metacoq.github.io/metacoq/) package for Coq. If you are using opam 2 you can use the following commands to install the dependencies on a new switch:

```
opam switch create coq-invariance-thesis 4.07.1+flambda
eval $(opam env)
opam repo add coq-released https://coq.inria.fr/opam/released
opam install . --deps-only
```

### Building the project

- `make all` builds the library
- `make summary.vo` compiles only the file `theories/summary.v` and its dependencies
- `make html` generates clickable coqdoc `.html` in the `website` subdirectory
- `make clean` removes all build files in `theories` and `.html` files in the `website` directory

#### Compiled interfaces

The library is compatible with Coq's compiled interfaces ([`vos`](https://coq.inria.fr/refman/practical-tools/coq-commands.html#compiled-interfaces-produced-using-vos)) for quick infrastructural access.

- `make vos` builds compiled interfaces for the library
- `make vok` checks correctness of the library 

### Troubleshooting

#### Windows

If you use Visual Studio Code on Windows 10 with Windows Subsystem for Linux (WSL), then local opam switches may cause issues.
To avoid this, you can use a non-local opam switch, i.e. `opam switch create 4.07.1+flambda`.

#### Coq version

Be careful that this branch only compiles under `Coq 8.12.1`. 
back to top