RZK: Experimental proof assistant for synthetic ∞-categories

The rzk project aims to bring Riehl and Shulman’s 2017 paper on synthetic ∞-categories to life by implementing a proof assistant based on their type theory with shapes. The current prototype includes an online playground and is capable of checking various formalizations. The project uses a version of second-order abstract syntax that allows for straightforward handling of binders. The goal is to eventually support dependent type inference using E-unification for second-order abstract syntax. An important component of rzk is the tope layer solver, which is essentially a theorem prover for a part of the type theory. The project also includes a related project called simple-topes, which supports user-defined cubes, topes, and tope layer axioms. In the future, rzk aims to expand the proof assistant to include formalizations for different geometric versions of HoTT. Users can use the online playground or install rzk locally for larger and multi-file formalizations. The project also provides a VS Code extension for rzk. To contribute to rzk, users can build the documentation locally or get involved in development using Stack or Nix. The project offers options for building with GHC or GHCJS, and provides instructions for setting up the development environment.

https://github.com/rzk-lang/rzk

To top