Come già accennato da Sylvain Peyronnet, la logica è una parte importante dell'informatica teorica. Tuttavia, non è sufficiente imparare la logica dai libri di testo su misura per i matematici puri. In altre parole, è anche importante imparare la logica da una prospettiva più "informatica".
Teoria del modello finito
Vogliamo apprendere tecniche che si occupano di strutture finite. È noto che molti strumenti tradizionali della teoria dei modelli, ad esempio la compattezza e il teorema di Löwenheim-Skolem, non sono applicabili ai modelli finiti. Questo ci porta allo studio della teoria dei modelli finiti . Per quest'area, raccomando i seguenti eccellenti libri:
Un'area secondaria della teoria dei modelli finiti è la complessità descrittiva , in cui vogliamo caratterizzare le classi di complessità in base al tipo di logica necessaria per definire i linguaggi. Il riferimento definitivo per la complessità descrittiva è:
Complessità dimostrativa
Un'altra importante area della logica nell'informatica è Proof Complexity , uno studio della relazione a tre vie tra classi di complessità, sistemi logici deboli e sistema di prova proposizionale. Vengono considerati i seguenti due aspetti correlati: (i) la complessità delle prove delle formule proposizionali e (ii) lo studio delle teorie deboli dell'aritmetica, chiamata aritmetica limitata .
L'aspetto (i) ha a che fare con la seguente domanda: "Esiste un sistema di prova proposizionale in cui ogni tautologia ha una prova del polinomio dimensionale nella dimensione della tautologia?"
Aspetto (ii) studia sistemi logici che usano ragionamenti ristretti basati su concetti di complessità computazionale. In altre parole, si assegna ad ogni classe di complessità una teoria logica , dove le dimostrabilmente totali funzioni sono esattamente le funzioni nella classe complessità . Uno sviluppo recente è un nuovo programma di ricerca chiamato "matematica inversa limitata" proposto da Stephen Cook e Phuong Nguyen, in cui l'obiettivo è classificare i teoremi (di interesse per l'informatica) sulla base della (minima) complessità computazionale dei concetti necessari per dimostrarli .V C V C CCVCVCC
Gli aspetti (i) e (ii) sono strettamente correlati alla nozione di traduzione proposizionale proposta nel documento di Cook del 1975 , che introduceva la teoria dell'equazione per le funzioni del poliltime e mostrava come i teoremi in possono essere tradotti in famiglie di tautologie che hanno prove di lunghezza polinomiali nel sistema di prova Frege esteso.P VPVPV
Per eccellenti sondaggi sulla complessità delle prove, raccomando i seguenti due libri:
Il libro di Cook e Nguyen è essenzialmente autonomo e tutto il necessario background logico è riportato nei Capitoli 2 e 3. Il Capitolo 9 è particolarmente interessante poiché gli autori hanno introdotto un metodo estremamente semplice per definire la tua teoria per qualsiasi classe di complessità all'interno di . In questo metodo, abbiamo solo bisogno di aggiungere un ulteriore assioma a una teoria di base , in cui l'assioma afferma semplicemente l'esistenza di una soluzione a un problema completo della classe di complessità. Piuttosto sorprendente!V 0PV0
Il libro di Krajíček è un po 'più impegnativo poiché ha presunto che i lettori abbiano già familiarità con la logica matematica e la teoria dei modelli (o che siano abbastanza disposti a imparare le basi necessarie lungo la strada). Ma imparerai molto leggendo e comprendendo questo libro.