X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fpapers%2Fmatita%2Fmatita2.tex;h=f2e411d4a6b097227b4a315698d3993d97caa0fb;hb=6db12650bceb071d9b5ea8f882613a98bd6df79b;hp=04b7427a7dc995e246f93fde73a3a8947221ef79;hpb=7521a4856db25447fbcc50a29eacc61d6b1ad3ab;p=helm.git diff --git a/helm/papers/matita/matita2.tex b/helm/papers/matita/matita2.tex index 04b7427a7..f2e411d4a 100644 --- a/helm/papers/matita/matita2.tex +++ b/helm/papers/matita/matita2.tex @@ -123,6 +123,7 @@ Digital Libraries} \end{opening} + \section{Introduction} \label{sec:intro} \MATITA{} is the Proof Assistant under development by the \HELM{} team @@ -273,7 +274,7 @@ allow other developers to quickly understand our code and contribute. \end{center} \end{figure} -\section{Overview of the Architecture} +\section{Architecture} Fig.~\ref{fig:libraries} shows the architecture of the \emph{\components} (circle nodes) and \emph{applications} (squared nodes) developed in the HELM project. @@ -634,11 +635,11 @@ services missing from the standard library of the programming language. In particular, the \texttt{xml} \component{} is used to easily represent, parse and pretty-print XML files. -\section{Using \MATITA} +\section{Using \MATITA (boh \ldots cambiare titolo)} \begin{figure}[t] \begin{center} - \includegraphics[width=0.9\textwidth]{a.eps} +% \includegraphics[width=0.9\textwidth]{a.eps} \caption{\MATITA{} screenshot} \label{fig:screenshot} \end{center} @@ -665,6 +666,7 @@ the system to guide the user through the relevant parts of the library. This methodological assumption has many important consequences which will be discussed in the next section. + %on one side %it requires functionalities for the overall management of the library, %%%%%comprising efficient indexing techniques to retrieve and filter the @@ -674,16 +676,6 @@ which will be discussed in the next section. %techniques for interpreting the user inputs. %In the next two sections we shall separately discuss the two previous %points. -A final section is devoted to some innovative aspects -of the authoring system, such as a step by step tactical execution, -content selection and copy-paste. - -\section{Library Managament} -\subsection{Indexing and searching} -\subsection{Developments} -\subsection{Automation} -\subsection{Naming} -\subsection{Disambiguation} %In order to maximize accessibility mathematical objects are encoded in XML. (As%discussed in the introduction,) the modular architecture of \MATITA{} is %organized in components which work on data in this format. For instance the @@ -691,630 +683,711 @@ content selection and copy-paste. %MathML Presentation documents, can be used apart from \MATITA{} to print ... %FINIRE +A final section is devoted to some innovative aspects +of the authoring system, such as a step by step tactical execution, +content selection and copy-paste. +\section{Library Management} +\subsection{Indexing and searching} -\section{Partially specified terms} ---- il mondo delle tattiche e dintorni --- -serve una intro che almeno cita il widget (per i patterns) e che fa -il resoconto delle cose che abbiamo e che non descriviamo, -sottolineando che abbiamo qualcosa da dire sui pattern e sui -tattichini.\\ +\subsection{Developments} +\subsection{Automation} +\subsection{Matita's naming convention} +A minor but not entirely negligible aspect of Matita is that of +adopting a (semi)-rigid naming convention for identifiers, derived by +our studies about metadata for statements. +The convention is only applied to identifiers for theorems +(not definitions), and relates the name of a proof to its statement. +The basic rules are the following: +\begin{itemize} +\item each identifier is composed by an ordered list of (short) +names occurring in a left to right traversal of the statement; +\item all identifiers should (but this is not strictly compulsory) +separated by an underscore, +\item identifiers in two different hypothesis, or in an hypothesis +and in the conlcusion must be separated by the string ``\verb+_to_+''; +\item the identifier may be followed by a numerical suffix, or a +single or duoble apostrophe. -\subsection{Patterns} -Patterns are the textual counterpart of the MathML widget graphical -selection. +\end{itemize} +Take for instance the theorem +\[\forall n:nat. n = plus \; n\; O\] +Possible legal names are: \verb+plus_n_O+, \verb+plus_O+, +\verb+eq_n_plus_n_O+ and so on. +Similarly, consider the theorem +\[\forall n,m:nat. n