/** * 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); }
/** * 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); }