fin du rapport

This commit is contained in:
Marwan 2024-05-16 12:49:29 +02:00
parent 17f989e97f
commit cd7749fe34
3 changed files with 32 additions and 43 deletions

View File

@ -27,3 +27,26 @@
biburl = {https://dblp.org/rec/journals/corr/abs-0804-3434.bib}, biburl = {https://dblp.org/rec/journals/corr/abs-0804-3434.bib},
bibsource = {dblp computer science bibliography, https://dblp.org} bibsource = {dblp computer science bibliography, https://dblp.org}
} }
@article{PJL700,
author = {Landin, P. J.},
title = {The next 700 programming languages},
year = {1966},
issue_date = {March 1966},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
volume = {9},
number = {3},
issn = {0001-0782},
url = {https://doi.org/10.1145/365230.365257},
doi = {10.1145/365230.365257},
journal = {Commun. ACM}}
@book{SMIM,
TITLE = {{PROGRAM = PROOF}},
AUTHOR = {Mimram, Samuel},
URL = {https://inria.hal.science/hal-04244364},
YEAR = {2020},
HAL_ID = {hal-04244364},
HAL_VERSION = {v1},
}

Binary file not shown.

View File

@ -102,6 +102,8 @@ Le code est structuré de la manière suivante~:
des \lstinline{types} et \lstinline{typing.ml} des \lstinline{types} et \lstinline{typing.ml}
qui implémente l'algorithme de typage bidirectionnel qui implémente l'algorithme de typage bidirectionnel
défini dans la partie~\ref{s:stlc}. défini dans la partie~\ref{s:stlc}.
\item \lstinline{hlam.ml} qui décrit les~$\lambda$-termes creux,
utilisés dans les preuves.
\item \lstinline{proof.ml} qui définit la structure d'une preuve \item \lstinline{proof.ml} qui définit la structure d'une preuve
et implémente les tactiques. et implémente les tactiques.
@ -146,49 +148,11 @@ On remarque que l'on impose d'annoter le type de l'argument
d'une $\lambda$-abstraction, des constructeurs de termes somme d'une $\lambda$-abstraction, des constructeurs de termes somme
et produit. et produit.
On peut alors vérifier le type de tous les termes de manière On peut alors vérifier le type de tous les termes de manière
déterministe avec les règles de typage suivantes: déterministe avec les règles rappelées dans
le livre de S. Mimram~\cite{SMIM} et \textit{très} brièvement dans le livre de
Landin~\cite{PJL700}.
\[
\dfrac
{\lstinline{x : A} \in \Gamma}
{\Gamma \vdash \lstinline{x : A}}
\]
\[
\dfrac
{\Gamma, \lstinline{x : A} \vdash \lstinline{M : B}}
{\Gamma \vdash \lstinline{fun (x : A) => M : A -> B}}
\]
\[
\dfrac{\Gamma \vdash \lstinline{M : A -> B}
\quad \Gamma \vdash \lstinline{N : A}}
{\Gamma \vdash \lstinline{M N} : \lstinline{B}}
\]
\[
\dfrac
{\Gamma \vdash \lstinline{M : false}}
{\Gamma \vdash \lstinline{exf (M : A) : A}}
\]
\[
\dfrac
{\Gamma \vdash \lstinline{M : A}
\quad \Gamma \vdash \lstinline{N : B}}
{\Gamma \vdash \lstinline{(M, N) : A /\\ B}}
\]
\[
\dfrac
{\Gamma \vdash \lstinline{M : A}}
{\Gamma \vdash \lstinline{l(M : A \\/ B) : A \\/ B}}
\quad \quad
\dfrac
{\Gamma \vdash \lstinline{M : B}}
{\Gamma \vdash \lstinline{r(M : A \\/ B) : A \\/ B}}
\]
\section{Preuves} \section{Preuves}
\label{s:proof} \label{s:proof}
@ -264,8 +228,6 @@ l'~$\alpha$-conversion, le \verb|typecheck|, etc.).
Ainsi, on propose de sauvegarder les termes de preuves puis de Ainsi, on propose de sauvegarder les termes de preuves puis de
les envoyer à Coq pour valider la preuve. les envoyer à Coq pour valider la preuve.
\bibliographystyle{plain}
\bibliography{ex-biblio}
\section{Répartition du travail} \section{Répartition du travail}
\begin{itemize} \begin{itemize}
@ -285,4 +247,8 @@ les envoyer à Coq pour valider la preuve.
\item Undo (Augustin) \item Undo (Augustin)
\end{itemize} \end{itemize}
\bibliographystyle{plain}
\bibliography{ex-biblio}
\end{document} \end{document}