/** Multiple contexts. */
@Test
public void testYices3()
{
Smt.closeStdOut();
Smt smtA = new Smt();
smtA.loadData("(define x::int)\n(assert (> x 1))");
Assert.assertTrue(smtA.check());
smtA.pushContext();
smtA.loadData("(assert (< x 0))");
Smt smtB = new Smt();
smtB.loadData("(define x::int)\n(define y::int)\n(assert (< y 0))");
Assert.assertTrue(smtB.check());
Assert.assertFalse(smtA.check());
Assert.assertTrue(smtB.check());
smtA.popContext();
smtB.loadData("(assert (> y 4))");
Assert.assertTrue(smtA.check());
Assert.assertFalse(smtB.check());
smtA.finalize();
Smt.reopenStdOut();
}