
    g                         d dl mZ d dlmZ d dlmZ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  edd	
          \  ZZZd Zd Zd Zd Zd Zd Zed             Zd Zed             ZdS )    )
lra_satask)UnhandledInput)Qask)symbolsSymbol)MatrixSymbol)I)raisesXFAILzx y zTrealc                  *    t          dd          t          t          j        t          d          t          j        t          d                     du sJ t          t          j        t          d          t          j        t          d                     du sJ t          t          j        t          d           t          j        t          d                    du sJ t          t          j        t          d           t          j        t          d                    du sJ t          t          j        t          d          t          j        t          d                    du sJ t          t          j        t          t                              du sJ t          t          j        t          t                              du sJ t          t          j        t          d          t          j        t          d                    du sJ t          t          j        t          d          d          J t          t          d           sJ t          t          fd           t          d	d
d
           t          t           fd           d S )NimT)	imaginary   r   Fc                  R    t          t          j        t          d          d          S )Nr   F)r   r   gtx     d/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/assumptions/tests/test_rel_queries.py<lambda>z!test_lra_satask.<locals>.<lambda>   s    jaU&C&C r   c                      t          t          j         t          z  d          t          j         t          z  d                    S )Nr   )r   r   r   r
   )r   s   r   r   z!test_lra_satask.<locals>.<lambda>!   s-    :ad261ooqtBFA#O#O r   X   c                  t    t          t          j         d          t          j         d          z            S Nr      r   r   ltr   r   s   r   r   z!test_lra_satask.<locals>.<lambda>%   (    :ad1ajj141::.E#F#F r   )r   r   r   eqr   ner   r   
ValueErrorr   r	   )r   r   s   @@r   test_lra_sataskr'      s   		%	%	%B ad1ajj141::+..%7777ad1ajj141::+..$6666qtAqzzk141::..$6666qtAqzzk141::..%7777ad1ajj!$q!**--6666 ad1ajj!!U****ad1ajj!!T))))ad1ajj!$q!**--5555 ad1ajj$''///*CCDDDDD >OOOOPPP 	S!QA
>FFFFGGGGGr   c                      t          d           t          t           fd           t          ddd           t          t           fd           t          ddd           t          t           fd           t          ddd	           t          t           fd
           t          ddd           t          t           fd           t          ddd           t          t           fd           t          ddd           t          t           fd           t          ddd           t          t           fd           t          ddd           t          t	          j         d                    du sJ t          t	          j         d                    du sJ t          ddd           t          t	          j         d                    du sJ t          t	          j         d                    du sJ t          ddd           t          t	          j	         d                    du sJ t          t	          j
         d                    du sJ t          ddd           t          t	          j
         d                    du sJ t          t	          j	         d                    J t          ddd           t          t	          j         d                    du sJ t          t	          j         d                    du sJ t          ddd           t          t	          j         d                    du sJ t          t	          j         d                    du sJ d S )Nwc                  t    t          t          j         d          t          j         d          z            S r   r    r)   s   r   r   z&test_old_assumptions.<locals>.<lambda>+   r#   r   FT)rationalr   c                  t    t          t          j         d          t          j         d          z            S r   r    r+   s   r   r   z&test_old_assumptions.<locals>.<lambda>-   r#   r   )oddr   c                  t    t          t          j         d          t          j         d          z            S r   r    r+   s   r   r   z&test_old_assumptions.<locals>.<lambda>/   r#   r   )evenr   c                  t    t          t          j         d          t          j         d          z            S r   r    r+   s   r   r   z&test_old_assumptions.<locals>.<lambda>1   r#   r   )primer   c                  t    t          t          j         d          t          j         d          z            S r   r    r+   s   r   r   z&test_old_assumptions.<locals>.<lambda>3   r#   r   )	compositer   c                  t    t          t          j         d          t          j         d          z            S r   r    r+   s   r   r   z&test_old_assumptions.<locals>.<lambda>5   r#   r   )integerr   c                  t    t          t          j         d          t          j         d          z            S r   r    r+   s   r   r   z&test_old_assumptions.<locals>.<lambda>7   r#   r   c                  t    t          t          j         d          t          j         d          z            S r   r    r+   s   r   r   z&test_old_assumptions.<locals>.<lambda>9   r#   r   )positiver   r   )negativer   )zeror   )nonzeror   r   )nonpositiver   )nonnegativer   )r   r   r   r   r   ler   r!   ger$   r%   r+   s   @r   test_old_assumptionsrA   (   s   A
