open tactic constants (A : Type.{1}) (x y : A) noncomputable definition f (z : A) : A := z @[simp] definition f.def (z:A) : f z = z := rfl definition foo (z₁ z₂ : A) : f z₁ = f z₂ → z₁ = z₂ := by do H ← intro `H, trace_state, dsimp_at H, trace_state, assumption