<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  <link rel="stylesheet" type="text/css" media="all" href="stylesheet.css">
  <title>Das Lambda-Kalkül</title>
</head>
<body>
  <span id="menu"><a href="index.php">zurück zur Liste</a></span>
  
  <div id="buttons">
    <form action="edit.php" method="POST">
      <input type="hidden" name="filename" value="<?php echo $_SERVER['SCRIPT_FILENAME']?>">
      <p>
        <input type="submit" value="Seite bearbeiten">
      </p>
    </form>
  </div>
  
  <h1>Das &#955;-Kalkül - die kleinste Programmiersprache</h1>
  <p>
    Idee: 1900 stellt Hilbert die Frage nach der Existenz einem automatischen Verfahren, mit dem man alle Sätze der Mathematik beweisen kann.<br>
    Turing und Church beweisen 1930, dass es ein solches Verfahren nicht gibt.<br>
    Das &#955;-Kalkül bildet die mathematische Grundlage für funktionale Programmiersprachen.
  </p>
  <p style="font-family: monospace">
    &lt;name&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:= a | b | c | a1 | b2...<br>
    &lt;expression&gt;&nbsp;&nbsp;:= &lt;name&gt; | &lt;function&gt; | &lt;application&gt;<br><br>
    &lt;function&gt;&nbsp;&nbsp;&nbsp;&nbsp;:= &#955;&lt;name&gt;.&lt;expression&gt;<br>
    &lt;application&gt;&nbsp;:= &lt;expression&gt;&lt;expression&gt;
  </p>
  <h2>Reduzieren von Ausdrücken:</h2>
  <p style="font-family: monospace">
    &#955;x.x y &rarr; y<br>
    (&#955;x.xy)z &rarr; zy<br>
    (&#955;x.(&#955;y.xy))ab &rarr; (&#955;y.ay)b &rarr; ab
  </p>
  <h2>Zahlen</h2>
  <p style="font-family: monospace">
    0 &#8801; &#955;s(&#955;z.z)<br>
    1 &#8801; &#955;s(&#955;z.s(z))<br>
    2 &#8801; &#955;s(&#955;z.s(s(z)))<br>
    usw.
  </p>
  <h2>Funktionen</h2>
  <p style="font-family: monospace">
    Nachfolgefunktion:<br>
    &nbsp;S &#8801; &#955;wyz.y(wyz)<br>
    &nbsp;5S4 &#8801; S(S(S(S(S(4))))) &#8801; 9
    <br><br>
    True:&nbsp; T &#8801; &#955;xy.x<br>
    False: F &#8801; &#955xy.y<br>
    <br>
    And: &and; &#8801; &#955;xy.xyF<br>
    Or:&nbsp; &or &#8801; &#955;xy.xTy<br>
    Not: &not; &#8801; &#955;x.xFT
  </p>
  <h2>Links</h2>
  <p>
    <a href="http://www.betoerend.de/dasLandHinterDemEndeDesSinns/lambda/welcome.html">Das gefürchtete Lambda-Kalkül</a> - <b>Ist leider nicht mehr online! </b> Wer eine Kopie findet, bitte eintragen.<br>
    <a href="http://de.wikipedia.org/wiki/Lambda-Notation">Kurze Wikipedia-Erläuterung zur Lambda-Notation</a>
  </p>
  
</body>
</html>