aima.core.logic.propositional.visitors.MoveNotInwards Maven / Gradle / Ivy
package aima.core.logic.propositional.visitors;
import aima.core.logic.propositional.parsing.AbstractPLVisitor;
import aima.core.logic.propositional.parsing.ast.ComplexSentence;
import aima.core.logic.propositional.parsing.ast.Connective;
import aima.core.logic.propositional.parsing.ast.Sentence;
/**
* Artificial Intelligence A Modern Approach (3rd Edition): page 254.
*
* Move ~ inwards by repeated application of the following equivalences:
* ~(~α) ≡ α (double-negation elimination)
* ~(α & β) ≡ (~α | ~β) (De Morgan)
* ~(α | β) ≡ (~α & ~β) (De Morgan)
*
* @author Ciaran O'Reilly
*
*/
public class MoveNotInwards extends AbstractPLVisitor