public static void main(String[] args) throws CloneNotSupportedException {
Variable a = new Variable(0), b = new Variable(1), c = new Variable(2);
Variable d = new Variable(3), e = new Variable(4), f = new Variable(5);
Statement s1 = new Negation(new Exists(new Exists(new Exists(new Equality(new Multiplication(new Multiplication(a, a), a), new Addition(new Multiplication(new Multiplication(new Addition(b, new Number(1)), new Addition(b, new Number(1))), new Addition(b, new Number(1))), new Multiplication(new Multiplication(new Addition(c, new Number(1)), new Addition(c, new Number(1))), new Addition(c, new Number(1))))), c), b), a));
Statement s2 = s1.clone();
s1 = new Disjunction(new Conjunction(s1.clone(), s1.clone()), s1.clone());
Statement s3 = s2.clone();
renameVarConsistently(s3, a.clone(), d.clone());
renameVarConsistently(s3, b.clone(), e.clone());
renameVarConsistently(s3, c.clone(), f.clone());
s2 = new Disjunction(new Conjunction(s2.clone(), s3.clone()), s3.clone());
renameVarConsistently(s2, b, a);
System.out.println(s1);
System.out.println(s2);
System.out.println(match(s1, s2));