prolog - Pure Prolog Peano Number Apartness

标签 prolog logical-purity peano-numbers

让我们假设有带有 dif/2 的 pure_2 Prolog 和没有 dif/2 的 pure_1 Prolog。我们能否意识到 值的 Peano apartness,即 Peano 数,不使用 dif/2?因此,假设我们在 pure_2 Prolog 中有这样的 Peano 分离度:

/* pure_2 Prolog */
neq(X, Y) :- dif(X, Y).

我们能否用更纯粹的定义替换 neq(X,Y),即来自不使用 dif/2 的 pure_1 Prolog?这样我们就有了一个终止 neq/2 谓词来决定 Peano 数的不等式?那么它的定义是什么?

/* pure_1 Prolog */
neq(X, Y) :- ??

最佳答案

使用来自 this commentless :

less(0, s(_)).
less(s(X), s(Y)) :- less(X, Y).

neq(X, Y) :- less(X, Y); less(Y, X).

关于prolog - Pure Prolog Peano Number Apartness,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65427391/

相关文章:

prolog:如何用 global_cardinality 判断列表至少有 N 个等于 M 的元素(M,N 是整数)

序言: avoid redundant choice points (non-determinism) with and without cut operator

if-statement - Prolog 中正确的流程控制,无需使用非声明式 if-then-else 语法

prolog - Prolog 规则中目标(语句)的顺序

haskell - 有没有一种方便的方法来使用单遍历构造更大的类型级别皮亚诺数?

prolog - 逻辑编程和自动定理证明之间的区别

list - 在Prolog中不统一删除列表的所有成员

list - Prolog:将元素放入列表中以进行十进制到二进制的转换