 Consider a computational example. For any two numerical inputs, M and N, a given computer always produces as outputs the product of M and N. There is a second computer that does exactly the same thing. In this way, they are functionally identical. Does it follow that they are running exactly the same program? Of course, not! There are all sorts of programs that will multiply together two numbers. These programs can differ dramatically. At one gross level the machines are functionally identical, but at lower levels the machines can be functionally different.