o
    ª3Ih/˜ ã                   @   sP  d dl mZmZmZmZmZmZmZmZm	Z	m
Z
 d dlmZmZmZmZmZ d dlmZmZmZ d dlmZmZ d dl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&m'Z'm(Z(m)Z)m*Z* d d
l+m,Z, d dl-m.Z. d dl/m0Z0m1Z1m2Z2 d dl3m4Z4 d dl5m6Z6m7Z7m8Z8m9Z9 d dl:m;Z;m<Z< d dl=m>Z> d dl?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZG d dlHmIZImJZJmKZKmLZLmMZM d dlNmOZOmPZP d dlQmRZRmSZSmTZTmUZUmVZV d dlWZWdd„ ZXdd„ ZYdd„ ZZdd„ Z[dd„ Z\d d!„ Z]d"d#„ Z^d$d%„ Z_d&d'„ Z`d(d)„ Zad*d+„ Zbd,d-„ Zcd.d/„ Zdd0d1„ Zed2d3„ Zfd4d5„ Zgd6d7„ Zhd8d9„ Zid:d;„ Zjd<d=„ Zkd>d?„ ZleRd@dA„ ƒZmeRdBdC„ ƒZndDdE„ ZoeVdFdG„ ƒZpdHdI„ ZqeRdJdK„ ƒZrdLdM„ ZsdNdO„ ZteVdPdQ„ ƒZudRdS„ ZveVdTdU„ ƒZwdVdW„ ZxdXdY„ ZydZd[„ Zzd\d]„ Z{d^d_„ Z|eRd`da„ ƒZ}dbdc„ Z~ddde„ ZeVdfdg„ ƒZ€dhdi„ Zdjdk„ Z‚dldm„ Zƒdndo„ Z„eVdpdq„ ƒZ…drds„ Z†eVdtdu„ ƒZ‡dvdw„ Zˆdxdy„ Z‰dzd{„ ZŠd|d}„ Z‹d~d„ ZŒd€d„ Zd‚dƒ„ ZŽd„d…„ Zd†d‡„ Zdˆd‰„ Z‘dŠd‹„ Z’eSdŒd„ ƒZ“dŽd„ Z”dd‘„ Z•d’d“„ Z–d”d•„ Z—d–d—„ Z˜d˜d™„ Z™dšd›„ ZšeRdœd„ ƒZ›dždŸ„ Zœd d¡„ Zd¢d£„ Zžd¤d¥„ ZŸd¦d§„ Z d¨d©„ Z¡dªd«„ Z¢d¬d­„ Z£d®d¯„ Z¤dS )°é    )
ÚtÚwÚxÚyÚzÚnÚkÚmÚpÚi)ÚaskÚAssumptionsContextÚQÚregister_handlerÚremove_handler)ÚassumingÚglobal_assumptionsÚ	Predicate)ÚCNFÚLiteral)Úsingle_fact_lookupÚget_known_factsÚgenerate_known_facts_dictÚget_known_facts_keys)Ú
AskHandler)Úget_all_known_factsÚget_known_facts_dict)ÚAdd)ÚIÚIntegerÚRationalÚooÚzooÚpi)ÚS)ÚPow)ÚStrÚsymbolsÚSymbol)Ú	factorial)ÚAbsÚimÚreÚsign)ÚexpÚlog)Úsqrt)ÚacosÚacotÚasinÚatanÚcosÚcotÚsinÚtan)Ú
EquivalentÚImpliesÚXorÚAndÚto_cnf)ÚMatrixÚSparseMatrix)ÚXFAILÚslowÚraisesÚwarns_deprecated_sympyÚ_both_exp_powNc                  C   sh  d} t t | ¡ƒdu sJ ‚t t | ¡ƒdu sJ ‚t t | ¡ƒdu s#J ‚t t | ¡ƒdu s.J ‚t t | ¡ƒdu s9J ‚t t | ¡ƒdu sDJ ‚t t | ¡ƒdu sOJ ‚t t 	| ¡ƒdu sZJ ‚t t 
| ¡ƒdu seJ ‚t t | ¡ƒdu spJ ‚t t | ¡ƒdu s{J ‚t t | ¡ƒdu s†J ‚t t | ¡ƒdu s‘J ‚t t | ¡ƒdu sœJ ‚t t | ¡ƒdu s§J ‚t t | ¡ƒdu s²J ‚d S )Né   TF©r   r   ÚcommutativeÚintegerÚrationalÚrealÚcomplexÚ
irrationalÚ	imaginaryÚpositiveÚnegativeÚevenÚoddÚfiniteÚprimeÚ	compositeÚ	hermitianÚantihermitian©r   © rX   úb/home/air/sanwanet/gpt-api/venv/lib/python3.10/site-packages/sympy/assumptions/tests/test_query.pyÚ
test_int_1   ó"   rZ   c                  C   sh  d} t t | ¡ƒdu sJ ‚t t | ¡ƒdu sJ ‚t t | ¡ƒdu s#J ‚t t | ¡ƒdu s.J ‚t t | ¡ƒdu s9J ‚t t | ¡ƒdu sDJ ‚t t | ¡ƒdu sOJ ‚t t 	| ¡ƒdu sZJ ‚t t 
| ¡ƒdu seJ ‚t t | ¡ƒdu spJ ‚t t | ¡ƒdu s{J ‚t t | ¡ƒdu s†J ‚t t | ¡ƒdu s‘J ‚t t | ¡ƒdu sœJ ‚t t | ¡ƒdu s§J ‚t t | ¡ƒdu s²J ‚d S )Né   TFrF   rW   rX   rX   rY   Útest_int_111   r[   r]   c                  C   sh  d} t t | ¡ƒdu sJ ‚t t | ¡ƒdu sJ ‚t t | ¡ƒdu s#J ‚t t | ¡ƒdu s.J ‚t t | ¡ƒdu s9J ‚t t | ¡ƒdu sDJ ‚t t | ¡ƒdu sOJ ‚t t 	| ¡ƒdu sZJ ‚t t 
| ¡ƒdu seJ ‚t t | ¡ƒdu spJ ‚t t | ¡ƒdu s{J ‚t t | ¡ƒdu s†J ‚t t | ¡ƒdu s‘J ‚t t | ¡ƒdu sœJ ‚t t | ¡ƒdu s§J ‚t t | ¡ƒdu s²J ‚d S )Né   TFrF   rW   rX   rX   rY   Útest_int_12E   r[   r_   c                  C   sú  d} t t | ¡ƒdu sJ ‚t t | ¡ƒd u sJ ‚t t | ¡ƒd u s#J ‚t t | ¡ƒdu s.J ‚t t | ¡ƒdu s9J ‚t t | ¡ƒd u sDJ ‚t t | ¡ƒdu sOJ ‚t t 	| ¡ƒdu sZJ ‚t t 
| ¡ƒdu seJ ‚t t | ¡ƒd u spJ ‚t t | ¡ƒd u s{J ‚t t | ¡ƒdu s†J ‚t t | ¡ƒd u s‘J ‚t t | ¡ƒd u sœJ ‚t t | ¡ƒdu s§J ‚t t | ¡ƒdu s²J ‚d} t t | ¡ƒdu s¿J ‚t t | ¡ƒdu sÊJ ‚t t | ¡ƒd u sÕJ ‚t t | ¡ƒdu sàJ ‚t t | ¡ƒdu sëJ ‚t t | ¡ƒd u söJ ‚t t | ¡ƒdu sJ ‚t t 	| ¡ƒdu sJ ‚t t 
| ¡ƒdu sJ ‚t t | ¡ƒdu s&J ‚t t | ¡ƒdu s2J ‚t t | ¡ƒdu s>J ‚t t | ¡ƒdu sJJ ‚t t | ¡ƒdu sVJ ‚t t | ¡ƒdu sbJ ‚t t | ¡ƒdu snJ ‚t t tj¡ƒd u s{J ‚d S )Nç      ð?TFgaÃÓ+eÙ@)r   r   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   Úmathr#   rW   rX   rX   rY   Útest_float_1Y   sF   rb   c                  C   s‚  t dƒ} tt | ¡ƒdu sJ ‚tt | ¡ƒdu sJ ‚tt | ¡ƒdu s%J ‚tt | ¡ƒdu s0J ‚tt | ¡ƒdu s;J ‚tt | ¡ƒdu sFJ ‚tt 	| ¡ƒdu sQJ ‚tt 
| ¡ƒdu s\J ‚tt | ¡ƒdu sgJ ‚tt | ¡ƒdu srJ ‚tt | ¡ƒdu s}J ‚tt | ¡ƒdu sˆJ ‚tt | ¡ƒdu s“J ‚tt | ¡ƒdu sžJ ‚tt | ¡ƒdu s©J ‚tt | ¡ƒdu s´J ‚tt | ¡ƒdu s¿J ‚d S )Nr   FT)r   r   r   ÚnonzeroÚzerorG   rH   rI   rJ   rK   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rX   rY   Útest_zero_0‚   s$   re   c                  C   s˜  t dƒ} tt | ¡ƒdu sJ ‚tt | ¡ƒdu sJ ‚tt | ¡ƒdu s%J ‚tt | ¡ƒdu s0J ‚tt | ¡ƒdu s;J ‚tt | ¡ƒdu sFJ ‚tt 	| ¡ƒdu sQJ ‚tt 
| ¡ƒdu s\J ‚tt | ¡ƒdu sgJ ‚tt | ¡ƒdu srJ ‚tt | ¡ƒdu s}J ‚tt | ¡ƒdu sˆJ ‚tt | ¡ƒdu s“J ‚tt | ¡ƒdu sžJ ‚tt | ¡ƒdu s©J ‚tt | ¡ƒdu s´J ‚tt | ¡ƒdu s¿J ‚tt | ¡ƒdu sÊJ ‚d S )NéÿÿÿÿTF)r   r   r   rc   rd   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rX   rY   Útest_negativeone—   s&   rg   c                   C   sè  t t t¡ƒdu sJ ‚t t t¡ƒdu sJ ‚t t t¡ƒdu s!J ‚t t t¡ƒdu s,J ‚t t t¡ƒdu s7J ‚t t t¡ƒdu sBJ ‚t t 	t¡ƒdu sMJ ‚t t 
t¡ƒdu sXJ ‚t t t¡ƒdu scJ ‚t t t¡ƒdu snJ ‚t t t¡ƒdu syJ ‚t t t¡ƒdu s„J ‚t t t¡ƒdu sJ ‚t t t¡ƒdu sšJ ‚t t t¡ƒdu s¥J ‚t t t¡ƒdu s°J ‚t t t¡ƒdu s»J ‚t t t¡ƒdu sÆJ ‚t t t¡ƒdu sÑJ ‚t t t¡ƒdu sÜJ ‚t t t¡ƒdu sçJ ‚t t t¡ƒdu sòJ ‚d S ©NTF)r   r   rG   r!   rH   rI   Ú	algebraicrJ   Úextended_realrK   rL   rM   rN   Úextended_positiverO   rP   rQ   rR   ÚinfiniterS   rT   rU   rV   Úpositive_infiniteÚnegative_infiniterX   rX   rX   rY   Útest_infinity­   s,   ro   c                  C   sò  t j} tt | ¡ƒdu sJ ‚tt | ¡ƒdu sJ ‚tt | ¡ƒdu s$J ‚tt | ¡ƒdu s/J ‚tt | ¡ƒdu s:J ‚tt 	| ¡ƒdu sEJ ‚tt 
| ¡ƒdu sPJ ‚tt | ¡ƒdu s[J ‚tt | ¡ƒdu sfJ ‚tt | ¡ƒdu sqJ ‚tt | ¡ƒdu s|J ‚tt | ¡ƒdu s‡J ‚tt | ¡ƒdu s’J ‚tt | ¡ƒdu sJ ‚tt | ¡ƒdu s¨J ‚tt t¡ƒdu s³J ‚tt | ¡ƒdu s¾J ‚tt | ¡ƒdu sÉJ ‚tt | ¡ƒdu sÔJ ‚tt | ¡ƒdu sßJ ‚tt t ¡ƒdu sëJ ‚tt t ¡ƒdu s÷J ‚d S rh   )r$   ÚNegativeInfinityr   r   rG   rH   rI   ri   rJ   rj   rK   rL   rM   rN   rO   Úextended_negativerP   rQ   rR   rl   r!   rS   rT   rU   rV   rm   rn   )ÚmmrX   rX   rY   Útest_neg_infinityÆ   s.   rs   c                   C   sþ  t t t¡ƒdu sJ ‚t t t¡ƒdu sJ ‚t t t¡ƒdu s!J ‚t t t¡ƒdu s,J ‚t t t¡ƒdu s7J ‚t t t¡ƒdu sBJ ‚t t 	t¡ƒdu sMJ ‚t t 
t¡ƒdu sXJ ‚t t t¡ƒdu scJ ‚t t t¡ƒdu snJ ‚t t t¡ƒdu syJ ‚t t t¡ƒdu s„J ‚t t t¡ƒdu sJ ‚t t t¡ƒdu sšJ ‚t t t¡ƒdu s¥J ‚t t t¡ƒdu s°J ‚t t t¡ƒdu s»J ‚t t t¡ƒdu sÆJ ‚t t t¡ƒdu sÑJ ‚t t t¡ƒdu sÜJ ‚t t t¡ƒdu sçJ ‚t t t¡ƒdu sòJ ‚t t t¡ƒdu sýJ ‚d S rh   )r   r   rG   r"   rH   rI   ri   rJ   rj   rK   rL   rM   rN   rO   rd   rc   rP   rQ   rR   rl   rS   rT   rU   rV   rm   rn   rX   rX   rX   rY   Útest_complex_infinityà   s.   rt   c                  C   sÂ  t j} tt | ¡ƒdu sJ ‚tt | ¡ƒd u sJ ‚tt | ¡ƒd u s$J ‚tt | ¡ƒd u s/J ‚tt | ¡ƒd u s:J ‚tt 	| ¡ƒd u sEJ ‚tt 
| ¡ƒd u sPJ ‚tt | ¡ƒd u s[J ‚tt | ¡ƒd u sfJ ‚tt | ¡ƒd u sqJ ‚tt | ¡ƒd u s|J ‚tt | ¡ƒd u s‡J ‚tt | ¡ƒd u s’J ‚tt | ¡ƒd u sJ ‚tt | ¡ƒd u s¨J ‚tt | ¡ƒd u s³J ‚tt | ¡ƒd u s¾J ‚tt | ¡ƒd u sÉJ ‚tt | ¡ƒd u sÔJ ‚tt | ¡ƒd u sßJ ‚d S ©NT)r$   ÚNaNr   r   rG   rH   rI   ri   rJ   rj   rK   rL   rM   rN   rc   rd   rP   rQ   rR   rl   rS   rT   rU   rV   ©ÚnanrX   rX   rY   Útest_nanú   s*   ry   c                  C   sú  t ddƒ} tt | ¡ƒdu sJ ‚tt | ¡ƒdu sJ ‚tt | ¡ƒdu s&J ‚tt | ¡ƒdu s1J ‚tt | ¡ƒdu s<J ‚tt | ¡ƒdu sGJ ‚tt 	| ¡ƒdu sRJ ‚tt 
| ¡ƒdu s]J ‚tt | ¡ƒdu shJ ‚tt | ¡ƒdu ssJ ‚tt | ¡ƒdu s~J ‚tt | ¡ƒdu s‰J ‚tt | ¡ƒdu s”J ‚tt | ¡ƒdu sŸJ ‚tt | ¡ƒdu sªJ ‚tt | ¡ƒdu sµJ ‚t ddƒ} tt 
| ¡ƒdu sÅJ ‚tt | ¡ƒdu sÐJ ‚t ddƒ} tt | ¡ƒdu sàJ ‚tt 
| ¡ƒdu sëJ ‚t ddƒ} tt 
| ¡ƒdu sûJ ‚tt | ¡ƒdu sJ ‚t ddƒ} tt 
| ¡ƒdu sJ ‚tt | ¡ƒdu s$J ‚t ddƒ} tt 
| ¡ƒdu s5J ‚tt | ¡ƒdu sAJ ‚t d	dƒ} tt | ¡ƒdu sRJ ‚tt 
| ¡ƒdu s^J ‚t d	dƒ} tt 
| ¡ƒdu soJ ‚tt | ¡ƒdu s{J ‚d S )
Né   é   TFrE   é   éýÿÿÿrf   éûÿÿÿ)r    r   r   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   )ÚrrX   rX   rY   Útest_Rational_number  sL   







r€   c                  C   sl  t dƒ} tt | ¡ƒdu sJ ‚tt | ¡ƒdu sJ ‚tt | ¡ƒdu s%J ‚tt | ¡ƒdu s0J ‚tt | ¡ƒdu s;J ‚tt | ¡ƒdu sFJ ‚tt 	| ¡ƒdu sQJ ‚tt 
| ¡ƒdu s\J ‚tt | ¡ƒdu sgJ ‚tt | ¡ƒdu srJ ‚tt | ¡ƒdu s}J ‚tt | ¡ƒdu sˆJ ‚tt | ¡ƒdu s“J ‚tt | ¡ƒdu sžJ ‚tt | ¡ƒdu s©J ‚tt | ¡ƒdu s´J ‚d S )Né   TF)r0   r   r   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rX   rY   Útest_sqrt_2B  s"   r‚   c                  C   s  t j} tt | ¡ƒdu sJ ‚tt | ¡ƒdu sJ ‚tt | ¡ƒdu s$J ‚tt | ¡ƒdu s/J ‚tt | ¡ƒdu s:J ‚tt 	| ¡ƒdu sEJ ‚tt 
| ¡ƒdu sPJ ‚tt | ¡ƒdu s[J ‚tt | ¡ƒdu sfJ ‚tt | ¡ƒdu sqJ ‚tt | ¡ƒdu s|J ‚tt | ¡ƒdu s‡J ‚tt | ¡ƒdu s’J ‚tt | ¡ƒdu sJ ‚tt | ¡ƒdu s¨J ‚tt | ¡ƒdu s³J ‚tt | ¡ƒdu s¾J ‚t jd } tt | ¡ƒdu sÎJ ‚tt | ¡ƒdu sÙJ ‚tt | ¡ƒdu säJ ‚tt | ¡ƒdu sïJ ‚tt | ¡ƒdu súJ ‚tt 	| ¡ƒdu sJ ‚tt 
| ¡ƒdu sJ ‚tt | ¡ƒdu sJ ‚tt | ¡ƒdu s*J ‚tt | ¡ƒdu s6J ‚tt | ¡ƒdu sBJ ‚tt | ¡ƒdu sNJ ‚tt | ¡ƒdu sZJ ‚tt | ¡ƒdu sfJ ‚tt | ¡ƒdu srJ ‚tt | ¡ƒdu s~J ‚tt | ¡ƒdu sŠJ ‚dt j } tt | ¡ƒdu s›J ‚tt | ¡ƒdu s§J ‚tt | ¡ƒdu s³J ‚tt | ¡ƒdu s¿J ‚tt | ¡ƒdu sËJ ‚tt 	| ¡ƒdu s×J ‚tt 
| ¡ƒdu sãJ ‚tt | ¡ƒdu sïJ ‚tt | ¡ƒdu sûJ ‚tt | ¡ƒdu sJ ‚tt | ¡ƒdu sJ ‚tt | ¡ƒdu sJ ‚tt | ¡ƒdu s+J ‚tt | ¡ƒdu s7J ‚tt | ¡ƒdu sCJ ‚tt | ¡ƒdu sOJ ‚tt | ¡ƒdu s[J ‚t jd } tt | ¡ƒdu slJ ‚tt | ¡ƒdu sxJ ‚tt | ¡ƒdu s„J ‚tt | ¡ƒdu sJ ‚tt | ¡ƒdu sœJ ‚tt 	| ¡ƒdu s¨J ‚tt 
| ¡ƒdu s´J ‚tt | ¡ƒdu sÀJ ‚tt | ¡ƒdu sÌJ ‚tt | ¡ƒdu sØJ ‚tt | ¡ƒdu säJ ‚tt | ¡ƒdu sðJ ‚tt | ¡ƒdu süJ ‚tt | ¡ƒdu sJ ‚tt | ¡ƒdu sJ ‚tt | ¡ƒdu s J ‚tt | ¡ƒdu s,J ‚dt j d } tt | ¡ƒdu s?J ‚tt | ¡ƒdu sKJ ‚tt | ¡ƒdu sWJ ‚tt | ¡ƒd u scJ ‚tt | ¡ƒdu soJ ‚tt 	| ¡ƒdu s{J ‚tt 
| ¡ƒdu s‡J ‚tt | ¡ƒdu s“J ‚tt | ¡ƒdu sŸJ ‚tt | ¡ƒdu s«J ‚tt | ¡ƒdu s·J ‚tt | ¡ƒdu sÃJ ‚tt | ¡ƒdu sÏJ ‚tt | ¡ƒdu sÛJ ‚tt | ¡ƒdu sçJ ‚tt | ¡ƒdu sóJ ‚tt | ¡ƒdu sÿJ ‚d S ©NTFrE   r   )r$   ÚPir   r   rG   rH   rI   ri   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rX   rY   Útest_piV  s´   


r…   c                  C   s€  t j} tt | ¡ƒdu sJ ‚tt | ¡ƒdu sJ ‚tt | ¡ƒdu s$J ‚tt | ¡ƒdu s/J ‚tt | ¡ƒdu s:J ‚tt 	| ¡ƒdu sEJ ‚tt 
| ¡ƒdu sPJ ‚tt | ¡ƒdu s[J ‚tt | ¡ƒdu sfJ ‚tt | ¡ƒdu sqJ ‚tt | ¡ƒdu s|J ‚tt | ¡ƒdu s‡J ‚tt | ¡ƒdu s’J ‚tt | ¡ƒdu sJ ‚tt | ¡ƒdu s¨J ‚tt | ¡ƒdu s³J ‚tt | ¡ƒdu s¾J ‚d S rh   )r$   ÚExp1r   r   rG   rH   rI   ri   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rX   rY   Útest_E·  ó$   r‡   c                  C   ó€  t j} tt | ¡ƒdu sJ ‚tt | ¡ƒdu sJ ‚tt | ¡ƒdu s$J ‚tt | ¡ƒdu s/J ‚tt | ¡ƒdu s:J ‚tt 	| ¡ƒdu sEJ ‚tt 
| ¡ƒdu sPJ ‚tt | ¡ƒdu s[J ‚tt | ¡ƒdu sfJ ‚tt | ¡ƒdu sqJ ‚tt | ¡ƒdu s|J ‚tt | ¡ƒdu s‡J ‚tt | ¡ƒdu s’J ‚tt | ¡ƒdu sJ ‚tt | ¡ƒdu s¨J ‚tt | ¡ƒdu s³J ‚tt | ¡ƒdu s¾J ‚d S rh   )r$   ÚGoldenRatior   r   rG   rH   rI   ri   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rX   rY   Útest_GoldenRatioÌ  rˆ   r‹   c                  C   r‰   rh   )r$   ÚTribonacciConstantr   r   rG   rH   rI   ri   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rX   rY   Útest_TribonacciConstantá  rˆ   r   c                  C   sj  t } tt | ¡ƒdu sJ ‚tt | ¡ƒdu sJ ‚tt | ¡ƒdu s#J ‚tt | ¡ƒdu s.J ‚tt | ¡ƒdu s9J ‚tt | ¡ƒdu sDJ ‚tt 	| ¡ƒdu sOJ ‚tt 
| ¡ƒdu sZJ ‚tt | ¡ƒdu seJ ‚tt | ¡ƒdu spJ ‚tt | ¡ƒdu s{J ‚tt | ¡ƒdu s†J ‚tt | ¡ƒdu s‘J ‚tt | ¡ƒdu sœJ ‚tt | ¡ƒdu s§J ‚tt | ¡ƒdu s²J ‚tt | ¡ƒdu s½J ‚dt  } tt | ¡ƒdu sÌJ ‚tt | ¡ƒdu s×J ‚tt | ¡ƒdu sâJ ‚tt | ¡ƒdu síJ ‚tt | ¡ƒdu søJ ‚tt | ¡ƒdu sJ ‚tt 	| ¡ƒdu sJ ‚tt 
| ¡ƒdu sJ ‚tt | ¡ƒdu s(J ‚tt | ¡ƒdu s4J ‚tt | ¡ƒdu s@J ‚tt | ¡ƒdu sLJ ‚tt | ¡ƒdu sXJ ‚tt | ¡ƒdu sdJ ‚tt | ¡ƒdu spJ ‚tt | ¡ƒdu s|J ‚tt | ¡ƒdu sˆJ ‚t dt   } tt | ¡ƒdu sšJ ‚tt | ¡ƒdu s¦J ‚tt | ¡ƒdu s²J ‚tt | ¡ƒdu s¾J ‚tt | ¡ƒdu sÊJ ‚tt | ¡ƒdu sÖJ ‚tt 	| ¡ƒdu sâJ ‚tt 
| ¡ƒdu sîJ ‚tt | ¡ƒdu súJ ‚tt | ¡ƒdu sJ ‚tt | ¡ƒdu sJ ‚tt | ¡ƒdu sJ ‚tt | ¡ƒdu s*J ‚tt | ¡ƒdu s6J ‚tt | ¡ƒdu sBJ ‚tt | ¡ƒdu sNJ ‚tt | ¡ƒdu sZJ ‚t t  } tt 
| ¡ƒdu sjJ ‚tt | ¡ƒdu svJ ‚t  t  } tt 
| ¡ƒdu s‡J ‚tt | ¡ƒdu s“J ‚dt  t  } tt 
| ¡ƒdu s¥J ‚tt | ¡ƒdu s±J ‚dt  } tt 
| ¡ƒdu sÁJ ‚tt | ¡ƒdu sÍJ ‚dt  } tt 
| ¡ƒdu sÝJ ‚tt | ¡ƒdu séJ ‚dt  t  } tt 
| ¡ƒdu sûJ ‚tt | ¡ƒdu sJ ‚t t d  } tt 
| ¡ƒdu sJ ‚tt | ¡ƒdu s%J ‚t t d  } tt 
| ¡ƒdu s7J ‚tt | ¡ƒdu sCJ ‚t d } tt 
| ¡ƒdu sSJ ‚tt | ¡ƒdu s_J ‚t d } tt 
| ¡ƒdu soJ ‚tt | ¡ƒdu s{J ‚dt  } tt 
| ¡ƒdu s‹J ‚tt | ¡ƒdu s—J ‚t d } tt 
| ¡ƒdu s§J ‚tt | ¡ƒdu s³J ‚d S )NTFrE   rz   rf   r   r   )r   r   r   rG   rH   rI   ri   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rX   rY   Útest_Iö  s´   
rŽ   c                  C   s5  t dƒ\} }}| | }|j\} }tt |¡t |¡ƒd u sJ ‚tt | ¡ƒd u s*J ‚tt | ¡t | ¡ƒdu s9J ‚tt | ¡t |¡ƒd u sHJ ‚tt | ¡t | ¡ƒdu sWJ ‚tt | ¡t | ¡ƒd u sfJ ‚tt | d ¡ƒd u ssJ ‚tt | d ¡t | ¡ƒdu s„J ‚| | }|j\} }tt |¡t | ¡t |¡@ ƒdu s¡J ‚tt |¡t | ¡t |¡@ ƒdu sµJ ‚tt |¡t | ¡t |¡@ ƒdu sÉJ ‚tt |¡t | ¡t |¡@ ƒdu sÝJ ‚tt |¡t | ¡t |¡@ t |¡ @ ƒdu s÷J ‚tt |¡t | ¡t | ¡ @ t |¡@ ƒdu sJ ‚tt |¡t | ¡t |¡@ t | ¡ @ t |¡ @ ƒdu s3J ‚tt |¡t | ¡t |¡ @ ƒdu sIJ ‚tt |¡t | ¡t |¡ @ ƒdu s_J ‚tt |¡t | ¡t |¡@ ƒdu stJ ‚tt |¡t | ¡t |¡@ ƒdu s‰J ‚tt |¡t | ¡t |¡ @ t |¡ @ ƒdu s¥J ‚tt |¡t | ¡t | ¡ @ t |¡@ ƒdu sÀJ ‚tt |¡t | ¡t | ¡ @ t |¡ @ t |¡ @ ƒdu sâJ ‚tt |¡t | ¡ƒd u sòJ ‚tt |¡t | ¡ƒd u sJ ‚tt |¡t | ¡t 	|¡@ ƒd u sJ ‚tt |¡t | ¡t 	|¡@ ƒd u s,J ‚tt |¡t | ¡t |¡ @ ƒd u sBJ ‚tt |¡t | ¡t | ¡ @ t 	|¡@ ƒd u s]J ‚tt |¡t | ¡t | ¡ @ t |¡ @ ƒd u syJ ‚tt |¡t | ¡ t |¡ @ ƒd u sJ ‚tt |¡t | ¡t |¡ @ ƒd u s¦J ‚tt |¡t | ¡ t |¡@ ƒd u s¼J ‚tt |¡t | ¡t |¡@ ƒdu sÑJ ‚tt |¡t | ¡t |¡ @ t 	|¡ @ ƒd u síJ ‚tt |¡t | ¡ t 	| ¡ @ t |¡@ ƒd u s	J ‚tt |¡t | ¡ t |¡ @ t 	| ¡ @ t 	|¡ @ ƒdu s,J ‚tt |¡t |¡ ƒd u s=J ‚tt |¡t 	| ¡t |¡ @ ƒd u sSJ ‚tt |¡t |¡ƒd u scJ ‚tt |¡t 	| ¡t |¡@ ƒdu sxJ ‚tt |¡t 	| ¡t |¡ @ t 	|¡ @ ƒd u s”J ‚tt |¡t 	| ¡ t |¡@ ƒd u sªJ ‚tt |¡t 	| ¡ t |¡ @ t 	|¡ @ ƒdu sÇJ ‚tt |¡ƒd u sÓJ ‚tt |¡t 	| ¡ƒd u sãJ ‚tt |¡t 	|¡ƒd u sóJ ‚tt |¡t 	| ¡t 	|¡@ ƒd u sJ ‚tt |¡t 	| ¡t 	|¡ @ ƒd u sJ ‚tt |¡t 	| ¡ t 	|¡@ ƒd u s4J ‚tt |¡t 	| ¡ t 	|¡ @ ƒd u sKJ ‚t dƒ\} }}| | | }|j\} }}tt |¡t 
| ¡t 
|¡@ t 
|¡@ ƒdu sxJ ‚tt |¡t 
| ¡t 
|¡@ t |¡@ ƒdu s’J ‚tt |¡t 
| ¡t 
|¡@ t |¡@ ƒdu s¬J ‚tt |¡t 
| ¡t 
|¡@ t |¡@ ƒdu sÆJ ‚tt |¡t 
| ¡t 
|¡@ t |¡ @ ƒdu sáJ ‚tt |¡t 
| ¡t 
|¡@ t |¡@ ƒdu sûJ ‚tt |¡t 
| ¡t 
|¡@ t |¡@ ƒd u sJ ‚tt |¡t 
| ¡t 
|¡@ ƒd u s*J ‚tt |¡t 
| ¡t 
|¡@ t 	|¡@ ƒd u sDJ ‚tt |¡t 
| ¡t |¡@ t |¡@ ƒdu s^J ‚tt |¡t 
| ¡t |¡@ t |¡@ ƒdu sxJ ‚tt |¡t 
| ¡t |¡@ t |¡@ ƒdu s’J ‚tt |¡t 
| ¡t |¡@ t |¡ @ ƒdu s­J ‚tt |¡t 
| ¡t |¡@ t |¡@ ƒdu sÇJ ‚tt |¡t 
| ¡t |¡@ t |¡@ ƒd u sáJ ‚tt |¡t 
| ¡t |¡@ ƒd u söJ ‚tt |¡t 
| ¡t |¡@ t 	|¡@ ƒd u sJ ‚tt |¡t 
| ¡t |¡@ t |¡@ ƒdu s*J ‚tt |¡t 
| ¡t |¡@ t |¡@ ƒdu sDJ ‚tt |¡t 
| ¡t |¡@ t |¡ @ ƒdu s_J ‚tt |¡t 
| ¡t |¡@ t |¡@ ƒdu syJ ‚tt |¡t 
| ¡t |¡@ t |¡@ ƒd u s“J ‚tt |¡t 
| ¡t 	|¡@ t |¡@ ƒd u s­J ‚tt |¡t 
| ¡t |¡@ t 	|¡@ ƒd u sÇJ ‚tt |¡t 
| ¡t |¡@ t |¡@ ƒdu sáJ ‚tt |¡t 
| ¡t |¡@ t |¡ @ ƒd u süJ ‚tt |¡t 
| ¡t |¡@ t |¡@ ƒd u sJ ‚tt |¡t 
| ¡t |¡@ t |¡@ ƒdu s0J ‚tt |¡t 
| ¡t |¡@ ƒd u sEJ ‚tt |¡t 
| ¡t |¡@ t 	|¡@ ƒd u s_J ‚tt |¡t 
| ¡t |¡ @ t |¡ @ ƒd u s{J ‚tt |¡t 
| ¡t |¡ @ t |¡@ ƒd u s–J ‚tt |¡t 
| ¡t |¡ @ t |¡@ ƒd u s±J ‚tt |¡t 
| ¡t |¡ @ ƒd u sÇJ ‚tt |¡t 
| ¡t |¡ @ t 	|¡@ ƒd u sâJ ‚tt |¡t 
| ¡t |¡@ t |¡@ ƒdu süJ ‚tt |¡t 
| ¡t |¡@ t |¡@ ƒd u sJ ‚tt |¡t 
| ¡t |¡@ ƒd u s+J ‚tt |¡t 
| ¡t |¡@ t 	|¡@ ƒdu sEJ ‚tt |¡t 
| ¡t |¡@ t |¡@ ƒd u s_J ‚tt |¡t 
| ¡t |¡@ ƒd u stJ ‚tt |¡t 
| ¡t |¡@ t 	|¡@ ƒd u sŽJ ‚tt |¡t 
| ¡ƒd u sžJ ‚tt |¡t 
| ¡t 	|¡@ ƒd u s³J ‚tt |¡t 
| ¡t 	|¡@ t 	|¡@ ƒd u sÍJ ‚tt |¡t | ¡t |¡@ t |¡@ ƒdu sçJ ‚tt |¡t | ¡t |¡@ t |¡@ ƒdu 	sJ ‚tt |¡t | ¡t |¡@ t |¡@ ƒdu 	sJ ‚tt |¡t | ¡t |¡@ t |¡ @ ƒdu 	s6J ‚tt |¡t | ¡t |¡@ t |¡@ ƒdu 	sPJ ‚tt |¡t | ¡t |¡@ t |¡@ ƒd u 	sjJ ‚tt |¡t | ¡t |¡@ ƒd u 	sJ ‚tt |¡t | ¡t |¡@ t 	|¡@ ƒd u 	s™J ‚tt |¡t | ¡t |¡@ t |¡@ ƒdu 	s³J ‚tt |¡t | ¡t |¡@ t |¡@ ƒdu 	sÍJ ‚tt |¡t | ¡t |¡@ t |¡ @ ƒdu 	sèJ ‚tt |¡t | ¡t |¡@ t |¡@ ƒdu 
sJ ‚tt |¡t | ¡t |¡@ t |¡@ ƒd u 
sJ ‚tt |¡t | ¡t |¡@ ƒd u 
s1J ‚tt |¡t | ¡t |¡@ t 	|¡@ ƒd u 
sKJ ‚tt |¡t | ¡t |¡@ t |¡@ ƒdu 
seJ ‚tt |¡t | ¡t |¡@ t |¡ @ ƒd u 
s€J ‚tt |¡t | ¡t |¡@ t |¡@ ƒd u 
sšJ ‚tt |¡t | ¡t |¡@ t |¡@ ƒdu 
s´J ‚tt |¡t | ¡t |¡@ ƒd u 
sÉJ ‚tt |¡t | ¡t |¡@ t 	|¡@ ƒd u 
sãJ ‚tt |¡t | ¡t |¡ @ t |¡ @ ƒd u 
sÿJ ‚tt |¡t | ¡t |¡ @ t |¡@ ƒd u sJ ‚tt |¡t | ¡t |¡ @ t |¡@ ƒd u s5J ‚tt |¡t | ¡t |¡ @ ƒd u sKJ ‚tt |¡t | ¡t |¡ @ t 	|¡@ ƒd u sfJ ‚tt |¡t | ¡t |¡@ t |¡@ ƒdu s€J ‚tt |¡t | ¡t |¡@ t |¡@ ƒd u sšJ ‚tt |¡t | ¡t |¡@ ƒd u s¯J ‚tt |¡t | ¡t |¡@ t 	|¡@ ƒdu sÉJ ‚tt |¡t | ¡t |¡@ t |¡@ ƒd u sãJ ‚tt |¡t | ¡t |¡@ ƒd u søJ ‚tt |¡t | ¡t |¡@ t 	|¡@ ƒd u sJ ‚tt |¡t | ¡ƒd u s"J ‚tt |¡t | ¡t 	|¡@ ƒd u s7J ‚tt |¡t | ¡t 	|¡@ t 	|¡@ ƒd u sQJ ‚tt |¡t | ¡t |¡@ t |¡@ ƒdu skJ ‚tt |¡t | ¡t |¡@ t |¡@ ƒdu s…J ‚tt |¡t | ¡t |¡@ t |¡ @ ƒdu s J ‚tt |¡t | ¡t |¡@ t |¡@ ƒdu sºJ ‚tt |¡t | ¡t |¡@ t |¡@ ƒd u sÔJ ‚tt |¡t | ¡t |¡@ ƒd u séJ ‚tt |¡t | ¡t |¡@ t 	|¡@ ƒd u sJ ‚tt |¡t | ¡t |¡@ t |¡@ ƒdu sJ ‚tt |¡t | ¡t |¡@ t |¡ @ ƒd u s8J ‚tt |¡t | ¡t |¡@ t |¡@ ƒd u sRJ ‚tt |¡t | ¡t |¡@ t |¡@ ƒdu slJ ‚tt |¡t | ¡t |¡@ ƒd u sJ ‚tt |¡t | ¡t |¡@ t 	|¡@ ƒd u s›J ‚tt |¡t | ¡t |¡ @ t |¡ @ ƒd u s·J ‚tt |¡t | ¡t |¡ @ t |¡@ ƒd u sÒJ ‚tt |¡t | ¡t |¡ @ t |¡@ ƒd u síJ ‚tt |¡t | ¡t |¡ @ ƒd u sJ ‚tt |¡t | ¡t |¡ @ t 	|¡@ ƒd u sJ ‚tt |¡t | ¡t |¡@ t |¡@ ƒdu s8J ‚tt |¡t | ¡t |¡@ t |¡@ ƒd u sRJ ‚tt |¡t | ¡t |¡@ ƒd u sgJ ‚tt |¡t | ¡t |¡@ t 	|¡@ ƒdu sJ ‚tt |¡t | ¡t |¡@ t |¡@ ƒd u s›J ‚tt |¡t | ¡t |¡@ ƒd u s°J ‚tt |¡t | ¡t |¡@ t 	|¡@ ƒd u sÊJ ‚tt |¡t | ¡ƒd u sÚJ ‚tt |¡t | ¡t 	|¡@ ƒd u sïJ ‚tt |¡t | ¡t 	|¡@ t 	|¡@ ƒd u s	J ‚tt |¡t | ¡t |¡@ t |¡@ ƒdu s#J ‚tt |¡t | ¡t |¡@ t |¡ @ ƒd u s>J ‚tt |¡t | ¡t |¡@ t |¡@ ƒd u sXJ ‚tt |¡t | ¡t |¡@ t |¡@ ƒdu srJ ‚tt |¡t | ¡t |¡@ ƒd u s‡J ‚tt |¡t | ¡t |¡@ t 	|¡@ ƒd u s¡J ‚tt |¡t | ¡t |¡ @ t |¡ @ ƒd u s½J ‚tt |¡t | ¡t |¡ @ t |¡@ ƒd u sØJ ‚tt |¡t | ¡t |¡ @ t |¡@ ƒd u sóJ ‚tt |¡t | ¡t |¡ @ ƒd u s	J ‚tt |¡t | ¡t |¡ @ t 	|¡@ ƒd u s$J ‚tt |¡t | ¡t |¡@ t |¡@ ƒd u s>J ‚tt |¡t | ¡t |¡@ t |¡@ ƒd u sXJ ‚tt |¡t | ¡t |¡@ ƒd u smJ ‚tt |¡t | ¡t |¡@ t 	|¡@ ƒd u s‡J ‚tt |¡t | ¡t |¡@ t |¡@ ƒdu s¡J ‚tt |¡t | ¡t |¡@ ƒd u s¶J ‚tt |¡t | ¡t |¡@ t 	|¡@ ƒd u sÐJ ‚tt |¡t | ¡ƒd u sàJ ‚tt |¡t | ¡t 	|¡@ ƒd u sõJ ‚tt |¡t | ¡t 	|¡@ t 	|¡@ ƒd u sJ ‚tt |¡t | ¡ t |¡ @ t |¡ @ ƒd u s,J ‚tt |¡t | ¡ t |¡@ t |¡ @ ƒd u sHJ ‚tt |¡t | ¡ t |¡ @ t |¡@ ƒd u sdJ ‚tt |¡t | ¡ t |¡ @ ƒd u s{J ‚tt |¡t | ¡ t |¡ @ t 	|¡@ ƒd u s—J ‚tt |¡t | ¡ t |¡@ t |¡@ ƒd u s²J ‚tt |¡t | ¡ t |¡@ t |¡@ ƒd u sÍJ ‚tt |¡t | ¡ t |¡@ ƒd u sãJ ‚tt |¡t | ¡ t |¡@ t 	|¡@ ƒd u sþJ ‚tt |¡t | ¡ t |¡@ t |¡@ ƒd u sJ ‚tt |¡t | ¡ t |¡@ ƒd u s/J ‚tt |¡t | ¡ t |¡@ t 	|¡@ ƒd u sJJ ‚tt |¡t | ¡ ƒd u s[J ‚tt |¡t | ¡ t 	|¡@ ƒd u sqJ ‚tt |¡t | ¡ t 	|¡@ t 	|¡@ ƒd u sŒJ ‚tt |¡t | ¡t |¡@ t |¡@ ƒdu s¦J ‚tt |¡t | ¡t |¡@ t |¡@ ƒd u sÀJ ‚tt |¡t | ¡t |¡@ ƒd u sÕJ ‚tt |¡t | ¡t |¡@ t 	|¡@ ƒdu sïJ ‚tt |¡t | ¡t |¡@ t |¡@ ƒd u s	J ‚tt |¡t | ¡t |¡@ ƒd u sJ ‚tt |¡t | ¡t |¡@ t 	|¡@ ƒd u s8J ‚tt |¡t | ¡ƒd u sHJ ‚tt |¡t | ¡t 	|¡@ ƒd u s]J ‚tt |¡t | ¡t 	|¡@ t 	|¡@ ƒdu swJ ‚tt |¡t | ¡t |¡@ t |¡@ ƒd u s‘J ‚tt |¡t | ¡t |¡@ ƒd u s¦J ‚tt |¡t | ¡t |¡@ t 	|¡@ ƒd u sÀJ ‚tt |¡t | ¡ƒd u sÐJ ‚tt |¡t | ¡t 	|¡@ ƒd u såJ ‚tt |¡t | ¡t 	|¡@ t 	|¡@ ƒd u sÿJ ‚tt |¡ƒd u sJ ‚tt |¡t 	|¡ƒd u sJ ‚tt |¡t 	|¡t 	|¡@ ƒd u s0J ‚tt |¡t 	| ¡t 	|¡@ t 	|¡@ ƒd u sJJ ‚tt d|  ¡ƒd u sXJ ‚tt d|  ¡t | ¡ƒdu sjJ ‚t dƒ\} }}| | }|j\} }tt |¡t | ¡t |¡@ ƒdu sJ ‚tt |¡t | ¡t | ¡ @ t |¡ @ ƒdu s«J ‚tt |¡t | ¡ƒd u s»J ‚tt |¡t | ¡ t |¡@ t |¡ @ ƒdu s×J ‚tt |¡t | ¡ t |¡ @ ƒdu sîJ ‚tt |¡t | ¡ ƒd u sÿJ ‚tt |¡t |¡ƒd u sJ ‚tt |¡t |¡ ƒd u s J ‚tt |¡ƒd u s,J ‚| | | }|j\} }}tt |¡t | ¡t |¡@ t |¡@ ƒdu sRJ ‚tt |¡t | ¡t | ¡ @ t |¡@ t |¡ @ t |¡ @ ƒdu syJ ‚tt |¡t | ¡t |¡@ ƒd u sŽJ ‚tt |¡t | ¡t | ¡ @ t |¡ @ t |¡@ t |¡ @ ƒdu sµJ ‚tt |¡t | ¡t | ¡ @ t |¡ @ t |¡ @ ƒdu s×J ‚tt |¡t | ¡t |¡ @ ƒd u síJ ‚tt |¡t | ¡t |¡@ ƒd u sJ ‚tt |¡t | ¡t |¡ @ ƒd u sJ ‚tt |¡t | ¡ƒd u s(J ‚tt |¡t | ¡ t |¡@ t |¡ @ t |¡@ t |¡ @ ƒdu sOJ ‚tt |¡t | ¡ t | ¡ @ t |¡@ t |¡ @ t |¡ @ ƒdu swJ ‚tt |¡t | ¡ t |¡@ ƒd u sJ ‚tt |¡t | ¡ t |¡ @ t |¡@ t |¡ @ ƒdu s¯J ‚tt |¡t | ¡ t |¡ @ t |¡ @ ƒdu sÌJ ‚tt |¡t | ¡ t |¡ @ ƒd u sãJ ‚tt |¡t | ¡ t |¡@ ƒd u sùJ ‚tt |¡t | ¡ t |¡ @ ƒd u sJ ‚tt |¡t | ¡ ƒd u s!J ‚tt |¡t |¡t |¡@ ƒd u s6J ‚tt |¡t |¡t |¡ @ ƒd u sLJ ‚tt |¡t |¡ƒd u s\J ‚tt |¡t |¡ t |¡@ ƒd u srJ ‚tt |¡t |¡ t |¡ @ ƒd u s‰J ‚tt |¡t |¡ ƒd u sšJ ‚tt |¡t |¡ƒd u sªJ ‚tt |¡t |¡ ƒd u s»J ‚tt |¡t |¡ t | ¡@ t |¡@ t |¡@ ƒd u sÛJ ‚tt |¡t | ¡t |¡ @ t |¡@ t |¡ @ t |¡@ ƒdu sJ ‚t dƒ\} }}tt | d ¡ƒd u sJ ‚tt d|  ¡ƒd u s$J ‚tt d|  ¡t | ¡ƒdu s6J ‚tt | |  ¡ƒd u sDJ ‚tt tj|  ¡ƒd u sSJ ‚tt tj|  ¡t 	| ¡ƒdu sfJ ‚tt tj|  ¡t | ¡ƒd u syJ ‚tt d|  ¡t | ¡ƒdu s‹J ‚tt t| ƒ¡ƒd u s™J ‚tt d|  ¡t | ¡ ƒdu s¬J ‚tt | d ¡t | ¡ ƒdu s¿J ‚tt | | ¡t | ¡t |¡@ ƒd u sÖJ ‚tt | | ¡t | ¡t 
|¡@ ƒd u síJ ‚tt | | ¡t | ¡t 
|¡@ ƒdu sJ ‚tt | | ¡t | ¡t |¡@ ƒdu sJ ‚tt | | ¡t | ¡t |¡@ ƒdu s2J ‚tt | | ¡t | ¡t 
|¡@ ƒdu sIJ ‚tt | | ¡t | ¡t |¡@ ƒdu s`J ‚tt t| ƒ¡ƒdu snJ ‚tt t| ƒ¡t | ¡ ƒdu sJ ‚tt t| ƒ¡ƒd u sJ ‚tt t| ƒ¡t | ¡ƒd u s¡J ‚tt t| ƒ¡t | ¡ ƒdu s´J ‚tt t| ƒ¡t | ¡ƒdu sÆJ ‚tt t| ƒ¡t | ¡ƒdu sØJ ‚tt t| ƒ¡ƒd u sæJ ‚tt t| ƒ¡t | ¡ƒdu søJ ‚tt tdƒ¡ƒdu sJ ‚tt t| ƒ¡ƒdu sJ ‚tt t| ƒ¡t | ¡ ƒdu s'J ‚tt t| ƒ¡ƒdu s5J ‚tt t| ƒ¡t | ¡ ƒdu sHJ ‚tt dt| ƒ ¡ƒdu sXJ ‚tt t| ƒd ¡ƒdu shJ ‚tt t| ƒd ¡ƒdu sxJ ‚tt t| ƒt| ƒ ¡ƒdu sŠJ ‚d S )Nzx,y,zTrE   Fr   )r'   Úargsr   r   rR   rm   rK   rj   rN   rk   rO   rn   rq   rd   Úextended_nonzeror$   ÚHalfr0   rJ   rc   r-   r/   rl   r.   r7   r5   ©r   r   r   ÚarX   rX   rY   Útest_bounded`  s¬  
"
((((
ÿÿÿ
ÿ(
ÿ
ÿ,,ÿ
ÿÿ
ÿ
ÿ
ÿÿ
ÿ*
ÿ
ÿ  ÿ
ÿÿ
ÿ,ÿ
ÿ
ÿ
ÿ.
ÿ
ÿÿ
ÿÿ
ÿ
ÿ
ÿ ÿ
ÿ 
ÿ
ÿ
ÿ"
ÿ
ÿ ÿ
ÿ
ÿ
ÿ
ÿÿ
ÿ 
ÿ
ÿ  ÿ
ÿ
ÿ
ÿÿ
ÿ
ÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿ
ÿ
ÿÿ
ÿÿ
ÿ*ÿ
ÿÿ
ÿÿ
ÿÿ
ÿ
ÿ
ÿÿ
ÿÿ
ÿ*ÿ
ÿÿ
ÿÿ
ÿ
ÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿ
ÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿ
ÿ
ÿÿ
ÿÿ
ÿ,ÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿ ÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿ
ÿ
ÿÿ
ÿÿ
ÿ*ÿ
ÿÿ
ÿÿ
ÿ
ÿ
ÿÿ
ÿÿ
ÿ*ÿ
ÿÿ
ÿ
ÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿ
ÿ
ÿÿ
ÿÿ
ÿ,ÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿ ÿ
ÿÿ
ÿÿ
ÿÿ
ÿ
ÿ
ÿÿ
ÿÿ
ÿ*ÿ
ÿÿ
ÿ
ÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿ
ÿ
ÿÿ
ÿÿ
ÿ,ÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿ ÿ
ÿÿ
ÿÿÿ
ÿÿ
ÿ
ÿÿÿ
ÿÿÿ
ÿÿ
ÿÿÿ
ÿ
ÿ
ÿ
ÿ
ÿÿ
ÿ
ÿÿ
ÿ
ÿ
ÿ
ÿÿ
ÿÿÿ
ÿÿÿ
ÿÿ
ÿÿÿ
ÿÿÿ
ÿÿ
ÿÿÿ
ÿ ÿ
ÿÿÿ
ÿ 
ÿ
ÿ
ÿ
ÿ ÿ
ÿ. ÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿÿ
ÿ"ÿ
ÿÿ
ÿÿÿ
ÿÿÿ
ÿÿ
ÿÿÿ
ÿÿÿ
ÿÿ
ÿÿÿ
ÿ ÿ
ÿÿÿ
ÿÿÿ
ÿÿ
ÿÿÿ
ÿ ÿ
ÿÿÿ
ÿ ÿ
ÿÿÿ
ÿ$
*8 8." "ÿ
ÿ(
ÿ
ÿ
ÿ**ÿ
ÿ
ÿ*
ÿ
ÿ,*, *ÿ
ÿ
ÿ*
ÿ
ÿ
ÿ, ÿ
ÿ
ÿ 
ÿ
ÿ.,."*, ,." "ÿÿ
ÿÿ
ÿþ
þ$&&$&&.......&$&$$$&&   (r”   c                   C   sn  t t tt ¡ƒdu sJ ‚t t dtt  ¡ƒdu sJ ‚t t dtt  ¡ƒdu s+J ‚t t t t ¡ƒdu s9J ‚t t dt ¡ƒdu sFJ ‚t t tt ¡ƒdu sSJ ‚t t tt ¡t t¡t t¡@ t 	t¡ @ ƒdu soJ ‚t t tt tt  ¡ƒd u s€J ‚t t tt t ¡ƒd u sJ ‚t t dt ¡t t¡t 	t¡ @ ƒdu s¦J ‚t t dtt  ¡ƒdu sµJ ‚d S )NTrE   rz   F)
r   r   rl   r   r!   r"   r   r   rR   rd   rX   rX   rX   rY   Útest_unbounded_  s   8"."r•   c                   C   s8   t t t¡t t¡t t¡@ t t¡ @ ƒd u sJ ‚d S ©N)r   r   rT   r   rH   rN   rS   rX   rX   rX   rY   Útest_issue_27441m  s   8r—   c                  C   s¸  t dƒ\} }}| | }tt |¡t | ¡t |¡ @ ƒd u s J ‚tt |¡t | ¡ t |¡@ ƒd u s5J ‚| | | }tt |¡t | ¡t |¡@ t |¡ @ ƒd u sUJ ‚tt |¡t | ¡t |¡ @ t |¡@ ƒd u soJ ‚tt |¡t | ¡t |¡ @ t |¡ @ ƒd u sŠJ ‚tt |¡t | ¡ t |¡@ t |¡@ ƒd u s¤J ‚tt |¡t | ¡ t |¡@ t |¡ @ ƒd u s¿J ‚tt |¡t | ¡ t |¡ @ t |¡@ ƒd u sÚJ ‚d S )Nzx y z)r'   r   r   rR   r’   rX   rX   rY   Útest_issue_27447r  sF   **
ÿÿÿÿ
ÿÿÿÿ
ÿÿ ÿÿr˜   c                   C   s2   t t tt ¡t t¡ t t¡@ ƒd u sJ ‚d S r–   )r   r   rR   r   r   rd   rX   rX   rX   rY   Útest_issue_27662_xfail‡  s
   ÿÿr™   c                   C   s@   t t ttƒt ¡ƒdu sJ ‚t t ttƒt ¡ƒdu sJ ‚dS )z4We need to support relations in ask for this to workTN)r   r   rR   r7   r   r5   rX   rX   rX   rY   Útest_bounded_xfail  s   "rš   c                   C   s¦  t t t¡ƒdu sJ ‚t t t¡t t¡ ƒdu sJ ‚t t t¡t t¡ƒdu s*J ‚t t t¡t t¡ƒdu s9J ‚t t t¡t t¡ƒdu sHJ ‚t t t¡t t¡ƒdu sWJ ‚t t t¡t t¡ ƒdu sgJ ‚t t dt ¡ƒdu stJ ‚t t dt ¡t t¡ ƒdu s†J ‚t t td ¡ƒdu s“J ‚t t td ¡t t¡ ƒdu s¥J ‚t t td ¡ƒdu s²J ‚t t td ¡t t¡ ƒdu sÄJ ‚t t t	tƒ¡ƒdu sÑJ ‚dS )zdBy default objects are Q.commutative that is why it returns True
    for both key=True and key=FalseTFr   rE   N)
r   r   rG   r   rK   rM   rJ   rN   r   r/   rX   rX   rX   rY   Útest_commutative”  s     $$$r›   c                   C   sæ  t t t¡ƒd u sJ ‚t t t¡t t¡ƒdu sJ ‚t t t¡t t¡ƒd u s)J ‚t t t¡t t¡ ƒdu s9J ‚t t t¡t t¡ƒdu sHJ ‚t t t¡t t¡ ƒd u sXJ ‚t t t¡t t¡ƒdu sgJ ‚t t t¡t t¡ƒdu svJ ‚t t t¡t t¡ƒdu s…J ‚t t t¡t 	t¡ƒdu s”J ‚t t t¡t 
t¡ƒdu s£J ‚t t td ¡t t¡ƒdu s´J ‚t t td ¡t t¡ƒdu sÅJ ‚t t td ¡t t¡ƒdu sÖJ ‚t t td ¡t t¡ƒdu sçJ ‚t t td ¡t 	t¡ƒdu søJ ‚t t td ¡t t¡ƒdu s
J ‚t t td ¡t t¡ƒdu sJ ‚t t td ¡t t¡ƒdu s.J ‚t t tt ¡t t¡t t¡@ ƒdu sEJ ‚t t tt ¡t t¡t 	t¡@ ƒdu s\J ‚t t dt d ¡t t¡ƒdu spJ ‚t t dt d ¡t t¡ƒdu s„J ‚t t dt d ¡t t¡ƒdu s˜J ‚t t dt d ¡t t¡ƒdu s¬J ‚t t dt d ¡t t¡ƒdu sÀJ ‚t t dt d ¡t 	t¡ƒdu sÔJ ‚t t dt d ¡t t¡ƒdu sèJ ‚t t dt d ¡t t¡ƒdu süJ ‚t t dt d ¡t t¡ƒdu sJ ‚t t td ¡t t¡ƒdu s"J ‚t t td ¡t t¡ƒdu s4J ‚t t td ¡t t¡ƒdu sFJ ‚t t td ¡t t¡ƒdu sXJ ‚t t td ¡t t¡ƒdu sjJ ‚t t td ¡t 	t¡ƒdu s|J ‚t t td ¡t t¡ƒdu sŽJ ‚t t td ¡t t¡ƒdu s J ‚t t td ¡t t¡ƒdu s²J ‚t t dt ¡t t¡ƒdu sÄJ ‚t t dt ¡t t¡ƒdu sÖJ ‚t t dt ¡t t¡ƒdu sèJ ‚t t dt ¡t t¡ƒdu súJ ‚t t dt ¡t t¡ƒdu sJ ‚t t dt ¡t 	t¡ƒdu sJ ‚t t dt ¡t t¡ƒdu s0J ‚t t dt ¡t t¡ƒdu sBJ ‚t t dt ¡t t¡ƒdu sTJ ‚t t tt ¡t t¡t t¡@ ƒdu skJ ‚t t ttƒ¡ƒdu syJ ‚t t tdt d ƒ¡ƒdu s‹J ‚t t ttƒ¡ƒdu s™J ‚t t tdt d ƒ¡ƒdu s«J ‚t t ttƒ¡ƒdu s¹J ‚t t ttƒ¡ƒdu sÇJ ‚t t ttƒ¡ƒdu sÕJ ‚t t ttƒ¡ƒdu sãJ ‚t t ttƒ¡ƒdu sñJ ‚d S rƒ   )r   r   rK   r   r   rJ   rI   rL   rN   rM   ri   rH   rP   rQ   r7   r5   r.   r*   r,   r+   rX   rX   rX   rY   Útest_complex«  st     """""$$$..((((((((($$$$$$$$$$$$$$$$$$.$$ rœ   c                   C   s€  t t t¡ƒd u sJ ‚t t t¡t t¡ƒd u sJ ‚t t t¡t t¡ ƒdu s*J ‚t t t¡t t¡ƒd u s9J ‚t t t¡t t¡ƒd u sHJ ‚t t dt ¡ƒd u sUJ ‚t t dt ¡t t¡ƒdu sfJ ‚t t dt ¡t t¡ƒdu swJ ‚t t dt ¡t t¡ƒdu sˆJ ‚t t dt ¡t t¡ƒdu s™J ‚t t dt ¡t t¡ ƒd u s«J ‚t t dt ¡t t¡ƒd u s¼J ‚t t dt ¡t t¡ƒdu sÍJ ‚t t dt ¡t t¡ƒdu sÞJ ‚t t td ¡t t¡ƒdu sïJ ‚t t td ¡t t¡ƒdu sJ ‚t t td ¡t t¡ƒdu sJ ‚t t td ¡t t¡ƒdu s%J ‚t t dt ¡t t¡ƒdu s7J ‚t t dt ¡t t¡ƒdu sIJ ‚t t tt	 ¡t t¡t t	¡@ ƒdu s`J ‚t t tt	 ¡t t¡t t	¡@ ƒdu swJ ‚t t tt	 ¡t t¡t t	¡@ ƒdu sŽJ ‚t t dt d ¡t t¡ƒdu s¢J ‚t t dt t	 ¡t t¡t t¡@ ƒd u s»J ‚t t dt t	 ¡t t¡t t¡@ ƒd u sÔJ ‚t t tt	 t
 ¡t t¡t t	¡@ t t
¡@ ƒdu sòJ ‚t t tt	 t
 t ¡t t¡t t	¡@ t t
¡@ t t¡@ ƒd u sJ ‚t t ttƒ¡t t¡ƒdu s)J ‚t t ttƒ¡t t¡ ƒd u s<J ‚t t ttƒ¡t t¡ƒdu sNJ ‚t t ttƒ¡t t¡ ƒd u saJ ‚t t ttƒ¡t t¡ƒdu ssJ ‚t t ttƒ¡t t¡ƒdu s…J ‚t t dt ¡t t¡ƒdu s—J ‚t t td ¡t t¡ƒdu s©J ‚t t td ¡t t¡ƒdu s»J ‚t t dt ¡t t¡ƒd u sÍJ ‚t t td ¡ƒd u sÛJ ‚t t tt ¡t t¡t t¡@ t t¡ @ ƒd u søJ ‚t t tt ¡t t¡t t¡@ t t¡ @ ƒdu sJ ‚t t tt ¡t t¡t t¡@ t t¡@ ƒdu s1J ‚t t tt ¡t t¡t t¡@ t t¡@ ƒdu sMJ ‚t t tt ¡t t¡t t¡@ t t¡ @ ƒd u sjJ ‚t t tt ¡t t¡t t¡@ t t¡@ ƒd u s†J ‚t t tt ¡t t¡t t¡@ t t¡ @ ƒd u s£J ‚t t tt ¡t t¡t t¡@ t t¡@ ƒd u s¿J ‚t t tt ¡t t¡ƒd u sÑJ ‚t t tt ¡t t¡ƒd u sãJ ‚t t tt	 ¡t t¡t t	¡@ ƒd u súJ ‚t t tt ¡t t¡ƒd u sJ ‚t t ttt	  ¡t t¡t t	¡@ ƒdu s%J ‚t t ttt	  ¡t t¡t t	¡@ ƒd u s>J ‚d S )NFr   Trz   rE   é   rf   )r   r   rP   r   rH   rI   rN   rL   rQ   r   r   r   r*   r,   r+   rJ   r   r   r	   rO   r
   rX   rX   rX   rY   Útest_even_query÷  sr    """"$""""$$$$$...(22<&ÿ
ÿ$&$&$$$$$$::88:8:8$$.$26rž   c                   C   s€   t t tt tt  ¡t t¡t t¡@ t t¡@ ƒdu sJ ‚t t tt tt  ¡t t¡t t¡@ t t¡@ ƒdu s>J ‚d S ru   )r   r   rP   r   r   r   rH   rQ   rX   rX   rX   rY   Ú1test_evenness_in_ternary_integer_product_with_odd=  ó   >BrŸ   c                   C   sB   t t tt tt  ¡t t¡t t¡@ t t¡@ ƒd u sJ ‚d S r–   )r   r   rP   r   r   r   rH   rX   rX   rX   rY   Ú2test_evenness_in_ternary_integer_product_with_evenF  ó   Br¡   c                   C   s  t t t¡t t¡ƒdu sJ ‚t t t¡t t¡ƒdu sJ ‚t t t¡t t¡ƒdu s-J ‚t t t¡t t¡ƒdu s<J ‚t t t¡t t¡ƒdu sKJ ‚t t t ¡t t¡ƒdu s[J ‚t t t ¡t t¡ƒdu skJ ‚t t tt	j
 ¡t t¡ƒdu s}J ‚t t t¡t t¡ƒd u sŒJ ‚d S ru   )r   r   rj   r   rm   rN   rd   rO   rn   r$   ÚInfinityrJ   rl   rX   rX   rX   rY   Útest_extended_realJ  s     $"r¤   c                  C   sÌ	  t t t¡t t¡ƒdu sJ ‚t t t¡t t¡ƒdu sJ ‚t t t¡t t¡ƒd u s-J ‚t t t¡t t¡ƒd u s<J ‚t t t¡t t¡ƒd u sKJ ‚t t t¡t 	t¡ƒd u sZJ ‚t t t¡t 
t¡ ƒdu sjJ ‚t t dt ¡t t¡ƒdu s{J ‚t t dt ¡t t¡ƒdu sŒJ ‚t t dt ¡t t¡ƒdu sJ ‚t t dt ¡t t¡ƒdu s®J ‚t t dt ¡t t¡ƒdu s¿J ‚t t td ¡t t¡ƒdu sÐJ ‚t t td ¡t t¡ƒdu sáJ ‚t t td ¡t t¡ƒdu sòJ ‚t t td ¡t t¡ƒdu sJ ‚t t td ¡t t¡ƒdu sJ ‚t t dt ¡t t¡t 	t¡@ ƒdu s-J ‚t t dt ¡t t¡t 	t¡@ ƒdu sDJ ‚t t dt ¡t t¡t 	t¡@ ƒdu s[J ‚t t dt ¡t t¡ƒdu smJ ‚t t dt ¡t t¡ƒdu sJ ‚t t dt ¡t t¡t 	t¡@ ƒdu s–J ‚t t dt ¡t t¡t 	t¡@ ƒdu s­J ‚t t dt ¡t t¡t 	t¡@ ƒdu sÄJ ‚t t dt ¡t t¡ƒdu sÖJ ‚t t dt ¡t t¡ƒdu sèJ ‚t t t¡t 
t¡ ƒdu sùJ ‚t t tt ¡t t¡t t¡@ ƒd u sJ ‚t t tt ¡t t¡t t¡@ t 	t¡@ ƒdu s,J ‚t t tt ¡t t¡t t¡@ t 	t¡@ ƒdu sHJ ‚t t tt ¡t t¡t t¡@ t 	t¡@ ƒdu sdJ ‚t t tt ¡t t¡t t¡@ ƒdu s{J ‚t t tt ¡t t¡t t¡@ t 	t¡@ ƒdu s—J ‚ttttttfD ]Z} t t | dƒ¡ƒdu s¯J ‚t t | ddd¡ƒdu s¿J ‚t t | ddd¡ƒdu sÏJ ‚t t | tƒ¡t t¡ƒd u sáJ ‚t t | tƒ¡t t¡t 	t¡@ ƒdu søJ ‚qŸttfD ]\}t t |dƒ¡ƒdu sJ ‚t t |ddd¡ƒdu sJ ‚t t |ddd¡ƒdu s.J ‚t t |tƒ¡t t¡ƒd u s@J ‚t t |tƒ¡t t¡t 	td ¡@ ƒdu sYJ ‚qþttfD ]3}t t |dƒ¡ƒdu soJ ‚t t |ddd¡ƒdu sJ ‚t t |tƒ¡t t¡ƒdu s‘J ‚q_t t tt ¡t t¡t t¡@ ƒd u sªJ ‚t t tt ¡t t¡t t¡@ t t¡@ ƒd u sÆJ ‚t t tt ¡t t¡t t¡@ ƒd u sÝJ ‚t t tt ¡t t¡t td¡@ t t¡@ ƒd u súJ ‚t t tt ¡t td¡t t¡@ ƒd u sJ ‚t t tt ¡t td¡t t¡@ ƒd u s*J ‚t t tt ¡t t¡t t¡@ ƒd u sAJ ‚t t tt ¡t t¡ t t¡@ ƒd u sYJ ‚t t tdtddt t¡¡ƒd u snJ ‚t t tt ¡t t¡t 
t¡ @ ƒd u s†J ‚t t tt ¡t t¡t 
t¡ @ t t¡ @ ƒd u s¤J ‚t t tt ¡t t¡t 
t¡ @ t t¡@ t t¡ @ ƒd u sÇJ ‚t t tt ¡t t¡t 
t¡ @ t t¡@ ƒd u säJ ‚d S )	NTFr   rE   r   ©Úevaluater   rf   )r   r   rI   r   rH   rL   rJ   rN   rO   rc   ri   rP   rQ   r   r.   r7   r8   r3   r4   r5   r/   r1   r6   r2   rS   Úeqr%   rd   rK   ©ÚfÚgÚhrX   rX   rY   Útest_rationalY  s~    """"""""$$...$$...$$".888.8  $2  $6 (.8.:00.0*0<F>r¬   c                   C   sJ  t t t¡ƒd u sJ ‚t t t¡t t¡ƒd u sJ ‚t t t¡t t¡ƒdu s)J ‚t t t¡t t¡ƒdu s8J ‚t t t¡t t¡ƒdu sGJ ‚t t t¡t t¡ƒdu sVJ ‚t t td ¡t t¡ƒd u sgJ ‚t t td ¡t 	t¡ƒd u sxJ ‚t t td ¡t t¡ƒdu s‰J ‚t t td ¡t t¡ƒdu sšJ ‚t t td ¡t t¡ƒdu s«J ‚t t tt
 ¡t t¡ƒd u s¼J ‚t t tt
 ¡t 	t¡ƒd u sÍJ ‚t t tt
 ¡t t¡ƒdu sÞJ ‚t t tt
 ¡t t¡ƒd u sïJ ‚t t tt
 ¡t t¡ƒdu sJ ‚t t tt ¡t t¡t t¡@ ƒd u sJ ‚t t tt ¡t t¡t 	t¡@ ƒd u s/J ‚t t tt ¡t t¡t t¡@ ƒd u sFJ ‚t t tt ¡t t¡t t¡@ ƒd u s]J ‚t t tt ¡t t¡t t¡@ ƒd u stJ ‚t t tt ¡t t¡t 	t¡@ ƒd u s‹J ‚t t tt ¡t t¡t t¡@ ƒdu s¢J ‚t t tt ¡t t¡t t¡@ ƒdu s¹J ‚t t tt ¡t t¡t t¡@ ƒdu sÐJ ‚t t tt ¡t t¡t 	t¡@ ƒd u sçJ ‚t t tt ¡t t¡t t¡@ ƒd u sþJ ‚t t tt ¡t t¡t t¡@ ƒdu sJ ‚t t tt ¡t t¡t 	t¡@ ƒd u s,J ‚t t tt ¡t t¡t t¡@ ƒdu sCJ ‚t t t
t ¡t t¡ƒdu sUJ ‚t t t
t ¡t 	t¡ƒd u sgJ ‚t t t
t ¡t t¡ƒdu syJ ‚t t t
t ¡t t¡ƒdu s‹J ‚t t t
t ¡t t¡ƒdu sJ ‚t t tt ¡t t¡t t¡@ ƒdu s´J ‚t t tt t ¡t t¡t t¡@ t t¡@ ƒdu sÒJ ‚t t tt t ¡t t¡t t¡@ t t¡@ ƒdu sðJ ‚t t tt t ¡t t¡t t¡@ t t¡@ ƒd u sJ ‚t t tt t ¡t t¡t t¡@ t t¡@ ƒd u s,J ‚t t t¡ƒd u s8J ‚t t t¡t t¡ƒdu sHJ ‚t t t¡t t¡ƒdu sXJ ‚t t td ¡t t¡ƒdu sjJ ‚t t td ¡t 	t¡ƒd u s|J ‚t t td ¡t t¡ƒd u sŽJ ‚t t td ¡t t¡ƒdu s J ‚t t td ¡t t¡ƒd u s²J ‚t t tt
 ¡t t¡ƒdu sÄJ ‚t t tt
 ¡t 	t¡ƒd u sÖJ ‚t t tt
 ¡t t¡ƒd u sèJ ‚t t tt
 ¡t t¡ƒdu súJ ‚t t tt
 ¡t t¡ƒdu sJ ‚t t t¡t t¡ƒdu sJ ‚t t tt ¡t t¡t t¡@ ƒdu s3J ‚t t tt ¡t t¡t 	t¡@ ƒd u sJJ ‚t t tt ¡t t¡t t¡@ ƒd u saJ ‚t t tt ¡t t¡t t¡@ ƒdu sxJ ‚t t tt ¡t t¡t t¡@ ƒdu sJ ‚t t tt ¡t t¡t 	t¡@ ƒd u s¦J ‚t t tt ¡t t¡t t¡@ ƒd u s½J ‚t t tt ¡t t¡t t¡@ ƒd u sÔJ ‚t t tt ¡t t¡t t¡@ ƒd u sëJ ‚t t tt ¡t t¡t 	t¡@ ƒd u sJ ‚t t tt ¡t t¡t t¡@ ƒdu sJ ‚t t tt ¡t t¡t t¡@ ƒdu s0J ‚t t tt ¡t t¡t 	t¡@ ƒd u sGJ ‚t t tt ¡t t¡t t¡@ ƒd u s^J ‚t t t
t ¡t t¡ƒdu spJ ‚t t t
t ¡t t¡ƒdu s‚J ‚t t t
t ¡t 	t¡ƒd u s”J ‚t t tt ¡t t¡t t¡@ ƒdu s«J ‚t t tt t ¡t t¡t t¡@ t t¡@ ƒd u sÉJ ‚t t tt t ¡t t¡t t¡@ t t¡@ ƒd u sçJ ‚t t tt t ¡t t¡t t¡@ t t¡@ ƒdu sJ ‚t t tt t ¡t t¡t t¡@ t t¡@ ƒdu s#J ‚d S )NFTrE   )r   r   rU   r   rV   rM   rS   rJ   rd   rK   r   r   r   rX   rX   rX   rY   Útest_hermitian¨  s  """""""""$ÿ
ÿ.ÿ
ÿ...........$$$$$.,ÿ
ÿÿ
ÿÿ
ÿÿ
ÿ  $$$$$$$$$$ ÿ
þÿ
ÿÿ
ÿÿ
ÿ"
ÿ."
ÿÿ
ÿ......$$$.ÿ
ÿÿ
ÿÿ
ÿÿÿr­   c                  C   sR
  t t t¡ƒd u sJ ‚t t t¡t t¡ƒdu sJ ‚t t t¡t t¡ƒdu s)J ‚t t td ¡t t¡ƒdu s:J ‚t t td ¡t t¡ƒdu sKJ ‚t t tt ¡t t¡ƒdu s\J ‚t t tt ¡t t¡ƒdu smJ ‚t t tt ¡t t¡t t¡@ ƒdu sƒJ ‚t t tt ¡t t¡t t¡@ ƒdu s™J ‚t t tt ¡t t¡t t¡@ ƒdu s¯J ‚t t tt ¡t t¡t t¡@ ƒd u sÅJ ‚t t tt t	 ¡t t¡t t¡@ t t	¡@ ƒdu sâJ ‚t t tt t	 ¡t t¡t t¡@ t t	¡@ ƒd u sÿJ ‚t t tt t	 ¡t t¡t t¡@ t t	¡@ ƒdu sJ ‚t t tt ¡t t¡ƒdu s/J ‚t t tt ¡t t¡ƒdu sAJ ‚t t tt ¡t t¡ƒd u sSJ ‚t t tt ¡t t¡t t¡@ ƒdu sjJ ‚t t tt ¡t t¡t t¡@ ƒdu sJ ‚t t tt ¡t 
t¡ƒd u s“J ‚t t tt ¡t t¡ƒd u s¥J ‚t t tt ¡t t¡ƒdu s·J ‚t t tt ¡t t¡ƒdu sÉJ ‚t t tt ¡t t¡ƒdu sÛJ ‚t t dt t ¡t t¡ƒdu sïJ ‚t t td ¡t t¡ƒdu sJ ‚t t tt ¡t t¡t t¡@ ƒd u sJ ‚t t tt ¡t t¡t t¡@ ƒd u s/J ‚t t tt ¡t t¡t t¡@ ƒd u sFJ ‚t t tt ¡t t¡t t¡@ ƒd u s]J ‚t t tt ¡t t¡t t¡@ ƒd u stJ ‚t t tt ¡t t¡t t¡@ ƒd u s‹J ‚t t tt ¡t t¡t t¡@ ƒdu s¢J ‚t t tt ¡t t¡t t¡@ ƒd u s¹J ‚t t tt ¡t t¡t t¡@ ƒdu sÐJ ‚t t tt ¡t t¡t t¡@ ƒdu sçJ ‚t t tt ¡t t¡t t¡@ ƒdu sþJ ‚t t tt ¡t 
t¡t t¡@ ƒd u sJ ‚t t tt ¡t 
t¡t t¡@ t t¡ @ ƒdu s2J ‚t t tt ¡t t¡t t¡@ ƒd u sIJ ‚t t tt ¡t 
t¡t t¡@ t dt ¡@ ƒdu sgJ ‚t t tt ¡t 
t¡t t¡@ t dt ¡ @ ƒdu s†J ‚t t tt ¡t 
t¡t t¡@ ƒd u sJ ‚t t tt ¡t t¡t t¡@ t dt ¡ @ ƒdu s¼J ‚t t tt ¡t t¡t t¡@ t dt ¡@ ƒd u sÚJ ‚t t ttƒ¡ƒdu sèJ ‚t t tdt ƒ¡ƒdu søJ ‚t t ttd ƒ¡ƒdu sJ ‚t t ttƒ¡t t¡ƒd u sJ ‚t t ttƒ¡t t¡ƒd u s,J ‚t t ttƒ¡t t¡ƒdu s>J ‚t t tttƒƒ¡t t¡ƒd u sRJ ‚t t tttƒƒ¡t t¡ƒd u sfJ ‚t t tttƒƒ¡ƒdu svJ ‚t t ttƒt ¡t t¡ƒdu sŠJ ‚tttt t ddtdd} t t | ¡t t¡ƒdu s©J ‚tttt t d ddtdd} t t | ¡t t¡ƒdu sÊJ ‚t t tdt t t ƒt ¡t t¡ƒdu säJ ‚t t tdt t dd¡ƒdu søJ ‚t t ttt d dd¡ƒdu sJ ‚t t tttddƒƒ¡t t¡t 
t¡@ ƒdu s'J ‚d S )	NFrE   Tr   r   r¥   rz   r{   )r   r   rM   r   rJ   rS   r   r   rK   r   rO   rN   rP   rQ   rH   rI   r/   r.   r%   r#   r    ©r§   rX   rX   rY   Útest_imaginary  s–   """",,,,,ÿÿÿÿÿ
ÿ$$$..$$$$$($............:.<>.><  $$$(( ( " 4((:r¯   c                   C   sö  t t t¡ƒd u sJ ‚t t t¡t t¡ƒdu sJ ‚t t t¡t t¡ ƒdu s*J ‚t t t¡t t¡ ƒdu s:J ‚t t t¡t t¡ ƒd u sJJ ‚t t t¡t t¡t t¡B ƒdu s^J ‚t t dt ¡t t¡ƒdu soJ ‚t t dt ¡t t¡ƒdu s€J ‚t t dt ¡t t¡ƒdu s‘J ‚t t dt ¡t 	t¡ƒd u s¢J ‚t t dt ¡t t¡ƒd u s³J ‚t t t
dƒt ¡t t¡ƒdu sÆJ ‚t t t
dƒt ¡t t¡ƒd u sÙJ ‚t t td ¡t t¡ƒdu sêJ ‚t t td ¡t t¡ƒdu sûJ ‚t t td ¡t t¡ƒd u sJ ‚t t td ¡t t¡ƒd u sJ ‚t t ttƒ¡t t¡ƒdu s1J ‚t t tt ƒ¡t t¡ƒdu sDJ ‚t t ttƒ¡t t¡ ƒd u sWJ ‚t t ttƒ¡t t¡ƒd u siJ ‚t t tttt  ƒ¡t t¡t t¡@ ƒd u s„J ‚t t tt ¡t t¡t t¡@ ƒd u s›J ‚t t dt ¡t t¡ƒd u s­J ‚t t tt ¡t t¡t t¡@ ƒd u sÄJ ‚t t t
dƒ¡ƒdu sÒJ ‚t t tt ¡t t¡t t¡@ ƒdu séJ ‚t t tt ¡t t¡t t¡@ t t¡@ ƒdu sJ ‚t t dt  ¡t t¡ƒdu sJ ‚t t tt ¡t t¡t t¡@ t t¡@ ƒdu s4J ‚t t tt ¡t t¡t t¡@ t t¡@ ƒdu sPJ ‚t t tt ¡t t¡ƒdu sbJ ‚t t tt ¡t t¡t t¡@ ƒdu syJ ‚d S )NTFr   rz   rE   r|   )r   r   rH   r   rJ   rN   rP   rQ   rS   rI   r0   rL   r*   rK   r   r   rc   rd   r#   rM   rX   rX   rX   rY   Útest_integera  sB      ("""""&&""$$$&&$6.$..8&88$2r°   c                   C   sF  t t t¡t t¡ƒdu sJ ‚t t t¡t t¡ƒdu sJ ‚t t t¡t t¡ ƒdu s.J ‚t t t¡t t¡ƒdu s=J ‚t t t¡t t¡ ƒd u sMJ ‚t t t ¡t t¡ƒdu s]J ‚t t t ¡t t¡ ƒd u snJ ‚t t t ¡t t¡ƒdu s~J ‚t t t ¡t t¡ƒdu sŽJ ‚t t td ¡t t¡ƒdu sŸJ ‚t t tt ¡ƒd u s¬J ‚t t tt ¡t t¡ƒd u s½J ‚t t tt ¡t t¡t t¡@ ƒdu sÓJ ‚t t tt ¡t t¡t t¡@ ƒdu séJ ‚t t dt	 ¡ƒdu söJ ‚t t t
t	ƒd tt	ƒd  d ¡ƒd u sJ ‚t t t	 t	t
dƒd tdƒd    ¡ƒd u s)J ‚t t td ¡ƒd u s7J ‚t t td ¡t t¡ƒdu sIJ ‚t t td ¡t t¡ƒd u s[J ‚t t tt	 ¡t t¡ƒd u smJ ‚t t tt ¡ƒd u s{J ‚t t tt ¡t t¡t t¡@ ƒdu s’J ‚t t tt ¡t t¡t t¡@ ƒdu s©J ‚t t tt ¡t t¡t t¡@ ƒd u sÀJ ‚t t tt ¡ƒd u sÎJ ‚t t tt ¡t t¡t t¡@ ƒdu såJ ‚t t tt ¡t t¡t t¡@ ƒdu süJ ‚t t tt ¡t t¡t t¡@ ƒdu sJ ‚t t ttƒ¡ƒdu s!J ‚d S )NTFrE   r   gffffffö?)r   r   rO   r   rN   rJ   rS   r   Únonpositiver   r5   r7   rK   rP   rQ   rH   r*   rX   rX   rX   rY   Útest_negative‹  s<      "  "",,06$$$...... r²   c                   C   sž  t t t¡ƒd u sJ ‚t t t¡t t¡ƒd u sJ ‚t t t¡t t¡ƒdu s)J ‚t t t¡t t¡ƒdu s8J ‚t t t¡t t¡t t¡B ƒdu sLJ ‚t t tt ¡ƒd u sYJ ‚t t tt ¡t t¡t t¡@ ƒdu soJ ‚t t tt ¡t t¡t t¡@ ƒd u s…J ‚t t tt ¡t t¡t t¡@ ƒdu s›J ‚t t dt ¡ƒd u s¨J ‚t t dt ¡t t¡ƒdu s¹J ‚t t dt ¡t t¡ƒdu sÊJ ‚t t tt ¡t t¡ƒd u sÛJ ‚t t tt ¡t t¡t t¡@ ƒdu sñJ ‚t t tt ¡t t¡ƒdu sJ ‚t t ttƒ¡ƒd u sJ ‚t t ttƒ¡t t¡ƒdu s#J ‚t t t	t
dt ƒƒ¡ƒdu s5J ‚t t tdƒd tdƒd  d ¡ƒd u sMJ ‚d S )NTr   FrE   )r   r   rc   r   rJ   rN   rO   r   r*   r/   r.   r   r5   r7   rX   rX   rX   rY   Útest_nonzeroµ  s&   (,,,""",$$$4r³   c                   C   sî  t t t¡ƒd u sJ ‚t t t¡t t¡ƒd u sJ ‚t t t¡t t¡ƒdu s)J ‚t t t¡t t¡ƒdu s8J ‚t t t¡t t¡t t¡B ƒdu sLJ ‚t t t¡t t¡t t¡@ ƒdu s`J ‚t t tt	 ¡ƒd u smJ ‚t t tt	 ¡t t¡t t	¡@ ƒdu sƒJ ‚t t tt	 ¡t t¡t t	¡@ ƒd u s™J ‚t t tt	 ¡t t¡t t	¡@ ƒdu s¯J ‚t t dt ¡ƒd u s¼J ‚t t dt ¡t t¡ƒdu sÍJ ‚t t dt ¡t t¡ƒdu sÞJ ‚t t tt	 ¡t 
t¡ƒd u sïJ ‚t t ttƒ¡ƒd u süJ ‚t t ttƒ¡t t¡ƒdu sJ ‚t t t¡t t¡ƒdu sJ ‚t t t¡t t¡ƒdu s.J ‚t t t¡t t¡ƒdu s>J ‚t t t¡t t¡ƒd u sNJ ‚t t t¡t t¡ƒdu s^J ‚t t t¡t t	¡B t tt	 ¡ƒdu suJ ‚d S )NFTr   )r   r   rd   r   rJ   rN   rO   Únonnegativer±   r   rc   r*   rH   rP   rQ   rX   rX   rX   rY   Ú	test_zeroÒ  s,   ((,,,"""$     2rµ   c                   C   s	  t t t¡ƒd u sJ ‚t t t¡t t¡ƒdu sJ ‚t t t¡t t¡ƒd u s)J ‚t t t¡t t¡ ƒdu s9J ‚t t t¡t t¡ƒd u sHJ ‚t t t¡t t¡ƒd u sWJ ‚t t t ¡t t¡ƒdu sgJ ‚t t dt ¡ƒd u stJ ‚t t dt ¡t t¡ƒdu s…J ‚t t dt ¡t t¡ƒdu s–J ‚t t dt ¡t t¡ƒdu s§J ‚t t dt ¡t t¡ ƒd u s¹J ‚t t dt ¡t t¡ƒd u sÊJ ‚t t td ¡t t¡ƒd u sÛJ ‚t t td ¡t t¡ƒd u sìJ ‚t t td ¡t t¡ƒdu sýJ ‚t t td ¡t t¡ƒdu sJ ‚t t td ¡t t¡ƒdu s!J ‚t t dt ¡t t¡ƒdu s3J ‚t t dt ¡t t¡ƒdu sEJ ‚t t dt ¡t t¡ƒdu sWJ ‚t t dt ¡t t¡ƒdu siJ ‚t t tt	 ¡t t¡t t	¡@ ƒdu s€J ‚t t tt	 ¡t t¡t t	¡@ ƒdu s—J ‚t t tt	 ¡t t¡t t	¡@ ƒdu s®J ‚t t tt	 ¡t t¡t t	¡@ ƒdu sÅJ ‚t t tt	 t
 ¡t t¡t t	¡@ t t
¡@ ƒdu sãJ ‚t t tt	 t
 t ¡t t¡t t	¡@ t t
¡@ t t¡@ ƒd u sJ ‚t t dt d ¡t t¡ƒdu sJ ‚t t dt t	 ¡t t¡t t	¡@ ƒdu s5J ‚t t dt t	 ¡t t¡t t	¡@ ƒdu sNJ ‚t t dt t	 ¡t t¡t t	¡@ ƒd u sgJ ‚t t tt	 ¡t t¡t t	¡@ ƒdu s~J ‚t t tt	 ¡t t¡t t	¡@ ƒdu s•J ‚t t dt t	 ¡t t¡t t¡@ ƒd u s®J ‚t t dt t	 ¡t t¡t t¡@ ƒd u sÇJ ‚t t ttƒ¡t t¡ƒdu sÙJ ‚t t dt ¡t t¡ƒdu sëJ ‚t t td ¡t t¡ƒdu sýJ ‚t t td ¡t t¡ƒdu sJ ‚t t dt ¡t t¡ƒd u s!J ‚t t tt ¡t t¡t t¡@ t t¡ @ ƒd u s>J ‚t t tt ¡t t¡t t¡@ t t¡ @ ƒdu s[J ‚t t tt ¡t t¡t t¡@ t t¡@ ƒdu swJ ‚t t tt ¡t t¡t t¡@ t t¡@ ƒdu s“J ‚t t tt ¡t t¡t t¡@ t t¡ @ ƒd u s°J ‚t t tt ¡t t¡t t¡@ t t¡@ ƒd u sÌJ ‚t t tt ¡t t¡t t¡@ t t¡ @ ƒd u séJ ‚t t tt ¡t t¡t t¡@ t t¡@ ƒd u sJ ‚t t tt ¡t t¡ƒd u sJ ‚t t tt ¡t t¡ƒd u s)J ‚t t tt	 ¡t t¡t t	¡@ ƒd u s@J ‚t t tt ¡t t¡ƒd u sRJ ‚t t ttt	  ¡t t¡t t	¡@ ƒdu skJ ‚t t ttt	  ¡t t¡t t	¡@ ƒd u s„J ‚d S )NTFr   rz   rE   rf   )r   r   rQ   r   rH   rI   rN   rL   rP   r   r   r   r*   r   r   r	   rO   r
   rX   rX   rX   rY   Útest_odd_queryð  sv     """$""""$$$$$$....<&ÿ
ÿ(222..22$$$$$::88:8:8$$.$26r¶   c                   C   s€   t t tt tt  ¡t t¡t t¡@ t t¡@ ƒdu sJ ‚t t tt tt  ¡t t¡t t¡@ t t¡@ ƒdu s>J ‚d S ©NF)r   r   rQ   r   r   r   rH   rX   rX   rX   rY   Ú0test_oddness_in_ternary_integer_product_with_odd:  r    r¸   c                   C   sB   t t tt tt  ¡t t¡t t¡@ t t¡@ ƒd u sJ ‚d S r–   )r   r   rQ   r   r   r   rH   rP   rX   rX   rX   rY   Ú1test_oddness_in_ternary_integer_product_with_evenC  r¢   r¹   c                   C   s2  t t t¡t t¡ƒdu sJ ‚t t t¡t t¡ ƒdu sJ ‚t t t¡t t¡ƒd u s.J ‚t t t¡t t¡ ƒdu s>J ‚t t dt ¡t t¡ƒd u sOJ ‚t t tt ¡ƒd u s\J ‚t t tt ¡t t¡ƒd u smJ ‚t t tt ¡t t¡t t¡@ ƒd u sƒJ ‚t t dt ¡t t¡ƒdu s”J ‚t t dt ¡ƒd u s¡J ‚t t td ¡t t¡ƒdu s²J ‚t t td ¡t t¡ƒdu sÃJ ‚t t dt ¡t t¡ƒdu sÔJ ‚t t tt ¡t t¡t t¡@ t td¡@ ƒdu sðJ ‚t t tt ¡t t¡t 	t¡@ ƒdu sJ ‚t t tt ¡t t¡t t¡@ ƒd u sJ ‚t t dt ¡t t¡ƒd u s0J ‚t t tt ¡t t¡t t¡@ ƒd u sGJ ‚t t tt ¡t t¡t 
td¡@ ƒd u s_J ‚t t tt ¡t t¡t t¡@ t td¡@ t td¡@ ƒd u s‚J ‚t t ttddd¡t t¡ƒdu s—J ‚d S )NTFr   r{   rE   r   r¥   )r   r   rS   r   rH   r   r
   Úner   rT   r§   ÚgtÚltr%   rX   rX   rX   rY   Ú
test_primeG  s*     "",""""8..$.0F.r½   c                  C   s  t t ttƒd ttƒd  d ¡ƒd u sJ ‚t t t¡t t¡ƒdu s&J ‚t t t¡t t¡ƒdu s5J ‚t t t¡t t¡ƒd u sDJ ‚t t t ¡t t¡ƒdu sTJ ‚t t t ¡t t¡ƒdu sdJ ‚t t tt	 ¡t t¡t t	¡@ ƒdu szJ ‚t t tt	 ¡t t¡t 
t	¡@ ƒdu sJ ‚t t tt	 ¡t t¡t t	¡@ ƒd u s¦J ‚t t tt	 ¡t t¡t t	¡@ ƒdu s¼J ‚t t dt ¡t t¡ƒdu sÍJ ‚t t¡t t	¡@ t t¡@ t t¡@ } t t tt	 t ¡ƒd u sðJ ‚t t tt	 t ¡| ƒdu sJ ‚t t t t	 t ¡| ƒdu sJ ‚t t tt ¡t t¡ƒd u s%J ‚t t td ¡t t¡ƒdu s7J ‚t t td ¡t t¡ƒdu sIJ ‚t t td ¡t t¡ƒdu s[J ‚t t ddtd   ¡t t¡ƒdu sqJ ‚t t dt ¡ƒdu sJ ‚t t dt ¡ƒdu sJ ‚t t ttƒd ttƒd  d ¡ƒd u s¥J ‚t t t ttdƒd tdƒd    ¡ƒd u sÀJ ‚t t ttƒ¡t t¡ƒdu sÒJ ‚t t ttƒ¡ t t¡ƒdu såJ ‚t t tttƒ ¡t t¡ƒd u sùJ ‚t t ttƒ¡t t¡ƒd u sJ ‚t t tdt t dd¡t t¡ƒdu s#J ‚t t ttt dd¡t t¡ƒdu s9J ‚t t ttt t ƒ¡t t¡ƒdu sOJ ‚t t ttt t ƒ¡t t¡ƒdu seJ ‚t t ttt t ƒ¡t t¡ƒd u s{J ‚t t ttƒ¡t t¡ƒdu sJ ‚t t ttƒ¡t t¡ƒdu sŸJ ‚t t ttƒ¡t t¡ƒd u s±J ‚t t ttd ƒ¡t t¡ƒdu sÅJ ‚t t ttƒ¡t t¡t t¡@ ƒsÚJ ‚t t ttƒ¡t t¡ƒd u sìJ ‚t t ttƒ¡ƒd u súJ ‚t t ttƒ¡t t¡ƒdu sJ ‚d S )Nr   rE   TFrz   r¥   )r   r   rN   r5   r   r7   r   rO   rc   r   r´   rM   r   r   rJ   r.   r#   rP   rQ   r/   r)   rH   r*   ©ÚassumptionsrX   rX   rY   Útest_positiveg  sR   .  ,,,,"("$$$$$,06$&($0,,,,$$$(*$(rÀ   c                   C   s°   t t d¡ƒs	J ‚t t d¡ƒsJ ‚t t d¡ƒdu sJ ‚t t t¡ t t¡ƒs+J ‚t t t¡t t¡ƒdu s:J ‚t t tdƒ¡ƒdu sGJ ‚t t t¡t t¡ƒdu sVJ ‚d S )Nrf   r   rE   F)r   r   r±   rN   r   r0   rM   rX   rX   rX   rY   Útest_nonpositive£  s   "rÁ   c                   C   s°   t t d¡ƒdu sJ ‚t t d¡ƒsJ ‚t t d¡ƒsJ ‚t t t¡ t t¡ƒs+J ‚t t t¡t t¡ƒdu s:J ‚t t tdƒ¡ƒdu sGJ ‚t t t¡t t¡ƒdu sVJ ‚d S )Nrf   Fr   rE   )r   r   r´   rO   r   r0   rM   rX   rX   rX   rY   Útest_nonnegative­  s   "rÂ   c                   C   s*  t t t¡ƒd u sJ ‚t t t¡t t¡ƒdu sJ ‚t t t¡t t¡ƒdu s)J ‚t t t¡t t¡ƒdu s8J ‚t t t¡t t¡ƒdu sGJ ‚t t t¡t t¡ƒdu sVJ ‚t t t¡t t¡ƒdu seJ ‚t t t¡t 	t¡ƒdu stJ ‚t t tt
dƒ ¡t t¡ƒdu s‡J ‚t t tt
dƒ ¡t t¡ƒdu sšJ ‚t t td ¡t t¡ƒdu s«J ‚t t tt ¡t t¡ƒdu s¼J ‚t t tt ¡t t¡ƒd u sÍJ ‚t t dt ¡t t¡ƒdu sÞJ ‚t t tt ¡t t¡ƒdu sïJ ‚t t tt ¡t t¡ƒdu sJ ‚t t tt ¡t t¡ƒd u sJ ‚d S )NTr   éþÿÿÿFrE   )r   r   rJ   r   rc   rN   rO   rH   rP   rS   r0   r   rK   rM   rX   rX   rX   rY   Útest_real_basic¶  s"   &&"""""$(rÄ   c                   C   s  t t td ¡t t¡ƒdu sJ ‚t t ttƒ¡t t¡ƒdu s"J ‚t t tt ¡t t¡t t¡@ ƒd u s8J ‚t t tt ¡t t¡t t¡@ ƒd u sNJ ‚t t tt ¡t t¡t t¡@ ƒdu sdJ ‚t t tt ¡t 	t¡t 	t¡@ ƒd u szJ ‚t t tt ¡t 	t¡t t¡@ ƒd u sJ ‚t t tt ¡t t¡t 	t¡@ ƒd u s¦J ‚t t td ¡t 	t¡ƒdu s·J ‚t t tt ¡t t¡t t¡@ ƒdu sÍJ ‚t t tt ¡t t¡t 
t¡@ ƒd u sãJ ‚t t tt ¡t 	t¡t t¡@ ƒd u sùJ ‚t t tt ¡t 	t¡t t¡@ ƒdu sJ ‚t t tt ¡t 	t¡t t¡@ ƒdu s'J ‚t t ttt  ¡t t¡t tt ¡@ t 
tt ¡@ t t¡@ t t¡@ ƒdu sSJ ‚t t ttt  ¡t t¡t 
tt ¡@ t t¡@ t t¡@ ƒd u sxJ ‚t t ttt  ¡t t¡t tt ¡@ ƒd u s“J ‚t t ttt  ¡t t¡t tt ¡@ t t¡@ ƒdu s³J ‚t t ttt  ¡t t¡t tt ¡@ t t¡@ ƒd u sÓJ ‚t t t t ¡t 	t¡ƒdu sæJ ‚t t tt ¡t 	t¡ƒdu søJ ‚t t tt ¡t 	t¡ƒd u s
J ‚t t tt ¡t 	t¡ƒd u sJ ‚t t ttt ttƒ  ¡t t¡ƒdu s4J ‚t t tt ¡t t¡t t¡@ ƒd u sKJ ‚t t dttƒ ¡ƒd u s[J ‚t t tt ¡t t¡t t¡@ ƒd u srJ ‚t t tt ¡t t¡t t¡@ ƒdu s‰J ‚d S )Nr   TFr   rE   )r   r   rJ   r   r0   rO   r   rH   rN   rM   rI   rQ   rP   r   r   r   r#   r/   r   r
   r*   rd   rX   rX   rX   rY   Útest_real_powÍ  s8   "",,,,,,",,,..XJ6@@&$$$0. .2rÅ   c                  C   s   t t ttƒ¡ƒd u sJ ‚t t ttƒ¡ƒd u sJ ‚t t ttƒ¡t t¡ƒdu s+J ‚t t ttƒ¡t t¡ƒdu s<J ‚t t ttƒ¡ƒd u sIJ ‚t t ttƒ¡t t¡ƒdu sZJ ‚t t tttƒ ¡t t¡ƒdu smJ ‚t t tdt t dd¡ƒdu s€J ‚t t ttt dd¡ƒdu s‘J ‚t t ttt d dd¡ƒdu s¤J ‚t t t	tƒ¡ƒdu s±J ‚t t t	dt ƒ¡ƒdu sÀJ ‚t t t	td ƒ¡ƒdu sÏJ ‚t t t	tƒ¡t 
t¡ƒd u sàJ ‚t t t	tƒ¡t t¡ƒdu sñJ ‚t t t	ttƒƒ¡t t¡ƒd u sJ ‚t t t	ttƒƒ¡t 
t¡ƒd u sJ ‚ttdt t t ddtdd} t t | ¡t t¡ƒdu s:J ‚t t ttƒt ¡t t¡ƒdu sNJ ‚t t ttƒt ¡t 
t¡ƒd u sbJ ‚t t ttƒ¡ƒdu spJ ‚t t ttƒ¡ƒdu s~J ‚d S )NTr   Fr¥   rE   )r   r   rJ   r7   r   r5   r.   r#   r   r/   rK   rM   r%   rH   r,   r+   r®   rX   rX   rY   Útest_real_functionsð  s.   """&&"&""((" (( rÆ   c               	   C   s6  t t tddt dgdt dtgdt dggƒ¡ƒdksJ ‚t t tddt dgdt dtgdt dggƒ¡ƒdks<J ‚tddd} t t tddt | gdt dtgdt dggƒ¡ƒd ks`J ‚t t td	ƒ¡ƒdksmJ ‚t t td
dtdfdfƒ¡ƒdks€J ‚t t td
d| dfdfƒ¡ƒd ks“J ‚tddt dgdt dt gdt dggƒ}tt dt dgdt ddt gddt t ggƒ}t t |¡ƒdu sÎJ ‚t t |¡ƒdu sÙJ ‚t t |d ¡ƒdu sæJ ‚|d }| ¡  t t |¡ƒdu sùJ ‚tddt dg| dt gdt dggƒ}t t |¡ƒd u sJ ‚d S )Nr   r{   rz   rE   TFr   ©rK   )©é   é   r~   )rÊ   é   r   ©r~   r   r\   rÈ   rÊ   r   rÌ   rÃ   )	r   r   rU   r>   r   r'   r?   rV   Úsimplify)r   ÚAÚBÚCÚ_ArX   rX   rY   Útest_matrix  s"   <<<&&,4(rÒ   c               	   C   sÈ  t t t¡ƒd u sJ ‚t t t¡ƒdu sJ ‚t t dt ¡ƒdu s#J ‚t t td ¡ƒdu s0J ‚t t tdƒ¡ƒdu s=J ‚t t dtdƒ ¡ƒdu sLJ ‚t t tdƒd ¡ƒdu s[J ‚t t ttdƒ ¡ƒdu sjJ ‚t t tdttdƒ  ƒ¡ƒdu s}J ‚t t dttdƒtddƒ   ¡ƒdu s“J ‚t t dttdƒdt    ¡ƒd u s¨J ‚tt	t
tttfD ]U} t t | dƒ¡ƒdu s¿J ‚t t | ddd	¡ƒdu sÎJ ‚t t | d
dd	¡ƒdu sÝJ ‚t t | tƒ¡t t¡ƒd u sîJ ‚t t | tƒ¡t t¡t t¡@ ƒdu sJ ‚q°ttfD ]\}t t |dƒ¡ƒdu sJ ‚t t |ddd	¡ƒdu s*J ‚t t |ddd	¡ƒdu s:J ‚t t |tƒ¡t t¡ƒd u sLJ ‚t t |tƒ¡t t¡t td ¡@ ƒdu seJ ‚q
ttfD ]3}t t |dƒ¡ƒdu s{J ‚t t |ddd	¡ƒdu s‹J ‚t t |tƒ¡t t¡ƒdu sJ ‚qkt t tt	dƒƒ¡ƒd u s¯J ‚t t ttttdƒ  ƒ¡ƒd u sÃJ ‚t t d¡ƒdu sÏJ ‚t t t¡t t¡ƒdu sßJ ‚t t t¡t t¡ƒdu sïJ ‚t t tdtdd	¡t t¡ƒd u sJ ‚t t tttƒ¡ƒd u sJ ‚t t tdtdd	¡ƒd u s$J ‚t t ttt  ¡ƒd u s4J ‚t t tt ¡t t¡t t¡@ ƒdu sKJ ‚t t tt ¡t t¡t t¡@ ƒdu sbJ ‚d S )NTr   rz   r   rE   é   é   Fr¥   r   gÃõ(\Â@)r   r   ri   r   r   r0   r    r#   r.   r7   r8   r3   r4   r5   rc   r/   r1   r6   r2   r   Útranscendentalr%   r   rH   rN   rI   r¨   rX   rX   rY   Útest_algebraic*  sL   &,*"0  $6 ( (  *" .2rÖ   c                   C   s^   t t t¡ƒdu sJ ‚t t t¡¡ t t t¡ƒdu sJ ‚t ¡  t t t¡ƒdu s-J ‚dS )z Test ask with global assumptionsNT)r   r   rH   r   r   ÚaddÚclearrX   rX   rX   rY   Útest_global`  s
   rÙ   c                  C   s`   t t t¡ƒdu sJ ‚tƒ } |  t t¡¡ t t t¡| ddu s#J ‚t t t¡ƒdu s.J ‚dS )z(Test ask with custom assumptions contextN)ÚcontextT)r   r   rH   r   r   r×   )Úlocal_contextrX   rX   rY   Útest_custom_contexti  s
   rÜ   c                   C   s€   t t t¡t t¡t t¡? ƒdu sJ ‚t t t¡tt t¡t t¡ƒƒdu s)J ‚t t t¡tt t¡t t¡ƒƒdu s>J ‚d S r·   )r   r   rO   r   rJ   rN   r9   r;   rX   rX   rX   rY   Útest_functions_in_assumptionsr  s   (*.rÝ   c                   C   s8   t t t¡t t¡@ t t¡t t¡? ddu sJ ‚d S )Nr¾   F)r   r   rO   r   rH   rJ   rN   rX   rX   rX   rY   Útest_composite_askx  s
   ÿÿrÞ   c                   C   s  t dƒdu sJ ‚t dƒdu sJ ‚t t t¡ t t¡ƒdu s J ‚t t t¡ t t¡ƒd u s0J ‚t t t¡t t¡@ t t¡ƒdu sDJ ‚t t t¡t t¡@ ƒd u sTJ ‚t t t¡t t¡B t t¡ƒdu shJ ‚t t t¡t t¡B ƒd u sxJ ‚t t t¡t t¡? t t¡ƒdu sŒJ ‚t tt t¡t t¡ddt t¡ƒdu s£J ‚t tt t¡t t¡ddƒd u s¶J ‚t t	t t¡t 
t¡ƒt 
t¡ƒdu sËJ ‚t t	t t¡t 
t¡ƒƒd u sÜJ ‚t t	t t¡t t¡ƒt t¡ƒd u sñJ ‚t t t¡t t¡B t t¡t t¡B ƒdu sJ ‚d S )NTFr¥   )r   r   rO   r   rN   rJ   rG   rH   r:   r9   rP   rX   rX   rX   rY   Útest_composite_proposition}  s*     ( ( (ÿÿÿ&*"*8rß   c                   C   sH   t t t¡t t¡ B ƒdu sJ ‚t t t¡t t¡ @ ƒdu s"J ‚d S rh   )r   r   rJ   r   rX   rX   rX   rY   Útest_tautology  s   "&rà   c                   C   s¦   t t t¡t t¡t t¡@ ƒdu sJ ‚t t t¡t t¡t t¡B ƒd u s(J ‚t t t¡t t¡t t¡? ƒd u s<J ‚t t t¡t t¡t t¡?  ƒdu sQJ ‚d S ru   )r   r   rJ   r   r   rN   rX   rX   rX   rY   Útest_composite_assumptions“  s   (((.rá   c                  C   sÊ  t tdd„ ƒ G dd„ dtƒ} zrtƒ  td| ƒ W d  ƒ n1 s#w   Y  tƒ  tt t¡ƒdu s7J ‚W d  ƒ n1 sAw   Y  tƒ  tt td ¡ƒdu sWJ ‚W d  ƒ n1 saw   Y  W tƒ  t	d| ƒ W d  ƒ n1 szw   Y  t`ntƒ  t	d| ƒ W d  ƒ t`w 1 s—w   Y  t`w t td	d„ ƒ G d
d„ dt
ƒ}z*|ƒ t_tj t¡dd„ ƒ}tt t¡ƒdu sÈJ ‚tt td ¡ƒdu sÕJ ‚W t`nt`w t tdd„ ƒ dS )z7test that you can add keys to the ask system at runtimec                   S   ó   t t t¡ƒS r–   ©r   r   Úmy_keyr   rX   rX   rX   rY   Ú<lambda>œ  ó    z(test_key_extensibility.<locals>.<lambda>c                   @   s   e Zd Zedd„ ƒZdS )z,test_key_extensibility.<locals>.MyAskHandlerc                 S   ó   dS ru   rX   ©Úexprr¿   rX   rX   rY   r(      ó   z3test_key_extensibility.<locals>.MyAskHandler.SymbolN)Ú__name__Ú
__module__Ú__qualname__Ústaticmethodr(   rX   rX   rX   rY   ÚMyAskHandlerŸ  s    rï   rä   NTrE   c                   S   râ   r–   rã   rX   rX   rX   rY   rå   °  ræ   c                   @   ó   e Zd ZdS )z+test_key_extensibility.<locals>.MyPredicateN©rë   rì   rí   rX   rX   rX   rY   ÚMyPredicate³  ó    rò   c                 S   rç   ru   rX   rè   rX   rX   rY   Ú_·  rê   z!test_key_extensibility.<locals>._c                   S   râ   r–   rã   rX   rX   rX   rY   rå   ¾  ræ   )rB   ÚAttributeErrorr   rC   r   r   r   rä   r   r   r   Úregisterr(   )rï   rò   rô   rX   rX   rY   Útest_key_extensibility™  sB   ÿÿÿ€ÿþ
ÿþ

r÷   c                  C   sL   ddl m}  G dd„ d| ƒ}tj |¡dd„ ƒ}tt |ƒ ¡ƒdu s$J ‚dS )	zBtest that new types can be added to the ask system at runtime
    r   )ÚBasicc                   @   rð   )z'test_type_extensibility.<locals>.MyTypeNrñ   rX   rX   rX   rY   ÚMyTypeÆ  ró   rù   c                 S   rç   ru   rX   rè   rX   rX   rY   rô   É  rê   z"test_type_extensibility.<locals>._TN)Ú
sympy.corerø   r   rS   rö   r   )rø   rù   rô   rX   rX   rY   Útest_type_extensibilityÁ  s
   

rû   c                  C   sr   t ttjtjƒttjtjƒttjtjƒƒ} tjtjtjtjh}t| ƒ}t||ƒ}|tj tjtjtjhks7J ‚d S r–   )	r<   r:   r   rH   rI   rJ   rK   r=   r   )Úknown_factsÚknown_facts_keysÚknown_facts_cnfÚmappingrX   rX   rY   Útest_single_fact_lookupÐ  s   þ
"r   c               
   C   sÔ   t tt t¡t t¡ƒtt t¡t t¡ƒtt t¡t t¡ƒƒ} t t¡t t¡t t¡t t¡h}t|| ƒtjtjht	ƒ ftjtjtjtjtjht	ƒ ftjtjtjtjht	ƒ ftjtjtjht	ƒ fikshJ ‚d S r–   )
r<   r:   r   rH   r   rI   rJ   rK   r   Úset)rü   rý   rX   rX   rY   Útest_generate_known_facts_dictÜ  s   þ$ýÿr  c                     st   t dƒ‰ tˆ ƒ} t | ¡}tƒ }| dd„ |jD ƒ¡ tƒ |ks"J ‚‡ fdd„tƒ D ƒ}t	|| ƒ}t
ƒ |ks8J ‚dS )z)"Test that ask_generated.py is up-to-dater   c                 s   s*    | ]}t d d„ t|tdD ƒƒV  qdS )c                 s   s     | ]}t |jj|jƒV  qd S r–   )r   ÚargÚfunctionÚis_Not)Ú.0ÚlitrX   rX   rY   Ú	<genexpr>ñ  ó   € z8test_known_facts_consistent.<locals>.<genexpr>.<genexpr>)ÚkeyN)Ú	frozensetÚsortedÚstr)r  ÚclrX   rX   rY   r  ñ  s   €( z.test_known_facts_consistent.<locals>.<genexpr>c                    s   g | ]}|ˆ ƒ‘qS rX   rX   )r  Úpred©r   rX   rY   Ú
<listcomp>ô  ó    z/test_known_facts_consistent.<locals>.<listcomp>N)r(   r   r   Úto_CNFr  ÚupdateÚclausesr   r   r   r   )ÚfactÚcnfr  Úkeysrÿ   rX   r  rY   Útest_known_facts_consistenté  s   

r  c                   C   sª   t t dtdƒd tdƒd   ¡ƒdu sJ ‚t t ttdƒtdƒdd¡ƒdu s+J ‚t t ttdƒtdƒdd¡ƒdu s?J ‚t t ttdƒtdƒdd¡ƒdu sSJ ‚d S )Nl   Ò
>V3&¥Z
 rE   r   TFr¥   )	r   r   rS   r5   r7   rP   r   r$   rH   rX   rX   rX   rY   Útest_Add_queriesù  s   .((,r  c                   C   sJ   t t td ¡ƒ tt t¡ƒrJ ‚W d   ƒ d S 1 sw   Y  d S )NrE   )r   r   rN   r   r   rX   rX   rX   rY   Útest_positive_assuming 	  s   "ÿr  c                   C   ó   t tdd„ ƒ d S )Nc                   S   s   t tttƒ tjƒS r–   )r   r#   r/   r   r   rJ   rX   rX   rX   rY   rå   	  r  z!test_issue_5421.<locals>.<lambda>©rB   Ú	TypeErrorrX   rX   rX   rY   Útest_issue_5421	  ó   r  c                   C   r  )Nc                   S   s
   t tjƒS r–   )r   r   rN   rX   rX   rX   rY   rå   
	  s   
 z!test_issue_3906.<locals>.<lambda>r  rX   rX   rX   rY   Útest_issue_3906		  r   r!  c                   C   sR   t t ttƒd ¡t t¡ƒd u sJ ‚t t ttƒd ¡ t t¡ƒdu s'J ‚d S )Nr   T)r   r   rN   r/   r   rO   rX   rX   rX   rY   Útest_issue_5833	  s   &,r"  c                   C   s    t tdd„ ƒ t tdd„ ƒ d S )Nc                   S   s    t t t¡t t¡t t¡@ ƒS r–   )r   r   rN   r   rO   rX   rX   rX   rY   rå   	  ó     z!test_issue_6732.<locals>.<lambda>c                   S   s    t t t¡t t¡t t¡@ ƒS r–   )r   r   rO   r   rN   rX   rX   rX   rY   rå   	  r#  )rB   Ú
ValueErrorrX   rX   rX   rY   Útest_issue_6732	  s   r%  c                   C   sl  t t ttƒ¡t t¡ƒdu sJ ‚t t ttƒ¡t t¡ƒdu s"J ‚t t ttƒ¡t t¡ƒdu s3J ‚t t ttƒ¡ƒd u s@J ‚t t ttƒ¡t t¡ƒd u sQJ ‚t t ttƒ¡t t¡ƒd u sbJ ‚t t tt	ddƒƒ¡ƒdu srJ ‚t t ttƒ¡t t¡t 
td ¡@ ƒdu sŠJ ‚t t ttƒ¡t t¡t td ¡@ ƒdu s¢J ‚t t ttƒ¡t t¡ƒd u s³J ‚t t tt	ddƒƒ¡ƒdu sÃJ ‚t t ttƒ¡t td ¡t 
td ¡@ ƒdu sÝJ ‚t t ttƒ¡t td ¡ƒd u sðJ ‚t t ttƒ¡t t¡ƒdu sJ ‚t t ttƒ¡t t¡ƒdu sJ ‚t t ttƒ¡t t¡ƒdu s&J ‚t t ttƒ¡ƒd u s4J ‚d S )NTFrE   r   )r   r   rN   r4   r
   rO   rd   r   r3   r    r±   r´   r1   r2   rJ   rM   rX   rX   rX   rY   Útest_issue_7246	  s"   """"" 00" 4&$$$ r&  c                   C   s&   t t ttƒ¡t t¡ƒdu sJ ‚d S ru   )r   r   rN   r1   r   rd   rX   rX   rX   rY   Útest_issue_7246_failing.	  s   &r'  c                  C   sÜ  t ddd} tt | ¡ƒdu sJ ‚tt | ¡ƒdu sJ ‚tt | ¡ƒdu s'J ‚t ddd} tt | ¡ƒdu s8J ‚tt | ¡ƒdu sCJ ‚tt | ¡ƒdu sNJ ‚t ddd} tt | ¡ƒd u s_J ‚tt | ¡ƒdu sjJ ‚t ddd} tt | ¡ƒdu s{J ‚tt | ¡ƒdu s†J ‚tt | ¡ƒdu s‘J ‚t ddd} tt | ¡ƒdu s¢J ‚t ddd	} tt | ¡ƒdu s³J ‚tt | ¡ƒdu s¾J ‚t ddd
} tt | ¡ƒdu sÏJ ‚tt | ¡ƒd u sÚJ ‚tt 	| ¡ƒd u såJ ‚t ddd} tt 
| ¡ƒdu söJ ‚t ddd} tt | ¡ƒdu sJ ‚tt | ¡ƒdu sJ ‚t ddd} tt | ¡ƒdu s&J ‚tt | ¡ƒdu s2J ‚t ddd} tt | ¡ƒdu sDJ ‚tt | ¡ƒdu sPJ ‚t ddd} tt | ¡ƒdu sbJ ‚tt | ¡ƒdu snJ ‚t ddd} tt | ¡ƒdu s€J ‚tt 	| ¡ƒdu sŒJ ‚t ddd} tt 	| ¡ƒdu sžJ ‚t ddd} tt | ¡ƒdu s°J ‚t ddd} tt | ¡ƒdu sÂJ ‚tt | ¡ƒdu sÎJ ‚t ddd} tt | ¡ƒdu sàJ ‚tt | ¡ƒdu sìJ ‚d S )Nr   T)rJ   F)rM   rÇ   )rN   )rG   )rO   )r´   )rR   )rS   )rT   )rP   )rQ   )rc   )rd   ©rH   )rI   )rL   )r'   r   r   rJ   rM   rK   rN   rO   rG   rd   rR   rS   rT   rP   rQ   rc   rH   rI   rL   r  rX   rX   rY   Útest_check_old_assumption5	  sf   r)  c                   C   sr   t t d¡ƒd u sJ ‚t t d¡ƒd u sJ ‚t t d¡ƒd u s!J ‚t t d¡ƒd u s,J ‚t t d¡ƒd u s7J ‚d S )Nr`   g      @g      @g       @)r   r   rH   rS   rT   rP   rQ   rX   rX   rX   rY   Útest_issue_9636{	  s
   r*  c                   C   sp   t t dt ¡ƒd u sJ ‚t t dt  ¡ƒd u sJ ‚t t dt ¡ƒd u s(J ‚t t dt  ¡ƒd u s6J ‚d S ©Nr   )r   r   rM   r   rJ   rX   rX   rX   rY   Útest_autosimp_used_to_failƒ	  s    r,  c                     sf  ddl m‰  G ‡ fdd„dtƒ} z^tƒ  td| ƒ W d   ƒ n1 s$w   Y  tddd}tƒ  tt d	¡ƒs<J ‚W d   ƒ n1 sFw   Y  tƒ  tt |¡t |¡ƒs\J ‚W d   ƒ n1 sfw   Y  W t`nt`w G d
d„ dt	ƒ}z5|ƒ t_tj 
t¡dd„ ƒ}tj 
t¡‡ fdd„ƒ}tt d	¡ƒsžJ ‚tt |¡t |¡ƒs«J ‚W t`d S t`w )Nr   ©Ú	conjunctsc                       s(   e Zd Zedd„ ƒZe‡ fdd„ƒZdS )z/test_custom_AskHandler.<locals>.MersenneHandlerc                 S   ó    t t t| d dƒ¡ƒrdS d S ©NrE   r   T©r   r   rH   r/   rè   rX   rX   rY   r   	  ó   ÿz7test_custom_AskHandler.<locals>.MersenneHandler.Integerc                    ó   | ˆ |ƒv rdS d S ru   rX   rè   r-  rX   rY   r(   ”	  ó   ÿz6test_custom_AskHandler.<locals>.MersenneHandler.SymbolN)rë   rì   rí   rî   r   r(   rX   r-  rX   rY   ÚMersenneHandler	  s
    
r5  Úmersenner   Tr(  r   c                   @   rð   )z1test_custom_AskHandler.<locals>.MersennePredicateNrñ   rX   rX   rX   rY   ÚMersennePredicate¤	  ró   r7  c                 S   r/  r0  r1  rè   rX   rX   rY   rô   ¨	  r2  z!test_custom_AskHandler.<locals>._c                    r3  ru   rX   rè   r-  rX   rY   rô   ¬	  r4  )Úsympy.logic.boolalgr.  r   rC   r   r(   r   r   r6  r   rö   r   )r5  r   r7  rô   rX   r-  rY   Útest_custom_AskHandler‹	  s2   	ÿÿÿ€


r9  c                  C   s‚   G dd„ dt ƒ} z5| ƒ t_tj tt¡dd„ ƒ}tj ttt¡dd„ ƒ}tt dd¡ƒs.J ‚tt dd	d
¡ƒs9J ‚W t`d S t`w )Nc                   @   rð   )z.test_polyadic_predicate.<locals>.SexyPredicateNrñ   rX   rX   rX   rY   ÚSexyPredicate¸	  ró   r:  c                    s:   t | |gƒ}t‡ fdd„|D ƒƒsdS |d |d  dkS )Nc                 3   ó     | ]}t t |¡ˆ ƒV  qd S r–   ©r   r   rS   ©r  r“   r¾   rX   rY   r  À	  r	  ú5test_polyadic_predicate.<locals>._.<locals>.<genexpr>FrE   r   é   ©r  Úall)Úint1Úint2r¿   r   rX   r¾   rY   rô   ½	  s   z"test_polyadic_predicate.<locals>._c                    sP   t | ||gƒ}t‡ fdd„|D ƒƒsdS |d |d  dko'|d |d  dkS )Nc                 3   r;  r–   r<  r=  r¾   rX   rY   r  Ç	  r	  r>  Fr   rE   r?  r   r@  )rB  rC  Úint3r¿   r   rX   r¾   rY   rô   Ä	  s   (r|   r\   r   é   é   )r   r   Ú	sexyprimerö   r   r   )r:  rô   rX   rX   rY   Útest_polyadic_predicate¶	  s   

rH  c                  C   sN   t dƒjd u s	J ‚G dd„ dt ƒ} | tdƒƒ}| tdƒƒ}|j|ju s%J ‚d S )NÚmypredicatec                   @   rð   )z5test_Predicate_handler_is_unique.<locals>.MyPredicateNrñ   rX   rX   rX   rY   rò   ×	  ró   rò   Úmp1Úmp2)r   Úhandlerr&   )rò   rJ  rK  rX   rX   rY   Ú test_Predicate_handler_is_uniqueÑ	  s
   rM  c                   C   st   t t td¡t t¡ƒsJ ‚t t td¡t t¡ƒrJ ‚t t td¡t t¡ƒr*J ‚t t td¡t t¡ƒs8J ‚d S r+  )r   r   r§   r   rd   rc   rº   rX   rX   rX   rY   Útest_relationalÞ	  s    rN  c                   C   s~   t t t¡t t¡t tt¡B ƒd u sJ ‚t t t¡t t¡dtkB ƒd u s(J ‚t t t¡t t¡t dt¡B ƒd u s=J ‚d S r+  )r   r   rÕ   r   ri   rN   r   r»   rX   rX   rX   rY   Útest_issue_25221å	  s   *&.rO  c                  C   s    t j} tt | ¡ƒd u sJ ‚d S r–   )r$   rv   r   r   rO   rw   rX   rX   rY   Útest_issue_27440ë	  s   rP  )¥Ú	sympy.abcr   r   r   r   r   r   r   r	   r
   r   Úsympy.assumptionsr   r   r   r   r   Úsympy.assumptions.assumer   r   r   Úsympy.assumptions.cnfr   r   Úsympy.assumptions.factsr   r   r   r   Úsympy.assumptions.handlersr   Úsympy.assumptions.ask_generatedr   r   Úsympy.core.addr   Úsympy.core.numbersr   r   r    r!   r"   r#   Úsympy.core.singletonr$   Úsympy.core.powerr%   Úsympy.core.symbolr&   r'   r(   Ú(sympy.functions.combinatorial.factorialsr)   Ú$sympy.functions.elementary.complexesr*   r+   r,   r-   Ú&sympy.functions.elementary.exponentialr.   r/   Ú(sympy.functions.elementary.miscellaneousr0   Ú(sympy.functions.elementary.trigonometricr1   r2   r3   r4   r5   r6   r7   r8   r8  r9   r:   r;   r<   r=   Úsympy.matricesr>   r?   Úsympy.testing.pytestr@   rA   rB   rC   rD   ra   rZ   r]   r_   rb   re   rg   ro   rs   rt   ry   r€   r‚   r…   r‡   r‹   r   rŽ   r”   r•   r—   r˜   r™   rš   r›   rœ   rž   rŸ   r¡   r¤   r¬   r­   r¯   r°   r²   r³   rµ   r¶   r¸   r¹   r½   rÀ   rÁ   rÂ   rÄ   rÅ   rÆ   rÒ   rÖ   rÙ   rÜ   rÝ   rÞ   rß   rà   rá   r÷   rû   r   r  r  r  r  r  r!  r"  r%  r&  r'  r)  r*  r,  r9  rH  rM  rN  rO  rP  rX   rX   rX   rY   Ú<module>   sä   0  ()0aj    


KF

Ni
O**J
 
;
	#
!
5		(

F+