Documentation

Aesop.Tree.AddRapp

Equations
    Instances For
      unsafe def Aesop.copyGoals (assignedMVars : UnorderedArraySet Lean.MVarId) (start : GoalRef) (parentMetaState : Lean.Meta.SavedState) (parentSuccessProbability : Percent) (depth : Nat) :
      Equations
        Instances For
          def Aesop.makeInitialGoal (goal : Subgoal) (mvars : UnorderedArraySet Lean.MVarId) (parent : MVarClusterRef) (parentMetaState : Lean.Meta.SavedState) (parentForwardState : ForwardState) (parentForwardMatches : ForwardRuleMatches) (consumedForwardRuleMatches : Array ForwardRuleMatch) (depth : Nat) (successProbability : Percent) (origin : GoalOrigin) :
          Equations
            Instances For
              Equations
                Instances For
                  @[implemented_by Aesop.addRappUnsafe]

                  Adds a new rapp and its subgoals. If the rapp assigns mvars, all relevant goals containing these mvars are copied as children of the rapp as well. If the rapp drops mvars, these are treated as assigned mvars, in the sense that the same goals are copied as if the dropped mvar had been assigned.

                  Note that adding a rapp may prove the parent goal, but this function does not make the necessary changes. So after calling it, you should check whether the rapp's parent goal is proven and mark it accordingly.