- goal : Lean.MVarId
- mvars : Lean.HashSet Lean.MVarId
Instances For
Equations
- Aesop.instInhabitedGoalWithMVars = { default := { goal := default, mvars := default } }
Equations
- One or more equations did not get rendered due to their size.
Equations
- Aesop.instBEqGoalWithMVars = { beq := fun (g₁ g₂ : Aesop.GoalWithMVars) => g₁.goal == g₂.goal }
Equations
- Aesop.GoalWithMVars.ofMVarId goal = do let __do_lift ← Lean.MVarId.getMVarDependencies goal pure { goal := goal, mvars := __do_lift }
Instances For
Equations
Instances For
@[inline]
Equations
Instances For
@[inline]
def
Aesop.UnstructuredScriptBuilder.ofTactics
{m : Type → Type}
[Monad m]
(ts : m (Array Lean.Syntax.Tactic))
:
Equations
- Aesop.UnstructuredScriptBuilder.ofTactics ts = do let __do_lift ← ts pure __do_lift
Instances For
@[inline]
def
Aesop.UnstructuredScriptBuilder.ofTactic
{m : Type → Type}
[Monad m]
(t : m Lean.Syntax.Tactic)
:
Equations
- Aesop.UnstructuredScriptBuilder.ofTactic t = do let __do_lift ← t pure #[__do_lift]
Instances For
@[inline]
def
Aesop.UnstructuredScriptBuilder.seq
{m : Type → Type}
[Monad m]
(b₁ : Aesop.UnstructuredScriptBuilder m)
(b₂ : Aesop.UnstructuredScriptBuilder m)
:
Equations
- Aesop.UnstructuredScriptBuilder.seq b₁ b₂ = do let __do_lift ← Aesop.UnstructuredScriptBuilder.run b₁ let __do_lift_1 ← Aesop.UnstructuredScriptBuilder.run b₂ pure (__do_lift ++ __do_lift_1)
Instances For
@[inline]
def
Aesop.UnstructuredScriptBuilder.focusAndDoneEach
{m : Type → Type}
[Monad m]
[Lean.MonadQuotation m]
[Lean.MonadError m]
(bs : Array (Aesop.UnstructuredScriptBuilder m))
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[inline]
def
Aesop.UnstructuredScriptBuilder.seqFocusAndDone
{m : Type → Type}
[Monad m]
[Lean.MonadQuotation m]
[Lean.MonadError m]
(b : Aesop.UnstructuredScriptBuilder m)
(bs : Array (Aesop.UnstructuredScriptBuilder m))
:
Equations
Instances For
@[inline]
def
Aesop.UnstructuredScriptBuilder.seqFocus
{m : Type → Type}
[Monad m]
[Lean.MonadQuotation m]
[Lean.MonadError m]
(b : Aesop.UnstructuredScriptBuilder m)
(bs : Array (Aesop.UnstructuredScriptBuilder m))
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
instance
Aesop.UnstructuredScriptBuilder.instInhabitedUnstructuredScriptBuilder
{m : Type → Type}
[Pure m]
:
- subgoals : Nat
Instances For
@[inline]
Equations
- Aesop.StructuredScriptBuilder.run b = b.elim (Array.toSubarray #[] 0)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Aesop.StructuredScriptBuilder.ofTactics
{m : Type → Type}
[Monad m]
[Lean.MonadQuotation m]
[Lean.MonadError m]
(subgoals : Nat)
(ts : m (Array Lean.Syntax.Tactic))
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[inline]
def
Aesop.StructuredScriptBuilder.ofUnstructuredScriptBuilder
{m : Type → Type}
[Monad m]
[Lean.MonadQuotation m]
[Lean.MonadError m]
(subgoals : Nat)
(b : Aesop.UnstructuredScriptBuilder m)
:
Equations
Instances For
@[inline]
def
Aesop.StructuredScriptBuilder.ofTactic
{m : Type → Type}
[Monad m]
[Lean.MonadQuotation m]
[Lean.MonadError m]
(subgoals : Nat)
(t : m Lean.Syntax.Tactic)
:
Equations
- Aesop.StructuredScriptBuilder.ofTactic subgoals t = Aesop.StructuredScriptBuilder.ofTactics subgoals do let __do_lift ← t pure #[__do_lift]
Instances For
@[inline]
def
Aesop.StructuredScriptBuilder.done
{m : Type → Type}
[Monad m]
[Lean.MonadQuotation m]
[Lean.MonadError m]
:
Equations
- Aesop.StructuredScriptBuilder.done = Aesop.StructuredScriptBuilder.ofTactics 0 (pure #[])
Instances For
instance
Aesop.StructuredScriptBuilder.instInhabitedStructuredScriptBuilder
{m : Type → Type}
[Monad m]
[Lean.MonadError m]
:
Equations
- Aesop.StructuredScriptBuilder.instInhabitedStructuredScriptBuilder = { default := Aesop.StructuredScriptBuilder.id }
def
Aesop.StructuredScriptBuilder.error
{m : Type → Type}
[Monad m]
[Lean.MonadError m]
(msg : Lean.MessageData)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Aesop.StructuredScriptBuilder.seq
{m : Type → Type}
[Monad m]
[Lean.MonadError m]
(b : Aesop.StructuredScriptBuilder m)
(bs : Array (Aesop.StructuredScriptBuilder m))
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
- unstructured : Aesop.UnstructuredScriptBuilder m
- structured : Aesop.StructuredScriptBuilder m
Instances For
instance
Aesop.instInhabitedScriptBuilder
{m : Type → Type}
[Monad m]
[Lean.MonadError m]
[Pure m]
:
Equations
- Aesop.instInhabitedScriptBuilder = { default := { unstructured := default, structured := default } }
Equations
- Aesop.ScriptBuilder.id = { unstructured := Aesop.UnstructuredScriptBuilder.id, structured := Aesop.StructuredScriptBuilder.id }
Instances For
def
Aesop.ScriptBuilder.ofTactics
{m : Type → Type}
[Monad m]
[Lean.MonadQuotation m]
[Lean.MonadError m]
(subgoals : Nat)
(ts : m (Array Lean.Syntax.Tactic))
:
Equations
- Aesop.ScriptBuilder.ofTactics subgoals ts = { unstructured := Aesop.UnstructuredScriptBuilder.ofTactics ts, structured := Aesop.StructuredScriptBuilder.ofTactics subgoals ts }
Instances For
@[inline]
def
Aesop.ScriptBuilder.ofUnstructuredScriptBuilder
{m : Type → Type}
[Monad m]
[Lean.MonadQuotation m]
[Lean.MonadError m]
(subgoals : Nat)
(b : Aesop.UnstructuredScriptBuilder m)
:
Equations
- Aesop.ScriptBuilder.ofUnstructuredScriptBuilder subgoals b = Aesop.ScriptBuilder.ofTactics subgoals b
Instances For
def
Aesop.ScriptBuilder.ofTactic
{m : Type → Type}
[Monad m]
[Lean.MonadQuotation m]
[Lean.MonadError m]
(subgoals : Nat)
(t : m Lean.Syntax.Tactic)
:
Equations
- Aesop.ScriptBuilder.ofTactic subgoals t = { unstructured := Aesop.UnstructuredScriptBuilder.ofTactic t, structured := Aesop.StructuredScriptBuilder.ofTactic subgoals t }
Instances For
def
Aesop.ScriptBuilder.seq
{m : Type → Type}
[Monad m]
[Lean.MonadQuotation m]
[Lean.MonadError m]
(b : Aesop.ScriptBuilder m)
(bs : Array (Aesop.ScriptBuilder m))
:
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
def
Aesop.ScriptBuilder.unhygienicAesopCases
(goal : Lean.MVarId)
(fvarId : Lean.FVarId)
(subgoals : Nat)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Aesop.ScriptBuilder.renameInaccessibleFVars
(goal : Lean.MVarId)
(renamedFVars : Array Lean.FVarId)
:
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
@[always_inline]
def
Aesop.ScriptBuilder.withPrefix
{m : Type → Type}
[Monad m]
[Lean.MonadQuotation m]
[Lean.MonadError m]
(f : Lean.TSyntax `Lean.Parser.Tactic.tacticSeq → m (Array (Lean.TSyntax `tactic)))
(b : Aesop.ScriptBuilder m)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Aesop.ScriptBuilder.withTransparency
{m : Type → Type}
[Monad m]
[Lean.MonadQuotation m]
[Lean.MonadError m]
(md : Lean.Meta.TransparencyMode)
(b : Aesop.ScriptBuilder m)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Aesop.ScriptBuilder.withAllTransparency
{m : Type → Type}
[Monad m]
[Lean.MonadQuotation m]
[Lean.MonadError m]
(md : Lean.Meta.TransparencyMode)
(b : Aesop.ScriptBuilder m)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[inline, reducible]
Instances For
@[always_inline]
Equations
- Aesop.mkScriptBuilder? generateScript builder = if generateScript = true then some builder else none
Instances For
def
Aesop.assertHypothesesWithScript
(goal : Lean.MVarId)
(hs : Array Lean.Meta.Hypothesis)
(generateScript : Bool)
:
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
def
Aesop.tryClearManyWithScript
(goal : Lean.MVarId)
(fvarIds : Array Lean.FVarId)
(generateScript : Bool)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Aesop.unhygienicCasesWithScript
(goal : Lean.MVarId)
(fvarId : Lean.FVarId)
(generateScript : Bool)
:
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
def
Aesop.unfoldManyStarWithScript
(goal : Lean.MVarId)
(unfold? : Lean.Name → Option (Option Lean.Name))
(generateScript : Bool)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
- visibleGoals : Array Aesop.GoalWithMVars
- invisibleGoals : Lean.HashSet Lean.MVarId
Instances For
Equations
- Aesop.instInhabitedTacticState = { default := { visibleGoals := default, invisibleGoals := default } }
Equations
- Aesop.TacticState.getVisibleGoalIndex? ts goal = Array.findIdx? ts.visibleGoals fun (x : Aesop.GoalWithMVars) => x.goal == goal
Instances For
def
Aesop.TacticState.getVisibleGoalIndex
{m : Type → Type}
[Monad m]
[Lean.MonadError m]
(ts : Aesop.TacticState)
(goal : Lean.MVarId)
:
m Nat
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Aesop.TacticState.getMainGoal? ts = Option.map (fun (x : Aesop.GoalWithMVars) => x.goal) ts.visibleGoals[0]?
Instances For
Equations
- Aesop.TacticState.hasNoVisibleGoals ts = Array.isEmpty ts.visibleGoals
Instances For
Equations
- Aesop.TacticState.hasSingleVisibleGoal ts = (Array.size ts.visibleGoals == 1)
Instances For
Equations
- Aesop.TacticState.visibleGoalsHaveMVars ts = Array.any ts.visibleGoals (fun (g : Aesop.GoalWithMVars) => !Lean.HashSet.isEmpty g.mvars) 0
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Aesop.TacticState.applyTactic
{m : Type → Type}
[Monad m]
[Lean.MonadError m]
(ts : Aesop.TacticState)
(inGoal : Lean.MVarId)
(outGoals : Array Aesop.GoalWithMVars)
(postMCtx : Lean.MetavarContext)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Aesop.TacticState.focus
{m : Type → Type}
[Monad m]
[Lean.MonadError m]
(ts : Aesop.TacticState)
(goal : Lean.MVarId)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[always_inline]
def
Aesop.TacticState.onGoalM
{m : Type → Type}
[Monad m]
[Lean.MonadError m]
{α : Type}
(ts : Aesop.TacticState)
(g : Lean.MVarId)
(f : Aesop.TacticState → m (α × Aesop.TacticState))
:
m (α × Aesop.TacticState)
Equations
- One or more equations did not get rendered due to their size.
Instances For
- preState : Lean.Meta.SavedState
- preGoal : Lean.MVarId
- tacticSeq : Array Lean.Syntax.Tactic
- postGoals : Array Aesop.GoalWithMVars
- postState : Lean.Meta.SavedState
Instances For
def
Aesop.TacticState.applyTacticInvocation
{m : Type → Type}
[Monad m]
[Lean.MonadError m]
(tacticState : Aesop.TacticState)
(ti : Aesop.TacticInvocation)
:
Equations
- Aesop.TacticState.applyTacticInvocation tacticState ti = Aesop.TacticState.applyTactic tacticState ti.preGoal ti.postGoals ti.postState.meta.mctx
Instances For
def
Aesop.TacticInvocation.noop
(preGoal : Lean.MVarId)
(postGoal : Aesop.GoalWithMVars)
(preState : Lean.Meta.SavedState)
(postState : Lean.Meta.SavedState)
:
Equations
- Aesop.TacticInvocation.noop preGoal postGoal preState postState = { preState := preState, preGoal := preGoal, tacticSeq := #[], postGoals := #[postGoal], postState := postState }
Instances For
def
Aesop.TacticInvocation.render
{m : Type → Type}
[Monad m]
[Lean.MonadQuotation m]
[Lean.MonadError m]
(acc : Array Lean.Syntax.Tactic)
(ti : Aesop.TacticInvocation)
(tacticState : Aesop.TacticState)
:
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
def
Aesop.TacticInvocation.validate.fmtGoals
(state : Lean.Meta.SavedState)
(goals : Array Lean.MVarId)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[inline, reducible]
Instances For
def
Aesop.UnstructuredScript.render
{m : Type → Type}
[Monad m]
[Lean.MonadQuotation m]
[Lean.MonadError m]
(tacticState : Aesop.TacticState)
(s : Aesop.UnstructuredScript)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Aesop.UnstructuredScript.validate s = Array.forM (fun (x : Aesop.TacticInvocation) => Aesop.TacticInvocation.validate x) s 0
Instances For
- empty: Aesop.StructuredScript
- unstructuredStep: Aesop.TacticInvocation → Aesop.StructuredScript → Aesop.StructuredScript
- solve: Lean.MVarId → Aesop.StructuredScript → Aesop.StructuredScript → Aesop.StructuredScript
Instances For
Equations
- Aesop.instInhabitedStructuredScript = { default := Aesop.StructuredScript.empty }
def
Aesop.StructuredScript.render
{m : Type → Type}
[Monad m]
[Lean.MonadQuotation m]
[Lean.MonadError m]
(tacticState : Aesop.TacticState)
(script : Aesop.StructuredScript)
:
Equations
- Aesop.StructuredScript.render tacticState script = (fun (x : Array Lean.Syntax.Tactic × Aesop.TacticState) => x.fst) <$> Aesop.StructuredScript.render.go #[] tacticState script
Instances For
def
Aesop.StructuredScript.render.go
{m : Type → Type}
[Monad m]
[Lean.MonadQuotation m]
[Lean.MonadError m]
(script : Array Lean.Syntax.Tactic)
(tacticState : Aesop.TacticState)
:
Equations
- One or more equations did not get rendered due to their size.
- Aesop.StructuredScript.render.go script tacticState Aesop.StructuredScript.empty = pure (script, tacticState)
Instances For
def
Aesop.UnstructuredScript.toStructuredScript
{m : Type → Type}
[Monad m]
[Lean.MonadError m]
(tacticState : Aesop.TacticState)
(script : Aesop.UnstructuredScript)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
partial def
Aesop.UnstructuredScript.toStructuredScript.go
{m : Type → Type}
[Monad m]
[Lean.MonadError m]
(steps : Lean.HashMap Lean.MVarId (Nat × Aesop.TacticInvocation))
(tacticState : Aesop.TacticState)
: