예제 #1
0
        public void testPLResolveWithOneLiteralMatching()
        {
            Sentence        one        = (Sentence)parser.parse("(A OR B)");
            Sentence        two        = (Sentence)parser.parse("((NOT B) OR C)");
            Sentence        expected   = (Sentence)parser.parse("(A OR C)");
            List <Sentence> resolvents = resolution.plResolve(one, two);

            Assert.AreEqual(1, resolvents.Count);
            Assert.IsTrue(resolvents.Contains(expected));
        }
예제 #2
0
        public void testPLResolveWithOneLiteralMatching()
        {
            Clause one      = Util.first(ConvertToConjunctionOfClauses.convert(parser.parse("A | B")).getClauses());
            Clause two      = Util.first(ConvertToConjunctionOfClauses.convert(parser.parse("~B | C")).getClauses());
            Clause expected = Util.first(ConvertToConjunctionOfClauses.convert(parser.parse("A | C")).getClauses());

            ISet <Clause> resolvents = resolution.plResolve(one, two);

            Assert.AreEqual(1, resolvents.Size());
            Assert.IsTrue(resolvents.Contains(expected));
        }