package ec.gp.syntactic.simplification.logic;

import ec.gp.syntactic.simplification.GenericSimplifier;
import ec.gp.syntactic.simplification.IRule;

public class BooleanSimplifier extends GenericSimplifier {

	public BooleanSimplifier() {
		//super(new IRule[0]);
		super(new IRule[] {
				new AndFalseRule(),
				new AndNotRule(),
				new AndNotNotRule(),
				new AndOrOrRule(),
				new AndSameRule(),
				new ConstRule(),
				new NandFalseRule(),
				new NandNandNandToAndRule(),
				new NandNandNandToOrRule(),
				new NandNotRule(),
				new NandSameRule(),
				new NandToNotRule(),
				new NorNorNorToAndRule(),
				new NorNorNorToOrRule(),
				new NorNotRule(),
				new NorSameRule(),
				new NorToNotRule(),
				new NorTrueRule(),
				new NotAndRule(),
				new NotNandRule(),
				new NotNorRule(),
				new NotNotRule(),
				new NotOrRule(),
				new OrAndAndRule(),
				new OrNotRule(),
				new OrNotNotRule(),
				new OrSameRule(),
				new OrTrueRule()
		});
	}

}
