% Carsten Schuermann % Logic macros %fonts % \newcommand{\R}[1]{\textsf{\upshape {#1}}} \newcommand{\LF}[1]{\textrm{\upshape {#1}}} \newcommand{\Const}[1]{\R{\upshape {#1}}} \newcommand{\BVar}[1]{{#1}} \newcommand{\Def}[1]{\textrm{\upshape {#1}}} \newcommand{\rspace}{\hspace{0.5cm}} %Syntactic categories \newcommand{\Imp}{\supset} \newcommand{\And}{\wedge} \newcommand{\Or}{\vee} \newcommand{\True}{\top} \newcommand{\False}{\bot} \newcommand{\Proj}[2]{\pi_{#1}({#2})} \newcommand{\Pair}[2]{\langle{#1};{#2}\rangle} \newcommand{\All}[1]{\forall{#1}.\,} \newcommand{\Ex}[1]{\exists{#1}.\,} \newcommand{\PI}[1]{\Pi{#1}.\,} \newcommand{\LAM}[1]{\lambda{#1}.\,} \newcommand{\Some}[1]{\mbox{\upshape some}\;{#1}\;} \newcommand{\Block}[1]{\mbox{\upshape block}\;{#1}} \newcommand{\Type}{\mbox{\upshape type}} \newcommand{\Id}{\mbox{\upshape id}} \newcommand{\Lang}[1]{{\mathcal{L}}({#1})} \newcommand{\Fun}[1]{\Lambda{#1}.\,} \newcommand{\Rec}[1]{\mu{#1}.\,} \newcommand{\Unit}{\langle\rangle} \newcommand{\Case}{\mbox{\upshape case}\;} \newcommand{\Of}{\;\mbox{\upshape of}\;} \newcommand{\Let}{\mbox{\upshape let}\;} \newcommand{\In}{\;\mbox{\upshape in}\;} \newcommand{\Fst}{\;\mbox{\upshape fst}\;} \newcommand{\Snd}{\;\mbox{\upshape snd}\;} \newcommand{\Left}{\mbox{\upshape left}\;} \newcommand{\Right}{\mbox{\upshape right}\;} % Operations \newcommand{\New}[1]{{\nu} {#1}.\,} \newcommand{\Bind}[1]{{\kappa} {#1}.\,} %Judgments \newcommand{\Kind}{\;\mbox{kind}} \newcommand{\Ctx}{\;\mbox{ctx}} \newcommand{\For}{\;\mbox{for}} \newcommand{\World}{\;\mbox{world}} \newcommand{\Sig}{\;\mbox{sig}} \newcommand{\Strict}{\;\mbox{strict}} \newcommand{\MLam}[1]{\Lambda {#1}.\,} \newcommand{\Mlam}[1]{\lambda {#1}.\,} \newcommand{\Munit}{\langle\rangle} \newcommand{\Mlet}{\mbox{\bf let}\;} \newcommand{\Min}{\;\mbox{\bf in}\;} \newcommand{\Mnew}[1]{\;\mbox{\bf new}\;{#1}.\,} \newcommand{\Mmu}[1]{\mu {#1}.\,} \newcommand{\Mof}{\;\mbox{\bf of}\;} \newcommand{\Mcase}{\mbox{\bf case}\;} \newcommand{\Mtri}{\triangleright} \newcommand{\Msel}{\mapsto} \newcommand{\valida}[1]{\vdash {#1}} \newcommand{\validb}[2]{{#1} \vdash {#2}} \newcommand{\validc}[3]{{#1} \vdash_{\!_{#2}} {#3}} \newcommand{\validC}[3]{{#1} \vdash_{\!^{#2}} {#3}} \newcommand{\validd}[4]{{#1} \vdash^{\!^{#2}}_{\!_{#3}} {#4}} \def\AA{{\mathcal{A}}} \def\BB{{\mathcal{B}}} \def\CC{{\mathcal{C}}} \def\DD{{\mathcal{D}}} \def\EE{{\mathcal{E}}} \def\FF{{\mathcal{F}}} \def\GG{{\mathcal{G}}} \def\HH{{\mathcal{H}}} \def\II{{\mathcal{I}}} \def\LL{{\mathcal{L}}} \def\MM{{\mathcal{M}}} \def\PP{{\mathcal{P}}} \def\RR{{\mathcal{R}}} \def\QQ{{\mathcal{Q}}} \def\SS{{\mathcal{S}}} \def\TT{{\mathcal{T}}} \def\VV{{\mathcal{V}}} \def\uu{\underline{u}} \def\ux{\underline{x}} \def\uy{\underline{y}} \def\uz{\underline{z}} \def\xx{\mathbf{x}} \def\yy{\mathbf{y}} \def\zz{\mathbf{z}}