Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Basic properties of the flat modality #1005

Closed
wants to merge 52 commits into from

Conversation

fredrik-bakke
Copy link
Collaborator

@fredrik-bakke fredrik-bakke commented Jan 18, 2024

Proves a series of basic properties of the flat modality.

Summary

General properties

  • The universal property of flat discrete crisp types
  • The dependent universal property of flat discrete crisp types
  • Functoriality of flat
  • Flat is idempotent
  • A crisp type is crisply flat discrete if its counit has a crisp section

Left exactness of flat

  • Flat distributes over identity types
  • The crisp identity types of flat discrete crisp types are flat discrete
  • Flat distributes over dependent pair types
  • Flat distributes over product types
  • Flat distributes over pullbacks
  • Flat distributes over sequential limits
  • The unit type is flat discrete

Right exactness of flat

  • The empty type is flat discrete
  • The natural numbers are flat discrete
  • Flat distributes over coproduct types
  • Flat distributes over pushouts
  • Flat distributes over coequalizers
  • Flat distributes over sequential colimits

@fredrik-bakke
Copy link
Collaborator Author

This PR overlaps with #1021, and since it adds new references it currently conflicts with #1058, so I would appreciate it if that PR could be merged soon.

@fredrik-bakke fredrik-bakke deleted the nitpick-mtt branch March 9, 2024 13:45
@fredrik-bakke fredrik-bakke restored the nitpick-mtt branch March 9, 2024 13:46
@fredrik-bakke fredrik-bakke reopened this Mar 9, 2024
@fredrik-bakke
Copy link
Collaborator Author

whoops, turns out renaming branches closes PRs 😅

fredrik-bakke and others added 25 commits March 10, 2024 20:31
Pre-commit tries to run a downloaded NodeJS executable when NodeJS isn't
available in the environment, but that fails to run on NixOS.
…niMath#1052)

### Summary
- Refactors the definition of categories to use the new and more general
strictly involutive identity types for their associativity witnesses.
- Refactor definitions of some instances of large and small
precategories to use a new `make-(Large-)?-Precategory` constructor.
- Defines the underlying large precategory of a large subprecategory.
- Change some prose regarding basic definitions in category theory.
- Refactors all appropriate instances of large precategories to be
(full) large subprecategories.
  - Rename `is-group` to `is-group-Semigroup`.
 
The last item was appropriate to make the handling of
`involutive-eq-associative-comp-hom-***-Large-Precategory` systematic.

Improves on what was implemented in UniMath#945.
Adds citation support using a biblatex file and
[pybtex](https://pybtex.org/), reactors most current citations to use
it, and adds a small guide to explain how to use it.

Resolves UniMath#957.
…h#1066)

I found two instances where the concepts macro wasn't formatted
properly, so I added a check to the preprocessor that fails the website
build.

This means that the preprocessor will run in full for the `linkcheck`
output. We could have it only do some of the work for just checking if
all the tags are well-formatted, but most of the time is still spent in
IO with the `mdbook` process, which we can't speed up.
The changes in this PR are pulled from UniMath#885.
The concept macro looks for Agda definitions when the Agda= component is
specified. Until now the definition name was not escaped, so concepts
like the coproduct type `_+_` could not be found by the macro.

Fixes UniMath#1073
…type-families` (UniMath#1065)

This PR moves the torsoriality of the identity types to
`foundation-core.torsorial-type-families`. Previously it was in
`contractible-types`. I also slightly updated the prose, and fixed
imports wherever they were broken because of this move.
@fredrik-bakke
Copy link
Collaborator Author

This PR is succeeded by #1078 due to merging issues.

@fredrik-bakke fredrik-bakke deleted the nitpick-mtt branch March 28, 2024 14:18
EgbertRijke pushed a commit that referenced this pull request Sep 6, 2024
This is the replacement of #1005.

Proves a series of basic properties of the flat modality.

## Summary

### General properties

- [X] The universal property of flat discrete crisp types
- [x] ~The dependent universal property of flat discrete crisp types~
- [X] Functoriality of flat
- [X] Flat is idempotent
- [x] A crisp type is crisply flat discrete if its counit has a crisp
section

### Left exactness of flat

- [X] Flat distributes over identity types
- [X] The crisp identity types of flat discrete crisp types are flat
discrete
- [X] Flat distributes over dependent pair types
- [X] Flat distributes over product types
- [x] Flat distributes over pullbacks
- [x] ~Flat distributes over sequential limits~
- [x] The unit type is flat discrete

### Right exactness of flat

- [X] The empty type is flat discrete
- [X] The natural numbers are flat discrete
- [X] Flat distributes over coproduct types
- [x] ~Flat distributes over pushouts~
- [x] ~Flat distributes over coequalizers~
- [x] ~Flat distributes over sequential colimits~

### Notes
- The constructor for the flat modality is renamed from `cons-flat` to
`intro-flat`. This makes it easier to distinguish from `counit-flat`.
- In the future, we will probably want to prove `crisp-based-ind-Id`
from the existence of the sharp modality rather than postulating it. The
same is true for the modal induction principle of the sharp modality.
- This PR does some ground work with the sharp modality too.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants