| 118 | | * If the Choice is selected as a module ('m'), an arbitrary number (0 - n) of !ChoiceItems can also be selected as modules ('m'). |
| | 119 | * If the Choice is selected as a module ('m'), an arbitrary number (0 - n) of !ChoiceItems can also be selected as modules ('m'). The permanently selection of !ChoiceItems ('y') is not allowed. [[BR]] |
| | 120 | The translation of Tristate Choices includes the translation of Boolean Choices (for the 'y' part). Additional constraints are needed to model the constraints for the modules: |
| | 121 | * In RSF: |
| | 122 | {{{ |
| | 123 | Choice CHOICE |
| | 124 | ChoiceItem Item1 CHOICE |
| | 125 | ... |
| | 126 | ChoiceItem ItemN CHOICE |
| | 127 | }}} |
| | 128 | * In Boolean formula (only the module part): |
| | 129 | {{{ |
| | 130 | Not(CHOICE_MODULE) implies Not(Item1_MODULE) |
| | 131 | Not(CHOICE_MODULE) implies Not(Item2_MODULE) |
| | 132 | ... |
| | 133 | Not(CHOICE_MODULE) implies Not(ItemN_MODULE) |
| | 134 | CHOICE implies Not(Item1_MODULE) |
| | 135 | CHOICE implies Not(Item2_MODULE) |
| | 136 | ... |
| | 137 | CHOICE implies Not(ItemN_MODULE) |
| | 138 | CHOICE_MODULE implies Not(Item1) |
| | 139 | CHOICE_MODULE implies Not(Item2) |
| | 140 | ... |
| | 141 | CHOICE_MODULE implies Not(ItemN) |
| | 142 | }}} |
| | 143 | * In RSF (only the module part): |
| | 144 | {{{ |
| | 145 | CHOICE_MODULE or Not(Item1_MODULE) |
| | 146 | CHOICE_MODULE or Not(Item2_MODULE) |
| | 147 | ... |
| | 148 | CHOICE_MODULE or Not(ItemN_MODULE) |
| | 149 | Not(CHOICE) or Not(Item1_MODULE) |
| | 150 | Not(CHOICE) or Not(Item2_MODULE) |
| | 151 | ... |
| | 152 | Not(CHOICE) or Not(ItemN_MODULE) |
| | 153 | Not(CHOICE_MODULE) or Not(Item1) |
| | 154 | Not(CHOICE_MODULE) or Not(Item2) |
| | 155 | ... |
| | 156 | Not(CHOICE_MODULE) or Not(ItemN) |
| | 157 | }}} |