Tür Teorisinin Günlük Uygulamaları


11

Tip teorisini anlamak istiyorum ama önce onu nasıl uygulayabileceğimi bilmeliyim. Programlamada tip sistemlerinden başka tip teorisinin daha belirgin olmayan uygulamaları olabilir mi? Diyelim ki kişilik profillemesinde ve benzerlerinde başka uygulamalar olabilir mi?


2
Bir şey neden icat edildiğinin dışında uygulamalara sahip olmak zorunda?
Raphael

3
Matematiğin temelleri? İnsanlar aynı zamanda sentetik alan teorisi, topoloji, vb. Gibi şeyleri resmileştirmek için tip teorisini kullanmışlardır. Tez bağlantısı
Daniel Gratzer

1
Uygulama olarak sayıları netleştirebilir misiniz?
Jake

4
Sizin öncülünüze ikna olmadım. Diyelim ki birisi "Otomotiv mühendisliğini anlamak istiyorum ama önce ne için bir araba kullanabileceğimi bilmeliyim. Ulaşım dışında arabaların daha belirgin olmayan uygulamaları olabilir mi?" Bazı insanların arabalarında uyuduğunu söyleyen cevaplar alıyorlar ve Ansel Adams onun fotoğraflarını çekmek için bir platform olarak kullandı . Bu harika ama kimsenin mühendisliği anlamasına yardımcı olmuyor ve varsayımsal öğrencimizi süper yatar koltuklara ve çok sert süspansiyona sahip otomobiller tasarlamaya yönlendirecek gibi görünüyor.
David Richerby

3
Gerçek şu ki, teorik bilgisayar biliminin çoğu (üzerinde çalıştığım şeyler dahil) matematiksel olarak güzel olsa da pratik olarak işe yaramaz. Ne yazık ki taraf seçmelisin.
Yuval Filmus

Yanıtlar:


10

Sen çalışma ilginizi çekebilir Ceptre sonucunda doktora araştırması ait Chris Martens interaktif hikaye anlatımı için tip teorisini kullanır. Aşağıda tez özeti verilmiştir :

Etkileşimli hikaye anlatımı, derin hesaplama fikirlerini insanlığın zengin hikaye ve oyun tarihiyle birleştirerek, oluşturulacak araçlar ve diller için önemli bir bağlam sağlar. Aynı zamanda, resmi şartname dilleri, tipik olarak programlama dillerinin ve karmaşık tümdengelim sistemlerinin analizi için ayrılmış bir temsil ve çıkarım teknikleri paleti sunar. Bu tez, interaktif hikaye anlatımı alanındaki sorunları resmi şartnamedeki çözümlere bağlamaktadır.

Özellikle, anlatıyı yapısal bir bakış açısıyla inceler ve alternatif anlatı yollarının eşzamanlı etkileşen zaman çizelgeleri için tamamlayıcı bir rol oynadığını gözlemleriz. Doğrusal mantık, bu yapıyı araştırmak için gerekli temsili araçları sağlar ve yazışmaları kanıtlara ve kanıt yapısına genişleterek bir dizi hesaplama olanağı buluruz. Bu olasılıkları gerçekleştirmek için üç çaba sunuyoruz: (1) anlatı üretmek için doğrusal mantık programlamanın kullanılması; (2) etkileşimli anlatılar, oyunlar ve simülasyonlar yazmak için yeni bir programlama dili; ve (3) tasarım düzeyinde program özelliklerini belirleme ve kanıtlama teknikleri.

Mantıksal anlambilimine minimal bir genişleme ile zenginleştirilmiş doğrusal mantık programlamanın, çok çeşitli programlama deyimleri ve alan kodlamaları sağladığını görüyoruz. Kanıt olarak, sosyal simülasyon, savaş tabanlı macera oyunları ve masa oyunları da dahil olmak üzere beş örnek olay incelemesi yapıyoruz. Tasarım doğruluğu ile ilgili akıl yürütmeyi desteklemek için, program değişmezlerini belirleme ve kanıtlama tekniklerinin yanı sıra bu değişmezleri dilin büyük bir parçası için otomatik olarak kontrol etmeye yönelik karar verilebilir bir kanıt sunuyoruz.

Bu bulgular, lineer mantığın etkileşimli dünyaların modellenmesi ve yürütülmesi için temel teşkil edecek verimli bir temsil dili olduğunu ve gelecekteki araştırmaları yaratıcı sistemler için kanıt teorik metodolojilerinin kullanımı konusunda davet ediyor.


1
Doğrusal mantığın kullanılması yerine, tip teorisi gibi Yani sesler başına .
David Richerby

