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
48 lines
866 B
Text
48 lines
866 B
Text
/--
|
||
trace: α : Type u_1
|
||
inst : DecidableEq α
|
||
inst_1 : Add α
|
||
a_1 b_1 : α
|
||
h : a_1 = b_1
|
||
a_2 b : α
|
||
h_1 : b = a_2
|
||
a : α
|
||
⊢ a = b
|
||
-/
|
||
#guard_msgs (trace) in
|
||
example [DecidableEq α] [Add α] (a b : α) (_ : a = b) (a : α) (b : α) (_ : b = a) (a : α) : a = b := by
|
||
expose_names
|
||
trace_state
|
||
sorry
|
||
|
||
/--
|
||
trace: α : Sort u_1
|
||
a b : α
|
||
h_1 : a = b
|
||
h_2 : True
|
||
h_3 : True ∨ False
|
||
h : b = a
|
||
⊢ b = a
|
||
-/
|
||
#guard_msgs (trace) in
|
||
example (a b : α) (h : a = b) (_ : True) (_ : True ∨ False) (h : b = a) : b = a := by
|
||
expose_names
|
||
trace_state
|
||
rw [h]
|
||
|
||
/--
|
||
trace: α : Sort u_1
|
||
a b : α
|
||
h : a = b
|
||
h_3 : True
|
||
h_4 : False
|
||
h_1 : True ∨ False
|
||
h_5 : True
|
||
h_2 : b = a
|
||
⊢ b = a
|
||
-/
|
||
#guard_msgs (trace) in
|
||
example (a b : α) (h : a = b) (_ : True) (_ : False) (h_1 : True ∨ False) (_ : True) (h_2 : b = a) : b = a := by
|
||
expose_names
|
||
trace_state
|
||
contradiction
|