Kalábovi

Kalábovic wikina

Uživatelské nástroje

Nástroje pro tento web


msz:lambda

Toto je starší verze dokumentu!


Lambda kalkul

Syntaxe a konvence

E =

  • V – proměnná
  • (EE₂) – aplikace
  • λ(V.E) – abstrakce, V je hlavička, E je tělo

  • ((…((EE₂) E₃)…) Eₙ) ~ EEE₃ … Eₙ
  • V.(E₁ … Eₙ)) ~ λV.E₁ … Eₙ
  • V₁.(…(λVₙ.E))) ~ λV₁ … Vₙ.E

Volné a vázané proměnné

Proměnná je vázaná, pokud se vyskutuje v (nejbližší) hlavičce lambda abstrakce. V opačném případě je proměnná volná.

λx.xy(λx.x)y
 | |   | |
 +-+   +-+

Substituce

E[E′/V] (někdy také E[V := E′])

Nahrazení volných výskytů V v E za E′.

Žádná volná proměnná v E′ se nesmí po substituci stát vázanou!
Příklad:
  • λx.xy[vw/y] = λx.xvw
  • λx.xy[vw/x] nelze, protože x je vázaná proměnná!

α-konverze

Někdy také α-přejmenování.

Přejmenovává vázané proměnné.

Nesmí dojít k navázání volných proměnných!
Příklad:
  • λx.xy → λz.zy
  • λx.xy → λy.yy Došlo k navázání volných proměnných!
  • λx.xy → λx.xz y není vázaná proměnná (šlo o substituci)

β-redukce

η-konverze

Ekvivalence

/var/www/wiki/data/attic/msz/lambda.1338276550.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)