Split Surjectivity
Description
Pulling some of my changes out of #375 in hopes of getting back to it at some point. This PR defines split surjectivity, and also proves some misc. lemmas about surjective maps. I've done some minor cleanup in some of the base modules, and added some (hopefully useful!) equivalences.
Checklist
Before submitting a merge request, please check the items below:
- [x] I've read the contributing guidelines.
- [x] The imports of new modules have been sorted with
support/sort-imports.hs(ornix run --experimental-features nix-command -f . sort-imports). - [x] All new code blocks have "agda" as their language.
If your change affects many files without adding substantial content, and
you don't want your name to appear on those pages (for example, treewide
refactorings or reformattings), start the commit message and PR title with chore:.
Changed pages
- 1Lab.Function.Surjection (+257, -1)
- 1Lab.Equiv (+55, -2)
- 1Lab.Type.Sigma (+26, -12)
- Data.Set.Projective (+21, -13)
This is probably ready now, up to merge conflicts?
Rebased onto main, just need a ✅ and we are good to go.
Looks like I missed some renames during the merge: mind giving this a final ✅ @ncfavier?
Still blocked on @plt-amy 's approval