-
Notifications
You must be signed in to change notification settings - Fork 134
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
Re: #397 Modeling set theory #402
Conversation
For future me: build fails cause |
Sorry for the slow reply, I've been really swamped lately. Some quick comments for now:
Please let me know when you've done 2-3 and I'll review everything properly. |
|
Good idea with adding a test to the CI! Can you do it in a separate PR? I don't know how to configure emacs to mark it. Maybe someone else knows? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very nice and interesting stuff!
How does the formalization compare to the Coq code?
Is there some test you can try which actually involves this HIT and univalence computing? Like constructing some concrete sets and taking their union or something.
Sorry for the long response time. Regarding computational behaviour, performance is currently poor. There is some insight to be gained though, consider:
so |
Sure, feel free to post your question on Zulip whenever you want and we can take the discussion there |
Since it might take a little longer to make this perform well, I could split off the parts of the PR that touch the rest of the library and could be required from other parts and open a separate PR for those only. |
Sounds reasonable to me. The more code we can merge into the library from this PR the less hassle you'll have with conflicts. |
* library changes from #402 * prefer direct proofs over isoToEquiv? * minor edits, e.g. typos * add long line markers * update travis dist for ripgrep support * fix issue in Papers/RepresentationIndependence warnings are now errors, would have caught that in the CI * belongs to a seperate pr * undo line-length only edits + commit about Σ-cong-equiv-fst
What is the plan for this PR? Was it going to be split into smaller parts or was there some problem with it? |
Most of the reusable working parts were in #460. I pushed it onto the long bench because when I wanted to address
Even trying small examples, such as open InfinitySet
the1 : V ℓ-zero
the1 = # 1
-- asking agda to normalize `the1` already takes a long time on my machine, although
test : ∥ Bool ∥
test = do
prf ← infinity-ax the1 .fst (#-in-ω 1)
case prf of λ { (⊎.inl _) → ∣ false ∣ ; (⊎.inr _) → ∣ true ∣ }
where
open PropMonad
-- `test` evaluates in a few miliseconds to | true |
test : 1-ok? ≡ ∣ true ∣
test = refl I didn't have the time to properly investigate this or test other approaches. I would update to the newest version of |
Ok, that sounds good! Let me know when you're done and I'll take a look and then we can merge it. The typechecking of the actual files are not too slow right? It's just normalization of examples that's slow? |
The small example is now included and yes, typechecking works reasonably well, it's just normalization. @mortberg |
Finally merging this if the CI accepts it |
Defines a higher inductive type
V
, that the HoTT book calls "cumulative hierarchy" §10.5, modeling "ZF without powersets".