Package | Description |
---|---|
org.chocosolver.solver.constraints | |
org.chocosolver.solver.constraints.nary.cnf |
Modifier and Type | Method and Description |
---|---|
default boolean |
ISatFactory.addClauses(LogOp TREE)
Ensures that the clauses defined in the Boolean logic formula TREE are satisfied.
|
Modifier and Type | Method and Description |
---|---|
static LogOp |
LogOp.and(ILogical... op)
Create a conjunction, results in true if all of its operands are true
|
LogOp |
LogOp.clone() |
static LogOp |
LogicTreeToolBox.developOr(LogOp n)
Moves down 'OR' operand in the logical expression
n . |
static LogOp |
LogicTreeToolBox.distribute(LogOp n)
Distributes 'OR's inwards over 'AND's in
n |
static LogOp |
LogOp.ifOnlyIf(ILogical a,
ILogical b)
Create a biconditional, results in true if and only if both operands are false
or both operands are true
|
static LogOp |
LogOp.ifThenElse(ILogical a,
ILogical b,
ILogical c)
Create an implication, results in true if a is true` and b is true or a is false and c is true.
|
static LogOp |
LogOp.implies(ILogical a,
ILogical b)
Create an implication, results in true if a is false or b is true.
|
static LogOp |
LogOp.nand(ILogical... op)
Create an alternative denial, results in if at least one of its operands is false.
|
static LogOp |
LogOp.nor(ILogical... op)
Create a joint denial, results in `true` if all of its operands are false.
|
static LogOp |
LogOp.or(ILogical... op)
Create a disjunction, results in true whenever one or more of its operands are true
|
static LogOp |
LogOp.reified(BoolVar b,
ILogical tree)
create a logical connection between ``b`` and ``tree``.
|
static LogOp |
LogOp.xor(ILogical a,
ILogical b)
Create an exclusive disjunction, results in true whenever both operands differ.
|
Modifier and Type | Method and Description |
---|---|
static LogOp |
LogicTreeToolBox.developOr(LogOp n)
Moves down 'OR' operand in the logical expression
n . |
static LogOp |
LogicTreeToolBox.distribute(LogOp n)
Distributes 'OR's inwards over 'AND's in
n |
static void |
LogicTreeToolBox.expandNot(LogOp n)
Erases 'NOT' operand from the logical expression
n by flipping the right children |
static void |
LogicTreeToolBox.merge(LogOp.Operator op,
LogOp n)
Flattens a logical expression
n based on operator op . |
static ILogical |
LogicTreeToolBox.toCNF(LogOp logOp,
Model model)
Warning: if there is a bug, please check the CNF build is like:
- lit OR lit ...
|
Copyright © 2018. All rights reserved.