Subkinding is ⪯𝗄, dynamic-type subtyping is <:, and subsignature matching is ⪯𝗌. Its structural rules are
Γ⊢𝜎𝗌𝗂𝗀
Γ⊢𝜎⪯𝗌𝜎
Sig-Refl
Γ⊢𝜎1⪯𝗌𝜎2Γ⊢𝜎2⪯𝗌𝜎3
Γ⊢𝜎1⪯𝗌𝜎3
Sig-Trans
Γ⊢𝜎1≡𝜎′1𝗌𝗂𝗀Γ⊢𝜎′1⪯𝗌𝜎′2Γ⊢𝜎′2≡𝜎2𝗌𝗂𝗀
Γ⊢𝜎1⪯𝗌𝜎2
Sig-Convert
Its variance rules are
Γ,𝑢::𝜅1⊢𝜏1<:𝜏2Γ⊢𝜅1⪯𝗄𝜅2
Γ⊢𝖡(𝑢::𝜅1;𝜏1)⪯𝗌𝖡(𝑢::𝜅2;𝜏2)
B-Match
Γ⊢𝜎1⪯𝗌𝜎′1Γ,𝑋:𝜎1⊢𝜎2⪯𝗌𝜎′2
Γ⊢𝖲𝗂𝗀𝗆𝖺(𝑋:𝜎1).𝜎2⪯𝗌𝖲𝗂𝗀𝗆𝖺(𝑋:𝜎′1).𝜎′2
Sigma-Match
Γ⊢𝜎′1⪯𝗌𝜎1Γ,𝑋:𝜎′1⊢𝜎2⪯𝗌𝜎′2
Γ⊢𝖯𝗂(𝑋:𝜎1).𝜎2⪯𝗌𝖯𝗂(𝑋:𝜎′1).𝜎′2
Pi-Match
Operational module values are 𝑉::=⟨𝑐;𝑣⟩∣⟨𝑉1;𝑉2⟩∣𝜆𝑋:𝜎.𝑀. Unlike the open judgment, this grammar has no variable case. Write 𝗁𝗌𝗎𝖻𝗌𝗍(𝑀;𝑉;𝑋) for substitution followed only by contraction of hierarchy projections exposed by substituting 𝑉, recursively along the original projection spine. It performs no seal, functor, or unrelated dynamic reduction. The sorted root contractions are 𝑉↾𝜎⟶D𝑉,(⟨𝑐;𝑣⟩).𝑑⟶𝑣,⟨𝑉1;𝑉2⟩.1⟶𝑉1,⟨𝑉1;𝑉2⟩.2⟶𝑉2,(𝗅𝖾𝗍𝑋=𝑉𝗂𝗇𝑀):𝜎⟶𝗁𝗌𝗎𝖻𝗌𝗍(𝑀;𝑉;𝑋),(𝜆𝑋:𝜎.𝑀)(𝑉)⟶𝗁𝗌𝗎𝖻𝗌𝗍(𝑀;𝑉;𝑋). The complete compatible-context family is
𝑅⟶𝑅′
E𝑀[𝑅]⟶E𝑀[𝑅′]
M-Context
𝑀⟶𝑀′
𝑀.𝑑⟶𝑀′.𝑑
D-Context
𝑒⟶𝑒′
⟨𝑐;𝑒⟩⟶⟨𝑐;𝑒′⟩
Basic-Context
Here E𝑀::=[]∣E𝑀↾𝜎∣(𝗅𝖾𝗍𝑋=E𝑀𝗂𝗇𝑀):𝜎∣⟨E𝑀;𝑀⟩∣⟨𝑉;E𝑀⟩∣E𝑀.1∣E𝑀.2∣E𝑀(𝑀)∣𝑉(E𝑀). No context crosses a functor or undischarged let body. Package elaboration is defined only for recursively elaboration-admissible derivations: every module-subderivation signature, every displayed matching endpoint, every opened signature, and the final result are closed-result. This includes the matching premises on Self-First and Self-Second. Matching nodes insert 𝗆𝖼𝗈𝖾D; module bindings first bind the translated computation to a fresh target variable and then apply 𝖮𝗉𝖾𝗇𝜎, so no module computation is duplicated and no existential witness escapes. Rule Self repacks the unchanged witness at its singleton kind. Rules Self-First and Self-Second retranslate the refined component and pair it with the unchanged translated component; projectibility ensures that this duplication allocates no generative name.
The proof-relevant phase card imports no further rule into MLMod0. Its comparison uses ModTT dependent products over dynamic signatures, rather than adding an object-language arrow. The imported endpoint has closed families 𝜎,𝜏:𝖵𝖺𝗅(𝗍𝗒𝗉𝖾)→𝖲𝗂𝗀, an 𝛼-small relation family on pairs of closed values, and the function of phase-separated sets stated in theorem 14.32.