\documentclass{bschlangaul-aufgabe} \begin{document} \bAufgabenMetadaten{ Titel = {Primitiv-rekursiv}, Thematik = {Primitiv-rekursiv}, Referenz = THEO.Berechenbarkeit.Primitiv-rekursiv, RelativerPfad = Module/70_THEO/20_Berechenbarkeit/Aufgabe_Primitiv-rekursiv.tex, ZitatSchluessel = theo:ab:4, ZitatBeschreibung = {Seite 7, Aufgabe 5}, BearbeitungsStand = mit Lösung, Korrektheit = unbekannt, Ueberprueft = {unbekannt}, Stichwoerter = {Berechenbarkeit}, } \begin{enumerate} %% % a) %% \item Begründe, dass folgende Funktionen primitiv-rekursiv sind: 1. f (x) = x! ( 1 wennx > 0 2. sig(x) = 0 sonst \index{Berechenbarkeit} \footcite[Seite 7, Aufgabe 5]{theo:ab:4} \begin{bAntwort} Begründung durch eine Angabe einer Funktion: 1. f (0) = 1, f (n + 1) = mult(n + 1, f (n)) 2. sig(0) = 0, sig(n + 1) = 1 \end{bAntwort} %% % (b) %% \item Gebe eine konkrete primitiv-rekursive Implementierung für if x1 than x2 else x3 an. Wobei wie bei Programmiersprachen x1 als wahr gilt, wenn der Wert nicht Null ist. \begin{bAntwort} Zusätzlich werden die folgenden Funktionen festgelegt: isZero(0) = 1 isZero(n) = isZero(n + 1) = 0 not(n) = 1 − n ite(x1, x2, x3) = isZero(x1) * x3 + not(isZero(x1)) * x2 \end{bAntwort} \end{enumerate} \end{document}