\chapter{Altri Esempi} \label{chap:more-examples} In aggiunta agli esempi già trattati in questo testo, la distribuzione \holn{} fornisce una varietà di esempi istruttivi nella directory \verb|examples| Li si possono trovare (tra gli altri) i seguenti esempi: \begin{description} \item [\tt autopilot.sml] Questo esempio è un'interpretazione \holn{} (di Mark Staples) di un esempio PVS dovuto a Ricky Butler della NASA. L'esempio mostra l'uso del pacchetto di definizione record, così come illustra alcuni aspetti dell'automazione disponibile in \holn{}. \item [\tt bmark] In questa directory, c'è un benchmarck standard di HOL: la dimostrazione della correttezza di un circuito moltiplicatore, dovuto a Mike Gordon. \item [\tt euclid.sml] Questo esempio è lo stesso di quello trattato nel Capitolo~\ref{chap:euclid}: una dimostrazione del teorema di Euclide sull'infintità dei numeri primi, estratto e modificato da uno sviluppo molto più ampio dovuto a John Harrison. Esso illustra l'automazione di \HOL{} su una dimostrazione classica. \item[\tt ind\_def] Questa directory contiene alcuni esempi di un pacchetto di definizione induttiva in azione. In primo piano ci sono una semantica operazionale per un piccolo linguaggio di programmazione imperativa, un piccolo sistema di algebra, una logica combinatoria con il suo sistema di tipi. I file furono sviluppati originariamente da Tom Melham e Juanito Camilleri e sono estesamente commentati. L'ultimo è la base per il Capitolo~\ref{chap:combin}. La maggior parte delle dimostrazioni in queste teorie ora possono essere fatte più facilmente usando alcuni degli strumenti di dimostrazione sviluppati recentemente, cioè il semplificatore e il dimostratore al primo ordine. \item [\tt fol.sml] Questo file illustra l'implementazione di John Harrison di un dimostratore al primo ordine nello stile del model-elimination. \item[\tt lambda] Questa directory sviluppa le teorie di un lambda calcolo nello stile ``de Bruijn'', e anche una versione name-carrying. (Entrambe sono non tipizzate.) Lo sviluppo è una revisione delle dimostrazioni che sottostanno al documento {\it ``5 Axioms of Alpha Conversion'', Andy Gordon and Tom Melham, Proceedings of TPHOLs'96, Springer LNCS 1125}. \item[\tt parity] Questa sotto directory contiene i file usati nell'esempio di parità del Capitolo~\ref{parity}. \item [\tt MLsyntax] Questa sotto directory contiene un ampio esempio di un'infrastruttura per definire tipi reciprocamente ricorsivi, dovuto a Elsa Gunter del Bell Labs. Nell'esempio, è definito il tipo di sintassi astratta per un sottoinsieme piccolo ma non totalmente irrealistico di ML, insieme con una semplice funzione reciprocamente ricorsiva sulla sintassi. \item[\tt Thery.sml] Un esempio molto breve dovuto a Laurent Thery, che mostra un'acuta dimostrazione induttiva. \item[\tt RSA] Questa directory sviluppa parte della matematica sottostante lo schema RSA di crittografia. Le teorie sono state prodotte da Laurent Thery dell'INRIA Sophia-Antipolis. \end{description} %%% Local Variables: %%% mode: latex %%% TeX-master: "tutorial" %%% End: