-
Notifications
You must be signed in to change notification settings - Fork 2
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
Support propositional equality #181
Comments
We use |
As per c.f. https://coq.inria.fr/doc/V8.18.0/refman/language/cic.html#subtyping-rules also Axiom x y : Set.
Definition foo : Type := x.
Axiom bar : @eq Set x y.
Fail Definition baz : @eq Type x y := bar. This subtyping rule might be too conservative. I intend to believe that we should be able to let subtyping to apply for |
thinking about it twice, I think we cannot let subtyping to propagate in any inductive data types. consider just equality. If we allowed subtyping so that if |
How about contravariant subtyping for pi types? It has a similar problem: |
I tend to believe negative types are better off due to eta expansion. The same probably applies to products. |
So you mean any positive types should not allow subtyping? Hm, that might be the case... |
Soundness is not just "tedious". It requires quite a significant change in proofs. For one of simpler examples, we need to change |
We should add propositional equality. There are three terms:
Eq A a b
which is the type;refl A a
is the only constructor;J
is the elimination principle; check ITT for an exact formulation.We need the following things:
The text was updated successfully, but these errors were encountered: