While reading Sipser’s book on theory of computation, it relies heavily on the concept of formal language, and machines that merely accept or reject an input.
But most useful programs we deal with do more than merely verify an input. They compute something. We may compute a solution for an equation instead of merely verify it. We may sum a list of numbers, or calculate some function on it.
Maybe “most” is an exaggeration since I can’t prove it. But still, it begs the question. Why not deal with machines than do more than merely verify?
Here’s how I think it works
In formal language, what it means to accept a verification means does the result fall into the list of acceptable values.
Consider adding two 2-bit numbers:
The machine itself simply holds this automata and language, so all it does is take input and reject/accept end state. I think you’re just getting caught up in definitions
A sum of a list of numbers I think would be something like
Machines accept a valid state or hit an error state (accept/reject). The computation happens between the input and accept/reject.
But maybe I don’t understand it either. It’s been a while since I poked around at this stuff.