答案 0 :(得分:1)
Alloy工具将您的模型转换为布尔表达式。此表达式为CNF形式。 CNF是一组或条款。
cnf ::= clause ( '∧' clause )*
clause ::= '(' var ( '∨' var )* ')'
var ::= '¬'? ID
然后,SAT求解器可以找到由ID标识的变量的值,使整个表达式成为真。
(_1 ∨ _2) ∧ (¬_1 ∨ _2 )
当var _2为真时,这是真的。
Alloy将模型中的每个约束更改为此类表达式。我实际上不确定主要和其他变量之间的区别。我假设它必须做模型的哪些部分被翻译。