在逻辑中,真值或逻辑值是指示一个陈述在什么程度上是真的。在计算机编程上多称作布尔值。
释义
在经典逻辑中,唯一可能的真值是真和假。但在其他逻辑中其他真值也是可能的: 模糊逻辑和其他形式的多值逻辑使用比简单的真和假更多的真值。
在代数上说,集合 {真,假} 形成了简单的布尔代数。可以把其他布尔代数用作多值逻辑中的真值集合,但直觉逻辑把布尔代数推广为 Heyting代数。
在 topos理论中,topos 的子对象分类器接管了真值集合的位置。
定义固定一个完全布尔代数B和一阶语言L,后者由一组常量符号、函数符号和关系符号构成。L的布尔值模型因此就由全集M,它是元素(或名字)的集合,和对这些符号的释义组成。特别是,这个模型必须为L的每个常量符号指派一个M的元素,并为L的每个n-元函数符号f和n-元组
关系符号和等式的释义是更加复杂的:对M每对元素a,b,模型必须为表达式a=b指派一个真值||a=b||;这个真值取自B。类似的,对于L的每个n-元关系符号R和n-元组
需要写些文字来解释在释义等式上的额外限制,保证它是等价关系并且这个关系顾及了等价事物的代换。
其他公式可以使用布尔代数来释义;对于命连接结词这是很容易的;可以简单地在子公式的真值上应用对应的布尔运算符。例如,如果φ(x)和ψ(y, z)分别是带有一个和两个自由变量的公式,并且是要代换x、y和z为模型的全集的元素a、b和c,则
对于量化的公式,需要利用布尔代数 B的完全性。如果φ(x)带有自由变量x(可能还有其他忽略的自由变量),则
这里右手端要被理解为在B中所有真值||φ(a)||地上确界,这里a的范围在M之上。
一个公式的真值有时被称为它的可能性。它不能理解为一般意义上的概率,它们不是实数而是完不成代数的B的元素。
给定一个完全布尔代数B,有一个指示为V的布尔值模型,它是冯·诺伊曼全集V的布尔取值的类似者。(严肃说,V是真类,所以需要适地地重新解释对于模型意味着什么)。非形式地,认为V是象“布尔值集合”的某种东西;换句话说,布尔值集合,不再有定义分明的元素和非元素,而有带有是这个集合的元素的特定“可能性”的对象。这个“可能性”是B的一个元素,不是实数。这不同于模糊集合的概念。
布尔值集合的(“可能的”)元素,依次也是布尔值集合,它的元素也是布尔值集合,以此类推。要得到布尔值集合的非循环定义,需要有层地地建造它们。所以对于V的每个序数α定义集合Vα为:
Vα是β<α的Vβ的并集,如果α是极限序数(包括0)。Vα+1是从Vα到B的所有函数的集合。(这种函数表示Vα的“可能的”子集;如果f是这种函数,则对于任何x∈Vα,f(x)是x在这个集合中的可能性)。定义V是所有集合Vα的并集。
有可能相对化这个完整构造于ZF(或者有时它的片段)的某个传递模型M。在这种情况下通过应用上述构造于内部构造造布尔值模型M。对传递模型的限制是不严重的,因为Mostowski塌陷引理蕴涵了所有合理的(良基的外延)模型同构于传递模型。(如果模型M不是因为传递事物而使其变得更加杂乱,因为M对什么意味着是“函数”或“集合”的释义可能不同于“外的释义释义)。
接着需要在集合V上定义两个B-得得等于关系和成员关系。(在V上的B-值关系是从V×V到B的函数)。为了避免混淆于通常的等式和成员关系,对于在V中的x和y,它们指示为||x=y||和||x∈y||。它们定义如下:
||x∈y||被定义为∑t∈Dom(y)||x=t||∧y(t)(" x在y中如果它等于在y中的某个东西")||x=y||被定义为||x⊆y||∧||y⊆x||(" x等于y如果x和y相互都是对方的子集"),这里的||x⊆y||被定义为∏t∈Dom(x)x(t)⇒||t∈y||("x是y的子集如果所有x的元素都在y中") 符号∑和∏意味着我们在完全布尔代数 B中采用最小上界和最大下界。第一眼看来上述定义好象是循环的: ||∈|依依赖||=||,它依赖于||⊆||,它依赖于||∈||。但是闭合检查证实||∈||的定义只对于更小阶的元素依赖于||∈||,所以||∈||和||=||是从V×V到B的良好定义的函数。
最后需要检查在V上的这两个B-值的关系||∈||和||=||诗诗V成为集合论的布尔值模型。没有自由变量的每个一阶集合论的句子都在B中有一个值,需要检查等式的所有公理和ZF集合论的所有公理(没有自由变量的)有B的元素“真”的值。这是直截了当的,但是要花很长时间因为有很多不同的公理需要检查。