Fixes in the rewriting rules

This commit is contained in:
Jip J. Dekker 2021-04-20 09:26:22 +10:00
parent 04d951aa80
commit 04a11aef70
No known key found for this signature in database
GPG Key ID: 517DF4A00618C9C3

View File

@ -420,7 +420,7 @@ suitable alpha renaming.
\centering \centering
\begin{prooftree} \begin{prooftree}
\hypo{\texttt{function} ~t\texttt{:}~\ptinline{F(\(p_1, \ldots{}, p_k\)) = E;} \in{} \Prog{} \text{~where the~} p_i \text{~are fresh}} \hypo{\texttt{function} ~t\texttt{:}~\ptinline{F(\(p_1, \ldots{}, p_k\)) = E;} \in{} \Prog{} \text{~where the~} p_i \text{~are fresh}}
\infer[no rule]1{\Sem{\(\ptinline{E}_{[p_i \mapsto a_i, \forall{} 1 \leq{} i \leq{} k]}\)}{\Prog, \Env}} \Rightarrow{} \tuple{v, \Env'} \infer[no rule]1{\Sem{\(\ptinline{E}_{[p_i \mapsto a_i, \forall{} 1 \leq{} i \leq{} k]}\)}{\Prog, \Env} \Rightarrow{} \tuple{v, \Env'}}
\infer1[(Call)]{\Sem{F(\(a_1, \ldots, a_k\))}{\Prog, \Env} \Rightarrow{} \tuple{v, \Env'}} \infer1[(Call)]{\Sem{F(\(a_1, \ldots, a_k\))}{\Prog, \Env} \Rightarrow{} \tuple{v, \Env'}}
\end{prooftree} \\ \end{prooftree} \\
\bigskip \bigskip
@ -431,8 +431,8 @@ suitable alpha renaming.
\bigskip \bigskip
\begin{prooftree} \begin{prooftree}
\hypo{\texttt{predicate}~\ptinline{F(\(p_1, \ldots, p_k\));} \in \Prog} \hypo{\texttt{predicate}~\ptinline{F(\(p_1, \ldots, p_k\));} \in \Prog}
\infer1[(CallPredicate)]{\Sem{F(\(a_1, \ldots, a_k\))}{\Prog, \Env_0} \Rightarrow{} \infer1[(CallPredicate)]{\Sem{F(\(a_1, \ldots, a_k\))}{\Prog, \Env} \Rightarrow{}
\tuple{\ensuremath{\texttt{constraint}~\ptinline{F}(a_1, \ldots, a_k), \Env_k}}} \tuple{\ensuremath{\texttt{constraint}~\ptinline{F}(a_1, \ldots, a_k), \Env}}}
\end{prooftree} \end{prooftree}
\caption{\label{fig:4-rewrite-to-nzn-calls} Rewriting rules for partial evaluation \caption{\label{fig:4-rewrite-to-nzn-calls} Rewriting rules for partial evaluation
of \microzinc\ calls to \nanozinc.} of \microzinc\ calls to \nanozinc.}
@ -515,17 +515,10 @@ notation.
\begin{figure*} \begin{figure*}
\centering \centering
% \begin{prooftree}
% \hypo{x \in \langle \text{ident} \rangle}
% \hypo{v \in \langle \text{literal} \rangle}
% \infer2[(IdC)]{\Sem{\(x\)}{\Prog, \{x \mapsto\ v \sep\ []\} \cup\ \Env} \Rightarrow \tuple{v, \{x \mapsto v \sep [] \} \cup \Env}}
% \end{prooftree} \\
% \bigskip
\begin{prooftree} \begin{prooftree}
\hypo{x \in \langle \text{ident} \rangle} \hypo{x \in \langle \text{ident} \rangle}
\hypo{v} \hypo{\{t: x_{\texttt{~└──~}} \phi\ \} \in \Env}
\hypo{\phi \text{~otherwise}} \infer2[(IdX)]{\Sem{\(x\)}{\Prog, \Env} \Rightarrow{} \tuple{x, \Env}}
\infer3[(IdX)]{\Sem{\(x\)}{\Prog, \{t: x^{\texttt{~└──~}} \phi\ \} \cup\ \Env} \Rightarrow{} \tuple{x, \{t: x^{\texttt{~└──~}} \phi{} \cup{} \Env}}
\end{prooftree} \\ \end{prooftree} \\
\bigskip \bigskip
\begin{prooftree} \begin{prooftree}