函数等效,如JavaScript中带有SMT求解器的`f` ==`a => fa`

问题描述

在JavaScript或任何其他函数均是一流对象的编程语言中,我们可以进行如下确认:

const f = a => a * 2;

console.log(
  f(1) 
); //2

console.log(
  (a => f(a))(1)
); //2

尽管将功能与实际输入进行比较似乎是一种典型的方式,但请查看答案:

How to compare two functions for equivalence,as in (λx.2*x) == (λx.x+x)?

我想尝试使用JavaScript的SMT求解器来解决此问题,但不知道具体如何。

有什么主意吗?谢谢。

https://www.npmjs.com/package/logic-solver

https://jgalenson.github.io/research.js/demos/minisat.html

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)