File: .lake/packages/aesop/Aesop/Script/Step.lean

full_name: Aesop.Script.mkOneBasedNumLit
code: @[inline]
def mkOneBasedNumLit (n : Nat) : NumLit 
goal: Lean.NumLit

full_name: Aesop.Script.mkOnGoal
code: def mkOnGoal (goalPos : Nat) (tac : Syntax.Tactic) : Syntax.Tactic 
goal: Lean.Syntax.Tactic

full_name: Aesop.Script.Step.postGoals
code: structure Step where
  preState : Meta.SavedState
  preGoal : MVarId
  tactic : Tactic
  postState : Meta.SavedState
  postGoals : Array GoalWithMVars
goal: Array Aesop.GoalWithMVars

full_name: Aesop.Script.Step.postState
code: structure Step where
  preState : Meta.SavedState
  preGoal : MVarId
  tactic : Tactic
  postState : Meta.SavedState
  postGoals : Array GoalWithMVars
goal: Lean.Meta.SavedState

full_name: Aesop.Script.Step.preGoal
code: structure Step where
  preState : Meta.SavedState
  preGoal : MVarId
  tactic : Tactic
  postState : Meta.SavedState
  postGoals : Array GoalWithMVars
goal: Lean.MVarId

full_name: Aesop.Script.Step
code: structure Step where
  preState : Meta.SavedState
  preGoal : MVarId
  tactic : Tactic
  postState : Meta.SavedState
  postGoals : Array GoalWithMVars
goal: Type

full_name: Aesop.Script.Step.preState
code: structure Step where
  preState : Meta.SavedState
  preGoal : MVarId
  tactic : Tactic
  postState : Meta.SavedState
  postGoals : Array GoalWithMVars
goal: Lean.Meta.SavedState

full_name: Aesop.Script.Step.tactic
code: structure Step where
  preState : Meta.SavedState
  preGoal : MVarId
  tactic : Tactic
  postState : Meta.SavedState
  postGoals : Array GoalWithMVars
goal: Aesop.Script.Tactic

full_name: Aesop.Script.TacticState.applyStep
code: def TacticState.applyStep (tacticState : TacticState) (step : Step) :
    m TacticState 
goal: m Aesop.Script.TacticState

full_name: Aesop.Script.Step.uTactic
code: def uTactic (s : Step) : UTactic 
goal: Aesop.Script.UTactic

full_name: Aesop.Script.Step.sTactic?
code: def sTactic? (s : Step) : Option STactic 
goal: Option Aesop.Script.STactic

full_name: Aesop.Script.Step.instToMessageData
code: instance : ToMessageData Step 
goal: Lean.ToMessageData Aesop.Script.Step

full_name: Aesop.Script.Step.mkSorry
code: def mkSorry (preGoal : MVarId) (preState : Meta.SavedState) : MetaM Step 
goal: Lean.MetaM Aesop.Script.Step

full_name: Aesop.Script.Step.render
code: def render (acc : Array Syntax.Tactic) (step : Step)
    (tacticState : TacticState) : m (Array Syntax.Tactic × TacticState) 
goal: m (Array Lean.Syntax.Tactic × Aesop.Script.TacticState)

full_name: Aesop.Script.Step.validate
code: def validate (step : Step) : MetaM Unit 
goal: Lean.MetaM Unit

full_name: Aesop.Script.Step.validate.fmtGoals
code: def validate (step : Step) : MetaM Unit 
goal: Lean.MetaM Lean.MessageData

full_name: Aesop.Script.LazyStep
code: structure LazyStep where
  preState : Meta.SavedState
  preGoal : MVarId
  /--
  A nonempty list of tactic builders. During script generation, Aesop tries to
  execute the builders from left to right. It then uses the first builder that
  succceds (in the sense that when run in `preState` on `preGoal` it produces
  the `postState` and `postGoals`). The last builder must succeed and is used
  unconditionally.
  -/
  tacticBuilders : Array TacticBuilder
  tacticBuilders_ne : 0 < tacticBuilders.size := by simp
  postState : Meta.SavedState
  postGoals : Array MVarId
goal: Type

full_name: Aesop.Script.LazyStep.preGoal
code: structure LazyStep where
  preState : Meta.SavedState
  preGoal : MVarId
  /--
  A nonempty list of tactic builders. During script generation, Aesop tries to
  execute the builders from left to right. It then uses the first builder that
  succceds (in the sense that when run in `preState` on `preGoal` it produces
  the `postState` and `postGoals`). The last builder must succeed and is used
  unconditionally.
  -/
  tacticBuilders : Array TacticBuilder
  tacticBuilders_ne : 0 < tacticBuilders.size := by simp
  postState : Meta.SavedState
  postGoals : Array MVarId
goal: Lean.MVarId

