Grundlagen der Informatik I “Programmierung”
Grundlagen der Informatik I “Programmierung”
Grundlagen der Informatik I “Programmierung”
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Kette von ∨ bzw. ∧ Operationen realisiert werden kann. Erst wenn Bereich Mengen enhält, die nicht mehr<br />
endlich sind, erhalten die beiden Operatoren eine, über die Aussagenlogik hinausgehende Bedeutung. Man<br />
mache sich jedoch klar, daß obige, konstruktive Semantikbeschreibung bei unendlichen Bereichen nicht immer<br />
terminiert. D.h. im Fall des All-Operators wird die Berechnung <strong>der</strong> Semantik genau dann nicht abbrechen,<br />
wenn <strong>der</strong> Bereich unendlich ist und das Prädikat für alle Belegungen wahr liefert.<br />
In <strong>der</strong> Aussagenlogik galt das Prinzip, daß wir eine Variable mit einem Wert belegen dürfen, solange wir<br />
alle Vorkommen dieser Variablen konsistent ersetzen. In <strong>der</strong> Prädikatenlogik gilt dieses nun nicht mehr.<br />
Das Prädikat A ⇒ (∃x : 1..15 . A) hat völlig unterschiedliche Bedeutungen, abhängig davon, ob x in A<br />
vorkommt. Falls x in A nicht vorkommt, dann ist dieses Prädikat immer wahr, unabhängig von <strong>der</strong> sonstigen<br />
Struktur von A (es kann dann auf das Axiom A ⇒ A <strong>der</strong> Aussagenlogik zurückgeführt werden). Sei A jedoch<br />
x > 17, dann spielt die Belegung von x in A eine entscheidende Rolle, es gilt nämlich für die Belegung von<br />
x mit 13 (state = [ ..., x ↦→ 13] ) , daß 13 > 17 ⇒ (∃x : 1..15 . x > 17) mit unserer Semantik wahr liefert,<br />
während wir für die Belegung von x mit 18 falsch erhalten. Wie man deutlich sieht, wird das x in dem<br />
’zweiten’ A unseres Prädikates durch den Quantor gebunden, es ist also lediglich lokal ’bekannt’. Damit wird<br />
die Belegung für x in unserem Prädikat nicht für das x in dem zweiten A, das ’lokale’ x wirksam. Falls A<br />
an<strong>der</strong>erseits die Form ∃x : Bereich . B hat, dann ergibt sich die Bedeutung des Gesamtprädikates wie<strong>der</strong>um<br />
unabhängig von einer Belegung von x, wir haben wie<strong>der</strong>um eine Tautologie. Genauer gesagt bedeutet dies,<br />
daß wir zwei unterschiedliche Prädikate haben, abhängig von dem Vorkommen von x in A. Derartige lokale<br />
Vorkommen haben wir natürlich auch bei Funktionssymbolen wie n i=1 , n<br />
i=1 , n i=1 und ähnlichen an<strong>der</strong>en.<br />
Auch hier ist i nur ein lokaler Parameter.<br />
Die obige Semantikfunktion realisiert also die Vorstellung, daß Variable, die durch einen Quantor o<strong>der</strong> ein<br />
Funktionssymbol ’gebunden’ werden, an<strong>der</strong>s zu behandeln sind, als ’freie’ Variable.<br />
Sei x eine Variable und A ein Prädikat, dann wird x als gebunden bezeichnet, falls es in einem Unterausdruck<br />
von A <strong>der</strong> Form ∃x : Bereich . A bzw. ∀x : Bereich . A auftritt, sonst bezeichnen wir das Vorkommen als<br />
frei. Entsprechendes gilt auch für die Bezeichner, mit denen Bereiche bei Funktionssymbolen beschrieben<br />
werden (also z.B. i bei 100 i=1). Damit ist auch klar, daß x in x > 17 ⇒ (∃x : 1..15 . x > 17) sowohl frei als auch<br />
gebunden vorkommt. Da in obiger Definition nicht ganz klar ist, was ein Unterausdruck ist, hier eine inhaltlich<br />
identische, aber präzisere Definition.<br />
Definition 2.2.1 (Freies und gebundenes Vorkommen von Variablen)<br />
Seien x eine Variable, A und B Prädikate, f ein Funktions Symbol, p ein Prädikat Symbol und t1, ..., tn Terme.<br />
Das freie Auftreten von x in einem Ausdruck ist durch die folgenden Bedingungen definiert.<br />
• jedes Vorkommen von x in einer Atomaraussage ist frei<br />
• x ist frei in f(x1, ..., xn), wenn f entwe<strong>der</strong> ein Funktionssymbol ohne Bereichsangabe ist, o<strong>der</strong> x in <strong>der</strong><br />
Bereichbeschreibung nicht entsprechend verwendet wird 7<br />
• x ist frei in f(t1, ..., tn), falls x in mindestens einem ti frei ist<br />
• x ist frei in p(t1, ..., tn) o<strong>der</strong> t1 = t2, falls x in mindestens einem ti frei ist<br />
• x ist frei in ¬ A, wenn x in A frei ist<br />
• x ist frei in A op B, wenn x in A o<strong>der</strong> in B frei ist (op aus ∧, ∨, ⇒ , ⇔ )<br />
• x ist frei in ∃y : Bereich . A bzw. ∀y : Bereich . A, wenn x in A frei vorkommt und x verschieden y ist<br />
Px1,...,xn zeigt an, daß P ein Prädikat mit den freien Variablen x1, ..., xn ist.<br />
Das gebundene Auftreten von x in einem Ausdruck ist durch die folgenden Bedingungen definiert.<br />
• kein Vorkommen von x in einer Atomaraussage ist gebunden<br />
• x ist gebunden in f(x1, ..., xn), wenn f ein Funktionssymbol mit Bereichsangabe ist und x in <strong>der</strong> Bereichbeschreibung<br />
entsprechend verwendet wird<br />
• x ist gebunden in f(t1, ..., tn), falls x in mindestens einem ti gebunden ist<br />
ist in diesem Sinne ein Funktionssymbol mit Bereichsangabe, und i ist gebunden, während n frei ist.<br />
7 n<br />
i=1