File: .lake/packages/aesop/Aesop/Search/SearchM.lean

full_name: Aesop.NormSimpContext.simprocs
code: structure NormSimpContext extends Simp.Context where
  enabled : Bool
  useHyps : Bool
  configStx? : Option Term
  simprocs : Simp.SimprocsArray
  deriving Inhabited
goal: Lean.Meta.Simp.SimprocsArray

full_name: Aesop.NormSimpContext.configStx?
code: structure NormSimpContext extends Simp.Context where
  enabled : Bool
  useHyps : Bool
  configStx? : Option Term
  simprocs : Simp.SimprocsArray
  deriving Inhabited
goal: Option Lean.Term

full_name: Aesop.NormSimpContext.useHyps
code: structure NormSimpContext extends Simp.Context where
  enabled : Bool
  useHyps : Bool
  configStx? : Option Term
  simprocs : Simp.SimprocsArray
  deriving Inhabited
goal: Bool

full_name: Aesop.NormSimpContext.enabled
code: structure NormSimpContext extends Simp.Context where
  enabled : Bool
  useHyps : Bool
  configStx? : Option Term
  simprocs : Simp.SimprocsArray
  deriving Inhabited
goal: Bool

full_name: Aesop.NormSimpContext
code: structure NormSimpContext extends Simp.Context where
  enabled : Bool
  useHyps : Bool
  configStx? : Option Term
  simprocs : Simp.SimprocsArray
  deriving Inhabited
goal: Type

full_name: Aesop.instInhabitedNormSimpContext
code: structure NormSimpContext extends Simp.Context where
  enabled : Bool
  useHyps : Bool
  configStx? : Option Term
  simprocs : Simp.SimprocsArray
  deriving Inhabited
goal: Inhabited Aesop.NormSimpContext

full_name: Aesop.SearchM.Context.statsRef
code: structure Context where
  ruleSet : LocalRuleSet
  normSimpContext : NormSimpContext
  options : Aesop.Options'
  statsRef : StatsRef
  deriving Nonempty
goal: Aesop.StatsRef

full_name: Aesop.SearchM.instNonemptyContext
code: structure Context where
  ruleSet : LocalRuleSet
  normSimpContext : NormSimpContext
  options : Aesop.Options'
  statsRef : StatsRef
  deriving Nonempty
goal: Nonempty Aesop.SearchM.Context

full_name: Aesop.SearchM.Context.options
code: structure Context where
  ruleSet : LocalRuleSet
  normSimpContext : NormSimpContext
  options : Aesop.Options'
  statsRef : StatsRef
  deriving Nonempty
goal: Aesop.Options'

full_name: Aesop.SearchM.Context.normSimpContext
code: structure Context where
  ruleSet : LocalRuleSet
  normSimpContext : NormSimpContext
  options : Aesop.Options'
  statsRef : StatsRef
  deriving Nonempty
goal: Aesop.NormSimpContext

full_name: Aesop.SearchM.Context
code: structure Context where
  ruleSet : LocalRuleSet
  normSimpContext : NormSimpContext
  options : Aesop.Options'
  statsRef : StatsRef
  deriving Nonempty
goal: Type

full_name: Aesop.SearchM.Context.ruleSet
code: structure Context where
  ruleSet : LocalRuleSet
  normSimpContext : NormSimpContext
  options : Aesop.Options'
  statsRef : StatsRef
  deriving Nonempty
goal: Aesop.LocalRuleSet

full_name: Aesop.SearchM.State.maxRuleApplicationDepthReached
code: structure State (Q) [Aesop.Queue Q] where
  iteration : Iteration
  queue : Q
  maxRuleApplicationDepthReached : Bool
  deriving Inhabited
goal: Bool

full_name: Aesop.SearchM.State.queue
code: structure State (Q) [Aesop.Queue Q] where
  iteration : Iteration
  queue : Q
  maxRuleApplicationDepthReached : Bool
  deriving Inhabited
goal: Q

full_name: Aesop.SearchM.instInhabitedState
code: structure State (Q) [Aesop.Queue Q] where
  iteration : Iteration
  queue : Q
  maxRuleApplicationDepthReached : Bool
  deriving Inhabited
goal: {a : Type} → [inst : Inhabited a] → {a_1 : Aesop.Queue a} → Inhabited (Aesop.SearchM.State a)

