Two Generals and Time Machines
I see this annoying mistake everywhere, but it&#x27;s important to point out in the context of computer science (more so than in mathematics) because it relates to one of its core components: in the context of logic and proofs, &quot;formal&quot; does not mean precise or mathematical (and certainly not official), but rather <i>mechanical</i>. A formal description is one with a precise syntax and semantics, whose truth can (at least in principle) be judged directly from its <i>form</i>. A formal proof is one carried out through pure syntactic (i.e., <i>formal</i>, in the sense of &quot;pertaining to form&quot;) manipulation, and does not rely on any <i>in</i>formal arguments, namely ones that do not appear in the form.<p>As a rule of thumb, if you could replace the word &quot;formal&quot; with &quot;mechanical&quot; and your sentence would still be true, then you can use the word formal (this is the case, say, with formal software verification, which is simply mechanical software verification, or formal proofs in a proof assistant, that are mechanical proofs). So, a formal description is one that could be directly mechanically interpreted by a simple computer program as written, and a formal proof is one that could be mechanically checked. If this is not the case -- use the word &quot;precise&quot; (or &quot;mathematical&quot; if you prefer). It&#x27;s both simpler and more accurate.<p>As the description given here makes heavy use of natural language that is not easily interpretable by a computer, it is <i>not</i> formal, and since the proof makes use of a notion of a time machine, as well as others, not given a formal definition, it is very much informal, even if sufficiently precise to be acceptable as a mathematical proof.