Home

Awesome

Univalent Parametricity

Univalent Parametricity for Effective Transport

The repository contains the companion code of the article "The Marriage of Univalence and Parametricity"

A previous version of this work has been published at ICFP'18 "Equivalences for Free: Univalent Parametricity for Effective Transport"

Structure

Compilation

Hereafter, "the main development" denotes the directories theories/ and examples/.

You need Coq 8.13 to compile the main development. To compile the file in the translation/ directory, you need the hoqc compiler (the HoTT version of Coq provided by the HoTT Library -- available at https://github.com/HoTT/HoTT).

To compile the main development:

set $COQBIN to the path where coqc is (export COQBIN=/.../bin/), or have Coq 8.13 in your path. Then, in the / directory, run:

make

To compile translation/ run (requires hoqc):

hoqc translation/Translation.v

directory ./theories

This is the core development with type classes described in Section 5. The structure of the files follows more or less the structure of the paper.

Note that HoTT.v contains one admit (hprop_isequiv), which corresponds to a standard result in the HoTT library, but whose proof was too laborious to be added independently to this distribution.

directory ./examples

directory ./translation