Bug #4813
closed[solver][constraint] Невозможно создавать тривиальные ограничения
100%
Description
Средствами Fortress нельзя сформировать следующий код на SMT-LIB:
(assert true)
(check-sat)
(exit)
Это происходит потому, что для создания Constraint требуется явно указать задействованные в нем переменные (которых в данном примере нет).
Необходимо поддерживать создание таких тривиальных ограничений.
Files
Updated by Sergey Smolov over 10 years ago
- Subject changed from Невозможно создавать тривиальные ограничения to [solver][constraint] Невозможно создавать тривиальные ограничения
Updated by Andrei Tatarnikov over 10 years ago
- Status changed from New to Resolved
- % Done changed from 0 to 100
Исправлено в r525. Теперь Constraint разрешается создавать с пустым списком переменных.
Updated by Sergey Smolov over 10 years ago
- File NoVariableTestCase.java NoVariableTestCase.java added
Для проверки написал следующий тест:
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-тест
Updated by Andrei Tatarnikov over 10 years ago
- Status changed from Open to Resolved
Исправлено в r528. Модульный тест добавлен в репозиторий.
Updated by Andrei Tatarnikov over 10 years ago
- Status changed from Verified to Closed
- Published in build set to 140915