使用整数的 FullSimplify 的意外行为

Unexpected behavior of FullSimplify with integers

我在 Mathematica 中执行了这个命令

FullSimplify[Integrate[Sin[x] Sin[k x ], {x, 0, Pi}], Element[k, Integers]]

并得到 0。但是,如果我使用 k=1 执行相同的命令。

Integrate[Sin[x] Sin[k x] /. {k -> 1}, {x, 0, Pi}]

我答对了,Pi/2。这是正常的吗? 我期望基于 k=1.

的条件

这是一个缺陷

积分:

Integrate[Sin[x] Sin[k x], {x, 0, Pi}]

评估为:

-(Sin[k \[Pi]]/(-1 + k^2))

如果您执行 Simplify[%, Element[k,Integers]],它将假定 Sin[k \[Pi]] 为零。 缺陷 是,Simplify 将假定 0 乘以任何非直接零符号被简化为 0,即使可能是未定义的:

0 / x (*Evaluates to 0*)
ReleaseHold[Hold[0 / x] /. x->0] (*boom*)

这在 Simplify 可能的问题 部分中有详细解释。

以上都适用于FullSimplify