Attic/inferences.tex
changeset 359 c90f803dc7ea
parent 198 2ce98ee39990
equal deleted inserted replaced
358:8787c16bc26e 359:c90f803dc7ea
       
     1 \documentclass{article}
       
     2 \usepackage{charter}
       
     3 \usepackage{proof}
       
     4 
       
     5 \begin{document}
       
     6 
       
     7 \section*{Inference Rules}
       
     8 
       
     9 \begin{enumerate}
       
    10 \item Frequently used inference rules:
       
    11 
       
    12 \begin{center}
       
    13 \mbox{\infer{F,\Gamma \vdash F}{}}\medskip
       
    14 
       
    15 \mbox{\infer{\Gamma \vdash F_2}
       
    16             {\Gamma \vdash F_1 \Rightarrow F_2 & \Gamma \vdash F_1}}
       
    17 \hspace{10mm}
       
    18 \mbox{\infer{\Gamma \vdash F_1 \Rightarrow F_2}
       
    19             {F_1, \Gamma \vdash F_2}}\medskip
       
    20 
       
    21 \mbox{\infer{\Gamma \vdash P \;\textit{says}\; F}
       
    22             {\Gamma \vdash F}}
       
    23 \hspace{10mm}
       
    24 \mbox{\infer[\star]{\Gamma \vdash F}
       
    25             {\Gamma \vdash P \;\textit{controls}\; F & \Gamma \vdash P
       
    26               \;\textit{says}\; F}}\medskip
       
    27 
       
    28 \mbox{\infer{\Gamma \vdash P \;\textit{says}\;F_2}
       
    29             {\Gamma \vdash P \;\textit{says}\; (F_1 \Rightarrow F_2) & 
       
    30              \Gamma \vdash P \;\textit{says}\;F_1}}\medskip
       
    31 
       
    32 \mbox{\infer{\Gamma \vdash F[x := t]}
       
    33             {\Gamma \vdash \forall x. F}}\medskip
       
    34 
       
    35 \mbox{\infer{\Gamma \vdash F_1 \wedge F_2}
       
    36             {\Gamma \vdash F_1 & \Gamma \vdash F_2}}
       
    37 \hspace{10mm}
       
    38 \mbox{\infer{\Gamma \vdash F_1}
       
    39             {\Gamma \vdash F_1 \wedge F_2}}
       
    40 \hspace{10mm}
       
    41 \mbox{\infer{\Gamma \vdash F_2}
       
    42             {\Gamma \vdash F_1 \wedge F_2}}\medskip
       
    43 
       
    44 \mbox{\infer[\star]{\Gamma \vdash Q\;\textit{says}\; F}{\Gamma \vdash P\mapsto Q &
       
    45     \Gamma \vdash P\;\textit{says}\; F}}
       
    46 \end{center}
       
    47 
       
    48 \item Less frequently used inference rules:
       
    49 
       
    50 \begin{center}
       
    51 \mbox{\infer{\Gamma \vdash slev(P) < slev(Q)}
       
    52             {\Gamma \vdash slev(P) = l_1 & \Gamma \vdash slev(Q) = l_2 &
       
    53               \Gamma \vdash l_1 < l_2}}\medskip
       
    54 
       
    55 \mbox{\infer{\Gamma \vdash slev(P) = slev(Q)}
       
    56             {\Gamma \vdash slev(P) = l & \Gamma \vdash slev(Q) = l}}\medskip
       
    57 
       
    58 \mbox{\infer{\Gamma \vdash l_1 < l_3}
       
    59             {\Gamma \vdash l_1 < l_2 & \Gamma \vdash l_2 < l_3}}\medskip
       
    60 
       
    61 \mbox{\infer[\star]{\Gamma \vdash P \mapsto R}{\Gamma \vdash P\mapsto Q & \Gamma
       
    62     \vdash Q \mapsto R}}\medskip
       
    63 
       
    64 
       
    65 \mbox{\infer{\Gamma \vdash F_1 \vee F_2}{\Gamma \vdash F_1}}
       
    66 \hspace{5mm}
       
    67 \mbox{\infer{\Gamma \vdash F_1 \vee F_2}{\Gamma \vdash F_2}}
       
    68 \hspace{5mm}
       
    69 \mbox{\infer{\Gamma \vdash F_3}{\Gamma \vdash F_1 \vee F_2 & F_1, \Gamma
       
    70     \vdash F_3 & F_2, \Gamma \vdash F_3}}\medskip
       
    71 
       
    72 \mbox{\infer[c\;\mbox{must be a fresh variable}]{\Gamma \vdash \forall
       
    73     x. F}{\Gamma \vdash F[x := c]}}\medskip
       
    74 
       
    75 \mbox{\infer{\Gamma \vdash \textit{true}}{}}\medskip
       
    76 
       
    77 \mbox{\infer[\star]{\Gamma \vdash P\;\textit{controls}\; F}{\Gamma \vdash P\mapsto Q
       
    78     & \Gamma \vdash Q\;\textit{controls} F}}
       
    79 
       
    80 
       
    81 \end{center}
       
    82 \end{enumerate}
       
    83 
       
    84 
       
    85 $\star$ derived rules
       
    86 \end{document}
       
    87 
       
    88 %%% Local Variables: 
       
    89 %%% mode: latex
       
    90 %%% TeX-master: t
       
    91 %%% End: