+
    i                     b    R t ^ RIHt ^ RIHtHt ]3R lt]3R lt]3R lt]3R lt	]3R lt
R# )	zStrategies to Traverse a Tree.)	basic_fns)chaindo_onec                (   a a \        S VV 3R l4      # )z;Apply a rule down a tree running it on the top nodes first.c                 <   < \        \        SS4      S4      ! V 4      # Nsalltop_downexprfnsrules   &y/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/sympy/strategies/traverse.py<lambda>top_down.<locals>.<lambda>   s    D$)<c$B4$H    r   r   r   s   ffr   r
   r
      s    HIIr   c                (   a a \        VV 3R lS 4      # )z>Apply a rule down a tree running it on the bottom nodes first.c                 <   < \        \        SS4      S4      ! V 4      # r   r	   	bottom_upr   s   &r   r   bottom_up.<locals>.<lambda>   s    d9T3#7=dCr   r   r   s   ffr   r   r      s    CTJJr   c                (   a a \        S VV 3R l4      # )z+Apply a rule down a tree - stop on success.c                 <   < \        \        SS4      S4      ! V 4      # r   r   r   s   &r   r   top_down_once.<locals>.<lambda>   s    T(4*=s%CD%Ir   r   r   s   ffr   top_down_oncer      s    $IJJr   c                (   a a \        VV 3R lS 4      # )z)Apply a rule up a tree - stop on success.c                 <   < \        \        SS4      S4      ! V 4      # r   r   r   s   &r   r    bottom_up_once.<locals>.<lambda>   s    tIdC$8#>tDr   r   r   s   ffr   bottom_up_oncer"      s    DdKKr   c                Z   a aaaa \        VP                  R4      w  ooooVVVVV 3R lpV# )z#Strategic all - apply rule to args.c                 h   < S! V 4      '       d   V # \        SS! V 4      4      pS! S! V 4      .VO5!  # r   )map)r   argschildrenleafnewopr   s   & r   all_rlsall.<locals>.all_rl   s5    ::KtXd^,Dr$x'$''r   )r*   r)   r'   r(   )r%   get)r   r   r+   r'   r(   r)   r*   s   f& @@@@r   r	   r	      s.    !#''+LMBXt( ( Mr   N)__doc__sympy.strategies.utilr   sympy.strategies.corer   r   r
   r   r   r"   r	    r   r   <module>r2      sD    $ + / ! J
 " K
 & K
 ' L
  r   