&gt; It doesn&#x27;t say anything about &quot;non-trivial&quot; programs.<p>No, but its source does. The source for the Turing Halting problem is Gödel&#x27;s incompleteness theorems, which do specify that the entities to which it applies are non-trivial. The Turing Halting problem, and Gödel&#x27;s incompleteness theorems, are deeply connected.<p>&gt; One straightforward way to do this is with a language that always halts.<p>That doesn&#x27;t avoid the halting problem, it only changes the reason for a halt. And it cannot guarantee that that program will (or won&#x27;t) halt, if you follow -- only its interpreter.<p>&gt; In particular, if you write programs with awareness of the halting problem in mind, you can write extremely complicated programs that are provably correct.<p>You need to review the Turing Halting problem. No non-trivial computer program can be proven correct -- that&#x27;s the meaning of the problem. It cannot be waved away, any more than Gödel&#x27;s incompleteness theorems can be waved away, and for the same reason.