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); } } }