Logica voor Informatica

Vergelijkbare documenten
Logica voor Informatica

Boommethode. TI1300: Redeneren en Logica. Oefenen, wat anders? Aanvullende regels (Logica, tabel 11.1, p. 159) A (B C),A C = B

Logica voor Informatica. Propositielogica. Normaalvormen en Semantische tableaux. Mehdi Dastani

Logic for Computer Science

Logic for Computer Science

Tentamen Grondslagen van de Wiskunde B met uitwerkingen

Logica voor Informatica. predikatenlogica. Syntax van predikatenlogica. Mehdi Dastani Intelligent Systems Utrecht University

Logica voor Informatica

Logica voor Informatici najaar 2000 Opgaven en Oplossingen Hoofdstuk 3

Tentamen TI1300 en IN1305-A (Redeneren en) Logica

Logica voor Informatica. predikatenlogica. Syntax van predikatenlogica. Mehdi Dastani Intelligent Systems Utrecht University

Logica voor Informatici najaar 2000 Opgaven en Oplossingen Hoofdstuk 2

Intelligente Systemen & Logica. Architectuur. Intelligent Systeem als Logische Theorie. Geschiktheid van Logica

6.3.2 We moeten onderzoeken of de volgende bewering juist is of niet: x [ P (x ) Q (x )] xp(x ) xq(x ). De bewering is onjuist:

Oefenopgaven Grondslagen van de Wiskunde A

Predicaten. Hoofdstuk 4

Semantiek 1 college 10. Jan Koster

Logica voor Informatica

Logica voor Informatica. Logica Toepassingen. PROLOG: Logische Programmeertaal. Mehdi Dastani

Logica voor Informatica. Propositielogica. Syntax & Semantiek. Mehdi Dastani Intelligent Systems Utrecht University

De Resolutiemethode (Logica, hoofdstuk 15) Robinson (1965) TI1300 Redeneren en Logica

Inleiding Wiskundige Logica

Logica. Oefeningen op hoofdstuk Propositielogica

Inleiding Wiskundige Logica

Tentamen TI1300 en IN1305-A (Redeneren en) Logica

Inleiding Logica voor CKI

Logica 1. Joost J. Joosten

Predikaatlogica, modellen en programma s

Inleiding Logica voor CKI, 2013/14

Logica voor AI. Responsiecollege. Antje Rumberg. 12 december Kripke Semantiek. Geldigheid. De bereikbaarheidsrelatie

Logica voor Informatica. Propositielogica. Bewijssystemen voor propositielogica. Mehdi Dastani

Logica voor AI. Inleiding modale logica en Kripke semantiek. Antje Rumberg. 14 november 2012

Toelichting bij geselecteerde opdrachten uit Betekenis en Taalstructuur

Mededelingen. TI1300: Redeneren en Logica. Metavariabelen Logica, p Minder connectieven nodig

Kennisrepresentatie & Redeneren. Piter Dykstra Instituut voor Informatica en Cognitie

Logica voor AI. Bisimulatie en niet-karakteriseerbaarheid. Antje Rumberg. 21 november Correspondentie.

Natuurlijke deductie voor predikatenlogica

Meer oefenen. TI1300: Redeneren en Logica. Vertalen. Meerdere wegen leiden naar Rome

Betekenis I: Semantiek

SYLLABUS LOGISCHE ANALYSE

Logica voor AI. Bewijstheorie en natuurlijke deductie. Antje Rumberg. 28 november Kripke Semantiek.

Logica 1. Joost J. Joosten

In dit college bekijken we een aantal technieken om integralen te bepalen van trigonometrische functies en van rationale functies.

Formeel Denken 2014 Uitwerkingen Tentamen

Formeel Denken. Herfst 2004

34 HOOFDSTUK 1. EERSTE ORDE DIFFERENTIAALVERGELIJKINGEN

Logica in het (V)WO. Barteld Kooi


Logica 1. Joost J. Joosten

