Grundläggande logik och modellteori Kapitel 3: Bevissystem, Hilbertsystem Henrik Björklund Umeå universitet 8. september, 2014
Bevissystem och Hilbertsystem Teorier och deduktionsproblemet Axiomscheman och bevisregler Bevissystem i allmänt Hilbertsystemet Egenskaper hos bevissystem
Varför bevissystem? Bevissystem är en metod för att visa att U = A steg för steg. Ett bevis kan verifieras, men är svårare att algoritmiskt beräkna. Om U = {A 1,..., A n } kan man med semantiska tablåer kontrollera om A 1 A n A är valid genom att falsifiera negationen. Från detta följer = A 1 A n A, och från det att U = A (se Teorem 2.38 i andra uppl., 2.50 i tredje). Men, bevissystem get oss vissa fördelar U kan vara oändlig (!) Bevissystem klarar hoppet till mer avancerade logiker Bevissystem producerar användbara mellanresultat (lemmor)
Teorier och teorem En mängd formler U är sluten under semantisk följd om, för varje formel A, U = A innebär att A U. Om U har den här egenskapen, då är U en teori och A är ett teorem. Låt U = {A 1, A 2,...} vara en mängd formler. Då säger vi att T (U) = {A U = A} är Us teori och att formlerna i U är axiom i T (U). Att fråga om A är ett teorem i T (U), dvs. om U = A, är ekvivalent med att fråga om = A 1 A 2... A är en tautologi (se Teorem 2.38 i andra uppl., 2.50 i tredje).
Deduktionsproblemet Deduktionsproblemet frågar om = A gäller (där A WF(L)). En logik L är avgörbar om dess deduktionsproblem är avgörbart. Satslogiken (dvs varje satslogik) är avgörbar. Vi kan visa att negationen av formeln inte är satisfierbar med en semantisk tablå. Är logiken i fråga ändlig så kan = A avgöras genom att räkna ut v(a) för varje tolkning v. Om logiken inte är ändlig kan A trots allt endast innehålla ett ändligt antal atomer, vilket medför att man kan begränsa sig till dem. Bevissystem kan dock producera långt mycket kompaktare, lösningar av deduktionsproblemet, som är mycket effektivare att verifiera korrekta.
Bevissystem, informellt Ett bevissystem består av axiom och regler. Ett bevis består av en linjär följd av formler, där varje formel är en hypotes, ett axiom eller kan härledas från tidigare formler enligt bevissystemets regler. Exempel: Vi vill visa att {p, p q, q r} = r. Formlerna p, p q och q r är hypoteserna och vi vill komma fram till r. I bevissystemet som ska diskuteras här (nedan kallat Hilbertsystemet) ser beviset ungefär ut så här: 1. p (hypotes) 2. p q (hypotes) 3. q (fås av 1 och 2) 4. q r (hypotes) 5. r (fås av 3 och 4)
Axiomscheman+bevisregler Axiomscheman är mallar för formler som innehåller platshållare. En platshållare står för en godtycklig wff. Ett exempel är α 1 (α 2 α 1 ). Om förekomsterna av α 1 och α 2 ersätts med två godtyckliga wff:er fås ett axiom. Antalet axiom som schemat beskriver brukar alltså vara oändligt. Bevisregler skrivs vanligen som i det här exemplet, en berömd bevisregel: α 1, α 1 α 2 α 2 (modus ponens, MP). MP användes i första exemplet. Regeln säger att om instanser av alla formler över strecket (premisserna) redan har härletts så får också motsvarande instans av formeln under strecket (konsekvensen) härledas. (Axiomscheman är egentligen ett specialfall där antalet formler över strecket är 0, vilket innebär att konsekvensen alltid får härledas.)
Uppgift 1 Om ett axiomschema innehåller mallen (α 1 (α 2 α 1 )), vilka av följande formler är då axiom? A 1 = (p (q p)) A 3 = (p (p p)) A 2 = ((p p) (p (p p))) A 4 = (p (q (r s)))
Lösning 1 Formlerna A 1, A 2 och A 3 är axiom (α 1 och α 2 kan bytas mot samma formel), men i A 4 har skilda förekomster av α 1 ersatts med olika formler och det är inte tillåtet.
Uppgift 2 Vilka av följande resonemang är acceptabla tillämpningar av modus ponens? α 1, α 1 α 2 α 2 1. p (hypotes) 1. p (hypotes) 2. p q (hypotes) 2. q r (hypotes) 3. q (MP) 3. r (MP)
Lösning 2 Det första resonmanget är korrekt, men i det andra stämmer inte premisserna överens; åter igen har skilda förekomster av α 1 ersatts med olika formler.
Bevissystem och bevis Definition Ett bevissystem är ett par Γ = (S, R) bestående av ändliga mängder S och R av axiomscheman och bevisregler. Ett bevis i Γ för en wff A utifrån en mängd U av wff:er är en sekvens A 1,..., A n av wff:er sådana att varje A i är ett element i U, en instans av ett axiomschema i S eller konsekvensen av en instans av en regel i R, där varje premiss finns bland A 1,..., A i 1 och A n = A. Notationen U Γ A uttrycker att det finns ett bevis av A från U i Γ.
Ett bevisssystem av Hilberttypen Hilbertsystemet H har fått sitt namn efter David Hilbert, en av de mest framstående matematikerna i slutet av 1800- och början av 1900-talet, som kring 1920 initierade ett stort forskningsprogram vars mål var att fullständigt formalisera matematiken mha predikatlogik. Systemet H är gjort för satslogiker som innehåller konnektiven och. Det består av axiomschemana Ax 1 = α 1 (α 2 α 1 ) Ax 2 = (α 1 (α 2 α 3 )) ((α 1 α 2 ) (α 1 α 3 )) Ax 3 = ( α 1 α 2 ) (α 2 α 1 ) samt en enda bevisregel, nämligen modus ponens: α 1, α 1 α 2 α 2
Ett enkelt formellt bevis Vi vill visa att {p, p q, q r} H s r. 1. p (hypotes) 2. p q (hypotes) 3. q (modus ponens på 1 och 2) 4. q r (hypotes) 5. r (modus ponens på 3 och 4) 6. r ( s r) (Ax 1 = α 1 (α 2 α 1 ) med α 1 = r och α 2 = s) 7. s r (modus ponens på 5 och 6) Observera att formlerna skulle också kunna härledas i en annan ordning. Man skulle t ex kunna börja med 6, 4, 2, 1 istället.
En grafisk representation av bevis Beviset kan representeras som en dag en riktad acyklisk graf (directed acyclic graph). Representationen är fördelaktig eftersom den gör beroendeförhållandena tydliga: p p q q r r ( s r) q r s r Varje linearisering av grafen (dvs varje linjärt arrangemang av noderna som gör att kanterna pekar framåt) ger ett korrekt bevis.
Ett till bevis Låt oss försöka bevisa att {p q, q r} H p r}. 1 p q (hypotes) 2 q r (hypotes) 3 ((q r) (p (q r)) (Ax 1) 4 p (q r) (MP 2, 3) 5 (p (q r)) ((p q) (p r)) (Ax 2) 6 (p q) (p r) (MP 4, 5) 7 p r (MP 1, 6)
Metateorem Vi skulle vilja kunna använda en generalisering av beviset ovan: α 1 α 2, α 2 α 3 α 1 α 3 Det kan bevisas så här: 1. α 2 α 3 (hypotes 2) 2. (α 2 α 3 ) (α 1 (α 2 α 3 )) (Ax 1 ) 3. α 1 (α 2 α 3 ) (MP på 1 och 2) 4. (α 1 (α 2 α 3 )) ((α 1 α 2 ) (α 1 α 3 )) (Ax 2 ) 5. (α 1 α 2 ) (α 1 α 3 ) (MP på 3 och 4) 6. α 1 α 2 (hypotes 1) 7. α 1 α 3 (MP på 6 och 5)
Metateorem som förkortar bevis Betrakta ett bevissystem Γ (t ex Hilbertsystemet H) samt en mängd U = {A 1,..., A n } av formelscheman och ett formelschema A. Om det finns ett bevis U Γ A (där bevis av formelscheman är definierade på samma sätt som om det handlar om konkreta formler) så är varje konkret instans av beviset ett korrekt bevis. U Γ A är då ett metateorem som kan användas i senare bevis för att förkorta dem. Med andra ord, i bevis får man använda bevisregeln A 1,..., A n A För att inse att den är korrekt, observera att man istället för den nya regelns tillämpning skulle kunna klistra in motsvarande konkret instans av beviset för U Γ A.
Tillämpning av metateorem n p q (hypotes) n+1 q r (hypotes) n+2 p r (Metateorem 1 på n, n+1) m (t u) s (hypotes) m+1 s r (hypotes) m+2 (t u) r (Metateorem 1 på m, m+1)
Exempel 2: Bevis av metateorem 2 Vi kan nu använda metateorem 1 för att bevisa nya metateorem, till exempel metateorem 2: H α 1 (α 1 α 2 ) 1. α 1 ( α 2 α 1 ) (Ax 1 ) 2. ( α 2 α 1 ) (α 1 α 2 ) (Ax 3 ) 3. α 1 (α 1 α 2 ) (metateorem 1 på 1 och 2) Om vi istället för rad 3 klistrar in motsvarande instans av beviset för metateorem 1 (där vi hänvisar till rad 1 och 2 istället för hypotes 1 och 2) får vi ett (längre) bevis utan metateorem.
Deduktionsteoremet Deduktionsteoremet är en annan typ av metateorem. Det lyder så här: U {A} A om och endast om U A A (där U är en ändlig mängd av wff:er och A, A är wff:er). Teoremet kan bevisas via induktion över härledningens längd. Intuitivt säger deduktionsteoremet att man, under vilka hypoteser U som helst, kan bevisa A A genom att betrakta A som ytterligare en hypotes och sedan bevisa A.
Fler metateorem Kontrapositiv implikation Dubbelnegation Redukto ad absurdum Kommutativitet U B A U A B U A U A U A U A (A B) (B A)
Hilbertsystemet, sammanfattning Har tre axiomscheman och en regel (Modus ponens). Man kan skapa och bevisa nya metateorem som kan förenkla senare bevis. Bevisen kräver att vi är smarta och planerar i förväg.
Låt Γ vara ett bevissystem. Egenskaper hos bevissystem Sundhet: Γ är sunt (sound) om U Γ A implicerar U = A för varje formelmängd U och formel A. Med andra ord, bevissystemets bevis är pålitliga: U Γ A visar att A är en semantisk följd av U. Bevissystem som inte är sunda är meningslösa. Fullständighet: Γ är fullständigt (complete) om U = A implicerar U Γ A för varje formelmängd U och formel A. Med andra ord, alla semantiska följder kan bevisas. Fullständighet är självklart önskvärd men inte lika viktig som sundhet. Ibland avstår man från fullständighet för att öka effektiviteten och ibland är det inte ens möjligt att skapa ett sunt bevissystem som både är sunt och fullständigt. Hilbertsystemet är sunt och fullständigt.
Uppgift 1 Om S är ett satslogiskt bevissystem och det gäller att S A där A är en atom, är det då rimligt att tro att S är sunt?
Lösning 1 Om S är sunt så skulle innebära att S A = A, med andra ord att varje tolkning är en modell av A. Å andra sidan vet vi att det finns minst en tolkning v för vilken v(a) = 0, så vi kan dra slutsatsen att S inte är sunt.