\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[]

\begin{verbatim};; Modified to remove the calls of DO-MUTUAL, which are now commented out.
;; The forms below them in capital letters are presumably the ones that DO-MUTUAL
;; generated.

;; See also the comment below the DEFN-SK event.

\end{verbatim}
\noindent{\sc Event}:   Start with the library {\tt{"gf"}}.

\addvspace{18pt}

\begin{verbatim}; ********
;  Errors
; ********

\end{verbatim}\begin{tabbing}{\sc Definition}:\index{entry\_not\_boolean\_error} \\  
\=\+{\rm{entry\_not\_boolean\_error}}\,({\it{e\/}}, {\it{sn\/}})\index{entry\_not\_boolean\_error} \\ 
$=$$\;\;\;\;${\rm{mk\_error}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{the}}, \\ 
{\tt{'}}{\tt{entry}}, \\ 
{\tt{'}}{\tt{specification}}, \\ 
{\it{e\/}}, \\ 
{\tt{'}}{\tt{in}}, \\ 
{\tt{'}}{\tt{scope}}, \\ 
{\it{sn\/}}, \\ 
{\tt{'}}{\tt{is}}, \\ 
{\tt{'}}{\tt{not}}, \\ 
{\tt{'}}{\tt{a}}, \\ 
{\tt{'}}{\tt{boolean-valued}}, \\ 
{\tt{'}}{\tt{expression}})\-)\index{mk\_error}\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{exit\_label\_error} \\  
\=\+{\rm{exit\_label\_error}}\,({\it{e\/}}, {\it{sn\/}})\index{exit\_label\_error} \\ 
$=$$\;\;\;\;${\rm{mk\_error}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{the}}, \\ 
{\tt{'}}{\tt{exit}}, \\ 
{\tt{'}}{\tt{specification}}, \\ 
{\it{e\/}}, \\ 
{\tt{'}}{\tt{in}}, \\ 
{\tt{'}}{\tt{scope}}, \\ 
{\it{sn\/}}, \\ 
{\tt{'}}{\tt{has}}, \\ 
{\tt{'}}{\tt{duplicate}}, \\ 
{\tt{'}}{\tt{or}}, \\ 
{\tt{'}}{\tt{unknown}}, \\ 
{\tt{'}}{\tt{exit}}, \\ 
{\tt{'}}{\tt{labels}})\-)\index{mk\_error}\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{exit\_not\_boolean\_error} \\  
\=\+{\rm{exit\_not\_boolean\_error}}\,({\it{e\/}}, {\it{sn\/}})\index{exit\_not\_boolean\_error} \\ 
$=$$\;\;\;\;${\rm{mk\_error}}\,({\rm{list}}\,(\=\+{\tt{'}}{\tt{the}}, \\ 
{\tt{'}}{\tt{exit}}, \\ 
{\tt{'}}{\tt{specification}}, \\ 
{\it{e\/}}, \\ 
{\tt{'}}{\tt{in}}, \\ 
{\tt{'}}{\tt{scope}}, \\ 
{\it{sn\/}}, \\ 
{\tt{'}}{\tt{is}}, \\ 
{\tt{'}}{\tt{not}}, \\ 
{\tt{'}}{\tt{a}}, \\ 
{\tt{'}}{\tt{boolean-valued}}, \\ 
{\tt{'}}{\tt{expression}})\-)\index{mk\_error}\-
\end{tabbing}



\begin{verbatim}; *************************
;  Parse Tree Constructors
; *************************

\end{verbatim}\begin{tabbing}{\sc Definition}:\index{mk\_opt\_condition\_handlers} \\  
\=\+{\rm{mk\_opt\_condition\_handlers}}\,({\it{x\/}})\index{mk\_opt\_condition\_handlers} \\ 
$=$$\;\;\;\;${\rm{mk\_tree}}\,(\=\+{\tt{'}}{\tt{opt\_condition\_handlers}}, \\ 
\=\+{\bf if }{\it{x\/}} $=$ {\bf{nil}}$\;\;${\bf then }{\sc{mk\_empty}}\index{mk\_empty} \\ 
{\bf else }{\it{x\/}}$\;${\bf  endif}\-)\-\index{mk\_tree}\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{mk\_signal\_stmt} \\  
\=\+{\rm{mk\_signal\_stmt}}\,({\it{c\/}})\index{mk\_signal\_stmt} \\ 
$=$$\;\;\;\;${\rm{mk\_tree}}\,(\=\+{\tt{'}}{\tt{signal\_statement}}, \\ 
{\rm{list}}\,({\rm{mk\_reserved\_word}}\,({\tt{'}}{\tt{signal}})\index{mk\_reserved\_word}, {\rm{mk\_identifier}}\,({\it{c\/}})\index{mk\_identifier}))\-\index{mk\_tree}\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{mk\_elif\_into\_if\_statement} \\  
\=\+{\rm{mk\_elif\_into\_if\_statement}}\,({\it{x\/}})\index{mk\_elif\_into\_if\_statement} \\ 
$=$$\;\;\;\;${\rm{mk\_tree}}\,(\=\+{\tt{'}}{\tt{if\_composition}}, \\ 
{\rm{list}}\,(\=\+{\rm{mk\_reserved\_word}}\,({\tt{'}}{\tt{if}})\index{mk\_reserved\_word}, \\ 
{\rm{subtree}}\,({\it{x\/}}, {\tt{'}}{\tt{expression}})\index{subtree}, \\ 
{\rm{mk\_reserved\_word}}\,({\tt{'}}{\tt{then}})\index{mk\_reserved\_word}, \\ 
{\rm{subtree}}\,({\it{x\/}}, {\tt{'}}{\tt{opt\_internal\_statements}})\index{subtree}, \\ 
{\rm{subtree}}\,({\it{x\/}}, {\tt{'}}{\tt{if\_composition\_else\_part}})\index{subtree}, \\ 
{\rm{mk\_opt\_condition\_handlers}}\,({\bf{nil}})\index{mk\_opt\_condition\_handlers}, \\ 
{\rm{mk\_reserved\_word}}\,({\tt{'}}{\tt{end}})\index{mk\_reserved\_word})\-)\-\index{mk\_tree}\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{component\_selectors} \\  
\=\+{\rm{component\_selectors}}\,({\it{m\/}})\index{component\_selectors} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{value\_modifiers}}, {\tt{'}}{\tt{m}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{component\_selectors}}, {\tt{'}}{\tt{s}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{component\_selectors}})\index{subtree} \\ 
{\bf else }{\bf{nil}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{extend\_name\_selectors} \\  
\=\+{\rm{extend\_name\_selectors}}\,({\it{ne\/}}, {\it{cs\/}})\index{extend\_name\_selectors} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{root}}\,({\it{cs\/}})\index{root} $\not=$ {\tt{'}}{\tt{component\_selectors}}$\;\;${\bf then }{\bf{nil}} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{ne\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{name\_expression}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{identifier}}, {\tt{'}}{\tt{i}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mk\_tree}}\,(\=\+{\tt{'}}{\tt{name\_expression}}, \\ 
{\rm{list}}\,(\=\+{\rm{subtree}}\,({\it{ne\/}}, {\tt{'}}{\tt{identifier}})\index{subtree}, \\ 
{\rm{mk\_tree}}\,({\tt{'}}{\tt{selector\_list}}, {\it{cs\/}})\index{mk\_tree})\-)\-\index{mk\_tree} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{ne\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{name\_expression}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{identifier}}, {\tt{'}}{\tt{i}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{selector\_list}}, {\tt{'}}{\tt{ss}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mk\_tree}}\,(\=\+{\tt{'}}{\tt{name\_expression}}, \\ 
{\rm{list}}\,(\=\+{\rm{subtree}}\,({\it{ne\/}}, {\tt{'}}{\tt{identifier}})\index{subtree}, \\ 
{\rm{mk\_tree}}\,(\=\+{\tt{'}}{\tt{selector\_list}}, \\ 
{\rm{list}}\,({\rm{subtree}}\,({\it{ne\/}}, {\tt{'}}{\tt{selector\_list}})\index{subtree}, {\it{cs\/}}))\-\index{mk\_tree})\-)\-\index{mk\_tree} \\ 
{\bf else }{\bf{nil}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{mk\_name\_expression} \\  
\=\+{\rm{mk\_name\_expression}}\,({\it{e\/}})\index{mk\_name\_expression} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{root}}\,({\it{e\/}})\index{root} $=$ {\tt{'}}{\tt{name\_expression}}$\;\;${\bf then }{\it{e\/}} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{modified\_primary\_value}}, {\tt{'}}{\tt{m}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mk\_name\_expression}}\,({\rm{subtree}}\,({\it{e\/}}, {\tt{'}}{\tt{modified\_primary\_value}})\index{subtree})\index{mk\_name\_expression} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{modified\_primary\_value}}, {\tt{'}}{\tt{m}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{primary\_value}}, {\tt{'}}{\tt{p}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mk\_name\_expression}}\,({\rm{subtree}}\,({\it{e\/}}, {\tt{'}}{\tt{primary\_value}})\index{subtree})\index{mk\_name\_expression} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{modified\_primary\_value}}, {\tt{'}}{\tt{m}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{modified\_primary\_value}}, {\tt{'}}{\tt{m2}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{value\_modifiers}}, {\tt{'}}{\tt{vm}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{extend\_name\_selectors}}\,(\=\+{\rm{mk\_name\_expression}}\,({\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{modified\_primary\_value}})\-\index{subtree})\index{mk\_name\_expression}, \\ 
{\rm{component\_selectors}}\,({\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{value\_modifiers}})\-\index{subtree})\index{component\_selectors})\-\index{extend\_name\_selectors} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{primary\_value}}, {\tt{'}}{\tt{p}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{identifier}}, {\tt{'}}{\tt{on}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mk\_name\_expression}}\,({\rm{subtree}}\,({\it{e\/}}, {\tt{'}}{\tt{identifier}})\index{subtree})\index{mk\_name\_expression} \\ 
{\bf elseif }{\rm{identifierp}}\,({\it{e\/}})\index{identifierp}$\;\;${\bf then }{\rm{mk\_tree}}\,({\tt{'}}{\tt{name\_expression}}, {\it{e\/}})\index{mk\_tree} \\ 
{\bf else }{\bf{nil}}$\;${\bf  endif}\-\-
\end{tabbing}



\begin{verbatim}; ************************************************
;  Parse Tree Extraction and Recognizer Functions
; ************************************************

\end{verbatim}\begin{tabbing}{\sc Definition}:\index{case\_labels} \\  
\=\+{\rm{case\_labels}}\,({\it{m\/}})\index{case\_labels} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{case\_composition}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{case}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{case\_composition\_body}}, {\tt{'}}{\tt{b}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_condition\_handlers}}, {\tt{'}}{\tt{c}})\index{tag}, \\ 
{\tt{'}}{\tt{end}})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{case\_labels}}\,({\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{case\_composition\_body}})\index{subtree})\index{case\_labels} \\ 
{\bf elseif }{\rm{rule}}\,({\it{m\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{case\_composition\_body}}, {\tt{'}}{\tt{b}})\index{tag}, {\tt{'}}{\tt{empty}})\index{prodn})\index{rule} \\ 
{\bf then }{\bf{nil}} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{case\_composition\_body}}, {\tt{'}}{\tt{b}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{else}}, \\ 
{\tt{'}}{\tt{colon}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_internal\_statements}}, {\tt{'}}{\tt{ss}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\bf{nil}} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{case\_composition\_body}}, {\tt{'}}{\tt{b}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{is}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{case\_labels}}, {\tt{'}}{\tt{cs}})\index{tag}, \\ 
{\tt{'}}{\tt{colon}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_internal\_statements}}, {\tt{'}}{\tt{ss}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{case\_composition\_body}}, {\tt{'}}{\tt{b2}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{append}}\,(\=\+{\rm{case\_labels}}\,({\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{case\_labels}})\index{subtree})\index{case\_labels}, \\ 
{\rm{case\_labels}}\,({\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{case\_composition\_body}})\index{subtree})\index{case\_labels})\- \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{case\_labels}}, {\tt{'}}{\tt{cs}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{pre\_computable\_label\_expression}}, {\tt{'}}{\tt{e}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{rcons}}\,({\bf{nil}}, {\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{pre\_computable\_label\_expression}})\index{subtree})\index{rcons} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{case\_labels}}, {\tt{'}}{\tt{cs}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{case\_labels}}, {\tt{'}}{\tt{cs2}})\index{tag}, \\ 
{\tt{'}}{\tt{comma}}, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pre\_computable\_label\_expression}}, \\ 
{\tt{'}}{\tt{e}})\-\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{rcons}}\,(\=\+{\rm{case\_labels}}\,({\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{case\_labels}})\index{subtree})\index{case\_labels}, \\ 
{\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{pre\_computable\_label\_expression}})\index{subtree})\-\index{rcons} \\ 
{\bf else }{\bf{nil}}$\;${\bf  endif}\-\-
\end{tabbing}


\begin{tabbing}{\sc Definition}:\index{constant\_body} \\  
\=\+{\rm{constant\_body}}\,({\it{u\/}})\index{constant\_body} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{rule}}\,(\=\+{\it{u\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{constant\_declaration}}, {\tt{'}}{\tt{d}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{const}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{identifier}}, {\tt{'}}{\tt{cn}})\index{tag}, \\ 
{\tt{'}}{\tt{colon}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{type\_specification}}, {\tt{'}}{\tt{rt}})\index{tag}, \\ 
{\tt{'}}{\tt{colon\_equal}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{constant\_body}}, {\tt{'}}{\tt{b}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{subtree}}\,({\it{u\/}}, {\tt{'}}{\tt{constant\_body}})\index{subtree} \\ 
{\bf else }{\bf{nil}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{id\_list} \\  
\=\+{\rm{id\_list}}\,({\it{d\/}})\index{id\_list} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{rule}}\,(\=\+{\it{d\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{identifier\_list}}, {\tt{'}}{\tt{is}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{identifier\_list}}, {\tt{'}}{\tt{is2}})\index{tag}, \\ 
{\tt{'}}{\tt{comma}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{identifier}}, {\tt{'}}{\tt{i}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{rcons}}\,(\=\+{\rm{id\_list}}\,({\rm{subtree}}\,({\it{d\/}}, {\tt{'}}{\tt{identifier\_list}})\index{subtree})\index{id\_list}, \\ 
{\rm{id\_list}}\,({\rm{subtree}}\,({\it{d\/}}, {\tt{'}}{\tt{identifier}})\index{subtree})\index{id\_list})\-\index{rcons} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{d\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{identifier\_list}}, {\tt{'}}{\tt{is}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{identifier}}, {\tt{'}}{\tt{i}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{rcons}}\,({\bf{nil}}, {\rm{id\_list}}\,({\rm{subtree}}\,({\it{d\/}}, {\tt{'}}{\tt{identifier}})\index{subtree})\index{id\_list})\index{rcons} \\ 
{\bf elseif }{\rm{identifierp}}\,({\it{d\/}})\index{identifierp}$\;\;${\bf then }{\rm{gname}}\,({\it{d\/}})\index{gname} \\ 
{\bf else }{\bf{nil}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{actual\_cargs} \\  
\=\+{\rm{actual\_cargs}}\,({\it{m\/}})\index{actual\_cargs} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{procedure\_statement}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{identifier}}, {\tt{'}}{\tt{pn}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{arg\_list}}, {\tt{'}}{\tt{dp}})\index{tag}, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{opt\_actual\_condition\_parameters}}, \\ 
{\tt{'}}{\tt{cp}})\-\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{actual\_cargs}}\,({\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{opt\_actual\_condition\_parameters}})\-\index{subtree})\index{actual\_cargs} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{modified\_primary\_value}}, {\tt{'}}{\tt{m}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{modified\_primary\_value}}, {\tt{'}}{\tt{m2}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{actual\_condition\_parameters}}, {\tt{'}}{\tt{cp}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{actual\_cargs}}\,({\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{actual\_condition\_parameters}})\index{subtree})\index{actual\_cargs} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{opt\_actual\_condition\_parameters}}, {\tt{'}}{\tt{cp}})\index{tag}, \\ 
{\tt{'}}{\tt{empty}})\-\index{prodn})\-\index{rule}$\;\;${\bf then }{\bf{nil}} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{opt\_actual\_condition\_parameters}}, {\tt{'}}{\tt{cp}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{actual\_condition\_parameters}}, {\tt{'}}{\tt{cp2}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{actual\_cargs}}\,({\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{actual\_condition\_parameters}})\index{subtree})\index{actual\_cargs} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{actual\_condition\_parameters}}, {\tt{'}}{\tt{cp}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{unless}}, \\ 
{\tt{'}}{\tt{open\_paren}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_group\_name}}, {\tt{'}}{\tt{g}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{identifier\_list}}, {\tt{'}}{\tt{is}})\index{tag}, \\ 
{\tt{'}}{\tt{close\_paren}})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{id\_list}}\,({\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{identifier\_list}})\index{subtree})\index{id\_list} \\ 
{\bf else }{\bf{nil}}$\;${\bf  endif}\-\-
\end{tabbing}


\begin{tabbing}{\sc Definition}:\index{actual\_dargs} \\  
\=\+{\rm{actual\_dargs}}\,({\it{m\/}})\index{actual\_dargs} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{procedure\_statement}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{identifier}}, {\tt{'}}{\tt{pn}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{arg\_list}}, {\tt{'}}{\tt{dp}})\index{tag}, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{opt\_actual\_condition\_parameters}}, \\ 
{\tt{'}}{\tt{cp}})\-\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{actual\_dargs}}\,({\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{arg\_list}})\index{subtree})\index{actual\_dargs} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{arg\_list}}, {\tt{'}}{\tt{as}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{open\_paren}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{value\_list}}, {\tt{'}}{\tt{vs}})\index{tag}, \\ 
{\tt{'}}{\tt{close\_paren}})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{actual\_dargs}}\,({\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{value\_list}})\index{subtree})\index{actual\_dargs} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{value\_list}}, {\tt{'}}{\tt{vs}})\index{tag}, {\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e}})\index{tag})\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{rcons}}\,({\bf{nil}}, {\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{expression}})\index{subtree})\index{rcons} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{value\_list}}, {\tt{'}}{\tt{vs}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{value\_list}}, {\tt{'}}{\tt{vs2}})\index{tag}, \\ 
{\tt{'}}{\tt{comma}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{rcons}}\,(\=\+{\rm{actual\_dargs}}\,({\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{value\_list}})\index{subtree})\index{actual\_dargs}, \\ 
{\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{expression}})\index{subtree})\-\index{rcons} \\ 
{\bf else }{\bf{nil}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{formal\_cargs} \\  
\=\+{\rm{formal\_cargs}}\,({\it{u\/}})\index{formal\_cargs} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{rule}}\,(\=\+{\it{u\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{procedure\_declaration}}, {\tt{'}}{\tt{d}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{procedure}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{identifier}}, {\tt{'}}{\tt{pn}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{external\_data\_objects}}, {\tt{'}}{\tt{a}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_external\_conditions}}, {\tt{'}}{\tt{c}})\index{tag}, \\ 
{\tt{'}}{\tt{equal}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{procedure\_body}}, {\tt{'}}{\tt{b}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{formal\_cargs}}\,({\rm{subtree}}\,({\it{u\/}}, {\tt{'}}{\tt{opt\_external\_conditions}})\index{subtree})\index{formal\_cargs} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{u\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{function\_declaration}}, {\tt{'}}{\tt{d}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{function}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{identifier}}, {\tt{'}}{\tt{fn}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_external\_data\_objects}}, {\tt{'}}{\tt{a}})\index{tag}, \\ 
{\tt{'}}{\tt{colon}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{type\_specification}}, {\tt{'}}{\tt{rt}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_external\_conditions}}, {\tt{'}}{\tt{c}})\index{tag}, \\ 
{\tt{'}}{\tt{equal}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{procedure\_body}}, {\tt{'}}{\tt{b}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{formal\_cargs}}\,({\rm{subtree}}\,({\it{u\/}}, {\tt{'}}{\tt{opt\_external\_conditions}})\index{subtree})\index{formal\_cargs} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{u\/}}, \\ 
{\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{opt\_external\_conditions}}, {\tt{'}}{\tt{c}})\index{tag}, {\tt{'}}{\tt{empty}})\index{prodn})\-\index{rule} \\ 
{\bf then }{\bf{nil}} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{u\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{opt\_external\_conditions}}, {\tt{'}}{\tt{c}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{unless}}, \\ 
{\tt{'}}{\tt{open\_paren}}, \\ 
{\tt{'}}{\tt{cond}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{identifier\_list}}, {\tt{'}}{\tt{is}})\index{tag}, \\ 
{\tt{'}}{\tt{close\_paren}})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{id\_list}}\,({\rm{subtree}}\,({\it{u\/}}, {\tt{'}}{\tt{identifier\_list}})\index{subtree})\index{id\_list} \\ 
{\bf else }{\bf{nil}}$\;${\bf  endif}\-\-
\end{tabbing}


\begin{tabbing}{\sc Definition}:\index{exit\_labels} \\  
\=\+{\rm{exit\_labels}}\,({\it{e\/}})\index{exit\_labels} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{rule}}\,({\it{e\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{opt\_exit\_specification}}, {\tt{'}}{\tt{e}})\index{tag}, {\tt{'}}{\tt{empty}})\index{prodn})\index{rule} \\ 
{\bf then }{\bf{nil}} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{opt\_exit\_specification}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{exit}}, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{non\_validated\_specification\_expression}}, \\ 
{\tt{'}}{\tt{se}})\-\index{tag}, \\ 
{\tt{'}}{\tt{semi\_colon}})\-)\-\index{prodn})\-\index{rule}$\;\;${\bf then }{\bf{nil}} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{opt\_exit\_specification}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{exit}}, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{conditional\_exit\_specification}}, \\ 
{\tt{'}}{\tt{c}})\-\index{tag}, \\ 
{\tt{'}}{\tt{semi\_colon}})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{exit\_labels}}\,({\rm{subtree}}\,({\it{e\/}}, {\tt{'}}{\tt{conditional\_exit\_specification}})\index{subtree})\index{exit\_labels} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{conditional\_exit\_specification}}, {\tt{'}}{\tt{c}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{case}}, \\ 
{\tt{'}}{\tt{open\_paren}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{case\_exit\_body}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\tt{'}}{\tt{close\_paren}})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{exit\_labels}}\,({\rm{subtree}}\,({\it{e\/}}, {\tt{'}}{\tt{case\_exit\_body}})\index{subtree})\index{exit\_labels} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{case\_exit\_body}}, {\tt{'}}{\tt{b}})\index{tag}, {\rm{tag}}\,({\tt{'}}{\tt{case\_exit}}, {\tt{'}}{\tt{c}})\index{tag})\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{exit\_labels}}\,({\rm{subtree}}\,({\it{e\/}}, {\tt{'}}{\tt{case\_exit}})\index{subtree})\index{exit\_labels} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{case\_exit\_body}}, {\tt{'}}{\tt{b}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{case\_exit\_body}}, {\tt{'}}{\tt{b2}})\index{tag}, \\ 
{\tt{'}}{\tt{semi\_colon}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{case\_exit}}, {\tt{'}}{\tt{c}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{append}}\,(\=\+{\rm{exit\_labels}}\,({\rm{subtree}}\,({\it{e\/}}, {\tt{'}}{\tt{case\_exit\_body}})\index{subtree})\index{exit\_labels}, \\ 
{\rm{exit\_labels}}\,({\rm{subtree}}\,({\it{e\/}}, {\tt{'}}{\tt{case\_exit}})\index{subtree})\index{exit\_labels})\- \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{case\_exit}}, {\tt{'}}{\tt{ce}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{is}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{case\_exit\_labels}}, {\tt{'}}{\tt{l}})\index{tag}, \\ 
{\tt{'}}{\tt{colon}}, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{non\_validated\_specification\_expression}}, \\ 
{\tt{'}}{\tt{e}})\-\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{exit\_labels}}\,({\rm{subtree}}\,({\it{e\/}}, {\tt{'}}{\tt{case\_exit\_labels}})\index{subtree})\index{exit\_labels} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{case\_exit\_labels}}, {\tt{'}}{\tt{ls}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{case\_exit\_labels}}, {\tt{'}}{\tt{ls2}})\index{tag}, \\ 
{\tt{'}}{\tt{comma}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{exit\_label}}, {\tt{'}}{\tt{l}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{append}}\,(\=\+{\rm{exit\_labels}}\,({\rm{subtree}}\,({\it{e\/}}, {\tt{'}}{\tt{case\_exit\_labels}})\index{subtree})\index{exit\_labels}, \\ 
{\rm{exit\_labels}}\,({\rm{subtree}}\,({\it{e\/}}, {\tt{'}}{\tt{exit\_label}})\index{subtree})\index{exit\_labels})\- \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{case\_exit\_labels}}, {\tt{'}}{\tt{ls}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{exit\_label}}, {\tt{'}}{\tt{l}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{exit\_labels}}\,({\rm{subtree}}\,({\it{e\/}}, {\tt{'}}{\tt{exit\_label}})\index{subtree})\index{exit\_labels} \\ 
{\bf elseif }{\rm{rule}}\,({\it{e\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{exit\_label}}, {\tt{'}}{\tt{l}})\index{tag}, {\rm{tag}}\,({\tt{'}}{\tt{identifier}}, {\tt{'}}{\tt{n}})\index{tag})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{exit\_labels}}\,({\rm{subtree}}\,({\it{e\/}}, {\tt{'}}{\tt{identifier}})\index{subtree})\index{exit\_labels} \\ 
{\bf elseif }{\rm{rule}}\,({\it{e\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{exit\_label}}, {\tt{'}}{\tt{l}})\index{tag}, {\tt{'}}{\tt{normal}})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{list}}\,({\tt{'}}{\tt{normal}}) \\ 
{\bf elseif }{\rm{identifierp}}\,({\it{e\/}})\index{identifierp}$\;\;${\bf then }{\rm{list}}\,({\rm{gname}}\,({\it{e\/}})\index{gname}) \\ 
{\bf else }{\bf{nil}}$\;${\bf  endif}\-\-
\end{tabbing}


\begin{tabbing}{\sc Definition}:\index{exit\_spec} \\  
\=\+{\rm{exit\_spec}}\,({\it{u\/}})\index{exit\_spec} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{rule}}\,(\=\+{\it{u\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{procedure\_declaration}}, {\tt{'}}{\tt{d}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{procedure}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{identifier}}, {\tt{'}}{\tt{pn}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{external\_data\_objects}}, {\tt{'}}{\tt{a}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_external\_conditions}}, {\tt{'}}{\tt{c}})\index{tag}, \\ 
{\tt{'}}{\tt{equal}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{procedure\_body}}, {\tt{'}}{\tt{b}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{exit\_spec}}\,({\rm{subtree}}\,({\it{u\/}}, {\tt{'}}{\tt{procedure\_body}})\index{subtree})\index{exit\_spec} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{u\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{function\_declaration}}, {\tt{'}}{\tt{d}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{function}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{identifier}}, {\tt{'}}{\tt{fn}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_external\_data\_objects}}, {\tt{'}}{\tt{a}})\index{tag}, \\ 
{\tt{'}}{\tt{colon}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{type\_specification}}, {\tt{'}}{\tt{rt}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_external\_conditions}}, {\tt{'}}{\tt{c}})\index{tag}, \\ 
{\tt{'}}{\tt{equal}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{procedure\_body}}, {\tt{'}}{\tt{b}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{exit\_spec}}\,({\rm{subtree}}\,({\it{u\/}}, {\tt{'}}{\tt{procedure\_body}})\index{subtree})\index{exit\_spec} \\ 
{\bf elseif }{\rm{rule}}\,({\it{u\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{procedure\_body}}, {\tt{'}}{\tt{b}})\index{tag}, {\tt{'}}{\tt{pending}})\index{prodn})\index{rule} \\ 
{\bf then }{\bf{nil}} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{u\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{procedure\_body}}, {\tt{'}}{\tt{b}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{begin}}, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{external\_operational\_specification}}, \\ 
{\tt{'}}{\tt{es}})\-\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_internal\_environment}}, {\tt{'}}{\tt{iv}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_keep\_specification}}, {\tt{'}}{\tt{k}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_internal\_statements}}, {\tt{'}}{\tt{st}})\index{tag}, \\ 
{\tt{'}}{\tt{end}})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{exit\_spec}}\,({\rm{subtree}}\,(\=\+{\it{u\/}}, \\ 
{\tt{'}}{\tt{external\_operational\_specification}})\-\index{subtree})\index{exit\_spec} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{u\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{external\_operational\_specification}}, \\ 
{\tt{'}}{\tt{s}})\-\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{opt\_entry\_specification}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_exit\_specification}}, {\tt{'}}{\tt{x}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{subtree}}\,({\it{u\/}}, {\tt{'}}{\tt{opt\_exit\_specification}})\index{subtree} \\ 
{\bf elseif }{\rm{rule}}\,({\it{u\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{opt\_exit\_specification}}, {\tt{'}}{\tt{e}})\index{tag}, {\tt{'}}{\tt{empty}})\index{prodn})\index{rule} \\ 
{\bf then }{\it{u\/}} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{u\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{opt\_exit\_specification}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{exit}}, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{non\_validated\_specification\_expression}}, \\ 
{\tt{'}}{\tt{se}})\-\index{tag}, \\ 
{\tt{'}}{\tt{semi\_colon}})\-)\-\index{prodn})\-\index{rule}$\;\;${\bf then }{\it{u\/}} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{u\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{opt\_exit\_specification}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{exit}}, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{conditional\_exit\_specification}}, \\ 
{\tt{'}}{\tt{c}})\-\index{tag}, \\ 
{\tt{'}}{\tt{semi\_colon}})\-)\-\index{prodn})\-\index{rule}$\;\;${\bf then }{\it{u\/}} \\ 
{\bf else }{\bf{nil}}$\;${\bf  endif}\-\-
\end{tabbing}


\begin{tabbing}{\sc Definition}:\index{handler} \\  
\=\+{\rm{handler}}\,({\it{m\/}}, {\it{c\/}})\index{handler} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{rule}}\,({\it{m\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{opt\_condition\_handlers}}, {\tt{'}}{\tt{c}})\index{tag}, {\tt{'}}{\tt{empty}})\index{prodn})\index{rule} \\ 
{\bf then }{\bf{nil}} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{opt\_condition\_handlers}}, {\tt{'}}{\tt{c}})\index{tag}, \\ 
{\rm{list}}\,({\tt{'}}{\tt{when}}, {\rm{tag}}\,({\tt{'}}{\tt{opt\_handler\_list}}, {\tt{'}}{\tt{hs}})\index{tag}))\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{handler}}\,({\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{opt\_handler\_list}})\index{subtree}, {\it{c\/}})\index{handler} \\ 
{\bf elseif }{\rm{rule}}\,({\it{m\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{opt\_handler\_list}}, {\tt{'}}{\tt{hs}})\index{tag}, {\tt{'}}{\tt{empty}})\index{prodn})\index{rule} \\ 
{\bf then }{\bf{nil}} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{opt\_handler\_list}}, {\tt{'}}{\tt{hs}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{handler\_list}}, {\tt{'}}{\tt{hs2}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{handler}}\,({\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{handler\_list}})\index{subtree}, {\it{c\/}})\index{handler} \\ 
{\bf elseif }{\rm{rule}}\,({\it{m\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{handler\_list}}, {\tt{'}}{\tt{hs}})\index{tag}, {\rm{tag}}\,({\tt{'}}{\tt{handler}}, {\tt{'}}{\tt{h}})\index{tag})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{handler}}\,({\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{handler}})\index{subtree}, {\it{c\/}})\index{handler} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{handler\_list}}, {\tt{'}}{\tt{hs}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{handler\_list}}, {\tt{'}}{\tt{hs2}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{handler}}, {\tt{'}}{\tt{h}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{handler}}\,({\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{handler\_list}})\index{subtree}, {\it{c\/}})\index{handler}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\it{r\/}} $=$ {\bf{nil}}$\;\;${\bf then }{\rm{handler}}\,({\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{handler}})\index{subtree}, {\it{c\/}})\index{handler} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\- \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{handler}}, {\tt{'}}{\tt{h}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{is}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{identifier\_list}}, {\tt{'}}{\tt{cs}})\index{tag}, \\ 
{\tt{'}}{\tt{colon}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_internal\_statements}}, {\tt{'}}{\tt{s}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }\=\+{\bf if }{\it{c\/}} $\in$ {\rm{id\_list}}\,({\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{identifier\_list}})\index{subtree})\index{id\_list} \\ 
{\bf then }{\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{opt\_internal\_statements}})\index{subtree} \\ 
{\bf else }{\bf{nil}}$\;${\bf  endif}\- \\ 
{\bf else }{\bf{nil}}$\;${\bf  endif}\-\-
\end{tabbing}


\begin{tabbing}{\sc Definition}:\index{handler\_labels} \\  
\=\+{\rm{handler\_labels}}\,({\it{m\/}})\index{handler\_labels} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{rule}}\,({\it{m\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{opt\_condition\_handlers}}, {\tt{'}}{\tt{c}})\index{tag}, {\tt{'}}{\tt{empty}})\index{prodn})\index{rule} \\ 
{\bf then }{\bf{nil}} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{opt\_condition\_handlers}}, {\tt{'}}{\tt{c}})\index{tag}, \\ 
{\rm{list}}\,({\tt{'}}{\tt{when}}, {\rm{tag}}\,({\tt{'}}{\tt{opt\_handler\_list}}, {\tt{'}}{\tt{hs}})\index{tag}))\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{handler\_labels}}\,({\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{opt\_handler\_list}})\index{subtree})\index{handler\_labels} \\ 
{\bf elseif }{\rm{rule}}\,({\it{m\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{opt\_handler\_list}}, {\tt{'}}{\tt{hs}})\index{tag}, {\tt{'}}{\tt{empty}})\index{prodn})\index{rule} \\ 
{\bf then }{\bf{nil}} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{opt\_handler\_list}}, {\tt{'}}{\tt{hs}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{handler\_list}}, {\tt{'}}{\tt{hs2}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{handler\_labels}}\,({\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{handler\_list}})\index{subtree})\index{handler\_labels} \\ 
{\bf elseif }{\rm{rule}}\,({\it{m\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{handler\_list}}, {\tt{'}}{\tt{hs}})\index{tag}, {\rm{tag}}\,({\tt{'}}{\tt{handler}}, {\tt{'}}{\tt{h}})\index{tag})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{handler\_labels}}\,({\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{handler}})\index{subtree})\index{handler\_labels} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{handler\_list}}, {\tt{'}}{\tt{hs}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{handler\_list}}, {\tt{'}}{\tt{hs2}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{handler}}, {\tt{'}}{\tt{h}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{append}}\,(\=\+{\rm{handler\_labels}}\,({\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{handler\_list}})\index{subtree})\index{handler\_labels}, \\ 
{\rm{handler\_labels}}\,({\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{handler}})\index{subtree})\index{handler\_labels})\- \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{handler}}, {\tt{'}}{\tt{h}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{is}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{identifier\_list}}, {\tt{'}}{\tt{cs}})\index{tag}, \\ 
{\tt{'}}{\tt{colon}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_internal\_statements}}, {\tt{'}}{\tt{s}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{id\_list}}\,({\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{identifier\_list}})\index{subtree})\index{id\_list} \\ 
{\bf else }{\bf{nil}}$\;${\bf  endif}\-\-
\end{tabbing}


\begin{tabbing}{\sc Definition}:\index{internal\_initial\_value\_exp} \\  
\=\+{\rm{internal\_initial\_value\_exp}}\,({\it{m\/}})\index{internal\_initial\_value\_exp} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{internal\_data\_or\_condition\_objects}}, {\tt{'}}{\tt{iv}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{access\_specification}}, {\tt{'}}{\tt{a}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{identifier\_list}}, {\tt{'}}{\tt{is}})\index{tag}, \\ 
{\tt{'}}{\tt{colon}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{type\_specification}}, {\tt{'}}{\tt{ts}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_internal\_initial\_value}}, {\tt{'}}{\tt{v}})\index{tag}, \\ 
{\tt{'}}{\tt{semi\_colon}})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{internal\_initial\_value\_exp}}\,({\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{opt\_internal\_initial\_value}})\-\index{subtree})\index{internal\_initial\_value\_exp} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{opt\_internal\_initial\_value}}, {\tt{'}}{\tt{v}})\index{tag}, \\ 
{\tt{'}}{\tt{empty}})\-\index{prodn})\-\index{rule}$\;\;${\bf then }{\bf{nil}} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{opt\_internal\_initial\_value}}, {\tt{'}}{\tt{v}})\index{tag}, \\ 
{\rm{list}}\,({\tt{'}}{\tt{colon\_equal}}, {\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e}})\index{tag}))\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{expression}})\index{subtree} \\ 
{\bf else }{\bf{nil}}$\;${\bf  endif}\-\-
\end{tabbing}


\begin{tabbing}{\sc Definition}:\index{keep\_spec} \\  
\=\+{\rm{keep\_spec}}\,({\it{u\/}})\index{keep\_spec} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{rule}}\,(\=\+{\it{u\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{procedure\_declaration}}, {\tt{'}}{\tt{d}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{procedure}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{identifier}}, {\tt{'}}{\tt{pn}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{external\_data\_objects}}, {\tt{'}}{\tt{a}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_external\_conditions}}, {\tt{'}}{\tt{c}})\index{tag}, \\ 
{\tt{'}}{\tt{equal}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{procedure\_body}}, {\tt{'}}{\tt{b}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{keep\_spec}}\,({\rm{subtree}}\,({\it{u\/}}, {\tt{'}}{\tt{procedure\_body}})\index{subtree})\index{keep\_spec} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{u\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{function\_declaration}}, {\tt{'}}{\tt{d}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{function}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{identifier}}, {\tt{'}}{\tt{fn}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_external\_data\_objects}}, {\tt{'}}{\tt{a}})\index{tag}, \\ 
{\tt{'}}{\tt{colon}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{type\_specification}}, {\tt{'}}{\tt{rt}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_external\_conditions}}, {\tt{'}}{\tt{c}})\index{tag}, \\ 
{\tt{'}}{\tt{equal}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{procedure\_body}}, {\tt{'}}{\tt{b}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{keep\_spec}}\,({\rm{subtree}}\,({\it{u\/}}, {\tt{'}}{\tt{procedure\_body}})\index{subtree})\index{keep\_spec} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{u\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{procedure\_body}}, {\tt{'}}{\tt{b}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{begin}}, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{external\_operational\_specification}}, \\ 
{\tt{'}}{\tt{es}})\-\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_internal\_environment}}, {\tt{'}}{\tt{iv}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_keep\_specification}}, {\tt{'}}{\tt{k}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_internal\_statements}}, {\tt{'}}{\tt{st}})\index{tag}, \\ 
{\tt{'}}{\tt{end}})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{keep\_spec}}\,({\rm{subtree}}\,({\it{u\/}}, {\tt{'}}{\tt{opt\_keep\_specification}})\index{subtree})\index{keep\_spec} \\ 
{\bf elseif }{\rm{rule}}\,({\it{u\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{opt\_keep\_specification}}, {\tt{'}}{\tt{k}})\index{tag}, {\tt{'}}{\tt{empty}})\index{prodn})\index{rule} \\ 
{\bf then }{\sc{mk\_true\_expression}}\index{mk\_true\_expression} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{u\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{opt\_keep\_specification}}, {\tt{'}}{\tt{k}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{keep}}, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{non\_validated\_specification\_expression}}, \\ 
{\tt{'}}{\tt{se}})\-\index{tag}, \\ 
{\tt{'}}{\tt{semi\_colon}})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{keep\_spec}}\,({\rm{subtree}}\,(\=\+{\it{u\/}}, \\ 
{\tt{'}}{\tt{non\_validated\_specification\_expression}})\-\index{subtree})\index{keep\_spec} \\ 
{\bf elseif }\=\+{\rm{rule}}\,(\=\+{\it{u\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{non\_validated\_specification\_expression}}, \\ 
{\tt{'}}{\tt{se}})\-\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{open\_paren}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{proof\_directive}}, {\tt{'}}{\tt{d}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\tt{'}}{\tt{close\_paren}})\-)\-\index{prodn})\-\index{rule} \\ 
$\vee$$\;\;\;\;${\rm{rule}}\,(\=\+{\it{u\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{non\_validated\_specification\_expression}}, \\ 
{\tt{'}}{\tt{se}})\-\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{proof\_directive}}, {\tt{'}}{\tt{d}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
$\vee$$\;\;\;\;${\rm{rule}}\,(\=\+{\it{u\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{non\_validated\_specification\_expression}}, \\ 
{\tt{'}}{\tt{se}})\-\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e}})\index{tag})\-\index{prodn})\-\index{rule}\- \\ 
{\bf then }{\rm{subtree}}\,({\it{u\/}}, {\tt{'}}{\tt{expression}})\index{subtree} \\ 
{\bf else }{\bf{nil}}$\;${\bf  endif}\-\-
\end{tabbing}


\begin{tabbing}{\sc Definition}:\index{if\_statement\_else\_part} \\  
\=\+{\rm{if\_statement\_else\_part}}\,({\it{s\/}})\index{if\_statement\_else\_part} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{rule}}\,(\=\+{\it{s\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{if\_composition}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{if}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{b}})\index{tag}, \\ 
{\tt{'}}{\tt{then}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_internal\_statements}}, {\tt{'}}{\tt{ss}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{if\_composition\_else\_part}}, {\tt{'}}{\tt{ep}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_condition\_handlers}}, {\tt{'}}{\tt{cs}})\index{tag}, \\ 
{\tt{'}}{\tt{end}})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{if\_statement\_else\_part}}\,({\rm{subtree}}\,(\=\+{\it{s\/}}, \\ 
{\tt{'}}{\tt{if\_composition\_else\_part}})\-\index{subtree})\index{if\_statement\_else\_part} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{s\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{if\_composition\_else\_part}}, {\tt{'}}{\tt{ep}})\index{tag}, \\ 
{\tt{'}}{\tt{empty}})\-\index{prodn})\-\index{rule}$\;\;${\bf then }{\bf{nil}} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{s\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{if\_composition\_else\_part}}, {\tt{'}}{\tt{ep}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{else}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_internal\_statements}}, {\tt{'}}{\tt{ss}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{subtree}}\,({\it{s\/}}, {\tt{'}}{\tt{opt\_internal\_statements}})\index{subtree} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{s\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{if\_composition\_else\_part}}, {\tt{'}}{\tt{ep}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{elif}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{b}})\index{tag}, \\ 
{\tt{'}}{\tt{then}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_internal\_statements}}, {\tt{'}}{\tt{ss}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{if\_composition\_else\_part}}, {\tt{'}}{\tt{ep2}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mk\_elif\_into\_if\_statement}}\,({\it{s\/}})\index{mk\_elif\_into\_if\_statement} \\ 
{\bf else }{\bf{nil}}$\;${\bf  endif}\-\-
\end{tabbing}


\begin{tabbing}{\sc Definition}:\index{new\_name\_arg} \\  
\=\+{\rm{new\_name\_arg}}\,({\it{m\/}})\index{new\_name\_arg} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{move\_statement}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{move}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{removable\_component}}, {\tt{'}}{\tt{c}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{component\_destination}}, {\tt{'}}{\tt{d}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{new\_name\_arg}}\,({\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{component\_destination}})\index{subtree})\index{new\_name\_arg} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{component\_destination}}, {\tt{'}}{\tt{d}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{new\_dynamic\_variable\_component}}, {\tt{'}}{\tt{dc}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{new\_name\_arg}}\,({\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{new\_dynamic\_variable\_component}})\index{subtree})\index{new\_name\_arg} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{component\_destination}}, {\tt{'}}{\tt{d}})\index{tag}, \\ 
{\rm{list}}\,({\tt{'}}{\tt{to}}, {\rm{tag}}\,({\tt{'}}{\tt{name\_expression}}, {\tt{'}}{\tt{ne}})\index{tag}))\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{name\_expression}})\index{subtree} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{new\_statement}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{new}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{new\_dynamic\_variable\_component}}, \\ 
{\tt{'}}{\tt{dc}})\-\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{new\_name\_arg}}\,({\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{new\_dynamic\_variable\_component}})\index{subtree})\index{new\_name\_arg} \\ 
{\bf elseif }\=\+{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{new\_dynamic\_variable\_component}}, {\tt{'}}{\tt{dc}})\index{tag}, \\ 
{\rm{list}}\,({\tt{'}}{\tt{into}}, {\rm{tag}}\,({\tt{'}}{\tt{name\_expression}}, {\tt{'}}{\tt{ne}})\index{tag}))\-\index{prodn})\-\index{rule} \\ 
$\vee$$\;\;\;\;${\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{new\_dynamic\_variable\_component}}, \\ 
{\tt{'}}{\tt{dc}})\-\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{into}}, \\ 
{\tt{'}}{\tt{set}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{name\_expression}}, {\tt{'}}{\tt{ne}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
$\vee$$\;\;\;\;${\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{new\_dynamic\_variable\_component}}, \\ 
{\tt{'}}{\tt{dc}})\-\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{before}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{name\_expression}}, {\tt{'}}{\tt{ne}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
$\vee$$\;\;\;\;${\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{new\_dynamic\_variable\_component}}, \\ 
{\tt{'}}{\tt{dc}})\-\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{before}}, \\ 
{\tt{'}}{\tt{seq}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{name\_expression}}, {\tt{'}}{\tt{ne}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
$\vee$$\;\;\;\;${\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{new\_dynamic\_variable\_component}}, \\ 
{\tt{'}}{\tt{dc}})\-\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{behind}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{name\_expression}}, {\tt{'}}{\tt{ne}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
$\vee$$\;\;\;\;${\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{new\_dynamic\_variable\_component}}, \\ 
{\tt{'}}{\tt{dc}})\-\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{behind}}, \\ 
{\tt{'}}{\tt{seq}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{name\_expression}}, {\tt{'}}{\tt{ne}})\index{tag})\-)\-\index{prodn})\-\index{rule}\- \\ 
{\bf then }{\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{name\_expression}})\index{subtree} \\ 
{\bf else }{\bf{nil}}$\;${\bf  endif}\-\-
\end{tabbing}


\begin{tabbing}{\sc Definition}:\index{remove\_exp\_arg} \\  
\=\+{\rm{remove\_exp\_arg}}\,({\it{m\/}})\index{remove\_exp\_arg} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{move\_statement}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{move}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{removable\_component}}, {\tt{'}}{\tt{c}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{component\_destination}}, {\tt{'}}{\tt{d}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{remove\_exp\_arg}}\,({\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{removable\_component}})\index{subtree})\index{remove\_exp\_arg} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{remove\_statement}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{list}}\,({\tt{'}}{\tt{remove}}, {\rm{tag}}\,({\tt{'}}{\tt{removable\_component}}, {\tt{'}}{\tt{c}})\index{tag}))\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{remove\_exp\_arg}}\,({\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{removable\_component}})\index{subtree})\index{remove\_exp\_arg} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{removable\_component}}, {\tt{'}}{\tt{c}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{element}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\tt{'}}{\tt{from}}, \\ 
{\tt{'}}{\tt{set}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{name\_expression}}, {\tt{'}}{\tt{ne}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{expression}})\index{subtree} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{removable\_component}}, {\tt{'}}{\tt{c}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{name\_expression}}, {\tt{'}}{\tt{e}})\index{tag})\-\index{prodn})\-\index{rule}$\;\;${\bf then }{\bf{nil}} \\ 
{\bf else }{\bf{nil}}$\;${\bf  endif}\-\-
\end{tabbing}


\begin{tabbing}{\sc Definition}:\index{remove\_name\_arg} \\  
\=\+{\rm{remove\_name\_arg}}\,({\it{m\/}})\index{remove\_name\_arg} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{move\_statement}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{move}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{removable\_component}}, {\tt{'}}{\tt{c}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{component\_destination}}, {\tt{'}}{\tt{d}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{remove\_name\_arg}}\,({\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{removable\_component}})\index{subtree})\index{remove\_name\_arg} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{remove\_statement}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{list}}\,({\tt{'}}{\tt{remove}}, {\rm{tag}}\,({\tt{'}}{\tt{removable\_component}}, {\tt{'}}{\tt{c}})\index{tag}))\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{remove\_name\_arg}}\,({\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{removable\_component}})\index{subtree})\index{remove\_name\_arg} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{removable\_component}}, {\tt{'}}{\tt{c}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{element}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\tt{'}}{\tt{from}}, \\ 
{\tt{'}}{\tt{set}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{name\_expression}}, {\tt{'}}{\tt{ne}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{name\_expression}})\index{subtree} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{removable\_component}}, {\tt{'}}{\tt{c}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{name\_expression}}, {\tt{'}}{\tt{e}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{name\_expression}})\index{subtree} \\ 
{\bf else }{\bf{nil}}$\;${\bf  endif}\-\-
\end{tabbing}


\begin{tabbing}{\sc Definition}:\index{procedure\_body} \\  
\=\+{\rm{procedure\_body}}\,({\it{d\/}})\index{procedure\_body} \\ 
$=$$\;\;\;\;$\=\+{\bf if }\=\+{\rm{rule}}\,(\=\+{\it{d\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{procedure\_declaration}}, {\tt{'}}{\tt{d}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{procedure}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{identifier}}, {\tt{'}}{\tt{pn}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{external\_data\_objects}}, {\tt{'}}{\tt{a}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_external\_conditions}}, {\tt{'}}{\tt{c}})\index{tag}, \\ 
{\tt{'}}{\tt{equal}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{procedure\_body}}, {\tt{'}}{\tt{b}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
$\vee$$\;\;\;\;${\rm{rule}}\,(\=\+{\it{d\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{function\_declaration}}, {\tt{'}}{\tt{d}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{function}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{identifier}}, {\tt{'}}{\tt{fn}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_external\_data\_objects}}, {\tt{'}}{\tt{a}})\index{tag}, \\ 
{\tt{'}}{\tt{colon}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{type\_specification}}, {\tt{'}}{\tt{rt}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_external\_conditions}}, {\tt{'}}{\tt{c}})\index{tag}, \\ 
{\tt{'}}{\tt{equal}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{procedure\_body}}, {\tt{'}}{\tt{b}})\index{tag})\-)\-\index{prodn})\-\index{rule}\- \\ 
{\bf then }{\rm{subtree}}\,({\it{d\/}}, {\tt{'}}{\tt{procedure\_body}})\index{subtree} \\ 
{\bf else }{\bf{nil}}$\;${\bf  endif}\-\-
\end{tabbing}



\begin{verbatim}; ****************************************************************************
;
;                                 THE STATE 
;
; ****************************************************************************

; The state is a marked object <mark , map>.  The mark is either NIL or 'IND,
; which indicates an indeterminate state.  The map is a name-value mapping.
; It maps variables (and constants) to their (marked typed) values.  In
; addition, it contains the special components:
;
;     entry - the (marked typed) value resulting from evaluation of the
;             entry specification on the initial state
;     exit - the (marked typed) value resulting from evaluation of the
;            exit specification on the final state
;     keep - the (marked typed) value that is the conjunction of results
;            from all evaluations of the keep specification
;     assert - the (marked typed) value that is the conjunction of results
;              from all evaluations of assert specifications
;     keep~ - the parse tree for the keep specification
;     cond~ - the currently active condition
;     result~ - the (marked typed) value resulting from expression evaluation
;     var - a name-value mapping from variable names, arguments and locals,
;           to local|formal
;     const - a name-value mapping from constant names, arguments and locals,
;             to local|formal
;     cond - a name-value mapping from condition names, arguments and locals,
;            to local|formal

\end{verbatim}\begin{tabbing}{\sc Definition}:\index{default\_state} \\  
\=\+{\sc{default\_state}}\index{default\_state} \\ 
$=$$\;\;\;\;${\rm{marked}}\,(\=\+{\bf{nil}}, \\ 
{\rm{list}}\,(\=\+{\rm{cons}}\,({\tt{'}}{\tt{entry}}, {\sc{gtrue}}\index{gtrue}), \\ 
{\rm{cons}}\,({\tt{'}}{\tt{exit}}, {\sc{gtrue}}\index{gtrue}), \\ 
{\rm{cons}}\,({\tt{'}}{\tt{keep}}, {\sc{gtrue}}\index{gtrue}), \\ 
{\rm{cons}}\,({\tt{'}}{\tt{assert}}, {\sc{gtrue}}\index{gtrue}), \\ 
{\rm{cons}}\,({\tt{'}}{\tt{keep\~}}, {\sc{mk\_true\_expression}}\index{mk\_true\_expression}), \\ 
{\rm{cons}}\,({\tt{'}}{\tt{cond\~}}, {\tt{'}}{\tt{normal}}), \\ 
{\rm{cons}}\,({\tt{'}}{\tt{result\~}}, {\sc{gizero}}\index{gizero}), \\ 
{\rm{cons}}\,({\tt{'}}{\tt{var}}, {\bf{nil}}), \\ 
{\rm{cons}}\,({\tt{'}}{\tt{const}}, {\bf{nil}}), \\ 
{\rm{cons}}\,(\=\+{\tt{'}}{\tt{cond}}, \\ 
{\tt{'}}{\tt{(}}\=\+{\tt{(}}{\tt{routineerror}}{\tt{ .\ }}{\tt{formal}}{\tt{)}} \\ 
{\tt{(}}{\tt{spaceerror}}{\tt{ .\ }}{\tt{formal}}{\tt{)}}{\tt{)}}\-)\-)\-)\-\index{marked}\-
\end{tabbing}


\begin{verbatim}; =========================================
;  Extraction of Components from the State
; =========================================

\end{verbatim}\begin{tabbing}{\sc Definition}:\index{map}$\;\;$
{\rm{map}}\,({\it{s\/}})\index{map} $=$ {\rm{object}}\,({\it{s\/}})\index{object}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{state\_componentp}$\;\;$
{\rm{state\_componentp}}\,({\it{k\/}}, {\it{s\/}})\index{state\_componentp} $=$ {\rm{in\_map}}\,({\rm{map}}\,({\it{s\/}})\index{map}, {\it{k\/}})\index{in\_map}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{state\_component}$\;\;$
{\rm{state\_component}}\,({\it{k\/}}, {\it{s\/}})\index{state\_component} $=$ {\rm{mapped\_value}}\,({\rm{map}}\,({\it{s\/}})\index{map}, {\it{k\/}})\index{mapped\_value}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{entry}$\;\;$
{\rm{entry}}\,({\it{s\/}})\index{entry} $=$ {\rm{mapped\_value}}\,({\rm{map}}\,({\it{s\/}})\index{map}, {\tt{'}}{\tt{entry}})\index{mapped\_value}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{exit}$\;\;$
{\rm{exit}}\,({\it{s\/}})\index{exit} $=$ {\rm{mapped\_value}}\,({\rm{map}}\,({\it{s\/}})\index{map}, {\tt{'}}{\tt{exit}})\index{mapped\_value}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{keep}$\;\;$
{\rm{keep}}\,({\it{s\/}})\index{keep} $=$ {\rm{mapped\_value}}\,({\rm{map}}\,({\it{s\/}})\index{map}, {\tt{'}}{\tt{keep}})\index{mapped\_value}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{assert}$\;\;$
{\rm{assert}}\,({\it{s\/}})\index{assert} $=$ {\rm{mapped\_value}}\,({\rm{map}}\,({\it{s\/}})\index{map}, {\tt{'}}{\tt{assert}})\index{mapped\_value}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{keep\~}$\;\;$
{\rm{keep\~}}\,({\it{s\/}})\index{keep\~} $=$ {\rm{mapped\_value}}\,({\rm{map}}\,({\it{s\/}})\index{map}, {\tt{'}}{\tt{keep\~}})\index{mapped\_value}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{cond\~}$\;\;$
{\rm{cond\~}}\,({\it{s\/}})\index{cond\~} $=$ {\rm{mapped\_value}}\,({\rm{map}}\,({\it{s\/}})\index{map}, {\tt{'}}{\tt{cond\~}})\index{mapped\_value}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{condition\_normal}$\;\;$
{\rm{condition\_normal}}\,({\it{s\/}})\index{condition\_normal} $=$ ({\rm{cond\~}}\,({\it{s\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{condition\_non\_normal}$\;\;$
{\rm{condition\_non\_normal}}\,({\it{s\/}})\index{condition\_non\_normal} $=$ ($\neg$ {\rm{condition\_normal}}\,({\it{s\/}})\index{condition\_normal})
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{normal\_state} \\  
{\rm{normal\_state}}\,({\it{s\/}})\index{normal\_state} $=$ ({\rm{determinate}}\,({\it{s\/}})\index{determinate} $\wedge$ {\rm{condition\_normal}}\,({\it{s\/}})\index{condition\_normal})
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{result\~}$\;\;$
{\rm{result\~}}\,({\it{s\/}})\index{result\~} $=$ {\rm{mapped\_value}}\,({\rm{map}}\,({\it{s\/}})\index{map}, {\tt{'}}{\tt{result\~}})\index{mapped\_value}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{result\~\_list} \\  
\=\+{\rm{result\~\_list}}\,({\it{ss\/}})\index{result\~\_list} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{ss\/}} $\simeq\;${{\bf{nil}}}${}$$\;\;${\bf then }{\bf{nil}} \\ 
{\bf else }{\rm{cons}}\,({\rm{result\~}}\,({\rm{car}}\,({\it{ss\/}}))\index{result\~}, {\rm{result\~\_list}}\,({\rm{cdr}}\,({\it{ss\/}}))\index{result\~\_list})$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{var}$\;\;$
{\rm{var}}\,({\it{s\/}})\index{var} $=$ {\rm{mapped\_value}}\,({\rm{map}}\,({\it{s\/}})\index{map}, {\tt{'}}{\tt{var}})\index{mapped\_value}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{const}$\;\;$
{\rm{const}}\,({\it{s\/}})\index{const} $=$ {\rm{mapped\_value}}\,({\rm{map}}\,({\it{s\/}})\index{map}, {\tt{'}}{\tt{const}})\index{mapped\_value}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{cond+}$\;\;$
{\rm{cond+}}\,({\it{s\/}})\index{cond+} $=$ {\rm{mapped\_value}}\,({\rm{map}}\,({\it{s\/}})\index{map}, {\tt{'}}{\tt{cond}})\index{mapped\_value}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{variablep} \\  
{\rm{variablep}}\,({\it{id\/}}, {\it{s\/}})\index{variablep} $=$ ({\rm{state\_componentp}}\,({\it{id\/}}, {\it{s\/}})\index{state\_componentp} $\wedge$ {\rm{in\_map}}\,({\rm{var}}\,({\it{s\/}})\index{var}, {\it{id\/}})\index{in\_map})
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{conditionp}$\;\;$
{\rm{conditionp}}\,({\it{id\/}}, {\it{s\/}})\index{conditionp} $=$ {\rm{in\_map}}\,({\rm{cond+}}\,({\it{s\/}})\index{cond+}, {\it{id\/}})\index{in\_map}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{all\_conditionsp} \\  
\=\+{\rm{all\_conditionsp}}\,({\it{ids\/}}, {\it{s\/}})\index{all\_conditionsp} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{ids\/}} $\simeq\;${{\bf{nil}}}${}$$\;\;${\bf then }{\bf{t}} \\ 
{\bf else }{\rm{conditionp}}\,({\rm{car}}\,({\it{ids\/}}), {\it{s\/}})\index{conditionp} $\wedge$ {\rm{all\_conditionsp}}\,({\rm{cdr}}\,({\it{ids\/}}), {\it{s\/}})\index{all\_conditionsp}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{type\_of}$\;\;$
{\rm{type\_of}}\,({\it{n\/}}, {\it{s\/}})\index{type\_of} $=$ {\rm{type}}\,({\rm{state\_component}}\,({\it{n\/}}, {\it{s\/}})\index{state\_component})\index{type}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{mode}$\;\;$
{\rm{mode}}\,({\it{td\/}})\index{mode} $=$ {\rm{root}}\,({\it{td\/}})\index{root}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{locals} \\  
\=\+{\rm{locals}}\,({\it{cs\/}})\index{locals} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{cs\/}} $\simeq\;${{\bf{nil}}}${}$$\;\;${\bf then }{\bf{nil}} \\ 
{\bf elseif }{\rm{cdar}}\,({\it{cs\/}}) $=$ {\tt{'}}{\tt{local}}$\;\;${\bf then }{\rm{cons}}\,({\rm{car}}\,({\it{cs\/}}), {\rm{locals}}\,({\rm{cdr}}\,({\it{cs\/}}))\index{locals}) \\ 
{\bf else }{\rm{locals}}\,({\rm{cdr}}\,({\it{cs\/}}))\index{locals}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{local\_vars}$\;\;$
{\rm{local\_vars}}\,({\it{s\/}})\index{local\_vars} $=$ {\rm{locals}}\,({\rm{var}}\,({\it{s\/}})\index{var})\index{locals}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{local\_consts}$\;\;$
{\rm{local\_consts}}\,({\it{s\/}})\index{local\_consts} $=$ {\rm{locals}}\,({\rm{const}}\,({\it{s\/}})\index{const})\index{locals}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{local\_conds}$\;\;$
{\rm{local\_conds}}\,({\it{s\/}})\index{local\_conds} $=$ {\rm{locals}}\,({\rm{cond+}}\,({\it{s\/}})\index{cond+})\index{locals}
\end{tabbing}


\begin{verbatim}; =================================
;  Setting Components of the State
; =================================

\end{verbatim}\begin{tabbing}{\sc Definition}:\index{mark\_state\_indeterminate}$\;\;$
{\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate} $=$ {\rm{marked}}\,({\tt{'}}{\tt{ind}}, {\rm{map}}\,({\it{s\/}})\index{map})\index{marked}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{store\_value} \\  
{\rm{store\_value}}\,({\it{k\/}}, {\it{v\/}}, {\it{s\/}})\index{store\_value} $=$ {\rm{marked}}\,({\rm{mark}}\,({\it{s\/}})\index{mark}, {\rm{add\_to\_map}}\,({\rm{map}}\,({\it{s\/}})\index{map}, {\it{k\/}}, {\it{v\/}})\index{add\_to\_map})\index{marked}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{set\_condition}$\;\;$
{\rm{set\_condition}}\,({\it{s\/}}, {\it{c\/}})\index{set\_condition} $=$ {\rm{store\_value}}\,({\tt{'}}{\tt{cond\~}}, {\it{c\/}}, {\it{s\/}})\index{store\_value}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{store\_result\~} \\  
\=\+{\rm{store\_result\~}}\,({\it{v\/}}, {\it{s\/}})\index{store\_result\~} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{determinate}}\,({\it{v\/}})\index{determinate}$\;\;${\bf then }{\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\it{v\/}}, {\it{s\/}})\index{store\_value} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{all\_determinate} \\  
\=\+{\rm{all\_determinate}}\,({\it{vs\/}})\index{all\_determinate} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{vs\/}} $\simeq\;${{\bf{nil}}}${}$$\;\;${\bf then }{\it{vs\/}} $=$ {\bf{nil}} \\ 
{\bf else }{\rm{determinate}}\,({\rm{car}}\,({\it{vs\/}}))\index{determinate} $\wedge$ {\rm{all\_determinate}}\,({\rm{cdr}}\,({\it{vs\/}}))\index{all\_determinate}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{reset\_leave\_to\_normal} \\  
\=\+{\rm{reset\_leave\_to\_normal}}\,({\it{s\/}})\index{reset\_leave\_to\_normal} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{cond\~}}\,({\it{s\/}})\index{cond\~} $=$ {\tt{'}}{\tt{leave}}$\;\;${\bf then }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{normal}})\index{set\_condition} \\ 
{\bf else }{\it{s\/}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{record\_assertion} \\  
{\rm{record\_assertion}}\,({\it{a\/}}, {\it{s\/}})\index{record\_assertion} $=$ {\rm{store\_value}}\,({\tt{'}}{\tt{assert}}, {\rm{gand}}\,({\rm{assert}}\,({\it{s\/}})\index{assert}, {\it{a\/}})\index{gand}, {\it{s\/}})\index{store\_value}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{store\_cond} \\  
{\rm{store\_cond}}\,({\it{id\/}}, {\it{sc\/}}, {\it{s\/}})\index{store\_cond} $=$ {\rm{store\_value}}\,({\tt{'}}{\tt{cond}}, {\rm{cons}}\,({\rm{cons}}\,({\it{id\/}}, {\it{sc\/}}), {\rm{cond+}}\,({\it{s\/}})\index{cond+}), {\it{s\/}})\index{store\_value}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{note\_conds} \\  
\=\+{\rm{note\_conds}}\,({\it{cs\/}}, {\it{sc\/}}, {\it{s\/}})\index{note\_conds} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{cs\/}} $\simeq\;${{\bf{nil}}}${}$$\;\;${\bf then }{\it{s\/}} \\ 
{\bf else }{\rm{store\_cond}}\,({\rm{car}}\,({\it{cs\/}}), {\it{sc\/}}, {\rm{note\_conds}}\,({\rm{cdr}}\,({\it{cs\/}}), {\it{sc\/}}, {\it{s\/}})\index{note\_conds})\index{store\_cond}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{store\_const} \\  
\=\+{\rm{store\_const}}\,({\it{id\/}}, {\it{v\/}}, {\it{sc\/}}, {\it{s\/}})\index{store\_const} \\ 
$=$$\;\;\;\;${\rm{store\_value}}\,({\tt{'}}{\tt{const}}, {\rm{cons}}\,({\rm{cons}}\,({\it{id\/}}, {\it{sc\/}}), {\rm{const}}\,({\it{s\/}})\index{const}), {\rm{store\_value}}\,({\it{id\/}}, {\it{v\/}}, {\it{s\/}})\index{store\_value})\index{store\_value}\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{store\_var} \\  
\=\+{\rm{store\_var}}\,({\it{id\/}}, {\it{v\/}}, {\it{sc\/}}, {\it{s\/}})\index{store\_var} \\ 
$=$$\;\;\;\;${\rm{store\_value}}\,({\tt{'}}{\tt{var}}, {\rm{cons}}\,({\rm{cons}}\,({\it{id\/}}, {\it{sc\/}}), {\rm{var}}\,({\it{s\/}})\index{var}), {\rm{store\_value}}\,({\it{id\/}}, {\it{v\/}}, {\it{s\/}})\index{store\_value})\index{store\_value}\-
\end{tabbing}


\begin{verbatim}; ====================================
;  Deleting Components from the State
; ====================================

\end{verbatim}\begin{tabbing}{\sc Definition}:\index{deallocate} \\  
{\rm{deallocate}}\,({\it{k\/}}, {\it{s\/}})\index{deallocate} $=$ {\rm{marked}}\,({\rm{mark}}\,({\it{s\/}})\index{mark}, {\rm{remove}}\,({\rm{assoc}}\,({\it{k\/}}, {\rm{map}}\,({\it{s\/}})\index{map}), {\rm{map}}\,({\it{s\/}})\index{map})\index{remove})\index{marked}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{deallocate\_vars} \\  
\=\+{\rm{deallocate\_vars}}\,({\it{vs\/}}, {\it{s\/}})\index{deallocate\_vars} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{vs\/}} $\simeq\;${{\bf{nil}}}${}$$\;\;${\bf then }{\it{s\/}} \\ 
{\bf else }{\rm{deallocate\_vars}}\,(\=\+{\rm{cdr}}\,({\it{vs\/}}), \\ 
{\rm{deallocate}}\,(\=\+{\rm{caar}}\,({\it{vs\/}}), \\ 
{\rm{store\_value}}\,(\=\+{\tt{'}}{\tt{var}}, \\ 
{\rm{remove}}\,(\=\+{\rm{car}}\,({\it{vs\/}}), \\ 
{\rm{var}}\,({\it{s\/}})\index{var})\-\index{remove}, \\ 
{\it{s\/}})\-\index{store\_value})\-\index{deallocate})\-\index{deallocate\_vars}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{deallocate\_consts} \\  
\=\+{\rm{deallocate\_consts}}\,({\it{cs\/}}, {\it{s\/}})\index{deallocate\_consts} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{cs\/}} $\simeq\;${{\bf{nil}}}${}$$\;\;${\bf then }{\it{s\/}} \\ 
{\bf else }{\rm{deallocate\_consts}}\,(\=\+{\rm{cdr}}\,({\it{cs\/}}), \\ 
{\rm{deallocate}}\,(\=\+{\rm{caar}}\,({\it{cs\/}}), \\ 
{\rm{store\_value}}\,(\=\+{\tt{'}}{\tt{const}}, \\ 
{\rm{remove}}\,(\=\+{\rm{car}}\,({\it{cs\/}}), \\ 
{\rm{const}}\,({\it{s\/}})\index{const})\-\index{remove}, \\ 
{\it{s\/}})\-\index{store\_value})\-\index{deallocate})\-\index{deallocate\_consts}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{deallocate\_conds} \\  
\=\+{\rm{deallocate\_conds}}\,({\it{cs\/}}, {\it{s\/}})\index{deallocate\_conds} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{cs\/}} $\simeq\;${{\bf{nil}}}${}$$\;\;${\bf then }{\it{s\/}} \\ 
{\bf else }{\rm{deallocate\_conds}}\,(\=\+{\rm{cdr}}\,({\it{cs\/}}), \\ 
{\rm{store\_value}}\,(\=\+{\tt{'}}{\tt{cond}}, \\ 
{\rm{remove}}\,({\rm{car}}\,({\it{cs\/}}), {\rm{cond+}}\,({\it{s\/}})\index{cond+})\index{remove}, \\ 
{\it{s\/}})\-\index{store\_value})\-\index{deallocate\_conds}$\;${\bf  endif}\-\-
\end{tabbing}


\begin{verbatim}; ================
;  State Equality
; ================

\end{verbatim}\begin{tabbing}{\sc Definition}:\index{scomp\_equal} \\  
\=\+{\rm{scomp\_equal}}\,({\it{k\/}}, {\it{v1\/}}, {\it{v2\/}})\index{scomp\_equal} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{k\/}} $\in$ {\tt{'}}{\tt{(}}{\tt{var}}{\tt{ }}{\tt{const}}{\tt{ }}{\tt{cond}}{\tt{)}}$\;\;${\bf then }{\rm{set\_equal}}\,({\it{v1\/}}, {\it{v2\/}})\index{set\_equal} \\ 
{\bf elseif }{\it{k\/}} $=$ {\tt{'}}{\tt{cond\~}}$\;\;${\bf then }{\it{v1\/}} $=$ {\it{v2\/}} \\ 
{\bf elseif }{\it{k\/}} $=$ {\tt{'}}{\tt{keep\~}}$\;\;${\bf then }{\rm{tree\_equal}}\,({\it{v1\/}}, {\it{v2\/}})\index{tree\_equal} \\ 
{\bf else }{\rm{gtruep}}\,({\rm{gequal}}\,({\it{v1\/}}, {\it{v2\/}})\index{gequal})\index{gtruep} $\wedge$ ({\rm{type}}\,({\it{v1\/}})\index{type} $=$ {\rm{type}}\,({\it{v2\/}})\index{type})$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{ssubmap} \\  
\=\+{\rm{ssubmap}}\,({\it{m1\/}}, {\it{m2\/}})\index{ssubmap} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{m1\/}} $\simeq\;${{\bf{nil}}}${}$$\;\;${\bf then }{\bf{t}} \\ 
{\bf else }\=\+{\rm{in\_map}}\,({\it{m2\/}}, {\rm{caar}}\,({\it{m1\/}}))\index{in\_map} \\ 
$\wedge$$\;\;\;\;${\rm{scomp\_equal}}\,(\=\+{\rm{caar}}\,({\it{m1\/}}), \\ 
{\rm{cdar}}\,({\it{m1\/}}), \\ 
{\rm{mapped\_value}}\,({\it{m2\/}}, {\rm{caar}}\,({\it{m1\/}}))\index{mapped\_value})\-\index{scomp\_equal} \\ 
$\wedge$$\;\;\;\;${\rm{ssubmap}}\,({\rm{cdr}}\,({\it{m1\/}}), {\it{m2\/}})\index{ssubmap}\-$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{smap\_equal} \\  
{\rm{smap\_equal}}\,({\it{m1\/}}, {\it{m2\/}})\index{smap\_equal} $=$ ({\rm{ssubmap}}\,({\it{m1\/}}, {\it{m2\/}})\index{ssubmap} $\wedge$ {\rm{ssubmap}}\,({\it{m2\/}}, {\it{m1\/}})\index{ssubmap})
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{sequal} \\  
\=\+{\rm{sequal}}\,({\it{s1\/}}, {\it{s2\/}})\index{sequal} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{s1\/}} $=$ {\it{s2\/}}$\;\;${\bf then }{\bf{t}} \\ 
{\bf else }({\rm{mark}}\,({\it{s1\/}})\index{mark} $=$ {\rm{mark}}\,({\it{s2\/}})\index{mark}) $\wedge$ {\rm{smap\_equal}}\,({\rm{map}}\,({\it{s1\/}})\index{map}, {\rm{map}}\,({\it{s2\/}})\index{map})\index{smap\_equal}$\;${\bf  endif}\-\-
\end{tabbing}



\begin{verbatim}; ********************
;  Constraint Support
; ********************

;; The following was a DEFN-SK+ form, but the three events that
;; would presumably be generated after the DEFN-SK have been
;; inserted below in capital letters.

\end{verbatim}\begin{tabbing}{\sc Definition}:\index{implementation\_constrained} \\  
\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\leftrightarrow$$\;\;\;\;$$\forall\;${\it{k\/}}$\;$(\=\+({\it{k\/}} $\not=$ {\tt{'}}{\tt{cond\~}}) \\ 
$\rightarrow$$\;\;\;\;$({\rm{mapped\_value}}\,({\rm{map}}\,({\it{s1\/}})\index{map}, {\it{k\/}})\index{mapped\_value} $=$ {\rm{mapped\_value}}\,({\rm{map}}\,({\it{s0\/}})\index{map}, {\it{k\/}})\index{mapped\_value}))\-\index{forall}\-
\end{tabbing}


\noindent{\sc Event}:   Enable implementation\_constrained; name this event `implementation\_constrained-off'.\index{implementation\_constrained-off}

\addvspace{18pt}

\begin{tabbing}{\sc Theorem}:  implementation\_constrained-suff \\ \index{implementation\_constrained-suf!f}
\=\+(\=\+({\rm{k}}\,({\it{s0\/}}, {\it{s1\/}})\index{k} $\not=$ {\tt{'}}{\tt{cond\~}}) \\ 
$\rightarrow$$\;\;\;\;$({\rm{mapped\_value}}\,({\rm{map}}\,({\it{s1\/}})\index{map}, {\rm{k}}\,({\it{s0\/}}, {\it{s1\/}})\index{k})\index{mapped\_value} $=$ {\rm{mapped\_value}}\,({\rm{map}}\,({\it{s0\/}})\index{map}, {\rm{k}}\,({\it{s0\/}}, {\it{s1\/}})\index{k})\index{mapped\_value}))\- \\ 
$\rightarrow$$\;\;\;\;${\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained}\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  implementation\_constrained-necc \\ \index{implementation\_constrained-nec!c}
\=\+($\neg$ (\=\+({\it{k\/}} $\not=$ {\tt{'}}{\tt{cond\~}}) \\ 
$\rightarrow$$\;\;\;\;$({\rm{mapped\_value}}\,({\rm{map}}\,({\it{s1\/}})\index{map}, {\it{k\/}})\index{mapped\_value} $=$ {\rm{mapped\_value}}\,({\rm{map}}\,({\it{s0\/}})\index{map}, {\it{k\/}})\index{mapped\_value}))\-) \\ 
$\rightarrow$$\;\;\;\;$($\neg$ {\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained})\-
\end{tabbing}
  
\begin{tabbing}{\sc Definition}:\index{state\_check} \\  
\=\+{\rm{state\_check}}\,({\it{ss\/}}, {\it{s0\/}})\index{state\_check} \\ 
$=$$\;\;\;\;$\=\+{\bf if }({\it{ss\/}} $\simeq\;${{\bf{nil}}}${}$) $\vee$ ($\neg$ {\rm{normal\_state}}\,({\it{s0\/}})\index{normal\_state})$\;\;${\bf then }{\it{s0\/}} \\ 
{\bf elseif }{\rm{normal\_state}}\,({\rm{car}}\,({\it{ss\/}}))\index{normal\_state}$\;\;${\bf then }{\rm{state\_check}}\,({\rm{cdr}}\,({\it{ss\/}}), {\it{s0\/}})\index{state\_check} \\ 
{\bf else }{\rm{set\_condition}}\,({\rm{marked}}\,({\rm{mark}}\,({\rm{car}}\,({\it{ss\/}}))\index{mark}, {\rm{map}}\,({\it{s0\/}})\index{map})\index{marked}, {\rm{cond\~}}\,({\rm{car}}\,({\it{ss\/}}))\index{cond\~})\index{set\_condition}$\;${\bf  endif}\-\-
\end{tabbing}


\noindent{\sc Event}:   Disable sequal.

\addvspace{18pt}

\noindent{\sc Event}:   Disable store\_value.

\addvspace{18pt}

\noindent{\sc Event}:   Disable cond\~.

\addvspace{18pt}

\noindent{\sc Event}:   Enable determinate.

\addvspace{18pt}


\begin{verbatim}; ****************
;  Literal Values
; ****************

\end{verbatim}\begin{tabbing}{\sc Conservative Axiom}:  p\_gfalse\_intro \\ \index{p\_gfalse\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gfalse}}\,({\it{s0\/}})\index{p\_gfalse}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\sc{gfalse}}\index{gfalse}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\sc{gfalse}}\index{gfalse})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gfalse\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_false} \\  
\=\+{\rm{gpf\_false}}\,({\it{s0\/}})\index{gpf\_false} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{normal\_state}}\,({\it{s0\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_gfalse}}\,({\it{s0\/}})\index{p\_gfalse} \\ 
{\bf else }{\it{s0\/}}$\;${\bf  endif}\-\-
\end{tabbing}


\begin{tabbing}{\sc Conservative Axiom}:  p\_gtrue\_intro \\ \index{p\_gtrue\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gtrue}}\,({\it{s0\/}})\index{p\_gtrue}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\sc{gtrue}}\index{gtrue}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\sc{gtrue}}\index{gtrue})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gtrue\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_true} \\  
\=\+{\rm{gpf\_true}}\,({\it{s0\/}})\index{gpf\_true} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{normal\_state}}\,({\it{s0\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_gtrue}}\,({\it{s0\/}})\index{p\_gtrue} \\ 
{\bf else }{\it{s0\/}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Conservative Axiom}:  p\_minteger\_intro \\ \index{p\_minteger\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_minteger}}\,({\it{e\/}}, {\it{s0\/}})\index{p\_minteger}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{minteger}}\,({\it{e\/}})\index{minteger}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{minteger}}\,({\it{e\/}})\index{minteger})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_minteger\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_minteger} \\  
\=\+{\rm{gpf\_minteger}}\,({\it{e\/}}, {\it{s\/}})\index{gpf\_minteger} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{normal\_state}}\,({\it{s\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_minteger}}\,({\it{e\/}}, {\it{s\/}})\index{p\_minteger} \\ 
{\bf else }{\it{s\/}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gchar\_intro \\ \index{p\_gchar\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gchar}}\,({\it{e\/}}, {\it{s0\/}})\index{p\_gchar}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gchar}}\,({\it{e\/}})\index{gchar}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gchar}}\,({\it{e\/}})\index{gchar})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gchar\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gchar} \\  
\=\+{\rm{gpf\_gchar}}\,({\it{e\/}}, {\it{s\/}})\index{gpf\_gchar} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{normal\_state}}\,({\it{s\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_gchar}}\,({\it{e\/}}, {\it{s\/}})\index{p\_gchar} \\ 
{\bf else }{\it{s\/}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gstring\_seq\_intro \\ \index{p\_gstring\_seq\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gstring\_seq}}\,({\it{e\/}}, {\it{s0\/}})\index{p\_gstring\_seq}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gstring\_seq}}\,({\it{e\/}})\index{gstring\_seq}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gstring\_seq}}\,({\it{e\/}})\index{gstring\_seq})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gstring\_seq\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gstring\_seq} \\  
\=\+{\rm{gpf\_gstring\_seq}}\,({\it{e\/}}, {\it{s\/}})\index{gpf\_gstring\_seq} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{normal\_state}}\,({\it{s\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_gstring\_seq}}\,({\it{e\/}}, {\it{s\/}})\index{p\_gstring\_seq} \\ 
{\bf else }{\it{s\/}}$\;${\bf  endif}\-\-
\end{tabbing}



\begin{verbatim}; ******************
;  Gypsy Operations
; ******************

; ---------------------
;  Component Selection
; ---------------------

\end{verbatim}
\noindent{\sc Event}:   Disable array\_get.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_array\_get\_intro \\ \index{p\_array\_get\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_array\_get}}\,({\it{a\/}}, {\it{i\/}}, {\it{td\/}}, {\it{s0\/}})\index{p\_array\_get}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{array\_get}}\,({\it{a\/}}, {\it{i\/}}, {\it{td\/}})\index{array\_get}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{array\_get}}\,({\it{a\/}}, {\it{i\/}}, {\it{td\/}})\index{array\_get})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_array\_get\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_array\_get} \\  
\=\+{\rm{gpf\_array\_get}}\,({\it{sa\/}}, {\it{si\/}}, {\it{s0\/}})\index{gpf\_array\_get} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sa\/}}, {\it{si\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state} \\ 
{\bf then }{\rm{p\_array\_get}}\,({\rm{result\~}}\,({\it{sa\/}})\index{result\~}, {\rm{result\~}}\,({\it{si\/}})\index{result\~}, {\rm{type}}\,({\rm{result\~}}\,({\it{sa\/}})\index{result\~})\index{type}, {\it{s0\/}})\index{p\_array\_get} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable mapping\_get.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_mapping\_get\_intro \\ \index{p\_mapping\_get\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_mapping\_get}}\,({\it{m\/}}, {\it{d\/}}, {\it{td\/}}, {\it{s0\/}})\index{p\_mapping\_get}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{mapping\_get}}\,({\it{m\/}}, {\it{d\/}}, {\it{td\/}})\index{mapping\_get}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{mapping\_get}}\,({\it{m\/}}, {\it{d\/}}, {\it{td\/}})\index{mapping\_get})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_mapping\_get\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_mapping\_get} \\  
\=\+{\rm{gpf\_mapping\_get}}\,({\it{sm\/}}, {\it{sd\/}}, {\it{s0\/}})\index{gpf\_mapping\_get} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sm\/}}, {\it{sd\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state} \\ 
{\bf then }{\rm{p\_mapping\_get}}\,(\=\+{\rm{result\~}}\,({\it{sm\/}})\index{result\~}, \\ 
{\rm{result\~}}\,({\it{sd\/}})\index{result\~}, \\ 
{\rm{type}}\,({\rm{result\~}}\,({\it{sm\/}})\index{result\~})\index{type}, \\ 
{\it{s0\/}})\-\index{p\_mapping\_get} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable record\_get.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_record\_get\_intro \\ \index{p\_record\_get\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_record\_get}}\,({\it{r\/}}, {\it{fn\/}}, {\it{td\/}}, {\it{s0\/}})\index{p\_record\_get}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{record\_get}}\,({\it{r\/}}, {\it{fn\/}}, {\it{td\/}})\index{record\_get}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{record\_get}}\,({\it{r\/}}, {\it{fn\/}}, {\it{td\/}})\index{record\_get})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_record\_get\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_record\_get} \\  
\=\+{\rm{gpf\_record\_get}}\,({\it{sr\/}}, {\it{sfn\/}}, {\it{s0\/}})\index{gpf\_record\_get} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sr\/}}, {\it{sfn\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state} \\ 
{\bf then }{\rm{p\_record\_get}}\,(\=\+{\rm{result\~}}\,({\it{sr\/}})\index{result\~}, \\ 
{\rm{result\~}}\,({\it{sfn\/}})\index{result\~}, \\ 
{\rm{type}}\,({\rm{result\~}}\,({\it{sr\/}})\index{result\~})\index{type}, \\ 
{\it{s0\/}})\-\index{p\_record\_get} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable sequence\_get.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_sequence\_get\_intro \\ \index{p\_sequence\_get\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_sequence\_get}}\,({\it{s\/}}, {\it{i\/}}, {\it{td\/}}, {\it{s0\/}})\index{p\_sequence\_get}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{sequence\_get}}\,({\it{s\/}}, {\it{i\/}}, {\it{td\/}})\index{sequence\_get}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{sequence\_get}}\,({\it{s\/}}, {\it{i\/}}, {\it{td\/}})\index{sequence\_get})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_sequence\_get\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_sequence\_get} \\  
\=\+{\rm{gpf\_sequence\_get}}\,({\it{ss\/}}, {\it{si\/}}, {\it{s0\/}})\index{gpf\_sequence\_get} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{ss\/}}, {\it{si\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state} \\ 
{\bf then }{\rm{p\_sequence\_get}}\,(\=\+{\rm{result\~}}\,({\it{ss\/}})\index{result\~}, \\ 
{\rm{result\~}}\,({\it{si\/}})\index{result\~}, \\ 
{\rm{type}}\,({\rm{result\~}}\,({\it{ss\/}})\index{result\~})\index{type}, \\ 
{\it{s0\/}})\-\index{p\_sequence\_get} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable state\_check.

\addvspace{18pt}

\noindent{\sc Event}:   Disable normal\_state.

\addvspace{18pt}

\noindent{\sc Event}:   Disable mode.

\addvspace{18pt}

\noindent{\sc Event}:   Disable type.

\addvspace{18pt}

\noindent{\sc Event}:   Disable result\~.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_array\_get.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_record\_get.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_mapping\_get.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_sequence\_get.

\addvspace{18pt}

\noindent{\sc Event}:   Disable store\_result\~.

\addvspace{18pt}

\noindent{\sc Event}:   Disable not\_selectable\_error.

\addvspace{18pt}

\noindent{\sc Event}:   Disable default\_value.

\addvspace{18pt}

\noindent{\sc Event}:   Disable integer\_desc.

\addvspace{18pt}

\noindent{\sc Event}:   Disable *1*integer\_desc.

\addvspace{18pt}

\begin{verbatim};; >> It might be better to just constrain this and forget the four defn's
;; above.  

\end{verbatim}\begin{tabbing}{\sc Definition}:\index{gpf\_select\_op} \\  
\=\+{\rm{gpf\_select\_op}}\,({\it{sv\/}}, {\it{ss\/}}, {\it{s0\/}})\index{gpf\_select\_op} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{cons}}\,({\it{sv\/}}, {\it{ss\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }$\neg$ {\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\it{r\/}} \\ 
{\bf elseif }{\it{ss\/}} $\simeq\;${{\bf{nil}}}${}$$\;\;${\bf then }{\it{sv\/}} \\ 
{\bf else }\=\+{\bf case on }{\rm{mode}}\,({\rm{type}}\,({\rm{result\~}}\,({\it{sv\/}})\index{result\~})\index{type})\index{mode}: \\ 
{\bf case = }{\it{array\/}} \\ 
{\bf then }{\rm{gpf\_select\_op}}\,(\=\+{\rm{gpf\_array\_get}}\,({\it{sv\/}}, {\rm{car}}\,({\it{ss\/}}), {\it{s0\/}})\index{gpf\_array\_get}, \\ 
{\rm{cdr}}\,({\it{ss\/}}), \\ 
{\it{s0\/}})\-\index{gpf\_select\_op} \\ 
{\bf case = }{\it{record\/}} \\ 
{\bf $\;\;$then }{\rm{gpf\_select\_op}}\,(\=\+{\rm{gpf\_record\_get}}\,({\it{sv\/}}, {\rm{car}}\,({\it{ss\/}}), {\it{s0\/}})\index{gpf\_record\_get}, \\ 
{\rm{cdr}}\,({\it{ss\/}}), \\ 
{\it{s0\/}})\-\index{gpf\_select\_op} \\ 
{\bf case = }{\it{mapping\/}} \\ 
{\bf $\;\;$then }{\rm{gpf\_select\_op}}\,(\=\+{\rm{gpf\_mapping\_get}}\,({\it{sv\/}}, {\rm{car}}\,({\it{ss\/}}), {\it{s0\/}})\index{gpf\_mapping\_get}, \\ 
{\rm{cdr}}\,({\it{ss\/}}), \\ 
{\it{s0\/}})\-\index{gpf\_select\_op} \\ 
{\bf case = }{\it{sequence\/}} \\ 
{\bf $\;\;$then }{\rm{gpf\_select\_op}}\,(\=\+{\rm{gpf\_sequence\_get}}\,({\it{sv\/}}, {\rm{car}}\,({\it{ss\/}}), {\it{s0\/}})\index{gpf\_sequence\_get}, \\ 
{\rm{cdr}}\,({\it{ss\/}}), \\ 
{\it{s0\/}})\-\index{gpf\_select\_op} \\ 
{\bf otherwise }{\rm{store\_result\~}}\,(\=\+{\rm{marked}}\,(\=\+{\rm{not\_selectable\_error}}\,({\rm{result\~}}\,({\it{sv\/}})\index{result\~})\index{not\_selectable\_error}, \\ 
{\rm{default\_value}}\,({\sc{integer\_desc}}\index{integer\_desc})\index{default\_value})\-\index{marked}, \\ 
{\it{s0\/}})\-\index{store\_result\~}$\;${\bf  endcase}\-$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}


\begin{verbatim}; -----------------------
;  Subsequence Selection
; -----------------------

\end{verbatim}
\noindent{\sc Event}:   Disable subsequence\_get.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_subsequence\_get\_intro \\ \index{p\_subsequence\_get\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_subsequence\_get}}\,({\it{s\/}}, {\it{lo\/}}, {\it{hi\/}}, {\it{s0\/}})\index{p\_subsequence\_get}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,(\=\+{\it{s1\/}}, \\ 
{\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{subsequence\_get}}\,({\it{s\/}}, {\it{lo\/}}, {\it{hi\/}})\index{subsequence\_get}, {\it{s0\/}})\index{store\_value})\-\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{subsequence\_get}}\,({\it{s\/}}, {\it{lo\/}}, {\it{hi\/}})\index{subsequence\_get})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_subsequence\_get\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_subsequence\_get} \\  
\=\+{\rm{gpf\_subsequence\_get}}\,({\it{ss\/}}, {\it{slo\/}}, {\it{shi\/}}, {\it{s0\/}})\index{gpf\_subsequence\_get} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{ss\/}}, {\it{slo\/}}, {\it{shi\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state} \\ 
{\bf then }{\rm{p\_subsequence\_get}}\,(\=\+{\rm{result\~}}\,({\it{ss\/}})\index{result\~}, \\ 
{\rm{result\~}}\,({\it{slo\/}})\index{result\~}, \\ 
{\rm{result\~}}\,({\it{shi\/}})\index{result\~}, \\ 
{\it{s0\/}})\-\index{p\_subsequence\_get} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}


\begin{verbatim}; ------------------
;  Value Alteration
; ------------------

\end{verbatim}
\noindent{\sc Event}:   Disable array\_put.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_array\_put\_intro \\ \index{p\_array\_put\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_array\_put}}\,({\it{a\/}}, {\it{i\/}}, {\it{v\/}}, {\it{s0\/}})\index{p\_array\_put}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{array\_put}}\,({\it{a\/}}, {\it{i\/}}, {\it{v\/}})\index{array\_put}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{array\_put}}\,({\it{a\/}}, {\it{i\/}}, {\it{v\/}})\index{array\_put})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_array\_put\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_array\_put} \\  
\=\+{\rm{gpf\_array\_put}}\,({\it{sa\/}}, {\it{si\/}}, {\it{sv\/}}, {\it{s0\/}})\index{gpf\_array\_put} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sa\/}}, {\it{si\/}}, {\it{sv\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state} \\ 
{\bf then }{\rm{p\_array\_put}}\,({\rm{result\~}}\,({\it{sa\/}})\index{result\~}, {\rm{result\~}}\,({\it{si\/}})\index{result\~}, {\rm{result\~}}\,({\it{sv\/}})\index{result\~}, {\it{s0\/}})\index{p\_array\_put} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable record\_put.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_record\_put\_intro \\ \index{p\_record\_put\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_record\_put}}\,({\it{r\/}}, {\it{fn\/}}, {\it{v\/}}, {\it{s0\/}})\index{p\_record\_put}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{record\_put}}\,({\it{r\/}}, {\it{fn\/}}, {\it{v\/}})\index{record\_put}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{record\_put}}\,({\it{r\/}}, {\it{fn\/}}, {\it{v\/}})\index{record\_put})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_record\_put\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_record\_put} \\  
\=\+{\rm{gpf\_record\_put}}\,({\it{sr\/}}, {\it{sfn\/}}, {\it{sv\/}}, {\it{s0\/}})\index{gpf\_record\_put} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sr\/}}, {\it{sfn\/}}, {\it{sv\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state} \\ 
{\bf then }{\rm{p\_record\_put}}\,({\rm{result\~}}\,({\it{sr\/}})\index{result\~}, {\rm{result\~}}\,({\it{sfn\/}})\index{result\~}, {\rm{result\~}}\,({\it{sv\/}})\index{result\~}, {\it{s0\/}})\index{p\_record\_put} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable mapping\_put.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_mapping\_put\_intro \\ \index{p\_mapping\_put\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_mapping\_put}}\,({\it{m\/}}, {\it{d\/}}, {\it{v\/}}, {\it{s0\/}})\index{p\_mapping\_put}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{mapping\_put}}\,({\it{m\/}}, {\it{d\/}}, {\it{v\/}})\index{mapping\_put}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{mapping\_put}}\,({\it{m\/}}, {\it{d\/}}, {\it{v\/}})\index{mapping\_put})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_mapping\_put\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_mapping\_put} \\  
\=\+{\rm{gpf\_mapping\_put}}\,({\it{sm\/}}, {\it{sd\/}}, {\it{sv\/}}, {\it{s0\/}})\index{gpf\_mapping\_put} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sm\/}}, {\it{sd\/}}, {\it{sv\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state} \\ 
{\bf then }{\rm{p\_mapping\_put}}\,({\rm{result\~}}\,({\it{sm\/}})\index{result\~}, {\rm{result\~}}\,({\it{sd\/}})\index{result\~}, {\rm{result\~}}\,({\it{sv\/}})\index{result\~}, {\it{s0\/}})\index{p\_mapping\_put} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable sequence\_put.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_sequence\_put\_intro \\ \index{p\_sequence\_put\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_sequence\_put}}\,({\it{s\/}}, {\it{i\/}}, {\it{v\/}}, {\it{s0\/}})\index{p\_sequence\_put}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{sequence\_put}}\,({\it{s\/}}, {\it{i\/}}, {\it{v\/}})\index{sequence\_put}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{sequence\_put}}\,({\it{s\/}}, {\it{i\/}}, {\it{v\/}})\index{sequence\_put})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_sequence\_put\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_sequence\_put} \\  
\=\+{\rm{gpf\_sequence\_put}}\,({\it{ss\/}}, {\it{si\/}}, {\it{sv\/}}, {\it{s0\/}})\index{gpf\_sequence\_put} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{ss\/}}, {\it{si\/}}, {\it{sv\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state} \\ 
{\bf then }{\rm{p\_sequence\_put}}\,({\rm{result\~}}\,({\it{ss\/}})\index{result\~}, {\rm{result\~}}\,({\it{si\/}})\index{result\~}, {\rm{result\~}}\,({\it{sv\/}})\index{result\~}, {\it{s0\/}})\index{p\_sequence\_put} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}


\begin{tabbing}{\sc Definition}:\index{gpf\_put\_op} \\  
\=\+{\rm{gpf\_put\_op}}\,({\it{sbv\/}}, {\it{ss\/}}, {\it{sv\/}}, {\it{s0\/}})\index{gpf\_put\_op} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{cons}}\,({\it{sbv\/}}, {\rm{rcons}}\,({\it{ss\/}}, {\it{sv\/}})\index{rcons}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }$\neg$ {\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\it{r\/}} \\ 
{\bf elseif }{\it{ss\/}} $\simeq\;${{\bf{nil}}}${}$$\;\;${\bf then }{\rm{store\_result\~}}\,({\rm{result\~}}\,({\it{sv\/}})\index{result\~}, {\it{s0\/}})\index{store\_result\~} \\ 
{\bf else }\=\+{\bf case on }{\rm{mode}}\,({\rm{type}}\,({\rm{result\~}}\,({\it{sbv\/}})\index{result\~})\index{type})\index{mode}: \\ 
{\bf case = }{\it{array\/}} \\ 
{\bf then }{\rm{gpf\_array\_put}}\,(\=\+{\it{sbv\/}}, \\ 
{\rm{car}}\,({\it{ss\/}}), \\ 
{\rm{gpf\_put\_op}}\,(\=\+{\rm{gpf\_array\_get}}\,(\=\+{\it{sbv\/}}, \\ 
{\rm{car}}\,({\it{ss\/}}), \\ 
{\it{s0\/}})\-\index{gpf\_array\_get}, \\ 
{\rm{cdr}}\,({\it{ss\/}}), \\ 
{\it{sv\/}}, \\ 
{\it{s0\/}})\-\index{gpf\_put\_op}, \\ 
{\it{s0\/}})\-\index{gpf\_array\_put} \\ 
{\bf case = }{\it{record\/}} \\ 
{\bf $\;\;$then }{\rm{gpf\_record\_put}}\,(\=\+{\it{sbv\/}}, \\ 
{\rm{car}}\,({\it{ss\/}}), \\ 
{\rm{gpf\_put\_op}}\,(\=\+{\rm{gpf\_record\_get}}\,(\=\+{\it{sbv\/}}, \\ 
{\rm{car}}\,({\it{ss\/}}), \\ 
{\it{s0\/}})\-\index{gpf\_record\_get}, \\ 
{\rm{cdr}}\,({\it{ss\/}}), \\ 
{\it{sv\/}}, \\ 
{\it{s0\/}})\-\index{gpf\_put\_op}, \\ 
{\it{s0\/}})\-\index{gpf\_record\_put} \\ 
{\bf case = }{\it{mapping\/}} \\ 
{\bf $\;\;$then }{\rm{gpf\_mapping\_put}}\,(\=\+{\it{sbv\/}}, \\ 
{\rm{car}}\,({\it{ss\/}}), \\ 
{\rm{gpf\_put\_op}}\,(\=\+{\rm{gpf\_mapping\_get}}\,(\=\+{\it{sbv\/}}, \\ 
{\rm{car}}\,({\it{ss\/}}), \\ 
{\it{s0\/}})\-\index{gpf\_mapping\_get}, \\ 
{\rm{cdr}}\,({\it{ss\/}}), \\ 
{\it{sv\/}}, \\ 
{\it{s0\/}})\-\index{gpf\_put\_op}, \\ 
{\it{s0\/}})\-\index{gpf\_mapping\_put} \\ 
{\bf case = }{\it{sequence\/}} \\ 
{\bf $\;\;$then }{\rm{gpf\_sequence\_put}}\,(\=\+{\it{sbv\/}}, \\ 
{\rm{car}}\,({\it{ss\/}}), \\ 
{\rm{gpf\_put\_op}}\,(\=\+{\rm{gpf\_sequence\_get}}\,(\=\+{\it{sbv\/}}, \\ 
{\rm{car}}\,({\it{ss\/}}), \\ 
{\it{s0\/}})\-\index{gpf\_sequence\_get}, \\ 
{\rm{cdr}}\,({\it{ss\/}}), \\ 
{\it{sv\/}}, \\ 
{\it{s0\/}})\-\index{gpf\_put\_op}, \\ 
{\it{s0\/}})\-\index{gpf\_sequence\_put} \\ 
{\bf otherwise }{\rm{store\_result\~}}\,(\=\+{\rm{marked}}\,(\=\+{\rm{component\_assign\_error}}\,({\rm{result\~}}\,({\it{sbv\/}})\index{result\~})\index{component\_assign\_error}, \\ 
{\rm{default\_value}}\,({\sc{integer\_desc}}\index{integer\_desc})\index{default\_value})\-\index{marked}, \\ 
{\it{s0\/}})\-\index{store\_result\~}$\;${\bf  endcase}\-$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable gmapomit.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gmapomit\_intro \\ \index{p\_gmapomit\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gmapomit}}\,({\it{m\/}}, {\it{i\/}}, {\it{s0\/}})\index{p\_gmapomit}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gmapomit}}\,({\it{m\/}}, {\it{i\/}})\index{gmapomit}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gmapomit}}\,({\it{m\/}}, {\it{i\/}})\index{gmapomit})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gmapomit\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gmapomit} \\  
\=\+{\rm{gpf\_gmapomit}}\,({\it{sm\/}}, {\it{si\/}}, {\it{s0\/}})\index{gpf\_gmapomit} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sm\/}}, {\it{si\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_gmapomit}}\,({\rm{result\~}}\,({\it{sm\/}})\index{result\~}, {\rm{result\~}}\,({\it{si\/}})\index{result\~}, {\it{s0\/}})\index{p\_gmapomit} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable gseqomit.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gseqomit\_intro \\ \index{p\_gseqomit\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gseqomit}}\,({\it{s\/}}, {\it{i\/}}, {\it{s0\/}})\index{p\_gseqomit}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gseqomit}}\,({\it{s\/}}, {\it{i\/}})\index{gseqomit}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gseqomit}}\,({\it{s\/}}, {\it{i\/}})\index{gseqomit})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gseqomit\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gseqomit} \\  
\=\+{\rm{gpf\_gseqomit}}\,({\it{ss\/}}, {\it{si\/}}, {\it{s0\/}})\index{gpf\_gseqomit} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{ss\/}}, {\it{si\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_gseqomit}}\,({\rm{result\~}}\,({\it{ss\/}})\index{result\~}, {\rm{result\~}}\,({\it{si\/}})\index{result\~}, {\it{s0\/}})\index{p\_gseqomit} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable gmap\_insert.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gmap\_insert\_intro \\ \index{p\_gmap\_insert\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gmap\_insert}}\,({\it{m\/}}, {\it{d\/}}, {\it{v\/}}, {\it{s0\/}})\index{p\_gmap\_insert}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gmap\_insert}}\,({\it{m\/}}, {\it{d\/}}, {\it{v\/}})\index{gmap\_insert}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gmap\_insert}}\,({\it{m\/}}, {\it{d\/}}, {\it{v\/}})\index{gmap\_insert})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gmap\_insert\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gmap\_insert} \\  
\=\+{\rm{gpf\_gmap\_insert}}\,({\it{sm\/}}, {\it{sd\/}}, {\it{sv\/}}, {\it{s0\/}})\index{gpf\_gmap\_insert} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sm\/}}, {\it{sd\/}}, {\it{sv\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state} \\ 
{\bf then }{\rm{p\_gmap\_insert}}\,({\rm{result\~}}\,({\it{sm\/}})\index{result\~}, {\rm{result\~}}\,({\it{sd\/}})\index{result\~}, {\rm{result\~}}\,({\it{sv\/}})\index{result\~}, {\it{s0\/}})\index{p\_gmap\_insert} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable gseq\_insert\_before.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gseq\_insert\_before\_intro \\ \index{p\_gseq\_insert\_before\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gseq\_insert\_before}}\,({\it{s\/}}, {\it{i\/}}, {\it{v\/}}, {\it{s0\/}})\index{p\_gseq\_insert\_before}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,(\=\+{\it{s1\/}}, \\ 
{\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gseq\_insert\_before}}\,({\it{s\/}}, {\it{i\/}}, {\it{v\/}})\index{gseq\_insert\_before}, {\it{s0\/}})\index{store\_value})\-\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gseq\_insert\_before}}\,({\it{s\/}}, {\it{i\/}}, {\it{v\/}})\index{gseq\_insert\_before})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gseq\_insert\_before\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gseq\_insert\_before} \\  
\=\+{\rm{gpf\_gseq\_insert\_before}}\,({\it{ss\/}}, {\it{si\/}}, {\it{sv\/}}, {\it{s0\/}})\index{gpf\_gseq\_insert\_before} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{ss\/}}, {\it{si\/}}, {\it{sv\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state} \\ 
{\bf then }{\rm{p\_gseq\_insert\_before}}\,(\=\+{\rm{result\~}}\,({\it{ss\/}})\index{result\~}, \\ 
{\rm{result\~}}\,({\it{si\/}})\index{result\~}, \\ 
{\rm{result\~}}\,({\it{sv\/}})\index{result\~}, \\ 
{\it{s0\/}})\-\index{p\_gseq\_insert\_before} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable gseq\_insert\_behind.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gseq\_insert\_behind\_intro \\ \index{p\_gseq\_insert\_behind\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gseq\_insert\_behind}}\,({\it{s\/}}, {\it{i\/}}, {\it{v\/}}, {\it{s0\/}})\index{p\_gseq\_insert\_behind}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,(\=\+{\it{s1\/}}, \\ 
{\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gseq\_insert\_behind}}\,({\it{s\/}}, {\it{i\/}}, {\it{v\/}})\index{gseq\_insert\_behind}, {\it{s0\/}})\index{store\_value})\-\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gseq\_insert\_behind}}\,({\it{s\/}}, {\it{i\/}}, {\it{v\/}})\index{gseq\_insert\_behind})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gseq\_insert\_behind\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gseq\_insert\_behind} \\  
\=\+{\rm{gpf\_gseq\_insert\_behind}}\,({\it{ss\/}}, {\it{si\/}}, {\it{sv\/}}, {\it{s0\/}})\index{gpf\_gseq\_insert\_behind} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{ss\/}}, {\it{si\/}}, {\it{sv\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state} \\ 
{\bf then }{\rm{p\_gseq\_insert\_behind}}\,(\=\+{\rm{result\~}}\,({\it{ss\/}})\index{result\~}, \\ 
{\rm{result\~}}\,({\it{si\/}})\index{result\~}, \\ 
{\rm{result\~}}\,({\it{sv\/}})\index{result\~}, \\ 
{\it{s0\/}})\-\index{p\_gseq\_insert\_behind} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\begin{verbatim}; ---------------------------
;  Sequence/Set Constructors
; ---------------------------

\end{verbatim}
\noindent{\sc Event}:   Disable gseq.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gseq\_intro \\ \index{p\_gseq\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gseq}}\,({\it{es\/}}, {\it{td\/}}, {\it{s0\/}})\index{p\_gseq}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gseq}}\,({\it{es\/}}, {\it{td\/}})\index{gseq}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gseq}}\,({\it{es\/}}, {\it{td\/}})\index{gseq})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gseq\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gseq} \\  
\=\+{\rm{gpf\_gseq}}\,({\it{ses\/}}, {\it{td\/}}, {\it{s0\/}})\index{gpf\_gseq} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\it{ses\/}}, {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_gseq}}\,({\rm{result\~\_list}}\,({\it{ses\/}})\index{result\~\_list}, {\it{td\/}}, {\it{s0\/}})\index{p\_gseq} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable gset.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gset\_intro \\ \index{p\_gset\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gset}}\,({\it{es\/}}, {\it{td\/}}, {\it{s0\/}})\index{p\_gset}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gset}}\,({\it{es\/}}, {\it{td\/}})\index{gset}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gset}}\,({\it{es\/}}, {\it{td\/}})\index{gset})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gset\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gset} \\  
\=\+{\rm{gpf\_gset}}\,({\it{ses\/}}, {\it{td\/}}, {\it{s0\/}})\index{gpf\_gset} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\it{ses\/}}, {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_gset}}\,({\rm{result\~\_list}}\,({\it{ses\/}})\index{result\~\_list}, {\it{td\/}}, {\it{s0\/}})\index{p\_gset} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable grange\_elements.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_grange\_elements\_intro \\ \index{p\_grange\_elements\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_grange\_elements}}\,({\it{lo\/}}, {\it{hi\/}}, {\it{s0\/}})\index{p\_grange\_elements}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{grange\_elements}}\,({\it{lo\/}}, {\it{hi\/}})\index{grange\_elements}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{all\_determinate}}\,({\rm{grange\_elements}}\,({\it{lo\/}}, {\it{hi\/}})\index{grange\_elements})\index{all\_determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_grange\_elements\/}.

\begin{tabbing}{\sc Definition}:\index{range\_element\_state\_list2} \\  
\=\+{\rm{range\_element\_state\_list2}}\,({\it{es\/}}, {\it{s\/}})\index{range\_element\_state\_list2} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{es\/}} $\simeq\;${{\bf{nil}}}${}$$\;\;${\bf then }{\bf{nil}} \\ 
{\bf else }{\rm{cons}}\,(\=\+{\rm{store\_result\~}}\,({\rm{car}}\,({\it{es\/}}), {\it{s\/}})\index{store\_result\~}, \\ 
{\rm{range\_element\_state\_list2}}\,({\rm{cdr}}\,({\it{es\/}}), {\it{s\/}})\index{range\_element\_state\_list2})\-$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{range\_element\_state\_list} \\  
\=\+{\rm{range\_element\_state\_list}}\,({\it{s\/}})\index{range\_element\_state\_list} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{normal\_state}}\,({\it{s\/}})\index{normal\_state}$\;\;${\bf then }{\rm{range\_element\_state\_list2}}\,({\rm{result\~}}\,({\it{s\/}})\index{result\~}, {\it{s\/}})\index{range\_element\_state\_list2} \\ 
{\bf else }{\rm{list}}\,({\it{s\/}})$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{gpf\_grange\_elements} \\  
\=\+{\rm{gpf\_grange\_elements}}\,({\it{slo\/}}, {\it{shi\/}}, {\it{s0\/}})\index{gpf\_grange\_elements} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{slo\/}}, {\it{shi\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state} \\ 
{\bf then }{\rm{range\_element\_state\_list}}\,({\rm{p\_grange\_elements}}\,(\=\+{\rm{result\~}}\,({\it{slo\/}})\index{result\~}, \\ 
{\rm{result\~}}\,({\it{shi\/}})\index{result\~}, \\ 
{\it{s0\/}})\-\index{p\_grange\_elements})\index{range\_element\_state\_list} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}


\begin{tabbing}{\sc Definition}:\index{gpf\_gset\_or\_seq} \\  
\=\+{\rm{gpf\_gset\_or\_seq}}\,({\it{m\/}}, {\it{ses\/}}, {\it{td\/}}, {\it{s0\/}})\index{gpf\_gset\_or\_seq} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{rule}}\,({\it{m\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{set\_or\_seq\_mark}}, {\tt{'}}{\tt{m}})\index{tag}, {\rm{list}}\,({\tt{'}}{\tt{set}}, {\tt{'}}{\tt{colon}}))\index{prodn})\index{rule} \\ 
{\bf then }{\rm{gpf\_gset}}\,({\it{ses\/}}, {\it{td\/}}, {\it{s0\/}})\index{gpf\_gset} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{set\_or\_seq\_mark}}, {\tt{'}}{\tt{m}})\index{tag}, {\rm{list}}\,({\tt{'}}{\tt{seq}}, {\tt{'}}{\tt{colon}}))\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{gpf\_gseq}}\,({\it{ses\/}}, {\it{td\/}}, {\it{s0\/}})\index{gpf\_gseq} \\ 
{\bf else }{\rm{gpf\_gseq}}\,({\it{ses\/}}, {\it{td\/}}, {\it{s0\/}})\index{gpf\_gseq}$\;${\bf  endif}\-\-
\end{tabbing}



\begin{verbatim}; -----------------
;  Unary Operators
; -----------------

\end{verbatim}
\noindent{\sc Event}:   Disable gminus.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gminus\_intro \\ \index{p\_gminus\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gminus}}\,({\it{v\/}}, {\it{s0\/}})\index{p\_gminus}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gminus}}\,({\it{v\/}})\index{gminus}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gminus}}\,({\it{v\/}})\index{gminus})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gminus\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gminus} \\  
\=\+{\rm{gpf\_gminus}}\,({\it{sv\/}}, {\it{s0\/}})\index{gpf\_gminus} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sv\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_gminus}}\,({\rm{result\~}}\,({\it{sv\/}})\index{result\~}, {\it{s0\/}})\index{p\_gminus} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable gnot.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gnot\_intro \\ \index{p\_gnot\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gnot}}\,({\it{v\/}}, {\it{s0\/}})\index{p\_gnot}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gnot}}\,({\it{v\/}})\index{gnot}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gnot}}\,({\it{v\/}})\index{gnot})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gnot\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gnot} \\  
\=\+{\rm{gpf\_gnot}}\,({\it{sv\/}}, {\it{s0\/}})\index{gpf\_gnot} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sv\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_gnot}}\,({\rm{result\~}}\,({\it{sv\/}})\index{result\~}, {\it{s0\/}})\index{p\_gnot} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}


\begin{tabbing}{\sc Definition}:\index{gpf\_apply\_unary\_op} \\  
\=\+{\rm{gpf\_apply\_unary\_op}}\,({\it{op\/}}, {\it{sv\/}}, {\it{s0\/}})\index{gpf\_apply\_unary\_op} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{rule}}\,({\it{op\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{unary\_operator}}, {\tt{'}}{\tt{op}})\index{tag}, {\tt{'}}{\tt{minus}})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{gpf\_gminus}}\,({\it{sv\/}}, {\it{s0\/}})\index{gpf\_gminus} \\ 
{\bf elseif }{\rm{rule}}\,({\it{op\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{unary\_operator}}, {\tt{'}}{\tt{op}})\index{tag}, {\tt{'}}{\tt{not}})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{gpf\_gnot}}\,({\it{sv\/}}, {\it{s0\/}})\index{gpf\_gnot} \\ 
{\bf else }{\rm{mark\_state\_indeterminate}}\,({\it{s0\/}})\index{mark\_state\_indeterminate}$\;${\bf  endif}\-\-
\end{tabbing}



\begin{verbatim}; ------------------
;  Binary Operators
; ------------------

\end{verbatim}
\noindent{\sc Event}:   Disable gequal.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gequal\_intro \\ \index{p\_gequal\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gequal}}\,({\it{v1\/}}, {\it{v2\/}}, {\it{s0\/}})\index{p\_gequal}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gequal}}\,({\it{v1\/}}, {\it{v2\/}})\index{gequal}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gequal}}\,({\it{v1\/}}, {\it{v2\/}})\index{gequal})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gequal\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gequal} \\  
\=\+{\rm{gpf\_gequal}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gequal} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sv1\/}}, {\it{sv2\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_gequal}}\,({\rm{result\~}}\,({\it{sv1\/}})\index{result\~}, {\rm{result\~}}\,({\it{sv2\/}})\index{result\~}, {\it{s0\/}})\index{p\_gequal} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable gne.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gne\_intro \\ \index{p\_gne\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gne}}\,({\it{v1\/}}, {\it{v2\/}}, {\it{s0\/}})\index{p\_gne}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gne}}\,({\it{v1\/}}, {\it{v2\/}})\index{gne}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gne}}\,({\it{v1\/}}, {\it{v2\/}})\index{gne})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gne\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gne} \\  
\=\+{\rm{gpf\_gne}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gne} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sv1\/}}, {\it{sv2\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_gne}}\,({\rm{result\~}}\,({\it{sv1\/}})\index{result\~}, {\rm{result\~}}\,({\it{sv2\/}})\index{result\~}, {\it{s0\/}})\index{p\_gne} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable glt.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_glt\_intro \\ \index{p\_glt\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_glt}}\,({\it{v1\/}}, {\it{v2\/}}, {\it{s0\/}})\index{p\_glt}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{glt}}\,({\it{v1\/}}, {\it{v2\/}})\index{glt}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{glt}}\,({\it{v1\/}}, {\it{v2\/}})\index{glt})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_glt\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_glt} \\  
\=\+{\rm{gpf\_glt}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_glt} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sv1\/}}, {\it{sv2\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_glt}}\,({\rm{result\~}}\,({\it{sv1\/}})\index{result\~}, {\rm{result\~}}\,({\it{sv2\/}})\index{result\~}, {\it{s0\/}})\index{p\_glt} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable gor.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gor\_intro \\ \index{p\_gor\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gor}}\,({\it{v1\/}}, {\it{v2\/}}, {\it{s0\/}})\index{p\_gor}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gor}}\,({\it{v1\/}}, {\it{v2\/}})\index{gor}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gor}}\,({\it{v1\/}}, {\it{v2\/}})\index{gor})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gor\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gor} \\  
\=\+{\rm{gpf\_gor}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gor} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sv1\/}}, {\it{sv2\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_gor}}\,({\rm{result\~}}\,({\it{sv1\/}})\index{result\~}, {\rm{result\~}}\,({\it{sv2\/}})\index{result\~}, {\it{s0\/}})\index{p\_gor} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable gle.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gle\_intro \\ \index{p\_gle\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gle}}\,({\it{v1\/}}, {\it{v2\/}}, {\it{s0\/}})\index{p\_gle}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gle}}\,({\it{v1\/}}, {\it{v2\/}})\index{gle}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gle}}\,({\it{v1\/}}, {\it{v2\/}})\index{gle})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gle\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gle} \\  
\=\+{\rm{gpf\_gle}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gle} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sv1\/}}, {\it{sv2\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_gle}}\,({\rm{result\~}}\,({\it{sv1\/}})\index{result\~}, {\rm{result\~}}\,({\it{sv2\/}})\index{result\~}, {\it{s0\/}})\index{p\_gle} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable ggt.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_ggt\_intro \\ \index{p\_ggt\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_ggt}}\,({\it{v1\/}}, {\it{v2\/}}, {\it{s0\/}})\index{p\_ggt}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{ggt}}\,({\it{v1\/}}, {\it{v2\/}})\index{ggt}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{ggt}}\,({\it{v1\/}}, {\it{v2\/}})\index{ggt})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_ggt\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_ggt} \\  
\=\+{\rm{gpf\_ggt}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_ggt} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sv1\/}}, {\it{sv2\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_ggt}}\,({\rm{result\~}}\,({\it{sv1\/}})\index{result\~}, {\rm{result\~}}\,({\it{sv2\/}})\index{result\~}, {\it{s0\/}})\index{p\_ggt} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable gge.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gge\_intro \\ \index{p\_gge\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gge}}\,({\it{v1\/}}, {\it{v2\/}}, {\it{s0\/}})\index{p\_gge}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gge}}\,({\it{v1\/}}, {\it{v2\/}})\index{gge}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gge}}\,({\it{v1\/}}, {\it{v2\/}})\index{gge})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gge\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gge} \\  
\=\+{\rm{gpf\_gge}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gge} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sv1\/}}, {\it{sv2\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_gge}}\,({\rm{result\~}}\,({\it{sv1\/}})\index{result\~}, {\rm{result\~}}\,({\it{sv2\/}})\index{result\~}, {\it{s0\/}})\index{p\_gge} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable gand.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gand\_intro \\ \index{p\_gand\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gand}}\,({\it{v1\/}}, {\it{v2\/}}, {\it{s0\/}})\index{p\_gand}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gand}}\,({\it{v1\/}}, {\it{v2\/}})\index{gand}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gand}}\,({\it{v1\/}}, {\it{v2\/}})\index{gand})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gand\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gand} \\  
\=\+{\rm{gpf\_gand}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gand} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sv1\/}}, {\it{sv2\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_gand}}\,({\rm{result\~}}\,({\it{sv1\/}})\index{result\~}, {\rm{result\~}}\,({\it{sv2\/}})\index{result\~}, {\it{s0\/}})\index{p\_gand} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable gimp.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gimp\_intro \\ \index{p\_gimp\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gimp}}\,({\it{v1\/}}, {\it{v2\/}}, {\it{s0\/}})\index{p\_gimp}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gimp}}\,({\it{v1\/}}, {\it{v2\/}})\index{gimp}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gimp}}\,({\it{v1\/}}, {\it{v2\/}})\index{gimp})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gimp\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gimp} \\  
\=\+{\rm{gpf\_gimp}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gimp} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sv1\/}}, {\it{sv2\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_gimp}}\,({\rm{result\~}}\,({\it{sv1\/}})\index{result\~}, {\rm{result\~}}\,({\it{sv2\/}})\index{result\~}, {\it{s0\/}})\index{p\_gimp} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable giff.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_giff\_intro \\ \index{p\_giff\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_giff}}\,({\it{v1\/}}, {\it{v2\/}}, {\it{s0\/}})\index{p\_giff}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{giff}}\,({\it{v1\/}}, {\it{v2\/}})\index{giff}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{giff}}\,({\it{v1\/}}, {\it{v2\/}})\index{giff})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_giff\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_giff} \\  
\=\+{\rm{gpf\_giff}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_giff} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sv1\/}}, {\it{sv2\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_giff}}\,({\rm{result\~}}\,({\it{sv1\/}})\index{result\~}, {\rm{result\~}}\,({\it{sv2\/}})\index{result\~}, {\it{s0\/}})\index{p\_giff} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable gpower.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gpower\_intro \\ \index{p\_gpower\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gpower}}\,({\it{v1\/}}, {\it{v2\/}}, {\it{s0\/}})\index{p\_gpower}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gpower}}\,({\it{v1\/}}, {\it{v2\/}})\index{gpower}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gpower}}\,({\it{v1\/}}, {\it{v2\/}})\index{gpower})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gpower\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gpower} \\  
\=\+{\rm{gpf\_gpower}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gpower} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sv1\/}}, {\it{sv2\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_gpower}}\,({\rm{result\~}}\,({\it{sv1\/}})\index{result\~}, {\rm{result\~}}\,({\it{sv2\/}})\index{result\~}, {\it{s0\/}})\index{p\_gpower} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable gtimes.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gtimes\_intro \\ \index{p\_gtimes\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gtimes}}\,({\it{v1\/}}, {\it{v2\/}}, {\it{s0\/}})\index{p\_gtimes}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gtimes}}\,({\it{v1\/}}, {\it{v2\/}})\index{gtimes}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gtimes}}\,({\it{v1\/}}, {\it{v2\/}})\index{gtimes})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gtimes\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gtimes} \\  
\=\+{\rm{gpf\_gtimes}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gtimes} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sv1\/}}, {\it{sv2\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_gtimes}}\,({\rm{result\~}}\,({\it{sv1\/}})\index{result\~}, {\rm{result\~}}\,({\it{sv2\/}})\index{result\~}, {\it{s0\/}})\index{p\_gtimes} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable gquotient.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gquotient\_intro \\ \index{p\_gquotient\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gquotient}}\,({\it{v1\/}}, {\it{v2\/}}, {\it{s0\/}})\index{p\_gquotient}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gquotient}}\,({\it{v1\/}}, {\it{v2\/}})\index{gquotient}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gquotient}}\,({\it{v1\/}}, {\it{v2\/}})\index{gquotient})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gquotient\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gquotient} \\  
\=\+{\rm{gpf\_gquotient}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gquotient} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sv1\/}}, {\it{sv2\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state} \\ 
{\bf then }{\rm{p\_gquotient}}\,({\rm{result\~}}\,({\it{sv1\/}})\index{result\~}, {\rm{result\~}}\,({\it{sv2\/}})\index{result\~}, {\it{s0\/}})\index{p\_gquotient} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable gdiv.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gdiv\_intro \\ \index{p\_gdiv\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gdiv}}\,({\it{v1\/}}, {\it{v2\/}}, {\it{s0\/}})\index{p\_gdiv}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gdiv}}\,({\it{v1\/}}, {\it{v2\/}})\index{gdiv}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gdiv}}\,({\it{v1\/}}, {\it{v2\/}})\index{gdiv})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gdiv\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gdiv} \\  
\=\+{\rm{gpf\_gdiv}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gdiv} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sv1\/}}, {\it{sv2\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_gdiv}}\,({\rm{result\~}}\,({\it{sv1\/}})\index{result\~}, {\rm{result\~}}\,({\it{sv2\/}})\index{result\~}, {\it{s0\/}})\index{p\_gdiv} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable gmod.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gmod\_intro \\ \index{p\_gmod\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gmod}}\,({\it{v1\/}}, {\it{v2\/}}, {\it{s0\/}})\index{p\_gmod}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gmod}}\,({\it{v1\/}}, {\it{v2\/}})\index{gmod}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gmod}}\,({\it{v1\/}}, {\it{v2\/}})\index{gmod})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gmod\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gmod} \\  
\=\+{\rm{gpf\_gmod}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gmod} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sv1\/}}, {\it{sv2\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_gmod}}\,({\rm{result\~}}\,({\it{sv1\/}})\index{result\~}, {\rm{result\~}}\,({\it{sv2\/}})\index{result\~}, {\it{s0\/}})\index{p\_gmod} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable gplus.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gplus\_intro \\ \index{p\_gplus\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gplus}}\,({\it{v1\/}}, {\it{v2\/}}, {\it{s0\/}})\index{p\_gplus}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gplus}}\,({\it{v1\/}}, {\it{v2\/}})\index{gplus}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gplus}}\,({\it{v1\/}}, {\it{v2\/}})\index{gplus})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gplus\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gplus} \\  
\=\+{\rm{gpf\_gplus}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gplus} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sv1\/}}, {\it{sv2\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_gplus}}\,({\rm{result\~}}\,({\it{sv1\/}})\index{result\~}, {\rm{result\~}}\,({\it{sv2\/}})\index{result\~}, {\it{s0\/}})\index{p\_gplus} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable gsubtract.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gsubtract\_intro \\ \index{p\_gsubtract\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gsubtract}}\,({\it{v1\/}}, {\it{v2\/}}, {\it{s0\/}})\index{p\_gsubtract}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gsubtract}}\,({\it{v1\/}}, {\it{v2\/}})\index{gsubtract}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gsubtract}}\,({\it{v1\/}}, {\it{v2\/}})\index{gsubtract})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gsubtract\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gsubtract} \\  
\=\+{\rm{gpf\_gsubtract}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gsubtract} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sv1\/}}, {\it{sv2\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state} \\ 
{\bf then }{\rm{p\_gsubtract}}\,({\rm{result\~}}\,({\it{sv1\/}})\index{result\~}, {\rm{result\~}}\,({\it{sv2\/}})\index{result\~}, {\it{s0\/}})\index{p\_gsubtract} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable gin.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gin\_intro \\ \index{p\_gin\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gin}}\,({\it{v1\/}}, {\it{v2\/}}, {\it{s0\/}})\index{p\_gin}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gin}}\,({\it{v1\/}}, {\it{v2\/}})\index{gin}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gin}}\,({\it{v1\/}}, {\it{v2\/}})\index{gin})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gin\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gin} \\  
\=\+{\rm{gpf\_gin}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gin} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sv1\/}}, {\it{sv2\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_gin}}\,({\rm{result\~}}\,({\it{sv1\/}})\index{result\~}, {\rm{result\~}}\,({\it{sv2\/}})\index{result\~}, {\it{s0\/}})\index{p\_gin} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable gunion.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gunion\_intro \\ \index{p\_gunion\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gunion}}\,({\it{v1\/}}, {\it{v2\/}}, {\it{s0\/}})\index{p\_gunion}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gunion}}\,({\it{v1\/}}, {\it{v2\/}})\index{gunion}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gunion}}\,({\it{v1\/}}, {\it{v2\/}})\index{gunion})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gunion\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gunion} \\  
\=\+{\rm{gpf\_gunion}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gunion} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sv1\/}}, {\it{sv2\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_gunion}}\,({\rm{result\~}}\,({\it{sv1\/}})\index{result\~}, {\rm{result\~}}\,({\it{sv2\/}})\index{result\~}, {\it{s0\/}})\index{p\_gunion} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable gadjoin.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gadjoin\_intro \\ \index{p\_gadjoin\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gadjoin}}\,({\it{v1\/}}, {\it{v2\/}}, {\it{s0\/}})\index{p\_gadjoin}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gadjoin}}\,({\it{v1\/}}, {\it{v2\/}})\index{gadjoin}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gadjoin}}\,({\it{v1\/}}, {\it{v2\/}})\index{gadjoin})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gadjoin\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gadjoin} \\  
\=\+{\rm{gpf\_gadjoin}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gadjoin} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sv1\/}}, {\it{sv2\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state} \\ 
{\bf then }{\rm{p\_gadjoin}}\,({\rm{result\~}}\,({\it{sv1\/}})\index{result\~}, {\rm{result\~}}\,({\it{sv2\/}})\index{result\~}, {\it{s0\/}})\index{p\_gadjoin} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable gomit.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gomit\_intro \\ \index{p\_gomit\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gomit}}\,({\it{v1\/}}, {\it{v2\/}}, {\it{s0\/}})\index{p\_gomit}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gomit}}\,({\it{v1\/}}, {\it{v2\/}})\index{gomit}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gomit}}\,({\it{v1\/}}, {\it{v2\/}})\index{gomit})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gomit\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gomit} \\  
\=\+{\rm{gpf\_gomit}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gomit} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sv1\/}}, {\it{sv2\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_gomit}}\,({\rm{result\~}}\,({\it{sv1\/}})\index{result\~}, {\rm{result\~}}\,({\it{sv2\/}})\index{result\~}, {\it{s0\/}})\index{p\_gomit} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable gsub.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gsub\_intro \\ \index{p\_gsub\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gsub}}\,({\it{v1\/}}, {\it{v2\/}}, {\it{s0\/}})\index{p\_gsub}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gsub}}\,({\it{v1\/}}, {\it{v2\/}})\index{gsub}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gsub}}\,({\it{v1\/}}, {\it{v2\/}})\index{gsub})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gsub\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gsub} \\  
\=\+{\rm{gpf\_gsub}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gsub} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sv1\/}}, {\it{sv2\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_gsub}}\,({\rm{result\~}}\,({\it{sv1\/}})\index{result\~}, {\rm{result\~}}\,({\it{sv2\/}})\index{result\~}, {\it{s0\/}})\index{p\_gsub} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable gintersect.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gintersect\_intro \\ \index{p\_gintersect\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gintersect}}\,({\it{v1\/}}, {\it{v2\/}}, {\it{s0\/}})\index{p\_gintersect}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gintersect}}\,({\it{v1\/}}, {\it{v2\/}})\index{gintersect}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gintersect}}\,({\it{v1\/}}, {\it{v2\/}})\index{gintersect})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gintersect\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gintersect} \\  
\=\+{\rm{gpf\_gintersect}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gintersect} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sv1\/}}, {\it{sv2\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state} \\ 
{\bf then }{\rm{p\_gintersect}}\,({\rm{result\~}}\,({\it{sv1\/}})\index{result\~}, {\rm{result\~}}\,({\it{sv2\/}})\index{result\~}, {\it{s0\/}})\index{p\_gintersect} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable gdifference.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gdifference\_intro \\ \index{p\_gdifference\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gdifference}}\,({\it{v1\/}}, {\it{v2\/}}, {\it{s0\/}})\index{p\_gdifference}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gdifference}}\,({\it{v1\/}}, {\it{v2\/}})\index{gdifference}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gdifference}}\,({\it{v1\/}}, {\it{v2\/}})\index{gdifference})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gdifference\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gdifference} \\  
\=\+{\rm{gpf\_gdifference}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gdifference} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sv1\/}}, {\it{sv2\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state} \\ 
{\bf then }{\rm{p\_gdifference}}\,({\rm{result\~}}\,({\it{sv1\/}})\index{result\~}, {\rm{result\~}}\,({\it{sv2\/}})\index{result\~}, {\it{s0\/}})\index{p\_gdifference} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable gappend.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gappend\_intro \\ \index{p\_gappend\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gappend}}\,({\it{v1\/}}, {\it{v2\/}}, {\it{s0\/}})\index{p\_gappend}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gappend}}\,({\it{v1\/}}, {\it{v2\/}})\index{gappend}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gappend}}\,({\it{v1\/}}, {\it{v2\/}})\index{gappend})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gappend\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gappend} \\  
\=\+{\rm{gpf\_gappend}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gappend} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sv1\/}}, {\it{sv2\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state} \\ 
{\bf then }{\rm{p\_gappend}}\,({\rm{result\~}}\,({\it{sv1\/}})\index{result\~}, {\rm{result\~}}\,({\it{sv2\/}})\index{result\~}, {\it{s0\/}})\index{p\_gappend} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable gcons.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_gcons\_intro \\ \index{p\_gcons\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_gcons}}\,({\it{v1\/}}, {\it{v2\/}}, {\it{s0\/}})\index{p\_gcons}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{gcons}}\,({\it{v1\/}}, {\it{v2\/}})\index{gcons}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{gcons}}\,({\it{v1\/}}, {\it{v2\/}})\index{gcons})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_gcons\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_gcons} \\  
\=\+{\rm{gpf\_gcons}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gcons} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sv1\/}}, {\it{sv2\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_gcons}}\,({\rm{result\~}}\,({\it{sv1\/}})\index{result\~}, {\rm{result\~}}\,({\it{sv2\/}})\index{result\~}, {\it{s0\/}})\index{p\_gcons} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable grcons.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_grcons\_intro \\ \index{p\_grcons\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_grcons}}\,({\it{v1\/}}, {\it{v2\/}}, {\it{s0\/}})\index{p\_grcons}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{grcons}}\,({\it{v1\/}}, {\it{v2\/}})\index{grcons}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{grcons}}\,({\it{v1\/}}, {\it{v2\/}})\index{grcons})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_grcons\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_grcons} \\  
\=\+{\rm{gpf\_grcons}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_grcons} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sv1\/}}, {\it{sv2\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_grcons}}\,({\rm{result\~}}\,({\it{sv1\/}})\index{result\~}, {\rm{result\~}}\,({\it{sv2\/}})\index{result\~}, {\it{s0\/}})\index{p\_grcons} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}


\begin{tabbing}{\sc Definition}:\index{gpf\_apply\_binary\_op} \\  
\=\+{\rm{gpf\_apply\_binary\_op}}\,({\it{op\/}}, {\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_apply\_binary\_op} \\ 
$=$$\;\;\;\;$\=\+{\bf if }\=\+{\rm{rule}}\,({\it{op\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{binary\_operator}}, {\tt{'}}{\tt{op}})\index{tag}, {\tt{'}}{\tt{eq}})\index{prodn})\index{rule} \\ 
$\vee$$\;\;\;\;${\rm{rule}}\,({\it{op\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{binary\_operator}}, {\tt{'}}{\tt{op}})\index{tag}, {\tt{'}}{\tt{equal}})\index{prodn})\index{rule}\- \\ 
{\bf then }{\rm{gpf\_gequal}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gequal} \\ 
{\bf elseif }{\rm{rule}}\,({\it{op\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{binary\_operator}}, {\tt{'}}{\tt{op}})\index{tag}, {\tt{'}}{\tt{ne}})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{gpf\_gne}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gne} \\ 
{\bf elseif }{\rm{rule}}\,({\it{op\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{binary\_operator}}, {\tt{'}}{\tt{op}})\index{tag}, {\tt{'}}{\tt{lt}})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{gpf\_glt}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_glt} \\ 
{\bf elseif }{\rm{rule}}\,({\it{op\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{binary\_operator}}, {\tt{'}}{\tt{op}})\index{tag}, {\tt{'}}{\tt{le}})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{gpf\_gle}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gle} \\ 
{\bf elseif }{\rm{rule}}\,({\it{op\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{binary\_operator}}, {\tt{'}}{\tt{op}})\index{tag}, {\tt{'}}{\tt{gt}})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{gpf\_ggt}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_ggt} \\ 
{\bf elseif }{\rm{rule}}\,({\it{op\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{binary\_operator}}, {\tt{'}}{\tt{op}})\index{tag}, {\tt{'}}{\tt{ge}})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{gpf\_gge}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gge} \\ 
{\bf elseif }{\rm{rule}}\,({\it{op\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{binary\_operator}}, {\tt{'}}{\tt{op}})\index{tag}, {\tt{'}}{\tt{and}})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{gpf\_gand}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gand} \\ 
{\bf elseif }{\rm{rule}}\,({\it{op\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{binary\_operator}}, {\tt{'}}{\tt{op}})\index{tag}, {\tt{'}}{\tt{or}})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{gpf\_gor}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gor} \\ 
{\bf elseif }{\rm{rule}}\,({\it{op\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{binary\_operator}}, {\tt{'}}{\tt{op}})\index{tag}, {\tt{'}}{\tt{imp}})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{gpf\_gimp}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gimp} \\ 
{\bf elseif }{\rm{rule}}\,({\it{op\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{binary\_operator}}, {\tt{'}}{\tt{op}})\index{tag}, {\tt{'}}{\tt{iff}})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{gpf\_giff}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_giff} \\ 
{\bf elseif }{\rm{rule}}\,({\it{op\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{binary\_operator}}, {\tt{'}}{\tt{op}})\index{tag}, {\tt{'}}{\tt{star\_star}})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{gpf\_gpower}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gpower} \\ 
{\bf elseif }{\rm{rule}}\,({\it{op\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{binary\_operator}}, {\tt{'}}{\tt{op}})\index{tag}, {\tt{'}}{\tt{star}})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{gpf\_gtimes}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gtimes} \\ 
{\bf elseif }{\rm{rule}}\,({\it{op\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{binary\_operator}}, {\tt{'}}{\tt{op}})\index{tag}, {\tt{'}}{\tt{slash}})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{gpf\_gquotient}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gquotient} \\ 
{\bf elseif }{\rm{rule}}\,({\it{op\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{binary\_operator}}, {\tt{'}}{\tt{op}})\index{tag}, {\tt{'}}{\tt{div}})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{gpf\_gdiv}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gdiv} \\ 
{\bf elseif }{\rm{rule}}\,({\it{op\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{binary\_operator}}, {\tt{'}}{\tt{op}})\index{tag}, {\tt{'}}{\tt{mod}})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{gpf\_gmod}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gmod} \\ 
{\bf elseif }{\rm{rule}}\,({\it{op\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{binary\_operator}}, {\tt{'}}{\tt{op}})\index{tag}, {\tt{'}}{\tt{plus}})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{gpf\_gplus}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gplus} \\ 
{\bf elseif }{\rm{rule}}\,({\it{op\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{binary\_operator}}, {\tt{'}}{\tt{op}})\index{tag}, {\tt{'}}{\tt{minus}})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{gpf\_gsubtract}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gsubtract} \\ 
{\bf elseif }{\rm{rule}}\,({\it{op\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{binary\_operator}}, {\tt{'}}{\tt{op}})\index{tag}, {\tt{'}}{\tt{in}})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{gpf\_gin}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gin} \\ 
{\bf elseif }{\rm{rule}}\,({\it{op\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{binary\_operator}}, {\tt{'}}{\tt{op}})\index{tag}, {\tt{'}}{\tt{adjoin}})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{gpf\_gadjoin}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gadjoin} \\ 
{\bf elseif }{\rm{rule}}\,({\it{op\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{binary\_operator}}, {\tt{'}}{\tt{op}})\index{tag}, {\tt{'}}{\tt{omit}})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{gpf\_gomit}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gomit} \\ 
{\bf elseif }{\rm{rule}}\,({\it{op\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{binary\_operator}}, {\tt{'}}{\tt{op}})\index{tag}, {\tt{'}}{\tt{sub}})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{gpf\_gsub}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gsub} \\ 
{\bf elseif }{\rm{rule}}\,({\it{op\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{binary\_operator}}, {\tt{'}}{\tt{op}})\index{tag}, {\tt{'}}{\tt{union}})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{gpf\_gunion}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gunion} \\ 
{\bf elseif }{\rm{rule}}\,({\it{op\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{binary\_operator}}, {\tt{'}}{\tt{op}})\index{tag}, {\tt{'}}{\tt{intersect}})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{gpf\_gintersect}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gintersect} \\ 
{\bf elseif }{\rm{rule}}\,({\it{op\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{binary\_operator}}, {\tt{'}}{\tt{op}})\index{tag}, {\tt{'}}{\tt{difference}})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{gpf\_gdifference}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gdifference} \\ 
{\bf elseif }{\rm{rule}}\,({\it{op\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{binary\_operator}}, {\tt{'}}{\tt{op}})\index{tag}, {\tt{'}}{\tt{colon\_gt}})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{gpf\_gcons}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gcons} \\ 
{\bf elseif }{\rm{rule}}\,({\it{op\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{binary\_operator}}, {\tt{'}}{\tt{op}})\index{tag}, {\tt{'}}{\tt{lt\_colon}})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{gpf\_grcons}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_grcons} \\ 
{\bf elseif }{\rm{rule}}\,({\it{op\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{binary\_operator}}, {\tt{'}}{\tt{op}})\index{tag}, {\tt{'}}{\tt{append}})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{gpf\_gappend}}\,({\it{sv1\/}}, {\it{sv2\/}}, {\it{s0\/}})\index{gpf\_gappend} \\ 
{\bf else }{\rm{mark\_state\_indeterminate}}\,({\it{s0\/}})\index{mark\_state\_indeterminate}$\;${\bf  endif}\-\-
\end{tabbing}



\begin{verbatim}; ********************
;  Standard Functions
; ********************

\end{verbatim}
\noindent{\sc Event}:   Disable std\_domain.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_std\_domain\_intro \\ \index{p\_std\_domain\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_std\_domain}}\,({\it{d\/}}, {\it{s0\/}})\index{p\_std\_domain}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{std\_domain}}\,({\it{d\/}})\index{std\_domain}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{std\_domain}}\,({\it{d\/}})\index{std\_domain})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_std\_domain\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_std\_domain} \\  
\=\+{\rm{gpf\_std\_domain}}\,({\it{sd\/}}, {\it{s0\/}})\index{gpf\_std\_domain} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\it{sd\/}}, {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_std\_domain}}\,({\rm{result\~\_list}}\,({\it{sd\/}})\index{result\~\_list}, {\it{s0\/}})\index{p\_std\_domain} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable std\_first.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_std\_first\_intro \\ \index{p\_std\_first\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_std\_first}}\,({\it{d\/}}, {\it{s0\/}})\index{p\_std\_first}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{std\_first}}\,({\it{d\/}})\index{std\_first}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{std\_first}}\,({\it{d\/}})\index{std\_first})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_std\_first\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_std\_first} \\  
\=\+{\rm{gpf\_std\_first}}\,({\it{sd\/}}, {\it{s0\/}})\index{gpf\_std\_first} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\it{sd\/}}, {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_std\_first}}\,({\rm{result\~\_list}}\,({\it{sd\/}})\index{result\~\_list}, {\it{s0\/}})\index{p\_std\_first} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable std\_initial.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_std\_initial\_intro \\ \index{p\_std\_initial\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_std\_initial}}\,({\it{d\/}}, {\it{s0\/}})\index{p\_std\_initial}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{std\_initial}}\,({\it{d\/}})\index{std\_initial}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{std\_initial}}\,({\it{d\/}})\index{std\_initial})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_std\_initial\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_std\_initial} \\  
\=\+{\rm{gpf\_std\_initial}}\,({\it{sd\/}}, {\it{s0\/}})\index{gpf\_std\_initial} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\it{sd\/}}, {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_std\_initial}}\,({\rm{result\~\_list}}\,({\it{sd\/}})\index{result\~\_list}, {\it{s0\/}})\index{p\_std\_initial} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable std\_last.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_std\_last\_intro \\ \index{p\_std\_last\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_std\_last}}\,({\it{d\/}}, {\it{s0\/}})\index{p\_std\_last}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{std\_last}}\,({\it{d\/}})\index{std\_last}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{std\_last}}\,({\it{d\/}})\index{std\_last})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_std\_last\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_std\_last} \\  
\=\+{\rm{gpf\_std\_last}}\,({\it{sd\/}}, {\it{s0\/}})\index{gpf\_std\_last} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\it{sd\/}}, {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_std\_last}}\,({\rm{result\~\_list}}\,({\it{sd\/}})\index{result\~\_list}, {\it{s0\/}})\index{p\_std\_last} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable std\_lower.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_std\_lower\_intro \\ \index{p\_std\_lower\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_std\_lower}}\,({\it{d\/}}, {\it{s0\/}})\index{p\_std\_lower}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{std\_lower}}\,({\it{d\/}})\index{std\_lower}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{std\_lower}}\,({\it{d\/}})\index{std\_lower})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_std\_lower\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_std\_lower} \\  
\=\+{\rm{gpf\_std\_lower}}\,({\it{sd\/}}, {\it{s0\/}})\index{gpf\_std\_lower} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\it{sd\/}}, {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_std\_lower}}\,({\rm{result\~\_list}}\,({\it{sd\/}})\index{result\~\_list}, {\it{s0\/}})\index{p\_std\_lower} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable std\_max.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_std\_max\_intro \\ \index{p\_std\_max\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_std\_max}}\,({\it{d\/}}, {\it{s0\/}})\index{p\_std\_max}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{std\_max}}\,({\it{d\/}})\index{std\_max}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{std\_max}}\,({\it{d\/}})\index{std\_max})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_std\_max\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_std\_max} \\  
\=\+{\rm{gpf\_std\_max}}\,({\it{sd\/}}, {\it{s0\/}})\index{gpf\_std\_max} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\it{sd\/}}, {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_std\_max}}\,({\rm{result\~\_list}}\,({\it{sd\/}})\index{result\~\_list}, {\it{s0\/}})\index{p\_std\_max} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable std\_min.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_std\_min\_intro \\ \index{p\_std\_min\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_std\_min}}\,({\it{d\/}}, {\it{s0\/}})\index{p\_std\_min}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{std\_min}}\,({\it{d\/}})\index{std\_min}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{std\_min}}\,({\it{d\/}})\index{std\_min})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_std\_min\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_std\_min} \\  
\=\+{\rm{gpf\_std\_min}}\,({\it{sd\/}}, {\it{s0\/}})\index{gpf\_std\_min} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\it{sd\/}}, {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_std\_min}}\,({\rm{result\~\_list}}\,({\it{sd\/}})\index{result\~\_list}, {\it{s0\/}})\index{p\_std\_min} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable std\_nonfirst.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_std\_nonfirst\_intro \\ \index{p\_std\_nonfirst\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_std\_nonfirst}}\,({\it{d\/}}, {\it{s0\/}})\index{p\_std\_nonfirst}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{std\_nonfirst}}\,({\it{d\/}})\index{std\_nonfirst}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{std\_nonfirst}}\,({\it{d\/}})\index{std\_nonfirst})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_std\_nonfirst\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_std\_nonfirst} \\  
\=\+{\rm{gpf\_std\_nonfirst}}\,({\it{sd\/}}, {\it{s0\/}})\index{gpf\_std\_nonfirst} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\it{sd\/}}, {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_std\_nonfirst}}\,({\rm{result\~\_list}}\,({\it{sd\/}})\index{result\~\_list}, {\it{s0\/}})\index{p\_std\_nonfirst} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable std\_nonlast.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_std\_nonlast\_intro \\ \index{p\_std\_nonlast\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_std\_nonlast}}\,({\it{d\/}}, {\it{s0\/}})\index{p\_std\_nonlast}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{std\_nonlast}}\,({\it{d\/}})\index{std\_nonlast}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{std\_nonlast}}\,({\it{d\/}})\index{std\_nonlast})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_std\_nonlast\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_std\_nonlast} \\  
\=\+{\rm{gpf\_std\_nonlast}}\,({\it{sd\/}}, {\it{s0\/}})\index{gpf\_std\_nonlast} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\it{sd\/}}, {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_std\_nonlast}}\,({\rm{result\~\_list}}\,({\it{sd\/}})\index{result\~\_list}, {\it{s0\/}})\index{p\_std\_nonlast} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable std\_null.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_std\_null\_intro \\ \index{p\_std\_null\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_std\_null}}\,({\it{d\/}}, {\it{s0\/}})\index{p\_std\_null}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{std\_null}}\,({\it{d\/}})\index{std\_null}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{std\_null}}\,({\it{d\/}})\index{std\_null})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_std\_null\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_std\_null} \\  
\=\+{\rm{gpf\_std\_null}}\,({\it{sd\/}}, {\it{s0\/}})\index{gpf\_std\_null} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\it{sd\/}}, {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_std\_null}}\,({\rm{result\~\_list}}\,({\it{sd\/}})\index{result\~\_list}, {\it{s0\/}})\index{p\_std\_null} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable std\_ord.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_std\_ord\_intro \\ \index{p\_std\_ord\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_std\_ord}}\,({\it{d\/}}, {\it{s0\/}})\index{p\_std\_ord}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{std\_ord}}\,({\it{d\/}})\index{std\_ord}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{std\_ord}}\,({\it{d\/}})\index{std\_ord})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_std\_ord\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_std\_ord} \\  
\=\+{\rm{gpf\_std\_ord}}\,({\it{sd\/}}, {\it{s0\/}})\index{gpf\_std\_ord} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\it{sd\/}}, {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_std\_ord}}\,({\rm{result\~\_list}}\,({\it{sd\/}})\index{result\~\_list}, {\it{s0\/}})\index{p\_std\_ord} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable std\_pred.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_std\_pred\_intro \\ \index{p\_std\_pred\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_std\_pred}}\,({\it{d\/}}, {\it{s0\/}})\index{p\_std\_pred}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{std\_pred}}\,({\it{d\/}})\index{std\_pred}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{std\_pred}}\,({\it{d\/}})\index{std\_pred})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_std\_pred\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_std\_pred} \\  
\=\+{\rm{gpf\_std\_pred}}\,({\it{sd\/}}, {\it{s0\/}})\index{gpf\_std\_pred} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\it{sd\/}}, {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_std\_pred}}\,({\rm{result\~\_list}}\,({\it{sd\/}})\index{result\~\_list}, {\it{s0\/}})\index{p\_std\_pred} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable std\_range.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_std\_range\_intro \\ \index{p\_std\_range\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_std\_range}}\,({\it{d\/}}, {\it{s0\/}})\index{p\_std\_range}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{std\_range}}\,({\it{d\/}})\index{std\_range}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{std\_range}}\,({\it{d\/}})\index{std\_range})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_std\_range\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_std\_range} \\  
\=\+{\rm{gpf\_std\_range}}\,({\it{sd\/}}, {\it{s0\/}})\index{gpf\_std\_range} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\it{sd\/}}, {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_std\_range}}\,({\rm{result\~\_list}}\,({\it{sd\/}})\index{result\~\_list}, {\it{s0\/}})\index{p\_std\_range} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable std\_scale.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_std\_scale\_intro \\ \index{p\_std\_scale\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_std\_scale}}\,({\it{d\/}}, {\it{s0\/}})\index{p\_std\_scale}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{std\_scale}}\,({\it{d\/}})\index{std\_scale}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{std\_scale}}\,({\it{d\/}})\index{std\_scale})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_std\_scale\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_std\_scale} \\  
\=\+{\rm{gpf\_std\_scale}}\,({\it{sd\/}}, {\it{s0\/}})\index{gpf\_std\_scale} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\it{sd\/}}, {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_std\_scale}}\,({\rm{result\~\_list}}\,({\it{sd\/}})\index{result\~\_list}, {\it{s0\/}})\index{p\_std\_scale} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable std\_size.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_std\_size\_intro \\ \index{p\_std\_size\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_std\_size}}\,({\it{d\/}}, {\it{s0\/}})\index{p\_std\_size}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{std\_size}}\,({\it{d\/}})\index{std\_size}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{std\_size}}\,({\it{d\/}})\index{std\_size})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_std\_size\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_std\_size} \\  
\=\+{\rm{gpf\_std\_size}}\,({\it{sd\/}}, {\it{s0\/}})\index{gpf\_std\_size} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\it{sd\/}}, {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_std\_size}}\,({\rm{result\~\_list}}\,({\it{sd\/}})\index{result\~\_list}, {\it{s0\/}})\index{p\_std\_size} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable std\_succ.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_std\_succ\_intro \\ \index{p\_std\_succ\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_std\_succ}}\,({\it{d\/}}, {\it{s0\/}})\index{p\_std\_succ}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{std\_succ}}\,({\it{d\/}})\index{std\_succ}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{std\_succ}}\,({\it{d\/}})\index{std\_succ})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_std\_succ\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_std\_succ} \\  
\=\+{\rm{gpf\_std\_succ}}\,({\it{sd\/}}, {\it{s0\/}})\index{gpf\_std\_succ} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\it{sd\/}}, {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_std\_succ}}\,({\rm{result\~\_list}}\,({\it{sd\/}})\index{result\~\_list}, {\it{s0\/}})\index{p\_std\_succ} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\noindent{\sc Event}:   Disable std\_upper.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_std\_upper\_intro \\ \index{p\_std\_upper\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_std\_upper}}\,({\it{d\/}}, {\it{s0\/}})\index{p\_std\_upper}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{std\_upper}}\,({\it{d\/}})\index{std\_upper}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{std\_upper}}\,({\it{d\/}})\index{std\_upper})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_std\_upper\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_std\_upper} \\  
\=\+{\rm{gpf\_std\_upper}}\,({\it{sd\/}}, {\it{s0\/}})\index{gpf\_std\_upper} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\it{sd\/}}, {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_std\_upper}}\,({\rm{result\~\_list}}\,({\it{sd\/}})\index{result\~\_list}, {\it{s0\/}})\index{p\_std\_upper} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\begin{verbatim}; ***********
;  Variables
; ***********

\end{verbatim}\begin{tabbing}{\sc Conservative Axiom}:  p\_apply\_var\_intro \\ \index{p\_apply\_var\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_apply\_var}}\,({\it{fn\/}}, {\it{s0\/}}, {\it{d\/}})\index{p\_apply\_var}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,(\=\+{\it{s1\/}}, \\ 
{\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{apply\_var}}\,({\it{fn\/}}, {\rm{map}}\,({\it{s0\/}})\index{map}, {\it{d\/}})\index{apply\_var}, {\it{s0\/}})\index{store\_value})\-\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{determinate}}\,({\rm{apply\_var}}\,({\it{fn\/}}, {\rm{map}}\,({\it{s0\/}})\index{map}, {\it{d\/}})\index{apply\_var})\index{determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_apply\_var\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_apply\_var} \\  
\=\+{\rm{gpf\_apply\_var}}\,({\it{fn\/}}, {\it{s\/}}, {\it{d\/}})\index{gpf\_apply\_var} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{normal\_state}}\,({\it{s\/}})\index{normal\_state} \\ 
{\bf then }\=\+{\bf if }{\rm{state\_componentp}}\,({\it{fn\/}}, {\it{s\/}})\index{state\_componentp} \\ 
{\bf then }\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\it{d\/}}, {\it{s\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state} \\ 
{\bf then }{\rm{p\_apply\_var}}\,({\it{fn\/}}, {\it{s\/}}, {\rm{result\~\_list}}\,({\it{d\/}})\index{result\~\_list})\index{p\_apply\_var} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\- \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf else }{\it{s\/}}$\;${\bf  endif}\-\-
\end{tabbing}



\begin{verbatim}; **************
;  Bound Values 
; **************

\end{verbatim}
\noindent{\sc Event}:   Disable bound\_values.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  gpf\_bound\_values\_intro \\ \index{gpf\_bound\_values\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{gpf\_bound\_values}}\,({\it{e\/}}, {\it{c\/}}, {\it{s0\/}}, {\it{x\/}})\index{gpf\_bound\_values}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\tt{'}}{\tt{result\~}}, {\rm{bound\_values}}\,({\it{e\/}}, {\it{c\/}}, {\it{x\/}})\index{bound\_values}, {\it{s0\/}})\index{store\_value})\index{sequal} \\ 
$\wedge$$\;\;\;\;${\rm{all\_determinate}}\,({\rm{bound\_values}}\,({\it{e\/}}, {\it{c\/}}, {\it{x\/}})\index{bound\_values})\index{all\_determinate})\-)\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it gpf\_bound\_values\/}.



\begin{verbatim}; ***********************************
;  Space Allocation and Deallocation
; ***********************************

\end{verbatim}\begin{tabbing}{\sc Conservative Axiom}:  allocate\_intro \\ \index{allocate\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{allocate}}\,({\it{k\/}}, {\it{v\/}}, {\it{s0\/}})\index{allocate}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;${\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_value}}\,({\it{k\/}}, {\it{v\/}}, {\it{s0\/}})\index{store\_value})\index{sequal})\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it allocate\/}.

\begin{tabbing}{\sc Conservative Axiom}:  allocate\_const\_intro \\ \index{allocate\_const\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{allocate\_const}}\,({\it{k\/}}, {\it{v\/}}, {\it{sc\/}}, {\it{s0\/}})\index{allocate\_const}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;${\rm{sequal}}\,({\it{s1\/}}, {\rm{store\_const}}\,({\it{k\/}}, {\it{v\/}}, {\it{sc\/}}, {\it{s0\/}})\index{store\_const})\index{sequal})\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it allocate\_const\/}.

\begin{tabbing}{\sc Definition}:\index{gp\_deallocate\_locals} \\  
\=\+{\rm{gp\_deallocate\_locals}}\,({\it{s\/}})\index{gp\_deallocate\_locals} \\ 
$=$$\;\;\;\;${\rm{deallocate\_vars}}\,(\=\+{\rm{local\_vars}}\,({\it{s\/}})\index{local\_vars}, \\ 
{\rm{deallocate\_consts}}\,(\=\+{\rm{local\_consts}}\,({\it{s\/}})\index{local\_consts}, \\ 
{\rm{deallocate\_conds}}\,({\rm{local\_conds}}\,({\it{s\/}})\index{local\_conds}, {\it{s\/}})\index{deallocate\_conds})\-\index{deallocate\_consts})\-\index{deallocate\_vars}\-
\end{tabbing}



\begin{verbatim}; ******************
;  Name Expressions
; ******************

; A name expression is a marked object, with
;     mark = 'name_expression
;     object = (id . <evaluated selector_list>)


\end{verbatim}\begin{tabbing}{\sc Definition}:\index{name\_exp} \\  
{\rm{name\_exp}}\,({\it{id\/}}, {\it{ss\/}})\index{name\_exp} $=$ {\rm{marked}}\,({\tt{'}}{\tt{name\_expression}}, {\rm{cons}}\,({\it{id\/}}, {\it{ss\/}}))\index{marked}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{namep}$\;\;$
{\rm{namep}}\,({\it{v\/}})\index{namep} $=$ ({\rm{mark}}\,({\it{v\/}})\index{mark} $=$ {\tt{'}}{\tt{name\_expression}})
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{ne\_name} \\  
\=\+{\rm{ne\_name}}\,({\it{v\/}})\index{ne\_name} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{namep}}\,({\it{v\/}})\index{namep}$\;\;${\bf then }{\rm{car}}\,({\rm{object}}\,({\it{v\/}})\index{object}) \\ 
{\bf else }{\bf{f}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{ne\_selectors} \\  
\=\+{\rm{ne\_selectors}}\,({\it{v\/}})\index{ne\_selectors} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{namep}}\,({\it{v\/}})\index{namep}$\;\;${\bf then }{\rm{cdr}}\,({\rm{object}}\,({\it{v\/}})\index{object}) \\ 
{\bf else }{\bf{nil}}$\;${\bf  endif}\-\-
\end{tabbing}



\begin{verbatim}; ******************
;  Retyping Result~
; ******************

; This is used in constant interpretation.

\end{verbatim}\begin{tabbing}{\sc Definition}:\index{retype\_result\~} \\  
\=\+{\rm{retype\_result\~}}\,({\it{s\/}}, {\it{td\/}})\index{retype\_result\~} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{determinate}}\,({\rm{result\~}}\,({\it{s\/}})\index{result\~})\index{determinate} $\wedge$ {\rm{truep}}\,({\rm{in\_type}}\,({\it{td\/}}, {\rm{result\~}}\,({\it{s\/}})\index{result\~})\index{in\_type}) \\ 
{\bf then }{\rm{store\_value}}\,(\=\+{\tt{'}}{\tt{result\~}}, \\ 
{\rm{marked}}\,({\bf{nil}}, {\rm{typed}}\,({\it{td\/}}, {\rm{value}}\,({\rm{result\~}}\,({\it{s\/}})\index{result\~})\index{value})\index{typed})\index{marked}, \\ 
{\it{s\/}})\-\index{store\_value} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Conservative Axiom}:  p\_retype\_result\~\_intro \\ \index{p\_retype\_result\~\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_retype\_result\~}}\,({\it{s0\/}}, {\it{td\/}})\index{p\_retype\_result\~}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;${\rm{sequal}}\,({\it{s1\/}}, {\rm{retype\_result\~}}\,({\it{s0\/}}, {\it{td\/}})\index{retype\_result\~})\index{sequal})\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_retype\_result\~\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_retype\_result\~} \\  
\=\+{\rm{gpf\_retype\_result\~}}\,({\it{s\/}}, {\it{td\/}})\index{gpf\_retype\_result\~} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{normal\_state}}\,({\it{s\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_retype\_result\~}}\,({\it{s\/}}, {\it{td\/}})\index{p\_retype\_result\~} \\ 
{\bf else }{\it{s\/}}$\;${\bf  endif}\-\-
\end{tabbing}



\begin{verbatim}; *******************************
;  Functions on Type Descriptors
; *******************************

\end{verbatim}\begin{tabbing}{\sc Definition}:\index{subtype\_irange} \\  
\=\+{\rm{subtype\_irange}}\,({\it{t1\/}}, {\it{t2\/}})\index{subtype\_irange} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{bounded\_typep}}\,({\it{t1\/}})\index{bounded\_typep} \\ 
{\bf then }\=\+{\bf if }{\rm{bounded\_typep}}\,({\it{t2\/}})\index{bounded\_typep} \\ 
{\bf then }\=\+{\bf if }\=\+{\rm{integerp}}\,({\rm{tmin}}\,({\it{t1\/}})\index{tmin})\index{integerp} \\ 
$\wedge$$\;\;\;\;${\rm{integerp}}\,({\rm{tmax}}\,({\it{t1\/}})\index{tmax})\index{integerp} \\ 
$\wedge$$\;\;\;\;${\rm{integerp}}\,({\rm{tmin}}\,({\it{t2\/}})\index{tmin})\index{integerp} \\ 
$\wedge$$\;\;\;\;${\rm{integerp}}\,({\rm{tmax}}\,({\it{t2\/}})\index{tmax})\index{integerp}\- \\ 
{\bf then }{\rm{ileq}}\,({\rm{tmin}}\,({\it{t2\/}})\index{tmin}, {\rm{tmin}}\,({\it{t1\/}})\index{tmin})\index{ileq} $\wedge$ {\rm{ileq}}\,({\rm{tmax}}\,({\it{t1\/}})\index{tmax}, {\rm{tmax}}\,({\it{t2\/}})\index{tmax})\index{ileq} \\ 
{\bf else }{\bf{f}}$\;${\bf  endif}\- \\ 
{\bf else }{\bf{t}}$\;${\bf  endif}\- \\ 
{\bf elseif }{\rm{bounded\_typep}}\,({\it{t2\/}})\index{bounded\_typep}$\;\;${\bf then }{\bf{f}} \\ 
{\bf else }{\bf{t}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{subtype\_rrange} \\  
\=\+{\rm{subtype\_rrange}}\,({\it{t1\/}}, {\it{t2\/}})\index{subtype\_rrange} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{bounded\_typep}}\,({\it{t1\/}})\index{bounded\_typep} \\ 
{\bf then }\=\+{\bf if }{\rm{bounded\_typep}}\,({\it{t2\/}})\index{bounded\_typep} \\ 
{\bf then }\=\+{\bf if }\=\+{\rm{rationalp}}\,({\rm{tmin}}\,({\it{t1\/}})\index{tmin})\index{rationalp} \\ 
$\wedge$$\;\;\;\;${\rm{rationalp}}\,({\rm{tmax}}\,({\it{t1\/}})\index{tmax})\index{rationalp} \\ 
$\wedge$$\;\;\;\;${\rm{rationalp}}\,({\rm{tmin}}\,({\it{t2\/}})\index{tmin})\index{rationalp} \\ 
$\wedge$$\;\;\;\;${\rm{rationalp}}\,({\rm{tmax}}\,({\it{t2\/}})\index{tmax})\index{rationalp}\- \\ 
{\bf then }{\rm{rleq}}\,({\rm{tmin}}\,({\it{t2\/}})\index{tmin}, {\rm{tmin}}\,({\it{t1\/}})\index{tmin})\index{rleq} $\wedge$ {\rm{rleq}}\,({\rm{tmax}}\,({\it{t1\/}})\index{tmax}, {\rm{tmax}}\,({\it{t2\/}})\index{tmax})\index{rleq} \\ 
{\bf else }{\bf{f}}$\;${\bf  endif}\- \\ 
{\bf else }{\bf{t}}$\;${\bf  endif}\- \\ 
{\bf elseif }{\rm{bounded\_typep}}\,({\it{t2\/}})\index{bounded\_typep}$\;\;${\bf then }{\bf{f}} \\ 
{\bf else }{\bf{t}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{subtype\_size} \\  
\=\+{\rm{subtype\_size}}\,({\it{s1\/}}, {\it{s2\/}})\index{subtype\_size} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{s1\/}} $=$ {\bf{nil}}$\;\;${\bf then }{\it{s2\/}} $=$ {\bf{nil}} \\ 
{\bf elseif }{\it{s2\/}} $=$ {\bf{nil}}$\;\;${\bf then }{\it{s1\/}} $\in\;${\bf{N}}${}$ \\ 
{\bf elseif }({\it{s1\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{s2\/}} $\in\;${\bf{N}}${}$)$\;\;${\bf then }{\it{s1\/}} $\leq$ {\it{s2\/}} \\ 
{\bf else }{\bf{f}}$\;${\bf  endif}\-\-
\end{tabbing}


\begin{verbatim}#|
(do-mutual '(

(defn subtype_fields (t1 t2)
  (if (nlistp t1)
      T
    (and (subtype (cdar t1) (mapped_value t2 (caar t1)))
	 (subtype_fields (cdr t1) t2)))
  ( (lessp (tree_size t1)) ))

(defn subtype (t1 t2)
  (if (and (type_descp t1) (type_descp t2)
	   (equal (mode t1) (mode t2)))
      (case (mode t1)
	(integer (subtype_irange t1 t2))
	(rational (subtype_rrange t1 t2))
	(scalar (and (equal (tid t1) (tid t2))
		     (equal (sid t1) (sid t2))
		     (type_vequal (crd t1) (crd t2) (integer_desc))
		     (subtype_irange t1 t2)))
	(array (and (type_equal (selector_td t1) (selector_td t2))
		    (subtype (component_td t1) (component_td t2))))
	(record (and (set_equal (field_names t1) (field_names t2))
		     (subtype_fields (field_tds t1) (field_tds t2))))
	(mapping (and (subtype_size (max_size t1) (max_size t2))
		      (subtype (selector_td t1) (selector_td t2))
		      (subtype (component_td t1) (component_td t2))))
	(sequence (and (subtype_size (max_size t1) (max_size t2))
		       (subtype (component_td t1) (component_td t2))))
	(set (and (subtype_size (max_size t1) (max_size t2))
		  (subtype (component_td t1) (component_td t2))))
	(pending (and (equal (tid t1) (tid t2))
		      (equal (sid t1) (sid t2))))
	(otherwise F))
    F)
  ( (lessp (tree_size t1)) ))

))
|#

\end{verbatim}\begin{tabbing}{\sc Definition}:\index{mutual-subtype-subtype\_fields} \\  
\=\+{\rm{mutual-subtype-subtype\_fields}}\,({\it{mutual-flg\/}}, {\it{t1\/}}, {\it{t2\/}})\index{mutual-subtype-subtype\_fields} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{mutual-flg\/}} $=$ {\tt{'}}{\tt{subtype}} \\ 
{\bf then }\=\+{\bf if }\=\+{\rm{type\_descp}}\,({\it{t1\/}})\index{type\_descp} \\ 
$\wedge$$\;\;\;\;${\rm{type\_descp}}\,({\it{t2\/}})\index{type\_descp} \\ 
$\wedge$$\;\;\;\;$({\rm{mode}}\,({\it{t1\/}})\index{mode} $=$ {\rm{mode}}\,({\it{t2\/}})\index{mode})\- \\ 
{\bf then }\=\+{\bf case on }{\rm{mode}}\,({\it{t1\/}})\index{mode}: \\ 
{\bf case = }{\it{integer\/}} \\ 
{\bf then }{\rm{subtype\_irange}}\,({\it{t1\/}}, {\it{t2\/}})\index{subtype\_irange} \\ 
{\bf case = }{\it{rational\/}} \\ 
{\bf $\;\;$then }{\rm{subtype\_rrange}}\,({\it{t1\/}}, {\it{t2\/}})\index{subtype\_rrange} \\ 
{\bf case = }{\it{scalar\/}} \\ 
{\bf $\;\;$then }\=\+({\rm{tid}}\,({\it{t1\/}})\index{tid} $=$ {\rm{tid}}\,({\it{t2\/}})\index{tid}) \\ 
$\wedge$$\;\;\;\;$({\rm{sid}}\,({\it{t1\/}})\index{sid} $=$ {\rm{sid}}\,({\it{t2\/}})\index{sid}) \\ 
$\wedge$$\;\;\;\;${\rm{type\_vequal}}\,({\rm{crd}}\,({\it{t1\/}})\index{crd}, {\rm{crd}}\,({\it{t2\/}})\index{crd}, {\sc{integer\_desc}}\index{integer\_desc})\index{type\_vequal} \\ 
$\wedge$$\;\;\;\;${\rm{subtype\_irange}}\,({\it{t1\/}}, {\it{t2\/}})\index{subtype\_irange}\- \\ 
{\bf case = }{\it{array\/}} \\ 
{\bf $\;\;$then }\=\+{\rm{type\_equal}}\,({\rm{selector\_td}}\,({\it{t1\/}})\index{selector\_td}, {\rm{selector\_td}}\,({\it{t2\/}})\index{selector\_td})\index{type\_equal} \\ 
$\wedge$$\;\;\;\;${\rm{mutual-subtype-subtype\_fields}}\,(\=\+{\tt{'}}{\tt{subtype}}, \\ 
{\rm{component\_td}}\,({\it{t1\/}})\index{component\_td}, \\ 
{\rm{component\_td}}\,({\it{t2\/}})\index{component\_td})\-\index{mutual-subtype-subtype\_fields}\- \\ 
{\bf case = }{\it{record\/}} \\ 
{\bf $\;\;$then }\=\+{\rm{set\_equal}}\,({\rm{field\_names}}\,({\it{t1\/}})\index{field\_names}, {\rm{field\_names}}\,({\it{t2\/}})\index{field\_names})\index{set\_equal} \\ 
$\wedge$$\;\;\;\;${\rm{mutual-subtype-subtype\_fields}}\,(\=\+{\tt{'}}{\tt{subtype\_fields}}, \\ 
{\rm{field\_tds}}\,({\it{t1\/}})\index{field\_tds}, \\ 
{\rm{field\_tds}}\,({\it{t2\/}})\index{field\_tds})\-\index{mutual-subtype-subtype\_fields}\- \\ 
{\bf case = }{\it{mapping\/}} \\ 
{\bf $\;\;$then }\=\+{\rm{subtype\_size}}\,({\rm{max\_size}}\,({\it{t1\/}})\index{max\_size}, {\rm{max\_size}}\,({\it{t2\/}})\index{max\_size})\index{subtype\_size} \\ 
$\wedge$$\;\;\;\;${\rm{mutual-subtype-subtype\_fields}}\,(\=\+{\tt{'}}{\tt{subtype}}, \\ 
{\rm{selector\_td}}\,({\it{t1\/}})\index{selector\_td}, \\ 
{\rm{selector\_td}}\,({\it{t2\/}})\index{selector\_td})\-\index{mutual-subtype-subtype\_fields} \\ 
$\wedge$$\;\;\;\;${\rm{mutual-subtype-subtype\_fields}}\,(\=\+{\tt{'}}{\tt{subtype}}, \\ 
{\rm{component\_td}}\,({\it{t1\/}})\index{component\_td}, \\ 
{\rm{component\_td}}\,({\it{t2\/}})\index{component\_td})\-\index{mutual-subtype-subtype\_fields}\- \\ 
{\bf case = }{\it{sequence\/}} \\ 
{\bf $\;\;$then }\=\+{\rm{subtype\_size}}\,({\rm{max\_size}}\,({\it{t1\/}})\index{max\_size}, {\rm{max\_size}}\,({\it{t2\/}})\index{max\_size})\index{subtype\_size} \\ 
$\wedge$$\;\;\;\;${\rm{mutual-subtype-subtype\_fields}}\,(\=\+{\tt{'}}{\tt{subtype}}, \\ 
{\rm{component\_td}}\,({\it{t1\/}})\index{component\_td}, \\ 
{\rm{component\_td}}\,({\it{t2\/}})\index{component\_td})\-\index{mutual-subtype-subtype\_fields}\- \\ 
{\bf case = }{\it{set\/}} \\ 
{\bf $\;\;$then }\=\+{\rm{subtype\_size}}\,({\rm{max\_size}}\,({\it{t1\/}})\index{max\_size}, {\rm{max\_size}}\,({\it{t2\/}})\index{max\_size})\index{subtype\_size} \\ 
$\wedge$$\;\;\;\;${\rm{mutual-subtype-subtype\_fields}}\,(\=\+{\tt{'}}{\tt{subtype}}, \\ 
{\rm{component\_td}}\,({\it{t1\/}})\index{component\_td}, \\ 
{\rm{component\_td}}\,({\it{t2\/}})\index{component\_td})\-\index{mutual-subtype-subtype\_fields}\- \\ 
{\bf case = }{\it{pending\/}} \\ 
{\bf $\;\;$then }({\rm{tid}}\,({\it{t1\/}})\index{tid} $=$ {\rm{tid}}\,({\it{t2\/}})\index{tid}) $\wedge$ ({\rm{sid}}\,({\it{t1\/}})\index{sid} $=$ {\rm{sid}}\,({\it{t2\/}})\index{sid}) \\ 
{\bf otherwise }{\bf{f}}$\;${\bf  endcase}\- \\ 
{\bf else }{\bf{f}}$\;${\bf  endif}\- \\ 
{\bf elseif }{\it{t1\/}} $\simeq\;${{\bf{nil}}}${}$$\;\;${\bf then }{\bf{t}} \\ 
{\bf else }\=\+{\rm{mutual-subtype-subtype\_fields}}\,(\=\+{\tt{'}}{\tt{subtype}}, \\ 
{\rm{cdar}}\,({\it{t1\/}}), \\ 
{\rm{mapped\_value}}\,({\it{t2\/}}, {\rm{caar}}\,({\it{t1\/}}))\index{mapped\_value})\-\index{mutual-subtype-subtype\_fields} \\ 
$\wedge$$\;\;\;\;${\rm{mutual-subtype-subtype\_fields}}\,(\=\+{\tt{'}}{\tt{subtype\_fields}}, \\ 
{\rm{cdr}}\,({\it{t1\/}}), \\ 
{\it{t2\/}})\-\index{mutual-subtype-subtype\_fields}\-$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{subtype} \\  
{\rm{subtype}}\,({\it{t1\/}}, {\it{t2\/}})\index{subtype} $=$ {\rm{mutual-subtype-subtype\_fields}}\,({\tt{'}}{\tt{subtype}}, {\it{t1\/}}, {\it{t2\/}})\index{mutual-subtype-subtype\_fields}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{subtype\_fields} \\  
\=\+{\rm{subtype\_fields}}\,({\it{t1\/}}, {\it{t2\/}})\index{subtype\_fields} \\ 
$=$$\;\;\;\;${\rm{mutual-subtype-subtype\_fields}}\,({\tt{'}}{\tt{subtype\_fields}}, {\it{t1\/}}, {\it{t2\/}})\index{mutual-subtype-subtype\_fields}\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{type\_check} \\  
\=\+{\rm{type\_check}}\,({\it{td\/}}, {\it{s\/}})\index{type\_check} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{determinate}}\,({\rm{result\~}}\,({\it{s\/}})\index{result\~})\index{determinate} $\wedge$ {\rm{truep}}\,({\rm{in\_type}}\,({\it{td\/}}, {\rm{result\~}}\,({\it{s\/}})\index{result\~})\index{in\_type})$\;\;${\bf then }{\it{s\/}} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Conservative Axiom}:  p\_type\_check\_intro \\ \index{p\_type\_check\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_type\_check}}\,({\it{td\/}}, {\it{s0\/}})\index{p\_type\_check}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;${\rm{sequal}}\,({\it{s1\/}}, {\rm{type\_check}}\,({\it{td\/}}, {\it{s0\/}})\index{type\_check})\index{sequal})\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_type\_check\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_type\_check} \\  
\=\+{\rm{gpf\_type\_check}}\,({\it{td\/}}, {\it{s\/}})\index{gpf\_type\_check} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{normal\_state}}\,({\it{s\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_type\_check}}\,({\it{td\/}}, {\it{s\/}})\index{p\_type\_check} \\ 
{\bf else }{\it{s\/}}$\;${\bf  endif}\-\-
\end{tabbing}



\begin{verbatim}; *********************
;  Type Name Arguments
; *********************

\end{verbatim}\begin{tabbing}{\sc Definition}:\index{type\_name\_arg} \\  
\=\+{\rm{type\_name\_arg}}\,({\it{tn\/}}, {\it{sn\/}}, {\it{s\/}}, {\it{x\/}})\index{type\_name\_arg} \\ 
$=$$\;\;\;\;${\rm{store\_value}}\,(\=\+{\tt{'}}{\tt{result\~}}, \\ 
{\rm{marked}}\,(\=\+{\tt{'}}{\tt{type\_descriptor}}, \\ 
{\rm{type\_desc}}\,({\rm{mk\_identifier}}\,({\it{tn\/}})\index{mk\_identifier}, {\it{sn\/}}, {\bf{nil}}, {\it{x\/}})\index{type\_desc})\-\index{marked}, \\ 
{\it{s\/}})\-\index{store\_value}\-
\end{tabbing}

\begin{tabbing}{\sc Conservative Axiom}:  p\_type\_name\_arg\_intro \\ \index{p\_type\_name\_arg\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_type\_name\_arg}}\,({\it{tn\/}}, {\it{sn\/}}, {\it{s0\/}}, {\it{x\/}})\index{p\_type\_name\_arg}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;${\rm{sequal}}\,({\it{s1\/}}, {\rm{type\_name\_arg}}\,({\it{tn\/}}, {\it{sn\/}}, {\it{s0\/}}, {\it{x\/}})\index{type\_name\_arg})\index{sequal})\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_type\_name\_arg\/}.

\begin{tabbing}{\sc Definition}:\index{gpf\_type\_name\_arg} \\  
\=\+{\rm{gpf\_type\_name\_arg}}\,({\it{tn\/}}, {\it{sn\/}}, {\it{s\/}}, {\it{x\/}})\index{gpf\_type\_name\_arg} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{normal\_state}}\,({\it{s\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_type\_name\_arg}}\,({\it{tn\/}}, {\it{sn\/}}, {\it{s\/}}, {\it{x\/}})\index{p\_type\_name\_arg} \\ 
{\bf else }{\it{s\/}}$\;${\bf  endif}\-\-
\end{tabbing}



\begin{verbatim}; **********************
;  Specification Values
; **********************

\end{verbatim}\begin{tabbing}{\sc Definition}:\index{set\_entry} \\  
\=\+{\rm{set\_entry}}\,({\it{e\/}}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{set\_entry} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{v\/}}{\bf $\;$ be$\;\;$}{\rm{gf}}\,({\it{e\/}}, {\it{c\/}}, {\rm{map}}\,({\it{s\/}})\index{map}, {\it{n\/}}, {\it{x\/}})\index{gf}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{boolean\_typep}}\,({\rm{type}}\,({\it{v\/}})\index{type})\index{boolean\_typep}$\;\;${\bf then }{\rm{store\_value}}\,({\tt{'}}{\tt{entry}}, {\it{v\/}}, {\it{s\/}})\index{store\_value} \\ 
{\bf else }{\rm{store\_value}}\,(\=\+{\tt{'}}{\tt{entry}}, \\ 
{\rm{marked}}\,(\=\+{\rm{entry\_not\_boolean\_error}}\,({\it{e\/}}, {\it{c\/}})\index{entry\_not\_boolean\_error}, \\ 
{\rm{default\_value}}\,({\sc{boolean\_desc}}\index{boolean\_desc})\index{default\_value})\-\index{marked}, \\ 
{\it{s\/}})\-\index{store\_value}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}

\begin{tabbing}{\sc Conservative Axiom}:  p\_set\_entry\_intro \\ \index{p\_set\_entry\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_set\_entry}}\,({\it{e\/}}, {\it{c\/}}, {\it{s0\/}}, {\it{n\/}}, {\it{x\/}})\index{p\_set\_entry}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;${\rm{sequal}}\,({\it{s1\/}}, {\rm{set\_entry}}\,({\it{e\/}}, {\it{c\/}}, {\it{s0\/}}, {\it{n\/}}, {\it{x\/}})\index{set\_entry})\index{sequal})\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_set\_entry\/}.

\begin{tabbing}{\sc Definition}:\index{gp\_set\_entry} \\  
\=\+{\rm{gp\_set\_entry}}\,({\it{e\/}}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{gp\_set\_entry} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{normal\_state}}\,({\it{s\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_set\_entry}}\,({\it{e\/}}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{p\_set\_entry} \\ 
{\bf else }{\it{s\/}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{exit\_labels\_ok} \\  
\=\+{\rm{exit\_labels\_ok}}\,({\it{cs\/}}, {\it{s\/}})\index{exit\_labels\_ok} \\ 
$=$$\;\;\;\;$({\rm{setp}}\,({\it{cs\/}})\index{setp} $\wedge$ {\rm{all\_conditionsp}}\,({\it{cs\/}}, {\rm{store\_cond}}\,({\tt{'}}{\tt{normal}}, {\tt{'}}{\tt{formal}}, {\it{s\/}})\index{store\_cond})\index{all\_conditionsp})\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{set\_exit} \\  
\=\+{\rm{set\_exit}}\,({\it{e\/}}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{set\_exit} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{exit\_labels\_ok}}\,({\rm{exit\_labels}}\,({\it{e\/}})\index{exit\_labels}, {\it{s\/}})\index{exit\_labels\_ok} \\ 
{\bf then }\=\+{\bf let }\=\+{\it{v\/}}{\bf $\;$ be$\;\;$}{\rm{gf}}\,({\rm{postc}}\,({\it{e\/}}, {\rm{cond\~}}\,({\it{s\/}})\index{cond\~})\index{postc}, {\it{c\/}}, {\rm{map}}\,({\it{s\/}})\index{map}, {\it{n\/}}, {\it{x\/}})\index{gf}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{boolean\_typep}}\,({\rm{type}}\,({\it{v\/}})\index{type})\index{boolean\_typep}$\;\;${\bf then }{\rm{store\_value}}\,({\tt{'}}{\tt{exit}}, {\it{v\/}}, {\it{s\/}})\index{store\_value} \\ 
{\bf else }{\rm{store\_value}}\,(\=\+{\tt{'}}{\tt{exit}}, \\ 
{\rm{marked}}\,(\=\+{\rm{exit\_not\_boolean\_error}}\,({\it{e\/}}, {\it{c\/}})\index{exit\_not\_boolean\_error}, \\ 
{\rm{default\_value}}\,({\sc{boolean\_desc}}\index{boolean\_desc})\index{default\_value})\-\index{marked}, \\ 
{\it{s\/}})\-\index{store\_value}$\;${\bf  endif}\-$\;${\bf  endlet}\- \\ 
{\bf else }{\rm{store\_value}}\,(\=\+{\tt{'}}{\tt{exit}}, \\ 
{\rm{marked}}\,(\=\+{\rm{exit\_label\_error}}\,({\it{e\/}}, {\it{c\/}})\index{exit\_label\_error}, \\ 
{\rm{default\_value}}\,({\sc{boolean\_desc}}\index{boolean\_desc})\index{default\_value})\-\index{marked}, \\ 
{\it{s\/}})\-\index{store\_value}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Conservative Axiom}:  p\_set\_exit\_intro \\ \index{p\_set\_exit\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_set\_exit}}\,({\it{e\/}}, {\it{c\/}}, {\it{s0\/}}, {\it{n\/}}, {\it{x\/}})\index{p\_set\_exit}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;${\rm{sequal}}\,({\it{s1\/}}, {\rm{set\_exit}}\,({\it{e\/}}, {\it{c\/}}, {\it{s0\/}}, {\it{n\/}}, {\it{x\/}})\index{set\_exit})\index{sequal})\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_set\_exit\/}.

\begin{tabbing}{\sc Definition}:\index{gp\_set\_exit} \\  
\=\+{\rm{gp\_set\_exit}}\,({\it{e\/}}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{gp\_set\_exit} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{normal\_state}}\,({\it{s\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_set\_exit}}\,({\it{e\/}}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{p\_set\_exit} \\ 
{\bf else }{\it{s\/}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{update\_keep} \\  
\=\+{\rm{update\_keep}}\,({\it{s\/}}, {\it{c\/}}, {\it{n\/}}, {\it{x\/}})\index{update\_keep} \\ 
$=$$\;\;\;\;${\rm{store\_value}}\,({\tt{'}}{\tt{keep}}, {\rm{gand}}\,({\rm{keep}}\,({\it{s\/}})\index{keep}, {\rm{gf}}\,({\rm{keep\~}}\,({\it{s\/}})\index{keep\~}, {\it{c\/}}, {\rm{map}}\,({\it{s\/}})\index{map}, {\it{n\/}}, {\it{x\/}})\index{gf})\index{gand}, {\it{s\/}})\index{store\_value}\-
\end{tabbing}

\begin{tabbing}{\sc Conservative Axiom}:  p\_update\_keep\_intro \\ \index{p\_update\_keep\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_update\_keep}}\,({\it{s0\/}}, {\it{c\/}}, {\it{n\/}}, {\it{x\/}})\index{p\_update\_keep}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;${\rm{sequal}}\,({\it{s1\/}}, {\rm{update\_keep}}\,({\it{s0\/}}, {\it{c\/}}, {\it{n\/}}, {\it{x\/}})\index{update\_keep})\index{sequal})\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_update\_keep\/}.

\begin{tabbing}{\sc Definition}:\index{gp\_update\_keep} \\  
\=\+{\rm{gp\_update\_keep}}\,({\it{s\/}}, {\it{c\/}}, {\it{n\/}}, {\it{x\/}})\index{gp\_update\_keep} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{normal\_state}}\,({\it{s\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_update\_keep}}\,({\it{s\/}}, {\it{c\/}}, {\it{n\/}}, {\it{x\/}})\index{p\_update\_keep} \\ 
{\bf else }{\it{s\/}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{gp\_set\_keep} \\  
\=\+{\rm{gp\_set\_keep}}\,({\it{k\/}}, {\it{s\/}}, {\it{c\/}}, {\it{n\/}}, {\it{x\/}})\index{gp\_set\_keep} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{normal\_state}}\,({\it{s\/}})\index{normal\_state}$\;\;${\bf then }{\rm{gp\_update\_keep}}\,({\rm{allocate}}\,({\tt{'}}{\tt{keep\~}}, {\it{k\/}}, {\it{s\/}})\index{allocate}, {\it{c\/}}, {\it{n\/}}, {\it{x\/}})\index{gp\_update\_keep} \\ 
{\bf else }{\it{s\/}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{update\_assert} \\  
\=\+{\rm{update\_assert}}\,({\it{e\/}}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{update\_assert} \\ 
$=$$\;\;\;\;${\rm{store\_value}}\,({\tt{'}}{\tt{assert}}, {\rm{gand}}\,({\rm{assert}}\,({\it{s\/}})\index{assert}, {\rm{gf}}\,({\it{e\/}}, {\it{c\/}}, {\rm{map}}\,({\it{s\/}})\index{map}, {\it{n\/}}, {\it{x\/}})\index{gf})\index{gand}, {\it{s\/}})\index{store\_value}\-
\end{tabbing}

\begin{tabbing}{\sc Conservative Axiom}:  p\_update\_assert\_intro \\ \index{p\_update\_assert\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_update\_assert}}\,({\it{e\/}}, {\it{c\/}}, {\it{s0\/}}, {\it{n\/}}, {\it{x\/}})\index{p\_update\_assert}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;${\rm{sequal}}\,({\it{s1\/}}, {\rm{update\_assert}}\,({\it{e\/}}, {\it{c\/}}, {\it{s0\/}}, {\it{n\/}}, {\it{x\/}})\index{update\_assert})\index{sequal})\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_update\_assert\/}.

\begin{tabbing}{\sc Definition}:\index{gp\_update\_assert} \\  
\=\+{\rm{gp\_update\_assert}}\,({\it{e\/}}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{gp\_update\_assert} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{normal\_state}}\,({\it{s\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_update\_assert}}\,({\it{e\/}}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{p\_update\_assert} \\ 
{\bf else }{\it{s\/}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{record\_assert} \\  
{\rm{record\_assert}}\,({\it{v\/}}, {\it{s\/}})\index{record\_assert} $=$ {\rm{store\_value}}\,({\tt{'}}{\tt{assert}}, {\rm{gand}}\,({\rm{assert}}\,({\it{s\/}})\index{assert}, {\it{v\/}})\index{gand}, {\it{s\/}})\index{store\_value}
\end{tabbing}

\begin{tabbing}{\sc Conservative Axiom}:  p\_record\_assert\_intro \\ \index{p\_record\_assert\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_record\_assert}}\,({\it{v\/}}, {\it{s0\/}})\index{p\_record\_assert}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;${\rm{sequal}}\,({\it{s1\/}}, {\rm{record\_assert}}\,({\it{v\/}}, {\it{s0\/}})\index{record\_assert})\index{sequal})\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_record\_assert\/}.

\begin{tabbing}{\sc Definition}:\index{gp\_record\_assert} \\  
\=\+{\rm{gp\_record\_assert}}\,({\it{v\/}}, {\it{s\/}})\index{gp\_record\_assert} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{normal\_state}}\,({\it{s\/}})\index{normal\_state}$\;\;${\bf then }{\rm{p\_record\_assert}}\,({\it{v\/}}, {\it{s\/}})\index{p\_record\_assert} \\ 
{\bf else }{\it{s\/}}$\;${\bf  endif}\-\-
\end{tabbing}



\begin{verbatim}; ************
;  Assignment
; ************

\end{verbatim}\begin{tabbing}{\sc Definition}:\index{mapping\_selectionp} \\  
\=\+{\rm{mapping\_selectionp}}\,({\it{ss\/}}, {\it{td\/}})\index{mapping\_selectionp} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{ss\/}} $\simeq\;${{\bf{nil}}}${}$$\;\;${\bf then }{\bf{f}} \\ 
{\bf else }\=\+{\bf case on }{\rm{mode}}\,({\it{td\/}})\index{mode}: \\ 
{\bf case = }{\it{array\/}} \\ 
{\bf then }{\rm{mapping\_selectionp}}\,({\rm{cdr}}\,({\it{ss\/}}), {\rm{component\_td}}\,({\it{td\/}})\index{component\_td})\index{mapping\_selectionp} \\ 
{\bf case = }{\it{record\/}} \\ 
{\bf $\;\;$then }{\rm{mapping\_selectionp}}\,(\=\+{\rm{cdr}}\,({\it{ss\/}}), \\ 
{\rm{field\_td}}\,({\rm{value}}\,({\rm{car}}\,({\it{ss\/}}))\index{value}, {\it{td\/}})\index{field\_td})\-\index{mapping\_selectionp} \\ 
{\bf case = }{\it{mapping\/}} \\ 
{\bf $\;\;$then }{\bf{t}} \\ 
{\bf case = }{\it{sequence\/}} \\ 
{\bf $\;\;$then }{\rm{mapping\_selectionp}}\,({\rm{cdr}}\,({\it{ss\/}}), {\rm{component\_td}}\,({\it{td\/}})\index{component\_td})\index{mapping\_selectionp} \\ 
{\bf otherwise }{\bf{f}}$\;${\bf  endcase}\-$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{mapping\_element\_lhsp} \\  
\=\+{\rm{mapping\_element\_lhsp}}\,({\it{n\/}}, {\it{s\/}})\index{mapping\_element\_lhsp} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{namep}}\,({\it{n\/}})\index{namep} \\ 
{\bf then }{\rm{mapping\_selectionp}}\,({\rm{ne\_selectors}}\,({\it{n\/}})\index{ne\_selectors}, {\rm{type\_of}}\,({\rm{ne\_name}}\,({\it{n\/}})\index{ne\_name}, {\it{s\/}})\index{type\_of})\index{mapping\_selectionp} \\ 
{\bf else }{\bf{f}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{gassign0} \\  
\=\+{\rm{gassign0}}\,({\it{ne\/}}, {\it{v\/}}, {\it{s\/}})\index{gassign0} \\ 
$=$$\;\;\;\;$\=\+{\bf if }\=\+{\rm{namep}}\,({\it{ne\/}})\index{namep} \\ 
$\wedge$$\;\;\;\;${\rm{variablep}}\,({\rm{ne\_name}}\,({\it{ne\/}})\index{ne\_name}, {\it{s\/}})\index{variablep} \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{mapping\_element\_lhsp}}\,({\it{ne\/}}, {\it{s\/}})\index{mapping\_element\_lhsp})\- \\ 
{\bf then }\=\+{\bf let }\=\+{\it{id\/}}{\bf $\;$ be$\;\;$}{\rm{ne\_name}}\,({\it{ne\/}})\index{ne\_name}, \\ 
{\it{ss\/}}{\bf $\;$ be$\;\;$}{\rm{ne\_selectors}}\,({\it{ne\/}})\index{ne\_selectors}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{state\_componentp}}\,({\it{id\/}}, {\it{s\/}})\index{state\_componentp} \\ 
{\bf then }\=\+{\bf let }\=\+{\it{td\/}}{\bf $\;$ be$\;\;$}{\rm{type\_of}}\,({\it{id\/}}, {\it{s\/}})\index{type\_of}, \\ 
{\it{v2\/}}{\bf $\;$ be$\;\;$}{\rm{put\_op}}\,({\rm{state\_component}}\,({\it{id\/}}, {\it{s\/}})\index{state\_component}, {\it{ss\/}}, {\it{v\/}})\index{put\_op}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{determinate}}\,({\it{v2\/}})\index{determinate} $\wedge$ {\rm{truep}}\,({\rm{in\_type}}\,({\it{td\/}}, {\it{v2\/}})\index{in\_type}) \\ 
{\bf then }{\rm{store\_value}}\,(\=\+{\it{id\/}}, \\ 
{\rm{marked}}\,(\=\+{\bf{nil}}, \\ 
{\rm{typed}}\,({\it{td\/}}, {\rm{value}}\,({\it{v2\/}})\index{value})\index{typed})\-\index{marked}, \\ 
{\it{s\/}})\-\index{store\_value} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\-$\;${\bf  endlet}\- \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\-$\;${\bf  endlet}\- \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{gassign} \\  
{\rm{gassign}}\,({\it{ne\/}}, {\it{v\/}}, {\it{s\/}}, {\it{c\/}}, {\it{n\/}}, {\it{x\/}})\index{gassign} $=$ {\rm{gp\_update\_keep}}\,({\rm{gassign0}}\,({\it{ne\/}}, {\it{v\/}}, {\it{s\/}})\index{gassign0}, {\it{c\/}}, {\it{n\/}}, {\it{x\/}})\index{gp\_update\_keep}
\end{tabbing}

\begin{tabbing}{\sc Conservative Axiom}:  p\_assign\_intro \\ \index{p\_assign\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_assign}}\,({\it{ne\/}}, {\it{v\/}}, {\it{s0\/}}, {\it{c\/}}, {\it{n\/}}, {\it{x\/}})\index{p\_assign}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;${\rm{sequal}}\,({\it{s1\/}}, {\rm{gassign}}\,({\it{ne\/}}, {\it{v\/}}, {\it{s0\/}}, {\it{c\/}}, {\it{n\/}}, {\it{x\/}})\index{gassign})\index{sequal})\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_assign\/}.

\begin{tabbing}{\sc Definition}:\index{gp\_assign} \\  
\=\+{\rm{gp\_assign}}\,({\it{sne\/}}, {\it{sv\/}}, {\it{s0\/}}, {\it{c\/}}, {\it{n\/}}, {\it{x\/}})\index{gp\_assign} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sne\/}}, {\it{sv\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state} \\ 
{\bf then }{\rm{p\_assign}}\,({\rm{result\~}}\,({\it{sne\/}})\index{result\~}, {\rm{result\~}}\,({\it{sv\/}})\index{result\~}, {\it{s0\/}}, {\it{c\/}}, {\it{n\/}}, {\it{x\/}})\index{p\_assign} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\begin{verbatim}; ***************
;  New Statement
; ***************

\end{verbatim}\begin{tabbing}{\sc Definition}:\index{gnew0} \\  
\=\+{\rm{gnew0}}\,({\it{dc\/}}, {\it{v\/}}, {\it{ne\/}}, {\it{s\/}})\index{gnew0} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{id\/}}{\bf $\;$ be$\;\;$}{\rm{ne\_name}}\,({\it{ne\/}})\index{ne\_name}, \\ 
{\it{ss\/}}{\bf $\;$ be$\;\;$}{\rm{ne\_selectors}}\,({\it{ne\/}})\index{ne\_selectors}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{rule}}\,(\=\+{\it{dc\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{new\_dynamic\_variable\_component}}, \\ 
{\tt{'}}{\tt{dc}})\-\index{tag}, \\ 
{\rm{list}}\,({\tt{'}}{\tt{into}}, {\rm{tag}}\,({\tt{'}}{\tt{name\_expression}}, {\tt{'}}{\tt{ne}})\index{tag}))\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{gassign0}}\,(\=\+{\rm{name\_exp}}\,({\it{id\/}}, {\rm{rcdr}}\,({\it{ss\/}})\index{rcdr})\index{name\_exp}, \\ 
{\rm{gmap\_insert}}\,(\=\+{\rm{apply\_var}}\,({\it{id\/}}, {\rm{map}}\,({\it{s\/}})\index{map}, {\rm{rcdr}}\,({\it{ss\/}})\index{rcdr})\index{apply\_var}, \\ 
{\rm{rcar}}\,({\it{ss\/}})\index{rcar}, \\ 
{\it{v\/}})\-\index{gmap\_insert}, \\ 
{\it{s\/}})\-\index{gassign0} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{dc\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{new\_dynamic\_variable\_component}}, \\ 
{\tt{'}}{\tt{dc}})\-\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{into}}, \\ 
{\tt{'}}{\tt{set}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{name\_expression}}, {\tt{'}}{\tt{ne}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{gassign0}}\,({\it{ne\/}}, {\rm{gadjoin}}\,({\rm{apply\_var}}\,({\it{id\/}}, {\rm{map}}\,({\it{s\/}})\index{map}, {\it{ss\/}})\index{apply\_var}, {\it{v\/}})\index{gadjoin}, {\it{s\/}})\index{gassign0} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{dc\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{new\_dynamic\_variable\_component}}, \\ 
{\tt{'}}{\tt{dc}})\-\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{before}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{name\_expression}}, {\tt{'}}{\tt{ne}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{gassign0}}\,(\=\+{\rm{name\_exp}}\,({\it{id\/}}, {\rm{rcdr}}\,({\it{ss\/}})\index{rcdr})\index{name\_exp}, \\ 
{\rm{gseq\_insert\_before}}\,(\=\+{\rm{apply\_var}}\,({\it{id\/}}, {\rm{map}}\,({\it{s\/}})\index{map}, {\rm{rcdr}}\,({\it{ss\/}})\index{rcdr})\index{apply\_var}, \\ 
{\rm{rcar}}\,({\it{ss\/}})\index{rcar}, \\ 
{\it{v\/}})\-\index{gseq\_insert\_before}, \\ 
{\it{s\/}})\-\index{gassign0} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{dc\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{new\_dynamic\_variable\_component}}, \\ 
{\tt{'}}{\tt{dc}})\-\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{before}}, \\ 
{\tt{'}}{\tt{seq}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{name\_expression}}, {\tt{'}}{\tt{ne}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{gassign0}}\,({\it{ne\/}}, {\rm{gcons}}\,({\it{v\/}}, {\rm{apply\_var}}\,({\it{id\/}}, {\rm{map}}\,({\it{s\/}})\index{map}, {\it{ss\/}})\index{apply\_var})\index{gcons}, {\it{s\/}})\index{gassign0} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{dc\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{new\_dynamic\_variable\_component}}, \\ 
{\tt{'}}{\tt{dc}})\-\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{behind}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{name\_expression}}, {\tt{'}}{\tt{ne}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{gassign0}}\,(\=\+{\rm{name\_exp}}\,({\it{id\/}}, {\rm{rcdr}}\,({\it{ss\/}})\index{rcdr})\index{name\_exp}, \\ 
{\rm{gseq\_insert\_behind}}\,(\=\+{\rm{apply\_var}}\,({\it{id\/}}, {\rm{map}}\,({\it{s\/}})\index{map}, {\rm{rcdr}}\,({\it{ss\/}})\index{rcdr})\index{apply\_var}, \\ 
{\rm{rcar}}\,({\it{ss\/}})\index{rcar}, \\ 
{\it{v\/}})\-\index{gseq\_insert\_behind}, \\ 
{\it{s\/}})\-\index{gassign0} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{dc\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{new\_dynamic\_variable\_component}}, \\ 
{\tt{'}}{\tt{dc}})\-\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{behind}}, \\ 
{\tt{'}}{\tt{seq}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{name\_expression}}, {\tt{'}}{\tt{ne}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{gassign0}}\,({\it{ne\/}}, {\rm{grcons}}\,({\rm{apply\_var}}\,({\it{id\/}}, {\rm{map}}\,({\it{s\/}})\index{map}, {\it{ss\/}})\index{apply\_var}, {\it{v\/}})\index{grcons}, {\it{s\/}})\index{gassign0} \\ 
{\bf else }{\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{gnew} \\  
{\rm{gnew}}\,({\it{dc\/}}, {\it{v\/}}, {\it{ne\/}}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{gnew} $=$ {\rm{gp\_update\_keep}}\,({\rm{gnew0}}\,({\it{dc\/}}, {\it{v\/}}, {\it{ne\/}}, {\it{s\/}})\index{gnew0}, {\it{c\/}}, {\it{n\/}}, {\it{x\/}})\index{gp\_update\_keep}
\end{tabbing}

\begin{tabbing}{\sc Conservative Axiom}:  p\_new\_intro \\ \index{p\_new\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_new}}\,({\it{dc\/}}, {\it{v\/}}, {\it{ne\/}}, {\it{c\/}}, {\it{s0\/}}, {\it{n\/}}, {\it{x\/}})\index{p\_new}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;${\rm{sequal}}\,({\it{s1\/}}, {\rm{gnew}}\,({\it{dc\/}}, {\it{v\/}}, {\it{ne\/}}, {\it{c\/}}, {\it{s0\/}}, {\it{n\/}}, {\it{x\/}})\index{gnew})\index{sequal})\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_new\/}.

\begin{tabbing}{\sc Definition}:\index{gp\_new} \\  
\=\+{\rm{gp\_new}}\,({\it{dc\/}}, {\it{sv\/}}, {\it{sne\/}}, {\it{c\/}}, {\it{s0\/}}, {\it{n\/}}, {\it{x\/}})\index{gp\_new} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{list}}\,({\it{sv\/}}, {\it{sne\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state} \\ 
{\bf then }{\rm{p\_new}}\,({\it{dc\/}}, {\rm{result\~}}\,({\it{sv\/}})\index{result\~}, {\rm{result\~}}\,({\it{sne\/}})\index{result\~}, {\it{c\/}}, {\it{s0\/}}, {\it{n\/}}, {\it{x\/}})\index{p\_new} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\begin{verbatim}; ******************
;  Remove Statement
; ******************

\end{verbatim}\begin{tabbing}{\sc Definition}:\index{gremove0} \\  
\=\+{\rm{gremove0}}\,({\it{v\/}}, {\it{ne\/}}, {\it{s\/}})\index{gremove0} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{id\/}}{\bf $\;$ be$\;\;$}{\rm{ne\_name}}\,({\it{ne\/}})\index{ne\_name}, \\ 
{\it{ss\/}}{\bf $\;$ be$\;\;$}{\rm{ne\_selectors}}\,({\it{ne\/}})\index{ne\_selectors}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\it{v\/}} $=$ {\bf{nil}} \\ 
{\bf then }\=\+{\bf if }{\rm{mapping\_descp}}\,({\rm{type}}\,({\rm{apply\_var}}\,({\it{id\/}}, {\rm{map}}\,({\it{s\/}})\index{map}, {\rm{rcdr}}\,({\it{ss\/}})\index{rcdr})\index{apply\_var})\index{type})\index{mapping\_descp} \\ 
{\bf then }{\rm{gassign0}}\,(\=\+{\rm{name\_exp}}\,({\it{id\/}}, {\rm{rcdr}}\,({\it{ss\/}})\index{rcdr})\index{name\_exp}, \\ 
{\rm{gmapomit}}\,(\=\+{\rm{apply\_var}}\,({\it{id\/}}, {\rm{map}}\,({\it{s\/}})\index{map}, {\rm{rcdr}}\,({\it{ss\/}})\index{rcdr})\index{apply\_var}, \\ 
{\rm{rcar}}\,({\it{ss\/}})\index{rcar})\-\index{gmapomit}, \\ 
{\it{s\/}})\-\index{gassign0} \\ 
{\bf else }{\rm{gassign0}}\,(\=\+{\rm{name\_exp}}\,({\it{id\/}}, {\rm{rcdr}}\,({\it{ss\/}})\index{rcdr})\index{name\_exp}, \\ 
{\rm{gseqomit}}\,(\=\+{\rm{apply\_var}}\,({\it{id\/}}, {\rm{map}}\,({\it{s\/}})\index{map}, {\rm{rcdr}}\,({\it{ss\/}})\index{rcdr})\index{apply\_var}, \\ 
{\rm{rcar}}\,({\it{ss\/}})\index{rcar})\-\index{gseqomit}, \\ 
{\it{s\/}})\-\index{gassign0}$\;${\bf  endif}\- \\ 
{\bf else }{\rm{gassign0}}\,({\it{ne\/}}, {\rm{gomit}}\,({\rm{apply\_var}}\,({\it{id\/}}, {\rm{map}}\,({\it{s\/}})\index{map}, {\it{ss\/}})\index{apply\_var}, {\it{v\/}})\index{gomit}, {\it{s\/}})\index{gassign0}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{gremove} \\  
{\rm{gremove}}\,({\it{v\/}}, {\it{ne\/}}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{gremove} $=$ {\rm{gp\_update\_keep}}\,({\rm{gremove0}}\,({\it{v\/}}, {\it{ne\/}}, {\it{s\/}})\index{gremove0}, {\it{c\/}}, {\it{n\/}}, {\it{x\/}})\index{gp\_update\_keep}
\end{tabbing}

\begin{tabbing}{\sc Conservative Axiom}:  p\_remove\_intro \\ \index{p\_remove\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_remove}}\,({\it{v\/}}, {\it{ne\/}}, {\it{c\/}}, {\it{s0\/}}, {\it{n\/}}, {\it{x\/}})\index{p\_remove}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;${\rm{sequal}}\,({\it{s1\/}}, {\rm{gremove}}\,({\it{v\/}}, {\it{ne\/}}, {\it{c\/}}, {\it{s0\/}}, {\it{n\/}}, {\it{x\/}})\index{gremove})\index{sequal})\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_remove\/}.

\begin{tabbing}{\sc Definition}:\index{gp\_remove} \\  
\=\+{\rm{gp\_remove}}\,({\it{sv\/}}, {\it{sne\/}}, {\it{c\/}}, {\it{s0\/}}, {\it{n\/}}, {\it{x\/}})\index{gp\_remove} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}\=\+{\bf if }{\it{sv\/}} $=$ {\bf{nil}}$\;\;${\bf then }{\rm{state\_check}}\,({\rm{list}}\,({\it{sne\/}}), {\it{s0\/}})\index{state\_check} \\ 
{\bf else }{\rm{state\_check}}\,({\rm{list}}\,({\it{sv\/}}, {\it{sne\/}}), {\it{s0\/}})\index{state\_check}$\;${\bf  endif}\-\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state} \\ 
{\bf then }{\rm{p\_remove}}\,(\=\+\=\+{\bf if }{\it{sv\/}} $=$ {\bf{nil}}$\;\;${\bf then }{\bf{nil}} \\ 
{\bf else }{\rm{result\~}}\,({\it{sv\/}})\index{result\~}$\;${\bf  endif}\-, \\ 
{\rm{result\~}}\,({\it{sne\/}})\index{result\~}, \\ 
{\it{c\/}}, \\ 
{\it{s0\/}}, \\ 
{\it{n\/}}, \\ 
{\it{x\/}})\-\index{p\_remove} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\begin{verbatim}; ****************
;  Move Statement
; ****************

\end{verbatim}\begin{tabbing}{\sc Definition}:\index{stored\_value} \\  
{\rm{stored\_value}}\,({\it{n\/}}, {\it{s\/}})\index{stored\_value} $=$ {\rm{apply\_var}}\,({\rm{ne\_name}}\,({\it{n\/}})\index{ne\_name}, {\rm{map}}\,({\it{s\/}})\index{map}, {\rm{ne\_selectors}}\,({\it{n\/}})\index{ne\_selectors})\index{apply\_var}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{gmove\_assign} \\  
\=\+{\rm{gmove\_assign}}\,({\it{cd\/}}, {\it{v\/}}, {\it{ne\/}}, {\it{s\/}})\index{gmove\_assign} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{rule}}\,(\=\+{\it{cd\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{component\_destination}}, {\tt{'}}{\tt{d}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{new\_dynamic\_variable\_component}}, {\tt{'}}{\tt{dc}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{gnew0}}\,(\=\+{\rm{subtree}}\,({\it{cd\/}}, {\tt{'}}{\tt{new\_dynamic\_variable\_component}})\index{subtree}, \\ 
{\it{v\/}}, \\ 
{\it{ne\/}}, \\ 
{\it{s\/}})\-\index{gnew0} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{cd\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{component\_destination}}, {\tt{'}}{\tt{d}})\index{tag}, \\ 
{\rm{list}}\,({\tt{'}}{\tt{to}}, {\rm{tag}}\,({\tt{'}}{\tt{name\_expression}}, {\tt{'}}{\tt{ne}})\index{tag}))\-\index{prodn})\-\index{rule} \\ 
{\bf then }\=\+{\bf if }{\rm{sequence\_descp}}\,({\rm{type}}\,({\rm{stored\_value}}\,(\=\+{\rm{name\_exp}}\,(\=\+{\rm{ne\_name}}\,({\it{ne\/}})\index{ne\_name}, \\ 
{\rm{rcdr}}\,({\rm{ne\_selectors}}\,({\it{ne\/}})\index{ne\_selectors})\index{rcdr})\-\index{name\_exp}, \\ 
{\it{s\/}})\-\index{stored\_value})\index{type})\index{sequence\_descp}$\;\;${\bf then }{\rm{gassign0}}\,({\it{ne\/}}, {\it{v\/}}, {\it{s\/}})\index{gassign0} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf else }{\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{same\_selectors} \\  
\=\+{\rm{same\_selectors}}\,({\it{s1\/}}, {\it{s2\/}})\index{same\_selectors} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{s1\/}} $\simeq\;${{\bf{nil}}}${}$$\;\;${\bf then }{\it{s2\/}} $\simeq\;${{\bf{nil}}}${}$ \\ 
{\bf elseif }{\it{s2\/}} $\simeq\;${{\bf{nil}}}${}$$\;\;${\bf then }{\bf{f}} \\ 
{\bf else }\=\+(({\rm{car}}\,({\it{s1\/}}) $=$ {\rm{car}}\,({\it{s2\/}})) $\vee$ {\rm{gtruep}}\,({\rm{gequal}}\,({\rm{car}}\,({\it{s1\/}}), {\rm{car}}\,({\it{s2\/}}))\index{gequal})\index{gtruep}) \\ 
$\wedge$$\;\;\;\;${\rm{same\_selectors}}\,({\rm{cdr}}\,({\it{s1\/}}), {\rm{cdr}}\,({\it{s2\/}}))\index{same\_selectors}\-$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{same\_names} \\  
\=\+{\rm{same\_names}}\,({\it{n1\/}}, {\it{n2\/}})\index{same\_names} \\ 
$=$$\;\;\;\;$(\=\+{\rm{namep}}\,({\it{n1\/}})\index{namep} \\ 
$\wedge$$\;\;\;\;${\rm{namep}}\,({\it{n2\/}})\index{namep} \\ 
$\wedge$$\;\;\;\;$({\rm{ne\_name}}\,({\it{n1\/}})\index{ne\_name} $=$ {\rm{ne\_name}}\,({\it{n2\/}})\index{ne\_name}) \\ 
$\wedge$$\;\;\;\;${\rm{same\_selectors}}\,({\rm{ne\_selectors}}\,({\it{n1\/}})\index{ne\_selectors}, {\rm{ne\_selectors}}\,({\it{n2\/}})\index{ne\_selectors})\index{same\_selectors})\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{remove\_dynamic\_name} \\  
\=\+{\rm{remove\_dynamic\_name}}\,({\it{rv\/}}, {\it{rne\/}})\index{remove\_dynamic\_name} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{rv\/}} $=$ {\bf{nil}}$\;\;${\bf then }{\rm{name\_exp}}\,({\rm{ne\_name}}\,({\it{rne\/}})\index{ne\_name}, {\rm{rcdr}}\,({\rm{ne\_selectors}}\,({\it{rne\/}})\index{ne\_selectors})\index{rcdr})\index{name\_exp} \\ 
{\bf else }{\it{rne\/}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{assign\_dynamic\_name} \\  
\=\+{\rm{assign\_dynamic\_name}}\,({\it{cd\/}}, {\it{nne\/}})\index{assign\_dynamic\_name} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{rule}}\,(\=\+{\it{cd\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{component\_destination}}, {\tt{'}}{\tt{d}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{new\_dynamic\_variable\_component}}, {\tt{'}}{\tt{dc}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{assign\_dynamic\_name}}\,(\=\+{\rm{subtree}}\,(\=\+{\it{cd\/}}, \\ 
{\tt{'}}{\tt{new\_dynamic\_variable\_component}})\-\index{subtree}, \\ 
{\it{nne\/}})\-\index{assign\_dynamic\_name} \\ 
{\bf elseif }\=\+{\rm{rule}}\,(\=\+{\it{cd\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{new\_dynamic\_variable\_component}}, {\tt{'}}{\tt{dc}})\index{tag}, \\ 
{\rm{list}}\,({\tt{'}}{\tt{into}}, {\rm{tag}}\,({\tt{'}}{\tt{name\_expression}}, {\tt{'}}{\tt{ne}})\index{tag}))\-\index{prodn})\-\index{rule} \\ 
$\vee$$\;\;\;\;${\rm{rule}}\,(\=\+{\it{cd\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{new\_dynamic\_variable\_component}}, \\ 
{\tt{'}}{\tt{dc}})\-\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{before}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{name\_expression}}, {\tt{'}}{\tt{ne}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
$\vee$$\;\;\;\;${\rm{rule}}\,(\=\+{\it{cd\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{new\_dynamic\_variable\_component}}, \\ 
{\tt{'}}{\tt{dc}})\-\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{behind}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{name\_expression}}, {\tt{'}}{\tt{ne}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
$\vee$$\;\;\;\;${\rm{rule}}\,(\=\+{\it{cd\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{component\_destination}}, {\tt{'}}{\tt{d}})\index{tag}, \\ 
{\rm{list}}\,({\tt{'}}{\tt{to}}, {\rm{tag}}\,({\tt{'}}{\tt{name\_expression}}, {\tt{'}}{\tt{ne}})\index{tag}))\-\index{prodn})\-\index{rule}\- \\ 
{\bf then }{\rm{name\_exp}}\,({\rm{ne\_name}}\,({\it{nne\/}})\index{ne\_name}, {\rm{rcdr}}\,({\rm{ne\_selectors}}\,({\it{nne\/}})\index{ne\_selectors})\index{rcdr})\index{name\_exp} \\ 
{\bf else }{\it{nne\/}}$\;${\bf  endif}\-\-
\end{tabbing}
	  
  
\begin{tabbing}{\sc Definition}:\index{gmove} \\  
\=\+{\rm{gmove}}\,({\it{rv\/}}, {\it{rne\/}}, {\it{cd\/}}, {\it{nne\/}}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{gmove} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{same\_names}}\,({\rm{remove\_dynamic\_name}}\,({\it{rv\/}}, {\it{rne\/}})\index{remove\_dynamic\_name}, {\rm{assign\_dynamic\_name}}\,({\it{cd\/}}, {\it{nne\/}})\index{assign\_dynamic\_name})\index{same\_names} \\ 
{\bf then }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition} \\ 
{\bf else }\=\+{\bf let }\=\+{\it{r1\/}}{\bf $\;$ be$\;\;$}{\rm{gmove\_assign}}\,(\=\+{\it{cd\/}}, \\ 
\=\+{\bf if }{\it{rv\/}} $=$ {\bf{nil}} \\ 
{\bf then }{\rm{stored\_value}}\,({\it{rne\/}}, {\it{s\/}})\index{stored\_value} \\ 
{\bf else }{\it{rv\/}}$\;${\bf  endif}\-, \\ 
{\it{nne\/}}, \\ 
{\it{s\/}})\-\index{gmove\_assign}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r1\/}})\index{normal\_state} \\ 
{\bf then }\=\+{\bf let }\=\+{\it{r2\/}}{\bf $\;$ be$\;\;$}{\rm{gremove0}}\,({\it{rv\/}}, {\it{rne\/}}, {\it{s\/}})\index{gremove0}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r2\/}})\index{normal\_state} \\ 
{\bf then }{\rm{gp\_update\_keep}}\,({\it{r2\/}}, {\it{c\/}}, {\it{n\/}}, {\it{x\/}})\index{gp\_update\_keep} \\ 
{\bf else }{\rm{marked}}\,(\=\+{\rm{mark}}\,({\it{r2\/}})\index{mark}, \\ 
{\rm{map}}\,({\rm{set\_condition}}\,(\=\+{\it{s\/}}, \\ 
{\rm{cond\~}}\,({\it{r2\/}})\index{cond\~})\-\index{set\_condition})\index{map})\-\index{marked}$\;${\bf  endif}\-$\;${\bf  endlet}\- \\ 
{\bf else }{\it{r1\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Conservative Axiom}:  p\_move\_intro \\ \index{p\_move\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_move}}\,({\it{rv\/}}, {\it{rne\/}}, {\it{cd\/}}, {\it{nne\/}}, {\it{c\/}}, {\it{s0\/}}, {\it{n\/}}, {\it{x\/}})\index{p\_move}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;${\rm{sequal}}\,({\it{s1\/}}, {\rm{gmove}}\,({\it{rv\/}}, {\it{rne\/}}, {\it{cd\/}}, {\it{nne\/}}, {\it{c\/}}, {\it{s0\/}}, {\it{n\/}}, {\it{x\/}})\index{gmove})\index{sequal})\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_move\/}.

\begin{tabbing}{\sc Definition}:\index{gp\_move} \\  
\=\+{\rm{gp\_move}}\,({\it{srv\/}}, {\it{srne\/}}, {\it{cd\/}}, {\it{snne\/}}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{gp\_move} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}\=\+{\bf if }{\it{srv\/}} $=$ {\bf{nil}}$\;\;${\bf then }{\rm{state\_check}}\,({\rm{list}}\,({\it{srne\/}}, {\it{snne\/}}), {\it{s\/}})\index{state\_check} \\ 
{\bf else }{\rm{state\_check}}\,({\rm{list}}\,({\it{srv\/}}, {\it{srne\/}}, {\it{snne\/}}), {\it{s\/}})\index{state\_check}$\;${\bf  endif}\-\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state} \\ 
{\bf then }{\rm{p\_move}}\,(\=\+\=\+{\bf if }{\it{srv\/}} $=$ {\bf{nil}}$\;\;${\bf then }{\bf{nil}} \\ 
{\bf else }{\rm{result\~}}\,({\it{srv\/}})\index{result\~}$\;${\bf  endif}\-, \\ 
{\rm{result\~}}\,({\it{srne\/}})\index{result\~}, \\ 
{\it{cd\/}}, \\ 
{\rm{result\~}}\,({\it{snne\/}})\index{result\~}, \\ 
{\it{c\/}}, \\ 
{\it{s\/}}, \\ 
{\it{n\/}}, \\ 
{\it{x\/}})\-\index{p\_move} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\begin{verbatim}; *****************
;  Procedure Calls
; *****************

; =======================================
;  Argument Checking for Procedure Calls
; =======================================

; ------------
;  Formals OK
; ------------

\end{verbatim}\begin{tabbing}{\sc Definition}:\index{pformals\_ok} \\  
\=\+{\rm{pformals\_ok}}\,({\it{fs\/}})\index{pformals\_ok} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{fs\/}} $\simeq\;${{\bf{nil}}}${}$$\;\;${\bf then }{\bf{t}} \\ 
{\bf elseif }{\rm{reserved\_idp}}\,({\rm{car}}\,({\it{fs\/}}))\index{reserved\_idp}$\;\;${\bf then }{\bf{f}} \\ 
{\bf elseif }{\rm{car}}\,({\it{fs\/}}) $\in$ {\rm{cdr}}\,({\it{fs\/}})$\;\;${\bf then }{\bf{f}} \\ 
{\bf else }{\rm{pformals\_ok}}\,({\rm{cdr}}\,({\it{fs\/}}))\index{pformals\_ok}$\;${\bf  endif}\-\-
\end{tabbing}


\begin{verbatim}; -----------------
;  Aliasing Checks
; -----------------

\end{verbatim}\begin{tabbing}{\sc Definition}:\index{selectors\_aliasedp} \\  
\=\+{\rm{selectors\_aliasedp}}\,({\it{s1\/}}, {\it{s2\/}})\index{selectors\_aliasedp} \\ 
$=$$\;\;\;\;$\=\+{\bf if }({\it{s1\/}} $\simeq\;${{\bf{nil}}}${}$) $\vee$ ({\it{s2\/}} $\simeq\;${{\bf{nil}}}${}$)$\;\;${\bf then }{\bf{t}} \\ 
{\bf else }\=\+(({\rm{car}}\,({\it{s1\/}}) $=$ {\rm{car}}\,({\it{s2\/}})) $\vee$ {\rm{gtruep}}\,({\rm{gequal}}\,({\rm{car}}\,({\it{s1\/}}), {\rm{car}}\,({\it{s2\/}}))\index{gequal})\index{gtruep}) \\ 
$\wedge$$\;\;\;\;${\rm{selectors\_aliasedp}}\,({\rm{cdr}}\,({\it{s1\/}}), {\rm{cdr}}\,({\it{s2\/}}))\index{selectors\_aliasedp}\-$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{harmful\_aliasp} \\  
\=\+{\rm{harmful\_aliasp}}\,({\it{a1\/}}, {\it{a2\/}}, {\it{f1\/}}, {\it{f2\/}})\index{harmful\_aliasp} \\ 
$=$$\;\;\;\;$\=\+{\bf if }({\rm{access}}\,({\it{f1\/}})\index{access} $=$ {\tt{'}}{\tt{var}}) $\vee$ ({\rm{access}}\,({\it{f2\/}})\index{access} $=$ {\tt{'}}{\tt{var}}) \\ 
{\bf then }\=\+{\bf if }{\rm{namep}}\,({\it{a1\/}})\index{namep} $\wedge$ {\rm{namep}}\,({\it{a2\/}})\index{namep} \\ 
{\bf then }\=\+({\rm{ne\_name}}\,({\it{a1\/}})\index{ne\_name} $=$ {\rm{ne\_name}}\,({\it{a2\/}})\index{ne\_name}) \\ 
$\wedge$$\;\;\;\;${\rm{selectors\_aliasedp}}\,({\rm{ne\_selectors}}\,({\it{a1\/}})\index{ne\_selectors}, {\rm{ne\_selectors}}\,({\it{a2\/}})\index{ne\_selectors})\index{selectors\_aliasedp}\- \\ 
{\bf else }{\bf{f}}$\;${\bf  endif}\- \\ 
{\bf else }{\bf{f}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{harmfully\_aliasedp} \\  
\=\+{\rm{harmfully\_aliasedp}}\,({\it{ap\/}}, {\it{as\/}}, {\it{fp\/}}, {\it{fs\/}})\index{harmfully\_aliasedp} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{as\/}} $\simeq\;${{\bf{nil}}}${}$$\;\;${\bf then }{\bf{f}} \\ 
{\bf else }\=\+{\rm{harmful\_aliasp}}\,({\it{ap\/}}, {\rm{car}}\,({\it{as\/}}), {\it{fp\/}}, {\rm{car}}\,({\it{fs\/}}))\index{harmful\_aliasp} \\ 
$\vee$$\;\;\;\;${\rm{harmfully\_aliasedp}}\,({\it{ap\/}}, {\rm{cdr}}\,({\it{as\/}}), {\it{fp\/}}, {\rm{cdr}}\,({\it{fs\/}}))\index{harmfully\_aliasedp}\-$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{no\_harmful\_aliasing} \\  
\=\+{\rm{no\_harmful\_aliasing}}\,({\it{as\/}}, {\it{fs\/}})\index{no\_harmful\_aliasing} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{as\/}} $\simeq\;${{\bf{nil}}}${}$$\;\;${\bf then }{\bf{t}} \\ 
{\bf elseif }{\rm{namep}}\,({\rm{car}}\,({\it{as\/}}))\index{namep} \\ 
{\bf then }\=\+($\neg$ {\rm{harmfully\_aliasedp}}\,({\rm{car}}\,({\it{as\/}}), {\rm{cdr}}\,({\it{as\/}}), {\rm{car}}\,({\it{fs\/}}), {\rm{cdr}}\,({\it{fs\/}}))\index{harmfully\_aliasedp}) \\ 
$\wedge$$\;\;\;\;${\rm{no\_harmful\_aliasing}}\,({\rm{cdr}}\,({\it{as\/}}), {\rm{cdr}}\,({\it{fs\/}}))\index{no\_harmful\_aliasing}\- \\ 
{\bf else }{\rm{no\_harmful\_aliasing}}\,({\rm{cdr}}\,({\it{as\/}}), {\rm{cdr}}\,({\it{fs\/}}))\index{no\_harmful\_aliasing}$\;${\bf  endif}\-\-
\end{tabbing}
      

\begin{verbatim}; ------------------------
;  Type and Access Checks
; ------------------------

\end{verbatim}\begin{tabbing}{\sc Definition}:\index{one\_parg\_check} \\  
\=\+{\rm{one\_parg\_check}}\,({\it{fp\/}}, {\it{ap\/}}, {\it{fsn\/}}, {\it{s\/}}, {\it{x\/}})\index{one\_parg\_check} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{ft\/}}{\bf $\;$ be$\;\;$}{\rm{type\_desc}}\,({\rm{formal\_type}}\,({\it{fp\/}})\index{formal\_type}, {\it{fsn\/}}, {\bf{nil}}, {\it{x\/}})\index{type\_desc}, \\ 
{\it{av\/}}{\bf $\;$ be$\;\;$}\=\+{\bf if }{\rm{namep}}\,({\it{ap\/}})\index{namep} \\ 
{\bf then }{\rm{apply\_var}}\,({\rm{ne\_name}}\,({\it{ap\/}})\index{ne\_name}, {\rm{map}}\,({\it{s\/}})\index{map}, {\rm{ne\_selectors}}\,({\it{ap\/}})\index{ne\_selectors})\index{apply\_var} \\ 
{\bf else }{\it{ap\/}}$\;${\bf  endif}\-\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{indeterminate}}\,({\it{av\/}})\index{indeterminate}$\;\;${\bf then }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition} \\ 
{\bf elseif }{\rm{access}}\,({\it{fp\/}})\index{access} $=$ {\tt{'}}{\tt{var}} \\ 
{\bf then }\=\+{\bf if }\=\+{\rm{namep}}\,({\it{ap\/}})\index{namep} \\ 
$\wedge$$\;\;\;\;${\rm{variablep}}\,({\rm{ne\_name}}\,({\it{ap\/}})\index{ne\_name}, {\it{s\/}})\index{variablep} \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{mapping\_element\_lhsp}}\,({\it{ap\/}}, {\it{s\/}})\index{mapping\_element\_lhsp})\- \\ 
{\bf then }\=\+{\bf if }{\rm{subtype}}\,({\it{ft\/}}, {\rm{type}}\,({\it{av\/}})\index{type})\index{subtype} $\wedge$ {\rm{truep}}\,({\rm{in\_type}}\,({\it{ft\/}}, {\it{av\/}})\index{in\_type}) \\ 
{\bf then }{\it{s\/}} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf elseif }{\rm{truep}}\,({\rm{in\_type}}\,({\it{ft\/}}, {\it{av\/}})\index{in\_type})$\;\;${\bf then }{\it{s\/}} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}


\noindent{\sc Event}:   Disable set\_condition.

\addvspace{18pt}

\noindent{\sc Event}:   Disable one\_parg\_check.

\addvspace{18pt}

\noindent{\sc Event}:   Disable normal\_state.

\addvspace{18pt}

\begin{tabbing}{\sc Definition}:\index{parg\_check2} \\  
\=\+{\rm{parg\_check2}}\,({\it{fs\/}}, {\it{as\/}}, {\it{fsn\/}}, {\it{s\/}}, {\it{x\/}})\index{parg\_check2} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{as\/}} $\simeq\;${{\bf{nil}}}${}$ \\ 
{\bf then }\=\+{\bf if }{\it{fs\/}} $\simeq\;${{\bf{nil}}}${}$$\;\;${\bf then }{\it{s\/}} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf elseif }{\it{fs\/}} $\simeq\;${{\bf{nil}}}${}$$\;\;${\bf then }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition} \\ 
{\bf else }\=\+{\bf let }\=\+{\it{s2\/}}{\bf $\;$ be$\;\;$}{\rm{one\_parg\_check}}\,({\rm{car}}\,({\it{fs\/}}), {\rm{car}}\,({\it{as\/}}), {\it{fsn\/}}, {\it{s\/}}, {\it{x\/}})\index{one\_parg\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{s2\/}})\index{normal\_state} \\ 
{\bf then }{\rm{parg\_check2}}\,({\rm{cdr}}\,({\it{fs\/}}), {\rm{cdr}}\,({\it{as\/}}), {\it{fsn\/}}, {\it{s\/}}, {\it{x\/}})\index{parg\_check2} \\ 
{\bf else }{\it{s2\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-$\;${\bf  endif}\-\-
\end{tabbing}
		   

\begin{verbatim}; ---------------------------------------------
;  The Full Argument Check for Procedure Calls
; ---------------------------------------------

\end{verbatim}\begin{tabbing}{\sc Definition}:\index{cond\_arg\_check} \\  
\=\+{\rm{cond\_arg\_check}}\,({\it{fcs\/}}, {\it{acs\/}}, {\it{s\/}})\index{cond\_arg\_check} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{length}}\,({\it{fcs\/}})\index{length} $=$ {\rm{length}}\,({\it{acs\/}})\index{length} \\ 
{\bf then }\=\+{\bf if }{\rm{all\_conditionsp}}\,({\it{acs\/}}, {\it{s\/}})\index{all\_conditionsp}$\;\;${\bf then }{\it{s\/}} \\ 
{\bf else }{\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate}$\;${\bf  endif}\- \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{parg\_check} \\  
\=\+{\rm{parg\_check}}\,({\it{u\/}}, {\it{usn\/}}, {\it{ads\/}}, {\it{acs\/}}, {\it{s\/}}, {\it{x\/}})\index{parg\_check} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{fds\/}}{\bf $\;$ be$\;\;$}{\rm{formal\_dargs}}\,({\it{u\/}})\index{formal\_dargs}, \\ 
{\it{fcs\/}}{\bf $\;$ be$\;\;$}{\rm{formal\_cargs}}\,({\it{u\/}})\index{formal\_cargs}\- \\ 
{\bf in} \\ 
\=\+{\bf case on }{\rm{kind}}\,({\it{u\/}})\index{kind}: \\ 
{\bf case = }{\it{function\/}} \\ 
{\bf then }\=\+{\bf if }\=\+{\rm{pformals\_ok}}\,({\rm{append}}\,(\=\+{\rm{cons}}\,(\=\+{\tt{'}}{\tt{result}}, \\ 
{\rm{dparam\_name\_list}}\,({\it{fds\/}})\index{dparam\_name\_list})\-, \\ 
{\rm{append}}\,(\=\+{\it{fcs\/}}, \\ 
{\tt{'}}{\tt{(}}\=\+{\tt{routineerror}} \\ 
{\tt{spaceerror}}{\tt{)}}\-)\-)\-)\index{pformals\_ok} \\ 
$\wedge$$\;\;\;\;$({\rm{farg\_check}}\,({\it{fds\/}}, {\it{ads\/}}, {\it{usn\/}}, {\it{x\/}})\index{farg\_check} $=$ {\bf{nil}})\- \\ 
{\bf then }{\rm{cond\_arg\_check}}\,({\it{fcs\/}}, {\it{acs\/}}, {\it{s\/}})\index{cond\_arg\_check} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf case = }{\it{procedure\/}} \\ 
{\bf $\;\;$then }\=\+{\bf if }{\rm{pformals\_ok}}\,({\rm{append}}\,(\=\+{\rm{dparam\_name\_list}}\,({\it{fds\/}})\index{dparam\_name\_list}, \\ 
{\rm{append}}\,(\=\+{\it{fcs\/}}, \\ 
{\tt{'}}{\tt{(}}\=\+{\tt{routineerror}} \\ 
{\tt{spaceerror}}{\tt{)}}\-)\-)\-)\index{pformals\_ok} \\ 
{\bf then }\=\+{\bf let }\=\+{\it{s2\/}}{\bf $\;$ be$\;\;$}{\rm{parg\_check2}}\,({\it{fds\/}}, {\it{ads\/}}, {\it{usn\/}}, {\it{s\/}}, {\it{x\/}})\index{parg\_check2}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{s2\/}})\index{normal\_state} \\ 
{\bf then }\=\+{\bf if }{\rm{no\_harmful\_aliasing}}\,({\it{ads\/}}, {\it{fds\/}})\index{no\_harmful\_aliasing} \\ 
{\bf then }{\rm{cond\_arg\_check}}\,({\it{fcs\/}}, {\it{acs\/}}, {\it{s\/}})\index{cond\_arg\_check} \\ 
{\bf else }{\rm{set\_condition}}\,(\=\+{\it{s\/}}, \\ 
{\tt{'}}{\tt{routineerror}})\-\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf else }{\it{s2\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\- \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf otherwise }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endcase}\-$\;${\bf  endlet}\-\-
\end{tabbing}



\begin{verbatim}; ==============================
;  New State for Procedure Call
; ==============================

\end{verbatim}\begin{tabbing}{\sc Definition}:\index{padd\_darg} \\  
\=\+{\rm{padd\_darg}}\,({\it{fp\/}}, {\it{ap\/}}, {\it{fsn\/}}, {\it{sa\/}}, {\it{s\/}}, {\it{x\/}})\index{padd\_darg} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{ft\/}}{\bf $\;$ be$\;\;$}{\rm{type\_desc}}\,({\rm{formal\_type}}\,({\it{fp\/}})\index{formal\_type}, {\it{fsn\/}}, {\bf{nil}}, {\it{x\/}})\index{type\_desc}, \\ 
{\it{av\/}}{\bf $\;$ be$\;\;$}\=\+{\bf if }{\rm{namep}}\,({\it{ap\/}})\index{namep} \\ 
{\bf then }{\rm{apply\_var}}\,({\rm{ne\_name}}\,({\it{ap\/}})\index{ne\_name}, {\rm{map}}\,({\it{sa\/}})\index{map}, {\rm{ne\_selectors}}\,({\it{ap\/}})\index{ne\_selectors})\index{apply\_var} \\ 
{\bf else }{\it{ap\/}}$\;${\bf  endif}\-\- \\ 
{\bf in} \\ 
\=\+{\bf let }\=\+{\it{fv\/}}{\bf $\;$ be$\;\;$}{\rm{marked}}\,({\bf{nil}}, {\rm{typed}}\,({\it{ft\/}}, {\rm{value}}\,({\it{av\/}})\index{value})\index{typed})\index{marked}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{access}}\,({\it{fp\/}})\index{access} $=$ {\tt{'}}{\tt{var}} \\ 
{\bf then }{\rm{store\_const}}\,(\=\+{\rm{mk\_entry\_name}}\,({\rm{dparam\_name}}\,({\it{fp\/}})\index{dparam\_name})\index{mk\_entry\_name}, \\ 
{\it{fv\/}}, \\ 
{\tt{'}}{\tt{formal}}, \\ 
{\rm{store\_var}}\,(\=\+{\rm{dparam\_name}}\,({\it{fp\/}})\index{dparam\_name}, \\ 
{\it{fv\/}}, \\ 
{\tt{'}}{\tt{formal}}, \\ 
{\it{s\/}})\-\index{store\_var})\-\index{store\_const} \\ 
{\bf else }{\rm{store\_const}}\,({\rm{dparam\_name}}\,({\it{fp\/}})\index{dparam\_name}, {\it{fv\/}}, {\tt{'}}{\tt{formal}}, {\it{s\/}})\index{store\_const}$\;${\bf  endif}\-$\;${\bf  endlet}\-$\;${\bf  endlet}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{pbind\_dargs} \\  
\=\+{\rm{pbind\_dargs}}\,({\it{fs\/}}, {\it{as\/}}, {\it{fsn\/}}, {\it{s\/}}, {\it{x\/}})\index{pbind\_dargs} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{as\/}} $\simeq\;${{\bf{nil}}}${}$$\;\;${\bf then }{\sc{default\_state}}\index{default\_state} \\ 
{\bf else }{\rm{padd\_darg}}\,(\=\+{\rm{rcar}}\,({\it{fs\/}})\index{rcar}, \\ 
{\rm{rcar}}\,({\it{as\/}})\index{rcar}, \\ 
{\it{fsn\/}}, \\ 
{\it{s\/}}, \\ 
{\rm{pbind\_dargs}}\,({\rm{rcdr}}\,({\it{fs\/}})\index{rcdr}, {\rm{rcdr}}\,({\it{as\/}})\index{rcdr}, {\it{fsn\/}}, {\it{s\/}}, {\it{x\/}})\index{pbind\_dargs}, \\ 
{\it{x\/}})\-\index{padd\_darg}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{padd\_result} \\  
\=\+{\rm{padd\_result}}\,({\it{s\/}}, {\it{ftype\/}})\index{padd\_result} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{v\/}}{\bf $\;$ be$\;\;$}{\rm{std\_initial}}\,({\rm{list}}\,({\rm{marked}}\,({\tt{'}}{\tt{type\_descriptor}}, {\it{ftype\/}})\index{marked}))\index{std\_initial}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{determinate}}\,({\it{v\/}})\index{determinate} \\ 
{\bf then }{\rm{store\_const}}\,(\=\+{\rm{mk\_entry\_name}}\,({\tt{'}}{\tt{result}})\index{mk\_entry\_name}, \\ 
{\it{v\/}}, \\ 
{\tt{'}}{\tt{formal}}, \\ 
{\rm{store\_var}}\,({\tt{'}}{\tt{result}}, {\it{v\/}}, {\tt{'}}{\tt{formal}}, {\it{s\/}})\index{store\_var})\-\index{store\_const} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{call\_state} \\  
\=\+{\rm{call\_state}}\,({\it{u\/}}, {\it{usn\/}}, {\it{ads\/}}, {\it{acs\/}}, {\it{s\/}}, {\it{x\/}})\index{call\_state} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r1\/}}{\bf $\;$ be$\;\;$}{\rm{parg\_check}}\,({\it{u\/}}, {\it{usn\/}}, {\it{ads\/}}, {\it{acs\/}}, {\it{s\/}}, {\it{x\/}})\index{parg\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r1\/}})\index{normal\_state} \\ 
{\bf then }\=\+{\bf let }\=\+{\it{r2\/}}{\bf $\;$ be$\;\;$}{\rm{note\_conds}}\,(\=\+{\rm{formal\_cargs}}\,({\it{u\/}})\index{formal\_cargs}, \\ 
{\tt{'}}{\tt{formal}}, \\ 
{\rm{pbind\_dargs}}\,(\=\+{\rm{formal\_dargs}}\,({\it{u\/}})\index{formal\_dargs}, \\ 
{\it{ads\/}}, \\ 
{\it{usn\/}}, \\ 
{\it{s\/}}, \\ 
{\it{x\/}})\-\index{pbind\_dargs})\-\index{note\_conds}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{kind}}\,({\it{u\/}})\index{kind} $=$ {\tt{'}}{\tt{function}} \\ 
{\bf then }\=\+{\bf let }\=\+{\it{ftype\/}}{\bf $\;$ be$\;\;$}{\rm{type\_desc}}\,(\=\+{\rm{result\_type}}\,({\it{u\/}})\index{result\_type}, \\ 
{\it{usn\/}}, \\ 
{\bf{nil}}, \\ 
{\it{x\/}})\-\index{type\_desc}\- \\ 
{\bf in} \\ 
{\rm{padd\_result}}\,({\it{r2\/}}, {\it{ftype\/}})\index{padd\_result}$\;${\bf  endlet}\- \\ 
{\bf else }{\it{r2\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\- \\ 
{\bf else }{\it{r1\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}


\noindent{\sc Event}:   Disable call\_state.

\addvspace{18pt}

\noindent{\sc Event}:   Disable determinate.

\addvspace{18pt}

\noindent{\sc Event}:   Enable sequal.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  p\_call\_state\_intro \\ \index{p\_call\_state\_intro}
\=\+(\=\+{\rm{determinate}}\,({\rm{p\_call\_state}}\,({\it{u\/}}, {\it{usn\/}}, {\it{ads\/}}, {\it{acs\/}}, {\it{s0\/}}, {\it{x\/}})\index{p\_call\_state})\index{determinate} \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{sequal}}\,(\=\+{\rm{p\_call\_state}}\,({\it{u\/}}, {\it{usn\/}}, {\it{ads\/}}, {\it{acs\/}}, {\it{s0\/}}, {\it{x\/}})\index{p\_call\_state}, \\ 
{\rm{call\_state}}\,({\it{u\/}}, {\it{usn\/}}, {\it{ads\/}}, {\it{acs\/}}, {\it{s0\/}}, {\it{x\/}})\index{call\_state})\-\index{sequal}))\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\rm{p\_call\_state}}\,({\it{u\/}}, {\it{usn\/}}, {\it{ads\/}}, {\it{acs\/}}, {\it{s0\/}}, {\it{x\/}})\index{p\_call\_state})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_call\_state\/}.


\noindent{\sc Event}:   Enable determinate.

\addvspace{18pt}

\noindent{\sc Event}:   Disable sequal.

\addvspace{18pt}

\begin{tabbing}{\sc Definition}:\index{gp\_call\_state} \\  
\=\+{\rm{gp\_call\_state}}\,({\it{u\/}}, {\it{usn\/}}, {\it{sads\/}}, {\it{acs\/}}, {\it{s\/}}, {\it{x\/}})\index{gp\_call\_state} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\it{sads\/}}, {\it{s\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state} \\ 
{\bf then }{\rm{p\_call\_state}}\,({\it{u\/}}, {\it{usn\/}}, {\rm{result\~\_list}}\,({\it{sads\/}})\index{result\~\_list}, {\it{acs\/}}, {\it{s\/}}, {\it{x\/}})\index{p\_call\_state} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}


\begin{verbatim}; ===============================
;  State Update for Call Effects
; ===============================

\end{verbatim}\begin{tabbing}{\sc Definition}:\index{map\_cond\_effects} \\  
\=\+{\rm{map\_cond\_effects}}\,({\it{fc\/}}, {\it{fcs\/}}, {\it{acs\/}}, {\it{s\/}})\index{map\_cond\_effects} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{fc\/}} $=$ {\tt{'}}{\tt{normal}}$\;\;${\bf then }{\it{s\/}} \\ 
{\bf elseif }{\it{fc\/}} $\in$ {\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}} \\ 
{\bf then }{\rm{set\_condition}}\,({\it{s\/}}, {\it{fc\/}})\index{set\_condition} \\ 
{\bf elseif }{\rm{listp}}\,({\it{fcs\/}}) $\wedge$ {\rm{listp}}\,({\it{acs\/}}) \\ 
{\bf then }\=\+{\bf if }{\it{fc\/}} $=$ {\rm{car}}\,({\it{fcs\/}})$\;\;${\bf then }{\rm{set\_condition}}\,({\it{s\/}}, {\rm{car}}\,({\it{acs\/}}))\index{set\_condition} \\ 
{\bf else }{\rm{map\_cond\_effects}}\,({\it{fc\/}}, {\rm{cdr}}\,({\it{fcs\/}}), {\rm{cdr}}\,({\it{acs\/}}), {\it{s\/}})\index{map\_cond\_effects}$\;${\bf  endif}\- \\ 
{\bf else }{\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{map\_var\_effects} \\  
\=\+{\rm{map\_var\_effects}}\,({\it{fs\/}}, {\it{as\/}}, {\it{s2\/}}, {\it{s1\/}})\index{map\_var\_effects} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{fs\/}} $\simeq\;${{\bf{nil}}}${}$$\;\;${\bf then }{\it{s1\/}} \\ 
{\bf elseif }{\rm{access}}\,({\rm{car}}\,({\it{fs\/}}))\index{access} $=$ {\tt{'}}{\tt{var}} \\ 
{\bf then }{\rm{map\_var\_effects}}\,(\=\+{\rm{cdr}}\,({\it{fs\/}}), \\ 
{\rm{cdr}}\,({\it{as\/}}), \\ 
{\it{s2\/}}, \\ 
{\rm{gassign0}}\,(\=\+{\rm{car}}\,({\it{as\/}}), \\ 
{\rm{state\_component}}\,({\rm{dparam\_name}}\,({\rm{car}}\,({\it{fs\/}}))\index{dparam\_name}, {\it{s2\/}})\index{state\_component}, \\ 
{\it{s1\/}})\-\index{gassign0})\-\index{map\_var\_effects} \\ 
{\bf else }{\rm{map\_var\_effects}}\,({\rm{cdr}}\,({\it{fs\/}}), {\rm{cdr}}\,({\it{as\/}}), {\it{s2\/}}, {\it{s1\/}})\index{map\_var\_effects}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{map\_call\_effects} \\  
\=\+{\rm{map\_call\_effects}}\,({\it{s2\/}}, {\it{u\/}}, {\it{ads\/}}, {\it{acs\/}}, {\it{c\/}}, {\it{s1\/}}, {\it{n\/}}, {\it{x\/}})\index{map\_call\_effects} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{indeterminate}}\,({\it{s2\/}})\index{indeterminate}$\;\;${\bf then }{\rm{mark\_state\_indeterminate}}\,({\it{s1\/}})\index{mark\_state\_indeterminate} \\ 
{\bf elseif }{\rm{kind}}\,({\it{u\/}})\index{kind} $=$ {\tt{'}}{\tt{function}} \\ 
{\bf then }\=\+{\bf if }{\rm{condition\_normal}}\,({\it{s2\/}})\index{condition\_normal} \\ 
{\bf then }{\rm{allocate}}\,({\tt{'}}{\tt{result\~}}, {\rm{state\_component}}\,({\tt{'}}{\tt{result}}, {\it{s2\/}})\index{state\_component}, {\it{s1\/}})\index{allocate} \\ 
{\bf else }{\rm{map\_cond\_effects}}\,({\rm{cond\~}}\,({\it{s2\/}})\index{cond\~}, {\rm{formal\_cargs}}\,({\it{u\/}})\index{formal\_cargs}, {\it{acs\/}}, {\it{s1\/}})\index{map\_cond\_effects}$\;${\bf  endif}\- \\ 
{\bf else }{\rm{gp\_update\_keep}}\,(\=\+{\rm{map\_cond\_effects}}\,(\=\+{\rm{cond\~}}\,({\it{s2\/}})\index{cond\~}, \\ 
{\rm{formal\_cargs}}\,({\it{u\/}})\index{formal\_cargs}, \\ 
{\it{acs\/}}, \\ 
{\rm{map\_var\_effects}}\,(\=\+{\rm{formal\_dargs}}\,({\it{u\/}})\index{formal\_dargs}, \\ 
{\it{ads\/}}, \\ 
{\it{s2\/}}, \\ 
{\it{s1\/}})\-\index{map\_var\_effects})\-\index{map\_cond\_effects}, \\ 
{\it{c\/}}, \\ 
{\it{n\/}}, \\ 
{\it{x\/}})\-\index{gp\_update\_keep}$\;${\bf  endif}\-\-
\end{tabbing}


\noindent{\sc Event}:   Enable sequal.

\addvspace{18pt}

\begin{tabbing}{\sc Conservative Axiom}:  gp\_map\_call\_effects\_intro \\ \index{gp\_map\_call\_effects\_intro}
{\rm{sequal}}\,(\=\+{\rm{gp\_map\_call\_effects}}\,({\it{s2\/}}, {\it{u\/}}, {\it{ads\/}}, {\it{acs\/}}, {\it{c\/}}, {\it{s1\/}}, {\it{n\/}}, {\it{x\/}})\index{gp\_map\_call\_effects}, \\ 
{\rm{map\_call\_effects}}\,({\it{s2\/}}, {\it{u\/}}, {\it{ads\/}}, {\it{acs\/}}, {\it{c\/}}, {\it{s1\/}}, {\it{n\/}}, {\it{x\/}})\index{map\_call\_effects})\-\index{sequal}
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it gp\_map\_call\_effects\/}.


\noindent{\sc Event}:   Disable sequal.

\addvspace{18pt}


\begin{verbatim}; =============
;  Local Names
; =============

\end{verbatim}\begin{tabbing}{\sc Definition}:\index{gp\_new\_namep} \\  
\=\+{\rm{gp\_new\_namep}}\,({\it{id\/}}, {\it{s\/}})\index{gp\_new\_namep} \\ 
$=$$\;\;\;\;$(\=\+($\neg$ {\rm{in\_map}}\,({\rm{map}}\,({\it{s\/}})\index{map}, {\it{id\/}})\index{in\_map}) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{in\_map}}\,({\rm{cond+}}\,({\it{s\/}})\index{cond+}, {\it{id\/}})\index{in\_map}) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{reserved\_idp}}\,({\it{id\/}})\index{reserved\_idp}))\-\-
\end{tabbing}


\begin{verbatim}; =================
;  Local Variables
; =================

\end{verbatim}\begin{tabbing}{\sc Definition}:\index{bind\_local} \\  
\=\+{\rm{bind\_local}}\,({\it{a\/}}, {\it{id\/}}, {\it{td\/}}, {\it{iv\/}}, {\it{s\/}})\index{bind\_local} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{gp\_new\_namep}}\,({\it{id\/}}, {\it{s\/}})\index{gp\_new\_namep} \\ 
{\bf then }\=\+{\bf let }\=\+{\it{v\/}}{\bf $\;$ be$\;\;$}\=\+{\bf if }{\it{iv\/}} $=$ {\bf{nil}} \\ 
{\bf then }{\rm{std\_initial}}\,({\rm{list}}\,({\rm{marked}}\,(\=\+{\tt{'}}{\tt{type\_descriptor}}, \\ 
{\it{td\/}})\-\index{marked}))\index{std\_initial} \\ 
{\bf else }{\it{iv\/}}$\;${\bf  endif}\-\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{determinate}}\,({\it{v\/}})\index{determinate} $\wedge$ {\rm{truep}}\,({\rm{in\_type}}\,({\it{td\/}}, {\it{v\/}})\index{in\_type}) \\ 
{\bf then }\=\+{\bf if }{\it{a\/}} $=$ {\tt{'}}{\tt{var}} \\ 
{\bf then }{\rm{store\_var}}\,(\=\+{\it{id\/}}, \\ 
{\rm{marked}}\,({\bf{nil}}, {\rm{typed}}\,({\it{td\/}}, {\rm{value}}\,({\it{v\/}})\index{value})\index{typed})\index{marked}, \\ 
{\tt{'}}{\tt{local}}, \\ 
{\it{s\/}})\-\index{store\_var} \\ 
{\bf else }{\rm{store\_const}}\,(\=\+{\it{id\/}}, \\ 
{\rm{marked}}\,({\bf{nil}}, {\rm{typed}}\,({\it{td\/}}, {\rm{value}}\,({\it{v\/}})\index{value})\index{typed})\index{marked}, \\ 
{\tt{'}}{\tt{local}}, \\ 
{\it{s\/}})\-\index{store\_const}$\;${\bf  endif}\- \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\-$\;${\bf  endlet}\- \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Conservative Axiom}:  p\_bind\_local\_intro \\ \index{p\_bind\_local\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_bind\_local}}\,({\it{a\/}}, {\it{id\/}}, {\it{td\/}}, {\it{iv\/}}, {\it{s0\/}})\index{p\_bind\_local}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;${\rm{sequal}}\,({\it{s1\/}}, {\rm{bind\_local}}\,({\it{a\/}}, {\it{id\/}}, {\it{td\/}}, {\it{iv\/}}, {\it{s0\/}})\index{bind\_local})\index{sequal})\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_bind\_local\/}.

\begin{tabbing}{\sc Definition}:\index{gp\_bind\_local} \\  
\=\+{\rm{gp\_bind\_local}}\,({\it{a\/}}, {\it{id\/}}, {\it{td\/}}, {\it{iv\/}}, {\it{s\/}})\index{gp\_bind\_local} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}\=\+{\bf if }{\it{iv\/}} $=$ {\bf{nil}}$\;\;${\bf then }{\it{s\/}} \\ 
{\bf else }{\rm{state\_check}}\,({\rm{list}}\,({\it{iv\/}}), {\it{s\/}})\index{state\_check}$\;${\bf  endif}\-\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state} \\ 
{\bf then }{\rm{p\_bind\_local}}\,(\=\+{\it{a\/}}, \\ 
{\it{id\/}}, \\ 
{\it{td\/}}, \\ 
\=\+{\bf if }{\it{iv\/}} $=$ {\bf{nil}}$\;\;${\bf then }{\it{iv\/}} \\ 
{\bf else }{\rm{result\~}}\,({\it{iv\/}})\index{result\~}$\;${\bf  endif}\-, \\ 
{\it{s\/}})\-\index{p\_bind\_local} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}
      
\begin{tabbing}{\sc Definition}:\index{gp\_bind\_locals} \\  
\=\+{\rm{gp\_bind\_locals}}\,({\it{a\/}}, {\it{ids\/}}, {\it{td\/}}, {\it{iv\/}}, {\it{s\/}})\index{gp\_bind\_locals} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{ids\/}} $\simeq\;${{\bf{nil}}}${}$$\;\;${\bf then }{\it{s\/}} \\ 
{\bf else }{\rm{gp\_bind\_locals}}\,(\=\+{\it{a\/}}, \\ 
{\rm{cdr}}\,({\it{ids\/}}), \\ 
{\it{td\/}}, \\ 
{\it{iv\/}}, \\ 
{\rm{gp\_bind\_local}}\,({\it{a\/}}, {\rm{car}}\,({\it{ids\/}}), {\it{td\/}}, {\it{iv\/}}, {\it{s\/}})\index{gp\_bind\_local})\-\index{gp\_bind\_locals}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{gp\_local\_conds} \\  
\=\+{\rm{gp\_local\_conds}}\,({\it{ids\/}}, {\it{s\/}})\index{gp\_local\_conds} \\ 
$=$$\;\;\;\;$\=\+{\bf if }({\it{ids\/}} $\simeq\;${{\bf{nil}}}${}$) $\vee$ ($\neg$ {\rm{normal\_state}}\,({\it{s\/}})\index{normal\_state})$\;\;${\bf then }{\it{s\/}} \\ 
{\bf elseif }{\rm{gp\_new\_namep}}\,({\rm{car}}\,({\it{ids\/}}), {\it{s\/}})\index{gp\_new\_namep} \\ 
{\bf then }{\rm{gp\_local\_conds}}\,({\rm{cdr}}\,({\it{ids\/}}), {\rm{store\_cond}}\,({\rm{car}}\,({\it{ids\/}}), {\tt{'}}{\tt{local}}, {\it{s\/}})\index{store\_cond})\index{gp\_local\_conds} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\-\-
\end{tabbing}



\begin{verbatim}; ****************
;  Case Statement
; ****************

\end{verbatim}\begin{tabbing}{\sc Definition}:\index{case\_label\_check} \\  
\=\+{\rm{case\_label\_check}}\,({\it{k\/}}, {\it{cs\/}}, {\it{s\/}})\index{case\_label\_check} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{td\/}}{\bf $\;$ be$\;\;$}{\rm{base\_type}}\,({\rm{type}}\,({\it{k\/}})\index{type})\index{base\_type}\- \\ 
{\bf in} \\ 
\=\+{\bf if }\=\+{\rm{non\_rational\_simple\_typep}}\,({\it{td\/}})\index{non\_rational\_simple\_typep} \\ 
$\wedge$$\;\;\;\;$({\rm{arg\_check}}\,({\it{cs\/}}, {\rm{ncopies}}\,({\rm{length}}\,({\it{cs\/}})\index{length}, {\it{td\/}})\index{ncopies})\index{arg\_check} $=$ {\bf{nil}}) \\ 
$\wedge$$\;\;\;\;${\rm{vsetp}}\,({\rm{values}}\,({\it{cs\/}})\index{values}, {\it{td\/}})\index{vsetp}\-$\;\;${\bf then }{\it{s\/}} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}

\begin{tabbing}{\sc Conservative Axiom}:  p\_case\_label\_check\_intro \\ \index{p\_case\_label\_check\_intro}
\=\+{\bf let }\=\+{\it{s1\/}}{\bf $\;$ be$\;\;$}{\rm{p\_case\_label\_check}}\,({\it{k\/}}, {\it{cs\/}}, {\it{s0\/}})\index{p\_case\_label\_check}\- \\ 
{\bf in} \\ 
\=\+(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;${\rm{sequal}}\,({\it{s1\/}}, {\rm{case\_label\_check}}\,({\it{k\/}}, {\it{cs\/}}, {\it{s0\/}})\index{case\_label\_check})\index{sequal})\- \\ 
$\wedge$$\;\;\;\;$(\=\+({\rm{determinate}}\,({\it{s1\/}})\index{determinate} $\wedge$ ({\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} $\not=$ {\tt{'}}{\tt{normal}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{implementation\_constrained}}\,({\it{s1\/}}, {\it{s0\/}})\index{implementation\_constrained} \\ 
$\wedge$$\;\;\;\;$(\=\+{\rm{cond\~}}\,({\it{s1\/}})\index{cond\~} \\ 
$\in$$\;\;\;\;${\tt{'}}{\tt{(}}{\tt{routineerror}}{\tt{ }}{\tt{spaceerror}}{\tt{)}})\-)\-)\-\-$\;${\bf  endlet}\-
\end{tabbing}\noindent Simultaneously, we introduce the new function symbol {\it p\_case\_label\_check\/}.

\begin{tabbing}{\sc Definition}:\index{gp\_case\_label\_check} \\  
\=\+{\rm{gp\_case\_label\_check}}\,({\it{sk\/}}, {\it{scs\/}}, {\it{s0\/}})\index{gp\_case\_label\_check} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{r\/}}{\bf $\;$ be$\;\;$}{\rm{state\_check}}\,({\rm{cons}}\,({\it{sk\/}}, {\it{scs\/}}), {\it{s0\/}})\index{state\_check}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\it{r\/}})\index{normal\_state} \\ 
{\bf then }{\rm{p\_case\_label\_check}}\,({\rm{result\~}}\,({\it{sk\/}})\index{result\~}, {\rm{result\~\_list}}\,({\it{scs\/}})\index{result\~\_list}, {\it{s0\/}})\index{p\_case\_label\_check} \\ 
{\bf else }{\it{r\/}}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{condition\_labels\_ok} \\  
{\rm{condition\_labels\_ok}}\,({\it{cs\/}}, {\it{s\/}})\index{condition\_labels\_ok} $=$ ({\rm{setp}}\,({\it{cs\/}})\index{setp} $\wedge$ {\rm{all\_conditionsp}}\,({\it{cs\/}}, {\it{s\/}})\index{all\_conditionsp})
\end{tabbing}



\begin{verbatim}; **********************
;  The Meta-Function GP
; **********************

\end{verbatim}
\noindent{\sc Event}:   Disable *1*boolean\_desc.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_gand.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_gchar.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_gin.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_gmap\_insert.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_gmapomit.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_gor.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_grange\_elements.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_gseq\_insert\_before.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_gseq\_insert\_behind.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_gseqomit.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_gset.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_gset\_or\_seq.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_gstring\_seq.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_apply\_binary\_op.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_apply\_unary\_op.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_apply\_var.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_bound\_values.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_false.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_minteger.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_put\_op.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_record\_get.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_retype\_result\~.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_select\_op.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_std\_domain.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_std\_first.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_std\_initial.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_std\_last.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_std\_lower.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_std\_max.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_std\_min.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_std\_nonfirst.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_std\_nonlast.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_std\_null.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_std\_ord.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_std\_pred.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_std\_range.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_std\_scale.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_std\_size.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_std\_succ.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_std\_upper.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_subsequence\_get.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_true.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_type\_check.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gpf\_type\_name\_arg.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gp\_assign.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gp\_bind\_locals.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gp\_call\_state.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gp\_case\_label\_check.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gp\_deallocate\_locals.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gp\_local\_conds.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gp\_map\_call\_effects.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gp\_move.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gp\_new.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gp\_new\_namep.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gp\_record\_assert.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gp\_remove.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gp\_set\_entry.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gp\_set\_exit.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gp\_set\_keep.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gp\_update\_assert.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gtruep.

\addvspace{18pt}

\noindent{\sc Event}:   Disable access.

\addvspace{18pt}

\noindent{\sc Event}:   Disable actual\_cargs.

\addvspace{18pt}

\noindent{\sc Event}:   Disable actual\_dargs.

\addvspace{18pt}

\noindent{\sc Event}:   Disable allocate.

\addvspace{18pt}

\noindent{\sc Event}:   Disable allocate\_const.

\addvspace{18pt}

\noindent{\sc Event}:   Disable arg\_list.

\addvspace{18pt}

\noindent{\sc Event}:   Disable base\_type.

\addvspace{18pt}

\noindent{\sc Event}:   Disable boolean\_desc.

\addvspace{18pt}

\noindent{\sc Event}:   Disable bound\_id.

\addvspace{18pt}

\noindent{\sc Event}:   Disable case\_labels.

\addvspace{18pt}

\noindent{\sc Event}:   Disable cdr\_quantified\_exp.

\addvspace{18pt}

\noindent{\sc Event}:   Disable character\_valuep.

\addvspace{18pt}

\noindent{\sc Event}:   Disable condition\_labels\_ok.

\addvspace{18pt}

\noindent{\sc Event}:   Disable condition\_non\_normal.

\addvspace{18pt}

\noindent{\sc Event}:   Disable condition\_normal.

\addvspace{18pt}

\noindent{\sc Event}:   Disable conditionp.

\addvspace{18pt}

\noindent{\sc Event}:   Disable cond\~.

\addvspace{18pt}

\noindent{\sc Event}:   Disable constant\_body.

\addvspace{18pt}

\noindent{\sc Event}:   Disable digit\_listp.

\addvspace{18pt}

\noindent{\sc Event}:   Disable each\_clausep.

\addvspace{18pt}

\noindent{\sc Event}:   Disable entry\_name.

\addvspace{18pt}

\noindent{\sc Event}:   Disable entry\_valuep.

\addvspace{18pt}

\noindent{\sc Event}:   Disable exit\_spec.

\addvspace{18pt}

\noindent{\sc Event}:   Disable expression\_from\_spec.

\addvspace{18pt}

\noindent{\sc Event}:   Disable fn\_call\_formp.

\addvspace{18pt}

\noindent{\sc Event}:   Disable formal\_cargs.

\addvspace{18pt}

\noindent{\sc Event}:   Disable formal\_dargs.

\addvspace{18pt}

\noindent{\sc Event}:   Disable gname.

\addvspace{18pt}

\noindent{\sc Event}:   Disable handler.

\addvspace{18pt}

\noindent{\sc Event}:   Disable handler\_labels.

\addvspace{18pt}

\noindent{\sc Event}:   Disable id\_list.

\addvspace{18pt}

\noindent{\sc Event}:   Disable identifierp.

\addvspace{18pt}

\noindent{\sc Event}:   Disable if\_else\_exp.

\addvspace{18pt}

\noindent{\sc Event}:   Disable if\_statement\_else\_part.

\addvspace{18pt}

\noindent{\sc Event}:   Disable indeterminate.

\addvspace{18pt}

\noindent{\sc Event}:   Disable internal\_initial\_value\_exp.

\addvspace{18pt}

\noindent{\sc Event}:   Disable keep\_spec.

\addvspace{18pt}

\noindent{\sc Event}:   Disable kind.

\addvspace{18pt}

\noindent{\sc Event}:   Disable length.

\addvspace{18pt}

\noindent{\sc Event}:   Disable map.

\addvspace{18pt}

\noindent{\sc Event}:   Disable map\_cond\_effects.

\addvspace{18pt}

\noindent{\sc Event}:   Disable mark\_state\_indeterminate.

\addvspace{18pt}

\noindent{\sc Event}:   Disable mk\_name\_expression.

\addvspace{18pt}

\noindent{\sc Event}:   Disable mk\_signal\_stmt.

\addvspace{18pt}

\noindent{\sc Event}:   Disable mk\_unary\_operator.

\addvspace{18pt}

\noindent{\sc Event}:   Disable name\_exp.

\addvspace{18pt}

\noindent{\sc Event}:   Disable new\_name\_arg.

\addvspace{18pt}

\noindent{\sc Event}:   Disable normal\_state.

\addvspace{18pt}

\noindent{\sc Event}:   Disable object\_name.

\addvspace{18pt}

\noindent{\sc Event}:   Disable prec.

\addvspace{18pt}

\noindent{\sc Event}:   Disable procedure\_body.

\addvspace{18pt}

\noindent{\sc Event}:   Disable rcar.

\addvspace{18pt}

\noindent{\sc Event}:   Disable rcdr.

\addvspace{18pt}

\noindent{\sc Event}:   Disable ref.

\addvspace{18pt}

\noindent{\sc Event}:   Disable remove\_exp\_arg.

\addvspace{18pt}

\noindent{\sc Event}:   Disable remove\_name\_arg.

\addvspace{18pt}

\noindent{\sc Event}:   Disable reset\_leave\_to\_normal.

\addvspace{18pt}

\noindent{\sc Event}:   Disable result\_type.

\addvspace{18pt}

\noindent{\sc Event}:   Disable result\~.

\addvspace{18pt}

\noindent{\sc Event}:   Disable result\~\_list.

\addvspace{18pt}

\noindent{\sc Event}:   Disable set\_condition.

\addvspace{18pt}

\noindent{\sc Event}:   Disable state\_componentp.

\addvspace{18pt}

\noindent{\sc Event}:   Disable string\_valuep.

\addvspace{18pt}

\noindent{\sc Event}:   Disable type.

\addvspace{18pt}

\noindent{\sc Event}:   Disable type\_desc.

\addvspace{18pt}

\noindent{\sc Event}:   Disable type\_name\_expp.

\addvspace{18pt}


\begin{verbatim}#|
(do-mutual '(

; ****************************************************************************
;
;                      THE EXPRESSION INTERPRETER
;
; ****************************************************************************

; ***************************
;  Set/Sequence Constructors
; ***************************

;; This returns a list of states rather than a single state.

(defn GPF_element_list (e c s n x)

  (if (not (normal_state s))
      (list s)

  (if (zerop (fix n))
      (list (mark_state_indeterminate s))

  (if (rule e (prodn (tag 'range 'r)
		     (list 'OPEN_PAREN (tag 'range_limits 'r2) 'CLOSE_PAREN)))
      (GPF_element_list (subtree e 'range_limits) c s (sub1 n) x)

  (if (rule e (prodn (tag 'element_list 'e)
		     (tag 'value_list 'v)))
      (GPF_element_list (subtree e 'value_list) c s (sub1 n) x)

  (if (rule e (prodn (tag 'element_list 'e)
		     (tag 'range_limits 'r)))
      (GPF_element_list (subtree e 'range_limits) c s (sub1 n) x)

  (if (rule e (prodn (tag 'range_limits 'r)
		     (list (tag 'expression 'lo) 'DOT_DOT
			   (tag 'expression 'hi))))
      (GPF_Grange_elements (GPF (subtree_i e 'expression 1) c s (sub1 n) x)
			   (GPF (subtree_i e 'expression 2) c s (sub1 n) x)
			   s)

  (if (rule e (prodn (tag 'value_list 'v)
		     (tag 'expression 'e)))
      (rcons nil (GPF (subtree e 'expression) c s (sub1 n) x))

  (if (rule e (prodn (tag 'value_list 'v)
		     (list (tag 'value_list 'v2) 'COMMA
			   (tag 'expression 'e))))
      (rcons (GPF_element_list (subtree e 'value_list) c s (sub1 n) x)
	     (GPF (subtree e 'expression) c s (sub1 n) x))

    (list (mark_state_indeterminate s))))))))))

  ( (lessp (count n)) ))


; Unlike most of the other functions here, this doesn't store the value in
; the state.  

(defn GPF_element_type (e c s n x)

  (if (zerop (fix n))
      (mark_state_indeterminate s)

  (if (rule e (prodn (tag 'range 'r)
		     (list 'OPEN_PAREN (tag 'range_limits 'r2) 'CLOSE_PAREN)))
      (GPF_element_type (subtree e 'range_limits) c s (sub1 n) x)

  (if (rule e (prodn (tag 'element_list 'e)
		     (tag 'value_list 'v)))
      (GPF_element_type (subtree e 'value_list) c s (sub1 n) x)

  (if (rule e (prodn (tag 'element_list 'e)
		     (tag 'range_limits 'r)))
      (GPF_element_type (subtree e 'range_limits) c s (sub1 n) x)

  (if (rule e (prodn (tag 'range_limits 'r)
		     (list (tag 'expression 'lo) 'DOT_DOT
			   (tag 'expression 'hi))))
      (base_type (type (result~ (GPF (subtree_i e 'expression 1)
				     c s (sub1 n) x))))

  (if (rule e (prodn (tag 'value_list 'v)
		     (tag 'expression 'e)))
      (base_type (type (result~ (GPF (subtree e 'expression) c s (sub1 n) x))))

  (if (rule e (prodn (tag 'value_list 'v)
		     (list (tag 'value_list 'v2) 'COMMA
			   (tag 'expression 'e))))
      (GPF_element_type (subtree e 'value_list) c s (sub1 n) x)

    nil)))))))

  ( (lessp (count n)) ))



; ************************
;  Quantified expressions
; ************************

(defn GPF_all (id vs e c s n x)
  (if (nlistp vs)
      (GPF_true s)
  (if (GP_new_namep id s)
      (if (zerop n)
	  (mark_state_indeterminate s)
        (GPF_Gand (GPF_all id (rcdr vs) e c s (sub1 n) x)
		  (GPF e c (allocate_const id (rcar vs) 'local s) (sub1 n) x)
		  s))
    (set_condition s 'routineerror)))
  ( (lessp (count n)) ))


(defn GPF_some (id vs e c s n x)
  (if (nlistp vs)
      (GPF_false s)
  (if (GP_new_namep id s)
      (if (zerop n)
	  (mark_state_indeterminate s)
	(GPF_Gor (GPF_some id (rcdr vs) e c s (sub1 n) x)
		 (GPF e c (allocate_const id (rcar vs) 'local s) (sub1 n) x)
		 s))
    (set_condition s 'routineerror)))
  ( (lessp (count n)) ))


; *********************
;  Value Modifications
; *********************

(defn GPF_each (id vs sBV e c s n x)
  ; e is the <component modification>
  ; sBV is the state whose result~ component is the value being modified
  (if (not (normal_state s))
      s
  (if (nlistp vs)
      sBV
  (if (GP_new_namep id s)
      (if (zerop n)
	  (mark_state_indeterminate s)
	(GPF_each id (cdr vs)
		  (GPF_modifiers sBV e c (allocate_const id (car vs) 'local s)
				 (sub1 n) x)
		  e c s (sub1 n) x))
    (set_condition s 'routineerror))))
  ( (lessp (count n)) ))


(defn GPF_adp (e c s n x)

  (if (not (normal_state s))
      (list s)

  (if (zerop (fix n))
      (list (mark_state_indeterminate s))

  (if (rule e (prodn (tag 'arg_list 'as)
		     (list 'OPEN_PAREN (tag 'value_list 'vs)
			   'CLOSE_PAREN)))
      (GPF_adp (subtree e 'value_list) c s (sub1 n) x)

  (if (rule e (prodn (tag 'value_list 'vs)
		     (tag 'expression 'e)))
      (rcons nil (GPF (subtree e 'expression) c s (sub1 n) x))

  (if (rule e (prodn (tag 'value_list 'vs)
		     (list (tag 'value_list 'vs2)
			   'COMMA (tag 'expression 'e))))
      (rcons (GPF_adp (subtree e 'value_list) c s (sub1 n) x)
	     (GPF (subtree e 'expression) c s (sub1 n) x))

    (list (mark_state_indeterminate s)))))))

  ( (lessp (count n)) ))

(defn GPF_selectors (e c s n x)

  (if (not (normal_state s))
      (list s)

  (if (zerop (fix n))
      (list (mark_state_indeterminate s))

  (if (rule e (prodn (tag 'selector_list 's)
		     (tag 'component_selectors 's2)))
      (GPF_selectors (subtree e 'component_selectors) c s (sub1 n) x)

  (if (rule e (prodn (tag 'selector_list 's)
		     (list (tag 'selector_list 's2)
			   (tag 'component_selectors 's3))))
      (append (GPF_selectors (subtree e 'selector_list) c s (sub1 n) x)
	      (GPF_selectors (subtree e 'component_selectors) c s (sub1 n) x))

  (if (rule e (prodn (tag 'component_selectors 's)
		     (list 'DOT (tag 'IDENTIFIER 'fn))))
      (list (allocate 'result~
		      (marked 'field_name (gname (subtree e 'IDENTIFIER)))
		      s))

  (if (rule e (prodn (tag 'component_selectors 's)
		     (tag 'arg_list 'd)))
      (GPF_adp (subtree e 'arg_list) c s (sub1 n) x)

  (if (rule e (prodn (tag 'arg_list 'as)
		     (list 'OPEN_PAREN (tag 'value_list 'vs)
			   'CLOSE_PAREN)))
      (GPF_adp (subtree e 'value_list) c s (sub1 n) x)

    (list (mark_state_indeterminate s)))))))))

  ( (lessp (count n)) ))

(defn GPF_modifiers (sBV e c s n x)
  ; e is the <value modifiers>
  ; sBV is the state whose result~ component is being modified

  (if (not (normal_state s))
      s

  (if (not (normal_state sBV))
      sBV

  (if (zerop (fix n))
      (mark_state_indeterminate s)

  (if (rule e (prodn (tag 'value_modifiers 'm)
		     (tag 'component_selectors 's)))
      (GPF_modifiers sBV (subtree e 'component_selectors) c s (sub1 n) x)

  (if (rule e (prodn (tag 'component_selectors 's)
		     (list 'DOT (tag 'IDENTIFIER 'fn))))
      (GPF_record_get sBV 
		      (allocate 'result~
				(marked 'field_name
					(gname (subtree e 'IDENTIFIER)))
				s)
		      s)

  (if (rule e (prodn (tag 'component_selectors 's)
		     (tag 'arg_list 'd)))
      (GPF_select_op sBV (GPF_adp (subtree e 'arg_list) c s (sub1 n) x) s)

  (if (rule e (prodn (tag 'value_modifiers 'm)
		     (tag 'range 'r)))
      (GPF_modifiers sBV (subtree e 'range) c s (sub1 n) x)

  (if (rule e (prodn (tag 'range 'r)
		     (list 'OPEN_PAREN (tag 'range_limits 'r2)
			   'CLOSE_PAREN)))
      (GPF_modifiers sBV (subtree e 'range_limits) c s (sub1 n) x)

  (if (rule e (prodn (tag 'range_limits 'r)
		     (list (tag 'expression 'lo) 'DOT_DOT
			   (tag 'expression 'hi))))
      (GPF_subsequence_get sBV
			   (GPF (subtree_i e 'expression 1) c s (sub1 n) x)
			   (GPF (subtree_i e 'expression 2) c s (sub1 n) x)
			   s)

  (if (rule e (prodn (tag 'value_modifiers 'm)
		     (tag 'value_alterations 'a)))
      (GPF_modifiers sBV (subtree e 'value_alterations) c s (sub1 n) x)

  (if (rule e (prodn (tag 'value_alterations 'a)
		     (list 'WITH 'OPEN_PAREN
			   (tag 'component_alterations_list 'al)
			   'CLOSE_PAREN)))
      (GPF_modifiers sBV (subtree e 'component_alterations_list)
		     c s (sub1 n) x)

  (if (rule e (prodn (tag 'component_alterations_list 'al)
		     (tag 'component_alterations 'a)))
      (GPF_modifiers sBV (subtree e 'component_alterations) c s (sub1 n) x)

  (if (rule e (prodn (tag 'component_alterations_list 'al)
		     (list (tag 'component_alterations_list 'al2)
			   'SEMI_COLON (tag 'component_alterations 'a))))
      (GPF_modifiers (GPF_modifiers sBV
				    (subtree e 'component_alterations_list)
				    c s (sub1 n) x)
		     (subtree e 'component_alterations) c s (sub1 n) x)

  (if (rule e (prodn (tag 'component_alterations 'as)
		     (list (tag 'opt_each_clause 'e)
			   (tag 'component_assignment 'a))))
      (if (each_clausep (subtree e 'opt_each_clause))
	  (let ((sVS (GPF_bound_values (subtree e 'opt_each_clause) c s x)))
	    (if (normal_state sVS)
		(GPF_each (bound_id (subtree e 'opt_each_clause))
			  (result~ sVS) sBV (subtree e 'component_assignment)
			  c s (sub1 n) x)
	      sVS))
	(GPF_modifiers sBV (subtree e 'component_assignment) c s (sub1 n) x))

  (if (rule e (prodn (tag 'component_alterations 'as)
		     (list (tag 'opt_each_clause 'e)
			   (tag 'component_creation 'c))))
      (if (each_clausep (subtree e 'opt_each_clause))
	  (let ((sVS (GPF_bound_values (subtree e 'opt_each_clause) c s x)))
	    (if (normal_state sVS)
		(GPF_each (bound_id (subtree e 'opt_each_clause))
			  (result~ sVS) sBV (subtree e 'component_creation)
			  c s (sub1 n) x)
	      sVS))
	(GPF_modifiers sBV (subtree e 'component_creation) c s (sub1 n) x))

  (if (rule e (prodn (tag 'component_alterations 'as)
		     (list (tag 'opt_each_clause 'e)
			   (tag 'component_deletion 'd))))
      (if (each_clausep (subtree e 'opt_each_clause))
	  (let ((sVS (GPF_bound_values (subtree e 'opt_each_clause) c s x)))
	    (if (normal_state sVS)
		(GPF_each (bound_id (subtree e 'opt_each_clause))
			  (result~ sVS) sBV (subtree e 'component_deletion)
			  c s (sub1 n) x)
	      sVS))
	(GPF_modifiers sBV (subtree e 'component_deletion) c s (sub1 n) x))

  (if (rule e (prodn (tag 'component_assignment 'a)
		     (list (tag 'selector_list 's)
			   'COLON_EQUAL (tag 'expression 'e))))
      (GPF_put_op sBV
		  (GPF_selectors (subtree e 'selector_list)
				 c s (sub1 n) x)
		  (GPF (subtree e 'expression) c s (sub1 n) x)
		  s)

  (if (rule e (prodn (tag 'component_creation 'c)
		     (list 'BEFORE (tag 'selector_list 's)
			   'COLON_EQUAL (tag 'expression 'e))))
      (let ((sS (GPF_selectors (subtree e 'selector_list) c s (sub1 n) x))
	    (sU (GPF (subtree e 'expression) c s (sub1 n) x)))
	(GPF_put_op sBV (rcdr sS)
		    (GPF_Gseq_insert_before (GPF_select_op sBV (rcdr sS) s)
					    (rcar sS) sU s)
		    s))

  (if (rule e (prodn (tag 'component_creation 'c)
		     (list 'BEHIND (tag 'selector_list 's)
			   'COLON_EQUAL (tag 'expression 'e))))
      (let ((sS (GPF_selectors (subtree e 'selector_list) c s (sub1 n) x))
	    (sU (GPF (subtree e 'expression) c s (sub1 n) x)))
	(GPF_put_op sBV (rcdr sS)
		    (GPF_Gseq_insert_behind (GPF_select_op sBV (rcdr sS) s)
					    (rcar sS) sU s)
		    s))

  (if (rule e (prodn (tag 'component_creation 'c)
		     (list 'INTO (tag 'selector_list 's)
			   'COLON_EQUAL (tag 'expression 'e))))
      (let ((sS (GPF_selectors (subtree e 'selector_list) c s (sub1 n) x))
	    (sU (GPF (subtree e 'expression) c s (sub1 n) x)))
	(GPF_put_op sBV (rcdr sS)
		    (GPF_Gmap_insert (GPF_select_op sBV (rcdr sS) s)
				     (rcar sS) sU s)
		    s))

  (if (rule e (prodn (tag 'component_deletion 'd)
		     (list 'SEQOMIT (tag 'selector_list 's))))
      (let ((sS (GPF_selectors (subtree e 'selector_list) c s (sub1 n) x)))
	(GPF_put_op sBV (rcdr sS)
		    (GPF_Gseqomit (GPF_select_op sBV (rcdr sS) s)
				  (rcar sS) s)
		    s))

  (if (rule e (prodn (tag 'component_deletion 'd)
		     (list 'MAPOMIT (tag 'selector_list 's))))
      (let ((sS (GPF_selectors (subtree e 'selector_list) c s (sub1 n) x)))
	(GPF_put_op sBV (rcdr sS)
		    (GPF_Gmapomit (GPF_select_op sBV (rcdr sS) s)
				  (rcar sS) s)
		    s))

    (mark_state_indeterminate s)))))))))))))))))))))))

  ( (lessp (count n)) ))



; ************************************
;  Name references and function calls
; ************************************

(defn GPF_apply_fun (fn adp acp sn s n x)
  (if (zerop (fix n))
      (mark_state_indeterminate s)
    (let ((h (car (ref fn sn x)))  ; scope fn is declared in
	  (u (cdr (ref fn sn x)))) ; the function declaration
      (if (equal (kind u) 'function)
	  (let ((fs (formal_dargs u)))                    ; formals
	  (let ((ds (if (equal (length fs) 0) nil adp))   ; actuals
		(ss (if (equal (length fs) 0) adp nil)))  ; selectors
	    (GPF_select_op (GP_procedure_call fn ds acp sn s (sub1 n) x)
			   ss s)))
      (if (equal (kind u) 'constant)
	  (if (equal acp nil)
	      (GPF_select_op
	         (GPF_retype_result~ (GPF (constant_body u) h s (sub1 n) x)
				     (type_desc (result_type u) h nil x))
		 adp s)
	    (set_condition s 'routineerror))
	(set_condition s 'routineerror)))))
  ( (lessp (count n)) ))


(defn GPF_apply (fn adp acp sn s n x)
  ; adp is a list of states
  (if (state_componentp fn s)
      (if (equal acp nil)
	  (GPF_apply_var fn s adp)
	(set_condition s 'routineerror))
  (if (equal fn 'false)
      (if (equal acp nil)
	  (GPF_select_op (GPF_false s) adp s)
	(set_condition s 'routineerror))
  (if (equal fn 'true)
      (if (equal acp nil)
	  (GPF_select_op (GPF_true s) adp s)
	(set_condition s 'routineerror))
  (if (type_name_expp fn adp sn x)
      (if (equal acp nil)
	  (GPF_type_name_arg fn sn s x)
	(set_condition s 'routineerror))
  (if (equal fn 'domain)
      (if (equal acp nil)
	  (GPF_std_domain adp s)
	(set_condition s 'routineerror))
  (if (equal fn 'first)
      (if (equal acp nil)
	  (GPF_std_first adp s)
	(set_condition s 'routineerror))
  (if (equal fn 'initial)
      (if (equal acp nil)
	  (GPF_std_initial adp s)
	(set_condition s 'routineerror))
  (if (equal fn 'last)
      (if (equal acp nil)
	  (GPF_std_last adp s)
	(set_condition s 'routineerror))
  (if (equal fn 'lower)
      (if (equal acp nil)
	  (GPF_std_lower adp s)
	(set_condition s 'routineerror))
  (if (equal fn 'max)
      (if (equal acp nil)
	  (GPF_std_max adp s)
	(set_condition s 'routineerror))
  (if (equal fn 'min)
      (if (equal acp nil)
	  (GPF_std_min adp s)
	(set_condition s 'routineerror))
  (if (equal fn 'nonfirst)
      (if (equal acp nil)
	  (GPF_std_nonfirst adp s)
	(set_condition s 'routineerror))
  (if (equal fn 'nonlast)
      (if (equal acp nil)
	  (GPF_std_nonlast adp s)
	(set_condition s 'routineerror))
  (if (equal fn 'null)
      (if (equal acp nil)
	  (GPF_std_null adp s)
	(set_condition s 'routineerror))
  (if (equal fn 'ord)
      (if (equal acp nil)
	  (GPF_std_ord adp s)
	(set_condition s 'routineerror))
  (if (equal fn 'pred)
      (if (equal acp nil)
	  (GPF_std_pred adp s)
	(set_condition s 'routineerror))
  (if (equal fn 'range)
      (if (equal acp nil)
	  (GPF_std_range adp s)
	(set_condition s 'routineerror))
  (if (equal fn 'scale)
      (if (equal acp nil)
	  (GPF_std_scale adp s)
	(set_condition s 'routineerror))
  (if (equal fn 'size)
      (if (equal acp nil)
	  (GPF_std_size adp s)
	(set_condition s 'routineerror))
  (if (equal fn 'succ)
      (if (equal acp nil)
	  (GPF_std_succ adp s)
	(set_condition s 'routineerror))
  (if (equal fn 'upper)
      (if (equal acp nil)
	  (GPF_std_upper adp s)
	(set_condition s 'routineerror))
  (if (zerop (fix n))
      (mark_state_indeterminate s)
    (GPF_apply_fun fn adp acp sn s (sub1 n) x)))))))))))))))))))))))
  ( (lessp (count n)) ))


(defn GPF_list (es c s n x)
  (if (nlistp es)
      nil
  (if (zerop (fix n))
      (list (mark_state_indeterminate s))
    (cons (GPF (car es) c s (sub1 n) x)
	  (GPF_list (cdr es) c s (sub1 n) x))))
  ( (lessp (count n)) ))

(defn GPF (e c s n x)
  ; The meta-function GPF(e,c,s,n,x) gives the state that results when the
  ; expression e is interpreted for at most n steps, in the context of scope
  ; c, initial state s, and Gypsy sentence x.
  ;
  ; The domain and range of GPF(e,c,s,n,x) are as follows:
  ;
  ; e is the parse tree of an expression which describes a mechanism.
  ; c is the (litatom) name of the Gypsy scope in which e appears.
  ; s is  the marked, initial state on which the expression mechanism
  ;   e begins to operate.
  ; n is the maximum number of steps that the expression mechanism is
  ;   allowed to operate.
  ; x is  the  parse  tree  of the program description sentence which
  ;   defines the library which  contains  the  declarations  of  the
  ;   Gypsy units which are referred to by e.
  ; gPF(e,c,s,n,x) is the marked, final state which results from operating the
  ;                mechanism on the initial state s for at most n steps.  If
  ;                the mechanism has not completed all of its operations in n
  ;                steps, then the final state is marked as indeterminate.

  (if (not (normal_state s))
      s

  (if (zerop (fix n))
      (mark_state_indeterminate s)


  ; ************************
  ; 
  ;    <expression> ::= ...
  ;
  ; ************************

  (if (rule e (prodn (tag 'expression 'e)
		     (tag 'modified_primary_value 'm)))
      (GPF (subtree e 'modified_primary_value) c s (sub1 n) x)

  (if (rule e (prodn (tag 'expression 'e)
		     (list 'ALL (tag 'bound_expression 'b))))
      (let ((sVS (GPF_bound_values e c s x)))
	(if (normal_state sVS)
	    (GPF_all (bound_id (subtree e 'bound_expression))
		     (result~ sVS) (cdr_quantified_exp e)
		     c s (sub1 n) x)
	  sVS))

  (if (rule e (prodn (tag 'expression 'e)
		     (list 'SOME (tag 'bound_expression 'b))))
      (let ((sVS (GPF_bound_values e c s x)))
	(if (normal_state sVS)
	    (GPF_some (bound_id (subtree e 'bound_expression))
		      (result~ sVS) (cdr_quantified_exp e)
		      c s (sub1 n) x)
	  sVS))

  (if (rule e (prodn (tag 'expression 'e)
		     (list (tag 'unary_operator 'op) (tag 'expression 'e2))))
      (GPF_apply_unary_op (subtree e 'unary_operator)
			  (GPF (subtree e 'expression) c s (sub1 n) x)
			  s)

  (if (rule e (prodn (tag 'expression 'e)
		     (list (tag 'expression 'e1) (tag 'binary_operator 'op)
			   (tag 'expression 'e2))))
      (GPF_apply_binary_op (subtree e 'binary_operator)
			   (GPF (subtree_i e 'expression 1) c s (sub1 n) x)
			   (GPF (subtree_i e 'expression 2) c s (sub1 n) x)
			   s)


  ; ********************************
  ; 
  ;    <modified primary value> ::=
  ;
  ; ********************************

  (if (rule e (prodn (tag 'modified_primary_value 'm)
		     (tag 'primary_value 'p)))
      (GPF (subtree e 'primary_value) c s (sub1 n) x)

  (if (rule e (prodn (tag 'modified_primary_value 'm)
		     (list (tag 'modified_primary_value 'm2)
			   (tag 'value_modifiers 'vm))))
      (if (fn_call_formp e)
	  (GPF_apply (object_name (subtree e 'modified_primary_value))
		     (GPF_adp (arg_list (subtree e 'value_modifiers))
			      c s (sub1 n) x)
		     nil c s (sub1 n) x)
	(GPF_modifiers (GPF (subtree e 'modified_primary_value)
			    c s (sub1 n) x)
		       (subtree e 'value_modifiers) c s (sub1 n) x))

  (if (rule e (prodn (tag 'modified_primary_value 'm)
		     (list (tag 'modified_primary_value 'm2)
			   (tag 'actual_condition_parameters 'cp))))
      (if (fn_call_formp e)
	  (GPF_apply (object_name (subtree e 'modified_primary_value))
		     (GPF_adp (arg_list (subtree e 'modified_primary_value))
			      c s (sub1 n) x)
		     (actual_cargs e)
		     c s (sub1 n) x)
	(set_condition s 'routineerror))


  ; ***********************
  ; 
  ;    <primary value> ::=
  ;
  ; ***********************

  (if (rule e (prodn (tag 'primary_value 'p)
		     (tag 'literal_value 'l)))
      (GPF (subtree e 'literal_value) c s (sub1 n) x)

  (if (rule e (prodn (tag 'primary_value 'p)
		     (tag 'set_or_sequence_value 's)))
      (GPF (subtree e 'set_or_sequence_value) c s (sub1 n) x)

  (if (rule e (prodn (tag 'primary_value 'p)
		     (tag 'ENTRY_VALUE 'e)))
      (GPF (subtree e 'ENTRY_VALUE) c s (sub1 n) x)

  (if (rule e (prodn (tag 'primary_value 'p)
		     (tag 'IDENTIFIER 'on)))
      (GPF (subtree e 'IDENTIFIER) c s (sub1 n) x)

  (if (rule e (prodn (tag 'primary_value 'p)
		     (tag 'if_expression 'i)))
      (GPF (subtree e 'if_expression) c s (sub1 n) x)

  (if (rule e (prodn (tag 'primary_value 'p)
		     (list 'OPEN_PAREN (tag 'expression 'e) 'CLOSE_PAREN)))
      (GPF (subtree e 'expression) c s (sub1 n) x)


  ; --------------------------------------------------------------------------
  ;
  ;  From here down to parse tree leaves, clauses are in alphabetical order 
  ;  by the left-hand side of the productions.  Everything that is a parse
  ;  tree for an expression should be covered.
  ;
  ; --------------------------------------------------------------------------


  ; ***********************
  ; 
  ;    <constant body> ::=
  ;
  ; ***********************

  (if (rule e (prodn (tag 'constant_body 'b)
		     (tag 'expression 'e)))
      (GPF (subtree e 'expression) c s (sub1 n) x)

  (if (rule e (prodn (tag 'constant_body 'b)
		     'PENDING))
      (mark_state_indeterminate s)


  ; ***********************
  ; 
  ;    <if expression> ::=
  ;
  ; ***********************

  (if (rule e (prodn (tag 'if_expression 'i)
		     (list 'IF (tag 'expression 'b) 'THEN
			   (tag 'expression 'p)
			   (tag 'if_expression_else_part 'e))))

      ; Note:  this does not require all potential value expressions to be the
      ; same type or all boolean expressions to be boolean.
      (let ((bv (GPF_type_check (boolean_desc)
				(GPF (subtree_i e 'expression 1)
				     c s (sub1 n) x))))
	(if (not (normal_state bv))
	    bv
	  (if (Gtruep (result~ bv))
	      (GPF (subtree_i e 'expression 2) c s (sub1 n) x)
	    (GPF (if_else_exp (subtree e 'if_expression_else_part))
		 c s (sub1 n) x))))


  ; ***********************
  ; 
  ;    <literal value> ::=
  ;
  ; ***********************

  (if (rule e (prodn (tag 'literal_value 'l)
		     (tag 'CHARACTER_VALUE 'ch)))
      (GPF (subtree e 'CHARACTER_VALUE) c s (sub1 n) x)

  (if (rule e (prodn (tag 'literal_value 'l)
		     (tag 'number 'n)))
      (GPF (subtree e 'number) c s (sub1 n) x)

  (if (rule e (prodn (tag 'literal_value 'l)
		     (tag 'STRING_VALUE 's)))
      (GPF (subtree e 'STRING_VALUE) c s (sub1 n) x)


  ; ****************
  ; 
  ;    <number> ::=
  ;
  ; ****************

  (if (rule e (prodn (tag 'number 'n)
		     (tag 'DIGIT_LIST 's)))
      (GPF_minteger e s)

  (if (rule e (prodn (tag 'number 'n)
		     (list (tag 'base 'b) (tag 'DIGIT_LIST 's))))
      (GPF_minteger e s)


  ; *****************************************
  ; 
  ;    <pre-computable label expression> ::=
  ;
  ; *****************************************

  (if (rule e (prodn (tag 'pre_computable_label_expression 'p)
		     (tag 'number 'n)))
      (GPF (subtree e 'number) c s (sub1 n) x)

  (if (rule e (prodn (tag 'pre_computable_label_expression 'p)
		     (list 'MINUS (tag 'number 'n))))
      (GPF_apply_unary_op (mk_unary_operator 'MINUS)
			  (GPF (subtree e 'number) c s (sub1 n) x)
			  s)

  (if (rule e (prodn (tag 'pre_computable_label_expression 'p)
		     (tag 'CHARACTER_VALUE 'ch)))
      (GPF (subtree e 'CHARACTER_VALUE) c s (sub1 n) x)

  (if (rule e (prodn (tag 'pre_computable_label_expression 'p)
		     (tag 'IDENTIFIER 'i)))
      (GPF (subtree e 'IDENTIFIER) c s (sub1 n) x)


  ; ********************************
  ; 
  ;    <set or sequence value> ::=
  ;
  ; ********************************

  (if (rule e (prodn (tag 'set_or_sequence_value 's)
		     (list 'OPEN_PAREN (tag 'set_or_seq_mark 'm)
			   (tag 'element_list 'e) 'CLOSE_PAREN)))
      (GPF_Gset_or_seq (subtree e 'set_or_seq_mark)
		       (GPF_element_list (subtree e 'element_list)
					 c s (sub1 n) x)
		       (GPF_element_type (subtree e 'element_list)
					 c s (sub1 n) x)
		       s)

  (if (rule e (prodn (tag 'set_or_sequence_value 's)
		     (tag 'range 'r)))
      (GPF_Gset_or_seq nil
		       (GPF_element_list (subtree e 'range) c s (sub1 n) x)
		       (GPF_element_type (subtree e 'range) c s (sub1 n) x)
		       s)


  ; *********************
  ; 
  ;    PARSE TREE LEAVES
  ;
  ; *********************

  (if (character_valuep e)
      (GPF_Gchar e s)

  (if (digit_listp e)
      (GPF_minteger e s)

  (if (entry_valuep e)
      (GPF_apply_var (entry_name e) s nil)

  (if (identifierp e)
      (GPF_apply (gname e) nil nil c s (sub1 n) x)

  (if (string_valuep e)
      (GPF_Gstring_seq e s)

    (mark_state_indeterminate s))))))))))))))))))))))))))))))))))))

  ( (lessp (count n)) ))



; ****************************************************************************
; 
;                      THE PROCEDURAL INTERPRETER
; 
; ****************************************************************************

; ==========================================================
;  Computation of Actual Data Parameters for Procedure Call 
; ==========================================================

(defn GP_parg (e c s n x)
  (if (zerop (fix n))
      (mark_state_indeterminate s)
    (let ((e2 (mk_name_expression e)))
      (if (rule e2 (prodn (tag 'name_expression 'e)
			  (tag 'IDENTIFIER 'i)))
	  (let ((vn (gname (subtree e2 'IDENTIFIER))))
	    (let ((r (GPF_apply_var vn s nil)))
	      (if (normal_state r)
		  (allocate 'result~ (name_exp vn nil) s)
		r)))

      (if (rule e2 (prodn (tag 'name_expression 'e)
			  (list (tag 'IDENTIFIER 'i)
				(tag 'selector_list 'ss))))
	  (let ((vn (gname (subtree e2 'IDENTIFIER)))
		(ss (GPF_selectors (subtree e2 'selector_list)
				   c s (sub1 n) x)))
	    (let ((r (GPF_apply_var vn s ss)))
	      (if (normal_state r)
		  (allocate 'result~ (name_exp vn (result~_list ss)) s)
		r)))

	(GPF e c s (sub1 n) x)))))

  ( (lessp (count n)) ))

(defn GP_parg_list (as c s n x)
  (if (nlistp as)
      nil
  (if (zerop (fix n))
      (list (mark_state_indeterminate s))
    (cons (GP_parg (car as) c s (sub1 n) x)
	  (GP_parg_list (cdr as) c s (sub1 n) x))))
  ( (lessp (count n)) ))



; ====================
;  The Procedure Call
; ====================

(defn GP_procedure_call (pn Sadp acp c s n x)
  ; pn is the called procedure name
  ; Sadp is the list of states resulting from evaluation of actual data
  ;      parameters
  ; acp is the list of actual condition paramters
  ; entry (normal_state s)
  (if (zerop (fix n))
      (mark_state_indeterminate s)
    (let ((h (car (ref pn c x)))
	  (u (cdr (ref pn c x))))
      (if (or (equal (kind u) 'procedure)
	      (equal (kind u) 'function))
	  (let ((s1 (GP_call_state u h Sadp acp s x)))
	    (if (normal_state s1)
		(GP_map_call_effects
		  (GP_procedure_body (procedure_body u) h s1 (sub1 n) x)
		  u (result~_list Sadp) acp c s n x)
	      (map_cond_effects (cond~ s1) (formal_cargs u) acp
				(marked (mark s1) (map s)))))
	(set_condition s 'routineerror)))) ; indeterminate?
  ( (lessp (count n)) ))

(defn GP_procedure_body (m c s n x)

  (if (zerop (fix n))
      (mark_state_indeterminate s)

  (if (rule m (prodn (tag 'procedure_body 'b)
		     'PENDING))
      (mark_state_indeterminate s)

  (if (rule m (prodn (tag 'procedure_body 'b)
		     (list 'BEGIN
			   (tag 'external_operational_specification 'es)
			   (tag 'opt_internal_environment 'iv)
			   (tag 'opt_keep_specification 'k)
			   (tag 'opt_internal_statements 'st)
			   'END)))
      (let ((r (GP_deallocate_locals
		(GP (subtree m 'opt_internal_statements)
		    c
		    (GP_set_keep
		     (keep_spec m)
		     (GP_locals (subtree m 'opt_internal_environment) 
				c
				(GP_set_entry (prec m) c s n x)
				(sub1 n) x)
		     c n x)
		    (sub1 n) x))))
	(if (indeterminate r)
	    r
	(if (or (equal (cond~ r) 'normal)
		(conditionp (cond~ r) r))
	    (GP_set_exit (exit_spec m) c r n x)
	(if (equal (cond~ r) 'leave)
	    ; leave statement was not in a loop
	    (set_condition r 'routineerror)
	  ; condition signalled was not a forward condition; we are not
	  ; allowed to signal routineerror
	  (mark_state_indeterminate r)))))

  (mark_state_indeterminate s))))

  ( (lessp (count n)) ))

(defn GP_locals (m c s n x)

  (if (not (normal_state s))
      s

  (if (zerop n)
      (mark_state_indeterminate s)

  (if (rule m (prodn (tag 'opt_internal_environment 'iv)
		     'empty))
      s

  (if (rule m (prodn (tag 'opt_internal_environment 'iv)
		     (tag 'internal_environment 'iv2)))
      (GP_locals (subtree m 'internal_environment) c s (sub1 n) x)

  (if (rule m (prodn (tag 'internal_environment 'iv)
		     (tag 'internal_data_or_condition_objects 'iv2)))
      (GP_locals (subtree m 'internal_data_or_condition_objects)
		 c s (sub1 n) x)

  (if (rule m (prodn (tag 'internal_environment 'iv)
		     (list (tag 'internal_environment 'iv2)
			   (tag 'internal_data_or_condition_objects 'iv3))))
      (GP_locals (subtree m 'internal_data_or_condition_objects) c
		 (GP_locals (subtree m 'internal_environment) c s (sub1 n) x)
		 (sub1 n) x)

  (if (rule m (prodn (tag 'internal_data_or_condition_objects 'iv)
		     (list (tag 'access_specification 'a)
			   (tag 'identifier_list 'is) 'COLON 
			   (tag 'type_specification 'ts)
			   (tag 'opt_internal_initial_value 'v)
			   'SEMI_COLON)))
      (let ((ie (internal_initial_value_exp m)))
      (let ((iv (if (equal ie nil)
		    ie
		  (GPF ie c s (sub1 n) x))))
	(GP_bind_locals (access m)
			(id_list (subtree m 'identifier_list))
			(type_desc (subtree m 'type_specification) c nil x)
			iv s)))

  (if (rule m (prodn (tag 'internal_data_or_condition_objects 'iv)
		     (list 'COND (tag 'identifier_list 'is) 'SEMI_COLON)))
      
      (GP_local_conds (id_list (subtree m 'identifier_list)) s)

    (mark_state_indeterminate s)))))))))

  ( (lessp (count n)) ))



; ****************
;  Case Statement
; ****************

(defn GP_case_body (k m c s n x)

  (if (not (normal_state s))
      s

  (if (zerop (fix n))
      (mark_state_indeterminate s)

  (if (rule m (prodn (tag 'case_composition_body 'b)
		     'empty))
      s

  (if (rule m (prodn (tag 'case_composition_body 'b)
		     (list 'ELSE 'COLON (tag 'opt_internal_statements 'ss))))
      (GP (subtree m 'opt_internal_statements) c s (sub1 n) x)

  (if (rule m (prodn (tag 'case_composition_body 'b)
		     (list 'IS (tag 'case_labels 'cs) 'COLON
			   (tag 'opt_internal_statements 'ss)
			   (tag 'case_composition_body 'b2))))
      (let ((s1 (GPF_Gin k
			 (GPF_Gset (GPF_list (case_labels m) c s (sub1 n) x)
				   (base_type (type (result~ k)))
				   s)
			 s)))
	(if (normal_state s1)
	    (if (Gtruep (result~ s1))
		(GP (subtree m 'opt_internal_statements) c s (sub1 n) x)
	      (GP_case_body k (subtree m 'case_composition_body)
			    c s (sub1 n) x))
	  s1))

    (mark_state_indeterminate s))))))

  ( (lessp (count n)) ))



; ****************************************************************
;
;                     HANDLING CONDITIONS
;
;  <opt_condition_handlers> ::= <empty> | WHEN <opt handler list>
;  <opt_handler_list> ::= empty | <handler_list>
;  <handler_list> ::= <handler> { <handler> }
;
; ****************************************************************

(defn GP_cond (m c s n x)
  (if (or (indeterminate s) (condition_normal s))
      s
  (if (or (zerop n)
	  (not (condition_labels_ok (handler_labels m) s)))
      (mark_state_indeterminate s)
    (let ((h (handler m (cond~ s))))
      (if (equal h nil)
	  s
	(GP h c (set_condition s 'normal) (sub1 n) x)))))
  ( (lessp (count n)) ))



;; **** The strange commented characters in the following function allow GNU
;;      Emacs to count parentheses correctly.


(defn GP (m c s n x)
  ; The meta-function GP (m,c,s,n,x) gives the state that results 
  ; when the program fragment m is interpreted for at most n steps, in the
  ; context of scope c, initial state s, and Gypsy sentence x.
  ;
  ; The domain and range of GP (m,c,s,n,x) are as follows:
  ;
  ; m is the parse tree which describes a computer program mechanism.
  ; c is the (litatom) name of the Gypsy scope in which m appears.
  ; s is the marked, initial state on which the mechanism m begins to operate.
  ; n is the maximum number of steps  the  mechanism  is  allowed  to perform.
  ; x is  the  parse  tree  of the program description sentence which
  ;   defines the library which  contains  the  declarations  of  the
  ;   Gypsy units which are referred to by m.
  ; GP(m,c,s,n,x) is  the  marked,  final  state which results from operating
  ;               the mechanism on the initial state s for at most n steps.
  ;               If the mechanism  has  not  completed all of its operation
  ;               in n steps, then the final state is marked as indeterminate.

  (if (not (normal_state s))
      s

  (if (zerop (fix n))
      (mark_state_indeterminate s)


  ; ***************************************************
  ;
  ;                  STATEMENT LISTS
  ; 
  ;  <statement list> ::= <statement> {; <statement> }
  ;
  ; ***************************************************

  (if (rule m (prodn (tag 'statement_list 'ss)
		     (tag 'statement 's)))
      (GP (subtree m 'statement) c s (sub1 n) x)

  (if (rule m (prodn (tag 'statement_list 'ss)
		     (list (tag 'statement_list 'ss2) 'SEMI_COLON
			   (tag 'statement 's))))
      (GP (subtree m 'statement) 
	  c 
	  (GP (subtree m 'statement_list) c s (sub1 n) x)
	  (sub1 n)
	  x)

  ; *************************************************************************
  ;
  ;  <statement> ::=   <procedural statement> | <procedure composition rule> 
  ;                  | <assert specification>
  ;
  ; *************************************************************************

  (if (rule m (prodn (tag 'statement 's)
		     (tag 'procedural_statement 's2)))
      (GP (subtree m 'procedural_statement) c s (sub1 n) x)

  (if (rule m (prodn (tag 'statement 's)
		     (tag 'procedure_composition_rule 's2)))
      (GP (subtree m 'procedure_composition_rule) c s (sub1 n) x)

  (if (rule m (prodn (tag 'statement 's)
		     (tag 'assert_specification 's2)))
      (GP (subtree m 'assert_specification) c s (sub1 n) x)
 

  ; ************************************************************
  ; 
  ;                  PROCEDURAL STATEMENT
  ;
  ;  <procedural statement> ::=   <assignment statement> 
  ;                             | <leave statement>
  ;                             | <move statement> 
  ;                             | <new statement>
  ;                             | <procedure statement>
  ;                             | <remove statement>
  ;                             | <signal statement>
  ;
  ; ************************************************************

  (if (rule m (prodn (tag 'procedural_statement 's)
		     (tag 'assignment_statement 's2)))
      (GP (subtree m 'assignment_statement) c s (sub1 n) x)

  (if (rule m (prodn (tag 'procedural_statement 's)
		     (tag 'leave_statement 's2)))
      (GP (subtree m 'leave_statement) c s (sub1 n) x)

  (if (rule m (prodn (tag 'procedural_statement 's)
		     (tag 'move_statement 's2)))
      (GP (subtree m 'move_statement) c s (sub1 n) x)

  (if (rule m (prodn (tag 'procedural_statement 's)
		     (tag 'new_statement 's2)))
      (GP (subtree m 'new_statement) c s (sub1 n) x)

  (if (rule m (prodn (tag 'procedural_statement 's)
		     (tag 'procedure_statement 's2)))
      (GP (subtree m 'procedure_statement) c s (sub1 n) x)

  (if (rule m (prodn (tag 'procedural_statement 's)
		     (tag 'remove_statement 's2)))
      (GP (subtree m 'remove_statement) c s (sub1 n) x)

  (if (rule m (prodn (tag 'procedural_statement 's)
		     (tag 'signal_statement 's2)))
      (GP (subtree m 'signal_statement) c s (sub1 n) x)


  ; **********************
  ;
  ;  ASSIGNMENT STATEMENT
  ;
  ; **********************

  (if (rule m (prodn (tag 'assignment_statement 's)
		     (list (tag 'name_expression 'n) 'COLON_EQUAL 
			   (tag 'expression 'e))))
      (GP_assign (GP_parg (subtree m 'name_expression) c s (sub1 n) x)
		 (GPF (subtree m 'expression) c s (sub1 n) x)
		 s c n x)


  ; *****************
  ;
  ;  LEAVE STATEMENT
  ;
  ; *****************

  (if (rule m (prodn (tag 'leave_statement 's)
		     'LEAVE))
      (set_condition s 'leave)


  ; *************************************************************************
  ;
  ;                             MOVE STATEMENT
  ;
  ;  <move_statement> ::= MOVE <removable component> <component destination>
  ;  <component destination> ::=   <new dynamic variable component>
  ;                              | TO <sequence element name expression>
  ;
  ; *************************************************************************
                                                                       ; |<< 
  (if (rule m (prodn (tag 'move_statement 's)
		     (list 'MOVE (tag 'removable_component 'c)
			   (tag 'component_destination 'd))))
      (let ((e (remove_exp_arg m)))
	(GP_move (if (equal e nil) nil (GPF e c s (sub1 n) x))
		 (GP_parg (remove_name_arg m) c s (sub1 n) x)
		 (subtree m 'component_destination)
		 (GP_parg (new_name_arg m) c s (sub1 n) x)
		 c s n x))


  ; ***********************************************************************
  ;
  ;                           NEW STATEMENT
  ;
  ;  <new_statement> ::= NEW <expression> <new dynamic variable component>
  ;
  ; ***********************************************************************

  (if (rule m (prodn (tag 'new_statement 's)
		     (list 'NEW (tag 'expression 'e)
			   (tag 'new_dynamic_variable_component 'dc))))
      (GP_new (subtree m 'new_dynamic_variable_component)
	      (GPF (subtree m 'expression) c s (sub1 n) x)
	      (GP_parg (new_name_arg m) c s (sub1 n) x)
	      c s n x)


  ; ****************
  ;
  ;  PROCECURE CALL
  ;
  ; ****************

  (if (rule m (prodn (tag 'procedure_statement 's)
		     (list (tag 'IDENTIFIER 'pn)
			   (tag 'arg_list 'dp)
			   (tag 'opt_actual_condition_parameters 'cp))))
      (GP_procedure_call (gname (subtree m 'identifier))
			 (GP_parg_list (actual_dargs m) c s (sub1 n) x)
			 (actual_cargs m)
			 c s (sub1 n) x)


  ; **********************************************************
  ;
  ;                     REMOVE STATEMENT
  ;
  ;  <remove_statement> ::= REMOVE <removable component>
  ;  <removable component> ::=
  ;           ELEMENT <expression> FROM SET <name expression>
  ;         | <name expression>
  ;
  ; **********************************************************
                                                                    ; |
  (if (rule m (prodn (tag 'remove_statement 's)
		     (list 'REMOVE (tag 'removable_component 'c))))
      (let ((e (remove_exp_arg m)))
	(GP_remove (if (equal e nil) nil (GPF e c s (sub1 n) x))
		   (GP_parg (remove_name_arg m) c s (sub1 n) x)
		   c s n x))


  ; ******************
  ;
  ;  SIGNAL STATEMENT
  ;
  ; ******************

  (if (rule m (prodn (tag 'signal_statement 's)
		     (list 'SIGNAL (tag 'IDENTIFIER 'c))))
      (if (conditionp (gname (subtree m 'IDENTIFIER)) s)
	  (set_condition s (gname (subtree m 'IDENTIFIER)))
	(mark_state_indeterminate s))


  ; ***********************************************************************
  ;
  ;                       PROCEDURE COMPOSITION
  ;
  ;  <procedure composition> ::   <if_composition> | <case_composition> 
  ;                             | <loop_composition> | <begin_composition>
  ;
  ; ***********************************************************************
                                                                       ; |
  (if (rule m (prodn (tag 'procedure_composition_rule 's)
		     (tag 'if_composition 's2)))
      (GP (subtree m 'if_composition) c s (sub1 n) x)

  (if (rule m (prodn (tag 'procedure_composition_rule 's)
		     (tag 'case_composition 's2)))
      (GP (subtree m 'case_composition) c s (sub1 n) x)

  (if (rule m (prodn (tag 'procedure_composition_rule 's)
		     (tag 'loop_composition 's2)))
      (GP (subtree m 'loop_composition) c s (sub1 n) x)

  (if (rule m (prodn (tag 'procedure_composition_rule 's)
		     (tag 'begin_composition 's2)))
      (GP (subtree m 'begin_composition) c s (sub1 n) x)


  ; *******************************************************************
  ;
  ;                         IF COMPOSITION
  ;
  ;  <if composition> ::=
  ;         IF <boolean expression> THEN <opt internal statements>
  ;           <if composition else part>
  ;           <opt condition handlers>
  ;         END
  ;
  ;  <if composition else part> ::=
  ;           <empty>
  ;         | ELSE <opt internal statements>
  ;         | ELIF <boolean expression> THEN <opt internal statements>
  ;                <if composition else part>
  ;
  ; *******************************************************************

  (if (rule m (prodn (tag 'if_composition 's)
                     (list 'IF (tag 'expression 'b) 'THEN
			   (tag 'opt_internal_statements 'ss)
			   (tag 'if_composition_else_part 'ep)
			   (tag 'opt_condition_handlers 'cs) 'END)))
      (let ((bv (GPF_type_check (boolean_desc)
				(GPF (subtree m 'expression)
				     c s (sub1 n) x)))
	    (ep (if_statement_else_part m)))
	(GP_cond (subtree m 'opt_condition_handlers) c
		 (if (normal_state bv)
		     (if (Gtruep (result~ bv))
			 (GP (subtree m 'opt_internal_statements)
			     c s (sub1 n) x)
		       (if (equal ep nil)
			   s
			 (GP ep c s (sub1 n) x)))
		   bv)
		 (sub1 n) x))


  ; **************************************************************************
  ;
  ;                           CASE COMPOSITION
  ;
  ;  <case composition> ::= CASE <label expression>
  ;                          { IS <case labels> : [ <internal statements> ] }
  ;                          [ ELSE             : [ <internal statements> ] ]
  ;                          [ <condition handlers> ]
  ;                         END
  ;
  ; **************************************************************************

  (if (rule m (prodn (tag 'case_composition 's)
		     (list 'CASE (tag 'expression 'e)
			   (tag 'case_composition_body 'b)
			   (tag 'opt_condition_handlers 'c) 'END)))
      (let ((k (GPF (subtree m 'expression) c s (sub1 n) x)))
      (let ((r (GP_case_label_check k
				    (GPF_list (case_labels m) c s (sub1 n) x)
				    s)))
	(GP_cond (subtree m 'opt_condition_handlers) c 
		 (if (normal_state r)
		     (GP_case_body k (subtree m 'case_composition_body)
				   c s (sub1 n) x)
		   r)
		 (sub1 n) x)))


  ; *******************************************************
  ;
  ;                   LOOP COMPOSITION
  ;
  ;  <loop composition> ::= LOOP [ <internal statements> ]
  ;                              [ <condition handlers> ]
  ;                         END
  ;
  ; *******************************************************

  (if (rule m (prodn (tag 'loop_composition 's)
		     (list 'LOOP (tag 'opt_internal_statements 'ss)
			   (tag 'opt_condition_handlers 'c) 'END)))
      (let ((p1 (GP (subtree m 'opt_internal_statements) c s (sub1 n) x)))
	(GP_cond (subtree m 'opt_condition_handlers) c
		 (if (condition_non_normal p1)
		     (reset_leave_to_normal p1)
		   (GP m c p1 (sub1 n) x))
		 (sub1 n) x))


  ; *********************************************************
  ;
  ;                     BEGIN COMPOSITION
  ;
  ;  <begin composition> ::= BEGIN [ <internal statements> ]
  ;                                [ <condition handlers> ]
  ;                          END
  ;
  ; *********************************************************

  (if (rule m (prodn (tag 'begin_composition 's)
		     (list 'BEGIN (tag 'opt_internal_statements 'ss)
			   (tag 'opt_condition_handlers 'c) 'END)))
      (GP_cond (subtree m 'opt_condition_handlers) c
	       (GP (subtree m 'opt_internal_statements) c s (sub1 n) x)
	       (sub1 n) x)


  ; **************************************************************
  ;
  ;                      INTERNAL STATEMENTS
  ;
  ;  <opt_internal_statements> ::= <empty> | <statement list> [;]
  ;                                        | PENDING [;]
  ;
  ; **************************************************************

  (if (rule m (prodn (tag 'opt_internal_statements 'ss)
		     'empty))
      s

  (if (rule m (prodn (tag 'opt_internal_statements 'ss)
		     (list (tag 'statement_list 'ss2) 'opt_semi_colon)))
      (GP (subtree m 'statement_list) c s (sub1 n) x)

  (if (rule m (prodn (tag 'opt_internal_statements 'ss)
		     (list 'PENDING 'opt_semi_colon)))
      (mark_state_indeterminate s)


  ; **********************
  ;
  ;  ASSERT SPECIFICATION
  ;
  ; **********************

  ; Whenever an assertion is encountered in executable code, it is evaluated 
  ; and the result AND'd to the assertion-accumulator component of the map.

  (if (rule m (prodn (tag 'assert_specification 's)
		     (list 'ASSERT (tag 'specification_expression 'e))))
      (GP (subtree m 'specification_expression) c s (sub1 n) x)

  (if (rule m (prodn (tag 'specification_expression 'e)
		     (tag 'non_validated_specification_expression 'e2)))
      (GP_update_assert (expression_from_spec m) c s n x)

  (if (or (rule m (prodn (tag 'specification_expression 'e)
			 (tag 'validated_specification_expression 'e2)))
	  (rule m (prodn (tag 'specification_expression 'e)
			 (list 'OPEN_PAREN
			       (tag 'validated_specification_expression 'e2)
			       'CLOSE_PAREN))))
      (GP (subtree m 'validated_specification_expression) 
	  c s (sub1 n) x)

  (if (rule m (prodn (tag 'validated_specification_expression 'e)
		     (list (tag 'non_validated_specification_expression 'e2)
			   'OTHERWISE (tag 'IDENTIFIER 'i))))
      (let ((r (GPF_type_check (boolean_desc)
			       (GPF (expression_from_spec m)
				    c s (sub1 n) x))))
	(if (normal_state r)
	    (if (Gtruep (result~ r))
		(GP_record_assert (result~ r) s)
	      (GP (mk_signal_stmt (subtree m 'IDENTIFIER))
		  c (GP_record_assert (result~ r) s) (sub1 n) x))
	  r))

    (mark_state_indeterminate s)))))))))))))))))))))))))))))))))))))

  ( (lessp (count n)) ))

))
|#

\end{verbatim}\begin{tabbing}{\sc Definition}:\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\  
\=\+{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\it{mutual-flg\/}}, \\ 
{\it{acp\/}}, \\ 
{\it{adp\/}}, \\ 
{\it{as\/}}, \\ 
{\it{c\/}}, \\ 
{\it{e\/}}, \\ 
{\it{es\/}}, \\ 
{\it{fn\/}}, \\ 
{\it{id\/}}, \\ 
{\it{k\/}}, \\ 
{\it{m\/}}, \\ 
{\it{n\/}}, \\ 
{\it{pn\/}}, \\ 
{\it{s\/}}, \\ 
{\it{sadp\/}}, \\ 
{\it{sbv\/}}, \\ 
{\it{sn\/}}, \\ 
{\it{vs\/}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
$=$$\;\;\;\;$\=\+{\bf case on }{\it{mutual-flg\/}}: \\ 
{\bf case = }{\it{gp\/}} \\ 
{\bf then }\=\+{\bf if }$\neg$ {\rm{normal\_state}}\,({\it{s\/}})\index{normal\_state}$\;\;${\bf then }{\it{s\/}} \\ 
{\bf elseif }{\rm{fix}}\,({\it{n\/}}) $\simeq {\tt{0}}$$\;\;${\bf then }{\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{statement\_list}}, {\tt{'}}{\tt{ss}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{statement}}, {\tt{'}}{\tt{s}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{statement}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{statement\_list}}, {\tt{'}}{\tt{ss}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{statement\_list}}, {\tt{'}}{\tt{ss2}})\index{tag}, \\ 
{\tt{'}}{\tt{semi\_colon}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{statement}}, {\tt{'}}{\tt{s}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{statement}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{statement\_list}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{statement}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{procedural\_statement}}, {\tt{'}}{\tt{s2}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{procedural\_statement}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{statement}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{procedure\_composition\_rule}}, {\tt{'}}{\tt{s2}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{procedure\_composition\_rule}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{statement}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{assert\_specification}}, {\tt{'}}{\tt{s2}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{assert\_specification}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{procedural\_statement}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{assignment\_statement}}, {\tt{'}}{\tt{s2}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{assignment\_statement}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{procedural\_statement}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{leave\_statement}}, {\tt{'}}{\tt{s2}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{leave\_statement}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{procedural\_statement}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{move\_statement}}, {\tt{'}}{\tt{s2}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{move\_statement}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{procedural\_statement}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{new\_statement}}, {\tt{'}}{\tt{s2}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{new\_statement}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{procedural\_statement}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{procedure\_statement}}, {\tt{'}}{\tt{s2}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{procedure\_statement}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{procedural\_statement}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{remove\_statement}}, {\tt{'}}{\tt{s2}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{remove\_statement}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{procedural\_statement}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{signal\_statement}}, {\tt{'}}{\tt{s2}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{signal\_statement}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{assignment\_statement}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{name\_expression}}, {\tt{'}}{\tt{n}})\index{tag}, \\ 
{\tt{'}}{\tt{colon\_equal}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{gp\_assign}}\,(\=\+{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_parg}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{name\_expression}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{expression}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\it{s\/}}, \\ 
{\it{c\/}}, \\ 
{\it{n\/}}, \\ 
{\it{x\/}})\-\index{gp\_assign} \\ 
{\bf elseif }{\rm{rule}}\,({\it{m\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{leave\_statement}}, {\tt{'}}{\tt{s}})\index{tag}, {\tt{'}}{\tt{leave}})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{leave}})\index{set\_condition} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{move\_statement}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{move}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{removable\_component}}, {\tt{'}}{\tt{c}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{component\_destination}}, {\tt{'}}{\tt{d}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{gp\_move}}\,(\=\+\=\+{\bf if }{\rm{remove\_exp\_arg}}\,({\it{m\/}})\index{remove\_exp\_arg} $=$ {\bf{nil}}$\;\;${\bf then }{\bf{nil}} \\ 
{\bf else }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{remove\_exp\_arg}}\,({\it{m\/}})\index{remove\_exp\_arg}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}$\;${\bf  endif}\-, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_parg}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{remove\_name\_arg}}\,({\it{m\/}})\index{remove\_name\_arg}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{component\_destination}})\index{subtree}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_parg}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{new\_name\_arg}}\,({\it{m\/}})\index{new\_name\_arg}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\it{c\/}}, \\ 
{\it{s\/}}, \\ 
{\it{n\/}}, \\ 
{\it{x\/}})\-\index{gp\_move} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{new\_statement}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{new}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{new\_dynamic\_variable\_component}}, \\ 
{\tt{'}}{\tt{dc}})\-\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{gp\_new}}\,(\=\+{\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{new\_dynamic\_variable\_component}})\index{subtree}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{expression}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_parg}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{new\_name\_arg}}\,({\it{m\/}})\index{new\_name\_arg}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\it{c\/}}, \\ 
{\it{s\/}}, \\ 
{\it{n\/}}, \\ 
{\it{x\/}})\-\index{gp\_new} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{procedure\_statement}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{identifier}}, {\tt{'}}{\tt{pn}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{arg\_list}}, {\tt{'}}{\tt{dp}})\index{tag}, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{opt\_actual\_condition\_parameters}}, \\ 
{\tt{'}}{\tt{cp}})\-\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_procedure\_call}}, \\ 
{\rm{actual\_cargs}}\,({\it{m\/}})\index{actual\_cargs}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\rm{gname}}\,({\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{identifier}})\-\index{subtree})\index{gname}, \\ 
{\it{s\/}}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_parg\_list}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{actual\_dargs}}\,({\it{m\/}})\index{actual\_dargs}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{remove\_statement}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{remove}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{removable\_component}}, {\tt{'}}{\tt{c}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{gp\_remove}}\,(\=\+\=\+{\bf if }{\rm{remove\_exp\_arg}}\,({\it{m\/}})\index{remove\_exp\_arg} $=$ {\bf{nil}}$\;\;${\bf then }{\bf{nil}} \\ 
{\bf else }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{remove\_exp\_arg}}\,({\it{m\/}})\index{remove\_exp\_arg}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}$\;${\bf  endif}\-, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_parg}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{remove\_name\_arg}}\,({\it{m\/}})\index{remove\_name\_arg}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\it{c\/}}, \\ 
{\it{s\/}}, \\ 
{\it{n\/}}, \\ 
{\it{x\/}})\-\index{gp\_remove} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{signal\_statement}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{list}}\,({\tt{'}}{\tt{signal}}, {\rm{tag}}\,({\tt{'}}{\tt{identifier}}, {\tt{'}}{\tt{c}})\index{tag}))\-\index{prodn})\-\index{rule} \\ 
{\bf then }\=\+{\bf if }{\rm{conditionp}}\,({\rm{gname}}\,({\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{identifier}})\index{subtree})\index{gname}, {\it{s\/}})\index{conditionp} \\ 
{\bf then }{\rm{set\_condition}}\,({\it{s\/}}, {\rm{gname}}\,({\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{identifier}})\index{subtree})\index{gname})\index{set\_condition} \\ 
{\bf else }{\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate}$\;${\bf  endif}\- \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{procedure\_composition\_rule}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{if\_composition}}, {\tt{'}}{\tt{s2}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{if\_composition}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{procedure\_composition\_rule}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{case\_composition}}, {\tt{'}}{\tt{s2}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{case\_composition}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{procedure\_composition\_rule}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{loop\_composition}}, {\tt{'}}{\tt{s2}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{loop\_composition}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{procedure\_composition\_rule}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{begin\_composition}}, {\tt{'}}{\tt{s2}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{begin\_composition}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{if\_composition}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{if}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{b}})\index{tag}, \\ 
{\tt{'}}{\tt{then}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_internal\_statements}}, {\tt{'}}{\tt{ss}})\index{tag}, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{if\_composition\_else\_part}}, \\ 
{\tt{'}}{\tt{ep}})\-\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_condition\_handlers}}, {\tt{'}}{\tt{cs}})\index{tag}, \\ 
{\tt{'}}{\tt{end}})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_cond}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{opt\_condition\_handlers}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\rm{gpf\_type\_check}}\,(\=\+{\sc{boolean\_desc}}\index{boolean\_desc}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{expression}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\-\index{gpf\_type\_check})\index{normal\_state} \\ 
{\bf then }\=\+{\bf if }{\rm{gtruep}}\,({\rm{result\~}}\,({\rm{gpf\_type\_check}}\,(\=\+{\sc{boolean\_desc}}\index{boolean\_desc}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{expression}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\-\index{gpf\_type\_check})\index{result\~})\index{gtruep} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{opt\_internal\_statements}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }\=\+{\rm{if\_statement\_else\_part}}\,({\it{m\/}})\index{if\_statement\_else\_part} \\ 
$=$$\;\;\;\;${\bf{nil}}\- \\ 
{\bf then }{\it{s\/}} \\ 
{\bf else }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{if\_statement\_else\_part}}\,({\it{m\/}})\index{if\_statement\_else\_part}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}$\;${\bf  endif}\- \\ 
{\bf else }{\rm{gpf\_type\_check}}\,(\=\+{\sc{boolean\_desc}}\index{boolean\_desc}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{expression}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\-\index{gpf\_type\_check}$\;${\bf  endif}\-, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{case\_composition}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{case}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{case\_composition\_body}}, {\tt{'}}{\tt{b}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_condition\_handlers}}, {\tt{'}}{\tt{c}})\index{tag}, \\ 
{\tt{'}}{\tt{end}})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_cond}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{opt\_condition\_handlers}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
\=\+{\bf if }{\rm{normal\_state}}\,({\rm{gp\_case\_label\_check}}\,(\=\+{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{expression}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_list}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\rm{case\_labels}}\,({\it{m\/}})\index{case\_labels}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\it{s\/}})\-\index{gp\_case\_label\_check})\index{normal\_state} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_case\_body}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{expression}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{case\_composition\_body}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf else }{\rm{gp\_case\_label\_check}}\,(\=\+{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{expression}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_list}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\rm{case\_labels}}\,({\it{m\/}})\index{case\_labels}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\it{s\/}})\-\index{gp\_case\_label\_check}$\;${\bf  endif}\-, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{loop\_composition}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{loop}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_internal\_statements}}, {\tt{'}}{\tt{ss}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_condition\_handlers}}, {\tt{'}}{\tt{c}})\index{tag}, \\ 
{\tt{'}}{\tt{end}})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_cond}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{opt\_condition\_handlers}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
\=\+{\bf if }{\rm{condition\_non\_normal}}\,({\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{opt\_internal\_statements}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\index{condition\_non\_normal} \\ 
{\bf then }{\rm{reset\_leave\_to\_normal}}\,({\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{opt\_internal\_statements}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\index{reset\_leave\_to\_normal} \\ 
{\bf else }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{m\/}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{opt\_internal\_statements}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}$\;${\bf  endif}\-, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{begin\_composition}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{begin}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_internal\_statements}}, {\tt{'}}{\tt{ss}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_condition\_handlers}}, {\tt{'}}{\tt{c}})\index{tag}, \\ 
{\tt{'}}{\tt{end}})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_cond}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{opt\_condition\_handlers}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{opt\_internal\_statements}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{opt\_internal\_statements}}, {\tt{'}}{\tt{ss}})\index{tag}, \\ 
{\tt{'}}{\tt{empty}})\-\index{prodn})\-\index{rule}$\;\;${\bf then }{\it{s\/}} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{opt\_internal\_statements}}, {\tt{'}}{\tt{ss}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{statement\_list}}, {\tt{'}}{\tt{ss2}})\index{tag}, \\ 
{\tt{'}}{\tt{opt\_semi\_colon}})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{statement\_list}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{opt\_internal\_statements}}, {\tt{'}}{\tt{ss}})\index{tag}, \\ 
{\tt{'}}{\tt{(}}{\tt{pending}}{\tt{ }}{\tt{opt\_semi\_colon}}{\tt{)}})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{assert\_specification}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{assert}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{specification\_expression}}, {\tt{'}}{\tt{e}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{specification\_expression}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{specification\_expression}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{non\_validated\_specification\_expression}}, \\ 
{\tt{'}}{\tt{e2}})\-\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{gp\_update\_assert}}\,({\rm{expression\_from\_spec}}\,({\it{m\/}})\index{expression\_from\_spec}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{gp\_update\_assert} \\ 
{\bf elseif }\=\+{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{specification\_expression}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{validated\_specification\_expression}}, \\ 
{\tt{'}}{\tt{e2}})\-\index{tag})\-\index{prodn})\-\index{rule} \\ 
$\vee$$\;\;\;\;${\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{specification\_expression}}, \\ 
{\tt{'}}{\tt{e}})\-\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{open\_paren}}, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{validated\_specification\_expression}}, \\ 
{\tt{'}}{\tt{e2}})\-\index{tag}, \\ 
{\tt{'}}{\tt{close\_paren}})\-)\-\index{prodn})\-\index{rule}\- \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{validated\_specification\_expression}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{validated\_specification\_expression}}, \\ 
{\tt{'}}{\tt{e}})\-\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{non\_validated\_specification\_expression}}, \\ 
{\tt{'}}{\tt{e2}})\-\index{tag}, \\ 
{\tt{'}}{\tt{otherwise}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{identifier}}, {\tt{'}}{\tt{i}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }\=\+{\bf if }{\rm{normal\_state}}\,({\rm{gpf\_type\_check}}\,(\=\+{\sc{boolean\_desc}}\index{boolean\_desc}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{expression\_from\_spec}}\,({\it{m\/}})\index{expression\_from\_spec}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\-\index{gpf\_type\_check})\index{normal\_state} \\ 
{\bf then }\=\+{\bf if }{\rm{gtruep}}\,({\rm{result\~}}\,({\rm{gpf\_type\_check}}\,(\=\+{\sc{boolean\_desc}}\index{boolean\_desc}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{expression\_from\_spec}}\,({\it{m\/}})\index{expression\_from\_spec}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\-\index{gpf\_type\_check})\index{result\~})\index{gtruep} \\ 
{\bf then }{\rm{gp\_record\_assert}}\,(\=\+{\rm{result\~}}\,({\rm{gpf\_type\_check}}\,(\=\+{\sc{boolean\_desc}}\index{boolean\_desc}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{expression\_from\_spec}}\,({\it{m\/}})\index{expression\_from\_spec}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\-\index{gpf\_type\_check})\index{result\~}, \\ 
{\it{s\/}})\-\index{gp\_record\_assert} \\ 
{\bf else }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{mk\_signal\_stmt}}\,({\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{identifier}})\-\index{subtree})\index{mk\_signal\_stmt}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\rm{gp\_record\_assert}}\,(\=\+{\rm{result\~}}\,({\rm{gpf\_type\_check}}\,(\=\+{\sc{boolean\_desc}}\index{boolean\_desc}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{expression\_from\_spec}}\,({\it{m\/}})\index{expression\_from\_spec}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\-\index{gpf\_type\_check})\index{result\~}, \\ 
{\it{s\/}})\-\index{gp\_record\_assert}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}$\;${\bf  endif}\- \\ 
{\bf else }{\rm{gpf\_type\_check}}\,(\=\+{\sc{boolean\_desc}}\index{boolean\_desc}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{expression\_from\_spec}}\,({\it{m\/}})\index{expression\_from\_spec}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\-\index{gpf\_type\_check}$\;${\bf  endif}\- \\ 
{\bf else }{\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate}$\;${\bf  endif}\- \\ 
{\bf case = }{\it{gp\_cond\/}} \\ 
{\bf $\;\;$then }\=\+{\bf if }{\rm{indeterminate}}\,({\it{s\/}})\index{indeterminate} $\vee$ {\rm{condition\_normal}}\,({\it{s\/}})\index{condition\_normal}$\;\;${\bf then }{\it{s\/}} \\ 
{\bf elseif }\=\+({\it{n\/}} $\simeq {\tt{0}}$) \\ 
$\vee$$\;\;\;\;$($\neg$ {\rm{condition\_labels\_ok}}\,({\rm{handler\_labels}}\,({\it{m\/}})\index{handler\_labels}, {\it{s\/}})\index{condition\_labels\_ok})\- \\ 
{\bf then }{\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate} \\ 
{\bf elseif }{\rm{handler}}\,({\it{m\/}}, {\rm{cond\~}}\,({\it{s\/}})\index{cond\~})\index{handler} $=$ {\bf{nil}}$\;\;${\bf then }{\it{s\/}} \\ 
{\bf else }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{handler}}\,(\=\+{\it{m\/}}, \\ 
{\rm{cond\~}}\,({\it{s\/}})\index{cond\~})\-\index{handler}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\rm{set\_condition}}\,(\=\+{\it{s\/}}, \\ 
{\tt{'}}{\tt{normal}})\-\index{set\_condition}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}$\;${\bf  endif}\- \\ 
{\bf case = }{\it{gp\_case\_body\/}} \\ 
{\bf $\;\;$then }\=\+{\bf if }$\neg$ {\rm{normal\_state}}\,({\it{s\/}})\index{normal\_state}$\;\;${\bf then }{\it{s\/}} \\ 
{\bf elseif }{\rm{fix}}\,({\it{n\/}}) $\simeq {\tt{0}}$$\;\;${\bf then }{\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{case\_composition\_body}}, {\tt{'}}{\tt{b}})\index{tag}, \\ 
{\tt{'}}{\tt{empty}})\-\index{prodn})\-\index{rule}$\;\;${\bf then }{\it{s\/}} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{case\_composition\_body}}, {\tt{'}}{\tt{b}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{else}}, \\ 
{\tt{'}}{\tt{colon}}, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{opt\_internal\_statements}}, \\ 
{\tt{'}}{\tt{ss}})\-\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{opt\_internal\_statements}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{case\_composition\_body}}, {\tt{'}}{\tt{b}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{is}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{case\_labels}}, {\tt{'}}{\tt{cs}})\index{tag}, \\ 
{\tt{'}}{\tt{colon}}, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{opt\_internal\_statements}}, \\ 
{\tt{'}}{\tt{ss}})\-\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{case\_composition\_body}}, {\tt{'}}{\tt{b2}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }\=\+{\bf if }{\rm{normal\_state}}\,({\rm{gpf\_gin}}\,(\=\+{\it{k\/}}, \\ 
{\rm{gpf\_gset}}\,(\=\+{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_list}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\rm{case\_labels}}\,({\it{m\/}})\index{case\_labels}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\rm{base\_type}}\,({\rm{type}}\,({\rm{result\~}}\,({\it{k\/}})\index{result\~})\index{type})\index{base\_type}, \\ 
{\it{s\/}})\-\index{gpf\_gset}, \\ 
{\it{s\/}})\-\index{gpf\_gin})\index{normal\_state} \\ 
{\bf then }\=\+{\bf if }{\rm{gtruep}}\,({\rm{result\~}}\,({\rm{gpf\_gin}}\,(\=\+{\it{k\/}}, \\ 
{\rm{gpf\_gset}}\,(\=\+{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_list}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\rm{case\_labels}}\,({\it{m\/}})\index{case\_labels}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\rm{base\_type}}\,({\rm{type}}\,({\rm{result\~}}\,({\it{k\/}})\index{result\~})\index{type})\index{base\_type}, \\ 
{\it{s\/}})\-\index{gpf\_gset}, \\ 
{\it{s\/}})\-\index{gpf\_gin})\index{result\~})\index{gtruep} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{opt\_internal\_statements}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf else }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_case\_body}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{k\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{case\_composition\_body}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}$\;${\bf  endif}\- \\ 
{\bf else }{\rm{gpf\_gin}}\,(\=\+{\it{k\/}}, \\ 
{\rm{gpf\_gset}}\,(\=\+{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_list}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\rm{case\_labels}}\,({\it{m\/}})\index{case\_labels}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\rm{base\_type}}\,({\rm{type}}\,({\rm{result\~}}\,({\it{k\/}})\index{result\~})\index{type})\index{base\_type}, \\ 
{\it{s\/}})\-\index{gpf\_gset}, \\ 
{\it{s\/}})\-\index{gpf\_gin}$\;${\bf  endif}\- \\ 
{\bf else }{\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate}$\;${\bf  endif}\- \\ 
{\bf case = }{\it{gp\_locals\/}} \\ 
{\bf $\;\;$then }\=\+{\bf if }$\neg$ {\rm{normal\_state}}\,({\it{s\/}})\index{normal\_state}$\;\;${\bf then }{\it{s\/}} \\ 
{\bf elseif }{\it{n\/}} $\simeq {\tt{0}}$$\;\;${\bf then }{\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{opt\_internal\_environment}}, {\tt{'}}{\tt{iv}})\index{tag}, \\ 
{\tt{'}}{\tt{empty}})\-\index{prodn})\-\index{rule}$\;\;${\bf then }{\it{s\/}} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{opt\_internal\_environment}}, {\tt{'}}{\tt{iv}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{internal\_environment}}, {\tt{'}}{\tt{iv2}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_locals}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{internal\_environment}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{internal\_environment}}, {\tt{'}}{\tt{iv}})\index{tag}, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{internal\_data\_or\_condition\_objects}}, \\ 
{\tt{'}}{\tt{iv2}})\-\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_locals}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{internal\_data\_or\_condition\_objects}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{internal\_environment}}, {\tt{'}}{\tt{iv}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{internal\_environment}}, {\tt{'}}{\tt{iv2}})\index{tag}, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{internal\_data\_or\_condition\_objects}}, \\ 
{\tt{'}}{\tt{iv3}})\-\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_locals}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{internal\_data\_or\_condition\_objects}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_locals}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{internal\_environment}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{internal\_data\_or\_condition\_objects}}, \\ 
{\tt{'}}{\tt{iv}})\-\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{access\_specification}}, {\tt{'}}{\tt{a}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{identifier\_list}}, {\tt{'}}{\tt{is}})\index{tag}, \\ 
{\tt{'}}{\tt{colon}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{type\_specification}}, {\tt{'}}{\tt{ts}})\index{tag}, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{opt\_internal\_initial\_value}}, \\ 
{\tt{'}}{\tt{v}})\-\index{tag}, \\ 
{\tt{'}}{\tt{semi\_colon}})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{gp\_bind\_locals}}\,(\=\+{\rm{access}}\,({\it{m\/}})\index{access}, \\ 
{\rm{id\_list}}\,({\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{identifier\_list}})\index{subtree})\index{id\_list}, \\ 
{\rm{type\_desc}}\,(\=\+{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{type\_specification}})\-\index{subtree}, \\ 
{\it{c\/}}, \\ 
{\bf{nil}}, \\ 
{\it{x\/}})\-\index{type\_desc}, \\ 
\=\+{\bf if }{\rm{internal\_initial\_value\_exp}}\,({\it{m\/}})\index{internal\_initial\_value\_exp} $=$ {\bf{nil}} \\ 
{\bf then }{\rm{internal\_initial\_value\_exp}}\,({\it{m\/}})\index{internal\_initial\_value\_exp} \\ 
{\bf else }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{internal\_initial\_value\_exp}}\,({\it{m\/}})\index{internal\_initial\_value\_exp}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}$\;${\bf  endif}\-, \\ 
{\it{s\/}})\-\index{gp\_bind\_locals} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{internal\_data\_or\_condition\_objects}}, \\ 
{\tt{'}}{\tt{iv}})\-\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{cond}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{identifier\_list}}, {\tt{'}}{\tt{is}})\index{tag}, \\ 
{\tt{'}}{\tt{semi\_colon}})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{gp\_local\_conds}}\,(\=\+{\rm{id\_list}}\,({\rm{subtree}}\,({\it{m\/}}, {\tt{'}}{\tt{identifier\_list}})\index{subtree})\index{id\_list}, \\ 
{\it{s\/}})\-\index{gp\_local\_conds} \\ 
{\bf else }{\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate}$\;${\bf  endif}\- \\ 
{\bf case = }{\it{gp\_procedure\_body\/}} \\ 
{\bf $\;\;$then }\=\+{\bf if }{\rm{fix}}\,({\it{n\/}}) $\simeq {\tt{0}}$$\;\;${\bf then }{\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate} \\ 
{\bf elseif }{\rm{rule}}\,({\it{m\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{procedure\_body}}, {\tt{'}}{\tt{b}})\index{tag}, {\tt{'}}{\tt{pending}})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{m\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{procedure\_body}}, {\tt{'}}{\tt{b}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{begin}}, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{external\_operational\_specification}}, \\ 
{\tt{'}}{\tt{es}})\-\index{tag}, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{opt\_internal\_environment}}, \\ 
{\tt{'}}{\tt{iv}})\-\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{opt\_keep\_specification}}, {\tt{'}}{\tt{k}})\index{tag}, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{opt\_internal\_statements}}, \\ 
{\tt{'}}{\tt{st}})\-\index{tag}, \\ 
{\tt{'}}{\tt{end}})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }\=\+{\bf if }{\rm{indeterminate}}\,({\rm{gp\_deallocate\_locals}}\,({\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{opt\_internal\_statements}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\rm{gp\_set\_keep}}\,(\=\+{\rm{keep\_spec}}\,({\it{m\/}})\index{keep\_spec}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_locals}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{opt\_internal\_environment}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\rm{gp\_set\_entry}}\,(\=\+{\rm{prec}}\,({\it{m\/}})\index{prec}, \\ 
{\it{c\/}}, \\ 
{\it{s\/}}, \\ 
{\it{n\/}}, \\ 
{\it{x\/}})\-\index{gp\_set\_entry}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\it{c\/}}, \\ 
{\it{n\/}}, \\ 
{\it{x\/}})\-\index{gp\_set\_keep}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\index{gp\_deallocate\_locals})\index{indeterminate} \\ 
{\bf then }{\rm{gp\_deallocate\_locals}}\,({\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{opt\_internal\_statements}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\rm{gp\_set\_keep}}\,(\=\+{\rm{keep\_spec}}\,({\it{m\/}})\index{keep\_spec}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_locals}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{opt\_internal\_environment}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\rm{gp\_set\_entry}}\,(\=\+{\rm{prec}}\,({\it{m\/}})\index{prec}, \\ 
{\it{c\/}}, \\ 
{\it{s\/}}, \\ 
{\it{n\/}}, \\ 
{\it{x\/}})\-\index{gp\_set\_entry}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\it{c\/}}, \\ 
{\it{n\/}}, \\ 
{\it{x\/}})\-\index{gp\_set\_keep}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\index{gp\_deallocate\_locals} \\ 
{\bf elseif }\=\+(\=\+{\rm{cond\~}}\,({\rm{gp\_deallocate\_locals}}\,({\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{opt\_internal\_statements}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\rm{gp\_set\_keep}}\,(\=\+{\rm{keep\_spec}}\,({\it{m\/}})\index{keep\_spec}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_locals}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{opt\_internal\_environment}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\rm{gp\_set\_entry}}\,(\=\+{\rm{prec}}\,({\it{m\/}})\index{prec}, \\ 
{\it{c\/}}, \\ 
{\it{s\/}}, \\ 
{\it{n\/}}, \\ 
{\it{x\/}})\-\index{gp\_set\_entry}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\it{c\/}}, \\ 
{\it{n\/}}, \\ 
{\it{x\/}})\-\index{gp\_set\_keep}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\index{gp\_deallocate\_locals})\index{cond\~} \\ 
$=$$\;\;\;\;${\tt{'}}{\tt{normal}})\- \\ 
$\vee$$\;\;\;\;${\rm{conditionp}}\,(\=\+{\rm{cond\~}}\,({\rm{gp\_deallocate\_locals}}\,({\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{opt\_internal\_statements}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\rm{gp\_set\_keep}}\,(\=\+{\rm{keep\_spec}}\,({\it{m\/}})\index{keep\_spec}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_locals}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{opt\_internal\_environment}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\rm{gp\_set\_entry}}\,(\=\+{\rm{prec}}\,({\it{m\/}})\index{prec}, \\ 
{\it{c\/}}, \\ 
{\it{s\/}}, \\ 
{\it{n\/}}, \\ 
{\it{x\/}})\-\index{gp\_set\_entry}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\it{c\/}}, \\ 
{\it{n\/}}, \\ 
{\it{x\/}})\-\index{gp\_set\_keep}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\index{gp\_deallocate\_locals})\index{cond\~}, \\ 
{\rm{gp\_deallocate\_locals}}\,({\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{opt\_internal\_statements}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\rm{gp\_set\_keep}}\,(\=\+{\rm{keep\_spec}}\,({\it{m\/}})\index{keep\_spec}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_locals}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{opt\_internal\_environment}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\rm{gp\_set\_entry}}\,(\=\+{\rm{prec}}\,({\it{m\/}})\index{prec}, \\ 
{\it{c\/}}, \\ 
{\it{s\/}}, \\ 
{\it{n\/}}, \\ 
{\it{x\/}})\-\index{gp\_set\_entry}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\it{c\/}}, \\ 
{\it{n\/}}, \\ 
{\it{x\/}})\-\index{gp\_set\_keep}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\index{gp\_deallocate\_locals})\-\index{conditionp}\- \\ 
{\bf then }{\rm{gp\_set\_exit}}\,(\=\+{\rm{exit\_spec}}\,({\it{m\/}})\index{exit\_spec}, \\ 
{\it{c\/}}, \\ 
{\rm{gp\_deallocate\_locals}}\,({\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{opt\_internal\_statements}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\rm{gp\_set\_keep}}\,(\=\+{\rm{keep\_spec}}\,({\it{m\/}})\index{keep\_spec}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_locals}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{opt\_internal\_environment}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\rm{gp\_set\_entry}}\,(\=\+{\rm{prec}}\,({\it{m\/}})\index{prec}, \\ 
{\it{c\/}}, \\ 
{\it{s\/}}, \\ 
{\it{n\/}}, \\ 
{\it{x\/}})\-\index{gp\_set\_entry}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\it{c\/}}, \\ 
{\it{n\/}}, \\ 
{\it{x\/}})\-\index{gp\_set\_keep}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\index{gp\_deallocate\_locals}, \\ 
{\it{n\/}}, \\ 
{\it{x\/}})\-\index{gp\_set\_exit} \\ 
{\bf elseif }\=\+{\rm{cond\~}}\,({\rm{gp\_deallocate\_locals}}\,({\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{opt\_internal\_statements}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\rm{gp\_set\_keep}}\,(\=\+{\rm{keep\_spec}}\,({\it{m\/}})\index{keep\_spec}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_locals}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{opt\_internal\_environment}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\rm{gp\_set\_entry}}\,(\=\+{\rm{prec}}\,({\it{m\/}})\index{prec}, \\ 
{\it{c\/}}, \\ 
{\it{s\/}}, \\ 
{\it{n\/}}, \\ 
{\it{x\/}})\-\index{gp\_set\_entry}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\it{c\/}}, \\ 
{\it{n\/}}, \\ 
{\it{x\/}})\-\index{gp\_set\_keep}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\index{gp\_deallocate\_locals})\index{cond\~} \\ 
$=$$\;\;\;\;${\tt{'}}{\tt{leave}}\- \\ 
{\bf then }{\rm{set\_condition}}\,(\=\+{\rm{gp\_deallocate\_locals}}\,({\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{opt\_internal\_statements}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\rm{gp\_set\_keep}}\,(\=\+{\rm{keep\_spec}}\,({\it{m\/}})\index{keep\_spec}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_locals}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{opt\_internal\_environment}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\rm{gp\_set\_entry}}\,(\=\+{\rm{prec}}\,({\it{m\/}})\index{prec}, \\ 
{\it{c\/}}, \\ 
{\it{s\/}}, \\ 
{\it{n\/}}, \\ 
{\it{x\/}})\-\index{gp\_set\_entry}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\it{c\/}}, \\ 
{\it{n\/}}, \\ 
{\it{x\/}})\-\index{gp\_set\_keep}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\index{gp\_deallocate\_locals}, \\ 
{\tt{'}}{\tt{routineerror}})\-\index{set\_condition} \\ 
{\bf else }{\rm{mark\_state\_indeterminate}}\,({\rm{gp\_deallocate\_locals}}\,({\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{opt\_internal\_statements}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\rm{gp\_set\_keep}}\,(\=\+{\rm{keep\_spec}}\,({\it{m\/}})\index{keep\_spec}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_locals}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{subtree}}\,(\=\+{\it{m\/}}, \\ 
{\tt{'}}{\tt{opt\_internal\_environment}})\-\index{subtree}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\rm{gp\_set\_entry}}\,(\=\+{\rm{prec}}\,({\it{m\/}})\index{prec}, \\ 
{\it{c\/}}, \\ 
{\it{s\/}}, \\ 
{\it{n\/}}, \\ 
{\it{x\/}})\-\index{gp\_set\_entry}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\it{c\/}}, \\ 
{\it{n\/}}, \\ 
{\it{x\/}})\-\index{gp\_set\_keep}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\index{gp\_deallocate\_locals})\index{mark\_state\_indeterminate}$\;${\bf  endif}\- \\ 
{\bf else }{\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate}$\;${\bf  endif}\- \\ 
{\bf case = }{\it{gp\_procedure\_call\/}} \\ 
{\bf $\;\;$then }\=\+{\bf if }{\rm{fix}}\,({\it{n\/}}) $\simeq {\tt{0}}$$\;\;${\bf then }{\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate} \\ 
{\bf elseif }\=\+({\rm{kind}}\,({\rm{cdr}}\,({\rm{ref}}\,({\it{pn\/}}, {\it{c\/}}, {\it{x\/}})\index{ref}))\index{kind} $=$ {\tt{'}}{\tt{procedure}}) \\ 
$\vee$$\;\;\;\;$({\rm{kind}}\,({\rm{cdr}}\,({\rm{ref}}\,({\it{pn\/}}, {\it{c\/}}, {\it{x\/}})\index{ref}))\index{kind} $=$ {\tt{'}}{\tt{function}})\- \\ 
{\bf then }\=\+{\bf if }{\rm{normal\_state}}\,({\rm{gp\_call\_state}}\,(\=\+{\rm{cdr}}\,({\rm{ref}}\,({\it{pn\/}}, {\it{c\/}}, {\it{x\/}})\index{ref}), \\ 
{\rm{car}}\,({\rm{ref}}\,({\it{pn\/}}, {\it{c\/}}, {\it{x\/}})\index{ref}), \\ 
{\it{sadp\/}}, \\ 
{\it{acp\/}}, \\ 
{\it{s\/}}, \\ 
{\it{x\/}})\-\index{gp\_call\_state})\index{normal\_state} \\ 
{\bf then }{\rm{gp\_map\_call\_effects}}\,(\=\+{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_procedure\_body}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{car}}\,({\rm{ref}}\,(\=\+{\it{pn\/}}, \\ 
{\it{c\/}}, \\ 
{\it{x\/}})\-\index{ref}), \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{procedure\_body}}\,({\rm{cdr}}\,({\rm{ref}}\,(\=\+{\it{pn\/}}, \\ 
{\it{c\/}}, \\ 
{\it{x\/}})\-\index{ref}))\index{procedure\_body}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\rm{gp\_call\_state}}\,(\=\+{\rm{cdr}}\,({\rm{ref}}\,(\=\+{\it{pn\/}}, \\ 
{\it{c\/}}, \\ 
{\it{x\/}})\-\index{ref}), \\ 
{\rm{car}}\,({\rm{ref}}\,(\=\+{\it{pn\/}}, \\ 
{\it{c\/}}, \\ 
{\it{x\/}})\-\index{ref}), \\ 
{\it{sadp\/}}, \\ 
{\it{acp\/}}, \\ 
{\it{s\/}}, \\ 
{\it{x\/}})\-\index{gp\_call\_state}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\rm{cdr}}\,({\rm{ref}}\,({\it{pn\/}}, {\it{c\/}}, {\it{x\/}})\index{ref}), \\ 
{\rm{result\~\_list}}\,({\it{sadp\/}})\index{result\~\_list}, \\ 
{\it{acp\/}}, \\ 
{\it{c\/}}, \\ 
{\it{s\/}}, \\ 
{\it{n\/}}, \\ 
{\it{x\/}})\-\index{gp\_map\_call\_effects} \\ 
{\bf else }{\rm{map\_cond\_effects}}\,(\=\+{\rm{cond\~}}\,({\rm{gp\_call\_state}}\,(\=\+{\rm{cdr}}\,({\rm{ref}}\,(\=\+{\it{pn\/}}, \\ 
{\it{c\/}}, \\ 
{\it{x\/}})\-\index{ref}), \\ 
{\rm{car}}\,({\rm{ref}}\,(\=\+{\it{pn\/}}, \\ 
{\it{c\/}}, \\ 
{\it{x\/}})\-\index{ref}), \\ 
{\it{sadp\/}}, \\ 
{\it{acp\/}}, \\ 
{\it{s\/}}, \\ 
{\it{x\/}})\-\index{gp\_call\_state})\index{cond\~}, \\ 
{\rm{formal\_cargs}}\,({\rm{cdr}}\,({\rm{ref}}\,({\it{pn\/}}, {\it{c\/}}, {\it{x\/}})\index{ref}))\index{formal\_cargs}, \\ 
{\it{acp\/}}, \\ 
{\rm{marked}}\,(\=\+{\rm{mark}}\,({\rm{gp\_call\_state}}\,(\=\+{\rm{cdr}}\,({\rm{ref}}\,(\=\+{\it{pn\/}}, \\ 
{\it{c\/}}, \\ 
{\it{x\/}})\-\index{ref}), \\ 
{\rm{car}}\,({\rm{ref}}\,(\=\+{\it{pn\/}}, \\ 
{\it{c\/}}, \\ 
{\it{x\/}})\-\index{ref}), \\ 
{\it{sadp\/}}, \\ 
{\it{acp\/}}, \\ 
{\it{s\/}}, \\ 
{\it{x\/}})\-\index{gp\_call\_state})\index{mark}, \\ 
{\rm{map}}\,({\it{s\/}})\index{map})\-\index{marked})\-\index{map\_cond\_effects}$\;${\bf  endif}\- \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf case = }{\it{gp\_parg\_list\/}} \\ 
{\bf $\;\;$then }\=\+{\bf if }{\it{as\/}} $\simeq\;${{\bf{nil}}}${}$$\;\;${\bf then }{\bf{nil}} \\ 
{\bf elseif }{\rm{fix}}\,({\it{n\/}}) $\simeq {\tt{0}}$$\;\;${\bf then }{\rm{list}}\,({\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate}) \\ 
{\bf else }{\rm{cons}}\,(\=\+{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_parg}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{car}}\,({\it{as\/}}), \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_parg\_list}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{cdr}}\,({\it{as\/}}), \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\-$\;${\bf  endif}\- \\ 
{\bf case = }{\it{gp\_parg\/}} \\ 
{\bf $\;\;$then }\=\+{\bf if }{\rm{fix}}\,({\it{n\/}}) $\simeq {\tt{0}}$$\;\;${\bf then }{\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\rm{mk\_name\_expression}}\,({\it{e\/}})\index{mk\_name\_expression}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{name\_expression}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{identifier}}, {\tt{'}}{\tt{i}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }\=\+{\bf if }{\rm{normal\_state}}\,({\rm{gpf\_apply\_var}}\,(\=\+{\rm{gname}}\,({\rm{subtree}}\,(\=\+{\rm{mk\_name\_expression}}\,({\it{e\/}})\index{mk\_name\_expression}, \\ 
{\tt{'}}{\tt{identifier}})\-\index{subtree})\index{gname}, \\ 
{\it{s\/}}, \\ 
{\bf{nil}})\-\index{gpf\_apply\_var})\index{normal\_state} \\ 
{\bf then }{\rm{allocate}}\,(\=\+{\tt{'}}{\tt{result\~}}, \\ 
{\rm{name\_exp}}\,(\=\+{\rm{gname}}\,({\rm{subtree}}\,(\=\+{\rm{mk\_name\_expression}}\,({\it{e\/}})\index{mk\_name\_expression}, \\ 
{\tt{'}}{\tt{identifier}})\-\index{subtree})\index{gname}, \\ 
{\bf{nil}})\-\index{name\_exp}, \\ 
{\it{s\/}})\-\index{allocate} \\ 
{\bf else }{\rm{gpf\_apply\_var}}\,(\=\+{\rm{gname}}\,({\rm{subtree}}\,(\=\+{\rm{mk\_name\_expression}}\,({\it{e\/}})\index{mk\_name\_expression}, \\ 
{\tt{'}}{\tt{identifier}})\-\index{subtree})\index{gname}, \\ 
{\it{s\/}}, \\ 
{\bf{nil}})\-\index{gpf\_apply\_var}$\;${\bf  endif}\- \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\rm{mk\_name\_expression}}\,({\it{e\/}})\index{mk\_name\_expression}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{name\_expression}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{identifier}}, {\tt{'}}{\tt{i}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{selector\_list}}, {\tt{'}}{\tt{ss}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }\=\+{\bf if }{\rm{normal\_state}}\,({\rm{gpf\_apply\_var}}\,(\=\+{\rm{gname}}\,({\rm{subtree}}\,(\=\+{\rm{mk\_name\_expression}}\,({\it{e\/}})\index{mk\_name\_expression}, \\ 
{\tt{'}}{\tt{identifier}})\-\index{subtree})\index{gname}, \\ 
{\it{s\/}}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_selectors}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\rm{mk\_name\_expression}}\,({\it{e\/}})\index{mk\_name\_expression}, \\ 
{\tt{'}}{\tt{selector\_list}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\-\index{gpf\_apply\_var})\index{normal\_state} \\ 
{\bf then }{\rm{allocate}}\,(\=\+{\tt{'}}{\tt{result\~}}, \\ 
{\rm{name\_exp}}\,(\=\+{\rm{gname}}\,({\rm{subtree}}\,(\=\+{\rm{mk\_name\_expression}}\,({\it{e\/}})\index{mk\_name\_expression}, \\ 
{\tt{'}}{\tt{identifier}})\-\index{subtree})\index{gname}, \\ 
{\rm{result\~\_list}}\,({\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_selectors}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\rm{mk\_name\_expression}}\,({\it{e\/}})\index{mk\_name\_expression}, \\ 
{\tt{'}}{\tt{selector\_list}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\index{result\~\_list})\-\index{name\_exp}, \\ 
{\it{s\/}})\-\index{allocate} \\ 
{\bf else }{\rm{gpf\_apply\_var}}\,(\=\+{\rm{gname}}\,({\rm{subtree}}\,(\=\+{\rm{mk\_name\_expression}}\,({\it{e\/}})\index{mk\_name\_expression}, \\ 
{\tt{'}}{\tt{identifier}})\-\index{subtree})\index{gname}, \\ 
{\it{s\/}}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_selectors}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\rm{mk\_name\_expression}}\,({\it{e\/}})\index{mk\_name\_expression}, \\ 
{\tt{'}}{\tt{selector\_list}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\-\index{gpf\_apply\_var}$\;${\bf  endif}\- \\ 
{\bf else }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\it{e\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}$\;${\bf  endif}\- \\ 
{\bf case = }{\it{gpf\/}} \\ 
{\bf $\;\;$then }\=\+{\bf if }$\neg$ {\rm{normal\_state}}\,({\it{s\/}})\index{normal\_state}$\;\;${\bf then }{\it{s\/}} \\ 
{\bf elseif }{\rm{fix}}\,({\it{n\/}}) $\simeq {\tt{0}}$$\;\;${\bf then }{\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{modified\_primary\_value}}, {\tt{'}}{\tt{m}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{modified\_primary\_value}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\rm{list}}\,({\tt{'}}{\tt{all}}, {\rm{tag}}\,({\tt{'}}{\tt{bound\_expression}}, {\tt{'}}{\tt{b}})\index{tag}))\-\index{prodn})\-\index{rule} \\ 
{\bf then }\=\+{\bf if }{\rm{normal\_state}}\,({\rm{gpf\_bound\_values}}\,({\it{e\/}}, {\it{c\/}}, {\it{s\/}}, {\it{x\/}})\index{gpf\_bound\_values})\index{normal\_state} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_all}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{cdr\_quantified\_exp}}\,({\it{e\/}})\index{cdr\_quantified\_exp}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{bound\_id}}\,({\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{bound\_expression}})\-\index{subtree})\index{bound\_id}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{result\~}}\,({\rm{gpf\_bound\_values}}\,(\=\+{\it{e\/}}, \\ 
{\it{c\/}}, \\ 
{\it{s\/}}, \\ 
{\it{x\/}})\-\index{gpf\_bound\_values})\index{result\~}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf else }{\rm{gpf\_bound\_values}}\,({\it{e\/}}, {\it{c\/}}, {\it{s\/}}, {\it{x\/}})\index{gpf\_bound\_values}$\;${\bf  endif}\- \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\rm{list}}\,({\tt{'}}{\tt{some}}, {\rm{tag}}\,({\tt{'}}{\tt{bound\_expression}}, {\tt{'}}{\tt{b}})\index{tag}))\-\index{prodn})\-\index{rule} \\ 
{\bf then }\=\+{\bf if }{\rm{normal\_state}}\,({\rm{gpf\_bound\_values}}\,({\it{e\/}}, {\it{c\/}}, {\it{s\/}}, {\it{x\/}})\index{gpf\_bound\_values})\index{normal\_state} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_some}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{cdr\_quantified\_exp}}\,({\it{e\/}})\index{cdr\_quantified\_exp}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{bound\_id}}\,({\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{bound\_expression}})\-\index{subtree})\index{bound\_id}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{result\~}}\,({\rm{gpf\_bound\_values}}\,(\=\+{\it{e\/}}, \\ 
{\it{c\/}}, \\ 
{\it{s\/}}, \\ 
{\it{x\/}})\-\index{gpf\_bound\_values})\index{result\~}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf else }{\rm{gpf\_bound\_values}}\,({\it{e\/}}, {\it{c\/}}, {\it{s\/}}, {\it{x\/}})\index{gpf\_bound\_values}$\;${\bf  endif}\- \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{unary\_operator}}, {\tt{'}}{\tt{op}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e2}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{gpf\_apply\_unary\_op}}\,(\=\+{\rm{subtree}}\,({\it{e\/}}, {\tt{'}}{\tt{unary\_operator}})\index{subtree}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{expression}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\it{s\/}})\-\index{gpf\_apply\_unary\_op} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e1}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{binary\_operator}}, {\tt{'}}{\tt{op}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e2}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{gpf\_apply\_binary\_op}}\,(\=\+{\rm{subtree}}\,({\it{e\/}}, {\tt{'}}{\tt{binary\_operator}})\index{subtree}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree\_i}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{expression}}, \\ 
{\tt{1}})\-\index{subtree\_i}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree\_i}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{expression}}, \\ 
{\tt{2}})\-\index{subtree\_i}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\it{s\/}})\-\index{gpf\_apply\_binary\_op} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{modified\_primary\_value}}, {\tt{'}}{\tt{m}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{primary\_value}}, {\tt{'}}{\tt{p}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{primary\_value}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{modified\_primary\_value}}, {\tt{'}}{\tt{m}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{modified\_primary\_value}}, {\tt{'}}{\tt{m2}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{value\_modifiers}}, {\tt{'}}{\tt{vm}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }\=\+{\bf if }{\rm{fn\_call\_formp}}\,({\it{e\/}})\index{fn\_call\_formp} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_apply}}, \\ 
{\bf{nil}}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_adp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{arg\_list}}\,({\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{value\_modifiers}})\-\index{subtree})\index{arg\_list}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{object\_name}}\,({\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{modified\_primary\_value}})\-\index{subtree})\index{object\_name}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf else }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_modifiers}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{value\_modifiers}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{modified\_primary\_value}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}$\;${\bf  endif}\- \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{modified\_primary\_value}}, {\tt{'}}{\tt{m}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{modified\_primary\_value}}, {\tt{'}}{\tt{m2}})\index{tag}, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{actual\_condition\_parameters}}, \\ 
{\tt{'}}{\tt{cp}})\-\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }\=\+{\bf if }{\rm{fn\_call\_formp}}\,({\it{e\/}})\index{fn\_call\_formp} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_apply}}, \\ 
{\rm{actual\_cargs}}\,({\it{e\/}})\index{actual\_cargs}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_adp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{arg\_list}}\,({\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{modified\_primary\_value}})\-\index{subtree})\index{arg\_list}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{object\_name}}\,({\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{modified\_primary\_value}})\-\index{subtree})\index{object\_name}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{primary\_value}}, {\tt{'}}{\tt{p}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{literal\_value}}, {\tt{'}}{\tt{l}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{literal\_value}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{primary\_value}}, {\tt{'}}{\tt{p}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{set\_or\_sequence\_value}}, {\tt{'}}{\tt{s}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{set\_or\_sequence\_value}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{primary\_value}}, {\tt{'}}{\tt{p}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{entry\_value}}, {\tt{'}}{\tt{e}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{entry\_value}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{primary\_value}}, {\tt{'}}{\tt{p}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{identifier}}, {\tt{'}}{\tt{on}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{identifier}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{primary\_value}}, {\tt{'}}{\tt{p}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{if\_expression}}, {\tt{'}}{\tt{i}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{if\_expression}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{primary\_value}}, {\tt{'}}{\tt{p}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{open\_paren}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\tt{'}}{\tt{close\_paren}})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{expression}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{constant\_body}}, {\tt{'}}{\tt{b}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{expression}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,({\it{e\/}}, {\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{constant\_body}}, {\tt{'}}{\tt{b}})\index{tag}, {\tt{'}}{\tt{pending}})\index{prodn})\index{rule} \\ 
{\bf then }{\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{if\_expression}}, {\tt{'}}{\tt{i}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{if}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{b}})\index{tag}, \\ 
{\tt{'}}{\tt{then}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{p}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{if\_expression\_else\_part}}, {\tt{'}}{\tt{e}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }\=\+{\bf if }$\neg$ {\rm{normal\_state}}\,({\rm{gpf\_type\_check}}\,(\=\+{\sc{boolean\_desc}}\index{boolean\_desc}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree\_i}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{expression}}, \\ 
{\tt{1}})\-\index{subtree\_i}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\-\index{gpf\_type\_check})\index{normal\_state} \\ 
{\bf then }{\rm{gpf\_type\_check}}\,(\=\+{\sc{boolean\_desc}}\index{boolean\_desc}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree\_i}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{expression}}, \\ 
{\tt{1}})\-\index{subtree\_i}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\-\index{gpf\_type\_check} \\ 
{\bf elseif }{\rm{gtruep}}\,({\rm{result\~}}\,({\rm{gpf\_type\_check}}\,(\=\+{\sc{boolean\_desc}}\index{boolean\_desc}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree\_i}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{expression}}, \\ 
{\tt{1}})\-\index{subtree\_i}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\-\index{gpf\_type\_check})\index{result\~})\index{gtruep} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree\_i}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{expression}}, \\ 
{\tt{2}})\-\index{subtree\_i}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf else }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{if\_else\_exp}}\,({\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{if\_expression\_else\_part}})\-\index{subtree})\index{if\_else\_exp}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}$\;${\bf  endif}\- \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{literal\_value}}, {\tt{'}}{\tt{l}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{character\_value}}, {\tt{'}}{\tt{ch}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{character\_value}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{literal\_value}}, {\tt{'}}{\tt{l}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{number}}, {\tt{'}}{\tt{n}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{number}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{literal\_value}}, {\tt{'}}{\tt{l}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{string\_value}}, {\tt{'}}{\tt{s}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{string\_value}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,({\rm{tag}}\,({\tt{'}}{\tt{number}}, {\tt{'}}{\tt{n}})\index{tag}, {\rm{tag}}\,({\tt{'}}{\tt{digit\_list}}, {\tt{'}}{\tt{s}})\index{tag})\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{gpf\_minteger}}\,({\it{e\/}}, {\it{s\/}})\index{gpf\_minteger} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{number}}, {\tt{'}}{\tt{n}})\index{tag}, \\ 
{\rm{list}}\,({\rm{tag}}\,({\tt{'}}{\tt{base}}, {\tt{'}}{\tt{b}})\index{tag}, {\rm{tag}}\,({\tt{'}}{\tt{digit\_list}}, {\tt{'}}{\tt{s}})\index{tag}))\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{gpf\_minteger}}\,({\it{e\/}}, {\it{s\/}})\index{gpf\_minteger} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pre\_computable\_label\_expression}}, \\ 
{\tt{'}}{\tt{p}})\-\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{number}}, {\tt{'}}{\tt{n}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{number}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pre\_computable\_label\_expression}}, \\ 
{\tt{'}}{\tt{p}})\-\index{tag}, \\ 
{\rm{list}}\,({\tt{'}}{\tt{minus}}, {\rm{tag}}\,({\tt{'}}{\tt{number}}, {\tt{'}}{\tt{n}})\index{tag}))\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{gpf\_apply\_unary\_op}}\,(\=\+{\rm{mk\_unary\_operator}}\,({\tt{'}}{\tt{minus}})\index{mk\_unary\_operator}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{number}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\it{s\/}})\-\index{gpf\_apply\_unary\_op} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pre\_computable\_label\_expression}}, \\ 
{\tt{'}}{\tt{p}})\-\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{character\_value}}, {\tt{'}}{\tt{ch}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{character\_value}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{pre\_computable\_label\_expression}}, \\ 
{\tt{'}}{\tt{p}})\-\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{identifier}}, {\tt{'}}{\tt{i}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{identifier}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{set\_or\_sequence\_value}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{open\_paren}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{set\_or\_seq\_mark}}, {\tt{'}}{\tt{m}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{element\_list}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\tt{'}}{\tt{close\_paren}})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{gpf\_gset\_or\_seq}}\,(\=\+{\rm{subtree}}\,({\it{e\/}}, {\tt{'}}{\tt{set\_or\_seq\_mark}})\index{subtree}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_element\_list}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{element\_list}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_element\_type}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{element\_list}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\it{s\/}})\-\index{gpf\_gset\_or\_seq} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{set\_or\_sequence\_value}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{range}}, {\tt{'}}{\tt{r}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{gpf\_gset\_or\_seq}}\,(\=\+{\bf{nil}}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_element\_list}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{range}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_element\_type}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{range}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\it{s\/}})\-\index{gpf\_gset\_or\_seq} \\ 
{\bf elseif }{\rm{character\_valuep}}\,({\it{e\/}})\index{character\_valuep}$\;\;${\bf then }{\rm{gpf\_gchar}}\,({\it{e\/}}, {\it{s\/}})\index{gpf\_gchar} \\ 
{\bf elseif }{\rm{digit\_listp}}\,({\it{e\/}})\index{digit\_listp}$\;\;${\bf then }{\rm{gpf\_minteger}}\,({\it{e\/}}, {\it{s\/}})\index{gpf\_minteger} \\ 
{\bf elseif }{\rm{entry\_valuep}}\,({\it{e\/}})\index{entry\_valuep}$\;\;${\bf then }{\rm{gpf\_apply\_var}}\,({\rm{entry\_name}}\,({\it{e\/}})\index{entry\_name}, {\it{s\/}}, {\bf{nil}})\index{gpf\_apply\_var} \\ 
{\bf elseif }{\rm{identifierp}}\,({\it{e\/}})\index{identifierp} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_apply}}, \\ 
{\bf{nil}}, \\ 
{\bf{nil}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{gname}}\,({\it{e\/}})\index{gname}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{string\_valuep}}\,({\it{e\/}})\index{string\_valuep}$\;\;${\bf then }{\rm{gpf\_gstring\_seq}}\,({\it{e\/}}, {\it{s\/}})\index{gpf\_gstring\_seq} \\ 
{\bf else }{\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate}$\;${\bf  endif}\- \\ 
{\bf case = }{\it{gpf\_list\/}} \\ 
{\bf $\;\;$then }\=\+{\bf if }{\it{es\/}} $\simeq\;${{\bf{nil}}}${}$$\;\;${\bf then }{\bf{nil}} \\ 
{\bf elseif }{\rm{fix}}\,({\it{n\/}}) $\simeq {\tt{0}}$$\;\;${\bf then }{\rm{list}}\,({\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate}) \\ 
{\bf else }{\rm{cons}}\,(\=\+{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{car}}\,({\it{es\/}}), \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_list}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\rm{cdr}}\,({\it{es\/}}), \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\-$\;${\bf  endif}\- \\ 
{\bf case = }{\it{gpf\_apply\/}} \\ 
{\bf $\;\;$then }\=\+{\bf if }{\rm{state\_componentp}}\,({\it{fn\/}}, {\it{s\/}})\index{state\_componentp} \\ 
{\bf then }\=\+{\bf if }{\it{acp\/}} $=$ {\bf{nil}}$\;\;${\bf then }{\rm{gpf\_apply\_var}}\,({\it{fn\/}}, {\it{s\/}}, {\it{adp\/}})\index{gpf\_apply\_var} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf elseif }{\it{fn\/}} $=$ {\tt{'}}{\tt{false}} \\ 
{\bf then }\=\+{\bf if }{\it{acp\/}} $=$ {\bf{nil}}$\;\;${\bf then }{\rm{gpf\_select\_op}}\,({\rm{gpf\_false}}\,({\it{s\/}})\index{gpf\_false}, {\it{adp\/}}, {\it{s\/}})\index{gpf\_select\_op} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf elseif }{\it{fn\/}} $=$ {\tt{'}}{\tt{true}} \\ 
{\bf then }\=\+{\bf if }{\it{acp\/}} $=$ {\bf{nil}}$\;\;${\bf then }{\rm{gpf\_select\_op}}\,({\rm{gpf\_true}}\,({\it{s\/}})\index{gpf\_true}, {\it{adp\/}}, {\it{s\/}})\index{gpf\_select\_op} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf elseif }{\rm{type\_name\_expp}}\,({\it{fn\/}}, {\it{adp\/}}, {\it{sn\/}}, {\it{x\/}})\index{type\_name\_expp} \\ 
{\bf then }\=\+{\bf if }{\it{acp\/}} $=$ {\bf{nil}}$\;\;${\bf then }{\rm{gpf\_type\_name\_arg}}\,({\it{fn\/}}, {\it{sn\/}}, {\it{s\/}}, {\it{x\/}})\index{gpf\_type\_name\_arg} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf elseif }{\it{fn\/}} $=$ {\tt{'}}{\tt{domain}} \\ 
{\bf then }\=\+{\bf if }{\it{acp\/}} $=$ {\bf{nil}}$\;\;${\bf then }{\rm{gpf\_std\_domain}}\,({\it{adp\/}}, {\it{s\/}})\index{gpf\_std\_domain} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf elseif }{\it{fn\/}} $=$ {\tt{'}}{\tt{first}} \\ 
{\bf then }\=\+{\bf if }{\it{acp\/}} $=$ {\bf{nil}}$\;\;${\bf then }{\rm{gpf\_std\_first}}\,({\it{adp\/}}, {\it{s\/}})\index{gpf\_std\_first} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf elseif }{\it{fn\/}} $=$ {\tt{'}}{\tt{initial}} \\ 
{\bf then }\=\+{\bf if }{\it{acp\/}} $=$ {\bf{nil}}$\;\;${\bf then }{\rm{gpf\_std\_initial}}\,({\it{adp\/}}, {\it{s\/}})\index{gpf\_std\_initial} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf elseif }{\it{fn\/}} $=$ {\tt{'}}{\tt{last}} \\ 
{\bf then }\=\+{\bf if }{\it{acp\/}} $=$ {\bf{nil}}$\;\;${\bf then }{\rm{gpf\_std\_last}}\,({\it{adp\/}}, {\it{s\/}})\index{gpf\_std\_last} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf elseif }{\it{fn\/}} $=$ {\tt{'}}{\tt{lower}} \\ 
{\bf then }\=\+{\bf if }{\it{acp\/}} $=$ {\bf{nil}}$\;\;${\bf then }{\rm{gpf\_std\_lower}}\,({\it{adp\/}}, {\it{s\/}})\index{gpf\_std\_lower} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf elseif }{\it{fn\/}} $=$ {\tt{'}}{\tt{max}} \\ 
{\bf then }\=\+{\bf if }{\it{acp\/}} $=$ {\bf{nil}}$\;\;${\bf then }{\rm{gpf\_std\_max}}\,({\it{adp\/}}, {\it{s\/}})\index{gpf\_std\_max} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf elseif }{\it{fn\/}} $=$ {\tt{'}}{\tt{min}} \\ 
{\bf then }\=\+{\bf if }{\it{acp\/}} $=$ {\bf{nil}}$\;\;${\bf then }{\rm{gpf\_std\_min}}\,({\it{adp\/}}, {\it{s\/}})\index{gpf\_std\_min} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf elseif }{\it{fn\/}} $=$ {\tt{'}}{\tt{nonfirst}} \\ 
{\bf then }\=\+{\bf if }{\it{acp\/}} $=$ {\bf{nil}}$\;\;${\bf then }{\rm{gpf\_std\_nonfirst}}\,({\it{adp\/}}, {\it{s\/}})\index{gpf\_std\_nonfirst} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf elseif }{\it{fn\/}} $=$ {\tt{'}}{\tt{nonlast}} \\ 
{\bf then }\=\+{\bf if }{\it{acp\/}} $=$ {\bf{nil}}$\;\;${\bf then }{\rm{gpf\_std\_nonlast}}\,({\it{adp\/}}, {\it{s\/}})\index{gpf\_std\_nonlast} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf elseif }{\it{fn\/}} $=$ {\tt{'}}{\tt{null}} \\ 
{\bf then }\=\+{\bf if }{\it{acp\/}} $=$ {\bf{nil}}$\;\;${\bf then }{\rm{gpf\_std\_null}}\,({\it{adp\/}}, {\it{s\/}})\index{gpf\_std\_null} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf elseif }{\it{fn\/}} $=$ {\tt{'}}{\tt{ord}} \\ 
{\bf then }\=\+{\bf if }{\it{acp\/}} $=$ {\bf{nil}}$\;\;${\bf then }{\rm{gpf\_std\_ord}}\,({\it{adp\/}}, {\it{s\/}})\index{gpf\_std\_ord} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf elseif }{\it{fn\/}} $=$ {\tt{'}}{\tt{pred}} \\ 
{\bf then }\=\+{\bf if }{\it{acp\/}} $=$ {\bf{nil}}$\;\;${\bf then }{\rm{gpf\_std\_pred}}\,({\it{adp\/}}, {\it{s\/}})\index{gpf\_std\_pred} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf elseif }{\it{fn\/}} $=$ {\tt{'}}{\tt{range}} \\ 
{\bf then }\=\+{\bf if }{\it{acp\/}} $=$ {\bf{nil}}$\;\;${\bf then }{\rm{gpf\_std\_range}}\,({\it{adp\/}}, {\it{s\/}})\index{gpf\_std\_range} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf elseif }{\it{fn\/}} $=$ {\tt{'}}{\tt{scale}} \\ 
{\bf then }\=\+{\bf if }{\it{acp\/}} $=$ {\bf{nil}}$\;\;${\bf then }{\rm{gpf\_std\_scale}}\,({\it{adp\/}}, {\it{s\/}})\index{gpf\_std\_scale} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf elseif }{\it{fn\/}} $=$ {\tt{'}}{\tt{size}} \\ 
{\bf then }\=\+{\bf if }{\it{acp\/}} $=$ {\bf{nil}}$\;\;${\bf then }{\rm{gpf\_std\_size}}\,({\it{adp\/}}, {\it{s\/}})\index{gpf\_std\_size} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf elseif }{\it{fn\/}} $=$ {\tt{'}}{\tt{succ}} \\ 
{\bf then }\=\+{\bf if }{\it{acp\/}} $=$ {\bf{nil}}$\;\;${\bf then }{\rm{gpf\_std\_succ}}\,({\it{adp\/}}, {\it{s\/}})\index{gpf\_std\_succ} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf elseif }{\it{fn\/}} $=$ {\tt{'}}{\tt{upper}} \\ 
{\bf then }\=\+{\bf if }{\it{acp\/}} $=$ {\bf{nil}}$\;\;${\bf then }{\rm{gpf\_std\_upper}}\,({\it{adp\/}}, {\it{s\/}})\index{gpf\_std\_upper} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf elseif }{\rm{fix}}\,({\it{n\/}}) $\simeq {\tt{0}}$$\;\;${\bf then }{\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate} \\ 
{\bf else }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_apply\_fun}}, \\ 
{\it{acp\/}}, \\ 
{\it{adp\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{fn\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{sn\/}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}$\;${\bf  endif}\- \\ 
{\bf case = }{\it{gpf\_apply\_fun\/}} \\ 
{\bf $\;\;$then }\=\+{\bf if }{\rm{fix}}\,({\it{n\/}}) $\simeq {\tt{0}}$$\;\;${\bf then }{\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate} \\ 
{\bf elseif }{\rm{kind}}\,({\rm{cdr}}\,({\rm{ref}}\,({\it{fn\/}}, {\it{sn\/}}, {\it{x\/}})\index{ref}))\index{kind} $=$ {\tt{'}}{\tt{function}} \\ 
{\bf then }{\rm{gpf\_select\_op}}\,(\=\+{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_procedure\_call}}, \\ 
{\it{acp\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{sn\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\it{fn\/}}, \\ 
{\it{s\/}}, \\ 
\=\+{\bf if }\=\+{\rm{length}}\,({\rm{formal\_dargs}}\,({\rm{cdr}}\,({\rm{ref}}\,(\=\+{\it{fn\/}}, \\ 
{\it{sn\/}}, \\ 
{\it{x\/}})\-\index{ref}))\index{formal\_dargs})\index{length} \\ 
$=$$\;\;\;\;${\tt{0}}\- \\ 
{\bf then }{\bf{nil}} \\ 
{\bf else }{\it{adp\/}}$\;${\bf  endif}\-, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
\=\+{\bf if }\=\+{\rm{length}}\,({\rm{formal\_dargs}}\,({\rm{cdr}}\,({\rm{ref}}\,({\it{fn\/}}, {\it{sn\/}}, {\it{x\/}})\index{ref}))\index{formal\_dargs})\index{length} \\ 
$=$$\;\;\;\;${\tt{0}}\-$\;\;${\bf then }{\it{adp\/}} \\ 
{\bf else }{\bf{nil}}$\;${\bf  endif}\-, \\ 
{\it{s\/}})\-\index{gpf\_select\_op} \\ 
{\bf elseif }{\rm{kind}}\,({\rm{cdr}}\,({\rm{ref}}\,({\it{fn\/}}, {\it{sn\/}}, {\it{x\/}})\index{ref}))\index{kind} $=$ {\tt{'}}{\tt{constant}} \\ 
{\bf then }\=\+{\bf if }{\it{acp\/}} $=$ {\bf{nil}} \\ 
{\bf then }{\rm{gpf\_select\_op}}\,(\=\+{\rm{gpf\_retype\_result\~}}\,(\=\+{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{car}}\,({\rm{ref}}\,(\=\+{\it{fn\/}}, \\ 
{\it{sn\/}}, \\ 
{\it{x\/}})\-\index{ref}), \\ 
{\rm{constant\_body}}\,({\rm{cdr}}\,({\rm{ref}}\,(\=\+{\it{fn\/}}, \\ 
{\it{sn\/}}, \\ 
{\it{x\/}})\-\index{ref}))\index{constant\_body}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\rm{type\_desc}}\,(\=\+{\rm{result\_type}}\,({\rm{cdr}}\,({\rm{ref}}\,(\=\+{\it{fn\/}}, \\ 
{\it{sn\/}}, \\ 
{\it{x\/}})\-\index{ref}))\index{result\_type}, \\ 
{\rm{car}}\,({\rm{ref}}\,(\=\+{\it{fn\/}}, \\ 
{\it{sn\/}}, \\ 
{\it{x\/}})\-\index{ref}), \\ 
{\bf{nil}}, \\ 
{\it{x\/}})\-\index{type\_desc})\-\index{gpf\_retype\_result\~}, \\ 
{\it{adp\/}}, \\ 
{\it{s\/}})\-\index{gpf\_select\_op} \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf case = }{\it{gpf\_modifiers\/}} \\ 
{\bf $\;\;$then }\=\+{\bf if }$\neg$ {\rm{normal\_state}}\,({\it{s\/}})\index{normal\_state}$\;\;${\bf then }{\it{s\/}} \\ 
{\bf elseif }$\neg$ {\rm{normal\_state}}\,({\it{sbv\/}})\index{normal\_state}$\;\;${\bf then }{\it{sbv\/}} \\ 
{\bf elseif }{\rm{fix}}\,({\it{n\/}}) $\simeq {\tt{0}}$$\;\;${\bf then }{\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{value\_modifiers}}, {\tt{'}}{\tt{m}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{component\_selectors}}, {\tt{'}}{\tt{s}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_modifiers}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{component\_selectors}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\it{sbv\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{component\_selectors}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{list}}\,({\tt{'}}{\tt{dot}}, {\rm{tag}}\,({\tt{'}}{\tt{identifier}}, {\tt{'}}{\tt{fn}})\index{tag}))\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{gpf\_record\_get}}\,(\=\+{\it{sbv\/}}, \\ 
{\rm{allocate}}\,(\=\+{\tt{'}}{\tt{result\~}}, \\ 
{\rm{marked}}\,(\=\+{\tt{'}}{\tt{field\_name}}, \\ 
{\rm{gname}}\,({\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{identifier}})\-\index{subtree})\index{gname})\-\index{marked}, \\ 
{\it{s\/}})\-\index{allocate}, \\ 
{\it{s\/}})\-\index{gpf\_record\_get} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{component\_selectors}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{arg\_list}}, {\tt{'}}{\tt{d}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{gpf\_select\_op}}\,(\=\+{\it{sbv\/}}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_adp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{arg\_list}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\it{s\/}})\-\index{gpf\_select\_op} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{value\_modifiers}}, {\tt{'}}{\tt{m}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{range}}, {\tt{'}}{\tt{r}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_modifiers}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{range}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\it{sbv\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{range}}, {\tt{'}}{\tt{r}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{open\_paren}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{range\_limits}}, {\tt{'}}{\tt{r2}})\index{tag}, \\ 
{\tt{'}}{\tt{close\_paren}})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_modifiers}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{range\_limits}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\it{sbv\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{range\_limits}}, {\tt{'}}{\tt{r}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{lo}})\index{tag}, \\ 
{\tt{'}}{\tt{dot\_dot}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{hi}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{gpf\_subsequence\_get}}\,(\=\+{\it{sbv\/}}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree\_i}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{expression}}, \\ 
{\tt{1}})\-\index{subtree\_i}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree\_i}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{expression}}, \\ 
{\tt{2}})\-\index{subtree\_i}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\it{s\/}})\-\index{gpf\_subsequence\_get} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{value\_modifiers}}, {\tt{'}}{\tt{m}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{value\_alterations}}, {\tt{'}}{\tt{a}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_modifiers}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{value\_alterations}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\it{sbv\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{value\_alterations}}, {\tt{'}}{\tt{a}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{with}}, \\ 
{\tt{'}}{\tt{open\_paren}}, \\ 
{\rm{tag}}\,(\=\+{\tt{'}}{\tt{component\_alterations\_list}}, \\ 
{\tt{'}}{\tt{al}})\-\index{tag}, \\ 
{\tt{'}}{\tt{close\_paren}})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_modifiers}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{component\_alterations\_list}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\it{sbv\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{component\_alterations\_list}}, {\tt{'}}{\tt{al}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{component\_alterations}}, {\tt{'}}{\tt{a}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_modifiers}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{component\_alterations}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\it{sbv\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{component\_alterations\_list}}, {\tt{'}}{\tt{al}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,(\=\+{\tt{'}}{\tt{component\_alterations\_list}}, \\ 
{\tt{'}}{\tt{al2}})\-\index{tag}, \\ 
{\tt{'}}{\tt{semi\_colon}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{component\_alterations}}, {\tt{'}}{\tt{a}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_modifiers}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{component\_alterations}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_modifiers}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{component\_alterations\_list}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\it{sbv\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{component\_alterations}}, {\tt{'}}{\tt{as}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{opt\_each\_clause}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{component\_assignment}}, {\tt{'}}{\tt{a}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }\=\+{\bf if }{\rm{each\_clausep}}\,({\rm{subtree}}\,({\it{e\/}}, {\tt{'}}{\tt{opt\_each\_clause}})\index{subtree})\index{each\_clausep} \\ 
{\bf then }\=\+{\bf if }{\rm{normal\_state}}\,({\rm{gpf\_bound\_values}}\,(\=\+{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{opt\_each\_clause}})\-\index{subtree}, \\ 
{\it{c\/}}, \\ 
{\it{s\/}}, \\ 
{\it{x\/}})\-\index{gpf\_bound\_values})\index{normal\_state} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_each}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{component\_assignment}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{bound\_id}}\,({\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{opt\_each\_clause}})\-\index{subtree})\index{bound\_id}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\it{sbv\/}}, \\ 
{\bf{t}}, \\ 
{\rm{result\~}}\,({\rm{gpf\_bound\_values}}\,(\=\+{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{opt\_each\_clause}})\-\index{subtree}, \\ 
{\it{c\/}}, \\ 
{\it{s\/}}, \\ 
{\it{x\/}})\-\index{gpf\_bound\_values})\index{result\~}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf else }{\rm{gpf\_bound\_values}}\,(\=\+{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{opt\_each\_clause}})\-\index{subtree}, \\ 
{\it{c\/}}, \\ 
{\it{s\/}}, \\ 
{\it{x\/}})\-\index{gpf\_bound\_values}$\;${\bf  endif}\- \\ 
{\bf else }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_modifiers}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{component\_assignment}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\it{sbv\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}$\;${\bf  endif}\- \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{component\_alterations}}, {\tt{'}}{\tt{as}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{opt\_each\_clause}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{component\_creation}}, {\tt{'}}{\tt{c}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }\=\+{\bf if }{\rm{each\_clausep}}\,({\rm{subtree}}\,({\it{e\/}}, {\tt{'}}{\tt{opt\_each\_clause}})\index{subtree})\index{each\_clausep} \\ 
{\bf then }\=\+{\bf if }{\rm{normal\_state}}\,({\rm{gpf\_bound\_values}}\,(\=\+{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{opt\_each\_clause}})\-\index{subtree}, \\ 
{\it{c\/}}, \\ 
{\it{s\/}}, \\ 
{\it{x\/}})\-\index{gpf\_bound\_values})\index{normal\_state} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_each}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{component\_creation}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{bound\_id}}\,({\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{opt\_each\_clause}})\-\index{subtree})\index{bound\_id}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\it{sbv\/}}, \\ 
{\bf{t}}, \\ 
{\rm{result\~}}\,({\rm{gpf\_bound\_values}}\,(\=\+{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{opt\_each\_clause}})\-\index{subtree}, \\ 
{\it{c\/}}, \\ 
{\it{s\/}}, \\ 
{\it{x\/}})\-\index{gpf\_bound\_values})\index{result\~}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf else }{\rm{gpf\_bound\_values}}\,(\=\+{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{opt\_each\_clause}})\-\index{subtree}, \\ 
{\it{c\/}}, \\ 
{\it{s\/}}, \\ 
{\it{x\/}})\-\index{gpf\_bound\_values}$\;${\bf  endif}\- \\ 
{\bf else }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_modifiers}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{component\_creation}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\it{sbv\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}$\;${\bf  endif}\- \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{component\_alterations}}, {\tt{'}}{\tt{as}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{opt\_each\_clause}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{component\_deletion}}, {\tt{'}}{\tt{d}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }\=\+{\bf if }{\rm{each\_clausep}}\,({\rm{subtree}}\,({\it{e\/}}, {\tt{'}}{\tt{opt\_each\_clause}})\index{subtree})\index{each\_clausep} \\ 
{\bf then }\=\+{\bf if }{\rm{normal\_state}}\,({\rm{gpf\_bound\_values}}\,(\=\+{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{opt\_each\_clause}})\-\index{subtree}, \\ 
{\it{c\/}}, \\ 
{\it{s\/}}, \\ 
{\it{x\/}})\-\index{gpf\_bound\_values})\index{normal\_state} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_each}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{component\_deletion}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{bound\_id}}\,({\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{opt\_each\_clause}})\-\index{subtree})\index{bound\_id}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\it{sbv\/}}, \\ 
{\bf{t}}, \\ 
{\rm{result\~}}\,({\rm{gpf\_bound\_values}}\,(\=\+{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{opt\_each\_clause}})\-\index{subtree}, \\ 
{\it{c\/}}, \\ 
{\it{s\/}}, \\ 
{\it{x\/}})\-\index{gpf\_bound\_values})\index{result\~}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf else }{\rm{gpf\_bound\_values}}\,(\=\+{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{opt\_each\_clause}})\-\index{subtree}, \\ 
{\it{c\/}}, \\ 
{\it{s\/}}, \\ 
{\it{x\/}})\-\index{gpf\_bound\_values}$\;${\bf  endif}\- \\ 
{\bf else }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_modifiers}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{component\_deletion}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\it{sbv\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}$\;${\bf  endif}\- \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{component\_assignment}}, {\tt{'}}{\tt{a}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{selector\_list}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\tt{'}}{\tt{colon\_equal}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{gpf\_put\_op}}\,(\=\+{\it{sbv\/}}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_selectors}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{selector\_list}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{expression}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\it{s\/}})\-\index{gpf\_put\_op} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{component\_creation}}, {\tt{'}}{\tt{c}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{before}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{selector\_list}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\tt{'}}{\tt{colon\_equal}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{gpf\_put\_op}}\,(\=\+{\it{sbv\/}}, \\ 
{\rm{rcdr}}\,({\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_selectors}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{selector\_list}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\index{rcdr}, \\ 
{\rm{gpf\_gseq\_insert\_before}}\,(\=\+{\rm{gpf\_select\_op}}\,(\=\+{\it{sbv\/}}, \\ 
{\rm{rcdr}}\,({\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_selectors}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{selector\_list}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\index{rcdr}, \\ 
{\it{s\/}})\-\index{gpf\_select\_op}, \\ 
{\rm{rcar}}\,({\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_selectors}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{selector\_list}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\index{rcar}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{expression}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\it{s\/}})\-\index{gpf\_gseq\_insert\_before}, \\ 
{\it{s\/}})\-\index{gpf\_put\_op} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{component\_creation}}, {\tt{'}}{\tt{c}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{behind}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{selector\_list}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\tt{'}}{\tt{colon\_equal}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{gpf\_put\_op}}\,(\=\+{\it{sbv\/}}, \\ 
{\rm{rcdr}}\,({\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_selectors}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{selector\_list}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\index{rcdr}, \\ 
{\rm{gpf\_gseq\_insert\_behind}}\,(\=\+{\rm{gpf\_select\_op}}\,(\=\+{\it{sbv\/}}, \\ 
{\rm{rcdr}}\,({\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_selectors}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{selector\_list}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\index{rcdr}, \\ 
{\it{s\/}})\-\index{gpf\_select\_op}, \\ 
{\rm{rcar}}\,({\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_selectors}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{selector\_list}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\index{rcar}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{expression}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\it{s\/}})\-\index{gpf\_gseq\_insert\_behind}, \\ 
{\it{s\/}})\-\index{gpf\_put\_op} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{component\_creation}}, {\tt{'}}{\tt{c}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{into}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{selector\_list}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\tt{'}}{\tt{colon\_equal}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{gpf\_put\_op}}\,(\=\+{\it{sbv\/}}, \\ 
{\rm{rcdr}}\,({\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_selectors}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{selector\_list}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\index{rcdr}, \\ 
{\rm{gpf\_gmap\_insert}}\,(\=\+{\rm{gpf\_select\_op}}\,(\=\+{\it{sbv\/}}, \\ 
{\rm{rcdr}}\,({\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_selectors}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{selector\_list}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\index{rcdr}, \\ 
{\it{s\/}})\-\index{gpf\_select\_op}, \\ 
{\rm{rcar}}\,({\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_selectors}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{selector\_list}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\index{rcar}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{expression}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\it{s\/}})\-\index{gpf\_gmap\_insert}, \\ 
{\it{s\/}})\-\index{gpf\_put\_op} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{component\_deletion}}, {\tt{'}}{\tt{d}})\index{tag}, \\ 
{\rm{list}}\,({\tt{'}}{\tt{seqomit}}, {\rm{tag}}\,({\tt{'}}{\tt{selector\_list}}, {\tt{'}}{\tt{s}})\index{tag}))\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{gpf\_put\_op}}\,(\=\+{\it{sbv\/}}, \\ 
{\rm{rcdr}}\,({\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_selectors}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{selector\_list}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\index{rcdr}, \\ 
{\rm{gpf\_gseqomit}}\,(\=\+{\rm{gpf\_select\_op}}\,(\=\+{\it{sbv\/}}, \\ 
{\rm{rcdr}}\,({\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_selectors}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{selector\_list}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\index{rcdr}, \\ 
{\it{s\/}})\-\index{gpf\_select\_op}, \\ 
{\rm{rcar}}\,({\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_selectors}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{selector\_list}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\index{rcar}, \\ 
{\it{s\/}})\-\index{gpf\_gseqomit}, \\ 
{\it{s\/}})\-\index{gpf\_put\_op} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{component\_deletion}}, {\tt{'}}{\tt{d}})\index{tag}, \\ 
{\rm{list}}\,({\tt{'}}{\tt{mapomit}}, {\rm{tag}}\,({\tt{'}}{\tt{selector\_list}}, {\tt{'}}{\tt{s}})\index{tag}))\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{gpf\_put\_op}}\,(\=\+{\it{sbv\/}}, \\ 
{\rm{rcdr}}\,({\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_selectors}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{selector\_list}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\index{rcdr}, \\ 
{\rm{gpf\_gmapomit}}\,(\=\+{\rm{gpf\_select\_op}}\,(\=\+{\it{sbv\/}}, \\ 
{\rm{rcdr}}\,({\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_selectors}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{selector\_list}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\index{rcdr}, \\ 
{\it{s\/}})\-\index{gpf\_select\_op}, \\ 
{\rm{rcar}}\,({\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_selectors}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{selector\_list}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\index{rcar}, \\ 
{\it{s\/}})\-\index{gpf\_gmapomit}, \\ 
{\it{s\/}})\-\index{gpf\_put\_op} \\ 
{\bf else }{\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate}$\;${\bf  endif}\- \\ 
{\bf case = }{\it{gpf\_selectors\/}} \\ 
{\bf $\;\;$then }\=\+{\bf if }$\neg$ {\rm{normal\_state}}\,({\it{s\/}})\index{normal\_state}$\;\;${\bf then }{\rm{list}}\,({\it{s\/}}) \\ 
{\bf elseif }{\rm{fix}}\,({\it{n\/}}) $\simeq {\tt{0}}$$\;\;${\bf then }{\rm{list}}\,({\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate}) \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{selector\_list}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{component\_selectors}}, {\tt{'}}{\tt{s2}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_selectors}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{component\_selectors}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{selector\_list}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{selector\_list}}, {\tt{'}}{\tt{s2}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{component\_selectors}}, {\tt{'}}{\tt{s3}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{append}}\,(\=\+{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_selectors}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{selector\_list}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_selectors}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{component\_selectors}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\- \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{component\_selectors}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{list}}\,({\tt{'}}{\tt{dot}}, {\rm{tag}}\,({\tt{'}}{\tt{identifier}}, {\tt{'}}{\tt{fn}})\index{tag}))\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{list}}\,({\rm{allocate}}\,(\=\+{\tt{'}}{\tt{result\~}}, \\ 
{\rm{marked}}\,(\=\+{\tt{'}}{\tt{field\_name}}, \\ 
{\rm{gname}}\,({\rm{subtree}}\,({\it{e\/}}, {\tt{'}}{\tt{identifier}})\index{subtree})\index{gname})\-\index{marked}, \\ 
{\it{s\/}})\-\index{allocate}) \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{component\_selectors}}, {\tt{'}}{\tt{s}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{arg\_list}}, {\tt{'}}{\tt{d}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_adp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{arg\_list}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{arg\_list}}, {\tt{'}}{\tt{as}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{open\_paren}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{value\_list}}, {\tt{'}}{\tt{vs}})\index{tag}, \\ 
{\tt{'}}{\tt{close\_paren}})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_adp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{value\_list}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf else }{\rm{list}}\,({\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate})$\;${\bf  endif}\- \\ 
{\bf case = }{\it{gpf\_adp\/}} \\ 
{\bf $\;\;$then }\=\+{\bf if }$\neg$ {\rm{normal\_state}}\,({\it{s\/}})\index{normal\_state}$\;\;${\bf then }{\rm{list}}\,({\it{s\/}}) \\ 
{\bf elseif }{\rm{fix}}\,({\it{n\/}}) $\simeq {\tt{0}}$$\;\;${\bf then }{\rm{list}}\,({\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate}) \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{arg\_list}}, {\tt{'}}{\tt{as}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{open\_paren}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{value\_list}}, {\tt{'}}{\tt{vs}})\index{tag}, \\ 
{\tt{'}}{\tt{close\_paren}})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_adp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{value\_list}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{value\_list}}, {\tt{'}}{\tt{vs}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{rcons}}\,(\=\+{\bf{nil}}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{expression}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\-\index{rcons} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{value\_list}}, {\tt{'}}{\tt{vs}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{value\_list}}, {\tt{'}}{\tt{vs2}})\index{tag}, \\ 
{\tt{'}}{\tt{comma}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{rcons}}\,(\=\+{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_adp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{value\_list}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{expression}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\-\index{rcons} \\ 
{\bf else }{\rm{list}}\,({\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate})$\;${\bf  endif}\- \\ 
{\bf case = }{\it{gpf\_each\/}} \\ 
{\bf $\;\;$then }\=\+{\bf if }$\neg$ {\rm{normal\_state}}\,({\it{s\/}})\index{normal\_state}$\;\;${\bf then }{\it{s\/}} \\ 
{\bf elseif }{\it{vs\/}} $\simeq\;${{\bf{nil}}}${}$$\;\;${\bf then }{\it{sbv\/}} \\ 
{\bf elseif }{\rm{gp\_new\_namep}}\,({\it{id\/}}, {\it{s\/}})\index{gp\_new\_namep} \\ 
{\bf then }\=\+{\bf if }{\it{n\/}} $\simeq {\tt{0}}$$\;\;${\bf then }{\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate} \\ 
{\bf else }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_each}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\it{e\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{id\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_modifiers}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\it{e\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\rm{allocate\_const}}\,(\=\+{\it{id\/}}, \\ 
{\rm{car}}\,({\it{vs\/}}), \\ 
{\tt{'}}{\tt{local}}, \\ 
{\it{s\/}})\-\index{allocate\_const}, \\ 
{\bf{t}}, \\ 
{\it{sbv\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\bf{t}}, \\ 
{\rm{cdr}}\,({\it{vs\/}}), \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}$\;${\bf  endif}\- \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf case = }{\it{gpf\_some\/}} \\ 
{\bf $\;\;$then }\=\+{\bf if }{\it{vs\/}} $\simeq\;${{\bf{nil}}}${}$$\;\;${\bf then }{\rm{gpf\_false}}\,({\it{s\/}})\index{gpf\_false} \\ 
{\bf elseif }{\rm{gp\_new\_namep}}\,({\it{id\/}}, {\it{s\/}})\index{gp\_new\_namep} \\ 
{\bf then }\=\+{\bf if }{\it{n\/}} $\simeq {\tt{0}}$$\;\;${\bf then }{\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate} \\ 
{\bf else }{\rm{gpf\_gor}}\,(\=\+{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_some}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\it{e\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{id\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{rcdr}}\,({\it{vs\/}})\index{rcdr}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\it{e\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\rm{allocate\_const}}\,(\=\+{\it{id\/}}, \\ 
{\rm{rcar}}\,({\it{vs\/}})\index{rcar}, \\ 
{\tt{'}}{\tt{local}}, \\ 
{\it{s\/}})\-\index{allocate\_const}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\it{s\/}})\-\index{gpf\_gor}$\;${\bf  endif}\- \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf case = }{\it{gpf\_all\/}} \\ 
{\bf $\;\;$then }\=\+{\bf if }{\it{vs\/}} $\simeq\;${{\bf{nil}}}${}$$\;\;${\bf then }{\rm{gpf\_true}}\,({\it{s\/}})\index{gpf\_true} \\ 
{\bf elseif }{\rm{gp\_new\_namep}}\,({\it{id\/}}, {\it{s\/}})\index{gp\_new\_namep} \\ 
{\bf then }\=\+{\bf if }{\it{n\/}} $\simeq {\tt{0}}$$\;\;${\bf then }{\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate} \\ 
{\bf else }{\rm{gpf\_gand}}\,(\=\+{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_all}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\it{e\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{id\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\rm{rcdr}}\,({\it{vs\/}})\index{rcdr}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\it{e\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\rm{allocate\_const}}\,(\=\+{\it{id\/}}, \\ 
{\rm{rcar}}\,({\it{vs\/}})\index{rcar}, \\ 
{\tt{'}}{\tt{local}}, \\ 
{\it{s\/}})\-\index{allocate\_const}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\it{s\/}})\-\index{gpf\_gand}$\;${\bf  endif}\- \\ 
{\bf else }{\rm{set\_condition}}\,({\it{s\/}}, {\tt{'}}{\tt{routineerror}})\index{set\_condition}$\;${\bf  endif}\- \\ 
{\bf case = }{\it{gpf\_element\_type\/}} \\ 
{\bf $\;\;$then }\=\+{\bf if }{\rm{fix}}\,({\it{n\/}}) $\simeq {\tt{0}}$$\;\;${\bf then }{\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{range}}, {\tt{'}}{\tt{r}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{open\_paren}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{range\_limits}}, {\tt{'}}{\tt{r2}})\index{tag}, \\ 
{\tt{'}}{\tt{close\_paren}})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_element\_type}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{range\_limits}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{element\_list}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{value\_list}}, {\tt{'}}{\tt{v}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_element\_type}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{value\_list}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{element\_list}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{range\_limits}}, {\tt{'}}{\tt{r}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_element\_type}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{range\_limits}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{range\_limits}}, {\tt{'}}{\tt{r}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{lo}})\index{tag}, \\ 
{\tt{'}}{\tt{dot\_dot}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{hi}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{base\_type}}\,({\rm{type}}\,({\rm{result\~}}\,({\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree\_i}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{expression}}, \\ 
{\tt{1}})\-\index{subtree\_i}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\index{result\~})\index{type})\index{base\_type} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{value\_list}}, {\tt{'}}{\tt{v}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{base\_type}}\,({\rm{type}}\,({\rm{result\~}}\,({\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{expression}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\index{result\~})\index{type})\index{base\_type} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{value\_list}}, {\tt{'}}{\tt{v}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{value\_list}}, {\tt{'}}{\tt{v2}})\index{tag}, \\ 
{\tt{'}}{\tt{comma}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_element\_type}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{value\_list}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf else }{\bf{nil}}$\;${\bf  endif}\- \\ 
{\bf otherwise }\=\+{\bf if }$\neg$ {\rm{normal\_state}}\,({\it{s\/}})\index{normal\_state}$\;\;${\bf then }{\rm{list}}\,({\it{s\/}}) \\ 
{\bf elseif }{\rm{fix}}\,({\it{n\/}}) $\simeq {\tt{0}}$$\;\;${\bf then }{\rm{list}}\,({\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate}) \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{range}}, {\tt{'}}{\tt{r}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\tt{'}}{\tt{open\_paren}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{range\_limits}}, {\tt{'}}{\tt{r2}})\index{tag}, \\ 
{\tt{'}}{\tt{close\_paren}})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_element\_list}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{range\_limits}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{element\_list}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{value\_list}}, {\tt{'}}{\tt{v}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_element\_list}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{value\_list}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{element\_list}}, {\tt{'}}{\tt{e}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{range\_limits}}, {\tt{'}}{\tt{r}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_element\_list}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{range\_limits}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{range\_limits}}, {\tt{'}}{\tt{r}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{lo}})\index{tag}, \\ 
{\tt{'}}{\tt{dot\_dot}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{hi}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{gpf\_grange\_elements}}\,(\=\+{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree\_i}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{expression}}, \\ 
{\tt{1}})\-\index{subtree\_i}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree\_i}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{expression}}, \\ 
{\tt{2}})\-\index{subtree\_i}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\it{s\/}})\-\index{gpf\_grange\_elements} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{value\_list}}, {\tt{'}}{\tt{v}})\index{tag}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e}})\index{tag})\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{rcons}}\,(\=\+{\bf{nil}}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{expression}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\-\index{rcons} \\ 
{\bf elseif }{\rm{rule}}\,(\=\+{\it{e\/}}, \\ 
{\rm{prodn}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{value\_list}}, {\tt{'}}{\tt{v}})\index{tag}, \\ 
{\rm{list}}\,(\=\+{\rm{tag}}\,({\tt{'}}{\tt{value\_list}}, {\tt{'}}{\tt{v2}})\index{tag}, \\ 
{\tt{'}}{\tt{comma}}, \\ 
{\rm{tag}}\,({\tt{'}}{\tt{expression}}, {\tt{'}}{\tt{e}})\index{tag})\-)\-\index{prodn})\-\index{rule} \\ 
{\bf then }{\rm{rcons}}\,(\=\+{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_element\_list}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{value\_list}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}, \\ 
{\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\rm{subtree}}\,(\=\+{\it{e\/}}, \\ 
{\tt{'}}{\tt{expression}})\-\index{subtree}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}} $-\;1$, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...})\-\index{rcons} \\ 
{\bf else }{\rm{list}}\,({\rm{mark\_state\_indeterminate}}\,({\it{s\/}})\index{mark\_state\_indeterminate})$\;${\bf  endif}\-$\;${\bf  endcase}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{gp} \\  
\=\+{\rm{gp}}\,({\it{m\/}}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{gp} \\ 
$=$$\;\;\;\;${\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{m\/}}, \\ 
{\it{n\/}}, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{gp\_cond} \\  
\=\+{\rm{gp\_cond}}\,({\it{m\/}}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{gp\_cond} \\ 
$=$$\;\;\;\;${\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_cond}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{m\/}}, \\ 
{\it{n\/}}, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{gp\_case\_body} \\  
\=\+{\rm{gp\_case\_body}}\,({\it{k\/}}, {\it{m\/}}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{gp\_case\_body} \\ 
$=$$\;\;\;\;${\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_case\_body}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{k\/}}, \\ 
{\it{m\/}}, \\ 
{\it{n\/}}, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{gp\_locals} \\  
\=\+{\rm{gp\_locals}}\,({\it{m\/}}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{gp\_locals} \\ 
$=$$\;\;\;\;${\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_locals}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{m\/}}, \\ 
{\it{n\/}}, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{gp\_procedure\_body} \\  
\=\+{\rm{gp\_procedure\_body}}\,({\it{m\/}}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{gp\_procedure\_body} \\ 
$=$$\;\;\;\;${\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_procedure\_body}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{m\/}}, \\ 
{\it{n\/}}, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{gp\_procedure\_call} \\  
\=\+{\rm{gp\_procedure\_call}}\,({\it{pn\/}}, {\it{sadp\/}}, {\it{acp\/}}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{gp\_procedure\_call} \\ 
$=$$\;\;\;\;${\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_procedure\_call}}, \\ 
{\it{acp\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}}, \\ 
{\it{pn\/}}, \\ 
{\it{s\/}}, \\ 
{\it{sadp\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{gp\_parg\_list} \\  
\=\+{\rm{gp\_parg\_list}}\,({\it{as\/}}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{gp\_parg\_list} \\ 
$=$$\;\;\;\;${\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_parg\_list}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{as\/}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}}, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{gp\_parg} \\  
\=\+{\rm{gp\_parg}}\,({\it{e\/}}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{gp\_parg} \\ 
$=$$\;\;\;\;${\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gp\_parg}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\it{e\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}}, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{gpf} \\  
\=\+{\rm{gpf}}\,({\it{e\/}}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{gpf} \\ 
$=$$\;\;\;\;${\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\it{e\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}}, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{gpf\_list} \\  
\=\+{\rm{gpf\_list}}\,({\it{es\/}}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{gpf\_list} \\ 
$=$$\;\;\;\;${\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_list}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\bf{t}}, \\ 
{\it{es\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}}, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{gpf\_apply} \\  
\=\+{\rm{gpf\_apply}}\,({\it{fn\/}}, {\it{adp\/}}, {\it{acp\/}}, {\it{sn\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{gpf\_apply} \\ 
$=$$\;\;\;\;${\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_apply}}, \\ 
{\it{acp\/}}, \\ 
{\it{adp\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{fn\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}}, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{sn\/}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{gpf\_apply\_fun} \\  
\=\+{\rm{gpf\_apply\_fun}}\,({\it{fn\/}}, {\it{adp\/}}, {\it{acp\/}}, {\it{sn\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{gpf\_apply\_fun} \\ 
$=$$\;\;\;\;${\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_apply\_fun}}, \\ 
{\it{acp\/}}, \\ 
{\it{adp\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{fn\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}}, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{sn\/}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{gpf\_modifiers} \\  
\=\+{\rm{gpf\_modifiers}}\,({\it{sbv\/}}, {\it{e\/}}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{gpf\_modifiers} \\ 
$=$$\;\;\;\;${\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_modifiers}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\it{e\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}}, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\it{sbv\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{gpf\_selectors} \\  
\=\+{\rm{gpf\_selectors}}\,({\it{e\/}}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{gpf\_selectors} \\ 
$=$$\;\;\;\;${\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_selectors}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\it{e\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}}, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{gpf\_adp} \\  
\=\+{\rm{gpf\_adp}}\,({\it{e\/}}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{gpf\_adp} \\ 
$=$$\;\;\;\;${\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_adp}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\it{e\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}}, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{gpf\_each} \\  
\=\+{\rm{gpf\_each}}\,({\it{id\/}}, {\it{vs\/}}, {\it{sbv\/}}, {\it{e\/}}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{gpf\_each} \\ 
$=$$\;\;\;\;${\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_each}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\it{e\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{id\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}}, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\it{sbv\/}}, \\ 
{\bf{t}}, \\ 
{\it{vs\/}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{gpf\_some} \\  
\=\+{\rm{gpf\_some}}\,({\it{id\/}}, {\it{vs\/}}, {\it{e\/}}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{gpf\_some} \\ 
$=$$\;\;\;\;${\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_some}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\it{e\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{id\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}}, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{vs\/}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{gpf\_all} \\  
\=\+{\rm{gpf\_all}}\,({\it{id\/}}, {\it{vs\/}}, {\it{e\/}}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{gpf\_all} \\ 
$=$$\;\;\;\;${\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_all}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\it{e\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{id\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}}, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{vs\/}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{gpf\_element\_type} \\  
\=\+{\rm{gpf\_element\_type}}\,({\it{e\/}}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{gpf\_element\_type} \\ 
$=$$\;\;\;\;${\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_element\_type}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\it{e\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}}, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{gpf\_element\_list} \\  
\=\+{\rm{gpf\_element\_list}}\,({\it{e\/}}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{gpf\_element\_list} \\ 
$=$$\;\;\;\;${\rm{mutual-gp-gp\_cond-gp\_case\_body-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-gp\_parg-gpf-gpf\_list-gpf\_apply-gpf\_apply\_fun-gpf\_modifiers-gpf\_selectors-gpf\_adp-gpf\_each-gpf\_some-gpf\_all-gpf\_element\_type-gpf\_element\_list}}\,(\=\+{\tt{'}}{\tt{gpf\_element\_list}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{c\/}}, \\ 
{\it{e\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{n\/}}, \\ 
{\bf{t}}, \\ 
{\it{s\/}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\bf{t}}, \\ 
{\it{x\/}})\-\index{mutual-gp-gp\_cond-gp\_case\_bo!dy-gp\_locals-gp\_procedure\_body-gp\_procedure\_call-gp\_parg\_list-g...}\-
\end{tabbing}


\begin{verbatim}; *********************
;  The Meta Function P
; *********************

\end{verbatim}\begin{tabbing}{\sc Definition}:\index{meta\_p} \\  
\=\+{\rm{meta\_p}}\,({\it{m\/}}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{x\/}})\index{meta\_p} \\ 
$=$$\;\;\;\;$\=\+{\bf let }\=\+{\it{ptm\/}}{\bf $\;$ be$\;\;$}{\rm{pt}}\,({\it{m\/}}, {\tt{'}}{\tt{statement}})\index{pt}, \\ 
{\it{ptx\/}}{\bf $\;$ be$\;\;$}{\rm{pt}}\,({\it{x\/}}, {\tt{'}}{\tt{program\_description}})\index{pt}\- \\ 
{\bf in} \\ 
\=\+{\bf if }{\it{ptm\/}} $=$ {\bf{nil}}$\;\;${\bf then }{\rm{marked}}\,({\tt{'}}{\tt{statement\_syntax\_error}}, {\bf{nil}})\index{marked} \\ 
{\bf elseif }{\it{ptx\/}} $=$ {\bf{nil}} \\ 
{\bf then }{\rm{marked}}\,({\tt{'}}{\tt{program\_description\_syntax\_error}}, {\bf{nil}})\index{marked} \\ 
{\bf else }{\rm{gp}}\,({\it{ptm\/}}, {\it{c\/}}, {\it{s\/}}, {\it{n\/}}, {\it{ptx\/}})\index{gp}$\;${\bf  endif}\-$\;${\bf  endlet}\-\-
\end{tabbing}


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