Comme défini par Wikipedia,
(La correspondance Curry-Howard) est une généralisation d'une analogie syntaxique entre les systèmes de logique formelle et les calculs computationnels qui a été découverte pour la première fois par le mathématicien américain Haskell Curry et le logicien William Alvin Howard.
Le λ-cube qui lui est associé est une représentation graphique des axes de raffinement possibles des types simples au calcul des constructions, qui a une interprétation logique:
Pour autant que je sache, la correspondance Curry-Howard est un lien entre la théorie des types et les logiques classiques. Ma question est: existe-t-il une correspondance analogique entre les systèmes de types et les logiques linéaires ?
logic
type-theory
functional-programming
MaiaVictor
la source
la source
Réponses:
Vous pouvez imposer des exigences similaires dans votre système de type, ce qui revient à exiger que les objets ne soient jamais détruits ni dupliqués. Pour un exemple d'application pratique, voir Les types linéaires peuvent changer le monde! par Philip Wadler, qui spécifie les règles de frappe pour cela. Il montre également comment un système de types peut combiner des types linéaires et non linéaires.
Pour une application pratique de cela, jetez un œil à
std::unique_ptr
C ++. Ici, la linéarité garantit que la désallocation se produit toujours une seule fois.Dans un langage fonctionnel, la linéarité donne également la possibilité de mises à jour destructrices (qui paraissent pures au programmeur). Cependant, dans la pratique, il semble que les monades soient une approche plus courante pour résoudre ce problème.
Mise à jour : j'ai remarqué que dans le tableau NLab Computational Trinitarianism, l'absence de contraction dans une logique (c'est-à-dire l'impossibilité de reproduire une hypothèse) correspond au théorème de non-clonage de la mécanique quantique. Je ne comprends malheureusement pas les implications de cela, mais j'ai pensé que vous pourriez trouver cela intéressant.
la source
La logique linéaire correspond à un système de types pour un calcul de processus (une variante du π-calcul interne ), où:
Il s'agit d'un domaine de recherche assez actif. Alors que les gens s'attendaient à une correspondance entre la logique linéaire et un modèle de concurrence depuis le début de la logique linéaire par Girard [1987] , trouver quelque chose de satisfaisant à la fois du point de vue de la logique et de la modélisation de la concurrence a été quelque peu difficile à atteindre.
Voici un résumé des principaux développements à ce jour.
Si vous cherchez quelques articles pour commencer, je commencerais par [Wadler, 2014] puis [Kokke et al., 2019] (pour voir le dernier système).
la source