这个问题是基于我的问题https://cs.stackexchange.com/questions/96533/how-to-transform-lambda-function-to-multi-argument-lambda-function-and-how-to-re有该问题中的两个功能和两个术语:
功能:
is: (e->t)->(e->t)
IS: e->(e->t)->t
条款:
(is(boss))(John): t
IS(John, boss): t
我的问题是:如何重写涉及is
只有 的术语的术语IS
?Coq(或第三方工具)是否有这样的重写功能?Coq 是否有工具来检查重写条款的相等性?
也许这样的重写可以在 Coq 世界之外完成,也许还有其他纯粹的 lambda 演算工具仅具有句法操作?