Published 2026 | Version v5

Escape with Your Self: Sound and Expressive Bidirectional Typing with Avoidance for Reachability Types (Artifact)

  • 1. ROR icon Purdue University West Lafayette
  • 2. ROR icon Tufts University
  • 3. ROR icon Augusta University

Description

Artifact for "Escape with Your Self: Sound and Expressive Bidirectional Typing with Avoidance for Reachability Types"

This artifact requires Lean for proofs and examples, and Python 3 for figures.

  • Python libraries: python 3.12.3 on Ubuntu 24.04, matplotlib 3.6.3, numpy 1.26.4
  • The version control for Lean has already been set in lakefile.toml and lean-toolchain.

The artifact includes the following files:

  • mech.tar.gz that includes documents (including README.md), proofs, and examples for this work
  • image.tar.gz which is the Docker image (Ubuntu, amd64) containing the environment to evaluate mech.tar.gz (included).

1. Installation 

From Docker (need amd64 support):

  docker load -i image.tar.gz

Then enter the Docker environment:

  docker run -it --rm rtcheck:latest

Or, manually following the official guide. We require the Lean version v4.27.0.
The version control has already been set in `lakefile.toml` and `lean-toolchain`.

2. Build the Artifact

Within the Docker environment, execute:

  lake build

If you have Lean natively installed with VSCode, you can open the folder in VSCode.
Open Lean4/ChkExamples.lean (for example) and click Restart File from Lean4 menu bar.

3. Generate Data and Plot

The following command will take about 6 minutes,
print a table of data for Fig. 9a, and save the plots of Fig. 9b and 9c to data-{2,1}.pdf.
You can specify the option --fig-file fig-9-{}.pdf to override the plot filenames.

  python3 data.py

Update for Revision:

  • The version of Lean has been updated from v4.14 to v4.27. However, reviewers should note no breaking change by using our updated Docker image or using elan/lake to natively manage the dependencies.
  • Primitive support for pairs/lists has been added. They only service the evaluation in Section 5, and the plotting script has also been updated accordingly.
  • Other refactoring changes.

Files

README.md

Files (1.9 GB)

Name Size
md5:07c758dc056d94c073a9077080759ed5
1.9 GB Download
md5:73c1fb44b4028174cee5917bfaf64ac5
81.5 kB Download
md5:253286979847f898e2e9be544e3e5be5
9.7 kB Preview Download