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 1 uygun türdekitüm değerler için v .
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 oluruz. 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.
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.
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.