We ended the previous post in this series by looking at this figure:

To recap, a *black box* is something where we have access to the behavior but not the internal organization. We can propose a *model *for a black box, and we can talk about the equivalence between the model and the black box. We call the black box and the model equivalent if they show the same behavior, regardless whether the model accurately matches the internal organization of the black box. In the figure, two different models are shown, on the right, and I suggested in the previous post that those two boxes at the right have identical behavior, and hence would be equivalent to each other, even though they have a different internal organization.

Since the claim about equivalence is a claim about behavior, it might be tempting to just test the two boxes with many input values, and watch the output values to see if they are indeed the same.

Yet how many inputs would you have to try, and in what order, to gain sufficient confidence that the two models behave the same? Would a thousand be enough, or would you give up after five or six and consider it done? Or, alternatively, you could just take my word for it, and save yourself even the minimal amount of work of checking five or six behaviors?

When we only look at some particular in-out behaviors, or grant authority to somebody and accept their take on what is going on, we are engaged in something other than mathematical reasoning. We’ve given up on making sense of a situation for ourselves. In this situation, we would be ignoring the information available to us, ignoring that we’ve been offered a glance inside of the box. This is akin to playing poker without looking at your own cards – you might still luck out and win, but your odds of winning have gone way way down.

If we have the luxury of knowing what is inside of the box in model 1, we can use that info to see how the insides drive its behavior. There are many different ways to approach this. We might use the common language of algebra to describe it, and say that if “x” goes in, then “2x+1” comes out. Or we might simply note that whenever we increase the value of what goes in by one, the value coming out of the “double” box will have gone up by two, and therefore the value coming out of the “add one” box will also have gone up by two. The upshot of all of this is that if “in” goes up by one, then “out” goes up by two. If we can agree that this is true for both boxes, and if we can further agree that both boxes have identical outputs for one identical input, then they must always behave the same, or would they?