Status: Valid
Owner: ----
Labels: Type-Defect Priority-Medium Assumptions

New issue 3496 by [email protected]: Assumptions known_facts only apply to atomic expressions
http://code.google.com/p/sympy/issues/detail?id=3496

Assumptions has a mechanism to allow some predicates to imply others.

known_facts = { ...
    Implies(Q.lower_triangular, Q.triangular),
    Implies(Q.upper_triangular, Q.triangular),
    ...}

Which enables successful queries as follows

    In [4]: ask(Q.triangular(X), Q.lower_triangular(X))
    Out[4]: True

Unfortunately this implication does not propagate to larger queries like the following

In [5]: ask(Q.triangular(X+Y), Q.lower_triangular(X) & Q.lower_triangular(Y))
    <returns None>

Despite the fact that the X+Y bit is handled in a handler

In [3]: ask(Q.lower_triangular(X+Y), Q.lower_triangular(X) & Q.lower_triangular(Y))
    Out[3]: True


--
You received this message because you are subscribed to the Google Groups 
"sympy-issues" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sympy-issues?hl=en.

Reply via email to