Lorsque vous encodez une logique dans un assistant de preuve tel que Coq ou Isabelle, vous devez choisir entre utiliser une intégration peu profonde et une intégration profonde . Dans une imbrication peu profonde, les formules logiques sont écrites directement dans la logique du prouveur de théorèmes, alors que dans …
Je passe en revue les notes de cours sur CIS 500: Fondations logicielles et les exercices sont très amusants. Je n’en suis qu’au troisième exercice, mais j’aimerais en savoir plus sur ce qui se passe lorsque j’utilise des tactiques pour prouver des choses comme:forall (n m : nat), n + …
Coq a le type Prop de preuve des propositions non pertinentes qui sont rejetées lors de l'extraction. Quelle est la raison de cela si nous utilisons Coq uniquement pour les preuves. Prop est imprédicatif, donc Prop: Prop, cependant, Coq déduit automatiquement les index d'univers et nous pouvons utiliser le type …
Je suis tombé sur un désaccord déroutant entre Agda et Coq qui n'est évidemment pas lié aux distinctions les plus connues entre leurs théories de types (par exemple, (im) prédicativité, induction-récursivité, etc.). En particulier, la définition suivante est acceptée par Agda: data Ty : Set0 -> Set0 where c1 : …
Puisqu'il ne permet pas le calcul non terminal, Coq n'est pas nécessairement Turing-complete. Quelle est la classe de fonctions que Coq peut calculer? (en existe-t-il une caractérisation intéressante?)
J'ai vu (et entendu) qu'il a affirmé qu'il est sûr d'ajouter l'axiome classique du milieu exclu à Coq, mais je n'arrive pas à trouver un document soutenant cette affirmation. Les articles que je vois répertoriés sur le wiki Coq sur le milieu exclu montrent une incohérence avec l'ensemble imprédicatif. En …
Coq, Agda et Idris ont une hiérarchie de types infinie (Type 1: Type 2: Type 3: ...). Mais pourquoi ne pas le faire à la place comme λC, le système du cube lambda le plus proche du calcul des constructions, qui n'a que deux sortes, et ◽ , et ces …
Existe-t-il un moyen de prouver le théorème suivant dans Coq? Theorem bool_pirrel : forall (b : bool) (p1 p2 : b = true), p1 = p2. EDIT : Une tentative de donner une brève explication de "ce qu'est la pertinence non pertinente" (corrigez-moi quelqu'un si je me trompe ou je …
Nous voulons souvent définir un objet selon certaines règles d'inférence. Ces règles désignent une fonction génératrice qui, lorsqu'elle est monotone, donne un point moins fixe . Nous prenons pour être la "définition inductive" de . De plus, la monotonie de nous permet de raisonner avec le "principe d'induction" pour déterminer …
Tout en essayant de prouver certaines propriétés de base à l'aide de types coinductifs dans Coq, je continue à rencontrer le problème suivant et je ne peux pas le contourner. J'ai distillé le problème dans un simple script Coq comme suit. Le type d' arbre définit des arbres peut - …
J'ai cherché une formalisation du théorème de compacité pour FOL, mais je n'en ai pas trouvé. Quelqu'un est-il au courant d'un tel développement ou d'un travail connexe?
La sémantique d'un grand sous-ensemble d'OCaml, appelé OCamllight , a été formalisée dans HOL par Owens il y a plusieurs années. Plus récemment, une sémantique théorique de type d'un plus petit sous-ensemble d'OCaml a été implémentée dans Nuprl par Kreitz, Hayden et Hickey . Y a-t-il un développement similaire à …
Comment puis-je convaincre Coq que la fonction récursive donnée ci-dessous se termine? La fonction prend deux arguments inductifs. Intuitivement, la récursivité se termine car l'un ou l'autre argument est décomposé. Plus précisément, la fonction prend deux arbres en entrée. Inductive Tree := | Tip: Tree | Bin: Tree -> Tree …
Je m'intéresse à la modélisation d'objets, de la programmation orientée objet, à la théorie des types dépendants. Comme application possible, j'aimerais avoir un modèle où je peux décrire différentes fonctionnalités des langages de programmation impératifs. Je n'ai pu trouver qu'un seul article sur la modélisation d'objets dans la théorie des …
Je programme depuis plusieurs années, mais je ne connais pas très bien le CS théorique. J'ai récemment essayé d'étudier les langages de programmation, et dans le cadre de cela, la vérification de type et l'inférence. Ma question est, si j'essaie d'écrire un programme d'inférence de type et de vérification d'un …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.