Proper sigma types #6

Open
opened 2024-12-05 19:23:06 -08:00 by wball · 1 comment
Owner

This would greatly simplify impredicative code involving and and exists, as well as make it possible to use in the predicative universes. Syntax sugar for records could be built on top of sigma types as well, which would be nice. Supporting eta equality as well would get rid of the axiom definite_description in peano.pg, which would be very nice.

This would greatly simplify impredicative code involving `and` and `exists`, as well as make it possible to use in the predicative universes. Syntax sugar for records could be built on top of sigma types as well, which would be nice. Supporting eta equality as well would get rid of the axiom `definite_description` in `peano.pg`, which would be very nice.
wball added the
core
label 2024-12-05 19:45:22 -08:00
Author
Owner

Working on products in its own branch. Currently support non-dependent products with a very temporary placeholder syntax as of 2c1f193d77. One very nice consequence of natively supporting products rather than relying on the impredicative definition of products that I didn't realize is that we get type inference on calls to previous and_elim_{l,r} and and_intro almost for free.

Remaining TODOs:

  • Finalize syntax/improve parser
  • Support dependent products (sums? this notation/terminology is kind of stupid)
  • Update treesitter
  • Allow × and , to appear in sections (π₁ and π₂ would be impossible to curry without further inference)
Working on products in its own branch. Currently support non-dependent products with a very temporary placeholder syntax as of 2c1f193d77. One very nice consequence of natively supporting products rather than relying on the impredicative definition of products that I didn't realize is that we get `type inference` on calls to previous `and_elim_{l,r}` and `and_intro` almost for free. Remaining TODOs: - [ ] Finalize syntax/improve parser - [ ] Support dependent products (sums? this notation/terminology is kind of stupid) - [ ] Update treesitter - [ ] Allow `×` and `,` to appear in sections (`π₁` and `π₂` would be impossible to curry without further inference)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: wball/perga#6
No description provided.