def rewrite_rl(expr, assumptions=True): for match in unify(source, expr, {}, variables=variables): if condition and not condition(*[match.get(var, var) for var in variables]): continue if assume and not ask(assume.xreplace(match), assumptions): continue expr2 = subs(match)(target) if isinstance(expr2, Expr): expr2 = rebuild(expr2) yield expr2
def rewrite_rl(expr, assumptions=True): for match in unify(source, expr, {}, variables=variables): if (condition and not condition(*[match.get(var, var) for var in variables])): continue if (assume and not ask(assume.xreplace(match), assumptions)): continue expr2 = subs(match)(target) if isinstance(expr2, Expr): expr2 = rebuild(expr2) yield expr2
def rewrite_rl(expr): for match in unify(p1, expr, {}, variables=variables): expr2 = subs(match)(p2) if isinstance(expr2, Expr): expr2 = rebuild(expr2) yield expr2