Описание тега s-combinator

Используйте s-комбинатор для вопросов, связанных с созданием функции, которая выполняет общее частичное приложение функции
1 ответ

S комбинатор в Эрланге

Я начинаю изучать лямбда-исчисление, и мне нужно реализовать I, S, K комбинаторы в Erlang. Конечно, S, K, я расшифровывается как: S = λxyz.xz (yz) K = λxy.x I = λx.x У меня нет проблем с пониманием преобразования I=SKK на бумаге (как представлено зд…
17 окт '11 в 06:52
1 ответ

Конвертировать лямбда флип в ски условия

У меня проблемы с преобразованием лямбда-флип в комбинаторы SKI (надеюсь, это имеет смысл). Вот мое обращение: /fxy.fyx /f./x./y.fyx /f./x.S (/y.fy) (/y.x) /f./x.S f (/y.x) /f./x.S f (K x) /f.S (/x.S f) (/x.K x) /f.S (/x.S f) K /f.S (S (/x.S) (/x.f)…
1 ответ

Как набрать простейший термин лямбда-исчисление (S K K)

Я пытаюсь реализовать простой тип проверки типа лямбда-исчисления. Во время выполнения тестов здравомыслия я попытался набрать (S K K), и моя программа проверки типов выдает эту ошибку: TypeMismatch {firstType = t -> t, secondType = t -> t -&g…
4 ответа

Преобразование лямбда-термина в комбинаторный термин

Предположим, есть несколько типов данных для выражения лямбда и комбинаторных терминов: data Lam α = Var α -- v | Abs α (Lam α) -- λv . e1 | App (Lam α) (Lam α) -- e1 e2 deriving (Eq, Show) infixl 0 :@ data SKI α = V α -- x | SKI α :@ SKI α -- e1 e2…
3 ответа

S комбинатор в Хаскеле

Можно ли выразить аналог комбинатораS в Haskell, используя только стандартные функции (не определяя его уравнением) и не используя лямбду (анонимная функция)? Я ожидаю, что по типу (a -> b -> c) -> (a -> b) -> a -> c, Например, ана…
15 апр '14 в 21:52
2 ответа

Чтобы доказать, что SKK и II бета-эквивалент, лямбда-исчисление

Я новичок в лямбда-исчислении и пытаюсь доказать следующее. SKK и II являются бета-эквивалентом. где S = лямбда xyz.xz(yz) K = лямбда xy.x I = лямбда xx Я пытался уменьшить SKK, открыв его, но ничего не получилось, он стал грязным. Не думайте, что S…
1 ответ

Лямбда-сокращения доказывают S K = K I

Здравствуйте, у меня возникли проблемы с доказательством этих комбинаторов S K = K I Шаги с квадратными скобками [] просто показывают вам шаг, который я делаю. Например, [λxy.x / x] в λyz.x z(y z) означает, что я собираюсь заменить (λxy.x) на каждый…
1 ответ

Как получить Y комбинатор через S комбинатор или другие?

У меня есть уравнение Y = FY (уравнение с фиксированной точкой). Как получить из него уравнение для F через другой комбинатор (в частности, S-комбинатор с первым фиксированным параметром)?
13 май '15 в 19:24
2 ответа

Оценка SKI-комбинаторов без достаточных аргументов

Мне было поручено показать, что S(KK)I = K Поскольку S принимает три аргумента, я просто застрял в начале, не зная, как с этим справиться. Я вижу два аргумента, а именно (К.К.) и я, но третьего, который я могу "заметить", нет. Что происходит в этой …
1 ответ

SKS равен SKK?

Контекст Вчера вечером я начал изучать лямбда-исчисление, и я пытаюсь определить, правильно ли то, что я понимаю до сих пор. Понимание SKK эквивалентен комбинатору Identity I. Где L означает лямбда: S = LxLyLz((xz)(yz)) К = LxLy(x) K по существу бер…