Perché abbiamo bisogno della semantica formale per la logica predicata?


25

Considera risolta questa domanda. Non sceglierò una risposta migliore poiché tutti hanno contribuito alla mia comprensione dell'argomento.

Non sono sicuro di quale beneficio abbiamo definendo formalmente la semantica della logica predicata. Ma vedo valore nell'avere un calcolo di prova formale. Il mio punto è che non avremmo bisogno della semantica formale per giustificare le regole di inferenza dei calcoli di prova.

Potremmo definire un calcolo che imita le "leggi del pensiero", cioè le regole di inferenza che sono state usate dai matematici per centinaia di anni per provare i loro teoremi. Tale calcolo esiste già: deduzione naturale. Definiremmo quindi questo calcolo come solido e completo.

Ciò può essere giustificato realizzando che la semantica formale della logica predicata è solo un modello. L'adeguatezza del modello può essere giustificata solo intuitivamente. Quindi, dimostrando che la deduzione naturale è solida e completa con riferimento alla semantica formale non rende la deduzione naturale più "vera". Sarebbe altrettanto utile se giustificassimo direttamente e intuitivamente le regole della deduzione naturale. La deviazione che utilizza la semantica formale non ci dà nulla.

Quindi, avendo definito la deduzione naturale come solida e completa, potremmo mostrare la solidità e la completezza di altri calcoli mostrando che le prove che producono possono essere tradotte in deduzione naturale e viceversa.

Le mie riflessioni sopra sono corrette? Perché è importante dimostrare la solidità e la completezza dei calcoli delle prove facendo riferimento alla semantica formale?


1
Sembra una domanda sulla logica (pura) piuttosto che sull'informatica. Potrebbe essere meglio chiederlo a math.stackexchange.com .
Tsuyoshi Ito,

6
Direi diversamente. La logica è uno degli ingredienti fondamentali dell'informatica teorica, in particolare la cosiddetta traccia della teoria B.
Dave Clarke,

@supercooldave: sono d'accordo sul fatto che la logica sia un ingrediente fondamentale nell'informatica, ma avevo indovinato che a math.stackexchange.com sarebbe stata data una risposta più soddisfacente a questa domanda piuttosto che qui. Questo è stato prima che tu abbia pubblicato una risposta, ovviamente.
Tsuyoshi Ito,

2
@Tsuyoshi: ho sentito che ci sono più logici impiegati nei dipartimenti di informatica che in qualsiasi altro dipartimento, con i logici nei dipartimenti di logica che sono una razza decisamente rara.
Charles Stewart,

2
@Suresh: abbiamo visto un aumento della teoria-B nell'ultima settimana.
Charles Stewart,

Risposte:


18

Un commento secondario e una risposta più seria.

