You can get Mathematica to produce the desired result in full generality by using its ability to produce distributions as output of Fourier transforms.
Try the following:
spf = Assuming[ω0 ∈ Reals,
InverseFourierTransform[
Limit[
FourierTransform[
1/(ω - ω0 - I η),
ω, t],
η -> 0],
t, ω]]
$$\frac{1}{\omega -\text{$\omega $0}}+i \pi \delta (\omega
-\text{$\omega $0})$$
This is almost what the theorem says. You just have to make sure that you use this result the right way. In particular, since it's meant to be a distribution, it has to be used in an integral. And this integral then must be treated as a principal-value integral. Fortunately, there is an option for this in Integrate
:
Take for example a specific choice of function $\phi(\omega)$ and $\phi_0$ to test the result above:
ϕ[ω_] := Sinc[ω - 1]
Block[{ω0 = 0},
Integrate[ϕ[ω] spf, {ω, -Infinity, Infinity}, PrincipalValue -> True]]
$\pi -\pi \cos (1)$
The trick here was to add the option PrincipalValue -> True
. The combination of FourierTransform
and its inverse above sandwiches the Limit
in which $\eta\to 0$ is taken. This reflects the fact that the naive limit is wrong, and you're intending for that limit to be taken only after the integration.
As mentioned in the comment, it's also important to specify that $\omega0$ is real: I do that in Assuming
. The theorem tacitly assumes that our final integration variable $\omega$ is real, and then the result is true only if the pole is on the real axis as well.