Mededelingen. TI1300: Redeneren en Logica. Waarheidstafels. Waarheidsfunctionele Connectieven

Samenvatting. TI1306 Redeneren & Logica Review Guide 2014 Door: David Alderliesten. Disclaimer

Voortgezette Logica, Week 2

Semantiek van predicatenlogica en Tractatus

Tentamen TI1300 en IN1305-A (Redeneren en) Logica

Wanneer zijn veelvouden van proniks proniks?

Predikatenlogica in Vogelvlucht

Logica 1. Joost J. Joosten

Verzamelingen. Hoofdstuk 5

Hoofdstuk 4. In dit hoofdstuk wordt een aantal uiteenlopende eigenschappen van de propositielogica

Tentamen Grondslagen van de Wiskunde B met uitwerkingen

Inleiding Wiskundige Logica

Modeluitwerking Tentamen Computationele Intelligentie Universiteit Leiden Informatica Vrijdag 11 Januari 2013

Supplement Wiskunde 2017/2018. Inhoudsopgave

Inleiding: Semantiek

11.3. Inhomogene randwaardeproblemen. We beschouwen eerst inhomogene Sturm- Liouville randwaardeproblemen van de vorm :

Orakels in IDP Een implementatie voor epistemische logica

Tentamentips. Tomas Klos. 14 december 2010

OEFENINGEN LOGICA 1 OEFENINGEN LOGICA

Hoofdstuk 5. In dit hoofdstuk behandelen we een methode waarmee op een eectieve wijze

Logica 1. Joost J. Joosten

Wiskunde. Verzamelingen, functies en relaties. College 2. Donderdag 3 November

Paragraaf 8.1 : Lijnen en Hoeken

Geldwisselprobleem van Frobenius

TW2020 Optimalisering

Theorie Formele logica

Caleidoscoop: Logica

WI1708TH Analyse 2. College 5 24 november Challenge the future

Hoofdstuk 15. In dit hoofdstuk geven we een inleiding op het gebied van het automatisch bewijzen

6 Complexe getallen. 6.1 Definitie WIS6 1

Transcriptie:

Logica voor Informatica 12 Normaalvormen Wouter Swierstra University of Utrecht 1

Vandaag We hebben gezien dat er verschillende normaalvormen zijn voor de propositionele logica. Maar hoe zit dat met de predikatenlogica? 2

Vandaag We hebben gezien dat er verschillende normaalvormen zijn voor de propositionele logica. Maar hoe zit dat met de predikatenlogica? Na vandaag volgen nog twee colleges over toepassingen van de logica binnen de informatica. logisch programmeren programmaverificatie 2

Vervulbaar equivalent ϕ en ψ zijn vervulbaar (semantisch) equivalent als voor elke model M en elke bedeling b geldt: M, b = ϕ M, b = ψ Notatie: ϕ ψ Stelling: Equivalenties uit propositielogica gelden ook voor predikatenlogica. Voorbeel: ϕ ψ ψ ϕ 3

Alfabetische variant Intuitief, zijn x.p (x) en y.p (y) hetzelfde Preciezer: x.p (x) y.p (y) We kunnen de gebonden variabele x hernoemen naar y om te laten zien dat ze inderdaad hetzelfde zijn. Twee formules heten alfabetische variant als ze door (een serie van) herbenoemingen gelijk gemaakt kunnen worden. 4

Alfabetische variant Intuitief, zijn x.p (x) en y.p (y) hetzelfde Preciezer: x.p (x) y.p (y) We kunnen de gebonden variabele x hernoemen naar y om te laten zien dat ze inderdaad hetzelfde zijn. Twee formules heten alfabetische variant als ze door (een serie van) herbenoemingen gelijk gemaakt kunnen worden. Voorbeeld van alfabetische variante formules: P (x) x(q(x) vr(x, v)) P (x) x(q(x) wr(x, w)) 4

Alfabetische variant De volgende formules zijn NIET alfabetische varianten: P (x) x(q(x) yr(x, y)) P (y) x(q(x) yr(x, y)) P (x) x(q(x) xr(x, x)) Let op: Twee formules zijn alleen alfabetische variant als we de gebonden variabelen herbenoemen. Stelling: Als ϕ en ψ alfabetische varianten zijn, dan ϕ ψ 5

Eenduidige formule Een formule ϕ heet eenduidig als geen variabele in ϕ zowel vrij als gebonden voorkomt, en elke variabele in ϕ slechts door een kwantor gebonden wordt. Voorbeeld: P (x) y(q(y) zr(y, z)) is eenduidig P (x) x(q(x) yq(x, y)) is NIET eenduidig xp (x) xq(x) is NIET eenduidig Stelling: Elke formule ϕ kan herschreven worden naar een eenduidig formule ψ zodat ϕ ψ. (genereer alfabetische variant van formule) 6

Eenduidige formule Waarom zijn eenduidige formules interessant? 7

Eenduidige formule Waarom zijn eenduidige formules interessant? Ze zijn een stuk eenvoudiger te manipuleren! We hoeven ons geen zorgen te maken over variable capture dat vrije variabelen plotseling gebonden worden tijdens een substitutie. Door eerst een formule eenduidig te maken, is het eenvoudiger om deze vervolgens verder te transformeren. 7

Normaalvormen in predikatenlogica Elke predikaten-formule kan herschreven worden tot een vervulbaar equivalente normaalvorm x 1... x n ϕ waar ϕ kwantorvrij (en in CNF vorm) is. In de rest van dit college gaan we de verschillende stappen toelichten die nodig zijn om deze normaalvorm te vinden. 8

Prenex normaalvorm Een predikaten-formule staat in prenex normaalvorm als alle kwantoren voorop staan. waar Q i {, } Q 1 x 1... Q n x n ϕ ϕ wordt de matrix genoemd, Q 1 x 1... Q n x n wordt de prefix genoemd. Stelling: For elke predikatenlogische formule bestaat een vervulbaar equivalent formule in prenex normaalvorm. 9

Vervulbaar equivalente formules Laat ϕ en ψ predikaten-formules zijn. De volgende equivalenties brengen kwantoren naar voren. x ϕ x ϕ x ϕ x ϕ ( x ϕ) ( x ψ) x (ϕ ψ) ( x ϕ) ( x ψ) x (ϕ ψ) x y ϕ y x ϕ x y ϕ y x ϕ 10

Vervulbaar equivalente formules x ϕ x ϕ Laat M en b willekeurige model en bedeling zijn, dan M, b = x ϕ er geldt niet M, b = x ϕ niet voor alle d D geldt M, b(x d) = ϕ er is een d D zodat niet M, b(x d) = ϕ er is een d D zodat M, b(x d) = ϕ M, b = x ϕ 11

Vervulbaar equivalente formules Laat ϕ en ψ predikaten-formules zijn. De volgende equivalenties brengen kwantoren naar voren. ( x ϕ) ψ x (ϕ ψ) ( x ϕ) ψ x (ϕ ψ) ( x ϕ) ψ x(ϕ ψ) ( x ϕ) ψ x(ϕ ψ) ϕ x ψ x(ϕ ψ) ϕ x ψ x(ϕ ψ) als x niet vrij in ψ voorkomt (ook voor ). als x niet vrij in ψ voorkomt (ook voor ). als x niet vrij in ψ voorkomt. als x niet vrij in ψ voorkomt. als x niet vrij in ϕ voorkomt. als x niet vrij in ϕ voorkomt. 12

Prenex normaalvorm P (x) x( y Q(x, y) z R(x, z) ) Stap 1: Indien nodig, zet de formule om in een eenduidige formule door gebonden variabelen te hernoemen. Voorbeeld: P (x) x( y Q(x, y) z R(x, z) ) P (x) u( y Q(u, y) z R(u, z) ) 13

