Hangi diller için zaten gözlemsel denklik teorisi var?


11

Bir doğruluğu ispat için, ben programı denklik kullanılabilir bir kavramı arıyorum Barendregt en saf tip sistemlerde (PTS'ler) için; yeterli spesifik tip sistemler için eksik. Amacım bu fikri kendi iyiliği için araştırmak değil, kullanmaktır.

Bu nosyon " genişlemeli " olmalıdır - özellikle olduğunu kanıtlamak için, t 1t1t2 uygun türdekitüm değerler için v .t1vt2vv

Eşdeğer denklik

Denotasyonel eşdeğerlik tüm doğru lemmaları kolayca tatmin eder, ancak keyfi PTS için bir anlamsal semantik oldukça zor görünmektedir - Sistem F için zaten zor görünecektir.

Bağlamsal / gözlemsel eşdeğerlik

Bu durumda bariz alternatif, çeşitli bağlamsal eşdeğerlik biçimleridir (hiçbir zemin bağlamı onları ayırt edemezse iki terim eşdeğerdir), ancak tanımı hemen kullanılamaz; çeşitli lemmaların ispatlaması önemsiz değildir. PTS için kanıtlanmışlar mı? Alternatif olarak, teori "bariz bir genişleme" mi olacak yoksa teorinin önemli ölçüde farklı olacağına inanmak için bir neden var mı?

EDIT: Yukarıda zor olanı söylemedim.

Kolay bölüm: tanım

Eşdeğerliği tanımlamak çok zor değildir ve tanım birçok makalede yer almaktadır (en azından Plotkin 1975'in PCF çalışmasından başlayarak, daha önce olmasa da - kaynak Morris'in doktora tezi 1968'den olabilir). Tüm zemin bağlamları C , C [ t 1 ] C [ t 2 ] - yani C [ t 1 ] ve C [ t 2 ] aynı sonucu verirse oluruzt1t2CC[t1]C[t2]C[t1]C[t2]. Sen alternatiflerin sürü burada birkaç seçeneğiniz var: Eğer yabanılların bir zemin türü varsa Örneğin, bir kuvvetle normalleştirme dilde, o zemin bağlamlarda olanlardır söyleyebiliriz dönüş naturals ve sonra aracının bir ve b aynı sayıyı değerlendirir. Sonlandırmama durumunda, makul diller için gözlem olarak "X sonlandırmaları" kullanmak yeterlidir, çünkü sonlandırma gözlemlenirken iki program eşdeğerse, sonuç gözlemlenirken de eşdeğerdir.abab

Zor kısım: kanıtlar

Bununla birlikte, bu makaleler genellikle bu tanımı kullanmanın ne kadar zor olduğunu açıklamaz. Aşağıdaki tüm referanslar bu problemle nasıl başa çıkılacağını göstermektedir, ancak gerekli teori birinden daha zordur. olduğunu nasıl kanıtlarız ? Bağlamlarda vaka analizi ve tümevarım yapıyor muyuz? Bunu yapmak istemiyorsun.t1t2

Martin Berger'in işaret ettiği gibi, bunun yerine, bisimülasyon (Pitts tarafından yapıldığı gibi) veya mantıksal bir denklik ilişkisi (Harper'ın sadece "mantıksal denklik" olarak adlandırdığı) kullanmak istersiniz.

Son olarak, yukarıda tanımlandığı gibi uzantılığı nasıl kanıtlarsınız?

Harper bu soruları Sistem T için 10 sayfada önemli zekâ ve mantıksal ilişkilerle çözmektedir. Pitts daha fazlasını alır. Bazı diller daha karmaşıktır.

Bununla nasıl başa çıkılır?

Aslında kanıtlarımı TSS için tahmin edilen eşdeğerlik teorisine şartlı olarak koymaya cazipim, ancak asıl teoriler önemsiz olmayan argümanlar gerektiriyor, bu yüzden böyle bir varsayımın ne kadar muhtemel olacağından emin değilim.

Aşağıdaki çalışmaların (ayrıntılı olmasa da) farkındayım:

  • Andrew Pitts (örneğin, genişletilmiş bir Sistem F için ATTAPL'de ve 58 sayfalık "Operasyonel Tabanlı Program Eşdeğerliği Teorileri" gibi birkaç makalede).
  • Pitts'ten ilham alan Programlama Dillerinin Pratik Temelleri (bölüm 47-48) (ancak daha basit kanıtlara sahip olduğunu iddia etmektedir).
  • Program denkliğinin mantıklı bir çalışması . İngilizce bir özet bulamıyorum, ancak yan etkiler (referanslar) için büyük bir çaba harcıyor gibi görünüyor, bu da dikey bir komplikasyon gibi görünüyor.

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

@MartinBerger: ima ettiğim fikir bu, ama doğrudan kanıtlamak şaşırtıcı derecede zor, çünkü tüm C için kanıtlar yapmanız gerekiyor (Bunu daha iyi açıklayacağım). Ayrıca, tüm programlar sonlanırsa, kullandığınız tanım tüm programları tanımlar.
Blaisorblade

βη

1
C[P]trueC[Q]trueve (2) kullanımı kolay, örneğin bir çeşit benzerlik veya mantıksal ilişki. Uygulamaya bağlıdır.
Martin Berger

1
@Blaisorblade Muhtemelen. Eşzamanlılık teorisyenleri bunu uzun zamandır yoğun bir şekilde yapıyorlar, çünkü eşzamanlı süreçlerle hangi denklik kavramını kullanacakları çok daha az açık. Bu bir işbölümüne yol açmıştır: denklik kavramını tanımlamak için bağlamlar üzerinde nicemleme ile indirgeme tabanlı bir anlambilim kullanın ve sonra denkliği (veya bunların yokluğunu) kanıtlamak için etiketli geçişler üzerinde bisimülasyonlar veya izler kullanın. Eşzamanlılık teorisindeki büyük bir açık araştırma sorusu, bir öncekinden ikincisine algoritmik olarak nasıl geçileceğidir.
Martin Berger

Yanıtlar:


4

[[]]

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


Cevabınız için teşekkürler, ama -1: Kabul ederken, soru saf tip sistemlerden bahsediyor - AFAICS, saf tip sistemler için bir anlamsal anlamsallık açık bir sorundur, bu yüzden bir cevap bazı anlamsal anlambilime işaret etmelidir. (Aslında, bir anlamsal anlambilimim olsaydı, soruda belirtildiği gibi, operasyonel olanı tamamen dağıtacağım). (Ama aşırı uzun soru için özür dilerim.)
Blaisorblade

@ MartinBerger, eleştirilerini anlamıyorum. OP gözlemsel denkliği göstermek için yöntemler ister, ben ortak bir söz ve sonra yöntemi kaçınmak başka yollar var itiraz?
Andrej Bauer

2
@Blaisorblade, o zaman saf tip sistemler için bir anlamsal semantik icat etmeniz gerekecek, değil mi? :-) Ama daha da ciddisi, Alex Simpson'a soracağım, böyle şeyler için anlamsal anlambilimi daha iyi bilirdi.
Andrej Bauer

@AndrejBauer Bu bir eleştiri olmaktan ziyade bir zeyilname olmaktı.
Martin Berger

2

η


1
Streicher'ın doktorasının TSS ile ilgili olduğunu sanmıyorum. Yapı Analizinin semantiği ve güvenilirlik semantiği ile bağımsızlık sonuçlarıyla ilgilidir. Buraya bakın .
Martin Berger

Açıklama için teşekkürler! Korkarım bağlantı olsa kırık (ve küçültülmüş bağlantı ile düzeltmek zor).
cody

Bağlantı, burada kitabın içindekiler tablosuydu . Umarım bu daha iyi çalışır.
Martin Berger

λ

@MartinBerger: gerçekleştirilebilirlik semantiği mi demek istediniz?
Dominique Devriese

0

Bu cevap soruna bir yaklaşım göstermektedir. (Görüşlerinizi bekliyoruz).

PFPL bölüm 49, derhal gözlemsel denklik ve mantıksal denklik kavramlarını tartışır. Mantıksal eşdeğerlik, parametrikliği belirtmek için kullanılanla aynı ilişkidir, bu nedenle bölümün çekirdeği, Sistem F için parametrikliğin bir kanıtıdır.

TSS parametrikliği üzerine çalışma, AFAICT, gözlemsel eşdeğerlik ile ilişkisini tartışmaz. Aslında, gözlemsel denkliği bile tanımlamak için, eğer sonlandırmamanız yoksa, gözlemler için kullanmak için bazı pozitif zemin türlerine (doğallar, booleans) ihtiyacınız vardır.

Bununla birlikte, iki ilişkiyi ilişkilendiren anahtar teorem (PFPL 47.6, 48.3, 49.2) belirli bir dilden bağımsız olarak kanıtlanmıştır:

Gözlemsel eşdeğerlik ifadeler üzerinde en kaba tutarlı uyumdur.

Daha sonra, mantıksal eşdeğerliğin gözlemsel eşdeğerliği ifade ettiğini göstermek için, sadece mantıksal eşdeğerliğin tutarlı bir uyum olduğunu göstermek gerekir. Bununla birlikte, diğer yön biraz daha çalışmayı gerektirir: özellikle, mantıksal denkliğin bir uyum olduğunu göstermek için, bağlamlarda indüksiyonla ilerlenir.

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

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.