www.wikidata.de-de.nina.az
Der Lambda Kalkul ist eine formale Sprache zur Untersuchung von Funktionen Er beschreibt die Definition von Funktionen und gebundenen Parametern und wurde in den 1930er Jahren von Alonzo Church und Stephen Cole Kleene eingefuhrt Heute ist er ein wichtiges Konstrukt fur die Theoretische Informatik Logik hoherer Stufe und Linguistik Als Symbol fur den Lambda Kalkul wird das kleine Lambda der elfte Buchstabe des griechischen Alphabets benutzt Inhaltsverzeichnis 1 Geschichte 2 Der untypisierte Lambda Kalkul 2 1 Motivation 2 2 Formale Definition 2 3 Kongruenzregeln 2 3 1 a Konversion 2 3 2 b Konversion 2 3 3 h Konversion 2 4 Anmerkungen 2 5 Weitere Beispiele 3 Typisierter Lambda Kalkul 4 Anwendung in der Semantik 5 Anwendung in der Informatik 6 Siehe auch 7 Literatur 8 Weblinks 9 EinzelnachweiseGeschichte BearbeitenAlonzo Church benutzte den Lambda Kalkul um 1936 sowohl eine negative Antwort auf das Entscheidungsproblem zu geben als auch eine Fundierung eines logischen Systems zu finden wie es den Principia Mathematica von Bertrand Russell und Alfred North Whitehead zugrunde lag Mittels des untypisierten Lambda Kalkuls kann man klar definieren was eine berechenbare Funktion ist Die Frage ob zwei Lambda Ausdrucke s u aquivalent sind kann im Allgemeinen nicht algorithmisch entschieden werden In seiner typisierten Form kann der Kalkul benutzt werden um Logik hoherer Stufe darzustellen Der Lambda Kalkul hat die Entwicklung funktionaler Programmiersprachen die Forschung um Typsysteme von Programmiersprachen im Allgemeinen sowie moderne Teildisziplinen in der Logik wie die Typtheorie wesentlich beeinflusst Meilensteine der Entwicklung waren im Einzelnen Nach der Einfuhrung die fruhe Entdeckung dass sich mit dem Lambda Kalkul alles ausdrucken lasst was man mit einer Turingmaschine ausdrucken kann Anders formuliert Im Sinne des Konzepts der Berechenbarkeit sind beide gleich machtig Konrad Zuse hat Ideen aus dem Lambda Kalkul 1942 bis 1946 in seinen Plankalkul einfliessen lassen John McCarthy hat sie Ende der 1950er Jahre verwendet und damit die minimalen Funktionen der Programmiersprache Lisp definiert Die typisierten Varianten des Lambda Kalkuls fuhrten zu modernen Programmiersprachen wie ML oder Haskell Als uberaus fruchtbar erwies sich die Idee Ausdrucke des typisierten Lambda Kalkuls zur Reprasentation von Termen einer Logik zugrunde zu legen den Lambda Kalkul also als Meta Logik zu verwenden Erstmals von Church 1940 in seiner Theory of Simple Types prasentiert fuhrte sie einerseits zu modernen Theorembeweisern fur Logiken hoherer Stufe und andererseits in den 1970er und 1980er Jahren zu Logiken mit immer machtigeren Typsystemen in denen sich z B logische Beweise an sich als Lambda Ausdruck darstellen lassen In Anlehnung an den Lambda Kalkul wurde fur die Beschreibung nebenlaufiger Prozesse der Pi Kalkul von Robin Milner in den 1990er Jahren entwickelt Dieser Artikel oder Abschnitt ist nicht allgemeinverstandlich formuliert Die Mangel sind unter Diskussion Lambda Kalkul beschrieben Wenn du diesen Baustein entfernst begrunde dies bitte auf der Artikeldiskussionsseite und erganze den automatisch erstellten Projektseitenabschnitt Wikipedia Unverstandliche Artikel Lambda Kalkul um Erledigt 1 Der untypisierte Lambda Kalkul BearbeitenMotivation Bearbeiten Ausgehend von einem mathematischen Term wie beispielsweise x 2 displaystyle x 2 nbsp lasst sich eine Funktion bilden die x displaystyle x nbsp auf x 2 displaystyle x 2 nbsp abbildet Man schreibt auch x x 2 displaystyle x mapsto x 2 nbsp Beim Lambda Kalkul geht es zunachst darum solche Funktionsbildungen sprachlich zu formalisieren Im Lambda Kalkul wurde man statt x x 2 displaystyle x mapsto x 2 nbsp den Term l x x 2 displaystyle lambda x x 2 nbsp schreiben Man sagt dass die freie Variable x displaystyle x nbsp durch l Abstraktion gebunden wird Die Variablen Bindung kommt in der Mathematik auch in anderen Bereichen vor Mengenlehre x F x displaystyle x mid Phi x nbsp Logik x F x displaystyle forall x Phi x nbsp und x F x displaystyle exists x Phi x nbsp Analysis 0 1 f x d x displaystyle int 0 1 f x mathrm d x nbsp Die abstrahierte Variable muss nicht notwendigerweise im Term vorkommen z B l x 2 displaystyle lambda x 2 nbsp Dieser l Ausdruck bezeichnet dann die Funktion die jedes x displaystyle x nbsp auf 2 displaystyle 2 nbsp abbildet Etwas allgemeiner ist l x y displaystyle lambda x y nbsp die Funktion die konstant y displaystyle y nbsp ist Wird nachtraglich noch nach y displaystyle y nbsp abstrahiert so erhalt man mit l y l x y displaystyle lambda y lambda x y nbsp eine Formalisierung der Funktion die jedem Wert y displaystyle y nbsp die Funktion zuordnet die konstant y displaystyle y nbsp ist Der Ausdruck l y l x y displaystyle lambda y lambda x y nbsp reprasentiert also eine funktionswertige Funktion Im Lambda Kalkul lassen sich aber auch Funktionen ausdrucken deren Argumente bereits Funktionen sind Nimmt man bspw die Funktion die jeder Funktion f displaystyle f nbsp eine andere Funktion f 2 displaystyle f 2 nbsp zuordnet die so entsteht dass f displaystyle f nbsp zweimal angewandt wird so wird f 2 displaystyle f 2 nbsp durch den l Term l x f f x displaystyle lambda x f f x nbsp dargestellt und die Zuordnung f f 2 displaystyle f mapsto f 2 nbsp durch l f l x f f x displaystyle lambda f lambda x f f x nbsp Da l Terme als Funktionen gesehen werden kann man sie auf ein Argument anwenden Man spricht von Applikation und schreibt im Lambda Kalkul eher f x displaystyle f x nbsp statt f x displaystyle f x nbsp Klammern konnen Terme gruppieren Die Applikation als Verbindungsprinzip von Termen ist definitionsgemass linksassoziativ d h f x y displaystyle f x y nbsp bedeutet f x y displaystyle f x y nbsp In der ublichen mathematischen Notation wurde man hier f x y displaystyle f x y nbsp schreiben Wendet man nun einen Lambda Term l x 8 displaystyle lambda x theta nbsp auf ein Argument a displaystyle a nbsp an also l x 8 a displaystyle lambda x theta a nbsp so berechnet sich das Ergebnis dadurch dass in dem Term 8 displaystyle theta nbsp jedes Vorkommen der Variablen x displaystyle x nbsp durch a displaystyle a nbsp ersetzt wird Diese Ableitungsregel nennt man b Konversion l Terme formulieren eher allgemeine Prinzipien der Mathematik und bezeichnen nicht so sehr Objekte des ublichen mathematischen Universums Beispielsweise formuliert l x x displaystyle lambda x x nbsp das Zuordnungsprinzip der identischen Abbildung doch diese ist immer auf eine gegebene Menge als Definitionsmenge bezogen Eine universelle Identitat als Funktion ist in der mengentheoretischen Formulierung der Mathematik nicht definiert Der Lambda Kalkul im strengen Sinne ist daher eher als ein Neuentwurf der Mathematik zu sehen in dem die Grundobjekte als universelle Funktionen verstanden werden im Gegensatz zur axiomatischen Mengenlehre deren Grundobjekte Mengen sind Zahlen und Terme wie x 2 displaystyle x 2 nbsp sind zunachst nicht Bestandteil eines reinen Lambda Kalkuls Ahnlich wie in der Mengenlehre in der man Zahlen und Arithmetik allein aus dem Mengenbegriff heraus konstruieren kann ist es aber auch im Lambda Kalkul moglich auf der Basis von l Abstraktion und Applikation die Arithmetik zu definieren Da im Lambda Kalkul jeder Term als einstellige Funktion verstanden wird muss eine Addition als die Funktion verstanden werden die jeder Zahl y displaystyle y nbsp diejenige einstellige Funktion zuordnet die zu jeder Zahl x displaystyle x nbsp den Wert y displaystyle y nbsp addiert s Currying Lambda Terme ohne freie Variablen werden auch als Kombinatoren bezeichnet Die Kombinatorische Logik oder Kombinator Kalkul kann als alternativer Ansatz zum Lambda Kalkul gesehen werden Formale Definition Bearbeiten In seiner einfachsten dennoch vollstandigen Form gibt es im Lambda Kalkul drei Sorten von Termen hier in Backus Naur Form Term a i Variable i Term Term i Applikation i la Term i Abstraktion i wobei a displaystyle a nbsp fur ein beliebiges Symbol aus einer mindestens abzahlbar unendlichen Menge von Variablensymbolen kurz Variablen steht Fur praktische Zwecke wird der Lambda Kalkul ublicherweise noch um eine weitere Sorte von Termen die Konstantensymbole erweitert Die Menge der freien Variablen F V T displaystyle FV T nbsp kann induktiv uber der Struktur eines l Terms T displaystyle T nbsp wie folgt definiert werden F V a a displaystyle FV a a nbsp falls der Term eine Variable a displaystyle a nbsp ist F V T 1 T 2 F V T 1 F V T 2 displaystyle FV T 1 T 2 FV T 1 cup FV T 2 nbsp fur Applikationen und F V l a T F V T a displaystyle FV lambda a T FV T setminus a nbsp falls der Term eine Abstraktion ist sind seine freien Variablen die freien Variablen von T displaystyle T nbsp ausser a displaystyle a nbsp Die Menge der gebundenen Variablen B T displaystyle B T nbsp eines Terms T displaystyle T nbsp errechnet sich auch induktiv B a displaystyle B a emptyset nbsp falls der Term eine Variable a displaystyle a nbsp ist B T 1 T 2 B T 1 B T 2 displaystyle B T 1 T 2 B T 1 cup B T 2 nbsp fur Applikationen und B l a T B T a displaystyle B lambda a T B T cup a nbsp falls der Term eine Abstraktion ist sind seine gebundenen Variablen die gebundenen Variablen von T displaystyle T nbsp vereinigt a displaystyle a nbsp Mittels der Definition von freien und gebundenen Variablen kann nun der Begriff der freien Variablensubstitution Einsetzung induktiv definiert werden durch a x T a displaystyle a x leftarrow T a nbsp falls Variable x displaystyle x nbsp ungleich a displaystyle a nbsp a a T T displaystyle a a leftarrow T T nbsp T 1 T 2 x T T 1 x T T 2 x T displaystyle T 1 T 2 x leftarrow T T 1 x leftarrow T T 2 x leftarrow T nbsp l a T a T l a T displaystyle lambda a T a leftarrow T lambda a T nbsp l a T x T l a T x T displaystyle lambda a T x leftarrow T lambda a T x leftarrow T nbsp falls Variable x displaystyle x nbsp ungleich a displaystyle a nbsp und falls F V T displaystyle FV T nbsp disjunkt von B l a T displaystyle B lambda a T nbsp Hinweis S x T displaystyle S x leftarrow T nbsp steht fur S displaystyle S nbsp in dem die freie Variable x displaystyle x nbsp durch T displaystyle T nbsp ersetzt wurde falls x displaystyle x nbsp nicht in S displaystyle S nbsp vorhanden ist wird auch nichts ersetzt Man beachte dass die Substitution nur partiell definiert ist ggf mussen gebundene Variablen geeignet umbenannt werden siehe a Kongruenz im Folgenden so dass niemals eine freie Variable in einem Substitut durch Einsetzung fur eine Variable gebunden wird Uber der Menge der l Terme konnen nun Kongruenzregeln hier geschrieben definiert werden die die Intuition formal fassen dass zwei Ausdrucke dieselbe Funktion beschreiben Diese Relationen sind durch die sogenannte a Konversion die b Konversion sowie die h Konversion erfasst Kongruenzregeln Bearbeiten a Konversion Bearbeiten Die a Konversionsregel formalisiert die Idee dass die Namen von gebundenen Variablen Schall und Rauch sind z B beschreiben l x x displaystyle lambda x x nbsp und l y y displaystyle lambda y y nbsp dieselbe Funktion Allerdings sind die Details nicht ganz so einfach wie es zunachst erscheint Eine Reihe von Einschrankungen mussen beachtet werden wenn gebundene Variablen durch andere gebundene Variablen ersetzt werden Formal lautet die Regel wie folgt l V E l W E V W displaystyle lambda V E equiv lambda W E V leftarrow W nbsp falls W displaystyle W nbsp in E displaystyle E nbsp nirgends frei vorkommt und W displaystyle W nbsp in E displaystyle E nbsp dort nicht gebunden ist wo es ein V displaystyle V nbsp ersetzt Da eine Kongruenzregel in jedem Teilterm anwendbar ist erlaubt sie die Ableitung dass l x l x x x displaystyle lambda x lambda x x x nbsp gleich l y l x x y displaystyle lambda y lambda x x y nbsp ist b Konversion Bearbeiten Die b Konversionsregel formalisiert das Konzept der Funktionsanwendung Wird sie ausschliesslich von links nach rechts angewandt spricht man auch von b Reduktion Formal lasst sie sich durch l V E E E V E displaystyle lambda V E E equiv E V leftarrow E nbsp beschreiben wobei alle freien Variablen in E displaystyle E nbsp in E V E displaystyle E V leftarrow E nbsp frei bleiben mussen siehe Nebenbedingung bei der Substitutionsdefinition Ein Term heisst in b Normalform wenn keine b Reduktion mehr anwendbar ist nicht fur alle Terme existiert eine b Normalform siehe unten Ein tiefes Resultat von Church und Rosser uber den l Kalkul besagt dass die Reihenfolgen von a Konversionen und b Reduktionen in gewissem Sinn keine Rolle spielt wenn man einen Term zu zwei Termen T 1 displaystyle T 1 nbsp und T 2 displaystyle T 2 nbsp ableitet gibt es immer eine Moglichkeit T 1 displaystyle T 1 nbsp und T 2 displaystyle T 2 nbsp jeweils zu einem gemeinsamen Term T 3 displaystyle T 3 nbsp abzuleiten h Konversion Bearbeiten Die h Konversion kann optional zum Kalkul hinzugefugt werden Sie formalisiert das Konzept der Extensionalitat d h dass zwei Funktionen genau dann gleich sind wenn sie fur alle Argumente dasselbe Resultat liefern Formal ist die h Konversion beschrieben durch l x f x f displaystyle lambda x f x equiv f nbsp wenn x displaystyle x nbsp nicht freie Variable von f displaystyle f nbsp ist Anmerkungen Bearbeiten Nicht fur alle Terme existiert eine b Normalform Beispielsweise kann man auf den Term l x x x l x x x displaystyle lambda x x x lambda x x x nbsp zwar b Reduktion anwenden doch man erhalt wieder den gleichen Term als Ergebnis zuruck Jeder Term der die Bedingung der b Regel erfullt wird b reduzibel genannt Die b Reduktion ist im Allgemeinen nicht eindeutig es kann mehrere Ansatzpunkte sog b Redexe von englisch reducible expression reduzibler Ausdruck fur die Anwendung der b Regel geben weil die Regelanwendung in allen Teiltermen moglich ist Wenn mehrere Folgen von b Reduktionen moglich sind und mehrere davon zu einem nicht b reduziblen Term fuhren so sind diese Terme bis auf a Kongruenz gleich Wenn jedoch eine Reihenfolge der b zu einem nicht b reduziblen Term einem Ergebnis fuhrt so tut dies auch die Standard Reduction Order bei der das im Term erste Lambda zuerst verwendet wird In einer alternativen Notation werden die Variablennamen durch De Bruijn Indizes ersetzt Diese Indizes entsprechen der Anzahl der Lambda Terme zwischen der Variablen und ihrem bindenden Lambda Ausdruck Diese Darstellung wird oft in Computerprogrammen verwendet da sie die a Konversion obsolet macht und b Reduktion deutlich vereinfacht Weitere Beispiele Bearbeiten Der Term l x l y x y falsch displaystyle lambda x lambda y x y operatorname falsch nbsp ist eine Moglichkeit von vielen die logische Funktion und displaystyle operatorname und nbsp darzustellen Hierzu versteht man wahr displaystyle operatorname wahr nbsp als Abkurzung fur l x l y x displaystyle lambda x lambda y x nbsp und falsch displaystyle operatorname falsch nbsp als Abkurzung fur l x l y y displaystyle lambda x lambda y y nbsp Der Term erfullt alle Forderungen die man an die Funktion und displaystyle operatorname und nbsp stellt und wahr wahr d e f l x l y x y falsch wahr wahr b b wahr wahr falsch d e f l x l y x wahr falsch b l y wahr falsch b wahr displaystyle operatorname und operatorname wahr operatorname wahr overset mathrm def equiv lambda x lambda y x y operatorname falsch operatorname wahr operatorname wahr overset beta beta equiv operatorname wahr operatorname wahr operatorname falsch overset mathrm def equiv lambda x lambda y x operatorname wahr operatorname falsch overset beta equiv lambda y operatorname wahr operatorname falsch overset beta equiv operatorname wahr nbsp und wahr falsch wahr falsch falsch l y falsch falsch falsch displaystyle operatorname und operatorname wahr operatorname falsch equiv ldots equiv operatorname wahr operatorname falsch operatorname falsch equiv ldots equiv lambda y operatorname falsch operatorname falsch equiv operatorname falsch nbsp und falsch wahr falsch wahr falsch l x l y y wahr falsch l y y falsch falsch displaystyle operatorname und operatorname falsch operatorname wahr equiv operatorname falsch operatorname wahr operatorname falsch equiv lambda x lambda y y operatorname wahr operatorname falsch equiv lambda y y operatorname falsch equiv operatorname falsch nbsp und falsch falsch falsch falsch falsch l y y falsch falsch displaystyle operatorname und operatorname falsch operatorname falsch equiv operatorname falsch operatorname falsch operatorname falsch equiv ldots equiv lambda y y operatorname falsch equiv operatorname falsch nbsp Man kann in ahnlicher Weise Zahlen Tupel und Listen in l Ausdrucken codieren z B durch sogenannte Church Numerale Man kann beliebige rekursive Funktionen durch den Fixpunkt Kombinator Y l g l x g x x l x g x x displaystyle mathbf Y lambda g lambda x g x x lambda x g x x nbsp darstellen Typisierter Lambda Kalkul BearbeitenDie zentrale Idee des typisierten Lambda Kalkuls ist es nur noch Lambda Ausdrucke zu betrachten denen sich ein Typ durch ein System von Typinferenzregeln zuordnen lasst Das einfachste Typsystem das von Church in seiner Theory of Simple Types vorgestellt wurde sieht die Typen vor die durch folgende Grammatik in Backus Naur Form generiert werden TT I i Individuen i O i Wahrheitswerte i TT TT i Funktionstypen i Den Typ I displaystyle I nbsp kann man sich als Zahlen vorstellen O displaystyle O nbsp wird fur boolesche Werte wie Wahr und Falsch verwendet Zusatzlich wird eine Umgebung G displaystyle Gamma nbsp definiert dies ist eine Funktion die Variablensymbolen Typen T T displaystyle TT nbsp zuordnet Ein Tripel aus einer Umgebung G displaystyle Gamma nbsp einem Ausdruck E displaystyle E nbsp und einem Typ T displaystyle T nbsp geschrieben G E T displaystyle Gamma vdash E T nbsp wird ein Typurteil genannt Nun konnen die Inferenzregeln Beziehungen zwischen Ausdrucken ihren Typen und Typurteilen herstellen G v G v V a r i a b l e displaystyle over Gamma vdash v Gamma v qquad rm Variable nbsp G t 1 t 1 t 2 G t 2 t 1 G t 1 t 2 t 2 A p p l i k a t i o n displaystyle Gamma vdash t 1 tau 1 rightarrow tau 2 quad Gamma vdash t 2 tau 1 over Gamma vdash t 1 t 2 tau 2 qquad rm Applikation nbsp G a t 1 t t 2 G l a t t 1 t 2 A b s t r a k t i o n displaystyle Gamma a mapsto tau 1 vdash t tau 2 over Gamma vdash lambda a t tau 1 rightarrow tau 2 qquad rm Abstraktion nbsp Hierbei ist G a t 1 displaystyle Gamma a mapsto tau 1 nbsp diejenige Funktion die an der Stelle a displaystyle a nbsp den Typ t 1 displaystyle tau 1 nbsp zuordnet und ansonsten die Funktion G displaystyle Gamma nbsp ist Anders ausgedruckt Der Parameter a displaystyle a nbsp der Funktion ist vom Typ t 1 displaystyle tau 1 nbsp und genau diese Information wird der Umgebung hinzugefugt Durch Einfuhrung einer zweiten Umgebung sind auch Konstantensymbole behandelbar eine weitere wichtige Erweiterung besteht darin in Typen auch die Kategorie der Typvariablen a b g displaystyle alpha beta gamma nbsp etc oder Typkonstruktoren wie Menge displaystyle operatorname Menge nbsp Liste displaystyle operatorname Liste nbsp etc zuzulassen so entstehen schon sehr machtige funktionale oder logische Kernsprachen Menge displaystyle operatorname Menge nbsp ist beispielsweise eine Funktion die den beliebigen Typen a displaystyle alpha nbsp auf den Typ Menge deren Elemente vom Typ a displaystyle alpha nbsp sind abbildet Liste displaystyle operatorname Liste nbsp analog geschrieben Menge a displaystyle operatorname Menge alpha nbsp und Liste b displaystyle operatorname Liste beta nbsp wobei auch wie gehabt die Klammern fehlen durfen Das Konzept kann leicht weiter abstrahiert werden indem statt eines konkreten Typkonstruktors auch eine Variable verwendet wird z B F a displaystyle Phi alpha nbsp Typkonstruktoren durfen allgemein auch mehrere Argumente besitzen wie beispielsweise der Pfeil Der Typ Pfeil a b displaystyle operatorname Pfeil alpha beta nbsp ist nichts anderes als a b displaystyle alpha rightarrow beta nbsp zeigt aber besser dass der Pfeil ein Typkonstruktor in zwei Variablen ist Insbesondere ist auch bei Typkonstruktoren Currying moglich und Pfeil a displaystyle operatorname Pfeil alpha nbsp ist ein Typkonstruktor in einer Variablen Es ist entscheidbar ob ein untypisierter Term sich typisieren lasst selbst wenn die Umgebung G displaystyle Gamma nbsp unbekannt ist eine Variante mit Typvariablen und Typkonstruktoren ist der Algorithmus nach Hindley Milner Die Menge der typisierbaren Ausdrucke ist eine echte Teilmenge des untypisierten Lambda Kalkuls z B lasst sich der Y Kombinator nicht typisieren Andererseits ist fur typisierte Ausdrucke die Gleichheit zwischen zwei Funktionen modulo a und b Konversionen entscheidbar Es ist bekannt dass das Matching Problem auf Lambda Ausdrucken bis zur vierten Ordnung entscheidbar ist Das Unifikationsproblem ist unentscheidbar allerdings gibt es praktisch brauchbare approximative Algorithmen Anwendung in der Semantik BearbeitenDie Semantik ist dasjenige Teilgebiet der Linguistik welches die Bedeutung naturlichsprachlicher Ausdrucke analysiert Die formale Semantik nutzt dazu zunachst einfache Mittel der Pradikatenlogik und Mengenlehre Diese erweitert man um Grundlagen des Lambda Kalkuls etwa um mittels Lambda Abstraktion Propositionen als Eigenschaften zu reprasentieren und komplexere Nominalphrasen Adjektivphrasen und einige Verbalphrasen darstellen zu konnen Grundlage ist etwa eine modelltheoretische semantische Interpretation der intensionalen Logik Richard Montagues Anwendung in der Informatik BearbeitenDer Lambda Kalkul ist auch die formale Grundlage fur viele Programmiersprachen wie z B Scheme oder Lisp Einige Programmiersprachen bieten Konzepte wie anonyme Funktionen an auf die sich einige der Regeln des Lambda Kalkuls anwenden lassen Die Programmiersprachen erlauben jedoch meist mehr als der reine Lambda Kalkul wie beispielsweise Nebeneffekte Siehe auch BearbeitenBerechenbarkeitstheorie Kombinatorische LogikLiteratur BearbeitenStephen Kleene A theory of positive integers in formal logic In American Journal of Mathematics 57 1935 ISSN 0002 9327 S 153 173 und 219 244 Alonzo Church An unsolvable problem of elementary number theory In American Journal of Mathematics 58 1936 S 345 363 Alonzo Church The Calculi of Lambda Conversion 1 Henk P Barendregt The lambda calculus Its syntax and semantics Revised edition North Holland Amsterdam u a 1984 ISBN 0 444 87508 5 Studies in logic and the foundations of mathematics 103 Guo Qiang Zhang Logic of Domains Birkhauser Boston u a 1991 ISBN 0 8176 3570 X Progress in theoretical computer science 4 Zugleich Cambridge Univ Diss 1989 Roberto M Amadio Pierre Louis Curien Domains and Lambda Calculi Cambridge University Press Cambridge u a 1998 ISBN 0 521 62277 8 Cambridge tracts in theoretical computer science 46 Samson Abramsky Hrsg Typed Lambda Calculi and Applications 5th international conference Krakow Poland May 2 5 2001 Proceedings Springer Berlin u a 2001 ISBN 3 540 41960 8 Lecture notes in computer science 2044 Weblinks BearbeitenKlaus Aehlig Thomas Fischbacher Einfuhrung in den l Kalkul Vorlesungsskript 103 Seiten PS Dokument Fabian Nilius Das gefurchtete Lambda Kalkul Vortragsfolien 58 Folien als PS Dokument Bret Victor Alligator Eggs Eine als farbenfrohes Spiel getarnte Einfuhrung in die Arbeitsweise des l Kalkul ab 8 Jahren Jim Larson An Introduction to Lambda Calculus and Scheme Memento vom 13 Juli 2015 im Internet Archive Eine einfache Einfuhrung fur Programmierer Jesse Alama The Lambda Calculus In Edward N Zalta Hrsg Stanford Encyclopedia of Philosophy Shane Steinert Threlkeld Lambda Calculi In J Fieser B Dowden Hrsg Internet Encyclopedia of Philosophy Einzelnachweise Bearbeiten Alonzo Church The Calculi of Lambda Conversion Princeton University Press Princeton 1941 archive org abgerufen am 14 April 2020 Normdaten Sachbegriff GND 4166495 4 lobid OGND AKS LCCN sh85074174 Abgerufen von https de wikipedia org w index php title Lambda Kalkul amp oldid 237450429