File: .lake/packages/aesop/Aesop/Frontend/RuleExpr.lean

full_name: Lean.Parser.Category.Aesop.priority
code: declare_syntax_cat Aesop.priority
goal: Lean.Parser.Category

full_name: Aesop.Frontend.Parser.«priority_%»
code: syntax num "%" : Aesop.priority
goal: Lean.ParserDescr

full_name: Aesop.Frontend.Parser.«priority-_»
code: syntax "-"? num : Aesop.priority
goal: Lean.ParserDescr

full_name: Aesop.Frontend.Priority.percent
code: inductive Priority
  | int (i : Int)
  | percent (p : Percent)
  deriving Inhabited
goal: Aesop.Frontend.Priority

full_name: Aesop.Frontend.Priority.int
code: inductive Priority
  | int (i : Int)
  | percent (p : Percent)
  deriving Inhabited
goal: Aesop.Frontend.Priority

full_name: Aesop.Frontend.Priority
code: inductive Priority
  | int (i : Int)
  | percent (p : Percent)
  deriving Inhabited
goal: Type

full_name: Aesop.Frontend.instInhabitedPriority
code: inductive Priority
  | int (i : Int)
  | percent (p : Percent)
  deriving Inhabited
goal: Inhabited Aesop.Frontend.Priority

full_name: Aesop.Frontend.Priority.elab
code: def «elab» (stx : Syntax) : ElabM Priority 
goal: Aesop.ElabM Aesop.Frontend.Priority

full_name: Aesop.Frontend.Priority.instToString
code: instance : ToString Priority 
goal: ToString Aesop.Frontend.Priority

full_name: Aesop.Frontend.Priority.toInt?
code: def toInt? : Priority → Option Int
  
goal: Aesop.Frontend.Priority → Option Int

full_name: Aesop.Frontend.Priority.toPercent?
code: def toPercent? : Priority → Option Percent
  
goal: Aesop.Frontend.Priority → Option Aesop.Percent

full_name: Lean.Parser.Category.Aesop.phase
code: declare_syntax_cat Aesop.phase (behavior := symbol)
goal: Lean.Parser.Category

full_name: Aesop.Frontend.Parser.phaseSafe
code: syntax "safe" : Aesop.phase
goal: Lean.ParserDescr

full_name: Aesop.Frontend.Parser.phaseNorm
code: syntax "norm" : Aesop.phase
goal: Lean.ParserDescr

full_name: Aesop.Frontend.Parser.phaseUnsafe
code: syntax "unsafe" : Aesop.phase
goal: Lean.ParserDescr

full_name: Aesop.Frontend.PhaseName.elab
code: def PhaseName.«elab» (stx : Syntax) : ElabM PhaseName 
goal: Aesop.ElabM Aesop.PhaseName

full_name: Lean.Parser.Category.Aesop.builder_name
code: declare_syntax_cat Aesop.builder_name (behavior := symbol)
goal: Lean.Parser.Category

full_name: Aesop.Frontend.Parser.builder_nameApply
code: syntax "apply" : Aesop.builder_name
goal: Lean.ParserDescr

full_name: Aesop.Frontend.Parser.builder_nameSimp
code: syntax "simp" : Aesop.builder_name
goal: Lean.ParserDescr

full_name: Aesop.Frontend.Parser.builder_nameUnfold
code: syntax "unfold" : Aesop.builder_name
goal: Lean.ParserDescr

full_name: Aesop.Frontend.Parser.builder_nameTactic
code: syntax "tactic" : Aesop.builder_name
goal: Lean.ParserDescr

full_name: Aesop.Frontend.Parser.builder_nameConstructors
code: syntax "constructors" : Aesop.builder_name
goal: Lean.ParserDescr

full_name: Aesop.Frontend.Parser.builder_nameForward
code: syntax "forward" : Aesop.builder_name
goal: Lean.ParserDescr

full_name: Aesop.Frontend.Parser.builder_nameDestruct
code: syntax "destruct" : Aesop.builder_name
goal: Lean.ParserDescr

