feat: backward.isDefEq.respectTransparency#12179
Draft
leodemoura wants to merge 28 commits intomasterfrom
Draft
Conversation
3233869 to
ea9b705
Compare
leodemoura
added a commit
that referenced
this pull request
Feb 5, 2026
This PR leverages the fact that expressions are type correct in `grind` and the conclusion of extensionality theorems is of the form `?a = ?b`. This PR is relevant for #12179 because it enables us to use a weaker `isDefEq` that does not bump the transparency level when processing implicit arguments.
github-merge-queue bot
pushed a commit
that referenced
this pull request
Feb 5, 2026
This PR leverages the fact that expressions are type correct in `grind` and the conclusion of extensionality theorems is of the form `?a = ?b`. This PR is relevant for #12179 because it enables us to use a weaker `isDefEq` that does not bump the transparency level when processing implicit arguments.
ea9b705 to
ef7e7c7
Compare
90bb387 to
b09b7cb
Compare
|
Mathlib CI status (docs):
|
kim-em
added a commit
to leanprover-community/batteries
that referenced
this pull request
Feb 5, 2026
|
Mathlib CI status (docs):
|
Collaborator
|
Reference manual CI status:
|
It is needed for some bitvector problems. Example:
```
theorem msb_extractLsb' {start len : Nat} {x : BitVec w} :
(extractLsb' start len x).msb =
(decide (0 < len) &&
(decide (start + len ≤ w) &&
x.getMsbD (w - (start + len)))) := by
simp [BitVec.msb]
```
After the simplifier we get
```
w start len : Nat
x : BitVec w
⊢ (decide (0 < len) && (decide (start + len ≤ w) && x.getMsbD (w - (start + len)))) =
(decide (0 < len) && (decide (start + len ≤ w) && x.getMsbD (w - (start + len))))
```
The implicit terms are off because a `_ - 0` term occurring in an
implicit argument.
unification hint
dde32d6 to
1f27ba3
Compare
|
Mathlib CI status (docs):
|
|
Mathlib CI status (docs):
|
|
Mathlib CI status (docs):
|
|
Mathlib CI status (docs):
|
|
Mathlib CI status (docs):
|
|
Mathlib CI status (docs):
|
github-merge-queue bot
pushed a commit
that referenced
this pull request
Feb 6, 2026
This PR implements preparatory work for #12179. It implements a new feature in `isDefEq` to ensure it does not increase the transparency level to `.default` when checking definitionally equality of implicit arguments. This transparency level bump was introduced in Lean 3, but it is not a performance issue and is affecting Mathlib. This PR adds the new feature, but it is disabled by default.
|
Mathlib CI status (docs):
|
This was referenced Feb 6, 2026
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.
No description provided.