Group Abstract Group Abstract

Message Boards Message Boards

Unexpected output from Reduce?

Posted 1 year ago
POSTED BY: Cody Luo
3 Replies

Gianluca, your are simply too fast - and with the better solution! Best regards -- Henrik

POSTED BY: Henrik Schachner

Well, some non-obvious things here (at least as far as I could find out):

  • PrimeQ[x] gets evaluated immediately to False, before any number can be even tried;
  • Reduce[] seems to expect a system of equations and inequalities only;

So - here is my approach:

primeQ[x_?NumericQ] := PrimeQ[x]
Reduce[NextPrime[x] - x == 2 && 0 < x < 20 && primeQ[x] == True, x \[Element] Integers]
POSTED BY: Henrik Schachner

I suppose it is because PrimeQ is meant as a test for numbers. When given a symbol, such as in PrimeQ[x], it gives False.

I would use Element[x, Primes], which remains unevaluated when x is a symbol.

POSTED BY: Gianluca Gorni
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard