Theoretische Informatik 1 Cut-Ableiten Nichtableitbarkeit Logische

Werbung
Cut-Ableiten
Y hat genau dann kein Modell, wenn Y
.
Daraus ergibt sich
Theoretische Informatik 1
1. H ∈ ag genau dann, wenn aus einer zu ¬H semantisch
äquivalenten Klauselmenge cut-ableitbar ist
12. Dezember 2002
2. X fol H genau dann, wenn aus einer zu X { ¬H} sem.
äquivalenten Klauselmenge cut-ableitbar ist
1
2
Logische Matrix
Nichtableitbarkeit
Eine logische Matrix ist eine Vorschrift zur Interpretation
von Ausdrücken (lassen hier und weg):
Zurück zu ab(X).
µ = [M,M*,φ¬,φ ,φ ,φ ,φ ]
Problem: Wann können wir sicher sein, daß H ∉ ab(X)?
Belegung β: AV
wertµ(pi,β)
wertµ(¬H1,β)
wertµ((H1 H2),β)
wertµ((H1 H2),β)
wertµ((H1 H2),β)
wertµ((H1 H2),β)
Einfacher Spezialfall: X
ag, H ∉ag
Jetzt: Verallgemeinerung dieses Spezialfall per
Nichtstandardinterpretation
Ziel: Nicht ableitbar sind genau die Ausdrücke, die in
irgendeiner (vernünftigen) Semantik aus “ag”
herausführen
H*] ∈ agµ
Abtrennungsregel: etwas komplizierter:
z.B. für m = [{W,F},{W},non,et,vel,verum,aeq] (verum(x,y) = W)
ist (p p) ∈ agµ, ((p p) p) ∈ agµ, aber p ∉agµ
Eine logische Matrix heißt normal, falls φ mit der Abtrennungsregel verträglich ist, also falls gilt:
Wenn x ∈ M* und φ (x,y) ∈ M* , so y ∈ M*
Folgerung: in einer normalen logischen Matrix µ gilt:
Wenn X agµ, so ab(X) agµ
4
Die “klassische logische Matrix: [{W,F},{W},non,et,vel,seq,aeq]
Einsetzen und Abtrennen in µ
M
= β(pi)
= φ¬(wertµ(H1,β))
= φ (wertµ(H1,β), wertµ(H2,β) )
= φ (wertµ(H1,β), wertµ(H2,β) )
= φ (wertµ(H1,β), wertµ(H2,β) )
= φ (wertµ(H1,β), wertµ(H2,β) )
agµ = {H | für alle Belegungen β: wertµ(H,β) ∈ M*}
3
Einsetzungsregel: Für alle µ: Falls H ∈ agµ, so H[pi
Die Umkehrung
Wenn H∉ab(X), so gibt es ein normales µ mit X
und H ∉agµ
agµ
Satz von Lindenbaum:
Zu jeder Ausdrucksmenge X gibt es eine normale logische
Matrix µ mit einer abzählbaren Menge M derart, daß
ab(X) = agµ
Beweistrick:
wir verwenden die Syntax selbst zur Definition der Semantik
Also: Wenn es ein normales µ gibt mit X
so H∉ab(X)
agµ und H ∉agµ ,5
6
1
Beweis
Beweis (Fortsetzung)
M = ausd
M* = ab(X)
z.Z. ab(X) = agµ
Sei H ∈ agµ.
Also: wert(H,β) ∈ M* = ab(X) für all Belegungen β.
Also auch für β* mit β*(pi) = pi für alle pi ∈ AV.
Nun ist aber (offenbar) wert(H,β*) = H, also H ∈ ab(X)
= ¬H1
φ¬(H1)
φ (H1,H2) = (H1 H2)
φ (H1,H2) = (H1 H2)
φ (H1,H2) = (H1 H2)
φ (H1,H2) = (H1 H2)
µ ist normal, weil aus H1 ∈ ab(X) und H1 H2 ∈ ab(X)
folgt: H2 ∈ ab(X)
Sei H ∈ ab(X).
Sei β Belegung, also β: AV
ausd
Dann ist offenbar wertµ(H,β) = H[p1 β(p1)]...[pn
β(pn)]
∈ abe({H}) ab(X) = M*,
also H ∈ agµ.
w.z.b.w.
!
"
"
#
Zum Auseinanderhalten der Rollen: H – Syntax, H - Semantik
7
Fazit
8
Zusammenfassung Aussagenlogik
H ist genau genau nicht aus X ableitbar, wenn es eine
abzählbare logische Matrix µ gibt mit X agµ und H ∉ agµ.
#
Beispiel: X = {(p p),¬(p p)}
$
Aussagen
H=p
$
µ = [{W,F},{W},id,et,vel,seq,aeq]
“reale Welt”
Semantik
WW
Syntax
Belegung
{W,F}
Aussagenfunktionen
- extensionale
Wahrheitsfunktionen
id(x) = x
AV, ,
&
wert
ΦH
'
ausd
µ ist normal, weil φ = seq.
%
wertµ((p p),β) = W für alle β, wie in klassischer Matrix
wertµ(¬(p p),β) = W für alle β, weil φ¬ = id
also X agµ
$
Homomorphismus
Repräsentantentheorem
$
#
9
10
mit β*(p) = F ist wert(p,β*) = F, also H ∉ agµ. Also H∉ab(X)
Schaltalgebra
Folgern und Ableiten
Ausdruck = Struktur einer Schaltung
Repräsentantentheorem: Zu jeder Wahrheitsfunktion gibt
es eine zweistufige Schaltung
Optimierung: 1. Implikanden
Primimplikanden
2. unwesentliche Primimplikanden (einzeln)
weglassen
(
Zweistufige Schaltungen werden durch vorgefertigte
Schaltkreise (PLA) industriell unterstützt
fl(X) – alle Ausdrücke,
die bei jedem Modell von
X wahr sind
Gemeinsamkeiten:
...(ag) = ag, Hülleneigenschaften (Einbettung, Monotonie,
Abgeschlossenheit), Endlichkeitssatz,Ableitbarkeitstheorem
(nur aba,ab)
Unterschiede:
fl(Ø) = ag
Ded.-theorem gilt
fl({p ¬p}) = ausd
semantisch definiert
)
11
ab[a/e](X) – alle Ausdrücke,
die per Einsetzungs- bzw.
Abtrennungsregel entstehen
...(Ø) = Ø
gilt nicht
ab syntaktisch vollständig
syntaktisch definiert
12
2
synt. Charakterisierung von fl
fl(X) = aba(X
= aba(X
*
*
sem. Charakterisierung von ab
H nicht ableitbar aus X genau dann, wenn es
eine abzählbare normale logische Matrix µ gibt mit
X agµ und H ∉ agµ.
ab(axa))
abe(axa))
+
(“Syntaktisch geht, was in allen Interpretationen der
Syntax geht”)
aba erfüllt schwaches Deduktionstheorem
axa = 15 allgemeingültige Ausdrücke mit ab(axa) = ag
13
14
Cut-Ableiten
Beweisen/Schließen
Klauseln – eine gut handhabbare Einschränkung von ausd
Jeder Ausdruck ist sem. äquivalent zu einer Klauselmenge
Schlussregeln sind durch allgemeingültige Ausdrücke
gerechtfertigt
Schnittregelabschluss endlicher Mengen ist endlich
H ∈ ag genau dann, wenn Kl({¬H})
X fol H genau dann, wenn Kl(X {¬H})
,
*
Beweisschritte entsprechen Schlussregeln, also
ein Beweis ist eine Kette von Schlüssen, die aus
den Voraussetzungen die Behauptung produzieren.
-
,
Per Rechtfertigung können weitere Schlussregeln
ergänzt werden
-
Grundlage für logische Programmiersprache PROLOG
15
Syntax und Semantik
Syntax = Sprache
+ Zeichenkettenoperationen
(Abtrennen, Einsetzen, Cut)
Semantik = Werte,
Belegungen, Modelle, ....
16
Typisch in syntaktischen Kalkülen:
Semantische Begriffe (z.B. Folgern) können syntaktisch
charakterisiert werden, syntaktische Begriffe aber auch
semantisch (z.B. Ableiten)
Induktion.
Standardtricks:
(1) Für Aussagen “Zur Syntax Bla gibt es eine Semantik
S(Bla) mit ...”
wähle als S(Bla) die Syntax Bla selbst
induktiv definierte Abbildung
syntaktisch
.
rechnergeeignet
.
rekursiv programmierbar
siehe z.B. wert(H,β)
Einsetzungsregel
(2) syntaktisch geht, was in jeder sinnvollen Semantik geht
(3) Semantik in Syntax “hineinkonstruieren”
17
18
3
Jenseits der Aussagenlogik
Umgang mit Quantifizierungen:
Kapitel 3
Es gibt Studenten.
Alle Studenten sind Menschen
Es gibt Menschen
Prädikatenlogik
p
q
r
/
Jeglicher Einblick in den Inhalt von Aussagen:
Wenn x R y und y R z, so x R z
p q r
/
0
1
Aussageformen:
19
x>3
p
/
Von Aussagenlogik zu Prädikatenlogik
20
Klötzchenwelt
Ein Beispiel für ein prädikatenlogisches Abbild einer “Welt”
Aussagenlogik: Aussagen sind Widerspiegelungen von
Sachverhalten.
das kleine Einmaleins
Prädikatenlogik: Aussagen sind Widerspiegelungen von
Sachverhalten über Objekte und deren
gegenseitige Beziehungen
das große Einmaleins
21
c
f
b
e
h
a
d
g
Objekte: a,b,c,d,e,f,g,h
Relationen: über = { [b,a],[c,a],[c,b],[e,d],[f,d],[f,e],[h,g]}
rot = {b,d,g} blau = {a,e} gelb = {f} schwarz = {c,h}
frei = {c,f,h}
Abbildungen: b(asis) b(c)=b(b)=b(a)=a b(f)=b(e)=b(d)=d
b(h)=b(g)=g
t(op) analog
Aussagen: z.B. Für alle x,y gilt: Wenn x über y, so ist b(x) nicht frei
Für alle x: wenn x rot, so x nicht frei.
22
Es gibt ein x mit x ist gelb
Namen in der Prädikatenlogik
Quantifizierungen
1. für Objekte
Individuenkonstanten
Induviduenvariablen
2. Für Relationen
Attributzeichen (ein Satz solcher Zeichen pro Stelligkeit)
3. Für Funktionen
Funktionszeichen (ein Satz pro Stelligkeit)
zum Vergleich: In der Aussagenlogik gab es Namen
nur für (Wahrheitswerte von) Aussagen (pi)
für alle x gilt....
es gibt ein x mit ....
es gibt genau ein x mit ...
es gibt mindestens 27 x mit
es gibt genausoviele x mit ... wie y mit ...
es gibt mehr x mit ... als y mit ..., aber weniger als z mit ...
für genau ein Drittel aller x gilt ....
... gilt für diejenigen x, für die ....
Aufnahme in unseren Kalkül finden nur
es gibt ein
23
und
für alle
24
4
Das Alphabet des
Prädikatenkalküls 1. Stufe
Prädikatenkalkül 1. Stufe
Variablen und Quantifizierungen werden nur für Objekte
bereitgestellt, nicht aber für Mengen, Relationen, Funktionen
X={
*,|
x,
c,
F,
A,
=,
¬, , , ,
, ,
,,),(
(2. Stufe: Auch Variablen+Quantifizierungen für Mengen
1. Stufe, Relationen ziwschen Objekten, ....)
2
3
4
5
,
6
7
Beispiel für eine Aussage 2. Stufe:
Für jede Menge M gilt: Wenn 0 ∈ M und zu jedem x ∈ M
auch nf(x) ∈ M, so enthält M alle natürlichen Zahlen
Hilfszeichen zur Indizierung von Namen
für Individuenvariablen
für Individuenkonstanten
für Funktionszeichen
für Attributzeichen
ein spezielles Zeichen für die Gleichheit
das Erbe aus der Aussagenlogik
Quantoren (für: für alle/es gibt ein)
zur Strukturierung
}
25
Syntax von Namen
alternative Syntax von Namen
1. Individuenvariablen
x *****....*
kurz: xi
i
2. Individuenkonstanten
c *****....*
kurz: ci
i
3. Funktionszeichen
F ||||||...|*****....*
kurz: Fij
i
j
4. Attributzeichen
A ||||||...|*****....*
i
j
26
um “sprechende” Namen in die Logik einzubringen, kann man
Individuenkonstanten, Funktionszeichen und Attributzeichen
auch durch eine Signatur bereitstellen, die für jede Art von
Zeichen (und jede Stelligkeit) einen endl. oder unendlichen
Satz von Namen bereitstellt.
S = [C,F,A]
C – Menge (der Individuenkonstanten)
F – Abbildung von einer Menge (der Funktionszeichen) in N/{0}
(deren Stelligkeit)
A – Abbildung von einer Menge (der Attributzeichen) in N/{0}
(deren Stelligkeit)
kurz: Aij
oberer Index (Striche) = Stelligkeit, immer > 0
unterer Index (Sterne) = laufende Nummer, ab 0
27
Beispiel:
S = [{null,eins},{plus(2),mal(2),nf(1)}{kleiner(2),zwischen(3)}]
28
2 Sprachen
Interpretation von Namen
Zur Interpretation muss man zuerst eine nichtleere Menge
von Objekten angeben – den Individuenbereich
8
1. Sprache: TERM
dient zur Beschreibung von Objekten des Individuenbereichs
Individuenvariablen werden interpretiert durch eine
Belegung f: f(xi) ∈
Semantik eines Terms T definert durch element g(T,f) ∈
Die anderen Zeichen werden interpretiert durch eine
Interpretation g:
2. Sprache: AUSD
;
<
8
g(ci) ∈
g(Fij):
g(Aij)
:
dient zur Beschreibung von Sachverhalten, also
Aussageformen und Aussagen
8
i
9
8
8
i
Semantik eines Ausdrucks H definiert durch wert g(H,f) ∈{W,F}
8
;
29
30
5
Beispiele
Die Sprache TERM
Syntax
Semantik
A1)
Jede Individuenkonstante
ci ist ein Term
element g(ci,f) = g(ci)
A2)
Jede Individuenvariable
xi ist ein Term
element g(xi,f) = f(xi)
Sei
=
=
S) Wenn T1, ..., Ti Terme sind, element g(Fij(T1,...,Ti),f) =
so auch Fij(T1,...,Ti)
g(Fij)(element g(T1,f),...,
element g(Ti,f))
=
=
c
f
b
e
h
a
d
g
= {a,b,c,d,e,f,g,h}
f(x0) = a, f(x1) = e
f(x2) = e
g(c0) = b g(c1) = e g(c2) = g
1
1
g(F 0) = basis
g(F 1) = top
g(F30) = “höchster, bei gleichhohen der am weitesten links”
>
Terme:
x1
c0
F30(F11(F10(c2)),x2,F10(x2))
=
31
keine
Terme:F30(c2)
element g(x1,f) = e
element g(c0,f) = b
element g(F30(F11(F10(c2)),x2,F10(x2)),f)
=e
32
x1c1
x1 c1 A12(c2)
=
=
=
?
6
Herunterladen