diff --git a/RapportPresentation/ex-biblio.bib b/RapportPresentation/ex-biblio.bib index 24c1406..db55c99 100644 --- a/RapportPresentation/ex-biblio.bib +++ b/RapportPresentation/ex-biblio.bib @@ -27,3 +27,26 @@ biburl = {https://dblp.org/rec/journals/corr/abs-0804-3434.bib}, 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}, +} diff --git a/RapportPresentation/ex-rapport.pdf b/RapportPresentation/ex-rapport.pdf index 87192c5..dede05d 100644 Binary files a/RapportPresentation/ex-rapport.pdf and b/RapportPresentation/ex-rapport.pdf differ diff --git a/RapportPresentation/ex-rapport.tex b/RapportPresentation/ex-rapport.tex index 76f7387..1d015f6 100644 --- a/RapportPresentation/ex-rapport.tex +++ b/RapportPresentation/ex-rapport.tex @@ -102,6 +102,8 @@ Le code est structuré de la manière suivante~: des \lstinline{types} et \lstinline{typing.ml} qui implémente l'algorithme de typage bidirectionnel 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 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 et produit. 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} \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 les envoyer à Coq pour valider la preuve. -\bibliographystyle{plain} -\bibliography{ex-biblio} \section{Répartition du travail} \begin{itemize} @@ -285,4 +247,8 @@ les envoyer à Coq pour valider la preuve. \item Undo (Augustin) \end{itemize} + +\bibliographystyle{plain} +\bibliography{ex-biblio} + \end{document}