| | 26 | === Concrete Values === |
| | 27 | For String, Integer, and Hex variables we list all used values as different variables in the following form: |
| | 28 | {{{ |
| | 29 | VARIABLE=<value> |
| | 30 | }}} |
| | 31 | For a not configured variable (or an empty String) a variable in the following form will be created: |
| | 32 | {{{ |
| | 33 | VARIABLE=n |
| | 34 | }}} |
| | 35 | Further, constraints must ensure that exactly one variable will be selected: |
| | 36 | * In Boolean formula: |
| | 37 | {{{ |
| | 38 | VARIABLE=n XOR VARIABLE=value1 XOR ... XOR VARIABLE=valueN |
| | 39 | }}} |
| | 40 | * In DIMACS: |
| | 41 | {{{ |
| | 42 | Not(VARIABLE=n) OR Not(VARIABLE=value1) |
| | 43 | Not(VARIABLE=n) OR (VARIABLE=value2) |
| | 44 | ... |
| | 45 | Not(VARIABLE=n) OR (VARIABLE=valueN) |
| | 46 | Not(VARIABLE=value1) OR (VARIABLE=value2) |
| | 47 | ... |
| | 48 | Not(VARIABLE=value1) OR (VARIABLE=valueN) |
| | 49 | ... |
| | 50 | VARIABLE=n OR VARIABLE=value1 OR ... OR VARIABLE=valueN |
| | 51 | }}} |
| | 52 | All combinations of 2 negated variables + 1 constraint were all variables are used in a positive combination. |