If result
is the result of your Reduce[..]
, then try this:
Map[FullSimplify, result, {2}]
I'm not sure why you want to get rid of some of the conditions. It could be done by deleting the inequalities that do not contain {a1, a2}
or just a2
:
DeleteCases[%, i_ /; FreeQ[i, a1 | a2]] (* or just FreeQ[i, a2] *)
Notes:
The argument {a1, a2}
to Reduce
in the OP means that each solution will have a form in an order with a1
and a2
coming last:
conditions && Inequality[..., a1,...] && Inequality[..., a2,...]
If there are multiple solutions, it will have a form like sol1 || sol2 || ...
, but And
and Or
will be nested in a way so that the repetition of conditions will be somewhat minimized. The irregular nesting makes the form somewhat difficult to postprocess programmatically. Usually LogicalExpand[result]
yields a matrix-like structure:
Or[
And[cond1, i11, i12,...],
And[cond2, i21, i22,...],
...
]
However, it often happens that some of the solutions can be combined to a simpler form. For instance, conditions over circle are often split into semicircles and sometimes into open semicircles and their endpoints (4 pieces). This is an artifact of the algorithm and sometimes not strictly necessary. It can be hard to combine them, except by hand.
P.S.
If this particular problem is the only such problem you face, then copying the code typed in the OP is the easiest solution, -a1 (1 + 1/((b + β) μ)) < a2 < a1 (1 + 1/((b + β) μ))
. I can see no reason for doing a lot of work just to get Mathematica to give a human-optimal solution when typing it out is so easy, especially when it's programmed to produce computation-oriented solutions.
P.P.S
More work, simpler result:
Map[FullSimplify[#,
TransformationFunctions ->
{Automatic, Factor, -Simplify[-#] &}] &,
result, {2}]