Hott kitabında, tür oluşturucuların çoğu gereksiz mi? Ve eğer öyleyse, neden?


14

Hott kitabının 1. Bölümü ve Ek A'da , temeli oluşturmak için birkaç ilkel tip aile (evren tipleri, bağımlı fonksiyon tipleri, bağımlı çift tipleri, Coproduct tipleri, Boş Tip, Birim tipi, doğal sayı tipi ve kimlik tipleri) sunulmaktadır. Homotopi Türü Teorisi için.

Bununla birlikte, evren türleri ve bağımlı işlev türleri göz önüne alındığında, tüm bu diğer "ilkel" türleri inşa edebilirsiniz. Örneğin Boş tip bunun yerine şu şekilde tanımlanabilir:

ΠT:U.T

Diğer tiplerin de saf CC'de olduklarına benzer şekilde inşa edilebileceğini varsayıyorum (yani, sadece tanımı tanımın endüktif kısmından türetmek).

Bu türlerin birçoğu, 5. ve 6. bölümlerde sunulan Endüktif / W tipleri tarafından açıkça gereksiz hale getirilmektedir. Ancak, Endüktif / W tipleri, HoTT ile nasıl etkileşime girdikleri hakkında açık sorular olduğu için (at en azından kitap çıktığı zaman).

Bu yüzden bu ek türlerin neden ilkel olarak sunulduğu konusunda çok kafam karıştı. Benim sezgim, bir temel teorinin olabildiğince minimal olması ve gereksiz Boş bir tipin teoriye bir ilkel olarak yeniden tanımlanması çok keyfi görünüyor.

Bu seçim yapıldı mı

  • farkında olmadığım bazı metatheoretic nedenlerden dolayı?
  • tarihsel nedenlerden ötürü, tür teorisini geçmiş tür teorileri gibi göstermek için (ki bunlar mutlaka temel olmaya çalışmamaktadır)?
  • bilgisayar arayüzlerinin "kullanılabilirliği" için?
  • farkında olmadığım kanıt aramada bazı avantajlar için?

Benzer: Martin-Löf türü teorisinin minimal özellikleri , /cs/82810/reducing-products-in-hott-to-church-scott-encodings/82891#82891


Bunlar gereksizdir, ancak önerdiğiniz şekilde değildir. Kendinize "vakfın minimallik" in hangi amaca hizmet ettiğini sormalısınız. Ve amacı önemsiyor muyuz?
Andrej Bauer

1
Teknik çalışmanın konvansiyonla çok az olduğunu varsayıyorum, aksi takdirde açıkça uygunsa veya açıkça belirtilmişse, şeylerin minimum olması gerekmiyor. Kitap, kesme türlerini tanımladığı zaman (kurallarla tanımlanmış, ancak açıkça asgari değil) olduğu gibi, başka yerlerde de buna yapışır. Örneğin, halefi ve güç operasyonu olarak 0,1,10 olarak tanımlanan nats'ı görürsem kafam karışırdı, ama en azından neden gösterime uygun olduğunu görebiliyordum. Hott çok daha karmaşık bir çalışma alanı ve açık bir şeyi kaçırıp kaçırmadığımı bilmek istiyorum.
user833970

1
Nasıl zararlı olabileceklerini duymak isterim. Bununla ilgili yeni bir soru sormalı mıyım?
user833970

1
@AndrejBauer Onların da neden zararlı olacağını bilmek istiyorum. Temel dilin asgari düzeyde olması gerektiğine inanmak için akıl yürütmem, Ocam'ın ustura arkasındaki akıl yürütmedir, haksız eklenmiş karmaşıklıktır. Neden orada dursun? Neden listeler, dizeler, çiftler, üçlüler, vektörler eklemiyorsunuz? Bunlar keyfi seçimler gibi görünüyor, onları ne haklı çıkarıyor? Edit: Ben sadece bu sorunun cevapları olduğunu fark ettim; ama bu yorumu sadece neden ilgimi çektiğimi belirtmek için burada bırakacağım.
MaiaVictor

1
Bir blog yazısı yazacağım.
Andrej Bauer

Yanıtlar:


14

Boş tipin önerilen kodlamasının neden çalışmadığını açıklayayım. Evren seviyeleri hakkında açık olmalıyız ve onları halının altına süpürmemeliyiz.

İnsanlar "boş tip" dediğinde, iki şeyden biri anlamına gelebilir:

  1. EnA:EUnen,A:EA

  2. EkkEkUkEk:UkA:EkUkek,A:EkA

Hiçbir şart olmaksızın, insanlar "boş tip" dediğinde yukarıdaki ilk anlamı beklerler.

E

E=Π(T:U).T
Ek=Π(T:Uk).T
E0,E1,E2,kEkUk+1Uk

E=Πn.Π(T:Un).T
ΠnL
E=Π(n:L).Π(T:Un).T
EL

UB:UUΠ(X:U)B(X)UUΠ(X:U)XU

Etkileyici evrenler düzenlenebilir. Bununla birlikte, ünlü bir Thierry Coquand teoremi (yanılmıyorsam) , biri diğerinde bulunan iki öngörülü evrene sahip olmanın bir çelişkiye yol açtığını gösterir.

Hikayenin ahlaki: sadece boş türü doğrudan aksiyomatize edin ve şeyleri kodlamayı bırakın.


