§
    OŠtjÚ  ã                   óh  — d Z ddlmZmZmZ ddlmZmZ ddlm	Z	m
Z
mZ ddlmZmZ ddlmZmZmZmZmZmZmZmZ ddlmZ dd	lmZmZ  G d
„ d¦  «        Z G d„ de¦  «        Z ej        e¦  «        d„ ¦   «         Z  ej        e¦  «        d„ ¦   «         Z  ej        e¦  «        d„ ¦   «         Z  ej        e¦  «        d„ ¦   «         Z  ej        e!¦  «        d„ ¦   «         Z  ej        e¦  «        d„ ¦   «         Z  ej        e¦  «        d„ ¦   «         Z  ej        e¦  «        d„ ¦   «         Z  ej        e¦  «        d„ ¦   «         Z  ej        e¦  «        d„ ¦   «         Z  ej        e¦  «        d„ ¦   «         Z  ej        e¦  «        d„ ¦   «         Z  ej        e¦  «        d„ ¦   «         Z d„ Z"d„ Z#d„ Z$dS )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                   ó"   ‡ — e Zd ZdZˆ fd„Zˆ xZS )Ú
AskHandlerz.Base class that all Ask Handlers must inherit.c                 ób   •— t          ddd¬¦  «          t          ¦   «         j        | g|¢R i |¤ŽS )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      €ú_/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/assumptions/handlers/common.pyr   zAskHandler.__new__   sO   ø€ Ý!ðð &+Ø'>ð	
ñ 	
ô 	
ð 	
ð �u‰wŒwŒ˜sÐ4 TÐ4Ð4Ð4¨VÐ4Ð4Ð4ó    )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ú__classcell__)r#   s   @r$   r   r      s>   ø€ € € € € Ø8Ð8ð	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5r%   r   c                   óX   — e Zd ZdZed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         ZeZdS )ÚCommonHandlerz5Defines some useful methods common to most Handlers. c                 ó   — dS ©NT© ©ÚexprÚassumptionss     r$   Ú
AlwaysTruezCommonHandler.AlwaysTrue#   ó   € àˆtr%   c                 ó   — dS ©NFr/   r0   s     r$   ÚAlwaysFalsezCommonHandler.AlwaysFalse'   s   € àˆur%   c                 ó   — d S ©Nr/   r0   s     r$   Ú
AlwaysNonezCommonHandler.AlwaysNone+   r4   r%   N)	r&   r'   r(   r)   Ústaticmethodr3   r7   r:   r   r/   r%   r$   r,   r,      sj   € € € € € à?Ð?àðð ñ „\ðð ðð ñ „\ðð ðð ñ „\ðð €C€C€Cr%   r,   c                 óÐ   — t          |¦  «        }| j        �| j        ot          j        | ¦  «         |vS t          j        | ¦  «        |v rdS t          j        | ¦  «         |v rdS dS )z>Objects are expected to be commutative unless otherwise statedNTF)r   Úis_commutativer   Úcommutative)r1   r2   Úassumpss      r$   Ú_r@   4   sv   € õ ˜Ñ$Ô$€GØÔÐ&ØÔ"ÐJ­A¬M¸$Ñ,?Ô,?Ð+?À7Ð+JÐJÝ„}�TÑÔ˜gÐ%Ð%ØˆtÝ
Œ-˜Ñ
Ô
Ð	 Ð	(Ð	(ØˆuØˆ4r%   c                 ód   — | j         D ]'}t          t          j        |¦  «        |¦  «        s dS Œ(dS )NFT)r!   r   r   r>   )r1   r2   Úargs      r$   r@   r@   @   s@   € àŒyð ð ˆÝ•1”= Ñ%Ô% {Ñ3Ô3ð 	Ø�5�5ð	àˆ4r%   c                 ó   — dS r.   r/   r0   s     r$   r@   r@   G   ó   € àˆ4r%   c                 ó   — dS r.   r/   r0   s     r$   r@   r@   K   rD   r%   c                 ó   — | S r9   r/   r0   s     r$   r@   r@   R   s   € à€Kr%   c                 ó   — dS r.   r/   r0   s     r$   r@   r@   V   rD   r%   c                 ó   — dS r6   r/   r0   s     r$   r@   r@   Z   s   € àˆ5r%   c                 ó"   — t          | |¦  «        S r9   ©r   r0   s     r$   r@   r@   ^   s   € åˆt�[Ñ!Ô!Ð!r%   c                 ób   — | j         d         }|j        rd S t          ||¬¦  «        }|dv r| S d S )Nr   ©r2   )TF)r!   Ú	is_Symbolr   )r1   r2   rB   Úvalues       r$   r@   r@   b   sF   € à
Œ)�AŒ,€CØ
„}ð àˆtÝ� Ð-Ñ-Ô-€EØ�ÐÐØˆyÐàˆtr%   c                 óV   — d}| j         D ]}t          ||¬¦  «        }|du r dS |€d }Œ|S )NFrL   T©r!   r   ©r1   r2   ÚresultrB   Úps        r$   r@   r@   n   sJ   € à€FØŒyð ð ˆÝ� Ð-Ñ-Ô-ˆØ�ˆ9ˆ9Ø�4�4Øˆ9ØˆFøØ€Mr%   c                 óV   — d}| j         D ]}t          ||¬¦  «        }|du r dS |€d }Œ|S )NTrL   FrP   rQ   s        r$   r@   r@   y   sJ   € à€FØŒyð ð ˆÝ� Ð-Ñ-Ô-ˆØ�ˆ:ˆ:Ø�5�5Øˆ9ØˆFøØ€Mr%   c                 ó@   — | j         \  }}t          | |z  |¬¦  «        S ©NrL   rP   )r1   r2   rS   Úqs       r$   r@   r@   „   s&   € àŒ9�D€A€qÝ�ˆr�A‰v ;Ð/Ñ/Ô/Ð/r%   c                 óv   — | j         \  }}t          ||¬¦  «        }|€d S t          ||¬¦  «        }|€d S ||k    S rV   rP   )r1   r2   rS   rW   ÚptÚqts         r$   r@   r@   ‰   sN   € àŒ9�D€A€qÝ	ˆQ˜KÐ	(Ñ	(Ô	(€BØ	€zØˆtÝ	ˆQ˜KÐ	(Ñ	(Ô	(€BØ	€zØˆtØ�Š8€Or%   c                 óL   ‡‡— t          ˆˆfd„| j        D ¦   «         d¬¦  «        S )zS
    Test for membership in a group with respect
    to the current operation.
    c              3   óJ   •K  — | ]}t           ‰|¦  «        ‰¦  «        V — Œd S r9   rJ   )Ú.0Úar2   Úkeys     €€r$   ú	<genexpr>z$test_closed_group.<locals>.<genexpr>œ   s5   øè è € Ð5Ð5 a�ˆSˆS�‰VŒV�[Ñ	!Ô	!Ð5Ð5Ð5Ð5Ð5Ð5r%   T)Ú
quick_exit)r   r!   )r1   r2   r_   s    ``r$   Útest_closed_grouprb   –   s?   øø€ õ
 Ø5Ð5Ð5Ð5Ð5¨4¬9Ð5Ñ5Ô5À$ðHñ Hô Hð Hr%   c                 ó:   ‡ — t          ˆ fd„|D ¦   «         ¦  «        S )Nc              3   ó8   •K  — | ]}t          |‰¦  «        V — Œd S r9   rJ   ©r]   Úqueryr2   s     €r$   r`   zask_all.<locals>.<genexpr>    ó-   øè è € Ð6Ð6 U�ˆU�KÑ	 Ô	 Ð6Ð6Ð6Ð6Ð6Ð6r%   )r	   ©r2   Úqueriess   ` r$   Úask_allrj   ž   s,   ø€ ÝØ6Ð6Ð6Ð6¨gÐ6Ñ6Ô6ñ8ô 8ð 8r%   c                 ó:   ‡ — t          ˆ fd„|D ¦   «         ¦  «        S )Nc              3   ó8   •K  — | ]}t          |‰¦  «        V — Œd S r9   rJ   re   s     €r$   r`   zask_any.<locals>.<genexpr>¤   rg   r%   )r
   rh   s   ` r$   Úask_anyrm   ¢   s,   ø€ ÝØ6Ð6Ð6Ð6¨gÐ6Ñ6Ô6ñ8ô 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   r,   Úregisterr@   Úboolrb   rj   rm   r/   r%   r$   ú<module>rw      s±  ððð ð
 7Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø $Ð $Ð $Ð $Ð $Ð $Ð $Ð $Ø >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ø *Ð *Ð *Ð *Ð *Ð *Ð *Ð *ð"ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "ð "à @Ð @Ð @Ð @Ð @Ð @à EÐ EÐ EÐ EÐ EÐ EÐ EÐ Eð5ð 5ð 5ð 5ð 5ñ 5ô 5ð 5ðð ð ð ð �Jñ ô ð ð* ÐÔ˜vÑ&Ô&ð	ð 	ñ 'Ô&ð	ð ÐÔ˜uÑ%Ô%ðð ñ &Ô%ðð ÐÔ˜vÑ&Ô&ðð ñ 'Ô&ðð ÐÔ˜sÑ#Ô#ðð ñ $Ô#ðð €Ô˜$ÑÔðð ñ  Ôðð €Ô˜+Ñ&Ô&ðð ñ 'Ô&ðð €Ô˜,Ñ'Ô'ðð ñ (Ô'ðð €ÔÐ*Ñ+Ô+ð"ð "ñ ,Ô+ð"ð €Ô˜#ÑÔð	ð 	ñ Ôð	ð €Ô˜"ÑÔðð ñ Ôðð €Ô˜#ÑÔðð ñ Ôðð €Ô˜'Ñ"Ô"ð0ð 0ñ #Ô"ð0ð €Ô˜*Ñ%Ô%ðð ñ &Ô%ððHð Hð Hð8ð 8ð 8ð8ð 8ð 8ð 8ð 8r%   