Project

General

Profile

Actions

Task #5216

closed

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

Added by Alexander Kamkin over 10 years ago. Updated over 10 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) - проверка системы условий на совместимость.
Actions #1

Updated by Alexander Kamkin over 10 years ago

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

Updated by Alexander Kamkin over 10 years ago

  • Target version set to 0.3
Actions #3

Updated by Andrei Tatarnikov over 10 years ago

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

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

Actions #4

Updated by Andrei Tatarnikov over 10 years ago

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

Actions #5

Updated by Andrei Tatarnikov over 10 years ago

  • % Done changed from 70 to 90

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

Actions #6

Updated by Andrei Tatarnikov over 10 years ago

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

Actions #7

Updated by Andrei Tatarnikov over 10 years ago

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

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

Actions #8

Updated by Andrei Tatarnikov over 10 years ago

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

Also available in: Atom PDF