Bu, boş türü aksiyomatize etmek için ikna edici bir neden, ama yine de tüm bu ağır şeyleri aksiyomatize etme nedenini merak ediyorum.
MaiaVictor

@MaiaVictor: neyin aksine?
Andrej Bauer

Afedersiniz? Demek istiyorum ki, özellikle boş türü aksiyomatize etmenin neden iyi bir fikir olduğunu ikna edici bir şekilde haklı gösterdiniz. Ama OP başka şeyler de sordu: "evren tipleri, bağımlı fonksiyon tipleri, bağımlı çift tipleri, Coproduct tipleri, Boş Tip, Birim tipi, doğal sayı tipi ve kimlik tipleri" (ki bu, HoTT kitabı). (Açıkçası sizden hepsini haklı çıkarmanız için hepsini haklı çıkarmanızı istemiyorum.)
MaiaVictor

1=X:U(XX)

@IngoBlechschmidt ne tür problemleri öğrenmek meraklı! Bana iyi görünüyor ...
MaiaVictor

15

Benzer ancak farklı birkaç soru soruyorsunuz.

  1. HoTT kitabı neden veri türleri için Church kodlamaları kullanmıyor?

    Kilise kodlamaları iki nedenden dolayı Martin-Löf tipi teoride çalışmaz.

    nk<n

    İkincisi, Kilise kodlamalı doğal sayılar gibi veri türlerini tanımlasanız bile, bu türlerle kanıt yapmak için, bunlar hakkında bir şeyler kanıtlamak için tümevarım ilkelerine ihtiyacınız vardır. Kilise kodlamaları için tümevarım ilkelerini türetmek için, Reynolds'un parametrikliğine dayanan bir argüman kullanmanız gerekir ve parametriklik ilkelerinin tür teorisine nasıl içselleştirileceği sorusu hala tam olarak yerleşmiş değildir. (Tekniğin durumu Nuyts, Vezzosi ve Devriese'nin Bağımlı Tür Teorisi için ICFP 2017 kağıt Parametrik Niceleyicileri'dir - bunun HoTT kitabı yazıldıktan sonra olduğunu unutmayın !)

  2. Ardından, vakfın neden asgari olmadığını soruyorsunuz. Bu aslında, tip-teorik temellerin ayırt edici sosyolojik özelliklerinden biridir - tip teorisyenleri, küçük bir kural dizisine sahip olmanın çok önemli bir önemi olmayan teknik bir kolaylık olduğunu düşünmektedir. En küçük kurallar grubundan ziyade doğru kurallara sahip olmak çok daha önemlidir .

    Matematikçiler ve programcılar tarafından kullanılacak tip teorileri geliştiriyoruz ve tip teorisinde yapılan ispatların matematikçilerin ve programcıların doğru şekilde yapıldığını düşündükleri çok, çok önemli. Bunun nedeni, matematikçilerin tipik olarak iyi bir tarza sahip olduklarını düşündükleri argümanların tipik olarak çalışma alanının temel cebirsel ve geometrik ilkeleri kullanılarak yapılandırılmış olmasıdır. Karmaşık kodlamalar kullanmanız gerekiyorsa, çok fazla yapı kaybolur veya gizlenir.

    Bu nedenle, klasik klasik mantığın tip-teorik sunumları bile, resmi olarak sadece NAND ile bir mantığa eşdeğer olsa da, her zaman tüm mantıksal bağlaçları verir. Elbette, tüm boolean bağlaçları NAND ile kodlanabilir, ancak bu kodlama mantığın yapısını gizler.


Bu cevap için teşekkürler! O makaleyi (ve seninkini) okumam gerekecek ve bu daha mantıklı olabilir. Ancak, evren hiyerarşisinin tahmin edici şeyler yapabileceğiniz gibi görünmesini sağlamak için tasarlandığını düşündüm: örneğin (λA: U.λa: Aa) (ΠA: UA → A) (λA: Un + 1.λa: aa) (ΠA: Un.A → A). Bunu açıklamak için garip bir editoryal seçim olduğunu düşünüyorum, bildiğim her mantık kitabı CNF, DNF, NAND ve benzeri gibi daha az kodlamaya dikkat çekiyor. Ve teori oluşturmak için kullanılan herkes, teoriyi göstermek için Nats'in "doğal" bir kodlamasını bekler. Ama bu benim klasik önyargım olabilir.
user833970

Bu benim yorumumda "imkansız" olmalıdır
user833970 15:17

(T:Un).TUnUn+1Un

Belki de evren hiyerarşileri hakkında bir şeyler yanlış anlıyorum. Bir türün hangi Evrende olduğunu asla umursamadığımızı, yalnızca bir kanıtı doğrulamak istediğimizde evren numaralarının atanabileceğini düşündüm. Teknik olarak ΠT: UT, evrenlere endeksli bir tür ailedir. Tıpkı polimorfik kimliğin evrenlere endeksli bir tür ailesi olduğu gibi. Fakat polimorfik kimlikle aynı problemimiz yok mu? Eğer son 2 cümleyi genişletebilseydiniz gerçekten minnettar olurum, anladığımı sanmıyorum.
user833970

Doğru eleme özelliklerine sahip olmadığını söylediğinizde, evren sabitlendikten sonra universT: Un.T?
user833970
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.