Tür teorisinde tümevarım tanımlarında yordayıcılığın rolü nedir?


16

Sıklıkla bazı çıkarım kurallarına göre bir nesneyi tanımlamak istiyoruz . Bu kurallar , monotonik olduğunda, en az sabit bir nokta veren bir üretme fonksiyonu belirtir . Biz almak ve "endüktif tanımı" olmaya . Dahası, tekdüzeliği, bir kümenin ne zaman içerdiğini (yani bir mülkiyet evrensel olarak tuttuğunda ) belirlemek için "indüksiyon prensibi" ile mantık yürütmemizi sağlar .F μ F A : = μ F A F A AbirUFμFA:=μFAFAA

Coq olarak bir yazı, bu karşılık tanımını açık giriş şartları ile. Bu tanım belirli bir fonksiyonunu belirtirken , bu fonksiyon mutlaka monotonik değildir. Bu nedenle Coq, tanımın "iyi biçimliliğini" garanti etmek için bazı sözdizimsel kontroller uygular. Bazı tahminlere göre, giriş terimlerinin türlerinde negatif pozisyonlarda oluşumlarını reddeder . A F AInductiveAFA

(Bu noktaya kadar anlayışım kusurluysa, lütfen beni düzeltin!)

İlk olarak, Coq bağlamında bazı sorular:

1) Coq sözdizimsel çek sadece tanımı sağlamak için hizmet mu ise yüklem ? (Öyleyse, tanımsızlık tanımın kötü tanımlanmasının tek yolu mu?) Yoksa tekdüzeliği mi kontrol ediyor? (Buna bağlı olarak, monotonik olmama onu öldürebilecek mi?)A

2) böyle bir olumsuz oluşumu mutlaka tanımının öngörücü / monotonik olmadığı anlamına mı geliyor? Yoksa Coq bu durumda iyi tanımlandığını doğrulayamıyor mu?AAbir

Ve daha genel olarak:

3) Tümevarımlı bir tanımın öngörülebilirliği ile bu tanımın üretici işlevinin tekdüzeliği arasındaki ilişki nedir? Aynı madalyonun iki yüzü mü? İlgisiz mi? Gayri resmi olarak hangisi daha önemli?

Yanıtlar:


14

Hayır, bu durumda, öngörülebilirlik ve monotonluk birbiriyle yakından ilişkili değildir.

Coq / Adga'daki pozitiflik kontrolü, monoton bir şeyin en az sabit noktasını kabaca almanızı sağlar.

İndüktif tiplerin kafesler ve monoton operatörler açısından nasıl düşünüleceği aşağıda açıklanmıştır. Knaster-Tarski teoreminin tam bir kafes , her monoton operatörünün en az sabit noktası olduğunu söylediğini hatırlayın . Daha sonra, bir tür teorisindeki türleri, provizyon altında bir kafes oluşturmak olarak düşünebiliriz. Olduğunu, yazın altındadır gerçeği eğer o gerektirir . Şimdi, ne yapmak istiyorsunuz monoton bir operatör almaktır tipleri ve bu operatör en az sabit noktanın bir yorumu çıkmak Knaster-Tarski kullanmak . f : L L μ ( f ) S T S T F μ ( F )Lf:LLμ(f)STSTFμ(F)

Bununla birlikte, tip teorisindeki türler sadece bir kafes değildir: bir kategori oluştururlar. İki tip verilir O ve , potansiyel vardır birçok için yollar altında olduğu , her dayanıklı için bir yol ile, . Dolayısıyla tipi bir operatör de bu ispatlarda mantıklı bir şey yapmalıdır. Tekdüzeliğin uygun genelleştirmesi işlevselliktir . Yani, türler üzerinde bir operatöre sahip olmasını ve ayrıca , o zaman provalar üzerinde bir işlem yapmasını istiyoruz .STSTe:STFFe:STF(e):F(S)F(T)

Şimdi, işlevler toplamlar ve ürünler tarafından korunur (yani, ve türler üzerinde endofunktörler ise, o zaman ve ( noktaya göre hareket eder) de türler üzerinde functorlardır (cebirimizde toplamlar ve ürünler olduğu varsayılarak) Bununla birlikte, fonksiyon alanı tarafından korunmaz, çünkü üstel bifunctor sol argümanında çelişkilidir.Bu nedenle, endüktif tip tanımı yazdığınızda, en az sabit bir nokta almak için bir functor tanımlarsınız. Bunun gerçekten bir işlev oluşturduğundan emin olmak için, işlev boşluklarının sol tarafında yinelemeli parametrenin oluşumlarını dışlamanız gerekir - dolayısıyla pozitiflik kontrolü.FG,F+G,FxG,FG,

Etkileyicilikten (Sistem F anlamında) genellikle kaçınılır, çünkü sizi klasik mantık ve set-teorik modeller arasında seçim yapmaya zorlayan bir prensiptir. F stili dizinlemeniz varsa, türleri klasik küme teorisinde kümeler olarak yorumlayamazsınız. (Bkz. Reynolds'ın ünlü "Polimorfizmi Set Teorik Değildir".)

Kategorik olarak, F tarzı imkansızlık, türler ve terimler kategorisinin küçük bir tam kategori oluşturduğunu söyler (yani, homs ve nesnelerin ikisi de kümedir ve tüm küçük diyagramların sınırları vardır). Klasik olarak bu, bir kategoriyi poset olmaya zorlar. Birçok yapılandırmacı yapıcıdır, çünkü teoremlerinin klasik mantıktan daha fazla sistemde kalmasını isterler ve bu nedenle klasik olarak yanlış olan hiçbir şeyi kanıtlamak istemezler. Bu nedenle, imkansız polimorfizmin temeli.

Bununla birlikte, polimorfizm, klasik olarak tip teorisinize klasik olarak "büyük" birçok koşul söylemenizi sağlar - ve pozitiflik bunlardan biridir! Bir polimorfik terim üretebiliyorsanız, tipi bir işleç işlevlidir:F

Fmbirp:α,β.(αβ)(F(α)F(β))

Bunun işlevselliğe nasıl karşılık geldiğini görüyor musunuz? IMO, bu Coq'da olması çok güzel bir seçenek olurdu, çünkü genel programlamayı çok daha kolay yapmanızı sağlar. Pozitivite kontrolünün sözdizimsel doğası, jenerik programlamanın önünde büyük bir engeldir ve daha esnek fonksiyonel programlar için klasik aksiyomların olasılığı ile ticaret yapmaktan memnuniyet duyarım.

DÜZENLEME: Eğer Prop ve Set arasındaki fark hakkında soran soru Coq geliştiriciler istiyorum aslında doğar izin olmadan, istediğiniz takdirde naif küme-teorik açıdan Coq teoremleri düşünmek zorlayarak bunu size. Teknik olarak, Prop ve Set'i ayırırlar ve daha sonra Prop'nin hesaplama içeriğine bağlı olarak setleri yasaklarlar.

Böylece Prop'i ZFC'de doğru ve yanlış boolean olan gerçek değerler olarak yorumlayabilirsiniz. Bu dünyada, tüm öneri kanıtları eşittir ve bu yüzden açıkçası bir önerinin kanıtı olarak dallanamazsınız. Bu nedenle, Prop kanıtlarının hesaplama içeriğine bağlı olarak setler üzerindeki yasak tamamen mantıklıdır. Ayrıca, 2 elemanlı boolean kafes açık bir şekilde tam bir kafestir, bu nedenle rasgele küme değerli buluşmalar mevcut olduğundan, öngörülemeyen indekslemeyi desteklemelidir. Kümeler üzerindeki öngörülebilirlik kısıtlaması, F-tipi indekslemenin klasik küme-teorik modellerde dejenere olduğu gerçeğinden kaynaklanmaktadır.

Coq'un başka modelleri var (yapıcı mantık!) Ama mesele şu ki, raftan klasik bir matematikçinin şaşkına döneceği hiçbir şeyi kanıtlamayacak.


Yanıtınız için teşekkürler Neel. "Endüktif tanım" tanımınız "ilk cebiri" yaklaşımına daha çok benzemektedir: monotonik işlevler yerine (ispat ve hesaplama içeriği hakkında hiçbir şey söylemez), kendimizi (daha genel kavram) işlevleriyle ilgilendiririz. Bu nedenle, monotonikliği kontrol etmek yerine Coq gerçekten işlevselliği kontrol ediyor. Öte yandan, tahmin söz konusu değilse, Coq neden P r o p'de tanımlanmış nesneler ile S e t veya T y p e'de tanımlanmış nesneler için pozitif oluşum kontrolü arasında ayrım yapar ? FPrÖpSetType
Scott Kilpatrick

Sorunuzu anlamıyorum: Coq Inductive Blah : Prop := Foo : (Blah -> Blah) -> Blahbaşka bir şeyle aynı nefret mi ediyor ?
Neel Krishnaswami

1
Ah, belki de beklenmediklikle ilgili başka bir kontrol için pozitiflik kontrolünü yanlış yapıyorum. Düşünün Inductive prop : Prop := prop_intro : Prop -> prop.vs Inductive set : Set := set_intro: Set -> set.. Peki, eğer belirleyicilik, tümevarımsal tanımla hiçbir ilgisi yoksa?
Scott Kilpatrick

@ScottKilpatrick: bu gerçekten farklı bir kontrol ve (im) tahmini hakkında. Öngörücü güçlü Sigma türleri Girard'ın paradoksunun kodlanmasına izin verir, bu nedenle bazı evrenlerin bir üyesini saklayan bir veri türü Type@{i}en azından daha büyük bir evrende yaşamalıdır Type@{i+1}.
Blaisorblade

6

Tümevarımsal tanımlar ile imkansızlık arasında çok derin bir bağlantı vardır, ancak benim anlayışım, bahsettiğiniz şey bağlamında (im) tahmin özelliği özellikle ilgili değildir ve test sadece monotonluğu garanti etmek içindir, böylece sabit nokta teorisi yani, tümevarım ilkesinin iyi tanımlanmış olduğu (Bu noktada düzeltilmeye hazırım.)

Beklenmediklik ve tümevarımsal tanımlar arasındaki ilişki Coquand tarafından yapılan bu konuşmada incelenmiştir. G. Takeuti'nin 50'li yıllardan elde ettiği bazı sonuçlara, öngörücü tanımların tümevarımsal tanımlara indirgenebileceği geri dönüyor. Kitap

  • Etkileyici Analiz Alt Sistemleri İspat Teorisi - Fizik Biliminde Monograflar ve Ders Kitapları 2 W. Buchholz, K. Schutte

Eğer konuyu ele geçirebilirseniz konunun iyi bir analizini verir. Bu slaytlar genel bir bakış sunar.


4

Sadece Neil'in mükemmel açıklamasını tamamlamak için, imkansızlığın "yumuşak" bir duygusu vardır: kendilerine bir referans kullanarak kümelerin veya koleksiyonların tanımı. Bu anlamda:

Inductive Lam : Set :=
| Var : Nat -> Lam
| App : Lam -> Lam -> Lam
| Abs : (Lam -> Lam) -> Lam

Endüktif bir tür tanımladığı için, koleksiyonun kendisini ifade eden bir fonksiyon alanı (Lam -> Lam) kullanan Lam, öngörülemez bir tanımdır. Bu durumda, imkansızlık zararlıdır : Yanlış'ın kanıtlanması için Cantor teoremini kullanmak mümkündür. Aslında bu, naif Set Teorisini matematiğin tutarlı bir temeli olarak indiren aynı imtiyazlılık markasıdır. Bu nedenle Coq. Farkında olduğunuz gibi , başka bir imkansızlık biçimine izin verilir:

Definition Unit : Prop := forall X:Prop, X -> X

Birimin teklif olarak tanımlanması, üyesi olduğu tüm Önerilerin toplanmasına atıfta bulunur. Nedenleri biraz bana belirsiz Ancak, bu impredicativity olduğu değil de (formunda ZFC mevcut olduğu gibi zararlı sınırsız anlama tutarsız olduğu bilinen değildir).

Sonuç olarak, tanımlarda tümevarım türlerinin olumsuz ortaya çıkması bir ölçülemezlik biçimidir, ancak CoC'nin öngörülemez bir çerçeve olarak konuşulurken genellikle söz konusu değildir .


ZFC'nin sınırsız kavrayışa sahip olduğunu söylediğini anlıyorum. Ama bu kulağa yanlış geliyor - math.stackexchange.com/q/24507/79293 . Chlipala, kitabında tartışırken bunu tartışıyor -impredicative-set: adam.chlipala.net/cpdt/html/Universes.html ve eleme konusunda bazı kısıtlamalardan bahsediyor, ancak bu da benim için belirsiz.
Blaisorblade

1
birxBxB

Ah teşekkürler! Ayrıca yukarıdaki imkansızlığın ZFC'deki ile nasıl eşleştiğini de görüyorum (kullandığım harita muhtemelen çok naif olsa da). Cevabı cevaba ekleyebilir misiniz?
Blaisorblade

Ne yazık ki bu Google için zor görünüyor (veya doğru anahtar kelimeleri bilmiyorum). Daha da kötüsü, hem Wikipedia hem de nLab, "sınırlı kavrama" (ZFC, en.wikipedia.org/wiki/Axiom_schema_of_specification ) ve "kısıtlı / sınırlı ayırma" (ne ile bağlantı kurduğunuz) arasında ayrım yapar. Bkz. Ncatlab.org/nlab/show/axiom+of+separation . Ancak tüm bu terminoloji, gerçekleşmeyi bekleyen bir yanlış anlama gibi görünüyor - genellikle siz ve yazar mathforum.org/kb/message.jspa?messageID=4492130 gibi "ayrılma ~ kavrama" nın da neden olduğunu düşünüyorum.
Blaisorblade

Belki bu tür tartışmalar için en iyi anahtar kelimeler "Yapıcı Küme Teorisi" dir, örneğin wikipedia veya Rathjen'in bu çok hoş makalesi.
cody
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.