例如?
这些表达式来自普通的高中代数,但仅限于算术加法和乘法(例如),没有逆,减法或除法运算。字母是变量。
如果有帮助,我们可以禁止使用非数字表示的任何表达式;即不是也不是也不是:x 2 3 x 4
- multilinear,除了以外没有其他幂:可以,但是不能,并且没有任何可以这样表示的东西完全扩展为乘积之和,例如,不是; X + X ý ≡ X 1 + X 1 Ÿ 1 X 2 + X 3 Ý 4 X (X + Ý )≡ X 2 + ÿ
- 所有一个,除以外没有其他系数:可以,但,并且没有任何可以表示为的值,例如对乘积例如不是 ; 和 X + X ý ≡ 1 X + 1,X ý 2 X + 3 X ý 一个(X + Ý )+ X (一+ b )≡ 2 一个X + 一个ý + b X
- 除了以外,没有常数:同样,在完全展开的乘积和中,例如,不是(一个+ 1 )+ (b + 1 )≡ 一个+ b + 2
是否有一种有效的算法来确定两个表达式是否相等?
为了说明这一点,这是一个效率低下的具有指数时间的蛮力算法:
将两个表达式完全展开为乘积和,可以很容易地检查它们的等效性(忽略顺序,因为通勤/关联可以重新排序)。
例如
a (x + y )+ b (x + y )→ a x + a y + b x + b y
这似乎是一个众所周知的问题-即使是高中生也要学会手动解决问题的方法。自动定理证明者/检验者也可以解决该问题,但是他们专注于更复杂的方面。
这是一个正在运行的在线自动定理证明器:http : //tryacl2.org/,它通过查找通勤/关联/分配等序列来显示等价关系:
?
(thm (= (+ (* x y) x y) (+ x (* y (+ x 1))) ))
--- 188步
吗?
(thm (= (+ y (* x (+ y 1))) (+ x (* y (+ x 1))) ))
-325步
这是我的第一个问题,所以请让我知道我是否选择了错误的位置,错误的标签,错误的描述/询问方式等。谢谢!
注意:此问题已根据评论进行了重写,
感谢所有响应者!我学到了很多。