函数等价,如'f`='a=>;f(a)`使用JavaScript中的SMT解算器

函数等价,如'f`='a=>;f(a)`使用JavaScript中的SMT解算器,javascript,logic,smt,sat,Javascript,Logic,Smt,Sat,在JavaScript或任何其他函数为一级对象的编程语言中,我们可以确认如下: const f=a=>a*2; console.log( f(1) ); //2. console.log( (a=>f(a))(1) ); //2我们也不知道,这是一个太广泛的问题,因此无法回答。特别是关于JS,您需要开始将函数代码解析为AST,然后检查函数是否是纯函数(它本身就是一个完整的主题),以确保您甚至可以正确地对其进行推理。只有这样,您才能开始将语法树转换为一种格式,解算器可以接受该格式作为输入。此外,

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

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

); //2
我们也不知道,这是一个太广泛的问题,因此无法回答。特别是关于JS,您需要开始将函数代码解析为AST,然后检查函数是否是纯函数(它本身就是一个完整的主题),以确保您甚至可以正确地对其进行推理。只有这样,您才能开始将语法树转换为一种格式,解算器可以接受该格式作为输入。此外,Coq必须使用SMT解算器