Lambda-Konversion < Logik < Logik+Mengenlehre < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) reagiert/warte auf Reaktion | Datum: | 20:51 Mi 23.06.2010 | Autor: | Shlomoe |
Aufgabe | Prüfen sie bei folgendem Ausdruck, ob er zu [mm] M\alpha [/mm] für irgendeinen Typ [mm] \alpha [/mm] gehört. Falls ja, geben Sie bitte [mm] \alpha [/mm] an und reduzieren Sie die Ausdrücke vollständig. Führen Sie also alle möglichen Lambda-Konversionen durch. Schreiben Sie alle Zwischenschritte auf.
[mm] (\lambda [/mm] x(Typ e).(f<Typ e, Typ e> (x <Type e>)))(a Typ e) |
Ich hab leider überhaupt keine Ahnung, wie man sowas angeht.
Ich schätze mal, dass man f<Typ e, Typ e> und x <Type e> zu fx <Typ e> zusammenfassen kann.
Doch was kommt dann?
Nebenbei: Falls jemand weiß wo es einen verständlich aufbereiteten Text zu Typenlogik gibt - ich wäre mehr als dankbar!
|
|
|
|
Status: |
(Frage) überfällig | Datum: | 17:59 Fr 25.06.2010 | Autor: | Shlomoe |
Ich glaub, ich hab's jetzt selbst rausgefunden. Die Lösung sollte f(a) lauten. Ist das richtig?
Und dann gibt's noch folgende zwei Aufgaben:
1) [mm] \lambda [/mm] Q <e,t>.(Q <e,t>)(slithytove<e>)
= Das dürfte nicht gehen, da man keine Variable vom Typ <e> in eine Funktion vom Typ <e,t> einsetzen kann.
2) [mm] (\lambda x.(\lambda [/mm] y<e>.(BRILLIG<e,t>(y<e>)))(x<e>)) (it<e>)
= Da müsste BRILLIG(it)<t> rauskommen...
Right?
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 18:20 Mo 28.06.2010 | Autor: | matux |
$MATUXTEXT(ueberfaellige_frage)
|
|
|
|