-
Notifications
You must be signed in to change notification settings - Fork 632
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
Making Theorem with
more flexible + code cleanup
#18743
Making Theorem with
more flexible + code cleanup
#18743
Conversation
9993056
to
0f62e92
Compare
0f62e92
to
534020c
Compare
🔴 CI failure at commit 534020c without any failure in the test-suite ✔️ Corresponding job for the base commit 5dcfab5 succeeded ❔ Ask me to try to extract a minimal test case that can be added to the test-suite 🏃
|
534020c
to
00979f2
Compare
00979f2
to
d1a30de
Compare
d1a30de
to
08bb4a3
Compare
08bb4a3
to
82fc99e
Compare
I believe this to be ready. Most of the PR is about simplifying the code, while the first commit removes the (useless) restriction of corecursive |
f25fccc
to
c71359b
Compare
@coqbot run full ci |
No strict requirement to be in the same inductive type. For instance, we could be in "tree" and "list tree". We could alternatively test whether there is a circularity between the types, but that may be costly.
…ifications Examples of simplifications: - keeping only one the two redundant copies of possible recursion indices in "mutual_info" - simplifying a check that Program Co/Fixpoint is guarded so far - "prg_fixkind" was basically another name for "compute_guard": we change the flow of information so that they play the same role Co-authored-by: Gaëtan Gilbert <gaetan.gilbert@skyskimmer.net>
- We accept, if coinductive, that the conclusions have the same or different coinductive types in any order. - When the conclusions are coinductive and enough hypotheses are inductive, we postpone the decision between fix and cofix to Qed-time.
…definitions. That is in: - start_mutual_with_initialization (interactive) - add_mutual_definition (Program) - declare_mutually_recursive (non-interactive)
d79e3fc
to
79d2443
Compare
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.
Thanks Hugo! LGTM (I only looked at the part I'm familiar with tho)
@coqbot merge now |
@SkySkimmer: Please take care of the following overlays:
|
The PR simplifies
Theorem with
and makes it more flexible:mutual_info
had two redundant copies of the possible recursion indices.Depends on PR #18741 (merged)
and #18742.Overlay: mattam82/Coq-Equations#584