Est-il vrai que l'ajout d'axiomes au CIC pourrait avoir des influences négatives sur le contenu informatique des définitions et des théorèmes? Je comprends que, dans le comportement normal, un terme fermé réduit à sa forme normale canonique de la théorie, par exemple , si est vrai, alors n doit réduire à un terme de la forme ( s u c c . . . ( S u c c ( 0 ) ) ) . Mais lorsque nous postulons un axiome - disons l'axiome d'extension de fonction - nous ajoutons simplement une nouvelle constante au systèmefunext
qui produira juste "par magie" une preuve de partir de n'importe quelle preuve de Π x : A f ( x ) = g ( x ) , sans aucune signification informatique ( dans le sens où nous ne pouvons pas en extraire de code? )
Mais pourquoi est-ce "mauvais"?
Car funext
, j'ai lu dans cette entrée coq et cette question mathoverflow que cela entraînera une perte de canonicité ou une vérification décidable du système. L'entrée coq semble présenter un bon exemple, mais j'aimerais quand même avoir plus de références à ce sujet - et je ne peux pas en trouver.
Comment est-ce que l'ajout d'axiomes supplémentaires pourrait entraîner un comportement pire de CIC? Tout exemple pratique serait formidable. (Par exemple, l'Axiom Univalence?) Je crains que cette question ne soit trop douce, mais si quelqu'un pouvait faire la lumière sur ces questions ou me donner des références, ce serait génial!
PS: L'entrée du coq mentionne que "Thierry Coquand a déjà observé que la correspondance des modèles sur les familles intensionnelles est incompatible avec l'extensionnalité au milieu des années 90." Est-ce que quelqu'un sait dans quel papier ou quelque chose?
Prop
des assistants de preuve Coq, qui correspondent à des déclarations purement logiques; Prop-Irrelevance correspond ignorer la structure interne des preuves de ces déclarations) sont égales peut être fait principalement en ne se souciant plus d'eux, cela n'a pas besoin d'affecter le calcul - mais cela doit être fait avec soin pour ne pas rendre le système incohérent non plus.Pour comprendre pourquoi l'extension d'un prouveur de théorème avec certains axiomes peut causer des problèmes, il est également intéressant de voir quand il est bénin de le faire. Deux cas me viennent à l'esprit et ils ont tous deux à voir avec le fait que nous ne nous soucions pas du comportement informatique des postulats.
En théorie du type observationnel, il est possible de postuler une preuve de toute cohérence
Prop
sans perdre la canonicité. En effet, toutes les preuves sont considérées comme égales et le système les applique en refusant complètement de regarder les termes. Par conséquent, le fait qu'une preuve ait été construite à la main ou simplement postulée n'a aucune conséquence. Un exemple typique serait la preuve de la « cohésion »: si nous avons une preuveeq
quiA = B : Type
alors pour toutt
de typeA
,t == coerce A B eq t
oùcoerce
transporte simplement un terme le long d' une preuve de l' égalité.Dans MLTT, on peut postuler n'importe quel axiome négatif cohérent sans perte de canonicité . L'intuition derrière cela est que les axiomes négatifs (axiomes de la forme
A -> False
) ne sont utilisés que pour rejeter les branches non pertinentes. Si l'axiome est cohérent, il ne peut être utilisé que dans des branches qui sont en effet hors de propos et ne seront donc jamais prises lors de l'évaluation des termes.la source
Un exemple pratique d'un axiome qui se comporte mal, vous demandez quoi?
L'article Coquand auquel il est fait référence pourrait être [1], où il montre que l'ITT dépendant (théorie du type intuitionniste de Martin-Löf) étendu avec la correspondance de motifs vous permet de prouver l'UIP (axiome d' unicité des preuves d'identité ). Plus tard, Streicher et Hoffmann [2] présentent un modèle d'ITT qui falsifie l'UIP. Par conséquent, la correspondance de motifs n'est pas une extension conservatrice de l'ITT.
T. Coquand, Correspondance de motifs avec des types dépendants .
M. Hofmann, T. Streicher, L'interprétation groupoïde de la théorie des types .
la source