Ë
    óÿæi"  ã                   ó  — d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	m
Z
 d dlmZ d dlmZ d dlmZmZ d d	lmZmZmZmZmZ d d
lmZmZmZmZ d„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z,d„ Z-y)é    )ÚAdd)ÚBasic)ÚTuple)ÚS)ÚSymbolÚsymbols)ÚAnd)ÚStr)ÚCompoundÚVariable)ÚdeconstructÚ	constructÚunifyÚis_associativeÚis_commutative)ÚxÚyÚzÚnc                  ó$  — t        t        d«      t        d«      t        d«      «      } t        t         d«      }t        | «      |k(  sJ ‚t        d«      dk(  sJ ‚t        t        «      t        k(  sJ ‚t        t        t        f¬«      t        t        «      k(  sJ ‚t        t        dt        d¬«      «      t        t        dt        f«      k(  sJ ‚t        t        dt        d¬«      t        f¬«      t        t        dt        t        «      f«      k(  sJ ‚y )Né   é   é   )r   r   r   ©Ú	variablesF©Úevaluate)r   r   r   r   r   r   r   ©ÚexprÚexpecteds     úq/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/sympy/unify/tests/test_sympy.pyÚtest_deconstructr"      sØ   € Ü”Q�q“Tœ1˜Q›4¤ 1£Ó&€DÜœ˜yÓ)€HÜ�tÓ Ò(Ð(Ð(ä�q‹>˜QÒÐÐÜ”q‹>œQÒÐÐÜ”q¤Q DÔ)¬X´a«[Ò8Ð8Ð8Ü”s˜1œa¨%Ô0Ó1´X¼cÀAÄqÀ6Ó5JÒJÐJÐJÜ”s˜1œa¨%Ô0¼Q¸DÔAÜ”s˜Q¤¬£Ð,Ó-ò.ð .ñ .ó    c                  óÐ   — t        t        t        d«      t        d«      t        d«      f«      } t        t        d«      t        d«      t        d«      «      }t        | «      |k(  sJ ‚y ©Nr   r   r   )r   r   r   r   r   s     r!   Útest_constructr&      sM   € Üœ¤ !£¤a¨£d¬A¨a«DÐ1Ó2€DÜ”Q�q“Tœ1˜Q›4¤ 1£Ó&€HÜ�T‹?˜hÒ&Ð&Ñ&r#   c            
      ó  — t        t        d«      t        t        d«      «      t        d«      «      } t        t         t        d«      t        t         t        d«      «      t        d«      f«      }t	        | «      |k(  sJ ‚t        |«      | k(  sJ ‚y r%   )r   r   r   r   r   r   )r   Úcmpds     r!   Útest_nestedr)      sk   € Ü”�1“”uœQ˜q›T“{¤A a£DÓ)€DÜ”EœA˜a›D¤(¬5´%¸³(Ó";¼Q¸q»TÐBÓC€DÜ�tÓ Ò$Ð$Ð$Ü�T‹?˜dÒ"Ð"Ñ"r#   c            
      ó.  — t        t        d«      t        d«      t        d«      «      } t        t        d«      \  }}}t        |||«      }t	        t        | |i |||f«      «      |d|d|digk(  sJ ‚t	        t        | ||||f¬«      «      |d|d|digk(  sJ ‚y )Nr   r   r   Úabcr   ©r   r   Úmapr   Úlistr   )r   ÚaÚbÚcÚpatterns        r!   Ú
