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
[Merged by Bors] - feat(pfun/recursion): unbounded recursion #3778
Conversation
5d82fb7
to
a563c7b
Compare
Reminder: please don't force-push PRs once they have been publicly submitted. |
Why is this an issue? |
It breaks review comments - they point to outdated and removed commits, which is very confusing for later readers. |
There's one thing I'd like your opinion on. What do you think of using |
I would say, avoid partial functions (using hypotheses in Prop as arguments to functions in Type). First, make sure you don't have any unused arguments, but if you need the argument, either totalize by returning a garbage value, or if that's not possible then package the hypothesis into the domain by bundling. I see a few definitions in this PR that deserve this treatment. In short, I think it's a good idea, although possibly not the only solution to your problem. |
@cipher1024 I made some changes directly to the branch; please look over them and make sure I haven't done anything too damaging for your later work. The main highlights are:
Along with that there are a lot of small tweaks to documentation comments and proofs which shouldn't be too important. Assuming everything is to your liking, I think we're ready to merge. bors d+ |
✌️ cipher1024 can now approve this pull request. To approve and merge a pull request, simply reply with |
@digama0 I like the edits. Thanks for taking the time. |
bors r+ |
Co-authored-by: Mario Carneiro <di.gama@gmail.com>
Build failed: |
bors r+ |
Co-authored-by: Mario Carneiro <di.gama@gmail.com>
Pull request successfully merged into master. Build succeeded: |
Co-authored-by: Mario Carneiro <di.gama@gmail.com>
Co-authored-by: Mario Carneiro <di.gama@gmail.com>
This is a simplification of #1086. The proof automation is removed.
Todo:
#list_unused_decls
#lint