+
    i                     B   R t ^ RIHtHtHt ^ RIHtHt ^ RIH	t	H
t
Ht ^ RIHtHt ^ RIHtHtHtHtHtHtHtHt ^ RIHt ^RIHtHt  ! R R	4      t ! R
 R]4      t]P>                  ! ]4      R 4       t ]P>                  ! ]4      R 4       t ]P>                  ! ]4      R 4       t ]P>                  ! ]4      R 4       t ]P>                  ! ]!4      R 4       t ]P>                  ! ]4      R 4       t ]P>                  ! ]4      R 4       t ]P>                  ! ]4      R 4       t ]P>                  ! ]4      R 4       t ]P>                  ! ]4      R 4       t ]P>                  ! ]4      R 4       t ]P>                  ! ]4      R 4       t ]P>                  ! ]4      R 4       t R t"R t#R t$R# )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                   6   a a ] tR t^t oRtV 3R ltRtVtV ;t# )
AskHandlerz.Base class that all Ask Handlers must inherit.c                H   < \        R RRR7       \        SV `  ! V .VO5/ VB # )z
            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   &*,ځ/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/sympy/assumptions/handlers/common.pyr   AskHandler.__new__   s3    ! &+'>	
 ws4T4V44     )	__name__
__module____qualname____firstlineno____doc__r   __static_attributes____classdictcell____classcell__)r!   __classdict__s   @@r"   r   r      s     8	5 	5r$   r   c                   X   a  ] tR t^t o Rt]R 4       t]R 4       t]R 4       t]t	Rt
V tR# )CommonHandlerz5Defines some useful methods common to most Handlers. c                    R # Tr%   exprassumptionss   &&r"   
AlwaysTrueCommonHandler.AlwaysTrue#       r$   c                    R # Fr%   r3   s   &&r"   AlwaysFalseCommonHandler.AlwaysFalse'   s    r$   c                    R # Nr%   r3   s   &&r"   
AlwaysNoneCommonHandler.AlwaysNone+   r8   r$   r%   N)r&   r'   r(   r)   r*   staticmethodr6   r;   r?   r
   r+   r,   )r.   s   @r"   r0   r0      sI     ?      Cr$   r0   c                
   \        V4      pV P                  e/   V P                  ;'       d    \        P                  ! V 4      ( V9  # \        P                  ! V 4      V9   d   R# \        P                  ! V 4      ( V9   d   R# R# )z>Objects are expected to be commutative unless otherwise statedTF)r   is_commutativer   commutative)r4   r5   assumpss   && r"   _rF   4   sm     $G&""JJAMM$,?+?7'JJ}}Tg%
--
		(r$   c                 ~    V P                    F,  p\        \        P                  ! V4      V4      '       d   K+   R # 	  R# )FT)r   r   r   rD   )r4   r5   args   && r"   rF   rF   @   s.    yy1==%{33  r$   c                     R # r2   r%   r3   s   &&r"   rF   rF   G       r$   c                     R # r2   r%   r3   s   &&r"   rF   rF   K   rJ   r$   c                     V # r>   r%   r3   s   &&r"   rF   rF   R   s    Kr$   c                     R # r2   r%   r3   s   &&r"   rF   rF   V   rJ   r$   c                     R # r:   r%   r3   s   &&r"   rF   rF   Z   s    r$   c                     \        W4      # r>   r   r3   s   &&r"   rF   rF   ^   s    t!!r$   c                     V P                   ^ ,          pVP                  '       d   R# \        W!R7      pVR9   d   V'       * # R# )    Nr5   )TF)r   	is_Symbolr   )r4   r5   rH   values   &&  r"   rF   rF   b   s8    
))A,C
}}}-Eyr$   c                 j    R pV P                    F   p\        W1R7      pVRJ d    R# Ve   K  RpK"  	  V# )FrS   TNr   r   r4   r5   resultrH   ps   &&   r"   rF   rF   n   s:    Fyy-99F  Mr$   c                 j    R pV P                    F   p\        W1R7      pVRJ d    R# Ve   K  RpK"  	  V# )TrS   FNrW   rX   s   &&   r"   rF   rF   y   s:    Fyy-:9F  Mr$   c                 H    V P                   w  r#\        V( V,          VR 7      # )rS   rW   )r4   r5   rZ   qs   &&  r"   rF   rF      s     99DArAv;//r$   c                 n    V P                   w  r#\        W!R 7      pVf   R# \        W1R 7      pVf   R# WE8H  # )rS   NrW   )r4   r5   rZ   r]   ptqts   &&    r"   rF   rF      s8    99DA	Q	(B	z	Q	(B	z8Or$   c                J   aa \        VV3R lV P                   4       RR7      # )zG
Test for membership in a group with respect
to the current operation.
c              3   H   <"   T F  p\        S! V4      S4      x  K  	  R # 5ir>   rP   ).0ar5   keys   & r"   	<genexpr>$test_closed_group.<locals>.<genexpr>   s     59aSV[	!	!9s   "T)
quick_exit)r   r   )r4   r5   re   s   &ffr"   test_closed_groupri      s"    
 54995$H Hr$   c                 .   a  \        V 3R  lV 4       4      # )c              3   <   <"   T F  p\        VS4      x  K  	  R # 5ir>   rP   rc   queryr5   s   & r"   rf   ask_all.<locals>.<genexpr>        6gUUK	 	 g   )r   r5   queriess   d*r"   ask_allrs      s    6g68 8r$   c                 .   a  \        V 3R  lV 4       4      # )c              3   <   <"   T F  p\        VS4      x  K  	  R # 5ir>   rP   rl   s   & r"   rf   ask_any.<locals>.<genexpr>   ro   rp   )r	   rq   s   d*r"   ask_anyrw      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   r0   registerrF   boolri   rs   rw   r%   r$   r"   <module>r      s  
 7 6 $ > > *" " " @ E5 5J * v&	 '	 u% & v& ' s# $ $   +& ' ,' ( *+" ," #	 	 "  #  '"0 #0 *% &H88r$   