+
    ‹°³ja  ã                   ól   € ^ RI Ht ^ RIHt ^ RIHt ^ RIHt ^ RIH	t	 ^RI
HtHtHt  ! R R]4      tR	# )
é    )Ú
_sympifyit)Úglobal_parameters)Ú
fuzzy_bool)ÚS)Ú_sympify)ÚSetÚ	FiniteSetÚSetKindc                   ó�   a a€ ] tR t^
t oRtRV 3R llt]R 4       tR t]	! R]
4      R 4       tR tR tR	 t]R
 4       tRtVtV ;t# )ÚPowerSeta±  A symbolic object representing a power set.

Parameters
==========

arg : Set
    The set to take power of.

evaluate : bool
    The flag to control evaluation.

    If the evaluation is disabled for finite sets, it can take
    advantage of using subset test as a membership test.

Notes
=====

Power set `\mathcal{P}(S)` is defined as a set containing all the
subsets of `S`.

If the set `S` is a finite set, its power set would have
`2^{\left| S \right|}` elements, where `\left| S \right|` denotes
the cardinality of `S`.

Examples
========

>>> from sympy import PowerSet, S, FiniteSet

A power set of a finite set:

>>> PowerSet(FiniteSet(1, 2, 3))
PowerSet({1, 2, 3})

A power set of an empty set:

>>> PowerSet(S.EmptySet)
PowerSet(EmptySet)
>>> PowerSet(PowerSet(S.EmptySet))
PowerSet(PowerSet(EmptySet))

A power set of an infinite set:

>>> PowerSet(S.Reals)
PowerSet(Reals)

Evaluating the power set of a finite set to its explicit form:

>>> PowerSet(FiniteSet(1, 2, 3)).rewrite(FiniteSet)
FiniteSet(EmptySet, {1}, {2}, {3}, {1, 2}, {1, 3}, {2, 3}, {1, 2, 3})

References
==========

.. [1] https://en.wikipedia.org/wiki/Power_set

.. [2] https://en.wikipedia.org/wiki/Axiom_of_power_set
c                óÀ   <€ Vf   \         P                  p\        V4      p\        V\        4      '       g   \        RP                  V4      4      h\        SV `!  W4      # )Nz{} must be a set.)	r   Úevaluater   Ú
isinstancer   Ú
ValueErrorÚformatÚsuperÚ__new__)ÚclsÚargr   Ú	__class__s   &&&€ÚT/home/luca/screen-checking/.venv/lib/python3.14/site-packages/sympy/sets/powerset.pyr   ÚPowerSet.__new__E   sP   ø€ ØÒÜ&×/Ñ/ˆHä�s‹mˆä˜#œs×#Ò#ÜÐ0×7Ñ7¸Ó<Ó=Ð=ä‰w‰˜sÓ(Ð(ó    c                ó(   € V P                   ^ ,          # )r   )Úargs©Úselfs   &r   r   ÚPowerSet.argP   s   € à�y‰y˜�|Ðr   c                ób   € V P                   pVP                  '       d   VP                  4       # R # ©N)r   Úis_FiniteSetÚpowerset)r   r   Úkwargsr   s   &*, r   Ú_eval_rewrite_as_FiniteSetÚ#PowerSet._eval_rewrite_as_FiniteSetT   s&   € Ø�h‰hˆØ××ÐØ—<‘<“>Ð!Ùr   Úotherc                óz   € \        V\        4      '       g   R # \        V P                  P	                  V4      4      # r    )r   r   r   r   Úis_superset©r   r&   s   &&r   Ú	_containsÚPowerSet._containsZ   s,   € ä˜%¤×%Ò%Ùä˜$Ÿ(™(×.Ñ.¨uÓ5Ó6Ð6r   c                ó|   € \        V\        4      '       d&   V P                  P                  VP                  4      # R # r    )r   r   r   Ú	is_subsetr)   s   &&r   Ú_eval_is_subsetÚPowerSet._eval_is_subseta   s-   € Ü�eœX×&Ò&Ø—8‘8×%Ñ% e§i¡iÓ0Ð0ñ 'r   c                ó:   € ^\        V P                  4      ,          # )é   )Úlenr   r   s   &r   Ú__len__ÚPowerSet.__len__e   s   € Ø”C˜Ÿ™“MÕ!Ð!r   c              #  ó  "  € \         P                  .p\         P                  x € V P                   FG  p. p\        V4      pV F   pW$,           pVx € VP	                  V4       K"  	  VP                  V4       KI  	  R # 5ir    )r   ÚEmptySetr   r	   ÚappendÚextend)r   ÚfoundÚxÚtempÚyÚnews   &     r   Ú__iter__ÚPowerSet.__iter__h   sf   é € Ü—‘�ˆÜ�j‰jÒà—”ˆAØˆDÜ˜!“ˆAÛ�Ø•e�Ø’	Ø—‘˜CÖ ñ ð �L‰L˜Öó ùs   ‚A=A?c                ó@   € \        V P                  P                  4      # r    )r
   r   Úkindr   s   &r   rA   ÚPowerSet.kindu   s   € ä�t—x‘x—}‘}Ó%Ð%r   © r    )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   Úpropertyr   r$   r   ÚNotImplementedr*   r.   r3   r>   rA   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r   Ú__classdict__s   @@r   r   r   
   sl   ù‡ € ñ9÷t	)ð ñó ðòñ �˜Ó(ñ7ó )ð7ò1ò"òð ñ&ó ÷&ð &r   r   N)Úsympy.core.decoratorsr   Úsympy.core.parametersr   Úsympy.core.logicr   Úsympy.core.singletonr   Úsympy.core.sympifyr   Úsetsr   r	   r
   r   rC   r   r   Ú<module>rU      s(   ðÝ ,Ý 3Ý 'Ý "Ý 'ç )Ñ )ôm&ˆsö m&r   