Project

General

Profile

Task #5216

[solver] Вспомогательные методы работы с логическими формулами

Added by Alexander Kamkin about 6 years ago. Updated about 6 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Andrei Tatarnikov
Category:
-
Target version:
Start date:
08/22/2014
Due date:
% Done:

100%

Estimated time:
Detected in build:
svn
Published in build:
140915

Description

Предлагается реализовать следующие статические методы работы с логическими формулами (условиями):

  1. boolean isCondition(Node expr) - проверка того, что формула является логической формулой;
  2. boolean isAtomicCondition(Node expr) - проверка того, что формула является атомарной логической формулой (в ней нет логических связок: !, &&, || и др.);
  3. Node getConjunction(Node ... expr) = (expr[1] && ... && expr[n]) - получение конъюнкции системы условий;
  4. Node getDisjunction(Node ... expr) = (expr[1] || ... || expr[n]) - получение дизъюнкции системы условий;
  5. Node getNegation(Node ... expr) = !getConjunction(expr[1], ..., expr[n]) - получение отрицания системы условий;
  6. Node getComplement(Node ... expr) = getNegation(getDisjunction(expr[1], ..., expr[n]) - получение дополнения к системе условий;
  7. boolean areComplete(Node ... expr) = !(getComplement(expr[1], ..., expr[n]) is SAT) - проверка системы условий на полноту;
  8. boolean areCompatible(Node ... expr) = (getConjunction(expr[1], ..., expr[n]) is SAT) - проверка системы условий на совместимость.

History

#1

Updated by Alexander Kamkin about 6 years ago

  • Project changed from MicroTESK to Fortress
  • Target version deleted (2.0)
#2

Updated by Alexander Kamkin about 6 years ago

  • Target version set to 0.3
#3

Updated by Andrei Tatarnikov about 6 years ago

  • Status changed from New to Open
  • % Done changed from 0 to 70

Первая реализация (без документации и тестов) - r580.

#4

Updated by Andrei Tatarnikov about 6 years ago

Начал писать модульные тесты - r582.

#5

Updated by Andrei Tatarnikov about 6 years ago

  • % Done changed from 70 to 90

Модельные тесты на все методы (пусть несколько поверхностные) - r592.

#6

Updated by Andrei Tatarnikov about 6 years ago

Документация - r593 (ещё не вся).

#7

Updated by Andrei Tatarnikov about 6 years ago

  • Status changed from Open to Resolved
  • % Done changed from 90 to 100

Ещё документация - r594. Теперь всё.

#8

Updated by Andrei Tatarnikov about 6 years ago

  • Status changed from Resolved to Closed
  • Published in build set to 140915

Also available in: Atom PDF