35 lines
692 B
Text
35 lines
692 B
Text
module
|
||
@[expose] public section -- TODO: remove after we fix congr_eq
|
||
|
||
def g (a : α) (as : List α) : List α :=
|
||
match as with
|
||
| [] => [a]
|
||
| b::bs => a::a::b::bs
|
||
|
||
set_option trace.grind true in
|
||
set_option trace.grind.assert true in
|
||
example : ¬ (g a as).isEmpty := by
|
||
unfold List.isEmpty
|
||
unfold g
|
||
grind
|
||
|
||
def h (as : List Nat) :=
|
||
match as with
|
||
| [] => 1
|
||
| [_] => 2
|
||
| _::_::_ => 3
|
||
|
||
/--
|
||
trace: [grind] closed `grind.1`
|
||
[grind] closed `grind.2`
|
||
[grind] closed `grind.3`
|
||
-/
|
||
#guard_msgs (trace) in
|
||
set_option trace.grind true in
|
||
example : h as ≠ 0 := by
|
||
grind [h.eq_def]
|
||
|
||
example : h as ≠ 0 := by
|
||
unfold h
|
||
fail_if_success grind (splitMatch := false)
|
||
sorry
|