+
    ‹°³jÙ  ã                   ó’   € ^ RI HtHt ^ RIt ! R R]4      t ! R R]4      t ! R R]4      t ! R	 R
]4      t]! 4       t]! 4       t	R# )é    )ÚBasicÚIntegerNc                   ób   a € ] tR t^t o RtR t]R 4       t]R 4       tR t	R t
R tR tR	tV tR
# )Ú
OmegaPowerzÉ
Represents ordinal exponential and multiplication terms one of the
building blocks of the :class:`Ordinal` class.
In ``OmegaPower(a, b)``, ``a`` represents exponent and ``b`` represents multiplicity.
c                ó  € \        V\        4      '       d   \        V4      p\        V\        4      '       d   V^ 8:  d   \        R4      h\        V\        4      '       g   \        P                  V4      p\        P                  ! WV4      # )r   z'multiplicity must be a positive integer)Ú
isinstanceÚintr   Ú	TypeErrorÚOrdinalÚconvertr   Ú__new__)ÚclsÚaÚbs   &&&ÚT/home/luca/screen-checking/.venv/lib/python3.14/site-packages/sympy/sets/ordinals.pyr   ÚOmegaPower.__new__   sc   € Ü�aœ×ÒÜ˜“
ˆAÜ˜!œW×%Ò%¨¨a¬ÜÐEÓFÐFä˜!œW×%Ò%Ü—‘ Ó"ˆAä�}Š}˜S QÓ'Ð'ó    c                ó(   € V P                   ^ ,          # ©r   ©Úargs©Úselfs   &r   ÚexpÚOmegaPower.exp   ó   € à�y‰y˜�|Ðr   c                ó(   € V P                   ^,          # ©é   r   r   s   &r   ÚmultÚOmegaPower.mult   r   r   c                ó¬   € V P                   VP                   8X  d   V! V P                  VP                  4      # V! V P                   VP                   4      # ©N)r   r    )r   ÚotherÚops   &&&r   Ú_compare_termÚOmegaPower._compare_term   s<   € Ø�8‰8�u—y‘yÔ Ù�d—i‘i §¡Ó,Ð,á�d—h‘h §	¡	Ó*Ð*r   c                ó¨   € \        V\        4      '       g    \        ^ V4      pV P                  VP                  8H  #   \         d
    \        u # i ; ir   )r   r   r
   ÚNotImplementedr   ©r   r$   s   &&r   Ú__eq__ÚOmegaPower.__eq__$   sL   € Ü˜%¤×,Ò,ð&Ü" 1 eÓ,�ð �y‰y˜EŸJ™JÑ&Ð&øô ô &Ü%Ò%ð&ús   ˜= ½AÁAc                ó.   € \         P                  ! V 4      # r#   )r   Ú__hash__r   s   &r   r.   ÚOmegaPower.__hash__,   s   € Ü�~Š~˜dÓ#Ð#r   c                ó¶   € \        V\        4      '       g    \        ^ V4      pV P	                  V\
        P                  4      #   \         d
    \        u # i ; ir   )r   r   r
   r)   r&   ÚoperatorÚltr*   s   &&r   Ú__lt__ÚOmegaPower.__lt__/   sP   € Ü˜%¤×,Ò,ð&Ü" 1 eÓ,�ð ×!Ñ! %¬¯©Ó5Ð5øô ô &Ü%Ò%ð&ús   ˜A ÁAÁA© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   Úpropertyr   r    r&   r+   r.   r3   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r      sP   ø‡ € ñò
	(ð ñó ðð ñó ðò+ò'ò$÷6ð 6r   r   c                   óò   a a€ ] tR t^8t oRtV 3R lt]R 4       t]R 4       t]R 4       t	]R 4       t
]R 4       t]R 4       t]R	 4       tR
 tR tR tR tR tR tR t]tR tR tR tR tR tRtVtV ;t# )r   a¹  
Represents ordinals in Cantor normal form.

Internally, this class is just a list of instances of OmegaPower.

Examples
========
>>> from sympy import Ordinal, OmegaPower
>>> from sympy.sets.ordinals import omega
>>> w = omega
>>> w.is_limit_ordinal
True
>>> Ordinal(OmegaPower(w + 1, 1), OmegaPower(3, 2))
w**(w + 1) + w**3*2
>>> 3 + w
w
>>> (w + 1) * w
w**2

