Example #1
0
        /**
         * Mueve ~ hacia dentro.
         *
         * @param sentence
         *            una sentencia de lógica proposicional que tiene sus bicondicionales e implicaciones quitadas.
         * @return una sentencia equivalente a la de la entrada con todas las negaciones movidas hacia dentro.
         * @throws ArgumentException
         *             si se encuentra una bicondicional o una implicación en la entrada
         */
        public static Sentence MoveNotsInward(Sentence sentence)
        {
            Sentence result = null;

            MoveNotInwards moveNotsIn = new MoveNotInwards();

            result = sentence.Accept(moveNotsIn, null);

            return(result);
        }
Example #2
0
        /**
         * Devuelve la sentencia especificada en su sentencia equivalente en forma normal de negación.
         *
         * @param s
         *            una sentencia de lógica proposicional
         *
         * @return la sentencia de entrada convertida en su equivalente lógica de forma normal de negación.
         */
        public static Sentence Convert(Sentence s)
        {
            Sentence result = null;

            Sentence biconditionalsRemoved = BiconditionalElimination.Eliminate(s);
            Sentence implicationsRemoved   = ImplicationElimination
                                             .Eliminate(biconditionalsRemoved);
            Sentence notsMovedIn = MoveNotInwards
                                   .MoveNotsInward(implicationsRemoved);

            result = notsMovedIn;

            return(result);
        }