exercise 97.1.
Declare 𝖽𝗈𝗎𝖻𝗅𝖾𝗓⟼𝗓,𝖽𝗈𝗎𝖻𝗅𝖾(𝗌𝑛)⟼𝗌(𝗌(𝖽𝗈𝗎𝖻𝗅𝖾𝑛)). Both sides have type 𝖭𝖺𝗍 in the displayed rule telescope. Then 𝖽𝗈𝗎𝖻𝗅𝖾(𝗌(𝗌𝗓))⟶Σ𝗌(𝗌(𝖽𝗈𝗎𝖻𝗅𝖾(𝗌𝗓)))⟶Σ𝗌4(𝖽𝗈𝗎𝖻𝗅𝖾𝗓)⟶Σ𝗌4𝗓. For neutral 𝑥, 𝖽𝗈𝗎𝖻𝗅𝖾 𝑥 is stuck: 𝑥 matches neither 𝗓 nor 𝗌 𝑛.
exercise 97.2.
Write the matching substitution as 𝜃 =(𝑢/𝑥,𝑣/𝑦). First substitute 𝑢 in the derivations 𝑥 :𝐴,𝑦 :𝐵(𝑥) ⊢ℓ :𝑇 and 𝑥 :𝐴,𝑦 :𝐵(𝑥) ⊢𝑟 :𝑇. Typed substitution requires Γ ⊢𝑢 :𝐴 and yields derivations in Γ,𝑦 :𝐵(𝑢). The second component must therefore satisfy Γ ⊢𝑣 :𝐵(𝑢), not 𝑣 :𝐵(𝑥). Substituting 𝑣 gives Γ ⊢ℓ𝜃 :𝑇𝜃 and Γ ⊢𝑟𝜃 :𝑇𝜃, as required.
exercise 97.3.
The new right-zero rule overlaps the zero-left rule at 𝗉𝗅𝗎𝗌 𝗓 𝗓; both roots contract to 𝗓. It overlaps the successor-left rule at 𝗉𝗅𝗎𝗌 (𝗌 𝑚) 𝗓. Right-zero contracts directly to 𝗌 𝑚, while successor-left gives 𝗌(𝗉𝗅𝗎𝗌 𝑚 𝗓), which contracts internally by right-zero to 𝗌 𝑚. The two original roots do not unify, and each self-overlap is trivial. Joinability checks only local peaks. It supplies no well-founded measure on rewrite sequences, so termination remains a separate obligation.
exercise 97.4.
Take one constant 𝑎 and the rule 𝑎 ⟼𝑎. Every pair of finite reductions from a term has a common descendant, so the relation is confluent, but 𝑎 ⟶Σ𝑎 ⟶Σ⋯ is infinite and 𝑎 has no normal form. An algorithm that converts by normalizing both inputs therefore does not terminate even on (𝑎,𝑎). Confluence gives uniqueness of normal forms when they exist; it neither produces them nor proves that normalization terminates.
exercise 97.5.
The normal derivation assumes 𝑓 :𝐴 ⇒𝐵 and 𝑎 :𝐴, eliminates 𝑓 at 𝑎 to obtain 𝐵, and introduces twice. Its term is 𝜆𝑓:𝗉𝗋𝖿(𝗂𝗆𝗉 𝐴 𝐵).𝜆𝑎:𝗉𝗋𝖿(𝐴).𝑓𝑎. Rule (Imp) converts the type of 𝑓 to 𝗉𝗋𝖿(𝐴) →𝗉𝗋𝖿(𝐵) and converts the two lambda types back to 𝗉𝗋𝖿((𝐴 ⇒𝐵) ⇒𝐴 ⇒𝐵).
Conversely, a beta-eta-long normal inhabitant of that type converts to a function type, so canonical-form inversion exposes the outer lambda; applying the same inversion to its codomain exposes the inner lambda. Invert the remaining normal form recursively. A lambda reconstructs implication introduction. A neutral form has an assumption as head and a spine of normal arguments; typing inversion reconstructs one implication elimination for each argument. For the displayed inhabitant the head is 𝑓 and its one argument is the assumption derivation for 𝑎. These inversions reconstruct every normal derivation of the formula, including additional ones when 𝐴 or 𝐵 has implicational structure.