lean4-htt/tests/lean/run/grind_pattern_scoped.lean
Leonardo de Moura dc53fac626
chore: use extensible grind attribute framework to implement [grind] itself (#11769)
This PR uses the new support for user-defined `grind` attributes to
implement the default `[grind]` attribute.

A manual update-stage0 is required because it affects the .olean files.
2025-12-22 10:07:30 -08:00

18 lines
632 B
Text

import Lean.Meta.Tactic.Grind.EMatchTheorem
import Lean.Meta.Tactic.Grind.Attr
open Lean
open Lean.Meta.Grind
/-- info: Namespace `Lean.Meta.Grind.Lia` has scoped theorems: true -/
#guard_msgs in
#eval show CoreM Unit from do
let ext := Lean.Meta.Grind.grindExt
let theorems ← ext.getEMatchTheoremsForNamespace `Lean.Meta.Grind.Lia
IO.println s!"Namespace `Lean.Meta.Grind.Lia` has scoped theorems: {decide (theorems.size > 0)}"
-- Test namespace-based theorem instantiation
example (x y : Int) (h : max x y < 7) : x + y < 13 := by
grind =>
use [namespace Lean.Meta.Grind.Lia]
repeat (first (lia) (cases_next))