§
    OŠtjË  ã                   óp   — d dl mZ d dlmZmZ ddlmZ ddlmZm	Z	m
Z
mZmZmZ  G d„ de¦  «        Zd„ Zd	S )
é    )ÚExpr)Úcall_highest_priorityÚ
_sympifyité   )ÚImageSet)Úset_addÚset_subÚset_mulÚset_divÚset_powÚset_functionc                   ó8  — e Zd ZdZdZd„ Z ed„ ¦  «        Zd„ Z e	de
¦  «         ed¦  «        d„ ¦   «         ¦   «         Z e	de
¦  «         ed	¦  «        d
„ ¦   «         ¦   «         Z e	de
¦  «         ed¦  «        d„ ¦   «         ¦   «         Z e	de
¦  «         ed¦  «        d„ ¦   «         ¦   «         Z e	de
¦  «         ed¦  «        d„ ¦   «         ¦   «         Z e	de
¦  «         ed¦  «        d„ ¦   «         ¦   «         Z e	de
¦  «         ed¦  «        d„ ¦   «         ¦   «         Z e	de
¦  «         ed¦  «        d„ ¦   «         ¦   «         Z e	de
¦  «         ed¦  «        d„ ¦   «         ¦   «         Z e	de
¦  «         ed¦  «        d„ ¦   «         ¦   «         Zd„ ZdS )ÚSetExprab  An expression that can take on values of a set.

    Examples
    ========

    >>> from sympy import Interval, FiniteSet
    >>> from sympy.sets.setexpr import SetExpr

    >>> a = SetExpr(Interval(0, 5))
    >>> b = SetExpr(FiniteSet(1, 10))
    >>> (a + b).set
    Union(Interval(1, 6), Interval(10, 15))
    >>> (2*a + b).set
    Interval(1, 20)
    g      &@c                 ó,   — t          j        | |¦  «        S ©N)r   Ú__new__)ÚclsÚsetargs     úP/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/sets/setexpr.pyr   zSetExpr.__new__   s   € ÝŒ|˜C Ñ(Ô(Ð(ó    c                 ó   — | j         d         S )Nr   )Úargs)Úselfs    r   ú<lambda>zSetExpr.<lambda>   s   €  ¤	¨!¤€ r   c                 ó\   — d                      |                     | j        ¦  «        ¦  «        S )NzSetExpr\left({}\right))ÚformatÚ_printÚset)r   Úprinters     r   Ú_latexzSetExpr._latex   s$   € Ø(×/Ò/°·²¸t¼xÑ0HÔ0HÑIÔIÐIr   ÚotherÚ__radd__c                 ó.   — t          t          | |¦  «        S r   ©Ú_setexpr_apply_operationr   ©r   r!   s     r   Ú__add__zSetExpr.__add__!   ó   € õ (­°°uÑ=Ô=Ð=r   r'   c                 ó.   — t          t          || ¦  «        S r   r$   r&   s     r   r"   zSetExpr.__radd__&   ó   € õ (­°¸Ñ=Ô=Ð=r   Ú__rmul__c                 ó.   — t          t          | |¦  «        S r   ©r%   r
   r&   s     r   Ú__mul__zSetExpr.__mul__+   r(   r   r.   c                 ó.   — t          t          || ¦  «        S r   r-   r&   s     r   r+   zSetExpr.__rmul__0   r*   r   Ú__rsub__c                 ó.   — t          t          | |¦  «        S r   ©r%   r	   r&   s     r   Ú__sub__zSetExpr.__sub__5   r(   r   r3   c                 ó.   — t          t          || ¦  «        S r   r2   r&   s     r   r0   zSetExpr.__rsub__:   r*   r   Ú__rpow__c                 ó.   — t          t          | |¦  «        S r   ©r%   r   r&   s     r   Ú__pow__zSetExpr.__pow__?   r(   r   r8   c                 ó.   — t          t          || ¦  «        S r   r7   r&   s     r   r5   zSetExpr.__rpow__D   r*   r   Ú__rtruediv__c                 ó.   — t          t          | |¦  «        S r   ©r%   r   r&   s     r   Ú__truediv__zSetExpr.__truediv__I   r(   r   r=   c                 ó.   — t          t          || ¦  «        S r   r<   r&   s     r   r:   zSetExpr.__rtruediv__N   r*   r   c                 ó’   — t          || j        ¦  «        }|€"t          t          || j        ¦  «        ¦  «        S t          |¦  «        S r   )r   r   r   r   )r   ÚfuncÚress      r   Ú
_eval_funczSetExpr._eval_funcS   s>   € å˜4 ¤Ñ*Ô*ˆØˆ;Ý�8 D¨$¬(Ñ3Ô3Ñ4Ô4Ð4Ý�s‰|Œ|Ðr   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú_op_priorityr   Úpropertyr   r    r   ÚNotImplementedr   r'   r"   r.   r+   r3   r0   r8   r5   r=   r:   rB   © r   r   r   r      sÖ  € € € € € ðð ð €Lð)ð )ð )ð ˆ(Ð,Ð,Ñ
-Ô
-€CðJð Jð Jð €Z�˜Ñ(Ô(ØÐ˜:Ñ&Ô&ð>ð >ñ 'Ô&ñ )Ô(ð>ð €Z�˜Ñ(Ô(ØÐ˜9Ñ%Ô%ð>ð >ñ &Ô%ñ )Ô(ð>ð €Z�˜Ñ(Ô(ØÐ˜:Ñ&Ô&ð>ð >ñ 'Ô&ñ )Ô(ð>ð €Z�˜Ñ(Ô(ØÐ˜9Ñ%Ô%ð>ð >ñ &Ô%ñ )Ô(ð>ð €Z�˜Ñ(Ô(ØÐ˜:Ñ&Ô&ð>ð >ñ 'Ô&ñ )Ô(ð>ð €Z�˜Ñ(Ô(ØÐ˜9Ñ%Ô%ð>ð >ñ &Ô%ñ )Ô(ð>ð €Z�˜Ñ(Ô(ØÐ˜:Ñ&Ô&ð>ð >ñ 'Ô&ñ )Ô(ð>ð €Z�˜Ñ(Ô(ØÐ˜9Ñ%Ô%ð>ð >ñ &Ô%ñ )Ô(ð>ð €Z�˜Ñ(Ô(ØÐ˜>Ñ*Ô*ð>ð >ñ +Ô*ñ )Ô(ð>ð €Z�˜Ñ(Ô(ØÐ˜=Ñ)Ô)ð>ð >ñ *Ô)ñ )Ô(ð>ðð ð ð ð r   r   c                 ó¨   — t          |t          ¦  «        r|j        }t          |t          ¦  «        r|j        } | ||¦  «        }t          |¦  «        S r   )Ú
isinstancer   r   )ÚopÚxÚyÚouts       r   r%   r%   [   sO   € Ý�!•WÑÔð ØŒEˆÝ�!•WÑÔð ØŒEˆØ
ˆ"ˆQ�‰(Œ(€CÝ�3‰<Œ<Ðr   N)Ú
sympy.corer   Úsympy.core.decoratorsr   r   Ú	fancysetsr   Úsetsr   r	   r
   r   r   r   r   r%   rJ   r   r   ú<module>rU      s½   ðØ Ð Ð Ð Ð Ð Ø CÐ CÐ CÐ CÐ CÐ CÐ CÐ CØ Ð Ð Ð Ð Ð Ø KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KÐ KðQð Qð Qð Qð Qˆdñ Qô Qð Qðhð ð ð ð r   