example (x y : Nat) (h : y = 0) : id ((x + x) + y) = id (x + x) := by simp_arith only /- This is a test for a `simp` cache issue where the following incorrect goal was being produced. ``` ... |- id (2*x + y) = id (x + x) ``` instead of ``` ... |- id (2*x + y) = id (2*x) ``` -/ trace_state simp [h] example (x y : Nat) (h : y = 0) : id (x + x) = id ((x + x) + y) := by simp_arith only simp [h]