isAlways function is unable to prove a simple statement

2 visualizaciones (últimos 30 días)
Mehmet Ali Kanatli
Mehmet Ali Kanatli el 6 de Dic. de 2018
I am using Symbolic Math Toolbox to simply see if below statement is positive or not:
(x - b - 2*c*d) * (y - b)
I am assuming that both (x - b - 2*c*d) and (y - b) are positive.
syms x y b c d
assume(x - b - 2*c*d > 0 & y - b > 0 );
After making these assumptions, I checked if 'isAlways' function considers the assumptions. I got below results:
>> isAlways((x - b - 2*c*d) > 0)
ans =
logical
1
>> isAlways((y - b) > 0)
ans =
logical
1
Getting above results, naturally, I expect to see (x - b - 2*c*d) * (y - b) is also positive. However, I get 'unable to prove' error. How can this be possible ? What can cause this ? Here is the result I get:
>> isAlways((x - b - 2*c*d)*(y - b) > 0)
Warning: Unable to prove '0 < (b - y)*(b - x + 2*c*d)'.
> In symengine
In sym/isAlways (line 42)
ans =
logical
0

Respuestas (0)

Productos


Versión

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by