20.01.2015 Aufrufe

Skript (Fassung vom 4.4.2011) - Lehr- und Forschungsgebiet ...

Skript (Fassung vom 4.4.2011) - Lehr- und Forschungsgebiet ...

Skript (Fassung vom 4.4.2011) - Lehr- und Forschungsgebiet ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Beispiel 2.1.6 Sei Σ wieder die Signatur aus Bsp. 2.1.2. Die Gleichungen<br />

plus(O,y) ≡ y<br />

plus(succ(x),y) ≡ succ(plus(x,y))<br />

axiomatisieren die Additionsfunktion auf natürlichen Zahlen, wenn succ als die Nachfolgerfunktion<br />

aufgefasst wird. Man erkennt bereits den Zusammenhang zur funktionalen Programmierung,<br />

denn diese beiden Gleichungen sind im Prinzip ein funktionales Programm.<br />

In der Sprache haskell könnte man dieses Programm bereits direkt ausführen. Welche<br />

Aussagen aus diesen Axiomen folgen <strong>und</strong> inwieweit solche Programme ausführbar sind,<br />

wird im Folgenden noch deutlich werden.<br />

Beispiel 2.1.7 Sei Σ 0 = {e}, Σ 1 = {i}, Σ 2 = {f} <strong>und</strong> V = {x,y,z,...}. Wir betrachten<br />

die folgenden Termgleichungen:<br />

f(x,f(y,z)) ≡ f(f(x,y),z) (2.1)<br />

f(x,e) ≡ x (2.2)<br />

f(x,i(x)) ≡ e (2.3)<br />

f(x,y) ≡ f(y,x) (2.4)<br />

Dann axiomatisiert {(2.1)} alle Halbgruppen (d.h., alle Mengen mit einer assoziativen<br />

binären Operation), {(2.1),(2.2),(2.3)}axiomatisiert alle Gruppen <strong>und</strong> {(2.1)−(2.4)} axiomatisiert<br />

alle abelschen Gruppen.<br />

2.2 Semantik von Gleichungssystemen<br />

Eine Axiomatisierung “definiert” in gewisser Weise ein Programm oder eine mathematische<br />

Struktur (z.B. eine Gruppe). Man interessiert sich nun für Aussagen über dieses Programm<br />

bzw. Aussagen, die in dieser Struktur gelten. Aussagen werden ebenfalls durch Termgleichungen<br />

dargestellt. Beispielsweise kann man fragen, ob die Aussage<br />

plus(succ(succ(O)),x) ≡ plus(succ(O),succ(x))<br />

für das Additionsprogramm aus Bsp. 2.1.6 gilt. Ebenso kann man in Bsp. 2.1.7 fragen, ob<br />

die Aussage<br />

i(i(n)) ≡ n<br />

in jeder Gruppe gilt (d.h., ob die inverse Funktion immer selbstinvers ist).<br />

Vor Beantwortung solcher Fragen müssen wir festlegen, was es bedeutet, dass eine Aussage<br />

aus bestimmten Axiomen folgt. Bislang haben wir nur erläutert, wie Gleichungen<br />

gebildet werden. Wir haben jedoch noch nicht definiert, was solche Gleichungen eigentlich<br />

aussagen. Dazu muss man den Gleichungen eine Semantik, d.h. eine Bedeutung, zuordnen.<br />

Wir werden zunächst die Semantik von Termen definieren. Hierzu verwendet man sogenannte<br />

Interpretationen, die eine Menge von Objekten A festlegen <strong>und</strong> jedem (syntaktischen)<br />

Funktionssymbol f eine Funktion α f <strong>und</strong> jeder Variablen x ∈ V ein Objekt aus A<br />

zuordnen.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!