File: .lake/packages/aesop/Aesop/Stats/Basic.lean

full_name: Aesop.collectStatsOption
code: initialize collectStatsOption : Lean.Option Bool ←
  Lean.Option.register `aesop.collectStats {
    defValue := false
    group := "aesop"
    descr := "(aesop) collect statistics about Aesop invocations. Use #aesop_stats to display the collected statistics."
  }
goal: Lean.Option Bool

full_name: Aesop.initFn._@..lake.packages.aesop.Aesop.Stats.Basic._hyg.5
code: initialize collectStatsOption : Lean.Option Bool ←
  Lean.Option.register `aesop.collectStats {
    defValue := false
    group := "aesop"
    descr := "(aesop) collect statistics about Aesop invocations. Use #aesop_stats to display the collected statistics."
  }
goal: IO (Lean.Option Bool)

full_name: Aesop.RuleStats.rule
code: structure RuleStats where
  rule : DisplayRuleName
  elapsed : Nanos
  successful : Bool
  deriving Inhabited
goal: Aesop.DisplayRuleName

full_name: Aesop.RuleStats
code: structure RuleStats where
  rule : DisplayRuleName
  elapsed : Nanos
  successful : Bool
  deriving Inhabited
goal: Type

full_name: Aesop.RuleStats.elapsed
code: structure RuleStats where
  rule : DisplayRuleName
  elapsed : Nanos
  successful : Bool
  deriving Inhabited
goal: Aesop.Nanos

full_name: Aesop.instInhabitedRuleStats
code: structure RuleStats where
  rule : DisplayRuleName
  elapsed : Nanos
  successful : Bool
  deriving Inhabited
goal: Inhabited Aesop.RuleStats

full_name: Aesop.RuleStats.successful
code: structure RuleStats where
  rule : DisplayRuleName
  elapsed : Nanos
  successful : Bool
  deriving Inhabited
goal: Bool

full_name: Aesop.RuleStats.instToString
code: instance : ToString RuleStats 
goal: ToString Aesop.RuleStats

full_name: Aesop.instInhabitedScriptGenerated
code: inductive ScriptGenerated
  | none
  | staticallyStructured (perfect : Bool)
  | dynamicallyStructured (perfect : Bool)
  deriving Inhabited
goal: Inhabited Aesop.ScriptGenerated

full_name: Aesop.ScriptGenerated.staticallyStructured
code: inductive ScriptGenerated
  | none
  | staticallyStructured (perfect : Bool)
  | dynamicallyStructured (perfect : Bool)
  deriving Inhabited
goal: Aesop.ScriptGenerated

full_name: Aesop.ScriptGenerated
code: inductive ScriptGenerated
  | none
  | staticallyStructured (perfect : Bool)
  | dynamicallyStructured (perfect : Bool)
  deriving Inhabited
goal: Type

full_name: Aesop.ScriptGenerated.dynamicallyStructured
code: inductive ScriptGenerated
  | none
  | staticallyStructured (perfect : Bool)
  | dynamicallyStructured (perfect : Bool)
  deriving Inhabited
goal: Aesop.ScriptGenerated

full_name: Aesop.ScriptGenerated.none
code: inductive ScriptGenerated
  | none
  | staticallyStructured (perfect : Bool)
  | dynamicallyStructured (perfect : Bool)
  deriving Inhabited
goal: Aesop.ScriptGenerated

full_name: Aesop.ScriptGenerated.toString
code: def ScriptGenerated.toString : ScriptGenerated → String
  
goal: Aesop.ScriptGenerated → String

full_name: Aesop.ScriptGenerated.toString.go
code: def ScriptGenerated.toString : ScriptGenerated → String
  
goal: String

full_name: Aesop.Stats
code: structure Stats where
  total : Nanos
  configParsing : Nanos
  ruleSetConstruction : Nanos
  search : Nanos
  ruleSelection : Nanos
  script : Nanos
  scriptGenerated : ScriptGenerated
  ruleStats : Array RuleStats
  deriving Inhabited
goal: Type

full_name: Aesop.Stats.configParsing
code: structure Stats where
  total : Nanos
  configParsing : Nanos
  ruleSetConstruction : Nanos
  search : Nanos
  ruleSelection : Nanos
  script : Nanos
  scriptGenerated : ScriptGenerated
  ruleStats : Array RuleStats
  deriving Inhabited
goal: Aesop.Nanos

