Skip to content

Commit

Permalink
Merge pull request #80 from skirpichev/new-assumptions-nonzero
Browse files Browse the repository at this point in the history
Make Q.nonzero compatible with old assumptions
  • Loading branch information
skirpichev committed May 18, 2015
2 parents 2a4348d + 92d08df commit 9c21fbe
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 8 deletions.
3 changes: 1 addition & 2 deletions sympy/assumptions/ask.py
Original file line number Diff line number Diff line change
Expand Up @@ -350,10 +350,9 @@ def compute_known_facts(known_facts, known_facts_keys):
Implies(Q.imaginary, ~Q.real | Q.zero),
Implies(Q.infinite, ~Q.finite),
Equivalent(Q.noninteger, Q.real & ~Q.integer),
Equivalent(Q.nonzero, ~Q.zero),

Implies(Q.antihermitian, ~Q.hermitian | Q.zero),
Implies(Q.nonzero, Q.extended_real),
Equivalent(Q.nonzero, Q.positive | Q.negative),
# matrix facts:
Implies(Q.orthogonal, Q.positive_definite),
Implies(Q.orthogonal, Q.unitary),
Expand Down
11 changes: 6 additions & 5 deletions sympy/assumptions/ask_generated.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
# -{ Known facts in CNF }-
known_facts_cnf = And(
Or(Q.invertible, Q.singular),
Or(Q.nonzero, Q.zero),
Or(Not(Q.rational), Q.algebraic),
Or(Not(Q.imaginary), Q.antihermitian),
Or(Not(Q.algebraic), Q.complex),
Expand All @@ -21,7 +22,6 @@
Or(Not(Q.negative), Q.extended_real),
Or(Not(Q.nonnegative), Q.extended_real),
Or(Not(Q.nonpositive), Q.extended_real),
Or(Not(Q.nonzero), Q.extended_real),
Or(Not(Q.positive), Q.extended_real),
Or(Not(Q.real), Q.extended_real),
Or(Not(Q.zero), Q.extended_real),
Expand Down Expand Up @@ -69,13 +69,13 @@
Or(Not(Q.irrational), Not(Q.rational)),
Or(Not(Q.negative), Not(Q.nonnegative)),
Or(Not(Q.nonpositive), Not(Q.positive)),
Or(Not(Q.nonzero), Not(Q.zero)),
Or(Not(Q.complex), Q.algebraic, Q.transcendental),
Or(Not(Q.integer), Q.even, Q.odd),
Or(Not(Q.real), Q.integer, Q.noninteger),
Or(Not(Q.real), Q.irrational, Q.rational),
Or(Not(Q.triangular), Q.lower_triangular, Q.upper_triangular),
Or(Not(Q.extended_real), Q.negative, Q.nonnegative),
Or(Not(Q.nonzero), Q.negative, Q.positive),
Or(Not(Q.extended_real), Q.nonpositive, Q.positive),
Or(Not(Q.lower_triangular), Not(Q.upper_triangular), Q.diagonal),
Or(Not(Q.fullrank), Not(Q.square), Q.invertible),
Expand Down Expand Up @@ -107,7 +107,7 @@
Q.fullrank: set([Q.fullrank]),
Q.hermitian: set([Q.hermitian]),
Q.imaginary: set([Q.antihermitian, Q.complex, Q.finite, Q.imaginary]),
Q.infinite: set([Q.infinite]),
Q.infinite: set([Q.infinite, Q.nonzero]),
Q.infinitesimal: set([Q.infinitesimal]),
Q.integer: set([Q.algebraic, Q.complex, Q.extended_real, Q.finite,
Q.hermitian, Q.integer, Q.rational, Q.real]),
Expand All @@ -124,7 +124,7 @@
Q.noninteger, Q.nonzero, Q.real]),
Q.nonnegative: set([Q.extended_real, Q.nonnegative]),
Q.nonpositive: set([Q.extended_real, Q.nonpositive]),
Q.nonzero: set([Q.extended_real, Q.nonzero]),
Q.nonzero: set([Q.nonzero]),
Q.normal: set([Q.normal, Q.square]),
Q.odd: set([Q.algebraic, Q.complex, Q.extended_real, Q.finite,
Q.hermitian, Q.integer, Q.nonzero, Q.odd, Q.rational, Q.real]),
Expand All @@ -145,7 +145,8 @@
Q.singular: set([Q.singular]),
Q.square: set([Q.square]),
Q.symmetric: set([Q.square, Q.symmetric]),
Q.transcendental: set([Q.complex, Q.finite, Q.transcendental]),
Q.transcendental: set([Q.complex, Q.finite, Q.nonzero,
Q.transcendental]),
Q.triangular: set([Q.triangular]),
Q.unit_triangular: set([Q.triangular, Q.unit_triangular]),
Q.unitary: set([Q.fullrank, Q.invertible, Q.normal, Q.square,
Expand Down
1 change: 0 additions & 1 deletion sympy/assumptions/tests/test_query.py
Original file line number Diff line number Diff line change
Expand Up @@ -1800,7 +1800,6 @@ def test_real():

assert ask(Q.real(x)) is None
assert ask(Q.real(x), Q.real(x)) is True
assert ask(Q.extended_real(x), Q.nonzero(x)) is True
assert ask(Q.extended_real(x), Q.positive(x)) is True
assert ask(Q.extended_real(x), Q.negative(x)) is True
assert ask(Q.real(x), Q.integer(x)) is True
Expand Down

0 comments on commit 9c21fbe

Please sign in to comment.