Exercise 122.1.
The complete state trace is (+,𝗈𝗉𝖾𝗇): (ℕ→𝖳𝗋𝖾𝖾(𝐴))→ℕ,(−,𝖻𝗅𝗈𝖼𝗄𝖾𝖽): ℕ→𝖳𝗋𝖾𝖾(𝐴),(−,𝖻𝗅𝗈𝖼𝗄𝖾𝖽): 𝖳𝗋𝖾𝖾(𝐴). The last state follows because the inner arrow preserves its ambient sign in its codomain. A block-family application is admitted only at ( +,𝗈𝗉𝖾𝗇), so the occurrence is rejected. The inner domain ℕ is separately checked at ( +,𝖻𝗅𝗈𝖼𝗄𝖾𝖽) and passes; the outer codomain ℕ is checked at ( +,𝗈𝗉𝖾𝗇) and also passes. The family occurrence is therefore the unique failing subterm.
Exercise 122.2.
The single parameter binder has type U𝑖 :U𝑖+1, so 𝗅𝖾𝗏(Δ𝑝) =𝑖 +1. The empty index telescopes contribute 0; the constructor telescopes and family declarations contribute 𝑖; and the motives contribute 𝑘. Therefore 𝐿=max(𝑖+1,0,𝑖,𝑖,𝑘)=max(𝑖+1,𝑘). Omitting Δ𝑝 would instead produce max(𝑖,𝑘). For 𝑘 ≤𝑖, that incorrect maximum is 𝑖, although the binder 𝐴 :U𝑖 already forces the eliminator package into at least U𝑖+1.
Exercise 122.3.
Take 𝑃𝑇:(𝐴:U𝑖)→𝖳𝗋𝖾𝖾(𝐴)→U𝑘,𝑃𝐹:(𝐴:U𝑖)→𝖥𝗈𝗋𝖾𝗌𝗍(𝐴)→U𝑘. The four methods are 𝑏𝗅𝖾𝖺𝖿:(𝑎:𝐴)→𝑃𝑇(𝐴,𝗅𝖾𝖺𝖿(𝑎)),𝑏𝗇𝗈𝖽𝖾:(𝑓:𝖥𝗈𝗋𝖾𝗌𝗍(𝐴))→𝑃𝐹(𝐴,𝑓)→𝑃𝑇(𝐴,𝗇𝗈𝖽𝖾(𝑓)),𝑏𝖾𝗆𝗉𝗍𝗒:𝑃𝐹(𝐴,𝖾𝗆𝗉𝗍𝗒),𝑏𝗆𝗈𝗋𝖾:(𝑡:𝖳𝗋𝖾𝖾(𝐴))→𝑃𝑇(𝐴,𝑡)→(𝑓:𝖥𝗈𝗋𝖾𝗌𝗍(𝐴))→𝑃𝐹(𝐴,𝑓)→𝑃𝐹(𝐴,𝗆𝗈𝗋𝖾(𝑡,𝑓)). The requested computation is the annotated chain 𝗂𝗇𝖽𝐹(𝗆𝗈𝗋𝖾(𝗅𝖾𝖺𝖿(𝑎),𝖾𝗆𝗉𝗍𝗒))𝐵𝑙𝑜𝑐𝑘−𝑐𝑜𝑚𝑝⇝0𝑏𝗆𝗈𝗋𝖾(𝗅𝖾𝖺𝖿(𝑎))(𝗂𝗇𝖽𝑇(𝗅𝖾𝖺𝖿(𝑎)))(𝖾𝗆𝗉𝗍𝗒)(𝗂𝗇𝖽𝐹(𝖾𝗆𝗉𝗍𝗒))𝐵𝑙𝑜𝑐𝑘−𝑐𝑜𝑚𝑝⟶𝑏𝗆𝗈𝗋𝖾(𝗅𝖾𝖺𝖿(𝑎))(𝑏𝗅𝖾𝖺𝖿(𝑎))(𝖾𝗆𝗉𝗍𝗒)(𝗂𝗇𝖽𝐹(𝖾𝗆𝗉𝗍𝗒))𝐵𝑙𝑜𝑐𝑘−𝑐𝑜𝑚𝑝⟶𝑏𝗆𝗈𝗋𝖾(𝗅𝖾𝖺𝖿(𝑎))(𝑏𝗅𝖾𝖺𝖿(𝑎))(𝖾𝗆𝗉𝗍𝗒)(𝑏𝖾𝗆𝗉𝗍𝗒). The second line applies Block-comp to the outer forest constructor. The third line contracts the tree child’s computation, and the fourth contracts the forest child’s computation. Both recursive children have supplied exactly one induction hypothesis.
Exercise 122.4.
For (𝐷 →ℕ) →ℕ, the outer domain changes ( +,𝗈𝗉𝖾𝗇) to ( −,𝖻𝗅𝗈𝖼𝗄𝖾𝖽). The inner domain changes that state to ( +,𝖻𝗅𝗈𝖼𝗄𝖾𝖽), where the occurrence of 𝐷 is rejected. Thus two sign reversals do not restore strict positivity: the ancestry flag remembers that the occurrence lies under a function domain. For ℕ →𝐷, the domain ℕ is checked at ( −,𝖻𝗅𝗈𝖼𝗄𝖾𝖽), while the codomain 𝐷 is checked at the original ( +,𝗈𝗉𝖾𝗇); both pass. The first type would require a nested or functorial positivity argument not present in the regular Timpl-data card.