This PR stops `dsimp` from visiting proof terms, which should make `simp` and `dsimp` more efficient. In this attempt I have `dsimp` leave the proofs in place as-is, instead of simplifying the proof type. Closes #6960
7 lines
239 B
Text
7 lines
239 B
Text
@[simp]
|
||
theorem foo (i : Nonempty α) : Nonempty.intro (Classical.choice i) = i := rfl
|
||
|
||
/-- error: dsimp made no progress -/
|
||
#guard_msgs in
|
||
example : Classical.choice (Nonempty.intro (Classical.choice instNonemptyFloat)) = 0 := by
|
||
dsimp
|