
    \h}=                     @   S SK Jr  S SKJr  S SKJrJr  S SKJrJ	r	  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  S S
KJrJr  S SKJrJrJr  S SKJrJr  \" S5      u  rrr S r!S r"S r#S r$\S 5       r%S r&S r'S r(S r)S r*S r+S r,S r-S r.S r/S r0S r1S r2S  r3g!)"    )Q)assuming)Ipi)EqGt)S)symbols)Abs)Implies)MatrixSymbol)CNFLiteral)sataskextract_predargsget_relevant_clsfacts)raisesXFAILzx y zc                  b   [        [        R                  " [        5      [        R                  " [        5      5      SL d   e[        [        R                  " [        5      [        R                  " [        5      ) 5      SL d   e[        [        R                  " [        5      5      b   e[        [        R                  " [        5      [        R                  " [        5      5      SL d   e[        [        R                  " [        5      [        R                  " [        5      5      b   e[        [        R                  " [        5      [        R                  " [        5      ) 5      b   e[        [        R                  " [        5      [        R                  " [        5      ) 5      SL d   e[        [        S 5        [        [        R                  " [        5      5         [        [        R                  " [        5      5      SL d   e[        [        R                  " [        5      ) 5      SL d   e[        [        S 5        S S S 5        [        [        R                  " [        5      [        R                  " [        5      5      SL d   e[        [        R                  " [        5      [        R                  " [        5      5      SL d   e[        [        R                  " [        5      [        R                  " [        5      5      SL d   e[        [        R                  " [        5      [        R                  " [        [        -  5      5      b   e[        [        R                  " [        [        -  5      [        R                  " [        5      5      (       d   eg ! , (       d  f       GNc= f)NTFc                      [        [        R                  " [        5      [        R                  " [        5      [        R                  " [        5      ) -  5      $ N)r   r   realx     [/var/www/auris/envauris/lib/python3.13/site-packages/sympy/assumptions/tests/test_satask.py<lambda>test_satask.<locals>.<lambda>   s*    vaffQiaffQiZ1GHr   c                  |    [        [        R                  " [        5      [        R                  " [        5      ) 5      $ r   )r   r   r   r   positiver   r   r   r   r   $   s    6!&&)ajjm^#Dr   )r   r   r   r   r    r   
ValueErrorr   zerononzeroyr   r   r   test_sataskr%      s&   !&&)QVVAY'4///!&&)affQiZ(E111!&&)$$$!&&)QZZ]+t333!**Q-+333!&&)ajjm^,444!**Q-!&&),555
:HI	!**Q-	 affQi D(((qzz!}n%...zDE 
!
 !&&)QYYq\*e333!**Q-+u444!&&)QVVAY'4///!&&)QVVAaC[)111!&&1+qvvay)))) 
!	 s    A#N
N.c            	         [        [        R                  " [        5      [        R                  " [        5      -  [        R                  " [        [        -  5      5      SL d   e[        [        R                  " [        [        -  5      [        R                  " [        5      [        R                  " [        5      -  5      SL d   e[        [        [        R                  " [        5      [        R                  " [        [        -  5      5      5      SL d   e[        [        R                  " [        5      [        R                  " [        5      -  [        R                  " [        [        -  5      5      SL d   e[        [        R                  " [        5      [        R                  " [        S-  5      5      SL d   eg)z
Everything in this test doesn't work with the ask handlers, and most
things would be very difficult or impossible to make work under that
model.

TF   N)r   r   r"   r   r$   r   r#   r   r   r   	test_zeror(   -   s     !&&)affQi'!5===!&&1+qvvay166!945==='!&&)QVVAaC[12d::: !&&)affQi'1Q38EAAA!&&)QVVAqD\*d222r   c                     [        [        R                  " [        [        -   5      [        R
                  " [        5      [        R
                  " [        5      -  5      SL d   e[        [        R
                  " [        5      [        R
                  " [        5      -  [        R                  " [        [        -   5      5      SL d   e[        [        R                  " [        [        -   5      [        R
                  " [        5      [        R
                  " [        5      -  5      SL d   e[        [        R
                  " [        5      [        R
                  " [        5      -  [        R                  " [        [        -   5      5      b   e[        [        R                  " [        [        [        -   -  5      [        R
                  " [        5      [        R
                  " [        5      -  5      SL d   e[        [        R
                  " [        [        -  [        -  S-   5      [        R
                  " [        5      [        R
                  " [        5      -  5      SL d   e[        [        R
                  " [        [        -  [        -  S-
  5      [        R
                  " [        5      [        R
                  " [        5      -  5      b   eg )NFT      )r   r   r"   r   r$   r    r#   r   r   r   r   test_zero_positiver,   B   s   !&&Q-AA!>?5HHH!**Q-!**Q-/A?5HHH!))AE"AJJqMAJJqM$ABdJJJ!**Q-!**Q-/1q51ABJJJ !&&AE#QZZ]QZZ]%BCuLLL!**RT!VaZ(!**Q-!**Q-*GHDPPP!**RT!VaZ(!**Q-!**Q-*GHPPPr   c                     [        [        R                  " [        [        -  5      [        R                  " [        5      [        R
                  " [        5      -  5      SL d   e[        [        R                  " [        [        -  5      [        R                  " [        5      [        R                  " [        5      -  5      SL d   e[        [        R                  " [        5      [        R                  " [        [        -  5      5      SL d   e[        [        R                  " [        [        -  5      [        R                  " [        5      5      b   eg NTF)r   r   r"   r   r$   r    r#   r   r   r   test_zero_powr/   O   s    !&&A,q	AJJqM 9:dBBB!&&A,		!qvvay 89UBBB!&&)QVVAqD\*d222!&&A,q	*222r   c                     [        SSS5      n [        SSS5      n[        [        R                  " X-  5      [        R                  " U 5      [        R                  " U5      -  5      SL d   e[        [        R                  " U 5      [        R                  " X-  5      5      SL d   e[        [        R                  " U 5      [        R                  " U5      -  [        R                  " X-  5      5      SL d   eg )NAr+   BT)r   r   r   
invertible)r1   r2   s     r   test_invertibler4   X   s     	S!QAS!QA!,,qs#Q\\!_q||A%FG4OOO!,,q/1<<#45===!,,q/ALLO3Q\\!#5FG4OOOr   c                  d   [        [        R                  " S5      5      SL d   e[        [        R                  " S5      5      SL d   e[        [        R                  " S5      5      SL d   e[        [        R                  " [        [        -  5      [        R
                  " [        5      [        R
                  " [        5      -  5      b   e[        [        R                  " [        [        -  5      [        R                  " [        5      [        R                  " [        5      -  5      SL d   eg )Nr+   T   F)r   r   primer   r$   integerr   r   r   
test_primer:   b   s    !''!*%%%!''!*&&&!''"+%'''!''!A#,		!qyy| ;<DDD!''!A#,
QWWQZ 78EAAAr   c                     [        [        R                  " S5      5      SL d   e[        [        R                  " S5      5      SL d   e[        [        R                  " S5      5      SL d   e[        [        R                  " [        5      5      SL d   e[        [        R                  " [        5      5      SL d   e[        [        R
                  " S5      5      SL d   e[        [        R
                  " S5      5      SL d   e[        [        R
                  " S5      5      SL d   e[        [        R
                  " [        5      5      SL d   e[        [        R
                  " [        5      5      SL d   e[        [        R                  " S5      5      SL d   e[        [        R                  " S5      5      SL d   e[        [        R                  " S5      5      SL d   e[        [        R                  " [        5      5      SL d   e[        [        R                  " [        5      5      SL d   e[        [        R                  " S5      5      SL d   e[        [        R                  " S5      5      SL d   e[        [        R                  " S5      5      SL d   e[        [        R                  " [        5      5      SL d   e[        [        R                  " [        5      5      SL d   e[        [        R                  " S5      5      SL d   e[        [        R                  " S5      5      SL d   e[        [        R                  " S5      5      SL d   e[        [        R                  " [        5      5      SL d   e[        [        R                  " [        5      5      SL d   e[        [        R                  " S5      5      SL d   e[        [        R                  " S5      5      SL d   e[        [        R                  " S5      5      SL d   e[        [        R                  " [        5      5      SL d   e[        [        R                  " [        5      5      SL d   eg )Nr*   TFr   )
r   r   r    r   r   negativer"   r#   nonpositivenonnegativer   r   r   test_old_assumpr@   k   s6   !**Q- D(((!**R.!U***!**Q- E)))!**Q- E)))!**R.!T)))!**Q- E)))!**R.!T)))!**Q- E)))!**Q- E)))!**R.!U***!&&)%%%!&&*&&&!&&)$$$!&&)%%%!&&*&&&!))A,4'''!))B- D(((!))A,5(((!))A,5(((!))B- D(((!--"#u,,,!--#$,,,!--"#t+++!--"#u,,,!--#$---!--"#t+++!--#$---!--"#t+++!--"#u,,,!--#$,,,r   c                     [        [        R                  " S5      5      SL d   e[        [        R                  " S5      5      SL d   e[        [        R                  " [        5      5      SL d   e[        [        R                  " [        5      5      SL d   e[        [        R                  " [
        5      5      SL d   e[        [        R                  " [
        5      5      SL d   e[        [        R                  " [        [        -  [        -  5      [        R                  " [        5      [        R                  " [        5      -  [        R                  " [        5      -  5       b   e[        [        R                  " [        [        -  [        -  5      [        R                  " [        5      [        R                  " [        5      -  [        R                  " [        5      -  5      SL d   e[        [        R                  " [        [        -  [        -  5      [        R                  " [        5      [        R                  " [        5      -  5      SL d   e[        [        R                  " [        [        -   [        -   5      [        R                  " [        5      [        R                  " [        5      -  [        R                  " [        5      -  5       b   e[        [        R                  " [        [        -   [        -   5      [        R                  " [        5      [        R                  " [        5      -  [        R                  " [        5      -  5      SL d   e[        [        R                  " [        [        -   [        -   5      [        R                  " [        5      [        R                  " [        5      -  5      SL d   e[        [        R                  " [        [        -  [        -  5      [        R                  " [        5      [        R                  " [        5      -  [        R                  " [        5      -  5      SL d   e[        [        R                  " [        [        -  [        -  5      [        R                  " [        5      [        R                  " [        5      -  [        R                  " [        5      -  5      SL d   e[        [        R                  " [        [        -   [        -   5      [        R                  " [        5      [        R                  " [        5      -  [        R                  " [        5      -  5      SL d   e[        [        R                  " [        [        -   [        -   5      [        R                  " [        5      [        R                  " [        5      -  [        R                  " [        5      -  5      SL d   eg )Nr'   FT)	r   r   
irrationalrationalr   r   r   r$   zr   r   r   test_rational_irrationalrE      s   !,,q/"e+++!**Q- D(((!,,r"#t+++!**R.!U***!,,q/"e+++!**Q- E)))!,,qs1u%q||Aa'H	

1(   !,,qs1u%q||AA'F	

1(   !,,r!tAv&

1

1(EF$NNN!,,q1uqy)1<<?Q\\!_+L	

1,   !,,q1uqy)1<<?QZZ]+J	

1,   !,,rAvz*AJJqMAJJqM,IJdRRR!,,qs1u%qzz!}qzz!}'D	

1(      !**QqSU#QZZ]QZZ]%B	

1&    !,,q1uqy)1::a=1::a=+H	

1,      !**QUQY'AA)F	

1*   r   c                  x   [        [        R                  " S5      5      SL d   e[        [        R                  " S5      5      SL d   e[        [        R                  " [        [        -  5      [        R                  " [        5      [        R
                  " [        5      -  5      SL d   e[        [        R                  " [        [        -  5      [        R                  " [        5      [        R                  " [        5      -  5      SL d   e[        [        R                  " [        [        -  5      [        R                  " [        5      [        R                  " [        5      -  5      SL d   e[        [        R                  " [        [        -  5      [        R
                  " [        5      [        R
                  " [        5      -  5      SL d   e[        [        R                  " [        [        -  5      [        R                  " [        5      5      b   e[        [        R                  " [        [        -  5      [        R
                  " [        5      [        R                  " [        5      -  5      b   e[        [        R                  " [        [        -  5      [        R
                  " [        5      [        R
                  " [        5      -  5      SL d   e[        [        R                  " [        [        5      5      [        R                  " [        5      5      SL d   e[        [        R                  " [        [        5      5      [        R
                  " [        5      5      SL d   e[        [        R                  " [        5      [        R                  " [        [        5      5      5      b   eg )Nr'   T   F)r   r   evenr   r$   oddr9   absr   r   r   test_even_sataskrK      s   !&&)$$$!&&)%%%!&&1+qvvay155834<<<!&&1+qvvay199Q<78D@@@!&&1+qvvay166!945===!&&1+quuQx!%%(23u<<<!&&1+qvvay)111!&&1+quuQx!))A,67???!&&1+quuQx!%%(23u<<<!&&Q.!&&),444!&&Q.!%%(+u444!&&)QVVCF^,444r   c                  x   [        [        R                  " S5      5      SL d   e[        [        R                  " S5      5      SL d   e[        [        R                  " [        [        -  5      [        R
                  " [        5      [        R                  " [        5      -  5      SL d   e[        [        R                  " [        [        -  5      [        R
                  " [        5      [        R                  " [        5      -  5      SL d   e[        [        R                  " [        [        -  5      [        R
                  " [        5      [        R
                  " [        5      -  5      SL d   e[        [        R                  " [        [        -  5      [        R                  " [        5      [        R                  " [        5      -  5      SL d   e[        [        R                  " [        [        -  5      [        R
                  " [        5      5      b   e[        [        R                  " [        [        -  5      [        R                  " [        5      [        R                  " [        5      -  5      b   e[        [        R                  " [        [        -  5      [        R                  " [        5      [        R                  " [        5      -  5      SL d   e[        [        R                  " [        [        5      5      [        R
                  " [        5      5      SL d   e[        [        R                  " [        [        5      5      [        R                  " [        5      5      SL d   e[        [        R                  " [        5      [        R                  " [        [        5      5      5      b   eg )Nr'   FrG   T)r   r   rI   r   r$   rH   r9   rJ   r   r   r   test_odd_sataskrM      s   !%%(u$$$!%%(t###!%%!*affQi!%%(23u<<<!%%!*affQi!))A,675@@@!%%!*affQi!&&)34===!%%!*aeeAhq12d:::!%%!*affQi(000!%%!*aeeAh156>>>!%%!*aeeAhq12d:::!%%A-+u444!%%A-q*d222!%%(AEE#a&M*222r   c                     [        [        R                  " S5      5      SL d   e[        [        R                  " [        R                  5      5      SL d   e[        [        R                  " [
        [        -   5      [        R                  " [
        5      [        R                  " [        5      -  5      SL d   e[        [        R                  " [
        [        -   5      [        R                  " [
        5      5      b   e[        [        R                  " [
        [        -   5      [        R                  " [
        5      [        R                  " [        5      ) -  5      SL d   e[        [        R                  " [
        [        -   [        -   5      [        R                  " [
        5      [        R                  " [        5      -  [        R                  " [        5      ) -  5      SL d   e[        [        R                  " [
        [        -   [        -   5      [        R                  " [
        5      [        R                  " [        5      ) -  [        R                  " [        5      ) -  5       b   e[        [        R                  " [
        [        -   [        -   5      [        R                  " [
        5      [        R                  " [        5      ) -  5      b   e[        [        R                  " [
        [        -   5      [        R                  " [
        5      [        R                  " [        5      -  5      SL d   e[        [        R                  " [
        [        -  5      [        R                  " [
        5      [        R                  " [        5      -  5      SL d   e[        [        R                  " [
        [        -  5      [        R                  " [
        5      5      b   e[        [        R                  " [
        [        -  5      [        R                  " [
        5      [        R                  " [        5      ) -  5      b   e[        [        R                  " [
        [        -  5      [        R                  " [
        5      [        R                  " [        5      ) -  5      SL d   e[        [        R                  " [
        [        -  [        -  5      [        R                  " [
        5      [        R                  " [        5      -  [        R                  " [        5      ) -  5      SL d   e[        [        R                  " [
        [        -  [        -  5      [        R                  " [
        5      [        R                  " [        5      ) -  [        R                  " [        5      ) -  5       b   e[        [        R                  " [
        [        -  [        -  5      [        R                  " [
        5      [        R                  " [        5      ) -  5      b   e[        [        R                  " [
        [        -  5      [        R                  " [
        5      [        R                  " [        5      -  5      SL d   eg )Nr*   TF)
r   r   r9   r	   Halfr   r$   rD   rB   rC   r   r   r   test_integerrP      s   !))A,4'''!))AFF#$---!))AE"AIIaL199Q<$?@DHHH!))AE"AIIaL1999!))AE"AIIaLAIIaL=$@AUJJJ!))AEAI&		!qyy|(C	
1)      !))AEAI&		!		!}(D	
1)   !))AEAI&		!		!}(DEMMM!))AE"AIIaL1<<?$BCuLLL!))AaC.!))A,1"=>$FFF!))AaC.!))A,/777!))AaC.!))A,!))A,">?GGG!))AaC.!))A,!**Q-"?@EIII!))AaCE"AIIaL199Q<$?	
A%  ! ! !!))AaCE"AIIaLAJJqM>$A	
A%      !))AaCE"AIIaLAJJqM>$ABJJJ!))AaC.!))A,a"@AUJJJr   c                  L   [        [        R                  " [        [        5      5      5      SL d   e[        [        R
                  " [        [        5      5      [        R                  " [        5      ) 5      SL d   e[        [        R                  " [        5      [        R                  " [        [        5      5      ) 5      SL d   e[        [        R                  " [        5      [        R                  " [        [        5      5      5      SL d   e[        [        R                  " [        5      [        R                  " [        [        5      5      ) 5      b   e[        [        R                  " [        [        5      5      [        R                  " [        5      5      SL d   eg r.   )r   r   r?   rJ   r   r    r"   r#   r   r   r   test_absrR      s    !--A'(D000!**SV$qvvayj1T999!&&)affSVn_-666!&&)QVVCF^,444!))A,A0888!&&Q.!&&),444r   c                     [        [        R                  " S[        -  5      5      SL d   e[        [        R                  " [        [
        -  5      [        R                  " [        5      5      b   e[        [        R                  " [        [
        -  5      [        R                  " [        5      [        R                  " [
        5      -  5      SL d   e[        [        R                  " [        5      [        R                  " [        5      5      SL d   e[        [        R                  " S5      5      SL d   e[        [        R                  " [        [
        -  5      [        R                  " [        5      [        R                  " [
        5      -  5      SL d   e[        [        R                  " [        [
        -   5      [        R                  " [        5      [        R                  " [
        5      -  5      SL d   eg )Nr'   TFr*   )r   r   	imaginaryr   r   r$   r   r   r   r   test_imaginaryrU      s/   !++ac"#t+++!++ac"AKKN3;;;!++ac"AKKNQVVAY$>?4GGG!++a.!&&),555!++a.!U***!++ac"AFF1Iq	$9:eCCC!++a!e$affQi!&&)&;<EEEr   c                  N   [        [        R                  " [        [        -  5      [        R                  " [        5      [        R                  " [        5      -  5      SL d   e[        [        R                  " [        [        -   5      [        R                  " [        5      [        R                  " [        5      -  5      SL d   e[        [        R                  " [        [        -  [
        -  5      [        R                  " [        5      [        R                  " [        5      -  [        R                  " [
        5      -  5      SL d   e[        [        R                  " [        [        -  [
        -  5      [        R                  " [        5      [        R                  " [        5      -  5      b   e[        [        R                  " [        [        -  [
        -  5      [        R                  " [        5      [        R                  " [        5      -  [        R                  " [
        5      -  5      SL d   e[        [        R                  " [        [        -   [
        -   5      [        R                  " [        5      [        R                  " [        5      -  [        R                  " [
        5      -  5      SL d   e[        [        R                  " [        [        -   [
        -   5      [        R                  " [        5      [        R                  " [        5      -  5      b   eg r.   )r   r   r   r   r$   rD   rT   r   r   r   	test_realrW     s   !&&1+qvvay166!945===!&&Q-QVVAY!674???!&&1Q-QVVAY!6!BCtKKK!&&1Q-QVVAY!67???!&&1Q-QVVAY!6Q!GHEQQQ!&&Q#QVVAY%:QVVAY%FG4OOO!&&Q#QVVAY%:;CCCr   c                  $   [        [        R                  " [        5      ) [        R                  " [        5      5      SL d   e[        [        R                  " [        5      ) [        R                  " [        5      5      SL d   e[        [        R                  " [        [
        -   5      [        R                  " [        5      [        R                  " [
        5      -  5      SL d   e[        [        R                  " [        [
        -   5      [        R                  " [        5      [        R                  " [
        5      -  5      SL d   e[        [        R                  " [        [
        -   5      [        R                  " [        5      [        R                  " [
        5      -  5      SL d   e[        [        R                  " [        [
        -   5      [        R                  " [        5      [        R                  " [
        5      -  5      SL d   eg r.   )r   r   r    r   r=   r$   r   r   r   test_pos_negrY     s,   1::a=.!**Q-0D8881::a=.!**Q-0D888!**QU#QZZ]QZZ]%BCtKKK!**QU#QZZ]QZZ]%BCtKKK!**QU#QZZ]QZZ]%BCuLLL!**QU#QZZ]QZZ]%BCuLLLr   c                     [        [        R                  " [        S-  5      [        R                  " [        5      5      SL d   e[        [        R
                  " [        S-  5      [        R                  " [        5      5      SL d   e[        [        R                  " [        S-  5      [        R                  " [        5      5      SL d   e[        [        R                  " [        S-  5      [        R                  " [        5      5      SL d   e[        [        R                  " [        S-  5      [        R                  " [        5      5      SL d   e[        [        R                  " [        S-  5      [        R                  " [        5      5      SL d   e[        [        R
                  " [        S-  5      [        R                  " [        5      5      SL d   e[        [        R                  " [        S-  5      [        R                  " [        5      5      SL d   e[        [        R                  " [        S-  5      [        R                  " [        5      5      SL d   e[        [        R                  " [        S-  5      [        R                  " [        5      5      SL d   e[        [        R                  " [        S-  5      [        R                  " [        5      5      SL d   e[        [        R
                  " [        S-  5      [        R                  " [        5      5      b   e[        [        R                  " [        S-  5      [        R                  " [        5      5      b   e[        [        R                  " [        S-  5      [        R                  " [        5      5      SL d   e[        [        R                  " [        S-  5      [        R                  " [        5      5      SL d   e[        [        R                  " [        S-  5      [        R
                  " [        5      5      SL d   e[        [        R
                  " [        S-  5      [        R
                  " [        5      5      b   e[        [        R                  " [        S-  5      [        R
                  " [        5      5      b   e[        [        R                  " [        S-  5      [        R
                  " [        5      5      SL d   e[        [        R                  " [        S-  5      [        R
                  " [        5      5      SL d   e[        [        R                  " [        S-  5      [        R                  " [        5      5      SL d   e[        [        R
                  " [        S-  5      [        R                  " [        5      5      SL d   e[        [        R                  " [        S-  5      [        R                  " [        5      5      SL d   e[        [        R                  " [        S-  5      [        R                  " [        5      5      SL d   e[        [        R                  " [        S-  5      [        R                  " [        5      5      SL d   e[        [        R                  " [        S-  5      [        R                  " [        5      5      SL d   e[        [        R
                  " [        S-  5      [        R                  " [        5      5      SL d   e[        [        R                  " [        S-  5      [        R                  " [        5      5      SL d   e[        [        R                  " [        S-  5      [        R                  " [        5      5      SL d   e[        [        R                  " [        S-  5      [        R                  " [        5      5      SL d   e[        [        R                  " [        S-  5      [        R                  " [        5      5      SL d   e[        [        R
                  " [        S-  5      [        R                  " [        5      5      b   e[        [        R                  " [        S-  5      [        R                  " [        5      5      b   e[        [        R                  " [        S-  5      [        R                  " [        5      5      SL d   e[        [        R                  " [        S-  5      [        R                  " [        5      5      SL d   e[        [        R                  " [        S-  5      [        R
                  " [        5      5      b   e[        [        R
                  " [        S-  5      [        R
                  " [        5      5      SL d   e[        [        R                  " [        S-  5      [        R
                  " [        5      5      SL d   e[        [        R                  " [        S-  5      [        R
                  " [        5      5      b   e[        [        R                  " [        S-  5      [        R
                  " [        5      5      SL d   e[        [        R                  " [        S-  5      [        R
                  " [        5      5      b   e[        [        R
                  " [        S-  5      [        R
                  " [        5      5      b   e[        [        R                  " [        S-  5      [        R
                  " [        5      5      b   e[        [        R                  " [        S-  5      [        R
                  " [        5      5      b   e[        [        R                  " [        S-  5      [        R
                  " [        5      5      b   eg )Nr'   TFrG   )r   r   r?   r   r    r>   r=   r   r   r   r   test_pow_pos_negr\     s\   !--1%qzz!}5===!--1%qzz!}5>>>!**QT"AJJqM2d:::!**QT"AJJqM2e;;;!&&A,

1.$666!--1%qzz!}5===!--1%qzz!}5>>>!**QT"AJJqM2d:::!**QT"AJJqM2e;;;!&&A,

1.$666!--1%q}}Q'78D@@@!--1%q}}Q'78@@@!**QT"AMM!$45===!**QT"AMM!$45>>>!&&A,a 01T999!--1%q}}Q'78D@@@!--1%q}}Q'78@@@!**QT"AMM!$45===!**QT"AMM!$45>>>!&&A,a 01T999!--1%qzz!}5===!--1%qzz!}5>>>!**QT"AJJqM2d:::!**QT"AJJqM2e;;;!&&A,

1.$666!--1%qzz!}5>>>!--1%qzz!}5===!**QT"AJJqM2e;;;!**QT"AJJqM2d:::!&&A,

1.$666!--1%q}}Q'78D@@@!--1%q}}Q'78@@@!**QT"AMM!$45===!**QT"AMM!$45>>>!&&A,a 01T999!--1%q}}Q'78@@@!--1%q}}Q'78D@@@!**QT"AMM!$45>>>!**QT"AMM!$45===!&&A,a 01T999 !--2&a(89AAA!--2&a(89AAA!**QU#Q]]1%56>>>!**QU#Q]]1%56>>>!&&B-q!12:::r   c                     [        [        R                  " [        5      [        R                  " [        5      5      SL d   e[        [        R                  " [        5      [        R                  " [        5      5      SL d   e[        [        R                  " [        5      [        R                  " [        5      ) 5      b   e[        [        R                  " [        5      [        R                  " [        5      ) 5      b   e[        [        R                  " [        5      [        R
                  " [        5      [        R                  " [        5      -  [        R                  " [        5      ) -  5      b   e[        [        R                  " S5      5      SL d   e[        [        R                  " S5      5      SL d   e[        [        R                  " S5      5      SL d   e[        [        R                  " S5      5      SL d   eg )NFr'   T   r*   )r   r   r8   r   	compositer9   r    r   r   r   test_prime_compositer`   P  sA   !''!*akk!n-666!++a.!''!*-666!++a.1771:+.666!''!*q{{1~o.666!''!*aiilQZZ]:akk!n_LMUUU!''!*%%%!''!*&&&!''!*&&&!++a.!U***r   c                     [         R                  " [        R                  " [	        [
        [        -  5      5      [        R                  " [
        [        -  5      -  5      n [         R                  " [        R                  " [
        5      5      n[         R                  " [        R                  " [        5      5      n[        U 5      [	        [
        [        -  5      [
        [        -  1:X  d   e[        X5      [	        [
        [        -  5      [
        [        -  [
        1:X  d   e[        XU5      [	        [
        [        -  5      [
        [        -  [
        [        1:X  d   e[         R                  " [        [
        [        5      5      n [         R                  " [        [        [        5      5      n[        X5      [
        [        [        1:X  d   eg r   )r   	from_propr   r"   r   r   r$   r   r   r   rD   )propsassumpcontexts      r   test_extract_predargsrf   ]  s   MM!&&QqS*QVVAaC[89E]]166!9%FmmAFF1I&GE"s1Q3x1o555E*s1Q3x1a.@@@@E73AaC!A#q!7LLLLMM"Q(#E]]2a8$FE*q!Qi777r   c                     [        [        [        -  5      1n [        U 5      u  pU [        [        -  1:X  d   eUR                  [        [        [        R                  " [        [        [        -  5      5      S5      [        [        R                  " [        [        -  5      S5      15      [        [        [        R                  " [        [        [        -  5      5      S5      [        [        R                  " [        [        -  5      S5      15      [        [        [        R                  " [        [        [        -  5      5      S5      [        [        R                  " [        [        -  5      S5      15      [        [        [        R                  " [        [        [        -  5      5      S5      [        [        R                  " [        [        -  5      S5      15      [        [        [        R                  " [        [        [        -  5      5      S5      [        [        R                  " [        [        [        -  5      5      S5      [        [        R                  " [        [        -  5      S5      15      [        [        [        R                  " [        [        [        -  5      5      S5      [        [        R                  " [        [        -  5      S5      [        [        R                  " [        [        [        -  5      5      S5      15      [        [        [        R                  " [        [        [        -  5      5      S5      [        [        R                  " [        [        [        -  5      5      S5      15      1:X  d   eg )NFT)r   r   r$   r   clauses	frozensetr   r   rI   r"   rH   r    )exprsfactss     r   test_get_relevant_clsfactsrl   j  s   1XJE(/LEQqSE>>==	GAEE#ac(OU3WQUU1Q3Z5NO	P7166#ac(+U3WQVVAaC[$5OPQ7166#ac(+U3WQVVAaC[$5OPQ7166#ac(+T2GAFF1Q3K4OPQ7166#ac(+U3AEE#ac(OU3AEE!A#J-/ 	0 	7166#ac(+U3AFF1Q3K.AEE#ac(OU35 	6 	71::c!A#h/7AFF3qs8,e46 	7	88 8 8r   N)4sympy.assumptions.askr   sympy.assumptions.assumer   sympy.core.numbersr   r   sympy.core.relationalr   r   sympy.core.singletonr	   sympy.core.symbolr
   $sympy.functions.elementary.complexesr   sympy.logic.boolalgr   "sympy.matrices.expressions.matexprr   sympy.assumptions.cnfr   r   sympy.assumptions.sataskr   r   r   sympy.testing.pytestr   r   r   r$   rD   r%   r(   r,   r/   r4   r:   r@   rE   rK   rM   rP   rR   rU   rW   rY   r\   r`   rf   rl   r   r   r   <module>ry      s    # - & * " % 4 ' ; .  / '
1a*23*
Q3 P PB#-L>5"3"K85FDM6;x
+
88r   