证明论和逻辑代数
第1章 相继式系统
在第1.1节给出预备评注和对于本书范围的简要解释之后, 我们将分别为古典逻辑和直觉主义逻辑引入两个相继式系统LK和LJ. 这两个相继式系统对于第I部分的证明论研究都是基础性的, 其最初由G. Gentzen在他的论文 (Gentzen 1935) 里引入. 基本的证明和可证明性的概念首先被引入. 然后对于LK的完备性和切消的初等证明被给出, 通过使用古典逻辑的一个可逆相继式系统LK*, 其是LK的一种替代. 这将会是展现证明论式论证如何进行的一个简明例子.
第1.1节 开篇
基本概念和记号
我们将会使用, , , 分别表达基本的逻辑联结词合取, 析取, implication, 否定. {译注: 为了避免各种可能的混淆, implication就不翻译了.} 若有必要, 例如当我们讨论模态逻辑和亚结构逻辑的时候, 我们将会引入额外的逻辑联结词和逻辑常量. 我们从外部取一个固定的命题变量的可数集. 公式和通常情况一样通过归纳定义, 从命题变量和逻辑常量开始, 然后反复应用逻辑联结词. 括号会按照通常方式进行省略, 只要不至于引起误解. 为了简化表达式, 我们采取约定, 比其他逻辑联结词都结合得更紧密. 因此, 例如, 公式表示. 我们将会使用小写希腊字母表达公式. 当一个公式出现在一个公式的归纳定义之中, 公式被称为的一个子公式. 除开之外的的每个子公式被称为的一个真子公式. 例如, 都是的子公式, 而前三个则是的真子公式.
有时我们按照以下方式对于公式的构造施行归纳论证. 也就是说, 为了确保每个公式都具有某个给定的性质, 我们要表明 (1) 每个命题变量 (以及每个常量) 都具有 (2) 对于每个, 若的每个真子公式都具有, 那么也具有. 这种形式的归纳也可以表达为对于公式的长度进行归纳. 这里某个给定公式的长度的含义是中的逻辑符号的总数目. 可能公式在某个给定的中作为子公式出现不止一次, 但是在不同的地方出现. 例如, 公式在公式里出现了两次. 如果我们需要进行区分, 那么我们会使用术语公式出现. 然后, 我们可以说拥有的两次公式出现. 一般而言, 当我们不只是关心表达式本身也关心其出现的位置时, 我们就会使用词汇出现. 在本书中, 我们有时使用iff作为if and only if的缩写. {译注: 当然了, 我们都会将其翻译为当且仅当, 这是Paul Halmos所创制的表达.}
逻辑的句法方法和语义方法之比较
在以下内容里, 我们将简要介绍主题的背景, 特别是本教科书的第I部分和第II部分的区别和联系. 熟悉这部分内容的读者可以跳过.
引入一个逻辑的标准方式时将其描述为一个形式系统. 一个形式系统通常由公理和推理规则构成, 其确定了系统中的公式的可证明性. 一个给定公式在系统中是可证的, 如果可以在系统中被推导出来, 即通过从系统的公理开始, 反复应用系统的规则得到. 一个对于的证明 (或者推导) 是一个有限的figure, 其表明了在系统中是如何推导出来的. 证明和可证明性的概念由此是句法性的概念, 其由符号和机械过程构成.
作为形式系统的一个例子, 以下我们将给出古典逻辑的一个标准Hilbert风格系统HK. 其由作为单一规则的modus ponens和以下给出的公理模式构成. 这里的modus ponens是说一个公式可以由和共同推导出来. 另外, 每个公理模式不是单一的公式, 而是具有模式所表示的相同句法形式的所有公式. 因此, 一个公理模式的每个实例都可以视为一个公理. (出于简单性的考量, 在本节的剩余部分里将被视为的缩略, 其中是一个逻辑常量, 其表达了一个矛盾.) {原注: 为了避免符号太过复杂, 我们使用相同的符号表达公式和公式模式.}
现在HK的公理模式列出如下, 其看上去和标准的有些许不同. 不过, 我们的选择是为了容易看出其与下一节要引入的古典逻辑的相继式系统LK之间的联系.
- (左弱化公理)
- (收缩公理)
- (交换公理)
- (双重否定律)
呈现Hilbert风格系统的另一种方式是取modus ponens和替换规则作为规则, 然后取公理而非公理模式. 通过这里的替换规则我们可以根据对于任意的一致替换推出. {原注: 这里的是一个从命题变量的有限集合到某个公式集合的映射, 而代表由通过将中的每个同时替换为得到的公式, 其中. 这样一个公式被称为的一个替换实例 (或者更简单地说, 实例).} 在这种情况下, 例如弱化公理就是通过一个单独的公理给出的, 其中和是不同的命题变量. 其他的弱化公理则是通过这条公理应用替换规则得到的.
第1.2节 古典逻辑的相继式系统LK
我们将要引入古典逻辑的一个相继式系统LK. 与Hilbert风格系统不同的是, 相继式系统中的基本表达式是相继式. LK中的每个相继式都是具有以下形式的表达式, 其中每个 () 和每个 () 都是公式, 而. 这里的逗号和箭头都是元逻辑符号.因此, 每个相继式都是由逗号分隔的公式的有限序列, 而相继式又由划分为前件(antecedents)和后件(succedents).
大致来说, 前件和后件可以分别理解为假设和结论. 但是, 这里我们必须要小心, 因为前件是合取式(conjunctive-like)理解而后件是析取式(disjunctive-like)理解. 也就是说, 上述的相继式从直觉上来理解即可由假设推出, 或者等价地说, 可由假设推出. 当后件为空时, 相继式的含义是根据假设可以推出一个矛盾
. 从另一方面来说, 如果前件为空, 相继式应该理解为(在没有任何假设的情况下)可以推出.
在相继式系统里, 我们讨论相继式的可证明性和有效性, 而非公式的, 它们分别代表了句法和语义的视角. 每个相继式系统都由初始相继式和规则构成. 前者对应于Hilbert风格系统中的公理模式. 一个给定的相继式系统的每条规则确定了一个相继式何时以及如何由其他已经推得的相继式推出 (通常来说, 是从有限数目的相继式推出). 在我们的系统LK中, 如下所示, 每条规则由一或两个上相继式(upper sequent)和一个下相继式(lower sequent)构成, 意即下相继式可由这些上相继式推出. 以下的大写希腊字母代表(可能为空的)公式的有限序列. LK具有以下三个种类的规则{原注: 切规则经常被视为一种结构规则, 但是本书将其从结构规则中分离出来, 因为接下来介绍亚结构逻辑的时候会更加方便.}:
- 逻辑联结词的(左和右)规则,
- 切规则,
- (左和右)结构规则.
LK具有以下初始相继式和规则.
0. 初始相继式: LK的每个初始相继式都是一个具有形式的相继式.
1. 逻辑联结词的规则:
2. 切规则
3. 结构规则
- 交换规则:
- 收缩规则:
- 弱化规则:
出于方便的考量, 我们为每条规则附加了一个诸如这样的名字. 在每条规则里, 使用小写希腊字母和的公式被称为活跃(active)公式. 另外, 每条规则里的下相继式里显式呈现的使用小写希腊字母的公式被称为规则的主(principal)公式. 例如, 是规则的主公式, 而是规则的主公式. 其他的公式都被称为副(side)公式. 切规则的活跃公式被称为切公式. 对于逻辑联结词的规则而言, 主公式出现在前件里的是左规则. 对于结构规则, 活跃公式都出现在前件里的是左规则. 将前件替换为后件, 可以得到右规则的定义. 左规则的名字具有形式, 右规则的名字具有形式.
每条规则都是说当上相继式可证明时, 其下相继式也是可证明的. 例如, 规则是说每当相继式可证明时, 相继式也是可证明的. 类似地, 规则是说 (为了简洁, 假定为空) 每当和都是可证的, 那么也是可证的. 以这种方式, 每个逻辑联结词的公式精确地描述了这个联结词的功能.
切规则表达了演绎推理的一种基础原则. 实际上, 其是在说 (又一次为了简洁, 假定为空) 如果是可证明的, 并且是可证明的, 那么也是可证明的. 所有的结构规则作为一个整体控制了给定相继式里的前件和后件里的公式的顺序, 重复和省略. 特别地, 每条左结构规则从直觉上来说含义如下:
- 交换规则允许我们使用前件里的公式, 不论它们以何种顺序排列.
- 收缩规则表达了前件里的公式出现在推理结论时可以使用不止一次.
- 左弱化规则允许我们将任意的公式放在前件里, 即便其在推理结论时没有用到.
定义1.1. (证明和可证明性) LK中的某个相继式
的一个
证明是一个有限树状图形, 以如下方式定义, 其展现了该相继式在
LK中是如何从初始相继式推导出来的.
- 证明中的每个最上层相继式都是初始相继式.
- 证明中除了最上层相继式之外的所有相继式都是通过应用任意一条规则得到的.
- 是唯一的最下层相继式, 其被称为证明的终相继式(end sequent).
一个相继式
在
LK中是
可证明的当且仅当存在一个对于
的证明. 另外, 当相继式
在
LK中可证明时, 我们也称公式
在
LK是可证明的.
我们注意到一个相继式在可证明时或许拥有数个不同的证明. 对于某个相继式的一个给定证明, 设是出现在中的一个相继式. 那么, 证明中相继式之上 (也包括自身) 的子图形构成了一个终相继式为的证明. 作为这样的一个证明被称为的一个子证明.
在给出证明的具体例子之前, 我们给出为了简化对于证明的描述的约定. 我们注意到在我们所列出的LK的规则里, 上相继式里的活跃公式总是置于前件的最左边或者后件的最右边, 除了交换规则. 理由只是为了简化规则的呈现, 因而这些限制不是本质性的. 实际上, 只要活跃公式出现在相应的前件或者后件的任何位置, 规则就可以应用. 这是因为, 我们可以首先对于上相继式应用交换规则, 将活跃公式移至前件的最左边或者后件的最右边, 然后应用所牵涉的规则, 最后再用交换规则将活跃公式移回去. 为了解释这种调整, 让我们考虑以下形式的规则:以下是从这上相继式得到下相继式的方式.这里的点代表对于交换规则的数次应用. 以这种方法, 我们将允许应用每条规则而不管其活跃公式出现在哪里.
例子1.2.
练习1.1. 在
LK中给出对于以下相继式的证明.
解答.
练习1.2. 在
LK中给出对于以下相继式的证明. (检查你的证明中是否存在某个相继式在后件里至少拥有两个公式.)
解答. - 是的, 的确存在相继式在后件中拥有两个及以上的公式.
使用公式的多重集的一个对于LK的改进呈现
在给定证明的长度上进行归纳
可逆系统LK*
第2章 相继式系统的切消
第3章 逻辑性质的证明论式分析
第4章 模态逻辑和亚结构逻辑
第5章
第6章 从代数到逻辑
逻辑的句法或者说符号方法起源于19世纪中叶. G. Boole在他的书 (Boole 1854) 中试图将逻辑推理表达为代数计算. 又过了几十年我们才有了Hilbert风格的系统. 尽管并非以其完备形式, Boole通过引入一些代数等式 (作为逻辑公理) 和一些用于从代数等式推导其他代数等式的规则 (作为推理规则) 建立了代数逻辑的公理基础. 我们应该注意到大约在那个时期, 诸如群, 环, 域这样的抽象代数结构得到了引入, 而对于这些结构的研究开始了. 尽管如此, 那时数学家主要关注具体的代数结构, 例如整数集, 有理数集, 实数集, 等等. 本章所介绍的布尔代数是一种抽象代数结构, 其基本上是由Boole引入的. 显然, 布尔代数的定义来源于对于古典逻辑的行为的代数描述.
在给出包括格与布尔代数等的一些基本代数结构之后, 我们将会在第6.2节引入三个代数概念, 其基本上贯穿了我们整个第二部分的讨论. 本章的最后两节我们给出了逻辑与代数的联系的一些例子, 这是第二部分的主题.
第6.1节 格与布尔代数
以下我们 先引入一些代数结构的基本概念, 然后呈现其性质.
定义6.1. (偏序) 一个集合
上的一个
偏序是
上的一个二元关系, 其满足以下性质: 对于所有的
, 我们有
- (自反性);
- 如果且, 那么 (传递性);
- 如果且, 那么 (反对称性).
一个偏序集是由一个集合和一个其上的偏序构成的序对. 一个集合上的一个偏序是一个全序 (或者说线序), 如果对于所有的, 或者总是成立. 在这种情况下, 被称为是一个全序集, 或者说链. 关系由条件但不定义, 其被称为(由偏序导出的)严格序. 显然, 当且仅当或成立. 以下每张图 (Hasse图) 都表示了一个偏序集, 只有最左边的是一个链.
例子6.1. 令是自然数集, 即正整数集, 而是自然数上的通常序. 显然,
格
定义6.2. (格) 一个偏序集
是一个
格, 如果对于所有的
, 存在
(join) 和
(meet) 满足:
- 且;
- 对于, 如果且, 那么;
- 且;
- 对于, 如果且, 那么.
以上定义中的第一个条件是说
是
和
的一个
上界, 即一个元素其既大于等于
又大于等于
. 第二个条件是说
小于等于
和
的任何上界. 因此,
和
的join
是
和
的
最小上界. 类似地, 第三个条件是说
和
的meet
是
和
的一个
下界, 而第四个条件和第三个条件连在一起是说
和
的meet
是
和
的
最大下界. 显然, 以下等价在每个格中都成立:
当且仅当
当且仅当
. 由此我们可以推出, 一个给定格的偏序
可以完全由
或者
确定. 因此, 我们可以安全地说
而非
是一个格. 一个给定的格是
有界的, 如果其存在最大元素和最小元素, 往往我们分别将其记作
和
. 在以下三种偏序集里, 左边的和中间的是格, 右边的不是.
例子6.2. 1. 每个全序集都构成了一个格, 只要定义而. 全序集具有最小元素, 但是没有最大元素, 因而其不是有界的.
2. 例子6.1里的第二个例子, 即偏序集
练习6.1. 证明在任意的格中, 可以推出对于每个有且.
解答. 根据的定义, 我们知道且. 另外, 我们还知道, 于是根据传递性可知. 那么, 是和的一个上界, 所以. 根据的定义, 且. 另外根据和传递性可知. 于是, 是和的一个下界. 那么, 我们有.
我们将给出格的基本等式.
引理6.1. 以下等式在任意的格中成立. 对于所有的
, 我们有
- (1a)
- (1b)
- (2a)
- (2b)
- (3a)
- (3b)
- (4a)
- (4b)
练习6.2. 给出引理6.1的(3a)和(4a)的证明.
解答.
练习6.3. 证明以上三条陈述成立.
解答. - 由推出: 将带入(4b)可得;
由推出: 根据(4a)和替换可得, 根据(2b)可知, 带入得到, 然后再应用(2a)就有.
定义6.3. (分配格) 一个格是分配的, 如果等式 (即分配律) 对于每个成立.
定义6.4. (完备格) 一个格
是
完备的, 如果对于
的任意(可能为空的)子集
, 其最小上界 (记作
) 和最大下界 (记作
) 均存在. 这里的
的一个元素
是一个集合
的
最小上界, 如果
- 对于每个, , 即是的一个上界;
- 对于每个, 如果对于每个有, 那么, 即对于的任意上界都成立.
最大下界可以对偶地定义. 因此,
的最大下界是一个大于等于
的任意下界的
的下界.
根据定义, 和分别是的最小元素和最大元素. 因此, 完备格必然是有界的.
例子6.5.
练习6.6.
例子6.6.
布尔代数
让我们回忆一下古典逻辑的逻辑联结词, , 的真值表, 其中和分别代表falsehood和truth.现在我们在集合上定义一个自然的偏序, 即. 那么, 左边和中间的真值表是说析取与合取分别是相对于该偏序的join和meet. 当然, 我们注意到这种情况下join和meet也可以表达为和.
运用代数的术语, 我们可以说是一个代数, 其中是一个带有最小元素的格, 并且这个代数还有一个额外的运算, 其满足如果则, 不然的话. 藉由最小元素, 我们定义. 显然, 当且仅当. 并且, 很容易看出来对于我们有. 通过泛化, 我们按照以下方式引入了古典逻辑的代数.
定义6.5. (布尔代数) 一个代数
是一个
布尔代数当且仅当
- 是一个格且其最小元素是;
- 剩余律成立, 即对于所有的, 当且仅当;
- 双重否定律成立, 即对于每个, , 其中被定义为.
由以上真值表所确定的代数是一个布尔代数. 为了确认这点, 只需表明剩余律成立. 实际上, 我们可以看到当且仅当当且仅当, 也就是当时的剩余律成立, 另外时和总是都成立的. 这个由和构成的布尔代数被称为二值的, 记作.
剩余律是说对于每个而言集合中的最大元素总是存在且就等于. 实际上, 根据剩余律, 对于每个而言, 如果, 那么. 这意味着是的一个上界. 另一方面, 鉴于, 我们有, 通过使用剩余律的另一方向. 这意味着, 故. 现在考虑这一特定情形. 鉴于总是成立, 具有形式必然都是的最大元素, 记作. 这就推出了每个布尔代数既有最小元素也有最大元素. 布尔代数的一个病态例子是满足的布尔代数. 这种布尔代数由单独一个元素构成, 其被称为退化布尔代数. 之后的文本里我们提及布尔代数时, 除非另有说明, 不然我们总指的是一个非退化布尔代数. 以下的图片展示一个-值布尔代数.
我们可以证明以下的引理6.2对于布尔代数成立, 但不需要使用双重否定律. 因此, 实际上这些结果对于Heyting代数也成立, 而Heyting代数的定义不过就是从布尔代数的定义里去掉双重否定律. Heyting代数将会在第7章详细讨论.
引理6.2. 下列陈述对于任何布尔代数之中的所有
成立.
- 总是成立, 因而作为其一特殊情形而成立.
- 可以推出和. 因此, 可以推出.
- 分配律成立.
证明. 这里我们只会给出对于第三条陈述的证明. 根据评注6.4, 在任意的格中
都是
和
的一个上界. 因此, 只需说明
是这些上界之中最小的那个. 设
是
和
的任意一个上界, 那么
且
. 根据剩余律,
和
成立. 因此,
. 再次以相反方向使用剩余律, 我们有
. 于是, 我们就得到了想要的结果.
引理6.3. 下列陈述在每个布尔代数之中都成立.
- 对于所有的, 成立.
- 对于所有的, 成立. 特别地, 对于每个, .
证明. 我们来证明第二条陈述. 很容易看出来
是
和
的一个上界. 设
是
和
的任何一个上界. 根据
, 可以推出
, 因而不等式
成立, 这些是根据引理6.2的第二条得到的. 另一方面, 鉴于
, 我们有
. 将两个不等式结合在一起, 我们就得到了
. 换言之,
是
和
的最小上界, 故
.
我们注意到引理6.3中出现的等式表达了排中律 (见第1.1节) 的某种代数类比. 另外, 以上的引理6.3是说和可以基于和定义, 也就是说和在任何布尔代数之中都是冗余的. 另一方面, 为了使得布尔代数和之后章节将要引入的其他代数之间的比较更加清晰, 我们保留了将布尔代数定义为具有形式的五元组.
练习6.7. 表明以下陈述在每个布尔代数之中都成立.
- 对于任意的, .
- 对于任意的, .
解答. - 换言之, 在布尔代数之中实际上可以将加强为.
第6.2节 子代数, 同态和直积
为了进一步发展我们的代数研究, 我们要引入三个基本的代数概念. 鉴于这些概念可以对于多种代数进行定义, 我们要在一般的上下文中进行定义. 代数的一个语言是一个运算符号的集合, 每个运算符号都有一个固定的元数, 元数是一个非负整数. 具有元数的运算符号被称为常量符号. 以下我们假定是一个有限有序集, 遵循约定, 其中是的元数. 一个类型为的代数是一个具有形式的结构, 其中是一个非空集合, 被称为的宇宙或者潜在集合, 而是上的一个元运算, 其中. 每个都应该理解为的运算符号在中的解释. 出于简洁性的考量, 有时我们会省略的角标, 如果不至于引起误解.
举个例子, 前一节我们取了一个语言来描述所有布尔代数的类, 其元数分别为. 以下的三个定义里, 我们将假定代数和具有相同的类型.
定义6.6. (子代数) 一个代数是的一个子代数, 如果是的一个子集, 而对于每个而言是在上的限制. 也就是说, 对于所有的和而言, .
例子6.7. 设为一个格, 而是的一个非空子集. 那么, 是的一个子代数 (一般称为格的一个子格) 当且仅当对于任意的, 且, 其等价于对于任意的, 和都属于. 让我们考虑练习6.4
定义6.7. (同态和同态像) 一个映射是一个从到的同态, 如果对于所有的和成立. 当是一个单射时, 被称为是一个(从到的)嵌入(embedding). 在这种情形下, 被称为是由嵌入到之中. 如果是满射的, 即每个元素都可以表达为对于某个的, 那么被称为是的一个同态像 (由同态). 当是双射的, 被称为是一个同构而被称为是同构于 (由同构).
练习6.8.
定义6.8. (直积) 对于给定的代数和, 定义直积为一个代数, 其中, 并且对于每个, 令也就是说, 是逐分量定义的. 更一般地, 代数 () (可能无限) 的直积被定义为这样一个代数 (记作), 其宇宙是集合 () 的直积, 而的第分量是由给出的, 其中而. 这里的是的一个元素, 其为的第分量.
例子6.9.
练习6.9. 令是从到的格同态, 是从到的格同态. 定义从到的映射为. 证明是一个格同态.
解答.
在由所有布尔代数构成的类这一情形下, 是一个布尔代数的一个子代数当且仅当是的一个子集, 其包含且在下封闭. 显然每个非退化的布尔代数都有一个同构于二值布尔代数的子代数. 当和都是布尔代数时, 一个映射是一个从到的同态当且仅当对于每个有, 而且.
对于任意的布尔代数, 的每个子代数也是一个布尔代数. 另外, 如果是藉由某个同态的一个同态像, 那么也是一个布尔代数. 为了证明后者, 我们验证满足布尔代数的三个条件. 对于第三个条件, 取任意元素. 然后, 对于某个元素而言具有形式. 那么, , 鉴于是一个布尔代数. 至于剩余律, 对于给定的, 取使得, , , 因为是的一个同态像. 首先设, 这等价于条件. 既然在之中成立, 不等式成立, 鉴于是保序的. 因此, . 反过来, 设. 然后, . 那么, 我们有, 鉴于在中成立. 因此, 成立.
如果是布尔代数 () 的一个直积, 那么也是一个布尔代数, 这是因为的每个运算都是逐分量定义的. {译注: 并且, 布尔代数的定义也只是用到等式和等式之间的关系.} 为了总结, 我们按照以下方式陈述这些结果. 这个主题将会在第8.2节里以更泛化的方式进行讨论.
定理6.4. 由所有布尔代数构成的类在子代数, 同态像, 直积下封闭.
第6.3节 布尔代数的表示
在例子6.5和练习6.6中, 我们表明了任意一个集合的幂集相对于并和交构成了一个分配格, 其中是最小元. 对于的每个子集, 令是的补. 对于, 定义. 那么, 形成了一个布尔代数. 具有这种形式的布尔代数被称为幂集布尔代数.
练习6.10.
练习6.11.
有限布尔代数
令是任意一个具有个元素的有限集合, 例如. {译注: 这默认了当时, .} 那么, 幂集布尔代数是一个-值布尔代数. 如果是另一个具有个元素的集合, 那么显然同构于. 我们注意到
无限布尔代数
第6.4节 古典逻辑的代数完备性
第1.1节所讨论的二值语义的每个赋值都确定了一种对于公式的解释. 赋值和有效性的概念可以自然地扩展至任意的布尔代数. 令是一个布尔代数. 一个上的赋值是从所有命题变量的集合到的任意映射. 赋值可以自然地延拓成一个从所有公式的集合到集合的映射, 通过定义, , , 以及. (藉由符号滥用, 对于这个延拓的映射我们也使用符号. 以上的符号, , , 代表逻辑联结词和常量, 而, , , 则代表相应的的代数运算以及的最小元素, 以避免歧义.) 一个公式在某个布尔代数中是有效的, 如果其总是取值, 即对于每个上的赋值总有. 公式有效性的概念也可以自然地扩展至相继式的有效性. 显然, 第1章所讨论的重言式不过就是在二值布尔代数中有效的公式和相继式.
定理6.6. (代数完备性) 对于任意给定的非退化布尔代数
, 以下三个条件互相等价. 对于每个公式
,
- 在古典逻辑中是可证明的;
- 在所有布尔代数之中都是有效的;
- 在布尔代数中是有效的.
第6.5节 多值链和剩余律
从代数角度而言, 询问如何将我们的二值语义 (即基于二值布尔代数的代数语义) 推广为多值语义是自然的. 本节我们将会考虑将二值语义扩展至多值语义的两种可能方式, 其将会取决于我们维持何种形式的剩余律. 我们将会引入两种类型的多值链, 即定义在全序集上的带有剩余律的代数. 它们分别是Gödel链和Łukasiewicz链. 之前章节引入的代数方法也可应用于这两种代数, 而两类不同的多值逻辑的基本结果也将呈现. 之后的章节我们将会进一步将这种想法推广至定义在格上的剩余代数, 并最终将我们引向Heyting代数和剩余格的概念.
作为对于二值语义的一种推广, 我们考虑如何为和古典逻辑相同的语言引入多值语义. 我们将我们这里的注意力限制于真值集合为全序集的情况 (但可能无限), 即一个链, 并且带有最小元素和最大元素. 例如, 如果是三值语义, 我们可以取为. 在这种情形下, 会被视为halfway truth, 如果我们将真值理解为degree of truth. 因为我们假定了为全序集, 那么和分别可以表达为和. 因此, 主要的问题在于如何在这个集合上定义implication . 一种想法不过就是保持合取与implication之间的剩余律. {译注: 虽然这里的用辞是conjunction和implication, 但是实际上它们指的是代数运算而不是逻辑联结词, 只不过一般其会使用相同的符号罢了.}
首先设满足剩余律, 那么的定义必然要满足对于给定的, 对于所有的都有当且仅当. 这等价于说对于所有的都有当且仅当. 若是的确如此 {译注: 指剩余律成立}, 我们可以表明如果就有, 否则的话. 这里我们注意到如果不成立, 那么成立, 因为是全序的. 现在, 如果, 那么对于任意的总是成立, 因而必然对于任意的成立. 这意味着. 接着, 如果, 那么, 而对于所有满足的都有. 因此, 必然等于. {译注: 这里的讨论和布尔代数定义下面的讨论是如出一辙的.} 反过来, 设运算满足 (1) 当时有 (2) 否则的话, . 那么, 我们可以表明剩余律成立. 这是因为, 如果, 那么一边不等式对于任意的总是成立, 另一边不等式也对于任意的总是成立. 当时, 根据我们的假设有当且仅当当且仅当. 最终, 我们也就是证明了以下结论.
引理6.7. 设是一个链并且其具有最大元素, 那么和之间的剩余律成立当且仅当对于所有的, 我们有时而其他情况下.
Gödel链和Gödel逻辑
引理6.7暗示了以下定义. 现在设是任意的链且具有最小元素和最大元素. 按照以下方式定义上的三个运算, , :
- ;
- ;
- .
那么, 代数被称为一个Gödel链. {原注: 这些链在Gödel (1932) 中进行了讨论.} 对于, 当恰有个元素时, 被称为一个-值Gödel链. 很容易看出来, 每个-值Gödel链是同构的. 对于-值Gödel链的标准呈现是对于取集合. 另一方面, 无限的Gödel链不总是同构的, 因为可以存在具有任意基数的Gödel链.令是任意的Gödel链. 我们可以按照和布尔代数相同的方式定义上的赋值. 我们称一个公式在中是有效的当且仅当对于上的每个赋值都有. 中所有有效公式的集合记作. 如果对于某个数字, 同构于, 那么集合被称为-值Gödel逻辑, 当无限时则称其为一个无限Gödel逻辑 (其由链确定). 显然等于经典逻辑Cl. 这些Gödel逻辑实际上在第5.4节的意义下是超直觉主义逻辑.
练习6.13.
引理6.8. 如果是的一个子代数, 那么.
证明. 设一个公式
在
中是有效的. 令
是
上的任意赋值.
Łukasiewicz链
J. Łukasiewicz在他的论文 (Łukasiewicz, 1920) 中引入了一种链上的多值语义, 其和前一小节的并不相同. 他先引入了三值语义, 之后这被扩展为多值语义. 这一次, 三值情形里和之间的第三个值被理解为了undeterminded或者说indeterminate.
第7章 代数逻辑的基本
第7.1节 Heyting代数
定义7.1. (Heyting代数) 一个代数
是一个
Heyting代数当且仅当
- 是一个具有最小元的格.
- 剩余律成立, 即对于所有的, 当且仅当.
每个Heyting代数也(一定)有最大元素, 并且对于每个元素都有等于. 另外, 被定义为. 显然, 每个布尔代数都是一个Heyting代数.
第7.2节 Lindenbaum-Tarski代数
第7.3节 局部有限代数
第7.4节 有限可嵌入性质和有限模型性质
第7.5节 Heyting代数的canonical扩张
第8章 Logics and Varieties
第8.1节 超直觉主义逻辑的格结构
第8.2节 由所有Heyting代数构成的variety HA
第9章 剩余结构 (Residuated Structures)
本章我们将会给出对于剩余结构的简短引论, 其是亚结构逻辑的代数结构. 布尔代数和Heyting代数被定义为是带有二元运算的格结构, 其满足和之间的剩余律, 即当且仅当对于任意的成立. 从另一方面来说, 第6章引入的Łukasiewicz推出并不总是满足此律. 但是, 其仍然满足融合运算和之间的剩余律.
本章我们将会讨论一般形式的剩余律成立的代数结构, 并且将注意力主要集中于剩余格. 这个概念是从代数角度理解亚结构逻辑的关键所在.
第9.1节 剩余格和FL-代数
第10章 模态代数
对于模态逻辑的语义研究已经藉由使用Kripke语义而发展得相当成功.
第10.1节 模态代数