Actions
Task #5216
closed[solver] Вспомогательные методы работы с логическими формулами
Start date:
08/22/2014
Due date:
% Done:
100%
Estimated time:
Detected in build:
svn
Published in build:
140915
Description
Предлагается реализовать следующие статические методы работы с логическими формулами (условиями):
boolean isCondition(Node expr)
- проверка того, что формула является логической формулой;boolean isAtomicCondition(Node expr)
- проверка того, что формула является атомарной логической формулой (в ней нет логических связок: !, &&, || и др.);Node getConjunction(Node ... expr) = (expr[1] && ... && expr[n])
- получение конъюнкции системы условий;Node getDisjunction(Node ... expr) = (expr[1] || ... || expr[n])
- получение дизъюнкции системы условий;Node getNegation(Node ... expr) = !getConjunction(expr[1], ..., expr[n])
- получение отрицания системы условий;Node getComplement(Node ... expr) = getNegation(getDisjunction(expr[1], ..., expr[n])
- получение дополнения к системе условий;boolean areComplete(Node ... expr) = !(getComplement(expr[1], ..., expr[n]) is SAT)
- проверка системы условий на полноту;boolean areCompatible(Node ... expr) = (getConjunction(expr[1], ..., expr[n]) is SAT)
- проверка системы условий на совместимость.
Actions