verso una teoria strutturale della dimostrazione Simona Ronchi Della Rocca Università di Torino Dipartimento di Informatica

Documenti analoghi
La matematica non è un opinione, lo è oppure...?

Logica proposizionale

Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1

Un po di logica. Christian Ferrari. Laboratorio di matematica

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)

Dimostrazioni e programmi come oggetti geometrici. Simone Martini

Logica per la Programmazione

Logica proposizionale

UNIVERSITÀ DEGLI STUDI LA SAPIENZA CORSO DI STUDI IN INFORMATICA ESERCITAZIONI AL CORSO DI LOGICA MATEMATICA LOGICA PROPOSIZIONALE

Esercitazioni per il corso di Logica Matematica

La codifica digitale

NOZIONI DI LOGICA PROPOSIZIONI.

Problemi, algoritmi, calcolatore

Elementi di Algebra e di Matematica Discreta Numeri interi, divisibilità, numerazione in base n

BREVE CENNO DI LOGICA CLASSICA La logica può essere definita come la scienza che studia le condizioni in base alle quali un ragionamento risulta

Semantica proposizionale. Unit 2, Lez 3 e 4 Corso di Logica

Introduzione ad alcuni sistemi di logica modale

RISOLUZIONE IN LOGICA PROPOSIZIONALE. Giovanna D Agostino Dipartimento di Matemaica e Informatica, Università di Udine

Le parole dell informatica: algoritmo e decidibilità

LOGICA e INSIEMISTICA

Il concetto di calcolatore e di algoritmo

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione dei numeri relativi

LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13)

04 - Logica delle dimostrazioni

Calcoli dei sequenti classici e lineare

Si può fare un riassunto in matematica?

Logica per la Programmazione

Informatica, Algoritmi, Linguaggi

Appunti di geometria euclidea

Logica proposizionale

DIMOSTRAZIONI DI EQUIVALENZE, SUI CONNETTIVI E SULL'AMBIGUITA' DELLA SINTASSI. Corso di Logica per la Programmazione

Riassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria.

Aspetti computazionali della logica lineare

Appunti di informatica. Lezione 7 anno accademico Mario Verdicchio

Similitudini tra rette

Si consideri il sistema a coefficienti reali di m equazioni lineari in n incognite

GIOVANNI FUSCHINO COMPLETEZZA E RAGIONAMENTO PER DEFAULT

Algoritmo per A. !(x) Istanza di B

01 - Elementi di Teoria degli Insiemi

Ragionamento Automatico Calcolo dei Sequenti. Lezione 5 Ragionamento Automatico Carlucci Aiello, 2004/05 Lezione 5 0. Il calcolo dei sequenti

Intelligenza Artificiale. Logica proposizionale: calcolo automatico

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

Correttezza (prima parte)

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Luigi Piroddi

Logica: materiale didattico

Linguaggi. Claudio Sacerdoti Coen 29,?/10/ : La struttura dei numeri naturali. Universitá di Bologna

Filosofia del linguaggio (i) (3 cr.)

Corso di elettrotecnica Materiale didattico: i grafi

Sistemi lineari. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

1. equivalenze e implicazioni logiche. Esercizio 1.2. Trovare le implicazioni che legano i seguenti enunciati (x, y R):

Capitolo IV SPAZI VETTORIALI EUCLIDEI

Maiuscole e minuscole

1 IL LINGUAGGIO MATEMATICO

Proposizioni e verità

1 Funzioni reali di una variabile reale

Colorazioni di mappe e basi di Gröbner

3. Logica. Obiettivi di apprendimento: Relazioni, dati e previsioni 6T, 7T, 8T, 10Q. La logica nel linguaggio comune...

Introduzione all algebra

Monomi L insieme dei monomi

variabili. se i limiti esistono e si chiamano rispettivamente derivata parziale rispetto ad x e rispetto ad y.

La logica della finzione

INTRODUZIONE AL TESTO FILOSOFICO

Una breve introduzione all implementazione in C di algoritmi su grafo

Sviluppo di programmi

Richiami di Matematica. 1. Insiemi, relazioni, funzioni. 2. Cardinalitá degli insiemi infiniti e numerabilitá. 3. Notazione asintotica.

1 Introduzione alle matrici quadrate 2 2 a coefficienti in R.

TEORIA DEI SISTEMI SISTEMI LINEARI

Parte n.4 Linguaggi: Gerarchia ed Operazioni

Linguaggi, Traduttori e le Basi della Programmazione

Lezione 4. Problemi trattabili e soluzioni sempre più efficienti. Gianluca Rossi

Esercizi di logica. Ivan Valbusa 5 dicembre 2012

I.4 Rappresentazione dell informazione

Minimi quadrati vincolati e test F

CONCETTO DI ASINTOTO. Asintoto verticale Asintoto orizzontale Asintoto obliquo

Note sulle classi di complessità P, NP e NPC per ASD (DRAFT)

La dualità nella Programmazione Lineare

Luigi Piroddi

Università degli Studi di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica ALGEBRA BOOLEANA

Richiami teorici ed esercizi di Logica

01 - Elementi di Teoria degli Insiemi

Moltiplicazione. Divisione. Multipli e divisori

Verifica di programmi

APPUNTI DI TEORIA DEGLI INSIEMI. L assioma della scelta e il lemma di Zorn Sia {A i } i I

ANALISI 1 1 QUINTA LEZIONE

AUTOMA A STATI FINITI

Grafi e reti di flusso

Disequazioni di secondo grado

MATEMATICA PER LO STUDIO DELLE INTERAZIONI STRATEGICHE: TEORIA DEI GIOCHI. Anna TORRE

George BOOLE ( ) L algebra booleana. (logica proposizionale)

La codifica. dell informazione

Precorsi di matematica

Elementi di logica. SCOPO: introdurre nozioni di logica & vocabolario per una corretta interpretazione delle dimostrazioni.

Corso di Analisi Numerica

FUNZIONI. }, oppure la

Esercizi di Programmazione Lineare - Dualità

Luigi Piroddi

1 Indipendenza lineare e scrittura unica

LEZIONE DI MATEMATICA SISTEMI DI NUMERAZIONE. (Prof. Daniele Baldissin)

Transcript:

Logica Lineare e Ludica verso una teoria strutturale della dimostrazione Simona Ronchi Della Rocca Università di Torino Dipartimento di Informatica Riassunto Questo articolo presenta, con un approccio divulgativo, la Logica Lineare e la Ludica, che sono certamente le maggiori novità sviluppate nell area della Logica negli ultimi 50 anni. Vengono in particolare messi in evidenza due aspetti estremamente innovativi di tali logiche: l interpretazione computazionale della dimostrazione, che ha avuto interessanti ricadute nell Informatica, e un diverso approccio alla semantica delle dimostrazioni, che ha dato nuovo impulso alla proof-theory. La Logica Lineare è stata proposta da Girard [5] nel 1987, e può essere considerata come la maggiore novità nel campo della logica degli ultimi 50 anni. La Logica Lineare (LL) nasce da due esigenze fra loro apparentemente disgiunte: affinare lo sguardo sulla Logica Classica, cambiando prospettiva semantica, e indagare sulle sue proprietà computazionali. La semantica usuale con cui si interpreta la Logica Classica è basata sulla nozione di verità. La verità è statica e immutabile, e in conseguenza di ciò ogni frase della logica ha uno e un solo valore di verità. Conseguenza naturale di questa visione semantica è il principio del terzo escluso: se A rappresenta una qualsiasi proposizione logica, e A denota la sua negazione, la proposizione A A sempre vera. Infatti il simbolo rappresenta la disgiunzione, e la frase A A è vera se e solo se o è vera A o è vera A, cioè sempre. Alla Logica Classica è associato un Sistema Formale, cioè un insieme di regole, che permettono di costruire proposizioni vere a partire da proposizioni vere. Più specificatamente, un sistema formale permette di dimostrare assunti del tipo: P 1,..., P n C 1,..., C m (n, m 0) il cui significato è: assumendo che siano vere le premesse P 1,..., P n, si può dimostrare la verità di almeno una delle conclusioni C 1,..., C m. Nella Logica Classica l accento, come si è detto, viene posto sulla nozione di verità, quindi le regole del sistema formale associato sono viste come meri strumenti per arrivare a conclusioni vere. Girard rovescia questa visione, spostando l accento dalla verità delle proposizioni al procedimento di dimostrazione di questa verità. Per capire meglio questo spostamento, vediamo alcuni esempi di regole della Logica Classica. Per questa presentazione molto informale, mi restringerò a casi in cui le regole hanno un unica conclusione. La regola più semplice è l assioma: A A che dice semplicemente che, se assumiamo che A sia vera, possiamo dedurre la verità di A. Vi sono poi regole che introducono ed eliminano i vari connettivi logici. Ad esempio la regola di introduzione del connettivo, che denota la congiunzione, è la seguente: Γ A Γ B Γ A B ( I) che dice che, se da un dato insieme di premesse Γ abbiamo dedotto sia la verità di A che quella di B, possiamo, dallo stesso insieme, dedurre la verità di A B. Una classe speciale di regole è la classe delle regole strutturali, che non dimostrano la verità di nuove proposizioni ma parlano della struttura della dimostrazione di per sè. Un esempio è la regola dell indebolimento: Γ B Γ, A B (weak)

