Egalité et filtrage avec types dépendants dans le calcul des constructions inductives
暂无分享,去创建一个
La theorie des types autorise l'utilisation de types dependants. Les types peuvent dependre des valeurs du systeme. Ainsi, il est possible de manipuler l'ensemble des listes d'une taille n donnee. Il apparait alors des types equivalents mais syntaxiquement differents. Par exemple, les listes de longueur 2+2 et celles de longueur 4 sont les memes ensembles. La conversion du systeme assure la verification de ces equivalences. Dans le Calcul des Constructions Inductives, elle est reduite a des regles de calcul elementaires. Ainsi, le type des listes de longueur n+0 et celui des listes de longueur n sont distincts. Nous introduisons un systeme extensionnel : dans un tel systeme, toutes les egalites prouvables sont incluses dans la conversion. Nous exhibons une traduction de ce systeme vers une extension raisonnable du Calcul des Constructions Inductives. Cette traduction peut servir a la fois de base theorique et de base pratique pour l'implantation d'un tel systeme. Par ailleurs, les types dependants rendent parfois certains cas inutiles dans un filtrage. Par exemple, le cas de la liste vide est inutile dans la definition d'une fonction attendant une liste de longueur non nulle. Nous introduisons une methode pour eliminer certains cas inutiles dans une definition par filtrage de motifs. Cette methode se base sur l'approximation des ensembles de termes habitant un types ou un contexte. Elle est parametree par le type d'approximation utilisee. Nous fournissons une preuve de correction de cette methode et introduisons deux exemples d'implantation d'approximation utilisables en pratique.