Aufgaben / Übungen

Blatt 1

Aufgabe 1

Im Script ist beispielhaft eine funktionale Enwicklung der Fakultätsfunktion angegeben. Enwickeln Sie analog funktionale Definitionen z.Bsp. für
  1.  für n <= 1 :   F(n) := 1
     für n > 1  :   F(n) := F(n-1) + F(n-2)
    	  
  2.  für n = 1 :    F(n) := 1
     für n > 1 :    F(n) := n + F(n-1)	  
    	  
  3. die Determinanten-Funktion

Aufgabe 2

Geben Sie die Definition einer Turing-Maschine an, und finden Sie Referenzen für die Beweise der wichtigen Aequivalenzsätze für berechenbare Funktionen (TM-berechenbar, RM-berechenbar, µ-rekursiv, Lambda-berechenbar). Skizzieren Sie die Beweisideen für einige der Aequivalenzen.

Aufgabe 3

Betrachten Sie die Umsetzung der "Funktion" lambda in einem Lisp-System (z.Bsp. xemacs-Lisp), und programmieren Sie eine der Funktionen aus Aufgabe 1 damit.

Aufgabe 4

Finden oder geben Sie eine alternative Definition des Lambda-Kalküls (d.h. ohne die Verwendung einer Grammatik)

Aufgabe 5

Sei ein reiner Lambda-Kalkül mit der Variablenmenge {x, y, z} gegeben. Sind die folgenden Ausdrücke Terme dieses Kalküls in strenger bzw. konventioneller Notation?
  1. Lambdaxyx
  2. Lambda.xyx
  3. Lambdax.yx
  4. Lambdaxy.x
  5. Lambdaxyx.
  6. Lambdax.xx(Lambdax.xx)
  7. LambdaxLambdayx
  8. LambdaxLambday.3*x
  9. LambdaxLambday(xy)
  10. y(xy)
  11. yxy
  12. Lambdax.xLambdayx.zx

Aufgabe 6

Wandeln Sie die Terme aus Aufgabe 5, soweit möglich, in die strenge Darstellungsform um. (Ergänzen Sie dabei ggf. Kammmerungen, wenn damit gültige Terme zu erhalten sind)

Dietmar Lammers
Last modified: Wed Apr 25 14:05:38 MET DST 2001