Type dépendant

Un article de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 10 décembre 2015 à 17:20 et modifiée en dernier par Throwaway account 2435346 (discuter | contributions). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

En Informatique et en Logique, un type dépendant est un type qui peut dépendre d'une valeur définie dans le langage typé.

Les langages Agda et Gallina (de l'assistant de preuve Coq) sont des exemples de langages à type dépendant.

Exemples

Les types dépendants permettent par exemple de définir le type des listes à n éléments.

Voici un exemple en Coq.

Inductive Vect (A: Type): nat -> Type :=
| nil: Vect A 0
| cons (n: nat) (x: A) (t: Vect A n): Vect A (S n).

Ainsi, Vect A n définit les listes à n éléments de type A et nil est une liste à 0 élément, et cons n s t est une liste à n + 1 éléments si t est une liste à n éléments.