Skip to content
EntityQ1481571· pop 23· linked from 85 articles

Rachunek kombinatorów

Sign in to save

logical formalism using combinators instead of variables

Wikidata facts

Subclass of
logic
Show 3 more facts
Sources (3)

via Wikidata · CC0

Article · Polski

Rachunek kombinatorów (ang. Combinatory Calculi) to jeden z najprostszych możliwych uniwersalnych systemów formalnych. Na język rachunku kombinatorów składają się kombinator stały K, kombinator rozdzielonej aplikacji S, oraz kombinatory aplikacji złożone z pary dowolnych kombinatorów - funkcji i argumentu: * σ = S | K | (σ σ) Derywacją rządzą dwie reguły: * ((K α) β) → α * (((S α) β) γ) → ((α γ) (β γ)) Gdzie α, β i γ to dowolne kombinatory. Tak prosty system jest w stanie wyrazić wszystko, co jest w stanie wyrazić rachunek lambda, dowolna maszyna Turinga czy w ogóle dowolny algorytm. Kombinatory mają prostą interpretację w rachunku lambda: * K = λ x . λ y . x * S = λ x . λ y . λ z . (x z) (y z) Często wprowadza się też kombinator identyczności I z regułą: * (I α) → α Ponieważ system SK już jest kompletny, kombinator ten można przepisać jako (SK)K: * (((S K) K) α) → ((K α) (K α)) → α Podobnie jak w rachunku lambda zwykle pomija się nadmiarowe nawiasy, zakładając wiązanie w lewo: α β γ to więc ((α β) γ). Ponieważ każdy kombinator ma bardzo prostą interpretację w rachunku lambda, badania rachunku kombinatorów są zwykle częścią badań nad rachunkiem lambda. Z zupełności systemu SK wynika, że każde λ wyrażenie bez zmiennych wolnych (w terminologii rachunku lambda również zwane kombinatorem) można zapisać za pomocą S i K, jednak ze względu na uboższy język, takie wyrażenia mają tendencję do przybierania bardzo dużych rozmiarów.

Abstract from DBpedia / Wikipedia · CC BY-SA