lean4-htt/tests/lean/run/grind_sym_prio.lean
Leonardo de Moura 37f3f0e1e2
feat: minimal indexable subexpressions in grind parameters (#10430)
This PR ensures users can select the "minimal indexable subexpression"
condition in `grind` parameters. Example, they can now write `grind [!
-> thmName]`. `grind?` will include the `!` modifier whenever users had
used `@[grind!]`. This PR also fixes a missing case in the new pattern
inference procedure.
It also adjusts some `grind` annotations and tests in preparation for
setting the new pattern inference heuristic as the new default.
2025-09-17 18:04:05 +00:00

17 lines
492 B
Text

module
opaque q : Nat → Prop
opaque p : Nat → Prop
attribute [grind symbol default] HAdd.hAdd
/-- info: foo: [@HAdd.hAdd `[Nat] `[Nat] `[Nat] `[instHAdd] #6 #5] -/
#guard_msgs (info) in
@[grind!? =>] theorem foo (x y : Nat) : x + y < 10 → q x → p x → p y → q y → x = y := by
sorry
attribute [grind symbol high] p
/-- info: bla: [p #6, p #5] -/
#guard_msgs (info) in
@[grind? =>] theorem bla (x y : Nat) : x + y < 10 → q x → p x → p y → q y → x = y := by
sorry