Exemplo n.º 1
0
        public void TestBiconditionalElimination()
        {
            RephraserType r1 = new BiconditionalElimination(),
                r2 = new BiconditionalElimination(),
                r3 = new BiconditionalElimination();

            r1.AddLeftBlock(new Block("a")).AddRightBlock(new Block("b"));
            r2.AddLeftBlock(ClauseParser.Parse("(a&b)")).AddRightBlock(new Block("c"));
            r3.AddLeftBlock(ClauseParser.Parse("(a&b)")).AddRightBlock(ClauseParser.Parse("(c||d)"));

            Assert.AreEqual("(~a||b)&(a||~b)", r1.Translate().ToString());
            Assert.AreEqual("(~(a&b)||c)&((a&b)||~c)", r2.Translate().ToString());
            Assert.AreEqual("(~(a&b)||(c||d))&((a&b)||~(c||d))", r3.Translate().ToString());
        }