&gt; And then it&#x27;s also brought up because the naive way of adding it to a theorem prover makes your logic degenerate.<p>Well, I&#x27;d argue that disallowing non-termination in your logic doesn&#x27;t help in the least[1], so you may as well allow it. :) But we already discussed in the past (I think) the equivalence classes of value-based models, and I think we&#x27;re in general agreement (more or less).<p>[1]: There are still infinitely many different ways to satisfy the type a -&gt; a (loop once and return x, loop twice, etc. all of them total functions), and allowing (and equating) <i>all</i> of them loses the notion of time just as completely as disallowing just one of them, their limit (I see no justification for assuming a &quot;discontinuity&quot; at the limit).