For 𝖬𝗂𝗑0, Ω maps slots to core types, 𝐷 is the defined subset, and signatures contain imports 𝑝−:𝐴 and exports 𝑝+:𝐴. The operation ℓ−1 selects the entries below label ℓ and removes that prefix. The complete primitive transition rules are
Ω(𝑝)=𝐴
Ω;𝐷⊢𝗂𝗆𝗉(𝑝:𝐴):{𝑝−:𝐴}⇒𝐷
Mix-Imp
Ω(𝑝)=𝐴Ω;𝐷⊢𝖼𝗈𝗋𝖾𝑒:𝐴𝑝∉𝐷𝗐𝗋(𝑒)={𝑝}
Ω;𝐷⊢𝖽𝖾𝖿(𝑝=𝑒:𝐴):{𝑝+:𝐴}⇒𝐷∪{𝑝}
Mix-Def
Ω;𝐷⊢𝑀:Σ1⇒𝐷1Ω;𝐷1⊢𝑁:Σ2⇒𝐷2𝗆𝖾𝗋𝗀𝖾(Σ1,Σ2)=Σ
Ω;𝐷⊢𝑀𝗐𝗂𝗍𝗁𝑁:Σ⇒𝐷2
Mix-With
ℓ−1Ω;ℓ−1𝐷⊢𝑀:Σ⇒𝐷0
Ω;𝐷⊢{ℓ=𝑀}:ℓ⋅Σ⇒(𝐷∖ℓ⋅(ℓ−1𝐷))∪ℓ⋅𝐷0
Mix-Struct
Ω;𝐷⊢𝑀:Σ⇒𝐷′𝑄⊆dom(Σ)Σ|𝑄=Σ0
Ω;𝐷⊢𝗌𝖾𝖺𝗅Σ0(𝑀):Σ0⇒𝐷′
Mix-Seal
Ω;𝐷⊢𝑀:Σ⇒𝐷′∀𝑝∈dom(Σ).∃𝐴.Σ(𝑝)=𝑝+:𝐴
Ω;𝐷⊢𝖼𝗈𝗆𝗉𝗅𝖾𝗍𝖾(𝑀):Σ⇒𝐷′
Mix-Complete
The ordered slot checker extracts traces by
Ξ𝑈⊢𝗏𝑣:𝐴
Ξ⊢𝗋𝖾𝗍𝗎𝗋𝗇𝑣:𝐴⇒Ξ▹𝜖
Slot-Return
Ξ=Ξ0,𝑥:𝐴𝑈
Ξ⊢𝗀𝖾𝗍𝑥:𝐴⇒Ξ▹𝗀𝖾𝗍𝑥
Slot-Get
Ξ=Ξ0,𝑥:𝐴𝐿Ξ𝑈0⊢𝗏𝑣:𝐴
Ξ⊢𝗌𝖾𝗍𝑥𝑣:𝟏⇒Ξ0,𝑥:𝐴𝑈▹𝗌𝖾𝗍𝑥
Slot-Set
Ξ⊢𝑐1:𝟏⇒Ξ1▹𝑡1Ξ1⊢𝑐2:𝐵⇒Ξ2▹𝑡2
Ξ⊢𝑐1;𝑐2:𝐵⇒Ξ2▹𝑡1⋅𝑡2
Slot-Seq
𝑥∉dom(Ξ)∪dom(Ξ′)Ξ,𝑥:𝐴𝐿⊢𝑐:𝐵⇒Ξ′,𝑥:𝐴𝑈▹𝑡
Ξ⊢𝗇𝖾𝗐𝐴(𝑥.𝑐):𝐵⇒Ξ′▹𝜈𝑥.𝑡
Slot-New
The corresponding trace validator is
Ξ⊢𝗍𝗋𝜖⇒Ξ
Tr-Empty
Ξ=Ξ0,𝑥:𝐴𝑈
Ξ⊢𝗍𝗋𝗀𝖾𝗍𝑥⇒Ξ
Tr-Get
Ξ=Ξ0,𝑥:𝐴𝐿
Ξ⊢𝗍𝗋𝗌𝖾𝗍𝑥⇒Ξ0,𝑥:𝐴𝑈
Tr-Set
Ξ⊢𝗍𝗋𝑡1⇒Ξ1Ξ1⊢𝗍𝗋𝑡2⇒Ξ2
Ξ⊢𝗍𝗋𝑡1⋅𝑡2⇒Ξ2
Tr-Seq
𝑥∉dom(Ξ)∪dom(Ξ′)Ξ,𝑥:𝐴𝐿⊢𝗍𝗋𝑡⇒Ξ′,𝑥:𝐴𝑈
Ξ⊢𝗍𝗋𝜈𝑥.𝑡⇒Ξ′
Tr-New
This checker is stricter than LTG. Full LTG has stores 𝑠::=𝜖∣𝑠,𝑥:?𝜏∣𝑠,𝑥:=𝑒:𝜏, the split (?𝜏)𝐿∗(?𝜏)𝑈=(?𝜏)𝐿, and the two dereference reductions 𝑠1,𝑥:=𝑒:𝜏,𝑠2;𝐸[!𝑥]⇝0𝑠1,𝑥:=𝑒:𝜏,𝑠2;𝐸[𝑒],𝑠1,𝑥:?𝜏,𝑠2;𝐸[!𝑥]⇝0∙.
The imported MixML rules use semantic signatures Σ::=[[=𝐴]]∣[[𝐴]]±∣[[Φ]]±∣{|ℓ:Σ|},Φ::=∀¯𝛼.∃¯𝛽.(𝐿𝗂;𝐿𝖾;Σ). Their deterministic link rule first computes both templates, then runs the static right-hand pass, bidirectional locator lookup, the two main checks, and the final semantic-signature merge, exactly as (15.2)–(15.5).