www.wikidata.de-de.nina.az
Unter Church Kodierung versteht man die Einbettung von Daten und Operatoren in den Lambda Kalkul Die bekannteste Form sind die Church Numerale welche die naturlichen Zahlen reprasentieren Benannt sind sie nach Alonzo Church der Daten als Erster auf diese Weise modellierte Inhaltsverzeichnis 1 Church Numerale 1 1 Definition 1 2 Rechnen mit Church Numeralen 2 Boolesche AusdruckeChurch Numerale BearbeitenDefinition Bearbeiten Die Grundidee zur Kodierung beruht auf den Peano Axiomen wonach die naturlichen Zahlen durch einen Startwert die 0 und einer Nachfolger Funktion definiert sind Demnach sind die Church Numerale wie folgt definiert 0 lf lx x 1 lf lx f x 2 lf lx f f x 3 lf lx f f f x n lf lx f sup i n i sup xIn der obigen Liste ist f die Nachfolger Funktion und x der Startwert beides sind Parameter der Definition Die Definition ist unabhangig von der Auspragung des Startwertes oder der Nachfolger Funktion Somit sind die Numerale nur reprasentativ Jedes einzelne Numeral benutzt die beiden Parameter fur seine Implementation Solange man sich aber nicht festlegt worin genau der Startwert und die Nachfolger Funktion besteht ist auch nicht festgelegt was die Numerale schlussendlich machen Die Definition basiert lediglich auf den Annahme dass es so etwas wie einen Startwert und eine dazu passende Nachfolger Funktion geben mag wie immer die auch aussehen mogen Unter dieser Annahme machen die Numerale das Folgende Das Numeral 0 benutzt die Nachfolger Funktion gar nicht weil es nur den Startwert zuruckgibt Das Numeral 1 benutzt sowohl Nachfolger Funktion als auch Startwert indem es die Nachfolge Funktion genau einmal auf den Startwert anwendet Das Numeral 2 benutzt wie Numeral 1 und alle folgenden Numerale ebenfalls Nachfolger Funktion und Startwert wendet die Nachfolger Funktion aber zweimal auf den Startwert an Das Numeral 3 macht das gleiche wie Numeral 2 nur wendet es die Nachfolger Funktion diesmal dreimal auf den Startwert an Das Numeral n folgt der Regel und wendet die Nachfolger Funktion n mal auf den Startwert an Rechnen mit Church Numeralen Bearbeiten Im Lambda Kalkul sind arithmetische Funktionen durch korrespondierende Funktionen uber Church Numerale darstellbar Diese Funktionen konnen in funktionalen Programmiersprachen direkt durch Ubertragen der Lambda Ausdrucke implementiert werden Die Nachfolger Funktion wird wie folgt definiert succ ln lf lx f n f x Die Addition zweier Zahlen n displaystyle n nbsp und m displaystyle m nbsp ist die m displaystyle m nbsp malige Anwendung der Nachfolger Funktion auf n displaystyle n nbsp plus lm ln lf lx m f n f x Die Multiplikation zweier Zahlen n displaystyle n nbsp und m displaystyle m nbsp ist die m displaystyle m nbsp malige Anwendung der Addition n displaystyle n nbsp auf n displaystyle n nbsp mult lm ln lf lx m n f xDie Vorganger Funktion pred ln lf lx n lg lh h g f lu x lu u Boolesche Ausdrucke BearbeitenAnalog zu den naturlichen Zahlen lassen sich auch zweiwertige Wahrheitswerte im Lambda Kalkul modellieren true lx ly x false lx ly yDaraus lasst sich auch eine einfache Kontrollstruktur IF THEN ELSE ableiten ifthenelse lb lx ly b x yDabei ist die Variable b displaystyle b nbsp als Bedingung zu verstehen x displaystyle x nbsp als THEN und y displaystyle y nbsp als ELSE Abgerufen von https de wikipedia org w index php title Church Kodierung amp oldid 239568438