Вопросы по теме '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 просмотров

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 просмотров

Числа церкви в F #
Я пытался реализовать церковные цифры в F #. Они были кратко представлены на курсе в колледже, и с тех пор я, возможно, немного погрузился в кроличью нору. У меня есть работающий предшественник, преемник, сложение и операции, но я не могу заставить...
270 просмотров

Рекурсия для церковного кодирования равенства
Для Черча, кодирующего 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 просмотров