full_name: Aesop.Frontend.Parser.builder_nameCases
code: syntax "cases" : Aesop.builder_name
goal: Lean.ParserDescr

full_name: Aesop.Frontend.Parser.builder_nameDefault
code: syntax "default" : Aesop.builder_name
goal: Lean.ParserDescr

full_name: Aesop.Frontend.DBuilderName
code: inductive DBuilderName
  | regular (b : BuilderName)
  | «default»
  deriving Inhabited
goal: Type

full_name: Aesop.Frontend.DBuilderName.regular
code: inductive DBuilderName
  | regular (b : BuilderName)
  | «default»
  deriving Inhabited
goal: Aesop.Frontend.DBuilderName

full_name: Aesop.Frontend.DBuilderName.default
code: inductive DBuilderName
  | regular (b : BuilderName)
  | «default»
  deriving Inhabited
goal: Aesop.Frontend.DBuilderName

full_name: Aesop.Frontend.instInhabitedDBuilderName
code: inductive DBuilderName
  | regular (b : BuilderName)
  | «default»
  deriving Inhabited
goal: Inhabited Aesop.Frontend.DBuilderName

full_name: Aesop.Frontend.DBuilderName.elab
code: def «elab» (stx : Syntax) : ElabM DBuilderName 
goal: Aesop.ElabM Aesop.Frontend.DBuilderName

full_name: Aesop.Frontend.DBuilderName.instToString
code: instance : ToString DBuilderName 
goal: ToString Aesop.Frontend.DBuilderName

full_name: Aesop.Frontend.DBuilderName.toBuilderName?
code: def toBuilderName? : DBuilderName → Option BuilderName
  
goal: Aesop.Frontend.DBuilderName → Option Aesop.BuilderName

full_name: Aesop.Frontend.DBuilderName.toRuleBuilder
code: def toRuleBuilder : DBuilderName → RuleBuilder
  
goal: Aesop.Frontend.DBuilderName → Aesop.RuleBuilder

full_name: Lean.Parser.Category.Aesop.indexing_mode
code: declare_syntax_cat Aesop.indexing_mode (behavior := symbol)
goal: Lean.Parser.Category

full_name: Aesop.Frontend.Parser.indexing_modeTarget_
code: syntax "target " term : Aesop.indexing_mode
goal: Lean.ParserDescr

full_name: Aesop.Frontend.Parser.indexing_modeHyp_
code: syntax "hyp " term : Aesop.indexing_mode
goal: Lean.ParserDescr

full_name: Aesop.Frontend.Parser.indexing_modeUnindexed
code: syntax "unindexed " : Aesop.indexing_mode
goal: Lean.ParserDescr

full_name: Aesop.Frontend.elabSingleIndexingMode
code: def elabSingleIndexingMode (stx : Syntax) : ElabM IndexingMode 
goal: Aesop.ElabM Aesop.IndexingMode

full_name: Aesop.Frontend.elabSingleIndexingMode.elabKeys
code: def elabSingleIndexingMode (stx : Syntax) : ElabM IndexingMode 
goal: Aesop.ElabM (Array Lean.Meta.DiscrTree.Key)

full_name: Aesop.Frontend.IndexingMode.elab
code: def IndexingMode.elab (stxs : Array Syntax) : ElabM IndexingMode 
goal: Aesop.ElabM Aesop.IndexingMode

full_name: Aesop.Frontend.CasesPattern.elab
code: def CasesPattern.elab (stx : Syntax) : TermElabM CasesPattern 
goal: Lean.Elab.TermElabM Aesop.CasesPattern

full_name: Aesop.Frontend.Parser.transparency
code: syntax transparency := &"default" <|> &"reducible" <|> &"instances" <|> &"all"
goal: Lean.ParserDescr

full_name: Aesop.Frontend.elabTransparency
code: def elabTransparency : TSyntax ``transparency → TermElabM TransparencyMode
  
