# Assumptions

```
var("a b")
assume(b > 0, b < 1, a > 0, a < 1)
bool(a*b < 1)
```

returns false, why?

Assumptions

```
var("a b")
assume(b > 0, b < 1, a > 0, a < 1)
bool(a*b < 1)
```

returns false, why?

add a comment

1

In Maxima (which handles our assumptions):

```
(%i1) assume(b>0);
(%o1) [b > 0]
(%i2) assume(b<1);
(%o2) [b < 1]
(%i3) assume(a>0);
(%o3) [a > 0]
(%i4) assume(a<1);
(%o4) [a < 1]
(%i5) is (a*b > 0);
(%o5) true
(%i6) is (a*b < 1);
(%o6) unknown
```

And Sage returns false for booleans if it doesn't know for sure that it's true.

I'm not sure whether they would consider this a bug; their assumptions framework is self-described as "weak", though of course it's better than having no assumptions at all!

I got same when preparing materials for highschool students. Shouldn't bool in such case return a warning in addition to False? Current way of assuming False for Unknown makes things that are unknown impossible to distinguish from things that are truly false (and this can instead lead to confusion for younger users)

Asked: **
2012-11-14 04:59:18 -0500
**

Seen: **84 times**

Last updated: **Nov 14 '12**

Does right_kernel_matrix support assumptions over the symbolic ring?

Sage says equation isn't true while Mathematica says it is

Solving an inequality symbolically under constraints

a problem with variables in real domains

How to save and load assumptions?

bool returns false with arcsin(x) and 2*arctan(x/(1+sqrt(1-x^2)))

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.