Exercise 105.1.
For 𝑥 = ▹3⟨7⟩, 𝗈𝖻𝗌𝖾𝗋𝗏𝖾0(𝑥)=𝗅𝖺𝗍𝖾𝗋,𝗈𝖻𝗌𝖾𝗋𝗏𝖾2(𝑥)=𝗅𝖺𝗍𝖾𝗋,𝗈𝖻𝗌𝖾𝗋𝗏𝖾3(𝑥)=𝖽𝗈𝗇𝖾(7),𝗈𝖻𝗌𝖾𝗋𝗏𝖾4(𝑥)=𝖽𝗈𝗇𝖾(7). The convergence derivation is Conv-Return followed by three applications of Conv-Step. A result 𝗅𝖺𝗍𝖾𝗋 describes only the inspected prefix. Even 𝖽𝗈𝗇𝖾(7) is a proof of convergence rather than a proof about the absence of all values. Hence none of the first three finite observations establishes the universal negation that defines divergence.
Exercise 105.2.
Take 𝑥 = ▹𝜉, where 𝜉 :𝐴𝜈 is neutral. One unfolding of the left side exposes ((▹𝜉≫=𝑓)≫=𝑔)≡▹((𝜉≫=𝑓)≫=𝑔), whereas the right side exposes ▹𝜉≫=(𝜆𝑎.𝑓(𝑎)≫=𝑔)≡▹(𝜉≫=(𝜆𝑎.𝑓(𝑎)≫=𝑔)). Their guarded subterms are distinct raw syntax; identifying them would assume the associativity being proved. For every 𝑐 :𝐶, bind convergence gives ((𝑥≫=𝑓)≫=𝑔)⇓𝑐⟺∃𝑎,𝑏.𝑥⇓𝑎∧𝑓(𝑎)⇓𝑏∧𝑔(𝑏)⇓𝑐⟺(𝑥≫=(𝜆𝑎.𝑓(𝑎)≫=𝑔))⇓𝑐. The middle equivalence only reassociates the two existential witnesses and the conjunctions. Pointwise equivalence is exactly =𝜈.
Exercise 105.3.
No natural square equals two. For 𝑘 =0,1, 𝑘2 <2; for 𝑘 ≥2, monotonicity of multiplication gives 𝑘2 ≥4 >2. Therefore 𝑃(𝑘) =𝖿𝖺𝗅𝗌𝖾 for every 𝑘, so no 𝑚 can satisfy the 𝑃(𝑚) =𝗍𝗋𝗎𝖾 conjunct in the right side of theorem 105.9.
Induct on the fuel 𝑗. At zero the observer returns 𝗅𝖺𝗍𝖾𝗋. At 𝑗 +1, the predicate test at the current index is false, so search exposes one 𝗌𝗍𝖾𝗉; consuming one unit of fuel reduces the claim to the induction hypothesis at the successor index. Thus every finite observation is 𝗅𝖺𝗍𝖾𝗋. This proof uses the particular decidable arithmetic predicate; it does not invoke a general decision law for convergence.
Exercise 105.4.
For the forward direction of bind convergence, induction on the convergence derivation has two inversions. If the input is ⟨𝑎⟩, unfold bind and choose 𝑎; Conv-Return gives input convergence. If the input is ▹𝑥′, inversion of the outer Conv-Step reduces the premise to (𝑥′≫=𝑓) ⇓𝑏; apply the induction hypothesis and rebuild input convergence with Conv-Step. Conversely, induction on 𝑥 ⇓𝑎 uses Conv-Return to unfold bind to 𝑓(𝑎), and uses Conv-Step plus the guarded bind equation in the step case.
Now assume 𝑥 =𝜈𝑦 and 𝑓(𝑎) =𝜈𝑔(𝑎) for every 𝑎. For each 𝑏, (𝑥≫=𝑓)⇓𝑏⟺∃𝑎.𝑥⇓𝑎∧𝑓(𝑎)⇓𝑏⟺∃𝑎.𝑦⇓𝑎∧𝑔(𝑎)⇓𝑏⟺(𝑦≫=𝑔)⇓𝑏. The outer equivalences are bind convergence; the middle one uses the two pointwise equality hypotheses. This is the required congruence at =𝜈.
Exercise 105.5.
Define the delayed subtraction program by 𝗀𝖼𝖽𝜈(𝑚,𝑛)=⎧{
{
{
{⎨{
{
{
{⎩⟨𝑛⟩,𝑚=0,⟨𝑚⟩,𝑛=0,▹𝗀𝖼𝖽𝜈(𝑚−𝑛,𝑛),0<𝑛≤𝑚,▹𝗀𝖼𝖽𝜈(𝑚,𝑛−𝑚),0<𝑚<𝑛. Use the measure 𝜇(𝑚,𝑛) =𝑚 +𝑛. In the first recursive branch, (𝑚 −𝑛) +𝑛 =𝑚 <𝑚 +𝑛 because 𝑛 >0, including the equality case 𝑚 =𝑛, which takes one step to (0,𝑛). In the second, 𝑚 +(𝑛 −𝑚) =𝑛 <𝑚 +𝑛 because 𝑚 >0. Well-founded induction on 𝜇 therefore supplies a convergence derivation in every input case; each recursive induction hypothesis is lifted once by Conv-Step. For the corpus input, the exact trace is (6,4)⟼(2,4)⟼(2,2)⟼(0,2), so the returned two occurs below three guarded steps. Adding an immediate 𝑚 =𝑛 return changes this observation and is not the displayed program.
Determinacy of convergence extracts a unique natural 𝑑. The subtraction equalities are gcd(𝑚,𝑛) =gcd(𝑚 −𝑛,𝑛) for 𝑚 >𝑛 and gcd(𝑚,𝑛) =gcd(𝑚,𝑛 −𝑚) for 𝑛 >𝑚. The second is obtained from the first by swapping 𝑚 and 𝑛. Induction on 𝑚 +𝑛, using the corresponding equality in each strict-order branch, gives 𝑑 =gcd(𝑚,𝑛). An accessibility definition packages the well-founded proof as an argument and returns 𝑑 :𝖭𝖺𝗍 directly. The delayed definition is accepted by guardedness before totality is proved and returns 𝖭𝖺𝗍𝜈; its separate convergence proof is what permits extraction of the same total value.