6
Doğrusal mantık, tip teorisinin temel taşlarından biridir. Bu çalışma, tip teorisinin bir disiplin olarak çok önemli bir parçasıdır (bazı insanlar, çalışmalarını tip teorisiyle eşit derecede ilgili olduğunda "ispat teorisi" olarak tanımlarlar, ancak isimler "ispat teorisindeki" diğer bazı eserler olarak kabul edilemez. tür teorisinin merkezi olmaktan ziyade kanıt teorisine daha spesifik).
gasche

9

Dilbilimde tür teorisinin ilginç kullanımları vardır. Örneğin, Chung-chieh Shan veya Christian Rétoré'nin dil çalışmalarına bakın .

Aşağıda, Rétoré'nin kategorik gramerler kitabının açıklaması verilmiştir :

Bu kitap, Lambek'in çalışmasıyla başlatılan mantıksal gelenekte kategorik gramerlere çağdaş ve kapsamlı bir giriş niteliğindedir. Öğrencilere ve araştırmacılara alandaki temel sonuçlarda rehberlik eder ve birçok klasik teoremin modern kanıtlarını ve orijinal son gelişmeleri sağlar. Çok sayıda örnek ve alıştırma, bu sonuçların motivasyonlarını ve uygulamalarını dilsel, hesaplamalı ve mantıklı bir bakış açısından göstermektedir. Lambek hesabı ve varyantları ve karşılık gelen gramerler bu ders notlarının merkezinde yer almaktadır. Bir bölüm bu kategorik gramerlerin temel bir özelliğine ayrılmıştır: çok zarif sözdizimi-semantik arayüzü. Ayrıca, Grail ayrıştırıcısında örneklendiği gibi verimli ayrıştırma algoritmaları sağladıkları için lineer mantık geçirmez ağları bu hesaplamalara uyarlıyoruz.

Aşağıdaki alıntı Shan'ın Dilsel Yan Etkileri kitap bölümünün tanıtımında yer almaktadır :

Bu makale, doğal dillerde görünen uyumsuzluk vakalarını programlama dillerindeki vakalarla ilgilidir. Bir kum saati şeklindedir: §1'de kompozisyon semantik teorilerini oluşturmamıza yardımcı olan sözdizim-anlambilim arayüzüne bir yaklaşımla başlıyorum. Bu yaklaşım, programlama dillerindeki hesaplama yan etkileri ile doğal dillerdeki dilsel yan etkilerle dediklerim arasında bir analoji çizmektir.

Bu bağlantı bilgisayar bilimcilerinin yanı sıra dilbilimcilere de yarar sağlayabilir, ancak burada teknoloji transferinin ikinci yönüne odaklanıyorum. Devamlar, hesaplama yan etkilerinin tedavisinde yararlı olmuştur. §2'de anlambilimdeki süreklilikler için yeni bir üst dilde tanıtıyorum.

Benim tanıdığım meta dil hem programlama dillerini hem de doğal dilleri analiz etmek için kullanışlıdır. Sezgisel olarak, §3'teki ilk kullanımı araştırıyorum, sonra bu tedavinin erdemlerini §4'te belirtiyorum.

§5'te doğal dile dönersek, bu bakış açısının Chris Barker'a nasıl yardımcı olduğunu ayrıntılı bir şekilde anlatacağım ve bağlanma ve çaprazlama, ayrıca wh-soruları ve üstünlüğü üzerinde çalışıyorum. Ayrıca, özellikle Mandarin Çincesi'nde nicelik ve wh-belirsiz kapsamı incelemek için süreklilikler kullandım, ancak burada bu ilave gelişmeleri çizmek için sadece yer var, §6.


9

Nedeniyle Curry-Howard yazışma , türleri türleri gibi önermeler ve önermeler olarak yorumlanabilir.

Bunun bir sonucu olarak, tür teorisi, kanıtları için biçimsel mantık kullanan herhangi bir alana tam anlamıyla uygulanabilir. Bu devre doğrulaması, gerçek analiz, sembolik mantık, geometri vb. Olabilir.

Örneğin, bazı otomatik prova kontrol araçları bu prensibi kullanarak çalışır: bazı tip sistemlerde belirli bir terimi tip kontrol ederek ispatın geçerliliğini kontrol ederler. LF geçirmez kontrolör , HOL Light gibi bu yaklaşıma dayanmaktadır . Örnek bir uygulama olarak, kanıt taşıma kodu, güvenilmeyen kodun bellek güvenliği kanıtlarını kontrol etmek için LF kullandı. Bu tür bir kanıt denetleyicisini kullanmanın yararı, uygulamanın çok basit olabileceğidir ve bu nedenle uygulamanın doğru olduğuna dair yüksek güvence elde edebiliriz. Aşağıdaki örneğe bakınız:

Küçük Tanıklara Sahip Temel Kanıtı Dama . Dinghao Wu, Andrew W. Appel, Aaron Stump. PPDP 2003.



Bunun soruyu cevapladığını sanmıyorum. Gerçek uygulamalar ne olacak?
Yuval Filmus

@YuvalFilmus "Gerçek" tanımlansın mı?
David Richerby

1
Herhangi birinin devre doğrulama, gerçek analiz, sembolik mantık veya geometri hakkında yeni bir şey kanıtlamak için tür teorisi kullandığını biliyor musunuz? Yoksa sadece birinin temel bir ders kitabında üç satır alan bir şeyi kanıtlamak için 20 sayfa tür teorisi kullandığı durumlardan mı bahsediyoruz?
David Richerby

@David Bu cevap, prensipte şeyleri kanıtlamak için tip teorisini kullanabilmenizdir. Ayrıca, prensip olarak, Kural 110 Turing-complete olduğundan, kanıtlamak için hücresel otomata kullanabiliriz. Sanırım eski ifade ikincisi kadar anlamsız.
Yuval Filmus

7

Bağımlı türlerin uygulamalarını açıklayan ilginç bir makale , Pi'nin Gücüdür ve Agda'nın ilginç problemleri çözmek için nasıl kullanılabileceğini gösterir.

Diğer bir iyi örnek, kaynak kontrolüne bağımlı türlerin kullanılmasıdır. Buna iyi bir örnek dosya yönetimi API'sıdır Effects of İdris . Örneğin, bir dosyadan satır okuma işlevi aşağıdaki türe sahiptir

readLine  : { [FILE_IO (OpenFile Read)] } Eff String

ki bu işlev yalnızca bir dosya açıldığında uygulanabilir. Parantez içindeki liste hangi efektlerin kullanılabilir olduğunu gösterir. Bu durumda, bu fonksiyonun bir dosyayı okumak için açılmış olmasını gerektirir.

Efekt kütüphanesi hakkında daha fazla bilgiyi burada bulabilirsiniz .

Bir başka uygulama, Idris yaratıcısı tarafından aşağıdaki makalede bildirildiği gibi eşzamanlılık için bağımlı türlerin kullanılmasıdır .


1
Daha fazla örnek eklendi.
Rodrigo Ribeiro

3

jmite'nin cevabında belirtildiği gibi, devre / donanım / elektronik doğrulamasında üst düzey mantık / tip teorisi onlarca yıldır var ve şimdi o kadar rutin ki, görünüşte büyük bir transfer çabasından sonra bir "uygulama" olarak bile fark edilmedi / kabul edilmedi. hala aktif bir araştırma alanı olmasına rağmen ~ 1990'lar. Ayrıca Coq ve onun tip mantığının özellikle düşük seviye kapı mantığından çok daha yüksek seviye / sipariş yapılarına / alt sistemlerine kadar devre / donanım / elektronik doğrulamaya çok fazla uygulaması vardır. işte birkaç önemli referans


1
Adil olmak gerekirse, endüstriyel ölçekte en güncel donanım doğrulaması, genellikle tip teorisi ile ilgisiz bir doğrulama teknolojisi olan model kontrolü kullanılarak yapılmıştır (köprüler yakın zamanda çizilmesine rağmen). Tür teorisi, donanım tanımlama dillerini (programlama dillerinden çok fazla getirilmemiş) oluşturmak için kullanılmıştır ve verdiğiniz dillerin çoğu bu kategoridedir ve donanım doğrulaması için tasarlanmış kanıt yardımcılarından bazıları (özellikle orijinal HOL, ancak değil en çok kullanılan PVS) tipi teorisinin Curry-Howard uyumlaştıran bulunmaktadır.
gasche

Donanım doğrulamasında daha derin bir geçmişe sahipseniz, Bilgisayar Bilimi Sohbeti'nde daha fazla ayrıntı duymak ilginç olurdu, ancak dar / farklı çizgiler / genellemeler düşünmek / şüphelenmek kolay değildir, örneğin model kontrolü ve tip teorisi arasında. farklı amaçlarla iki farklı alan arasındaki bağlantıları kapsamlı bir şekilde ortaya çıkarmak / parçalamak için çok ince bir tarihsel analiz gerekebilir ve bazen her iki alandaki uzmanların bireysel olarak yeteneklerinin dışında bile ... refs genel olarak daha fazla analiz edilebilecek güçlü bağlantılar gösterir. ..
vzn
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.