39 lines
781 B
Text
39 lines
781 B
Text
module
|
|
variable (d : Nat) in
|
|
inductive X : Nat → Prop
|
|
| f {s : Nat} : X s
|
|
| g {s : Nat} : X d → X s
|
|
|
|
/--
|
|
error: `grind` failed
|
|
case grind.1
|
|
c : Nat
|
|
q : X c 0
|
|
s : Nat
|
|
h : 0 = s
|
|
h_1 : ⋯ ≍ ⋯
|
|
⊢ False
|
|
[grind] Goal diagnostics
|
|
[facts] Asserted facts
|
|
[prop] X c 0
|
|
[prop] 0 = s
|
|
[prop] ⋯ ≍ ⋯
|
|
[eqc] True propositions
|
|
[prop] X c 0
|
|
[prop] X c s
|
|
[eqc] Equivalence classes
|
|
[eqc] {0, s}
|
|
[cases] Case analyses
|
|
[cases] [1/2]: X c 0
|
|
[cases] source: Initial goal
|
|
[cutsat] Assignment satisfying linear constraints
|
|
[assign] c := 1
|
|
[assign] s := 0
|
|
-/
|
|
#guard_msgs (error) in
|
|
example {c : Nat} (q : X c 0) : False := by
|
|
grind -mbtc [cases X]
|
|
|
|
example {c : Nat} (q : X c 0) : False := by
|
|
fail_if_success grind [cases X]
|
|
sorry
|