
    g!R                     d   d Z ddlmZ ddlmZ ddlmZmZmZm	Z	 ddl
mZmZmZmZmZmZ ddlmZ ddlmZ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!m"Z"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-m.Z.m/Z/ ddl0m1Z1m2Z3m4Z4m5Z6m7Z7m8Z8 ddl9m:Z: ddl;m<Z< ddl=m>Z> ddl?m@Z@ ddlAmBZBmCZC ddlDmEZEmFZF  ejG                    ZHd ZId ZJd ZKd ZLd ZMd ZNd ZOd ZPd  ZQd! ZRd" ZSd# ZTd$ ZUd% ZVd& ZWd' ZXeFd(             ZYd) ZZd* Z[d+ Z\d, Z]d- Z^eFd.             Z_d/ Z`d0 Zad1 Zbd2 Zcd3 Zdd4 Zed5 Zfd6S )7zFTests for tools for solving inequalities and systems of inequalities.     )Sum)Function)IRationaloopi)EqGeGtLeLtNe)S)DummySymbol)Abs)explog)rootsqrt)	Piecewise)cossintan)Integral)AndOr)PolyPurePoly)	FiniteSetIntervalUnion)reduce_inequalitiessolve_poly_inequalityreduce_rational_inequalitiessolve_univariate_inequalityreduce_abs_inequality_solve_inequality)rootof)solve)solveset)Mod)xy)raisesXFAILc                  d   t          t          dt                    d          t          j        gk    sJ t          t          dt                    d          t          j        gk    sJ t          t          t          dz   t                    d          t          dt          dd          gk    sJ d S )Nr   z==   >TF)	psolver   r-   r   RealsEmptySetr   r!   r        a/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/solvers/tests/test_inequalities.pytest_solve_poly_inequalityr;   $   s    $q!**d##y0000$q!**d##
|3333(1q5!$$c**xBe/L/L.MMMMMMMr9   c                  "   t          t          t          dz  d          ggt          d          t          d          k    sJ t          t	          t          dz  d          ggt          d          t          d          k    sJ t          t          t          dz  d          ggt          d          t          j        k    sJ t          j        r>t          t          t          dz  d          ggt          d          t          j
        k    snt          t           t                    sJ t          t          t          dz  d          ggt          d          t          d                              t          j
                  k    sJ t          t          t          dz  d          ggt          d          t          d                              t          j
                  k    sJ t          t          t          dz  d          ggt          d          t          dd          k    sJ t          t	          t          dz  d          ggt          d          t          dd          k    sJ t          t          t          dz  d          ggt          d          t          dddd          k    sJ t          t          t          dz  d          ggt          d          t!          t          t           d          t          dt                              k    sJ t          t          t          dz  d          ggt          d          t          dd                              t          j
                  k    sJ t          t          t          dz  d          ggt          d          t          dd                              t          j
                  k    sJ t          t          t          dz  d          ggt          d          t          d	d                                          k    sJ t          t	          t          dz  d          ggt          d          t          d	d          k    sJ t          t          t          dz  d          ggt          d          t          d	ddd          k    sJ t          t          t          dz  d          ggt          d          t!          t          t$           d	          t          dt$                              k    sJ t          t          t          dz  d          ggt          d          t!          t          t$           d	d
          t          dt$          d                    k    sJ t          t          t          dz  d          ggt          d          t          d	d                              t          j
                  k    sJ t'          d          } t          t          t          dz  dz
  d          t          t          dz  dz
  d          ggt          d          t          j        k    sJ t          t	          t          dz  dz
  d          t          t          dz  dz
  d          ggt          d          t          dd          k    sJ t          t	          t          dz  dz
  d          t          t          dz  dz
  d          ggt          d          t!          t          |  ddd          t          d| dd                    k    sJ t          t	          t          dz  dz
  d          t          t          dz  dz
  d          ggt          d          t!          t          |  ddd          t          d| dd                    k    sJ t          t          t          dz  dz
  d          t          t          dz  dz
  d          ggt          d          t!          t          |  ddd          t          d| dd                    k    sJ t          t          t          dz  dz
  d          t          t          dz  dz
  d          ggt          d          t!          t          |  ddd          t          d| dd                    k    sJ t          t          t          dz  dz
  d          t          t          dz  dz
  d          ggt          d          t!          t          |  ddd          t          dddd          t          d| dd                    k    sJ t          t          t          dz  d	          ggt                    t          j        u sJ d S )N   r   F
relationalr2   r4   T      ?g      )
right_open)	left_open)r%   r	   r-   r    r   r   r   r7   is_realr
   r6   r!   r   r   
complementr   r"   evalfinfr   false)ss    r:   +test_reduce_poly_inequalities_real_intervalrI   *   s
   '
QT1++u. . .1:1> > > >'
QT1++u. . .1:1> > > >'
QT1++u. . .12< < < < 94'
QT1++u. . .	  "*B3"3"3   (
QT1++u. . .!(() ) ) ) (
QT1++u. . .!(() ) ) ) (
QT1++u. . .1:2q1A1AB B B B'
QT1++u. . .19"aA A A A'
QT1++u. . .19"at1L1LM M M M'
QT1++u. . .hsB!R112 2 2 2 (
QT1++u. . .Q""17++, , , , (
QT1++u. . ."a##AG,,- - - - ("	1c+ + * )E+ + +.7c.B.B.H.H.J.JK K K K'
QT3--10 0 03;D#3F3FG G G G'"	1c+ + * )E+ + +.6tS$.M.MN N N N'
QT3--10 0 0htT""HS#$6$6778 8 8 8 (
QT3--10 0 0htTd333cT***	, 	,, , , , ("	1c+ + * )E+ + +$''001 1 1 1 	QA'"	1q!+ +A1oo*' )()*u> > >ABL L L L'"QTAXq//2	1q!< < * )e- - -09"a0@0@A A A A'
QTAXq//2adQh??	+,aE
 
 
8QBE5118Aq%3O3OPPQ Q Q Q (
QTAXq//2adQh??	+,aE
 
 
8QBE400(1au2M2MNNO O O O (
QTAXq//2adQh??	+,aE
 
 
8QBD%00(1a2M2MNNO O O O (
QTAXq//2adQh??	+,aE
 
 
8QBD$//!Qd1K1KLLM M M M (
QTAXq//2adQh??	+,aE
 
 
8QBD$//"at1L1LAtT""$ $$ $ $ $
 ("QT3--(91==HHHHHHr9   c                  J   t          t          t          dz  d          ggt          d          t          t          d          k    sJ t          t          t          dz  d          ggt          d          t          t          d          k    sJ t          t	          t          dz  d          ggt          d          dk    sJ t          t          t          dz  d          ggt          d          t          t	          t           t                    t	          t          t                              k    sJ t          t          t          dz  d          ggt          d          t          t          t          t                     t	          t          t                    t          t          d                    k    sJ t          t          t          dz  d          ggt          d          t          t          t          t                     t	          t          t                    t          t          d                    k    sJ t          j        t          d          fD ]} | t          z  }t          t          t          dz  |           ggt          d          t          t          t          |            t          t          |                     k    sJ t          t          t          dz  |           ggt          d          t          t          t          |  t                    t          t          |                               k    sJ t          t	          t          dz  |           ggt          d          t          t          t	          |  t                    t	          t          |                               k    sJ t          t          t          dz  |           ggt          d          t          t          t          t          | t                    t	          t          |                    t          t          t          |            t	          | t                                                  k    sJ t          t          t          dz  |           ggt          d          t          t          t          t	          | t                    t	          t          |                      t          t	          | t                    t	          t          |                                        k    sJ t          t          t          dz  |           ggt          d          t          t          t	          | t                    t	          t          |                      t          t	          |  t                    t	          t          |                     t          t	          | t                    t	          t          |                              k    sJ d S )Nr=   r   Tr>   Fr@   )r%   r	   r-   r   r   r
   r   r   r   r   r   Oner   )onerF   s     r:   0test_reduce_poly_inequalities_complex_relationalrM   u   s+   '
QT1++t- - -021a9 9 9 9'
QT1++t- - -021a9 9 9 9'
QT1++t- - -056 6 6 6'
QT1++t- - -03BsAJJ1b		0J0JK K K K'
QT1++t- - -Bq2#JJ1b		2a88,,- - - - (
QT1++t- - -Bq2#JJ1b		2a88,,- - - - qvv , ,"f+Asmm_qT3 3 3r!cT{{Bq#JJ''( ( ( ( ,Asmm_qT3 3 3BtQKKAs,,--. . . . ,Asmm_qT3 3 3BtQKKAs,,--. . . . ,Asmm_qT3 3 33r#qzz2a::..Bq3$KKSD!0M0MNNOOP P P P ,Asmm_qT3 3 33r3${{Bq3$KK00#bajj"Q**2M2MNNOOP P P P ,Asmm_qT3 3 3s2sdA;;1sd,,2sdA;;1c

++2c1::r!Szz**, ,, , , , ,#, ,r9   c            
         t          g t                    dk    sJ t          t          dz  dt          z  z   dz   t          dz  dz
  z  dk    ggt          d          t          t          j        t
           d          t          dd	          t          j        d
t
                              k    sJ t          dt          z  dz
  dt          z
  z  t          dz  dz   t          dz
  dz  z  z  dk     ggt          d          t          t          j        dd          t          j        dd                    k    sJ t          t          dz   t          dz
  z  dk    ggt          d          t          j        d	d          k    sJ t          t          dz  d
t          z  z   dz   t          dz
  z  dk    ggt          d          t          t          j        dd	          t          j        dt
                              k    sJ t          t          dz  dz
  t          dz
  dz  z  dk     ggt          d          t          t          j        dd          t          j        dd
                    k    sJ t          dt          z  dz   t          d
z   z  dk    ggt          d          t          t          j        t
           d          t          j        t          dd          t
                              k    sJ t          t          dz
  t          z  dt          z
  k    ggt          d          t          t          j        t
           d          t          j        dd
                    k    sJ t          t          t
          k     t          dk    t
           t          k     ggt          d          t          dt
                    k    sJ d S )NFr=         r   r>   r4      
      r2      )	r%   r-   r"   r!   openr   Ropenr   Lopenr8   r9   r:   1test_reduce_rational_inequalities_real_relationalr\      s   'A..%7777'a4!A#:>AqD2I
&!
+	,-qUD D DhmRC$$hr2&6&6a8L8LMMN N N N (qD2IA!Q$(QUQJ!6
7!
;	<=q   	hmB""HM!Q$7$7889 9 9 9
 (1q51q5/Q*>)?(@!  r1    (1a4!A#:>AE*BQ*F)G(H!  hmB##X]1b%9%9::; ; ; ; (1a4"9q1uqj*@1*D)E(F  hmB""HM!Q$7$7889 9 9 9 (1Q37QU*;q*@)A(BA  hmRC$$hnXa^^R&H&HIIJ J J J (1q5!)q1u*<)=(>  hnbS"%%x~a';';<<= = = =
 (
b&!q&2#'	"#Q5: : :=Ea__M M M M M Mr9   c                     t          t          dz
            dk     } t          t          dt                    t          t          d                    }t	          |           |k    sJ t	          | t                    |k    sJ t	          t          t          dz
                      t          t          d          k    sJ t	          t          dt          z  dz             dk              t          t          t          t          dd          t                    t          t          t                              t          t          t          t          dd                    t          t           t                                        k    sJ t	          t          t          dz
            t          dt          z  dz
            z   dk               t          t          t          j        t                    t          t          d                    k    sJ t	          t          t          dz
            t          dt          t                    z  dz
            z   dk               t          t          t          d          t          k     t          d	k               t          t          j        t          k     t          dk                         k    sJ t          d
d          t          t          fd           t	          t          dk     t          g          t          t           t          k     t          dk               k    sJ d S )NrU   rO   r=   rX   irS      rR   r4   nrF)extended_realc                  J    t          t           dz
            dk               S )NrU   rO   )r#   abs)r_   s   r:   <lambda>z.test_reduce_abs_inequalities.<locals>.<lambda>   s    1#b1f++/BB r9   symbols)rb   r-   r   r   r#   r	   r   r   r   r   r   Halfr   r/   	TypeError)eansr_   s     @r:   test_reduce_abs_inequalitiesrj      s   AE

QA
bAhh1a
!
!Cq!!S((((q!$$++++s1q5zz**bAhh6666AaC!G  RA%:%:Bq"II!F!FBq(3""##RQZZ002 22 2 2 2 s1q5zzC	!a- -     R]]Bq!HH556 6 6 6s1q5zzC#a&&1,=,==ABB
3quuqy!b&!!3qvz1q5#9#9::; ; ; ; 
E	*	*	*B
9BBBBCCCq1uq"g666#rcAgq1u:M:MMMMMMMr9   c                     t          t          t          d          t          z  d                    t	          t          d          dz  t          k    t          t
          k               k    sJ t          t          dz   dk              t	          t          j        t          k     t          t
          k               k    sJ d S )Nr=   r2   r   )r#   r
   r   r-   r   r   r   NegativeOner8   r9   r:    test_reduce_inequalities_generalrm      s    r$q''!)Q//00CQ	QB4O4OOOOOq1uqy))S1BAF-K-KKKKKKKr9   c                  2   t          t          t          dz  d          dg          t          t          d          k    sJ t          t          t          dz  d          dg          dk    sJ t          t          dz  dk              t          j        u sJ d S )Nr=   r   TF)r#   r	   r-   r   truer8   r9   r:    test_reduce_inequalities_booleanrp      s    	AqD!d  "1a) ) ) )1a4U344====q!tqy))QV333333r9   c                     t          t          t          dz  d          t          t          dz  d          g          t	          t          t	          t          t          j        t                    t          t          t                              t	          t          t          d          t          t           t                                        t          t	          t          t          j        t                    t          t          t                              t	          t          t          d          t          t           t                                                  k    sJ d S )Nr=   r2   r4   )r#   r
   r-   r.   r   r   r   r   rK   r   r   r8   r9   r:   %test_reduce_inequalities_multivariaterr      s    1a4R1a[[9::c
3r!%||R2YY''R2YYB3

)C)CDD
3r!%||R2YY''R2YYB3

)C)CDD?F ?F F F F F F Fr9   c                  ^    t          t          d            t          t          d            d S )Nc                  p    t          t          t          t                    t          z   d                    S Nr2   )r#   r
   r   r-   r8   r9   r:   rc   z1test_reduce_inequalities_errors.<locals>.<lambda>   s#    (;Bs1vvz1<M<M(N(N r9   c                  l    t          t          t          dz  t          z  t          z   d                    S Nr=   r2   )r#   r
   r-   r.   r8   r9   r:   rc   z1test_reduce_inequalities_errors.<locals>.<lambda>   s%    (;Bq!tAvz1<M<M(N(N r9   )r/   NotImplementedErrorr8   r9   r:   test_reduce_inequalities_errorsry      s2    
 N NOOO
 N NOOOOOr9   c                  f   t          t          t          z   dk     t          g          t          dt          z
  k     k    sJ t          t          t          z   dk    t          g          t          t          k     t          t           dz   k    z  k    sJ t          t	          dt          t          z
            t          g          t	          t          t                    k    sJ t          t          dt          t          z
            t          g          t          t          t                    k    sJ d S )Nr2   rd   r   )r#   r-   r.   r   r	   r   r8   r9   r:   test__solve_inequalitiesr{      s    q1uqy1#6661q1u9EEEEq1uzA3777AFqQBQRF{;SSSSSr!QU||aS999R1XXEEEEr!QU||aS999R1XXEEEEEEr9   c            	      r   dt           dz  z  dz  t           t          dd          z  z
  t          dd          z   dk    } t          |           t          t           t          dd          t	          d          dz  z   k     t	          d           dz  t          d	d          z
  t           k               k    sJ d S )
