Cos'è esattamente una logica?


36

Potrebbero esserci delle scuse per aver fatto un'altra domanda sui prerequisiti, ma ero confuso sui punti di partenza. Mi sono imbattuto in vari termini come "Logica modale", "Logica temporale", "Logica di primo ordine", "Logica di secondo ordine" e "Logica di ordine superiore".

Cosa significa esattamente "Logica" in questo contesto? Come definiamo rigorosamente la parola "Logica"?

Dopo aver sfogliato le pagine iniziali di alcuni libri, posso concludere grossolanamente che una "Logica è un modo per decidere cosa segue da cosa ed è significativo nella progettazione dei linguaggi di programmazione come impone e facilita la progettazione di programmi per ragionare e comprendere automaticamente i programmi. Voglio comprendere il secondo punto in modo un po 'elaborato.

Ora veniamo a queste logiche.

Tutte queste logiche, "Logica temporale", "Logica modale", "Logica del primo ordine", "Logica di ordine superiore" sono indipendenti l'una dall'altra o dobbiamo comprendere alcune di queste logiche per capirne altre in questo gruppo? In breve, quali saranno i prerequisiti per loro? (Sarà fantastico se posso ottenere suggerimenti anche su alcuni materiali.)

PS: grazie mille per la tua gentilezza


17
Ironia della sorte che una domanda come questa sarebbe stata posta da qualcuno chiamato Kripke . :-)
David Richerby il

1
Devo dire che la tua reazione non è strana. Sono rimasto piuttosto sorpreso da me stesso quando ho incontrato una definizione formale di "algebra".
Lucertola discreta

2
@Discretelizard "Algebra" è probabilmente ancora più sorprendente, dal momento che non ha assolutamente nulla a che fare con quella cosa che chiamano algebra al liceo.
David Richerby,

@DavidRicherby L'ho fatto anch'io, "algebra lineare" è solo un'algebra.
Niklas Rosencrantz,

1
@MartinRosenau Perché pensi che sarebbe una barriera per adattare la logica fuzzy a una nozione generale di logica?
Derek Elkins,

Risposte:


39

Fondamentalmente, una logica consiste di due cose.

  • La sintassi è un insieme di regole che determinano ciò che è e non è una formula.
  • La semantica è un insieme di regole che determinano quali formule sono "vere" e quali "false". Per un teorico modello , questo è espresso mettendo in relazione le formule con le strutture matematiche in cui sono vere; per un teorico della prova , la verità corrisponde alla provabilità da un insieme scelto di assiomi con un insieme scelto di regole di prova (tecniche).

La differenza tra diverse logiche sta, molto semplicemente, nella scelta della sintassi e della semantica. La maggior parte delle logiche sono estensioni della logica proposizionale o della logica del primo ordine . In un certo senso, puoi vedere queste estensioni come "aggiungere più funzionalità" alla logica. Ad esempio, le logiche temporali si occupano di verità che possono variare nel tempo.

φttφt

Poiché praticamente tutte le logiche si basano sulla logica proposizionale e del primo ordine, consiglierei di conoscerle prima.


2
Come scienziato informatico ho anche scoperto che la connessione alla teoria dei tipi è molto utile per l'apprendimento della logica. Un sistema di tipi può essere pensato come una presentazione alternativa di una logica equivalente, tramite la corrispondenza di Howard-Curry . Consiglio il libro di Pierce per iniziare.
phs

1
Nella logica c'è molto di più della sintassi oltre alle semplici formule, e c'è di più nella semantica della semplice determinazione della verità.
Andrej Bauer,

Una prospettiva formale che corrisponde all'incirca alla visione menzionata in questa risposta e cerca di fornire una definizione unificante (ed è stata progettata per affrontare i problemi dell'informatica) è la teoria delle istituzioni .
Derek Elkins,

Non tanto per inciso, le istituzioni sono descritte in un documento intitolato What is a Logic?
Derek Elkins,

@phs Wow ... Non so come sono arrivato così lontano, ma questa è la prima volta che ho mai considerato l'idea che Currying una funzione potesse essere un riferimento a qualsiasi cosa oltre alla spezia.
Cort Ammon - Ripristina Monica il

21

Mentre campi come l'informatica, la matematica e la fisica sono relativamente ben organizzati, Logic ha una storia caotica. La sua organizzazione è davvero confusa, quindi penso che sia importante leggere un po 'di storia per capire la fitta struttura del campo.

Il percorso che dovresti scegliere dipenderà dal tuo background e dai tuoi obiettivi .

Cos'è una logica?

  1. Il punto di vista tradizionale afferma che una logica è un sistema formale con un linguaggio formale (sintassi), un semantico (significato esterno, pensa agli interpreti dei programmi) e un insieme di regole per dedurre dichiarazioni da altri (pensa alle regole di riduzioni di programmi). Una logica è puramente vista come un semplice oggetto matematico.

  2. Il punto di vista moderno, afferma, attraverso il famoso isomorfismo di Curry-Howard, che una logica è un sistema di tipo coerente (le prove sono programmi e i tipi sono formule). Più precisamente: un sistema di inferenze governa il teorema dell'eliminazione del taglio e il teorema di Church-Rosser / teorema della confluenza che implica che il sistema di programmazione sottostante si comporterà bene.

  3. p,q

    • P,QP(x1,...,xn)Q(x1,...,xn)
    • Nella logica del secondo ordine, la variabile per i predicati diventa un tipo di funzioni che assumono quelle del primo ordine. Si comportano come funzioni che prendono le funzioni del primo ordine come argomento. Ad esempio, possiamo avere predicati e quantificare i predicati.
    • Stesso ragionamento per il terzo ordine, ecc. Le logiche di ordine superiore accettano qualsiasi ordine. Pensa a Haskell e OCaml che hanno funzioni che assumono funzioni di funzioni di funzioni ecc. Come argomento.
  4. In generale, non vi è consenso su cosa sia veramente un logico. Alcuni filosofi usano sistemi che non hanno un coerente sistema di programmazione sottostante. In realtà, direi che ogni campo che utilizza Logic ha una propria concezione della logica. E la maggior parte dei matematici probabilmente non si preoccupano di cosa sia una logica.

La struttura del campo

La storia della logica è troppo grande, quindi darò solo la struttura del campo. Il campo della logica formale è diviso in due: l'uso filosofico, matematico e computazionale. La logica formale inizia nel 19-20 ° secolo.

  • Prima dovresti studiare la logica proposizionale e la logica del primo ordine . Sono i più standard. Sono stati creati per dare un resoconto formale / matematico alla vecchia logica del tempo dell'antica Grecia.

    • La teoria dei modelli (semantica), studia le strutture matematiche dal punto di vista della logica
    • La teoria della prova (sintassi), indipendentemente, studia le prove come un oggetto matematico.
  • La logica del secondo ordine è un'estensione della logica del primo ordine che è un'estensione della logica proposizionale. È particolarmente interessante perché l'aritmetica "vive" nel secondo ordine (predicati su predicati con induzione). Allo stesso modo, la topologia vive nel "terzo ordine" (predicati su insiemi che possono essere visti come predicati stessi).

  • Poi venne LEJ Brouwer che divise la logica in due:

    • AA¬A
    • La logica intuitiva è un tipo di logica che rifiuta il mezzo escluso e tutte le leggi equivalenti (per ragioni tecniche e filosofiche che non spiegherò qui).
  • In un altro contesto, i filosofi si interessarono alla logica formale e pensarono che potesse rispondere a domande filosofiche (filosofia analistica). Hanno creato i loro sistemi logici indipendenti (logiche paraconsistenti, logiche di rilevanza e logiche modali come logiche deontiche, logiche temporali, logiche epistemiche, ...). La logica modale non funziona con la verità ma con modalità come possibilità, necessità, tempo, conoscenza. Sono tutti indipendenti dalle logiche sopra.

  • λ

  • Gli scienziati informatici volevano verificare e dimostrare la soudness dei sistemi in modo formale e sembra che le logiche modali siano rilevanti. Oggi usano logiche temporali e logiche modali per ragionare sui sistemi (vedi: metodi formali, controllo del modello). I sistemi sono modellati tramite la teoria degli automi (ad esempio) e sono verificati mediante strumenti logici. Ha portato a Linear Temporal Logic (LTL) e Computational Tree Logic (CTL) .

  • Nella stessa motivazione, gli informatici volevano verificare la solidità e dimostrare le proprietà dei programmi. Quindi abbiamo inventato la Hoare Logic per programmi imperativi e, più in generale, Separation Logics .

  • Studiando, l'isomorfismo di Curry-Howard, è emersa una nuova logica: la logica lineare che limita le regole strutturali (indebolimento e contrazione) viste come la cancellazione e la duplicazione operanti in prove e programmi. Il potenziale infinito della verità viene esplicitato. Sembra che questa logica sia una generalizzazione della logica classica e intuizionista e dia una concezione completamente nuova della logica basata sul calcolo e su un paradigma procedurale. È studiato principalmente da scienziati informatici.

  • La logica lineare deriva anche da ciò che chiamiamo logiche substrutturali che rifiutano le regole strutturali della logica. La logica pertinente e la logica affine sono esempi di tali sistemi.

Riepilogo e selezione del percorso

  • Qualsiasi logica può essere: logica proposizionale, primo ordine, secondo ordine, terzo ordine, ..., ordine superiore (ciascuno che estende il precedente).

  • È possibile aggiungere o rimuovere regole per creare varianti di sistemi esistenti:

    • Rimuovi excluded-middle: logica intuizionistica
    • Aggiungi modalità: logiche modali
    • Limitare contraddizione e indebolimento: logica lineare
    • Rimuovere la contrazione: logica affine
    • Rimuovere l'indebolimento: logica pertinente
    • Gestire la negazione in modo diverso: logica paraconsistente
  • Scopri prima la logica proposizionale e del primo ordine e:

    • teoria dei modelli, secondo ordine, ordine superiore se sei interessato alla matematica
    • teoria della dimostrazione, logica intuizionista, secondo ordine, logica lineare se sei interessato alle basi dell'informatica
    • logiche modali, logiche hoare, logiche di separazione se sei interessato alla verifica di sistemi e programmi
    • logiche modali, logiche non classiche in generale se sei interessato alla filosofia

Riferimenti (libri)

Personalmente consiglio di mescolare i riferimenti, se possibile.

  • Logica matematica (Chiswell & Hodges) : libro molto conciso e semplice per cominciare.
  • Un primo corso in Logic (Hedman) : un po 'come quello sopra ma dà maggiori dettagli e tiene conto della calcolabilità.
  • Manuale di logica pratica e ragionamento automatico (Harrison) : se vuoi capire come vengono implementati nella pratica alcuni concetti relativi alla logica. Più orientato al ragionamento automatizzato.
  • Logica in Informatica (Huth & Ryan) : molto chiara e orientata agli informatici (verifica di programmi e sistemi, logica Hoare, uso pratico della logica modale, logiche temporali, verifica del modello).
  • Introduzione alla teoria della prova (Buss) : un'introduzione alla teoria della prova. Dovrebbe essere meglio leggerlo dopo alcune logiche generali.

Riferimenti (Wikipedia)


Bene, questo è molto ... completo, direi. Grazie per aver dedicato del tempo a scrivere questo!
Lucertola discreta

5
Sembra molto esaustivo, ma non aggiungerei Curry-Howard come la seconda cosa che dici sulla logica a qualcuno che sta solo imparando di cosa si tratta. A meno che tu non stia effettivamente studiando la teoria dei tipi, Curry-Howard non è "la moderna definizione di logica"; è solo qualcosa che alcune persone fanno con la logica.
David Richerby,

2
@DavidRicherby Ok. Capisco, ma penso che Curry-Howard sia abbastanza importante per gli informatici (anche perché siamo in csstackexchange). Non è proprio una moderna definizione di logica, ma penso che lo sia per alcuni informatici. Ciò che una logica è veramente può essere comunque soggettivo. So che non è sempre una buona idea esporre il poster originale a così tante cose, ma non mi aspetto davvero una piena comprensione, piuttosto un panorama completo dei rami della Logica (un po 'distorto da CS) che può agire come un riferimento per essere consapevoli di quale tipo di logica esiste e dove viene utilizzata.
Boris E.

Avevo l'impressione che la logica di ordine superiore in Haskell sarebbe composta da operatori di tipo , piuttosto che funzioni che potrebbero assumere funzioni come input.
martin

@martin Hm ... Era solo una semplice analogia per afferrare l'idea del meccanismo, ma non dovrebbe essere preso troppo sul serio. Volevo descrivere l'idea di "ordine superiore" piuttosto che precisamente di "logica di ordine superiore" (prendendo in considerazione lo sfondo del poster originale).
Boris E.,

0

Tutte queste logiche stanno arrivando al di sotto della Logica matematica .

La logica matematica è spesso divisa nei campi della teoria degli insiemi, della teoria dei modelli, della teoria della ricorsione e della teoria delle prove. Queste aree condividono i risultati di base sulla logica, in particolare la logica del primo ordine e la definibilità. Nell'informatica (in particolare nella classificazione ACM) la logica matematica comprende argomenti aggiuntivi non dettagliati in questo articolo; vedi Logica in informatica per quelli.

Inoltre, se vuoi conoscere la logica in termini generali questo articolo potrebbe essere utile.

La logica, che in origine significa "la parola" o "ciò che si dice", ma che sta per significare "pensiero" o "ragione", è un argomento interessato dalle leggi più generali della verità, e ora è generalmente ritenuto consistente nello studio sistematico della forma di inferenza valida. Un'inferenza valida è quella in cui esiste una relazione specifica di supporto logico tra le ipotesi dell'inferenza e la sua conclusione.


4
Hmm, non sono sicuro che questo sia molto utile qui. Diresti che il post di David rende il tuo "superato"? Se no, perché? Prova ad espanderci.
Lucertola discreta

@OmG: puoi consigliare un elenco di materiali da cui imparare?
Sheldon Kripke,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.