领先的旋转栅门操作员是什么意思?


12

我知道不同的作者使用不同的表示法来表示编程语言的语义。实际上,盖伊·斯蒂尔(Guy Steele)在一段有趣的视频中解决了这个问题。

我想知道是否有人知道领先的旋转门操作员是否具有公认的含义。例如,我不理解以下分母的开头的运算符:⊢

x:T1⊢t2:T2⊢λx:T1.t2 : T1→T2

有人可以帮我理解吗?谢谢。



哇,这个问题有超过“ 1k”的视图,比其他所有29个新问题的视图总和还多!正如我已经检查过的,“类型理论”标签和“名词语义”标签都不是前50种流行标签之一。我对这种现象背后的原因感到好奇。我没有头绪。@DW?我有一个元问题吗?
— John L.

如果我没有记错的话,你必须移动的十字转门操作员(),在规则的结论,与λ X :牛逼1和牛逼2。我还要添加标签⊢λx:T1t2type-checking
— mchar

3
@ Apass.Jack最终出现在热门网络问题中,因此受到了更多关注。
— JAB

Answers:


20

在旋转闸的左侧,您可以找到局部上下文,这是有关手头变量类型的有限假设列表。

x1:T1,…,xn:Tn⊢e:T

以上,可以是零,导致⊢ ë :Ť。这意味着不对变量做任何假设。通常,这意味着e是类型T的闭项(没有任何自由变量)。n⊢e:TeT

通常,您提到的规则是以更一般的形式编写的,其中的假设可能比问题中提到的假设更多。

Γ,x:T1⊢t:T2Γ⊢(λx:T1.t):T1→T2

此处,表示任意上下文,并且Γ ,x :T 1表示通过将附加假设x :T 1附加到列表Γ而获得的扩展。通常要求x不出现在Γ中,以便扩展名不与先前的假设“冲突”。ΓΓ,x:T1x:T1ΓxΓ


7

作为对其他答案的补充,请注意,在类型派生中存在“暗示”三个级别。逻辑推导也是如此,因为两者之间实际上存在对应关系(称为Curry-Howard对应关系)。

λ

A⇒BBAλλx.tA→BtBxA

λ


3

⊢⊢Env×Exp×Typ

t2T2 T1x

ΓΓ∈Env:Var⇀Typ

请注意,无论是在前提中还是在规则的结论中,操作员均会保留其功能,而不论其出现在何处。


-1

X⊢YYXXY


1
X⊢YXY

1
水平条表示底部的物体是顶部物体的直接推导。尽管我同意您的例子中的无条件真理源于有条件真理,这看起来很奇怪……
— David Richerby

x:T1(x:T1)∨(y:T2)
— 德里克·埃尔金斯

x:TΓ⊢x:TΓ

¬(x:A)(x:A)∧(y:B)(x:A)→(y:B)x:A,y:B⊢t:Cy:B,x:A⊢t:C⊢x:Ay:Bt:C
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.