Grundlagen der Informatik I “Programmierung”
Grundlagen der Informatik I “Programmierung”
Grundlagen der Informatik I “Programmierung”
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
• x ist gebunden in p(t1, ..., tn) o<strong>der</strong> t1 = t2, falls x in mindestens einem ti gebunden ist<br />
• x ist gebunden in ¬ A, wenn x in A gebunden ist<br />
• x ist gebunden in A op B, wenn x in A o<strong>der</strong> in B gebunden ist (op aus ∧, ∨, ⇒ , ⇔ )<br />
• x ist gebunden in ∃y : Bereich . A bzw. ∀y : Bereich . A, wenn x in A gebunden vorkommt o<strong>der</strong> x identisch<br />
mit y ist<br />
Definition 2.2.1 führt lediglich Namen (frei, gebunden) für einen Sachverhalt ein, <strong>der</strong> über die Semantikdefinition<br />
bereits gegeben ist. Man mache sich klar, daß die Anwendung <strong>der</strong> Definition auf ein konkretes Prädikat<br />
eine rein syntaktische Aktion ist. Mit ihr können wir nun den Ersetzungsprozeß von Variablen beschreiben.<br />
Definition 2.2.2 (Ersetzung von Variablen durch Terme)<br />
Sei x eine Variable, t ein Term und A ein Ausdruck. Dann bezeichnet A <br />
t<br />
den Ausdruck <strong>der</strong> dadurch<br />
x<br />
entsteht, daß alle freien Vorkommen von x durch t textuell ersetzt werden.<br />
Diese Definitionen ermöglichen es, einen Ableitungskalkül für die Prädikatenlogik präzise zu beschreiben.<br />
2.2.5 Ableitungskalkül für die Prädikatenlogik<br />
Axiomenschemata:<br />
A1–A3 Axiome L1–L3 <strong>der</strong> Aussagenlogik<br />
A4 ((...(x1 = y1) ∧ ...)...) ∧ (xn = yn) ⇒ (p(x1, ..., xn) ⇔ p(y1, ..., yn))<br />
für alle n-stelligen Prädikat Symbole p (n ≥ 1)<br />
A5 ((...(x1 = y1) ∧ ...)...) ∧ (xn = yn) ⇒ (f(x1, ..., xn)=f(y1, ..., yn))<br />
für alle n-stelligen Funktions Symbole f (n ≥ 1)<br />
Ableitungsregeln:<br />
R1–R9 Regeln ⇒ -E, ⇒ -I, ∧ -I, ∧ -E, ∨-I, ∨ -E, ⇔ -I, ⇔ -E, Subst <strong>der</strong> Aussagenlogik<br />
R10 ∃-I<br />
A w <br />
x<br />
∃x : Bereich . A<br />
falls w ∈ Bereich<br />
R11 ∃-E ∃x : Bereich . A1, A1 ⇒ A2<br />
A2<br />
R12 ∀-I A<br />
∀x : Bereich . A<br />
R13 ∀-E<br />
R14<br />
R15<br />
R16<br />
R17<br />
R18–R19<br />
∀x : Bereich . A<br />
A w <br />
x<br />
falls w ∈ Bereich<br />
(∃x : Bereich−{w} . A) ∨ ((x = w) ⇒ A)<br />
falls w ∈ Bereich<br />
∃x : Bereich . A<br />
∃x : Bereich . A<br />
(∃x : Bereich−{w} . A) ∨ ((x = w) ⇒ A)<br />
(∀x : Bereich−{w} . A) ∧ ((x = w) ⇒ A)<br />
∀x : Bereich . A<br />
∀x : Bereich . A<br />
(∀x : Bereich−{w} . A) ∧ ((x = w) ⇒ A)<br />
A w <br />
x (x = w) ⇒ A<br />
(x = w) ⇒ A A w <br />
x<br />
falls x in A2 nicht frei vorkommt<br />
falls w ∈ Bereich<br />
falls w ∈ Bereich<br />
falls w ∈ Bereich<br />
Abbildung 2.14: Ableitungskalkül für die Prädikatenlogik 1. Stufe<br />
Die Zusammenstellung in Abbildung 2.14 ist [Gries, 1981] entnommen und auf unsere Syntax angepaßt. Variablen<br />
werden mit kleinen Buchstaben bezeichnet, Aussagenvariablen mit großen. Alle Variablen sind implizit<br />
allquantifiziert, d.h. die folgenden Axiomenschemata gelten unabhängig von den verwendeten Variablennamen.<br />
Die Regeln R14–R19 sind nicht notwendig, da sie sich aus den an<strong>der</strong>en ableiten lassen. Da unser Interesse