This is a subset of tests from #8518 that are fully minimized. I'll merge this first. --------- Co-authored-by: Wojciech Rozowski <wojciech@lean-fro.org>
30 lines
841 B
Text
30 lines
841 B
Text
-- A simple proof that should go through immediately, gets stuck due to issues with casting Nat to Int.
|
|
|
|
set_option grind.warning false
|
|
@[grind] def codelen (c: List Bool) : Int := c.length
|
|
|
|
/--
|
|
error: `grind` failed
|
|
case grind
|
|
h : ¬codelen [] = 0
|
|
⊢ False
|
|
[grind] Goal diagnostics
|
|
[facts] Asserted facts
|
|
[prop] ¬codelen [] = 0
|
|
[prop] codelen [] = ↑[].length
|
|
[prop] [].length = 0
|
|
[eqc] False propositions
|
|
[prop] codelen [] = 0
|
|
[eqc] Equivalence classes
|
|
[eqc] {codelen [], ↑[].length}
|
|
[eqc] {[].length, 0}
|
|
[ematch] E-matching patterns
|
|
[thm] codelen.eq_1: [codelen #0]
|
|
[thm] List.length_nil: [@List.length #0 (@List.nil _)]
|
|
[grind] Diagnostics
|
|
[thm] E-Matching instances
|
|
[thm] List.length_nil ↦ 1
|
|
[thm] codelen.eq_1 ↦ 1
|
|
-/
|
|
#guard_msgs in
|
|
theorem issue1 : codelen [] = 0 := by grind
|