Prerequisites. Direct starred prerequisites: none. No later core chapter depends on this route.
A level variable ranges over positions inside a universe hierarchy. It does not range over 𝖳𝗒𝗉𝖾, 𝖯𝗋𝗈𝗉, and 𝖲𝖯𝗋𝗈𝗉. These sorts differ operationally: a proof-irrelevant inductive cannot in general be eliminated into computational data. Duplicating one declaration at each sort loses a principal abstraction, while treating a sort variable as an ordinary level erases the elimination restriction. Sort abstraction therefore needs a judgment separate from level abstraction.
The principal system is the SortPoly calculus. Its typing judgment is Σ∣Θ∣Γ⊢𝑡:𝐴, where Σ is a global environment, Θ contains prenex sort and universe-level variables, and Γ is the term context. A universe is written U𝑠𝑙, with sort 𝑠 and level 𝑙. The prenex context Θ carries variables: 𝑠𝗌𝗈𝗋𝗍 and 𝑙𝗅𝖾𝗏𝖾𝗅. Levels additionally have constraints, compared by an abstract judgment Θ⊢𝑙=𝑠𝑙′ that conversion of universes appeals to. Sorts have no constraints in this system: a sort variable may be instantiated by any ground sort, and the source lists constraints on sorts, and eliminability constraints between sorts, as future work. Inductive elimination is instead governed entirely by the parameter judgment Σ∣Θ⊢𝖾𝗅𝗂𝗆(𝐼,𝑠)𝖺𝗅𝗅𝗈𝗐𝖾𝖽, which is stable under sort/level substitution and admits same-sort elimination. The principal theorem is monomorphization into pCUIC under the paper’s ground-sort and elimination hypotheses. Bounded elimination constraints later in the chapter are a separate calculus.
A global declaration has a prenex telescope Θ𝐶=(𝑠1𝗌𝗈𝗋𝗍,…,𝑙𝑘𝗅𝖾𝗏𝖾𝗅), a type 𝐴, and a body 𝑡. An application 𝐶{⃗𝑝} supplies a sort and level instance ⃗𝑝 for Θ𝐶: one ground or variable sort for each sort binder, and one level expression for each level binder, satisfying the level constraints of Θ𝐶. There is nothing for the sort components to satisfy, which is exactly why the elimination premise of definition 118.3 cannot be discharged by the instance and must be carried by the case rule. Substitution acts simultaneously on the universe sorts, universe levels, types, and terms of the declaration. Sort variables never occur as run-time terms.
One declaration of equality can be instantiated at both computational and proof sorts: 𝖤𝗊@{𝑠,𝑙}(𝐴:U𝑠𝑙)(𝑥:𝐴):𝐴→U𝑠0. At 𝑠=𝖳𝗒𝗉𝖾 it is a data-valued equality; at 𝑠=𝖯𝗋𝗈𝗉 it is proof-irrelevant. A duplicated pair of declarations cannot express a client abstracted over the choice of sort.
For an inductive family 𝐼 declared in sort 𝑠𝐼, the case rule contains the premise Σ∣Θ⊢𝖾𝗅𝗂𝗆(𝐼,𝑠𝑃)𝖺𝗅𝗅𝗈𝗐𝖾𝖽, where 𝑠𝑃 is the sort of its motive. The always-valid rule is
Θ⊢𝑠𝗌𝗈𝗋𝗍(𝐼𝖽𝖾𝖼𝗅𝖺𝗋𝖾𝖽𝖺𝗍𝖼𝗈𝖽𝗈𝗆𝖺𝗂𝗇𝗌𝗈𝗋𝗍𝑠)∈Σ
Σ∣Θ⊢𝖾𝗅𝗂𝗆(𝐼,𝑠)𝖺𝗅𝗅𝗈𝗐𝖾𝖽
Same-Sort
Both premises are needed. Without the second, the rule would derive 𝖾𝗅𝗂𝗆(𝐼,𝑠)𝖺𝗅𝗅𝗈𝗐𝖾𝖽 for every well-formed sort and every inductive, which is the unrestricted large elimination the judgment exists to prevent. Ground sorts may add their own rules, such as singleton elimination for a qualified inductive in 𝖯𝗋𝗈𝗉. No rule allows an arbitrary abstract sort to eliminate into 𝖳𝗒𝗉𝖾.
The rejected program is immediate. Let 𝐼 be an arbitrary inductive in a sort variable 𝑠, and attempt to define 𝑓:𝐼→ℕ by cases. Its motive lives in 𝖳𝗒𝗉𝖾. The missing premise is 𝖾𝗅𝗂𝗆(𝐼,𝖳𝗒𝗉𝖾)𝖺𝗅𝗅𝗈𝗐𝖾𝖽. Instantiating 𝑠=𝖲𝖯𝗋𝗈𝗉 explains the rejection: such an elimination would reveal proof-irrelevant inhabitants as data.
Assume the allowed-elimination judgment is stable under a well-formed prenex substitution 𝜌:Θ′→Θ. If Σ∣Θ⊢𝖾𝗅𝗂𝗆(𝐼,𝑠)𝖺𝗅𝗅𝗈𝗐𝖾𝖽, then Σ[𝜌]∣Θ′⊢𝖾𝗅𝗂𝗆(𝐼[𝜌],𝑠[𝜌])𝖺𝗅𝗅𝗈𝗐𝖾𝖽.
Proof of Lemma 118.4 — Elimination stability under instantiation
Proof. This is the stipulated substitution closure of the parameter judgment. For Same-Sort, substitution sends both occurrences of 𝑠 to the same ground or variable sort, so the rule rebuilds directly. Every additional ground rule is required by convention 118.1 to be closed under the same substitution; otherwise it is not an admissible SortPoly elimination policy. ◻
The stability hypothesis cannot be deleted. A policy that grants an elimination only while the source sort is syntactically a variable could lose the premise when that variable is instantiated, breaking substitution in the case rule.
★☆☆ For an inductive 𝐼 in abstract sort 𝑠, classify motives in 𝑠, 𝖯𝗋𝗈𝗉, and 𝖳𝗒𝗉𝖾 using only Same-Sort. Give the missing premise for each rejected case.
SortPoly itself carries no sort constraints, so the residual information an elaborator must keep is not part of convention 118.1. The following constraint language is defined here, for this chapter, to name that information; the bounded system at the end of the chapter is the published calculus that adds constraints of this shape to the theory itself.
Fix a finite set 𝐺 of ground sorts and a ground elimination table: a subset 𝐸⊆𝐺×𝐺 with (𝑠,𝑠)∈𝐸 for every 𝑠∈𝐺, where (𝑠,𝑡)∈𝐸 means that an inductive declared at 𝑠 may be eliminated into a motive at 𝑡. A constraint problem is a finite set of sort variables together with equations 𝑠=𝑡 and elimination atoms 𝖾𝗅𝗂𝗆(𝑠𝐼,𝑠𝑃)𝖺𝗅𝗅𝗈𝗐𝖾𝖽 between sort variables and ground sorts. A solution is a map 𝜃 from the variables to 𝐺 such that 𝜃(𝑠)=𝜃(𝑡) for each equation and (𝜃(𝑠𝐼),𝜃(𝑠𝑃))∈𝐸 for each atom. Principal inference returns the residual problem rather than choosing a ground sort before a client supplies one.
For a constraint problem with 𝑛 variables over a table 𝐸 on 𝐺, whether a given 𝜃 is a solution is decidable, the set of solutions is computable, and a problem all of whose atoms have the form 𝖾𝗅𝗂𝗆(𝑠,𝑠)𝖺𝗅𝗅𝗈𝗐𝖾𝖽 has every 𝜃 satisfying its equations as a solution.
Proof of Proposition 118.6 — Solutions are checkable and finitely many
Proof. Checking 𝜃 tests finitely many equalities in 𝐺 and finitely many memberships in 𝐸, each decidable because 𝐺 and 𝐸 are finite. The candidate maps form the finite set 𝐺𝑛, so the solutions are obtained by filtering it. For the last clause, reflexivity of 𝐸 discharges every atom 𝖾𝗅𝗂𝗆(𝑠,𝑠)𝖺𝗅𝗅𝗈𝗐𝖾𝖽 at any 𝜃, so only the equations constrain the map. ◻
The last clause is the constraint-side reading of Same-Sort: a declaration that eliminates each inductive only at its own sort places no demand on the table, and stays sort polymorphic.
For a polymorphic identity, the residual problem is empty and the sort remains general. For the failed eliminator 𝐼@𝑠→ℕ, it contains the single atom 𝖾𝗅𝗂𝗆(𝑠,𝖳𝗒𝗉𝖾)𝖺𝗅𝗅𝗈𝗐𝖾𝖽. If the table 𝐸 contains (𝖳𝗒𝗉𝖾,𝖳𝗒𝗉𝖾) and no other pair with second component 𝖳𝗒𝗉𝖾, then by proposition 118.6 the unique solution is 𝑠=𝖳𝗒𝗉𝖾; choosing 𝖯𝗋𝗈𝗉 would place a pair outside 𝐸 and is rejected before monomorphization.
Let 𝐺 be the finite set of ground sorts occurring in a closed-sort judgment. Write L(Θ) for the prenex context Θ with its sort binders deleted and its level binders and level constraints retained. The operation 𝑚𝐺 duplicates every global declaration once for each ground instantiation of its prenex sort variables by elements of 𝐺 that keeps the declaration well formed, removes the sort binders from the copied declaration, and replaces each application 𝐶{⃗𝑝} by the copy indexed by the sort components of ⃗𝑝, keeping the level components. Term constructors and local binders are traversed homomorphically.
Proof. Four inductions establish the result. First, sort substitution preserves sort formation, level formation, contexts, typing, and conversion. For a ground sort substitution the ground-sort rule is unchanged; a substituted sort variable becomes either a ground sort or a variable still declared in the target context. The level cases are structural. In the mutual judgment induction, context extension, universe formation, and universe conversion use these two facts. Global lookup composes its sort-and-level substitution with the one being applied. Case and iota also use stability of the allowed- elimination premise. Product, application, abstraction, fixpoint, beta, eta, and conversion rebuild their original rule from the induction hypotheses.
Second, 𝑚𝐺(Σ) is exhaustive. If (Θ𝐶⊢𝐶:𝐴)∈Σ and ⃗𝑠 is a well-formed ground assignment from 𝐺 for the sort binders of Θ𝐶, then (L(Θ𝐶)⊢𝐶⃗𝑠:𝑚𝐺(𝐴[⃗𝑠]))∈𝑚𝐺(Σ). For a definition this is the copy inserted by the definition of 𝑚𝐺. For an inductive declaration it is either the copied type former or one of its copied constructors. Those are the only forms of global declaration.
Third, assume 𝑚𝐺(Σ) is well formed and the local sort context has no sort variables. Mutual induction on context formation, typing, and conversion proves that 𝑚𝐺 preserves each judgment. Since 𝑚𝐺 traverses local syntax homomorphically, every rule except empty-context and global lookup is rebuilt from the same rule and its induction hypotheses. The empty-context case uses well-formedness of 𝑚𝐺(Σ). In a lookup 𝐶{⃗𝑝}, split ⃗𝑝 into ground sort arguments ⃗𝑠 and level arguments ⃗𝑢. Absence of local sort variables puts ⃗𝑠 in the finite enumeration used by 𝑚𝐺; exhaustivity gives 𝐶⃗𝑠, and global lookup at ⃗𝑢 has type 𝑚𝐺(𝐴[⃗𝑠])[⃗𝑢]=𝑚𝐺(𝐴[⃗𝑠,⃗𝑢]).
Finally, induct on well-formation of Σ. The empty environment maps to itself. For a definition, apply sort substitution to each finite ground assignment, then the third induction to its body; extend the monomorphized environment once for each copy, weakening earlier derivations across later copies. For an inductive declaration, do the same simultaneously for its parameter telescope, index telescope, constructor telescopes, and constructor indices; the instantiated declared sort is in 𝐺, and level constraints are unchanged. Thus 𝑚𝐺(Σ) is well formed. Applying the third induction to the assumed typing derivation yields the displayed judgment. The argument uses the elimination policy fixed in convention 118.1; it says nothing about an arbitrary table or about definition 118.5. ◻
Assume the elimination policy for 𝖯𝗋𝗈𝗉 that the source requires: that 𝖯𝗋𝗈𝗉 is a ground sort, and that an inductive declared at 𝖯𝗋𝗈𝗉 may be eliminated into a sort 𝑠 exactly when 𝑠 is 𝖯𝗋𝗈𝗉, or 𝑠 is 𝖳𝗒𝗉𝖾 and the inductive satisfies the singleton elimination rule. If pCUIC is consistent, then for every prenex context Θ, every sort 𝑠 that is a variable of Θ or is 𝖳𝗒𝗉𝖾, and every well-formed global signature Σ containing the empty declaration (𝑠𝗌𝗈𝗋𝗍⊢⊥:U𝑠0𝗐𝗁𝖾𝗋𝖾⋅)∈Σ, there is no term 𝑡 such that Σ∣Θ∣⋅⊢𝑡:⊥𝑠.
Proof. Suppose such a term exists in a signature Σ containing the displayed empty declaration. Substitute 𝖳𝗒𝗉𝖾 for every remaining sort variable of Θ, so that the judgment has no sort variables; apply theorem 118.8. It remains to construct the pCUIC embedding rather than assume it. Mutual induction on the ground SortPoly context, typing, and conversion derivations keeps variables and the Π, application, abstraction, fixpoint, beta, eta, and conversion rules unchanged. A universe is either 𝖯𝗋𝗈𝗉 or 𝖳𝗒𝗉𝖾, so the corresponding pCUIC universe rule applies. In a global lookup, the monomorphized signature contains the same ground declaration. In case and iota, an inductive in 𝖯𝗋𝗈𝗉 eliminates only into 𝖯𝗋𝗈𝗉 or, under the stated premise, by singleton elimination; these are precisely the pCUIC cases. Induction on the global environment applies this translation to each definition and to every inductive and constructor declaration, showing that the monomorphized global environment is a pCUIC environment. Hence the translated judgment is a closed pCUIC inhabitant of its empty type, contradicting pCUIC consistency. The 𝖯𝗋𝗈𝗉-elimination hypothesis is used exactly in the case and iota cases and is not implied by definition 118.3 alone. ◻
Stratification and bounded sort variables
A sort restricts how an inductive may be eliminated. It does not restrict which types a type may depend on. The following exact boundary isolates that different failure.
Consider the pure type system with one sort ∗, the axiom ∗:∗, and the product rule (∗,∗,∗): whenever Γ⊢𝐴:∗ and Γ,𝑥:𝐴⊢𝐵:∗, it derives Γ⊢∏𝑥:𝐴𝐵:∗. For every closed 𝐹:∗, there is a closed term 𝑓:𝐹.
Proof of Theorem 118.10 — Imported λ * inconsistency
Proof. This is the consequence of Hurkens’s construction [Hur95]. Its large and small product interfaces are both interpreted by the single product rule; the universe code and its decoding are interpreted by ∗ and the identity; and the source’s arbitrary small code is interpreted by 𝐹. The construction then returns an element of its decoding, namely 𝑓:𝐹. The import uses only products, application, abstraction, and their beta equations; it uses no inductive elimination. Hence changing allowed-elimination constraints cannot invalidate the construction while ∗:∗ and (∗,∗,∗) remain. ◻
The forbidden move inside that construction is self-instantiation: a type formed at the same stratum as its quantifier is passed as that quantifier’s argument. subStraTT blocks the move with a strict inequality.
The comparison system StraTT is a cumulative extrinsic theory with types à la Russell in which a dependent function type carries a level annotation on its domain, and subStraTT is its subsystem containing only stratified dependent functions and displacement, with the floating nondependent functions of the full system removed. Consistency of subStraTT — that no closed term inhabits the empty type — is proved by an inductive–recursive logical relation 𝑎∈[[𝐴]]𝑘 stratified by level, whose only additional hypothesis is function extensionality; it is not a translation into another theory. The source also proves type safety for full StraTT. Consistency of full StraTT remains open, and the source proves neither normalization nor decidability of checking for it. A well-typed example in full StraTT therefore fills none of those cells.
The three subStraTT rules that expose the obstruction are
Δ⊢Γ
Δ;Γ⊢∗:𝑘∗
DT-Type
Δ;Γ⊢𝐴:𝑗∗Δ;Γ,𝑥:𝑗𝐴⊢𝐵:𝑘∗𝑗<𝑘
Δ;Γ⊢∏𝑥:𝑗𝐴:𝐵:𝑘∗
DT-Pi
Δ;Γ⊢𝑏:𝑘∏𝑥:𝑗𝐴𝐵Δ;Γ⊢𝑎:𝑗𝐴𝑗<𝑘
Δ;Γ⊢𝑏𝑎:𝑘𝐵[𝑎/𝑥]
DT-AppTy
Variables declared at stratum 𝑗 may be used at any 𝑘≥𝑗, but no rule lowers a derivation. Suppose a self-applicable type 𝑈 is formed at stratum 𝑘 and the binder 𝑋:∗ of the product containing it is placed at stratum 𝑗. DT-Pi requires 𝑗<𝑘. Using 𝑈 as the argument to that binder in DT-AppTy requires a derivation of 𝑈:𝑗∗. Since the available derivation has stratum 𝑘 and cumulativity only raises strata, this would require 𝑘≤𝑗. The pair 𝑗<𝑘≤𝑗 is impossible. This is the exact formation/application obstruction; the axiom-like DT-Type alone does not recreate 𝜆∗.
Sort and stratum answer different questions. A sort controls relevance and elimination; a stratum controls permitted dependency. A level locates a universe within a hierarchy; a grade counts or bounds use; a mode selects a context discipline. None can be substituted for another without a formal translation.
The bounded SortPoly calculus places elimination edges 𝖾𝖽𝗀𝖾Θ(𝑠,𝑡) in the sort context Θ. Let Θ𝐺 be its ground-to-ground edges and let Θ+ denote transitive closure. The context is valid when all three conditions hold.
If 𝖾𝖽𝗀𝖾Θ+(𝑔,𝑔′) holds for ground sorts, then 𝖾𝖽𝗀𝖾Θ+𝐺(𝑔,𝑔′) already holds.
There is a reflexive initial ground sort 𝑔𝑖 below every ground sort 𝑔 incident with a nonground edge: whenever 𝖾𝖽𝗀𝖾Θ∖Θ𝐺(𝑠,𝑔) or 𝖾𝖽𝗀𝖾Θ∖Θ𝐺(𝑔,𝑠), one has 𝖾𝖽𝗀𝖾Θ+𝐺(𝑔𝑖,𝑔).
Every variable 𝑠 dominated by a ground sort has a reflexive dominant ground sort 𝑔𝑠: 𝖾𝖽𝗀𝖾Θ(𝑔𝑠,𝑠), and every ground 𝑔 with 𝖾𝖽𝗀𝖾Θ(𝑔,𝑠) also satisfies 𝖾𝖽𝗀𝖾Θ+𝐺(𝑔,𝑔𝑠).
The dominant ground substitution sends a dominated 𝑠 to 𝑔𝑠 and every other variable to 𝑔𝑖.
At the syntax and typing rules of bounded SortPoly, the following statements hold.
For valid Θ, the dominant ground substitution is valid and preserves typing (Lemma 3.5 and Corollary 3.6).
Figure 7’s elaborator introduces a fresh sort variable for every anonymous universe, threads field constraints through records, and adds exactly the source-to-motive edge for cases and the source-to-codomain edge for fixpoints. Suppose Σ,Θ,Γ,𝑡,𝐴 are the elaborations from the initial data Σ0,Θ0,Γ0,𝑡0,𝐴0. For every level-and-sort context Θ′ and every sort substitution 𝜎:Θ′→Θ that fixes the initial context, 𝑠[𝜎]=𝑠 whenever 𝑠∈Θ0, the exact premise and conclusion of Theorem 4.2 are Σ∣Θ′∣Γ[𝜎]⊢𝑡[𝜎]:𝐴[𝜎]⟹Θ′⊢𝜎:Θ. Lemma 4.1 supplies the required 𝜎 for any alternative raw sort assignment; the displayed implication proves that a well-typed alternative is a valid instance of the inferred constraints.
Write 𝑈(Θ) for the context retaining only ground elimination edges. If Θ=𝑈(Θ), then Σ∣Θ∣Γ⊢𝑡:𝐴⟹𝑚𝐺(Σ)∣𝑈(Θ)∣𝑚𝐺(Γ)⊢𝑚𝐺(𝑡):𝑚𝐺(𝐴). This is Theorem 3.8; it does not apply before nonground edges have been discharged by a valid ground substitution.
If Θ is valid, SortPoly is consistent, and 𝑠 is bounded by a consistent ground sort, no closed bounded-SortPoly term inhabits the empty type in 𝑠 (Corollary 3.9).
Conversely, the inclusion 𝜄 sends a SortPoly judgment to bounded SortPoly by leaving its signature, context, term, and type unchanged and adding no nonground bound edges. Every SortPoly rule is then the corresponding bounded rule, so Σ∣Θ∣Γ⊢𝑡:𝐴 implies 𝜄(Σ)∣𝜄(Θ)∣𝜄(Γ)⊢𝜄(𝑡):𝜄(𝐴). Together with clause 4, this proves equiconsistency at the stated consistent sorts.
Proof. For clause 1, let 𝛿 send a dominated variable 𝑠 to its dominant ground sort 𝑔𝑠, and every undominated variable to 𝑔𝑖. A ground edge is fixed. If an edge ends at an undominated variable, validity clause 2 puts its incident ground endpoint above 𝑔𝑖; if it ends at a dominated variable, clause 3 puts its ground endpoint below 𝑔𝑠. Edges between variables reduce to these two cases through transitive closure. Validity clause 1 prevents a path through variables from creating a new ground edge. Thus every edge of Θ maps to an edge of Θ+𝐺, so 𝛿 is a valid sort substitution. Structural induction on typing, with the case and fixpoint rules using the mapped elimination edge, proves substitution preservation.
For clause 2, induct first on raw syntax to show that the generated context contains one fresh sort variable for every anonymous universe and exactly the edges printed by the generating clause. Variables, applications, products, and ordinary constructors take unions of their recursive constraints. Record formation threads the constraints field by field. A case adds the edge from the scrutinee sort to the motive sort, and a fixpoint adds the edge from its recursive source to its codomain; no other clause adds an edge. Now induct on a typing derivation of an alternative assignment. The induction hypotheses validate all recursively generated edges. The record case composes the field substitutions, while case and fixpoint validate their single new edge from the corresponding typing premise. Therefore the alternative assignment is a substitution into the inferred context. Since the initial variables were never freshened, it fixes Θ0, proving the displayed implication.
For clause 3, prove mutually that 𝑚𝐺 preserves global environments, contexts, typing, and conversion. Empty contexts and local structural rules are homomorphic. A global declaration has only finitely many sort variables and 𝐺 is finite, so the monomorphized environment contains every ground instance required by lookup. Products, conversion, inductives, constructors, case, and fixpoint rebuild the same rule at the selected copies. The premise Θ=𝑈(Θ) is used in case and fixpoint: their elimination edges are already ground and hence remain in the target. This proves the displayed judgment.
For clause 4, apply clause 1 to replace every sort variable by a ground sort, then clause 3 to monomorphize. The bound on 𝑠 selects a consistent ground copy of the empty declaration. A closed inhabitant would therefore give a closed SortPoly inhabitant of that copy, contradicting the assumed consistency.
For clause 5, induct simultaneously on SortPoly environment formation, context formation, typing, and conversion. Copy every premise unchanged and use the corresponding bounded rule with no nonground edge. The universe, product, conversion, inductive, and elimination cases keep their existing ground policy; variable and structural cases add no edge. All three clauses of definition 118.12 are therefore satisfied. This gives the inclusion 𝜄. An inconsistency of SortPoly transfers along 𝜄; clause 4 transfers a bounded inconsistency at a consistent ground bound back to SortPoly. Hence the theories are equiconsistent at those sorts. Validity and the consistent-sort premise are used at the indicated steps; the proof does not cover arbitrary graphs or first-class level terms. ◻
Sources and scope
The SortPoly system card, monomorphization, and pCUIC comparison above use Poiret et al. [PGM^+25]. The stratified comparison uses Chan and Weirich [CW23]. The numbered bounded-sort definitions and results refer to the anonymous draft dated 16 September 2025 [RDM^+25]; the published citation [RDM^+26] has different pagination. The thirteen-page construction behind theorem 118.10 is Hurkens’s [Hur95]; it remains an exact import rather than a shortened reconstruction.
Suggested first pass.
None of these problems is a prerequisite for a later chapter. Begin with exercise 118.2, then complete exercise 118.7.
★★☆ Give a complete failed derivation for eliminating an arbitrary 𝐼:𝖲𝖯𝗋𝗈𝗉 into ℕ:𝖳𝗒𝗉𝖾. Identify the one missing allowed-elimination judgment and explain why same-sort elimination does not derive it.
★★★ Let 𝑈:𝑘∗ be a type intended as the argument to its own binder 𝑋:𝑗∗. Use the displayed DT-Pi and DT-AppTy rules to derive the inequalities 𝑗<𝑘 and 𝑘≤𝑗, then conclude that the self-instantiation has no stratum assignment. State separately which results in convention 118.11 are proved for subStraTT and for full StraTT; do not transfer the consistency result to the full calculus.
★☆☆ Suppose Δ⊢Γ, Δ;Γ⊢𝐴:0∗, and Δ;Γ,𝑥:0𝐴⊢𝐵:1∗. Translate the unannotated product formation problem for Π𝑥:𝐴.𝐵 into one subStraTT judgment, giving the complete DT-Pi derivation and its strict-inequality premise. Then explain why assigning both 𝐴 and 𝐵 stratum 0 does not give a second derivation by the same rule.
★★☆ Classify each of the following four uses as a sort, a level, a grade, or a mode, and name the judgment that each one indexes: the 𝑠 in U𝑠𝑙; the 𝑙 in U𝑠𝑙; an annotation counting how often a variable may be used at run time; and the selection of a context discipline such as linear or affine use. For each pair among your four answers, say whether this book supplies a formal translation between them, and where it does not, say what would have to be proved to supply one.
★★☆ In the bounded-sort calculus, derive the accepted quality assignment @{Type SProp; 0} for the natural-number large eliminator. Replace it by @{SProp Type; 0}, keeping the term otherwise unchanged. Derive rejection of the modified declaration, and identify the missing bounded-sort edge from 𝖲𝖯𝗋𝗈𝗉 to 𝖳𝗒𝗉𝖾. Explain why that edge is absent from the ground graph in definition 118.12.
★★★Practical project.bounded-sort-constraint-solver Implement in Agda or Kappa the three ground sorts Type, Prop, and SProp, equality constraints, and a finite table of permitted eliminations. Maintain the invariant that every reported assignment satisfies every edge after substitution. On same-sort and singleton-prop, print accepted. On sprop-to-type, print rejected: elimination. A mutation that treats the graph as complete must fail the last oracle. The program checks this finite table; it does not implement or prove the metatheory of SortPoly or bounded SortPoly.