agda / cubical

An experimental library for Cubical Agda
https://agda.github.io/cubical/Cubical.README.html
Other
459 stars 141 forks source link

Containers (and W and M) #1129

Closed stefaniatadama closed 5 months ago

stefaniatadama commented 6 months ago

This PR adds some definitions and proofs on containers. As a prerequisite, it also required adding (non-indexed) W-types and M-types written as a record type.

More specifically,

Most of the proofs are an adaptation of those in 'Containers: Constructing strictly positive types' by Abbott, Altenkirch, and Ghani.

I am aware of the -W[no]NoGuardednessFlag warning being raised. This warning is raised because MRecord.agda is not tagged with a --guardedness flag. I avoided this tag as I import MRecord.agda from Algebras.agda, which exists in the Data directory, and which therefore causes an error if it is also tagged with --guardedness. I'd be happy to refactor if reviewers have suggestions on how else I can organise things.