References
==========

.. [1] https://en.wikipedia.org/wiki/Ordinal_arithmetic
c                ó|  <a€ \         SV `  ! V .VO5!  pVP                   Uu. uF  q3P                  NK  	  upo\        ;QJ d8    V3R  l\        \        S4      ^,
          4       4       F  '       d   K   RM-	  RM)! V3R  l\        \        S4      ^,
          4       4       4      '       g   \        R4      hV# u upi )c              3   óX   <"  € T F  pSV,          SV^,           ,          8¬  x € K!  	  R# 5i)r   Nr5   )Ú.0ÚiÚpowerss   & €r   Ú	<genexpr>Ú"Ordinal.__new__.<locals>.<genexpr>T   s$   øé € ÐLÑ5K°�6˜!•9  q¨¥s¥Ö+Ó5Kùs   ƒ'*FTz"powers must be in decreasing order)Úsuperr   r   r   ÚallÚrangeÚlenÚ
ValueError)r   ÚtermsÚobjrD   rE   Ú	__class__s   &*  @€r   r   ÚOrdinal.__new__Q   s�   ù€ Ü‰gŠo˜cÐ* EÓ*ˆØ!$§¢Ó*¡˜A—%”%¡Ñ*ˆß‹sÔL´U¼3¸v»;È½?Ô5KÓL�s�sŠsÔL´U¼3¸v»;È½?Ô5KÓL×LÒLÜÐAÓBÐBØˆ
ùò +s   £B9c                ó   € V P                   # r#   r   r   s   &r   rM   ÚOrdinal.termsX   s   € à�y‰yÐr   c                óT   € V \         8X  d   \        R 4      hV P                  ^ ,          # )z ordinal zero has no leading term©Úord0rL   rM   r   s   &r   Úleading_termÚOrdinal.leading_term\   s#   € à”4Œ<ÜÐ?Ó@Ð@Ø�z‰z˜!�}Ðr   c                óT   € V \         8X  d   \        R 4      hV P                  R,          # )z!ordinal zero has no trailing terméÿÿÿÿrT   r   s   &r   Útrailing_termÚOrdinal.trailing_termb   s#   € à”4Œ<ÜÐ@ÓAÐAØ�z‰z˜"�~Ðr   c                ób   €  V P                   P                  \        8H  #   \         d     R # i ; i©F©rZ   r   rU   rL   r   s   &r   Úis_successor_ordinalÚOrdinal.is_successor_ordinalh   s0   € ð	Ø×%Ñ%×)Ñ)¬TÑ1Ð1øÜô 	Úð	ús   ‚ Ÿ.­.c                ód   €  V P                   P                  \        8X  * #   \         d     R # i ; ir]   r^   r   s   &r   Úis_limit_ordinalÚOrdinal.is_limit_ordinalo   s0   € ð	Ø×)Ñ)×-Ñ-´Ò5Ð5øÜô 	Úð	ús   ‚   /®/c                ó.   € V P                   P                  # r#   )rV   r   r   s   &r   ÚdegreeÚOrdinal.degreev   s   € à× Ñ ×$Ñ$Ð$r   c                óF   € V^ 8X  d   \         # \        \        ^ V4      4      # r   )rU   r   r   )r   Úinteger_values   &&r   r   ÚOrdinal.convertz   s!   € à˜AÔÜˆKÜ”z ! ]Ó3Ó4Ð4r   c                óº   € \        V\        4      '       g    \        P                  V4      pV P
                  VP
                  8H  #   \         d
    \        u # i ; ir#   )r   r   r   r
   r)   rM   r*   s   &&r   r+   ÚOrdinal.__eq__€   sN   € Ü˜%¤×)Ò)ð&ÜŸ™¨Ó.�ð �z‰z˜UŸ[™[Ñ(Ð(øô ô &Ü%Ò%ð&ús   ˜A ÁAÁAc                ó,   € \        V P                  4      # r#   )Úhashr   r   s   &r   r.   ÚOrdinal.__hash__ˆ   s   € Ü�D—I‘I‹Ðr   c                óH  € \        V\        4      '       g    \        P                  V4      p\        V P                  VP                  4       F  w  r#W#8w  g   K  W#8  u # 	  \        V P                  4      \        VP                  4      8  #   \         d
    \        u # i ; ir#   )r   r   r   r
   r)   ÚziprM   rK   )r   r$   Ú	term_selfÚ
term_others   &&  r   r3   ÚOrdinal.__lt__‹   s…   € Ü˜%¤×)Ò)ð&ÜŸ™¨Ó.�ô &)¨¯©°U·[±[Ö%AÑ!ˆIØÖ&Ø Ñ-Ò-ñ &Bô �4—:‘:‹¤ U§[¡[Ó!1Ñ1Ð1øô ô &Ü%Ò%ð&ús   ˜B ÂB!Â B!c                ó"   € W8H  ;'       g    W8  # r#   r5   r*   s   &&r   Ú__le__ÚOrdinal.__le__–   s   € Ø‘×-Ð- ¡Ð.r   c                ó   € W8:  * # r#   r5   r*   s   &&r   Ú__gt__ÚOrdinal.__gt__™   s   € ØÒ Ð r   c                ó   € W8  * # r#   r5   r*   s   &&r   Ú__ge__ÚOrdinal.__ge__œ   s   € ØÒÐr   c                óŠ  € R p^ pV \         8X  d   R# V P                   EF   pV'       d
   VR,          pVP                  \         8X  d   V\        VP                  4      ,          pM�VP                  ^8X  d   VR,          pMu\        VP                  P                  4      ^8”  g   VP                  P                  '       d   VRVP                  ,          ,          pMVRVP                  ,          ,          pVP                  ^8X  g0   VP                  \         8X  g   VRVP                  ,          ,          pV^,          pEK#  	  V# )Ú rU   z + Úwzw**(%s)zw**%sz*%s)rU   rM   r   Ústrr    rK   rb   )r   Únet_strÚ
plus_countrD   s   &   r   Ú__str__ÚOrdinal.__str__Ÿ   sá   € ØˆØˆ
Ø”4Œ<ÙØ—•ˆAßØ˜5Õ �à�u‰uœŒ}Øœ3˜qŸv™v›;Õ&‘Ø—‘˜!”Ø˜3•‘Ü�Q—U‘U—[‘[Ó! AÔ%¨¯©×)?×)?Ð)?Ø˜9 Q§U¡U�?Õ*‘à˜7 1§5¡5�=Õ(�à—6‘6˜Q”; q§u¡u´¤}Ø˜5 §¡�<Õ'�à˜!�O‹Jñ! ð" ˆr   c                ó¤  € \        V\        4      '       g    \        P                  V4      pV\
        8X  d   V # \        V P                  4      p\        VP                  4      p\        V4      ^,
          pVP                  pV^ 8¼  d#   W$,          P                  V8  d   V^,          pK)  V^ 8  d   TpM}W$,          P                  V8X  dT   \        WRV,          P                  VP                  P                  ,           4      pVRV V.,           VR,          ,           pMVRV^,            V,           p\        V!  #   \         d
    \        u # i ; i)r   Nºr   NN)r   r   r   r
   r)   rU   ÚlistrM   rK   re   r   r   r    rV   )r   r$   Úa_termsÚb_termsÚrÚb_exprM   Úsum_terms   &&      r   Ú__add__ÚOrdinal.__add__¹   s  € Ü˜%¤×)Ò)ð&ÜŸ™¨Ó.�ð ”DŒ=ØˆKÜ�t—z‘zÓ"ˆÜ�u—{‘{Ó#ˆÜ�‹L˜1ÕˆØ—‘ˆØ�1Œf˜�Ÿ™¨%Ô/Ø��FŠAØˆqŒ5Ø‰EØ�Z�^‰^˜uÔ$Ü! %°­¯©¸5×;MÑ;M×;RÑ;RÕ)RÓSˆHØ˜B˜Q�K 8 *Õ,¨w°r­{Õ:‰Eà˜D˜Q˜q�S�M GÕ+ˆEÜ˜‰Ðøô# ô &Ü%Ò%ð&ús   ˜D; Ä;EÅEc                ó¨   € \        V\        4      '       g    \        P                  V4      pW,           # W,           #   \         d
    \        u # i ; ir#   ©r   r   r   r
   r)   r*   s   &&r   Ú__radd__ÚOrdinal.__radd__Ð   óJ   € Ü˜%¤×)Ò)ð&ÜŸ™¨Ó.�ð �|Ðˆu�|Ðøô ô &Ü%Ò%ð&úó   ˜= ½AÁAc                ó  € \        V\        4      '       g    \        P                  V4      p\
        W39   d   \
        # V P                  pV P                  P                  p. pVP                  '       dJ   VP                   F8  pVP                  \        W%P                  ,           VP                  4      4       K:  	  M¥VP                  R R  F8  pVP                  \        W%P                  ,           VP                  4      4       K:  	  VP                  P                  pVP                  \        W#V,          4      4       V\        V P                  R,          4      ,          p\        V!  #   \         d
    \        u # i ; i)Nr†   rY   )r   r   r   r
   r)   rU   re   rV   r    rb   rM   Úappendr   r   rZ   r‡   )r   r$   Úa_expÚa_multÚ	summationÚargÚb_mults   &&     r   Ú__mul__ÚOrdinal.__mul__Ø   s"  € Ü˜%¤×)Ò)ð&ÜŸ™¨Ó.�ô �D�=Ô ÜˆKØ—‘ˆØ×"Ñ"×'Ñ'ˆØˆ	Ø×!×!Ð!Ø—{”{�Ø× Ñ ¤¨E·G±G­O¸S¿X¹XÓ!FÖGò #ð —{‘{ 3 BÓ'�Ø× Ñ ¤¨E·G±G­O¸S¿X¹XÓ!FÖGñ (à×(Ñ(×-Ñ-ˆFØ×ÑœZ¨°f­}Ó=Ô>Øœ˜dŸj™j¨�nÓ-Õ-ˆIÜ˜	Ñ"Ð"øô# ô &Ü%Ò%ð&ús   ˜E, Å,F Å?F c                ó¨   € \        V\        4      '       g    \        P                  V4      pW,          # W,          #   \         d
    \        u # i ; ir#   r�   r*   s   &&r   Ú__rmul__ÚOrdinal.__rmul__ï   r“   r”   c                óN   € V \         8X  g   \        # \        \        V^4      4      # r   )Úomegar)   r   r   r*   s   &&r   Ú__pow__ÚOrdinal.__pow__÷   s!   € Ø”uŒ}Ü!Ð!Ü”z %¨Ó+Ó,Ð,r   r5   )r6   r7   r8   r9   r:   r   r;   rM   rV   rZ   r_   rb   re   Úclassmethodr   r+   r.   r3   ru   rx   r{   rƒ   Ú__repr__r�   r‘   rœ   rŸ   r£   r<   r=   Ú__classcell__)rO   r?   s   @@r   r   r   8   sã   ù‡ € ñõ0ð ñó ðð ñó ðð
 ñó ðð
 ñó ðð ñó ðð ñ%ó ð%ð ñ5ó ð5ò
)òò	2ò/ò!ò òð0 €Hòò.ò#ò.÷-ò -r   r   c                   ó   € ] tR t^ýtRtRtR# )ÚOrdinalZeroz<The ordinal zero.

OrdinalZero can be imported as ``ord0``.
r5   N)r6   r7   r8   r9   r:   r<   r5   r   r   r©   r©   ý   s   † ñó 	r   r©   c                   ó:   a € ] tR tRt o RtR t]R 4       tRtV t	R# )ÚOrdinalOmegai  zÎThe ordinal omega which forms the base of all ordinals in cantor normal form.

OrdinalOmega can be imported as ``omega``.

Examples
========

>>> from sympy.sets.ordinals import omega
>>> omega + omega
w*2
c                ó,   € \         P                  V 4      # r#   )r   r   )r   s   &r   r   ÚOrdinalOmega.__new__  s   € Ü�‰˜sÓ#Ð#r   c                ó   € \        ^^4      3# r   )r   r   s   &r   rM   ÚOrdinalOmega.terms  s   € ä˜1˜aÓ Ð"Ð"r   r5   N)
r6   r7   r8   r9   r:   r   r;   rM   r<   r=   r>   s   @r   r«   r«     s#   ø‡ € ñ
ò$ð ñ#ó ö#r   r«   )
Ú
sympy.corer   r   r1   r   r   r©   r«   rU   r¢   r5   r   r   Ú<module>r±      sO   ðß %Û ô06�ô 06ôfB-ˆeô B-ôJ	�'ô 	ô#�7ô #ñ( ƒ}€Ù‹‚r   