Anlamsal anlambilim nedir?


45

Bir günü farklı bir iş parçacığı , Andrej Bauer denotasyonel semantiğini olarak tanımlanır:

Bir programın anlamı, parçalarının anlamlarının bir fonksiyonudur.

Beni bu tanımdan rahatsız eden şey, yaygın olarak kasten çıkmayan anlambilim, yani yapısal operasyonel anlambilim olarak düşünülen şeyden, kimi anlamsal anlambilim olarak düşünülen şeyleri ortaya çıkarmamış gibi görünmesidir .

Daha doğrusu, buradaki anahtar bileşen , semantiğin modülerliği veya kompozisyonu ya da programın soyut yapısına göre tanımlandıkları gerçeği farklıdır.

Bugünlerde çoğu (hepsi?) Biçimsel anlambilim yapısal olma eğiliminde olduğundan, bu gerekli tanım mı?

Öyleyse, benim sorum şu: Alaycılık anlambilimi nedir?


4
Anlam birçok formda verilebilir: posta öncesi koşullar, soyut bir makinenin çalışması, matematiksel bir varlık, bir oyun stratejisi. Tüm modern yaklaşımlarda, bu anlamlar, parçaların anlamlarının bir fonksiyonu olarak verilmiştir.
Ohad Kammar

1
nin varlığı sorunu alan teorisi çalışmasını başlattı. Sözde olmayan yaklaşımdan kaynaklandı, ancak bunu tanımlamıyor (örneğin, söz konusu dilin işlev alanları bile olmayabilir). Modülerliğe gelince, yukarıda belirttiğim gibi, temel olarak semantik hakkındaki her modern yaklaşım uygun bir şekilde kompozisyona sahiptir. [DD]D
Ohad Kammar

10
Tamam, lütfen başlattığı ya da motive ettiği alan teorisini başlattığı yanlış fikrini yaymayı bırakın . Dana Scott, alan teorisi yazılan calculus için uygun bir matematik teorisi olmasını istedi . Ayrıca yazılmamış calculus modelini vermesi bir kazaydı . Biliyorum, bana öyle söyledi. λ λ[DD]=D λλ
Andrej Bauer

2
Düzeltme için teşekkürler. Demek istediğim, yayınlanmamış "ISWIM'e Yönelik Teorik Alternatif Türü" nde, aramayı bırakmayı ve yazılan calculus modellerini aramaya başladığını savundu. Süreçte yukarıdaki etki alanı denklemine bir çözümü keşfetti . Bu nedenle, sorusu olmayan bir -existence pozitif olduğu öne sürülmüştür (ancak negatif olduğu ortaya çıktı), bu nedenle alanı teorisi tarafından başlatılan etki neden oldu. Burada da yanılıyor muyum? λ D [ D D ] D[DD]=DλD[DD]D
Ohad Kammar

1
Bunun bir faydası olmadığından eminim, ancak “güncel” terimbilimsel anlambilim çalışmasını görme biçimim “dilin bir kategoride derlenmesi” - gerçekten de kategori yapısında ısrar etmeden iyi bilinen matematiksel nesneler anlamında anlambilim yazabilirsiniz. Karşılaştığım belirli örneklerin adil bir karakterizasyonu.
gasche

Yanıtlar:


30

Şahsen, ifade ile işlemsel anlambilim arasında yaptığım ayrım şöyle:

  • ifade anlambilimsel matematiksel ve eşittir. İndirgemenin detayları nihai sonuçtan daha az önemli, bu da bazı matematiksel alanlarda zamansız bir değer.
  • işlemsel anlambilim algoritmiktir. Zaman içinde bireysel adımlarla ortaya çıkar. Süreç anlamın bir parçasıdır ve sonuç, bu süreçte sadece seçkin bir adımdır.

Fark bazen çok ince olabilir ve bunun sadece stilde mi yoksa maddede mi bir fark olup olmadığını söylemek zor olabilir.

Bununla birlikte, Andrej'in kompozisyon tanımının, ifade tanımından daha doğal olarak nasıl geçtiğini görebiliriz ve aynı zamanda, operasyonel tanımı hala karşılayan, birleşik olmayan, birleşik olmayan anlambilimi de kolayca hayal edebiliriz.


