This PR ensures `isDefEq` does not increase the transparency mode to `.default` when checking whether implicit arguments are definitionally equal. The previous behavior was creating scalability problems in Mathlib. That said, this is a very disruptive change. The previous behavior can be restored using the command ``` set_option backward.isDefEq.respectTransparency false ```
17 lines
605 B
Text
17 lines
605 B
Text
@[simp] theorem get_cons_zero {as : List α} : (a :: as).get (0 : Fin (as.length + 1)) = a := rfl
|
||
|
||
example (a b c : α) : [a, b, c].get ⟨0, by simp (config := { decide := true })⟩ = a := by
|
||
simp
|
||
|
||
example (a : Bool) : (a :: as).get ⟨0, by simp +arith⟩ = a := by
|
||
simp
|
||
|
||
example (a : Bool) : (a :: as).get ⟨0, by simp +arith⟩ = a := by
|
||
simp
|
||
|
||
example (a b c : α) : [a, b, c].get ⟨0, by simp (config := { decide := true })⟩ = a := by
|
||
erw [Fin.zero_eta]
|
||
rw [get_cons_zero]
|
||
|
||
example (a b c : α) : [a, b, c].get ⟨0, by simp (config := { decide := true })⟩ = a := by
|
||
rw [List.get]
|