| | Σ⊢g=˙⟨g,λ⟩⇒(⟨∅,∅⟩,∅)\textscU−GTyΣ⊢α=˙⟨τ^,λ⟩⇒(⟨[α↦τ^],∅⟩,∅)\textscU−TVarΣ⊢[τ]=˙⟨[τ^],λ⟩⇒(σ,O)Σ⊢τ=˙⟨τ^,λ⟩⇒(σ,O)\textscU−Slice\parΣ⊢Field(τ,f)=˙⟨τ^,λ⟩⇒(⟨∅,∅⟩,{Field(τ,f)=τ^})\textscU−FieldΣ⊢Assoc(τ,Tr,A)=˙⟨τ^,λ⟩⇒(⟨∅,∅⟩,{Assoc(τ,Tr,A)=τ^})\textscU−Assoc\parΣ⊢Refℓq(τ)=˙⟨Refℓ′q(τ^),λ⟩⇒(σ0⊔⟨∅,[ℓ↦L]⟩,O0)Σ⊢τ=˙⟨τ^,λ⟩⇒(σ0,O0)λ(ℓ′)=L\textscU−Ref\parΣ⊢(τ1,…,τn)=˙⟨(τ^1,…,τ^n),λ⟩⇒(σ,O)∀i. Σ⊢τi=˙⟨τ^i,λ⟩⇒(σi,Oi)(σ,O)=⨆i(σi,Oi)\textscU−TupleΣ⊢τ0⟨τ1,…,τn⟩=˙⟨τ^0⟨τ^1,…,τ^n⟩,λ⟩⇒(σ,O)Σ⊢τ0=˙⟨τ^0,λ⟩⇒(σ0,O0)∀i. Σ⊢τi=˙⟨τ^i,λ⟩⇒(σi,Oi)(σ,O)=⨆i=0n(σi,Oi)\textscU−App | |