test_unifyr3   $   s¨   € Ü”�1“”q˜“tœQ˜q›TÓ"€DÜ”&˜%Ó �G€A€qˆ!Ü�A�q˜!‹n€GÜ”�d˜G R¨!¨Q°¨Ó3Ó4¸!¸QÀÀ1ÀaÈÐ9KÐ8LÒLÐLÐLÜ”�d˜G°°1°a¨yÔ9Ó:Ø��A�q˜!˜QÐÐ ò!ð !ñ !r#   c            
      ó¼   — t        t        t        t        d«      t        d«      «      t        t        d«      t        «      i t        f¬«      «      t        digk(  sJ ‚y )Nr   r   r   )r.   r   r   r   r   © r#   r!   Útest_unify_variablesr6   ,   sE   € Ü””eœA˜a›D¤! A£$Ó'¬¬q°«t´Q«¸ÌÀtÔLÓMÔSTÐVWÐRXÐQYÒYÐYÑYr#   c            	      ó  — t        t        d«      t        d«      «      } t        t        d«      \  }}t        ||«      }t	        t        | |i ||f«      «      |d|digk(  sJ ‚t	        t        | ||di||f«      «      g k(  sJ ‚y )Nr   r   Úabé   r,   )r   r/   r0   r2   s       r!   Útest_s_inputr:   /   sƒ   € Ü”�1“”q˜“tÓ€DÜŒv�tÓ�D€A€qÜ�A�q‹k€GÜ”�d˜G R¨!¨Q¨Ó0Ó1°q¸!¸QÀ°l°^ÒCÐCÐCÜ”�d˜G a¨ V¨a°¨VÓ4Ó5¸Ò;Ð;Ñ;r#   c                 óŠ   ‡— t        | «      } t        ‰«      Št        | «      t        ‰«      k(  xr t        ˆfd„| D «       «      S )Nc              3   ó&   •K  — | ]  }|‰v –— Œ
 y ­w©Nr5   )Ú.0r   r0   s     €r!   Ú	<genexpr>ziterdicteq.<locals>.<genexpr>9   s   øè ø€ Ð#6±A¨q A¨¤F±Aùs   ƒ)ÚtupleÚlenÚall)r/   r0   s    `r!   Ú
