refactor: migrate to the new do elaborator - #2
Closed
kim-em wants to merge 2 commits into
Closed
Conversation
Owner
Author
|
Superseded by the correctly placed upstream draft: digama0#33. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on digama0#30.
Resolves digama0#31.
Summary
backward.do.legacycompatibility pinsdoelaboratorOption.bindterms with result type ascriptionsVerification
lake buildlake build Lean4Lean.Experimentallake exe lean4lean Init.Corelake exe lean4lean --fresh Init.System.IOCoverage note
Removing the
TypeChecker.leanpin changes elaborated terms in code paths whose existing.WFtheorems still containsorry(reduceRecursor,reduceProj,inferProj,tryEtaStructCore, andisDefEqUnitLike). The freshInit.System.IOreplay is therefore part of the safety check, rather than relying only on proof coverage.Independent review
A fresh Claude Opus review found no correctness regression and confirmed that the explicit
Option.bindrewrites preserve behavior. Follow-up changes narrowed both new simp attributes, replaced a broadExprconstructor case split with targeted Boolean elimination, made the experimental proof branches explicit, and cleaned stale join-point names.