adding inequalities



> is it possible to tune maxima to be able to evaluate 
> predicats constructed as sums of inequalities which boolean 
> value is known?

Short of writing your own inequality checker, no, I don't think so.
There is an "ineq" share file, but that is just for convenience in
*manipulating* inequalities, allowing e.g. x*(a<b) => x*a<x*b (if x>0).
(And anyway it doesn't currently even load without error....)

There is definitely work to be done in inequalities.

By the way, here are a few comments on your Maxima usage.  I'm afraid
they won't help in evaluating your inequalities, but they might be
useful nonetheless:

> declare(a1,real,b1,real,a2,real,b2,real,a3,real,b3,real)$

Can also be written as:

  declare([a1,b1,a2,b2,a3,b3],real)$

Note also that Maxima assumes that variables are real if they are
undeclared (and even if they are declared complex it sometimes assumes
they are real :-( ).

> (C11) declare(dif1,real,dif2,real)$
> (C12) dif1::b1-a1$ dif2::b2-a2$
> (C13) 
> (C14) is(dif1>0);

Declarations of variables as real etc. refer to the mathematical
variable concept, not the programming variable concept.  In the above,
you're using dif1 as a programming variable, setting it to a value.  By
the time "is" sees the expression "dif1>0", it has already been
evaluated to "b1-a1>0", so the declaration of dif1 has no effect at all.

Also, you are using "::" to set dif1.  The assignment operator in Maxima
is ":".  The "::" operator is the (very special-purpose) evaluated
assignment operator.  For example, 
   var: 'foo;    /* Sets the variable var to the value foo */
   var:: 'bar;   /* Sets the variable foo to the value bar */

   [var, foo] => [foo, bar]

The "::" operator is very rarely necessary.

        -s