AIMA.Test.Core.Unit.Logic.Fol.Inference.DemodulationTest.testSimpleClauseExamples C# (CSharp) Метод

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

private testSimpleClauseExamples ( ) : void
Результат void
        public void testSimpleClauseExamples()
        {
            FOLDomain domain = new FOLDomain();
            domain.addConstant("A");
            domain.addConstant("B");
            domain.addConstant("C");
            domain.addConstant("D");
            domain.addConstant("E");
            domain.addPredicate("P");
            domain.addPredicate("Q");
            domain.addPredicate("W");
            domain.addFunction("F");
            domain.addFunction("G");
            domain.addFunction("H");
            domain.addFunction("J");

            FOLParser parser = new FOLParser(domain);

            List<Literal> lits = new List<Literal>();
            Predicate p1 = (Predicate)parser.parse("Q(z, G(D,B))");
            Predicate p2 = (Predicate)parser.parse("P(x, G(A,C))");
            Predicate p3 = (Predicate)parser.parse("W(z,x,u,w,y)");
            lits.Add(new Literal(p1));
            lits.Add(new Literal(p2));
            lits.Add(new Literal(p3));

            Clause clExpression = new Clause(lits);

            TermEquality assertion = (TermEquality)parser.parse("G(x,y) = x");

            Clause altClExpression = demodulation.apply(assertion, clExpression);

            Assert.AreEqual("[P(x,G(A,C)), Q(z,D), W(z,x,u,w,y)]",
                    altClExpression.ToString());

            altClExpression = demodulation.apply(assertion, altClExpression);

            Assert.AreEqual("[P(x,A), Q(z,D), W(z,x,u,w,y)]", altClExpression
                    .ToString());
        }