iterdicteqrC   6   s8   ø€ Üˆa‹€AÜˆa‹€AÜˆq‹6”S˜“VÑÒ6¤Ó#6±AÓ#6Ó 6Ð6r#   c                  ó  — t        dddd¬«      } t        t        d«      \  }}}t        |||d¬«      }t        t	        | |i |||f«      «      }|d|d|di|d|d|di|d|d|di|d|d|di|d|d|di|d|d|dif}t        ||«      sJ ‚y ©Nr   r   r   Fr   r+   )r   r-   r   r@   r   rC   ©r   r/   r0   r1   r2   Úresultr    s          r!   Útest_unify_commutativerH   ;   sÈ   € Üˆq�!�Q Ô'€DÜ”&˜%Ó �G€A€qˆ!Ü�!�Q˜ EÔ*€Gä”E˜$ ¨¨a°°A¨YÓ7Ó8€FØ�A�q˜!˜Q Ð"Ø�A�q˜!˜Q Ð"Ø�A�q˜!˜Q Ð"Ø�A�q˜!˜Q Ð"Ø�A�q˜!˜Q Ð"Ø�A�q˜!˜Q Ð"ð$€Hô �f˜hÔ'Ð'Ñ'r#   c                  ó¨  — t        dddd¬«      } t        t        d«      \  }}}t        ||d¬«      }t        t	        |«      «      sJ ‚t        t	        |«      «      sJ ‚t        t        | |i ||f«      «      }|d|t        ddd¬«      i|d|t        ddd¬«      i|d|t        ddd¬«      i|d|t        ddd¬«      i|d|t        ddd¬«      i|d|t        ddd¬«      i|t        ddd¬«      |di|t        ddd¬«      |di|t        ddd¬«      |di|t        ddd¬«      |di|t        ddd¬«      |di|t        ddd¬«      |dig}t        ||«      sJ ‚y rE   )	r   r-   r   r   r   r   r.   r   rC   rF   s          r!   Útest_unify_iterrJ   J   s†  € Üˆq�!�Q Ô'€DÜ”&˜%Ó �G€A€qˆ!Ü�!�Q Ô'€GÜœ+ gÓ.Ô/Ð/Ð/Üœ+ gÓ.Ô/Ð/Ð/ä”E˜$ ¨¨a°¨VÓ4Ó5€FØ�A�qœ#˜a ¨UÔ3Ð4Ø�A�qœ#˜a ¨UÔ3Ð4Ø�A�qœ#˜a ¨UÔ3Ð4Ø�A�qœ#˜a ¨UÔ3Ð4Ø�A�qœ#˜a ¨UÔ3Ð4Ø�A�qœ#˜a ¨UÔ3Ð4Ø”C˜˜1 uÔ-¨q°!Ð4Ø”C˜˜1 uÔ-¨q°!Ð4Ø”C˜˜1 uÔ-¨q°!Ð4Ø”C˜˜1 uÔ-¨q°!Ð4Ø”C˜˜1 uÔ-¨q°!Ð4Ø”C˜˜1 uÔ-¨q°!Ð4ð6€Hô �f˜hÔ'Ð'Ñ'r#   c            	      óä   — ddl m} m}  |t        «       | t        «      dz  z   }t	        t
        d«      \  }} ||«       | |«      dz  z   }t        t        ||i ||f«      «      |t        igk(  sJ ‚y )Nr   ©ÚcosÚsinr   Úpq)Ú(sympy.functions.elementary.trigonometricrM   rN   r   r-   r   r.   r   )rM   rN   r   ÚpÚqr2   s         r!   Útest_hard_matchrS   a   si   € ßCÙŒq‹6‘Cœ“F˜A‘IÑ€DÜŒv�tÓ�D€A€qÙ�!‹f‘s˜1“v˜q‘yÑ €GÜ”�d˜G R¨!¨Q¨Ó0Ó1°q¼!°f°XÒ=Ð=Ñ=r#   c                  óB  — ddl m}   | dt        t        «      } | ddd«      } | ddd«      }t        t	        ||i t        t        d«      g¬«      «      t        d«      t        d«      t        digk(  sJ ‚t        t	        ||i t        t        d«      g¬«      «      g k(  sJ ‚y )	Nr   )ÚMatrixSymbolÚXÚYr   ÚZr   r   )Ú"sympy.matrices.expressions.matexprrU   r   r.   r   r
   )rU   rV   rW   rX   s       r!   Útest_matrixrZ   h   s‘   € Ý?Ù�Sœ!œQÓ€AÙ�S˜!˜QÓ€AÙ�S˜!˜QÓ€AÜ”�a˜˜B¬1¬c°#«h¨-Ô8Ó9¼sÀ3»xÌÈSËÔSTÐVWÐ>XÐ=YÒYÐYÐYÜ”�a˜˜B¬1¬c°#«h¨-Ô8Ó9¸RÒ?Ð?Ñ?r#   c                  óz   — t         t        dz  z   } t        t        | «      «      }t	        |«       |j
                   y )Nr   )r   r   r   r   Ústrr   )r   Úrebuilts     r!   Útest_non_frankenAddsr^   p   s0   € ô ŒQˆq‰S‰5€DÜœ DÓ)Ó*€Gäˆ„LØ×Ór#   c                  ó¬   — ddl m}  t        d«      \  }}}}} | |||«      } | ||«      }||f}| | ||«      ||it        t	        |||¬«      «      v sJ ‚y )Nr   ©Ú	FiniteSetz	a,b,c,x,yr   )Úsympy.sets.setsra   r   r@   r   )	ra   r/   r0   r1   r   r   ÚsÚtr   s	            r!   Útest_FiniteSet_commutivityre   y   sf   € Ý)Ü˜KÓ(�M€A€qˆ!ˆQ�Ù�!�Q˜Ó€AÙ�!�Q‹€AØ�A�€IØ‰y˜˜A‹  1Ð%¬¬u°Q¸ÀYÔ/OÓ)PÑPÐPÑPr#   c                  óR  — ddl m}  t        d«      \  }}}}}} | t        t	        d«      |«      |t        ||«      «      } | |t        ||«      «      }||f}	|d| | |t        ||«      «      i||| | |t        t	        d«      |«      «      if}
