指称语义学
指称语义学将程序解释为数学对象,通常是结构化域上的函数,从而提供了对程序意义的组合式和独立于机器的描述。
用 PaperMind 寻找选题即将推出Find papers & topics
Tools & resources
Learn & explore
视频即将推出
Definition
指称语义学为每个程序分配一个数学对象(其指称),该对象通过其部分的指称组合定义,递归通过域中的最小不动点解释。
Scope
本主题涵盖了斯科特-斯特雷奇(Scott-Strachey)方法,其中每个程序短语都表示一个数学域的元素。它包括域理论、完全偏序集、连续函数以及递归的最小不动点解释,以及完全抽象(full abstraction),后者关注指称意义与可观察行为的匹配程度。
Core questions
- 哪些数学结构可以模拟任意递归和非终止?
- 意义是如何从子程序的意义组合构建的?
- 什么是完全抽象,为什么它难以实现?
- 指称意义与操作行为有何关系?
Key theories
- 域理论和不动点语义
- 斯科特的域理论提供了有序结构和连续函数,其中递归定义被解释为最小不动点,解决了赋予自指程序意义的问题。
- 完全抽象
- 普洛特金对LCF的研究提出了完全抽象问题,即指称等价性是否与观察等价性完全一致,揭示了一个促使数十年进一步研究的空白。
Clinical relevance
指称模型为语言意义提供了精确的组合式参考,支持对程序等价性和优化进行推理,并为递归和高阶函数等特性的设计提供了信息。域理论还将编程语言与更广泛的数学和逻辑联系起来。
History
斯特雷奇(Strachey)关于语言数学描述的工作和斯科特(Scott)1969年构建域模型的工作开启了指称语义学,并在他们1971年的论文中得到了形式化。斯科特的域理论在20世纪70年代逐渐成熟,而普洛特金(Plotkin)对LCF的分析明确了完全抽象问题,这推动了后来如博弈语义学(game semantics)等发展。
Debates
- 完全抽象问题
- 一个核心问题是,指称模型能否精确地捕捉语言的可观察行为,不多不少;经典的域模型对于高阶顺序语言未能做到这一点,从而促使了替代模型的发展。
Key figures
- Dana Scott
- Christopher Strachey
- Gordon Plotkin
- Glynn Winskel
Related topics
Seminal works
- scott1971
- scott1976
- plotkin1977
- winskel1993
Frequently asked questions
- 指称语义学中的“域”是什么?
- 域是一种数学结构,通常是具有递增链极限的偏序集,它提供了一个环境,其中递归和部分计算可以被建模为连续函数的最小不动点。
- 什么是完全抽象?
- 当两个程序具有相同的指称,且仅当它们在观察上等价时,该语义才是完全抽象的,这意味着模型既不区分行为相同的程序,也不混淆可区分的程序。