是否有可能知道两个python函数是否在功能上等效?

app*_*der 6 python function

假设我有两个python函数,f并且g:

def f(x):
    y = x**2 + 1
    return y

def g(x):
    a = x**2
    b = a + 1
    return b
Run Code Online (Sandbox Code Playgroud)

这两个功能在功能上明显相同(均返回x**2 + 1).

我对功能等效的定义如下:

如果两个函数fg总是产生给定相同的输入相同的输出,然后fg在功能上等同.

此外,假设没有全局变量参与fg.

是否有可能自动确定(无需人工检查)python功能fg功能相同?

use*_*ica 12

通过赖斯的定理,没有.如果你能做到这一点,你可以解决停止问题.(即使f并且g始终保证停止也是如此.)