
    \h"                        S SK Jr  S SKJr  S SKJr  S SKJr  S SKJ	r	J
r
  S SKJr  S SKJr  S SKJrJr  S S	KJrJrJrJrJr  S S
KJrJrJrJr  S rS rS rS rS r S r!S r"S r#S r$S r%S r&S r'S r(S r)S r*S r+S r,S r-g)    )Add)Basic)Tuple)S)Symbolsymbols)And)Str)CompoundVariable)deconstruct	constructunifyis_associativeis_commutative)xyznc                     [        [        S5      [        S5      [        S5      5      n [        [         S5      n[        U 5      U:X  d   e[        S5      S:X  d   e[        [        5      [        :X  d   e[        [        [        4S9[        [        5      :X  d   e[        [        S[        SS95      [        [        S[        45      :X  d   e[        [        S[        SS9[        4S9[        [        S[        [        5      45      :X  d   eg )N         )r   r   r   	variablesFevaluate)r   r   r   r   r   r   r   exprexpecteds     T/var/www/auris/envauris/lib/python3.13/site-packages/sympy/unify/tests/test_sympy.pytest_deconstructr"      s    QqT1Q41&Dy)Ht(((q>Qq>QqQD)Xa[888s1a%01XcAq65JJJJs1a%0QDAsQ,-. . .    c                      [        [        [        S5      [        S5      [        S5      45      n [        [        S5      [        S5      [        S5      5      n[        U 5      U:X  d   eg Nr   r   r   )r   r   r   r   r   s     r!   test_constructr&      sM    !adAaD12DQqT1Q41&HT?h&&&r#   c            
      "   [        [        S5      [        [        S5      5      [        S5      5      n [        [         [        S5      [        [         [        S5      5      [        S5      45      n[	        U 5      U:X  d   e[        U5      U :X  d   eg r%   )r   r   r   r   r   r   )r   cmpds     r!   test_nestedr)      sk    1uQqT{AaD)DEAaD(5%(";QqTBCDt$$$T?d"""r#   c            
          [        [        S5      [        S5      [        S5      5      n [        [        S5      u  pn[        XU5      n[	        [        X0 XU45      5      USUSUS0/:X  d   e[	        [        XXU4S95      USUSUS0/:X  d   eg )Nr   r   r   abcr   r   r   mapr   listr   )r   abcpatterns        r!   
test_unifyr3   $   s    1qtQqT"D&% GA!A!nGdR!34!Q1a9K8LLLLday9:Aq!Q ! ! !r#   c            
          [        [        [        [        S5      [        S5      5      [        [        S5      [        5      0 [        4S95      [        S0/:X  d   eg )Nr   r   r   )r.   r   r   r   r    r#   r!   test_unify_variablesr6   ,   sE    eAaD!A$'qtQtLMSTVWRXQYYYYr#   c            	          [        [        S5      [        S5      5      n [        [        S5      u  p[        X5      n[	        [        X0 X45      5      USUS0/:X  d   e[	        [        XUS0X45      5      / :X  d   eg )Nr   r   ab   r,   )r   r/   r0   r2   s       r!   test_s_inputr:   /   sw    1qtDvtDAAkGdR!01q!Ql^CCCdaVaV45;;;r#   c                    ^ [        U 5      n [        T5      m[        U 5      [        T5      :H  =(       a    [        U4S jU  5       5      $ )Nc              3   ,   >#    U  H	  oT;   v   M     g 7fNr5   ).0r   r0   s     r!   	<genexpr>iterdicteq.<locals>.<genexpr>9   s     #6AqFAs   )tuplelenall)r/   r0   s    `r!   
iterdicteqrD   6   s8    aAaAq6SV6#6A#6 66r#   c                     [        SSSSS9n [        [        S5      u  pn[        XUSS9n[        [	        X0 XU45      5      nUSUSUS0USUSUS0USUSUS0USUSUS0USUSUS0USUSUS04n[        XV5      (       d   eg Nr   r   r   Fr   r+   )r   r-   r   rA   r   rD   r   r/   r0   r1   r2   resultr    s          r!   test_unify_commutativerI   ;   s    q!Q'D&% GA!!E*GE$aAY78FAq!Q"Aq!Q"Aq!Q"Aq!Q"Aq!Q"Aq!Q"$H f''''r#   c                  h   [        SSSSS9n [        [        S5      u  pn[        XSS9n[        [	        U5      5      (       d   e[        [	        U5      5      (       d   e[        [        X0 X45      5      nUSU[        SSSS90USU[        SSSS90USU[        SSSS90USU[        SSSS90USU[        SSSS90USU[        SSSS90U[        SSSS9US0U[        SSSS9US0U[        SSSS9US0U[        SSSS9US0U[        SSSS9US0U[        SSSS9US0/n[        XV5      (       d   eg rF   )	r   r-   r   r   r   r   r.   r   rD   rG   s          r!   test_unify_iterrK   J   s   q!Q'D&% GA!!'G+g.////+g.////E$aV45FAq#aU34Aq#aU34Aq#aU34Aq#aU34Aq#aU34Aq#aU34C1u-q!4C1u-q!4C1u-q!4C1u-q!4C1u-q!4C1u-q!46H f''''r#   c            	          SSK Jn Jn  U" [        5      U " [        5      S-  -   n[	        [
        S5      u  p4U" U5      U " U5      S-  -   n[        [        X%0 X445      5      U[        0/:X  d   eg )Nr   cossinr   pq)(sympy.functions.elementary.trigonometricrN   rO   r   r-   r   r.   r   )rN   rO   r   pqr2   s         r!   test_hard_matchrT   a   sc    Cq6CFAIDvtDA!fs1vqy GdR!01q!fX===r#   c                  6   SSK Jn   U " S[        [        5      nU " SSS5      nU " SSS5      n[        [	        X0 [        [        S5      /S95      [        S5      [        S5      [        S0/:X  d   e[        [	        X0 [        [        S5      /S95      / :X  d   eg )	Nr   )MatrixSymbolXYr   Zr   r   )"sympy.matrices.expressions.matexprrV   r   r.   r   r
   )rV   rW   rX   rY   s       r!   test_matrixr[   h   s    ?S!QAS!QAS!QAaB1c#h-89s3xSSTVW>X=YYYYaB1c#h-89R???r#   c                  z    [         [        S-  -   n [        [        U 5      5      n[	        U5        UR
                    g )Nr   )r   r   r   r   strr   )r   rebuilts     r!   test_non_frankenAddsr_   p   s0     QqS5DD)*GLr#   c            	          SSK Jn   [        S5      u  pp4nU " XU5      nU " XE5      nXE4nX@" X5      XR0[        [	        XgUS95      ;   d   eg )Nr   	FiniteSetz	a,b,c,x,yr   )sympy.sets.setsrb   r   rA   r   )	rb   r/   r0   r1   r   r   str   s	            r!   test_FiniteSet_commutivityrf   y   sV    )K(MA!!A!AIy%uQY/O)PPPPr#   c                  @   SSK Jn   [        S5      u  pp4pVU " [        [	        S5      U5      U[        XF5      5      nU " U[        XB5      5      nX4n	USX" U[        XF5      5      0X&X" U[        [	        S5      U5      5      04n
[        [        XxU	S9U
5      (       d   eg )Nr   ra   za,b,c,x,y,zr   r   )rc   rb   r   r   r   rD   r   )rb   r/   r0   r1   r   r   r   r   r2   r   r    s              r!   test_FiniteSet_complexrh      s    )}-A!U1Q4^Qa4D5;'GIAq)AuQ{34Q	!U1Q4^ <=?HeDY?JJJJr#   c            	          [         [        4n [         [        S:  [        [        S:  04n[	        [        [        S:  [        S:  -  [        [         [        5      U S9U5      (       d   eg )Nr   r   r   )r   r   r   r   rD   r   r	   )r   r    s     r!   test_andrj      s[    1IAE1a!e$&HeQqSQqSM3q!9	J       r#   c            
          SSK Jn   [        [        U " SS5      U " SS5      -   U " SS5      U " SS5      -   U " SS5      4S95      (       d   eg )	Nr   Intervalr   
            r   )rc   rm   r.   r   rl   s    r!   
test_Unionrr      sY    (hq!nxB'77q!nxB'77!)"b!1 35 6 6 6 6r#   c                      [        [        [        [        -   5      5      (       d   e[        [        [        [        -  5      5      (       d   e[        [        [        [        -  5      5      (       a   eg r=   )r   r   r   r   r5   r#   r!   test_is_commutativert      sS    +ac*+++++ac*++++k!Q$/00000r#   c            
         SSK Jn JnJnJn  SSKJnJn  U" S5      U" S5      -  U" S5      -  SU" S5      -  U" S5      -  -   nX" U5      -  U" U5      -  X5" U5      -  U" U5      -  -   n[        [        XgXX#4S95      (       d   eg )Nr   )r/   r0   r1   drM   r      r9   r   )
	sympy.abcr/   r0   r1   rv   rQ   rN   rO   nextr   )r/   r0   r1   rv   rN   rO   eqpats           r!   test_commutative_in_commutativer|      s    !!C	QAs1v	#a&Q	/B
CF(3q6/Ac!fHSVO
+Cb!a34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   rx   r   r   r   r   r"   r&   r)   r3   r6   r:   rD   rI   rK   rT   r[   r_   rf   rh   rj   rr   rt   r|   r5   r#   r!   <module>r      s     " ' " / # ! /     
.'
#!Z<7
((.>@QK 61
5r#   