La plupart des théories de type que je connais sont prédictives par lesquelles je veux dire que
Void : Prop
Void = (x : Prop) -> x
n'est pas bien typé dans la plupart des prouveurs de théorèmes car ce type pi appartient au même univers Propet ce n'est pas le cas Prop : Prop. Cela les rend prédictifs et interdit les définitions imprédicatives comme ci-dessus. Cependant, beaucoup de "langages de tableau noir" tels que le système F ou CoC sont en fait imprédicatifs. En fait, cette imprédicativité est vitale pour définir la plupart des constructions non incluses primitivement dans le langage.
Ma question est pourquoi voudrait-on renoncer à l'imprédicativité étant donné son pouvoir dans la définition de constructions logiques? J'ai entendu quelques personnes remarquer que l'imprédicativité gâche le "calcul" ou l '"induction" mais j'ai du mal à trouver une explication concrète.
forall P : Type, {P} + {~P}, car cet ensemble + imprédicatif implique la pertinence de la preuve (et natn'est pas la preuve non pertinente). Voir par exemple coq.inria.fr/library/Coq.Logic.ClassicalUniqueChoice.html et coq.inria.fr/library/Coq.Logic.Berardi.html