che ci dice che si può aggiungere una premessa preservando la verità della conclusione. La Logica Lineare sostituisce alla nozione di verità la nozione di uso. Una premessa è una risorsa che può essere usata. Allora l asserzione: P 1,..., P n C 1,..., C m (n, m 0) si può interpretare come: usando le risorse P 1,..., P n si possono produrre gli oggetti C 1,..., C m. Risorse e oggetti possono poi essere diversamente instanziati per adattarsi a contesti diversi: così le une possono essere viste come denaro, tempo, ingredienti mentre i secondi possono rappresentare rispettivamente merci, attività, ricette. Se si vuole, è una visione capitalistica della Logica! Le risorse sono poi divise in due classi: le risorse consumabili, che quindi possono essere usate una sola volta, e quelle sempre disponibili, e quindi di uso illimitato. Per dividere queste due classi si introduce una modalità!, che premessa ad una proposizione A interpretata come risorsa, denota il fatto che tale risorsa è di uso illimitato. Questo semplice spostamento di visuale ha conseguenze molto forti. Innanzitutto aumenta il numero dei connettivi della logica, e quindi la sua espressività. Ad esempio la congiunzione classica si sdoppia nei due connettivi e &. A B significa che le risorse A e B sono entrambi disponibili, e saranno usate tutte e due insieme (es. col tempo e con la paglia maturano le nespole). A&B denota che le risorse A e B sono entrambi disponibili, ma io ne potrò usare una sola, a mia scelta (es. col menu a prezzo fisso posso avere frutta o dessert). Notiamo qui che la congiunzione & corrsponde ad un o nel linguaggio quotidiano, ma questo è solo una spia del fatto che non sempre le interpretazioni informali possono avere il rigore di quelle formali! Anche la disgiunzione si sdoppia nei due connettivi e. E qui l interpretazione distingue in modo molto raffinato due possibili situazioni. La disgiunzione classica (A B è vera se o è vera A o è vera B) già contiene in sè l idea di una possibile scelta tra le due proposizioni coinvolte, ma la Logica Lineare riesce a distinguere tra il caso in cui la scelta è possibile, e quello in cui una scelta non è possibile. A B indica che una sola delle risorse A o B è disponibile, io non so quale, ma qualcuno sceglierà per me (es. il menu prevede frutta di stagione: pere o arance). A B indica che una sola delle risorse A o B è disponibile, e non si sa quale. (es. domani pioverà o non pioverà). E naturale chiedersi se il principio del terzo escluso valga nella Logica Lineare, e in caso positivo se valga per entrambe le disgiunzioni o no. La risposta è che vale per ma non per, cioè si può dimostrare A A ma non si può dimostrare A A (in LL A denota la negazione di A). Notiamo che abbiamo parlato qui di dimostrabilità, non di verità, come nella Logica Classica. Come esempio di uso della modalità, consideriamo l asserzione della Logica Classica: A A A, che ci dice che, se A è vera, allora possiamo ribadire A due volte, e ottenere ancora una proposizione vera. Se oggi piove è un affermazione vera, anche oggi piove e oggi piove è vera (al limite può essere considerata ridondante!). Ma adesso sostituiamo il classico con il connettivo : dalla semantica informale che ho dato prima a questo connettivo, è chiaro che A A A non è dimostrabile, in quanto per ottenere due copie dell oggetto A abbiamo bisogno di due copie della risorsa A. Per ottenere quindi la conseguenza A A ho quindi bisogno adesso o di avere a disposizione due copie di A, o A deve essere una risorsa sempre disponibile. Quindi posso dimostrare sia A, A A A, sia!a A A. Una regola strutturale particolare è la regola del taglio, che esiste sia nella Logica Classica che nella Logica Lineare: Γ A, Γ, A (cut) Γ L importanza della regola del taglio è di essere inutile: infatti sia nella Logica Classica che nella Logica Lineare vale la proprietà che si può decidere di non usarla, nel senso che ogni dimostrazione che usa la regola del taglio può essere trasformata in una dimostrazione che prova la stessa conclusione, senza però usare il taglio. L interpretazione classica di tale proprietà può essere la seguente. Se per dimostrare mi serve una