In primo luogo, non ha senso dichiarare un sistema di detrazione naturale completo di Fiat. La deduzione naturale è interessante proprio perché ha una naturale nozione interna di coerenza e / o completezza, vale a dire l'eliminazione del taglio. Questo è un teorema fantastico, e l'IMO giustifica pienamente i tentativi di fornire una semantica teoricamente di prova (e per corrispondenza CH, allo stesso modo giustifica l'uso di metodi operativi nella semantica del linguaggio di programmazione). Ma questo è interessante proprio perché offre un'idea più raffinata di ottenere la logica giusta della coerenza. Prendere la strada teorica delle prove significa che dovrai fare più lavoro, ma in cambio otterrai risultati più forti.

Tuttavia, succede che a volte la logica in assume un ruolo secondario. Potremmo iniziare con una (famiglia di) modelli e quindi cercare modi di parlarne sintatticamente, usando una logica. La solidità e completezza di una logica rispetto a una famiglia di modelli indica che la logica cattura davvero tutto ciò che è interessante e vero che puoi dire sulla classe di modelli. Un esempio concreto di quando i modelli sono più interessanti delle teorie logiche si verifica nell'analisi dei programmi e nel controllo dei modelli. Lì, la solita cosa da fare è prendere il tuo modello come l'esecuzione di un programma e la logica essere un frammento della logica temporale. Le proposizioni che puoi dire in queste lingue sono (deliberatamente) non terribilmente eccitanti - ad esempio, non si verificano mai dereferenze con puntatore nullo - ma è il fatto che si applica alle esecuzioni di programmi reali che gli dà interesse.


15

Aggiungerò solo un'altra prospettiva per aumentare le risposte di cui sopra. In primo luogo, queste riflessioni sono utili e molte persone hanno avuto idee simili. In filosofia questo a volte viene chiamato "semantica della teoria della prova", attraente per il lavoro di Nuel Belnap, Dag Prawitz, Michael Dummett e altri negli anni '60 e '70, che a loro volta fanno appello al lavoro di Gentzen sulla deduzione naturale. Anche Per Martin-Löf e Jean-Yves Girard sembrano proporre varianti di questa posizione nei loro scritti. E parlando in senso lato, nei linguaggi di programmazione questo è "l'approccio sintattico alla digitazione del suono".

Il fatto è che anche se si accetta che le regole della logica non hanno bisogno di un'interpretazione semantica separata, non è molto interessante / utile dire che sono auto-giustificati e lasciarlo a quello. La domanda è: cosa realizza una semantica formale e se è possibile ottenere lo stesso con meno deviazioni. Tuttavia, il progetto di unificare la teoria dei modelli con la teoria delle prove analitiche è importante ma ancora irrisolto, essendo attivamente perseguito su molti fronti diversi tra cui la logica categorica, la semantica dei giochi e le "ludiche" di Girard. Ad esempio, oltre a ciò che Charles ha menzionato, un altro vantaggio qualitativo di avere modelli è la capacità di fornire esempi concreti a non- teoremi, e la domanda è come dare un senso a questo in un approccio "diretto". Per una risposta ispirata ai ludici, vedere "Sul significato di completezza logica" di Michele Basaldella e Kazushige Terui.


14

Una semantica formale fornisce un significato diretto dei termini nel calcolo indipendentemente dalle regole di prova sintattica per manipolarli. Senza una semantica formale come puoi affermare se le regole della deduzione sono corrette (solidità) o se ne hai abbastanza (completezza)?

Ci sono state "leggi del pensiero" proposte prima della deduzione naturale. I sillogismi di Aristotele erano una di queste raccolte. Se li avessimo definiti sani e completi, forse li useremmo ancora oggi, anziché sviluppare tecniche logiche più avanzate. Il punto è che, se i sillogismi catturano completamente le leggi del pensiero, perché dovremmo escogitare ulteriori logiche. E se fossero in realtà incoerenti? Avere una semantica insieme al calcolo della prova formale e alle prove di solidità e completezza che le collegano fornisce un metro per giudicare il valore di tale sistema di ragionamento. Non starebbe più in isolamento.

X¬X ). Quindi non possiamo nemmeno concordare se la singola nozione di deduzione abbia senso. Beall e Greg Restallarriviamo persino a sostenere che dovremmo accettare che non esiste una vera logica e adottare un atteggiamento pluralistico, usando la logica più appropriata per l'occasione. Data la pletora di logiche disponibili per gli informatici (logica lineare, logica di separazione, logica costruttiva di ordine superiore, molte logiche modali, tutte in varietà classiche e intuizionistiche), l'adozione di un atteggiamento pluralistico è qualcosa che molti di noi probabilmente non hanno dato un secondo pensato, perché la logica è uno strumento per risolvere un problema particolare e proviamo a selezionare quello più appropriato. Una semantica formale è un modo di giudicare l'adeguatezza della logica.

Un altro motivo per avere una semantica formale è che ci sono più logiche che calcoli predicati. Molte di queste logiche sono progettate per ragionare su un particolare tipo di sistema. (Sto pensando alle logiche modali). Qui la classe di sistemi è nota e la logica viene dopo (anche se, storicamente, anche questo non è vero). Ancora una volta, la solidità ci dice se gli assiomi della logica catturano correttamente il "comportamento" del sistema e la completezza ci dice se abbiamo abbastanza assiomi. Senza una semantica, come potremmo sapere se le regole della detrazione sono sufficienti e non sciocchezze?

Una logica di esempio che è stata definita in modo puramente sintattico e il lavoro è ancora in corso per fornire una semantica formale è la logica BAN per il ragionamento sui protocolli crittografici. Le regole di inferenza logica sembrano ragionevoli, quindi perché fornire una semantica formale? Sfortunatamente, la logica BAN può essere utilizzata per dimostrare che un protocollo è corretto, ma possono esistere attacchi a tali protocolli. Le regole di detrazione sono pertanto errate , almeno per quanto riguarda la semantica prevista.


1
Hai scritto: "Se la semantica proposta corrisponda o no alla nozione intuitiva di deduzione è una questione filosofica". Potremmo sostituire la parola "semantica" in questa frase con "regole di prova" e ottenere la seguente frase: se le regole di prova proposte corrispondono o meno alla nozione intuitiva di deduzione è una questione filosofica. Il mio punto qui è che la specifica delle regole di prova è una forma di definizione della semantica.
Martin,

