lean4-htt/tests/lean/grind/casting.lean
Kim Morrison 22d4c1d803
chore: failing grind tests (subset of #8518) (#8526)
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>
2025-05-29 11:48:19 +00:00

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