Representation of Non Free Algebras in Type Theory
Représentation d’algèbres non libres en théorie des types
Résumé
This thesis has two parts: one is the presentation of an
extension of the calculus of inductive
constructions($\mathcal{CIC}$) of Christine Paulin and Thierry
Coquand, allowing the definition of non free types, the second is
the development of a formal proof, in the proof assistant \coq,
of self-stabilization of an distributed algorithm. The first
theme is developed in part II and the second in part III, the
part I is a general presentation of $\mathcal{CIC}$, which is the
central subject of this work since it is also the underlying
formalism of \coq.
Our extension of $\mathcal{CIC}$ is mainly based on a new notion:
\emph{normalized types}. A normalized type is built with a type
$A$ and a function \nf\ on this type. Intuitively the normalized,
noted $\norm(A,\nf)$ represents the quotient of type $A$ by the
relation $R_\nf$ defined by $(R_\nf \ x\ y) \Leftrightarrow (\nf\ x)=(\nf\
y)$. We show that this equality can be included in the conversion
without losing properties of $\mathcal{CIC}$: logical
consistency, decidability of type checking etc.
Dans cette thèse on présente d'une part une extension du calcul
des constructions inductives (\cci) de Christine Paulin et
Thierry Coquand permettant la définition de types non libres, et
d'autre part un développement dans l'assistant de preuve \coq\
d'une méthode formelle de preuve d'algorithme auto-stabilisant.
Le premier thème est traité dans la partie II et le deuxième dans
la partie III, la première partie est une présentation générale
du calcul des constructions inductives qui constitue le thème
central de cette thèse puisqu'il est le formalisme sous-jacent de
\coq. L'approche se veut pédagogique; on commence par présenter
les $\lambda$-calcul pur et simplement typés, puis on présente le
calcul des constructions, enfin on présente le calcul des
constructions inductives et l'assistant de preuve \coq.
Notre extension de \cci\ est basée principalement sur une
nouvelle notion: les \emph{types normalisés}. Un type normalisé
se construit à l'aide d'un type $A$ et d'une fonction \nf\ sur ce
type. Intuitivement le type ainsi construit, noté $\norm(A,\nf)$
représente le quotient du type $A$ par la relation $R_\nf$
définie par $(R_\nf \ x\ y) \Leftrightarrow (\nf\ x)=(\nf\ y)$. Nous montrons
que cette égalité peut être incluse dans la conversion du système
sans compromettre les propriété de \cci: cohérence logique,
décidabilité de la conversion et donc du typage etc.
Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...