# Why the inequality does not take into account the domain?

I have this inequality:

Reduce[(4000-1000k)/(k-4) < 0]


k ∈ Reals


I would expect k != 4.

-
Perhaps because the lim k-> 4 of this is -1000? –  Sjoerd C. de Vries Oct 7 '13 at 17:41
This does not mean it is mathematically correct. –  enzotib Oct 7 '13 at 18:51

The following is a kind of remedy for the problem at hand:

Reduce[# < 0 && Denominator[#] != 0]&[ (4000 - 1000 k)/(k - 4)]

k < 4 || k > 4


Even though the issues in the OP could be easily resolved nonetheless they are not mathematically correct and for this reason one could consider them as bugs, this is a similar problem
( 4 ∈ Complexes as well as 4 ∈ Reals but 0/0 is Indeterminate thus
TrueQ[Indeterminate ∈ Reals] yields False):

Reduce[(4000 - 1000 k)/(k - 4) ∈ Reals, k]

True


while this one is correct:

Reduce[(4000 - 1000 k)/(k - 4) ∈ Reals, k, Reals]

k < 4 || k > 4


Similar issue one can find here: Issue with NSolve.

Therefore we can conclude

Reduce[(4000 - 1000 k)/(k - 4) < 0, k]
Reduce[(4000 - 1000 k)/(k - 4) < 0, k, Reals]
Reduce[(4000 - 1000 k)/(k - 4) < 0, k, Complexes]

k ∈ Reals
True
True


yield results which appear to be incorrect in special cases, they are only generically correct. All of these above work as with a simplification technique:

Simplify[(4000 - 1000 k)/(k - 4)]

-1000


but from strictly mathematical point of view they shouldn't. Nevermind what the documentation says (genericity et consortes) this is of course a bug:

Reduce[(4000 - 1000 k)/(k - 4) < 0 && 3 < k < 5, k, Integers]

k == 4

-