primitiv rekursiv (dont)
This commit is contained in:
parent
dcb721c032
commit
3ba150440c
16
00.md
16
00.md
@ -70,15 +70,21 @@ Konventionen:
|
|||||||
|
|
||||||
Definition:
|
Definition:
|
||||||
|
|
||||||
- Nullfunktion $null(n) = 0$
|
- Nullfunktion $null = null(x) = null(x, y) = \dots = 0$
|
||||||
- Nachfolgerfunktion $succ(n) = n + 1$
|
- Nachfolgerfunktion $succ(n) = n + 1$
|
||||||
- Projektionen $id(n) = n, id_2(n,m) = m, \dots$
|
- Projektionen $id(n) = n, id_1(n,m) = n, id_2(n,m) = m, \dots$
|
||||||
- Kompositionen $f(a, g(b))$ (ohne rekursion)
|
- Kompositionen $f(a, g(b))$ (ohne rekursion)
|
||||||
+ PR-Aufgebaute Funktionen $f(a, b, c) = g(i(a), j(b))$
|
+ PR-Aufgebaute Funktionen $f(a, b, c) = g(i(a), j(b))$
|
||||||
- **Rekursive Aufrufe** sind möglich, aber **nur**: $f(a, b, c) = f(a-1, b, c)$ (für $a > 0$)
|
- **Rekursive Aufrufe** sind möglich, z.B.: $r(a, b, c) = r(a-1, b, c)$ (für $a > 0$)
|
||||||
+ Dabei gibt es Basisfall $g(b, c)$ für $a = 0$ und Rekursionsfall $h(f(a-1, b, c), a-1, b, c)$
|
+ Dabei gibt es **einen** Basisfall $r(0, b, c) = g(b, c)$ für $a = 0$
|
||||||
|
+ und **einen** Rekursionsfall $r(a+1,b,c) = h(r(a, b, c), a, b, c)$,
|
||||||
|
+ wobei man nur $g$ und $h$ selbst wählen kann, nicht deren Argumente (die sind gegeben wie oben, man kriegt *nur* den
|
||||||
|
rekursiven Wert für $r(a-1,b,c$)$ in $h$ und sonst keinen! Aber Eingaben dürfen weggelassen werden)
|
||||||
|
+ wobei $g$ und $h$ Primitiv Rekursiv sein müssen
|
||||||
|
+ *Wir* schreiben beim Rekursionsfall (damit man es nicht so leicht falsch machen kann) $r(a+1, b, c)$, wobei nur *ein* $+1$, und auch *nur* $+1$, erlaubt ist
|
||||||
|
+ Beispiel: $add(0, x) = x, \quad add(y+1, x) = succ(add(y,x))$ ist als PR: $g(x) \; : \; g = id, \quad h(add(y,x), y, x) \; : \; h = succ \circ id_1$
|
||||||
|
|
||||||
ES IST SO SKUFFED DEFINIERT, MACH IMMER! EIN LOOP PROGRAMM
|
ES IST SO SKUFFED, MACH IMMER! EIN LOOP PROGRAMM
|
||||||
|
|
||||||
## µ-Rekursiv
|
## µ-Rekursiv
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user