Önde gelen turnike operatörü ne anlama geliyor?


12

Farklı yazarların programlama dili semantiğini temsil etmek için farklı gösterimler kullandıklarını biliyorum. Aslında Guy Steele bu sorunu ilginç bir videoda ele alıyor .

Başlıca turnike operatörünün iyi bilinen bir anlamı olup olmadığını bilen olup olmadığını bilmek istiyorum. Örneğin , aşağıdakilerin paydasının başında lider operatörünü anlamıyorum :

x:T1t2:T2λx:T1.t2 : T1T2

Birisi anlamama yardımcı olabilir mi? Teşekkürler.



Vay be, bu soru "1k" üzerinde görüşlere sahiptir, bu da diğer tüm 29 yeni sorunun görüşlerinin toplamından daha fazlasıdır! Kontrol ettiğim gibi, ne "tip teorisi" etiketi ne de "anlamsal anlambilim" etiketi ilk 50 popüler etiket arasında yer almıyor. Bu fenomenin arkasındaki nedeni merak ediyorum. Bir ipucum yok. @DW? Bir meta sorum var mı?
John L.

Yanılmıyorsam, operatörünü ( ) kuralın sonunda ve arasında . Ayrıca etiket ekleyeceğimλ x : T 1 t 2λx:T1t2type-checking
mchar

3
@ Apass.Jack Sıcak Ağ Soruları sona erdi, bu yüzden daha fazla dikkat çekiyor.
JAB

Yanıtlar:


20

Turnikenin solunda, yerel bağlamı, eldeki değişkenlerin türleri hakkında sonlu bir varsayım listesini bulabilirsiniz.

x1:T1,,xn:Tne:T

Yukarıda, sıfır olabilir ve sonuçlanır . Bu, değişkenler üzerinde hiçbir varsayım yapılmadığı anlamına gelir. Genellikle bu, tipine sahip kapalı bir terimdir (herhangi bir serbest değişken olmadan) .e : T e Tne:TeT

Genellikle, bahsettiğiniz kural, soruda belirtilenden daha fazla hipotez olabileceği daha genel bir biçimde yazılır.

Γ,x:T1t:T2Γ(λx:T1.t):T1T2

Burada, herhangi bir bağlamı temsil eder ve , ek hipotezini listesine ekleyerek elde edilen uzantısını temsil eder . Uzantının önceki bir varsayımla "çakışmaması" için görünmemesini sağlamak yaygın bir durumdur .Γ , x : T 1 x : T 1 Γ x ΓΓΓ,x:T1x:T1ΓxΓ


7

Diğer cevapların bir tamamlayıcısı olarak, türetmeler yazarken üç düzey "ima" olduğunu unutmayın. Aynı sözler, mantıksal türevlerle de geçerlidir, çünkü ikisi arasında (Curry-Howard'ın yazışma denir) arasında bir yazışma vardır.

İlk çıkarım, formüllerde görünen oktur ve bir formül (veya -calculus için bir işlev türü) içindeki mantıksal imaya karşılık gelir.λ

İkinci ima, turnike sembolü ile gerçekleşir ve "soldaki her formül varsa, sağdaki formül olduğu varsayılır" anlamına gelir. Özellikle, verdiğiniz kural kişinin nasıl bir sonuç gerektiğini söyler: kanıtlamak için, sahip olduğu varsayımı altında kanıtlaması gerekir . Açısından kanıtlamak için -calculus, tipi vardır , bir göstermelidir tipi vardır olduğu varsayılarak, tipi bir değişkendir (yazışma bakınız).B A λ λ x . t A B t B x AABBAλλx.tABtBxA

Üçüncü çıkarım düzeyi yatay çubuk tarafından gerçekleştirilir ve "her öncül (üstteki elemanlar) tutarsa, sonuç (alt kısımdaki eleman) tutar" anlamına gelir. Bunu, verdiğiniz soyutlama için yazma kuralının yorumlanmasına bağlayabilirsiniz (önceki paragraftaki açıklamaya bakın).λ


3

denetim sistemlerinde, ( ) ortamları, ifadeler ve türler üzerindeki üçlü ilişkiyi temsil eder: .Env×Exp×Typ

, ifadesi wrt türünde yazılmıştır . Bir tür varsayım haritalama sahip bir tür ortama bazı tip değişkenit2T2 T1x

Bu bağlamda, tür ortamı değişkenlere tür atayan kısmi bir işlevdir, genellikle ile belirtilir, burada ΓΓEnv:VarTyp

Operatörün, kuralın öncülünde veya sonucunda nerede göründüğüne bakılmaksızın işlevselliğini saklı tuttuğunu unutmayın.


-1

Gördüğüm her durumda, ,  sahip olduğunu varsayarak bir kanıtı olduğu anlamına gelir  . Eğer  boş, demekse o  bir totolojidir: herhangi varsayımları gerek kalmadan kanıtı yok.XYYXXY


1
ama söylediğiniz doğru ise, bu garip çünkü yatay çubuğun da anlamı bu, değil mi? Üst doğruysa, alt doğrudur. Dolayısıyla, gerçekte , doğruysa koşulsuz olarak doğrudur. XYXY
Jim Newton

1
Yatay çubuk, alttaki şeyin üstteki şeyden anında bir kesinti olduğu anlamına gelir.
Örneğinizde

Tür teorisi mantık değildir. Elbette birçok yönden ilişkilidir ve (bir dereceye kadar kasıtlı olarak) benzer gösterimi kullanır, ancak kesinlikle güvenilirlik ilişkisine a priori bir bağlantı yoktur ve çoğu zaman (en azından uzaktan makul bir mantıkla) posteriori bir bağlantı yoktur. Yazılı cevap, en iyi, yanıltıcı o "ileri sürmektedir çünkü itibariyle " neredeyse hiç tip teoride olduğu bir formüldür gibi formüller içeren mesela bir dil olduğunu genellikle tarif edilmez ve standart bir meta-mantıkta, örneğin doğrusal lambda hesabı için genellikle imkansızdır. x:T1(x:T1)(y:T2)
Derek Elkins SE

@DerekElkins Bu bir ispat sistemi ve ispat sistemleri mantıktır. tam bir önerme olduğunu ve şey ama ne zaman önerme tutan ifadesi tutar. Önermelerin ayrımının formül olmadığı gerçeği, mantığın sözdiziminin bir kısıtlamasıdır. x:TΓx:TΓ
David Richerby

Sadece kopukluk değil. Yok , ya da formülleri ya da vardır. Yoksa sadece atomik önermeleri olan bir mantık mı diyorsun? Örnek olarak doğrusal mantıktan bahsettim. Sıralı doğrusal mantıkla, çok kolay durumda olabilir tutarken değildir. Virgül ve , , ve "doğruluk değerlerini" alan ve yukarıdaki davranışı üreten hangi karşılık gelir ? Meta-mantık aynı zamanda sıralı bir doğrusal mantıksa bir seçenek var, ancak o zaman hiçbir şey açıklamıyoruz. ( x : A ) ( y : B ) ( x : A ) ( y : B ) x : A , y : B t : C y : B , x : A t : C x : A y : B t : C¬(x:A)(x:A)(y:B)(x:A)(y:B)x:A,y:Bt:Cy:B,x:At:Cx:Ay:Bt:C
Derek Elkins SE
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.