% x-axis ellipse problem

off rlabout;



rlset reals;


{}


ell := all({x,y},b**2*(x-c)**2+a**2*y**2-a**2*b**2=0 impl x**2+y**2-1 <=0);


                        2  2    2  2    2  2      2        2  2
ell := all x all y ( - a *b  + a *y  + b *c  - 2*b *c*x + b *x  = 0

       2    2
 impl x  + y  - 1 <= 0)


rlgcad ell;


{{b <> 0,

  a <> 0,

  a - b <> 0,

  a + b <> 0},

                                     2
 (c = 0 and b < 0 and b + 1 > 0 and b  - 1 < 0 and a - 1 = 0)

                                         2
  or (c = 0 and b < 0 and b + 1 > 0 and b  - 1 < 0 and a + 1 = 0)

                                         2
  or (c = 0 and b > 0 and b - 1 < 0 and b  - 1 < 0 and a - 1 = 0)

                                         2
  or (c = 0 and b > 0 and b - 1 < 0 and b  - 1 < 0 and a + 1 = 0)

  or (c = 0 and b - 1 = 0 and a < 0 and a + 1 > 0)

  or (c = 0 and b - 1 = 0 and a > 0 and a - 1 < 0)

  or (c = 0 and b + 1 = 0 and a < 0 and a + 1 > 0)

  or (c = 0 and b + 1 = 0 and a > 0 and a - 1 < 0) or (b < 0 and b + 1 > 0

  and a < 0 and a + 1 > 0 and a - c - 1 < 0 and a - c + 1 > 0 and a + c - 1 < 0

                                           2
  and a + c + 1 > 0 and a - b > 0 and a + b  <> 0

       2  2    2    4    2  2    2
  and a *b  - a  - b  - b *c  + b  = 0) or (b < 0 and b + 1 > 0 and a < 0

  and a + 1 > 0 and a - c - 1 < 0 and a - c + 1 > 0 and a + c - 1 < 0

                                       2  2    2    4    2  2    2
  and a + c + 1 > 0 and a - b > 0 and a *b  - a  - b  - b *c  + b  > 0) or (

 b < 0 and b + 1 > 0 and a < 0 and a + 1 > 0 and a - c - 1 < 0 and a - c + 1 > 0

                                               2
  and a + c - 1 < 0 and a + c + 1 > 0 and a + b  < 0

       2  2    2    4    2  2    2
  and a *b  - a  - b  - b *c  + b  < 0) or (b < 0 and b + 1 > 0 and a < 0

  and a + 1 > 0 and a - c - 1 < 0 and a - c + 1 > 0 and a + c + 1 = 0

                         2          2  2    2    4    2  2    2
  and a - b > 0 and a + b  = 0 and a *b  - a  - b  - b *c  + b  = 0) or (b < 0

  and b + 1 > 0 and a < 0 and a + 1 > 0 and a - c - 1 < 0 and a - c + 1 > 0

                             2          2  2    2    4    2  2    2
  and a + c + 1 = 0 and a + b  < 0 and a *b  - a  - b  - b *c  + b  < 0) or (

 b < 0 and b + 1 > 0 and a < 0 and a + 1 > 0 and a - c + 1 = 0 and a + c - 1 < 0

                                           2
  and a + c + 1 > 0 and a - b > 0 and a + b  = 0

       2  2    2    4    2  2    2
  and a *b  - a  - b  - b *c  + b  = 0) or (b < 0 and b + 1 > 0 and a < 0

  and a + 1 > 0 and a - c + 1 = 0 and a + c - 1 < 0 and a + c + 1 > 0

           2          2  2    2    4    2  2    2
  and a + b  < 0 and a *b  - a  - b  - b *c  + b  < 0) or (b < 0 and b + 1 > 0

  and a > 0 and a - 1 < 0 and a - c - 1 = 0 and a + c - 1 < 0 and a + c + 1 > 0

                         2          2  2    2    4    2  2    2
  and a + b < 0 and a - b  = 0 and a *b  - a  - b  - b *c  + b  = 0) or (b < 0

  and b + 1 > 0 and a > 0 and a - 1 < 0 and a - c - 1 = 0 and a + c - 1 < 0

                             2          2  2    2    4    2  2    2
  and a + c + 1 > 0 and a - b  > 0 and a *b  - a  - b  - b *c  + b  < 0) or (

 b < 0 and b + 1 > 0 and a > 0 and a - 1 < 0 and a - c - 1 < 0 and a - c + 1 > 0

                                           2
  and a + c - 1 = 0 and a + b < 0 and a - b  = 0

       2  2    2    4    2  2    2
  and a *b  - a  - b  - b *c  + b  = 0) or (b < 0 and b + 1 > 0 and a > 0

  and a - 1 < 0 and a - c - 1 < 0 and a - c + 1 > 0 and a + c - 1 = 0

           2          2  2    2    4    2  2    2
  and a - b  > 0 and a *b  - a  - b  - b *c  + b  < 0) or (b < 0 and b + 1 > 0

  and a > 0 and a - 1 < 0 and a - c - 1 < 0 and a - c + 1 > 0 and a + c - 1 < 0

                                           2
  and a + c + 1 > 0 and a + b < 0 and a - b  <> 0

       2  2    2    4    2  2    2
  and a *b  - a  - b  - b *c  + b  = 0) or (b < 0 and b + 1 > 0 and a > 0

  and a - 1 < 0 and a - c - 1 < 0 and a - c + 1 > 0 and a + c - 1 < 0

                                       2  2    2    4    2  2    2
  and a + c + 1 > 0 and a + b < 0 and a *b  - a  - b  - b *c  + b  > 0) or (

 b < 0 and b + 1 > 0 and a > 0 and a - 1 < 0 and a - c - 1 < 0 and a - c + 1 > 0

                                               2
  and a + c - 1 < 0 and a + c + 1 > 0 and a - b  > 0

       2  2    2    4    2  2    2
  and a *b  - a  - b  - b *c  + b  < 0) or (b > 0 and b - 1 < 0 and a < 0

  and a + 1 > 0 and a - c - 1 < 0 and a - c + 1 > 0 and a + c - 1 < 0

                                           2
  and a + c + 1 > 0 and a + b > 0 and a + b  <> 0

       2  2    2    4    2  2    2
  and a *b  - a  - b  - b *c  + b  = 0) or (b > 0 and b - 1 < 0 and a < 0

  and a + 1 > 0 and a - c - 1 < 0 and a - c + 1 > 0 and a + c - 1 < 0

                                       2  2    2    4    2  2    2
  and a + c + 1 > 0 and a + b > 0 and a *b  - a  - b  - b *c  + b  > 0) or (

 b > 0 and b - 1 < 0 and a < 0 and a + 1 > 0 and a - c - 1 < 0 and a - c + 1 > 0

                                               2
  and a + c - 1 < 0 and a + c + 1 > 0 and a + b  < 0

       2  2    2    4    2  2    2
  and a *b  - a  - b  - b *c  + b  < 0) or (b > 0 and b - 1 < 0 and a < 0

  and a + 1 > 0 and a - c - 1 < 0 and a - c + 1 > 0 and a + c + 1 = 0

                         2          2  2    2    4    2  2    2
  and a + b > 0 and a + b  = 0 and a *b  - a  - b  - b *c  + b  = 0) or (b > 0

  and b - 1 < 0 and a < 0 and a + 1 > 0 and a - c - 1 < 0 and a - c + 1 > 0

                             2          2  2    2    4    2  2    2
  and a + c + 1 = 0 and a + b  < 0 and a *b  - a  - b  - b *c  + b  < 0) or (

 b > 0 and b - 1 < 0 and a < 0 and a + 1 > 0 and a - c + 1 = 0 and a + c - 1 < 0

                                           2
  and a + c + 1 > 0 and a + b > 0 and a + b  = 0

       2  2    2    4    2  2    2
  and a *b  - a  - b  - b *c  + b  = 0) or (b > 0 and b - 1 < 0 and a < 0

  and a + 1 > 0 and a - c + 1 = 0 and a + c - 1 < 0 and a + c + 1 > 0

           2          2  2    2    4    2  2    2
  and a + b  < 0 and a *b  - a  - b  - b *c  + b  < 0) or (b > 0 and b - 1 < 0

  and a > 0 and a - 1 < 0 and a - c - 1 = 0 and a + c - 1 < 0 and a + c + 1 > 0

                         2          2  2    2    4    2  2    2
  and a - b < 0 and a - b  = 0 and a *b  - a  - b  - b *c  + b  = 0) or (b > 0

  and b - 1 < 0 and a > 0 and a - 1 < 0 and a - c - 1 = 0 and a + c - 1 < 0

                             2          2  2    2    4    2  2    2
  and a + c + 1 > 0 and a - b  > 0 and a *b  - a  - b  - b *c  + b  < 0) or (

 b > 0 and b - 1 < 0 and a > 0 and a - 1 < 0 and a - c - 1 < 0 and a - c + 1 > 0

                                           2
  and a + c - 1 = 0 and a - b < 0 and a - b  = 0

       2  2    2    4    2  2    2
  and a *b  - a  - b  - b *c  + b  = 0) or (b > 0 and b - 1 < 0 and a > 0

  and a - 1 < 0 and a - c - 1 < 0 and a - c + 1 > 0 and a + c - 1 = 0

           2          2  2    2    4    2  2    2
  and a - b  > 0 and a *b  - a  - b  - b *c  + b  < 0) or (b > 0 and b - 1 < 0

  and a > 0 and a - 1 < 0 and a - c - 1 < 0 and a - c + 1 > 0 and a + c - 1 < 0

                                           2
  and a + c + 1 > 0 and a - b < 0 and a - b  <> 0

       2  2    2    4    2  2    2
  and a *b  - a  - b  - b *c  + b  = 0) or (b > 0 and b - 1 < 0 and a > 0

  and a - 1 < 0 and a - c - 1 < 0 and a - c + 1 > 0 and a + c - 1 < 0

                                       2  2    2    4    2  2    2
  and a + c + 1 > 0 and a - b < 0 and a *b  - a  - b  - b *c  + b  > 0) or (

 b > 0 and b - 1 < 0 and a > 0 and a - 1 < 0 and a - c - 1 < 0 and a - c + 1 > 0

                                               2
  and a + c - 1 < 0 and a + c + 1 > 0 and a - b  > 0

       2  2    2    4    2  2    2
  and a *b  - a  - b  - b *c  + b  < 0)}


end;

