@Test public void testPrime() { assertEquals(eliminateIte(Eq(z, Prime(Ite(a, x, y)))), And(Or(Not(a), Eq(z, Prime(x))), Or(a, Eq(z, Prime(y))))); }
static <T extends Type> Expr<T> eliminateIte(final Expr<T> expr) { return removeIte(propagateIte(expr)); }
ExprIteEliminator { static <T extends Type> Expr<T> eliminateIte(final Expr<T> expr) { return removeIte(propagateIte(expr)); } }
ExprIteEliminator { static <T extends Type> Expr<T> eliminateIte(final Expr<T> expr) { return removeIte(propagateIte(expr)); } private  ExprIteEliminator(); }
ExprIteEliminator { static <T extends Type> Expr<T> eliminateIte(final Expr<T> expr) { return removeIte(propagateIte(expr)); } private  ExprIteEliminator();  }
ExprIteEliminator { static <T extends Type> Expr<T> eliminateIte(final Expr<T> expr) { return removeIte(propagateIte(expr)); } private  ExprIteEliminator();   }