-
Notifications
You must be signed in to change notification settings - Fork 339
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
Impredicative Prop #3883
Comments
Currently Agda's termination check assumes predicativity so such an option would not be consistent: {-# OPTIONS --prop --type-in-type #-}
data ⊥ : Prop where
data Bad : Prop where
b : ((P : Prop) → P → P) → Bad
bad : Bad
bad = b (λ P p → p)
no-bad : Bad → ⊥
no-bad (b x) = no-bad (x Bad bad)
very-bad : ⊥
very-bad = no-bad bad So first we would have to patch the termination checker. |
It seems this could now be implemented easily, thanks to a change by @plt-amy to the termination checker for |
We could have We would have to go through the constraint solver to look for predicativity assumptions. At least the comment here would have to change: agda/src/full/Agda/TypeChecking/Conversion.hs Lines 2024 to 2038 in 15342bf
We need to relax the |
Would it be possible to have a "--prop-in-prop" option that collapses the Prop_ hierarchy and makes Prop into an impredicative (but hopefully still consistent) universe of proof-irrelevant propositions?
The text was updated successfully, but these errors were encountered: