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:L→Lμ(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:S→TFFe:S→TF(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ü.FGF+GF×GF→G
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
F m bir p :∀a, β.( α → β) → ( 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.