• Aucun résultat trouvé

1.2 Le modèle de représentation

1.2.1 La théorie de base

Alors qu'en mathématique les preuves des propositions sont considérées comme des objets, pour d'autres domaines les preuves des propositions peuvent être percues comme le résultat d'un événement, à savoir une situation. En outre, les preuves dans un programme peuvent être le résultat d'une requête sur une base de données ou de connaissances, l'existence d'une fonction eectuant une action (e.g. reliée à un actionneur) ou encore le résultat obtenu par un démonstra-teur de théorème étant données une assomption sur des entités, des propriétés ou des contraintes. L'état des informations est formalisé comme des séquences de jugements dont la construction est en accord avec certaines règles. Une telle déclaration de séquence nie est appellée une situation. Tous les types sont considérés comme bien formés et sont introduits par des axiomes. Ces types spéciaux sont appelés des sortes. La théorie des types considère trois niveaux de stratication, le niveau Sorte, le niveau Type et le niveau Objet. Pour pouvoir modéliser le monde réél, ces niveaux sont reliés à des niveaux ontologiques.

2

Vers la spécication du cadriciel

(framework) DTF

La théorie des types permet d'assigner à chaque entité un type et d'établir une hiérarchie entre les types. Le type d'une preuve peut être utilisé pour contraindre le type d'objets résultant de la combinaison de plusieurs types. Intuitivement, une conceptualisation serait le résultat de la combinaison d'un ensemble de types utilisés pour représenter la structure d'une situation. C'est pour cela, que lesΣ-types sont utilisés pour décrire des faits et des propriétés demeurant identiques quelles que soient les preuves des types qui les composent.

La réutilisation du contexte est rendue possible via la notion de type de contexte. L'idée avancée ici est que la dynamicité peut être assurée par le fait que, dans une situation donnée, n'existent que des objets (instances) appartenant à des types de contexte. L'utilisation de types rend le contexte indépendant des applications envisagées. La spécication d'une "structure type" pour le contexte se réfère à la notion d'épistémologie tandis que la notion d'interprétation du contexte fait plutôt appel à la notion d'ontologie. Cette dernière notion s'est trouvée naturelle-ment au coeur de la modélisation des contextes.

Pour pouvoir ensuite raisonner sur les contextes, ceux-ci étant dénis par des structures ty-pées, il faut utiliser une logique possédant des propriétés de calculabilité et capable d'interagir avec un système de typage. Ces propriétés se retrouvent dans une théorie des types via l'iso-morphisme de Curry-Howard qui établit une correspondance entre la logique et un système de typage. La logique utilisée est une logique intuitionniste qui s'appuie sur un lambda-calcul typé an d'augmenter son expressivité.

L'ensemble de ces aspects est donc pris en compte dans une approche fonctionnelle susam-ment expressive et comprenant un système de typage dans lequel les objets ou instances tiennent compte de l'aspect dynamique tandis que les types permettent la réutilisabilité, l'échange et le raisonnement par typage.

Ce chapitre introduit les notions de bases et les dénitions de ce qui est appelé "Dependent Type Framework" (DTF), un cadriciel qui étend ECC avec les notions de sous-typage et de constante.

Chapitre 2. Vers la spécication du cadriciel (framework) DTF

2.1 Le Calcul des Constructions Etendu (ECC)

Les systèmes de types imprédicatifs permettent de formaliser une idée importante des types polymorphes à savoir qu'ils autorisent la quantication et l'abstraction sur tous types de don-nées pour former de nouveaux types. Cette possibilité donne plus de force quant à la logique avec laquelle il est possible de représenter la réalité par ces systèmes. Par exemple, le calcul des constructions est en correspondance directe avec la logique des prédicats intuitionnistes d'ordre supérieur. Par contraste, dans les systèmes prédicatifs, il existe une notion interne de prédicats et de relations qui est représentée par des fonctions propositionnelles (dont les valeurs peuvent être des propositions). Un exemple de ce type de données est le constructeur desΣ−types.

Les univers sont des types non propositionnels spéciaux dont les objets sont des types. Seuls les types d'un univers inférieur peuvent être utilisés par les types d'un universidonné. Ce prin-cipe est appelé prinprin-cipe de réexion par PML.

Dans ECC, l'univers imprédicatif Prop des propositions est un objet du T ype0 et un objet du T ypei est un objet du typeT ypei+1. Ceci peut être formulé d'une manière intuitive par :

P rop⊆T ype0⊆T ype1 ⊆...

Les types sont traités comme des citoyens de première classe. Les objets de T ype0 sont des individus, les objets deT ype1 les classes d'individus, les objets deT ype2 les classes des classes, etc. Les fonctions de deux ou plusieurs arguments, comme les relations ontologiques, sont consi-dérées comme des classes de paires ordonnées et des paires ordonnées de classes de classes. Comme l'imprédicativité n'existe que pour le type P rop, le T ypei, la hiérarchie des types s'ex-prime de la manière suivanteP rop, T ype0, ..., T ypei1 (i.e., que T ypei1 à pour Type :T ypei). Les règles de formation décrivant la cumulativité entre les univers sont :

Γ`a:P rop

Γ`a:T ypei

Γ`a:T ypei

Γ`a:T ypei+1

Par souci de simplicité, seuls les types et les propositions sont utilisés ici. Ils dénotent respec-tivement la sorte des types et la sorte des propositions. La logique utilise les dénitions inductives pour la représentation des notions imprédicatives comme la quantication d'ordre supérieur [7]. Les univers T ypei sont prédicatifs pour la formation des Σ−types et des Π−types. En accord avec les règles (Π2) et (σ), pour tout type A de T ypei et toutes familles de types B[x] d'un T ypeix :A.B(x) etΣx :A.B(x) sont des objets de type T ypei. Le type des Π−types

et des Σ−types est toujours un type supérieur au maximum des types utilisés pour le dénir. Par exemple, T ype0 →P ropest du typeT ypei pour i>1 mais pas du type Prop ou T ype0.

Dans ECC, les propositions représentent des formules logiques. Elles sont utilisées pour la représentation des propriétés des objets du langage. ECC hérite du Calcul des Constructions une logique interne des prédicats intuitionnistes d'ordre supérieur. Les propositions sont formées par une seule opération logique : le quanticateur universel qui est représenté par le constructeurΠ. La distinction entre un univers imprédicatif (Prop) et une hiérarchie prédicative (T ypei) oblige à spécier deux règles de formation pour chaque type. Ainsi, le constructeur (Π1) est donné pour les propositions et le constructeur (Π2) l'est pour la formation desΠ−types.

2.1. Le Calcul des Constructions Etendu (ECC)