测试"安全术语顺序"谓词

rep*_*eat 5 testing prolog iso-prolog

在最近的一个问题(如何在ISO Prolog中定义(和命名)相应的安全术语比较谓词?)@ false要求实现术语排序谓词lt/2,ISO内置的变体(@<)/2.

真值lt(T1,T2)是要T1和任意变量绑定的稳定T2.

在各种答案中,提出了不同的实现(基于隐式/显式术语遍历).在评论中提出了一些警告和提示,反例也是如此.

所以我的问题是:如何测试候选实施?有些蛮力的做法?还是更聪明的东西?

无论如何,请分享您的自动测试机器lt/2!这是为了更大的利益!