public void addProofStep(
List<List<ProofStepBwChGoal>> currentLevelProofSteps,
Clause toProve, Literal currentGoal,
Dictionary<Variable, Term> bindings)
{
if (currentLevelProofSteps.Count > 0)
{
ProofStepBwChGoal predecessor = new ProofStepBwChGoal(toProve,
currentGoal, bindings);
foreach (List<ProofStepBwChGoal> steps in currentLevelProofSteps)
{
if (steps.Count > 0)
{
steps[0].setPredecessor(predecessor);
}
steps.Insert(0, predecessor);
}
}
}
}