t        t        |||	¬«      |
«      sJ ‚y )Nr   r`   za,b,c,x,y,zr   r   )rb   ra   r   r   r   rC   r   )ra   r/   r0   r1   r   r   r   r   r2   r   r    s              r!   Útest_FiniteSet_complexrg   �   s«   € Ý)Ü˜}Ó-Ñ€A€qˆ!ˆQ��1Ù”Uœ1˜Q›4 “^ Q¬¨a°«Ó4€DÙ˜œ5  A›;Ó'€GØ�1�€IØ�A�q™) A¤u¨Q°£{Ó3Ð4Ø˜!˜Q¡	¨!¬U´1°Q³4¸«^Ó <Ð=ð?€Hä”e˜D '°YÔ?ÀÔJÐJÑJr#   c            	      óÐ   — t         t        f} t         t        dkD  t        t        dk  if}t	        t        t        dkD  t        dk  z  t        t         t        «      | ¬«      |«      sJ ‚y )Nr   r   r   )r   r   r   r   rC   r   r	   )r   r    s     r!   Útest_andri   Œ   sV   € Ü”1�€IÜ”A˜‘Eœ1œa !™eÐ$Ð&€HÜ”eœQ˜q™S¤Q q¡S™M¬3¬q´!«9À	ÔJØô ð  ñ  r#   c            
      ó–   — ddl m}  t        t         | dd«       | dd«      z    | dd«       | dd«      z    | dd«      f¬«      «      sJ ‚y )	Nr   ©ÚIntervalr   é
   é   é   é   r   )rb   rl   r.   r   rk   s    r!   Ú
test_Unionrq   ’   sT   € Ý(Ü”‘h˜q !“n¡x°°BÓ'7Ñ7Ù˜q !“n¡x°°BÓ'7Ñ7Ù!)¨"¨bÓ!1Ð 3ô5ô 6ð 6ñ 6r#   c                  óÊ   — t        t        t        t        z   «      «      sJ ‚t        t        t        t        z  «      «      sJ ‚t        t        t        t        z  «      «      rJ ‚y r=   )r   r   r   r   r5   r#   r!   Útest_is_commutativers   ˜   sJ   € Üœ+¤a¬¡cÓ*Ô+Ð+Ð+Üœ+¤a¬¡cÓ*Ô+Ð+Ð+Üœk¬!¬Q©$Ó/Ô0Ð0Ð0Ð0r#   c            
      ó  — ddl m} m}m}m} ddlm}m}  |d«       |d«      z   |d«      z  d |d«      z   |d«      z  z   }|  ||«      z   ||«      z  | ||«      z   ||«      z  z   }t        t        ||| |||f¬«      «      sJ ‚y )Nr   )r/   r0   r1   ÚdrL   r   é   r9   r   )
Ú	sympy.abcr/   r0   r1   ru   rP   rM   rN   Únextr   )r/   r0   r1   ru   rM   rN   ÚeqÚpats           r!   Útest_commutative_in_commutativer{   �   sƒ   € ß!Ó!ßCÙ	ˆQ‹‘�A“‰‘s˜1“vÑ	 ¡# a£&¡©¨Q«¡Ñ	/€BØ
‰C�‹F‰(‘3�q“6‰/˜A™c !›f™H¡S¨£V™OÑ
+€CÜ”�b˜#¨!¨A¨a°¨Ô3Ô4Ð4Ñ4r#   N).Úsympy.core.addr   Úsympy.core.basicr   Úsympy.core.containersr   Úsympy.core.singletonr   Úsympy.core.symbolr   r   Úsympy.logic.boolalgr	   r
   Úsympy.unify.corer   r   Úsympy.unify.usympyr   r   r   r   r   rw   r   r   r   r   r"   r&   r)   r3   r6   r:   rC   rH   rJ   rS   rZ   r^   re   rg   ri   rq   rs   r{   r5   r#   r!   Ú<module>r„      s‹   ðÝ Ý "Ý 'Ý "ß /Ý #Ý !ß /÷õ ç  Ó  ò
.ò'ò
#ò!òZò<ò7ò
(ò(ò.>ò@òòQòKò ò6ò1ó
5r#   