Algoritmik-vs-matematiksel farkın iyi bir örneği, zıtlaştırma tedavisidir. Bir döngünün belirtilmesi diptedir, ancak durma problemi nedeniyle, keyfi bir programın belirtilmesinin alt olup olmadığı belirsizdir. Küçük adımlı anlambilimde, bunun yerine, azaltma adımlarını gözlemleyebilirsiniz, ancak teoride "alt" bir değer yoktur. Kararsızlık ve kontrolsüzlük metatheoriğe geçer: kararsız olan, bir azaltma dizisinin sona ermesidir. Benzer şekilde, büyük adımlı anlambilimde bir türev olup olmadığının anlaşılması imkansızdır.
Blaisorblade

23

Dana Scott'ın ne söyleyeceğini tahmin edersem, muhtemelen söylemsel anlambilimin birleşimsel olduğunu (iddia ettiğim gibi) ve bir programın anlamının bazı sözdizimsel ya da formalist bir varlık değil gerçek bir matematiksel nesne olması gerektiğini söylerdi . Elbette, böyle bir görüş, sözdiziminin biçimsel manipülasyonu ile "gerçek" matematiğin ayırt edilmesini gerektirir. Bu mutlaka matematiksel olmayan bir ayrımdır.

Daha sonra, gözlemsel olarak iki farklı programın aynı anlamı alamadığı anlamında anlamın yeterli olacağı tahmin edilebilir. Tabii ki, bu tür bir yetkinlik, birinin “gözlem” olarak kabul ettiği şeye bağlıdır.

Bu görüşe göre, yapısal operasyonel anlambilimin, anlamsal olmayan bir anlam ifade etmediği, çünkü sözdizimsel bir varlığın anlamını, başka bir sözdizimsel varlıkla (bir değer veya bir azaltma dizisi) eşitlediği söylenebilir.


3
Zaman zaman, geçiş sistemlerinin etki alanları veya kafesler ya da siparişler kadar matematiksel olmadığı söyleniyor. Bu görüşü şaşırtıcı buluyorum. Hepsi ZFC küme teorisinde ifade edilebilir.
Martin Berger,

1
Belirli bir anlambilimin ne kadar kesin bir şekilde hesaplamalı bir fenomeni modelleyebileceğini düşünmek daha ilginç bir yaklaşımdır ve gerçekten de seçilen gözlem kavramına bağlıdır. İşlemsel anlambilimin en önemli avantajlarından biri (örneğin süreç teorisi), doğal gözlem kavramlarının, sipariş teorisi anlambilimi ile karşılaştırıldığında çok daha kolay tanımlanabildiğidir.
Martin Berger,

3
@Marc: Operasyonel metotların hesaplamayı fonksiyon olarak modellemediği konusunda size katılıyorum. Fakat bunun neden teorik yaklaşımları “daha ​​matematiksel” hale getirdiğini anlamıyorum. Diferansiyel denklemler gibi fizikten etkilenen matematik, belirli sistemlerin zaman içindeki değerlendirmelerini modeller. Girdi-çıktı yaklaşımının kendisi temel bir geçici yapı kullanır, yani çıktı girdiden önce mevcut değildir.
Martin Berger

2
@Martin: Matematikçiler sıklıkla fizikçilerin yaptıklarının da gerçek matematik olmadığından şikayet ederler. ;-) Fizik, bu zamanda, daha konforlu bir şekilde kurulmuş bir bilimdir. TCS hala nispeten bloktaki yeni çocuk. Bence TCS insanları farklı bir disiplinde (kişisel olarak ne kadar seversek sevelim) mutlu etmekten endişe etmemeli; hareket halindeyken kendi mojo'muz var (tıpkı fizikçiler gibi).
Marc Hamann

2
@Marc: keyfi çöp ZFC'de ifade edilebilir, bu yüzden güveneceğiniz bir kriter değil. Bir programlama dilinde "fonksiyonların" matematiksel anlamda fonksiyonlar olarak yorumlandığı anlambilim en az iki avantaja sahiptir. Birincisi, insanların bir programlama dilinde işlevleri nasıl düşündüklerine iyi uyuyor. İkincisi, işlevler bilinen matematiksel nesneler olduğundan, kullanabileceği çok fazla makine var. Elbette, geçiş sistemlerinin de kullanımları var.
Andrej Bauer

19

A. Bauer'ın tercümanlık anlamında anlambilimsel tanımlamanın tanımlanmasının ( Dil anlambilimi programlama üzerine kitaplarda ), anlamsız anlamsal anlamlandırma ile program mantığının (aksiyomatik anlambilimsel) açık bir şekilde işlemsel anlambilimden daha iyi karakterize edilmediğini açıkça ifade edemiyorum. .

