AIMA.Core.Logic.FOL.Inference.FOLOTTERLikeTheoremProver.otter C# (CSharp) Метод

otter() приватный Метод

private otter ( OTTERAnswerHandler ansHandler, IndexedClauses idxdClauses, List sos, List usable ) : InferenceResult
ansHandler OTTERAnswerHandler
idxdClauses IndexedClauses
sos List
usable List
Результат InferenceResult
        private InferenceResult otter(OTTERAnswerHandler ansHandler,
                IndexedClauses idxdClauses, List<Clause> sos, List<Clause> usable)
        {

            getLightestClauseHeuristic().initialSOS(sos);

            // * repeat
            do
            {
                // * clause <- the lightest member of sos
                Clause clause = getLightestClauseHeuristic().getLightestClause();
                if (null != clause)
                {
                    // * move clause from sos to usable
                    sos.Remove(clause);
                    getLightestClauseHeuristic().removedClauseFromSOS(clause);
                    usable.Add(clause);
                    // * PROCESS(INFER(clause, usable), sos)
                    process(ansHandler, idxdClauses, infer(clause, usable), sos,
                            usable);
                }

                // * until sos = [] or a refutation has been found
            } while (sos.Count != 0 && !ansHandler.isComplete());

            return ansHandler;
        }