1 Primitiv-rekursive Funktionen
1 Primitiv-rekursive Funktionen
1 Primitiv-rekursive Funktionen
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Logik und Berechenbarkeit<br />
1. <strong>Primitiv</strong>-<strong>rekursive</strong> <strong>Funktionen</strong><br />
1 <strong>Primitiv</strong>-<strong>rekursive</strong> <strong>Funktionen</strong><br />
Bezeichnung:<br />
k-stelligen <strong>Funktionen</strong><br />
F k := { f : f :IN k → IN} für die Menge aller<br />
1.1 Berechnungsschemata für <strong>Funktionen</strong><br />
1.1.1 Substitution S( f ;g 1 ,...,g k ):IN m → IN<br />
Es seien f ∈ F k ,g 1 ,...,g k ∈ F m .<br />
S( f ;g 1 ,...,g k )(x 1 ,...,x m ) :=<br />
f(g 1 (x 1 ,...,x m ) ,..., g k (x 1 ,...,x m ))<br />
WS 2009/2010 1
Logik und Berechenbarkeit<br />
1. <strong>Primitiv</strong>-<strong>rekursive</strong> <strong>Funktionen</strong><br />
1.1.2 <strong>Primitiv</strong>e Rekursion R(g,h):IN m+1 → IN<br />
Es seien g ∈ F m und h ∈ F m+2 .<br />
⃗x := (x 1 ,...,x m ) sei der Parametervektor.<br />
R(g,h)(⃗x,0) := g(⃗x)<br />
R(g,h)(⃗x,n+1) := h(⃗x,n,R(g,h)(⃗x,n))<br />
1.1.3 Beschränkte <strong>Primitiv</strong>e Rekursion BR(g,h;b):IN m+1 → IN<br />
Es seien g ∈ F m , h ∈ F m+2 und b ∈ F m+1 und⃗y = (y 1 ,...,y m+1 ).<br />
BR(g,h;b) =<br />
⎧<br />
⎨<br />
⎩<br />
R(g,h) , falls ∀⃗y(R(g,h)(⃗y) ≤ b(⃗y)),<br />
/0 , sonst.<br />
WS 2009/2010 2
Logik und Berechenbarkeit<br />
1. <strong>Primitiv</strong>-<strong>rekursive</strong> <strong>Funktionen</strong><br />
1.1.4 Induktiver Aufbau der primitiv-<strong>rekursive</strong>n <strong>Funktionen</strong><br />
Anfangsfunktionen<br />
A 0 := {o,s} ∪ {I m k<br />
: m,k ∈ IN ∧ k ≤ m}<br />
induktiver Aufbau<br />
A i+1 := A i ∪ {S( f ;g 1 ,...,g k ) : k ∈ IN ∧ f,g 1 ,...,g k ∈ A i }<br />
∪ {R(g,h) : g,h ∈ A i }<br />
Abschluß<br />
A i<br />
i∈IN<br />
P R := [<br />
WS 2009/2010 3
Logik und Berechenbarkeit<br />
1. <strong>Primitiv</strong>-<strong>rekursive</strong> <strong>Funktionen</strong><br />
Satz 1.1:<br />
<strong>Funktionen</strong><br />
<strong>Primitiv</strong>-<strong>rekursive</strong> <strong>Funktionen</strong> sind vollständig definierte<br />
Eigenschaft 1.2:<br />
Die Klasse P R ist abgeschlossen bezüglich<br />
(a) Permutation von Variablen,<br />
(b) Identifizierung von Variablen,<br />
(c) Einsetzung von Konstanten, und<br />
(d) Einführung fiktiver Variablen.<br />
WS 2009/2010 4
Logik und Berechenbarkeit<br />
1. <strong>Primitiv</strong>-<strong>rekursive</strong> <strong>Funktionen</strong><br />
Lemma 1.3 (Beschränkte Summation):<br />
ist auch<br />
Folgerung 1.4:<br />
so ist auch<br />
f(x 1 ,...,x m ) :=<br />
f(x 1 ,...,x m ) :=<br />
Ist g(x 1 ,...,x m ) ∈ P R , so<br />
x m<br />
∑ g(x 1 ,...,x m−1 ,i) ∈ P R .<br />
i=0<br />
Sind g,h, j primitiv-<strong>rekursive</strong> m-stellige <strong>Funktionen</strong>,<br />
j(x 1 ,...,x m )<br />
∑ g(x 1 ,...,x m−1 ,i) ∈ P R .<br />
i=h(x 1 ,...,x m )<br />
Lemma 1.5 (Beschränkte Multiplikation): Ist g(x 1 ,...,x m ) ∈ P R ,<br />
so ist auch<br />
f(x 1 ,...,x m ) :=<br />
x m<br />
∏g(x 1 ,...,x m−1 ,i) ∈ P R .<br />
i=0<br />
WS 2009/2010 5
Logik und Berechenbarkeit<br />
1. <strong>Primitiv</strong>-<strong>rekursive</strong> <strong>Funktionen</strong><br />
Satz 1.6 (Fallunterscheidung):<br />
Sind<br />
f 1 ,..., f n+1 ,α 1 ,...,α n ∈ F m ∩ P R und sind die Mengen der Nullstellen<br />
der <strong>Funktionen</strong> α 1 ,...,α n paarweise disjunkt, so ist auch die Funktion<br />
⎧<br />
f 1 (⃗x) , falls α 1 (⃗x) = 0,<br />
⎪⎨<br />
. ,<br />
.<br />
f(⃗x) :=<br />
f n (⃗x) , falls α n (⃗x) = 0, und<br />
⎪⎩ f n+1 (⃗x) , sonst,<br />
(⃗x ∈ IN m ) primitiv-rekursiv.<br />
WS 2009/2010 6
Logik und Berechenbarkeit<br />
1. <strong>Primitiv</strong>-<strong>rekursive</strong> <strong>Funktionen</strong><br />
1.1.5 Minimale Nullstelle (Minimisierung f = Mg)<br />
Es seien g ∈ F m+1 und⃗x ∈ IN m .<br />
⎧<br />
⎨<br />
µt(g(⃗x,t) = 0) :=<br />
⎩<br />
f(⃗x) := µt(g(⃗x,t) = 0) , wobei<br />
min{z : g(⃗x,z) = 0 ∧ ∀i ≤ z(g(⃗x,i) ∈ IN)}<br />
nicht definiert<br />
, falls ex., und<br />
, sonst.<br />
Beschränkte Minimisierung ( f = M ≤ g)<br />
Es seien g ∈ F m+1 und⃗x ∈ IN m .<br />
f(⃗x,y) := (µt ≤ y)(g(⃗x,t) = 0) , wobei<br />
⎧<br />
⎨ µt(g(⃗x,t) = 0), falls µt(g(⃗x,t) = 0) ≤ y , und<br />
(µt ≤ y)(g(⃗x,t) = 0) :=<br />
⎩ 0 , sonst.<br />
WS 2009/2010 7
Logik und Berechenbarkeit<br />
1. <strong>Primitiv</strong>-<strong>rekursive</strong> <strong>Funktionen</strong><br />
Satz 1.7: Ist g ∈ P R , so gilt auch M ≤ g ∈ P R .<br />
Beispiele primitiv <strong>rekursive</strong>r <strong>Funktionen</strong> 1<br />
quot(x,y) :=<br />
rest(x,y)<br />
⎧<br />
⎨<br />
⎩<br />
⌊ x y ⌋ , falls y > 0 ,<br />
0 , sonst.<br />
:= x ˙– y · quot(x,y)<br />
WS 2009/2010 8
Logik und Berechenbarkeit<br />
1. <strong>Primitiv</strong>-<strong>rekursive</strong> <strong>Funktionen</strong><br />
Beispiele primitiv <strong>rekursive</strong>r <strong>Funktionen</strong> 2<br />
prim(x) :=<br />
nd(x) :=<br />
⎧<br />
⎨<br />
⎩<br />
⎧<br />
⎨<br />
⎩<br />
0 , falls x Primzahl ist,<br />
1 , sonst.<br />
Anz{y : y ∈ IN ∧ y|x} , falls x ≠ 0 ,<br />
1 , sonst.<br />
p(x) := (x+1)-te Primzahl (p(0) = 2, p(1) = 3, p(2) = 5,...)<br />
⎧<br />
⎨ max{y : y ∈ IN ∧ p(y)|x} , falls x ≠ 0 ,<br />
len(x) :=<br />
⎩ 0 , sonst.<br />
⎧<br />
⎨ min{t : t ∈ IN ∧ p(y) t |x ∧ p(y) t+1̸ |x} , falls x ≠ 0 ,<br />
exp(x,y) :=<br />
⎩ 0 , sonst.<br />
WS 2009/2010 9
Logik und Berechenbarkeit<br />
1. <strong>Primitiv</strong>-<strong>rekursive</strong> <strong>Funktionen</strong><br />
1.1.6 Werteverlaufsrekursion<br />
Es seien α 1 (x),...,α l (x) <strong>Funktionen</strong>, für welche α i (x+1) ≤ x gilt.<br />
Die Funktion f(x 1 ,...,x m+1 ) entsteht aus den <strong>Funktionen</strong> g(x 1 ,...,x m )<br />
und h(x 1 ,...,x m ,y,z 1 ,...,z l ) mittels durch α 1 ,...,α l bestimmter<br />
Werteverlaufsrekursion : ⇐⇒<br />
f(⃗x,0)<br />
f(⃗x,n+1)<br />
:= g(⃗x)<br />
:= h(⃗x,n, f(⃗x,α 1 (n+1)),..., f(⃗x,α l (n+1)))<br />
für⃗x = (x 1 ,...,x m ).<br />
Satz 1.8 (Satz über die Werteverlaufsrekursion): Sind die<br />
<strong>Funktionen</strong> α 1 ,...,α l ∈ F 1 mit α i (x+1) ≤ x, sowie g ∈ F m und<br />
h ∈ F m+1+l primitiv rekursiv und entsteht f aus ihnen mittels<br />
Werteverlaufsrekursion, so ist auch f primitiv rekursiv.<br />
WS 2009/2010 10
Logik und Berechenbarkeit<br />
1. <strong>Primitiv</strong>-<strong>rekursive</strong> <strong>Funktionen</strong><br />
1.1.7 Simultane Rekursion<br />
Es seien g 1 ,...,g m ∈ F k und h 1 ,...,h m ∈ F k+1+m . Die <strong>Funktionen</strong><br />
f 1 ,..., f m ∈ F k+1 entstehen durch simultane Rekursion : ⇐⇒<br />
f i (⃗x,0) :=<br />
f i (⃗x,n+1) :=<br />
g i (⃗x)<br />
h i (⃗x,n, f 1 (⃗x,n),..., f m (⃗x,n))<br />
für alle i ∈ {1,...,m} und für⃗x = (x 1 ,...,x k ).<br />
Satz 1.9 (Satz über die simultane Rekursion): Sind die <strong>Funktionen</strong><br />
g i ∈ F k und h i ∈ F k+1+m primitiv rekursiv und entstehen die f i aus<br />
ihnen mittels simultaner Rekursion, so sind auch alle f i primitiv<br />
rekursiv.<br />
WS 2009/2010 11