Exercise 60.1.
The outer product has domain ∗ :◻ and codomain ∏𝑥:𝑋𝑋 : ∗ under 𝑋 : ∗. Its decisive premise is therefore (◻, ∗, ∗) ∈R. After deleting that triple, generation rules out the outer product and hence the outer Lam. The inner derivation remains: 𝑋:∗⊢𝑋:∗𝑋:∗,𝑥:𝑋⊢𝑥:𝑋Var𝑋:∗⊢𝑋:∗𝑋:∗,𝑥:𝑋⊢𝑋:∗(∗,∗,∗)∈R𝑋:∗⊢∏𝑥:𝑋𝑋:∗Prod𝑋:∗⊢𝜆(𝑥:𝑋).𝑥:∏𝑥:𝑋𝑋Lam. Thus monomorphic identity needs only ( ∗, ∗, ∗).
Exercise 60.2.
The first product needs 𝑟2 =(◻, ∗, ∗): its domain is ∗ :◻ and its body 𝑋 →𝑋 has sort ∗. Its least vertex is 𝜆2.
For the second product, forming the domain kind ∗ → ∗ uses 𝑟𝜔 =(◻,◻,◻). Under 𝐹 : ∗ → ∗, the product over 𝑋 : ∗ and the outer product over 𝐹 both use 𝑟2. Hence its least vertex is 𝜆2𝜔. Deleting 𝑟𝜔 leaves the annotation ∗ → ∗ illegal; deleting 𝑟2 blocks the product over 𝑋.
For the third, the final product over 𝑛 :𝖭𝖺𝗍 uses 𝑟→, but a legal declaration 𝖵𝖾𝖼 :∏𝑛:𝖭𝖺𝗍 ∗ uses 𝑟𝑃 =( ∗,◻,◻). Accounting for that required declaration, the least vertex is 𝜆𝑃. Deleting 𝑟𝑃 leaves the family declaration illegal, so 𝖵𝖾𝖼 𝑛 cannot be formed. This distinction is why merely postulating an unverified constant type would conceal the decisive axis. In every case, lemma 60.6 transports the displayed derivation to any vertex with a larger product-triple set, proving all upward inclusions without rebuilding its rule tree.
Exercise 60.3.
Assume 𝐹 :∏𝑦:𝐴𝐷 ∈Γ and Γ ⊢𝑁 :𝐴. The source application is Γ⊢𝐹:∏𝑦:𝐴𝐷Γ⊢𝐴:𝑠Γ,𝑥:𝐴⊢𝐹:∏𝑦:𝐴𝐷WeakΓ⊢𝐴:𝑠Γ,𝑥:𝐴⊢𝑥:𝐴VarΓ,𝑥:𝐴⊢𝐹𝑥:𝐷[𝑥/𝑦]App. Substitution with Γ ⊢𝑁 :𝐴 gives Γ ⊢(𝐹 𝑥)[𝑁/𝑥] :𝐷[𝑥/𝑦][𝑁/𝑥]. By lemma 60.11, 𝑥 ∉FV(𝐷): the product type of 𝐹 is well formed in Γ, while 𝑥 ∉dom(Γ). Together with 𝑥 ≠𝑦 and the chosen freshness of 𝑦, the substitution-composition lemma reduces the two sides to 𝐹 𝑁 and 𝐷[𝑁/𝑦]. Equivalently, the target derivation is one App from Γ ⊢𝐹 :∏𝑦:𝐴𝐷 and Γ ⊢𝑁 :𝐴.
Exercise 60.4.
Generation gives Γ ⊢𝐹 :∏𝑥:𝐴𝐵 and Γ ⊢𝑁 :𝐴. The induction hypothesis for 𝑁 ⟶𝛽𝑁′ gives Γ ⊢𝑁′ :𝐴, so Γ⊢𝐹:∏𝑥:𝐴𝐵Γ⊢𝑁′:𝐴Γ⊢𝐹𝑁′:𝐵[𝑁′/𝑥]App. Compatibility gives 𝐵[𝑁/𝑥] ⟶∗𝛽𝐵[𝑁′/𝑥], hence 𝐵[𝑁′/𝑥] =𝛽𝐵[𝑁/𝑥]. The original application derivation contains a typing of 𝐹 :∏𝑥:𝐴𝐵. Since that product is not a sort, correctness of types and generation give Γ,𝑥 :𝐴 ⊢𝐵 :𝑠𝐵; substitution with Γ ⊢𝑁 :𝐴 gives Γ ⊢𝐵[𝑁/𝑥] :𝑠𝐵. With this explicit classifier, Conv derives Γ ⊢𝐹 𝑁′ :𝐵[𝑁/𝑥].
Exercise 60.5.
Take constants 𝑎,𝑏 and 𝑆={𝑠0,𝑠1,𝑠2,𝑠3},A={𝑎:𝑠0,𝑏:𝑠1},R={(𝑠0,𝑠1,𝑠2),(𝑠0,𝑠1,𝑠3)}. From 𝑎 :𝑠0 and 𝑏 :𝑠1, weakening gives 𝑥 :𝑎 ⊢𝑏 :𝑠1. The two Prod instances derive ⋅⊢∏𝑥:𝑎𝑏:𝑠2,⋅⊢∏𝑥:𝑎𝑏:𝑠3. No axiom has the form 𝑠 :𝑠. In the uniqueness proof, the product case tries to infer equality of result sorts from the fixed pair (𝑠0,𝑠1). Functionality is exactly the premise that would force 𝑠2 =𝑠3; here it fails, and no beta-step converts the distinct constants.
Exercise 60.6.
Use these three products as axis witnesses: 𝑃2=∏𝑋:∗𝑋,𝑃𝜔=∏𝑋:∗∗,𝑃𝑃=∏𝑥:𝐴∗(𝐴:∗). For 𝑃2, Ax gives ∗ :◻, Var gives 𝑋 : ∗ ⊢𝑋 : ∗, and Prod with (◻, ∗, ∗) gives 𝑃2 : ∗. For 𝑃𝜔, the two premises have sorts ◻ and ◻, so Prod with (◻,◻,◻) gives 𝑃𝜔 :◻. For 𝑃𝑃, the premises are 𝐴 : ∗ and 𝑥 :𝐴 ⊢ ∗ :◻, so Prod with ( ∗,◻,◻) gives 𝑃𝑃 :◻. In each case, generation applied after deleting the named triple recovers premise sorts convertible to the displayed pair. Since every cube vertex is functional, lemma 60.26 forces those premise sorts to be the same pair. No remaining product triple has that pair, so the witness is no longer typable.
Exercise 60.7.
For the redex (𝜆(𝑥 :𝐴0). 𝑀0)𝑁, generation yields Γ,𝑥:𝐴0⊢𝑀0:𝐵,Γ⊢𝜆(𝑥:𝐴0).𝑀0:∏𝑥:𝐶𝐷,Γ⊢𝑁:𝐶, and the generated abstraction product gives ∏𝑥:𝐴0𝐵 =𝛽∏𝑥:𝐶𝐷. Product compatibility yields 𝐴0 =𝛽𝐶 and 𝐵 =𝛽𝐷. Generation of Γ ⊢∏𝑥:𝐴0𝐵 :𝑠 gives Γ ⊢𝐴0 :𝑠0, so conversion changes the argument derivation to Γ ⊢𝑁 :𝐴0; substitution gives Γ ⊢𝑀0[𝑁/𝑥] :𝐵[𝑁/𝑥]; compatibility gives 𝐵[𝑁/𝑥] =𝛽𝐷[𝑁/𝑥]. Correctness of types for the function premise, followed by generation and substitution with Γ ⊢𝑁 :𝐶, gives Γ ⊢𝐷[𝑁/𝑥] :𝑠𝐷; a final conversion using that classifier restores the application’s generated result type.
If Conv omits its premise Γ ⊢𝐵 :𝑠, it can replace a legal type by an arbitrary beta-equal raw expression without exhibiting a classifier for the target. The induction above then lacks the sort premise needed by its final conversion and by context extension. The failed presupposition is that every right-hand side of a typing judgment is itself classified.
Exercise 60.8.
Both systems contain the sort ∗ and the ordinary-product triple ( ∗, ∗, ∗). The one-sort system has the circular axiom ∗ : ∗; 𝜆𝐶 instead has two sorts, the axiom ∗ :◻, and the four cube triples. Substitution is proved by rule induction for every PTS schema, so it applies to both. Strong normalization is the imported instance theorem for the eight cube systems and its reducibility interpretation uses the acyclic sort structure. Membership in the general PTS schema provides no such interpretation for ∗ : ∗.
Practical route.
The checker for exercise 60.9 is developed in appendix F; its exact finite run is recorded in appendix E.