goal: Lean.TSyntax `Aesop.Frontend.Parser.transparency → Lean.Elab.TermElabM Lean.Meta.TransparencyMode

full_name: Lean.Parser.Category.Aesop.builder_option
code: declare_syntax_cat Aesop.builder_option
goal: Lean.Parser.Category

full_name: Aesop.Frontend.Parser.«builder_option(Immediate:=[_])»
code: syntax " (" &"immediate" " := " "[" ident,+,? "]" ")" : Aesop.builder_option
goal: Lean.ParserDescr

full_name: Aesop.Frontend.Parser.«builder_option(Index:=[_])»
code: syntax " (" &"index" " := " "[" Aesop.indexing_mode,+,? "]" ")" : Aesop.builder_option
goal: Lean.ParserDescr

full_name: Aesop.Frontend.Parser.«builder_option(Pattern:=_)»
code: syntax " (" &"pattern" " := " term ")" : Aesop.builder_option
goal: Lean.ParserDescr

full_name: Aesop.Frontend.Parser.«builder_option(Cases_patterns:=[_])»
code: syntax " (" &"cases_patterns" " := " "[" term,+,? "]" ")" : Aesop.builder_option
goal: Lean.ParserDescr

full_name: Aesop.Frontend.Parser.«builder_option(Transparency:=_)»
code: syntax " (" &"transparency" " := " transparency ")" : Aesop.builder_option
goal: Lean.ParserDescr

full_name: Aesop.Frontend.Parser.«builder_option(Transparency!:=_)»
code: syntax " (" &"transparency!" " := " transparency ")" : Aesop.builder_option
goal: Lean.ParserDescr

full_name: Aesop.Frontend.BuilderOption.transparency
code: inductive BuilderOption
  | immediate (names : Array Name)
  | index (imode : IndexingMode)
  | pattern (stx : Term)
  | casesPatterns (pats : Array CasesPattern)
  | transparency (md : TransparencyMode) (alsoForIndex : Bool)
goal: Aesop.Frontend.BuilderOption

full_name: Aesop.Frontend.BuilderOption
code: inductive BuilderOption
  | immediate (names : Array Name)
  | index (imode : IndexingMode)
  | pattern (stx : Term)
  | casesPatterns (pats : Array CasesPattern)
  | transparency (md : TransparencyMode) (alsoForIndex : Bool)
goal: Type

full_name: Aesop.Frontend.BuilderOption.casesPatterns
code: inductive BuilderOption
  | immediate (names : Array Name)
  | index (imode : IndexingMode)
  | pattern (stx : Term)
  | casesPatterns (pats : Array CasesPattern)
  | transparency (md : TransparencyMode) (alsoForIndex : Bool)
goal: Aesop.Frontend.BuilderOption

full_name: Aesop.Frontend.BuilderOption.index
code: inductive BuilderOption
  | immediate (names : Array Name)
  | index (imode : IndexingMode)
  | pattern (stx : Term)
  | casesPatterns (pats : Array CasesPattern)
  | transparency (md : TransparencyMode) (alsoForIndex : Bool)
goal: Aesop.Frontend.BuilderOption

full_name: Aesop.Frontend.BuilderOption.pattern
code: inductive BuilderOption
  | immediate (names : Array Name)
  | index (imode : IndexingMode)
  | pattern (stx : Term)
  | casesPatterns (pats : Array CasesPattern)
  | transparency (md : TransparencyMode) (alsoForIndex : Bool)
goal: Aesop.Frontend.BuilderOption

full_name: Aesop.Frontend.BuilderOption.immediate
code: inductive BuilderOption
  | immediate (names : Array Name)
  | index (imode : IndexingMode)
  | pattern (stx : Term)
  | casesPatterns (pats : Array CasesPattern)
  | transparency (md : TransparencyMode) (alsoForIndex : Bool)
goal: Aesop.Frontend.BuilderOption

full_name: Aesop.Frontend.BuilderOption.elab
code: def «elab» (stx : TSyntax `Aesop.builder_option) : ElabM BuilderOption 
goal: Aesop.ElabM Aesop.Frontend.BuilderOption

full_name: Aesop.Frontend.addBuilderOption
code: def addBuilderOption (bos : RuleBuilderOptions) :
    BuilderOption → RuleBuilderOptions
  
