lean4-htt/src/Init/Grind.lean
Leonardo de Moura eba8bf3347
feat: infrastructure for grind interactive mode (#10607)
This PR adds infrastructure for the upcoming `grind` tactic mode, which
will be similar to the `conv` mode. The goal is to extend `grind` from a
terminal tactic into an interactive mode: `grind => …`.

It will serve as the foundation for `ungrind`, the process of converting
an expensive (and potentially fragile) `grind` proof into a robust
script. This mode will include tactics for expensive reasoning steps
such as cutsat model-based search, Gröbner basis computation,
E-matching, case splits, and more.

It will also provide robust, succinct references to facts and terms:
labels, structural matches, and anchors (e.g., `#abcd`).
2025-09-28 23:46:49 +00:00

28 lines
903 B
Text

/-
Copyright (c) 2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Leonardo de Moura
-/
module
prelude
public import Init.Grind.Norm
public import Init.Grind.Tactics
public import Init.Grind.Lemmas
public import Init.Grind.Cases
public import Init.Grind.Propagator
public import Init.Grind.Util
public import Init.Grind.Offset
public import Init.Grind.PP
public import Init.Grind.Ring
public import Init.Grind.Module
public import Init.Grind.Ordered
public import Init.Grind.Ext
public import Init.Grind.ToInt
public import Init.Grind.ToIntLemmas
public import Init.Grind.Attr
public import Init.Data.Int.OfNat -- This may not have otherwise been imported, breaking `grind` proofs.
public import Init.Grind.AC
public import Init.Grind.Injective
public import Init.Grind.Order
public import Init.Grind.Interactive