
    g"                        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-dS )    )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 d S )N         )r   r   r   	variablesFevaluate)r   r   r   r   r   r   r   exprexpecteds     X/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/unify/tests/test_sympy.pytest_deconstructr"      s.   QqTT1Q441&&Dy))Ht((((q>>Qq>>QqQD)))Xa[[8888s1a%00011XcAq65J5JJJJJs1a%000QDAAAsQ,--. . . . . .    c                     t          t          t          d          t          d          t          d          f          } t          t          d          t          d          t          d                    }t          |           |k    sJ d S Nr   r   r   )r   r   r   r   r   s     r!   test_constructr&      sj    !addAaDD122DQqTT1Q44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 d S r%   )r   r   r   r   r   r   )r   cmpds     r!   test_nestedr)      s    1uQqTT{{AaDD))DEAaDD(5%((";";QqTTBCCD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 d S )Nr   r   r   abcr   r   r   mapr   listr   )r   abcpatterns        r!   
test_unifyr3   $   s    1qttQqTT""D&%  GAq!Aq!nnGdGR!Q3344!Q1a9K8LLLLLdG1ay999::Aq!Q ! ! ! ! ! !r#   c            
          t          t          t          t          d          t          d                    t          t          d          t                    i t          f                    t          digk    sJ d S )Nr   r   r   )r.   r   r   r   r    r#   r!   test_unify_variablesr6   ,   sb    eAaDD!A$$''qttQtLLLMMSTVWRXQYYYYYYYr#   c            	      T   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 d S )Nr   r   ab   r,   )r   r/   r0   r2   s       r!   test_s_inputr:   /   s    1qttDvtDAqAqkkGdGR!Q0011q!Ql^CCCCdGaVaV4455;;;;;;r#   c                     t          |           } t                    t          |           t                    k    ot          fd| D                       S )Nc              3       K   | ]}|v V  	d S Nr5   ).0r   r0   s     r!   	<genexpr>ziterdicteq.<locals>.<genexpr>9   s'      #6#6qAF#6#6#6#6#6#6r#   )tuplelenall)r/   r0   s    `r!   
iterdicteqrC   6   sR    aAaAq66SVV6#6#6#6#6A#6#6#6 6 66r#   c                  D   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 d S 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&%  GAq!!QE***GE$aAY7788FAq!Q"Aq!Q"Aq!Q"Aq!Q"Aq!Q"Aq!Q"$H fh'''''''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 d S rE   )	r   r-   r   r   r   r   r.   r   rC   rF   s          r!   test_unify_iterrJ   J   s   q!Q'''D&%  GAq!!Q'''G+g../////+g../////E$aV4455FAq#aU3334Aq#aU3334Aq#aU3334Aq#aU3334Aq#aU3334Aq#aU33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 fh'''''''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 d S )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   s    CCCCCCCC3q66CCFFAIDvtDAqc!ffss1vvqy GdGR!Q0011q!fX======r#   c                     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 d S )	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B1c#hh-88899s3xxSSTVW>X=YYYYYaB1c#hh-88899R??????r#   c                      t           t          dz  z   } t          t          |                     }t	          |           |j         d S )Nr   )r   r   r   r   strr   )r   rebuilts     r!   test_non_frankenAddsr^   p   s@     QqS5DD))**GLLLr#   c                      ddl m}  t          d          \  }}}}} | |||          } | ||          }||f}| | ||          ||it          t	          |||                    v sJ d S )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   s    ))))))K((MAq!Q	!QA	!QAAIyyA1%uQY/O/O/O)P)PPPPPPPr#   c                     ddl m}  t          d          \  }}}}}} | t          t	          d          |          |t          ||                    } | |t          ||                    }||f}	|d| | |t          ||                    i||| | |t          t	          d          |                    if}
t          t          |||	          |
          sJ d S )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    ))))))}--Aq!Q19U1Q44^^Qa44Di5A;;''G1IAq))AuQ{{334!Q		!U1Q44^^ < <=?HeD'Y???JJJJJJJr#   c            	         t           t          f} t           t          dk    t          t          dk     if}t	          t          t          dk    t          dk     z  t          t           t                    |           |          sJ d S )Nr   r   r   )r   r   r   r   rC   r   r	   )r   r    s     r!   test_andri      sr    1IAE1a!e$&HeQqSQqSM3q!99	JJJ             r#   c            
          ddl m}  t          t           | dd           | dd          z    | dd           | dd          z    | dd          f                    sJ d S )	Nr   Intervalr   
            r   )rb   rl   r.   r   rk   s    r!   
test_Unionrq      s    ((((((hhq!nnxxB'7'77hq!nnxxB'7'77!)"b!1!1 35 5 5 6 6 6 6 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 d S r=   )r   r   r   r   r5   r#   r!   test_is_commutativers      sh    +ac**++++++ac**+++++k!Q$//000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 d S )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CCCCCCC	QAss1vv	##a&&Q	/B
CCFF(33q66/Acc!ffHSSVVO
+Cb#!Aa333444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   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 Z Z< < <7 7 7
( ( (( ( (.> > >@ @ @  Q Q QK K K     6 6 61 1 1
5 5 5 5 5r#   