goal: Aesop.Frontend.BuilderOption → Aesop.RuleBuilderOptions

full_name: Aesop.Frontend.Parser.ruleSetsFeature
code: syntax ruleSetsFeature := "(" &"rule_sets" " := " "[" ident,+,? "]" ")"
goal: Lean.ParserDescr

full_name: Aesop.Frontend.RuleSetName.elab
code: def RuleSetName.elab (stx : Syntax) : RuleSetName 
goal: Aesop.RuleSetName

full_name: Aesop.Frontend.RuleSets.ruleSets
code: structure RuleSets where
  ruleSets : Array RuleSetName
  deriving Inhabited
goal: Array Aesop.RuleSetName

full_name: Aesop.Frontend.RuleSets
code: structure RuleSets where
  ruleSets : Array RuleSetName
  deriving Inhabited
goal: Type

full_name: Aesop.Frontend.instInhabitedRuleSets
code: structure RuleSets where
  ruleSets : Array RuleSetName
  deriving Inhabited
goal: Inhabited Aesop.Frontend.RuleSets

full_name: Aesop.Frontend.RuleSets.elab
code: def «elab» (stx : Syntax) : ElabM RuleSets 
goal: Aesop.ElabM Aesop.Frontend.RuleSets

full_name: Lean.Parser.Category.Aesop.feature
code: declare_syntax_cat Aesop.feature (behavior := symbol)
goal: Lean.Parser.Category

full_name: Aesop.Frontend.Parser.feature_
code: syntax Aesop.phase : Aesop.feature
goal: Lean.ParserDescr

full_name: Aesop.Frontend.Parser.feature__1
code: syntax Aesop.priority : Aesop.feature
goal: Lean.ParserDescr

full_name: Aesop.Frontend.Parser.feature__2
code: syntax Aesop.builder_name : Aesop.feature
goal: Lean.ParserDescr

full_name: Aesop.Frontend.Parser.feature__3
code: syntax Aesop.builder_option : Aesop.feature
goal: Lean.ParserDescr

full_name: Aesop.Frontend.Parser.feature__4
code: syntax ruleSetsFeature : Aesop.feature
goal: Lean.ParserDescr

full_name: Aesop.Frontend.Parser.featIdent
code: syntax (name := featIdent) ident : Aesop.feature
goal: Lean.ParserDescr

full_name: Aesop.Frontend.Parser.«feature(_)»
code: syntax "(" term ")" : Aesop.feature
goal: Lean.ParserDescr

full_name: Aesop.Frontend.Feature.term
code: inductive Feature
  | phase (p : PhaseName)
  | priority (p : Priority)
  | builder (b : DBuilderName)
  | builderOption (o : BuilderOption)
  | term (i : Term)
  | ruleSets (rs : RuleSets)
  deriving Inhabited
goal: Aesop.Frontend.Feature

full_name: Aesop.Frontend.Feature.phase
code: inductive Feature
  | phase (p : PhaseName)
  | priority (p : Priority)
  | builder (b : DBuilderName)
  | builderOption (o : BuilderOption)
  | term (i : Term)
  | ruleSets (rs : RuleSets)
  deriving Inhabited
goal: Aesop.Frontend.Feature

full_name: Aesop.Frontend.Feature.ruleSets
code: inductive Feature
  | phase (p : PhaseName)
  | priority (p : Priority)
  | builder (b : DBuilderName)
  | builderOption (o : BuilderOption)
  | term (i : Term)
  | ruleSets (rs : RuleSets)
  deriving Inhabited
goal: Aesop.Frontend.Feature

full_name: Aesop.Frontend.instInhabitedFeature
code: inductive Feature
  | phase (p : PhaseName)
  | priority (p : Priority)
  | builder (b : DBuilderName)
  | builderOption (o : BuilderOption)
  | term (i : Term)
  | ruleSets (rs : RuleSets)
  deriving Inhabited
goal: Inhabited Aesop.Frontend.Feature

