Yes, it has. This is your example equation:
eq1 = 3 x + 8 == 16
(* 8 + 3 x == 16 *)
Here is its TreeForm:
TreeForm[eq1]

As you see, there are two elements on the first level:
eq1[[1]]
eq1[[2]]
(* 8 + 3 x
16 *)
which are the left- and right-hand parts of the equation. Any equation in Mma has such a form, that is, left- and right-hand parts as the only elements in the first level. In order to apply an operation to the both parts of this equation one needs, therefore, to map this operation onto the equation like the following: Map[OperationInQuestion, eq1]
. The peculiarity is that all the operations we might want to map are dyadic operations, that is the operator has two arguments. To handle this one needs to use the "slot-ampersand" (#-&
) notation. For example, if we need to multiply the both sides of the equation by the same factor, factor
we need to use the Times[#,factor]&
operator of multiplication. The whole operator acting on the equation will have the form Map[Times[#,factor]&, equation]
.
Let us now turn to your example equation eq1
, and I will demonstrate how all this works. Let us first divide the both parts of eq1
by 16:
eq2 = Map[Expand[Divide[#, 16]] &, eq1]
(* 1/2 + (3 x)/16 == 1 *)
I also wraped it by Expand
just to open the parentheses. Let us now add -1/2 to the both parts:
eq3 = Map[Plus[#, -1/2] &, eq2]
(* (3 x)/16 == 1/2 *)
Let us now divide it by 3/16:
eq4 = Map[Divide[#, 3/16] &, eq3]
(* x == 8/3 *)
Like this one may treat any equation.
Have fun!
Thread[(3 x + 8 == 16)/16, Equal]
$\endgroup$eqn=3x+8==16; Map[1/16*#&,eqn]
, orDistribute[1/16 eqn,Equal]
$\endgroup$ApplySides[]
, likely making many of the other answers obsolete. $\endgroup$