full_name: Aesop.SearchM.State
code: structure State (Q) [Aesop.Queue Q] where
  iteration : Iteration
  queue : Q
  maxRuleApplicationDepthReached : Bool
  deriving Inhabited
goal: Type

full_name: Aesop.SearchM.State.iteration
code: structure State (Q) [Aesop.Queue Q] where
  iteration : Iteration
  queue : Q
  maxRuleApplicationDepthReached : Bool
  deriving Inhabited
goal: Aesop.Iteration

full_name: Aesop.SearchM
code: abbrev SearchM Q [Aesop.Queue Q] 
goal: Type

full_name: Aesop.SearchM.instMonad
code: instance : Monad (SearchM Q) 
goal: Monad (Aesop.SearchM Q)

full_name: Aesop.SearchM.instMonadRef
code: instance : MonadRef (SearchM Q) 
goal: Lean.MonadRef (Aesop.SearchM Q)

full_name: Aesop.SearchM.instInhabited
code: instance : Inhabited (SearchM Q α) 
goal: Inhabited (Aesop.SearchM Q α)

full_name: Aesop.SearchM.instMonadStateState
code: instance : MonadState (State Q) (SearchM Q) 
goal: MonadState (Aesop.SearchM.State Q) (Aesop.SearchM Q)

full_name: Aesop.SearchM.instMonadReaderContext
code: instance : MonadReader Context (SearchM Q) 
goal: MonadReader Aesop.SearchM.Context (Aesop.SearchM Q)

full_name: Aesop.SearchM.instMonadStats
code: instance : MonadStats (SearchM Q) 
goal: Aesop.MonadStats (Aesop.SearchM Q)

full_name: Aesop.SearchM.instMonadLiftTreeM
code: instance : MonadLift TreeM (SearchM Q) 
goal: MonadLift Aesop.TreeM (Aesop.SearchM Q)

full_name: Aesop.SearchM.run'
code: protected def run' (ctx : SearchM.Context) (σ : SearchM.State Q) (t : Tree)
    (x : SearchM Q α) : MetaM (α × SearchM.State Q × Tree × Stats) 
goal: Lean.MetaM (α × Aesop.SearchM.State Q × Aesop.Tree × Aesop.Stats)

full_name: Aesop.SearchM.run
code: protected def run (ruleSet : LocalRuleSet) (options : Aesop.Options')
    (simpConfig : Simp.Config) (simpConfigStx? : Option Term)
    (goal : MVarId) (stats : Stats) (x : SearchM Q α) :
    MetaM (α × State Q × Tree × Stats) 
goal: Lean.MetaM (α × Aesop.SearchM.State Q × Aesop.Tree × Aesop.Stats)

full_name: Aesop.getTree
code: def getTree : SearchM Q Tree 
goal: Aesop.SearchM Q Aesop.Tree

full_name: Aesop.setTree
code: def setTree : Tree → SearchM Q Unit 
goal: Aesop.Tree → Aesop.SearchM Q Unit

full_name: Aesop.modifyTree
code: def modifyTree : (Tree → Tree) → SearchM Q Unit 
goal: (Aesop.Tree → Aesop.Tree) → Aesop.SearchM Q Unit

full_name: Aesop.getIteration
code: def getIteration : SearchM Q Iteration 
goal: Aesop.SearchM Q Aesop.Iteration

full_name: Aesop.incrementIteration
code: def incrementIteration : SearchM Q Unit 
goal: Aesop.SearchM Q Unit

full_name: Aesop.popGoal?
code: def popGoal? : SearchM Q (Option GoalRef) 
goal: Aesop.SearchM Q (Option Aesop.GoalRef)

full_name: Aesop.enqueueGoals
code: def enqueueGoals (gs : Array GoalRef) : SearchM Q Unit 
goal: Aesop.SearchM Q Unit

full_name: Aesop.setMaxRuleApplicationDepthReached
code: def setMaxRuleApplicationDepthReached : SearchM Q Unit 
goal: Aesop.SearchM Q Unit

full_name: Aesop.wasMaxRuleApplicationDepthReached
code: def wasMaxRuleApplicationDepthReached : SearchM Q Bool 
goal: Aesop.SearchM Q Bool