0

I ran the following command:

Resolve[
    (Abs[ay bx - ax by - ay px + by px + ax py - bx py] < 0 && 
     {ax, bx, px, ay, by, py} \[Element] Reals) 
    \[Implies] 
    Im[((ax - bx) (ax - px) + (ay - by) (ay - py) - 
       I Abs[ay bx - ax by - ay px + by px + ax py - bx py])/
       ((ax - bx)^2 + (ay - by)^2)] < 0]

However, I simply get the statement back as a result. A similar issue was found in (Resolving a logical statement), and there the problem was overcome by simplifying the statement passed to Resolve. In my case, I don't think there are any relevant simplifications.

What should I do?

Answer: use Reduce, not Resolve.

bzm3r
  • 175
  • 7
  • 1
    Are you sure you don't mean to use Reduce instead of Resolve? I'm not an expert on Resolve, but I believe it's for the elimination of ForAll and Exists qualifiers, which you do not include in your expression. Using Reduce on your expression yields a more interesting result. – nben Sep 23 '15 at 21:17
  • @user21382 You're right. – bzm3r Sep 23 '15 at 21:21
  • @user89 You can answer your own question, if you like, so that this question doesn't stick out as "unanswered". IIRC, that will let you get karma for it, too. – Patrick Stevens Sep 23 '15 at 21:31
  • @user21382 Would you like to answer this question with what you wrote in your comment, so that I can accept it? – bzm3r Sep 23 '15 at 21:31
  • @user89 Sure, thanks. – nben Sep 24 '15 at 15:04

1 Answers1

1

I believe you have used Resolve in place of the easily confusable Reduce in this case; Resolve is for removing ForAll and Exists qualifiers from a statement, while Reduce is for simplifying arbitrary expressions, much like Simplify (see this question for more information on Simplify and Reduce). In your case, you seem to get a reasonable answer if you make this swap:

Reduce[
  Implies[
    And[
      Abs[ay bx - ax by - ay px + by px + ax py - bx py] < 0,
      {ax, bx, px, ay, by, py} \[Element] Reals],
    Im[((ax - bx) (ax - px) + (ay - by) (ay - py) 
        - I Abs[ay bx - ax by - ay px + by px + ax py - bx py])
       /((ax - bx)^2 + (ay - by)^2)] < 0]]

Im[ax] < 0 || Im[ax] > 0 || Im[ay] < 0 || Im[ay] > 0 || Im[bx] < 0 || Im[bx] > 0 || Im[by] < 0 || Im[by] > 0 || Im[px] < 0 || Im[px] > 0 || Im[py] < 0 || Im[py] > 0 || Abs[ay bx - ax by - ay px + by px + ax py - bx py] >= 0 || Im[((ax - bx) (ax - px) + (ay - by) (ay - py) - I Abs[ay bx - ax by - ay px + by px + ax py - bx py])/((ax - bx)^2 + (ay - by)^2)] < 0

nben
  • 2,148
  • 9
  • 20