\documentstyle[makeidx]{article}
\makeindex
%\setlength{\oddsidemargin}{.5in}
%\setlength{\evensidemargin}{.5in}
%\setlength{\textwidth}{5.8in}
\begin{document}
%\setlength{\parindent}{0pt}
%\newcounter{bean}
%\begin{list}{\arabic{bean}.}{\usecounter{bean}\setlength{\leftmargin}{0pt}\setlength{\rightmargin}{0pt}\setlength{\listparindent}{20pt}\setlength{\parsep}{5pt}}
%\item[]


\noindent{\sc Event}:   Start with the library {\tt{"c-begin"}}.

\addvspace{18pt}


\noindent{\sc Event}:   Enable clock-predefined-proc-call-sequence.

\addvspace{18pt}

\noindent{\sc Event}:   Enable clock-predefined-proc-call-body-translation.

\addvspace{18pt}

\noindent{\sc Event}:   Enable predefined-proc-call-sequence.

\addvspace{18pt}

\noindent{\sc Event}:   Disable mg-to-p-simple-literal.

\addvspace{18pt}

\noindent{\sc Event}:   Disable ilessp.

\addvspace{18pt}

\noindent{\sc Event}:   Disable not-bool.

\addvspace{18pt}

\noindent{\sc Event}:   Disable inegate.

\addvspace{18pt}

\noindent{\sc Event}:   Disable fix-small-integer.

\addvspace{18pt}

\noindent{\sc Event}:   Disable iplus.

\addvspace{18pt}

\noindent{\sc Event}:   Disable idifference.

\addvspace{18pt}

\noindent{\sc Event}:   Disable signatures-match-preserves-plistp.

\addvspace{18pt}

\begin{tabbing}{\sc Theorem}:  predefined-proc-call-meaning-r-2 \\ \index{predefined-proc-call-meaning-r-!2}
\=\+({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{mg-meaning-r}}\,({\it{stmt\/}}, {\it{proc-list\/}}, {\it{mg-state\/}}, {\it{n\/}}, {\it{sizes\/}})\index{mg-meaning-r} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{n\/}} $\simeq {\tt{0}}$$\;\;${\bf then }{\rm{signal-system-error}}\,({\it{mg-state\/}}, {\tt{'}}{\tt{timed-out}})\index{signal-system-error} \\ 
{\bf elseif }$\neg$ {\rm{normal}}\,({\it{mg-state\/}})\index{normal}$\;\;${\bf then }{\it{mg-state\/}} \\ 
{\bf elseif }{\rm{resources-inadequatep}}\,({\it{stmt\/}}, {\it{proc-list\/}}, {\it{sizes\/}})\index{resources-inadequatep} \\ 
{\bf then }{\rm{signal-system-error}}\,({\it{mg-state\/}}, {\tt{'}}{\tt{resource-error}})\index{signal-system-error} \\ 
{\bf else }{\rm{mg-meaning-predefined-proc-call}}\,({\it{stmt\/}}, {\it{mg-state\/}})\index{mg-meaning-predefined-proc-call}$\;${\bf  endif}\-)\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  predefined-call-translation-2 \\ \index{predefined-call-translation-2}
\=\+({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{translate}}\,({\it{cinfo\/}}, {\it{cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate} \\ 
$=$$\;\;\;\;${\rm{add-code}}\,(\=\+{\it{cinfo\/}}, \\ 
{\rm{predefined-proc-call-sequence}}\,(\=\+{\it{stmt\/}}, \\ 
{\rm{label-alist}}\,({\it{cinfo\/}})\index{label-alist})\-\index{predefined-proc-call-sequence})\-\index{add-code})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  unlabel-call \\ \index{unlabel-call}
{\rm{unlabel}}\,({\rm{cons}}\,({\tt{'}}{\tt{call}}, {\it{x\/}}))\index{unlabel} $=$ {\rm{cons}}\,({\tt{'}}{\tt{call}}, {\it{x\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  lessp-add1-add1-2 \\ \index{lessp-add1-add1-2}
(($1\;+$ ($1\;+$ {\it{x\/}})) $<$ {\tt{2}}) $=$ {\bf{f}}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  lessp-add1-add1-add1-3 \\ \index{lessp-add1-add1-add1-3}
(($1\;+$ ($1\;+$ ($1\;+$ {\it{x\/}}))) $<$ {\tt{3}}) $=$ {\bf{f}}
\end{tabbing}

\begin{verbatim};; >> get rid of the extra "d"

\end{verbatim}\begin{tabbing}{\sc Theorem}:  simple-typed-literalp-mapping-listp \\ \index{simple-typed-literalp-mapping-li!stp}
{\rm{simple-typed-literalp}}\,({\it{lit\/}}, {\it{type\/}})\index{simple-typed-literalp} $\rightarrow$ {\rm{listp}}\,({\rm{mg-to-p-simple-literal}}\,({\it{lit\/}})\index{mg-to-p-simple-literal})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  boolean-mg-to-p-simple-literal \\ \index{boolean-mg-to-p-simple-literal}
\=\+({\it{x\/}} $\in$ {\tt{'}}{\tt{(}}{\tt{true-mg}}{\tt{ }}{\tt{false-mg}}{\tt{)}}) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{mg-to-p-simple-literal}}\,({\rm{tag}}\,({\tt{'}}{\tt{boolean-mg}}, {\it{x\/}})\index{tag})\index{mg-to-p-simple-literal} \\ 
$=$$\;\;\;\;${\rm{tag}}\,(\=\+{\tt{'}}{\tt{bool}}, \\ 
\=\+{\bf if }{\it{x\/}} $=$ {\tt{'}}{\tt{false-mg}}$\;\;${\bf then }{\tt{'}}{\tt{f}} \\ 
{\bf else }{\tt{'}}{\tt{t}}$\;${\bf  endif}\-)\-\index{tag})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  boolean-mg-to-p-simple-literal2 \\ \index{boolean-mg-to-p-simple-literal2}
\=\+{\rm{mg-to-p-simple-literal}}\,({\rm{mg-bool}}\,({\it{x\/}})\index{mg-bool})\index{mg-to-p-simple-literal} \\ 
$=$$\;\;\;\;${\rm{tag}}\,(\=\+{\tt{'}}{\tt{bool}}, \\ 
\=\+{\bf if }$\neg$ {\it{x\/}}$\;\;${\bf then }{\tt{'}}{\tt{f}} \\ 
{\bf else }{\tt{'}}{\tt{t}}$\;${\bf  endif}\-)\-\index{tag}\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-to-p-simple-literalp-preserves-untag-equality \\ \index{mg-to-p-simple-literalp-preserve!s-untag-equality}
\=\+({\rm{simple-typed-literalp}}\,({\it{x\/}}, {\it{type\/}})\index{simple-typed-literalp} $\wedge$ {\rm{simple-typed-literalp}}\,({\it{y\/}}, {\it{type\/}})\index{simple-typed-literalp}) \\ 
$\rightarrow$$\;\;\;\;$(\=\+(\=\+{\rm{untag}}\,({\rm{mg-to-p-simple-literal}}\,({\it{x\/}})\index{mg-to-p-simple-literal})\index{untag} \\ 
$=$$\;\;\;\;${\rm{untag}}\,({\rm{mg-to-p-simple-literal}}\,({\it{y\/}})\index{mg-to-p-simple-literal})\index{untag})\- \\ 
$=$$\;\;\;\;$({\rm{untag}}\,({\it{x\/}})\index{untag} $=$ {\rm{untag}}\,({\it{y\/}})\index{untag}))\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-to-p-simple-literalp-preserves-untag-ilessp \\ \index{mg-to-p-simple-literalp-preserve!s-untag-ilessp}
\=\+({\rm{int-literalp}}\,({\it{x\/}})\index{int-literalp} $\wedge$ {\rm{int-literalp}}\,({\it{y\/}})\index{int-literalp}) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{ilessp}}\,(\=\+{\rm{untag}}\,({\rm{mg-to-p-simple-literal}}\,({\it{x\/}})\index{mg-to-p-simple-literal})\index{untag}, \\ 
{\rm{untag}}\,({\rm{mg-to-p-simple-literal}}\,({\it{y\/}})\index{mg-to-p-simple-literal})\index{untag})\-\index{ilessp} \\ 
$=$$\;\;\;\;${\rm{ilessp}}\,({\rm{untag}}\,({\it{x\/}})\index{untag}, {\rm{untag}}\,({\it{y\/}})\index{untag})\index{ilessp})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  simple-identifiers-have-simple-values \\ \index{simple-identifiers-have-simple-v!alues}
\=\+({\rm{mg-alistp}}\,({\it{alist\/}})\index{mg-alistp} $\wedge$ {\rm{simple-identifierp}}\,({\it{x\/}}, {\it{alist\/}})\index{simple-identifierp}) \\ 
$\rightarrow$$\;\;\;\;${\rm{simple-typed-literalp}}\,({\rm{caddr}}\,({\rm{assoc}}\,({\it{x\/}}, {\it{alist\/}})), {\rm{cadr}}\,({\rm{assoc}}\,({\it{x\/}}, {\it{alist\/}})))\index{simple-typed-literalp}\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  alist-element-type-conversion \\ \index{alist-element-type-conversion}
\=\+({\rm{mg-alistp}}\,({\it{lst\/}})\index{mg-alistp} $\wedge$ {\rm{simple-identifierp}}\,({\it{x\/}}, {\it{lst\/}})\index{simple-identifierp}) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{type}}\,({\rm{mg-to-p-simple-literal}}\,({\rm{caddr}}\,({\rm{assoc}}\,({\it{x\/}}, {\it{lst\/}})))\index{mg-to-p-simple-literal})\index{type} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{cadr}}\,({\rm{assoc}}\,({\it{x\/}}, {\it{lst\/}})) $=$ {\tt{'}}{\tt{boolean-mg}}$\;\;${\bf then }{\tt{'}}{\tt{bool}} \\ 
{\bf else }{\tt{'}}{\tt{int}}$\;${\bf  endif}\-)\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  literal-type-conversion \\ \index{literal-type-conversion}
\=\+{\rm{simple-typed-literalp}}\,({\it{lit\/}}, {\it{type\/}})\index{simple-typed-literalp} \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{type}}\,({\rm{mg-to-p-simple-literal}}\,({\it{lit\/}})\index{mg-to-p-simple-literal})\index{type} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{type\/}} $=$ {\tt{'}}{\tt{boolean-mg}}$\;\;${\bf then }{\tt{'}}{\tt{bool}} \\ 
{\bf else }{\tt{'}}{\tt{int}}$\;${\bf  endif}\-)\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  int-literals-mapping \\ \index{int-literals-mapping}
\=\+{\rm{int-literalp}}\,({\it{x\/}})\index{int-literalp} \\ 
$\rightarrow$$\;\;\;\;$(\=\+({\rm{type}}\,({\rm{mg-to-p-simple-literal}}\,({\it{x\/}})\index{mg-to-p-simple-literal})\index{type} $=$ {\tt{'}}{\tt{int}}) \\ 
$\wedge$$\;\;\;\;${\rm{listp}}\,({\rm{mg-to-p-simple-literal}}\,({\it{x\/}})\index{mg-to-p-simple-literal}) \\ 
$\wedge$$\;\;\;\;$({\rm{cddr}}\,({\rm{mg-to-p-simple-literal}}\,({\it{x\/}})\index{mg-to-p-simple-literal}) $=$ {\bf{nil}}) \\ 
$\wedge$$\;\;\;\;${\rm{small-integerp}}\,({\rm{untag}}\,({\rm{mg-to-p-simple-literal}}\,({\it{x\/}})\index{mg-to-p-simple-literal})\index{untag}, {\tt{32}})\index{small-integerp})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  int-identifiers-have-int-literal-values \\ \index{int-identifiers-have-int-litera!l-values}
\=\+({\rm{mg-alistp}}\,({\it{mg-vars\/}})\index{mg-alistp} $\wedge$ {\rm{int-identifierp}}\,({\it{x\/}}, {\it{mg-vars\/}})\index{int-identifierp}) \\ 
$\rightarrow$$\;\;\;\;${\rm{int-literalp}}\,({\rm{caddr}}\,({\rm{assoc}}\,({\it{x\/}}, {\it{mg-vars\/}})))\index{int-literalp}\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  boolean-identifiers-have-boolean-literal-values \\ \index{boolean-identifiers-have-boolea!n-literal-values}
\=\+({\rm{mg-alistp}}\,({\it{mg-vars\/}})\index{mg-alistp} $\wedge$ {\rm{boolean-identifierp}}\,({\it{x\/}}, {\it{mg-vars\/}})\index{boolean-identifierp}) \\ 
$\rightarrow$$\;\;\;\;${\rm{boolean-literalp}}\,({\rm{caddr}}\,({\rm{assoc}}\,({\it{x\/}}, {\it{mg-vars\/}})))\index{boolean-literalp}\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  length-plistp-2-rewrite \\ \index{length-plistp-2-rewrite}
({\rm{cddr}}\,({\it{x\/}}) $=$ {\bf{nil}}) $=$ {\rm{length-plistp}}\,({\it{x\/}}, {\tt{2}})\index{length-plistp}
\end{tabbing}


\noindent{\sc Event}:   Disable length-plistp-2-rewrite.

\addvspace{18pt}

\begin{verbatim};; There is no reason why this couldn't be changed to defined-identifierp's
;; rather than simple-identifierp's

\end{verbatim}\begin{tabbing}{\sc Theorem}:  simple-identifier-mapping \\ \index{simple-identifier-mapping}
\=\+(\=\+{\rm{mg-vars-list-ok-in-p-state}}\,({\it{mg-vars\/}}, {\it{bindings\/}}, {\it{temp-stk\/}})\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{simple-identifierp}}\,({\it{b\/}}, {\it{mg-vars\/}})\index{simple-identifierp} \\ 
$\wedge$$\;\;\;\;$({\rm{length}}\,({\it{temp-stk\/}})\index{length} $<$ {\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}) \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\it{mg-vars\/}})\index{all-cars-unique})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+({\rm{type}}\,({\rm{value}}\,({\it{b\/}}, {\it{bindings\/}})\index{value})\index{type} $=$ {\tt{'}}{\tt{nat}}) \\ 
$\wedge$$\;\;\;\;$({\rm{cddr}}\,({\rm{value}}\,({\it{b\/}}, {\it{bindings\/}})\index{value}) $=$ {\bf{nil}}) \\ 
$\wedge$$\;\;\;\;${\rm{listp}}\,({\rm{value}}\,({\it{b\/}}, {\it{bindings\/}})\index{value}) \\ 
$\wedge$$\;\;\;\;${\rm{small-naturalp}}\,({\rm{untag}}\,({\rm{value}}\,({\it{b\/}}, {\it{bindings\/}})\index{value})\index{untag}, {\tt{32}})\index{small-naturalp})\-\-
\end{tabbing}

\begin{verbatim};; I think this is probably redundant.

\end{verbatim}\begin{tabbing}{\sc Theorem}:  simple-identifier-mapping-2 \\ \index{simple-identifier-mapping-2}
\=\+(\=\+{\rm{mg-vars-list-ok-in-p-state}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{bindings\/}}, {\it{temp-stk\/}})\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{simple-identifierp}}\,({\it{b\/}}, {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{simple-identifierp} \\ 
$\wedge$$\;\;\;\;$({\rm{length}}\,({\it{temp-stk\/}})\index{length} $<$ {\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}) \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{all-cars-unique})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+({\rm{type}}\,({\rm{value}}\,({\it{b\/}}, {\it{bindings\/}})\index{value})\index{type} $=$ {\tt{'}}{\tt{nat}}) \\ 
$\wedge$$\;\;\;\;$({\rm{cddr}}\,({\rm{value}}\,({\it{b\/}}, {\it{bindings\/}})\index{value}) $=$ {\bf{nil}}) \\ 
$\wedge$$\;\;\;\;${\rm{listp}}\,({\rm{value}}\,({\it{b\/}}, {\it{bindings\/}})\index{value}) \\ 
$\wedge$$\;\;\;\;${\rm{small-naturalp}}\,({\rm{untag}}\,({\rm{value}}\,({\it{b\/}}, {\it{bindings\/}})\index{value})\index{untag}, {\tt{32}})\index{small-naturalp})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  simple-identifier-mapping-3 \\ \index{simple-identifier-mapping-3}
\=\+(\=\+{\rm{mg-vars-list-ok-in-p-state}}\,({\it{mg-alist\/}}, {\it{bindings\/}}, {\it{temp-stk\/}})\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{definedp}}\,({\it{b\/}}, {\it{mg-alist\/}})\index{definedp})\- \\ 
$\rightarrow$$\;\;\;\;$(({\rm{untag}}\,({\rm{value}}\,({\it{b\/}}, {\it{bindings\/}})\index{value})\index{untag} $<$ ($1\;+$ {\rm{length}}\,({\it{temp-stk\/}})\index{length})) $=$ {\bf{t}})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  simple-identifier-nat-p-objectp \\ \index{simple-identifier-nat-p-objectp}
\=\+(\=\+{\rm{mg-vars-list-ok-in-p-state}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{bindings\/}}, {\it{temp-stk\/}})\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{simple-identifierp}}\,({\it{b\/}}, {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{simple-identifierp} \\ 
$\wedge$$\;\;\;\;$({\rm{length}}\,({\it{temp-stk\/}})\index{length} $<$ {\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}) \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{all-cars-unique} \\ 
$\wedge$$\;\;\;\;$({\rm{p-word-size}}\,({\it{state\/}})\index{p-word-size} $=$ {\sc{mg-word-size}}\index{mg-word-size}))\- \\ 
$\rightarrow$$\;\;\;\;${\rm{p-objectp-type}}\,({\tt{'}}{\tt{nat}}, {\rm{value}}\,({\it{b\/}}, {\it{bindings\/}})\index{value}, {\it{state\/}})\index{p-objectp-type}\-
\end{tabbing}


\noindent{\sc Event}:   Enable mg-var-ok-in-p-state.

\addvspace{18pt}

\begin{tabbing}{\sc Theorem}:  array-identifier-nat-p-objectp \\ \index{array-identifier-nat-p-objectp}
\=\+(\=\+{\rm{mg-vars-list-ok-in-p-state}}\,({\it{mg-alist\/}}, {\it{bindings\/}}, {\it{temp-stk\/}})\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{definedp}}\,({\it{b\/}}, {\it{mg-alist\/}})\index{definedp} \\ 
$\wedge$$\;\;\;\;$({\rm{length}}\,({\it{temp-stk\/}})\index{length} $<$ {\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}) \\ 
$\wedge$$\;\;\;\;$({\rm{p-word-size}}\,({\it{state\/}})\index{p-word-size} $=$ {\sc{mg-word-size}}\index{mg-word-size}))\- \\ 
$\rightarrow$$\;\;\;\;${\rm{p-objectp-type}}\,({\tt{'}}{\tt{nat}}, {\rm{value}}\,({\it{b\/}}, {\it{bindings\/}})\index{value}, {\it{state\/}})\index{p-objectp-type}\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  int-literalp-mapping \\ \index{int-literalp-mapping}
{\rm{int-literalp}}\,({\it{x\/}})\index{int-literalp} $\rightarrow$ ({\rm{untag}}\,({\rm{mg-to-p-simple-literal}}\,({\it{x\/}})\index{mg-to-p-simple-literal})\index{untag} $=$ {\rm{untag}}\,({\it{x\/}})\index{untag})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  boolean-literalp-mapping \\ \index{boolean-literalp-mapping}
\=\+{\rm{boolean-literalp}}\,({\it{x\/}})\index{boolean-literalp} \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{untag}}\,({\rm{mg-to-p-simple-literal}}\,({\it{x\/}})\index{mg-to-p-simple-literal})\index{untag} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{untag}}\,({\it{x\/}})\index{untag} $=$ {\tt{'}}{\tt{false-mg}}$\;\;${\bf then }{\tt{'}}{\tt{f}} \\ 
{\bf else }{\tt{'}}{\tt{t}}$\;${\bf  endif}\-)\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  untag-boolean \\ \index{untag-boolean}
{\rm{boolean-literalp}}\,({\it{x\/}})\index{boolean-literalp} $\rightarrow$ ({\rm{untag}}\,({\it{x\/}})\index{untag} $\in$ {\tt{'}}{\tt{(}}{\tt{true-mg}}{\tt{ }}{\tt{false-mg}}{\tt{)}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  int-literalp-value-small \\ \index{int-literalp-value-small}
{\rm{int-literalp}}\,({\it{x\/}})\index{int-literalp} $\rightarrow$ {\rm{small-integerp}}\,({\rm{untag}}\,({\it{x\/}})\index{untag}, {\tt{32}})\index{small-integerp}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  small-integerp-mapping \\ \index{small-integerp-mapping}
\=\+{\rm{small-integerp}}\,({\it{x\/}}, {\sc{mg-word-size}}\index{mg-word-size})\index{small-integerp} \\ 
$\rightarrow$$\;\;\;\;$({\rm{mg-to-p-simple-literal}}\,({\rm{tag}}\,({\tt{'}}{\tt{int-mg}}, {\it{x\/}})\index{tag})\index{mg-to-p-simple-literal} $=$ {\rm{tag}}\,({\tt{'}}{\tt{int}}, {\it{x\/}})\index{tag})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  special-conditions-mg-cond-to-p-nat \\ \index{special-conditions-mg-cond-to-p!-nat}
\=\+({\rm{mg-cond-to-p-nat}}\,({\tt{'}}{\tt{routineerror}}, {\it{state\/}})\index{mg-cond-to-p-nat} $=$ {\tt{'}}{\tt{(}}{\tt{nat}}{\tt{ }}{\tt{1}}{\tt{)}}) \\ 
$\wedge$$\;\;\;\;$({\rm{mg-cond-to-p-nat}}\,({\tt{'}}{\tt{normal}}, {\it{state\/}})\index{mg-cond-to-p-nat} $=$ {\tt{'}}{\tt{(}}{\tt{nat}}{\tt{ }}{\tt{2}}{\tt{)}})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  fix-small-integer-identity \\ \index{fix-small-integer-identity}
{\rm{small-integerp}}\,({\it{x\/}}, {\it{n\/}})\index{small-integerp} $\rightarrow$ ({\rm{fix-small-integer}}\,({\it{x\/}}, {\it{n\/}})\index{fix-small-integer} $=$ {\it{x\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  int-literal-int-objectp \\ \index{int-literal-int-objectp}
\=\+({\rm{int-literalp}}\,({\it{x\/}})\index{int-literalp} $\wedge$ ({\rm{p-word-size}}\,({\it{state\/}})\index{p-word-size} $=$ {\sc{mg-word-size}}\index{mg-word-size})) \\ 
$\rightarrow$$\;\;\;\;${\rm{p-objectp-type}}\,({\tt{'}}{\tt{int}}, {\rm{mg-to-p-simple-literal}}\,({\it{x\/}})\index{mg-to-p-simple-literal}, {\it{state\/}})\index{p-objectp-type}\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  untag-int-literal-integerp \\ \index{untag-int-literal-integerp}
{\rm{int-literalp}}\,({\it{x\/}})\index{int-literalp} $\rightarrow$ {\rm{integerp}}\,({\rm{untag}}\,({\it{x\/}})\index{untag})\index{integerp}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  bool-literal-bool-objectp \\ \index{bool-literal-bool-objectp}
\=\+{\rm{p-objectp-type}}\,({\tt{'}}{\tt{bool}}, {\tt{'}}{\tt{(}}{\tt{bool}}{\tt{ }}{\tt{t}}{\tt{)}}, {\it{state\/}})\index{p-objectp-type} \\ 
$\wedge$$\;\;\;\;${\rm{p-objectp-type}}\,({\tt{'}}{\tt{bool}}, {\tt{'}}{\tt{(}}{\tt{bool}}{\tt{ }}{\tt{f}}{\tt{)}}, {\it{state\/}})\index{p-objectp-type}\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  bool-literal-bool-objectp2 \\ \index{bool-literal-bool-objectp2}
\=\+{\rm{boolean-literalp}}\,({\it{x\/}})\index{boolean-literalp} \\ 
$\rightarrow$$\;\;\;\;${\rm{p-objectp-type}}\,({\tt{'}}{\tt{bool}}, {\rm{mg-to-p-simple-literal}}\,({\it{x\/}})\index{mg-to-p-simple-literal}, {\it{state\/}})\index{p-objectp-type}\-
\end{tabbing}

\begin{verbatim};;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;                                                                           ;;
;;             EXACT-TIME LEMMA MG-SIMPLE-VARIABLE-ASSIGNMENT                ;;
;;                                                                           ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

\end{verbatim}\begin{tabbing}{\sc Theorem}:  mg-simple-variable-assignment-args-definedp \\ \index{mg-simple-variable-assignment-a!rgs-definedp}
\=\+(\=\+{\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-variable-assignment}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{definedp}}\,({\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{definedp} \\ 
$\wedge$$\;\;\;\;${\rm{definedp}}\,({\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{definedp})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-simple-variable-assignment-args-simple-identifierps \\ \index{mg-simple-variable-assignment-a!rgs-simple-identifierps}
\=\+(\=\+{\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-variable-assignment}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{simple-identifierp}}\,({\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{simple-identifierp} \\ 
$\wedge$$\;\;\;\;${\rm{simple-identifierp}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\-\index{simple-identifierp})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-simple-variable-assignment-steps-1-2 \\ \index{mg-simple-variable-assignment-step!s-1-2}
\=\+(\=\+($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,({\rm{length}}\,({\it{temp-stk\/}})\index{length}, {\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size}))\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-variable-assignment}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p-step}}\,({\rm{p-step}}\,({\rm{map-down}}\,(\=\+{\it{mg-state\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{ctrl-stk\/}}, \\ 
{\it{temp-stk\/}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\rm{cons}}\,({\it{subr\/}}, {\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length}))\index{tag}, \\ 
{\it{t-cond-list\/}})\-\index{map-down})\index{p-step})\index{p-step} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\rm{cons}}\,({\it{subr\/}}, {\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} $+$ {\tt{2}}))\index{tag}, \\ 
{\it{ctrl-stk\/}}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{verbatim};; (call mg-simple-variable-assignment)

\end{verbatim}\begin{tabbing}{\sc Theorem}:  mg-simple-variable-assignment-step-3 \\ \index{mg-simple-variable-assignment-step!-3}
\=\+(\=\+($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,({\rm{length}}\,({\it{temp-stk\/}})\index{length}, {\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size}))\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-variable-assignment}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p-step}}\,({\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\rm{cons}}\,({\it{subr\/}}, {\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} $+$ {\tt{2}}))\index{tag}, \\ 
{\it{ctrl-stk\/}}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\index{p-step} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\tt{'}}{\tt{(}}{\tt{mg-simple-variable-assignment}}{\tt{ .\ }}{\tt{0}}{\tt{)}})\-\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{dest}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{source}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{3}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{verbatim};; (push-local source)

\end{verbatim}\begin{tabbing}{\sc Theorem}:  mg-simple-variable-assignment-step-4 \\ \index{mg-simple-variable-assignment-step!-4}
\=\+(\=\+($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,({\rm{length}}\,({\it{temp-stk\/}})\index{length}, {\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size}))\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-variable-assignment}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p-step}}\,({\rm{p-state}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\tt{'}}{\tt{(}}{\tt{mg-simple-variable-assignment}}{\tt{ .\ }}{\tt{0}}{\tt{)}})\-\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{dest}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{source}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{3}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\index{p-step} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\tt{'}}{\tt{(}}{\tt{mg-simple-variable-assignment}}{\tt{ .\ }}{\tt{1}}{\tt{)}})\-\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{dest}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{source}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{3}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-simple-variable-assignment-step-5 \\ \index{mg-simple-variable-assignment-step!-5}
\=\+(\=\+($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,({\rm{length}}\,({\it{temp-stk\/}})\index{length}, {\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size}))\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-variable-assignment}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{all-cars-unique} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p-step}}\,({\rm{p-state}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\tt{'}}{\tt{(}}{\tt{mg-simple-variable-assignment}}{\tt{ .\ }}{\tt{1}}{\tt{)}})\-\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{dest}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{source}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{3}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\index{p-step} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\tt{'}}{\tt{(}}{\tt{mg-simple-variable-assignment}}{\tt{ .\ }}{\tt{2}}{\tt{)}})\-\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{dest}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{source}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{3}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{push}}\,(\=\+{\rm{rget}}\,(\=\+{\rm{untag}}\,({\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\index{untag}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{rget}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{verbatim};; (push-local dest)

\end{verbatim}\begin{tabbing}{\sc Theorem}:  mg-simple-variable-assignment-step-6 \\ \index{mg-simple-variable-assignment-step!-6}
\=\+(\=\+($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,({\rm{length}}\,({\it{temp-stk\/}})\index{length}, {\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size}))\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-variable-assignment}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{all-cars-unique} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p-step}}\,({\rm{p-state}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\tt{'}}{\tt{(}}{\tt{mg-simple-variable-assignment}}{\tt{ .\ }}{\tt{2}}{\tt{)}})\-\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{dest}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{source}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{3}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{push}}\,(\=\+{\rm{rget}}\,(\=\+{\rm{untag}}\,({\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\index{untag}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{rget}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\index{p-step} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\tt{'}}{\tt{(}}{\tt{mg-simple-variable-assignment}}{\tt{ .\ }}{\tt{3}}{\tt{)}})\-\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{dest}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{source}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{3}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{push}}\,(\=\+{\rm{rget}}\,(\=\+{\rm{untag}}\,({\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\index{untag}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{rget}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{verbatim};; (deposit-temp-stk)

\end{verbatim}\begin{tabbing}{\sc Theorem}:  mg-simple-variable-assignment-step-7 \\ \index{mg-simple-variable-assignment-step!-7}
\=\+(\=\+($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,({\rm{length}}\,({\it{temp-stk\/}})\index{length}, {\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size}))\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-variable-assignment}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{all-cars-unique} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p-step}}\,({\rm{p-state}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\tt{'}}{\tt{(}}{\tt{mg-simple-variable-assignment}}{\tt{ .\ }}{\tt{3}}{\tt{)}})\-\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{dest}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{source}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{3}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{push}}\,(\=\+{\rm{rget}}\,(\=\+{\rm{untag}}\,({\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\index{untag}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{rget}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\index{p-step} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\tt{'}}{\tt{(}}{\tt{mg-simple-variable-assignment}}{\tt{ .\ }}{\tt{4}}{\tt{)}})\-\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{dest}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{source}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{3}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{rput}}\,(\=\+{\rm{rget}}\,(\=\+{\rm{untag}}\,({\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\index{untag}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{rget}, \\ 
{\rm{untag}}\,({\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\index{untag}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{rput}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{verbatim};; (ret)

\end{verbatim}\begin{tabbing}{\sc Theorem}:  mg-simple-variable-assignment-step-8 \\ \index{mg-simple-variable-assignment-step!-8}
\=\+(\=\+({\it{n\/}} $\not\simeq {\tt{0}}$) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-variable-assignment}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{listp}}\,({\it{ctrl-stk\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{all-cars-unique} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{no-p-aliasing}}\,({\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{no-p-aliasing} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p-step}}\,({\rm{p-state}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\tt{'}}{\tt{(}}{\tt{mg-simple-variable-assignment}}{\tt{ .\ }}{\tt{4}}{\tt{)}})\-\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{dest}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{source}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{3}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{rput}}\,(\=\+{\rm{rget}}\,(\=\+{\rm{untag}}\,({\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\index{untag}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{rget}, \\ 
{\rm{untag}}\,({\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\index{untag}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{rput}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\index{p-step} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,(\=\+{\it{subr\/}}, \\ 
\=\+{\bf if }{\rm{normal}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{normal} \\ 
{\bf then }{\rm{length}}\,({\rm{code}}\,({\rm{translate}}\,(\=\+{\it{cinfo\/}}, \\ 
{\it{t-cond-list\/}}, \\ 
{\it{stmt\/}}, \\ 
{\it{proc-list\/}})\-\index{translate})\index{code})\index{length} \\ 
{\bf else }{\rm{find-label}}\,(\=\+{\rm{fetch-label}}\,(\=\+{\rm{cc}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{cc}, \\ 
{\rm{label-alist}}\,({\rm{translate}}\,(\=\+{\it{cinfo\/}}, \\ 
{\it{t-cond-list\/}}, \\ 
{\it{stmt\/}}, \\ 
{\it{proc-list\/}})\-\index{translate})\index{label-alist})\-\index{fetch-label}, \\ 
{\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,(\=\+{\it{cinfo\/}}, \\ 
{\it{t-cond-list\/}}, \\ 
{\it{stmt\/}}, \\ 
{\it{proc-list\/}})\-\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\-\index{find-label}$\;${\bf  endif}\-)\-)\-\index{tag}, \\ 
{\it{ctrl-stk\/}}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,(\=\+{\rm{cc}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{cc}, \\ 
{\it{t-cond-list\/}})\-\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-simple-variable-assignment-exact-time-lemma \\ \index{mg-simple-variable-assignment-e!xact-time-lemma}
\=\+(\=\+({\it{n\/}} $\not\simeq {\tt{0}}$) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-variable-assignment}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-translation-parameters}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}}, {\it{code2\/}})\index{ok-translation-parameters} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;${\rm{cond-subsetp}}\,({\it{r-cond-list\/}}, {\it{t-cond-list\/}})\index{cond-subsetp} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{plistp}}\,({\it{temp-stk\/}})\index{plistp} \\ 
$\wedge$$\;\;\;\;${\rm{listp}}\,({\it{ctrl-stk\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{no-p-aliasing}}\,({\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{no-p-aliasing} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal} \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{all-cars-unique} \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{resource-errorp}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{resource-errorp}))\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p}}\,(\=\+{\rm{map-down}}\,(\=\+{\it{mg-state\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{ctrl-stk\/}}, \\ 
{\it{temp-stk\/}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\rm{cons}}\,({\it{subr\/}}, {\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length}))\index{tag}, \\ 
{\it{t-cond-list\/}})\-\index{map-down}, \\ 
{\rm{clock}}\,({\it{stmt\/}}, {\it{proc-list\/}}, {\it{mg-state\/}}, {\it{n\/}})\index{clock})\-\index{p} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,(\=\+{\it{subr\/}}, \\ 
\=\+{\bf if }{\rm{normal}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{normal} \\ 
{\bf then }{\rm{length}}\,({\rm{code}}\,({\rm{translate}}\,(\=\+{\it{cinfo\/}}, \\ 
{\it{t-cond-list\/}}, \\ 
{\it{stmt\/}}, \\ 
{\it{proc-list\/}})\-\index{translate})\index{code})\index{length} \\ 
{\bf else }{\rm{find-label}}\,(\=\+{\rm{fetch-label}}\,(\=\+{\rm{cc}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{cc}, \\ 
{\rm{label-alist}}\,({\rm{translate}}\,(\=\+{\it{cinfo\/}}, \\ 
{\it{t-cond-list\/}}, \\ 
{\it{stmt\/}}, \\ 
{\it{proc-list\/}})\-\index{translate})\index{label-alist})\-\index{fetch-label}, \\ 
{\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,(\=\+{\it{cinfo\/}}, \\ 
{\it{t-cond-list\/}}, \\ 
{\it{stmt\/}}, \\ 
{\it{proc-list\/}})\-\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\-\index{find-label}$\;${\bf  endif}\-)\-)\-\index{tag}, \\ 
{\it{ctrl-stk\/}}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,(\=\+{\rm{cc}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{cc}, \\ 
{\it{t-cond-list\/}})\-\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{verbatim};;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;                                                                           ;;
;;             EXACT-TIME LEMMA MG-SIMPLE-CONSTANT-ASSIGNMENT                ;;
;;                                                                           ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

\end{verbatim}\begin{tabbing}{\sc Theorem}:  mg-simple-constant-assignment-args-simple-identifierps \\ \index{mg-simple-constant-assignment-a!rgs-simple-identifierps}
\=\+(\=\+{\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-constant-assignment}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match})\- \\ 
$\rightarrow$$\;\;\;\;${\rm{simple-identifierp}}\,({\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{simple-identifierp}\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-simple-constant-assignment-steps-1-2 \\ \index{mg-simple-constant-assignment-step!s-1-2}
\=\+(\=\+($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,({\rm{length}}\,({\it{temp-stk\/}})\index{length}, {\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size}))\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-constant-assignment}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p-step}}\,({\rm{p-step}}\,({\rm{map-down}}\,(\=\+{\it{mg-state\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{ctrl-stk\/}}, \\ 
{\it{temp-stk\/}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\rm{cons}}\,({\it{subr\/}}, {\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length}))\index{tag}, \\ 
{\it{t-cond-list\/}})\-\index{map-down})\index{p-step})\index{p-step} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\rm{cons}}\,({\it{subr\/}}, {\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} $+$ {\tt{2}}))\index{tag}, \\ 
{\it{ctrl-stk\/}}, \\ 
{\rm{push}}\,(\=\+{\rm{mg-to-p-simple-literal}}\,({\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{verbatim};; (call mg-simple-constant-assignment)

\end{verbatim}\begin{tabbing}{\sc Theorem}:  mg-simple-constant-assignment-step-3 \\ \index{mg-simple-constant-assignment-step!-3}
\=\+(\=\+($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,({\rm{length}}\,({\it{temp-stk\/}})\index{length}, {\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size}))\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-constant-assignment}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p-step}}\,({\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\rm{cons}}\,({\it{subr\/}}, {\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} $+$ {\tt{2}}))\index{tag}, \\ 
{\it{ctrl-stk\/}}, \\ 
{\rm{push}}\,(\=\+{\rm{mg-to-p-simple-literal}}\,({\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\index{p-step} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\tt{'}}{\tt{(}}{\tt{mg-simple-constant-assignment}}{\tt{ .\ }}{\tt{0}}{\tt{)}})\-\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{dest}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{source}}, \\ 
{\rm{mg-to-p-simple-literal}}\,({\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{3}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{verbatim};; (push-local source)

\end{verbatim}\begin{tabbing}{\sc Theorem}:  mg-simple-constant-assignment-steps-4-5 \\ \index{mg-simple-constant-assignment-step!s-4-5}
\=\+(\=\+($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,({\rm{length}}\,({\it{temp-stk\/}})\index{length}, {\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size}))\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-constant-assignment}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p-step}}\,({\rm{p-step}}\,({\rm{p-state}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\tt{'}}{\tt{(}}\=\+{\tt{mg-simple-constant-assignment}} \\ 
{\tt{.\ }}{\tt{0}}{\tt{)}}\-)\-\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{dest}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{source}}, \\ 
{\rm{mg-to-p-simple-literal}}\,({\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,(\=\+{\it{subr\/}}, \\ 
\=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{3}}\-)\-)\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,(\=\+{\rm{cc}}\,({\it{mg-state\/}})\index{cc}, \\ 
{\it{t-cond-list\/}})\-\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\index{p-step})\index{p-step} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\tt{'}}{\tt{(}}{\tt{mg-simple-constant-assignment}}{\tt{ .\ }}{\tt{2}}{\tt{)}})\-\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{dest}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{source}}, \\ 
{\rm{mg-to-p-simple-literal}}\,({\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{3}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{push}}\,(\=\+{\rm{mg-to-p-simple-literal}}\,({\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{verbatim};; (deposit-temp-stk)

\end{verbatim}\begin{tabbing}{\sc Theorem}:  mg-simple-constant-assignment-step-6 \\ \index{mg-simple-constant-assignment-step!-6}
\=\+(\=\+($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,({\rm{length}}\,({\it{temp-stk\/}})\index{length}, {\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size}))\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-constant-assignment}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{all-cars-unique} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p-step}}\,({\rm{p-state}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\tt{'}}{\tt{(}}{\tt{mg-simple-constant-assignment}}{\tt{ .\ }}{\tt{2}}{\tt{)}})\-\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{dest}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{source}}, \\ 
{\rm{mg-to-p-simple-literal}}\,({\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{3}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{push}}\,(\=\+{\rm{mg-to-p-simple-literal}}\,({\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\index{p-step} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\tt{'}}{\tt{(}}{\tt{mg-simple-constant-assignment}}{\tt{ .\ }}{\tt{3}}{\tt{)}})\-\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{dest}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{source}}, \\ 
{\rm{mg-to-p-simple-literal}}\,({\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{3}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{rput}}\,(\=\+{\rm{mg-to-p-simple-literal}}\,({\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal}, \\ 
{\rm{untag}}\,({\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\index{untag}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{rput}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{verbatim};; (ret)

\end{verbatim}\begin{tabbing}{\sc Theorem}:  mg-simple-constant-assignment-step-7 \\ \index{mg-simple-constant-assignment-step!-7}
\=\+(\=\+({\it{n\/}} $\not\simeq {\tt{0}}$) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-constant-assignment}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;${\rm{listp}}\,({\it{ctrl-stk\/}}) \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{all-cars-unique} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{no-p-aliasing}}\,({\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{no-p-aliasing} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p-step}}\,({\rm{p-state}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\tt{'}}{\tt{(}}{\tt{mg-simple-constant-assignment}}{\tt{ .\ }}{\tt{3}}{\tt{)}})\-\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{dest}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{source}}, \\ 
{\rm{mg-to-p-simple-literal}}\,({\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{3}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{rput}}\,(\=\+{\rm{mg-to-p-simple-literal}}\,({\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal}, \\ 
{\rm{untag}}\,({\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\index{untag}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{rput}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\index{p-step} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,(\=\+{\it{subr\/}}, \\ 
\=\+{\bf if }{\rm{normal}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{normal} \\ 
{\bf then }{\rm{length}}\,({\rm{code}}\,({\rm{translate}}\,(\=\+{\it{cinfo\/}}, \\ 
{\it{t-cond-list\/}}, \\ 
{\it{stmt\/}}, \\ 
{\it{proc-list\/}})\-\index{translate})\index{code})\index{length} \\ 
{\bf else }{\rm{find-label}}\,(\=\+{\rm{fetch-label}}\,(\=\+{\rm{cc}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{cc}, \\ 
{\rm{label-alist}}\,({\rm{translate}}\,(\=\+{\it{cinfo\/}}, \\ 
{\it{t-cond-list\/}}, \\ 
{\it{stmt\/}}, \\ 
{\it{proc-list\/}})\-\index{translate})\index{label-alist})\-\index{fetch-label}, \\ 
{\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,(\=\+{\it{cinfo\/}}, \\ 
{\it{t-cond-list\/}}, \\ 
{\it{stmt\/}}, \\ 
{\it{proc-list\/}})\-\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\-\index{find-label}$\;${\bf  endif}\-)\-)\-\index{tag}, \\ 
{\it{ctrl-stk\/}}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,(\=\+{\rm{cc}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{cc}, \\ 
{\it{t-cond-list\/}})\-\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-simple-constant-assignment-exact-time-lemma \\ \index{mg-simple-constant-assignment-e!xact-time-lemma}
\=\+(\=\+({\it{n\/}} $\not\simeq {\tt{0}}$) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-constant-assignment}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-translation-parameters}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}}, {\it{code2\/}})\index{ok-translation-parameters} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;${\rm{cond-subsetp}}\,({\it{r-cond-list\/}}, {\it{t-cond-list\/}})\index{cond-subsetp} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{plistp}}\,({\it{temp-stk\/}})\index{plistp} \\ 
$\wedge$$\;\;\;\;${\rm{listp}}\,({\it{ctrl-stk\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{no-p-aliasing}}\,({\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{no-p-aliasing} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal} \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{all-cars-unique} \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{resource-errorp}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{resource-errorp}))\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p}}\,(\=\+{\rm{map-down}}\,(\=\+{\it{mg-state\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{ctrl-stk\/}}, \\ 
{\it{temp-stk\/}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\rm{cons}}\,({\it{subr\/}}, {\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length}))\index{tag}, \\ 
{\it{t-cond-list\/}})\-\index{map-down}, \\ 
{\rm{clock}}\,({\it{stmt\/}}, {\it{proc-list\/}}, {\it{mg-state\/}}, {\it{n\/}})\index{clock})\-\index{p} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,(\=\+{\it{subr\/}}, \\ 
\=\+{\bf if }{\rm{normal}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{normal} \\ 
{\bf then }{\rm{length}}\,({\rm{code}}\,({\rm{translate}}\,(\=\+{\it{cinfo\/}}, \\ 
{\it{t-cond-list\/}}, \\ 
{\it{stmt\/}}, \\ 
{\it{proc-list\/}})\-\index{translate})\index{code})\index{length} \\ 
{\bf else }{\rm{find-label}}\,(\=\+{\rm{fetch-label}}\,(\=\+{\rm{cc}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{cc}, \\ 
{\rm{label-alist}}\,({\rm{translate}}\,(\=\+{\it{cinfo\/}}, \\ 
{\it{t-cond-list\/}}, \\ 
{\it{stmt\/}}, \\ 
{\it{proc-list\/}})\-\index{translate})\index{label-alist})\-\index{fetch-label}, \\ 
{\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,(\=\+{\it{cinfo\/}}, \\ 
{\it{t-cond-list\/}}, \\ 
{\it{stmt\/}}, \\ 
{\it{proc-list\/}})\-\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\-\index{find-label}$\;${\bf  endif}\-)\-)\-\index{tag}, \\ 
{\it{ctrl-stk\/}}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,(\=\+{\rm{cc}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{cc}, \\ 
{\it{t-cond-list\/}})\-\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{verbatim};;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;                                                                           ;;
;;                 EXACT-TIME LEMMA MG-SIMPLE-CONSTANT-EQ                    ;;
;;                                                                           ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

\end{verbatim}\begin{tabbing}{\sc Theorem}:  mg-simple-variable-eq-args-simple-identifierps \\ \index{mg-simple-variable-eq-args-simp!le-identifierps}
\=\+(\=\+{\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-variable-eq}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{boolean-identifierp}}\,({\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{boolean-identifierp} \\ 
$\wedge$$\;\;\;\;${\rm{simple-identifierp}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\-\index{simple-identifierp} \\ 
$\wedge$$\;\;\;\;${\rm{simple-identifierp}}\,(\=\+{\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\-\index{simple-identifierp})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-simple-variable-eq-args-definedp \\ \index{mg-simple-variable-eq-args-defi!nedp}
\=\+(\=\+{\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-variable-eq}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{definedp}}\,({\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{definedp} \\ 
$\wedge$$\;\;\;\;${\rm{definedp}}\,({\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{definedp} \\ 
$\wedge$$\;\;\;\;${\rm{definedp}}\,({\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{definedp})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-simple-variable-eq-steps-1-3 \\ \index{mg-simple-variable-eq-steps-1-3}
\=\+(\=\+({\it{n\/}} $\not\simeq {\tt{0}}$) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-variable-eq}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{listp}}\,({\it{ctrl-stk\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{all-cars-unique} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{no-p-aliasing}}\,({\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{no-p-aliasing} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p-step}}\,({\rm{p-step}}\,({\rm{p-step}}\,({\rm{map-down}}\,(\=\+{\it{mg-state\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{ctrl-stk\/}}, \\ 
{\it{temp-stk\/}}, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, {\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length}))\-\index{tag}, \\ 
{\it{t-cond-list\/}})\-\index{map-down})\index{p-step})\index{p-step})\index{p-step} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\rm{cons}}\,({\it{subr\/}}, {\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} $+$ {\tt{3}}))\index{tag}, \\ 
{\it{ctrl-stk\/}}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push})\-\index{push})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-simple-variable-eq-step-4 \\ \index{mg-simple-variable-eq-step-4}
\=\+(\=\+({\it{n\/}} $\not\simeq {\tt{0}}$) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-variable-eq}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{listp}}\,({\it{ctrl-stk\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{all-cars-unique} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{no-p-aliasing}}\,({\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{no-p-aliasing} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p-step}}\,({\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\rm{cons}}\,({\it{subr\/}}, {\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} $+$ {\tt{3}}))\index{tag}, \\ 
{\it{ctrl-stk\/}}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push})\-\index{push})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\index{p-step} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\tt{'}}{\tt{(}}{\tt{mg-simple-variable-eq}}{\tt{ .\ }}{\tt{0}}{\tt{)}})\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{ans}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{x}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{y}}, \\ 
{\rm{value}}\,(\=\+{\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{4}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-simple-variable-eq-step-5 \\ \index{mg-simple-variable-eq-step-5}
\=\+(\=\+({\it{n\/}} $\not\simeq {\tt{0}}$) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-variable-eq}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{listp}}\,({\it{ctrl-stk\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{all-cars-unique} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{no-p-aliasing}}\,({\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{no-p-aliasing} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p-step}}\,({\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\tt{'}}{\tt{(}}{\tt{mg-simple-variable-eq}}{\tt{ .\ }}{\tt{0}}{\tt{)}})\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{ans}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{x}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{y}}, \\ 
{\rm{value}}\,(\=\+{\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{4}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\index{p-step} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\tt{'}}{\tt{(}}{\tt{mg-simple-variable-eq}}{\tt{ .\ }}{\tt{1}}{\tt{)}})\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{ans}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{x}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{y}}, \\ 
{\rm{value}}\,(\=\+{\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{4}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-simple-variable-eq-step-6 \\ \index{mg-simple-variable-eq-step-6}
\=\+(\=\+({\it{n\/}} $\not\simeq {\tt{0}}$) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-variable-eq}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{listp}}\,({\it{ctrl-stk\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{all-cars-unique} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{no-p-aliasing}}\,({\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{no-p-aliasing} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p-step}}\,({\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\tt{'}}{\tt{(}}{\tt{mg-simple-variable-eq}}{\tt{ .\ }}{\tt{1}}{\tt{)}})\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{ans}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{x}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{y}}, \\ 
{\rm{value}}\,(\=\+{\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{4}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\index{p-step} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\tt{'}}{\tt{(}}{\tt{mg-simple-variable-eq}}{\tt{ .\ }}{\tt{2}}{\tt{)}})\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{ans}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{x}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{y}}, \\ 
{\rm{value}}\,(\=\+{\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{4}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{push}}\,(\=\+{\rm{rget}}\,(\=\+{\rm{untag}}\,({\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\index{untag}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push})\-\index{rget}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-simple-variable-eq-step-7 \\ \index{mg-simple-variable-eq-step-7}
\=\+(\=\+({\it{n\/}} $\not\simeq {\tt{0}}$) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-variable-eq}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{listp}}\,({\it{ctrl-stk\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{all-cars-unique} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{no-p-aliasing}}\,({\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{no-p-aliasing} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p-step}}\,({\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\tt{'}}{\tt{(}}{\tt{mg-simple-variable-eq}}{\tt{ .\ }}{\tt{2}}{\tt{)}})\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{ans}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{x}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{y}}, \\ 
{\rm{value}}\,(\=\+{\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{4}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{push}}\,(\=\+{\rm{rget}}\,(\=\+{\rm{untag}}\,({\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\index{untag}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push})\-\index{rget}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\index{p-step} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\tt{'}}{\tt{(}}{\tt{mg-simple-variable-eq}}{\tt{ .\ }}{\tt{3}}{\tt{)}})\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{ans}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{x}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{y}}, \\ 
{\rm{value}}\,(\=\+{\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{4}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{push}}\,(\=\+{\rm{rget}}\,(\=\+{\rm{untag}}\,({\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\index{untag}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push})\-\index{rget}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-simple-variable-eq-step-8 \\ \index{mg-simple-variable-eq-step-8}
\=\+(\=\+({\it{n\/}} $\not\simeq {\tt{0}}$) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-variable-eq}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{listp}}\,({\it{ctrl-stk\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{all-cars-unique} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{no-p-aliasing}}\,({\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{no-p-aliasing} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p-step}}\,({\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\tt{'}}{\tt{(}}{\tt{mg-simple-variable-eq}}{\tt{ .\ }}{\tt{3}}{\tt{)}})\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{ans}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{x}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{y}}, \\ 
{\rm{value}}\,(\=\+{\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{4}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{push}}\,(\=\+{\rm{rget}}\,(\=\+{\rm{untag}}\,({\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\index{untag}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push})\-\index{rget}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\index{p-step} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\tt{'}}{\tt{(}}{\tt{mg-simple-variable-eq}}{\tt{ .\ }}{\tt{4}}{\tt{)}})\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{ans}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{x}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{y}}, \\ 
{\rm{value}}\,(\=\+{\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{4}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{push}}\,(\=\+{\rm{rget}}\,(\=\+{\rm{untag}}\,({\rm{value}}\,(\=\+{\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\index{untag}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{rget}, \\ 
{\rm{push}}\,(\=\+{\rm{rget}}\,(\=\+{\rm{untag}}\,({\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\index{untag}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{rget}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-simple-variable-eq-step-9 \\ \index{mg-simple-variable-eq-step-9}
\=\+(\=\+({\it{n\/}} $\not\simeq {\tt{0}}$) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-variable-eq}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{listp}}\,({\it{ctrl-stk\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{all-cars-unique} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{no-p-aliasing}}\,({\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{no-p-aliasing} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p-step}}\,({\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\tt{'}}{\tt{(}}{\tt{mg-simple-variable-eq}}{\tt{ .\ }}{\tt{4}}{\tt{)}})\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{ans}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{x}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{y}}, \\ 
{\rm{value}}\,(\=\+{\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{4}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{push}}\,(\=\+{\rm{rget}}\,(\=\+{\rm{untag}}\,({\rm{value}}\,(\=\+{\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\index{untag}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{rget}, \\ 
{\rm{push}}\,(\=\+{\rm{rget}}\,(\=\+{\rm{untag}}\,({\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\index{untag}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{rget}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\index{p-step} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\tt{'}}{\tt{(}}{\tt{mg-simple-variable-eq}}{\tt{ .\ }}{\tt{5}}{\tt{)}})\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{ans}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{x}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{y}}, \\ 
{\rm{value}}\,(\=\+{\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{4}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{push}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{bool}}, \\ 
\=\+{\bf if }\=\+{\rm{untag}}\,({\rm{mg-to-p-simple-literal}}\,({\rm{caddr}}\,({\rm{assoc}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\-))\index{mg-to-p-simple-literal})\index{untag} \\ 
$=$$\;\;\;\;${\rm{untag}}\,({\rm{mg-to-p-simple-literal}}\,({\rm{caddr}}\,({\rm{assoc}}\,(\=\+{\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\-))\index{mg-to-p-simple-literal})\index{untag}\- \\ 
{\bf then }{\tt{'}}{\tt{t}} \\ 
{\bf else }{\tt{'}}{\tt{f}}$\;${\bf  endif}\-)\-\index{tag}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-simple-variable-eq-step-10 \\ \index{mg-simple-variable-eq-step-10}
\=\+(\=\+({\it{n\/}} $\not\simeq {\tt{0}}$) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-variable-eq}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{listp}}\,({\it{ctrl-stk\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{all-cars-unique} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{no-p-aliasing}}\,({\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{no-p-aliasing} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p-step}}\,({\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\tt{'}}{\tt{(}}{\tt{mg-simple-variable-eq}}{\tt{ .\ }}{\tt{5}}{\tt{)}})\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{ans}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{x}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{y}}, \\ 
{\rm{value}}\,(\=\+{\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{4}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{push}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{bool}}, {\it{eq-value\/}})\index{tag}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\index{p-step} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\tt{'}}{\tt{(}}{\tt{mg-simple-variable-eq}}{\tt{ .\ }}{\tt{6}}{\tt{)}})\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{ans}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{x}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{y}}, \\ 
{\rm{value}}\,(\=\+{\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{4}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{push}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{bool}}, {\it{eq-value\/}})\index{tag}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-simple-variable-eq-step-11 \\ \index{mg-simple-variable-eq-step-11}
\=\+(\=\+({\it{n\/}} $\not\simeq {\tt{0}}$) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-variable-eq}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{listp}}\,({\it{ctrl-stk\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{all-cars-unique} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{no-p-aliasing}}\,({\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{no-p-aliasing} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p-step}}\,({\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\tt{'}}{\tt{(}}{\tt{mg-simple-variable-eq}}{\tt{ .\ }}{\tt{6}}{\tt{)}})\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{ans}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{x}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{y}}, \\ 
{\rm{value}}\,(\=\+{\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{4}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{push}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{bool}}, {\it{eq-value\/}})\index{tag}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\index{p-step} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\tt{'}}{\tt{(}}{\tt{mg-simple-variable-eq}}{\tt{ .\ }}{\tt{7}}{\tt{)}})\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{ans}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{x}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{y}}, \\ 
{\rm{value}}\,(\=\+{\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{4}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{rput}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{bool}}, {\it{eq-value\/}})\index{tag}, \\ 
{\rm{untag}}\,({\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\index{untag}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{rput}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-bool-ok-boolean \\ \index{mg-bool-ok-boolean}
{\rm{ok-mg-valuep}}\,({\rm{mg-bool}}\,({\it{x\/}})\index{mg-bool}, {\tt{'}}{\tt{boolean-mg}})\index{ok-mg-valuep}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-simple-variable-eq-step-12-true-case \\ \index{mg-simple-variable-eq-step-12-t!rue-case}
\=\+(\=\+({\it{n\/}} $\not\simeq {\tt{0}}$) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-variable-eq}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{listp}}\,({\it{ctrl-stk\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{all-cars-unique} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{no-p-aliasing}}\,({\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{no-p-aliasing} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{untag}}\,({\rm{mg-to-p-simple-literal}}\,({\rm{caddr}}\,({\rm{assoc}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\-))\index{mg-to-p-simple-literal})\index{untag} \\ 
$=$$\;\;\;\;${\rm{untag}}\,({\rm{mg-to-p-simple-literal}}\,({\rm{caddr}}\,({\rm{assoc}}\,(\=\+{\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\-))\index{mg-to-p-simple-literal})\index{untag})\-)\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p-step}}\,({\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\tt{'}}{\tt{(}}{\tt{mg-simple-variable-eq}}{\tt{ .\ }}{\tt{7}}{\tt{)}})\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{ans}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{x}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{y}}, \\ 
{\rm{value}}\,(\=\+{\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{4}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{rput}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{bool}}, {\tt{'}}{\tt{t}})\index{tag}, \\ 
{\rm{untag}}\,({\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\index{untag}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{rput}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\index{p-step} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,(\=\+{\it{subr\/}}, \\ 
\=\+{\bf if }{\rm{normal}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{normal} \\ 
{\bf then }{\rm{length}}\,({\rm{code}}\,({\rm{translate}}\,(\=\+{\it{cinfo\/}}, \\ 
{\it{t-cond-list\/}}, \\ 
{\it{stmt\/}}, \\ 
{\it{proc-list\/}})\-\index{translate})\index{code})\index{length} \\ 
{\bf else }{\rm{find-label}}\,(\=\+{\rm{fetch-label}}\,(\=\+{\rm{cc}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{cc}, \\ 
{\rm{label-alist}}\,({\rm{translate}}\,(\=\+{\it{cinfo\/}}, \\ 
{\it{t-cond-list\/}}, \\ 
{\it{stmt\/}}, \\ 
{\it{proc-list\/}})\-\index{translate})\index{label-alist})\-\index{fetch-label}, \\ 
{\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,(\=\+{\it{cinfo\/}}, \\ 
{\it{t-cond-list\/}}, \\ 
{\it{stmt\/}}, \\ 
{\it{proc-list\/}})\-\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\-\index{find-label}$\;${\bf  endif}\-)\-)\-\index{tag}, \\ 
{\it{ctrl-stk\/}}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,(\=\+{\rm{cc}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{cc}, \\ 
{\it{t-cond-list\/}})\-\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-simple-variable-eq-step-12-false-case \\ \index{mg-simple-variable-eq-step-12-f!alse-case}
\=\+(\=\+({\it{n\/}} $\not\simeq {\tt{0}}$) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-variable-eq}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{listp}}\,({\it{ctrl-stk\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{all-cars-unique} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{no-p-aliasing}}\,({\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{no-p-aliasing} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{untag}}\,({\rm{mg-to-p-simple-literal}}\,({\rm{caddr}}\,({\rm{assoc}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\-))\index{mg-to-p-simple-literal})\index{untag} \\ 
$\not=$$\;\;\;\;${\rm{untag}}\,({\rm{mg-to-p-simple-literal}}\,({\rm{caddr}}\,({\rm{assoc}}\,(\=\+{\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\-))\index{mg-to-p-simple-literal})\index{untag})\-)\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p-step}}\,({\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\tt{'}}{\tt{(}}{\tt{mg-simple-variable-eq}}{\tt{ .\ }}{\tt{7}}{\tt{)}})\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{ans}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{x}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{y}}, \\ 
{\rm{value}}\,(\=\+{\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{4}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{rput}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{bool}}, {\tt{'}}{\tt{f}})\index{tag}, \\ 
{\rm{untag}}\,({\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\index{untag}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{rput}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\index{p-step} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,(\=\+{\it{subr\/}}, \\ 
\=\+{\bf if }{\rm{normal}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{normal} \\ 
{\bf then }{\rm{length}}\,({\rm{code}}\,({\rm{translate}}\,(\=\+{\it{cinfo\/}}, \\ 
{\it{t-cond-list\/}}, \\ 
{\it{stmt\/}}, \\ 
{\it{proc-list\/}})\-\index{translate})\index{code})\index{length} \\ 
{\bf else }{\rm{find-label}}\,(\=\+{\rm{fetch-label}}\,(\=\+{\rm{cc}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{cc}, \\ 
{\rm{label-alist}}\,({\rm{translate}}\,(\=\+{\it{cinfo\/}}, \\ 
{\it{t-cond-list\/}}, \\ 
{\it{stmt\/}}, \\ 
{\it{proc-list\/}})\-\index{translate})\index{label-alist})\-\index{fetch-label}, \\ 
{\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,(\=\+{\it{cinfo\/}}, \\ 
{\it{t-cond-list\/}}, \\ 
{\it{stmt\/}}, \\ 
{\it{proc-list\/}})\-\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\-\index{find-label}$\;${\bf  endif}\-)\-)\-\index{tag}, \\ 
{\it{ctrl-stk\/}}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,(\=\+{\rm{cc}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{cc}, \\ 
{\it{t-cond-list\/}})\-\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-simple-variable-eq-exact-time-lemma \\ \index{mg-simple-variable-eq-exact-time!-lemma}
\=\+(\=\+({\it{n\/}} $\not\simeq {\tt{0}}$) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-variable-eq}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{listp}}\,({\it{ctrl-stk\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{all-cars-unique} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{no-p-aliasing}}\,({\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{no-p-aliasing} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p}}\,(\=\+{\rm{map-down}}\,(\=\+{\it{mg-state\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{ctrl-stk\/}}, \\ 
{\it{temp-stk\/}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\rm{cons}}\,({\it{subr\/}}, {\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length}))\index{tag}, \\ 
{\it{t-cond-list\/}})\-\index{map-down}, \\ 
{\rm{clock}}\,({\it{stmt\/}}, {\it{proc-list\/}}, {\it{mg-state\/}}, {\it{n\/}})\index{clock})\-\index{p} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,(\=\+{\it{subr\/}}, \\ 
\=\+{\bf if }{\rm{normal}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{normal} \\ 
{\bf then }{\rm{length}}\,({\rm{code}}\,({\rm{translate}}\,(\=\+{\it{cinfo\/}}, \\ 
{\it{t-cond-list\/}}, \\ 
{\it{stmt\/}}, \\ 
{\it{proc-list\/}})\-\index{translate})\index{code})\index{length} \\ 
{\bf else }{\rm{find-label}}\,(\=\+{\rm{fetch-label}}\,(\=\+{\rm{cc}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{cc}, \\ 
{\rm{label-alist}}\,({\rm{translate}}\,(\=\+{\it{cinfo\/}}, \\ 
{\it{t-cond-list\/}}, \\ 
{\it{stmt\/}}, \\ 
{\it{proc-list\/}})\-\index{translate})\index{label-alist})\-\index{fetch-label}, \\ 
{\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,(\=\+{\it{cinfo\/}}, \\ 
{\it{t-cond-list\/}}, \\ 
{\it{stmt\/}}, \\ 
{\it{proc-list\/}})\-\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\-\index{find-label}$\;${\bf  endif}\-)\-)\-\index{tag}, \\ 
{\it{ctrl-stk\/}}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,(\=\+{\rm{cc}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{cc}, \\ 
{\it{t-cond-list\/}})\-\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{verbatim};;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;                                                                           ;;
;;                 EXACT-TIME LEMMA MG-SIMPLE-CONSTANT-EQ                    ;;
;;                                                                           ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

\end{verbatim}\begin{tabbing}{\sc Theorem}:  mg-simple-constant-eq-args-simple-identifierps \\ \index{mg-simple-constant-eq-args-simp!le-identifierps}
\=\+(\=\+{\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-constant-eq}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{boolean-identifierp}}\,({\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{boolean-identifierp} \\ 
$\wedge$$\;\;\;\;${\rm{simple-identifierp}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\-\index{simple-identifierp} \\ 
$\wedge$$\;\;\;\;${\rm{simple-typed-literalp}}\,(\=\+{\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{cadr}}\,({\rm{assoc}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\-))\-\index{simple-typed-literalp})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-simple-constant-eq-args-definedp \\ \index{mg-simple-constant-eq-args-defi!nedp}
\=\+(\=\+{\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-constant-eq}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{definedp}}\,({\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{definedp} \\ 
$\wedge$$\;\;\;\;${\rm{definedp}}\,({\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{definedp})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-simple-constant-eq-steps-1-3 \\ \index{mg-simple-constant-eq-steps-1-3}
\=\+(\=\+({\it{n\/}} $\not\simeq {\tt{0}}$) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-constant-eq}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{listp}}\,({\it{ctrl-stk\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{all-cars-unique} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{no-p-aliasing}}\,({\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{no-p-aliasing} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p-step}}\,({\rm{p-step}}\,({\rm{p-step}}\,({\rm{map-down}}\,(\=\+{\it{mg-state\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{ctrl-stk\/}}, \\ 
{\it{temp-stk\/}}, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, {\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length}))\-\index{tag}, \\ 
{\it{t-cond-list\/}})\-\index{map-down})\index{p-step})\index{p-step})\index{p-step} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\rm{cons}}\,({\it{subr\/}}, {\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} $+$ {\tt{3}}))\index{tag}, \\ 
{\it{ctrl-stk\/}}, \\ 
{\rm{push}}\,(\=\+{\rm{mg-to-p-simple-literal}}\,({\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push})\-\index{push})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-simple-constant-eq-step-4 \\ \index{mg-simple-constant-eq-step-4}
\=\+(\=\+({\it{n\/}} $\not\simeq {\tt{0}}$) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-constant-eq}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{listp}}\,({\it{ctrl-stk\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{all-cars-unique} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{no-p-aliasing}}\,({\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{no-p-aliasing} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p-step}}\,({\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\rm{cons}}\,({\it{subr\/}}, {\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} $+$ {\tt{3}}))\index{tag}, \\ 
{\it{ctrl-stk\/}}, \\ 
{\rm{push}}\,(\=\+{\rm{mg-to-p-simple-literal}}\,({\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push})\-\index{push})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\index{p-step} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\tt{'}}{\tt{(}}{\tt{mg-simple-constant-eq}}{\tt{ .\ }}{\tt{0}}{\tt{)}})\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{ans}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{x}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{y}}, \\ 
{\rm{mg-to-p-simple-literal}}\,({\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{4}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-simple-constant-eq-step-5 \\ \index{mg-simple-constant-eq-step-5}
\=\+(\=\+({\it{n\/}} $\not\simeq {\tt{0}}$) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-constant-eq}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{listp}}\,({\it{ctrl-stk\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{all-cars-unique} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{no-p-aliasing}}\,({\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{no-p-aliasing} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p-step}}\,({\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\tt{'}}{\tt{(}}{\tt{mg-simple-constant-eq}}{\tt{ .\ }}{\tt{0}}{\tt{)}})\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{ans}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{x}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{y}}, \\ 
{\rm{mg-to-p-simple-literal}}\,({\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{4}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\index{p-step} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\tt{'}}{\tt{(}}{\tt{mg-simple-constant-eq}}{\tt{ .\ }}{\tt{1}}{\tt{)}})\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{ans}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{x}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{y}}, \\ 
{\rm{mg-to-p-simple-literal}}\,({\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{4}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-simple-constant-eq-step-6 \\ \index{mg-simple-constant-eq-step-6}
\=\+(\=\+({\it{n\/}} $\not\simeq {\tt{0}}$) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-constant-eq}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{listp}}\,({\it{ctrl-stk\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{all-cars-unique} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{no-p-aliasing}}\,({\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{no-p-aliasing} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p-step}}\,({\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\tt{'}}{\tt{(}}{\tt{mg-simple-constant-eq}}{\tt{ .\ }}{\tt{1}}{\tt{)}})\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{ans}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{x}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{y}}, \\ 
{\rm{mg-to-p-simple-literal}}\,({\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{4}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\index{p-step} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\tt{'}}{\tt{(}}{\tt{mg-simple-constant-eq}}{\tt{ .\ }}{\tt{2}}{\tt{)}})\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{ans}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{x}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{y}}, \\ 
{\rm{mg-to-p-simple-literal}}\,({\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{4}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{push}}\,(\=\+{\rm{rget}}\,(\=\+{\rm{untag}}\,({\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\index{untag}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push})\-\index{rget}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-simple-constant-eq-step-7 \\ \index{mg-simple-constant-eq-step-7}
\=\+(\=\+({\it{n\/}} $\not\simeq {\tt{0}}$) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-constant-eq}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{listp}}\,({\it{ctrl-stk\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{all-cars-unique} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{no-p-aliasing}}\,({\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{no-p-aliasing} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p-step}}\,({\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\tt{'}}{\tt{(}}{\tt{mg-simple-constant-eq}}{\tt{ .\ }}{\tt{2}}{\tt{)}})\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{ans}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{x}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{y}}, \\ 
{\rm{mg-to-p-simple-literal}}\,({\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{4}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{push}}\,(\=\+{\rm{rget}}\,(\=\+{\rm{untag}}\,({\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\index{untag}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push})\-\index{rget}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\index{p-step} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\tt{'}}{\tt{(}}{\tt{mg-simple-constant-eq}}{\tt{ .\ }}{\tt{3}}{\tt{)}})\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{ans}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{x}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{y}}, \\ 
{\rm{mg-to-p-simple-literal}}\,({\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{4}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{push}}\,(\=\+{\rm{mg-to-p-simple-literal}}\,({\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal}, \\ 
{\rm{push}}\,(\=\+{\rm{rget}}\,(\=\+{\rm{untag}}\,({\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\index{untag}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push})\-\index{rget}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-simple-constant-eq-step-8 \\ \index{mg-simple-constant-eq-step-8}
\=\+(\=\+({\it{n\/}} $\not\simeq {\tt{0}}$) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-constant-eq}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{listp}}\,({\it{ctrl-stk\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{all-cars-unique} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{no-p-aliasing}}\,({\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{no-p-aliasing} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p-step}}\,({\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\tt{'}}{\tt{(}}{\tt{mg-simple-constant-eq}}{\tt{ .\ }}{\tt{3}}{\tt{)}})\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{ans}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{x}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{y}}, \\ 
{\rm{mg-to-p-simple-literal}}\,({\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{4}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{push}}\,(\=\+{\rm{mg-to-p-simple-literal}}\,({\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal}, \\ 
{\rm{push}}\,(\=\+{\rm{rget}}\,(\=\+{\rm{untag}}\,({\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\index{untag}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push})\-\index{rget}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\index{p-step} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\tt{'}}{\tt{(}}{\tt{mg-simple-constant-eq}}{\tt{ .\ }}{\tt{4}}{\tt{)}})\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{ans}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{x}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{y}}, \\ 
{\rm{mg-to-p-simple-literal}}\,({\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{4}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{push}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{bool}}, \\ 
\=\+{\bf if }\=\+{\rm{untag}}\,({\rm{mg-to-p-simple-literal}}\,({\rm{caddr}}\,({\rm{assoc}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\-))\index{mg-to-p-simple-literal})\index{untag} \\ 
$=$$\;\;\;\;${\rm{untag}}\,({\rm{mg-to-p-simple-literal}}\,({\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal})\index{untag}\- \\ 
{\bf then }{\tt{'}}{\tt{t}} \\ 
{\bf else }{\tt{'}}{\tt{f}}$\;${\bf  endif}\-)\-\index{tag}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-simple-constant-eq-step-9 \\ \index{mg-simple-constant-eq-step-9}
\=\+(\=\+({\it{n\/}} $\not\simeq {\tt{0}}$) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-constant-eq}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{listp}}\,({\it{ctrl-stk\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{all-cars-unique} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{no-p-aliasing}}\,({\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{no-p-aliasing} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p-step}}\,({\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\tt{'}}{\tt{(}}{\tt{mg-simple-constant-eq}}{\tt{ .\ }}{\tt{4}}{\tt{)}})\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{ans}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{x}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{y}}, \\ 
{\rm{mg-to-p-simple-literal}}\,({\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{4}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{push}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{bool}}, {\it{eq-value\/}})\index{tag}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\index{p-step} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\tt{'}}{\tt{(}}{\tt{mg-simple-constant-eq}}{\tt{ .\ }}{\tt{5}}{\tt{)}})\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{ans}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{x}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{y}}, \\ 
{\rm{mg-to-p-simple-literal}}\,({\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{4}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{push}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{bool}}, {\it{eq-value\/}})\index{tag}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-simple-constant-eq-step-10 \\ \index{mg-simple-constant-eq-step-10}
\=\+(\=\+({\it{n\/}} $\not\simeq {\tt{0}}$) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-constant-eq}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{listp}}\,({\it{ctrl-stk\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{all-cars-unique} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{no-p-aliasing}}\,({\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{no-p-aliasing} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p-step}}\,({\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\tt{'}}{\tt{(}}{\tt{mg-simple-constant-eq}}{\tt{ .\ }}{\tt{5}}{\tt{)}})\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{ans}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{x}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{y}}, \\ 
{\rm{mg-to-p-simple-literal}}\,({\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{4}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{push}}\,(\=\+{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value}, \\ 
{\rm{push}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{bool}}, {\it{eq-value\/}})\index{tag}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{push})\-\index{push}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\index{p-step} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\tt{'}}{\tt{(}}{\tt{mg-simple-constant-eq}}{\tt{ .\ }}{\tt{6}}{\tt{)}})\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{ans}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{x}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{y}}, \\ 
{\rm{mg-to-p-simple-literal}}\,({\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{4}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{rput}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{bool}}, {\it{eq-value\/}})\index{tag}, \\ 
{\rm{untag}}\,({\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\index{untag}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{rput}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-simple-constant-eq-step-11-true-case \\ \index{mg-simple-constant-eq-step-11-t!rue-case}
\=\+(\=\+({\it{n\/}} $\not\simeq {\tt{0}}$) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-constant-eq}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{listp}}\,({\it{ctrl-stk\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{all-cars-unique} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{no-p-aliasing}}\,({\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{no-p-aliasing} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{untag}}\,({\rm{mg-to-p-simple-literal}}\,({\rm{caddr}}\,({\rm{assoc}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\-))\index{mg-to-p-simple-literal})\index{untag} \\ 
$=$$\;\;\;\;${\rm{untag}}\,({\rm{mg-to-p-simple-literal}}\,({\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal})\index{untag})\-)\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p-step}}\,({\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\tt{'}}{\tt{(}}{\tt{mg-simple-constant-eq}}{\tt{ .\ }}{\tt{6}}{\tt{)}})\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{ans}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{x}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{y}}, \\ 
{\rm{mg-to-p-simple-literal}}\,({\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{4}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{rput}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{bool}}, {\tt{'}}{\tt{t}})\index{tag}, \\ 
{\rm{untag}}\,({\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\index{untag}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{rput}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\index{p-step} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,(\=\+{\it{subr\/}}, \\ 
\=\+{\bf if }{\rm{normal}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{normal} \\ 
{\bf then }{\rm{length}}\,({\rm{code}}\,({\rm{translate}}\,(\=\+{\it{cinfo\/}}, \\ 
{\it{t-cond-list\/}}, \\ 
{\it{stmt\/}}, \\ 
{\it{proc-list\/}})\-\index{translate})\index{code})\index{length} \\ 
{\bf else }{\rm{find-label}}\,(\=\+{\rm{fetch-label}}\,(\=\+{\rm{cc}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{cc}, \\ 
{\rm{label-alist}}\,({\rm{translate}}\,(\=\+{\it{cinfo\/}}, \\ 
{\it{t-cond-list\/}}, \\ 
{\it{stmt\/}}, \\ 
{\it{proc-list\/}})\-\index{translate})\index{label-alist})\-\index{fetch-label}, \\ 
{\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,(\=\+{\it{cinfo\/}}, \\ 
{\it{t-cond-list\/}}, \\ 
{\it{stmt\/}}, \\ 
{\it{proc-list\/}})\-\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\-\index{find-label}$\;${\bf  endif}\-)\-)\-\index{tag}, \\ 
{\it{ctrl-stk\/}}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,(\=\+{\rm{cc}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{cc}, \\ 
{\it{t-cond-list\/}})\-\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-simple-constant-eq-step-11-false-case \\ \index{mg-simple-constant-eq-step-11-f!alse-case}
\=\+(\=\+({\it{n\/}} $\not\simeq {\tt{0}}$) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-constant-eq}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{listp}}\,({\it{ctrl-stk\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{all-cars-unique} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{no-p-aliasing}}\,({\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{no-p-aliasing} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{untag}}\,({\rm{mg-to-p-simple-literal}}\,({\rm{caddr}}\,({\rm{assoc}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\-))\index{mg-to-p-simple-literal})\index{untag} \\ 
$\not=$$\;\;\;\;${\rm{untag}}\,({\rm{mg-to-p-simple-literal}}\,({\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal})\index{untag})\-)\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p-step}}\,({\rm{p-state}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\tt{'}}{\tt{(}}{\tt{mg-simple-constant-eq}}{\tt{ .\ }}{\tt{6}}{\tt{)}})\index{tag}, \\ 
{\rm{push}}\,(\=\+{\rm{p-frame}}\,(\=\+{\rm{list}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{ans}}, \\ 
{\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{x}}, \\ 
{\rm{value}}\,(\=\+{\rm{cadr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\-, \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{y}}, \\ 
{\rm{mg-to-p-simple-literal}}\,({\rm{caddr}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}))\index{mg-to-p-simple-literal})\-)\-, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,({\it{subr\/}}, \=\+{\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length} \\ 
$+$$\;\;\;\;${\tt{4}}\-))\-\index{tag})\-\index{p-frame}, \\ 
{\it{ctrl-stk\/}})\-\index{push}, \\ 
{\rm{rput}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{bool}}, {\tt{'}}{\tt{f}})\index{tag}, \\ 
{\rm{untag}}\,({\rm{value}}\,(\=\+{\rm{car}}\,({\rm{call-actuals}}\,({\it{stmt\/}})\index{call-actuals}), \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings})\-\index{value})\index{untag}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values})\-\index{rput}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,({\rm{cc}}\,({\it{mg-state\/}})\index{cc}, {\it{t-cond-list\/}})\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\index{p-step} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,(\=\+{\it{subr\/}}, \\ 
\=\+{\bf if }{\rm{normal}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{normal} \\ 
{\bf then }{\rm{length}}\,({\rm{code}}\,({\rm{translate}}\,(\=\+{\it{cinfo\/}}, \\ 
{\it{t-cond-list\/}}, \\ 
{\it{stmt\/}}, \\ 
{\it{proc-list\/}})\-\index{translate})\index{code})\index{length} \\ 
{\bf else }{\rm{find-label}}\,(\=\+{\rm{fetch-label}}\,(\=\+{\rm{cc}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{cc}, \\ 
{\rm{label-alist}}\,({\rm{translate}}\,(\=\+{\it{cinfo\/}}, \\ 
{\it{t-cond-list\/}}, \\ 
{\it{stmt\/}}, \\ 
{\it{proc-list\/}})\-\index{translate})\index{label-alist})\-\index{fetch-label}, \\ 
{\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,(\=\+{\it{cinfo\/}}, \\ 
{\it{t-cond-list\/}}, \\ 
{\it{stmt\/}}, \\ 
{\it{proc-list\/}})\-\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\-\index{find-label}$\;${\bf  endif}\-)\-)\-\index{tag}, \\ 
{\it{ctrl-stk\/}}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,(\=\+{\rm{cc}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{cc}, \\ 
{\it{t-cond-list\/}})\-\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mg-simple-constant-eq-exact-time-lemma \\ \index{mg-simple-constant-eq-exact-time!-lemma}
\=\+(\=\+({\it{n\/}} $\not\simeq {\tt{0}}$) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{resources-inadequatep}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{resources-inadequatep}) \\ 
$\wedge$$\;\;\;\;$({\rm{car}}\,({\it{stmt\/}}) $=$ {\tt{'}}{\tt{predefined-proc-call-mg}}) \\ 
$\wedge$$\;\;\;\;$({\rm{call-name}}\,({\it{stmt\/}})\index{call-name} $=$ {\tt{'}}{\tt{mg-simple-constant-eq}}) \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statement}}\,({\it{stmt\/}}, {\it{r-cond-list\/}}, {\it{name-alist\/}}, {\it{proc-list\/}})\index{ok-mg-statement} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-def-plistp}}\,({\it{proc-list\/}})\index{ok-mg-def-plistp} \\ 
$\wedge$$\;\;\;\;${\rm{ok-mg-statep}}\,({\it{mg-state\/}}, {\it{r-cond-list\/}})\index{ok-mg-statep} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{code}}\,({\rm{translate-def-body}}\,({\rm{assoc}}\,({\it{subr\/}}, {\it{proc-list\/}}), {\it{proc-list\/}})\index{translate-def-body})\index{code} \\ 
$=$$\;\;\;\;${\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,({\it{cinfo\/}}, {\it{t-cond-list\/}}, {\it{stmt\/}}, {\it{proc-list\/}})\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\- \\ 
$\wedge$$\;\;\;\;${\rm{user-defined-procp}}\,({\it{subr\/}}, {\it{proc-list\/}})\index{user-defined-procp} \\ 
$\wedge$$\;\;\;\;${\rm{listp}}\,({\it{ctrl-stk\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{all-cars-unique}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{all-cars-unique} \\ 
$\wedge$$\;\;\;\;${\rm{signatures-match}}\,({\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, {\it{name-alist\/}})\index{signatures-match} \\ 
$\wedge$$\;\;\;\;${\rm{mg-vars-list-ok-in-p-state}}\,(\=\+{\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{mg-vars-list-ok-in-p-state} \\ 
$\wedge$$\;\;\;\;${\rm{no-p-aliasing}}\,({\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, {\rm{mg-alist}}\,({\it{mg-state\/}})\index{mg-alist})\index{no-p-aliasing} \\ 
$\wedge$$\;\;\;\;${\rm{normal}}\,({\it{mg-state\/}})\index{normal})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{p}}\,(\=\+{\rm{map-down}}\,(\=\+{\it{mg-state\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{ctrl-stk\/}}, \\ 
{\it{temp-stk\/}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{pc}}, {\rm{cons}}\,({\it{subr\/}}, {\rm{length}}\,({\rm{code}}\,({\it{cinfo\/}})\index{code})\index{length}))\index{tag}, \\ 
{\it{t-cond-list\/}})\-\index{map-down}, \\ 
{\rm{clock}}\,({\it{stmt\/}}, {\it{proc-list\/}}, {\it{mg-state\/}}, {\it{n\/}})\index{clock})\-\index{p} \\ 
$=$$\;\;\;\;${\rm{p-state}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pc}}, \\ 
{\rm{cons}}\,(\=\+{\it{subr\/}}, \\ 
\=\+{\bf if }{\rm{normal}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{normal} \\ 
{\bf then }{\rm{length}}\,({\rm{code}}\,({\rm{translate}}\,(\=\+{\it{cinfo\/}}, \\ 
{\it{t-cond-list\/}}, \\ 
{\it{stmt\/}}, \\ 
{\it{proc-list\/}})\-\index{translate})\index{code})\index{length} \\ 
{\bf else }{\rm{find-label}}\,(\=\+{\rm{fetch-label}}\,(\=\+{\rm{cc}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{cc}, \\ 
{\rm{label-alist}}\,({\rm{translate}}\,(\=\+{\it{cinfo\/}}, \\ 
{\it{t-cond-list\/}}, \\ 
{\it{stmt\/}}, \\ 
{\it{proc-list\/}})\-\index{translate})\index{label-alist})\-\index{fetch-label}, \\ 
{\rm{append}}\,(\=\+{\rm{code}}\,({\rm{translate}}\,(\=\+{\it{cinfo\/}}, \\ 
{\it{t-cond-list\/}}, \\ 
{\it{stmt\/}}, \\ 
{\it{proc-list\/}})\-\index{translate})\index{code}, \\ 
{\it{code2\/}})\-)\-\index{find-label}$\;${\bf  endif}\-)\-)\-\index{tag}, \\ 
{\it{ctrl-stk\/}}, \\ 
{\rm{map-down-values}}\,(\=\+{\rm{mg-alist}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{mg-alist}, \\ 
{\rm{bindings}}\,({\rm{top}}\,({\it{ctrl-stk\/}})\index{top})\index{bindings}, \\ 
{\it{temp-stk\/}})\-\index{map-down-values}, \\ 
{\rm{translate-proc-list}}\,({\it{proc-list\/}})\index{translate-proc-list}, \\ 
{\rm{list}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{c-c}}, \\ 
{\rm{mg-cond-to-p-nat}}\,(\=\+{\rm{cc}}\,({\rm{mg-meaning-r}}\,(\=\+{\it{stmt\/}}, \\ 
{\it{proc-list\/}}, \\ 
{\it{mg-state\/}}, \\ 
{\it{n\/}}, \\ 
{\rm{list}}\,(\=\+{\rm{length}}\,({\it{temp-stk\/}})\index{length}, \\ 
{\rm{p-ctrl-stk-size}}\,({\it{ctrl-stk\/}})\index{p-ctrl-stk-size})\-)\-\index{mg-meaning-r})\index{cc}, \\ 
{\it{t-cond-list\/}})\-\index{mg-cond-to-p-nat})\-), \\ 
{\sc{mg-max-ctrl-stk-size}}\index{mg-max-ctrl-stk-size}, \\ 
{\sc{mg-max-temp-stk-size}}\index{mg-max-temp-stk-size}, \\ 
{\sc{mg-word-size}}\index{mg-word-size}, \\ 
{\tt{'}}{\tt{run}})\-\index{p-state})\-\-
\end{tabbing}


\noindent{\sc Event}:   Make the library {\tt{"c-predefined1"}}.

\addvspace{18pt}

%\end{list}
\printindex
\end{document}
