K iT ddlmZddlmZddlmZddlmZmZm Z ddl m Z ddl m Z mZddlmZddlmZmZdd lmZmZdd lmZdd lmZdd lmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;mZ>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJdd lKmLZLddlMmNZNmOZOmPZPddlQmRZRmSZSmTZTed\ZUZVZWZXed\ ZYZZZ[Z\Z]Z^Z_Z`ZadZbdZcdZddZedZfdZgdZhdZidZjdZkdZldZmdZndZod Zpd!Zqd"Zrd#Zsd$Ztd%Zud&Zv d'Zwd(Zxd)Zyd*Zzd+Z{d,Z|d-Z}d.Z~d/Zd0Zd1Zd2Zd3Zd4Zd5Zd6Zd7Zd8Zd9Zd:Zd;Zd<Zd=Zd>Zd?ZeOd@ZdAZdBZdCZdDZdEZdFZdGZdHZdIZdJZdKZdLZdMZdNZdOZdPZdQZdRZdSZePdTZdUZdVZdWZdXZdYZdZZd[Zd\Zd]Zd^Zd_Zd`ZdaZdbZdcZddZdeZdfZyg)h)Q)refine)oo)EqualityEqNe)S)Dummysymbols) Piecewise)cossin)IntervalUnion)Containssimplify)/AndBoolean EquivalentITEImpliesNandNorNotOrPOSformSOPformXorXnor conjuncts disjunctsdistribute_or_over_anddistribute_and_over_oreliminate_implicationsis_nnfis_cnfis_dnfsimplify_logicto_nnfto_cnfto_dnf to_int_reprbool_maptruefalse BooleanAtom is_literalterm_to_integer truth_table as_Booleanto_anfis_anfdistribute_xor_over_and anf_coeffsANFform bool_minterm bool_maxterm bool_monomial _check_pair_convert_to_varsSOP_convert_to_varsPOS Exclusivegateinputcount)CNF)raisesXFAILslow) combinations permutationsproductzA:Dza:e w:zcttztttk(sJttztttk(sJttztztttttk(sJttz t ttk(sJttzt ttk(sJtt tk(sJttz tttk(sJy)z)Test that |, & are overloaded as expectedN)ABrrCrrrd/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/sympy/logic/tests/test_boolalg.pytest_overloadingrQ!s q5C1I   q5Bq!H   EQ;"SAY* ** * 6WQ] "" " 6WQ] "" " 2Q<< q5C1I  rOc ttusJtttk(sJtdtusJtdtusJtddtusJtddtusJtddtusJtdttk(sJtdttusJtdddtusJtddttk(sJtddttusJtdttk(sJt t dttdktdk\tusJtdkD}t||j |j k(sJttkDttkttk\ttkf\}}}}t||||t||k(sJt||||fDchc] }t| c}t||hk(sJttttdttdtttdttdtusJycc}w)NTFc"tdtSN)rrKrNrOrPztest_And..;s c!QirOr)rr/rKr0rD TypeError canonicalrLrHrabrc)eglgeleis rPtest_Andrc-s 5D== q6Q;; t9   u:   tT?d "" " tU u $$ $ ue  %% % tQ<1   ua=E !! ! tT4 D (( ( tT1  "" " tUA % '' ' q!9>> 9'( q1ua1f  && & AA q!++ !++ -- -q5!a%aa/LAq"b q!R B ** *)1aR.9 :CG :s2qzl JJ J s2a8R1X&Bq!HbAh(? @E II I ;s%I(cttusJtttk(sJtdtusJtdtusJtddtusJtddtusJtddtusJtdttusJtdttk(sJtdddtusJtddttusJtddttk(sJtdttusJt t dttdktdk\tusJtdkD}t||j |k(sJttkDttkttk\ttkf\}}}}t||||t||k(sJy)NTFrSc"tdtSrU)rrKrNrOrPrWztest_Or..Ss bAhrO)rr0rKr/rDrXrYrL)r]r^r_r`ras rPtest_OrrfEs 45== a5A:: d8t   e9   dD>T !! ! dE?d "" " eU u $$ $ dA;$   eQ<1   dE5 !T )) ) dE1  %% % eUA ! ## # a8t   9&' a!eQ!V  $$ $ AA a  "" "q5!a%aa/LAq"b aB r!Ry (( (rOcttusJtttk(sJttttusJtdtttusJtttttttk(sJtdddtttttk(sJtdtusJtdtusJtddtusJtddtusJtddtusJtdttk(sJtdttk(sJtdddtusJtddttk(sJtddttk(sJt ttttsJttttt ttttt tk(sJtttttt ttt k(sJttdktdk\ttddtcxk(rtddtk(sJJtdkD}t||jtddcxk(rtddk(sJJyNTFrSr) rr0rKr/rL isinstancerMDrY)r]s rPtest_Xorrk[s. 5E>> q6Q;; q!9   tQ?d "" " q!Q1  "" " tUE1a (SAYJ 66 6 t9   u:   tT?e ## # tU t ## # ue  %% % tQ.s c$.rOTFrrSrV)rDrXrr0r/rNrOrPtest_Notrsa 9./ t9   u:   q6T>> q6U?? q6U??rOcttusJtttk(sJtdtusJtdtusJtddtusJtddtusJtddtusJtdttk(sJtdttusJtdddtusJtddttk(sJtddttusJyr~)rr0rKr/rNrOrP test_Nandrs 6U?? 7qb== :   ;$   d u $$ $ e  $$ $ u  %% % a=QB   q>T !! ! dD !U ** * dA 1" $$ $ eQ 4 '' 'rOcttusJtttk(sJtdtusJtdtusJtddtusJtddtusJtddtusJtdttusJtdttk(sJtdddtusJtddttusJtddttusJyr~)rr/rKr0rNrOrPtest_Norrs 5D== q6aR<< t9   u:   tT?e ## # tU u $$ $ ue  $$ $ tQ<5  ua=QB   tT4 E )) ) tT1  && & tUA % '' 'rOcttusJtttk(sJttttusJtdtttusJtttttttk(sJtdtusJtdtusJtddtusJtddtusJtddtusJtdttk(sJtdttk(sJtdddtusJtddttk(sJtddttk(sJyr~)r r/rKr0rNrOrP test_Xnorrs> 6T>> 7qb== 1:   a u $$ $ 1aA 1" $$ $ :   ;$   d t ## # e  %% % u  %% % a=A   q>aR   eU #u ,, , eQ 1 $$ $ ua QB && &rOc:ttdtddtusJtddtusJtddtusJtddtusJtdt tusJtddtusJtddtusJt t z t t zk(sJt dkt dk\z t dk\k(sJt dktjt kDz tusJt t z tusJy)Nc4ttttSrm)rrKrLrMrNrOrPrWztest_Implies..swq!Q/rOTFrrS) rD ValueErrorrr/r0rKrLr OnerNrOrP test_Impliesrs :/0 4 $ && & 4 5 (( ( 5$ 4 '' ' 5% D (( ( 1a=D  1a=D  1a=E !! ! 6Q!V   EqAv 16 ** * Equuqy !T )) ) 6T>>rOcttttttcxk(rttttk(sJJttusJtttttcxk(r tusJJtddtddcxk(r tusJJtddtddcxk(r tusJJttdtk(sJttdt tk(sJtttdttzk(sJtttdttzk(sJtdttk(sJtdtt tk(sJttttt ttttt k7sJttdktdk\tusJttdktdk\dtusJttdktdk\dtusJttdktjtkDtddcxk(rtddk(sJJttttttttusJyrh) rrKrLr/r0rrMr rrrNrOrPtest_Equivalentrs* a z!Q/ F:aA3F FF FF F <4   a z!} 4 44 44 4 dD !Zu%= E EE EE E dE "j&= F FF FF F a ! ## # a 3q6 )) ) aD !QU ** * aE "qbA2g -- - a q  a s1v %% % aAq) *jAq9I1.M MM M a!eQ!V $ -- - a!eQ!VQ '5 00 0 a!eQ!VQ '5 00 0 a!eQUUQY ':a+; Oz!Q?O OO OO O hq!nhq!n 5 == =rOctdddtusJtdddtusJtdddtusJtdddtusJy)NFT)rAr/r0rNrOrPtest_Exclusivers^ UE5 )T 11 1 T5% (D 00 0 T4 '5 00 0 T4 &% // /rOcttttj t ttttdusJt ttj ttz ttz zdusJttzttzzj ttzttzzdusJttz j ttz dusJtttz z j tttz z dusJttdy)NTFcPttzjttkDSrm)rKrLequalsrNrOrPrWztest_equals..sQq1u(=rO) rrrKrLrrrrMrDNotImplementedErrorrNrOrP test_equalsrs r!Qx=  CFCF 3 4 << < a  " "AFqAv#6 74 ?? ? !VQ  ' '!qbQU(; < DD D F??A2!8 $ -- - !q&M ! !!Q- 0E 99 9  =>rOc gdgdgdgdg}gdgdgdgdg}ttttg|t t t ttt t ttk(sJt ttttg|t t t t tt tt ttk(sJttttg||ztusJttttg||ztusJttttg||ztusJgd gd gd gd gd ggdgdgdg}tttttg|t t ttt t tt tk(sJtttttg|t t t tttk(sJgdgd}tttttg|t t ttt t tt tk(sJtttttg|t t t tttk(sJdgd dgd gd gdgddg}tttttg|t t ttt t tt tk(sJtttttg|t t t tttk(sJdtdtdigdgddg}tttttg|t t ttt t tt tk(sJtttttg|t t t tttk(sJtdtdidggdg}gdgttfdttfdttdt tt tt }t#ttt zz|k(sJt#ttztt zz|k(sJt#t%ttt t ttk(sJt#t'ttt t ttt t tt tk(sJt#t t)tdt t t)tdt k(sJt#t t)tdtt t)tdtk(sJt#t t)ttt t t)ttt k(sJt#t t t)tdtt t)tdt t t)tdt tt k(sJttztzttztzz}t t|}t#|ttztzk(sJttdt+t ttkt ttktttkk(sJt+t ttkt ttkDtttkk(sJt+t ttk\t ttktttk\k(sJt-d\ }}}}}} } } } ||z|z|z|z| z| z| z| z||z|z|z|z| z| z| z| zz} t#| | k(sJt#||z|z|z||z||zk(sJtttgddgg}tttgddgg|k(sJtttgddgg|k(sJttdttgdggdggtusJttgdggdggtusJttgggt.usJttd ttgdggdggtusJttgdggdggtusJttgggt.usJt+ttztt zzt tt tt k(sJt+t tt td!k(sJt+t tt td"k(sJt+t t1tdt1ttt t1tdt1tdk(sJt t1tdz dt1ttj+t t1tdt1tdk(sJt t3tdz dt3ttj+t t3tdt3ttk(sJt t1tdz dt3ttj+t t1tdt3tdk(sJt t1tdz dt1tttzt1ttzdj+t t1tdt1td#t1tdk(sJt t1tdz dt1tdzdj+t1tdk(sJt t3tdz dt3tdzdj+t3tdk(sJt t1tdz dt1tdzdj+d!k(sJt t3tdz dt3tdzdj+t t3tdt3tdk(sJt+t5ttd"k(sJy$)%z1 Test working of simplification methods. rrrSrrSrSrSrr)rSrSr)rrrrrSrrSrrSrSrSrSrrrrSrrrSrSrrSrSrSrSrrSrSrSrSrSrS)rrrr)rrrSrrrSrrS)rS )rrVrSrrrcDtttttgSrm)rrxrnrorwmintermssrPrWz-test_simplification_boolalg..#w1a|X>rOcDtttttgSrmrrxrnrorwrsrPrWz-test_simplification_boolalg..$rrOcDtttttgdgS)NabcdefgrrNrOrPrWz-test_simplification_boolalg..&sgq!QlYK@rOrVrc@ttttzzdS)Nblabla)form)r)rKrLrMrNrOrPrWz-test_simplification_boolalg..7s~a1q5kIrOza b c d e f g h j)dontcarec.ttgdggdggSNrS)rrnrNrOrPrWz-test_simplification_boolalg..LwsaSEQC59rOc.ttgdggdggSr)rrnrNrOrPrWz-test_simplification_boolalg..QrrOFTN)rrnrorwrrrrr/r rxrDrrXrKrLrMr)rrrrr r0rrr)set1set2 dontcaresansr[r]rZr\dfr^hjrrrs @rPtest_simplification_boolalgrs  y)Y 7D y)Y 7D Aq!9d #r#c!fa.#c!fa.'I II I w1ay$' ( r#c!fc!f%s1ay1 2 33 3 Aq!9dTk *d 22 2 Aq!9dTk *d 22 2 EGUWeg.t < DD DlL,H|\:IAq! h 2 3q!9c#a&#a&)* +, + Aq!Q<9 5RA]A9N NN N HIAq! h 2 3q!9c#a&#a&)* +, + Aq!Q<9 5RA]A9N NN N<LHL!$IAq! h 2 3q!9c#a&#a&)* +, + Aq!Q<9 5RA]A9N NN NAq!Q< HL!$IAq! h 2 3q!9c#a&#a&)* +, + Aq!Q<9 5RA]A9N NN NAq! a HI{H :>? :>? 9@A aAq C !q1u+ &# -- - 1q5QU+ , 33 3 '!Q- (Bs1vqM 99 9 *Q* + c!QiSVSV, - .. . #hq!na0 1S!Q5K KK K #hq!na0 1S!Q5K KK K #hq!na0 1S!Q5K KK K "S!Q3S!Q5KL M(1a."Q(+ ,, , qbA21"r'A+&A Aq A ! QB! ++ + :IJ BqAvs1q5!}- .16 :: : BqAvs1q5!}- .16 :: : BqAvs1q5!}- .16 :: :!((; <Aq!Q1aA q519q=1 q 1 $q (1 , q519q=1 q 1 $q (A2 - .D $ 4 '' ' 1q5A+/QU <A EE E 1a&Aq6( #C Aq6QF8 $ ++ + Aq6QF8 $ ++ + :9: A3!u % -- - A3!u % -- - A3B 5 (( ( :9: A3!u % -- - A3!u % -- - A3B 5 (( ( QUq1u% &#aAq*: :: : C3q6N #u ,, , Bq#a&M "d ** * C1a"Q(+ ,Bq!HbAh0G GG G r!a%|R1X & / / 1SAq2a85L LL L r!a%|R1X & / / 1SAq2a85L LL L r!a%|R1X & / / 1SAq2a85L LL L r!a%|R1q5\2a!eQ< 8 A A  R1Xr!Ry"Q( + ,, , r!a%|RAq\ * 3 3 5Aq AA A r!a%|RAq\ * 3 3 5Aq AA A r!a%|RAq\ * 3 3 5 >> > r!a%|RAq\ * 3 3  R1Xr!Qx  !! ! CA2J 4 '' 'rOc gdgdgdgdgdg}ttttttttifk(sJtttt t tg|ttt t tg|ttttt ttt t tt t ttttt t ifk(sJttt tt ggdgttttggdgdk7sJtt tt ggdgdg}ttttggdgd g}t|||t tttifk(sJttt t tt t dk(sJttt t tt t Jttt t tt t tJttt t ttt t tdk(sJtttt t tttt t tdk(sJy ) z, Test working of bool_map function. rrrrrrFrrN)r.rrZrrxrnrorwrrrr[r\r)r function1 function2s rP test_bool_maprhs lL,H CAK #Aq6{ 22 2 GQ1aL(3Q1aL(3 5 3q61 r#a&!}a 01aAq!Q2J K LL L GQ1I {3Q1I {3 58= >> >Aq Iy#9:IAq Iy#9:I Iy ) 1a| $ %% % C1IAq z *e 33 3 C1Ir!Qx ( 00 0 C1Is1a| , 44 4 C1aL3q!Q<- 0E 99 9 C1aOc!Q1o%5 6% ?? ?rOc.ttdtk(sJttddtk(sJttdtusJttddtusJttdtusJttdtk(sJy)zBTest that mixing symbols with boolean values works as expectedTFN)rrKr0rr/rNrOrPtest_bool_symbolrs q$<1   q$  "" " q%=E !! ! q$ % '' ' a;$   a<1  rOc6tdtdusJtttdusJddk(sJdtk7sJdtk(dusJddk(sJdtk7sJdtk(dusJtjdusJt t zjsJt t zjsJt jsJt t z jsJt jtt tk7sJtt tsJyrh)rirr/r0 is_BooleanrKrLrNrOrPtest_is_booleanrs dG $ -- - dG $ ,, , 99 99 I%   :: :: J5  ??d "" " E    E    B??? E    <<:a1 11 1 a !! !rOc\ttzjtdtk(sJttzjtdtusJttzjtdtk(sJttzjtdtusJttzjtdtditusJttzjtdtusJttzjtdtk(sJttzjtdtusJttzjtdtk(sJttzjtdtditusJyr~)rKrLsubsr0r/rNrOrP test_subsrs2 E<<4 A %% % E<<5 !U ** * E<<4 A %% % E<<5 !U ** * E<<D!T* +t 33 3 E<<4 D (( ( E<<5 !Q && & E<<4 D (( ( E<<5 !Q && & E<<D!T* +t 33 3rOcptttd\}}||z||zk(sJ||z||zk(sJy)z$Test for commutativity of And and OrzA,BN)maprr )rKrLs rPtest_commutativers> w 'DAq q5AE>> q5AE>>rOcZttztztttzzk(sJy)zTest for associativity of AndNrKrLrMrNrOrPtest_and_associativityrs" EQ;!q1u+ %% %rOcZttztztttzzk(sJyrmrrNrOrPtest_or_assicativityrs UaKQ!a%[ )) )rOc*t}||k(sJyrm)r)rZs rPtest_double_negationrs AR5A::rOc ttttdttzk(sJtttt tz z t t t tt tt tk(sJttttttttzttzzttzzttzzk(sJy)NFevaluate) r%rrKrLrMrrrrjrNrOrPtest_eliminate_implicationsrs !'!Q"? @aR1H LL L ! a3q6k !"SVSV"4c!f= >> > !*Q1a"8 9 BFrAv 1"q& )aR!V 4 55 5rOcBtttztzttthk(sJtttztzttzthk(sJttthk(sJtddhk(sJtddhk(sJyr~)r!rKrLrMrNrOrPtest_conjunctsrs QUQY Aq!9 ,, , a!eq[ !a!eQZ // / QSDe< << < $q!* T3q!9%!H HH H #a) Aq$Aq u M MM M '!Q- C4Q$N NN N *Q" #s1a5'I II I $q1ua1f%E 2 tSAq71a=1u E FF F #a!eQU#% 0 tRAq 3q!9-5 A BB B !A m# $ -- -rOc p tttusJtttusJtttk(sJtttztztusJtttztztusJtttz ttzk(sJtt ttt ttztt zzt tzzk(sJtttz t z ttzt zttzt zzttzt zzttzt zzk(sJttttt ttztt zzk(sJttttzt zttzt zk(sJttttzt zttzt zk(sJttttz ttzk(sJttt ttt ttttt tttt k(sJttttz t z ttzt zttzt zzttzt zzttzt zzk(sJtttttt ttztt zzk(sJtttz ttz z ttzttzzk(sJtttz ttz z dttztztzttzttzzzk(sJttddjtk(sJttddjtk(sJttdy)NFrSrcPttdkdgtjSr)rrKrLr*rNrOrPrWztest_to_nnf..sc!a%!a0779rO) r*r/r0rKrLrrMrrrrrDrXrNrOrP test_to_nnfrsk $<4   %=E !! ! !9>> !qb&1*  %% % !qb&1*  && & !q&>aR!V ## # *Q1% &A26qb1f*=!a*H HH H !a%!)  EAI1"r'A+ &!qb&A2+ 61"q&A2+ F GG G #aA, QBFq1u#5 55 5 #a!eai. !aR1"Wr\ 11 1 #a!eai. !aR1"Wr\ 11 1 #a1f+ !qb& (( ( #jAq)* +s2aA;A2rA2/O OO O #a!eai. ! BFQJ1r6A: &!a%1"* 5!qbA2 F GG G #c!Ql# $!qbQ!V(< << < 16a1f% &1r6qb1f*= == = 16a1f%u - B!GaK!OaRQBF 3 4 55 5 q!Q<   A %% % q!Q<   QB && & 99:rOc tttztt tt tk(sJtt tztztt t tt ttk(sJtt tz t tzk(sJtt ttzz t tzt tzzk(sJtt ttzzt ttzzzdttzk(sJtt tztt tk(sJttt ttt t t tt tt t k(sJttt ttzt tzt tzzttzt zzk(sJttt ttzdtt t tt t t tt t ttt t k(sJtt dzt dzk(sJyNTrS)r+rLrMrrrKrrrNrOrP test_to_cnfrs AE( s3q63q62 22 2 1q5A+ #bAh1a"9 99 9 !q&>qbAX %% % !A, QBFrAv#6 66 6 !q1u+a!e ,d 3q1u << < !a%=C1I %% % *Q" #s2aQ="QA-'H HH H *QA& ' BFrAv 1"r'A+ . // / *QA& - r#a&!}bQmR1c!f-= > ?? ? !a%=AE !! !rOctd\}}}}}}}}}} } } } } }||z|z|z|z|z|z|z|z||z|z|z|z|z|z| z|zz|| z|z| z|z| z| z|z|zzttsJttfdt t tfttfD]8\}}|||||||||| ttfd|ddk(r8Jy)Nzx1:16ctdSNTrr+eqsrPrWz"test_issue_18904..2svb48rOctdSrrrsrPrWz"test_issue_18904..5s6"t#<rOT)rforce) r r'r+rDrziprrr,)x1x2x3x4x5x6x7x8x9x10x11x12x13x14x15rtrs @rPtest_issue_18904r,s1GNwGWDBBBBBS#sC 7R<" r !B & +b 02 5 7R<" r !B & +c 1B 6 8 8b=3  #c )C /# 5 : >#**q1uX. /6AE(3C CC C >>#**a!eq[1 2fa!eq[6I II I >>#**Q!V, -Q ?? ? >>#**Q1q5\2 3vaAEl7K KK K >>#**Q!a%[A2Q<%?@ AVAQRUVQVK[\Z\`ade`eZfLfEg gg g >>#**QU+ ,q1u == =rOc Rtttztt tt tk(sJtt ttzzt tt ttt tk(sJtt tz t tzk(sJtt ttzz t ttzzk(sJtt tzt tzk(sJttt tdt tt ttt t t tk(sJttt ttzdt tt tttt t t ttt t t tk(sJtt dzt dzk(sJyr)r,rLrMrrrKrrrNrOrP test_to_dnfrFse AE( s3q63q62 22 2 !q1u+ "SAYAq ": :: : !q&>qbAX %% % !A, QB1q5> 11 1 !a%=AE !! ! *Q"D ) c!QiSVSV, - .. . *QA& - c!QlCAA/SVSV1D E FF F !a%=AE !! !rOctttd\}}}fdt||z||zg|||gddgddggk(sJt||z||zg|||gddgddggk(sJy)NrcP tfd|DS#t$r|cYSwxYw)Nc3.K|] }|ywrmrN).0rnsorted_recursives rP z=test_to_int_repr..sorted_recursive..Ys;!*1-;s)sortedrX)argrs rPrz*test_to_int_repr..sorted_recursiveWs- ;s;; ; J s  %%rSrVrr)rrr r-)rnrorwrs @rPtest_to_int_reprrTs'77+,GAq! KQAAq B C aVaV, - .. . KQQB!QC D aVaW- . // /rOc td\}}ttdusJttdusJt|dusJtt ||dusJtt ||t ||dusJtt ||t ||dusJtt t||dusJy)Nx,yTF)r r7r/r0rrrrrnros rP test_is_anfrcs 5>DAq $<4   %=D  !9   #a)  $$ $ #aC1I& '4 // / #aBq!H% &% // / #c!fa. !U ** *rOcttdusJttdusJttdusJtttzdusJtttzttzzttzzttzzddusJtttzttzzdusJtt t ttdusJtttz dusJtttzttzzttzzttzzddusJyr~)r&r/rKrLrrrNrOrP test_is_nnfrns $<4   !9   1":   !a%=D  1q5aR!V$Q/A27;U Ct KK K 1q5aR1"W% &$ .. . #bAh- E )) ) !a%=E !! ! 1q5aR!V$Q/A27;T Be KK KrOcvttdusJtttztzdusJtttztzdusJtttztzdusJtttztzdusJtttztzdusJyr~)r'rnrorwrNrOrP test_is_cnfr z !9   !a%!)  $$ $ !a%!)  $$ $ 1q5A+ $ && & 1q5A+ % '' ' AE(Q, 5 (( (rOcvttdusJtttztzdusJtttztzdusJtttztzdusJtttztzdusJtttztzdusJyr~)r(rnrorwrNrOrP test_is_dnfr#r!rOc td\}}}tdddtusJtdddtusJtdddtusJtdddtusJt t|||tsJd}t||||k(sJd}t||||k(sJd}tt |||||k(sJtt |dt |ddtusJtt||ttk(sJtt||tk(sJtdtttk(sJtdtttk(sJttdttdttdttd tdddtjusJt tdddd tsJtttdttttttk(sJtttdttttttk(sJtttdttttttk(sJtttdttttttk(sJtttjtttttttk(sJtttjtttttttk(sJtttjtttttttk(sJtttjtttttttk(sJtttdtttk(sJtttdtttk(sJtttdtttk(sJtttdtttk(sJtttdttj!tdtk(sJtttdttj!tdtk(sJtt"d y) NzA:CTFrSrc,tdttSrU)rrnrorNrOrPrWztest_ITE..sc!QlrOc$tdgtSrrrorNrOrPrWztest_ITE..c!RmrOc$tddtS)NrSrNr'rNrOrPrWztest_ITE..r(rOc$tdtgSrr'rNrOrPrWztest_ITE..sc!QmrOrcDttdkDtttSr)rrnrorwrNrOrPrWztest_ITE..ss1q5!Q2rO)r rr0r/rirrrnrrorDrXr rrrwrrrs rPtest_ITEr,senGAq! tUD !U ** * tT5 !T )) ) udE "e ++ + ueT "d ** * c!QlC (( ( A q!Q<1   A q!Q<1   A s1ay!Q 1 $$ $ r!U|SD\5 1U :: : q!Q<3q6 !! ! q!Q<1   q!Q<1   q!Q<1   9*+ 9+, 9+, 9+, q!Q<166 !! ! c!QE2C 88 8 r!T{Aq !SAq\ 11 1 r!U|Q "c1"am 33 3 r!T{Aq !S!Q] 22 2 r!U|Q "c!Ql 22 2 r!&&!}a #s1a| 33 3 r!''1~q! $QB1 55 5 r!&&!}a #sA2q!} 44 4 r!''1~q! $Aq! 44 4 r!QxA ! ## # r!QxA ! ## # r!QxA ! ## # r!QxA ! ## # r!QxA  # #Aq )Q .. . r!QxA  # #Aq )Q .. . :23rOctddusJtddusJttdusJttdusJttttdusJtt j tdusJtt t j tdusJttttdusJttt j tt j tdusJttdksJtttzdkrJy)NTFr) r2rKrrLrzerorrrnrorNrOrPtest_is_literalr/s d t ## # e  $$ $ a=D  qb>T !! ! bAh 5 (( ( affQi D (( ( c!&&)n % -- - bAh 5 (( ( c!&&)QVVAY/ 0E 99 9 a!e  !a%!)$$ $$rOc dtztdzcxk(r tk(sJJdtztdzcxk(rdk(sJJttztttk(sJdtztdzcxk(rdk(sJJdtztdzcxk(r tk(sJJttztttk(sJtt tk(sJdtz tdzcxk(r tk(sJJdtz tdzcxk(rdk(sJJtdz dtzcxk(rdk(sJJtdz dtzcxk(r tk(sJJttz ttzcxk(rt ttk(sJJdtz tdz cxk(r tk(sJJdtz tdz cxk(r tk(sJJttz t ttk(sJyr~)rKrLrrrrrrNrOrPtest_operatorsr1s !8q4x $1 $$ $$ $ 19E *U ** ** * q5C1I   !8q4x '4 '' '' ' 19E &Q && && & q5Bq!H   2Q<< 19T &Q && && & A:e +t ++ ++ + 9 )T )) )) ) :! )r )) )) ) 6Q!V ,wq!} ,, ,, , !8q4x %A2 %% %% % 19E &Q && && & q5C1I  rOcttjusJttjusJtdusJtdusJtsJtrJtdk(sJtdk(sJtdk(rJtdk(rJttk(rJtttdk(sJtttdk(sJt tdht tdhcxk(rdk(sJJt tt sJt tt sJt ttrJt ttrJtttusJtdtusJtttusJtdtusJttusJttusJtdtfdtfD]\}}t||tusJt||tusJt||tusJt||tusJt|ttk(sJt|ttusJ|dur|dus||ztusJ||ztusJ|dur ||ztusJ|dur ||ztusJt||tusJt||tusJt||tusJt||tusJt|ttusJt|ttk(sJ|dur|dus||ztusJ||ztusJ|dur ||ztusJ|dur ||ztusJt||tusJt||tusJt||tusJt||tusJt|ttk(sJt|ttk(sJ|dur|dus||z tusJ||z tusJ|dur ||z tusJ|dur ||z tusJt||tusJt||tusJt||tusJt||tusJt|ttk(sJt|ttusJt||tusJt||tusJt||tusJt||tusJt|ttusJt|ttk(sJt!||tusJt!||tusJt!||tusJt!||tusJt!|ttk(sJt!|ttusJt!t|tusJt!t|tk(sJ|dur|dus4||z tusJ||ztusJ||z tusJ||ztusJ|dur||z tusJ||ztusJ|dur||z tusJ||ztusJt#||tusJt#||tusJt#||tusJt#||tusJt#|ttk(sJt#|ttk(sJt#t|tk(sJt#t|tk(sJt%|||tusJt%|||tusJt%|||tusJt%|||tusJt%|||tusJt%|||tusJt%|||tusJt%|||turJt'dtjtjfDsJy)NTFrSc3DK|]}|jdd|uyw)rSrVNrrrbs rPrz"test_true_false..^s @qzz!Q1$@s )r/r r0hashlenrir1boolrrIrrnrrrrrrrall)TFs rPtest_true_falser;s 166>> AGG   t      K49 4<< E>>       :d ## # ;$u+ %% % d| UEN 3 8q 88 88 8 dK (( ( e[ )) ) $%% %%&& & t9   t9   u:   u:   5E>> 6T>>t uen5]%11ayE!!!1ayE!!!1ayE!!!1ayD   1ayA~~1ayE!!!T a5jq5E> !>q5E> !> E>q5E> !> D=q5D= =!Qx4!Qx4!Qx5   !Qx4!Qx4!Qx1}}T a5jq5D= =q5D= = E>q5E> !> D=q5D= =1ayD   1ayD   1ayE!!!1ayE!!!1ayQB1ayA~~T a5jq5D= =q5D= = E>q5E> !> D=q5E> !>AqzT!!!AqzT!!!AqzT!!!AqzU"""AqzaRAqzT!!!1ayE!!!1ayE!!!1ayD   1ayE!!!1ayE!!!1ayQBq!}%%%q!}$$$q!}$$$q!}$$$q!}!!!q!}$$$q!}$$$q!}"""T a5j6U? "?6U? "?6T> !>6T> !> E>6T> !>6T> !> D=6T> !>6T> !>!Q5(((!Q5(((!Q4'''!Q4'''!Q1$$$!QA2%%%!Q1$$$!QA2%%%1a|t###1a|t###1a|u$$$1a|u$$$1a|t###1a|u$$$1a|t###1a|u$$${]%~ @qvvqww.?@ @@ @rOcttdkdtdk\jtdtk(sJt t dkt dk\jtddk(sJtt dk\t dkjtt dtdtzk(sJtt dkDjtt dk(sJtt t dkDt dkjttt dtdtk(sJtjtjk(sJtjtjusJt jtjk(sJt tt dkt dkDt dkjtjt dk(sJt t dkt!t dkjt dkjk(sJt#t$dt'dt)dt zdzt!dt zdzz jtjusJy) NrFrSrVrcBttdkjSr)rrnas_setrNrOrPrWz"test_bool_as_set..nsQ!(;(;(=rOr)rror?rrrrnrrrr/r UniversalSetr0EmptySetopenrrDrrr rNrOrPtest_bool_as_setrCas  qAvua1f % , , .(1b/ AA A qAvqBw  & & (HRO ;; ; a1fa2g  % % '8RC+QZZ '' ' 88: '' ' r!a%QQ ' . . 0HMM2#q4I II I q1uc!fqj ! ( ( *q1unn.> >> >  => b#a!e*/CAJ!O3 4 ; ; = KK KrOc td\}}t|dk\|dk\jtdttdtzk(sJt |dk\|dk\jt jt jztt dddtt dddzz k(sJy)NrrT)r rr?rrrr Realsrs rPtest_multivariate_bool_as_setrFss 5>DAq qAvqAv  % % '8Ar?Xa_+L LL L a1fa1f  $ $ &!''AGG*; RCD$ '(B34*F F+G GG GrOctdd}|t k\|tkf}t|}|jturCt |j t ||j tjz k(s J|dk(sJt|}|jturt |j dk(sJy|dk(sJy)NrnT) extended_realrV) r rrfuncr6argscountr r/r)rnrJvs rPtest_all_or_nothingrM|s4(A 8Q"W D T Avv}166{c$i$**QVV*<<<<<Dyy D Avv|166{aDyyrOchtjtk(sJtjtk(sJyrm)r/rYr0rNrOrPtest_canonical_atomsrOs& >>T !! ! ??e ## #rOchtjtk(sJtjtk(sJyrm)r/negatedr0rNrOrPtest_negated_atomsrRs& <<5  ==D  rOcttdkDttkjt dtdk(sJttdk\ttkjt dtk(sJttkjt t tk(sJtt kDjt t tk(sJy)NrVT) left_openrS)rrnrr?rrNrOrPtest_issue_8777rUs q1ua"f  $ $ &(1bD*I II I qAvq2v  % % '8Ar? :: : F?? "b 1 11 1 G   2#r!2 22 2rOcttt tktdktdtkttkj t t dt dtzk(sJy)Nr=rV)rrrrnr?rrNrOrPtest_issue_8975rWs[ c2#'17#SaR%8 9 @ @ B RC x2 . // /rOcHtgddk(sJtddk(sJy)N)rSrrSrrrSrR0010101000111001i9*)r3rNrOrPtest_term_to_integerr[s* 0 1R 77 7 - .% 77 7rOc td\}}}}||z|z||zz}|j||z|||z|zk(sJ|j||z|z|||z|zk(sJ||z|z||zz}|j||z|||z|zk(sJ|j||z|z|||z|zk(sJ||z |z ||z z}|j||z |||z |zk(sJ|j||z |z |||z |zk(sJyNza b c d)r r)rZr[r\rrs rPtest_issue_21971r^s@#JAq!Q A AEA 66!a% q1uqy (( ( 66!a%!)Q 1q519 ,, , Qq1uA 66!a% A{ ** * 66!a%!)Q AEQ; .. . Qq1uA 66!a% A{ ** * 66!a%!)Q AEQ; .. .rOctttttttgdgdk(sJttttzttgdgdk(sJttttz ttgdgdk(sJtttttttgddgdfddgdfddgdfddgdfgk(sJy) NF)input)FFFT)FTTT)TTFTrrST)listr4rrnrorNrOrPtest_truth_tablerbs  C1I1vU; < & '' '  AEAq67 8 $ %% %  AFQF%8 9 $ %% %  C1I1v. /VUOq!fe_1vuoA~ N OO OrOc\tjtjfD]ttfdttfdttfdttfdtj tj tfD]tdD]}ttfdttfdttfdttfd ttfd ttfd c y) Nc SrmrNrsrPrWz!test_issue_8571.. 1"rOc  SrmrNresrPrWz!test_issue_8571..rfrOctSrm)absresrPrWz!test_issue_8571.. #a&rOctSrm)intresrPrWz!test_issue_8571..rjrOrVczSrmrNorsrPrWz!test_issue_8571.. !a%rOcz SrmrNrnsrPrWz!test_issue_8571..rprOczSrmrNrnsrPrWz!test_issue_8571..rprOczSrmrNrnsrPrWz!test_issue_8571..rprOcz SrmrNrnsrPrWz!test_issue_8571..rprOczSrmrNrnsrPrWz!test_issue_8571..s !q&rO) r r/r0rDrXZerorrnrange)_rors @@rPtest_issue_8571rysffagg y*%y*%y.)y.)&&!%%# A1X y-0y-0y-0y-0y-0y.1!1  rOc2tdd}tdd\}}||| |z dzzz|| |z dzzz dk}|tjusJ|jtjusJ|dkDjtjusJy)NnT)negativezp q)positiverSr)r r r0expandr/)r{pqrs rPtest_expand_relationalrsd#A 54 (DAq aA26A: 1Q #3 4q 8A AGG   88:  E>> qvv %% %rOctjjdk(sJtjjdk(sJy)NT)r r/is_Atomr0rNrOrPtest_issue_12717rs. 66>>T !! ! 77??d "" "rOcptdd}tddtjd|fDsJtdd}tdd tjd |fDsJtd t t d kfDsJd td t dzgfD]t tfd y)NnzT)nonzeroc3RK|]}t|tju!ywrm)r5r r/r4s rPrz"test_as_Boolean..sF1z!}&F%'rSrw)r.c3RK|]}t|tju!ywrm)r5r r0r4s rPrz"test_as_Boolean..sHAz!}'HrFrc38K|]}t||k(ywrmr5r4s rPrz"test_as_Boolean..s6az!}!6srVctSrmr)rbsrPrWz!test_as_Boolean..s *Q-rO)r r8r r/r0rnrDrX)rrwrbs @rPtest_as_Booleanrs t $B Fqvvq"0EF FF F$A H%!Q1GH HH H 6Aq1u:6 66 61q1ub !1y/01rOcttdkttjtthk(sJt t fD]h}|tdjtk(sJ|tdjthk(sJ|tdjthk(rhJtjjtk(sJtjjtk(sJtjthk(sJttt tdt tdjtthk(sJtjtjtk(sJtjtdjtk(sJtjtjthk(sJtj tdjthk(sJtjtjtk(sJy)NrSTF)rrnrorwbinary_symbolsrrsetr r/r0rrprimeltis_truer)rs rPtest_binary_symbolsrs q1ua  * *q!f 44 4"X1Aw%%...Dz((QC///E{))aS0001 66 CE )) ) 77 ! !SU ** *  s "" " q"Q,1a ) 8 8QF BB B 771: $ $ -- - 441: $ $ -- - 99Q< & &1# -- - 444= ' 'A3 .. . 771: $ $ -- -rOctttjtt dt tdfdk(sJy)NrF)rST)rrnrodiffr rrNrOrPtest_BooleanFunction_diffrs1 q!9>>!  1bEl*;Y G GG GrOc8td\}}}}}}}}||z|z|z||z|z|zz||z|z|zz||z|z|zz||z|z|zz||z|z|zz||z|z|zz||z|z|zz||z|z|zz||z|z|zz||z|z|z|zz||z|z|z|zz||z|z|z|zz||z|z|z|zz||z|z|z|z|zz}||z|z|z||z|z|zz||z|z|zz||z|z|zz||z|z|zz||z|z|zz||z|z|zz||z|z|zz||z|z|z|zz||z|z|z|zz||z|z|z|z|zz} ||z|z||z|zz||z|zz||z|zz||z|zz||z|zz||z|z|zz||z|z|zz||z|z|z|zz||z|z|z|z|zz||z|z|z|z|zz||z|z|z|z|z|zz} t|d| k(sJt|d| k(sJgdgdgdgdgdgd g} gd gd gd gd g} tttt t g| ttzt t ztzzk(sJtttt t g| | ttzt t ztzzk(sJy)NzA B C D E F G Hdnfcnf)rrSrrr)rrSrSrrrrrSrrrrSrrrS)rSrSrrrSrSrrS)r r)rrxrnrorw) rKrLrMrjEr:GHrsoldnfsolcnfrrs rPtest_issue_14700rs$%67Aq!Q1a a%!)qb.QUaRZ1"_ -Q!qb A a%1"*r/ !eqbjA2o /23a%1"*r/ C a%1"*r/ !eqbjA2o /23a%!)qb. B a%1"*r/  !eai1"nr1 378!eai1"nr6I K a%1"*r/QB   $%q5A2:?aR#7  9 a%!)a-1" r !  #A 1uqyA2~!a%!)qb.1QUaRZ1"_E1urzQB #$q5A2:?4781urzQBH1urzQB #$q5A2:?4781uqyA2~7JL1urzQB!#%)*A A (:aR(?AF1uqyQUQY'1q5195QC1uqyUQY(+,q5A2:?<rQBw!|qb "%&!Vqb[A2%5%:<1urzQB!#qb(*./!Vqb[A2-=-BaR-GI1uqyA2~"aR'1", .F !U #v -- - !U #v -- -lL,l,H|\<HI Aq!Q< *qA2v!a%1"*.E EE E Aq!Q<9 5 Fq1urz " ## #rOc`tttj}t ||k(sJyrm)rrnr Integersr))conds rPtest_issue_25115rs% Aqzz "D $ 4 '' 'rOctdd\}}}}tdd\}}t||k\||kjtjk(sJt||k\||kDjtjk(sJt||k\| | kDjtjk(sJt||k\| | kjtjk(sJt| | k||kjtjk(sJt| | k| | kDjtjk(sJt| | k||kDjtjk(sJt| | k| | kjtjk(sJt||k||kjtjk(sJt||k||kDjtjk(sJt||k| | kDjtjk(sJt||k| | kjtjk(sJt| | k\||kjtjk(sJt| | k\||kDjtjk(sJt| | k\| | kDjtjk(sJt| | k\| | kjtjk(sJt||k||k\jtjk(sJt||kD||k\jtjk(sJt| | kD||k\jtjk(sJt| | k||k\jtjk(sJt||k| | kjtjk(sJt| | kD| | kjtjk(sJt||kD| | kjtjk(sJt| | k| | kjtjk(sJt||k||kjtjk(sJt||kD||kjtjk(sJt| | kD||kjtjk(sJt| | k||kjtjk(sJt||k| | k\jtjk(sJt||kD| | k\jtjk(sJt| | kD| | k\jtjk(sJt| | k| | k\jtjk(sJt||k\||k||kjtjk(sJt ||k\||kjtj k(sJt||k\t||j||k\k(sJt ||k\t||jt||k(sJt t|||dk\d|k|dk\||kjt|||dk\z|dk\z||kDzk(sJtt||||k\||k||kj||k\||kDz||kzk(sJt t||||k\||k||k\||kjt||||kDz||kzk(sJt t|||dk\d|k|dk\||kjt|||dk\z|dk\z||kDzk(sJt||t||z||k\z||k\zjt||t||z||k\zk(sJt t||t|| jt t|d t|d k(sJt||k\||kjt||k(sJt |dkD|d kt||jtj k(sJt ||k\t|d jt |d k\t|d k(sJtt|dt|djtjk(sJt t|dtd|jt|dk(sJtt|dtd|jt|dk(sJy) Nw x y zTreald eFrSrVrrr) r rrr r/rr0rrr)rxrnrorwrr]s rPtest_relational_simplificationr#s .JAq!Q 5u %DAq a1fa!e  % % '166 11 1 a1fa!e  % % '166 11 1 a1fqbA2g  ' ' )QVV 33 3 a1fqbA2g  ' ' )QVV 33 3 qbQBhA  ' ' )QVV 33 3 qbQBhaR ) ) +qvv 55 5 qbQBhA  ' ' )QVV 33 3 qbQBhaR ) ) +qvv 55 5 a1fa!e  % % '166 11 1 a1fa!e  % % '166 11 1 a1fqbA2g  ' ' )QVV 33 3 a1fqbA2g  ' ' )QVV 33 3 qbQBhA  ' ' )QVV 33 3 qbQBhA  ' ' )QVV 33 3 qbQBhaR ) ) +qvv 55 5 qbQBhaR ) ) +qvv 55 5 a!eQ!V  % % '166 11 1 a!eQ!V  % % '166 11 1 qbA2gqAv  ' ' )QVV 33 3 qbA2gqAv  ' ' )QVV 33 3 a!eaRA2X  ' ' )QVV 33 3 qbA2graRx ) ) +qvv 55 5 a!eaRA2X  ' ' )QVV 33 3 qbA2graRx ) ) +qvv 55 5 a!eQ!V  % % '166 11 1 a!eQ!V  % % '166 11 1 qbA2gqAv  ' ' )QVV 33 3 qbA2gqAv  ' ' )QVV 33 3 a!eaRA2X  ' ' )QVV 33 3 a!eaRA2X  ' ' )QVV 33 3 qbA2graRx ) ) +qvv 55 5 qbA2graRx ) ) +qvv 55 5 a1fa!eQ!V $ - - /166 99 9 qAvq1u  & & (AGG 33 3 a1fbAh  ( ( *qAv 66 6 qAvr!Qx ) ) +r!Qx 77 7 r!QxaQQA 6 ? ? A q!HQ 16 *a!e 4 66 6 bAhQAq1u - 6 6 8 Fq1u Q ' (( ( r!QxaQQA 6 ? ? A a8q1u Q ' (( ( r!QxaQQA 6 ? ? A q!HQ 16 *a!e 4 66 6 q!Hr!Qx 16 *a1f 5 ? ? A q!Hr!Qx 16 * ,, , r!QxAr # , , .#bAh1a2I II I qAvqAv  ' ' )R1X 55 5 q1ua"fbAh ' 0 0 2agg == = qAvr!Qx ) ) +s162a8/D DD D bAh1a ! * * , 66 6 r!QxAq " + + -Aq 99 9 bAh1a ! * * ,1a 88 8rOctdd}t|dk|dkDjtjk(sJt|dk|dk\jtjk(sJt |dk|dk\jtj k(sJt|dk|dk\jtjk(sJy)NrnTrrSr)r rrr r/rr0rns rPtest_issue_8373rfs$A a!eQV  % % '166 11 1 a!eQ!V  % % '166 11 1 q1ua1f  & & (AGG 33 3 a1fa1f  & & (AFF 22 2rOctdd}tt|dt|djtj k(sJy)NrnTrrSrV)r rrrr r0rs rPtest_issue_7950rns<$A r!QxAq " + + - 88 8rOcd}tdd\}}}}tdd\}}tt||||k\||k||k\||ktt|||dk\d|k|d k\||ktt|||dk\d|k|d k\||kt||k\t||ttt||||k\||kt||k\||ktt|||dk\d|k|d k\||kt||t||z||k\z||k\zf}|D]}|||j y) Nc X|j}t|}ttt tt |dz ||z|}|D]V}t t||}|j|}|j|}||k(r@Jdj|||y)NrSzHOriginal: {} and simplified: {} do not evaluate to the same value for {}) free_symbolsr6rarrGrwdictrrformat) original simplifiedsymbr{ valuelistvaluessublist originalvaluesimplifiedvalues rP(test_simplification_numerically_functionz\test_relational_simplification_numerically..test_simplification_numerically_functionus$$ I\$uq1uXq/A*BQ*FJKL  ^F3tV,-G$MM'2M(oog6O O3 ^688>xU\8] ^3  ^rOrTrrFrSrVrr)r rrrr) rrxrnrorwrr] expressions expressions rP*test_relational_simplification_numericallyrssd ^.JAq!Q 5u %DAqr!QxaQQA>r!QxaQQA>bAhQAqAvq1u=qAvr!Qx(c"Q(AFAE2a1fa!e3DE"Q(AFAE17AEBDq!Hr!Qx'162a1f= K"H 01;1D1D1F HHrOc ddlm}ddlm}m}m}|d}|d}|d}|||g}t |gt|gt|gg}tttttdddzd} | D cgc]"} td | Ds t| r!| $} } |D]\} } | D]w} | | dj}| d }| D]Y}tt!||}|j#|}|j#|}||k(r@Jd j%| d||yycc} w) NrWild)_simplify_patterns_and_simplify_patterns_or_simplify_patterns_xorrZr[r\r=rc3&K|] }|dz ywrVNrNrrxs rPrzFtest_relational_simplification_patterns_numerically..,>qQU,>rSGOriginal: {} and simplified: {} do not evaluate to the same value for{}) sympy.corersympy.logic.boolalgrrrrrrrarrGrwanyrJrrxreplacer)rrrrrZr[r\r patternlistsrrLrI patternlistpatternrrrrrrs rP3test_relational_simplification_patterns_numericallyrsh66 S A S A S A q!9D023.010235LSd5Q<&81&A,>)>c!fMIM) fk" fGWQZ__-H J# fs401 ( 1 1' : ","5"5g">$7f:>>DfWQZQ[]d>ef7  f f fNs "D</D<ctd}|dkD|dkz|dkD|dkzzj|dkD|dkz|dkD|dkzzk(sJy)Nr{rr)r r)r{s rPtest_issue_16803rsg A Uq1u !a%AE!2 3 = = ? Ea!e Q1q5 1 2 33 3rOcttttitttzdkDttz dkj sJt ttzdkttz dkj rJt tfdt tfdt tfdy)Nrcrtttzdkttz dkjSNr)rrnrorrsrPrWz"test_issue_17530..s)bQAEAI6;;A>rOcrtttzdkDttz dkjSrrrnrorrsrPrWz"test_issue_17530..)c!a%!)QUQY7<.rrO)rnrrorrrrDrXrs@rPtest_issue_17530rs B2A a!eaiQ # ( ( ++ +1q519a!eai(--a00 0 9>? 9?@ 9?@rOctddgddgk(sJtgdgdk(sJtgdgdk(sJtgdgdk(sJtgdgdk(sJtgdgdk(sJtgd gd k(sJy) NrSrrrrSrSrSrrrrrr)r9rNrOrPtest_anf_coeffsrs q!f !Q '' ' l #| 33 3 l #| 33 3 l #| 33 3 l #| 33 3 l #| 33 3 l #| 33 3rOctd\}}t|gddgdk(sJt|gddgdk(sJt|gddgt|ddk(sJt||ggdtdt||dk(sJy)NrrSTrFrr)r r:rrrs rP test_ANFformrs 5>DAq A3A 4 '' ' A3A 5 (( ( A3A 3q$E#B BB B Aq6< ( tSAYE 2 33 3rOctd\}}td||gt||k(sJtddg||gtt||k(sJy)NrrrSr)r r;rrrs rPtest_bool_mintermrsU 5>DAq Aq6 "c!Qi // / AA '3s1vq> 99 9rOctd\}}td||gtt||k(sJtddg||gtt||k(sJy)NrrVrrS)r r<rrrs rPtest_bool_maxtermrsY 5>DAq Aq6 "bQm 33 3 AA '2c!fa= 88 8rOctd\}}td||g|k(sJtddg||gt||k(sJy)NrrS)r r=rrs rPtest_bool_monomialrsK 5>DAq QF #q (( ( !Q!Q (C1I 55 5rOcXtgdgddk(sJtgdgddk(sJy)NrrrVrr)r>rNrOrPtest_check_pairrs, y) , 11 1 y) , 22 2rOcttzttzzttzz}ttzttzzttzz}t|d}|||fvsJyr)rLrMrKr,)rrres1results rPtest_issue_19114rsb Ea1"f !qb )D Ea1"f !qb )D D4 (F dD\ !! !rOc&tttttggd}ttzttztzzttztzzttztzzttztzz}||k(sJy)N) rSrVrrr r r)rrZr[r\r)rexpecteds rPtest_issue_20870rsv aAq\#K LFaRAEAI&!qb&A2+6aR1"!"aR1".H X  rOctgdtttgt t ttt tk(sJtgdtttgt tt tk(sJyNr)rrSr)r?rnrorwrrrNrOrPtest_convert_to_varsSOPrsS y1a) 4CFAs1v8N NN N y1a) 4As1v FF FrOctgdtttgt tt ttk(sJtgdtttgt t ttk(sJyr)r@rnrorwrrrNrOrPtest_convert_to_varsPOSrsO y1a) 41c!fa8H HH H y1a) 43q61 EE ErOctd\}}}ttdk(sJt|z|z|zz zdk(sJttddk(sJttfdy)Nza:erVrTrc tzSrm)rB)rZr[srPrWz%test_gateinputcount..snQU3rO)r rBrrDrX)r\rr]rZr[s @@rPtest_gateinputcountrs|ENMAq!Q #a) $ )) ) !a!eai1q511 2a 77 7 #a, '1 ,, , 934rOc\ ttdktdkrJttdktdksJttdkdtkDtjusJttdktdktdkk(sJttdktdkrJttdktdksJttdkdtk\tjusJttdktdktdkk(sJttdkDtdkDrJttdkDtdkDsJttdkDdtktjusJttdkDtdkDtdkDk(sJttdk\tdk\rJttdk\tdk\sJttdk\dtktjusJttdk\tdk\tdk\k(sJtt tdt tdrJtt tdt tdsJtt tdt dttjusJtt tdt tdt tdk(sJtt tdt tdrJtt tdt dttjusJtt tdt tdsJtt tdt tdt tdk(sJtttdkDtdkDtdkDtdkDk(sJtttdkDtdkDtdkDtdkDztjusJttjttjttjusJttjttjttjusJttjttjttjtk(sJyr) rrnr r/rorrrrr}r|r0rrNrOrP test_refinersa!eq1uX&& & !a%!a% !! ! !a%!a% !QVV ++ + !a%!a% !a!e ,, ,a1fQi(( ( !q&16 ## # !q&16 #qvv -- - !q&16 #Q // /a!eq1uX&& & !a%!a% !! ! !a%!a% !QVV ++ + !a%!a% !a!e ,, ,a1fQi(( ( !q&16 ## # !q&16 #qvv -- - !q&16 #Q // /bAh"Q( ,, , "Q(R1X '' ' "Q(R1X '166 11 1 "Q(R1X '2a8 33 3bAh"Q( ,, , "Q(R1X '166 11 1 "Q(R1X '' ' "Q(R1X 'Bq!H 55 5 #a!eQU#a!e -!a% 88 8 #a!eQU#a!eA%6 7166 AA A !**Q-A /166 99 9 !**Q-A /177 :: : !**Q- +qzz!} << .7rrrSr)rrrr rrarrGrwrrJrrrr)rr rZr[r\rrrrLrIrrrrrrrrs rP=test_relational_threeterm_simplification_patterns_numericallyr -sE; S A S A S A q!9D1345LSd5Q<&81&A,>)>c!fMIM) fk" fGWQZ__-H J# fs401 ( 1 1' : ","5"5g">$7f:>>DfWQZQ[]d>ef7  f f fNs 0"D D cttttt tt }t |tsJt|jtttt tt hk(sJyrm) rrrZr\rr[rirrJrs rPtest_issue_25451r EsQ 3q!9bAhA a   qvv;3q!9bAh/ // /rOc |td\}}}}t|t||t||}t||t||}tt|t||t||}tttt|t||t||}||k(sJ||k(sJyr])r rrr6)rZr[r\rrnror result_anfs rPtest_issue_26985rKs#JAq!Q As1ay#a)$A Aq#a)AQAq "C1I .FF3q#a)#45s1ayABJ ?? Q;;rON)sympy.assumptions.askrsympy.assumptions.refinersympy.core.numbersrsympy.core.relationalrrrsympy.core.singletonr sympy.core.symbolr r sympy.functionsr (sympy.functions.elementary.trigonometricr rsympy.sets.setsrrsympy.sets.containsrsympy.simplify.simplifyrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r4r5r6r7r8r9r:r;r<r=r>r?r@rArBsympy.assumptions.cnfrCsympy.testing.pytestrDrErF itertoolsrGrHrIrKrLrMrjrZr[r\rr]rxrnrorwrQrcrfrkrsruryr{rrrrrrrrrrrrrrrrrrrrrrrrrr r rrrrr r#r,r/r1r;rCrFrMrOrRrUrWr[r^rbryrrrrrrrrrrrrrrrrrrrrrrrrrrr r rrNrOrPrs#+!22".%=+(,             &4499 U^ 1a#I.1aAq!Q J0),924 3 9 2  ( ('$ >(0?q(h@2 "$ 4 & *5''S ..;8 " 68> " /+ L))+4\ %&CALL$GG $ ! 3/ 8 /O&&# 1."H#:( @9F39 HH<f63A43: 9 6 3 "G F 5"=Jf00 rO