https://github.com/agda/cubical
An experimental library for Cubical Agda
https://github.com/agda/cubical
agda cubical-type-theory library
Last synced: 6 months ago
JSON representation
An experimental library for Cubical Agda
- Host: GitHub
- URL: https://github.com/agda/cubical
- Owner: agda
- License: other
- Created: 2018-10-15T09:28:28.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2025-07-07T13:09:17.000Z (7 months ago)
- Last Synced: 2025-07-07T14:08:10.933Z (7 months ago)
- Topics: agda, cubical-type-theory, library
- Language: Agda
- Homepage: https://agda.github.io/cubical/Cubical.README.html
- Size: 316 MB
- Stars: 491
- Watchers: 28
- Forks: 150
- Open Issues: 114
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Citation: CITATION.cff
Awesome Lists containing this project
README
A standard library for Cubical Agda
===================================
The source code has a glorious clickable [rendered version](https://agda.github.io/cubical/Cubical.README.html).
There is also a [discord server](https://discord.gg/yjTKHzepMx), shared with [agda-unimath](https://unimath.github.io/agda-unimath/) and the [1lab](https://1lab.dev/).
Compiling, using and installing
-------------------------------
This library checks with [Agda](https://github.com/agda/agda/) version indicated in the table below.
For detailed install instructions see the
[INSTALL](https://github.com/agda/cubical/blob/master/INSTALL.md)
file.
If you want to use some specific release of Agda,
the following table lists which releases of Agda are known to work with which release of this library.
Most likely, a lot more combinations work as well.
Agda versions as written below, correspond to tags.
| cubical library version | Agda versions |
|-------------------------|--------------------------------|
| current master | `v2.7.0.1` |
| `v0.8` | `v2.6.4.1` `v2.7.0.1` |
| `v0.7` | `v2.6.4` `v2.6.4.1` |
| `v0.6` | `v2.6.4` |
| `v0.5` | `v2.6.3` `v2.6.4` |
| `v0.4` | `v2.6.2.2` |
| `v0.3` | `v2.6.2` |
| `v0.2` | `v2.6.1.3` |
| `v0.1` | `v2.6.0.1` |
For example, if you have Agda 2.6.2.2, you can switch to version 0.4 of the cubical library with
```
git checkout v0.4
```
Learning materials
------------------
* Introductory material from the HoTTest summer school:
[literate agda files](https://github.com/martinescardo/HoTTEST-Summer-School/tree/main/Agda/Cubical)
[recordings on youtube](https://www.youtube.com/channel/UC-9jDbJ-HegCFuWuam1SfvQ)
* For an introduction to this library, see this [blog
post](https://homotopytypetheory.org/2018/12/06/cubical-agda/). Note that many
files and results have moved since this blog post was written.
* For some introductory lecture notes see the material for the Cubical Agda course
of the [EPIT 2021 spring school](https://github.com/HoTT/EPIT-2020/blob/main/04-cubical-type-theory/).
Theoretical background
----------------------
For a paper with details about Cubical Agda, see [Cubical Agda: a dependently typed
programming language with univalence and higher inductive
types](https://dl.acm.org/doi/10.1145/3341691) by Andrea Vezzosi, Anders
Mörtberg, and Andreas Abel.
The type theory that Cubical Agda implements is a variation of the
cubical type theory of:
[Cubical Type Theory: a constructive interpretation of the univalence
axiom](https://arxiv.org/abs/1611.02108) - Cyril Cohen, Thierry
Coquand, Simon Huber, Anders Mörtberg.
The key difference is that the Kan composition operations are
decomposed into homogeneous composition and generalized transport as
in:
[On Higher Inductive Types in Cubical Type
Theory](https://arxiv.org/abs/1802.01170) - Thierry Coquand, Simon
Huber, Anders Mörtberg.
This makes it possible to directly represent higher inductive types.
Reviewing of [pull requests](https://github.com/agda/cubical/pulls?q=is%3Apr+is%3Aopen+draft%3Afalse)
--------------------------
If you switch your draft pull request (PR) to 'ready to merge',
or directly create an open PR,
we should request a review, by one of the reviewers below.
If that doesn't happen, you can also request a reviewer yourself (for reviewer expertise see below),
to make us aware of the open PR. Feel free to use Discord to get in touch with a reviewer in case reviewing is taking a very long time.
| Reviewer | github handle | Area of expertise |
|-------------------------------------------------------------------------|---------------|---------------------------------------------|
| [Anders Mörtberg](https://staff.math.su.se/anders.mortberg/) | [mortberg](https://github.com/mortberg) | *Most topics* |
| [Evan Cavallo](https://ecavallo.net/) | [ecavallo](https://github.com/ecavallo) | *Most topics* |
| [Felix Cherubini](https://felix-cherubini.de) | [felixwellen](https://github.com/felixwellen) | *Mainly algebra related topics* |
| [Max Zeuner](https://www.su.se/english/profiles/maze1512-1.450461) | [mzeuner](https://github.com/mzeuner) | *Algebra related topics* |
| [Axel Ljungström](https://aljungstrom.github.io) | [aljungstrom](https://github.com/aljungstrom) | *Synthetic homotopy theory and cohomology* |
| [Andrea Vezzosi](http://saizan.github.io/) | [Saizan](https://github.com/Saizan) | *Inactive* |
[Overview](https://github.com/agda/cubical/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-asc+draft%3Afalse) of the current open PRs, descending time since last action.