\chapter*{Prefazione}\markboth{Prefazione}{Prefazione}
\label{intro}

Questo volume contiene un tutorial sul sistema \HOL{}. E' uno di quattro
documenti che costituiscono la documentazione per \HOL{}:

\begin{myenumerate}
\item \LOGIC: una descrizione formale della logica di ordine superiore
  implementata dal sistema \HOL{}.
\item \TUTORIAL: un tutorial d'introduzione a \HOL, con dei casi di studio.
\item \DESCRIPTION: una guida utente dettagliata per il sistema \HOL{}.
\item \REFERENCE: il manuale di riferimento per \HOL.
\end{myenumerate}

\noindent Si farà riferimento a questi quattro documenti con i nomi abbreviati (in
maiuscoletto inclinato) dati di sopra.

Questo documento, \TUTORIAL, è pensato per essere il primo letto dai nuovi
utenti di \HOL. Esso fornisce un'introduzione da auto-didatta alla struttura
e all'uso del sistema. Il tutorial è pensato per dare una sensazione del
modo in cui \HOL{} è utilizzato `mettendo già le mani sul sistema',
ma non spiega in modo sistematico
tutti i principi sottostanti (questi sono spiegati da \DESCRIPTION{}
e \LOGIC{}). Dopo aver lavorato con il \TUTORIAL\ il lettore dovrebbe essere
in una posizione tale da poter consultare gli altri documenti.

\section*{Per iniziare}

Il Capitolo~\ref{install} spiega come ottenere e installare \HOL. Una volta che questo
è stato fatto, il potenziale utente \HOL{} dovrebbe iniziare a familiarizzare con i
seguenti argomenti:
%
\begin{enumerate}
\item Il meta-linguaggio di programmazione \ML, e come interagire con esso.
\item La logica formale supportata dal sistema \HOL{} (la logica di ordine
  superiore) e la sua manipolazione attraverso l'\ML.
\item La dimostrazione in avanti e le regole d'inferenza derivate.
\item La dimostrazione guidata dal goal, le tattiche, e i tatticali.
\end{enumerate}
%
I Capitoli 2 e 3 introducono questi argomenti.
Il Capitolo~\ref{chap:euclid} sviluppa poi un ampio esempio --- la dimostrazione
di Euclide dell'infinità dei numeri primi --- per illustrare come \HOL{} è usato
per dimostrare teoremi.

%Chapter~\ref{proof} then describes forward and goal
%directed proof in much greater detail.

Il Capitolo~\ref{parity} presenta un altro esempio pratico: la specifica
e la verifica di un semplice bit di parità sequenziale. L'intenzione è
quella di ottenere due cose: (i) presentare un'altra parte completa
di lavoro con \HOL; e (ii) dare un'idea di cosa significhi usare
il sistema \HOL{} per una dimostrazione complicata. Il Capitolo~\ref{chap:combin} è un
esempio più esteso: la dimostrazione della confluenza per la logica
combinatoria. Di nuovo, l'obiettivo è quello di presentare un pezzo completo di
lavoro non banale.

Il Capitolo~\ref{chap:proof-tools} da un esempio di implementazione di
uno strumento di dimostrazione custom. Questo dimostra la programmabilità di
\HOL: il modo in cui può essere implementata una tecnologia per risolvere
problemi specifici sulla base del kernel sottostante. Avendo a disposizione
strumenti molto potenti, è possibile creare prototipi molto rapidamente.

Il Capitolo~\ref{chap:more-examples} discute brevemente alcuni
degli esempi distribuiti con \holn{} nella directory \ml{examples}.

%\item Chapter~\ref{tool} shows how a special purpose proof tool (a
%  conjunction normaliser) can be implemented and optimised. It
%  illustrates methods for `tuning' proof generating programs and
%  discusses trade-offs between generality and efficiency.

%\item Chapter~\ref{binomial} is a proof of the Binomial Theorem in a
%  ring.  It is a medium sized worked example whose subject matter is
%  probably more widely known than any specific piece of hardware or
%  software. The small amount of algebra and mathematical notation
%  needed to state and prove the Binomial Theorem is presented; the
%  notation is expressed in \HOL{}, and the structure of the proof is
%  outlined.

%\end{itemize}

\vspace{1cm}

\noindent il \TUTORIAL{} è stato mantenuto breve in modo tale che i nuovi utenti di \HOL{} possano
riuscire ad andare il più velocemente possibile. A volte alcuni dettagli sono stati semplificati.
Si raccomanda non appena un argomento nel \TUTORIAL\ è stato
digerito, di studiare le parti rilevanti di
\DESCRIPTION\ e \REFERENCE.

%%% Local Variables:
%%% mode: latex
%%% TeX-master: "tutorial"
%%% End:
