27
07.02.00 GK Prolog: Prolog und Prä dikatenlogik I 1 Prolog und Prolog und Prädikatenlogik I Prädikatenlogik I Prolog Grundkurs WS 99/00 Christof Rumpf [email protected]

07.02.00GK Prolog: Prolog und Prädikatenlogik I 1 Prolog und Prädikatenlogik I Prolog Grundkurs WS 99/00 Christof Rumpf [email protected]

Embed Size (px)

Citation preview

Page 1: 07.02.00GK Prolog: Prolog und Prädikatenlogik I 1 Prolog und Prädikatenlogik I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de

07.02.00 GK Prolog: Prolog und Prädikatenlogik I

1

Prolog und Prädikatenlogik IProlog und Prädikatenlogik I

Prolog Grundkurs WS 99/00

Christof Rumpf

[email protected]

Page 2: 07.02.00GK Prolog: Prolog und Prädikatenlogik I 1 Prolog und Prädikatenlogik I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de

07.02.00 GK Prolog: Prolog und Prädikatenlogik I

2

LogikprogrammierungLogikprogrammierung

Prolog wurde um 1970 von Alain Colmerauer und seinen Mitarbeitern in Marseille mit dem Ziel entwickelt, die Programmierung von Computern mit den Mitteln „der Logik“ zu ermöglichen.

Page 3: 07.02.00GK Prolog: Prolog und Prädikatenlogik I 1 Prolog und Prädikatenlogik I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de

07.02.00 GK Prolog: Prolog und Prädikatenlogik I

3

Pure PrologPure Prolog

Das sogenannte Pure PrologPure Prolog oder Database-Database-PrologProlog entspricht einer Teilmenge der Sprachdefinition eines praktischen Prolog-Entwicklungssystems und enthält keine extra- oder metalogischen Komponenten wie:– Cut, Type-Checking– Arithmetische Operationen– Datenbasismanipulation zur Laufzeit

Page 4: 07.02.00GK Prolog: Prolog und Prädikatenlogik I 1 Prolog und Prädikatenlogik I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de

07.02.00 GK Prolog: Prolog und Prädikatenlogik I

4

Prolog und LogikProlog und Logik

Pure Prolog-Programme entsprechen den Ausdrücken der Hornklausellogik, die eine Teilmenge der Prädikatenlogik 1. Stufe ist.

Das Beweisverfahren Resolution ermöglicht Inferenzen aufgrund von Prolog-Programmen oder Hornklauseln.

Page 5: 07.02.00GK Prolog: Prolog und Prädikatenlogik I 1 Prolog und Prädikatenlogik I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de

07.02.00 GK Prolog: Prolog und Prädikatenlogik I

5

Prädikatenlogik Prädikatenlogik Prolog Prolog

Prädikatenlogik 1. Stufe

Hornklauseln

Prolog

KNF

Page 6: 07.02.00GK Prolog: Prolog und Prädikatenlogik I 1 Prolog und Prädikatenlogik I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de

07.02.00 GK Prolog: Prolog und Prädikatenlogik I

6

Prädikatenlogik 1. StufePrädikatenlogik 1. Stufe

Inventar der Syntax:

– Individuenkonstanten a, b, c, ...– Individuenvariablen x, y, z, ...

– Prädikate P(Arg1,...,Argn), Argi TERM

– Quantoren , – Junktoren , , , ,

Terme

Page 7: 07.02.00GK Prolog: Prolog und Prädikatenlogik I 1 Prolog und Prädikatenlogik I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de

07.02.00 GK Prolog: Prolog und Prädikatenlogik I

7

Formeln der PLFormeln der PL11

– Wenn P ein n-stelliges PrädikatPrädikat ist und t1,...,tn

TermeTerme sind, dann ist P(t1,...,tn) ein LiteralLiteral.

– LiteraleLiterale sind FormelnFormeln.

– Wenn und FormelnFormeln sind, dann sind auch ,

, , , FormelnFormeln.

– Wenn eine FormelFormel ist und x eine IndividuenIndividuen-

variablevariable, dann sind auch (x) , (x) FormelnFormeln.

Page 8: 07.02.00GK Prolog: Prolog und Prädikatenlogik I 1 Prolog und Prädikatenlogik I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de

07.02.00 GK Prolog: Prolog und Prädikatenlogik I

8

KlauselnKlauseln

– Wenn P ein n-stelliges PrädikatPrädikat ist und t1,...,tn

TermeTerme sind, dann ist P(t1,...,tn) ein LiteralLiteral.

– LiteraleLiterale sind KlauselnKlauseln.

– Wenn ein LiteralLiteral ist, dann ist auch eine

KlauselKlausel.

– Wenn und KlauselnKlauseln sind, dann ist auch

eine KlauselKlausel.

Page 9: 07.02.00GK Prolog: Prolog und Prädikatenlogik I 1 Prolog und Prädikatenlogik I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de

07.02.00 GK Prolog: Prolog und Prädikatenlogik I

9

HornklauselnHornklauseln

Hornklauseln sind Klauseln, die genau ein nicht-negiertes Literal und beliebig viele negierte Literale enthalten.

Vater(x,y) Elternteil(x,y) Männlich(x) Sterblich(sokrates)

Page 10: 07.02.00GK Prolog: Prolog und Prädikatenlogik I 1 Prolog und Prädikatenlogik I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de

07.02.00 GK Prolog: Prolog und Prädikatenlogik I

10

Konjunktive NormalformKonjunktive Normalform

Eine FormelFormel ist in konjunktiverkonjunktiver Normal-formNormal-form, wenn sie eine KonjunktionKonjunktion von KlauselnKlauseln repräsentiert.

K1 ... Kn, Ki KLAUSEL

Formeln der Prädikatenlogik können durch Anwendung logischer ÄquivalenzregelnÄquivalenzregeln in die konjunktive Normalform gebracht werden.

Page 11: 07.02.00GK Prolog: Prolog und Prädikatenlogik I 1 Prolog und Prädikatenlogik I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de

07.02.00 GK Prolog: Prolog und Prädikatenlogik I

11

Logische ÄquivalenzregelnLogische Äquivalenzregeln

– Kommutativgesetz– Assoziativgesetz– Distributivgesetz– Konditional- und Bikonditionalgesetz– De Morgan– Komplementarität– Idempotenz– Identität

Page 12: 07.02.00GK Prolog: Prolog und Prädikatenlogik I 1 Prolog und Prädikatenlogik I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de

07.02.00 GK Prolog: Prolog und Prädikatenlogik I

12

KommutativitätKommutativität

P Q Q P P Q Q P

Page 13: 07.02.00GK Prolog: Prolog und Prädikatenlogik I 1 Prolog und Prädikatenlogik I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de

07.02.00 GK Prolog: Prolog und Prädikatenlogik I

13

AssoziativitätAssoziativität

(P Q) R P (Q R)

(P Q) R P (Q R)

Page 14: 07.02.00GK Prolog: Prolog und Prädikatenlogik I 1 Prolog und Prädikatenlogik I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de

07.02.00 GK Prolog: Prolog und Prädikatenlogik I

14

DistributivitätDistributivität

P (Q R) (P Q) (P R)

P (Q R) (P Q) (P R)

Page 15: 07.02.00GK Prolog: Prolog und Prädikatenlogik I 1 Prolog und Prädikatenlogik I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de

07.02.00 GK Prolog: Prolog und Prädikatenlogik I

15

Konditional- & BikonditionalgesetzKonditional- & Bikonditionalgesetz

P Q P Q

P Q (P Q) (Q P)

Page 16: 07.02.00GK Prolog: Prolog und Prädikatenlogik I 1 Prolog und Prädikatenlogik I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de

07.02.00 GK Prolog: Prolog und Prädikatenlogik I

16

De MorganDe Morgan

(P Q) P Q (P Q) P Q

Page 17: 07.02.00GK Prolog: Prolog und Prädikatenlogik I 1 Prolog und Prädikatenlogik I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de

07.02.00 GK Prolog: Prolog und Prädikatenlogik I

17

KomplementaritätKomplementarität

P P 1 (Tautologie, allgemeingültig)

P P 0 (Kontradiktion, Inkonsistenz)

P P (Doppelte Negation)

