- options : Options'
- ruleSet : LocalRuleSet
- normSimpContext : NormSimpContext
Instances For
- forwardState : ForwardState
- forwardRuleMatches : ForwardRuleMatches
Instances For
@[implicit_reducible]
Equations
- Aesop.NormM.instInhabitedState = { default := Aesop.NormM.instInhabitedState.default }
Equations
- Aesop.NormM.instInhabitedState.default = { forwardState := default, forwardRuleMatches := default }
Instances For
@[reducible, inline]
Equations
- Aesop.NormM = ReaderT Aesop.NormM.Context (StateRefT' IO.RealWorld Aesop.NormM.State Aesop.BaseM)
Instances For
Equations
- Aesop.getForwardState = do let __do_lift โ getThe Aesop.NormM.State pure __do_lift.forwardState
Instances For
Equations
- Aesop.getResetForwardState = modifyGetThe Aesop.NormM.State fun (s : Aesop.NormM.State) => (s.forwardState, { forwardState := โ , forwardRuleMatches := s.forwardRuleMatches })
Instances For
def
Aesop.modifyForwardState
(fs : ForwardState)
(newMatches : Array ForwardRuleMatch)
(erasedHyps : Std.HashSet Lean.FVarId)
:
NormM Unit
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
Equations
- One or more equations did not get rendered due to their size.
Instances For
- succeeded (goal : Lean.MVarId) (steps? : Option (Array Script.LazyStep)) : NormRuleResult
- proved (steps? : Option (Array Script.LazyStep)) : NormRuleResult
Instances For
Equations
- (Aesop.NormRuleResult.succeeded goal steps?).newGoal? = some goal
- (Aesop.NormRuleResult.proved steps?).newGoal? = none
Instances For
Equations
- (Aesop.NormRuleResult.succeeded goal steps?).steps? = steps?
- (Aesop.NormRuleResult.proved steps?).steps? = steps?
Instances For
Equations
- Aesop.optNormRuleResultEmoji (some (Aesop.NormRuleResult.succeeded goal steps?)) = Aesop.ruleSuccessEmoji
- Aesop.optNormRuleResultEmoji (some (Aesop.NormRuleResult.proved steps?)) = Aesop.ruleProvedEmoji
- Aesop.optNormRuleResultEmoji none = Aesop.ruleFailureEmoji
Instances For
@[always_inline]
def
Aesop.withNormTraceNode
(ruleName : DisplayRuleName)
(k : NormM (Option NormRuleResult))
:
NormM (Option NormRuleResult)
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Aesop.runNormRuleTac
(rule : NormRule)
(input : RuleTacInput)
(fs : ForwardState)
(rs : LocalRuleSet)
:
NormM (Option (NormRuleResult ร ForwardState ร Std.HashSet Lean.FVarId) ร Array ForwardRuleMatch)
On success, returns the rule tactic's result, the new forward state and the
new forward rule matches. If rule corresponds to some forward rule matches,
returns the matches as well.
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Aesop.runNormRule
(goal : Lean.MVarId)
(mvars : UnorderedArraySet Lean.MVarId)
(rule : IndexMatchResult NormRule)
:
NormM (Option NormRuleResult)
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Aesop.runFirstNormRule
(goal : Lean.MVarId)
(mvars : UnorderedArraySet Lean.MVarId)
(rules : Array (IndexMatchResult NormRule))
:
NormM (Option (DisplayRuleName ร NormRuleResult))
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Aesop.mkNormSimpScriptStep
(preGoal : Lean.MVarId)
(postGoal? : Option Lean.MVarId)
(preState postState : Lean.Meta.SavedState)
(usedTheorems : Lean.Meta.Simp.UsedSimps)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Aesop.normSimpCore
(goal : Lean.MVarId)
(goalMVars : Std.HashSet Lean.MVarId)
:
NormM (Option NormRuleResult)
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[always_inline]
def
Aesop.checkSimp
(name : String)
(mayCloseGoal : Bool)
(goal : Lean.MVarId)
(x : NormM (Option NormRuleResult))
:
NormM (Option NormRuleResult)
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Aesop.normSimp
(goal : Lean.MVarId)
(goalMVars : Std.HashSet Lean.MVarId)
:
NormM (Option NormRuleResult)
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
- proved (script : Array (DisplayRuleName ร Option (Array Script.LazyStep))) : NormSeqResult
- changed (goal : Lean.MVarId) (script : Array (DisplayRuleName ร Option (Array Script.LazyStep))) : NormSeqResult
- unchanged : NormSeqResult
Instances For
Equations
- Aesop.NormRuleResult.toNormSeqResult ruleName (Aesop.NormRuleResult.proved steps?) = Aesop.NormSeqResult.proved #[(ruleName, steps?)]
- Aesop.NormRuleResult.toNormSeqResult ruleName (Aesop.NormRuleResult.succeeded goal steps?) = Aesop.NormSeqResult.changed goal #[(ruleName, steps?)]
Instances For
def
Aesop.optNormRuleResultToNormSeqResult :
Option (DisplayRuleName ร NormRuleResult) โ NormSeqResult
Equations
- Aesop.optNormRuleResultToNormSeqResult (some (ruleName, r)) = Aesop.NormRuleResult.toNormSeqResult ruleName r
- Aesop.optNormRuleResultToNormSeqResult none = Aesop.NormSeqResult.unchanged
Instances For
@[reducible, inline]
Equations
- Aesop.NormStep = (Lean.MVarId โ Array (Aesop.IndexMatchResult Aesop.NormRule) โ Array (Aesop.IndexMatchResult Aesop.NormRule) โ Aesop.NormM Aesop.NormSeqResult)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Aesop.NormStep.runPreSimpRules mvars xโยฒ xโยน xโ = Aesop.optNormRuleResultToNormSeqResult <$> Aesop.runFirstNormRule xโยฒ mvars xโยน
Instances For
Equations
- Aesop.NormStep.runPostSimpRules mvars xโยฒ xโยน xโ = Aesop.optNormRuleResultToNormSeqResult <$> Aesop.runFirstNormRule xโยฒ mvars xโ
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
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.