NrW   r=   -   rS   !   r   ii     )r-   r   r#   r   r   )eqs    r:   test_issue_6343r      s    	AqDQxA&	&"a	81	<Br""Aa  499Q;..c
1xA0NQR0RSST T T T T Tr9   c                  `   t          t          dz  dz
  dk               t          t          j        t          k     t          dk               k    sJ t          t          dz  dz
  dk              t          t          j        t          k    t          dk              k    sJ t          t          dz  dz
  dk              t          t          t           t          k     t          dk               t          t          t          k     t          j        t          k                         k    sJ t          t          dz  dz
  dk              t          t          t           t          k     t          dk              t          t          j        t          k    t          t          k                         k    sJ t          dz  t          z   dz
  } t          | dk              }t          t          t          | d          t          k    t          t          k               t          t           t          k     t          t          | d          k                        }||k    sJ t          t          t           dz   dz            dk               t          t          j        t          k     t          dk               k    sJ d S )Nr=   r2   r   r4   rX   	   )r#   r-   r   r   rl   r   r   rK   r*   r)   r   Zero)r   soltrus      r:   test_issue_8235r      s
   q!tax!|,,AMAq1u%%& & & &q!tax1}--AMQQ''( ( ( (q!tax!|,,
3sQwBQVQUQY!7!7889 9 9 9q!tax1}--
3sQwR  #aeqj!b&"9"9::; ; ; ; 
AAB
a..C
SA!#QV,,c2#'1r1;M.N.N
O
OC#:::: rAvk""Q&''3qvz1q5+A+AAAAAAAr9   c            
      0   t          dt          t          t          dz  t          ddf          z   dz
  k    t          g          t          t          t          dz  t          ddf           dz   k    k    sJ t	          d          } t           | t                    t          ddf          }t          dt          |z   t          dz  z   k    t          g          t          t          dz   t           | t                    t          ddf          z
  k    k    sJ d S )Nr   r=   r2   rO   f)r#   r-   r   r.   r   r   )r   rh   s     r:   test_issue_5526r     s   q	HQTAq!9%%%) *,-30 0	
x1q!Qi(((1,	,. . . . 	AAAaDD1a)AqAEAqDL01#66	
q!tec!!A$$Aq	***	*, , , , , ,r9   c                     t          t          dz  dk    t          d          t          t          t           d          t          dt                              k    sJ t          t          dz  dk    t                    t          t          t          dt                    t          t          t                              t          t          t          d          t          t           t                                        k    sJ t          t          dz
  t          dz
  z  t          dz
  z  dk    t          d          t          t          dd          t          dt                              k    sJ t          t          dz
  t          dz
  z  t          dz
  z  dk    t                    t          t          t          dt                    t          t          d                    t          t          dt                    t          t          t                                        k    sJ t          t          dz
  t          dz
  z  t          dz
  z  dk     t          t          dd          	          t          t          t          d          t          t          d                    k    sJ t          t          dz  dt          z  z
  dz
  dk    t          d          t          t          d
t          d           dz  t          j        z   dd          t          t          j        t          d          dz  z   t          dd                    k    sJ t          t          dz  t          dz  z
  t          z   dz
  dk    t          d          t          dt          d          k    sJ t          t          t          z   t          dt          z  z   z  dk     t                    t          t          d          k    sJ t          t          dz
  t          dz
  z  t          z   t          dz
  t          dz
  z  dt          z  z   z  dk     t                    t          t          t          d          t          t          d                    k    sJ t          t          dz
  t          dz
  z  t          z   t          dz
  t          dz
  z  dt          z  z   z  t          dz
  z  dk    t                    t          t          d          k    sJ t          t           d            t          t          dz  t          z
  dz
  dk    t                    t          t#          t          dz  t          z
  dz
  d          t          k     t          t          k               k    sJ t          dt          dz
  z  dk    t                    t          t          d          t          k     t          t          k               k    sJ t          dz
  t          dz
  z                                  } t          t          dz
  | z  dk    t                    t          t           k    t          dk     z  t'          t          d          z  k    sJ t)          d          t          t*          fd           t)          dd          t          t*          fd           t)          dd          t          z  dk               dz  k     k    sJ t          z  dk               dk    sJ t          z  dk              dk    sJ t-          d          dz  t/          d          dz  z   dz
  t          t*          fd           t          t*          fd           t          t*          d            t          t*          d            t          t0          d            t          dz  t          z   t          t          dz   z  z
  t          dk     t          d          t          j        u sJ t          dk    t          d          t          j        u sJ t          t*          d            d S )Nr=   rS   Fr>   rR   r2   rO   r   domainr4   rU   Tc                      t          t          dz  dt          z  t          z  z
  dz   t          z  dk     t                    S )Nr=   rO   r   isolver-   r   r8   r9   r:   rc   z2test_solve_univariate_inequality.<locals>.<lambda>+  s/    1qs1uq(8!';a'? C C r9   r^   nc                  ^    t          t          t                     k    t          d          S )NFr>   )r   r   r-   r   s   r:   rc   z2test_solve_univariate_inequality.<locals>.<lambda>:  s     s1vv{A%(P(P(P r9   c1positivec                  2    t           z  dk                S Nr   )r   )r   r   s   r:   rc   z2test_solve_univariate_inequality.<locals>.<lambda><  s    qtax(<(< r9   )negativec                  F    t          t          dz   k     t                    S Nr=   )r   r-   zeros   r:   rc   z2test_solve_univariate_inequality.<locals>.<lambda>C  s    q!td{A(>(> r9   c                  V    t          t          dz   t          z  k     t                    S r   r   r   s   r:   rc   z2test_solve_univariate_inequality.<locals>.<lambda>D  s"    	1tAvq) ) r9   c                  T    t          dt          t          z
  z  dk     t                    S )Nr2   r=   r   r-   r.   r8   r9   r:   rc   z2test_solve_univariate_inequality.<locals>.<lambda>F      q!a%y1}a(@(@ r9   c                  T    t          dt          t          z
  z  dk     t                    S )Nr2   r   r   r8   r9   r:   rc   z2test_solve_univariate_inequality.<locals>.<lambda>G  r   r9   c                  N    t          t          t          z
  dk     t                    S r   r   r8   r9   r:   rc   z2test_solve_univariate_inequality.<locals>.<lambda>H  s    fQUQY22 r9   c                      t          t          t          t                    dz  t	          t                    dz  z   d          t                    S rw   )r   r	   r   r-   r   r8   r9   r:   rc   z2test_solve_univariate_inequality.<locals>.<lambda>O  s8    
3q6619s1vvqy !$$a)) )) r9   )r   r-   r"   r!   r   r   r   r   r   r    r	   r   r   rf   r   r/   
ValueErrorr)   expandr   r   rx   r   r   rg   r7   r6   )denr   r   r   s    @@@r:    test_solve_univariate_inequalityr     s&   !Q$!)Q5111U8RC;L;LB6 6    !Q$!)Q2c"Q((Bq"II&>&>Bq"II
B3

A A $ $    1q51q5/1q5)Q.eDDDhq!nnhq"oo../ / / /1q51q5/1q5)Q.22
3r!QxxAq""C1a"Q))$<$<==> > > >1q51q5/1q5)A-q9Q??KKK
2a88R1XX    !Q$1*q.1$aE:::hrDGG8A:.d;;qvQ	)2tT::	< 	<< < < < !Q$A+/A%)1???B    1q51qs7#a'++r!Qxx7777AEAE?Q&!a%!a%1Q3)>?!CQGG2bQRTUhhXZ[\^_X`X`KaKaaaaaQUQUOa'1q51q5/AaC*?@1q5IAMqQQUWXY[\U]U]]]]]
JCCDDD !Q$(Q,"A&&F1a4!8a<##a'R001 1 1 1 !QU)a-##s1Q44!8QV'<'<<<<<EAE?
"
"
$
$C1q5#+"A&&	
bSQUbAhh&' ' ' ' 	c

A
 P P P PQQQ	td	#	#	#B
 < < < < <===cD!!!A!B$)R  aRTBY////!B$(B4''''!B$(B5((((q6619s1vvqy 1$D
 > > > >???
 ! ! ! !   
 @ @AAA
 @ @AAA
922333a4!8aQiD$(A%000AJ>>>>$!)Q5111QW<<<<  !) !) * * * * *r9   c                  L   t          t          t                    t          j        k     t          d          t          t          dt          dz  dd          t          j        t          t          dd          z  dt          z                      k    sJ t          t          t                    t          j        k    t          d          t          t          dz  t          t          dd          z  dd          k    sJ t          t          t                    t          j        k     t          d          t          t          dz  t          t          dd          z  dd          k    sJ t          t          t                    t          j        k    t          d          t          t          dt          dz            t          j        t          t          dd          z  dt          z                      k    sJ t          t          t                    t          j        k     t          d          t          t          j        dt          d	z            t          j        t          dz  t                              k    sJ t          t          t                    t          j        k    t          d          t          t          t          j                  t          j        t          dt          z                      k    sJ t          t          t                    t          j        k    t          d          t          j        k    sJ t          t          t                    t          d
          k     t          d          t          j        k    sJ t          t          t                    t          j        k    t          d          t          j        k    sJ t          t          t                    t          j        k    t          d          t          j        k    sJ d S )NFr>   r      TrU   r=   rO   rS   rR   )r   r   r-   r   rf   r"   r!   r   rY   r   r   r   rZ   r   rK   r    r6   r7   rl   r8   r9   r:   test_trig_inequalitiesr   S  s   #a&&16/1777hq"Q$t,,hmBx1~~<MqQSt.T.TUUV V V V#a&&16/1777Ar(1a..($556 6 6 6#a&&16/1777Ar(1a..($556 6 6 6#a&&AF"A%888hq"Q$8Aq>>0A1R4!H!HIIJ J J J #a&&15.!666hnQ1%%x}RT2'>'>??@ @ @ @ #a&&AF"A%888iAbD!9!9::; ; ; ; #a&&AE/177717BBBB#a&&1R55.!666!*DDDD#a&&AM)1???17JJJJ#a&&15.!666!*DDDDDDr9   c                     t          t          dz  dk    t          d          t          j        k    sJ t          t          dz  dk    t          d          t          j                            t                    k    sJ t          t          dz  dk     t          d          t          j        k    sJ t          t          dz  dk     t          d          t          j                            t                    k    sJ d S )Nr=   r   Fr>   T)r   r-   r   r6   as_relationalr7   r8   r9   r:   test_issue_9954r   j  s    !Q$!)Q5111QW<<<<!Q$!)Q4000AG4I4I!4L4LLLLL!Q$(A%000AJ>>>>!Q$(A$///1:3K3KA3N3NNNNNNNr9   c            	         t          t          dz  t          dz  z
  dz   d          } t          t          t                    dt	          t          d          z  z   dk              t          t          dt          k     t          | dz  k               t          | dz  t          k     t          t          k                         k    sJ d S )NrU   r=   r2   r   rO   r   )r)   r-   r*   r   r   r   r   r   )rs    r:   test_slow_general_univariater   q  s    q!tad{Q""Aa1T!QZZ<'!+,,
3q1ua!Q$hQTAXq2v!6!6778 8 8 8 8 8r9   c                  t   dt           z
  t          dt           z
            z
  } t          t          dt                     t          t           t                              }t          | dt                     |k    sJ dt           z
  t          dt           z
  dz            z
  } t          | dk               |k    sJ d S )Nr2   <r=   r   )r-   rb   r   r   r   r'   r   r#   )r   ri   s     r:   test_issue_8545r   x  s    	
QQU	B
bAhh1b		
"
"C S!,,3333	
Qq1uqj!!	!BrAv&&#------r9   c                  X   t          t           t          k     t                    t          t           t          k     t          t          k               k    sJ t          t          t          k    t                    t          t           t          k     t          t          k               k    sJ d S )N)r   r   r-   r   r8   r9   r:   test_issue_8974r     sp    2#'1bS1Wa"f!5!55555"q&!RC!GQV 4 4444444r9   c                  |   t          ddt          dt          z  dz
            z  z   dk               t          t           k    t          t	          d          dz  k     z  t          t          d          z  k    sJ t          t          dt          t                    z            dz
  t                    t          t          d          k    sJ t          ddt          ddt          z  z
            z  z   dt                    t          t          t           t          k     t          dk               t          t          j        t          k     t          t          dd          k               t          t          dd          t          k     t          t          k                         k    sJ t          t          d	            d S )
Nr4   r2   r   r=   rW   r   rO   rS   c                      t          ddt          ddt          t                    z  z
            z  z   dt                    S )NrW   r2   r   )r'   rb   r   r-   r8   r9   r:   rc   z"test_issue_10198.<locals>.<lambda>  sA    3B3	Ad1ggI< < : 5Q    r9   )r#   rb   r-   r   r   r   r   r	   r'   r   r   r   r   r/   r   r8   r9   r:   test_issue_10198r     ss   
Qs1Q37||^a! !%&"WQqTT!V$<r!Qxx$GH H H H s1T!WW9~~1155AqAAAA aA!Gn!4c1==
3sQwAAFQJHQNN*++S!Q!1CQV-L-L	N 	NN N N N :     ! ! ! ! !r9   c                      t          t          t                    dk               dk    sJ t          t          t                    dk     t          j                  t          j        k    sJ d S )Nr=   Tr   )r*   r   r-   r+   r   r6   r8   r9   r:   test_issue_10047r     sY     Q!$$$$CFFQJqw///17::::::r9   c                      t          t          t                    dk               t          t          j        t          k     t          t          d          k               k    sJ d S )Ni  )r*   r   r-   r   r   r   r   r8   r9   r:   test_issue_10268r     sE    Q$3qvz1s4yy=#A#AAAAAAAr9   c                      t          d          } t          t          t                    | k    t          d          t	          t
          j        | dk     ft          |  |           df          k    sJ d S )Nr   Fr>   r   T)r   r   r   r-   r   r   r7   r!   r   s    r:   test_isolve_Setsr     st    c

A#a&&A+qU3331:q1u%!Q'>??@ @ @ @ @ @r9   c            	          t          dd          } t          dd          }t          |dz
  |dz
  z  |dz
  z  dk     || 	          t          |d          k    sJ t          d          }t          |dz   dk     |t          j        	          |d
k    |t           k    z  t          t          |d          d          z  k    sJ t          d|z  dz   dk    |t          j        	          |dk    |t          k     z  t          t          |d          d          z  k    sJ t          |dz  d|z  z   dz
  dk     |t          j        	          |d
k    |dk    z  t          t          |d          d          z  k    sJ t          |dz  d|z  z   dz
  dk    |t          j        	          |dk    |t          k     z  t          t          |d          d          z  |dk    |t           k    z  t          t          |d          d          z  z  k    sJ d S )Nr   rO   r-   Fr   r2   r=   rS   r   rW   r4   rQ   )r    r   r   r	   r   Integersr   r,   )domr-   s     r:   %test_integer_domain_relational_isolver     s$   
Aq//CsA1q51q5/1q5)A-q===AqIIIIsA!a%!)Qqz222GRC 2c!Qii#3#334 4 4 4!a%!)a-1:666GB2c!Qii#3#334 4 4 416AE>A%*AajAAAGQ2c!Qii#3#334 4 4 416AE>A%*AajAAA!VB2c!Qii#3#33RAG$3q!99a(8(88:: : : : : :r9   c                     t          t          t                    t          t          dt                              t          dt                    k    sJ t          dd          } t          dt          z                      t                    dk     t          |           | k    sJ t          t          t          dz
            t          z  dk    t          t          j
                  t          j        dd          k    sJ d S )Nr   r2   rT   r   r^   )r+   r   r.   r!   r   r    r-   diffr   r   r6   r[   )is    r:   test_issue_10671_12466r     s    CFFAx2//9Q3C3CCCCCBAQqSJJqMMA%q!,,1111SQZZ\a'AG44q!     r9   c                  x   t           t          t          t          t          t
          fD ]t} t           | t          d          t                    j        t          k    sJ t           | t          j
        t                    t                    j        t          k    sJ ut          t	          dt          z  dz
  t                    t                    t	          t          d          k    sJ t	          t          j
        t                    }t          |t                    |k    sJ t          dz  t          t                    t          t                    t          t                    z   t          dt          z   z  fD ]D}dD ]?}d|z  |z
  dk    }t          |t          d          ||t          d          z  k    k    sJ @Et          dt          dz  z  dt          z  z   dz
  dk     t          d          t          t          dz   z  t          j        k     k    sJ t          t	          t          t          z  d          t                    t	          t          t          z  d          k    sJ t!          dd          }t          t	          t          |z  d          t                    t	          t          d|z            k    sJ t          t          |z  dk     t                    t          |z  dk     k    sJ t!          d	d
          }t          |t          z  dk    t                    t          j        t          k     t          |k     z  k    sJ t          |t          z  dk    t          d          dt          z  d|z  k    k    sJ t	          dt          z
  t          dt          z  dz
  z            }t          |t                    t          t          d          k    sJ t          t          t          dt          z  dz
  z  k     t                    t          t          j        k     t          t          d          z  k    sJ d S )Nr2   r=   )r   r2   r   T)linearnz)nonzeroar   )r   r   r   r
   r	   r   r(   r-   lhsr   rK   r.   r   r   r   rf   r   r   )opiefxcrh   r   r   s          r:   test__solve_inequalityr     s`   2r2r2& ; ; Aq1--1Q6666 AE1q115:::::R!a^^Q//2a88;;;;	AE1BR##r))))!tSVVSVVc!ff_aQi8   	 	A"q1A$Q$777QqttV    	 Qq!tVac\A-11TBBB	1q5	AF   R!QZZ++r!A#qzz9999	d	#	#	#BR"a[[!,,1ad;;;;QrTAXq))adQh7777sT"""AQqS1Wa((QVaZAE,BBBBBQqS1Wa555!A#!)DDDD
