Zulip Chat Archive

Stream: mathlib4

Topic: Regression: rw works, but simp fails


Shubakur Mitra (Feb 22 2026 at 20:50):

After updating Lean from v4.27.0-rc1 to v4.29.0-rc1 and mathlib from 1723eba8 to 7f14c970, the following proof started failing:

import Mathlib
open List in example {α : Type*} {xs : List α} {p : α  Bool} :
    xs.findIdx p = 0  xs = []   (h : 0 < xs.length), p xs[0] := by
  rcases xs with _ | x, xs <;> simp; rw [findIdx_eq] <;> simp

Further investigation shows that here rw works, but simp fails to close the goal:

import Mathlib
open List in example {α : Type*} {xs : List α} {p : α  Bool} :
    xs.findIdx p = 0  xs = []   (h : 0 < xs.length), p xs[0] := by
  rcases xs with _ | x, xs <;> simp; rw [findIdx_eq]; simp
  · simp --fails
    rw [getElem_cons_zero] --works
  · sorry

Simp was working in the old version.

Yury G. Kudryashov (Feb 22 2026 at 21:15):

Use set_option backward.isDefEq.respectTransparency false

Yury G. Kudryashov (Feb 22 2026 at 21:15):

See the announcement, the FRO doesn't recommend downstream projects to update yet.


Last updated: Feb 28 2026 at 14:05 UTC