Suppose that I have two linear functions
f[x_] := f0 + f1 x
g[x_] := g0 + g1 x
and a (possibly rather complicated) set of conditional expressions, obtained through Reduce. For example, we might have something like this:
conditions = (f0 == f1 && g0 == 0) || (f0 == g1 && g0 == f1)
What I would like to do is write something like
{f[x],g[x]} /. conditions
and receive as output the set of pairs of $f$ and $g$ adhering to that formula. In this case we'd have
{{a + ax, bx}, {a + bx, b + ax}}
(or maybe {{f0 + f0x, g1x}, {f0 + f1x, f1 + f0x}} to stick with original variable names).
How can I do this?


Reduceing a system of equations in $g_0,g_1,f_0,f_1$ and thenFullSimplifying, so these should be solutions. I'm really just trying to transform the coefficient logic into polynomial logic. – Alexander Gruber Jan 27 '14 at 08:37Reduce, this is how:{f[x], g[x]} /. {ToRules@conditions}. The only issue is adjusting the variables inReduceto get them in the order you desire. (It's unclear whether you wantf0replaced byf1or vice versa, or sometimes both.) – Michael E2 Jan 27 '14 at 11:30{f[x], g[x]} /. {ToRules @ conditions}is what you need. See e.g. How to get intersection values from a parametric graph? whereSolvecouldn't provide solutions so we had usedToRules @ Reduce[...]. Another useful method you might find here: Simplifying expressions with square roots. – Artes Jan 27 '14 at 13:29