full_name: Aesop.Stats.search
code: structure Stats where
  total : Nanos
  configParsing : Nanos
  ruleSetConstruction : Nanos
  search : Nanos
  ruleSelection : Nanos
  script : Nanos
  scriptGenerated : ScriptGenerated
  ruleStats : Array RuleStats
  deriving Inhabited
goal: Aesop.Nanos

full_name: Aesop.Stats.script
code: structure Stats where
  total : Nanos
  configParsing : Nanos
  ruleSetConstruction : Nanos
  search : Nanos
  ruleSelection : Nanos
  script : Nanos
  scriptGenerated : ScriptGenerated
  ruleStats : Array RuleStats
  deriving Inhabited
goal: Aesop.Nanos

full_name: Aesop.Stats.scriptGenerated
code: structure Stats where
  total : Nanos
  configParsing : Nanos
  ruleSetConstruction : Nanos
  search : Nanos
  ruleSelection : Nanos
  script : Nanos
  scriptGenerated : ScriptGenerated
  ruleStats : Array RuleStats
  deriving Inhabited
goal: Aesop.ScriptGenerated

full_name: Aesop.Stats.ruleSelection
code: structure Stats where
  total : Nanos
  configParsing : Nanos
  ruleSetConstruction : Nanos
  search : Nanos
  ruleSelection : Nanos
  script : Nanos
  scriptGenerated : ScriptGenerated
  ruleStats : Array RuleStats
  deriving Inhabited
goal: Aesop.Nanos

full_name: Aesop.Stats.ruleStats
code: structure Stats where
  total : Nanos
  configParsing : Nanos
  ruleSetConstruction : Nanos
  search : Nanos
  ruleSelection : Nanos
  script : Nanos
  scriptGenerated : ScriptGenerated
  ruleStats : Array RuleStats
  deriving Inhabited
goal: Array Aesop.RuleStats

full_name: Aesop.Stats.total
code: structure Stats where
  total : Nanos
  configParsing : Nanos
  ruleSetConstruction : Nanos
  search : Nanos
  ruleSelection : Nanos
  script : Nanos
  scriptGenerated : ScriptGenerated
  ruleStats : Array RuleStats
  deriving Inhabited
goal: Aesop.Nanos

full_name: Aesop.instInhabitedStats
code: structure Stats where
  total : Nanos
  configParsing : Nanos
  ruleSetConstruction : Nanos
  search : Nanos
  ruleSelection : Nanos
  script : Nanos
  scriptGenerated : ScriptGenerated
  ruleStats : Array RuleStats
  deriving Inhabited
goal: Inhabited Aesop.Stats

full_name: Aesop.Stats.ruleSetConstruction
code: structure Stats where
  total : Nanos
  configParsing : Nanos
  ruleSetConstruction : Nanos
  search : Nanos
  ruleSelection : Nanos
  script : Nanos
  scriptGenerated : ScriptGenerated
  ruleStats : Array RuleStats
  deriving Inhabited
goal: Aesop.Nanos

full_name: Aesop.Stats.empty
code: protected def empty : Stats 
goal: Aesop.Stats

full_name: Aesop.Stats.instEmptyCollection
code: instance : EmptyCollection Stats 
goal: EmptyCollection Aesop.Stats

full_name: Aesop.RuleStatsTotals
code: structure RuleStatsTotals where
  /--
  Number of successful applications of a rule.
  -/
  numSuccessful : Nat
  /--
  Number of failed applications of a rule.
  -/
  numFailed : Nat
  /--
  Total elapsed time of successful applications of a rule.
  -/
  elapsedSuccessful : Nanos
  /--
  Total elapsed time of failed applications of a rule.
  -/
  elapsedFailed : Nanos
goal: Type

full_name: Aesop.RuleStatsTotals.numFailed
code: structure RuleStatsTotals where
  /--
  Number of successful applications of a rule.
  -/
  numSuccessful : Nat
  /--
  Number of failed applications of a rule.
  -/
  numFailed : Nat
  /--
  Total elapsed time of successful applications of a rule.
  -/
  elapsedSuccessful : Nanos
  /--
  Total elapsed time of failed applications of a rule.
  -/
  elapsedFailed : Nanos
goal: Nat

full_name: Aesop.RuleStatsTotals.elapsedSuccessful
code: structure RuleStatsTotals where
  /--
  Number of successful applications of a rule.
  -/
  numSuccessful : Nat
  /--
  Number of failed applications of a rule.
  -/
  numFailed : Nat
  /--
  Total elapsed time of successful applications of a rule.
  -/
  elapsedSuccessful : Nanos
  /--
  Total elapsed time of failed applications of a rule.
  -/
  elapsedFailed : Nanos
