Pour répondre à certaines de vos interrogations Dr T., l'axiome de Proof-irrelevance, ainsi que beaucoup d'autres qui sont parfois plus forts (ie qui l'impliquent) comme l'extensionnalité et le tiers exclu, ne font pas partie de la logique de Coq de base. Cependant, ils ne rendent pas le système inconsistent pour autant et on peut les ajouter sans risque : c'est au choix, et ils se marient assez bien avec la sorte Prop, qui correspond à votre sorte O. Tout ceci est expliqué en détail dans la FAQ Coq sur le site de Coq.
Aussi je ne comprends pas trop la distinction que vous opérez : on peut tout à fait travailler sous le régime de la proof irrelevance dans Coq. J'irais même plus loin, puisque vous voulez faire de 'vraies' maths, alors la logique classique ne serait-elle pas plus naturelle que la logique intuitionniste ? Et avec le tiers-exclu, on peut prouver la proof-irrelevance des propositions dans Prop. Il y a ici une distinction importante dans le système Coq qui est peut être à la source de la confusion : celle entre la sorte Prop et la sorte Set. On peut avoir la proof-irrelevance sur des propositions de Prop c'est à dire :
Pour toute proposition P, toutes preuves p et p' de P, p = p'.
mais la proof-irrelevance des élements de Set est bien sûr inconsistante puisqu'il y a des ensembles à au moins deux éléments (autrement dit, si b et b' sont des booléens, il n'y a aucune raison que b et b' soient le même booléen). Cela explique qu'on ne puisse faire l'injection sur les premiers éléments d'une paire de Heyting par exemple.
Enfin, les scripts Coq sont peu lisibles c'est vrai mais là c'est un autre problème. On ne parle pas à une machine comme on parle à un humain, et c'est un problème des programmes informatiques en général, ils sont toujours moins faciles à comprendre que ce qu'ils font en réalité. Et puis, puisqu'on parle de proof irrelevance, lire un script Coq n'a d'intérêt que pour celui qui a changé son système et doit reprendre la preuve (de la "maintenance de preuve" si l'on veut...), la nature des théorèmes devrait suffire à comprendre de quoi ils parlent, et surtout le bon Coq-eur met les arguments de haut niveau dans des commentaires dans la preuve 
Maintenant, c'est sûr que je rêve d'un système qui me permettrait de faire des maths comme je fais des maths sur papier, et qui me permettrait aussi de créer des fonctions 'computables' et d'en extraire un programme, mais pour l'instant il n'y a bien que Coq qui réponde à mes besoins.
Partager