Vypočítatelná topologie - Computable topology
![]() | Tento článek může vyžadovat vyčištění setkat se s Wikipedií standardy kvality. Specifický problém je: Spousta otázek interpunkce a velkých písmen a konvencí WP: MOS a WP: MOSMATH je třeba se podívat.prosinec 2013) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
Vypočítatelná topologie je obor v matematice, který studuje topologickou a algebraickou strukturu výpočet. Vypočitatelnou topologii nelze zaměňovat s algoritmickou nebo výpočetní topologie, která studuje aplikaci výpočtu na topologii.
Topologie lambda kalkulu
Jak ukazuje Alan Turing a Alonzo Church, λ-kalkul je dostatečně silný, aby popsal všechny mechanicky vypočítatelné funkce (viz Církev – Turingova teze ).[1][2][3] Lambda-kalkul je tedy efektivně programovací jazyk, ze kterého lze sestavit další jazyky. Z tohoto důvodu při zvažování topologie výpočtu je běžné zaměřit se na topologii λ-kalkulu. Všimněte si, že to nemusí být nutně úplný popis topologie výpočtu, protože funkce, které jsou ekvivalentní ve smyslu Church-Turing, mohou mít stále různé topologie.
The topologie λ-kalkulu je Scottova topologie, a pokud je omezeno na spojité funkce počet volných λ-kalkulů je a topologický prostor spoléhající se na stromová topologie. Jak topologie Scott, tak Tree vykazují kontinuitu s ohledem na binární operátory žádosti (f aplikován na a = fa) a abstrakce ((λx.t (x)) a = t (a)) s modulárním vztahem ekvivalence založeným na shoda. Bylo zjištěno, že λ-algebra popisující algebraickou strukturu lambda-kalkulu je rozšířením kombinatorická algebra, s prvkem zavedeným pro přizpůsobení abstrakci.
Napište zdarma λ-kalkul zachází s funkcemi jako s pravidly a nerozlišuje funkce a objekty, na které jsou aplikovány, což znamená λ-počet typ volný, uvolnit. Vedlejší produkt typu λ-kalkulu typu je efektivní vypočítatelnost ekvivalentní obecná rekurze a Turingovy stroje.[4] Soubor λ-pojmů lze považovat za funkční topologii, ve které může být funkční prostor vložený, což znamená λ zobrazení v prostoru X jsou taková, že λ: X → X.[4][5] Představen v listopadu 1969, Dana Scott Teoretický model netypové množiny sestrojil správnou topologii pro jakýkoli model lambda, jehož funkční prostor je omezen na spojité funkce.[4][5] Výsledek a Scott kontinuální Topologie λ-kalkulu je funkční prostor postavený na sémantice programování, která umožňuje kombinatoriku pevných bodů, například Y kombinátor a datové typy.[6][7] Do roku 1971 byl λ-kalkul vybaven k definování jakéhokoli sekvenčního výpočtu a mohl být snadno přizpůsoben paralelním výpočtům.[8] Redukovatelnost všech výpočtů na λ-počet umožňuje, aby si tyto λ-topologické vlastnosti osvojily všechny programovací jazyky.[4]
Výpočetní algebra z algebry λ-kalkulu
Na základě operátorů uvnitř lambda kalkul, aplikace a abstrakce, je možné vyvinout algebru, jejíž skupinová struktura používá aplikaci a abstrakci jako binární operátory. Aplikace je definována jako operace mezi lambda podmínky produkovat λ-termín, např. aplikace λ na lambda člen A produkuje lambda výraz λa. Abstrakce zahrnuje nedefinované proměnné tím, že jako funkci přiřazující proměnnou označuje λx.t (x) A na lambda výraz s hodnotou t (a) pomocí operace ((λ x.t (x)) a = t (a)). A konečně vztah ekvivalence objeví se, který identifikuje λ-termíny modulo konvertibilní termíny, příkladem je normální forma beta.
Scottova topologie
Scottova topologie je nezbytná pro pochopení topologické struktury výpočtu vyjádřené pomocí λ-kalkulu. Scott zjistil, že po zkonstruování funkčního prostoru pomocí kalkulu λ získá a Kolmogorovův prostor, a topologický prostor, který je vystaven bodová konvergence, ve zkratce topologie produktu.[9] Je to schopnost vlastního homeomorfismu a také schopnost vložit každý prostor do takového prostoru Scott kontinuální, jak bylo dříve popsáno, což umožňuje Scottovu topologii aplikovat na teorii logiky a rekurzivní funkce. Scott přistupuje ke své derivaci pomocí a úplná mříž, což má za následek topologii závislou na struktuře mřížky. Je možné zobecnit Scottovu teorii s použitím kompletní dílčí objednávky. Z tohoto důvodu je obecnější chápání výpočetní topologie poskytováno prostřednictvím úplných dílčích objednávek. Znovu provedeme iteraci, abychom se seznámili s notací, která bude použita během diskuse o Scottově topologii.
Kompletní dílčí objednávky jsou definovány takto:
Nejprve vzhledem k částečně objednaná sada D = (D, ≤), neprázdná podmnožina X ⊆ D je režie pokud ∀ x, y ∈ X ∃ z ∈ X kde X≤ z & y ≤ z.
D je kompletní částečná objednávka (CPO) pokud:
- · Každý směrovaný X ⊆D má a supremum, a:
- ∃ dno prvek ⊥ ∈ D takové, že ∀ X ∈ D ⊥ ≤ X.
Nyní jsme schopni definovat Scottova topologie nad CPO (D, ≤).
Ó ⊆ D je otevřeno li:
- pro x ∈ O, a x ≤ y, pak y ∈ O, tj. O je horní sada.
- pro směrovanou množinu X ⊆ D a supremum (X) ∈ O, pak X ∩ O ≠ ∅.
Pomocí Scottovy topologické definice otevřeného je zřejmé, že jsou splněny všechny topologické vlastnosti.
- · ∅ a D, tj. Prázdná množina a celý prostor, jsou otevřené.
- · Libovolné svazky otevřených množin jsou otevřené:
- Důkaz: Předpokládejme je otevřený, kde já ∈ I, já jsem indexová sada. Definujeme U = ∪ { ; já ∈ já}. Vzít b jako prvek horní množiny U, tedy a ≤ b pro některé A ∈ U Musí to tak být A ∈ pro některé i podobně b ∈ rozrušený (). U proto musí být od té doby také horní ∈ U.
- · Libovolné svazky otevřených množin jsou otevřené:
- Podobně, pokud D je směrovaná množina se supremem v U, pak za předpokladu sup (D) ∈ kde je otevřeno. Existuje tedy b ∈ D kde b ∈ . Spojení otevřených množin je tedy otevřený.
- · Otevřené sady pod křižovatkou jsou otevřené:
- Důkaz: Vzhledem k tomu, dvě otevřené sady, U a PROTI, definujeme Ž = U∩PROTI. Li Ž = ∅ tedy Ž je otevřeno. Pokud není prázdné, řekněte b ∈ rozrušení (W) (horní sada W), pak pro některé A ∈ Ž, A ≤ b. Od té doby A ∈ U∩PROTI, a b prvek horní sady obou U a PROTI, pak b ∈ Ž.
- · Otevřené sady pod křižovatkou jsou otevřené:
- Nakonec, pokud D je zaměřená sada se supremem v Ž, pak za předpokladu sup (D) ∈ . Takže je A ∈ a b ∈ . Od té doby D směřuje tam je C ∈ D s ; a od té doby U a PROTI jsou horní sady, C ∈ také.
I když to zde není zobrazeno, je tomu tak v případě mapy je spojitý právě tehdy F(sup (X)) = sup (F(X)) pro všechny řízené X⊆D, kde F(X) = {F(X) | X ∈ X} a druhé supremum v .[4]
Než začneme vysvětlovat, že aplikace jako společný pro λ-kalkul je spojitá v Scottově topologii, vyžadujeme určité porozumění chování supremů nad spojitými funkcemi, jakož i podmínky nezbytné pro součin prostorů, jmenovitě
- S být řízenou rodinou map pokud jsou dobře definované a spojité.
- Pokud F je směrován a CPO a cpo kde sup ({F(X) | F ∈ F}).
Nyní ukážeme kontinuitu aplikace. Pomocí následující definice aplikace:
- Ap: kde Ap(F,X) = F(X).
Ap je kontinuální s ohledem na Scottovu topologii na produktu () :
- Důkaz: λx.f (x) = f je spojité. Nechť h = λ f.f (x). Pro režii F
- h(sup (F)) = sup (F)(X)
- = sup ({F(X) | F ∈ F} )
- = sup ({h(F) | F ∈ F} )
- = sup ( h(F) )
- Podle definice Scottovy kontinuity h bylo zobrazeno nepřetržitě. Vše, co je nyní nutné prokázat, je to aplikace je spojitý, když jsou samostatné argumenty spojité, tj. a jsou v našem případě spojité F a h.
- Nyní abstrahujeme, abychom ukázali náš argument s a jako argumenty pro D a respektive pak pro směrovaný X ⊆ D
- = f (sup ((x,) | x ∈ X}))
- (od té doby F je spojitý a {(x,) | x ∈ X}) směřuje):
- = sup ({f (x,) | x ∈ X})
- = sup (g (X))
- g je tedy spojité. Stejným postupem lze ukázat, že d je spojité.
- Nyní se ukázalo, že aplikace je podle Scottovy topologie spojitá.
Abychom prokázali, že Scottova topologie je vhodná pro λ-kalkul, je nutné prokázat abstrakce zůstává spojitá nad Scottovou topologií. Po dokončení bude prokázáno, že matematický základ λ-kalkulu je dobře definovaným a vhodným kandidátským funkčním paradigmatem pro Scottovu topologii.
S definujeme (x) = λ y ∈ f (x, y) Ukážeme:
- (i) je spojitý, což znamená ∈
- ii) λ je spojitý.
- Důkaz (i): Nechť je tedy směrováno X ⊆ D
- (sup (X)) = λ y.f (sup (X), y)
- = λ y.(f (x, y))
- = (λy.f (x, y))
- = sup ((X))
- Důkaz (ii): Definování L = λ pak pro F režie
- L (sup (F)) = λ x λ y. (sup (F)) (x, y))
- = λ x λ y. f (x, y)
- = λx λy.f (x, y)
- = sup (L (F))
Nebylo prokázáno, jak a proč λ-počet definuje Scottovu topologii.
Böhmovy stromy a výpočetní topologie
Böhmovy stromy, snadno graficky znázorněné, vyjadřují výpočetní chování a lambda termín. Je možné předvídat funkčnost daného výrazu lambda z odkazu na jeho korelační Böhmův strom.[4] Stromy Böhm lze vidět poněkud analogicky kde Böhmův strom dané množiny je podobný pokračujícímu zlomku reálného čísla, a co víc, Böhmův strom odpovídající sekvenci v normální forma je konečný, podobný racionální podmnožině Realů.
Böhmovy stromy jsou definovány mapováním prvků v posloupnosti čísel s uspořádáním (≤, lh) a binárním operátorem * na sadu symbolů. Böhmův strom je potom relací mezi sadou symbolů prostřednictvím částečného mapování ψ.
Neformálně lze Böhmovy stromy konceptualizovat takto:
- Dáno: Σ = {λ x_ {1} x_ {n}. y | n ∈ y jsou proměnné a označují BT (M) jako Böhmův strom pro lambda výraz M, který máme:
- BT (M) = ⊥ pokud M je neřešitelný (tedy jeden uzel)
BT (M) = λ.y
/ \
BT ( BT ( ); jestliže M je řešitelný
Více formálně:
Σ je definována jako sada symbolů. Böhmův strom λ termínu M, označený BT (M), je Σ označený strom definovaný takto:
- Li M je neřešitelný:
- BT (M) () je neřešitelný
Pokud je M řešitelné, kde M = λ x_ {1}:
- BT (M) (<>) = λ x_ {1}
- BT (M) () = BT (M_k) () a k
- BT (M) () = BT (M_k) () a k
- = nedefinováno a k ≥ m
Nyní můžeme přejít a ukázat, že Böhmovy stromy fungují jako vhodné mapování od topologie stromů po topologii Scotta. Umožní člověku vidět výpočetní konstrukce, ať už v rámci Scottovy nebo stromové topologie, jako Böhmovy stromové formace.
Böhmův strom a topologie stromů
Je zjištěno, že Böhmův strom je povoleno pro průběžné mapování od stromové topologie po topologii Scottovou. Konkrétněji:
Začínáme s cpo B = (B, ⊆) na Scottově topologii, s uspořádáním Böhmova stromu označeného M⊆ N, což znamená, že M, N jsou stromy a M výsledky z N. stromová topologie na množině Ɣ je nejmenší množina umožňující souvislou mapu
- BT:B.
Ekvivalentní definicí by bylo říci, že otevřené množiny Ɣ jsou obrazem inverzního Böhmova stromu (O) kde O je Scott otevřen B.
Použitelnost stromů Bömh a topologie stromů má mnoho zajímavých důsledků pro termíny λ vyjádřené topologicky:
- Normální formy existují jako izolované body.
- Neřešitelné termíny λ jsou body zhutnění.
- Aplikace a abstrakce, podobné Scottově topologii, jsou na stromové topologii spojité.
Algebraická struktura výpočtu
Nové metody interpretace λ-kalkulu jsou nejen samy o sobě zajímavé, ale umožňují nové způsoby myšlení týkající se chování počítačové vědy. Binární operátor v rámci λ-algebry A je aplikace. Aplikace je označena · a říká se, že dává strukturu . A kombinatorická algebra umožňuje operátorovi aplikace a funguje jako užitečný výchozí bod, ale zůstává nedostatečný pro kalkulus λ, protože není schopen vyjádřit abstrakci. Algebra λ se stává kombinační algebrou M kombinovanou se syntaktickým operátorem λ *, který transformuje člen B (x, y), s konstantami v M, do C () ≡ λ * x.B (x,). Je také možné definovat rozšíření model obejít potřebu operátoru λ * povolením ∀x (fx = gx) ⇒ f = g. Konstrukce λ-algebry zavedením operátoru abstrakce probíhá následovně:
Musíme zkonstruovat algebru, která umožňuje řešení rovnic jako axy = xyy tak, že a = λ xy.xyy existuje kombinatorická algebra. Relevantní atributy kombinační algebry jsou:
V kombinatorické algebře existuje aplikační struktury. Aplikační struktura W je kombinatorická algebra za předpokladu, že:
- · W je non-trival, což znamená W má mohutnost > 1
- · W vykazuje kombinatorickou úplnost (viz úplnost základny S-K ). Přesněji řečeno: pro každý člen A ∈ množina členů W a s volnými proměnnými A uvnitř pak:
- kde
Kombinatorická algebra je:
- Nikdy komutativní
- Není asociativní.
- Nikdy konečné.
- Nikdy rekurzivní.
Kombinované algebry zůstávají neschopné působit jako algebraická struktura pro λ-kalkul, přičemž hlavní nevýhodou je absence rekurze. Existence použitelného výrazu ) poskytuje dobrý výchozí bod pro vytvoření algebry λ-kalkulu. Je třeba zavést a lambda termín, tj. zahrnout λx.A (x, ).
Začneme využitím skutečnosti, že v kombinační algebře M, s A (x, ) v rámci sady podmínek, pak:
- Svatý. bx = A (x, ).
Potom požadujeme, abychom měli závislost na což má za následek:
- B () x = A (x, ).
B () se stává ekvivalentem k λ členu, a proto je vhodně definován takto: B ( λ *.
A pre-λ-algebra Nyní lze definovat (pλA).
- pλA je aplikační struktura W = (X, ·) taková, že pro každý člen A v množině členů v W a pro každé x existuje člen λ * xA ∈ T (W) (T (W) ≡ členy W) kde (množina volných proměnných λ * xA) = (množina volných proměnných A) - {x}. W musí také prokázat:
- (λ * x.A) x = A
- λ * x.A≡ λ * x.A [x: = y] za předpokladu, že y není volná proměnná A
- (λ * x.A) [y: = z] ≡λ * x.A [x: = y] za předpokladu, že y, z ≠ xaz nejsou volnou proměnnou A
Před definováním úplné λ-algebry musíme zavést následující definici množiny λ-termínů ve W označených s následujícími požadavky:
- a ∈ Ž
- x ∈ pro x ∈ ()
- M, N ∈ (MN) ∈
- M ∈ (λx.M) ∈
Mapování z výrazů uvnitř ke všem výrazům λ v rámci W, označené * : , pak lze navrhnout následovně:
- (MN) * = M * N *
- (λx.M) * = λ * x * .M *
Nyní definujeme λ(M) k označení rozšíření po vyhodnocení podmínek uvnitř .
- λx. (λy.yx) = λx.x v λ(W).
Nakonec získáme celý λ-algebra prostřednictvím následující definice:
- (1) λ-algebra je pλA W taková, že pro M, N ∈ Ɣ (W):
- λ(Ž) ⊢ M = N ⇒ W ⊨ M = N.
- (1) λ-algebra je pλA W taková, že pro M, N ∈ Ɣ (W):
Ačkoli byl namáhavý, byl položen základ pro správný algebraický rámec, pro který lze λ-kalkul, a tedy výpočet, zkoumat v skupinový teoretik způsob.
Reference
- ^ Church 1934: 90 poznámka pod čarou v Davis 1952
- ^ Turing 1936–7 v Davis 1952: 149
- ^ Barendregt, H.P., The Lambda Calculus Syntax and Semantics. Nakladatelská společnost North-Holland. 1981
- ^ A b C d E F Barendregt, H.P., The Lambda Calculus Syntax and Semantics. Nakladatelská společnost North-Holland. 1981.
- ^ A b D. S. Scott. Modely pro λ-kalkul. Neformálně distribuováno, 1969. Poznámky, prosinec 1969, Oxford Univ.
- ^ Gordon, M.J.C., Denotační popis programovacích jazyků. Springer Verlag, Berlín. 1979.
- ^ Scott, D. S. a Strachey, C. Směrem k matematické sémantice pro počítačové jazyky, Proc. Symp. o počítačích a automatech, Polytechnic Institute of Brooklyn, 21, s. 19 46. 1971.
- ^ G. Berry, Sekvenční algoritmy na konkrétních datových strukturách, Theoretical Computer Science 20, 265 321 (1982).
- ^ D. S. Scott. „Kontinuální mříže.“ Oxford University Computing Laboratory srpen 1971.