goal: Aesop.Nanos

full_name: Aesop.RuleStatsTotals.elapsedFailed
code: structure RuleStatsTotals where
  /--
  Number of successful applications of a rule.
  -/
  numSuccessful : Nat
  /--
  Number of failed applications of a rule.
  -/
  numFailed : Nat
  /--
  Total elapsed time of successful applications of a rule.
  -/
  elapsedSuccessful : Nanos
  /--
  Total elapsed time of failed applications of a rule.
  -/
  elapsedFailed : Nanos
goal: Aesop.Nanos

full_name: Aesop.RuleStatsTotals.numSuccessful
code: structure RuleStatsTotals where
  /--
  Number of successful applications of a rule.
  -/
  numSuccessful : Nat
  /--
  Number of failed applications of a rule.
  -/
  numFailed : Nat
  /--
  Total elapsed time of successful applications of a rule.
  -/
  elapsedSuccessful : Nanos
  /--
  Total elapsed time of failed applications of a rule.
  -/
  elapsedFailed : Nanos
goal: Nat

full_name: Aesop.RuleStatsTotals.empty
code: protected def empty : RuleStatsTotals 
goal: Aesop.RuleStatsTotals

full_name: Aesop.RuleStatsTotals.instEmptyCollection
code: instance : EmptyCollection RuleStatsTotals 
goal: EmptyCollection Aesop.RuleStatsTotals

full_name: Aesop.RuleStatsTotals.compareByTotalElapsed
code: def compareByTotalElapsed : (x y : RuleStatsTotals) → Ordering 
goal: Ordering

full_name: Aesop.Stats.ruleStatsTotals
code: def ruleStatsTotals (p : Stats)
    (init : HashMap DisplayRuleName RuleStatsTotals := ∅) :
    HashMap DisplayRuleName RuleStatsTotals 
goal: Lean.HashMap Aesop.DisplayRuleName Aesop.RuleStatsTotals

full_name: Aesop.sortRuleStatsTotals
code: def _root_.Aesop.sortRuleStatsTotals
    (ts : Array (DisplayRuleName × RuleStatsTotals)) :
    Array (DisplayRuleName × RuleStatsTotals) 
goal: Array (Aesop.DisplayRuleName × Aesop.RuleStatsTotals)

full_name: Aesop.Stats.trace
code: def trace (p : Stats) (opt : TraceOption) : CoreM Unit 
goal: Lean.CoreM Unit

full_name: Aesop.StatsRef
code: abbrev StatsRef 
goal: Type

full_name: Aesop.MonadStats
code: class MonadStats (m) extends
    MonadLiftT (ST IO.RealWorld) m,
    MonadLiftT BaseIO m,
    MonadOptions m where
  readStatsRef : m StatsRef
goal: Type 1

full_name: Aesop.MonadStats.readStatsRef
code: class MonadStats (m) extends
    MonadLiftT (ST IO.RealWorld) m,
    MonadLiftT BaseIO m,
    MonadOptions m where
  readStatsRef : m StatsRef
goal: m Aesop.StatsRef

full_name: Aesop.isStatsCollectionEnabled
code: @[inline, always_inline]
def isStatsCollectionEnabled [MonadOptions m] : m Bool 
goal: m Bool

full_name: Aesop.isStatsTracingEnabled
code: @[inline, always_inline]
def isStatsTracingEnabled [MonadOptions m] : m Bool 
goal: m Bool

full_name: Aesop.isStatsCollectionOrTracingEnabled
code: @[inline, always_inline]
def isStatsCollectionOrTracingEnabled [MonadOptions m] : m Bool 
goal: m Bool

full_name: Aesop.profiling
code: @[inline, always_inline]
def profiling (recordStats : Stats → α → Nanos → Stats) (x : m α) : m α 
goal: m α

full_name: Aesop.profilingRuleSelection
code: @[inline, always_inline]
def profilingRuleSelection : m α → m α 
goal: m α → m α

full_name: Aesop.profilingRule
code: @[inline, always_inline]
def profilingRule (rule : DisplayRuleName) (wasSuccessful : α → Bool) :
    m α → m α 
goal: m α → m α

full_name: Aesop.modifyCurrentStats
code: def modifyCurrentStats (f : Stats → Stats) : m Unit 
goal: m Unit

full_name: Aesop.recordScriptGenerated
code: def recordScriptGenerated (x : ScriptGenerated) : m Unit 
goal: m Unit