Dans l'isomorphisme Curry-Howard, appliqué aux types de milner Hindley, quelle proposition correspond à un -> [a]?
Question
(En utilisant la syntaxe de Haskell, car la question est inspirée par Haskell, mais elle s'applique aux systèmes de type polymorphe du Milner général Hindley, tels que SML ou ELM).
Si j'ai une signature de type f :: a -> [a]
, Quelle est la proposition logique codée par cette signature de type?
Je connais ce type de constructeurs comme ->
, (,)
correspondent aux «opérations» dans votre logique: ->
correspond au symbole "implique" $ rightarrow $.
je suppose []
est également un constructeur de type, et a le sentiment que la réponse peut avoir quelque chose à voir avec sa définition récursive, qui, je sais, pourrait être mise en œuvre comme quelque chose comme:
data List a = Cons a (List a) | Nil
Mais je ne sais pas ce que cela signifie dans le versement logique.
Pas de solution correcte