K idZddlmZddlmZmZmZmZmZm Z ddl m Z gdZ Gdde Z Gd d e ZGd d e ZGd de ZGdde ZGdde Zy)a4 Module for mathematical equality [1] and inequalities [2]. The purpose of this module is to provide the instances which represent the binary predicates in order to combine the relationals into logical inference system. Objects such as ``Q.eq``, ``Q.lt`` should remain internal to assumptions module, and user must use the classes such as :obj:`~.Eq()`, :obj:`~.Lt()` instead to construct the relational expressions. References ========== .. [1] https://en.wikipedia.org/wiki/Equality_(mathematics) .. [2] https://en.wikipedia.org/wiki/Inequality_(mathematics) )Q)is_eqis_neqis_gtis_geis_ltis_le)BinaryRelation)EqualityPredicateUnequalityPredicateStrictGreaterThanPredicateGreaterThanPredicateStrictLessThanPredicateLessThanPredicatec8eZdZdZdZdZdZdZedZ ddZ y)r aU Binary predicate for $=$. The purpose of this class is to provide the instance which represent the equality predicate in order to allow the logical inference. This class must remain internal to assumptions module and user must use :obj:`~.Eq()` instead to construct the equality expression. Evaluating this predicate to ``True`` or ``False`` is done by :func:`~.core.relational.is_eq` Examples ======== >>> from sympy import ask, Q >>> Q.eq(0, 0) Q.eq(0, 0) >>> ask(_) True See Also ======== sympy.core.relational.Eq TeqNc"tjSN)rneselfs i/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/assumptions/relation/equality.pynegatedzEqualityPredicate.negated: tt c*|dk(rd}tg||SNT)rrargs assumptionss revalzEqualityPredicate.eval>" $ K(d(K((rT __name__ __module__ __qualname____doc__ is_reflexive is_symmetricnamehandlerpropertyrr"rrr r s44LL DG )rr c8eZdZdZdZdZdZdZedZ ddZ y) r a^ Binary predicate for $\neq$. The purpose of this class is to provide the instance which represent the inequation predicate in order to allow the logical inference. This class must remain internal to assumptions module and user must use :obj:`~.Ne()` instead to construct the inequation expression. Evaluating this predicate to ``True`` or ``False`` is done by :func:`~.core.relational.is_neq` Examples ======== >>> from sympy import ask, Q >>> Q.ne(0, 0) Q.ne(0, 0) >>> ask(_) False See Also ======== sympy.core.relational.Ne FTrNc"tjSr)rrrs rrzUnequalityPredicate.negatedfrrc*|dk(rd}tg||Sr)rrs rr"zUnequalityPredicate.evaljs" $ K)t)[))rr$r%r/rrr r Es44LL DG *rr cHeZdZdZdZdZdZdZedZ edZ ddZ y) raQ Binary predicate for $>$. The purpose of this class is to provide the instance which represent the ">" predicate in order to allow the logical inference. This class must remain internal to assumptions module and user must use :obj:`~.Gt()` instead to construct the equality expression. Evaluating this predicate to ``True`` or ``False`` is done by :func:`~.core.relational.is_gt` Examples ======== >>> from sympy import ask, Q >>> Q.gt(0, 0) Q.gt(0, 0) >>> ask(_) False See Also ======== sympy.core.relational.Gt FgtNc"tjSrrltrs rreversedz#StrictGreaterThanPredicate.reversedrrc"tjSrrlers rrz"StrictGreaterThanPredicate.negatedrrc*|dk(rd}tg||Sr)rrs rr"zStrictGreaterThanPredicate.evalr#rr$ r&r'r(r)r*r+r,r-r.r8rr"r/rrrrqH4LL DG )rrcHeZdZdZdZdZdZdZedZ edZ d dZ y) raR Binary predicate for $>=$. The purpose of this class is to provide the instance which represent the ">=" predicate in order to allow the logical inference. This class must remain internal to assumptions module and user must use :obj:`~.Ge()` instead to construct the equality expression. Evaluating this predicate to ``True`` or ``False`` is done by :func:`~.core.relational.is_ge` Examples ======== >>> from sympy import ask, Q >>> Q.ge(0, 0) Q.ge(0, 0) >>> ask(_) True See Also ======== sympy.core.relational.Ge TFgeNc"tjSrr:rs rr8zGreaterThanPredicate.reversedrrc"tjSrr6rs rrzGreaterThanPredicate.negatedrrc*|dk(rd}tg||Sr)rrs rr"zGreaterThanPredicate.evalr#rr$r=r/rrrrH4LL DG )rrcHeZdZdZdZdZdZdZedZ edZ ddZ y) raQ Binary predicate for $<$. The purpose of this class is to provide the instance which represent the "<" predicate in order to allow the logical inference. This class must remain internal to assumptions module and user must use :obj:`~.Lt()` instead to construct the equality expression. Evaluating this predicate to ``True`` or ``False`` is done by :func:`~.core.relational.is_lt` Examples ======== >>> from sympy import ask, Q >>> Q.lt(0, 0) Q.lt(0, 0) >>> ask(_) False See Also ======== sympy.core.relational.Lt Fr7Nc"tjSrrr4rs rr8z StrictLessThanPredicate.reversedrrc"tjSrrr@rs rrzStrictLessThanPredicate.negatedrrc*|dk(rd}tg||Sr)rrs rr"zStrictLessThanPredicate.evalr#rr$r=r/rrrrr>rrcHeZdZdZdZdZdZdZedZ edZ d dZ y) raR Binary predicate for $<=$. The purpose of this class is to provide the instance which represent the "<=" predicate in order to allow the logical inference. This class must remain internal to assumptions module and user must use :obj:`~.Le()` instead to construct the equality expression. Evaluating this predicate to ``True`` or ``False`` is done by :func:`~.core.relational.is_le` Examples ======== >>> from sympy import ask, Q >>> Q.le(0, 0) Q.le(0, 0) >>> ask(_) True See Also ======== sympy.core.relational.Le TFr;Nc"tjSrrIrs rr8zLessThanPredicate.reversed"rrc"tjSrrGrs rrzLessThanPredicate.negated&rrc*|dk(rd}tg||Sr)r rs rr"zLessThanPredicate.eval*r#rr$r=r/rrrrrDrrN)r)sympy.assumptionsrsympy.core.relationalrrrrrr binrelr __all__r r rrrrr/rrrSsm KK" L))))X)*.)*X-)-)`-)>-)`-)n-)`-)-)r