意义和外延有什么区别?


10

在编程语言语义学中,经常听到人们谈论意义外延。他们似乎不一样。有什么区别?前者与操作语义相关联,而后者与指称语义相关联吗?谢谢。


您能举个例子吗?以我的经验,在编程语言语义学文献中,含义和外延用于指代相同的概念(尽管在哲学上,它们以不同的方式使用,如Neel在下面解释)。
Uday Reddy

@UdayReddy:我碰巧想到了这个问题。我记不清我从哪里得到的,可能是从哲学文献中得出的。
日,

Answers:


18

与含义相比,“含义”的使用范围更广泛。

最初的二分法继承于逻辑和哲学,介于“感觉”和“外延”之间(哲学家称之为“参考”)。

这种区别可以用弗雷格的原始例子来说明。他指出,“晨星”和“晚星”这两个词指的是同一物体-金星--但句子“晨星和晚星是同一颗行星”实际上传达了一些信息。给读者。他建议名词短语的含义可以超出其所表示的实际对象,包括有关其如何表示其所表示的对象的某些内容。

类似地,在编程语言中,表达式与表达式56不同,即使它们可能(应该是!)与任何客户端程序完全无法区分。但是,即使它们没有区别,它们也不相同 -在评估这两个程序时,您的机器在第一种情况下进行乘法运算,而在第二种情况下不进行乘法运算。8×756

在构建指称语义时,我们尝试构建一种语言模型,在该模型中,难以区分的程序表示---指---是同一数学对象。目的是简化关于程序行为的推理,因为我们可以对表示法,数学对象进行推理,而不必担心程序如何呈现的细节。这使我们避免不得不处理我们不感兴趣的程序含义方面。

含义和外延与操作语义相关的方式更加复杂,且有所不同。我可能稍后再扩展我的答案以涵盖此内容,但是我现在必须运行。:)

编辑:好的,我现在扩展这个答案。

“外延”和“指称”之间的联系非常精确,这是因为发明了指称语义的人们(例如,斯科特和斯特拉奇)非常有意识地从哲学逻辑中挪用了思想,并将其作为项目的一部分。

要理解意义和操作语义之间的关系,回顾哲学家迈克尔·达米特(Michael Dummett)的“意义理论”概念以及它与“语义理论”的区别是有帮助的。

在Dummett的术语中,语义理论是将句子联系起来以确定数学对象的一种组合方式。在逻辑上,句子的含义是其真实值,它是根据其构成部分的真实值确定的。编程语言的指称语义使用了各种各样的数学对象,但是它的工作方式相同-我们根据子术语的含义给出了程序术语的含义。因此,在Dummett的术语中,指称语义提供了编程语言的语义理论。

一个意义理论也与句子的数学对象的组成方式,但除了它包含一个账户的证明什么的句子,数学对象之间的关系。他提出了这个想法,以了解直觉主义数学家如何理解真理的概念。特别是,他们对逻辑连接词的含义进行了成分说明,但没有像传统逻辑学家那样给它们语义值。例如,在直觉逻辑的Brouwer-Heyting-Kolmogorov帐户中,以下列方式定义了真相:

  • 一个规范证明是一对p 1p 2,其中p 1是一个规范证明p 2是一个规范证明AB(p1,p2)p1Ap2B
  • 一个规范证明是一对p ,其中,是要么01,并且如果0,则p是一个规范证明,如果1,则p是一个规范B的证明。AB(i,p)i01i0pAi1pB
  • 一个规范证明是一种有效的方法,即利用了任何规范证明并计算一个规范证明ABAB
  • 一个规范的证明是一个有效的过程,取一个数字 n,并计算 A n 的规范证明。x.A(x)nA(n)
  • 一个规范的证明是一对n p ,其中 n是数字, p A n 的证明。x.A(x)(n,p)npA(n)

当可以给出A的规范证明时,命题就是正确AA

现在,请注意,此定义连接了命题和真值,但是必须通过给出规范证明的可能性来证明这种连接是正确的。

操作语义通过这种称义概念进入画面。操作语义只是对抽象机功能的描述。在给出了指称语义之后,我们通常希望证明该指称语义对操作语义是忠实的。此属性称为充足性(以及其完整的抽象概念),它恰好等于给出了一种将抽象机器状态与指称对象联系起来的意义理论,该理论在抽象机器的简化下是封闭的。

实际上,这还不是全部,因为我在这里介绍的是如何通过可实现性模型连接操作方法和确定性方法。类型理论也可以具有证明理论的语义(实际上,这种前景是Dummett最感兴趣的),但是在本文中我没有解释这种联系。


感谢您的解释。期待扩展涵盖它们与操作语义的关系。

很好的解释,尼尔。非常感谢你。因此,如果我理解正确的话,所谓的意义理论就更正式了。在直觉逻辑的情况下,真理是从理论上定义的。
日,

XYXYZXY
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.