Prenex normaalvorm P (x) x( y Q(x, y) z R(x, z) ) Stap 2: Elimineer alle voorkoens van en, en distribueer over de kwantoren: Voorbeeld: P (x) x( y Q(x, y) z R(x, z) ) P (x) u( y Q(u, y) z R(u, z) ) P (x) u( y Q(u, y) z R(u, z) ) P (x) u( y Q(u, y) z R(u, z) ) 14

Prenex normaalvorm P (x) x( y Q(x, y) z R(x, z) ) Stap 3: Breng alle kwantoren naar buiten: x ϕ ψ x (ϕ ψ) x ϕ ψ x (ϕ ψ) Voorbeeld: P (x) u( y Q(u, y) z R(u, z) ) P (x) u y z ( Q(u, y) R(u, z)) u y z (P (x) ( Q(u, y) R(u, z))) 15

Prenex normaalvorm P (x) x( y Q(x, y) z R(x, z) ) P (x) x( y Q(x, y) z R(x, z) ) P (x) u( y Q(u, y) z R(u, z) ) P (x) u( y Q(u, y) z R(u, z) ) P (x) u( y Q(u, y) z R(u, z) ) P (x) u y z ( Q(u, y) R(u, z)) u y z (P (x) ( Q(u, y) R(u, z))) 16

Skolemfunctie In predikaten-formule x y Q(x, y) y is afhankelijk van x: voor elke x is er een (van x afhankelijke) y. Een Skolemfunctie elimineert x door overal y te vervangen door f(x) voor een nieuw functiesymbol f (Skolemfunctie). x Q(x, f(x)) 17

Skolemfunctie Introduceer een nieuwe Skolemfunctie voor elke existentieel gekwantificeerde variabele. Een Skolemfunctie heeft als argument alle voorafgaande universeel gekwantificeerde variabelen. x 1... x n y Ψ x 1... x n Ψ[f(x 1,..., x n )/y] Herhaal totdat er geen existentiële kwantoren meer over zijn. Dit proces heeft Skolemiseren. 18

Skolemnormaalvorm Elke predikaten-formule kan geschreven worden in Skolemnormaalvorm, door Stap 1: de predikaten-formula omzetten in prenexnormaalvorm. Stap 2: Elimineer existentiële kwantoren door Skolemiseren. 19

Skolemnormaalvorm P (x) x( y Q(x, y) z R(x, z) ) Voorbeeld: u y z (P (x) ( Q(u, y) R(u, z))) u (P (x) ( Q(u, f 1 (u)) R(u, f 2 (u)))) Stelling: Als ϕ gesloten is, dan bestaat er een Skolemnormaalvorm ϕ van ϕ, zodat: ϕ is vervulbaar ϕ is vervulbaar 20

Skolemnormaalvorm De prenex (d.w.z. de rij universele kwantoren) van een predikaten-formule in Skolemnormaalvorm is overbodig. De Skolemnormaalvorm kan omgezet worden in CNF. 21

Het Volledig Plaatje Gegeven een predikatenlogische formule ϕ ϕ P renex Q 1 x 1... Q n x n ψ (ψ is kwantor vrij) Skolem x 1... x m χ (χ is kwantor vrij, m n) CNF x 1... x m L (L is literal) (CNF met alle variabelen universeel gekwantificeerd) 22

Het Volledig Plaatje Gegeven F P renex... Skolem... CNF F Stelling: Als F gesloten is, dan bestaat er een F zdd: F is vervulbaar F is vervulbaar Stelling: Als F gesloten is, dan geldt: F = F ( F = F geldt niet in het algemeen ) 23

Tot slot van het logica-deel Dit was een inleiding in de logica en logische technieken Zoals we hebben gezien, zijn er vele logische technieken, alleen al voor de klassieke propositielogica (semantisch en bewijstheoretisch) Belangrijk is die techniek(en) te gebruiken die voor de toepassing handig is en te allen tijde goed in de gaten te houden waar je precies mee bezig bent. Haal dus niet de verschillende begrippen (zoals logisch gevolg) voor verschillende logica s (propositie- vs. predikaten) door elkaar! 24