Większość teorii typów, które znam, są predykcyjne, przez co mam na myśli to
Void : Prop
Void = (x : Prop) -> x
nie jest dobrze wpisany w większość dowodów twierdzeń, ponieważ ten typ pi należy do tego samego wszechświata co Propi tak nie jest Prop : Prop. To czyni je predykatywnymi i nie pozwala na stosowanie takich impredykatywnych definicji jak wyżej. Jednak okropna liczba „języków tablicowych”, takich jak System F lub CoC, jest w rzeczywistości impredycyjna. W rzeczywistości ta impredykatywność jest niezbędna do zdefiniowania większości konstrukcji nie zawartych pierwotnie w języku.
Moje pytanie brzmi: dlaczego ktoś zrezygnowałby z impredykatywności, skoro ma moc definiowania logicznych konstrukcji? Słyszałem, jak kilka osób zauważyło, że impredykcyjność spieszy „obliczenia” lub „indukcję”, ale mam problem ze znalezieniem konkretnego wyjaśnienia.
forall P : Type, {P} + {~P}, ponieważ ten zestaw impredykatywny implikuje nieistotność dowodu (i nienat jest dowodem nieistotny). Patrz np. Coq.inria.fr/library/Coq.Logic.ClassicalUniqueChoice.html i coq.inria.fr/library/Coq.Logic.Berardi.html