DragginMath: The Associative Property

Notice that when you enter (a+b)+c, DragginMath removes the parentheses to show a+b+c, but if you enter a+(b+c), the parentheses remain. This is a convention of traditional math notation: a+b+c and (a+b)+c mean exactly the same thing, but a+(b+c) means something slightly different. You can see this difference in how the operators are associated in their operator trees. When writing traditional notation, we usually leave out the optional parentheses unless they help to make something especially clear. You can choose to add them with a pen, but DragginMath doesn’t give you that choice.

In (a+b)+c, drag the + that joins a and b, dropping it on + at the root. This motion requires you to drag up, which puts DragginMath into Blue Mode. The result is a+(b+c). The order of operations has changed, but the order of operands has not, and any computed result will always be the same. It works the other direction, also: in a+(b+c), drag the + that joins b and c, dropping it on + at the root. The result is (a+b)+c. These interchangeable forms define the Associative Property of Addition: (a+b)+c = a+(b+c).

There is also an Associative Property of Multiplication: (a∗b)∗c = a∗(b∗c).

The previous examples used the Associative Property in a small way. The next example uses the Associative Property in a big way. Be sure to stop and look at the result after each step.

Enter abcdefg.
Drag the ∗ attached to f onto the topmost ∗.
Drag the ∗ attached to e onto the topmost ∗.
Drag the ∗ attached to d onto the topmost ∗.
Drag the ∗ attached to c onto the topmost ∗.
Drag the ∗ attached to b onto the topmost ∗.
Drag the ∗ attached to g onto the topmost ∗.
Drag the ∗ attached to a onto the topmost ∗.
Drag the ∗ attached to g onto the ∗ attached to d.
Drag the ∗ attached to e onto the topmost ∗.

The Associative Property can make complicated operator trees that branch arbitrarily left and right. When making sweeping association changes across multiple nodes, DragginMath tends to order them in linear chains. Still, you might have to associate more than once to fully straighten out some complicated trees.

With an associative operator, you can change the order of operations without changing anything else, and any computed result will always be the same as what you started with. DragginMath has many operators, but only addition and multiplication are truly associative.

This does not mean we can’t change the order of operations for other operators. It just means that, if we do change their order of operations, we have to change other things, also. An operator for which we can always make a change like this is called an associable operator.

(a+b)−c = a+(b−c)
(ab)+c = a−(b−c)
(ab)−c = a−(b+c)
(ab)÷c = a(b÷c)
(a÷b)∗c = a÷(b÷c)
(a÷b)÷c = a÷(bc)

DragginMath can make sweeping associable changes as easily as it makes associative changes.