ó
¡¼™\c           @  sI   d  d l  m Z m Z d d l m Z m Z d d l m Z d „  Z d S(   iÿÿÿÿ(   t   print_functiont   divisioni   (   t   exhaustt	   multiplex(   t   top_downc          G  s   t  t t t |  ƒ Œ  ƒ S(   sÌ    Strategy for canonicalization

    Apply each branching rule in a top-down fashion through the tree.
    Multiplex through all branching rule traversals
    Keep doing this until there is no change.
    (   R   R   t   mapR   (   t   rules(    (    s<   lib/python2.7/site-packages/sympy/strategies/branch/tools.pyt   canon   s    N(	   t
   __future__R    R   t   coreR   R   t   traverseR   R   (    (    (    s<   lib/python2.7/site-packages/sympy/strategies/branch/tools.pyt   <module>   s   