Returns true if e
contains a name n
where p n
is true. Copied from Mathlib.Lean.Expr.Basic.lean
Equations
- HammerCore.containsConst e p = (Lean.Expr.find? (fun (x : Lean.Expr) => match x with | Lean.Expr.const n us => p n | x => false) e).isSome
Instances For
def
HammerCore.unsatCoreIncludesFactAsString
(unsatCoreDerivLeafStrings : Array String)
(fact : String)
:
Like unsatCoreIncludesFact
but takes fact
as a String instead of a Term.
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
HammerCore.getDuperCoreLemmas
(unsatCoreDerivLeafStrings : Array String)
(userFacts : Lean.Syntax.TSepArray `term ",")
(goalDecls : Array Lean.LocalDecl)
(includeAllLctx : Bool)
(duperConfigOptions : Duper.ConfigurationOptions)
:
Uses unsatCoreDerivLeafStrings
to filter userFacts
to only include facts that appear in the external prover's unsat core, then passes just those facts to Duper to
reconstruct the proof in Lean.
Equations
- One or more equations did not get rendered due to their size.