AX AX A A B B A B (A B) B Figura 1: La rete di prova corrispondente alla dimostrazione di A (A B) B (o di (A B) B A ). I due nodi senza nome denotano uno la premessa e l altro la conclusione della dimostrazione, che sono concetti qui simmetrici e interscambiabili. dimostrazione di A, magari per usarla più di una volta, posso dimostrare A con una dimostrazione a parte, e poi usarlo tutte le volte che mi serve, come un Lemma ausiliario, e questa è una dimostrazione con il taglio. Ma posso anche non usare questo metodo, e semplicemente ricopiare la dimostrazione di A dentro la dimostrazione di, ogni volta che è necessario: ottengo una dimostrazione certamente meno efficiente, ma ugualmente corretta, e questa è una dimostrazione senza taglio. Ma nella Logica Lineare la proprietà dell eliminazione del taglio è più forte, e assume un preciso significato computazionale. Assumiamo di avere una dimostrazione che usa il taglio, e di voler eliminare tale regola: esiste un modo effettivo di farlo. Però la dimostrazione può usare il taglio più di una volta, e quindi ci si pone la scelta di quale regola eliminare per prima: nella Logica Classica diverse scelte possono portare a ottenere dimostrazioni diverse, se pure con la stessa conclusione. Invece una proprietà importante della Logica Lineare è che la dimostrazione ottenuta è unica, indipendentemente dalle scelte fatte. Questo permette di dare una interpretazione computazionale alla Logica Lineare: una dimostrazione può essere vista come un programma, la regola del taglio come la regola di calcolo, e la dimostrazione normalizzata (cioè senza taglio) come il risultato della computazione. Il fatto che l eliminazione del taglio sia una procedura deterministica corrisponde al ben noto principio che il risultato di una computazione non deve dipendere dall ordine in cui vengono effettuate le operazioni (pensiamo al calcolo delle espressioni aritmetiche!). L analogia dimostrazione = programma è ulteriormente sviluppato con l introduzione delle reti di prova [8]. Una rete di prova è una rappresentazione grafica di una dimostrazione della Logica Lineare, con una struttura a grafo, cioè un insieme di punti (nodi ) su di un piano che possono essere connessi da archi, cioè segmenti di retta. I punti rappresentano i connettivi, gli archi rappresentano le formule, e il modo in cui essi sono connessi riproduce la struttura della dimostrazione (si veda un esempio di rete di prova nella Figura ). La rappresentazione delle dimostrazioni mediante le reti di prova non è solo un mero esercizio di riscrittura, ma permette di eseguire in modo molto efficiente l eliminazione del taglio, e quindi il procedimento di calcolo, se usiamo il paradigma prima esposto che associa la programmazione alla dimostrazione logica [9]. Infatti tale rappresentazione ha permesso lo sviluppo di un interprete ottimale per un linguaggio paradigmatico, il λ-calcolo [1], e ha inoltre suggerito la definizione di logiche particolari, derivate dalla Logica Lineare, che hanno la proprietà che la procedura di eliminazione del taglio per esse si può effettuare in un tempo che dipende in modo polinomiale dalla dimensione della rete da normalizzare [6] [2], mentre nella la Logica Lineare, come nella Logica Classica, tale dipendenza è esponenziale. In questo modo queste logiche cosidette