1q5!QqS1W+AQ""bAhh....QAaC!G_a00QZ2a884KKKKKKKr9   c                  (    ddl m    t           t                    dk    sJ   t          j        t          d                    dk    sJ   t          j        t                      t          t          j                  cxk    rdk    sn J   t          j        t                       t           t          j                  cxk    rt          j        k    sn J   t          j        t                      t          t          j                  cxk    rt          dd          k    sn J   t          j        t                       t           t          j                  cxk    rdk    sn J   t          t                      t          t                    cxk    rt          dz   k    sn J   t          t                       t           t                    cxk    rt          dz
  k    sn J t          t           fd           d S )	Nr   _ptrO   r=   r4   rR   r2   c                  N      t          dd          t          j                  S )Nr   T)infinite)r   r   rK   r   s   r:   rc   ztest__pt.<locals>.<lambda>  s"    ss5t#<#<#<aeDD r9   )sympy.solvers.inequalitiesr   r   r   rK   rf   rl   r   r-   r/   r   r   s   @r:   test__ptr     s   ......3sB<<13quaddq    3qub>>SSQU^^0000q0000003qurc??cc2#quoo77777777773q}b!!SSQ]%;%;NNNNxANNNNNN3q}rc""cc2#q}&=&=CCCCCCCCCC3q"::R,,,,q1u,,,,,,3q2#;;##rc1++....Q......
