【发布时间】:2012-01-28 23:16:57
【问题描述】:
是否可以构造一个高阶函数isAssociative,它接受另一个具有两个参数的函数并确定该函数是否是关联的?
类似的问题,但也适用于其他属性,例如交换性。
如果这是不可能的,有什么方法可以用任何语言自动化它吗?如果有我感兴趣的 Agda、Coq 或 Prolog 解决方案。
我可以设想一个蛮力解决方案,它检查所有可能的参数组合并且永不终止。但在这种情况下,“永不终止”是一个不受欢迎的属性。
【问题讨论】:
标签: haskell higher-order-functions halting-problem associativity commutativity