Яким чином обчислення лямбда є специфічним типом системи термінописування?


13

Тепер ми бачимо , що церква була пов'язана з в Просто типізованих лямбда - обчисленню . Дійсно, здається, він пояснив просто набраний лямбда-обчислення, щоб зменшити непорозуміння щодо обчислення лямбди.

Тепер, коли Джон Маккарті створив Лісп - він базував його на обчисленні Лямбди . Це за власним визнанням, коли він опублікував "Рекурсивні функції символічних виразів та їх обчислення машиною, частина I" . Ви можете прочитати його тут .

Тепер ми знаємо, що в основі Mathematica лежить система , схожа на Лісп , але замість того, щоб базуватися виключно на обчисленні Лямбда, вона базується на терміновій системі переписування .

Тут автор заявляє, що:

Mathematica - це принципово система переписування термінів ... більш загальна концепція, ніж обчислення Ламбди за Ліспом.

Здається, що обчислення лямбда є невеликою частиною набагато більш загальної категорії. (Досить відкриття очей, як думка, це було більше фундаментальною концепцією). Я намагаюся прочитати більше про це, щоб отримати певну перспективу.

Моє запитання: Яким чином обчислення лямбда є специфічним типом системи термінового запису?

Відповіді:


15

Відповідь - це залежить від того, що ви маєте на увазі під системою Term Rewrite System .

Коли він був представлений, концепція термінових систем перезапису , або TRSes, описала те, що зараз називається TRSes першого порядку , що є просто набором правил обчислення форми

lr

lr

t:= x  f(t1,,tn)

xfΣfΣ

Var(r)Var(l)

β

(λx.t) ut[u/x]
λxtλ

SKΣ={S, K,app}

app(app(K,x),y)x
app(app(app(S,x),y),z)app(app(x,z),app(y,z))

Існує ще одне, більш інтуїтивне кодування, яке включає в себе лямбда-терміни з індексами де Бруйна та явними підмінами, але я тут не буду вникати в нього.


λ

t := x(t1,,tn)  f(x11xi11.t1,,x1nxinn.tn)

fΣxjitiabs(x.t)λx.t

βηβ

Тому ліві сторони можуть бути в деяких приємних підмножинах, часто "шаблонах Міллера". Ряд результатів для справи першого порядку узагальнюють, хоча є кілька неприємних сюрпризів.

λ βη

λβ

app(abs(x.y(x)),z)y(z)

Досить гідний огляд визначень та основних результатів дають тут Ніпков та Прегофер .


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.