Terimin sosyo-tarihsel olarak en iyi anlaşılmasını öneririm, belirli bir teori geleneğine (Scott, yazılmamış lambda hesabının kafes teorik bir modelini ürettiğinde ciddiyetle başlamış) bazı tercih edilen araçlarla (sipariş teorisi, sabit nokta teoremleri) , topoloji, kategori teorisi) ve tercih edilen hedef dilleri (tamamen işlevsel ve sıralı). Bence - saf entelektüel ilgiden ayrı olarak - anlamsal anlambilim çoğunlukla icat edildi, çünkü:

  1. Operasyonel anlambilim hakkında düşünmek zordu.

  2. Önemsiz olmayan dillere aksiyomerik anlambilim vermek zordu.

Her iki problemin de önemli ölçüde iyileştirildiğini, (1) örneğin proses teorisinden (belirli bir operasyonel anlambilim biçimi olarak görülebilir) gelen bisimilasyona dayalı teknikler veya operasyonel anlambilim ve program üzerinde Pitts'in çalışmasıyla ortaya çıkan bisimilasyona dayalı tekniklerle düzeltildiğini iddia ediyorum. eşdeğerlik ve (2) örneğin Hennessy-Milner mantığının yazılan versiyonları olarak türetilmiş calculi içindeki programlama dili yerleştirmeleri yoluyla türetilmiş ayırma mantığı veya Hoare mantıklarının geliştirilmesiyle.π

Dolayısıyla, özet olarak, "sözde anlambilim" teriminin daha az kesin ve daha az kullanışlı hale geldiğini iddia ediyorum. Semantik topluluğun daha iyi terminolojiye yaklaşması yararlı olabilir.


1
Son yazımı özetlemek için, "sözde anlambilim", "bu gösterimin anlamı" demek zorundadır. "İşlemsel" anlambilim ve "aksiyomatik" anlambilim, bu tür anlamsal tanımları değildir. Bu şekilde görünmelerini sağlamak yanıltıcıdır. Ayrıca “operasyonel yaklaşım” olarak adlandırılan şeyin programlar hakkında muhakeme için bir yaklaşım olduğunu unutmayın. İşlemsel anlam değil. Operasyonel yaklaşım ve aksiyomatik yaklaşım, anlamsal anlambilimin mühendislik uygulamalarının yerine geçebilir. Fakat onlar anlamsal anlamlandırmalar haline gelmezler.
Uday Reddy

@Uday. Bunun gerçekten önemli bir fark olduğundan emin değilim. Örneğin, dilinin anlamını calculus'a birleşik çeviri yoluyla verirseniz, her programına bir süreç atarım . Bu işlemin yaptığı sadece operasyonel olarak verilir. Program mantıklarında, bir programın tüm davranışını bir çift formülde yakalayan karakteristik formüller (hesaplanabilir indüktif olarak program sözdizimini oluşturur) vardır. Bu nasıl "bu gösterimin anlamı" demiyor? π LLπL
Martin Berger

1
@Martin. Neden işlemlerin kompozisyonsal bir şekilde atanması kınaştırıcı değildir. Hepimizi, süreçlerin aynı teori gibi temel bir teori olduğu ve bunun anlamını istememesi gerektiği konusunda ikna ederseniz olabilir. Durumsal hesaplamaları modelleyen temel bir dil olabileceği görüşüne sempati duyuyorum. Belki de bir formun işlem hesabı bir gün böyle bir temel olarak kabul edilecektir. Ama henüz orada olduğumuzu sanmıyorum.
Uday Reddy

1
@ MartinBerger Bu şimdiye kadar öğrendiğim tek şey, ancak hemen iyi bir referans sağlamakta zorlanıyorum. Örneğin, ( "Son olarak Etiketsiz, kısmen Değerlendirilen" citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.99.9287 ) belirgin eş anlamlı olarak intro "ilkel özyinelemeli", "bileşim", "kat" ve kullanır (ancak bu makalede pek tartışılmamıştır, kabul edilmiştir.) Viceversa, Vikipedi burada güvenilecekse, bunun felsefe tartışmasının bir noktası olduğu görülecektir: en.wikipedia.org/wiki/Öncelikli_of_bilgisellik#Critiques
Blaisorblade

