对于什么语言,已经有了观察对等理论?


11

对于正确性证明,我正在寻找的程序等价的可用概念为Barendregt的清纯型系统(的PTS); 缺少足够的特定类型系统。我的目标只是使用概念,而不是出于自身的原因对其进行研究。

这个概念应该是“ 伸展 ” -特别是要证明,应该足以证明牛逼1t1t2表示适当类型的所有值 vt1vt2vv

指称等价

指称等价很容易满足所有正确的引理,但是任意PTS的指称语义似乎颇具挑战性-对于系统F来说似乎已经很困难。

上下文/观察等价

那么显然的替代方法是各种形式的上下文等效(如果没有基础上下文可以区分它们,则两个术语是等效的),但是其定义不能立即使用。各种引理并不是很容易证明的。是否已为PTS证明过?或者,该理论是“显而易见的扩展”,还是有理由相信该理论会明显不同?

编辑:我没有说什么很难。

简单的部分:定义

定义等效性并不难,并且在许多论文中都有定义(至少从Plotkin 1975对PCF的研究开始,如果不是更早的话-来源可能是1968年Morris的博士学位论文)。我们如果对所有地面上下文Çc ^ [ 1 ] Ç [ 2 ] -也就是说,c ^ [ 1 ]c ^ [ 2 ]给出相同的结果t1t2CC[t1]C[t2]C[t1]C[t2]。你有几个选择,这里有很多的替代品:例如,在强正火的语言,如果你有土黄的地面类型,你可以说,地面环境是那些回报土黄,然后意味着一个b取相同的数字。对于非终止,对于合理的语言,使用“ X终止”作为观察就足够了,因为如果两个程序在观察终止时是等效的,那么在观察结果时它们也是等效的。abab

难点:证明

但是,这些论文通常没有说明实际使用此定义有多困难。下面的所有参考文献都显示了如何解决该问题,但是所需的理论比人们想象的要难。我们如何证明?我们是否真的根据情况进行案例分析和归纳?你不想那样做。t1t2

正如马丁·伯杰(Martin Berger)指出的那样,您想使用双仿真(由Pitts完成)或逻辑等价关系(Harper简称为“逻辑等价”)。

最后,如何证明上述定义的可扩展性?

Harper通过相当聪明和逻辑关系,在10页的System T中解决了这些问题。皮茨需要更多。某些语言更加复杂。

如何处理

实际上,我很想以一种猜想的PTS等价理论有条件地提出自己的证明,但是实际的理论需要不平凡的论据,因此我不确定这种猜想的可能性如何。

我知道(尽管没有详细介绍)以下作品:

  • Andrew Pitts(例如,在扩展系统F的ATTAPL中,以及几篇论文中,例如58页的“基于操作的程序等效理论”)。
  • 编程语言的实用基础(第47-48章)受到了Pitts的启发(但声称有更简单的证明)。
  • 程序等效的逻辑研究。我找不到英文摘要,但它似乎在副作用(参考)上花费了很多精力,这似乎是一种正交并发症。

1
PQC[]C[P]C[Q]

@MartinBerger:这就是我要暗示的想法,但是直接证明它非常困难,因为您需要为所有C做证明(我会在问题中更好地说明)。同样,如果所有程序都终止,则使用给定的定义标识所有程序。
Blaisorblade 2015年

βη

1
C[P]trueC[Q]true(2)易于处理,例如双相似性或逻辑关系的概念。取决于应用程序。
Martin Berger'3

1
@Blaisorblade可能是。并发理论家长期以来一直在密集地进行此操作,因为对于并发过程,使用什么等效概念尚不清楚。这导致了分工:使用基于还原的语义以及对上下文的量化来定义等价的概念,然后对标记的转换使用双模拟或跟踪来证明等价(或不存在)。并发理论中一个大的开放研究问题是如何从算法上从前者过渡到后者。
Martin Berger'3

Answers:


4

[[]]

[[t1]]=[[t2]]t1t2.


感谢您的回答,但-1:我同意,但问题提到了纯类型系统-AFAICS,纯类型系统的指称语义是一个开放的问题,因此我认为答案应指向某些指称语义。(实际上,如果我有一个定义的语义,那么我将完全放弃可操作的语义,如问题中所述)。(但对这个冗长的问题
深表歉意

@MartinBerger,我不理解您的批评。OP要求显示观察等效性的方法,我提到了一种常见的方法,然后您反对存在其他避免该方法的方法?
Andrej Bauer

2
@Blaisorblade,那么您只需要为纯类型系统发明一种指称语义,对吗?:-)但更重要的是,我会问亚历克斯·辛普森(Alex Simpson),他会更了解这类事物的指称语义。
Andrej Bauer 2015年

@AndrejBauer并不是要批评,更多是作为附录。
Martin Berger 2015年

2

η


1
我认为Streicher的博士学位不是关于PTS的。它涉及构造演算的语义以及通过可靠性语义获得的独立性。看这里
马丁·伯杰

感谢您的澄清!恐怕链接已损坏(并且很难用缩小的链接进行修复)。
科迪

链接是到这里的书目录。我希望这个更好。
马丁·伯杰

λ

@MartinBerger:您是指可实现性语义学吗?
Dominique Devriese

0

这个答案提出了解决这个问题的方法。(欢迎反馈)。

PFPL第49章立即讨论了观察对等和逻辑对等的对等概念。逻辑等价关系与状态参量的关系相同,因此本章的核心是系统F的参量证明。

关于PTS,AFAICT的参数性工作并未讨论与观测等效性的关系。实际上,要定义观测等价物,除非您具有非终止条件,否则您需要一些正的地面类型(自然数,布尔数)才能用于观测。

但是,与两种关系相关的关键定理(PFPL 47.6、48.3、49.2)已独立于特定语言证明:

观察等效性是表达式上最粗略的一致性。

然后,为了证明逻辑对等意味着观察上的对等,只需要证明逻辑对等是一致的对等。但是,另一个方向需要做更多的工作:特别是为了显示逻辑对等是全等的,的确通过对上下文的归纳来进行。

n + 1 = 1 + nVecN nnVecNVecNn+1=1+nVec (n + 1)Vec (1 + n)n + 11 + n

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.