
    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y)    )
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       y )NimT)	imaginary   r   Fc                  J    t        t        j                  t        d      d      S )Nr   F)r   r   gtx     ]/var/www/openai/venv/lib/python3.12/site-packages/sympy/assumptions/tests/test_rel_queries.py<lambda>z!test_lra_satask.<locals>.<lambda>   s    jaU&Cr   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(    :add261oqttBFA#Or   X   c                  p    t        t        j                   d      t        j                   d      z        S Nr      r   r   ltr   r   s   r   r   z!test_lra_satask.<locals>.<lambda>%   #    :add1aj1441:.E#Fr   )r   r   r   eqr   ner   r   
ValueErrorr   r	   )r   r   s   @@r   test_lra_sataskr'      s   		%B add1aj1441:+.%777add1aj1441:+.$666qttAqzk1441:.$666qttAqzk1441:.%777add1aj!$$q!*-666 add1aj!U***add1aj!T)))add1aj!$$q!*-555 add1aj$'///*CDDD >OP 	S!QA
>F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 y )Nwc                  p    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                  p    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                  p    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                  p    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                  p    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                  p    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                  p    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                  p    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   (   sv   A
>FGe$/A
>FGD)A
>FG$T*A
>FG4d+A
>FGt$/A
>FGT-A
>FGU.A
>FG 	d.Aadd1aj!U***add1aj!T)))d.Aadd1aj!T)))add1aj!U***$T*Aadd1aj!T)))add1aj!U***T-Aadd1aj!T)))add1aj!)))D1Aadd1aj!T)))add1aj!U***D1Aadd1aj!T)))add1aj!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        kD  t        t        kD  z        du sJ t        t        t        z   dkD  t        dk  t        dk  z        du sJ t        t        t        kD  t        t        kD  t        t        kD  z        du sJ y )Nr   r   FTr   )r   r   r!   r   r   r9   zyr   r   r   test_rel_queriesrE   P   s    qttAqzADDAJ&'5000qzz!a% 1q5QU"34<<<q1uqy1q5QT*+u444q1uq1uQ'(D000r   c                      t        ddd      } t        t        j                  | d      t        j                  | d      z        J y )Nr   r   r   )r	   r   r   r!   r   r"   s    r   test_unhandled_queriesrG   W   s:    S!QAqttAqzADDAJ&'///r   c                     t        t        j                  t              t        dkD        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        y )	Nr   TFc                  j    t        t        dkD  t        dkD  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#Lr   c                  j    t        t        dkD  t        dkD  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#Pr   c                  j    t        t        dkD  t        dkD  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#Jr   c                  j    t        t        dkD  t        dkD  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#Kr   c                  j    t        t        dkD  t        dkD  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#Nr   )r   r   extended_positiver   positive_infinitenegative_infiniter   r   r   r   r   test_all_predrR   \   s    a))!,q1u6$>>>a))!,-666a))!,-666 >LM
>PQ
>JK
>KL
>N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 y )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q1uqAv!a%()T111q1uq1ua()T111 q1uA~qAv&$...q1uA~qAv&$...r   c                  N   t        dd      \  } }}t        | |z  ||z  k  | |k  |dkD  z  t        j                  |       z        du sJ t        | |z  ||z  k  | |k  |dkD  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 y )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qsaczAFq1u-!&&);<DDDqsaczAFq1u-!&&);<DDDqsaczAFq1u-!&&);<DDD raRxa D(((
 qsaczAFajjm3ajjmCDLLLqsaczAFajjm3ajjmCD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 y NT)r   r   r$   r   rD   rC   r   r   r   test_equalityr^      s    qttAqz?d"""qttAqz1441:&$...qttAqzADDAJ;a34<<< qttAay!$$q)add1Qi/0D888r   c                  2   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 y r]   )r   r   r2   r   r$   rD   r   r   r   r   r   test_equality_failingr`      s     qwwqz1441:
23t;;;qvvay!$$q!*qvvay01T999q{{1~qttAqzAKKN:;t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      s~    3 < ( & ;   .
'
%1aH8%+P10
P/( M M29 	D 	Dr   