Skip to content
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] - fix(init/meta/well_founded_tactics): alternate mutual sizeof #496

Closed
wants to merge 6 commits into from

Conversation

digama0
Copy link
Member

@digama0 digama0 commented Nov 4, 2020

This fixes an issue in which mutual recursions cannot call other
functions if they have an index too large, because the default sizeof
instance for psum penalizes lots of psum.inr constructors.

Zulip: https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/well.20founded.20relation.20problem.20with.203.20mutual.20recursion/near/215578029

This fixes an issue in which mutual recursions cannot call other
functions if they have an index too large, because the default sizeof
instance for psum penalizes lots of `psum.inr` constructors.
@gebner
Copy link
Member

gebner commented Nov 5, 2020

I thought the general plan was to get rid of the default termination measure altogether: #288

But in the absence of progress on the other PR, this seems like a good improvement.

bors r+

bors bot pushed a commit that referenced this pull request Nov 5, 2020
This fixes an issue in which mutual recursions cannot call other
functions if they have an index too large, because the default sizeof
instance for psum penalizes lots of `psum.inr` constructors.

Zulip: https://leanprover.zulipchat.com/#narrow/stream/113488-general/topic/well.20founded.20relation.20problem.20with.203.20mutual.20recursion/near/215578029
@bors
Copy link

bors bot commented Nov 5, 2020

Pull request successfully merged into master.

Build succeeded:

@bors bors bot changed the title fix(init/meta/well_founded_tactics): alternate mutual sizeof [Merged by Bors] - fix(init/meta/well_founded_tactics): alternate mutual sizeof Nov 5, 2020
@bors bors bot closed this Nov 5, 2020
@bors bors bot deleted the mutual_sizeof branch November 5, 2020 09:36
@digama0
Copy link
Member Author

digama0 commented Nov 5, 2020

@gebner This actually changes the rel_tac, not the dec_tac (except for marginally improving the error messages). They are independent; even if we kill default_dec_tac we still want to use this alternate well founded relation for mutual defs (at least, until we come up with a better well founded relation that actually does structurally-less-than over all inductive types).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants