@@ -212,22 +212,22 @@ As another way to look at the problem, if we know the average of a left-hand sid
This is the same issue we saw in divide-and-conquer design: we must be asking the wrong question.
If we ask for …, deferring …, then we can find a monoid.
If we ask for a total and a count, deferring the division, then we can find a monoid.
## Monoid Identification
* Interpretation of input elements as actions:
*…
*An element `a` in the input is an instruction to "add `a` to the total and `1` to the count".
* Combination of two actions:
*…
*…
*If we add `a` and then `c` to the total and `1` and then `1` to the count, altogether we add `a + c` to the total and `2` to the count.
*More generally, if we add `a` and then `c` to the total and `b` and then `d` to the count, altogether we add `a + c` to the total and `b + d` to the count.
* Representation of actions:
*…
*We can represent any action by storing an amount to add to the total (a real number) and an amount to add to the count (a natural number).
* Identity element:
*…
*Solving `e ∙ x = x ∙ e = x` gives us `e = (0, 0)`.
* Monoid:
*`A = (…, ∙, …)` where `(a, b) ∙ (c, d) = (…, …)`
*`A = (𝐑 × 𝐍, ∙, (0, 0))` where `(a, b) ∙ (c, d) = (a + c, b + d)`