+
    ia                     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   &&&s/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/sympy/sets/powerset.pyr   PowerSet.__new__E   sP    &//Hsm#s##077<==ws((    c                (    V P                   ^ ,          # )r   )argsselfs   &r   r   PowerSet.argP   s    yy|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&    hh<<>!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-    eX&&88%%eii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     jjAD!Ae	C   LL s   A=A?c                @    \        V P                  P                  4      # r    )r
   r   kindr   s   &r   rA   PowerSet.kindu   s    txx}}%%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   