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

isValidMatch() публичный Метод

public isValidMatch ( Term toMatch, List toMatchVariables, Term possibleMatch, Term>.Dictionary substitution ) : bool
toMatch Term
toMatchVariables List
possibleMatch Term
substitution Term>.Dictionary
Результат bool
        public override bool isValidMatch(Term toMatch,
                List<Variable> toMatchVariables, Term possibleMatch,
                Dictionary<Variable, Term> substitution)
        {

            if (possibleMatch != null && substitution != null)
            {
                // Note:
                // [Brand 1975] showed that paramodulation into
                // variables is unnecessary.
                if (!(possibleMatch is Variable))
                {
                    // TODO: Find out whether the following statement from:
                    // http://www.cs.miami.edu/~geoff/Courses/CSC648-07F/Content/
                    // Paramodulation.shtml
                    // is actually the case, as it was not positive but
                    // intuitively makes sense:
                    // "Similarly, depending on how paramodulation is used, it is
                    // often unnecessary to paramodulate from variables."
                    // if (!(toMatch is Variable)) {
                    return true;
                    // }
                }
            }
            return false;
        }
    }