
    \h                     @   S r SSKJrJrJr  SSKJrJr  SSKJ	r	J
r
Jr  SSKJrJr  SSKJrJrJrJrJrJrJrJr  SSKJr  SS	KJrJr   " S
 S5      r " S S\5      r\R>                  " \5      S 5       r \R>                  " \5      S 5       r \R>                  " \5      S 5       r \R>                  " \5      S 5       r \R>                  " \!5      S 5       r \R>                  " \5      S 5       r \R>                  " \5      S 5       r \R>                  " \5      S 5       r \R>                  " \5      S 5       r \R>                  " \5      S 5       r \R>                  " \5      S 5       r \R>                  " \5      S 5       r \R>                  " \5      S 5       r S r"S r#S r$g)zj
This module defines base class for handlers and some core handlers:
``Q.commutative`` and ``Q.is_true``.
    )QaskAppliedPredicate)BasicSymbol)_fuzzy_group	fuzzy_andfuzzy_or)NaNNumber)AndBooleanTrueBooleanFalse	conjuncts
EquivalentImpliesNotOr)sympy_deprecation_warning   )CommutativePredicateIsTruePredicatec                   ,   ^  \ rS rSrSrU 4S jrSrU =r$ )
AskHandler   z.Base class that all Ask Handlers must inherit.c                 B   > [        SSSS9  [        TU ]  " U /UQ70 UD6$ )Nz
            The AskHandler system is deprecated. The AskHandler class should
            be replaced with the multipledispatch handler of Predicate
            z1.8zdeprecated-askhandler)deprecated_since_versionactive_deprecations_target)r   super__new__)clsargskwargs	__class__s      Y/var/www/auris/envauris/lib/python3.13/site-packages/sympy/assumptions/handlers/common.pyr    AskHandler.__new__   s3    ! &+'>	
 ws4T4V44     )__name__
__module____qualname____firstlineno____doc__r    __static_attributes____classcell__)r$   s   @r%   r   r      s    8	5 	5r'   r   c                   L    \ rS rSrSr\S 5       r\S 5       r\S 5       r\r	Sr
g)CommonHandler   z5Defines some useful methods common to most Handlers. c                     gNTr(   exprassumptionss     r%   
AlwaysTrueCommonHandler.AlwaysTrue#       r'   c                     gNFr(   r5   s     r%   AlwaysFalseCommonHandler.AlwaysFalse'   s    r'   c                     g Nr(   r5   s     r%   
AlwaysNoneCommonHandler.AlwaysNone+   r:   r'   r(   N)r)   r*   r+   r,   r-   staticmethodr8   r=   rA   r   r.   r(   r'   r%   r1   r1      sF    ?      Cr'   r1   c                     [        U5      nU R                  b-  U R                  =(       a    [        R                  " U 5      ) U;  $ [        R                  " U 5      U;   a  g[        R                  " U 5      ) U;   a  gg)z>Objects are expected to be commutative unless otherwise statedTF)r   is_commutativer   commutative)r6   r7   assumpss      r%   _rH   4   sj     $G&""JAMM$,?+?7+JJ}}Tg%
--
		(r'   c                 x    U R                    H*  n[        [        R                  " U5      U5      (       a  M*    g   g)NFT)r"   r   r   rF   )r6   r7   args      r%   rH   rH   @   s.    yy1==%{33  r'   c                     gr4   r(   r5   s     r%   rH   rH   G       r'   c                     gr4   r(   r5   s     r%   rH   rH   K   rL   r'   c                     U $ r@   r(   r5   s     r%   rH   rH   R   s    Kr'   c                     gr4   r(   r5   s     r%   rH   rH   V   rL   r'   c                     gr<   r(   r5   s     r%   rH   rH   Z   s    r'   c                     [        X5      $ r@   r   r5   s     r%   rH   rH   ^   s    t!!r'   c                 r    U R                   S   nUR                  (       a  g [        X!S9nUS;   a  U(       + $ g )Nr   r7   )TF)r"   	is_Symbolr   )r6   r7   rJ   values       r%   rH   rH   b   s6    
))A,C
}}-Eyr'   c                 ^    SnU R                    H  n[        X1S9nUSL a    gUb  M  S nM     U$ )NFrT   Tr"   r   r6   r7   resultrJ   ps        r%   rH   rH   n   s:    Fyy-99F  Mr'   c                 ^    SnU R                    H  n[        X1S9nUSL a    gUb  M  S nM     U$ )NTrT   FrX   rY   s        r%   rH   rH   y   s:    Fyy-:9F  Mr'   c                 :    U R                   u  p#[        U) U-  US9$ NrT   rX   )r6   r7   r[   qs       r%   rH   rH      s     99DArAv;//r'   c                 Z    U R                   u  p#[        X!S9nUc  g [        X1S9nUc  g XE:H  $ r^   rX   )r6   r7   r[   r_   ptqts         r%   rH   rH      s8    99DA	Q	(B	z	Q	(B	z8Or'   c                 D   ^^ [        UU4S jU R                   5       SS9$ )zG
Test for membership in a group with respect
to the current operation.
c              3   H   >#    U  H  n[        T" U5      T5      v   M     g 7fr@   rR   ).0ar7   keys     r%   	<genexpr>$test_closed_group.<locals>.<genexpr>   s     59aSV[	!	!9s   "T)
quick_exit)r   r"   )r6   r7   rg   s    ``r%   test_closed_grouprk      s"    
 54995$H Hr'   c                 .   ^  [        U 4S jU 5       5      $ )Nc              3   <   >#    U  H  n[        UT5      v   M     g 7fr@   rR   re   queryr7   s     r%   rh   ask_all.<locals>.<genexpr>        6gUUK	 	 g   )r	   r7   queriess   ` r%   ask_allru      s    6g68 8r'   c                 .   ^  [        U 4S jU 5       5      $ )Nc              3   <   >#    U  H  n[        UT5      v   M     g 7fr@   rR   rn   s     r%   rh   ask_any.<locals>.<genexpr>   rq   rr   )r
   rs   s   ` r%   ask_anyry      s    6g68 8r'   N)%r-   sympy.assumptionsr   r   r   
sympy.corer   r   sympy.core.logicr   r	   r
   sympy.core.numbersr   r   sympy.logic.boolalgr   r   r   r   r   r   r   r   sympy.utilities.exceptionsr   predicates.commonr   r   r   r1   registerrH   boolrk   ru   ry   r(   r'   r%   <module>r      s  
 7 6 $ > > *" " " @ E5 5J * v&	 '	 u% & v& ' s# $ $   +& ' ,' ( *+" ," #	 	 "  #  '"0 #0 *% &H88r'   