full_name: Aesop.Frontend.Feature.builderOption
code: inductive Feature
  | phase (p : PhaseName)
  | priority (p : Priority)
  | builder (b : DBuilderName)
  | builderOption (o : BuilderOption)
  | term (i : Term)
  | ruleSets (rs : RuleSets)
  deriving Inhabited
goal: Aesop.Frontend.Feature

full_name: Aesop.Frontend.Feature
code: inductive Feature
  | phase (p : PhaseName)
  | priority (p : Priority)
  | builder (b : DBuilderName)
  | builderOption (o : BuilderOption)
  | term (i : Term)
  | ruleSets (rs : RuleSets)
  deriving Inhabited
goal: Type

full_name: Aesop.Frontend.Feature.priority
code: inductive Feature
  | phase (p : PhaseName)
  | priority (p : Priority)
  | builder (b : DBuilderName)
  | builderOption (o : BuilderOption)
  | term (i : Term)
  | ruleSets (rs : RuleSets)
  deriving Inhabited
goal: Aesop.Frontend.Feature

full_name: Aesop.Frontend.Feature.builder
code: inductive Feature
  | phase (p : PhaseName)
  | priority (p : Priority)
  | builder (b : DBuilderName)
  | builderOption (o : BuilderOption)
  | term (i : Term)
  | ruleSets (rs : RuleSets)
  deriving Inhabited
goal: Aesop.Frontend.Feature

full_name: Aesop.Frontend.Feature.elab
code: partial def «elab» (stx : Syntax) : ElabM Feature 
goal: Aesop.ElabM Aesop.Frontend.Feature

full_name: Lean.Parser.Category.Aesop.rule_expr
code: declare_syntax_cat Aesop.rule_expr (behavior := symbol)
goal: Lean.Parser.Category

full_name: Aesop.Frontend.Parser.rule_expr_
code: syntax Aesop.feature : Aesop.rule_expr
goal: Lean.ParserDescr

full_name: Aesop.Frontend.Parser.rule_expr___
code: syntax Aesop.feature ppSpace Aesop.rule_expr : Aesop.rule_expr
goal: Lean.ParserDescr

full_name: Aesop.Frontend.Parser.«rule_expr_[_]»
code: syntax Aesop.feature " [" Aesop.rule_expr,+,? "]" : Aesop.rule_expr
goal: Lean.ParserDescr

full_name: Aesop.Frontend.RuleExpr
code: inductive RuleExpr
  | node (f : Feature) (children : Array RuleExpr)
  deriving Inhabited
goal: Type

full_name: Aesop.Frontend.instInhabitedRuleExpr
code: inductive RuleExpr
  | node (f : Feature) (children : Array RuleExpr)
  deriving Inhabited
goal: Inhabited Aesop.Frontend.RuleExpr

full_name: Aesop.Frontend.RuleExpr.node
code: inductive RuleExpr
  | node (f : Feature) (children : Array RuleExpr)
  deriving Inhabited
goal: Aesop.Frontend.RuleExpr

full_name: Aesop.Frontend.RuleExpr.elab
code: partial def «elab» (stx : Syntax) : ElabM RuleExpr 
goal: Aesop.ElabM Aesop.Frontend.RuleExpr

full_name: Aesop.Frontend.RuleExpr.foldBranchesM.go
code: partial def foldBranchesM {m} [Monad m] (f : σ → Feature → m σ) (init : σ)
    (e : RuleExpr) : m (Array σ) 
goal: Aesop.Frontend.RuleExpr → m (Array σ)

full_name: Aesop.Frontend.RuleExpr.foldBranchesM
code: partial def foldBranchesM {m} [Monad m] (f : σ → Feature → m σ) (init : σ)
    (e : RuleExpr) : m (Array σ) 
goal: m (Array σ)

full_name: Aesop.Frontend.RuleConfig.ruleSets
code: structure RuleConfig where
  term? : Option Term
  phase? : Option PhaseName
  priority? : Option Priority
  builder? : Option DBuilderName
  builderOptions : RuleBuilderOptions
  ruleSets : RuleSets
goal: Aesop.Frontend.RuleSets

