return inner.getFreeVariables().union(fv);
}
public ThreeValue getTruth(FusionEnvironment env, Substitution sub) {
ThreeValue testVal = env.getBooleanValue(sub.getSub(test));
ThreeValue val;
testVal = isPositive ? testVal : testVal.negate();
if (testVal == ThreeValue.UNKNOWN)
val = ThreeValue.UNKNOWN;
else {
ThreeValue relVal = inner.getTruth(env, sub);
if (relVal == ThreeValue.UNKNOWN)
val = ThreeValue.UNKNOWN;
else if (relVal == testVal)
val = ThreeValue.TRUE;
else