full_name: Aesop.Script.LazyStep.preState
code: structure LazyStep where
  preState : Meta.SavedState
  preGoal : MVarId
  /--
  A nonempty list of tactic builders. During script generation, Aesop tries to
  execute the builders from left to right. It then uses the first builder that
  succceds (in the sense that when run in `preState` on `preGoal` it produces
  the `postState` and `postGoals`). The last builder must succeed and is used
  unconditionally.
  -/
  tacticBuilders : Array TacticBuilder
  tacticBuilders_ne : 0 < tacticBuilders.size := by simp
  postState : Meta.SavedState
  postGoals : Array MVarId
goal: Lean.Meta.SavedState

full_name: Aesop.Script.LazyStep.postGoals
code: structure LazyStep where
  preState : Meta.SavedState
  preGoal : MVarId
  /--
  A nonempty list of tactic builders. During script generation, Aesop tries to
  execute the builders from left to right. It then uses the first builder that
  succceds (in the sense that when run in `preState` on `preGoal` it produces
  the `postState` and `postGoals`). The last builder must succeed and is used
  unconditionally.
  -/
  tacticBuilders : Array TacticBuilder
  tacticBuilders_ne : 0 < tacticBuilders.size := by simp
  postState : Meta.SavedState
  postGoals : Array MVarId
goal: Array Lean.MVarId

full_name: Aesop.Script.LazyStep.postState
code: structure LazyStep where
  preState : Meta.SavedState
  preGoal : MVarId
  /--
  A nonempty list of tactic builders. During script generation, Aesop tries to
  execute the builders from left to right. It then uses the first builder that
  succceds (in the sense that when run in `preState` on `preGoal` it produces
  the `postState` and `postGoals`). The last builder must succeed and is used
  unconditionally.
  -/
  tacticBuilders : Array TacticBuilder
  tacticBuilders_ne : 0 < tacticBuilders.size := by simp
  postState : Meta.SavedState
  postGoals : Array MVarId
goal: Lean.Meta.SavedState

full_name: Aesop.Script.LazyStep.tacticBuilders_ne
code: structure LazyStep where
  preState : Meta.SavedState
  preGoal : MVarId
  /--
  A nonempty list of tactic builders. During script generation, Aesop tries to
  execute the builders from left to right. It then uses the first builder that
  succceds (in the sense that when run in `preState` on `preGoal` it produces
  the `postState` and `postGoals`). The last builder must succeed and is used
  unconditionally.
  -/
  tacticBuilders : Array TacticBuilder
  tacticBuilders_ne : 0 < tacticBuilders.size := by simp
  postState : Meta.SavedState
  postGoals : Array MVarId
goal: 0 < self.tacticBuilders.size

full_name: Aesop.Script.LazyStep.tacticBuilders
code: structure LazyStep where
  preState : Meta.SavedState
  preGoal : MVarId
  /--
  A nonempty list of tactic builders. During script generation, Aesop tries to
  execute the builders from left to right. It then uses the first builder that
  succceds (in the sense that when run in `preState` on `preGoal` it produces
  the `postState` and `postGoals`). The last builder must succeed and is used
  unconditionally.
  -/
  tacticBuilders : Array TacticBuilder
  tacticBuilders_ne : 0 < tacticBuilders.size := by simp
  postState : Meta.SavedState
  postGoals : Array MVarId
goal: Array Aesop.Script.TacticBuilder

full_name: Aesop.Script.LazyStep.runFirstSuccessfulTacticBuilder
code: def runFirstSuccessfulTacticBuilder (s : LazyStep) : MetaM Tactic 
goal: Lean.MetaM Aesop.Script.Tactic

full_name: Aesop.Script.LazyStep.toStep
code: def toStep (s : LazyStep) : MetaM Step 
goal: Lean.MetaM Aesop.Script.Step

full_name: Aesop.Script.LazyStep.BuildInput.postGoals
code: structure BuildInput (α) where
  tac : MetaM α
  postGoals : α → Array MVarId
  tacticBuilder : α → TacticBuilder
goal: α → Array Lean.MVarId

full_name: Aesop.Script.LazyStep.BuildInput.tacticBuilder
code: structure BuildInput (α) where
  tac : MetaM α
  postGoals : α → Array MVarId
  tacticBuilder : α → TacticBuilder
goal: α → Aesop.Script.TacticBuilder

full_name: Aesop.Script.LazyStep.BuildInput.tac
code: structure BuildInput (α) where
  tac : MetaM α
  postGoals : α → Array MVarId
  tacticBuilder : α → TacticBuilder
goal: Lean.MetaM α

full_name: Aesop.Script.LazyStep.BuildInput
code: structure BuildInput (α) where
  tac : MetaM α
  postGoals : α → Array MVarId
  tacticBuilder : α → TacticBuilder
goal: Type

full_name: Aesop.Script.LazyStep.build
code: @[inline, always_inline]
def build (preGoal : MVarId) (i : BuildInput α) : MetaM (LazyStep × α) 
goal: Lean.MetaM (Aesop.Script.LazyStep × α)

full_name: Aesop.Script.LazyStep.erasePostStateAssignments
code: def erasePostStateAssignments (s : LazyStep) (gs : Array MVarId) : LazyStep 
goal: Aesop.Script.LazyStep