Page 18: 07.02.00GK Prolog: Prolog und Prädikatenlogik I 1 Prolog und Prädikatenlogik I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de

07.02.00 GK Prolog: Prolog und Prädikatenlogik I

18

Idempotenz, IdentitätIdempotenz, Identität

P P P

P P P

P 0 P

P 1 1

P 0 0

P 1 P

Page 19: 07.02.00GK Prolog: Prolog und Prädikatenlogik I 1 Prolog und Prädikatenlogik I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de

07.02.00 GK Prolog: Prolog und Prädikatenlogik I

19

QuantorengesetzeQuantorengesetze

– Negation

– Distribution

– Dependenz

– Bewegung

– Prenex Normalform

Page 20: 07.02.00GK Prolog: Prolog und Prädikatenlogik I 1 Prolog und Prädikatenlogik I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de

07.02.00 GK Prolog: Prolog und Prädikatenlogik I

20

Quantoren-NegationQuantoren-Negation

x x x x x x x x

Page 21: 07.02.00GK Prolog: Prolog und Prädikatenlogik I 1 Prolog und Prädikatenlogik I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de

07.02.00 GK Prolog: Prolog und Prädikatenlogik I

21

Quantoren-DistributionQuantoren-Distribution

x ( ) x x x ( ) x x x x x ( ) x ( ) x x

Page 22: 07.02.00GK Prolog: Prolog und Prädikatenlogik I 1 Prolog und Prädikatenlogik I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de

07.02.00 GK Prolog: Prolog und Prädikatenlogik I

22

Quantoren-DependenzQuantoren-Dependenz

x y y x x y y x x y y x

Page 23: 07.02.00GK Prolog: Prolog und Prädikatenlogik I 1 Prolog und Prädikatenlogik I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de

07.02.00 GK Prolog: Prolog und Prädikatenlogik I

23

Quantoren-BewegungQuantoren-Bewegung

x x ( ) x x ( )

(x ) x ( )

(x ) x ( )Hier wird vorausgesetzt, daß die quantifizierte Variable nicht frei in der Formel vorkommt, die jeweils außerhalb des Quantorenskopus erscheint.

Page 24: 07.02.00GK Prolog: Prolog und Prädikatenlogik I 1 Prolog und Prädikatenlogik I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de

07.02.00 GK Prolog: Prolog und Prädikatenlogik I

24

Prenex-NormalformPrenex-Normalform

Eine PL1-Formel befindet sich in Prenex-Normalform, wenn alle Quantoren am Anfang der Formel stehen.

(x F(x)) (y G(y)) Quantorenbewegung, 1.+ 4. Gesetz

y x (F(x) G(y))

Page 25: 07.02.00GK Prolog: Prolog und Prädikatenlogik I 1 Prolog und Prädikatenlogik I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de

07.02.00 GK Prolog: Prolog und Prädikatenlogik I

25

SkolemisierungSkolemisierung

Existenzquantoren können eleminiert werden, indem existenzquantifizierte Variablen durch Skolemkonstanten substituiert werden.

Liegt ein Existenzquantor im Skopus von Allquantoren, werden die Skolemkonstanten mit den jeweiligen allquantifizierten Variablen durch Parametrisierung in Abhängigkeit gebracht.

Page 26: 07.02.00GK Prolog: Prolog und Prädikatenlogik I 1 Prolog und Prädikatenlogik I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de

07.02.00 GK Prolog: Prolog und Prädikatenlogik I

26

Skolemisierung: BeispieleSkolemisierung: Beispiele

y x ((man(x) (woman(y)) loves(x,y))

x ((man(x) woman(G)) loves(x,G))

x (man(x) y (woman(y) loves(x,y)))

x (man(x) (woman(G(x)) loves(x,G(x))))

Page 27: 07.02.00GK Prolog: Prolog und Prädikatenlogik I 1 Prolog und Prädikatenlogik I Prolog Grundkurs WS 99/00 Christof Rumpf rumpf@uni-duesseldorf.de

07.02.00 GK Prolog: Prolog und Prädikatenlogik I

27

AusblickAusblick

Nächste Woche werden wir ein Prolog-Programm behandeln, das PL1-Formeln in Prolog-Programme übersetzt.