- decl
(declName : Lean.Name)
: Lean.Meta.Grind.Origin
A global declaration in the environment.
- fvar
(fvarId : Lean.FVarId)
: Lean.Meta.Grind.Origin
A local hypothesis.
- stx
(id : Lean.Name)
(ref : Lean.Syntax)
: Lean.Meta.Grind.Origin
A proof term provided directly to a call to
grind
whereref
is the provided grind argument. Theid
is a unique identifier for the call. - other : Lean.Meta.Grind.Origin
Instances For
Equations
- Lean.Meta.Grind.instInhabitedOrigin = { default := Lean.Meta.Grind.Origin.decl default }
Equations
- Lean.Meta.Grind.instReprOrigin = { reprPrec := Lean.Meta.Grind.reprOrigin✝ }
A unique identifier corresponding to the origin.
Equations
- (Lean.Meta.Grind.Origin.decl a).key = a
- (Lean.Meta.Grind.Origin.fvar a).key = a.name
- (Lean.Meta.Grind.Origin.stx a a_1).key = a
- Lean.Meta.Grind.Origin.other.key = `other
Instances For
Equations
- (Lean.Meta.Grind.Origin.decl a).pp = do let __do_lift ← Lean.mkConstWithLevelParams a pure (Lean.MessageData.ofConst __do_lift)
- (Lean.Meta.Grind.Origin.fvar a).pp = pure (Lean.MessageData.ofExpr (Lean.mkFVar a))
- (Lean.Meta.Grind.Origin.stx a a_1).pp = pure (Lean.MessageData.ofSyntax a_1)
- Lean.Meta.Grind.Origin.other.pp = pure ((Lean.MessageData.ofFormat ∘ Std.format) "[unknown]")
Instances For
A theorem for heuristic instantiation based on E-matching.
It stores universe parameter names for universe polymorphic proofs. Recall that it is non-empty only when we elaborate an expression provided by the user. When
proof
is just a constant, we can use the universe parameter names stored in the declaration.- proof : Lean.Expr
- numParams : Nat
- symbols : List Lean.HeadIndex
Contains all symbols used in
pattterns
. - origin : Lean.Meta.Grind.Origin
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Lean.Meta.Grind.mkGroundPattern e = Lean.mkAnnotation `grind.ground_pat e
Instances For
Equations
- Lean.Meta.Grind.groundPattern? e = Lean.annotation? `grind.ground_pat e
Instances For
Equations
Instances For
- symbols : Array Lean.HeadIndex
- symbolSet : Std.HashSet Lean.HeadIndex
- bvarsFound : Std.HashSet Nat
Instances For
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Auxiliary type for the checkCoverage
function.
- ok : Lean.Meta.Grind.CheckCoverageResult
checkCoverage
succeeded - missing
(pos : List Nat)
: Lean.Meta.Grind.CheckCoverageResult
checkCoverage
failed because some of the theorem parameters are missing,pos
contains their positions
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Lean.Meta.Grind.getEMatchTheorems = do let __do_lift ← Lean.getEnv pure (Lean.ScopedEnvExtension.getState Lean.Meta.Grind.ematchTheoremsExt✝ __do_lift)