这在与TCHECK-114一起工作时出现。
我编写了一个形式为(gen/frequency [1 gen-1) [2 gen-2]])的生成器,并试图弄清楚为什么起源于{{gen-2}}的失败并不总是缩减到{{gen-1}}。
当我检查收缩树时,我意识到收缩算法确实尝试将<{{gen-1}}}进行收缩,但在找到失败后,它仍然会寻找替代方案,并最终缩放到{{gen-2}},因为它在收缩树中更深,因此被认为是更小的。
因此,收缩算法没有除以下除它们在搜索树中的深度之外的比较输入“大小”的方法,这有时是误导的。我怀疑除了 maybe 添加一个选项给{{quick-check}}一个自定义比较函数之外,没有一般解决方案。