1
@Blaisorblade Doktora öğrencisiyken, anlamsal anlambilimcilerle sosyalleşmiştim, çünkü anlamsız anlambilim üzerinde çalışmam gerekiyordu. Onlara her zaman ne anlama geldiğine dair semantiklerin ne olduğunu sordum, eğer bana soyut bir tanım verebilselerdi, ama sadece "reddetme semantiği matematiksel anlambilimdir" gibi kaçınılmaz ya da belirsiz cevaplar aldım, ayrıca bkz. A. Bauer. Kavramın iyi tanımlanmış olduğunu sanmıyorum. Aynı zamanda, örneğin ilkel özyinelemeye ihtiyaç duymanın neden yeterince kısıtlayıcı olduğunu da anlamıyorum, çünkü ilkel özyinelemenin gücü neyin mevcut olduğuna bağlı: (devam ediyor)
Martin Berger

16

Adrej’in cevabından memnunum ama daha fazla detaylandırmak istiyorum.

Öncelikle , terimsel anlambilim "bu gösterimin anlamı budur" gibi bir şey söylemek istiyor. Gerçek bir anlambilimci, anlamların zihnimizde var olduğunu ve notasyonların sadece bu anlamları ifade etmenin bir yolu olduğunu hayal etmek ister. Anlamsal anlambilimin kompozisyonlaştırılması gerekliliği bundan kaynaklanıyor. Anlamları birincil ve ikincil notasyonları ise, daha büyük notaların anlamlarını seçmenlerinin anlamlarının fonksiyonu olarak tanımlamaktan başka seçeneğimiz yoktur.

Bu bakış açısını kabul edersek, iyi bir ifade anlambiliminin aklımızda olduğunu düşündüğümüz anlamları yakalaması gerekir. Herhangi bir kompozisyonsal anlambilim mutlaka tasarıya uygun olmaz. Kompozisyonel bir semantik tanımla karşılaşırsam ve kimse kafasında sahip olduğu herhangi bir anlamı ifade ettiğini kabul etmezse, o zaman çok az kullanım alanı vardır. Oyun şu andaki anlambilim bu durumda. Kompozisyonel bir tanımdır ve teknik olarak oldukça güçlüdür, ancak çok az kişi aklında aklındaki anlamlarla bir ilgisi olduğu konusunda hemfikirdir.

Bununla birlikte, herhangi bir kompozisyon tanımının çeşitli teknik avantajları vardır. Terimlerin sözdizimini indükleyerek eşdeğerleri veya diğer özellikleri doğrulamak için kullanabiliriz. Prova sistemlerinin sağlamlığını doğrulamak için, terimlerin sözdizimini tekrar başlatarak kullanabiliriz. Derleyicilerin ya da program analiz tekniklerinin doğruluğunu doğrulayabiliriz (bu, özellikleri gereği, sözdizimi indüksiyonuyla tanımlanır). Tamamen soyut bir anlamsal tanım daha da teknik avantajlara sahiptir. İki programın eşdeğer olmadığını göstermek için kullanabilirsiniz(keyfi bir kompozisyonsal anlambilim ile yapamazsınız). Tamamen tanımlanabilir bir anlamsal tanım daha iyidir. Burada anlamsal alanlar, programlama dilinde tam olarak ifade edebileceğiniz şeye sahiptir (bazı şartlarla). Bu nedenle, sözdizimsel notasyonlarla yapmak zor olacak hangi değerlerin olduğunu görmek için etki alanlarındaki değerleri numaralandırabilirsiniz. Tüm bu gerekçelerle oyunların semantiği zekice puan alıyor.

Bununla birlikte, kompozisyonsal anlamsal tanımlamalar yıllar içinde üstünlüğünü kaybediyor. Robin Milner ve Andy Pitts, tamamen sözdizimi üzerinde çalışan ancak davranışsal anlamdan bahsetmek için gereken her yerde operasyonel semantiği kullanan bir dizi " operasyonel muhakeme " tekniği geliştirmiştir . Bu operasyonel muhakeme teknikleri düşük teknolojidir. Süslü matematik yok. Sonsuz nesne yok. Onları mezunlara öğretebiliriz ve herkes kullanabilir. Bu yüzden, birçok insan neden kasten anlambilgiye ihtiyacımız olduğunu soruyor. (Martin Berger muhtemelen bu kamptadır.)

