feat(untyped): standardization theorem for the lambda calculus - #679
Conversation
|
Looking for your next pr ! |
|
Could you share your next PR related to "leftmost reduction"? |
|
Hi! @lengyijun My branch is still a bit too messy to share right now, but I expect to open the PR very soon. |
7f7a6cd to
93dfbbb
Compare
|
opened #700 :) |
chenson2018
left a comment
There was a problem hiding this comment.
This seems straightforward, just some style nitpicks.
…dReduction.lean Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
…dReduction.lean Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
…dReduction.lean Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
…dReduction.lean Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
…dReduction.lean Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
…dReduction.lean Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
…dReduction.lean Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
…dReduction.lean Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
…dReduction.lean Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
…ame.lean Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com>
|
Thanks a lot for the review! Let me know if anything else needs changing. |
chenson2018
left a comment
There was a problem hiding this comment.
@m-ow Thanks! I did a little bit of miscellaneous cleanups myself, in the hope of getting to your next PR a bit quicker. You might have a look for future reference.
…rover#679) This PR proves the standardization theorem: if `M` beta-reduces to `N` in any number of steps, then `N` is reachable from `M` by a standard reduction. Builds on leanprover#671. --------- Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com> Co-authored-by: Chris Henson <chrishenson.net@gmail.com>
This PR proves the standardization theorem: if `M` beta-reduces to `N` in any number of steps, then `N` is reachable from `M` by a standard reduction. Builds on #671. --------- Co-authored-by: Chris Henson <46805207+chenson2018@users.noreply.github.com> Co-authored-by: Chris Henson <chrishenson.net@gmail.com>
The upstream merge brought in Untyped/CallByName.lean and Untyped/StandardReduction.lean (upstream "feat(untyped): standardization theorem for the lambda calculus", leanprover#679). Both carry a file-scoped `set_option linter.unusedDecidableInType false`, which tripped the suppression ratchet: 268 against a ceiling of 266. Raising the ceiling deliberately, which is what the ratchet's own failure message asks for when a file-scope suppression is justified, rather than scoping the two suppressions to declarations. Both files are byte-identical to upstream/main and the suppressions are upstream's own, not something this fork or the v4.33 adaptation introduced. Editing them would fork upstream code and re-conflict on every future `git merge upstream/main` -- precisely the friction this sync existed to remove. If upstream narrows these, the ratchet will report the improvement and the ceiling can drop again. Regenerated with `check-lint-suppressions.sh --update` (the file is generated, not hand-edited) and verified the resulting diff adds exactly these two entries and changes nothing else. Ratchet now passes.
This PR proves the standardization theorem: if
Mbeta-reduces toNin any number of steps, thenNis reachable fromMby a standard reduction.Builds on #671.