通常将3.6节之前所建立的逻辑系统称为古典逻辑。而在这一节里讨论的就是所谓非古典逻辑。非古典逻辑形式很多,但大体上可分为如下两类:第一类是与古典逻辑平行的逻辑,但由于观点(语义定义)不同从而引起逻辑公理、规则不同,这样的逻辑系统大多与古典逻辑使用相同的语言,但它们的内定理集合并不相同。这种逻辑系统包括直觉主义逻辑、多值逻辑等;第二类是对古典逻辑作了扩充的逻辑,对古典逻辑进行扩充又可分为二种方式;一是增加各种特殊量词和联结词,如增加模态词的模态逻辑,增加量词"有可数无穷多个"的可数量词逻辑等;二是增加公式的构成方式,如允许无穷多个公式的析取、合取还是一个公式的无穷长逻辑,增加高阶变元的高阶逻辑等,当然也有同时以这两种方式对古典逻辑进行扩充的逻辑。这些古典逻辑的扩充逻辑一般都承认所有古典逻辑的内定理,因而比古典逻辑有更强的表达能力,使得那些难以用古典逻辑语言表达的定理推导变得可能或容易了。当然,非古典逻辑的这种划分并不是很精确、完整的,并不排除一种逻辑同属几个类别的可能,这里我们只是为学习更多的古典逻辑提供一个大体的指南。
非古典逻辑已渗透到计算机科学的许多领域,尤其是与程序规范说明、程序验证有关的领域,如用模态逻辑来描述和证明程序性质,用时态逻辑来描述并发程序规范说明、程序构造和程序验证提供了一套完整的理论。 |