1
Specificando la semantica formale e quindi dimostrando la solidità e la completezza rispetto a questa semantica, abbiamo solo dimostrato che le regole di semantica e di prova sono coerenti, ma non rende le regole di prova più "vere", quindi se le avessimo giustificate direttamente usando l'intuitiva nozione di prova.
Martin,

Non sono d'accordo con quello che dici nel secondo paragrafo. Se avessimo definito il sillogismo come solido e completo, avremmo sicuramente inventato alcuni altri calcoli e poi dimostrato che possono provare esattamente gli stessi statuti dei sillogismi (cioè sono sani e completi con riferimento ai sillogismi). Ma sicuramente alcuni logici e filosofi sarebbero venuti avanti e hanno sostenuto che i sillogismi non sono sufficienti. Al più tardi, Boole e Frege avrebbero esteso il set di regole e Gentzen avrebbe inventato altrettanto bene il suo ND.
Martin,

1
Per quanto riguarda il tuo primo commento. In effetti, le regole di prova definiscono una logica e possono di per sé essere viste come una semantica. In effetti, è abbastanza comune nella ricerca del linguaggio di programmazione che la semantica di un linguaggio di programmazione sia definita in modo simile (vale a dire, tramite la semantica operativa). Quindi il tuo punto è valido. D'altra parte, il lavoro sulla semantica cerca di trovare un significato assoluto, non operativo per la formula nella logica, che è indipendente dai mezzi per eseguire la deduzione.
Dave Clarke,

1
@Martin, le tue risposte alle risposte che le persone pubblicano mi sembrano "leggere" e "non scientifiche". Ovviamente non abbiamo bisogno della semantica, se per "bisogno" intendi "è in teoria possibile ricavare tutti i teoremi matematici dalla logica non misteriosa bizzare ma dimostrabilmente equivalente L." Ma è bello avere delle modelle! I modelli possono essere programmi per computer che vogliamo verificare, sistemi distribuiti che vogliamo simulare o strutture ordinate su cui possiamo giocare a giochi di Ehrenfeucht-Fraisse per dimostrare P = FO (LFP). La mia domanda per te: puoi nominare qualche vantaggio di informatica nel lavorare con la logica senza semantica?
Aaron Sterling,

8

Concordo con supercooldave, ma c'è un'altra ragione più pragmatica per volere più di un insieme o di altre regole di inferenza che caratterizzano una logica: un dato set di regole di inferenza tende a non essere buono per rispondere al tipo di problemi affrontati quando si pone la logica usare.

Se hai una logica specificata da un elenco di assiomi e un paio di regole come un sistema di Hilbert, di solito sarà un duro lavoro per capire come dimostrare un dato teorema nel sistema e senza una visione teorica, non stai andando essere in grado di dimostrare che una determinata proposta non può essere dimostrata nel sistema. I modelli tradizionali sono buoni per dimostrare proprietà che valgono per l'intera logica per induzione.

Quattro tipi di strumenti sono utili per risolvere i problemi che la maggior parte dei logici desidera risolvere, organizzati dal meno al più semantico:

  1. I sistemi in stile Hilbert sono buoni per caratterizzare la relazione logica di conseguenza di una logica, e di solito sono buoni per classificare diverse logiche, come le logiche modali rivali;
  2. I sistemi di tableau sono utili per formalizzare gli algoritmi decisionali. In genere, se una logica è decidibile, è possibile trovare un sistema tableau di terminazione come algoritmo di decisione e, in caso contrario, è possibile trovare un sistema tableau potenzialmente non terminante che fornisce una procedura di semi-decisione. Se si vuole mostrare un limite superiore alla complessità della decidibilità (cioè la classe di complessità di una logica), i sistemi tableau sono generalmente il primo posto in cui si guarda.
  3. Le teorie della prova analitica, come la deduzione naturale di Gentzen e il calcolo sequenziale, forniscono rappresentazioni di prove valide per il ragionamento e offrono la nozione di prova analitica, utile per dimostrare proprietà utili come l'interpolazione di una teoria.
  4. Le teorie dei modelli in stile Tarski sono spesso persino migliori per il ragionamento sulla logica, perché si allontanano quasi completamente dai dettagli sintattici della logica. Nella logica modale e nella teoria degli insiemi, sono così migliori nel fornire i risultati che quei logici tendono ad avere un interesse molto limitato nella teoria dei tableau e della prova analitica.

Poiché la supercooldave menziona la logica intuizionistica: senza la regola del mezzo escluso, la teoria dei modelli diventa molto più complicata e le teorie della prova analitica diventano più importanti, in genere la semantica della scelta. Le tecniche algebriche, come la teoria delle categorie, diventano preferite per astrarre dalla complessità sintattica.

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.