Şahsen, alet kutumda çok sayıda alet bulundurmakta sorunum yok. Feragatname teknikleri bazı problemlerde ve operasyonel tekniklerde daha iyi puan alabilir. Teoriyi geliştiren araştırmacılar, bir yaklaşıma veya diğerine daha iyi ayarlanmış olabilir. Sıklıkla, öngörüleri bir yaklaşımla geliştirebilir ve bu görüşleri diğer yaklaşımlara aktarabiliriz. (Andy Pitts'in çalışmalarının birçoğu bu türden bir şeydi. Şüphe uyandıran ortamda ilişkisel parametriklik geliştirildi, ancak operasyonel muhakeme olarak nasıl yeniden tanımlanabileceğini anlayabiliyor. Baktığımda "vay, asla olmaz Bunun mümkün olacağını düşündüm. "Ayırma Mantığı da bu yoldan gidiyor. Steve Brookes, eş anlamlı anlambilim kullanarak Eşzamanlı Ayırma Mantığı için 60 sayfalık bir sağlamlık kanıtı verdi.

Operasyonel yaklaşımlar, programlama dilleri çok süslü olduklarında, her çeşit loopy yüksek dereceli türleriyle, mükemmel sonuçlar elde ediyorlar. Böyle şeyleri matematiksel olarak nasıl modelleyeceğimizi bilemeyiz. Veya, standart matematiksel modeller loopiness stresi altında tutarsız olabilir. (Örneğin, bkz. Reynolds tarafından "Polimorfizm set-teorik değildir".) Tamamen sözdizimi üzerinde çalışan operasyonel yaklaşımlar tüm bu matematik problemlerini özenle yan yana getirebilir.

Operasyonel ve şüphe edilen yaklaşımlar arasında orta olan bir başka yaklaşım gerçekleştirilebilirliktir . Operasyonel yaklaşımlarda olduğu gibi sözdizimsel terimlerle çalışmak yerine, diğer bazı matematiksel temsilciler formunu kullanarak kısmen ifade vermeyiz. Bu temsilciler, gerçek anlam ifade eden "anlamlar" olarak nitelendirilemezler ancak en azından sözdizimsel terimlerden biraz daha soyut olurlar. Örneğin, polimorfik lambda hesabı için önce yazılmamış terimlere (bazı yazılmamış lambda hesabının modelinde) anlamlar verebilir ve daha sonra bunları biraz "operasyonel muhakeme" yapmak için bunları temsilciler ("gerçekleştiriciler" olarak kullanabiliriz) daha soyut seviye.

Öyleyse, şüphe uyandırıcı, operasyonel ve gerçekleştirilebilirlik yaklaşımları arasında sağlıklı bir rekabet olmasına izin verin. Zarar yok.

Öte yandan, farklı yaklaşımlar arasında büyüyen "sağlıksız" bir rekabet de olabilir. Bir yaklaşımla çalışan insanlar, diğer yaklaşımların noktasını görmeyecekleri için o kadar yakından bağlanabilirler ki. İdeal olarak, hepimizin farklı yaklaşımların güçlü ve zayıf yönlerinin farkında olmalı ve bireysel favorilerimiz olmasa bile, onlara karşı bilimsel bir tutum geliştirmeliyiz.


Bu problemi çözmeye yönelik yapıcı bir yaklaşım, farklı yaklaşımlar arasında çeviri bulmak olabilir.
Martin Berger

1
Alet kutusunda bir araç olarak geleneksel terimbilimsel anlambilim ile bir sorunum olmadığını unutmayın. Ben sadece sorunlu ve tutarlı bir gerekçeye sahip olmamalarının daha iyi olduğuna dair açık veya net önerileri buluyorum.
Martin Berger

Peter O'Hearn ve Bob Tennent tarafından düzenlenen "Algollike Languages" ( eecs.qmul.ac.uk/~ohearn/Algol/algol.html ) birimlerini iyi uygulamaların bir modeli olarak düzenledim. Bunlar "geleneksel terimbilimsel anlambilim" (Strachey, Reynolds, Tennent, Meyer ve diğerleri), "geleneksel olmayan" terimbilimsel anlambilim (maden, Abramsky ve McCusker, Brookes) ve operasyonel yaklaşımlar (Andy Pitts, Felleisen) ile ilgili makaleleri içerir. Bu arada, ciltlerdeki iki Reynolds makalesi (Spesifikasyon Mantığı ve Sözdizimsel Girişim Kontrolü) yazıldığında "aksiyomatik" idi!
Uday Reddy

1
Sağlıklı rekabet konusunda, temel sorunlardan biri gelişmeye ayak uyduracak kadar çok yaklaşım, formalizm, araştırmacı ve makalenin olmasıdır. Mevcut yaklaşımları sentezlemek ve birleştirmek için sürekli bir çaba göstermek bir araştırma topluluğu olarak bizim zamanımıza değebilir.
Martin Berger

2
Bildiğim bir başlangıç ​​noktası olan @MartinBerger, Patrick Cousot'un geçiş sistemleri, aksiyomatik anlambilim, terimsel modeller de dahil olmak üzere çok geniş bir anlamsal model dizisinin, ayarlamalar kullanılarak ilişkili olabileceğini gösteren "Anlambilimsel Bir Hiyerarşi Yapıcı Tasarımı" adlı makalesidir. dolayısıyla farklı soyutlamalar olarak görülüyordu.
Vijay D,

12

[Bir cevap daha. Muhtemelen birkaç cevabı toparlamak çok hoş değildir. Ancak, hey, bu derin bir konudur.]

Andrej'in cevabını kabul ettiğimi söyledim, ama tamamıyla aynı fikirde değilim. Bir fark var.

Bir ifade anlambiliminin "bu gösterimin anlamı budur" demesi gerektiğini söyledim. Demek istediğim, göstergelere , başka bir gösterime değil, bir tür kavramsal varlık şekli olan anlamlar verilmesi gerektiğidir . Buna karşılık, Andrej, Scott'ın, anlamların "matematiksel" nesneler olması gerektiğini vurgulamasını da istedi. Matematiksel bit gerekli olduğuna inanmıyorum.

Örneğin, benim açımdan, gösterimlerin anlamlarının fiziksel süreçler olması mükemmel bir şekilde iyi olacaktır. Tüm bilgisayar programları arabanızda fren yaptıktan sonra uçakları uçurun, bombaları düşürün ve ne olmasın. Bunlar fiziksel süreçlerdir, bazı matematiksel alandaki elemanlar değil. Bir bomba düşüremez, birisini öldürüp öldürmeyeceğini göremez ve eğer yapmazsa geri alabilirsin. Bilgisayar programları bunu yapamaz. Ancak matematiksel fonksiyonlar olabilir. (Bunlara "snapback" işlemi denir.) Bu nedenle, matematiksel işlevlerin bilgisayar programları için iyi anlamlar getireceği açık değildir.

Öte yandan, fiziksel süreçler hakkında soyut olarak nasıl konuşulacağını henüz bilmiyoruz. Dolayısıyla, fikirlerimizi ifade etmek için işlemlerin matematiksel bir tanımını gerçekten kullanabiliriz. Ancak bu matematiksel açıklamalar tam da "açıklama" dır. Onlar anlam değil. Gerçek anlamlar sadece kavramsal olarak hayal ettiğimiz fiziksel süreçler olacaktır.

SIGPLAN ödülü için kabul konuşmasında (yakında yakında youtube'de olması gerekir), Hoare ACP'nin "cebirsel bir yaklaşım" kullandığını, CSP'nin "tanımlayıcı bir yaklaşım" kullandığını ve CCS'nin süreçleri tanımlamak için "operasyonel bir yaklaşım" kullandığını söyledi. Ohad ve ben oturumda beraber oturuyorduk, birbirimize baktık ve “bu gerçekten ilginç” dedi. Öyleyse, burada keşfedilmeyi bekleyen çok fazla kavramsal alan var. Bence Scott'ın daha sonra yaptığı çalışmaların, mahalle sistemleri ve bilgi sistemleri vb. Üzerinde gerçekten bir işlevi "süreçler" olarak açıklamak için bir çaba olduğunu düşünüyorum. Girard'ın etkileşim geometrisi ve sonraki oyunlar anlambilimi, işlevleri süreçler olarak açıklama çabasıdır. Katı bir süreç teorisi geliştirmenin, Computer Science'ın 21. yüzyıl matematiğine yapabileceği büyük katkı olabileceğini söyleyebilirim. Matematiğin tüm cevaplara sahip olduğu inancını kabul etmem ve bunları anlamak için hesaplamalı fenomenleri matematiksel kavramlara indirgemeye çalışmalıyız.

Beni şaşırtan şey, bilgi gizlemenin durumsal hesaplamalarda (zorunlu programlama ve işlem hesabı) nasıl çalıştığı, matematiksel / işlevsel formalizmlerde sakar ve karmaşık olduğu. Evet, ilişkisel parametrikliğe sahibiz ve matematiksel formalizmin sınırlamalarını çok güzel bir şekilde aşmamızı sağlıyor. Ancak zorunlu programlamanın sadeliği ve zarafeti ile eşleşmiyor. Dolayısıyla, matematiksel formalitelerin doğru cevap olduğuna inanmıyorum, ancak şu an sahip olduğumuz en iyi cevap olduklarını kabul ediyorum. Ama aramaya devam etmeliyiz. Geleneksel matematiği alt edip yenecek güzel bir süreç teorisi var.


10

[Umarım, bu benim bu sorunun son cevabı!]

Ohad'ın asıl sorusu, kastî semantiğin yapısal operasyonel semantikten ne kadar farklı olduğu ile ilgiliydi. İkisinin de bileşimsel olduğunu düşünüyordu. Aslında, bu doğru değil. Yapısal işlemsel anlambilim, adım dizileri olarak verilmiştir . Her adım birleşik olarak ifade edilir (ve bunun mümkün olduğunu keşfetmesi için Plotkin dikkat çekicidir!), Ancak davranışların tamamı kompozisyonsal olarak tanımlanmamıştır. Plotkin'in SOS makalesine girişinde söylediği şey [vurgu]

Anlamsal anlambilimde, bir bileşik ifadenin anlamının, parçalarının anlamının bir fonksiyonu olarak verildiği bir kompozisyon idealliği izlenir. Operasyonel anlambilim söz konusu olduğunda, bir program ifadesinin davranışı, sadece yapabileceği geçişlerin bir derlemesidir. Bununla birlikte, bu davranış, program cümlelerinin bir fonksiyonu olarak düşünüldüğünde, birleşik değildir . Bununla birlikte, kurallar bunu yapısal olarak, yani, özyinelemeli olarak, sözdiziminde verir;

Her bir adımın kompozisyonsal olarak ifade edilmesi, tüm davranışın kompozisyonsal olarak ifade edildiği anlamına gelmez.

Carl Gunter tarafından , anlambilim belirtmenin farklı yöntemlerinin karşılaştırıldığı ve karşılaştırıldığı , Anlamsal Belirtme Formları adında güzel bir makale var . Bu materyalin çoğu, "Programlama Dilleri Semantiği" metninin ilk bölümünde de yeniden üretildi. Bu umarım resmi açıklığa kavuşturmalıdır.

"İşlemsel anlam" hakkında bir başka kelime. İlk günlerde, "operasyonel" terimi, detaylı değerlendirme adımlarına atıfta bulunan herhangi bir anlamsal tanımı ifade etmek için kullanılmıştır. Hem şüphe uyandırıcı anlambilimciler hem de aksiyomatik destekçiler, "operasyonel" anlambilimine bakıp, düşük seviyeli ve makine odaklı olduklarını düşünüyorlar. Bunun gerçekten daha yüksek seviyeli açıklamaların mümkün olduğu inancına dayandığını düşünüyorum. Bu inançlar, eşzamanlılık kabul edilir edilmez parçalandı. de Bakker ve Zucker'in Süreçleri ve eşzamanlılığın kime anlamsal anlamları aşağıdaki ilginç bölümlere sahiptir:

Biz metodolojisini kullanmak zorundadır denotasyonel semantik. Burada "ifade", "işlemsel" ile karşılaştırılmalıdır: Önceki yaklaşımın ana fikri, bir programlama dilindeki ifadelerin uygun bir yapıya sahip matematiksel alanlardaki değerleri ifade etmeleridir, ikincisi ise dil yapıları tarafından öngörülen işlemlerin uygun bir soyut makineyle gerçekleştirilen adımlarla modellenmiş ....

Matematiksel model, tarz olarak ifade edilmekle birlikte , ruh içinde işlevsel olan çeşitli kavramlar içermektedir . Bunlar, süreç kavramının “tarihçesi” özelliğini ve senkronizasyon ve özyinelemeyle başa çıkmada sessiz hareketlerin kullanılmasıdır.

Burada yazarların "operasyonel" iki kavramla mücadele ettiğini görüyoruz, biri teknik kavram - sözdizimsel manipülasyonlar kullanılarak ifade edilen davranış, diğeri ise kavramsal kavram - düşük seviyede ve ayrıntılı. Kredi, büyük ölçüde "operasyonel" anlambilimi rehabilite etmek, mümkün olduğunca üst seviyelere çıkarmak ve zarif ve anlayışlı olabileceğini göstermek için Plotkin ve Milner'e gidiyor.

Tüm bunlara rağmen, operasyonel süreç nosyonu, hem de Bakker, hem de Hoare ve ekipleri tarafından geliştirilen süreç kavramının ifadesinden oldukça farklıdır. Ve, hala anlaşılması gereken, eş anlamlandırma süreci kavramı hakkında gizemli ve güzel olan bir şey olduğunu düşünüyorum.


Sohbet isteğini yanıtlamadığım için üzgünüm. Gelecek iki hafta boyunca çok meşgulüm. Bunu yazdığın için teşekkürler! Bu, anladığım sayfadaki ilk teknik cevap.
Vijay D

Bu fırsatı , tüm bu tür meseleleri ele almak için tasarlanan Midlands Graduate School of Teorik Bilgisayar Bilimi Okulu'na eklemek için kullanabilirim. Tüm doktora öğrencilerine dünyanın her yerinden katılmak için açıktır.
Uday Reddy

9

Bu ilave cevap, anlamsal anlamsal modellerin bilgisayarlı fenomenleri "açıklamak" için tasarlandıkları noktasını güçlendirmektir. Zorunlu programlama dilleri ("Algol benzeri" diller olarak da adlandırılır) anlambiliminden bir dizi örnek vereceğim.

İlk önce Scott ve Strachey tarafından formüle edilmiş anlamsal model vardı. (Cf. Gordon: Programlama dillerinin kastı tanımı - tüm zamanların favorilerim veya Winskel'in kitabı.) Bu model , bir program tarafından tahsis edilen tüm konumların durumundan oluşan küresel bir devlet olduğunu ortaya koyuyor . Her komut, küresel durumlardan küresel durumlara bir çeşit fonksiyon olarak yorumlanır.

Reynolds , yerel değişkenlerin yığın disiplinini modellemediğini söyledi . Yerel bir kapsam girildiğinde, değişkenleri tahsis edilir ve kapsamdan çıkıldığında tahsis edilir. Temel olarak, bu, "Yerel değişkenler hangi anlamda yereldir?" Sorusudur. Anlambilim yeri nasıl ele geçirir? Bunu açıklamak için, functor kategori modelini icat etti. (Bkz. Reynolds: Algol ve Tennent'in Özü: Programlama dillerinin anlambilimi).

Tennent, Reynolds'un Spesifikasyon Mantığında (yüksek dereceli prosedürler için Hoare Mantığı'nın bir uzantısı) formüle edilen mantık ilkelerini modellemek istedi . Mantık, ifadeye benzeyen (salt okunur) hesaplamalar, komut benzeri ve ifadeye benzeyen hesaplamalar arasındaki parazitsizlikler ve bazı veri soyutlama akıl yürütme ilkeleri gibi fikirlere sahiptir. Reynolds'un fonksiyon kategorisi modelini yenisini bulmak için rafine etti. Buna Tennent'in kitabında yer alan "SASL" modeli de deniyordu.

Meyer ve Sieber ve ayrıca O'Hearn ve Tennent, bu modellerin hiçbiri hala yakalanan kaydetti yerellik tamamen yerel değişkenlerin. Bir soyut veri türünün veya bir sınıfın iki uygulaması yerel değişkenlerinde farklılık gösterse de, onları dışarıdan bakıldığında aynı davranışa sahip şekillerde değiştirdiğinde, gözlemsel olarak eşdeğerdir. Anlamsal anlambilim, onları eşitlemelidir. Bunu modellemek için O'Hearn ve Tennent, Reynolds'un işlev kategorisi modelinin bir değişkenine ilişkisel parametriklik ekledi.

Soruna aynı anda baktığımda, işlev kategorisi yaklaşımına inanmıyorum. Ayrıca aşırı teknik olduğunu düşündüm ve daha basit bir model olması gerektiğine inandım. Bu, beni bir CSP izleri modeli gibi olan ama daha üst düzey bir dil için olan “Küresel devlet gereksiz görünüyor” modelini icat etmeme yol açtı. Ek bir avantaj olarak, bu model aynı zamanda önceki modellerde bulunmayan durum değişikliğinin geri dönüşümsüzlüğünü de ele geçirdi .

Benim modelim, sadece Sözdizimsel Müdahale Kontrolü adlı, Algol'ün iyi niyetli bir alt dili için çalıştı . Abramsky ve McCusker, tam anlamıyla Algol için çalışabilmesi için oyun anlambilimsel fikirler kullanarak modelimi genişletti. Bu yüzden, onların modeli benimkiyle aynı olayları açıklıyor, fakat daha büyük dil için.

Her durumda, yeni modellerin, önceki modellerde doğrulanmayan bahsedilen hesaplama olayını gösteren gözlemsel denklikleri (veya diğer mantıksal formül biçimlerini) yakaladığını gösterebiliyoruz. Dolayısıyla, bu modellerin hesaplama olaylarını “açıklayan” olduğu çok kesin bir anlam vardır.

[Burada bahsettiğim tüm çalışmaları "Algol benzeri Diller" cilimlerinde bulabilirsiniz: link ve link ]

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.