This PR makes `#guard_msgs` to treat `trace` messages separate from `info`, `warning` and `error`. It also introduce the ability to say `#guard_msgs (pass info`, like `(drop info)` so far, and also adds `(check info)` as the explicit form of `(info)`, for completeness. Fixes #8266
30 lines
635 B
Text
30 lines
635 B
Text
--
|
||
|
||
axiom p {α β} : α → β → Prop
|
||
axiom foo {α β} (a : α) (b : β) : p a b
|
||
|
||
example : p 0 0 := by simp [foo]
|
||
example (a : Nat) : p a a := by simp [foo a]
|
||
example : p 0 0 := by simp [foo 0]
|
||
example : p 0 0 := by simp [foo 0 0]
|
||
example : p 0 0 := by
|
||
fail_if_success
|
||
simp [foo 1] -- will not simplify
|
||
simp [foo 0]
|
||
|
||
/-- trace: ⊢ p 0 0 -/
|
||
#guard_msgs (trace) in
|
||
example : p 0 0 ∧ p 1 1 := by
|
||
simp [foo 1]
|
||
trace_state
|
||
simp [foo 0]
|
||
|
||
namespace Foo
|
||
|
||
axiom p {α} : α → Prop
|
||
axiom foo {α} [ToString α] (n : Nat) (a : α) : p a
|
||
|
||
example : p 0 := by simp [foo 0]
|
||
example : p 0 ∧ True := by simp [foo 0]
|
||
|
||
end Foo
|