:DDDDEEEEEr9   c                      t          t          t          d          dk    t                    t          dk    t          j        t          k     z  k    sJ d S )NrO   r=   r   )r(   r   r-   r   r   r8   r9   r:   test_issue_25697r     s>    SAYY!^Q//AFqvz3JJJJJJJr9   c                      t          dt          t                    k               t          t          t          t                    k                                   t          d          k    sJ d S )NrO   )r#   rb   r-   r   subsr8   r9   r:   test_issue_25738r     s^    q3q66z 
 
 c!ff--222q99: : : : : :r9   c                      t          t          t          t                    z  dk              t          t          k    t          t          k     z  t           t          k     t          t           k    z  z  k    sJ d S ru   )r#   r   r   r-   r   r8   r9   r:   test_issue_25983r     sW    r#a&&yA~..B!GB3GbSSTWYZ_a^aYaLb2cccccccr9   N)g__doc__sympy.concrete.summationsr   sympy.core.functionr   sympy.core.numbersr   r   r   r   sympy.core.relationalr	   r
   r   r   r   r   sympy.core.singletonr   sympy.core.symbolr   r   $sympy.functions.elementary.complexesr   &sympy.functions.elementary.exponentialr   r   (sympy.functions.elementary.miscellaneousr   r   $sympy.functions.elementary.piecewiser   (sympy.functions.elementary.trigonometricr   r   r   sympy.integrals.integralsr   sympy.logic.boolalgr   r   sympy.polys.polytoolsr   r   sympy.sets.setsr    r!   r"   r   r#   r$   r5   r%   r&   r   r'   r(   sympy.polys.rootoftoolsr)   sympy.solvers.solversr*   sympy.solvers.solvesetr+   sympy.core.modr,   	sympy.abcr-   r.   sympy.testing.pytestr/   r0   rE   rF   r;   rI   rM   r\   rj   rm   rp   rr   ry   r{   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r8   r9   r:   <module>r      s{   L L ) ) ) ) ) ) ( ( ( ( ( ( 2 2 2 2 2 2 2 2 2 2 2 2 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 " " " " " " - - - - - - - - 4 4 4 4 4 4 ; ; ; ; ; ; ; ; ? ? ? ? ? ? ? ? : : : : : : B B B B B B B B B B . . . . . . ' ' ' ' ' ' ' ' 0 0 0 0 0 0 0 0 6 6 6 6 6 6 6 6 6 6; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; + * * * * * ' ' ' ' ' ' + + + + + +               . . . . . . . . bhjjN N NHI HI HIV%, %, %,P!M !M !MHN N N&L L L
4 4 4F F FP P P
F F FT T TB B B&, , ,;* ;* ;*|E E E.O O O 8 8 8. . .5 5 5
	! 	! 	!; ; ;B B B @ @ @: : :$  L L L8
F 
F 
FK K K: : :
e e e e er9   