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

Equality #13

Open
solomon-b opened this issue Mar 6, 2023 · 1 comment
Open

Equality #13

solomon-b opened this issue Mar 6, 2023 · 1 comment

Comments

@solomon-b
Copy link
Collaborator

No description provided.

@MonoidMusician
Copy link
Collaborator

Right now we have very very underspecified equality: just the type former x y : A |- x = y and constructor refl : a = a.

MLTT adds Axiom J, which computes on refl: https://amelia.how/quick/axiom-j.html

Observational Type Theory is an extension we can bolt on:
http://www.strictlypositive.org/ott.pdf

OTT makes equality compute on the type, so that we get stuff like “equality of functions is pointwise equality” by definition. This seems like what we want, for convenience of matching on constructors in particular (e.g. finsets for constructor names like #{ .zero, .succ }).

OTT would restrict the models we have, in particular it rules out Univalence, and the question is do we care?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants