
    sh                     Z    S SK JrJr  S SKJrJr  S SKJr  S SKJ	r	  S SK
Jr  S rS rS rg	)
    )SRational)schur_partitionSchurNumber)_randint)raises)symbolsc                 @    U  H  nU  H  nX-   U ;   SL a  M   e   M     g)zT
Checks if subset is sum-free(There are no x,y,z in the subset such that
x + y = z)
FN )subsetijs      /Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/sympy/combinatorics/tests/test_schur_number.py_sum_free_testr      s,    
 AEVO---      c                    ^ [        [        S 5        [        [        S 5        [        [        S 5        [        S5      SS//:X  d   e[        S5      n [	        S5       Hh  nU " SS5      n[        U5      nSn/ nU H@  n[        U5         U[        U5      -  nU H  nXu;   S	L d   eUR                  U5        M     MB     X$:X  a  Mh   e   [        S
5      m[        [        U4S j5        g )Nc                  4    [        [        R                  5      $ N)r   r   Infinityr   r   r   <lambda>&test_schur_partition.<locals>.<lambda>   s    qzz:r   c                      [        S5      $ )Nr   r   r   r   r   r      s	    r2r   c                      [        S5      $ )Nr   r   r   r   r   r   r      s	    q1r         i     r   Fxc                     > [        T 5      $ r   r   )r   s   r   r   r   *   s
    q1r   )	r   
ValueErrorr   r   ranger   lenappendr	   )	random_number_generator_nresulttnumbersitemlr   s	           @r   test_schur_partitionr-      s    
::;
:23
:1211a&)))&tn1X#At, #D4  TNA...q!   vv   	A
:12r   c                     SSSSSS.n U  H  n[        U5      X   :X  a  M   e   [        [        R                  5      [        R                  :X  d   e[        S5      S:X  d   e[        [        S 5        [        S	5      n[        U5      R                  5       S
U-  S-  [        SS5      -
  :X  d   e[        S5      R                  5       S:X  d   eg )Nr         ,      )r   r      r/   r   r   c                      [        S5      $ )Ng      ?)r   r   r   r   r   #test_schur_number.<locals>.<lambda>3   s	    {3/r   r'   r3   r      i  )r   r   r   r   r!   r	   lower_boundr   )first_known_schur_numberskr'   s      r   test_schur_numberr:   ,   s    $%!rc B&1~!:!==== ' qzz"ajj000q>Q
:/0Aq>%%'1a46HQN+BBBBq>%%'4///r   N)
sympy.corer   r    sympy.combinatorics.schur_numberr   r   sympy.core.randomr   sympy.testing.pytestr   sympy.core.symbolr	   r   r-   r:   r   r   r   <module>r@      s#    " I & ' %.340r   