Logique combinatoire simplement tapée?
-
30-10-2019 - |
Question
Comme il y a un calcul Lambda non typlé et un calcul Lambda simplement de type (comme décrit, par exemple, dans les types de livres et les langages de programmation de Benjamin Pierce), y a-t-il une logique combinatoire simplement de type?
Par exemple, il semblerait que des types naturels pour les combinateurs S, K et je serais
S : (a -> b -> c) -> (a -> b) -> a -> c
K : a -> b -> a
I : a -> a
Lorsque A, B et C sont des variables de type allant sur un ensemble de types T. Maintenant, nous pourrions peut-être commencer avec un seul type de base, bool. Notre ensemble de types T est alors bool avec tous les types qui peuvent être formés en utilisant les trois modèles
(a -> b -> c) -> (a -> b) -> a -> c
a -> b -> a
a -> a
où a, b, c dans T.
Il y aurait deux nouvelles constantes dans la langue.
T : Bool
F : Bool
Ainsi, cette langue se compose des symboles S, K, I, T et F, ainsi que des parenthèses. Il a un bool de type de base et les "types de fonctions" qui peuvent être fabriqués à partir des modèles de combinateur S, K et I.
Ce système peut-il être fait fonctionner? Par exemple, existe-t-il une construction si bien de type qui peut être formée à partir de S, k, i, t, f?
Pas de solution correcte