>FFFFGGGe$///A
>FFFFGGGD)))A
>FFFFGGG$T***A
>FFFFGGG4d+++A
>FFFFGGGt$///A
>FFFFGGGT---A
>FFFFGGGU...A
>FFFFGGG 	d...Aad1ajj!!U****ad1ajj!!T))))d...Aad1ajj!!T))))ad1ajj!!U****$T***Aad1ajj!!T))))ad1ajj!!U****T---Aad1ajj!!T))))ad1ajj!!)))D111Aad1ajj!!T))))ad1ajj!!U****D111Aad1ajj!!T))))ad1ajj!!U******r   c                  ,   t          t          j        t          d          t          j        t          d          z            du sJ t          t          j        t          t          z
            t          t          k    t          t          k    z            du sJ t          t          t          z   dk    t          dk     t          dk     z            du sJ t          t          t          k    t          t          k    t          t          k    z            du sJ d S )Nr   r   FTr   )r   r   r!   r   r   r9   zyr   r   r   test_rel_queriesrE   P   s    qtAqzzADAJJ&''50000qz!a%  1q5QU"344<<<<q1uqy1q5QT*++u4444q1uq1uQ'((D000000r   c                      t          ddd          } t          t          j        | d          t          j        | d          z            J d S )Nr   r   r   )r	   r   r   r!   r   r"   s    r   test_unhandled_queriesrG   W   sF    S!QAqtAqzzADAJJ&''/////r   c                     t          t          j        t                    t          dk              du sJ t          t          j        t                              du sJ t          t          j        t                              du sJ t          t          d            t          t          d            t          t          d            t          t          d            t          t          d            d S )	Nr   TFc                  z    t          t          dk    t          dk    t          j        t                    z            S Nr   r   )r   r   r   r2   r   r   r   r   ztest_all_pred.<locals>.<lambda>c   s%    :q1uA7K#L#L r   c                  z    t          t          dk    t          dk    t          j        t                    z            S rJ   )r   r   r   r4   r   r   r   r   ztest_all_pred.<locals>.<lambda>d   s%    :q1uAQ7O#P#P r   c                  z    t          t          dk    t          dk    t          j        t                    z            S rJ   )r   r   r   r.   r   r   r   r   ztest_all_pred.<locals>.<lambda>e   s%    :q1uAq7I#J#J r   c                  z    t          t          dk    t          dk    t          j        t                    z            S rJ   )r   r   r   r0   r   r   r   r   ztest_all_pred.<locals>.<lambda>f   s%    :q1uA7J#K#K r   c                  z    t          t          dk    t          dk    t          j        t                    z            S rJ   )r   r   r   r6   r   r   r   r   ztest_all_pred.<locals>.<lambda>g   s%    :q1uA17M#N#N r   )r   r   extended_positiver   positive_infinitenegative_infiniter   r   r   r   r   test_all_predrR   \   s    a)!,,q1u66$>>>>a)!,,--6666a)!,,--6666 >LLMMM
>PPQQQ
>JJKKK
>KKLLL
>NNOOOOOr   c                     t          dd          \  } }}t          | |k    | |k    ||k    z            du sJ t          | |k     | |k    ||k     z            du sJ t          | |k     | |k     ||k    z            du sJ t          | |z   ||z   k    | |k              du sJ t          | |z
  ||z
  k    | |k              du sJ d S )Na b cTr   )r   r   abcs      r   test_number_line_propertiesrY   j   s     gD)))GAq! qAvQ16*++t3333q1uqAv!a%())T1111q1uq1ua())T1111 q1uA~qAv&&$....q1uA~qAv&&$......r   c                     t          dd          \  } }}t          | |z  ||z  k    | |k    |dk    z  t          j        |           z            du sJ t          | |z  ||z  k    | |k    |dk    z  t          j        |           z            du sJ t          | |z  ||z  k    | |k    |dk     z  t          j        |           z            du sJ t          | |z  ||z  k    | |k    |dk     z  t          j        |           z            du sJ t          |  | k    | |k              du sJ t          d| z  d|z  k    | |k    t          j        t
                    z  t          j        |          z            du sJ t          d| z  d|z  k    | |k    t          j        t
                    z  t          j        |          z            du sJ d S )NrT   Tr   r   r   )r   r   r   r;   r9   r   r:   rU   s      r   #test_failing_number_line_propertiesr[   ~   s   
 gD)))GAq! qsaczAFq1u-!&));<<DDDDqsaczAFq1u-!&));<<DDDDqsaczAFq1u-!&));<<DDDDqsaczAFq1u-!&));<<DDDD raRxa  D((((
 qsaczAFajmm3ajmmCDDLLLLqsaczAFajmm3ajmmCDDLLLLLLr   c                     t          t          j        t          t                              du sJ t          t          j        t          t                    t          j        t          t                              du sJ t          t          j        t          t                    t          j        t
          t
                     t          j        t          t                    z            du sJ t          t          j        t          t
                    t          j        t          t                    t          j        t          t
                    z            du sJ d S NT)r   r   r$   r   rD   rC   r   r   r   test_equalityr^      s    qtAqzz??d""""qtAqzz141::&&$....qtAqzzADAJJ;a344<<<< qtAayy!$q))ad1Qii/00D888888r   c                  R   t          t          j        t                    t          j        t          t
                    t          j        t
                    z            du sJ t          t          j        t                    t          j        t          t
                    t          j        t
                    z            du sJ t          t          j        t                    t          j        t          t
                    t          j        t
                    z            du sJ d S r]   )r   r   r2   r   r$   rD   r   r   r   r   r   test_equality_failingr`      s     qwqzz141::

233t;;;;qvayy!$q!**qvayy011T9999q{1~~qtAqzzAKNN:;;tCCCCCCr   N)sympy.assumptions.lra_sataskr   !sympy.logic.algorithms.lra_theoryr   sympy.assumptions.askr   r   
sympy.corer   r   "sympy.matrices.expressions.matexprr	   sympy.core.numbersr
   sympy.testing.pytestr   r   r   rD   rC   r'   rA   rE   rG   rR   rY   r[   r^   r`   r   r   r   <module>rh      sg   3 3 3 3 3 3 < < < < < < ( ( ( ( ( ( ( ( & & & & & & & & ; ; ; ; ; ;             . . . . . . . .
''
%
%
%1aH H H8%+ %+ %+P1 1 10 0 0
P P P/ / /( M M M29 9 9 	D 	D 	D 	D 	Dr   