Programlama dilinde sözdizimsel ve anlambilimsel yöntemleri ayırt edebilir miyiz?


14

Güçlü normalizasyon kanıtları tartışılırken, bu yorum "normal form modelini" "tamamen sözdizimsel yöntemlerle" karşılaştırmaktadır.

Bu beni daha temel bir soruya geri getiriyor: sözdizimine dayalı modeller karşısında sözdizimsel ve anlambilimsel yapıları kesin olarak ayırt edebilir miyiz? Cebir için terim modelleri, birinci dereceden mantık için Henkin modelleri ne olacak? Yapısal işlemsel anlambilim ne olacak? Terim modelleri sözdizimine göre izomorfik olabileceğinden, kesin bir ayrım yapmak zor görünmektedir.

Kanıt teorisi ile mantık teorisi arasındaki farkı inceleyene kadar, “statik tip sistemlerin sözdizimsel bir yöntem olduğu” fikrinden bile şaşkına döndüm. Sonuçta, bir tür sistem, program davranışının bir soyutlaması olan türlere (ve bağımlı türlerle, keyfi olarak kesin olan) neden olur.

Yanıtlar:


14

Hayır, sözdizimsel semantik yöntemlerden katı bir şekilde ayırt edilemez, ancak ayrım hala mantıklıdır.

  • Yapısal işlemsel anlambilim, anlamsal değildir, çünkü bir programlama diline anlambilim kazandırmak için bileşimsel bir yöntem değildir.

  • Ancak, gerçekleştirilebilirlik veya mantıksal ilişkiler yöntemini kullanarak yapısal işlemsel anlamsallıktan anlamsal modeller oluşturabilirsiniz. Örnek olarak, bkz. Robert Harper'ın Operasyonel Semantik Üzerine Tip Sistemleri İnşa Etme .

  • λ

  • Diğer yönde, bir anlamsal semantiğiniz varsa, söz diziminin ne olduğunu bulmak isteyebilirsiniz. O zaman terim modeli uygun bir model kategorisinde başlangıç ​​nesnesi olarak kullanılabilecek bir sözdizimi ve soyut makine bulmak istersiniz.

    Örneğin, oyun semantiği hayatına tamamen semantik bir yapı olarak başladı ve sonunda operasyonel oyun semantiği üzerinde çalışmaya yol açtı - son zamanlarda Alexis Goyet'in lambda lambda-bar hesabı: Kısıtlanmamış stratejiler için ikili bir analiz .

  • Genel olarak, yapısal işlemsel anlambilimi, uygulanmasının kolay olduğunu umduğumuz soyut makineleri belirlemenin bir yolu olarak düşünebilirsiniz. Bir anlamsal anlambilim, akıl almanın kolay olduğunu umduğumuz bir dilin kompozisyon modelini verir. Her ikisine de sahipsek, dil hakkında hem uygulayabilir hem de akıl yürütebiliriz.

  • Normalizasyon teoremleri ilginç bir muğlak durumdur. Genellikle normalleşmeyi kanıtlamak için semantik bir modele (tipik olarak mantıksal bir ilişkiye) ihtiyacınız vardır. Bununla birlikte, normalleşmenin geçerli olduğunu öğrendikten sonra, birçok özellik artık tamamen sözdizimsel bir argüman olan normal formlarda indüksiyonla kanıtlanabilir.

    Zayıf mantıklarda (indüksiyon olmadan birinci dereceden mantığa kadar, kabaca), kalıtsal ikame tekniğini kullanarak normalleşmeyi sözdizimsel olarak kanıtlayabilirsiniz . Bu mantıklarda, subformula özelliği tutulur ve böylece türler üzerinde indüksiyonla normalleşmeyi kanıtlayabilirsiniz. Bunun nasıl çalıştığına dair açıklama için Frank Pfenning'in Yapısal Kesim Giderme adlı makalesine bakın .


Vay canına, hızlı ve kapsamlı cevap için teşekkürler!
Blaisorblade

Operasyonel semantiklerin belirleyici olmamasına verdiğiniz nedene katılmıyorum. İşlemsel anlambilim, nototasyonel değildir, çünkü programlara hiçbir not atanmamıştır. İşlemsel anlambilimi kompozisyona dönüştüren işler vardır.
gü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.