exercise 51.1.
The first substitution gives {𝑎,𝑏,𝑦}, and removing 𝑦 gives {𝑎,𝑏}. The equation ⋆[𝐶/𝑥] = ⋆ gives ⋆[{𝑎}/𝑥] = ⋆.
exercise 51.2.
By SC-Var, it suffices to derive {𝑝} ≼𝖼𝖺𝗉∅. A second SC-Var reduces this to ∅ ≼𝖼𝖺𝗉∅, the empty instance of SC-Set-L. The declaration of 𝑞 permits any value capturing at most 𝑝; neither SC-Var step asserts equality with the declared bound.
exercise 51.3.
Rule App-C substitutes cv(∅ ▹𝑈𝑔,Γ) =∅ for 𝑓. Therefore the result is ∅ ▹Π(𝑧 :∅ ▹⊤). ⋆ ▹⊤. Capture-set substitution removes 𝑓 from the singleton; App-C is the typing rule that requests the substitution.
exercise 51.4.
Put 𝐴 =Π(𝑧 :𝑆).𝑇 and 𝐹 = ⋆ ▹𝐴. The requested introduction steps are 𝑓:𝐹∈Γ,𝑓:𝐹Γ,𝑓:𝐹⊢𝑓:{𝑓}▹𝐴Var−C and Γ,𝑓:𝐹⊢𝑓:{𝑓}▹𝐴Γ⊢𝜆(𝑓:𝐹).𝑓:∅▹Π(𝑓:𝐹).{𝑓}▹𝐴Abs−C For 𝑔 :{𝑐,𝑑} ▹𝐴, the elimination is Γ⊢𝜆(𝑓:𝐹).𝑓:∅▹Π(𝑓:𝐹).{𝑓}▹𝐴Γ⊢𝑔:{𝑐,𝑑}▹𝐴Γ⊢(𝜆(𝑓:𝐹).𝑓)𝑔:{𝑐,𝑑}▹𝐴App−C
exercise 51.5.
Static widening gives the result domain ⋆ ▹𝑈. Exact beta substitution gives ∅ ▹𝑈. Preservation would need Π(𝑦 :∅ ▹𝑈).𝑇 <:Π(𝑦 : ⋆ ▹𝑈).𝑇. Arrow subtyping reverses domains, so its premise is ⋆ ▹𝑈 <:∅ ▹𝑈, which would require ⋆ ≼𝖼𝖺𝗉∅. No subcapturing rule derives that judgment.
exercise 51.6.
If 𝑘 ∈fv(𝑣), SC-Set-R gives {𝑘} ≼𝖼𝖺𝗉fv(𝑣). Capture prediction gives fv(𝑣) ≼𝖼𝖺𝗉cv(𝑇,Γ). Transitivity derives the judgment forbidden by the delimiter. Hence no accepted returned value contains 𝑘 free.