This is currently only implemented in ask(), and you have to use
Q.positive(x) instead of x > 0 (ask does not yet know how to deal with
inequalities directly):

>>> ask(Q.positive(z**2), Q.positive(z))
True
>>> ask(Q.positive(z**2 + w**2), Q.positive(z) & Q.positive(w))
True

Aaron Meurer

On Mon, Oct 31, 2022 at 1:10 PM Joseph Nasser <joseph.nasse...@gmail.com> wrote:
>
> Hello,
>
> I would like to check whether an inequality with multiple variables is 
> satisfied under certain assumptions on the variables. Is this supported? 
> Using refine seems to work with one variable but not a multi-variable 
> expression. I am using Sympy 1.11.1
>
> from sympy import Q
> var('z w', real=True)
> refine(z**2 > 0, Q.positive(z)) # Returns BooleanTrue, expected behavior
> refine(z**2 + w**2 > 0, Q.positive(z) & Q.positive(w)) #does not return a 
> Boolean type
>
> Thanks
>
> --
> You received this message because you are subscribed to the Google Groups 
> "sympy" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to sympy+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sympy/f0f91ba2-4432-419d-a832-9e43b5bd1b7en%40googlegroups.com.

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sympy+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/CAKgW%3D6J4BzL%3DFn1iFj4pvygpu9zj0zhr7xQY7o%2BLTA4MtUYY6w%40mail.gmail.com.

Reply via email to