Documentation

Aesop.Tree.Data

Node IDs #

Equations
Equations
  • { toNat := n }.succ = { toNat := n + 1 }
Equations
Equations

Rule Application IDs #

Equations
  • { toNat := n }.succ = { toNat := n + 1 }
Equations
Equations
Equations

Iterations #

The Tree #

At each point during the search, every node of the tree (goal, rapp or mvar cluster) is in one of these states:

  • proven: the node is proven.
  • unprovable: the node is unprovable, i.e. it will never be proven regardless of any future expansions that might be performed.
  • unknown: neither of the above.

Every node starts in the unknown state and may later become either proven or unprovable. After this, the state does not change any more.

Instances For
Equations
  • One or more equations did not get rendered due to their size.

A refinement of the NodeState, distinguishing between goals proven during normalisation and goals proven by a child rule application.

Instances For
Equations
  • One or more equations did not get rendered due to their size.

A goal G can be added to the tree for three reasons:

  1. G was produced by its parent rule as a subgoal. This is the most common reason.
  2. G was copied because it contains some metavariables which were assigned by its parent rule. In this case, we record goal of which G is a copy. We also record the representative of the equivalence class of goals which are copies of each other. E.g. if goal 1 is copied to goal 2 and goal 2 is copied to goal 3, they are all part of the equivalence class with representative 1.
Instances For
structure Aesop.GoalData (Rapp MVarCluster : Type) :
Instances For
instance Aesop.instNonemptyGoalData {Rapp✝ MVarCluster✝ : Type} [Nonempty MVarCluster✝] :
Nonempty (GoalData Rapp✝ MVarCluster✝)
structure Aesop.MVarClusterData (Goal Rapp : Type) :
Instances For
instance Aesop.instInhabitedMVarClusterData {a✝ a✝¹ : Type} :
Equations
structure Aesop.RappData (Goal MVarCluster : Type) :
Instances For
instance Aesop.instNonemptyRappData {Goal✝ : Type} [Nonempty Goal✝] {MVarCluster✝ : Type} :
Nonempty (RappData Goal✝ MVarCluster✝)
structure Aesop.TreeSpec :
Instances For
Equations
  • One or more equations did not get rendered due to their size.
@[implemented_by Aesop.treeImpl]
@[reducible, inline]
Equations
@[reducible, inline]
Equations
@[inline]
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
Equations
@[inline]
Equations
@[inline]
Equations
@[inline]
Equations
@[inline]
Equations
@[inline]
def Aesop.Goal.setId (id : GoalId) (g : Goal) :
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
def Aesop.Goal.setChildren (children : Array RappRef) (g : Goal) :
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
def Aesop.Goal.setDepth (depth : Nat) (g : Goal) :
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
def Aesop.Goal.setIsIrrelevant (isIrrelevant : Bool) (g : Goal) :
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
def Aesop.Goal.setIsForcedUnprovable (isForcedUnprovable : Bool) (g : Goal) :
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
def Aesop.Goal.setPreNormGoal (preNormGoal : Lean.MVarId) (g : Goal) :
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
def Aesop.Goal.setForwardState (forwardState : ForwardState) (g : Goal) :
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
def Aesop.Goal.setSuccessProbability (successProbability : Percent) (g : Goal) :
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
def Aesop.Goal.setAddedInIteration (addedInIteration : Iteration) (g : Goal) :
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
def Aesop.Goal.setLastExpandedInIteration (lastExpandedInIteration : Iteration) (g : Goal) :
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
def Aesop.Goal.setUnsafeRulesSelected (unsafeRulesSelected : Bool) (g : Goal) :
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
def Aesop.Goal.setUnsafeQueue (unsafeQueue : UnsafeQueue) (g : Goal) :
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
def Aesop.Goal.setState (state : GoalState) (g : Goal) :
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
Equations
  • One or more equations did not get rendered due to their size.
Equations
@[inline]
Equations
@[inline]
Equations
@[inline]
Equations
@[inline]
def Aesop.Rapp.setId (id : RappId) (r : Rapp) :
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
def Aesop.Rapp.setParent (parent : GoalRef) (r : Rapp) :
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
def Aesop.Rapp.setState (state : NodeState) (r : Rapp) :
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
def Aesop.Rapp.setIsIrrelevant (isIrrelevant : Bool) (r : Rapp) :
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
def Aesop.Rapp.setAppliedRule (appliedRule : RegularRule) (r : Rapp) :
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
def Aesop.Rapp.setOriginalSubgoals (originalSubgoals : Array Lean.MVarId) (r : Rapp) :
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
def Aesop.Rapp.setSuccessProbability (successProbability : Percent) (r : Rapp) :
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
Equations
  • One or more equations did not get rendered due to their size.
@[inline]
Equations
  • One or more equations did not get rendered due to their size.
Equations

Miscellaneous Queries #

@[inline]
Equations
Equations
Equations
  • One or more equations did not get rendered due to their size.
Equations
  • One or more equations did not get rendered due to their size.
Equations
Equations
Equations
Equations
  • One or more equations did not get rendered due to their size.
Equations
Equations
def Aesop.Rapp.foldSubgoalsM {m : TypeType} {σ : Type} [Monad m] [MonadLiftT (ST IO.RealWorld) m] (init : σ) (f : σGoalRefm σ) (r : Rapp) :
m σ
Equations
  • One or more equations did not get rendered due to their size.
def Aesop.Rapp.forSubgoalsM {m : TypeType} [Monad m] [MonadLiftT (ST IO.RealWorld) m] (f : GoalRefm Unit) (r : Rapp) :
Equations
Equations
Equations
Equations