- visibleGoals : Array Aesop.GoalWithMVars
- invisibleGoals : Std.HashSet Lean.MVarId
Instances For
Equations
- Aesop.Script.instInhabitedTacticState = { default := { visibleGoals := default, invisibleGoals := default } }
Equations
- Aesop.Script.TacticState.mkInitial goal = do let __do_lift ← goal.getMVarDependencies pure { visibleGoals := #[{ goal := goal, mvars := __do_lift }], invisibleGoals := ∅ }
Instances For
def
Aesop.Script.TacticState.getVisibleGoalIndex?
(ts : Aesop.Script.TacticState)
(goal : Lean.MVarId)
:
Equations
- ts.getVisibleGoalIndex? goal = ts.visibleGoals.findIdx? fun (x : Aesop.GoalWithMVars) => x.goal == goal
Instances For
def
Aesop.Script.TacticState.getVisibleGoalIndex
{m : Type → Type}
[Monad m]
[Lean.MonadError m]
(ts : Aesop.Script.TacticState)
(goal : Lean.MVarId)
:
m Nat
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- ts.getMainGoal? = Option.map (fun (x : Aesop.GoalWithMVars) => x.goal) ts.visibleGoals[0]?
Instances For
Equations
- ts.visibleGoalsHaveMVars = ts.visibleGoals.any fun (g : Aesop.GoalWithMVars) => !g.mvars.isEmpty
Instances For
Equations
- ts.solveVisibleGoals = { visibleGoals := #[], invisibleGoals := ts.invisibleGoals }
Instances For
def
Aesop.Script.TacticState.eraseSolvedGoals
(ts : Aesop.Script.TacticState)
(preMCtx postMCtx : Lean.MetavarContext)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Aesop.Script.TacticState.eraseSolvedGoals.mvarWasSolved
(preMCtx postMCtx : Lean.MetavarContext)
(mvarId : Lean.MVarId)
:
Equations
- Aesop.Script.TacticState.eraseSolvedGoals.mvarWasSolved preMCtx postMCtx mvarId = (postMCtx.isExprMVarAssignedOrDelayedAssigned mvarId && !preMCtx.isExprMVarAssignedOrDelayedAssigned mvarId)
Instances For
def
Aesop.Script.TacticState.applyTactic
{m : Type → Type}
[Monad m]
[Lean.MonadError m]
(ts : Aesop.Script.TacticState)
(inGoal : Lean.MVarId)
(outGoals : Array Aesop.GoalWithMVars)
(preMCtx postMCtx : Lean.MetavarContext)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Aesop.Script.TacticState.focus
{m : Type → Type}
[Monad m]
[Lean.MonadError m]
(ts : Aesop.Script.TacticState)
(goal : Lean.MVarId)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[always_inline]
def
Aesop.Script.TacticState.onGoalM
{m : Type → Type}
[Monad m]
[Lean.MonadError m]
{α : Type}
(ts : Aesop.Script.TacticState)
(g : Lean.MVarId)
(f : Aesop.Script.TacticState → m (α × Aesop.Script.TacticState))
:
m (α × Aesop.Script.TacticState)
Equations
- One or more equations did not get rendered due to their size.