Übung5 - Aufgabe 5.1

ab26iget.stud.tu
Mausschubser
Mausschubser
Beiträge: 63
Registriert: 14. Okt 2008 20:19

Übung5 - Aufgabe 5.1

Beitrag von ab26iget.stud.tu » 25. Mär 2010 17:55

thA = Für jedes x : N if { not ?0(x); if { not ?0(pred(x)) , 0 > 0 , true }

1) Zuerst fehlt hier eine true aus !! : if { not ?0(pred(x)) , 0 > 0 , true }
2) sollte nicht 0 > pred (pred (0)) statt 0 > 0 sein ?
3) warum bleibt x unverändert (not ?0(x), not ?0(pred(x)) ) und nachher durch 0 ersetzt (0 > 0) ?

Benutzeravatar
leviathan
Computerversteher
Computerversteher
Beiträge: 307
Registriert: 30. Jul 2008 14:26
Wohnort: Darmstadt
Kontaktdaten:

Re: Übung5 - Aufgabe 5.1

Beitrag von leviathan » 25. Mär 2010 17:59

ab26iget.stud.tu hat geschrieben:2) sollte nicht 0 > pred (pred (0)) statt 0 > 0 sein ?
Also das geht ja schon mal nicht, da 0 ein Nullstelliger Konstruktor für Nat ist und pred(x) nur für Konstruktoren der Form succ(n) existiert - somit sind pred(0) und pred(pred(0)) ungültige Konstrukte.
ab26iget.stud.tu hat geschrieben:3) warum bleibt x unverändert (not ?0(x), not ?0(pred(x)) ) und nachher durch 0 ersetzt (0 > 0) ?
Weil wir 0 als Maßterm gewählt haben - es enthält das x erst gar nicht.
Ein Programmierer hat immer eine Lösung. Die passt nur nicht immer zum Problem.

Hiwi für Weiterentwicklung des Lernportals (Moodle).

Nathan Wasser
Kernelcompilierer
Kernelcompilierer
Beiträge: 430
Registriert: 16. Okt 2009 09:48

Re: Übung5 - Aufgabe 5.1

Beitrag von Nathan Wasser » 25. Mär 2010 18:31

leviathan hat geschrieben:
ab26iget.stud.tu hat geschrieben:2) sollte nicht 0 > pred (pred (0)) statt 0 > 0 sein ?
Also das geht ja schon mal nicht, da 0 ein Nullstelliger Konstruktor für Nat ist und pred(x) nur für Konstruktoren der Form succ(n) existiert - somit sind pred(0) und pred(pred(0)) ungültige Konstrukte.
Das ist so nicht wahr, \(pred(0)\) ist kein "ungültiger Konstrukt." Es ist ein Stuck Term und somit nicht auswertbar, aber es ist sonst ein ganz normaler Term.
leviathan hat geschrieben:
ab26iget.stud.tu hat geschrieben:3) warum bleibt x unverändert (not ?0(x), not ?0(pred(x)) ) und nachher durch 0 ersetzt (0 > 0) ?
Weil wir 0 als Maßterm gewählt haben - es enthält das x erst gar nicht.
Vollkommen korrekt.

Antworten

Zurück zu „Archiv“