- rule : Aesop.DisplayRuleName
- elapsed : Aesop.Nanos
- successful : Bool
Instances For
Equations
- Aesop.instInhabitedRuleStats = { default := { rule := default, elapsed := default, successful := default } }
Equations
- One or more equations did not get rendered due to their size.
- total : Aesop.Nanos
- configParsing : Aesop.Nanos
- ruleSetConstruction : Aesop.Nanos
- search : Aesop.Nanos
- ruleSelection : Aesop.Nanos
- ruleStats : Array Aesop.RuleStats
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- Aesop.Stats.empty = { total := 0, configParsing := 0, ruleSetConstruction := 0, search := 0, ruleSelection := 0, ruleStats := #[] }
Instances For
Equations
- Aesop.Stats.instEmptyCollectionStats = { emptyCollection := Aesop.Stats.empty }
- numSuccessful : Nat
Number of successful applications of a rule.
- numFailed : Nat
Number of failed applications of a rule.
- elapsedSuccessful : Aesop.Nanos
Total elapsed time of successful applications of a rule.
- elapsedFailed : Aesop.Nanos
Total elapsed time of failed applications of a rule.
Instances For
Equations
- Aesop.RuleStatsTotals.empty = { numSuccessful := 0, numFailed := 0, elapsedSuccessful := 0, elapsedFailed := 0 }
Instances For
Equations
- Aesop.RuleStatsTotals.instEmptyCollectionRuleStatsTotals = { emptyCollection := Aesop.RuleStatsTotals.empty }
def
Aesop.RuleStatsTotals.compareByTotalElapsed
(x : Aesop.RuleStatsTotals)
(y : Aesop.RuleStatsTotals)
:
Equations
- Aesop.RuleStatsTotals.compareByTotalElapsed = compareOn fun (totals : Aesop.RuleStatsTotals) => totals.elapsedSuccessful + totals.elapsedFailed
Instances For
def
Aesop.Stats.ruleStatsTotals
(p : Aesop.Stats)
(init : optParam (Lean.HashMap Aesop.DisplayRuleName Aesop.RuleStatsTotals) ∅)
:
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
- One or more equations did not get rendered due to their size.
Instances For
@[inline, reducible]
Equations
Instances For
- monadLift : {α : Type} → ST IO.RealWorld α → m α
- getOptions : m Lean.Options
- readStatsRef : m Aesop.StatsRef
Instances
@[always_inline]
Equations
- Aesop.isStatsCollectionEnabled = (fun (opts : Lean.Options) => Lean.Option.get opts Aesop.collectStatsOption) <$> Lean.getOptions
Instances For
@[always_inline]
Equations
- Aesop.isStatsTracingEnabled = Aesop.TraceOption.isEnabled Aesop.TraceOption.stats
Instances For
@[always_inline]
def
Aesop.isStatsCollectionOrTracingEnabled
{m : Type → Type}
[Monad m]
[Lean.MonadOptions m]
:
m Bool
Equations
Instances For
@[always_inline]
def
Aesop.profiling
{m : Type → Type}
[Monad m]
[Aesop.MonadStats m]
{α : Type}
(recordStats : Aesop.Stats → α → Aesop.Nanos → Aesop.Stats)
(x : m α)
:
m α
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[always_inline]
def
Aesop.profilingRuleSelection
{m : Type → Type}
[Monad m]
[Aesop.MonadStats m]
{α : Type}
:
m α → m α
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[always_inline]
def
Aesop.profilingRule
{m : Type → Type}
[Monad m]
[Aesop.MonadStats m]
{α : Type}
(rule : Aesop.DisplayRuleName)
(wasSuccessful : α → Bool)
:
m α → m α
Equations
- One or more equations did not get rendered due to their size.