Вопросы по теме 'church-encoding'
Как я могу сделать цифры Чёрча более удобочитаемыми в lisp?
Я могу довольно легко определить церковные цифры, используя схему:
> (define f (lambda (x) x))
> (f f) ;0
#<procedure:f>
> (f (f f)) ;1
#<procedure:f>
Однако это не позволяет легко распознать, что (f f) равно 0, а (f (f...
1269 просмотров
schedule
27.11.2022
Практические причины церковного кодирования
Черч-кодирование (он же шаблон посетителя) — это способ представления данных в виде функций: вместо
data T = C1 F1 F2 | C2 F3 F4
вы можете определить
data T = T (forall r. (F1 -> F2 -> r) -> (F3 -> F4 -> r) -> r)
....
581 просмотров
schedule
28.05.2022
Катаморфизмы для церковно-кодированных списков
Я хочу иметь возможность использовать cata из пакета recursion-schemes для списков в церковной кодировке.
type ListC a = forall b. (a -> b -> b) -> b -> b
Я использовал тип второго ранга для удобства, но мне все равно. Не...
393 просмотров
schedule
14.11.2023
Typed/Racket: для заданного типа Natural number необходимо умножить две функции чисел для создания
Учитывая следующие определенные структуры и тип, необходимо написать функцию умножения двух чисел. Имея проблемы с этим. Любой совет будет принят с благодарностью.
(define-struct Zero ())
(define-struct Succ
([n : Nat]))
(define-type Nat (U...
156 просмотров
schedule
27.04.2023
Определить понятие пар, используя логику высшего порядка
Пересматриваю курс по автоматизированному мышлению и не совсем понимаю, как ответить на этот вопрос:
Покажите, как можно определить понятие пар (x, y) в логике высшего порядка с использованием лямбда-абстракции. Определите функцию π1, которая...
144 просмотров
schedule
07.10.2022
Числа церкви в F #
Я пытался реализовать церковные цифры в F #. Они были кратко представлены на курсе в колледже, и с тех пор я, возможно, немного погрузился в кроличью нору. У меня есть работающий предшественник, преемник, сложение и операции, но я не могу заставить...
270 просмотров
schedule
01.01.2024
Рекурсия для церковного кодирования равенства
Для Черча, кодирующего N положительных целых чисел, можно определить принцип рекурсии nat_rec :
Definition N : Type :=
forall (X:Type), X->(X->X)->X.
Definition nat_rec (z:N)(s:N->N)(n:N) : N :=
n N z s.
Каков принцип...
120 просмотров
schedule
11.09.2022
m в степени 0 в цифрах Черча
Тема по компьютерным наукам на уровне бакалавриата. При рассмотрении теории я столкнулся с неприятной проблемой, связанной с (0 m) в терминах возведения в степень числительных Чёрча в лямбда-исчислении. Насколько я знаю, (0 m) при сокращении...
135 просмотров
schedule
10.01.2023