Bug #4813
closed
[solver][constraint] Невозможно создавать тривиальные ограничения
Added by Sergey Smolov over 10 years ago.
Updated about 10 years ago.
Assignee:
Andrei Tatarnikov
Published in build:
140915
Description
Средствами Fortress нельзя сформировать следующий код на SMT-LIB:
(assert true)
(check-sat)
(exit)
Это происходит потому, что для создания Constraint требуется явно указать задействованные в нем переменные (которых в данном примере нет).
Необходимо поддерживать создание таких тривиальных ограничений.
Files
- Subject changed from Невозможно создавать тривиальные ограничения to [solver][constraint] Невозможно создавать тривиальные ограничения
- Priority changed from Normal to High
- Status changed from New to Resolved
- % Done changed from 0 to 100
Исправлено в r525. Теперь Constraint разрешается создавать с пустым списком переменных.
Для проверки написал следующий тест:
public class NoVariableTestCase extends GenericSolverSampleTestBase {
@Override public ISampleConstraint createSample() { return new NoVariable(); }
public static class NoVariable implements ISampleConstraint {
@Override public Constraint getConstraint() {
final ConstraintBuilder builder = new ConstraintBuilder();
builder.setName("NoVariable");
builder.setKind(ConstraintKind.FORMULA_BASED);
builder.setDescription("NoVariable constraint");
Formulas formulas = new Formulas();
formulas.add(NodeValue.newBoolean(true));
builder.setInnerRep(formulas);
return builder.build();
}
@Override
public Iterable<Variable> getExpectedVariables() { return null; }
}
}
В результат библиотека сгенерировала следующий код на SMT-LIB:
(assert true)
(check-sat)
(get-value ())
(get-model)
(exit)
Строка с вызовом get-value все портит - приводит к ошибке
"ERROR: invalid get-value command, empty list of terms"
В приложении - jUnit-тест
- Status changed from Resolved to Open
- Status changed from Open to Resolved
Исправлено в r528. Модульный тест добавлен в репозиторий.
- Status changed from Resolved to Verified
- Status changed from Verified to Closed
- Published in build set to 140915
Also available in: Atom
PDF