full_name: Aesop.Frontend.RuleConfig
code: structure RuleConfig where
  term? : Option Term
  phase? : Option PhaseName
  priority? : Option Priority
  builder? : Option DBuilderName
  builderOptions : RuleBuilderOptions
  ruleSets : RuleSets
goal: Type

full_name: Aesop.Frontend.RuleConfig.priority?
code: structure RuleConfig where
  term? : Option Term
  phase? : Option PhaseName
  priority? : Option Priority
  builder? : Option DBuilderName
  builderOptions : RuleBuilderOptions
  ruleSets : RuleSets
goal: Option Aesop.Frontend.Priority

full_name: Aesop.Frontend.RuleConfig.builderOptions
code: structure RuleConfig where
  term? : Option Term
  phase? : Option PhaseName
  priority? : Option Priority
  builder? : Option DBuilderName
  builderOptions : RuleBuilderOptions
  ruleSets : RuleSets
goal: Aesop.RuleBuilderOptions

full_name: Aesop.Frontend.RuleConfig.builder?
code: structure RuleConfig where
  term? : Option Term
  phase? : Option PhaseName
  priority? : Option Priority
  builder? : Option DBuilderName
  builderOptions : RuleBuilderOptions
  ruleSets : RuleSets
goal: Option Aesop.Frontend.DBuilderName

full_name: Aesop.Frontend.RuleConfig.phase?
code: structure RuleConfig where
  term? : Option Term
  phase? : Option PhaseName
  priority? : Option Priority
  builder? : Option DBuilderName
  builderOptions : RuleBuilderOptions
  ruleSets : RuleSets
goal: Option Aesop.PhaseName

full_name: Aesop.Frontend.RuleConfig.term?
code: structure RuleConfig where
  term? : Option Term
  phase? : Option PhaseName
  priority? : Option Priority
  builder? : Option DBuilderName
  builderOptions : RuleBuilderOptions
  ruleSets : RuleSets
goal: Option Lean.Term

full_name: Aesop.Frontend.RuleConfig.addFeature
code: def addFeature (c : RuleConfig) : Feature → m RuleConfig
  
goal: Aesop.Frontend.Feature → m Aesop.Frontend.RuleConfig

full_name: Aesop.Frontend.RuleConfig.getPenalty
code: def getPenalty (phase : PhaseName) (c : RuleConfig) : m Int 
goal: m Int

full_name: Aesop.Frontend.RuleConfig.getSuccessProbability
code: def getSuccessProbability (c : RuleConfig) : m Percent 
goal: m Aesop.Percent

full_name: Aesop.Frontend.RuleConfig.getSimpPriority
code: def getSimpPriority (c : RuleConfig) : m Nat 
goal: m Nat

full_name: Aesop.Frontend.RuleConfig.getTerm
code: def getTerm (c : RuleConfig) : m Term 
goal: m Lean.Term

full_name: Aesop.Frontend.RuleConfig.getPhase
code: def getPhase (c : RuleConfig) : m PhaseName 
goal: m Aesop.PhaseName

full_name: Aesop.Frontend.RuleConfig.getBuilder
code: def getBuilder (c : RuleConfig) : m DBuilderName 
goal: m Aesop.Frontend.DBuilderName

full_name: Aesop.Frontend.RuleConfig.getPhaseSpec
code: def getPhaseSpec (c : RuleConfig) : m PhaseSpec 
goal: m Aesop.PhaseSpec

full_name: Aesop.Frontend.RuleConfig.getRuleBuilderInput
code: def getRuleBuilderInput (c : RuleConfig) : TermElabM RuleBuilderInput 
goal: Lean.Elab.TermElabM Aesop.RuleBuilderInput

full_name: Aesop.Frontend.RuleConfig.buildRule
code: def buildRule (c : RuleConfig) :
    ElabM (LocalRuleSetMember × Array RuleSetName) 
goal: Aesop.ElabM (Aesop.LocalRuleSetMember × Array Aesop.RuleSetName)

full_name: Aesop.Frontend.RuleConfig.buildGlobalRule
code: def buildGlobalRule (c : RuleConfig) :
    ElabM (GlobalRuleSetMember × Array RuleSetName) 
