-
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
working on algorithmic subtyping #124
Conversation
Some lemmas are left behind now, including the completeness proof. but basically what we have now shows indeed algorithmic subtyping is structural in normal forms. |
When proving subtyping in the Pi case, I noticed another problem. Now the algorithm first normalizes both sides and then just recurses on normal forms to decide subtyping. It looks right but the completeness proof is blocked. Consider I am not sure how to fix it. I hope it doesn't involve a complicated semantic setup. I somehow feel that the subtyping is just a fancy way of propagating cumulativity so it shouldn't be this difficult. I think the solution might just be to relate the normal forms of |
I think the solution probably lies in the PER model of contexts, which we will have to express anyways. A lazyman's fix at this moment is to only say |
How about this algorithm?
This algorithm is definitely sound as we have |
this is basically what is doing here. I am giving up on contra-variant subtyping. too many things fail on my end. |
should merge #127 first |
The previous one is using same |
c.f. #121