leggere possono essere la base per linguaggi di programmazione in cui si possono scrivere solo programmi la cui esecuzione avviene in tempo accettabile. Per comprendere l importanza di questo risultato, pensiamo che una funzione che cresce in tempo esponenziale, come ad esempio 2 n, assume rapidamente valori grandissimmi, al crescere del parametro n: se per n = 3 vale 8, per n = 10 vale 1024 e per n = 100 il suo valore è un numero addirittura maggiore del numero di microsecondi trascorsi dal big-bang! Quindi un programma il cui tempo di esecuzione cresca in modo esponenziale in dipendenza dei dati in input può essere considerato come virtualmente non eseguibile, in quanto la sua esecuzione può richiedere più tempo della vita del programmatore che l ha scritto! Ovviamente non tutti i grafi i cui nodi hanno nomi di connettivi e i cui archi hanno nomi di formule della Logica Lineare rappresentano dimostrazioni in tale logica; anzi, se disegnamo a caso un grafo, e poi assegniamo a caso dei nomi ai suoi componenti, sarà ben raro che questo denoti una dimostrazione. Ma esiste un risultato sorprendente: un grafo di questo tipo rappresenta una dimostrazione se e solo se soddisfa ad una proprietà meramente geometrica, che è indipendente dai nomi delle formule che decorano i suoi archi. Questo porta a pensare che l essenza di una dimostrazione si basi sulla sua struttura, piuttosto che sulle formule che vi compaiono. Come dire che, se ci si pone il problema (un po peregrino, se vogliamo): sono nate prima le formule o le dimostrazioni?, forse la risposta: le dimostrazioni è la più corretta! Continuiamo a divertirci con domande fuori dall ordinario. Un metodo di verifica delle dimostrazioni che può essere usato fruttuosamente è il metodo interattivo: si simula una discussione tra S (sostenitore della correttezza della dimostrazione in questione) e O (che mette in discussione tale correttezza). O pone domande ad S, che indagano sulla struttura della dimostrazione da analizzare. Si assume che S dica sempre la verità, e se S sa rispondere esaurientemente a tutte le domande di O, in modo da convincerlo, la dimostrazione è corretta. Se la dimostrazione invece è scorretta, S sarà costretto a dichiarare qualcosa di contradditorio, e verrà quindi smascherato da O. Ovviamente S e O sono entità immaginarie, che quindi non fanno parte della logica stessa. A questo punto possiamo porci un problema, apparentemente un pò strano: si possono internalizzare nella logica stessa S e O? cioè una logica può dimostrare al suo interno la sua stessa correttezza? S può essere la dimostrazione stessa, che si assume il compito di difendersi dai dubbi di O, ma chi può impersonare O? la correttezza formale ci porterebbe a dire che anche O deve essere una dimostrazione, che dimostra la negazione di quanto dimostra S, ma questo non è possibile, perchè si possono dimostrare solo proposizioni vere, e quindi se esiste una dimostrazione di A non può esistere una dimostrazione di A, e viceversa. La Ludica viene proposta da Girard [7] come una nuova logica, che vede al suo centro la nozione di dimostrazione, e in cui i problemi apparentemente assurdi che ci siamo posti trovano una loro soluzione, per quanto anti-intuitiva. Il sottotitolo dell articolo in cui Girard presenta la Ludica è indicativo: dalle regole della logica alla logica delle regole, in quanto pone subito l accento sul fatto che il centro dell interesse della Ludica non sono più le formule, ma le regole per manipolare le dimostrazioni. Infatti nella Ludica le formule non ci sono più! Gli oggetti di base sono i loci, che rappresentano posti in cui le formule potrebbero trovare posto: ma poichè le formule in questo contesto non sono interessanti, i loci vengono lasciati vuoti, denotati semplicemente da numeri. La nascita tecnica della Ludica si può ricondurre all osservazione che i connettivi della Logica Lineare si possono dividere in due classi. I negativi, o reversibili, sono quei connettivi la cui regola di introduzione non aggiunge informazione rispetto all informazione delle premesse, ad esempio, il connettivo &: Γ A Γ B (&I) Γ A&B

