1 / 11

Základy λ - kalkulu

Základy λ - kalkulu. doc. Dr. Ing. Miroslav Beneš  katedra informatiky, A-1007  59 732 4213. λ -kalkul. 1930 Alonzo Church netypovaný λ -kalkul matematická teorie funkcí Základ všech funkcionálních jazyků Některé konstrukce i v imperativních jazycích (např. Python).

Download Presentation

Základy λ - kalkulu

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Základy λ-kalkulu doc. Dr. Ing. Miroslav Beneš  katedra informatiky, A-1007  59 732 4213

  2. λ-kalkul • 1930 Alonzo Church • netypovaný λ-kalkul • matematická teorie funkcí • Základ všech funkcionálních jazyků • Některé konstrukce i v imperativních jazycích (např. Python) ÚDPJ - Základy λ-kalkulu

  3. Syntaxe λ-kalkulu • Proměnné • x, y, z, f, g, … • λ-abstrakce • (λx . e) • Aplikace • (e1 e2) • Konvence pro závorky • λx . λy . e1 e2 = (λx . (λy . e1 e2)) • e1 e2 e3 = ((e1 e2) e3) ÚDPJ - Základy λ-kalkulu

  4. Proměnná • označuje libovolnou hodnotu • v daném kontextu označuje vždy tutéž hodnotu (neexistuje možnost přiřazení) • vázaná a volná proměnná λ x . f x volná vázaná ÚDPJ - Základy λ-kalkulu

  5. λ-abstrakce • λx . e • funkce s parametrem x a tělem e • λ x y . e • funkce s parametry x, y a tělem e • ekvivalentní zápisu λx . (λy . e) • λ e . e (λ f x (f x x)) (λ f x (f x x)) ÚDPJ - Základy λ-kalkulu

  6. Aplikace • (e1e2) • aplikace funkce e1 na argument e2 • (f x y) • aplikace funkce (f x) na argument y • aplikace funkce f na argumenty x a y ÚDPJ - Základy λ-kalkulu

  7. Substituce • e1[e2/x] • nahrazení všech volných výskytů proměnné x ve výrazu e1 za výraz e2 • substituce musí být platná (volná proměnná ve výrazu e2 se nesmí stát vázanou) • (λ x y . f x y) [g z / f] = λ x y . (g z) x y • (λ x y . f x y) [g z / x] = λ x y . f x y • (λ x y . f x y) [g y / f] = není platná subst. ÚDPJ - Základy λ-kalkulu

  8. Vyhodnocování λ-výrazů • α-redukce • λ x . e ↔ λ y . e[ y / x ] • přejmenování vázané proměnné • substituce musí být platná • β-redukce • (λ x . e1) e2 ↔ e1 [ e2 / x ] • “volání funkce“ – nahrazení parametru hodnotou argumentu • substituce musí být platná ÚDPJ - Základy λ-kalkulu

  9. Vyhodnocování λ-výrazů • η-redukce • λ x . f x ↔ f • odstranění abstrakce • proměnná x nesmí být volná v f • Funkce jsou ekvivalentní, pokud pro všechny hodnoty parametrů dávají tentýž výsledek. • umožňuje definovat řezy funkcí (+1) = λx . (x + 1) ÚDPJ - Základy λ-kalkulu

  10. Příklady • (λ f x . f x x) (λ x y . p y x) =βλ x . (λ x y . p y x) x x =αλ z . (λ x y . p y x) z z =βλ z . (λ y . p y z) z =βλ z . p z z • (λ f x . f x x) (λ x y . p y x)=η (λ f x . f x x) (λ y . p y)=η (λ f x . f x x) p=βλ x. p x x ÚDPJ - Základy λ-kalkulu

  11. Normalizační teorémy • redex --- reducible expression • výraz, kterýlze dále redukovat; α-redex, β-redex • normální forma výrazu • výraz neobsahuje žádný β-redex • Church-Rosserovy teorémy • Pokud e1 ↔ e2, pak existuje výraz e takový, že e1 → e a e2 → e • Pokud e1 → e2 a e2 je v normální formě, pak existuje redukční posloupnost z e1 do e2 (normální redukční posloupnost) • Pokud existuje normální forma, lze k ní dojít normální redukční posloupností (leftmost outermost redex) ÚDPJ - Základy λ-kalkulu

More Related