Ceci est une question de suivi Quelle est la différence entre les preuves et les programmes (ou entre les propositions et les types)? Quel programme correspondrait à une preuve non constructive (classique) de la forme ∀ k T ( e , k ) ∨ ¬ ∀ k T ( e …
Je m'intéresse aux raisons pour lesquelles les nombres naturels sont si appréciés par les auteurs de livres sur la théorie des langages de programmation et la théorie des types (par exemple J. Mitchell, Foundations for Programming Languages et B. Pierce, Types and Programming Languages). La description du lambda-calcul simplement tapé …
Si nous nous en remettons au livre (ou à toute autre version de la spécification du langage si vous préférez), quelle puissance de calcul une implémentation C peut-elle avoir? Notez que «implémentation C» a une signification technique: il s'agit d'une instanciation particulière de la spécification du langage de programmation C …
En parallèle, j'écris un langage en utilisant Python. J'ai commencé par utiliser un clone flex / bison appelé Ply, mais je me heurte aux limites de la puissance de ce que je peux exprimer avec ce style de grammaire, et je ne suis pas intéressé à pirater ma langue en …
Je suis confus par la subtile différence entre les propositions et les jugements lorsqu'ils sont exposés à la théorie du type intuitionniste. Quelqu'un peut-il m'expliquer à quoi bon les distinguer et qu'est-ce qui les distingue? Surtout au vu de l'isomorphe de Curry-Howard.
Je lisais récemment Les deux dualités du calcul: types négatifs et fractionnaires . Le document développe les types de somme et les types de produits, donnant une sémantique aux types a - bet a/b. Contrairement à l'addition et à la multiplication, il n'y a pas un mais deux inverses d'exponentiation, …
Cette question a été migrée à partir de Stack Overflow car il est possible d'y répondre sur Théorical Computer Science Stack Exchange. Migré il y a 8 ans . Étant donné que la correspondance Curry-Howard est si largement diffusée / étendue, y a-t-il une différence entre les preuves et les …
ACSL (Ansi C Specification Language), est une spécification pour le code C, annotée de commentaires spéciaux, qui permet de vérifier formellement le code C. Je ne l'ai pas étudié, mais j'imagine que les méthodes formelles utilisées dans ACSL vérificateurs seraient similaires à Hoare Logic. Pour les langages fonctionnels purs, comme …
Comme il n'y a pas eu de réponse à Lambda the Ultimate, je réessaye ici: les systèmes de réécriture de termes sont utilisés par exemple dans un théorème automatisé prouvant un calcul symbolique, et bien sûr pour définir des grammaires formelles. Il existe certains langages de programmation basés sur la …
1) Quelle est, le cas échéant, la relation entre le typage statique et les grammaires formelles? 2) En particulier, serait-il possible pour un automate borné linéaire de vérifier si, disons, un programme C ++ ou SML était bien typé? Un automate de pile imbriqué? 3) Existe-t-il un moyen naturel d'exprimer …
Dans sa réponse à cette question , Stéphane Gimenez m'a signalé un algorithme de normalisation polynomiale en temps pour les preuves en logique linéaire. La preuve dans l'article de Girard utilise des réseaux de preuve, qui sont un aspect de la logique linéaire que je ne connais pas vraiment. Maintenant, …
Les types et langages de programmation se concentrent un peu sur le sous-typage, mais pour autant que je sache, le sous-typage ne semble pas particulièrement fondamental. Le sous-typage vous donne-t-il plus que les types dépendants? Travailler avec des types dépendants est forcément plus de travail, donc je peux comprendre pourquoi …
D'après ce que je comprends (ce qui est très peu, corrigez-moi donc là où je me trompe!), La théorie des langages de programmation s'intéresse souvent aux preuves "intuitionnistes". Dans ma propre interprétation, l'approche nous oblige à prendre au sérieux les conséquences du calcul sur la logique et la prouvabilité. Une …
Inspiré par les vastes hiérarchies présentes dans la théorie de la complexité, je me suis demandé si de telles hiérarchies étaient également présentes pour les systèmes de types. Cependant, les deux exemples que j'ai trouvés jusqu'à présent ressemblent davantage à des listes de contrôle (avec des caractéristiques orthogonales) qu'à des …
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.