*/
private Solution trivialSolution(TrivialFormulaException tfe) {
final Statistics stats = new Statistics(0, 0, 0, translTime, 0);
if (tfe.value().booleanValue()) {
trivial++;
final Bounds translBounds = tfe.bounds();
final Instance trivialInstance = padInstance(toInstance(translBounds), bounds);
final Solution sol = Solution.triviallySatisfiable(stats, trivialInstance);
final List<Formula> changes = new LinkedList<Formula>();
for(Map.Entry<Relation, TupleSet> entry: trivialInstance.relationTuples().entrySet()) {
final Relation r = entry.getKey();
if (!translBounds.relations().contains(r)) {
translBounds.bound(r, bounds.lowerBound(r), bounds.upperBound(r));
}
if (translBounds.lowerBound(r)!=translBounds.upperBound(r)) { // r may change
if (entry.getValue().isEmpty()) {
changes.add(r.some());
} else {
final Relation rmodel = Relation.nary(r.name()+"_"+trivial, r.arity());
translBounds.boundExactly(rmodel, entry.getValue());
changes.add(r.eq(rmodel).not());
}
}
}