There is a newer version of the record available.

Published September 17, 2024 | Version 1.0.0
Software Restricted

Split Decisions: Explicit Contexts for Substructural Languages (artifact)

Creators

Description

This artifact contains the Beluga mechanization accompanying the paper “Split Decisions: Explicit Contexts for Substructural Languages”, submitted to CPP 2025 (under review). The artifact contains the following files:
  • carve.tar: An archive of all source files related to mechanization, along with documentation
  • cpp-carve.ova: A Virtual Machine image with all dependencies required to run the mechanization, including the code itself
To run the mechanization directly, download and extract carve.tar. This will create a folder named carve; from there, the file carve/README.md contains detailed instructions for installing the proof assistant Beluga and running the mechanization.

To run the Virtual Machine set-up, download the .ova file and import as necessary. We recommend using VirtualBox; one can import the Virtual Machine directly from the cpp-carve.ova file by following instructions at this link. Adjust the CPU/RAM allocation as needed; a configuration of 4 cores with 4 GB of RAM should suffice. If using other Virtual Machine software, you may need to extract the .ova file to obtain an .ovf file and follow the appropriate instructions.

The Virtual Machine instance is a Ubuntu Server with an SSH server, containing all relevant dependencies and carve pre-installed. The username and password are both cpp25. After successfully launching and logging in (via terminal or SSH), run the following:
cd carve
beluga run_all.cfg
 

Files

Restricted

The record is publicly accessible, but files are restricted to users with access.