Answers:
SAT求解器解决布尔可满足性问题。这是“确定给定布尔公式的变量是否可以以使公式计算为TRUE的方式分配的问题”。
一个例子是发现真值的赋值给变量使得 (一个∨ b ∨ Ç )∧ (¬ 一个∨ ¬ b ∨ Ç )∧ (一个∨ ¬ b ∨ ¬ Ç )∧ (¬ 一个∨ b ∨ ¬ ç )是真实的。SAT求解器可以返回诸如a = t r u e的解,, c = t r u e。
SMT求解器解决了一个更普遍的问题,即可满足性模理论。这是“逻辑公式的决策问题,涉及经典一阶逻辑中表示的背景理论与等式的组合”。这些理论可能包括“实数理论,整数理论以及各种数据结构的理论,例如列表,数组,位向量等”。
一个例子,给定类型的变量和ÿ :我Ñ 吨和˚F :我Ñ 吨→ 我Ñ 吨,询问以下是否是 ˚F (X + 2 )≠ ˚F (Ý - 1 )∧ X = (y - 4 )可满足。SMT求解器将回答yes,解 x = − 2,y, f (0 )= 1 和 f (1 )= 3。
统一是一种特殊的技术,它采用两个术语并找到使这些术语相等的替代项。例如,给定方面和b ö ö ķ (D.〜史密斯,ÿ ,2010 ),统一将产生替代{ X ↦ D·史密斯,ÿ ↦ “钓鱼” }。SMT求解器内部可能使用统一。