e quelli positivi o irreversibili, per cui succede il contrario, ad esempio : Γ A Γ A B ( I d) Γ B Γ A B ( I s). Una regola della Ludica corrisponde a una sequenza di regole della Logica Lineare, tutte introducenti connettivi della stessa classe. Quindi avremo una regola negativa, un istanza della quale è la seguente, che costruisce a partire dal loco 3 i due loci 33 e 37: 33, 37 ( {3, 7}) 3 e una regola positiva, che scompone i loci 33 e 37 in sotto-loci: 332 331, 337 37 33, 37 (+{{2}{1, 7}}). Inoltre, vi è un solo assioma, chiamato demone, che permette di generare un qualunque loco, ad esempio: 3054 Ψ. Notate che le due regole sono etichettate da insiemi di numeri positivi, che possono essere virtualmente di cardinalità infinita, quindi possiamo scrivere istanze delle regole con un numero infinito di loci, o addirittura con un numero infinito di premesse. Il demone poi, ci permette di derivare qualunque cosa, e grazie a questo possiamo internalizzare nella Ludica la verifica interattiva delle dimostrazioni, di cui abbiamo parlato in precedenza. Infatti due dimostrazioni della Ludica (ma qui le dimostrazioni si chiamano disegni) possono interagire l una con l altra attraverso una procedura simile all eliminazione del taglio. L interazione può avere tre possibili risultati: o termina con la vittoria di uno dei due disegni, quando l altro si riduce a coincidere con una instanza dell assioma, o non termina mai, o si blocca senza arrivare ad un risultato preciso. Come succede con un programma per il calcolatore, che non è detto termini con successo: quindi la Ludica spinge ulteriormente l analogia della Logica con la computazione, arrivando anche a modellare computazioni che sono normalmente considerate scorrette (come certamente quelle effettuate da un programma che non restituisce mai un risultato!). Ma poichè la Ludica è stata introdotta a partire da problematiche nate all interno della Logica Lineare, è naturale chiedersi la relazione tra i due sistemi. Certamente i disegni della Ludica possono essere interpretate come classi (anche infinite) di dimostrazioni nella Logica Lineare. Ad esempio, il disegno: 332 33, 337 37 (+{{2}{1, 7}}) 33, 37 ( {3, 7}) 3 rappresenta (tra le altre), le due dimostrazioni seguenti: P Q, R P Q, R ( I) (P Q) R ( I) S T (S T) ( I) Q, R ( I) (S T) Q, R ((S T) Q)&R (&I) Se consideriamo la Logica Lineare senza la modalità (MALL), la corrispondenza tra Logica Lineare e Ludica può essere stabilita in modo preciso. Infatti i connettivi della Logica Lineare corrispondono a insiemi di disegni (con particolari caratteristiche),

e le formule a proprietà di disegni. Esplorando tali analogie, la Ludica diventa una fondazione per la Logica Lineare, in quanto vale il seguente teorema: Teorema 1 (correttezza) Per ogni dimostrazione in MALL della formula A, esiste un disegno della Ludica che ha la proprietà A ed è vincente. (completezza) Per ogni formula A, esiste un disegno della Ludica che gode della proprieta A e rappresenta una dimostrazione senza tagli di A in MALL. Un disegno è vincente quando ogni sua interazione con un disegno complementare termina con la sua vittoria. Ricordando la nozione di interazione, il disegno complementare quindi introduce la nozione di dimostrazione sbagliata di A. Rimane ancora aperto il problema di estendere la Ludica in modo che il teorema di correttezza e completezza valga per tutta LL (compresa quindi la mdalità). Per ora quindi la Ludica ci offre una teoria strutturale delle dimostrazioni della Logica Lineare, ristretta al caso in cui tutte le risorse sono consumabili. Per un approccio introduttivo alla Logica Lineare e alla Ludica si vedano rispettivamente [4] e [3]. Riferimenti bibliografici [1] A.Asperti and S.Guerrini, 1998, The optimal Implementation of Functional Programming Languages. Cambridge Tracts in Theoretical Computer Science, Cambridge University Press. [2] Asperti and L.Roversi, 2002, Intuitionistic light affine logic. ACM Transactions on Computational Logic, 3(1), pp. 1-39. [3] Curien P.-L., 2004, Introduction to Ludics. http://www.pps.jussieu.fr/ curien. [4] Danos V., Di Cosmo R., 2004,The Linear Logic Primer, course notes, http://www.pps.jussieu.fr/ dicosmo/coursenotes/linlog/. [5] Girard J.-Y., 1987, Linear Logic, Theoretical Computer Science, London Mathematical 50:1, pp. 1-102. [6] Girard, J.-Y., 1998, Light Linear Logic, Information and Computation 143. [7] Girard J.-Y., 2001, Locus Solum: From the rules of logic to the logic of rules. Mathematical Structures in Computer Science 11, pp. 301-506. [8] Girard, J.-Y., 1996, Proof-nets : the parallel syntax for proof-theory, Logic and Algebra, eds Ursini and Agliano, Marcel Dekker, New York. [9] Y. Lafont, 1988, The linear abstract machine, Theoretical Computer Science 59, North-Holland, pp. 157-180. Torino, 19 febbraio 2004