goal: Aesop.ElabM (Aesop.GlobalRuleSetMember × Array Aesop.RuleSetName)

full_name: Aesop.Frontend.RuleConfig.buildLocalRule
code: def buildLocalRule (c : RuleConfig) : ElabM LocalRuleSetMember 
goal: Aesop.ElabM Aesop.LocalRuleSetMember

full_name: Aesop.Frontend.RuleConfig.toRuleFilter
code: def toRuleFilter (c : RuleConfig) : ElabM (RuleSetNameFilter × RuleFilter) 
goal: Aesop.ElabM (Aesop.RuleSetNameFilter × Aesop.RuleFilter)

full_name: Aesop.Frontend.RuleConfig.validateForAdditionalRules.getPhaseAndPriority
code: def validateForAdditionalRules (c : RuleConfig) (defaultRuleSet : RuleSetName) :
    m RuleConfig 
goal: m (Aesop.PhaseName × Aesop.Frontend.Priority)

full_name: Aesop.Frontend.RuleConfig.validateForAdditionalRules
code: def validateForAdditionalRules (c : RuleConfig) (defaultRuleSet : RuleSetName) :
    m RuleConfig 
goal: m Aesop.Frontend.RuleConfig

full_name: Aesop.Frontend.RuleExpr.toRuleConfigs
code: def toRuleConfigs (e : RuleExpr) (init : RuleConfig) :
    m (Array RuleConfig) 
goal: m (Array Aesop.Frontend.RuleConfig)

full_name: Aesop.Frontend.RuleExpr.toAdditionalRules
code: def toAdditionalRules (e : RuleExpr) (init : RuleConfig)
    (defaultRuleSet : RuleSetName) : m (Array RuleConfig) 
goal: m (Array Aesop.Frontend.RuleConfig)

full_name: Aesop.Frontend.RuleExpr.toAdditionalGlobalRules
code: def toAdditionalGlobalRules (decl? : Option Name) (e : RuleExpr) :
    m (Array RuleConfig) 
goal: m (Array Aesop.Frontend.RuleConfig)

full_name: Aesop.Frontend.RuleExpr.buildAdditionalGlobalRules
code: def buildAdditionalGlobalRules (decl? : Option Name) (e : RuleExpr) :
    TermElabM (Array (GlobalRuleSetMember × Array RuleSetName)) 
goal: Lean.Elab.TermElabM (Array (Aesop.GlobalRuleSetMember × Array Aesop.RuleSetName))

full_name: Aesop.Frontend.RuleExpr.toAdditionalLocalRules
code: def toAdditionalLocalRules (e : RuleExpr) : MetaM (Array RuleConfig) 
goal: Lean.MetaM (Array Aesop.Frontend.RuleConfig)

full_name: Aesop.Frontend.RuleExpr.buildAdditionalLocalRules
code: def buildAdditionalLocalRules (goal : MVarId) (e : RuleExpr) :
    TermElabM (Array LocalRuleSetMember) 
goal: Lean.Elab.TermElabM (Array Aesop.LocalRuleSetMember)

full_name: Aesop.Frontend.RuleExpr.toRuleFilters
code: def toRuleFilters (e : RuleExpr) :
    ElabM (Array (RuleSetNameFilter × RuleFilter)) 
goal: Aesop.ElabM (Array (Aesop.RuleSetNameFilter × Aesop.RuleFilter))

full_name: Aesop.Frontend.RuleExpr.toGlobalRuleFilters
code: def toGlobalRuleFilters (e : RuleExpr) :
    TermElabM (Array (RuleSetNameFilter × RuleFilter)) 
goal: Lean.Elab.TermElabM (Array (Aesop.RuleSetNameFilter × Aesop.RuleFilter))

full_name: Aesop.Frontend.RuleExpr.toLocalRuleFilters
code: def toLocalRuleFilters (e : RuleExpr) : ElabM (Array RuleFilter) 
goal: Aesop.ElabM (Array Aesop.RuleFilter)