26.12.2013 Aufrufe

1 Primitiv-rekursive Funktionen

1 Primitiv-rekursive Funktionen

1 Primitiv-rekursive Funktionen

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!