/** * Elimina las implicaciones de una sentencia. * * @param sentence * una sentencia de lógica proposicional * @return una sentencia equivalente a la de entrada con todas las implicaciones eliminadas. */ public static Sentence Eliminate(Sentence sentence) { ImplicationElimination eliminator = new ImplicationElimination(); Sentence result = sentence.Accept(eliminator, 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); }