Options for the builders. Most options are only relevant for certain builders.
- indexingMode? : Option IndexingMode
 - casesPatterns? : Option (Array CasesPattern)
 - transparency? : Option Lean.Meta.TransparencyMode
The transparency used by the rule tactic.
 - indexTransparency? : Option Lean.Meta.TransparencyMode
The transparency used for indexing the rule. Currently, the rule is not indexed unless this is
.reducible. 
Instances For
Equations
- One or more equations did not get rendered due to their size.
 
Equations
Instances For
Equations
- Aesop.RuleBuilderOptions.instEmptyCollection = { emptyCollection := Aesop.RuleBuilderOptions.default }
 
- ruleExprName : Lean.Name
 - builderName : BuilderName
 - scopeName : ScopeName
 - tac : RuleTacDescr
 - indexingMode : IndexingMode
 - pattern? : Option RulePattern
 
Instances For
- safe (info : SafeRuleInfo) : PhaseSpec
 - norm (info : NormRuleInfo) : PhaseSpec
 - unsafe (info : UnsafeRuleInfo) : PhaseSpec
 
Instances For
Equations
- Aesop.instInhabitedPhaseSpec = { default := Aesop.PhaseSpec.safe default }
 
Equations
- (Aesop.PhaseSpec.safe info).phase = Aesop.PhaseName.safe
 - (Aesop.PhaseSpec.unsafe info).phase = Aesop.PhaseName.unsafe
 - (Aesop.PhaseSpec.norm info).phase = Aesop.PhaseName.norm
 
Instances For
def
Aesop.PhaseSpec.toRule
(phase : PhaseSpec)
(ruleExprName : Lean.Name)
(builder : BuilderName)
(scope : ScopeName)
(tac : RuleTacDescr)
(indexingMode : IndexingMode)
(pattern? : Option RulePattern)
 :
Equations
- One or more equations did not get rendered due to their size.
 
Instances For
- term : Lean.Term
 - options : RuleBuilderOptions
 - phase : PhaseSpec
 
Instances For
Equations
- Aesop.instInhabitedRuleBuilderInput = { default := { term := default, options := default, phase := default } }
 
Equations
- input.phaseName = input.phase.phase
 
Instances For
@[reducible, inline]
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
- const (decl : Lean.Name) : ElabRuleTerm
 - term (term : Lean.Term) (expr : Lean.Expr) : ElabRuleTerm
 
Instances For
Equations
- (Aesop.ElabRuleTerm.const decl).expr = Lean.Meta.mkConstWithFreshMVarLevels decl
 - (Aesop.ElabRuleTerm.term term e).expr = pure e
 
Instances For
Equations
- (Aesop.ElabRuleTerm.const decl).scope = Aesop.ScopeName.global
 - (Aesop.ElabRuleTerm.term term e).scope = Aesop.ScopeName.local
 
Instances For
Equations
- (Aesop.ElabRuleTerm.const decl).name = pure decl
 - (Aesop.ElabRuleTerm.term term e).name = Aesop.getRuleNameForExpr e
 
Instances For
Equations
- (Aesop.ElabRuleTerm.const decl).toRuleTerm = Aesop.RuleTerm.const decl
 - (Aesop.ElabRuleTerm.term term e).toRuleTerm = Aesop.RuleTerm.term term
 
Instances For
Equations
- Aesop.ElabRuleTerm.ofElaboratedTerm tm expr = match expr.constName? with | some decl => Aesop.ElabRuleTerm.const decl | x => Aesop.ElabRuleTerm.term tm expr