isAlways function is unable to prove a simple statement

조회 수: 3 (최근 30일)
Mehmet Ali Kanatli
Mehmet Ali Kanatli 2018년 12월 6일
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

답변 (0개)

카테고리

Help CenterFile Exchange에서 Assumptions에 대해 자세히 알아보기

제품


릴리스

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by