\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};
; File :        Anrd.events
;
; Author:       Diederik Verkest
;
; Organization: IMEC, VSDM division
;               Kapeldreef 75,
;               B-3001 Leuven
;               Belgium
;
; Contents:     event file for pc-nqthm to define
;               - the division algorithm Adapted Non Restoring Division (ANRD) 
;                 and to prove its correctness with respect to integer 
;                 sign-magnitude division.
;               - an implementation of the algorithm on an ALU and the
;                 proof of correctness for the implementation wrt to ANRD.
;
; References:   D. Verkest, L. Claesen, H. De Man, "A Proof of the Non
;               Restoring Division algorithm and its implementation on the
;               Cathedral-II ALU", in Designing Correct Circuits, Eds. J.
;               Staunstrup and R. Sharp, Elseviers Science Publishers B.V.
;               (North-Holland), 1992, pp. 173 - 192
;
;               D. Verkest, L. Claesen, H. De Man, "On the use of the 
;               Boyer-Moore theorem prover for correctness proofs of 
;               parameterized hardware modules", in Formal VLSI
;		Specification and Synthesis (VLSI Design Methods I),
;               Ed. L. J. M. Claesen, Elseviers Science Publishers B.V. 
;               (North-Holland), 1990, pp. 99 - 116

;; [Flat file needed; this line removed by Matt K.] (PROVEALL "nrd" '(

\end{verbatim}
\noindent{\sc Event}:   Start with the initial {\bf nqthm} theory.

\addvspace{18pt}

\begin{tabbing}{\sc Theorem}:  plus-1 \\ \index{plus-1}
({\tt{1}} $+$ {\it{x\/}}) $=$ ($1\;+$ {\it{x\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  plus-right-id \\ \index{plus-right-id}
({\it{y\/}} $\not\in\;${\bf{N}}${}$) $\rightarrow$ (({\it{x\/}} $+$ {\it{y\/}}) $=$ {\rm{fix}}\,({\it{x\/}}))
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  plus-add1 \\ \index{plus-add1}
\=\+({\it{x\/}} $+$ ($1\;+$ {\it{y\/}})) \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{y\/}} $\in\;${\bf{N}}${}$$\;\;${\bf then }$1\;+$ ({\it{x\/}} $+$ {\it{y\/}}) \\ 
{\bf else }$1\;+$ {\it{x\/}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  commutativity2-of-plus \\ \index{commutativity2-of-plus}
({\it{x\/}} $+$ {\it{y\/}} $+$ {\it{z\/}}) $=$ ({\it{y\/}} $+$ {\it{x\/}} $+$ {\it{z\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  commutativity-of-plus \\ \index{commutativity-of-plus}
({\it{x\/}} $+$ {\it{y\/}}) $=$ ({\it{y\/}} $+$ {\it{x\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  associativity-of-plus \\ \index{associativity-of-plus}
(({\it{x\/}} $+$ {\it{y\/}}) $+$ {\it{z\/}}) $=$ ({\it{x\/}} $+$ {\it{y\/}} $+$ {\it{z\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  plus-equal-0 \\ \index{plus-equal-0}
(({\it{a\/}} $+$ {\it{b\/}}) $=$ {\tt{0}}) $=$ (({\it{a\/}} $\simeq {\tt{0}}$) $\wedge$ ({\it{b\/}} $\simeq {\tt{0}}$))
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  plus-cancellation \\ \index{plus-cancellation}
(({\it{a\/}} $+$ {\it{b\/}}) $=$ ({\it{a\/}} $+$ {\it{c\/}})) $=$ ({\rm{fix}}\,({\it{b\/}}) $=$ {\rm{fix}}\,({\it{c\/}}))
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  times-zero2 \\ \index{times-zero2}
({\it{y\/}} $\not\in\;${\bf{N}}${}$) $\rightarrow$ (({\it{x\/}} $*$ {\it{y\/}}) $=$ {\tt{0}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  distributivity-of-times-over-plus \\ \index{distributivity-of-times-over-pl!us}
({\it{x\/}} $*$ ({\it{y\/}} $+$ {\it{z\/}})) $=$ (({\it{x\/}} $*$ {\it{y\/}}) $+$ ({\it{x\/}} $*$ {\it{z\/}}))
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  times-add1 \\ \index{times-add1}
\=\+({\it{x\/}} $*$ ($1\;+$ {\it{y\/}})) \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{y\/}} $\in\;${\bf{N}}${}$$\;\;${\bf then }{\it{x\/}} $+$ ({\it{x\/}} $*$ {\it{y\/}}) \\ 
{\bf else }{\rm{fix}}\,({\it{x\/}})$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  commutativity-of-times \\ \index{commutativity-of-times}
({\it{x\/}} $*$ {\it{y\/}}) $=$ ({\it{y\/}} $*$ {\it{x\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  commutativity2-of-times \\ \index{commutativity2-of-times}
({\it{x\/}} $*$ {\it{y\/}} $*$ {\it{z\/}}) $=$ ({\it{y\/}} $*$ {\it{x\/}} $*$ {\it{z\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  associativity-of-times \\ \index{associativity-of-times}
(({\it{x\/}} $*$ {\it{y\/}}) $*$ {\it{z\/}}) $=$ ({\it{x\/}} $*$ {\it{y\/}} $*$ {\it{z\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  equal-times-0 \\ \index{equal-times-0}
(({\it{x\/}} $*$ {\it{y\/}}) $=$ {\tt{0}}) $=$ (({\it{x\/}} $\simeq {\tt{0}}$) $\vee$ ({\it{y\/}} $\simeq {\tt{0}}$))
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  times-1 \\ \index{times-1}
({\tt{1}} $*$ {\it{x\/}}) $=$ {\rm{fix}}\,({\it{x\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  equal-bools \\ \index{equal-bools}
\=\+((({\it{bool1\/}} $=$ {\bf{t}}) $\vee$ ({\it{bool1\/}} $=$ {\bf{f}})) $\wedge$ (({\it{bool2\/}} $=$ {\bf{t}}) $\vee$ ({\it{bool2\/}} $=$ {\bf{f}}))) \\ 
$\rightarrow$$\;\;\;\;$(({\it{bool1\/}} $=$ {\it{bool2\/}}) $=$ (({\it{bool1\/}} $\rightarrow$ {\it{bool2\/}}) $\wedge$ ({\it{bool2\/}} $\rightarrow$ {\it{bool1\/}})))\-
\end{tabbing}


\noindent{\sc Event}:   Disable equal-bools.

\addvspace{18pt}

\begin{tabbing}{\sc Theorem}:  lessp-times \\ \index{lessp-times}
(({\it{y\/}} $*$ {\it{x\/}}) $<$ ({\it{x\/}} $*$ {\it{z\/}})) $=$ (({\it{x\/}} $\not\simeq {\tt{0}}$) $\wedge$ ({\it{y\/}} $<$ {\it{z\/}}))
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  times-2-not-1 \\ \index{times-2-not-1}
({\tt{2}} $*$ {\it{x\/}}) $\not=$ {\tt{1}}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{twoto} \\  
\=\+{\rm{twoto}}\,({\it{n\/}})\index{twoto} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{n\/}} $\in\;${\bf{N}}${}$ \\ 
{\bf then }\=\+{\bf if }{\it{n\/}} $\simeq {\tt{0}}$$\;\;${\bf then }{\tt{1}} \\ 
{\bf else }{\tt{2}} $*$ {\rm{twoto}}\,({\it{n\/}} $-\;1$)\index{twoto}$\;${\bf  endif}\- \\ 
{\bf else }{\tt{0}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  twoto-plus \\ \index{twoto-plus}
(({\it{j\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{k\/}} $\in\;${\bf{N}}${}$)) $\rightarrow$ ({\rm{twoto}}\,({\it{j\/}} $+$ {\it{k\/}})\index{twoto} $=$ ({\rm{twoto}}\,({\it{j\/}})\index{twoto} $*$ {\rm{twoto}}\,({\it{k\/}})\index{twoto}))
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  twoto-by-0 \\ \index{twoto-by-0}
{\rm{twoto}}\,({\tt{0}})\index{twoto} $=$ {\tt{1}}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  twoto-never-0 \\ \index{twoto-never-0}
({\it{i\/}} $\in\;${\bf{N}}${}$) $\rightarrow$ ({\tt{0}} $<$ {\rm{twoto}}\,({\it{i\/}})\index{twoto})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  difference-elim \\ \index{difference-elim}
(({\it{y\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{y\/}} $\not<$ {\it{x\/}})) $\rightarrow$ (({\it{x\/}} $+$ ({\it{y\/}} $-$ {\it{x\/}})) $=$ {\it{y\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  difference-2 \\ \index{difference-2}
({\it{x\/}} $-$ {\tt{2}}) $=$ (({\it{x\/}} $-\;1$) $-\;1$)
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  difference-x-x \\ \index{difference-x-x}
({\it{x\/}} $-$ {\it{x\/}}) $=$ {\tt{0}}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  difference-plus \\ \index{difference-plus}
(({\it{j\/}} $+$ {\it{x\/}}) $-$ {\it{j\/}}) $=$ {\rm{fix}}\,({\it{x\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  difference-plus-cancellation \\ \index{difference-plus-cancellation}
(({\it{a\/}} $+$ {\it{x\/}}) $-$ ({\it{a\/}} $+$ {\it{y\/}})) $=$ ({\it{x\/}} $-$ {\it{y\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  pathological-difference \\ \index{pathological-difference}
({\it{x\/}} $<$ {\it{y\/}}) $\rightarrow$ (({\it{x\/}} $-$ {\it{y\/}}) $=$ {\tt{0}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  difference-crock1 \\ \index{difference-crock1}
\=\+(({\it{x\/}} $+$ ({\it{y\/}} $-$ {\it{z\/}})) $-$ {\it{y\/}}) \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{y\/}} $<$ {\it{z\/}}$\;\;${\bf then }{\it{x\/}} $-$ {\it{y\/}} \\ 
{\bf else }{\it{x\/}} $-$ {\it{z\/}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  difference-difference \\ \index{difference-difference}
(({\it{x\/}} $-$ {\it{y\/}}) $-$ {\it{z\/}}) $=$ ({\it{x\/}} $-$ ({\it{y\/}} $+$ {\it{z\/}}))
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  lessp-difference \\ \index{lessp-difference}
(({\it{x\/}} $-$ {\it{y\/}}) $<$ {\it{x\/}}) $=$ (({\it{x\/}} $\not\simeq {\tt{0}}$) $\wedge$ ({\it{y\/}} $\not\simeq {\tt{0}}$))
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  difference-add1 \\ \index{difference-add1}
\=\+(($1\;+$ {\it{x\/}}) $-$ {\it{y\/}}) \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{y\/}} $<$ ($1\;+$ {\it{x\/}})$\;\;${\bf then }$1\;+$ ({\it{x\/}} $-$ {\it{y\/}}) \\ 
{\bf else }{\tt{0}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  remainder-quotient \\ \index{remainder-quotient}
(({\it{x\/}} ${}${\bf{mod}}${}$ {\it{y\/}}) $+$ ({\it{y\/}} $*$ ({\it{x\/}} $\div$ {\it{y\/}}))) $=$ {\rm{fix}}\,({\it{x\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  remainder-by-nonnumber \\ \index{remainder-by-nonnumber}
({\it{x\/}} $\not\in\;${\bf{N}}${}$) $\rightarrow$ (({\it{y\/}} ${}${\bf{mod}}${}$ {\it{x\/}}) $=$ {\rm{fix}}\,({\it{y\/}}))
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  lessp-remainder \\ \index{lessp-remainder}
(({\it{x\/}} ${}${\bf{mod}}${}$ {\it{y\/}}) $<$ {\it{y\/}}) $=$ ({\it{y\/}} $\not\simeq {\tt{0}}$)
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  remainder-quotient-elim \\ \index{remainder-quotient-elim}
(({\it{y\/}} $\not\simeq {\tt{0}}$) $\wedge$ ({\it{x\/}} $\in\;${\bf{N}}${}$)) $\rightarrow$ ((({\it{x\/}} ${}${\bf{mod}}${}$ {\it{y\/}}) $+$ ({\it{y\/}} $*$ ({\it{x\/}} $\div$ {\it{y\/}}))) $=$ {\it{x\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  remainder-x-x \\ \index{remainder-x-x}
({\it{x\/}} ${}${\bf{mod}}${}$ {\it{x\/}}) $=$ {\tt{0}}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  remainder-plus \\ \index{remainder-plus}
(({\it{j\/}} $+$ {\it{x\/}}) ${}${\bf{mod}}${}$ {\it{j\/}}) $=$ ({\it{x\/}} ${}${\bf{mod}}${}$ {\it{j\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  remainder-plus-times \\ \index{remainder-plus-times}
(({\it{x\/}} $+$ ({\it{i\/}} $*$ {\it{j\/}})) ${}${\bf{mod}}${}$ {\it{j\/}}) $=$ ({\it{x\/}} ${}${\bf{mod}}${}$ {\it{j\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  remainder-plus-times-commuted \\ \index{remainder-plus-times-commuted}
(({\it{x\/}} $+$ ({\it{j\/}} $*$ {\it{i\/}})) ${}${\bf{mod}}${}$ {\it{j\/}}) $=$ ({\it{x\/}} ${}${\bf{mod}}${}$ {\it{j\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  remainder-times \\ \index{remainder-times}
(({\it{j\/}} $*$ {\it{i\/}}) ${}${\bf{mod}}${}$ {\it{j\/}}) $=$ {\tt{0}}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  quotient-plus-times \\ \index{quotient-plus-times}
\=\+(({\it{x\/}} $+$ ({\it{i\/}} $*$ {\it{j\/}})) $\div$ {\it{j\/}}) \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{j\/}} $\simeq {\tt{0}}$$\;\;${\bf then }{\tt{0}} \\ 
{\bf else }{\it{i\/}} $+$ ({\it{x\/}} $\div$ {\it{j\/}})$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  quotient-plus-times-commuted \\ \index{quotient-plus-times-commuted}
\=\+(({\it{x\/}} $+$ ({\it{j\/}} $*$ {\it{i\/}})) $\div$ {\it{j\/}}) \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{j\/}} $\simeq {\tt{0}}$$\;\;${\bf then }{\tt{0}} \\ 
{\bf else }{\it{i\/}} $+$ ({\it{x\/}} $\div$ {\it{j\/}})$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  quotient-times \\ \index{quotient-times}
\=\+(({\it{j\/}} $*$ {\it{i\/}}) $\div$ {\it{j\/}}) \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{j\/}} $\simeq {\tt{0}}$$\;\;${\bf then }{\tt{0}} \\ 
{\bf else }{\rm{fix}}\,({\it{i\/}})$\;${\bf  endif}\-\-
\end{tabbing}


\noindent{\sc Event}:   Disable times.

\addvspace{18pt}

\begin{tabbing}{\sc Theorem}:  times-distributes-over-remainder \\ \index{times-distributes-over-remainde!r}
(({\it{x\/}} $*$ {\it{y\/}}) ${}${\bf{mod}}${}$ ({\it{x\/}} $*$ {\it{z\/}})) $=$ ({\it{x\/}} $*$ ({\it{y\/}} ${}${\bf{mod}}${}$ {\it{z\/}}))
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  remainder-of-1 \\ \index{remainder-of-1}
\=\+({\tt{1}} ${}${\bf{mod}}${}$ {\it{x\/}}) \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{x\/}} $=$ {\tt{1}}$\;\;${\bf then }{\tt{0}} \\ 
{\bf else }{\tt{1}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  remainder-crock3 \\ \index{remainder-crock3}
\=\+(({\it{x\/}} $+$ ({\it{y\/}} $-$ {\it{z\/}})) ${}${\bf{mod}}${}$ {\it{y\/}}) \\ 
$=$$\;\;\;\;$\=\+{\bf if }({\it{x\/}} $+$ ({\it{y\/}} $-$ {\it{z\/}})) $<$ {\it{y\/}}$\;\;${\bf then }{\it{x\/}} $+$ ({\it{y\/}} $-$ {\it{z\/}}) \\ 
{\bf elseif }{\it{y\/}} $<$ {\it{z\/}}$\;\;${\bf then }{\it{x\/}} ${}${\bf{mod}}${}$ {\it{y\/}} \\ 
{\bf else }({\it{x\/}} $-$ {\it{z\/}}) ${}${\bf{mod}}${}$ {\it{y\/}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  remainder-of-0 \\ \index{remainder-of-0}
({\tt{0}} ${}${\bf{mod}}${}$ {\it{x\/}}) $=$ {\tt{0}}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  remainder-crock4 \\ \index{remainder-crock4}
\=\+(($1\;+$ ({\it{x\/}} $+$ ({\it{y\/}} $-$ {\it{z\/}}))) ${}${\bf{mod}}${}$ {\it{y\/}}) \\ 
$=$$\;\;\;\;$\=\+{\bf if }($1\;+$ ({\it{x\/}} $+$ ({\it{y\/}} $-$ {\it{z\/}}))) $<$ {\it{y\/}}$\;\;${\bf then }$1\;+$ ({\it{x\/}} $+$ ({\it{y\/}} $-$ {\it{z\/}})) \\ 
{\bf elseif }{\it{y\/}} $<$ {\it{z\/}}$\;\;${\bf then }($1\;+$ {\it{x\/}}) ${}${\bf{mod}}${}$ {\it{y\/}} \\ 
{\bf elseif }{\it{z\/}} $<$ ($1\;+$ {\it{x\/}})$\;\;${\bf then }($1\;+$ ({\it{x\/}} $-$ {\it{z\/}})) ${}${\bf{mod}}${}$ {\it{y\/}} \\ 
{\bf else }{\tt{0}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{evenp} \\  
\=\+{\rm{evenp}}\,({\it{n\/}})\index{evenp} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{n\/}} $\in\;${\bf{N}}${}$ \\ 
{\bf then }\=\+{\bf if }{\it{n\/}} $\simeq {\tt{0}}$$\;\;${\bf then }{\bf{t}} \\ 
{\bf elseif }{\it{n\/}} $=$ {\tt{1}}$\;\;${\bf then }{\bf{f}} \\ 
{\bf else }{\rm{evenp}}\,(({\it{n\/}} $-\;1$) $-\;1$)\index{evenp}$\;${\bf  endif}\- \\ 
{\bf else }{\bf{f}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  evenp-add1 \\ \index{evenp-add1}
(({\it{a\/}} $\in\;${\bf{N}}${}$) $\wedge$ {\rm{evenp}}\,({\it{a\/}})\index{evenp}) $\rightarrow$ ($\neg$ {\rm{evenp}}\,($1\;+$ {\it{a\/}})\index{evenp})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  not-evenp-add1 \\ \index{not-evenp-add1}
(({\it{a\/}} $\in\;${\bf{N}}${}$) $\wedge$ ($\neg$ {\rm{evenp}}\,({\it{a\/}})\index{evenp})) $\rightarrow$ {\rm{evenp}}\,($1\;+$ {\it{a\/}})\index{evenp}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{exor}$\;\;$
{\rm{exor}}\,({\it{a\/}}, {\it{b\/}})\index{exor} $=$ ((($\neg$ {\it{a\/}}) $\wedge$ {\it{b\/}}) $\vee$ ({\it{a\/}} $\wedge$ ($\neg$ {\it{b\/}})))
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{boolp}$\;\;$
{\rm{boolp}}\,({\it{b\/}})\index{boolp} $=$ ({\rm{truep}}\,({\it{b\/}}) $\vee$ {\rm{falsep}}\,({\it{b\/}}))
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  lessp-boolp \\ \index{lessp-boolp}
{\rm{boolp}}\,({\it{a\/}} $<$ {\it{b\/}})\index{boolp}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  truep-boolp \\ \index{truep-boolp}
{\rm{boolp}}\,({\it{a\/}})\index{boolp} $\rightarrow$ ({\rm{truep}}\,({\it{a\/}}) $=$ {\it{a\/}})
\end{tabbing}


\noindent{\sc Event}:   Add the shell {\it{bitvec\/}}\index{bitvec}, with bottom object function symbol {\it{bv-nil\/}}, with recognizer function symbol {\it{bitvecp\/}}, and 2 accessors: {\it{bv-bit\/}}, with type restriction (one-of truep falsep) and default value false; {\it{bv-vec\/}}, with type restriction (one-of bitvecp) and default value bv-nil.

\addvspace{18pt}

\begin{tabbing}{\sc Theorem}:  boolp-bv-bit \\ \index{boolp-bv-bit}
{\rm{boolp}}\,({\rm{bv-bit}}\,({\it{a\/}})\index{bv-bit})\index{boolp}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{carry} \\  
\=\+{\rm{carry}}\,({\it{c\/}})\index{carry} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{c\/}}$\;\;${\bf then }{\tt{1}} \\ 
{\bf else }{\tt{0}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{bv-3}$\;\;$
{\rm{bv-3}}\,({\it{a\/}})\index{bv-3} $=$ {\rm{bv-bit}}\,({\it{a\/}})\index{bv-bit}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{bv-2}$\;\;$
{\rm{bv-2}}\,({\it{a\/}})\index{bv-2} $=$ {\rm{bv-bit}}\,({\rm{bv-vec}}\,({\it{a\/}})\index{bv-vec})\index{bv-bit}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{bv-1}$\;\;$
{\rm{bv-1}}\,({\it{a\/}})\index{bv-1} $=$ {\rm{bv-bit}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{a\/}})\index{bv-vec})\index{bv-vec})\index{bv-bit}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{bv-0}$\;\;$
{\rm{bv-0}}\,({\it{a\/}})\index{bv-0} $=$ {\rm{bv-bit}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{a\/}})\index{bv-vec})\index{bv-vec})\index{bv-vec})\index{bv-bit}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{bv-size} \\  
\=\+{\rm{bv-size}}\,({\it{a\/}})\index{bv-size} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} \\ 
{\bf then }\=\+{\bf if }{\it{a\/}} $=$ {\sc{bv-nil}}\index{bv-nil}$\;\;${\bf then }{\tt{0}} \\ 
{\bf else }$1\;+$ {\rm{bv-size}}\,({\rm{bv-vec}}\,({\it{a\/}})\index{bv-vec})\index{bv-size}$\;${\bf  endif}\- \\ 
{\bf else }{\tt{0}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  size-0 \\ \index{size-0}
({\rm{bv-size}}\,({\it{x\/}})\index{bv-size} $=$ {\tt{0}}) $=$ (({\it{x\/}} $=$ {\sc{bv-nil}}\index{bv-nil}) $\vee$ ($\neg$ {\rm{bitvecp}}\,({\it{x\/}})\index{bitvecp}))
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{controlep}$\;\;$
{\rm{controlep}}\,({\it{c\/}})\index{controlep} $=$ ({\rm{bitvecp}}\,({\it{c\/}})\index{bitvecp} $\wedge$ ({\rm{bv-size}}\,({\it{c\/}})\index{bv-size} $=$ {\tt{4}}))
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{bv-invert-even} \\  
\=\+{\rm{bv-invert-even}}\,({\it{b\/}})\index{bv-invert-even} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} \\ 
{\bf then }\=\+{\bf if }{\it{b\/}} $=$ {\sc{bv-nil}}\index{bv-nil}$\;\;${\bf then }{\sc{bv-nil}}\index{bv-nil} \\ 
{\bf else }{\rm{bitvec}}\,(\=\+\=\+{\bf if }{\rm{evenp}}\,({\rm{bv-size}}\,({\it{b\/}})\index{bv-size})\index{evenp}$\;\;${\bf then }$\neg$ {\rm{bv-bit}}\,({\it{b\/}})\index{bv-bit} \\ 
{\bf else }{\rm{bv-bit}}\,({\it{b\/}})\index{bv-bit}$\;${\bf  endif}\-, \\ 
{\rm{bv-invert-even}}\,({\rm{bv-vec}}\,({\it{b\/}})\index{bv-vec})\index{bv-invert-even})\-\index{bitvec}$\;${\bf  endif}\- \\ 
{\bf else }{\sc{bv-nil}}\index{bv-nil}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{bv-not} \\  
\=\+{\rm{bv-not}}\,({\it{a\/}})\index{bv-not} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} \\ 
{\bf then }\=\+{\bf if }{\it{a\/}} $=$ {\sc{bv-nil}}\index{bv-nil}$\;\;${\bf then }{\sc{bv-nil}}\index{bv-nil} \\ 
{\bf else }{\rm{bitvec}}\,($\neg$ {\rm{bv-bit}}\,({\it{a\/}})\index{bv-bit}, {\rm{bv-not}}\,({\rm{bv-vec}}\,({\it{a\/}})\index{bv-vec})\index{bv-not})\index{bitvec}$\;${\bf  endif}\- \\ 
{\bf else }{\sc{bv-nil}}\index{bv-nil}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{bv-exor} \\  
\=\+{\rm{bv-exor}}\,({\it{a\/}}, {\it{b\/}})\index{bv-exor} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} $\wedge$ ({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size}) \\ 
{\bf then }\=\+{\bf if }{\it{a\/}} $=$ {\sc{bv-nil}}\index{bv-nil}$\;\;${\bf then }{\sc{bv-nil}}\index{bv-nil} \\ 
{\bf else }{\rm{bitvec}}\,(\=\+{\rm{exor}}\,({\rm{bv-bit}}\,({\it{a\/}})\index{bv-bit}, {\rm{bv-bit}}\,({\it{b\/}})\index{bv-bit})\index{exor}, \\ 
{\rm{bv-exor}}\,({\rm{bv-vec}}\,({\it{a\/}})\index{bv-vec}, {\rm{bv-vec}}\,({\it{b\/}})\index{bv-vec})\index{bv-exor})\-\index{bitvec}$\;${\bf  endif}\- \\ 
{\bf else }{\sc{bv-nil}}\index{bv-nil}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  bv-exor-nil-a \\ \index{bv-exor-nil-a}
({\it{a\/}} $=$ {\sc{bv-nil}}\index{bv-nil}) $\rightarrow$ ({\rm{bv-exor}}\,({\it{a\/}}, {\it{b\/}})\index{bv-exor} $=$ {\sc{bv-nil}}\index{bv-nil})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  bv-exor-nil-b \\ \index{bv-exor-nil-b}
({\it{b\/}} $=$ {\sc{bv-nil}}\index{bv-nil}) $\rightarrow$ ({\rm{bv-exor}}\,({\it{a\/}}, {\it{b\/}})\index{bv-exor} $=$ {\sc{bv-nil}}\index{bv-nil})
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{zero-bitvec} \\  
\=\+{\rm{zero-bitvec}}\,({\it{n\/}})\index{zero-bitvec} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{n\/}} $\in\;${\bf{N}}${}$ \\ 
{\bf then }\=\+{\bf if }{\it{n\/}} $\simeq {\tt{0}}$$\;\;${\bf then }{\sc{bv-nil}}\index{bv-nil} \\ 
{\bf else }{\rm{bitvec}}\,({\bf{f}}, {\rm{zero-bitvec}}\,({\it{n\/}} $-\;1$)\index{zero-bitvec})\index{bitvec}$\;${\bf  endif}\- \\ 
{\bf else }{\sc{bv-nil}}\index{bv-nil}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{one-bitvec} \\  
\=\+{\rm{one-bitvec}}\,({\it{n\/}})\index{one-bitvec} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{n\/}} $\in\;${\bf{N}}${}$ \\ 
{\bf then }\=\+{\bf if }{\it{n\/}} $\simeq {\tt{0}}$$\;\;${\bf then }{\sc{bv-nil}}\index{bv-nil} \\ 
{\bf else }{\rm{bitvec}}\,({\bf{t}}, {\rm{one-bitvec}}\,({\it{n\/}} $-\;1$)\index{one-bitvec})\index{bitvec}$\;${\bf  endif}\- \\ 
{\bf else }{\sc{bv-nil}}\index{bv-nil}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  size-zerobv \\ \index{size-zerobv}
{\rm{bv-size}}\,({\rm{zero-bitvec}}\,({\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\index{zero-bitvec})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{a\/}})\index{bv-size}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  size-onebv \\ \index{size-onebv}
{\rm{bv-size}}\,({\rm{one-bitvec}}\,({\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\index{one-bitvec})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{a\/}})\index{bv-size}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  size-bvnot \\ \index{size-bvnot}
{\rm{bv-size}}\,({\rm{bv-not}}\,({\it{a\/}})\index{bv-not})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{a\/}})\index{bv-size}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  size-bvexor \\ \index{size-bvexor}
\=\+({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} $\wedge$ ({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size})) \\ 
$\rightarrow$$\;\;\;\;$({\rm{bv-size}}\,({\rm{bv-exor}}\,({\it{a\/}}, {\it{b\/}})\index{bv-exor})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  size-bvinv \\ \index{size-bvinv}
{\rm{bv-size}}\,({\rm{bv-invert-even}}\,({\it{a\/}})\index{bv-invert-even})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{a\/}})\index{bv-size}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{bv-append} \\  
\=\+{\rm{bv-append}}\,({\it{a\/}}, {\it{b\/}})\index{bv-append} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} \\ 
{\bf then }\=\+{\bf if }{\it{a\/}} $=$ {\sc{bv-nil}}\index{bv-nil}$\;\;${\bf then }{\it{b\/}} \\ 
{\bf else }{\rm{bitvec}}\,({\rm{bv-bit}}\,({\it{a\/}})\index{bv-bit}, {\rm{bv-append}}\,({\rm{bv-vec}}\,({\it{a\/}})\index{bv-vec}, {\it{b\/}})\index{bv-append})\index{bitvec}$\;${\bf  endif}\- \\ 
{\bf else }{\sc{bv-nil}}\index{bv-nil}$\;${\bf  endif}\-\-
\end{tabbing}


\noindent{\sc Event}:   Add the shell {\it{bitvec-carry-ovf\/}}\index{bitvec-carry-ovf}, with bottom object function symbol {\it{bvco-nil\/}}, with recognizer function symbol {\it{bitvec-carry-ovfp\/}}, and 3 accessors: {\it{bvco-bitvec\/}}, with type restriction (one-of bitvecp) and default value bv-nil; {\it{bvco-carry\/}}, with type restriction (one-of truep falsep) and default value false; {\it{bvco-ovf\/}}, with type restriction (one-of truep falsep) and default value false.

\addvspace{18pt}

\begin{tabbing}{\sc Theorem}:  boolp-bvco-carry \\ \index{boolp-bvco-carry}
{\rm{boolp}}\,({\rm{bvco-carry}}\,({\it{a\/}})\index{bvco-carry})\index{boolp}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  boolp-bvco-ovf \\ \index{boolp-bvco-ovf}
{\rm{boolp}}\,({\rm{bvco-ovf}}\,({\it{a\/}})\index{bvco-ovf})\index{boolp}
\end{tabbing}


\noindent{\sc Event}:   Add the shell {\it{carry-sign-ovf-bitvec\/}}\index{carry-sign-ovf-bitvec}, with bottom object function symbol {\it{csobv-nil\/}}, with recognizer function symbol {\it{carry-sign-ovf-bitvecp\/}}, and 4 accessors: {\it{csobv-carry\/}}, with type restriction (one-of truep falsep) and default value false; {\it{csobv-sign\/}}, with type restriction (one-of truep falsep) and default value false; {\it{csobv-ovf\/}}, with type restriction (one-of truep falsep) and default value false; {\it{csobv-bitvec\/}}, with type restriction (one-of bitvecp) and default value bv-nil.

\addvspace{18pt}

\begin{tabbing}{\sc Definition}:\index{tcp} \\  
{\rm{tcp}}\,({\it{x\/}})\index{tcp} $=$ (({\it{x\/}} $\in\;${\bf{N}}${}$) $\vee$ ({\rm{negativep}}\,({\it{x\/}}) $\wedge$ ({\rm{negative-guts}}\,({\it{x\/}}) $\not\simeq {\tt{0}}$)))
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{tc-in-rangep} \\  
\=\+{\rm{tc-in-rangep}}\,({\it{x\/}}, {\it{n\/}})\index{tc-in-rangep} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{n\/}} $\simeq {\tt{0}}$$\;\;${\bf then }{\bf{f}} \\ 
{\bf elseif }{\rm{negativep}}\,({\it{x\/}})$\;\;${\bf then }{\rm{twoto}}\,({\it{n\/}} $-\;1$)\index{twoto} $\not<$ {\rm{negative-guts}}\,({\it{x\/}}) \\ 
{\bf else }{\it{x\/}} $<$ {\rm{twoto}}\,({\it{n\/}} $-\;1$)\index{twoto}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{add} \\  
\=\+{\rm{add}}\,({\it{a\/}}, {\it{b\/}})\index{add} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{negativep}}\,({\it{a\/}}) \\ 
{\bf then }\=\+{\bf if }{\rm{negativep}}\,({\it{b\/}})$\;\;${\bf then }$-$ ({\rm{negative-guts}}\,({\it{a\/}}) $+$ {\rm{negative-guts}}\,({\it{b\/}})) \\ 
{\bf elseif }{\it{b\/}} $<$ {\rm{negative-guts}}\,({\it{a\/}})$\;\;${\bf then }$-$ ({\rm{negative-guts}}\,({\it{a\/}}) $-$ {\it{b\/}}) \\ 
{\bf else }{\it{b\/}} $-$ {\rm{negative-guts}}\,({\it{a\/}})$\;${\bf  endif}\- \\ 
{\bf elseif }{\rm{negativep}}\,({\it{b\/}}) \\ 
{\bf then }\=\+{\bf if }{\it{a\/}} $<$ {\rm{negative-guts}}\,({\it{b\/}})$\;\;${\bf then }$-$ ({\rm{negative-guts}}\,({\it{b\/}}) $-$ {\it{a\/}}) \\ 
{\bf else }{\it{a\/}} $-$ {\rm{negative-guts}}\,({\it{b\/}})$\;${\bf  endif}\- \\ 
{\bf else }{\it{a\/}} $+$ {\it{b\/}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  commutativity2-of-add \\ \index{commutativity2-of-add}
{\rm{add}}\,({\it{x\/}}, {\rm{add}}\,({\it{y\/}}, {\it{z\/}})\index{add})\index{add} $=$ {\rm{add}}\,({\it{y\/}}, {\rm{add}}\,({\it{x\/}}, {\it{z\/}})\index{add})\index{add}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  commutativity-of-add \\ \index{commutativity-of-add}
{\rm{add}}\,({\it{x\/}}, {\it{y\/}})\index{add} $=$ {\rm{add}}\,({\it{y\/}}, {\it{x\/}})\index{add}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  associativity-of-add \\ \index{associativity-of-add}
{\rm{add}}\,({\rm{add}}\,({\it{x\/}}, {\it{y\/}})\index{add}, {\it{z\/}})\index{add} $=$ {\rm{add}}\,({\it{x\/}}, {\rm{add}}\,({\it{y\/}}, {\it{z\/}})\index{add})\index{add}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{bv-to-nat} \\  
\=\+{\rm{bv-to-nat}}\,({\it{a\/}})\index{bv-to-nat} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} \\ 
{\bf then }\=\+{\bf if }{\it{a\/}} $=$ {\sc{bv-nil}}\index{bv-nil}$\;\;${\bf then }{\tt{0}} \\ 
{\bf else }\=\+(\=\+\=\+{\bf if }{\rm{bv-bit}}\,({\it{a\/}})\index{bv-bit}$\;\;${\bf then }{\tt{1}} \\ 
{\bf else }{\tt{0}}$\;${\bf  endif}\- \\ 
$*$$\;\;\;\;${\rm{twoto}}\,({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $-\;1$)\index{twoto})\- \\ 
$+$$\;\;\;\;${\rm{bv-to-nat}}\,({\rm{bv-vec}}\,({\it{a\/}})\index{bv-vec})\index{bv-to-nat}\-$\;${\bf  endif}\- \\ 
{\bf else }{\tt{0}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{nat-to-bv} \\  
\=\+{\rm{nat-to-bv}}\,({\it{a\/}}, {\it{size\/}})\index{nat-to-bv} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{size\/}} $\simeq {\tt{0}}$$\;\;${\bf then }{\sc{bv-nil}}\index{bv-nil} \\ 
{\bf else }{\rm{bitvec}}\,(\=\+\=\+{\bf if }({\it{a\/}} $\div$ {\rm{twoto}}\,({\it{size\/}} $-\;1$)\index{twoto}) $=$ {\tt{1}}$\;\;${\bf then }{\bf{t}} \\ 
{\bf else }{\bf{f}}$\;${\bf  endif}\-, \\ 
{\rm{nat-to-bv}}\,({\it{a\/}} ${}${\bf{mod}}${}$ {\rm{twoto}}\,({\it{size\/}} $-\;1$)\index{twoto}, {\it{size\/}} $-\;1$)\index{nat-to-bv})\-\index{bitvec}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{tc-to-integer} \\  
\=\+{\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} \\ 
{\bf then }\=\+{\bf if }{\rm{falsep}}\,({\rm{bv-bit}}\,({\it{a\/}})\index{bv-bit})$\;\;${\bf then }{\rm{bv-to-nat}}\,({\it{a\/}})\index{bv-to-nat} \\ 
{\bf else }{\rm{add}}\,({\rm{bv-to-nat}}\,({\it{a\/}})\index{bv-to-nat}, $-$ {\rm{twoto}}\,({\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\index{twoto})\index{add}$\;${\bf  endif}\- \\ 
{\bf else }{\tt{0}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{nat-to-integer} \\  
\=\+{\rm{nat-to-integer}}\,({\it{n\/}}, {\it{size\/}})\index{nat-to-integer} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{n\/}} $<$ {\rm{twoto}}\,({\it{size\/}} $-\;1$)\index{twoto}$\;\;${\bf then }{\it{n\/}} \\ 
{\bf else }$-$ ({\rm{twoto}}\,({\it{size\/}})\index{twoto} $-$ {\it{n\/}})$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{integer-to-nat} \\  
\=\+{\rm{integer-to-nat}}\,({\it{n\/}}, {\it{size\/}})\index{integer-to-nat} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{negativep}}\,({\it{n\/}})$\;\;${\bf then }{\rm{twoto}}\,({\it{size\/}})\index{twoto} $-$ {\rm{negative-guts}}\,({\it{n\/}}) \\ 
{\bf else }{\it{n\/}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  upper-bound-on-bv-to-nat \\ \index{upper-bound-on-bv-to-nat}
{\rm{bv-to-nat}}\,({\it{a\/}})\index{bv-to-nat} $<$ {\rm{twoto}}\,({\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\index{twoto}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  bv-to-nat-to-integer-lemma2 \\ \index{bv-to-nat-to-integer-lemma2}
\=\+{\rm{bv-bit}}\,({\it{a\/}})\index{bv-bit} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $\simeq {\tt{0}}$$\;\;${\bf then }{\bf{f}} \\ 
{\bf else }{\rm{bv-to-nat}}\,({\it{a\/}})\index{bv-to-nat} $\not<$ {\rm{twoto}}\,({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $-\;1$)\index{twoto}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  nat-to-bv-of-trunc \\ \index{nat-to-bv-of-trunc}
\=\+({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ {\rm{boolp}}\,({\it{b\/}})\index{boolp}) \\ 
$\rightarrow$$\;\;\;\;$({\rm{bv-to-nat}}\,({\it{a\/}})\index{bv-to-nat} $=$ ({\rm{bv-to-nat}}\,({\rm{bitvec}}\,({\it{b\/}}, {\it{a\/}})\index{bitvec})\index{bv-to-nat} ${}${\bf{mod}}${}$ {\rm{twoto}}\,({\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\index{twoto}))\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  tcp-tc-to-integer \\ \index{tcp-tc-to-integer}
{\rm{tcp}}\,({\rm{tc-to-integer}}\,({\it{n\/}})\index{tc-to-integer})\index{tcp}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  upper-bound-on-non-negative-bv-to-nat \\ \index{upper-bound-on-non-negative-bv-t!o-nat}
\=\+({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ ({\it{a\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}) $\wedge$ ($\neg$ {\rm{bv-bit}}\,({\it{a\/}})\index{bv-bit})) \\ 
$\rightarrow$$\;\;\;\;$({\rm{bv-to-nat}}\,({\it{a\/}})\index{bv-to-nat} $<$ {\rm{twoto}}\,({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $-\;1$)\index{twoto})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  lower-bound-on-negative-bv-to-nat \\ \index{lower-bound-on-negative-bv-to-n!at}
\=\+({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ ({\it{a\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}) $\wedge$ {\rm{bv-bit}}\,({\it{a\/}})\index{bv-bit}) \\ 
$\rightarrow$$\;\;\;\;$({\rm{bv-to-nat}}\,({\it{a\/}})\index{bv-to-nat} $\not<$ {\rm{twoto}}\,({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $-\;1$)\index{twoto})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  integer-in-rangep-of-tc-to-integer \\ \index{integer-in-rangep-of-tc-to-inte!ger}
\=\+({\it{n\/}} $=$ {\rm{bv-size}}\,({\it{a\/}})\index{bv-size}) \\ 
$\rightarrow$$\;\;\;\;$({\rm{tc-in-rangep}}\,({\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer}, {\it{n\/}})\index{tc-in-rangep} $=$ ({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ ({\it{a\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil})))\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  plus-to-add \\ \index{plus-to-add}
\=\+({\rm{tcp}}\,({\it{x\/}})\index{tcp} $\wedge$ {\rm{tcp}}\,({\it{y\/}})\index{tcp} $\wedge$ {\rm{tc-in-rangep}}\,({\it{x\/}}, {\it{n\/}})\index{tc-in-rangep} $\wedge$ {\rm{tc-in-rangep}}\,({\it{y\/}}, {\it{n\/}})\index{tc-in-rangep}) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{nat-to-integer}}\,(\=\+\=\+(\=\+{\rm{carry}}\,({\it{c\/}})\index{carry} \\ 
$+$$\;\;\;\;${\rm{integer-to-nat}}\,({\it{x\/}}, {\it{n\/}})\index{integer-to-nat} \\ 
$+$$\;\;\;\;${\rm{integer-to-nat}}\,({\it{y\/}}, {\it{n\/}})\index{integer-to-nat})\- \\ 
${}${\bf{mod}}${}$$\;\;\;\;${\rm{twoto}}\,({\it{n\/}})\index{twoto}\-, \\ 
{\it{n\/}})\-\index{nat-to-integer} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{tc-in-rangep}}\,({\rm{add}}\,({\it{x\/}}, {\rm{add}}\,({\it{y\/}}, {\rm{carry}}\,({\it{c\/}})\index{carry})\index{add})\index{add}, {\it{n\/}})\index{tc-in-rangep} \\ 
{\bf then }{\rm{add}}\,({\it{x\/}}, {\rm{add}}\,({\it{y\/}}, {\rm{carry}}\,({\it{c\/}})\index{carry})\index{add})\index{add} \\ 
{\bf elseif }{\rm{negativep}}\,({\rm{add}}\,({\it{x\/}}, {\rm{add}}\,({\it{y\/}}, {\rm{carry}}\,({\it{c\/}})\index{carry})\index{add})\index{add}) \\ 
{\bf then }{\rm{add}}\,({\it{x\/}}, {\rm{add}}\,({\it{y\/}}, {\rm{add}}\,({\rm{carry}}\,({\it{c\/}})\index{carry}, {\rm{twoto}}\,({\it{n\/}})\index{twoto})\index{add})\index{add})\index{add} \\ 
{\bf else }{\rm{add}}\,({\it{x\/}}, {\rm{add}}\,({\it{y\/}}, {\rm{add}}\,({\rm{carry}}\,({\it{c\/}})\index{carry}, $-$ {\rm{twoto}}\,({\it{n\/}})\index{twoto})\index{add})\index{add})\index{add}$\;${\bf  endif}\-)\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  times-2-twoto \\ \index{times-2-twoto}
({\it{a\/}} $\in\;${\bf{N}}${}$) $\rightarrow$ (({\tt{2}} $*$ {\rm{twoto}}\,({\it{a\/}})\index{twoto}) $=$ {\rm{twoto}}\,($1\;+$ {\it{a\/}})\index{twoto})
\end{tabbing}


\noindent{\sc Event}:   Disable times-2-twoto.

\addvspace{18pt}

\begin{tabbing}{\sc Theorem}:  bv-to-nat-to-integer \\ \index{bv-to-nat-to-integer}
{\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer} $=$ {\rm{nat-to-integer}}\,({\rm{bv-to-nat}}\,({\it{a\/}})\index{bv-to-nat}, {\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\index{nat-to-integer}
\end{tabbing}


\noindent{\sc Event}:   Disable bv-to-nat-to-integer.

\addvspace{18pt}

\begin{tabbing}{\sc Theorem}:  tc-to-integer-to-nat \\ \index{tc-to-integer-to-nat}
\=\+({\it{n\/}} $=$ {\rm{bv-size}}\,({\it{a\/}})\index{bv-size}) \\ 
$\rightarrow$$\;\;\;\;$({\rm{bv-to-nat}}\,({\it{a\/}})\index{bv-to-nat} $=$ {\rm{integer-to-nat}}\,({\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer}, {\it{n\/}})\index{integer-to-nat})\-
\end{tabbing}


\noindent{\sc Event}:   Disable tc-to-integer-to-nat.

\addvspace{18pt}

\begin{tabbing}{\sc Theorem}:  bit-on-implies-non-0 \\ \index{bit-on-implies-non-0}
{\rm{bv-bit}}\,({\it{a\/}})\index{bv-bit} $\rightarrow$ ({\rm{bv-to-nat}}\,({\it{a\/}})\index{bv-to-nat} $\not=$ {\tt{0}})
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{bv-adder} \\  
\=\+{\rm{bv-adder}}\,({\it{a\/}}, {\it{b\/}}, {\it{cin\/}})\index{bv-adder} \\ 
$=$$\;\;\;\;$\=\+{\bf if }\=\+{\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{cin\/}})\index{boolp}\- \\ 
{\bf then }\=\+{\bf if }{\it{a\/}} $=$ {\sc{bv-nil}}\index{bv-nil}$\;\;${\bf then }{\rm{bitvec-carry-ovf}}\,({\sc{bv-nil}}\index{bv-nil}, {\it{cin\/}}, {\bf{f}})\index{bitvec-carry-ovf} \\ 
{\bf else }{\rm{bitvec-carry-ovf}}\,(\=\+{\rm{bitvec}}\,(\=\+{\rm{exor}}\,(\=\+{\rm{exor}}\,({\rm{bv-bit}}\,({\it{a\/}})\index{bv-bit}, {\rm{bv-bit}}\,({\it{b\/}})\index{bv-bit})\index{exor}, \\ 
{\rm{bvco-carry}}\,({\rm{bv-adder}}\,(\=\+{\rm{bv-vec}}\,({\it{a\/}})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\it{b\/}})\index{bv-vec}, \\ 
{\it{cin\/}})\-\index{bv-adder})\index{bvco-carry})\-\index{exor}, \\ 
{\rm{bvco-bitvec}}\,({\rm{bv-adder}}\,(\=\+{\rm{bv-vec}}\,({\it{a\/}})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\it{b\/}})\index{bv-vec}, \\ 
{\it{cin\/}})\-\index{bv-adder})\index{bvco-bitvec})\-\index{bitvec}, \\ 
\=\+({\rm{bv-bit}}\,({\it{a\/}})\index{bv-bit} $\wedge$ {\rm{bv-bit}}\,({\it{b\/}})\index{bv-bit}) \\ 
$\vee$$\;\;\;\;$(\=\+{\rm{bv-bit}}\,({\it{a\/}})\index{bv-bit} \\ 
$\wedge$$\;\;\;\;${\rm{bvco-carry}}\,({\rm{bv-adder}}\,(\=\+{\rm{bv-vec}}\,({\it{a\/}})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\it{b\/}})\index{bv-vec}, \\ 
{\it{cin\/}})\-\index{bv-adder})\index{bvco-carry})\- \\ 
$\vee$$\;\;\;\;$(\=\+{\rm{bv-bit}}\,({\it{b\/}})\index{bv-bit} \\ 
$\wedge$$\;\;\;\;${\rm{bvco-carry}}\,({\rm{bv-adder}}\,(\=\+{\rm{bv-vec}}\,({\it{a\/}})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\it{b\/}})\index{bv-vec}, \\ 
{\it{cin\/}})\-\index{bv-adder})\index{bvco-carry})\-\-, \\ 
{\rm{bvco-carry}}\,({\rm{bv-adder}}\,(\=\+{\rm{bv-vec}}\,({\it{a\/}})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\it{b\/}})\index{bv-vec}, \\ 
{\it{cin\/}})\-\index{bv-adder})\index{bvco-carry})\-\index{bitvec-carry-ovf}$\;${\bf  endif}\- \\ 
{\bf else }{\sc{bvco-nil}}\index{bvco-nil}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  size-bv-adder \\ \index{size-bv-adder}
\=\+({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} $\wedge$ {\rm{boolp}}\,({\it{cin\/}})\index{boolp} $\wedge$ ({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size})) \\ 
$\rightarrow$$\;\;\;\;$({\rm{bv-size}}\,({\rm{bvco-bitvec}}\,({\rm{bv-adder}}\,({\it{a\/}}, {\it{b\/}}, {\it{cin\/}})\index{bv-adder})\index{bvco-bitvec})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  bv-adder-plusses \\ \index{bv-adder-plusses}
\=\+({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} $\wedge$ {\rm{boolp}}\,({\it{cin\/}})\index{boolp} $\wedge$ ({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{bv-to-nat}}\,({\rm{bitvec}}\,(\=\+{\rm{bvco-carry}}\,({\rm{bv-adder}}\,({\it{a\/}}, {\it{b\/}}, {\it{cin\/}})\index{bv-adder})\index{bvco-carry}, \\ 
{\rm{bvco-bitvec}}\,({\rm{bv-adder}}\,({\it{a\/}}, {\it{b\/}}, {\it{cin\/}})\index{bv-adder})\index{bvco-bitvec})\-\index{bitvec})\index{bv-to-nat} \\ 
$=$$\;\;\;\;$({\rm{bv-to-nat}}\,({\it{a\/}})\index{bv-to-nat} $+$ {\rm{bv-to-nat}}\,({\it{b\/}})\index{bv-to-nat} $+$ {\rm{carry}}\,({\it{cin\/}})\index{carry}))\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  bv-adder-non-nil \\ \index{bv-adder-non-nil}
\=\+(\=\+{\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{cin\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;$({\it{a\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}) \\ 
$\wedge$$\;\;\;\;$({\it{b\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}))\- \\ 
$\rightarrow$$\;\;\;\;$(({\rm{bvco-bitvec}}\,({\rm{bv-adder}}\,({\it{a\/}}, {\it{b\/}}, {\it{cin\/}})\index{bv-adder})\index{bvco-bitvec} $=$ {\sc{bv-nil}}\index{bv-nil}) $=$ {\bf{f}})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  nat-interpretation-of-bv-adder-output \\ \index{nat-interpretation-of-bv-adder-!output}
\=\+({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} $\wedge$ ({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size}) $\wedge$ {\rm{boolp}}\,({\it{cin\/}})\index{boolp}) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{bv-to-nat}}\,({\rm{bvco-bitvec}}\,({\rm{bv-adder}}\,({\it{a\/}}, {\it{b\/}}, {\it{cin\/}})\index{bv-adder})\index{bvco-bitvec})\index{bv-to-nat} \\ 
$=$$\;\;\;\;$(\=\+({\rm{bv-to-nat}}\,({\it{a\/}})\index{bv-to-nat} $+$ {\rm{bv-to-nat}}\,({\it{b\/}})\index{bv-to-nat} $+$ {\rm{carry}}\,({\it{cin\/}})\index{carry}) \\ 
${}${\bf{mod}}${}$$\;\;\;\;${\rm{twoto}}\,({\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\index{twoto})\-)\-\-
\end{tabbing}


\noindent{\sc Event}:   Disable nat-interpretation-of-bv-adder-output.

\addvspace{18pt}

\begin{tabbing}{\sc Theorem}:  integer-interpretation-of-bv-adder-output-lemma1 \\ \index{integer-interpretation-of-bv-ad!der-output-lemma1}
\=\+({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} $\wedge$ ({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size}) $\wedge$ {\rm{boolp}}\,({\it{cin\/}})\index{boolp}) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{tc-to-integer}}\,({\rm{bvco-bitvec}}\,({\rm{bv-adder}}\,({\it{a\/}}, {\it{b\/}}, {\it{cin\/}})\index{bv-adder})\index{bvco-bitvec})\index{tc-to-integer} \\ 
$=$$\;\;\;\;${\rm{nat-to-integer}}\,(\=\+\=\+({\rm{bv-to-nat}}\,({\it{a\/}})\index{bv-to-nat} $+$ {\rm{bv-to-nat}}\,({\it{b\/}})\index{bv-to-nat} $+$ {\rm{carry}}\,({\it{cin\/}})\index{carry}) \\ 
${}${\bf{mod}}${}$$\;\;\;\;${\rm{twoto}}\,({\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\index{twoto}\-, \\ 
{\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\-\index{nat-to-integer})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  integer-interpretation-of-bv-adder-output \\ \index{integer-interpretation-of-bv-ad!der-output}
\=\+(\=\+{\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;$({\it{a\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}) \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{cin\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;$({\it{b\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}) \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size}))\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{tc-to-integer}}\,({\rm{bvco-bitvec}}\,({\rm{bv-adder}}\,({\it{a\/}}, {\it{b\/}}, {\it{cin\/}})\index{bv-adder})\index{bvco-bitvec})\index{tc-to-integer} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{tc-in-rangep}}\,(\=\+{\rm{add}}\,(\=\+{\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer}, \\ 
{\rm{add}}\,({\rm{tc-to-integer}}\,({\it{b\/}})\index{tc-to-integer}, {\rm{carry}}\,({\it{cin\/}})\index{carry})\index{add})\-\index{add}, \\ 
{\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\-\index{tc-in-rangep} \\ 
{\bf then }{\rm{add}}\,({\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer}, {\rm{add}}\,({\rm{tc-to-integer}}\,({\it{b\/}})\index{tc-to-integer}, {\rm{carry}}\,({\it{cin\/}})\index{carry})\index{add})\index{add} \\ 
{\bf elseif }{\rm{negativep}}\,({\rm{add}}\,(\=\+{\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer}, \\ 
{\rm{add}}\,({\rm{tc-to-integer}}\,({\it{b\/}})\index{tc-to-integer}, {\rm{carry}}\,({\it{cin\/}})\index{carry})\index{add})\-\index{add}) \\ 
{\bf then }{\rm{add}}\,(\=\+{\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer}, \\ 
{\rm{add}}\,(\=\+{\rm{tc-to-integer}}\,({\it{b\/}})\index{tc-to-integer}, \\ 
{\rm{add}}\,({\rm{carry}}\,({\it{cin\/}})\index{carry}, {\rm{twoto}}\,({\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\index{twoto})\index{add})\-\index{add})\-\index{add} \\ 
{\bf else }{\rm{add}}\,(\=\+{\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer}, \\ 
{\rm{add}}\,(\=\+{\rm{tc-to-integer}}\,({\it{b\/}})\index{tc-to-integer}, \\ 
{\rm{add}}\,({\rm{carry}}\,({\it{cin\/}})\index{carry}, $-$ {\rm{twoto}}\,({\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\index{twoto})\index{add})\-\index{add})\-\index{add}$\;${\bf  endif}\-)\-\-
\end{tabbing}


\noindent{\sc Event}:   Disable integer-interpretation-of-bv-adder-output-lemma1.

\addvspace{18pt}


\noindent{\sc Event}:   Disable integer-interpretation-of-bv-adder-output.

\addvspace{18pt}

\begin{tabbing}{\sc Definition}:\index{alucod-fc} \\  
{\rm{alucod-fc}}\,({\it{ik\/}}, {\it{ip\/}}, {\it{cc\/}})\index{alucod-fc} $=$ (({\it{ik\/}} $\wedge$ ($\neg$ {\it{ip\/}})) $\vee$ ({\it{ip\/}} $\wedge$ ($\neg$ {\it{cc\/}})))
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  boolp-alucod-fc \\ \index{boolp-alucod-fc}
{\rm{boolp}}\,({\rm{alucod-fc}}\,({\it{k\/}}, {\it{p\/}}, {\it{c\/}})\index{alucod-fc})\index{boolp}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{alucev-fc} \\  
{\rm{alucev-fc}}\,({\it{ik\/}}, {\it{ip\/}}, {\it{cc\/}})\index{alucev-fc} $=$ ((($\neg$ {\it{ik\/}}) $\wedge$ ($\neg$ {\it{ip\/}})) $\vee$ ({\it{ip\/}} $\wedge$ ($\neg$ {\it{cc\/}})))
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  boolp-alucev-fc \\ \index{boolp-alucev-fc}
{\rm{boolp}}\,({\rm{alucev-fc}}\,({\it{k\/}}, {\it{p\/}}, {\it{c\/}})\index{alucev-fc})\index{boolp}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{addbyp-fcout} \\  
\=\+{\rm{addbyp-fcout}}\,({\it{cinshot\/}}, {\it{prop1\/}}, {\it{prop2\/}}, {\it{prop3\/}}, {\it{prop4\/}}, {\it{cinnorm\/}})\index{addbyp-fcout} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{prop1\/}} $\wedge$ {\it{prop2\/}} $\wedge$ {\it{prop3\/}} $\wedge$ {\it{prop4\/}}$\;\;${\bf then }{\it{cinshot\/}} \\ 
{\bf else }{\it{cinnorm\/}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{c4} \\  
\=\+{\rm{c4}}\,({\it{cp1\/}}, {\it{cp2\/}}, {\it{cp3\/}}, {\it{cp4\/}}, {\it{ck1\/}}, {\it{ck2\/}}, {\it{ck3\/}}, {\it{ck4\/}}, {\it{cin\/}})\index{c4} \\ 
$=$$\;\;\;\;$\=\+{\bf if }\=\+{\rm{boolp}}\,({\it{cp1\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{cp2\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{cp3\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{cp4\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{ck1\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{ck2\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{ck3\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{ck4\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{cin\/}})\index{boolp}\- \\ 
{\bf then }{\rm{bitvec-carry-ovf}}\,(\=\+{\rm{bitvec}}\,(\=\+{\rm{alucod-fc}}\,(\=\+{\it{ck2\/}}, \\ 
{\it{cp2\/}}, \\ 
{\rm{alucev-fc}}\,(\=\+{\it{ck3\/}}, \\ 
{\it{cp3\/}}, \\ 
{\rm{alucod-fc}}\,(\=\+{\it{ck4\/}}, \\ 
{\it{cp4\/}}, \\ 
{\it{cin\/}})\-\index{alucod-fc})\-\index{alucev-fc})\-\index{alucod-fc}, \\ 
{\rm{bitvec}}\,(\=\+{\rm{alucev-fc}}\,(\=\+{\it{ck3\/}}, \\ 
{\it{cp3\/}}, \\ 
{\rm{alucod-fc}}\,({\it{ck4\/}}, {\it{cp4\/}}, {\it{cin\/}})\index{alucod-fc})\-\index{alucev-fc}, \\ 
{\rm{bitvec}}\,(\=\+{\rm{alucod-fc}}\,({\it{ck4\/}}, {\it{cp4\/}}, {\it{cin\/}})\index{alucod-fc}, \\ 
{\rm{bitvec}}\,({\it{cin\/}}, {\sc{bv-nil}}\index{bv-nil})\index{bitvec})\-\index{bitvec})\-\index{bitvec})\-\index{bitvec}, \\ 
{\rm{alucev-fc}}\,(\=\+{\it{ck1\/}}, \\ 
{\it{cp1\/}}, \\ 
{\rm{alucod-fc}}\,(\=\+{\it{ck2\/}}, \\ 
{\it{cp2\/}}, \\ 
{\rm{alucev-fc}}\,(\=\+{\it{ck3\/}}, \\ 
{\it{cp3\/}}, \\ 
{\rm{alucod-fc}}\,(\=\+{\it{ck4\/}}, \\ 
{\it{cp4\/}}, \\ 
{\it{cin\/}})\-\index{alucod-fc})\-\index{alucev-fc})\-\index{alucod-fc})\-\index{alucev-fc}, \\ 
{\rm{alucod-fc}}\,(\=\+{\it{ck2\/}}, \\ 
{\it{cp2\/}}, \\ 
{\rm{alucev-fc}}\,(\=\+{\it{ck3\/}}, \\ 
{\it{cp3\/}}, \\ 
{\rm{alucod-fc}}\,({\it{ck4\/}}, {\it{cp4\/}}, {\it{cin\/}})\index{alucod-fc})\-\index{alucev-fc})\-\index{alucod-fc})\-\index{bitvec-carry-ovf} \\ 
{\bf else }{\sc{bvco-nil}}\index{bvco-nil}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{c4byp} \\  
\=\+{\rm{c4byp}}\,({\it{cp1\/}}, {\it{cp2\/}}, {\it{cp3\/}}, {\it{cp4\/}}, {\it{ck1\/}}, {\it{ck2\/}}, {\it{ck3\/}}, {\it{ck4\/}}, {\it{cin\/}})\index{c4byp} \\ 
$=$$\;\;\;\;$\=\+{\bf if }\=\+{\rm{boolp}}\,({\it{cp1\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{cp2\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{cp3\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{cp4\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{ck1\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{ck2\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{ck3\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{ck4\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{cin\/}})\index{boolp}\- \\ 
{\bf then }{\rm{bitvec-carry-ovf}}\,(\=\+{\rm{bitvec}}\,(\=\+{\rm{alucod-fc}}\,(\=\+{\it{ck2\/}}, \\ 
{\it{cp2\/}}, \\ 
{\rm{alucev-fc}}\,(\=\+{\it{ck3\/}}, \\ 
{\it{cp3\/}}, \\ 
{\rm{alucod-fc}}\,(\=\+{\it{ck4\/}}, \\ 
{\it{cp4\/}}, \\ 
{\it{cin\/}})\-\index{alucod-fc})\-\index{alucev-fc})\-\index{alucod-fc}, \\ 
{\rm{bitvec}}\,(\=\+{\rm{alucev-fc}}\,(\=\+{\it{ck3\/}}, \\ 
{\it{cp3\/}}, \\ 
{\rm{alucod-fc}}\,({\it{ck4\/}}, {\it{cp4\/}}, {\it{cin\/}})\index{alucod-fc})\-\index{alucev-fc}, \\ 
{\rm{bitvec}}\,(\=\+{\rm{alucod-fc}}\,({\it{ck4\/}}, {\it{cp4\/}}, {\it{cin\/}})\index{alucod-fc}, \\ 
{\rm{bitvec}}\,({\it{cin\/}}, {\sc{bv-nil}}\index{bv-nil})\index{bitvec})\-\index{bitvec})\-\index{bitvec})\-\index{bitvec}, \\ 
{\rm{addbyp-fcout}}\,(\=\+{\it{cin\/}}, \\ 
{\it{cp4\/}}, \\ 
{\it{cp3\/}}, \\ 
{\it{cp2\/}}, \\ 
{\it{cp1\/}}, \\ 
{\rm{alucev-fc}}\,(\=\+{\it{ck1\/}}, \\ 
{\it{cp1\/}}, \\ 
{\rm{alucod-fc}}\,(\=\+{\it{ck2\/}}, \\ 
{\it{cp2\/}}, \\ 
{\rm{alucev-fc}}\,(\=\+{\it{ck3\/}}, \\ 
{\it{cp3\/}}, \\ 
{\rm{alucod-fc}}\,(\=\+{\it{ck4\/}}, \\ 
{\it{cp4\/}}, \\ 
{\it{cin\/}})\-\index{alucod-fc})\-\index{alucev-fc})\-\index{alucod-fc})\-\index{alucev-fc})\-\index{addbyp-fcout}, \\ 
{\rm{alucod-fc}}\,(\=\+{\it{ck2\/}}, \\ 
{\it{cp2\/}}, \\ 
{\rm{alucev-fc}}\,(\=\+{\it{ck3\/}}, \\ 
{\it{cp3\/}}, \\ 
{\rm{alucod-fc}}\,({\it{ck4\/}}, {\it{cp4\/}}, {\it{cin\/}})\index{alucod-fc})\-\index{alucev-fc})\-\index{alucod-fc})\-\index{bitvec-carry-ovf} \\ 
{\bf else }{\sc{bvco-nil}}\index{bvco-nil}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  c4-c4byp-help \\ \index{c4-c4byp-help}
\=\+(\=\+{\rm{boolp}}\,({\it{ck1\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{ck2\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{ck3\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{ck4\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{cp1\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{cp2\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{cp3\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{cp4\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{cin\/}})\index{boolp})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{addbyp-fcout}}\,(\=\+{\it{cin\/}}, \\ 
{\it{cp4\/}}, \\ 
{\it{cp3\/}}, \\ 
{\it{cp2\/}}, \\ 
{\it{cp1\/}}, \\ 
{\rm{alucev-fc}}\,(\=\+{\it{ck1\/}}, \\ 
{\it{cp1\/}}, \\ 
{\rm{alucod-fc}}\,(\=\+{\it{ck2\/}}, \\ 
{\it{cp2\/}}, \\ 
{\rm{alucev-fc}}\,(\=\+{\it{ck3\/}}, \\ 
{\it{cp3\/}}, \\ 
{\rm{alucod-fc}}\,({\it{ck4\/}}, {\it{cp4\/}}, {\it{cin\/}})\index{alucod-fc})\-\index{alucev-fc})\-\index{alucod-fc})\-\index{alucev-fc})\-\index{addbyp-fcout} \\ 
$=$$\;\;\;\;${\rm{alucev-fc}}\,(\=\+{\it{ck1\/}}, \\ 
{\it{cp1\/}}, \\ 
{\rm{alucod-fc}}\,(\=\+{\it{ck2\/}}, \\ 
{\it{cp2\/}}, \\ 
{\rm{alucev-fc}}\,({\it{ck3\/}}, {\it{cp3\/}}, {\rm{alucod-fc}}\,({\it{ck4\/}}, {\it{cp4\/}}, {\it{cin\/}})\index{alucod-fc})\index{alucev-fc})\-\index{alucod-fc})\-\index{alucev-fc})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  c4-c4byp-relate \\ \index{c4-c4byp-relate}
\=\+(\=\+{\rm{boolp}}\,({\it{p1\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{p2\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{p3\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{p4\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{k1\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{k2\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{k3\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{k4\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{cin\/}})\index{boolp})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{c4byp}}\,({\it{p1\/}}, {\it{p2\/}}, {\it{p3\/}}, {\it{p4\/}}, {\it{k1\/}}, {\it{k2\/}}, {\it{k3\/}}, {\it{k4\/}}, {\it{cin\/}})\index{c4byp} \\ 
$=$$\;\;\;\;${\rm{c4}}\,({\it{p1\/}}, {\it{p2\/}}, {\it{p3\/}}, {\it{p4\/}}, {\it{k1\/}}, {\it{k2\/}}, {\it{k3\/}}, {\it{k4\/}}, {\it{cin\/}})\index{c4})\-\-
\end{tabbing}


\noindent{\sc Event}:   Disable c4.

\addvspace{18pt}


\noindent{\sc Event}:   Disable c4byp.

\addvspace{18pt}


\noindent{\sc Event}:   Disable c4-c4byp-help.

\addvspace{18pt}

\begin{tabbing}{\sc Definition}:\index{carry-col} \\  
\=\+{\rm{carry-col}}\,({\it{ik\/}}, {\it{ip\/}}, {\it{ccin\/}})\index{carry-col} \\ 
$=$$\;\;\;\;$\=\+{\bf if }\=\+{\rm{bitvecp}}\,({\it{ik\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{ip\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{ccin\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{ik\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{ip\/}})\index{bv-size})\- \\ 
{\bf then }\=\+{\bf if }{\it{ik\/}} $=$ {\sc{bv-nil}}\index{bv-nil}$\;\;${\bf then }{\rm{bitvec-carry-ovf}}\,({\sc{bv-nil}}\index{bv-nil}, {\it{ccin\/}}, {\bf{f}})\index{bitvec-carry-ovf} \\ 
{\bf else }{\rm{bitvec-carry-ovf}}\,(\=\+{\rm{bitvec}}\,(\=\+{\rm{bvco-carry}}\,({\rm{carry-col}}\,(\=\+{\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec}, \\ 
{\it{ccin\/}})\-\index{carry-col})\index{bvco-carry}, \\ 
{\rm{bvco-bitvec}}\,({\rm{carry-col}}\,(\=\+{\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec}, \\ 
{\it{ccin\/}})\-\index{carry-col})\index{bvco-bitvec})\-\index{bitvec}, \\ 
\=\+{\bf if }{\rm{evenp}}\,({\rm{bv-size}}\,({\it{ik\/}})\index{bv-size})\index{evenp} \\ 
{\bf then }{\rm{alucev-fc}}\,(\=\+{\rm{bv-bit}}\,({\it{ik\/}})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\it{ip\/}})\index{bv-bit}, \\ 
{\rm{bvco-carry}}\,({\rm{carry-col}}\,(\=\+{\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec}, \\ 
{\it{ccin\/}})\-\index{carry-col})\index{bvco-carry})\-\index{alucev-fc} \\ 
{\bf else }{\rm{alucod-fc}}\,(\=\+{\rm{bv-bit}}\,({\it{ik\/}})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\it{ip\/}})\index{bv-bit}, \\ 
{\rm{bvco-carry}}\,({\rm{carry-col}}\,(\=\+{\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec}, \\ 
{\it{ccin\/}})\-\index{carry-col})\index{bvco-carry})\-\index{alucod-fc}$\;${\bf  endif}\-, \\ 
{\rm{bvco-carry}}\,({\rm{carry-col}}\,(\=\+{\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec}, \\ 
{\it{ccin\/}})\-\index{carry-col})\index{bvco-carry})\-\index{bitvec-carry-ovf}$\;${\bf  endif}\- \\ 
{\bf else }{\sc{bvco-nil}}\index{bvco-nil}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  size-carry-col \\ \index{size-carry-col}
\=\+({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} $\wedge$ ({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size}) $\wedge$ {\rm{boolp}}\,({\it{ccin\/}})\index{boolp}) \\ 
$\rightarrow$$\;\;\;\;$({\rm{bv-size}}\,({\rm{bvco-bitvec}}\,({\rm{carry-col}}\,({\it{a\/}}, {\it{b\/}}, {\it{ccin\/}})\index{carry-col})\index{bvco-bitvec})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{up}$\;\;$
{\rm{up}}\,({\it{nb\/}})\index{up} $=$ (({\tt{4}} $*$ (({\it{nb\/}} $-$ {\tt{10}}) $\div$ {\tt{4}})) $+$ {\tt{9}})
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{carry-col2} \\  
\=\+{\rm{carry-col2}}\,({\it{ik\/}}, {\it{ip\/}}, {\it{ccin\/}}, {\it{nb\/}})\index{carry-col2} \\ 
$=$$\;\;\;\;$\=\+{\bf if }\=\+{\rm{bitvecp}}\,({\it{ik\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{ip\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{ccin\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{ik\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{ip\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;${\rm{evenp}}\,({\it{nb\/}})\index{evenp}\- \\ 
{\bf then }\=\+{\bf if }{\it{ik\/}} $=$ {\sc{bv-nil}}\index{bv-nil}$\;\;${\bf then }{\rm{bitvec-carry-ovf}}\,({\sc{bv-nil}}\index{bv-nil}, {\it{ccin\/}}, {\bf{f}})\index{bitvec-carry-ovf} \\ 
{\bf elseif }\=\+({\rm{bv-size}}\,({\it{ik\/}})\index{bv-size} $<$ {\rm{up}}\,({\it{nb\/}})\index{up}) \\ 
$\wedge$$\;\;\;\;$({\tt{11}} $<$ {\it{nb\/}}) \\ 
$\wedge$$\;\;\;\;$({\tt{4}} $<$ {\rm{bv-size}}\,({\it{ik\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;${\rm{evenp}}\,({\rm{bv-size}}\,({\it{ik\/}})\index{bv-size})\index{evenp}\- \\ 
{\bf then }{\rm{bitvec-carry-ovf}}\,(\=\+{\rm{bv-append}}\,(\=\+{\rm{bvco-bitvec}}\,({\rm{c4}}\,(\=\+{\rm{bv-bit}}\,({\it{ip\/}})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec})\index{bv-vec})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\it{ik\/}})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec})\index{bv-vec})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bvco-carry}}\,({\rm{carry-col2}}\,(\=\+{\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec})\index{bv-vec})\index{bv-vec})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec})\index{bv-vec})\index{bv-vec})\index{bv-vec}, \\ 
{\it{ccin\/}}, \\ 
{\it{nb\/}})\-\index{carry-col2})\index{bvco-carry})\-\index{c4})\index{bvco-bitvec}, \\ 
{\rm{bvco-bitvec}}\,({\rm{carry-col2}}\,(\=\+{\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec})\index{bv-vec})\index{bv-vec})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec})\index{bv-vec})\index{bv-vec})\index{bv-vec}, \\ 
{\it{ccin\/}}, \\ 
{\it{nb\/}})\-\index{carry-col2})\index{bvco-bitvec})\-\index{bv-append}, \\ 
{\rm{bvco-carry}}\,({\rm{c4}}\,(\=\+{\rm{bv-bit}}\,({\it{ip\/}})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec})\index{bv-vec})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\it{ik\/}})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec})\index{bv-vec})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bvco-carry}}\,({\rm{carry-col2}}\,(\=\+{\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec})\index{bv-vec})\index{bv-vec})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec})\index{bv-vec})\index{bv-vec})\index{bv-vec}, \\ 
{\it{ccin\/}}, \\ 
{\it{nb\/}})\-\index{carry-col2})\index{bvco-carry})\-\index{c4})\index{bvco-carry}, \\ 
{\rm{bvco-carry}}\,({\rm{carry-col2}}\,(\=\+{\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec}, \\ 
{\it{ccin\/}}, \\ 
{\it{nb\/}})\-\index{carry-col2})\index{bvco-carry})\-\index{bitvec-carry-ovf} \\ 
{\bf else }{\rm{bitvec-carry-ovf}}\,(\=\+{\rm{bitvec}}\,(\=\+{\rm{bvco-carry}}\,({\rm{carry-col2}}\,(\=\+{\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec}, \\ 
{\it{ccin\/}}, \\ 
{\it{nb\/}})\-\index{carry-col2})\index{bvco-carry}, \\ 
{\rm{bvco-bitvec}}\,({\rm{carry-col2}}\,(\=\+{\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec}, \\ 
{\it{ccin\/}}, \\ 
{\it{nb\/}})\-\index{carry-col2})\index{bvco-bitvec})\-\index{bitvec}, \\ 
\=\+{\bf if }{\rm{evenp}}\,({\rm{bv-size}}\,({\it{ik\/}})\index{bv-size})\index{evenp} \\ 
{\bf then }{\rm{alucev-fc}}\,(\=\+{\rm{bv-bit}}\,({\it{ik\/}})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\it{ip\/}})\index{bv-bit}, \\ 
{\rm{bvco-carry}}\,({\rm{carry-col2}}\,(\=\+{\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec}, \\ 
{\it{ccin\/}}, \\ 
{\it{nb\/}})\-\index{carry-col2})\index{bvco-carry})\-\index{alucev-fc} \\ 
{\bf else }{\rm{alucod-fc}}\,(\=\+{\rm{bv-bit}}\,({\it{ik\/}})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\it{ip\/}})\index{bv-bit}, \\ 
{\rm{bvco-carry}}\,({\rm{carry-col2}}\,(\=\+{\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec}, \\ 
{\it{ccin\/}}, \\ 
{\it{nb\/}})\-\index{carry-col2})\index{bvco-carry})\-\index{alucod-fc}$\;${\bf  endif}\-, \\ 
{\rm{bvco-carry}}\,({\rm{carry-col2}}\,(\=\+{\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec}, \\ 
{\it{ccin\/}}, \\ 
{\it{nb\/}})\-\index{carry-col2})\index{bvco-carry})\-\index{bitvec-carry-ovf}$\;${\bf  endif}\- \\ 
{\bf else }{\sc{bvco-nil}}\index{bvco-nil}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  app-c4-carry1 \\ \index{app-c4-carry1}
\=\+(\=\+{\rm{bitvecp}}\,({\it{ik\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{ip\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{ccin\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{evenp}}\,({\rm{bv-size}}\,({\it{ik\/}})\index{bv-size})\index{evenp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{ik\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{ip\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;$({\tt{4}} $<$ {\rm{bv-size}}\,({\it{ik\/}})\index{bv-size}))\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{bv-append}}\,(\=\+{\rm{bvco-bitvec}}\,({\rm{c4}}\,(\=\+{\rm{bv-bit}}\,({\it{ip\/}})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec})\index{bv-vec})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\it{ik\/}})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec})\index{bv-vec})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bvco-carry}}\,({\rm{carry-col}}\,(\=\+{\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec})\index{bv-vec})\index{bv-vec})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec})\index{bv-vec})\index{bv-vec})\index{bv-vec}, \\ 
{\it{ccin\/}})\-\index{carry-col})\index{bvco-carry})\-\index{c4})\index{bvco-bitvec}, \\ 
{\rm{bvco-bitvec}}\,({\rm{carry-col}}\,(\=\+{\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec})\index{bv-vec})\index{bv-vec})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec})\index{bv-vec})\index{bv-vec})\index{bv-vec}, \\ 
{\it{ccin\/}})\-\index{carry-col})\index{bvco-bitvec})\-\index{bv-append} \\ 
$=$$\;\;\;\;${\rm{bitvec}}\,(\=\+{\rm{bvco-carry}}\,({\rm{carry-col}}\,({\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec}, {\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec}, {\it{ccin\/}})\index{carry-col})\index{bvco-carry}, \\ 
{\rm{bvco-bitvec}}\,({\rm{carry-col}}\,({\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec}, {\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec}, {\it{ccin\/}})\index{carry-col})\index{bvco-bitvec})\-\index{bitvec})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  app-c4-carry2 \\ \index{app-c4-carry2}
\=\+(\=\+{\rm{bitvecp}}\,({\it{ik\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{ip\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{ccin\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{evenp}}\,({\rm{bv-size}}\,({\it{ik\/}})\index{bv-size})\index{evenp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{ik\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{ip\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;$({\tt{4}} $<$ {\rm{bv-size}}\,({\it{ik\/}})\index{bv-size}))\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{bvco-carry}}\,({\rm{c4}}\,(\=\+{\rm{bv-bit}}\,({\it{ip\/}})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec})\index{bv-vec})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\it{ik\/}})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec})\index{bv-vec})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bvco-carry}}\,({\rm{carry-col}}\,(\=\+{\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec})\index{bv-vec})\index{bv-vec})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec})\index{bv-vec})\index{bv-vec})\index{bv-vec}, \\ 
{\it{ccin\/}})\-\index{carry-col})\index{bvco-carry})\-\index{c4})\index{bvco-carry} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{evenp}}\,({\rm{bv-size}}\,({\it{ik\/}})\index{bv-size})\index{evenp} \\ 
{\bf then }{\rm{alucev-fc}}\,(\=\+{\rm{bv-bit}}\,({\it{ik\/}})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\it{ip\/}})\index{bv-bit}, \\ 
{\rm{bvco-carry}}\,({\rm{carry-col}}\,(\=\+{\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec}, \\ 
{\it{ccin\/}})\-\index{carry-col})\index{bvco-carry})\-\index{alucev-fc} \\ 
{\bf else }{\rm{alucod-fc}}\,(\=\+{\rm{bv-bit}}\,({\it{ik\/}})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\it{ip\/}})\index{bv-bit}, \\ 
{\rm{bvco-carry}}\,({\rm{carry-col}}\,(\=\+{\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec}, \\ 
{\it{ccin\/}})\-\index{carry-col})\index{bvco-carry})\-\index{alucod-fc}$\;${\bf  endif}\-)\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{induct-carry-col2} \\  
\=\+{\rm{induct-carry-col2}}\,({\it{ik\/}}, {\it{ip\/}}, {\it{ccin\/}}, {\it{nb\/}})\index{induct-carry-col2} \\ 
$=$$\;\;\;\;$\=\+{\bf if }\=\+{\rm{bitvecp}}\,({\it{ik\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{ip\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{ccin\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{ik\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{ip\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;${\rm{evenp}}\,({\it{nb\/}})\index{evenp}\- \\ 
{\bf then }\=\+{\bf if }{\it{ik\/}} $=$ {\sc{bv-nil}}\index{bv-nil}$\;\;${\bf then }{\bf{t}} \\ 
{\bf elseif }\=\+({\rm{bv-size}}\,({\it{ik\/}})\index{bv-size} $<$ {\rm{up}}\,({\it{nb\/}})\index{up}) \\ 
$\wedge$$\;\;\;\;$({\tt{11}} $<$ {\it{nb\/}}) \\ 
$\wedge$$\;\;\;\;$({\tt{4}} $<$ {\rm{bv-size}}\,({\it{ik\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;${\rm{evenp}}\,({\rm{bv-size}}\,({\it{ik\/}})\index{bv-size})\index{evenp}\- \\ 
{\bf then }\=\+{\rm{induct-carry-col2}}\,(\=\+{\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec})\index{bv-vec})\index{bv-vec})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec})\index{bv-vec})\index{bv-vec})\index{bv-vec}, \\ 
{\it{ccin\/}}, \\ 
{\it{nb\/}})\-\index{induct-carry-col2} \\ 
$\wedge$$\;\;\;\;${\rm{induct-carry-col2}}\,({\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec}, {\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec}, {\it{ccin\/}}, {\it{nb\/}})\index{induct-carry-col2}\- \\ 
{\bf else }{\rm{induct-carry-col2}}\,({\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec}, {\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec}, {\it{ccin\/}}, {\it{nb\/}})\index{induct-carry-col2}$\;${\bf  endif}\- \\ 
{\bf else }{\bf{t}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  carry2-carry-relate \\ \index{carry2-carry-relate}
{\rm{evenp}}\,({\it{nb\/}})\index{evenp} $\rightarrow$ ({\rm{carry-col2}}\,({\it{ik\/}}, {\it{ip\/}}, {\it{ccin\/}}, {\it{nb\/}})\index{carry-col2} $=$ {\rm{carry-col}}\,({\it{ik\/}}, {\it{ip\/}}, {\it{ccin\/}})\index{carry-col})
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{cbyp-col} \\  
\=\+{\rm{cbyp-col}}\,({\it{ik\/}}, {\it{ip\/}}, {\it{ccin\/}}, {\it{nb\/}})\index{cbyp-col} \\ 
$=$$\;\;\;\;$\=\+{\bf if }\=\+{\rm{bitvecp}}\,({\it{ik\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{ip\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{ccin\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{ik\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{ip\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;${\rm{evenp}}\,({\it{nb\/}})\index{evenp}\- \\ 
{\bf then }\=\+{\bf if }{\it{ik\/}} $=$ {\sc{bv-nil}}\index{bv-nil}$\;\;${\bf then }{\rm{bitvec-carry-ovf}}\,({\sc{bv-nil}}\index{bv-nil}, {\it{ccin\/}}, {\bf{f}})\index{bitvec-carry-ovf} \\ 
{\bf elseif }\=\+({\rm{bv-size}}\,({\it{ik\/}})\index{bv-size} $<$ {\rm{up}}\,({\it{nb\/}})\index{up}) \\ 
$\wedge$$\;\;\;\;$({\tt{11}} $<$ {\it{nb\/}}) \\ 
$\wedge$$\;\;\;\;$({\tt{4}} $<$ {\rm{bv-size}}\,({\it{ik\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;${\rm{evenp}}\,({\rm{bv-size}}\,({\it{ik\/}})\index{bv-size})\index{evenp}\- \\ 
{\bf then }{\rm{bitvec-carry-ovf}}\,(\=\+{\rm{bv-append}}\,(\=\+{\rm{bvco-bitvec}}\,({\rm{c4byp}}\,(\=\+{\rm{bv-bit}}\,({\it{ip\/}})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec})\index{bv-vec})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\it{ik\/}})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec})\index{bv-vec})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bvco-carry}}\,({\rm{cbyp-col}}\,(\=\+{\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec})\index{bv-vec})\index{bv-vec})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec})\index{bv-vec})\index{bv-vec})\index{bv-vec}, \\ 
{\it{ccin\/}}, \\ 
{\it{nb\/}})\-\index{cbyp-col})\index{bvco-carry})\-\index{c4byp})\index{bvco-bitvec}, \\ 
{\rm{bvco-bitvec}}\,({\rm{cbyp-col}}\,(\=\+{\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec})\index{bv-vec})\index{bv-vec})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec})\index{bv-vec})\index{bv-vec})\index{bv-vec}, \\ 
{\it{ccin\/}}, \\ 
{\it{nb\/}})\-\index{cbyp-col})\index{bvco-bitvec})\-\index{bv-append}, \\ 
{\rm{bvco-carry}}\,({\rm{c4byp}}\,(\=\+{\rm{bv-bit}}\,({\it{ip\/}})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec})\index{bv-vec})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\it{ik\/}})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec})\index{bv-vec})\index{bv-vec})\index{bv-bit}, \\ 
{\rm{bvco-carry}}\,({\rm{cbyp-col}}\,(\=\+{\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec})\index{bv-vec})\index{bv-vec})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec})\index{bv-vec})\index{bv-vec})\index{bv-vec}, \\ 
{\it{ccin\/}}, \\ 
{\it{nb\/}})\-\index{cbyp-col})\index{bvco-carry})\-\index{c4byp})\index{bvco-carry}, \\ 
{\rm{bvco-carry}}\,({\rm{cbyp-col}}\,(\=\+{\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec}, \\ 
{\it{ccin\/}}, \\ 
{\it{nb\/}})\-\index{cbyp-col})\index{bvco-carry})\-\index{bitvec-carry-ovf} \\ 
{\bf else }{\rm{bitvec-carry-ovf}}\,(\=\+{\rm{bitvec}}\,(\=\+{\rm{bvco-carry}}\,({\rm{cbyp-col}}\,(\=\+{\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec}, \\ 
{\it{ccin\/}}, \\ 
{\it{nb\/}})\-\index{cbyp-col})\index{bvco-carry}, \\ 
{\rm{bvco-bitvec}}\,({\rm{cbyp-col}}\,(\=\+{\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec}, \\ 
{\it{ccin\/}}, \\ 
{\it{nb\/}})\-\index{cbyp-col})\index{bvco-bitvec})\-\index{bitvec}, \\ 
\=\+{\bf if }{\rm{evenp}}\,({\rm{bv-size}}\,({\it{ik\/}})\index{bv-size})\index{evenp} \\ 
{\bf then }{\rm{alucev-fc}}\,(\=\+{\rm{bv-bit}}\,({\it{ik\/}})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\it{ip\/}})\index{bv-bit}, \\ 
{\rm{bvco-carry}}\,({\rm{cbyp-col}}\,(\=\+{\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec}, \\ 
{\it{ccin\/}}, \\ 
{\it{nb\/}})\-\index{cbyp-col})\index{bvco-carry})\-\index{alucev-fc} \\ 
{\bf else }{\rm{alucod-fc}}\,(\=\+{\rm{bv-bit}}\,({\it{ik\/}})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\it{ip\/}})\index{bv-bit}, \\ 
{\rm{bvco-carry}}\,({\rm{cbyp-col}}\,(\=\+{\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec}, \\ 
{\it{ccin\/}}, \\ 
{\it{nb\/}})\-\index{cbyp-col})\index{bvco-carry})\-\index{alucod-fc}$\;${\bf  endif}\-, \\ 
{\rm{bvco-carry}}\,({\rm{cbyp-col}}\,(\=\+{\rm{bv-vec}}\,({\it{ik\/}})\index{bv-vec}, \\ 
{\rm{bv-vec}}\,({\it{ip\/}})\index{bv-vec}, \\ 
{\it{ccin\/}}, \\ 
{\it{nb\/}})\-\index{cbyp-col})\index{bvco-carry})\-\index{bitvec-carry-ovf}$\;${\bf  endif}\- \\ 
{\bf else }{\sc{bvco-nil}}\index{bvco-nil}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  cbyp-carry2-relate \\ \index{cbyp-carry2-relate}
{\rm{cbyp-col}}\,({\it{ik\/}}, {\it{ip\/}}, {\it{ccin\/}}, {\it{nb\/}})\index{cbyp-col} $=$ {\rm{carry-col2}}\,({\it{ik\/}}, {\it{ip\/}}, {\it{ccin\/}}, {\it{nb\/}})\index{carry-col2}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  cbyp-carry-relate \\ \index{cbyp-carry-relate}
{\rm{evenp}}\,({\it{nb\/}})\index{evenp} $\rightarrow$ ({\rm{cbyp-col}}\,({\it{k\/}}, {\it{p\/}}, {\it{cin\/}}, {\it{nb\/}})\index{cbyp-col} $=$ {\rm{carry-col}}\,({\it{k\/}}, {\it{p\/}}, {\it{cin\/}})\index{carry-col})
\end{tabbing}


\noindent{\sc Event}:   Disable cbyp-carry2-relate.

\addvspace{18pt}


\noindent{\sc Event}:   Disable carry2-carry-relate.

\addvspace{18pt}

\begin{tabbing}{\sc Definition}:\index{alugen-o} \\  
\=\+{\rm{alugen-o}}\,({\it{ct3\/}}, {\it{ct2\/}}, {\it{ct1\/}}, {\it{ct0\/}}, {\it{ia\/}}, {\it{ib\/}})\index{alugen-o} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{falsep}}\,({\it{ia\/}}) \\ 
{\bf then }\=\+{\bf if }{\rm{falsep}}\,({\it{ib\/}})$\;\;${\bf then }$\neg$ {\it{ct2\/}} \\ 
{\bf else }$\neg$ {\it{ct3\/}}$\;${\bf  endif}\- \\ 
{\bf elseif }{\rm{falsep}}\,({\it{ib\/}})$\;\;${\bf then }$\neg$ {\it{ct1\/}} \\ 
{\bf else }$\neg$ {\it{ct0\/}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{alugenod-o} \\  
\=\+{\rm{alugenod-o}}\,({\it{ct3\/}}, {\it{ct2\/}}, {\it{ct1\/}}, {\it{ct0\/}}, {\it{ia\/}}, {\it{ib\/}})\index{alugenod-o} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{falsep}}\,({\it{ia\/}}) \\ 
{\bf then }\=\+{\bf if }{\rm{falsep}}\,({\it{ib\/}})$\;\;${\bf then }$\neg$ {\it{ct3\/}} \\ 
{\bf else }$\neg$ {\it{ct2\/}}$\;${\bf  endif}\- \\ 
{\bf elseif }{\rm{falsep}}\,({\it{ib\/}})$\;\;${\bf then }$\neg$ {\it{ct0\/}} \\ 
{\bf else }$\neg$ {\it{ct1\/}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  alugen-alugenod-relate \\ \index{alugen-alugenod-relate}
{\rm{alugen-o}}\,({\it{ct3\/}}, {\it{ct2\/}}, {\it{ct1\/}}, {\it{ct0\/}}, {\it{a\/}}, {\it{b\/}})\index{alugen-o} $=$ {\rm{alugenod-o}}\,({\it{ct3\/}}, {\it{ct2\/}}, {\it{ct1\/}}, {\it{ct0\/}}, {\it{a\/}}, $\neg$ {\it{b\/}})\index{alugenod-o}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  alugenodo-func \\ \index{alugenodo-func}
\=\+({\rm{boolp}}\,({\it{a\/}})\index{boolp} $\wedge$ {\rm{boolp}}\,({\it{b\/}})\index{boolp}) \\ 
$\rightarrow$$\;\;\;\;$(\=\+({\rm{alugenod-o}}\,({\bf{t}}, {\bf{t}}, {\bf{t}}, {\bf{t}}, {\it{a\/}}, {\it{b\/}})\index{alugenod-o} $=$ {\bf{f}}) \\ 
$\wedge$$\;\;\;\;$({\rm{alugenod-o}}\,({\bf{t}}, {\bf{t}}, {\bf{t}}, {\bf{f}}, {\it{a\/}}, {\it{b\/}})\index{alugenod-o} $=$ ({\it{a\/}} $\wedge$ ($\neg$ {\it{b\/}}))) \\ 
$\wedge$$\;\;\;\;$({\rm{alugenod-o}}\,({\bf{t}}, {\bf{t}}, {\bf{f}}, {\bf{t}}, {\it{a\/}}, {\it{b\/}})\index{alugenod-o} $=$ ({\it{a\/}} $\wedge$ {\it{b\/}})) \\ 
$\wedge$$\;\;\;\;$({\rm{alugenod-o}}\,({\bf{t}}, {\bf{t}}, {\bf{f}}, {\bf{f}}, {\it{a\/}}, {\it{b\/}})\index{alugenod-o} $=$ {\it{a\/}}) \\ 
$\wedge$$\;\;\;\;$({\rm{alugenod-o}}\,({\bf{t}}, {\bf{f}}, {\bf{t}}, {\bf{t}}, {\it{a\/}}, {\it{b\/}})\index{alugenod-o} $=$ (($\neg$ {\it{a\/}}) $\wedge$ {\it{b\/}})) \\ 
$\wedge$$\;\;\;\;$({\rm{alugenod-o}}\,({\bf{t}}, {\bf{f}}, {\bf{t}}, {\bf{f}}, {\it{a\/}}, {\it{b\/}})\index{alugenod-o} $=$ {\rm{exor}}\,({\it{a\/}}, {\it{b\/}})\index{exor}) \\ 
$\wedge$$\;\;\;\;$({\rm{alugenod-o}}\,({\bf{t}}, {\bf{f}}, {\bf{f}}, {\bf{t}}, {\it{a\/}}, {\it{b\/}})\index{alugenod-o} $=$ {\it{b\/}}) \\ 
$\wedge$$\;\;\;\;$({\rm{alugenod-o}}\,({\bf{t}}, {\bf{f}}, {\bf{f}}, {\bf{f}}, {\it{a\/}}, {\it{b\/}})\index{alugenod-o} $=$ ({\it{a\/}} $\vee$ {\it{b\/}})) \\ 
$\wedge$$\;\;\;\;$({\rm{alugenod-o}}\,({\bf{f}}, {\bf{t}}, {\bf{t}}, {\bf{t}}, {\it{a\/}}, {\it{b\/}})\index{alugenod-o} $=$ ($\neg$ ({\it{a\/}} $\vee$ {\it{b\/}}))) \\ 
$\wedge$$\;\;\;\;$({\rm{alugenod-o}}\,({\bf{f}}, {\bf{t}}, {\bf{t}}, {\bf{f}}, {\it{a\/}}, {\it{b\/}})\index{alugenod-o} $=$ ($\neg$ {\it{b\/}})) \\ 
$\wedge$$\;\;\;\;$({\rm{alugenod-o}}\,({\bf{f}}, {\bf{t}}, {\bf{f}}, {\bf{t}}, {\it{a\/}}, {\it{b\/}})\index{alugenod-o} $=$ ($\neg$ {\rm{exor}}\,({\it{a\/}}, {\it{b\/}})\index{exor})) \\ 
$\wedge$$\;\;\;\;$({\rm{alugenod-o}}\,({\bf{f}}, {\bf{t}}, {\bf{f}}, {\bf{f}}, {\it{a\/}}, {\it{b\/}})\index{alugenod-o} $=$ ({\it{a\/}} $\vee$ ($\neg$ {\it{b\/}}))) \\ 
$\wedge$$\;\;\;\;$({\rm{alugenod-o}}\,({\bf{f}}, {\bf{f}}, {\bf{t}}, {\bf{t}}, {\it{a\/}}, {\it{b\/}})\index{alugenod-o} $=$ ($\neg$ {\it{a\/}})) \\ 
$\wedge$$\;\;\;\;$({\rm{alugenod-o}}\,({\bf{f}}, {\bf{f}}, {\bf{t}}, {\bf{f}}, {\it{a\/}}, {\it{b\/}})\index{alugenod-o} $=$ ($\neg$ ({\it{a\/}} $\wedge$ {\it{b\/}}))) \\ 
$\wedge$$\;\;\;\;$({\rm{alugenod-o}}\,({\bf{f}}, {\bf{f}}, {\bf{f}}, {\bf{t}}, {\it{a\/}}, {\it{b\/}})\index{alugenod-o} $=$ (($\neg$ {\it{a\/}}) $\vee$ {\it{b\/}})) \\ 
$\wedge$$\;\;\;\;$({\rm{alugenod-o}}\,({\bf{f}}, {\bf{f}}, {\bf{f}}, {\bf{f}}, {\it{a\/}}, {\it{b\/}})\index{alugenod-o} $=$ {\bf{t}}))\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{cscbi11}$\;\;$
{\rm{cscbi11}}\,({\it{input\/}})\index{cscbi11} $=$ ($\neg$ {\it{input\/}})
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{cscbo11}$\;\;$
{\rm{cscbo11}}\,({\it{input\/}})\index{cscbo11} $=$ ($\neg$ {\it{input\/}})
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{prop-col} \\  
\=\+{\rm{prop-col}}\,({\it{ina\/}}, {\it{inb\/}}, {\it{cp\/}})\index{prop-col} \\ 
$=$$\;\;\;\;$\=\+{\bf if }\=\+{\rm{bitvecp}}\,({\it{ina\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{inb\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{controlep}}\,({\it{cp\/}})\index{controlep} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{ina\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{inb\/}})\index{bv-size})\- \\ 
{\bf then }\=\+{\bf if }{\it{ina\/}} $=$ {\sc{bv-nil}}\index{bv-nil}$\;\;${\bf then }{\sc{bv-nil}}\index{bv-nil} \\ 
{\bf else }{\rm{bitvec}}\,(\=\+{\rm{alugen-o}}\,(\=\+{\rm{cscbi11}}\,({\rm{bv-3}}\,({\it{cp\/}})\index{bv-3})\index{cscbi11}, \\ 
{\rm{cscbi11}}\,({\rm{bv-2}}\,({\it{cp\/}})\index{bv-2})\index{cscbi11}, \\ 
{\rm{cscbi11}}\,({\rm{bv-1}}\,({\it{cp\/}})\index{bv-1})\index{cscbi11}, \\ 
{\rm{cscbi11}}\,({\rm{bv-0}}\,({\it{cp\/}})\index{bv-0})\index{cscbi11}, \\ 
{\rm{bv-bit}}\,({\it{ina\/}})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\it{inb\/}})\index{bv-bit})\-\index{alugen-o}, \\ 
{\rm{prop-col}}\,({\rm{bv-vec}}\,({\it{ina\/}})\index{bv-vec}, {\rm{bv-vec}}\,({\it{inb\/}})\index{bv-vec}, {\it{cp\/}})\index{prop-col})\-\index{bitvec}$\;${\bf  endif}\- \\ 
{\bf else }{\sc{bv-nil}}\index{bv-nil}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  size-prop-col \\ \index{size-prop-col}
\=\+({\rm{controlep}}\,({\it{cp\/}})\index{controlep} $\wedge$ {\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} $\wedge$ ({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size})) \\ 
$\rightarrow$$\;\;\;\;$({\rm{bv-size}}\,({\rm{prop-col}}\,({\it{a\/}}, {\it{b\/}}, {\it{cp\/}})\index{prop-col})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  prop-col-5 \\ \index{prop-col-5}
\=\+({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} $\wedge$ ({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size})) \\ 
$\rightarrow$$\;\;\;\;$({\rm{prop-col}}\,({\it{a\/}}, {\it{b\/}}, {\rm{nat-to-bv}}\,({\tt{5}}, {\tt{4}})\index{nat-to-bv})\index{prop-col} $=$ {\rm{bv-not}}\,({\rm{bv-exor}}\,({\it{a\/}}, {\it{b\/}})\index{bv-exor})\index{bv-not})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  prop-col-10 \\ \index{prop-col-10}
\=\+({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} $\wedge$ ({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size})) \\ 
$\rightarrow$$\;\;\;\;$({\rm{prop-col}}\,({\it{a\/}}, {\it{b\/}}, {\rm{nat-to-bv}}\,({\tt{10}}, {\tt{4}})\index{nat-to-bv})\index{prop-col} $=$ {\rm{bv-exor}}\,({\it{a\/}}, {\it{b\/}})\index{bv-exor})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  prop-col-12 \\ \index{prop-col-12}
\=\+({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} $\wedge$ ({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size})) \\ 
$\rightarrow$$\;\;\;\;$({\rm{prop-col}}\,({\it{a\/}}, {\it{b\/}}, {\rm{nat-to-bv}}\,({\tt{12}}, {\tt{4}})\index{nat-to-bv})\index{prop-col} $=$ {\rm{bv-not}}\,({\it{a\/}})\index{bv-not})\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{kill-col} \\  
\=\+{\rm{kill-col}}\,({\it{ina\/}}, {\it{inb\/}}, {\it{ck\/}})\index{kill-col} \\ 
$=$$\;\;\;\;$\=\+{\bf if }\=\+{\rm{bitvecp}}\,({\it{ina\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{inb\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{controlep}}\,({\it{ck\/}})\index{controlep} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{ina\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{inb\/}})\index{bv-size})\- \\ 
{\bf then }\=\+{\bf if }{\it{ina\/}} $=$ {\sc{bv-nil}}\index{bv-nil}$\;\;${\bf then }{\sc{bv-nil}}\index{bv-nil} \\ 
{\bf else }{\rm{bitvec}}\,(\=\+{\rm{alugen-o}}\,(\=\+{\rm{cscbi11}}\,({\rm{bv-3}}\,({\it{ck\/}})\index{bv-3})\index{cscbi11}, \\ 
{\rm{cscbi11}}\,({\rm{bv-2}}\,({\it{ck\/}})\index{bv-2})\index{cscbi11}, \\ 
{\rm{cscbi11}}\,({\rm{bv-1}}\,({\it{ck\/}})\index{bv-1})\index{cscbi11}, \\ 
{\rm{cscbi11}}\,({\rm{bv-0}}\,({\it{ck\/}})\index{bv-0})\index{cscbi11}, \\ 
{\rm{bv-bit}}\,({\it{ina\/}})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\it{inb\/}})\index{bv-bit})\-\index{alugen-o}, \\ 
{\rm{kill-col}}\,({\rm{bv-vec}}\,({\it{ina\/}})\index{bv-vec}, {\rm{bv-vec}}\,({\it{inb\/}})\index{bv-vec}, {\it{ck\/}})\index{kill-col})\-\index{bitvec}$\;${\bf  endif}\- \\ 
{\bf else }{\sc{bv-nil}}\index{bv-nil}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  prop-kill-relate \\ \index{prop-kill-relate}
{\rm{kill-col}}\,({\it{a\/}}, {\it{b\/}}, {\it{control\/}})\index{kill-col} $=$ {\rm{prop-col}}\,({\it{a\/}}, {\it{b\/}}, {\it{control\/}})\index{prop-col}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  size-kill-col \\ \index{size-kill-col}
\=\+({\rm{controlep}}\,({\it{ck\/}})\index{controlep} $\wedge$ {\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} $\wedge$ ({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size})) \\ 
$\rightarrow$$\;\;\;\;$({\rm{bv-size}}\,({\rm{kill-col}}\,({\it{a\/}}, {\it{b\/}}, {\it{ck\/}})\index{kill-col})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  kill-col-12 \\ \index{kill-col-12}
\=\+({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} $\wedge$ ({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size})) \\ 
$\rightarrow$$\;\;\;\;$({\rm{kill-col}}\,({\it{a\/}}, {\it{b\/}}, {\rm{nat-to-bv}}\,({\tt{12}}, {\tt{4}})\index{nat-to-bv})\index{kill-col} $=$ {\rm{bv-not}}\,({\it{a\/}})\index{bv-not})\-
\end{tabbing}


\noindent{\sc Event}:   Disable prop-kill-relate.

\addvspace{18pt}

\begin{tabbing}{\sc Definition}:\index{res-col} \\  
\=\+{\rm{res-col}}\,({\it{ina\/}}, {\it{inb\/}}, {\it{cr\/}})\index{res-col} \\ 
$=$$\;\;\;\;$\=\+{\bf if }\=\+{\rm{bitvecp}}\,({\it{ina\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{inb\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{controlep}}\,({\it{cr\/}})\index{controlep} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{ina\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{inb\/}})\index{bv-size})\- \\ 
{\bf then }\=\+{\bf if }{\it{ina\/}} $=$ {\sc{bv-nil}}\index{bv-nil}$\;\;${\bf then }{\sc{bv-nil}}\index{bv-nil} \\ 
{\bf else }{\rm{bitvec}}\,(\=\+\=\+{\bf if }{\rm{evenp}}\,({\rm{bv-size}}\,({\it{ina\/}})\index{bv-size})\index{evenp} \\ 
{\bf then }{\rm{alugenod-o}}\,(\=\+{\rm{cscbi11}}\,({\rm{bv-3}}\,({\it{cr\/}})\index{bv-3})\index{cscbi11}, \\ 
{\rm{cscbi11}}\,({\rm{bv-2}}\,({\it{cr\/}})\index{bv-2})\index{cscbi11}, \\ 
{\rm{cscbi11}}\,({\rm{bv-1}}\,({\it{cr\/}})\index{bv-1})\index{cscbi11}, \\ 
{\rm{cscbi11}}\,({\rm{bv-0}}\,({\it{cr\/}})\index{bv-0})\index{cscbi11}, \\ 
{\rm{bv-bit}}\,({\it{ina\/}})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\it{inb\/}})\index{bv-bit})\-\index{alugenod-o} \\ 
{\bf else }{\rm{alugen-o}}\,(\=\+{\rm{cscbi11}}\,({\rm{bv-3}}\,({\it{cr\/}})\index{bv-3})\index{cscbi11}, \\ 
{\rm{cscbi11}}\,({\rm{bv-2}}\,({\it{cr\/}})\index{bv-2})\index{cscbi11}, \\ 
{\rm{cscbi11}}\,({\rm{bv-1}}\,({\it{cr\/}})\index{bv-1})\index{cscbi11}, \\ 
{\rm{cscbi11}}\,({\rm{bv-0}}\,({\it{cr\/}})\index{bv-0})\index{cscbi11}, \\ 
{\rm{bv-bit}}\,({\it{ina\/}})\index{bv-bit}, \\ 
{\rm{bv-bit}}\,({\it{inb\/}})\index{bv-bit})\-\index{alugen-o}$\;${\bf  endif}\-, \\ 
{\rm{res-col}}\,({\rm{bv-vec}}\,({\it{ina\/}})\index{bv-vec}, {\rm{bv-vec}}\,({\it{inb\/}})\index{bv-vec}, {\it{cr\/}})\index{res-col})\-\index{bitvec}$\;${\bf  endif}\- \\ 
{\bf else }{\sc{bv-nil}}\index{bv-nil}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  size-res-col \\ \index{size-res-col}
\=\+({\rm{controlep}}\,({\it{cr\/}})\index{controlep} $\wedge$ {\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} $\wedge$ ({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size})) \\ 
$\rightarrow$$\;\;\;\;$({\rm{bv-size}}\,({\rm{res-col}}\,({\it{a\/}}, {\it{b\/}}, {\it{cr\/}})\index{res-col})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  res-col-10 \\ \index{res-col-10}
\=\+({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} $\wedge$ ({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size})) \\ 
$\rightarrow$$\;\;\;\;$({\rm{res-col}}\,({\it{a\/}}, {\it{b\/}}, {\rm{nat-to-bv}}\,({\tt{10}}, {\tt{4}})\index{nat-to-bv})\index{res-col} $=$ {\rm{bv-exor}}\,({\it{a\/}}, {\rm{bv-invert-even}}\,({\it{b\/}})\index{bv-invert-even})\index{bv-exor})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  lemma1 \\ \index{lemma1}
\=\+(\=\+{\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;${\rm{controlep}}\,({\it{cp\/}})\index{controlep} \\ 
$\wedge$$\;\;\;\;${\rm{controlep}}\,({\it{ck\/}})\index{controlep} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{ccin\/}})\index{boolp})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{bv-size}}\,({\rm{bvco-bitvec}}\,({\rm{carry-col}}\,({\rm{kill-col}}\,({\it{a\/}}, {\it{b\/}}, {\it{ck\/}})\index{kill-col}, {\rm{prop-col}}\,({\it{a\/}}, {\it{b\/}}, {\it{cp\/}})\index{prop-col}, {\it{ccin\/}})\index{carry-col})\index{bvco-bitvec})\index{bv-size} \\ 
$=$$\;\;\;\;${\rm{bv-size}}\,({\rm{prop-col}}\,({\it{a\/}}, {\it{b\/}}, {\it{cp\/}})\index{prop-col})\index{bv-size})\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{rec-mcalu-imp} \\  
\=\+{\rm{rec-mcalu-imp}}\,({\it{nb\/}}, {\it{byp\/}}, {\it{ina\/}}, {\it{inb\/}}, {\it{ck\/}}, {\it{cp\/}}, {\it{cr\/}}, {\it{ccin\/}})\index{rec-mcalu-imp} \\ 
$=$$\;\;\;\;$\=\+{\bf if }\=\+{\rm{evenp}}\,({\it{nb\/}})\index{evenp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{ina\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{inb\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{ccin\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{byp\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{ina\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{inb\/}})\index{bv-size})\- \\ 
{\bf then }\=\+{\bf if }{\rm{truep}}\,({\it{byp\/}}) \\ 
{\bf then }{\rm{bitvec-carry-ovf}}\,(\=\+{\rm{res-col}}\,(\=\+{\rm{prop-col}}\,({\it{ina\/}}, {\it{inb\/}}, {\it{cp\/}})\index{prop-col}, \\ 
{\rm{bvco-bitvec}}\,({\rm{cbyp-col}}\,(\=\+{\rm{kill-col}}\,(\=\+{\it{ina\/}}, \\ 
{\it{inb\/}}, \\ 
{\it{ck\/}})\-\index{kill-col}, \\ 
{\rm{prop-col}}\,(\=\+{\it{ina\/}}, \\ 
{\it{inb\/}}, \\ 
{\it{cp\/}})\-\index{prop-col}, \\ 
{\it{ccin\/}}, \\ 
{\it{nb\/}})\-\index{cbyp-col})\index{bvco-bitvec}, \\ 
{\it{cr\/}})\-\index{res-col}, \\ 
{\rm{bvco-carry}}\,({\rm{cbyp-col}}\,(\=\+{\rm{kill-col}}\,({\it{ina\/}}, {\it{inb\/}}, {\it{ck\/}})\index{kill-col}, \\ 
{\rm{prop-col}}\,({\it{ina\/}}, {\it{inb\/}}, {\it{cp\/}})\index{prop-col}, \\ 
{\it{ccin\/}}, \\ 
{\it{nb\/}})\-\index{cbyp-col})\index{bvco-carry}, \\ 
{\rm{bvco-ovf}}\,({\rm{cbyp-col}}\,(\=\+{\rm{kill-col}}\,({\it{ina\/}}, {\it{inb\/}}, {\it{ck\/}})\index{kill-col}, \\ 
{\rm{prop-col}}\,({\it{ina\/}}, {\it{inb\/}}, {\it{cp\/}})\index{prop-col}, \\ 
{\it{ccin\/}}, \\ 
{\it{nb\/}})\-\index{cbyp-col})\index{bvco-ovf})\-\index{bitvec-carry-ovf} \\ 
{\bf else }{\rm{bitvec-carry-ovf}}\,(\=\+{\rm{res-col}}\,(\=\+{\rm{prop-col}}\,({\it{ina\/}}, {\it{inb\/}}, {\it{cp\/}})\index{prop-col}, \\ 
{\rm{bvco-bitvec}}\,({\rm{carry-col}}\,(\=\+{\rm{kill-col}}\,(\=\+{\it{ina\/}}, \\ 
{\it{inb\/}}, \\ 
{\it{ck\/}})\-\index{kill-col}, \\ 
{\rm{prop-col}}\,(\=\+{\it{ina\/}}, \\ 
{\it{inb\/}}, \\ 
{\it{cp\/}})\-\index{prop-col}, \\ 
{\it{ccin\/}})\-\index{carry-col})\index{bvco-bitvec}, \\ 
{\it{cr\/}})\-\index{res-col}, \\ 
{\rm{bvco-carry}}\,({\rm{carry-col}}\,(\=\+{\rm{kill-col}}\,(\=\+{\it{ina\/}}, \\ 
{\it{inb\/}}, \\ 
{\it{ck\/}})\-\index{kill-col}, \\ 
{\rm{prop-col}}\,(\=\+{\it{ina\/}}, \\ 
{\it{inb\/}}, \\ 
{\it{cp\/}})\-\index{prop-col}, \\ 
{\it{ccin\/}})\-\index{carry-col})\index{bvco-carry}, \\ 
{\rm{bvco-ovf}}\,({\rm{carry-col}}\,(\=\+{\rm{kill-col}}\,(\=\+{\it{ina\/}}, \\ 
{\it{inb\/}}, \\ 
{\it{ck\/}})\-\index{kill-col}, \\ 
{\rm{prop-col}}\,(\=\+{\it{ina\/}}, \\ 
{\it{inb\/}}, \\ 
{\it{cp\/}})\-\index{prop-col}, \\ 
{\it{ccin\/}})\-\index{carry-col})\index{bvco-ovf})\-\index{bitvec-carry-ovf}$\;${\bf  endif}\- \\ 
{\bf else }{\sc{bvco-nil}}\index{bvco-nil}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{csexor}$\;\;$
{\rm{csexor}}\,({\it{a\/}}, {\it{b\/}})\index{csexor} $=$ {\rm{exor}}\,({\it{a\/}}, {\it{b\/}})\index{exor}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{mcalu} \\  
\=\+{\rm{mcalu}}\,({\it{nb\/}}, {\it{byp\/}}, {\it{ina\/}}, {\it{inb\/}}, {\it{ck\/}}, {\it{cp\/}}, {\it{cr\/}}, {\it{ccin\/}})\index{mcalu} \\ 
$=$$\;\;\;\;$\=\+{\bf if }\=\+{\rm{evenp}}\,({\it{nb\/}})\index{evenp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{ina\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{inb\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{ccin\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{byp\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{controlep}}\,({\it{ck\/}})\index{controlep} \\ 
$\wedge$$\;\;\;\;${\rm{controlep}}\,({\it{cp\/}})\index{controlep} \\ 
$\wedge$$\;\;\;\;${\rm{controlep}}\,({\it{cr\/}})\index{controlep} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{ina\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{inb\/}})\index{bv-size})\- \\ 
{\bf then }{\rm{carry-sign-ovf-bitvec}}\,(\=\+{\rm{cscbo11}}\,({\rm{bvco-carry}}\,({\rm{rec-mcalu-imp}}\,(\=\+{\it{nb\/}}, \\ 
{\it{byp\/}} $\wedge$ ({\tt{11}} $<$ {\it{nb\/}}), \\ 
{\it{ina\/}}, \\ 
{\it{inb\/}}, \\ 
{\it{ck\/}}, \\ 
{\it{cp\/}}, \\ 
{\it{cr\/}}, \\ 
{\rm{cscbi11}}\,({\it{ccin\/}})\index{cscbi11})\-\index{rec-mcalu-imp})\index{bvco-carry})\index{cscbo11}, \\ 
{\rm{cscbo11}}\,({\rm{bv-bit}}\,({\rm{bvco-bitvec}}\,({\rm{rec-mcalu-imp}}\,(\=\+{\it{nb\/}}, \\ 
{\it{byp\/}} $\wedge$ ({\tt{11}} $<$ {\it{nb\/}}), \\ 
{\it{ina\/}}, \\ 
{\it{inb\/}}, \\ 
{\it{ck\/}}, \\ 
{\it{cp\/}}, \\ 
{\it{cr\/}}, \\ 
{\rm{cscbi11}}\,({\it{ccin\/}})\index{cscbi11})\-\index{rec-mcalu-imp})\index{bvco-bitvec})\index{bv-bit})\index{cscbo11}, \\ 
{\rm{csexor}}\,(\=\+{\rm{bvco-carry}}\,({\rm{rec-mcalu-imp}}\,(\=\+{\it{nb\/}}, \\ 
{\it{byp\/}} $\wedge$ ({\tt{11}} $<$ {\it{nb\/}}), \\ 
{\it{ina\/}}, \\ 
{\it{inb\/}}, \\ 
{\it{ck\/}}, \\ 
{\it{cp\/}}, \\ 
{\it{cr\/}}, \\ 
{\rm{cscbi11}}\,({\it{ccin\/}})\index{cscbi11})\-\index{rec-mcalu-imp})\index{bvco-carry}, \\ 
{\rm{bvco-ovf}}\,({\rm{rec-mcalu-imp}}\,(\=\+{\it{nb\/}}, \\ 
{\it{byp\/}} $\wedge$ ({\tt{11}} $<$ {\it{nb\/}}), \\ 
{\it{ina\/}}, \\ 
{\it{inb\/}}, \\ 
{\it{ck\/}}, \\ 
{\it{cp\/}}, \\ 
{\it{cr\/}}, \\ 
{\rm{cscbi11}}\,({\it{ccin\/}})\index{cscbi11})\-\index{rec-mcalu-imp})\index{bvco-ovf})\-\index{csexor}, \\ 
{\rm{bvco-bitvec}}\,({\rm{rec-mcalu-imp}}\,(\=\+{\it{nb\/}}, \\ 
{\it{byp\/}} $\wedge$ ({\tt{11}} $<$ {\it{nb\/}}), \\ 
{\it{ina\/}}, \\ 
{\it{inb\/}}, \\ 
{\it{ck\/}}, \\ 
{\it{cp\/}}, \\ 
{\it{cr\/}}, \\ 
{\rm{cscbi11}}\,({\it{ccin\/}})\index{cscbi11})\-\index{rec-mcalu-imp})\index{bvco-bitvec})\-\index{carry-sign-ovf-bitvec} \\ 
{\bf else }{\sc{csobv-nil}}\index{csobv-nil}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{induct-vec-vec-evenp-f} \\  
\=\+{\rm{induct-vec-vec-evenp-f}}\,({\it{a\/}}, {\it{b\/}}, {\it{c\/}})\index{induct-vec-vec-evenp-f} \\ 
$=$$\;\;\;\;$\=\+{\bf if }\=\+{\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{c\/}})\index{boolp}\- \\ 
{\bf then }\=\+{\bf if }{\it{a\/}} $=$ {\sc{bv-nil}}\index{bv-nil}$\;\;${\bf then }{\bf{t}} \\ 
{\bf elseif }{\rm{evenp}}\,({\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\index{evenp} \\ 
{\bf then }{\rm{induct-vec-vec-evenp-f}}\,({\rm{bv-vec}}\,({\it{a\/}})\index{bv-vec}, {\rm{bv-vec}}\,({\it{b\/}})\index{bv-vec}, {\it{c\/}})\index{induct-vec-vec-evenp-f} \\ 
{\bf else }{\rm{induct-vec-vec-evenp-f}}\,({\rm{bv-vec}}\,({\it{a\/}})\index{bv-vec}, {\rm{bv-vec}}\,({\it{b\/}})\index{bv-vec}, {\it{c\/}})\index{induct-vec-vec-evenp-f}$\;${\bf  endif}\- \\ 
{\bf else }{\bf{t}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  the-proof \\ \index{the-proof}
\=\+({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} $\wedge$ ({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size}) $\wedge$ {\rm{boolp}}\,({\it{cin\/}})\index{boolp}) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{bvco-carry}}\,({\rm{carry-col}}\,({\rm{bv-not}}\,({\it{a\/}})\index{bv-not}, {\rm{bv-exor}}\,({\it{a\/}}, {\it{b\/}})\index{bv-exor}, {\it{cin\/}})\index{carry-col})\index{bvco-carry} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{evenp}}\,({\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\index{evenp}$\;\;${\bf then }{\rm{bvco-carry}}\,({\rm{bv-adder}}\,({\it{a\/}}, {\it{b\/}}, {\it{cin\/}})\index{bv-adder})\index{bvco-carry} \\ 
{\bf else }$\neg$ {\rm{bvco-carry}}\,({\rm{bv-adder}}\,({\it{a\/}}, {\it{b\/}}, {\it{cin\/}})\index{bv-adder})\index{bvco-carry}$\;${\bf  endif}\-)\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  the-proof-part2 \\ \index{the-proof-part2}
\=\+({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} $\wedge$ ({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size}) $\wedge$ {\rm{boolp}}\,({\it{cin\/}})\index{boolp}) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{bv-exor}}\,(\=\+{\rm{bv-exor}}\,({\it{a\/}}, {\it{b\/}})\index{bv-exor}, \\ 
{\rm{bv-invert-even}}\,({\rm{bvco-bitvec}}\,({\rm{carry-col}}\,(\=\+{\rm{bv-not}}\,({\it{a\/}})\index{bv-not}, \\ 
{\rm{bv-exor}}\,({\it{a\/}}, {\it{b\/}})\index{bv-exor}, \\ 
{\it{cin\/}})\-\index{carry-col})\index{bvco-bitvec})\index{bv-invert-even})\-\index{bv-exor} \\ 
$=$$\;\;\;\;${\rm{bvco-bitvec}}\,({\rm{bv-adder}}\,({\it{a\/}}, {\it{b\/}}, {\it{cin\/}})\index{bv-adder})\index{bvco-bitvec})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  the-proof-part3 \\ \index{the-proof-part3}
\=\+({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} $\wedge$ ({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size}) $\wedge$ {\rm{boolp}}\,({\it{cin\/}})\index{boolp}) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{bvco-ovf}}\,({\rm{carry-col}}\,({\rm{bv-not}}\,({\it{a\/}})\index{bv-not}, {\rm{bv-exor}}\,({\it{a\/}}, {\it{b\/}})\index{bv-exor}, {\it{cin\/}})\index{carry-col})\index{bvco-ovf} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{evenp}}\,({\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\index{evenp} \\ 
{\bf then }\=\+{\bf if }{\it{a\/}} $=$ {\sc{bv-nil}}\index{bv-nil}$\;\;${\bf then }{\bf{f}} \\ 
{\bf else }$\neg$ {\rm{bvco-ovf}}\,({\rm{bv-adder}}\,({\it{a\/}}, {\it{b\/}}, {\it{cin\/}})\index{bv-adder})\index{bvco-ovf}$\;${\bf  endif}\- \\ 
{\bf else }{\rm{bvco-ovf}}\,({\rm{bv-adder}}\,({\it{a\/}}, {\it{b\/}}, {\it{cin\/}})\index{bv-adder})\index{bvco-ovf}$\;${\bf  endif}\-)\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  rec-mcalu-imp-bv-adder-relate \\ \index{rec-mcalu-imp-bv-adder-relate}
\=\+(\=\+{\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{cin\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{byp\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;${\rm{evenp}}\,({\it{nb\/}})\index{evenp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\it{nb\/}}))\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{bvco-bitvec}}\,({\rm{rec-mcalu-imp}}\,(\=\+{\it{nb\/}}, \\ 
{\it{byp\/}}, \\ 
{\it{a\/}}, \\ 
{\it{b\/}}, \\ 
{\rm{nat-to-bv}}\,({\tt{12}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\rm{nat-to-bv}}\,({\tt{10}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\rm{nat-to-bv}}\,({\tt{10}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\it{cin\/}})\-\index{rec-mcalu-imp})\index{bvco-bitvec} \\ 
$=$$\;\;\;\;${\rm{bvco-bitvec}}\,({\rm{bv-adder}}\,({\it{a\/}}, {\it{b\/}}, {\it{cin\/}})\index{bv-adder})\index{bvco-bitvec})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mcalu-imp-bv-adder-relate \\ \index{mcalu-imp-bv-adder-relate}
\=\+(\=\+{\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{cin\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{byp\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;${\rm{evenp}}\,({\it{nb\/}})\index{evenp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\it{nb\/}}))\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{csobv-bitvec}}\,({\rm{mcalu}}\,(\=\+{\it{nb\/}}, \\ 
{\it{byp\/}}, \\ 
{\it{a\/}}, \\ 
{\it{b\/}}, \\ 
{\rm{nat-to-bv}}\,({\tt{12}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\rm{nat-to-bv}}\,({\tt{10}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\rm{nat-to-bv}}\,({\tt{10}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\it{cin\/}})\-\index{mcalu})\index{csobv-bitvec} \\ 
$=$$\;\;\;\;${\rm{bvco-bitvec}}\,({\rm{bv-adder}}\,({\it{a\/}}, {\it{b\/}}, $\neg$ {\it{cin\/}})\index{bv-adder})\index{bvco-bitvec})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  boolp-not \\ \index{boolp-not}
{\rm{boolp}}\,($\neg$ {\it{a\/}})\index{boolp}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  tc-interpretation-of-mcalu-output \\ \index{tc-interpretation-of-mcalu-outp!ut}
\=\+(\=\+{\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{cin\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{byp\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{evenp}}\,({\it{nb\/}})\index{evenp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\it{nb\/}}) \\ 
$\wedge$$\;\;\;\;$({\it{a\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}) \\ 
$\wedge$$\;\;\;\;$({\it{b\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}))\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{tc-to-integer}}\,({\rm{csobv-bitvec}}\,({\rm{mcalu}}\,(\=\+{\it{nb\/}}, \\ 
{\it{byp\/}}, \\ 
{\it{a\/}}, \\ 
{\it{b\/}}, \\ 
{\rm{nat-to-bv}}\,({\tt{12}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\rm{nat-to-bv}}\,({\tt{10}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\rm{nat-to-bv}}\,({\tt{10}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\it{cin\/}})\-\index{mcalu})\index{csobv-bitvec})\index{tc-to-integer} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{tc-in-rangep}}\,(\=\+{\rm{add}}\,(\=\+{\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer}, \\ 
{\rm{add}}\,({\rm{tc-to-integer}}\,({\it{b\/}})\index{tc-to-integer}, {\rm{carry}}\,($\neg$ {\it{cin\/}})\index{carry})\index{add})\-\index{add}, \\ 
{\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\-\index{tc-in-rangep} \\ 
{\bf then }{\rm{add}}\,(\=\+{\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer}, \\ 
{\rm{add}}\,({\rm{tc-to-integer}}\,({\it{b\/}})\index{tc-to-integer}, {\rm{carry}}\,($\neg$ {\it{cin\/}})\index{carry})\index{add})\-\index{add} \\ 
{\bf elseif }{\rm{negativep}}\,({\rm{add}}\,(\=\+{\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer}, \\ 
{\rm{add}}\,({\rm{tc-to-integer}}\,({\it{b\/}})\index{tc-to-integer}, {\rm{carry}}\,($\neg$ {\it{cin\/}})\index{carry})\index{add})\-\index{add}) \\ 
{\bf then }{\rm{add}}\,(\=\+{\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer}, \\ 
{\rm{add}}\,(\=\+{\rm{tc-to-integer}}\,({\it{b\/}})\index{tc-to-integer}, \\ 
{\rm{add}}\,({\rm{carry}}\,($\neg$ {\it{cin\/}})\index{carry}, {\rm{twoto}}\,({\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\index{twoto})\index{add})\-\index{add})\-\index{add} \\ 
{\bf else }{\rm{add}}\,(\=\+{\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer}, \\ 
{\rm{add}}\,(\=\+{\rm{tc-to-integer}}\,({\it{b\/}})\index{tc-to-integer}, \\ 
{\rm{add}}\,({\rm{carry}}\,($\neg$ {\it{cin\/}})\index{carry}, $-$ {\rm{twoto}}\,({\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\index{twoto})\index{add})\-\index{add})\-\index{add}$\;${\bf  endif}\-)\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  bv-to-nat-of-bv-not \\ \index{bv-to-nat-of-bv-not}
{\rm{bv-to-nat}}\,({\rm{bv-not}}\,({\it{a\/}})\index{bv-not})\index{bv-to-nat} $=$ (({\rm{twoto}}\,({\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\index{twoto} $-\;1$) $-$ {\rm{bv-to-nat}}\,({\it{a\/}})\index{bv-to-nat})
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{tc-minus} \\  
\=\+{\rm{tc-minus}}\,({\it{a\/}})\index{tc-minus} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{negativep}}\,({\it{a\/}})$\;\;${\bf then }{\rm{negative-guts}}\,({\it{a\/}}) \\ 
{\bf elseif }{\it{a\/}} $\simeq {\tt{0}}$$\;\;${\bf then }{\tt{0}} \\ 
{\bf else }$-$ {\it{a\/}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  bit-of-bv-not \\ \index{bit-of-bv-not}
({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ ({\it{a\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil})) $\rightarrow$ ({\rm{bv-bit}}\,({\rm{bv-not}}\,({\it{a\/}})\index{bv-not})\index{bv-bit} $=$ ($\neg$ {\rm{bv-bit}}\,({\it{a\/}})\index{bv-bit}))
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  equal-difference-0 \\ \index{equal-difference-0}
(({\it{x\/}} $-$ {\it{y\/}}) $=$ {\tt{0}}) $=$ ({\it{y\/}} $\not<$ {\it{x\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  top-bit-off-implies-smaller \\ \index{top-bit-off-implies-smaller}
\=\+({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ ({\it{a\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}) $\wedge$ ($\neg$ {\rm{bv-bit}}\,({\it{a\/}})\index{bv-bit})) \\ 
$\rightarrow$$\;\;\;\;$({\rm{bv-to-nat}}\,({\it{a\/}})\index{bv-to-nat} $<$ ({\rm{twoto}}\,({\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\index{twoto} $-\;1$))\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  tc-minus-tc-to-integer \\ \index{tc-minus-tc-to-integer}
\=\+({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ ({\it{a\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{tc-minus}}\,({\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer})\index{tc-minus} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer} $=$ {\tt{0}}$\;\;${\bf then }{\tt{0}} \\ 
{\bf else }{\rm{add}}\,({\tt{1}}, {\rm{tc-to-integer}}\,({\rm{bv-not}}\,({\it{a\/}})\index{bv-not})\index{tc-to-integer})\index{add}$\;${\bf  endif}\-)\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{tc-fix} \\  
\=\+{\rm{tc-fix}}\,({\it{x\/}})\index{tc-fix} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{tcp}}\,({\it{x\/}})\index{tcp}$\;\;${\bf then }{\it{x\/}} \\ 
{\bf else }{\tt{0}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  tcp-add \\ \index{tcp-add}
({\rm{tcp}}\,({\it{x\/}})\index{tcp} $\rightarrow$ {\rm{tcp}}\,({\rm{add}}\,({\it{x\/}}, {\it{y\/}})\index{add})\index{tcp}) $\wedge$ ({\rm{tcp}}\,({\it{y\/}})\index{tcp} $\rightarrow$ {\rm{tcp}}\,({\rm{add}}\,({\it{x\/}}, {\it{y\/}})\index{add})\index{tcp})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  add-0 \\ \index{add-0}
{\rm{add}}\,({\tt{0}}, {\it{x\/}})\index{add} $=$ {\rm{tc-fix}}\,({\it{x\/}})\index{tc-fix}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  add-1-1 \\ \index{add-1-1}
{\rm{add}}\,({\tt{1}}, {\rm{add}}\,({\tt{-1}}, {\it{x\/}})\index{add})\index{add} $=$ {\rm{tc-fix}}\,({\it{x\/}})\index{tc-fix}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  tc-to-integer-0 \\ \index{tc-to-integer-0}
\=\+({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ ({\it{a\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}) $\wedge$ ({\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer} $=$ {\tt{0}})) \\ 
$\rightarrow$$\;\;\;\;$({\rm{tc-to-integer}}\,({\rm{bv-not}}\,({\it{a\/}})\index{bv-not})\index{tc-to-integer} $=$ {\tt{-1}})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  bv-not-bv-exor-right \\ \index{bv-not-bv-exor-right}
{\rm{bv-not}}\,({\rm{bv-exor}}\,({\it{a\/}}, {\it{b\/}})\index{bv-exor})\index{bv-not} $=$ {\rm{bv-exor}}\,({\it{a\/}}, {\rm{bv-not}}\,({\it{b\/}})\index{bv-not})\index{bv-exor}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  bv-not-nil \\ \index{bv-not-nil}
({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ ({\it{a\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil})) $\rightarrow$ ({\rm{bv-not}}\,({\it{a\/}})\index{bv-not} $\not=$ {\sc{bv-nil}}\index{bv-nil})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  tc-to-integer-bv-not \\ \index{tc-to-integer-bv-not}
\=\+({\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} $\wedge$ ({\it{b\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil})) \\ 
$\rightarrow$$\;\;\;\;$({\rm{tc-to-integer}}\,({\rm{bv-not}}\,({\it{b\/}})\index{bv-not})\index{tc-to-integer} $=$ {\rm{add}}\,({\rm{tc-minus}}\,({\rm{tc-to-integer}}\,({\it{b\/}})\index{tc-to-integer})\index{tc-minus}, {\tt{-1}})\index{add})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  carry-not \\ \index{carry-not}
{\rm{carry}}\,($\neg$ {\it{a\/}})\index{carry} $=$ {\rm{add}}\,({\tt{1}}, {\rm{tc-minus}}\,({\rm{carry}}\,({\it{a\/}})\index{carry})\index{tc-minus})\index{add}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  tcp-tc-minus \\ \index{tcp-tc-minus}
{\rm{tcp}}\,({\rm{tc-minus}}\,({\it{a\/}})\index{tc-minus})\index{tcp}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mcalu-12-5-10-mcalu-12-10-10-relate \\ \index{mcalu-12-5-10-mcalu-12-10-10-re!late}
\=\+(\=\+{\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;${\rm{evenp}}\,({\it{nb\/}})\index{evenp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{byp\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{cin\/}})\index{boolp})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{mcalu}}\,(\=\+{\it{nb\/}}, \\ 
{\it{byp\/}}, \\ 
{\it{a\/}}, \\ 
{\it{b\/}}, \\ 
{\rm{nat-to-bv}}\,({\tt{12}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\rm{nat-to-bv}}\,({\tt{5}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\rm{nat-to-bv}}\,({\tt{10}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\it{cin\/}})\-\index{mcalu} \\ 
$=$$\;\;\;\;${\rm{mcalu}}\,(\=\+{\it{nb\/}}, \\ 
{\it{byp\/}}, \\ 
{\it{a\/}}, \\ 
{\rm{bv-not}}\,({\it{b\/}})\index{bv-not}, \\ 
{\rm{nat-to-bv}}\,({\tt{12}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\rm{nat-to-bv}}\,({\tt{10}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\rm{nat-to-bv}}\,({\tt{10}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\it{cin\/}})\-\index{mcalu})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  tcp-twoto \\ \index{tcp-twoto}
{\rm{tcp}}\,({\rm{twoto}}\,({\it{a\/}})\index{twoto})\index{tcp}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  tcp-minus-twoto \\ \index{tcp-minus-twoto}
({\it{a\/}} $\in\;${\bf{N}}${}$) $\rightarrow$ {\rm{tcp}}\,($-$ {\rm{twoto}}\,({\it{a\/}})\index{twoto})\index{tcp}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  tc-interpretation-of-mcalu-imp-add \\ \index{tc-interpretation-of-mcalu-imp-!add}
\=\+(\=\+{\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;$({\it{a\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}) \\ 
$\wedge$$\;\;\;\;$({\it{b\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}) \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{byp\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{evenp}}\,({\it{nb\/}})\index{evenp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\it{nb\/}}))\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{tc-to-integer}}\,({\rm{csobv-bitvec}}\,({\rm{mcalu}}\,(\=\+{\it{nb\/}}, \\ 
{\it{byp\/}}, \\ 
{\it{a\/}}, \\ 
{\it{b\/}}, \\ 
{\rm{nat-to-bv}}\,({\tt{12}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\rm{nat-to-bv}}\,({\tt{10}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\rm{nat-to-bv}}\,({\tt{10}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\bf{t}})\-\index{mcalu})\index{csobv-bitvec})\index{tc-to-integer} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{tc-in-rangep}}\,(\=\+{\rm{add}}\,({\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer}, {\rm{tc-to-integer}}\,({\it{b\/}})\index{tc-to-integer})\index{add}, \\ 
{\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\-\index{tc-in-rangep} \\ 
{\bf then }{\rm{add}}\,({\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer}, {\rm{tc-to-integer}}\,({\it{b\/}})\index{tc-to-integer})\index{add} \\ 
{\bf elseif }{\rm{negativep}}\,({\rm{add}}\,({\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer}, {\rm{tc-to-integer}}\,({\it{b\/}})\index{tc-to-integer})\index{add}) \\ 
{\bf then }{\rm{add}}\,(\=\+{\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer}, \\ 
{\rm{add}}\,({\rm{tc-to-integer}}\,({\it{b\/}})\index{tc-to-integer}, {\rm{twoto}}\,({\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\index{twoto})\index{add})\-\index{add} \\ 
{\bf else }{\rm{add}}\,(\=\+{\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer}, \\ 
{\rm{add}}\,({\rm{tc-to-integer}}\,({\it{b\/}})\index{tc-to-integer}, $-$ {\rm{twoto}}\,({\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\index{twoto})\index{add})\-\index{add}$\;${\bf  endif}\-)\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  tc-interpretation-of-mcalu-imp-xsub \\ \index{tc-interpretation-of-mcalu-imp-!xsub}
\=\+(\=\+{\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;$({\it{a\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}) \\ 
$\wedge$$\;\;\;\;$({\it{b\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}) \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{cin\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{byp\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{evenp}}\,({\it{nb\/}})\index{evenp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\it{nb\/}}))\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{tc-to-integer}}\,({\rm{csobv-bitvec}}\,({\rm{mcalu}}\,(\=\+{\it{nb\/}}, \\ 
{\it{byp\/}}, \\ 
{\it{a\/}}, \\ 
{\it{b\/}}, \\ 
{\rm{nat-to-bv}}\,({\tt{12}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\rm{nat-to-bv}}\,({\tt{5}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\rm{nat-to-bv}}\,({\tt{10}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\it{cin\/}})\-\index{mcalu})\index{csobv-bitvec})\index{tc-to-integer} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{tc-in-rangep}}\,(\=\+{\rm{add}}\,(\=\+{\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer}, \\ 
{\rm{add}}\,(\=\+{\rm{tc-minus}}\,({\rm{tc-to-integer}}\,({\it{b\/}})\index{tc-to-integer})\index{tc-minus}, \\ 
{\rm{tc-minus}}\,({\rm{carry}}\,({\it{cin\/}})\index{carry})\index{tc-minus})\-\index{add})\-\index{add}, \\ 
{\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\-\index{tc-in-rangep} \\ 
{\bf then }{\rm{add}}\,(\=\+{\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer}, \\ 
{\rm{add}}\,({\rm{tc-minus}}\,({\rm{tc-to-integer}}\,({\it{b\/}})\index{tc-to-integer})\index{tc-minus}, {\rm{tc-minus}}\,({\rm{carry}}\,({\it{cin\/}})\index{carry})\index{tc-minus})\index{add})\-\index{add} \\ 
{\bf elseif }{\rm{negativep}}\,({\rm{add}}\,(\=\+{\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer}, \\ 
{\rm{add}}\,(\=\+{\rm{tc-minus}}\,({\rm{tc-to-integer}}\,({\it{b\/}})\index{tc-to-integer})\index{tc-minus}, \\ 
{\rm{tc-minus}}\,({\rm{carry}}\,({\it{cin\/}})\index{carry})\index{tc-minus})\-\index{add})\-\index{add}) \\ 
{\bf then }{\rm{add}}\,(\=\+{\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer}, \\ 
{\rm{add}}\,(\=\+{\rm{tc-minus}}\,({\rm{tc-to-integer}}\,({\it{b\/}})\index{tc-to-integer})\index{tc-minus}, \\ 
{\rm{add}}\,({\rm{tc-minus}}\,({\rm{carry}}\,({\it{cin\/}})\index{carry})\index{tc-minus}, {\rm{twoto}}\,({\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\index{twoto})\index{add})\-\index{add})\-\index{add} \\ 
{\bf else }{\rm{add}}\,(\=\+{\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer}, \\ 
{\rm{add}}\,(\=\+{\rm{tc-minus}}\,({\rm{tc-to-integer}}\,({\it{b\/}})\index{tc-to-integer})\index{tc-minus}, \\ 
{\rm{add}}\,(\=\+{\rm{tc-minus}}\,({\rm{carry}}\,({\it{cin\/}})\index{carry})\index{tc-minus}, \\ 
$-$ {\rm{twoto}}\,({\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\index{twoto})\-\index{add})\-\index{add})\-\index{add}$\;${\bf  endif}\-)\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  tc-interpretation-of-mcalu-imp-sub \\ \index{tc-interpretation-of-mcalu-imp-!sub}
\=\+(\=\+{\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;$({\it{a\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}) \\ 
$\wedge$$\;\;\;\;$({\it{b\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}) \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{byp\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{evenp}}\,({\it{nb\/}})\index{evenp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\it{nb\/}}))\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{tc-to-integer}}\,({\rm{csobv-bitvec}}\,({\rm{mcalu}}\,(\=\+{\it{nb\/}}, \\ 
{\it{byp\/}}, \\ 
{\it{a\/}}, \\ 
{\it{b\/}}, \\ 
{\rm{nat-to-bv}}\,({\tt{12}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\rm{nat-to-bv}}\,({\tt{5}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\rm{nat-to-bv}}\,({\tt{10}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\bf{f}})\-\index{mcalu})\index{csobv-bitvec})\index{tc-to-integer} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{tc-in-rangep}}\,(\=\+{\rm{add}}\,(\=\+{\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer}, \\ 
{\rm{tc-minus}}\,({\rm{tc-to-integer}}\,({\it{b\/}})\index{tc-to-integer})\index{tc-minus})\-\index{add}, \\ 
{\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\-\index{tc-in-rangep} \\ 
{\bf then }{\rm{add}}\,({\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer}, {\rm{tc-minus}}\,({\rm{tc-to-integer}}\,({\it{b\/}})\index{tc-to-integer})\index{tc-minus})\index{add} \\ 
{\bf elseif }{\rm{negativep}}\,({\rm{add}}\,(\=\+{\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer}, \\ 
{\rm{tc-minus}}\,({\rm{tc-to-integer}}\,({\it{b\/}})\index{tc-to-integer})\index{tc-minus})\-\index{add}) \\ 
{\bf then }{\rm{add}}\,(\=\+{\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer}, \\ 
{\rm{add}}\,({\rm{tc-minus}}\,({\rm{tc-to-integer}}\,({\it{b\/}})\index{tc-to-integer})\index{tc-minus}, {\rm{twoto}}\,({\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\index{twoto})\index{add})\-\index{add} \\ 
{\bf else }{\rm{add}}\,(\=\+{\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer}, \\ 
{\rm{add}}\,(\=\+{\rm{tc-minus}}\,({\rm{tc-to-integer}}\,({\it{b\/}})\index{tc-to-integer})\index{tc-minus}, \\ 
$-$ {\rm{twoto}}\,({\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\index{twoto})\-\index{add})\-\index{add}$\;${\bf  endif}\-)\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  bv-adder-non-nil2 \\ \index{bv-adder-non-nil2}
\=\+(\=\+{\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{cin\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;$({\it{a\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}))\- \\ 
$\rightarrow$$\;\;\;\;$(({\rm{bvco-bitvec}}\,({\rm{bv-adder}}\,({\it{a\/}}, {\it{b\/}}, {\it{cin\/}})\index{bv-adder})\index{bvco-bitvec} $=$ {\sc{bv-nil}}\index{bv-nil}) $=$ {\bf{f}})\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{last} \\  
\=\+{\rm{last}}\,({\it{it\/}})\index{last} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{bitvecp}}\,({\it{it\/}})\index{bitvecp} $\wedge$ ({\it{it\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}) \\ 
{\bf then }\=\+{\bf if }{\rm{bv-vec}}\,({\it{it\/}})\index{bv-vec} $=$ {\sc{bv-nil}}\index{bv-nil}$\;\;${\bf then }{\rm{bv-bit}}\,({\it{it\/}})\index{bv-bit} \\ 
{\bf else }{\rm{last}}\,({\rm{bv-vec}}\,({\it{it\/}})\index{bv-vec})\index{last}$\;${\bf  endif}\- \\ 
{\bf else }{\bf{f}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{butlast} \\  
\=\+{\rm{butlast}}\,({\it{it\/}})\index{butlast} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{bitvecp}}\,({\it{it\/}})\index{bitvecp} $\wedge$ ({\it{it\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}) \\ 
{\bf then }\=\+{\bf if }{\rm{bv-vec}}\,({\it{it\/}})\index{bv-vec} $=$ {\sc{bv-nil}}\index{bv-nil}$\;\;${\bf then }{\sc{bv-nil}}\index{bv-nil} \\ 
{\bf else }{\rm{bitvec}}\,({\rm{bv-bit}}\,({\it{it\/}})\index{bv-bit}, {\rm{butlast}}\,({\rm{bv-vec}}\,({\it{it\/}})\index{bv-vec})\index{butlast})\index{bitvec}$\;${\bf  endif}\- \\ 
{\bf else }{\sc{bv-nil}}\index{bv-nil}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{do-shift-1} \\  
\=\+{\rm{do-shift-1}}\,({\it{it\/}}, {\it{shiftin\/}})\index{do-shift-1} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{bitvecp}}\,({\it{it\/}})\index{bitvecp} $\wedge$ ({\it{it\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}) $\wedge$ {\rm{boolp}}\,({\it{shiftin\/}})\index{boolp} \\ 
{\bf then }{\rm{bitvec}}\,({\it{shiftin\/}}, {\rm{butlast}}\,({\it{it\/}})\index{butlast})\index{bitvec} \\ 
{\bf else }{\sc{bv-nil}}\index{bv-nil}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{up-shift-1} \\  
\=\+{\rm{up-shift-1}}\,({\it{it\/}}, {\it{shiftin\/}})\index{up-shift-1} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{bitvecp}}\,({\it{it\/}})\index{bitvecp} $\wedge$ ({\it{it\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}) $\wedge$ {\rm{boolp}}\,({\it{shiftin\/}})\index{boolp} \\ 
{\bf then }{\rm{bv-append}}\,({\rm{bv-vec}}\,({\it{it\/}})\index{bv-vec}, {\rm{bitvec}}\,({\it{shiftin\/}}, {\sc{bv-nil}}\index{bv-nil})\index{bitvec})\index{bv-append} \\ 
{\bf else }{\sc{bv-nil}}\index{bv-nil}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{do-shift-n} \\  
\=\+{\rm{do-shift-n}}\,({\it{n\/}}, {\it{it\/}}, {\it{shiftin\/}})\index{do-shift-n} \\ 
$=$$\;\;\;\;$\=\+{\bf if }({\it{n\/}} $\in\;${\bf{N}}${}$) $\wedge$ {\rm{bitvecp}}\,({\it{it\/}})\index{bitvecp} $\wedge$ {\rm{boolp}}\,({\it{shiftin\/}})\index{boolp} \\ 
{\bf then }\=\+{\bf if }{\it{n\/}} $\simeq {\tt{0}}$$\;\;${\bf then }{\it{it\/}} \\ 
{\bf else }{\rm{do-shift-1}}\,({\rm{do-shift-n}}\,({\it{n\/}} $-\;1$, {\it{it\/}}, {\it{shiftin\/}})\index{do-shift-n}, {\it{shiftin\/}})\index{do-shift-1}$\;${\bf  endif}\- \\ 
{\bf else }{\sc{bv-nil}}\index{bv-nil}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{up-shift-n} \\  
\=\+{\rm{up-shift-n}}\,({\it{n\/}}, {\it{it\/}}, {\it{shiftin\/}})\index{up-shift-n} \\ 
$=$$\;\;\;\;$\=\+{\bf if }({\it{n\/}} $\in\;${\bf{N}}${}$) $\wedge$ {\rm{bitvecp}}\,({\it{it\/}})\index{bitvecp} $\wedge$ {\rm{boolp}}\,({\it{shiftin\/}})\index{boolp} \\ 
{\bf then }\=\+{\bf if }{\it{n\/}} $\simeq {\tt{0}}$$\;\;${\bf then }{\it{it\/}} \\ 
{\bf else }{\rm{up-shift-1}}\,({\rm{up-shift-n}}\,({\it{n\/}} $-\;1$, {\it{it\/}}, {\it{shiftin\/}})\index{up-shift-n}, {\it{shiftin\/}})\index{up-shift-1}$\;${\bf  endif}\- \\ 
{\bf else }{\sc{bv-nil}}\index{bv-nil}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  size-bv-append \\ \index{size-bv-append}
\=\+({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp}) \\ 
$\rightarrow$$\;\;\;\;$({\rm{bv-size}}\,({\rm{bv-append}}\,({\it{a\/}}, {\it{b\/}})\index{bv-append})\index{bv-size} $=$ ({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $+$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size}))\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  append-not-nil \\ \index{append-not-nil}
\=\+({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} $\wedge$ ({\it{a\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil})) \\ 
$\rightarrow$$\;\;\;\;$(({\rm{bv-append}}\,({\it{a\/}}, {\it{b\/}})\index{bv-append} $=$ {\sc{bv-nil}}\index{bv-nil}) $=$ {\bf{f}})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  vec-append \\ \index{vec-append}
\=\+(({\it{a\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}) $\wedge$ {\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp}) \\ 
$\rightarrow$$\;\;\;\;$({\rm{bv-vec}}\,({\rm{bv-append}}\,({\it{a\/}}, {\it{b\/}})\index{bv-append})\index{bv-vec} $=$ {\rm{bv-append}}\,({\rm{bv-vec}}\,({\it{a\/}})\index{bv-vec}, {\it{b\/}})\index{bv-append})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  size-up-shift-1 \\ \index{size-up-shift-1}
{\rm{boolp}}\,({\it{shiftin\/}})\index{boolp} $\rightarrow$ ({\rm{bv-size}}\,({\rm{up-shift-1}}\,({\it{it\/}}, {\it{shiftin\/}})\index{up-shift-1})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{it\/}})\index{bv-size})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  size-up-shift-n \\ \index{size-up-shift-n}
\=\+({\rm{boolp}}\,({\it{shiftin\/}})\index{boolp} $\wedge$ ({\it{n\/}} $\in\;${\bf{N}}${}$)) \\ 
$\rightarrow$$\;\;\;\;$({\rm{bv-size}}\,({\rm{up-shift-n}}\,({\it{n\/}}, {\it{it\/}}, {\it{shiftin\/}})\index{up-shift-n})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{it\/}})\index{bv-size})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  size-do-shift-n \\ \index{size-do-shift-n}
\=\+({\rm{boolp}}\,({\it{shiftin\/}})\index{boolp} $\wedge$ ({\it{n\/}} $\in\;${\bf{N}}${}$)) \\ 
$\rightarrow$$\;\;\;\;$({\rm{bv-size}}\,({\rm{do-shift-n}}\,({\it{n\/}}, {\it{it\/}}, {\it{shiftin\/}})\index{do-shift-n})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{it\/}})\index{bv-size})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  bv-append-not-not \\ \index{bv-append-not-not}
\=\+({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp}) \\ 
$\rightarrow$$\;\;\;\;$({\rm{bv-not}}\,({\rm{bv-append}}\,({\it{a\/}}, {\it{b\/}})\index{bv-append})\index{bv-not} $=$ {\rm{bv-append}}\,({\rm{bv-not}}\,({\it{a\/}})\index{bv-not}, {\rm{bv-not}}\,({\it{b\/}})\index{bv-not})\index{bv-append})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  up-shift-0 \\ \index{up-shift-0}
({\rm{bitvecp}}\,({\it{it\/}})\index{bitvecp} $\wedge$ {\rm{boolp}}\,({\it{sin\/}})\index{boolp}) $\rightarrow$ ({\rm{up-shift-n}}\,({\tt{0}}, {\it{it\/}}, {\it{sin\/}})\index{up-shift-n} $=$ {\it{it\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  hack2 \\ \index{hack2}
(({\it{b\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{a\/}} $\in\;${\bf{N}}${}$)) $\rightarrow$ (({\it{a\/}} $+$ ({\tt{0}} $*$ {\it{b\/}})) $=$ {\it{a\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  evenp-twoto \\ \index{evenp-twoto}
({\it{a\/}} $\not\simeq {\tt{0}}$) $\rightarrow$ {\rm{evenp}}\,({\rm{twoto}}\,({\it{a\/}})\index{twoto})\index{evenp}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  evenp-plus \\ \index{evenp-plus}
(({\it{a\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{b\/}} $\in\;${\bf{N}}${}$) $\wedge$ {\rm{evenp}}\,({\it{a\/}})\index{evenp} $\wedge$ {\rm{evenp}}\,({\it{b\/}})\index{evenp}) $\rightarrow$ {\rm{evenp}}\,({\it{a\/}} $+$ {\it{b\/}})\index{evenp}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  evenp-plus-extended \\ \index{evenp-plus-extended}
\=\+(({\it{a\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{b\/}} $\in\;${\bf{N}}${}$)) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{evenp}}\,({\it{a\/}} $+$ {\it{b\/}})\index{evenp} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{evenp}}\,({\it{a\/}})\index{evenp}$\;\;${\bf then }{\rm{evenp}}\,({\it{b\/}})\index{evenp} \\ 
{\bf else }$\neg$ {\rm{evenp}}\,({\it{b\/}})\index{evenp}$\;${\bf  endif}\-)\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  do-shift-strict \\ \index{do-shift-strict}
{\rm{do-shift-n}}\,({\it{n\/}}, {\sc{bv-nil}}\index{bv-nil}, {\it{sin\/}})\index{do-shift-n} $=$ {\sc{bv-nil}}\index{bv-nil}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  do-shift-0 \\ \index{do-shift-0}
({\rm{bitvecp}}\,({\it{it\/}})\index{bitvecp} $\wedge$ {\rm{boolp}}\,({\it{sin\/}})\index{boolp}) $\rightarrow$ ({\rm{do-shift-n}}\,({\tt{0}}, {\it{it\/}}, {\it{sin\/}})\index{do-shift-n} $=$ {\it{it\/}})
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{mult} \\  
\=\+{\rm{mult}}\,({\it{a\/}}, {\it{b\/}})\index{mult} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{negativep}}\,({\it{a\/}}) \\ 
{\bf then }\=\+{\bf if }{\rm{negativep}}\,({\it{b\/}})$\;\;${\bf then }{\rm{negative-guts}}\,({\it{a\/}}) $*$ {\rm{negative-guts}}\,({\it{b\/}}) \\ 
{\bf else }{\rm{tc-minus}}\,({\rm{negative-guts}}\,({\it{a\/}}) $*$ {\it{b\/}})\index{tc-minus}$\;${\bf  endif}\- \\ 
{\bf elseif }{\rm{negativep}}\,({\it{b\/}})$\;\;${\bf then }{\rm{tc-minus}}\,({\it{a\/}} $*$ {\rm{negative-guts}}\,({\it{b\/}}))\index{tc-minus} \\ 
{\bf else }{\it{a\/}} $*$ {\it{b\/}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  tcp-mult \\ \index{tcp-mult}
{\rm{tcp}}\,({\rm{mult}}\,({\it{a\/}}, {\it{b\/}})\index{mult})\index{tcp}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  commutativity2-of-mult \\ \index{commutativity2-of-mult}
{\rm{mult}}\,({\it{x\/}}, {\rm{mult}}\,({\it{y\/}}, {\it{z\/}})\index{mult})\index{mult} $=$ {\rm{mult}}\,({\it{y\/}}, {\rm{mult}}\,({\it{x\/}}, {\it{z\/}})\index{mult})\index{mult}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  commutativity-of-mult \\ \index{commutativity-of-mult}
{\rm{mult}}\,({\it{x\/}}, {\it{y\/}})\index{mult} $=$ {\rm{mult}}\,({\it{y\/}}, {\it{x\/}})\index{mult}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  associativity-of-mult \\ \index{associativity-of-mult}
{\rm{mult}}\,({\rm{mult}}\,({\it{x\/}}, {\it{y\/}})\index{mult}, {\it{z\/}})\index{mult} $=$ {\rm{mult}}\,({\it{x\/}}, {\rm{mult}}\,({\it{y\/}}, {\it{z\/}})\index{mult})\index{mult}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  bv-to-nat-bv-append \\ \index{bv-to-nat-bv-append}
\=\+({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp}) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{bv-to-nat}}\,({\rm{bv-append}}\,({\it{a\/}}, {\it{b\/}})\index{bv-append})\index{bv-to-nat} \\ 
$=$$\;\;\;\;$(({\rm{bv-to-nat}}\,({\it{a\/}})\index{bv-to-nat} $*$ {\rm{twoto}}\,({\rm{bv-size}}\,({\it{b\/}})\index{bv-size})\index{twoto}) $+$ {\rm{bv-to-nat}}\,({\it{b\/}})\index{bv-to-nat}))\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  bv-to-nat-of-vec \\ \index{bv-to-nat-of-vec}
\=\+{\rm{bv-to-nat}}\,({\rm{bv-vec}}\,({\it{a\/}})\index{bv-vec})\index{bv-to-nat} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{bv-bit}}\,({\it{a\/}})\index{bv-bit}$\;\;${\bf then }{\rm{add}}\,({\rm{bv-to-nat}}\,({\it{a\/}})\index{bv-to-nat}, $-$ {\rm{twoto}}\,({\rm{bv-size}}\,({\rm{bv-vec}}\,({\it{a\/}})\index{bv-vec})\index{bv-size})\index{twoto})\index{add} \\ 
{\bf else }{\rm{bv-to-nat}}\,({\it{a\/}})\index{bv-to-nat}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  times-difference \\ \index{times-difference}
({\it{a\/}} $*$ ({\it{x\/}} $-$ {\it{y\/}})) $=$ (({\it{a\/}} $*$ {\it{x\/}}) $-$ ({\it{a\/}} $*$ {\it{y\/}}))
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  not-bit-implies-in-range-times-2 \\ \index{not-bit-implies-in-range-times-!2}
($\neg$ {\rm{bv-bit}}\,({\it{a\/}})\index{bv-bit}) $\rightarrow$ (({\tt{2}} $*$ {\rm{bv-to-nat}}\,({\it{a\/}})\index{bv-to-nat}) $<$ {\rm{twoto}}\,({\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\index{twoto})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  remainder-natural-interpretation-of-up-shift-1 \\ \index{remainder-natural-interpretatio!n-of-up-shift-1}
\=\+{\rm{bv-to-nat}}\,({\rm{up-shift-1}}\,({\it{it\/}}, {\bf{f}})\index{up-shift-1})\index{bv-to-nat} \\ 
$=$$\;\;\;\;$(({\rm{bv-to-nat}}\,({\it{it\/}})\index{bv-to-nat} $*$ {\tt{2}}) ${}${\bf{mod}}${}$ {\rm{twoto}}\,({\rm{bv-size}}\,({\it{it\/}})\index{bv-size})\index{twoto})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  remainder-remainder \\ \index{remainder-remainder}
(({\it{e\/}} ${}${\bf{mod}}${}$ {\it{b\/}}) ${}${\bf{mod}}${}$ {\it{b\/}}) $=$ ({\it{e\/}} ${}${\bf{mod}}${}$ {\it{b\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  remainder-diff \\ \index{remainder-diff}
({\it{a\/}} $\not<$ {\it{b\/}}) $\rightarrow$ ((({\it{a\/}} $-$ {\it{b\/}}) ${}${\bf{mod}}${}$ {\it{b\/}}) $=$ ({\it{a\/}} ${}${\bf{mod}}${}$ {\it{b\/}}))
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  remainder-diff-times \\ \index{remainder-diff-times}
({\it{x\/}} $\not<$ ({\it{n\/}} $*$ {\it{b\/}})) $\rightarrow$ ((({\it{x\/}} $-$ ({\it{n\/}} $*$ {\it{b\/}})) ${}${\bf{mod}}${}$ {\it{b\/}}) $=$ ({\it{x\/}} ${}${\bf{mod}}${}$ {\it{b\/}}))
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{abs} \\  
\=\+{\rm{abs}}\,({\it{a\/}})\index{abs} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{a\/}} $\in\;${\bf{N}}${}$$\;\;${\bf then }{\it{a\/}} \\ 
{\bf elseif }{\rm{negativep}}\,({\it{a\/}})$\;\;${\bf then }{\rm{negative-guts}}\,({\it{a\/}}) \\ 
{\bf else }{\tt{0}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{divide} \\  
\=\+{\rm{divide}}\,({\it{a\/}}, {\it{b\/}})\index{divide} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{negativep}}\,({\it{a\/}}) \\ 
{\bf then }\=\+{\bf if }{\rm{negativep}}\,({\it{b\/}})$\;\;${\bf then }{\rm{negative-guts}}\,({\it{a\/}}) $\div$ {\rm{negative-guts}}\,({\it{b\/}}) \\ 
{\bf else }{\rm{tc-minus}}\,({\rm{negative-guts}}\,({\it{a\/}}) $\div$ {\it{b\/}})\index{tc-minus}$\;${\bf  endif}\- \\ 
{\bf elseif }{\rm{negativep}}\,({\it{b\/}})$\;\;${\bf then }{\rm{tc-minus}}\,({\it{a\/}} $\div$ {\rm{negative-guts}}\,({\it{b\/}}))\index{tc-minus} \\ 
{\bf else }{\it{a\/}} $\div$ {\it{b\/}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  tcp-divide \\ \index{tcp-divide}
{\rm{tcp}}\,({\rm{divide}}\,({\it{a\/}}, {\it{b\/}})\index{divide})\index{tcp}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  hackxaux \\ \index{hackxaux}
\=\+(\=\+({\it{w\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{w\/}} $<$ {\it{b\/}}) \\ 
$\wedge$$\;\;\;\;$({\it{z\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{z\/}} $<$ {\it{c\/}}) \\ 
$\wedge$$\;\;\;\;$({\it{c\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{c\/}} $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$({\it{b\/}} $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$({\it{b\/}} $\in\;${\bf{N}}${}$))\- \\ 
$\rightarrow$$\;\;\;\;$(({\it{z\/}} $+$ ({\it{c\/}} $*$ {\it{w\/}})) $<$ ({\it{b\/}} $*$ {\it{c\/}}))\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  times-to-mult-1 \\ \index{times-to-mult-1}
\=\+({\rm{tcp}}\,({\it{x\/}})\index{tcp} $\wedge$ {\rm{tc-in-rangep}}\,({\it{x\/}}, {\it{z\/}})\index{tc-in-rangep}) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{nat-to-integer}}\,(({\tt{2}} $*$ {\rm{integer-to-nat}}\,({\it{x\/}}, {\it{z\/}})\index{integer-to-nat}) ${}${\bf{mod}}${}$ {\rm{twoto}}\,({\it{z\/}})\index{twoto}, {\it{z\/}})\index{nat-to-integer} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{tc-in-rangep}}\,({\rm{mult}}\,({\tt{2}}, {\it{x\/}})\index{mult}, {\it{z\/}})\index{tc-in-rangep}$\;\;${\bf then }{\rm{mult}}\,({\tt{2}}, {\it{x\/}})\index{mult} \\ 
{\bf elseif }{\rm{negativep}}\,({\rm{mult}}\,({\tt{2}}, {\it{x\/}})\index{mult})$\;\;${\bf then }{\rm{add}}\,({\rm{mult}}\,({\tt{2}}, {\it{x\/}})\index{mult}, {\rm{twoto}}\,({\it{z\/}})\index{twoto})\index{add} \\ 
{\bf else }{\rm{add}}\,({\rm{mult}}\,({\tt{2}}, {\it{x\/}})\index{mult}, $-$ {\rm{twoto}}\,({\it{z\/}})\index{twoto})\index{add}$\;${\bf  endif}\-)\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  integer-interpretation-of-up-shift-1 \\ \index{integer-interpretation-of-up-shi!ft-1}
\=\+({\rm{bitvecp}}\,({\it{it\/}})\index{bitvecp} $\wedge$ ({\it{it\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{tc-to-integer}}\,({\rm{up-shift-1}}\,({\it{it\/}}, {\bf{f}})\index{up-shift-1})\index{tc-to-integer} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{tc-in-rangep}}\,({\rm{mult}}\,({\rm{tc-to-integer}}\,({\it{it\/}})\index{tc-to-integer}, {\tt{2}})\index{mult}, {\rm{bv-size}}\,({\it{it\/}})\index{bv-size})\index{tc-in-rangep} \\ 
{\bf then }{\rm{mult}}\,({\rm{tc-to-integer}}\,({\it{it\/}})\index{tc-to-integer}, {\tt{2}})\index{mult} \\ 
{\bf elseif }{\rm{negativep}}\,({\rm{mult}}\,({\rm{tc-to-integer}}\,({\it{it\/}})\index{tc-to-integer}, {\tt{2}})\index{mult}) \\ 
{\bf then }{\rm{add}}\,({\rm{mult}}\,({\rm{tc-to-integer}}\,({\it{it\/}})\index{tc-to-integer}, {\tt{2}})\index{mult}, {\rm{twoto}}\,({\rm{bv-size}}\,({\it{it\/}})\index{bv-size})\index{twoto})\index{add} \\ 
{\bf else }{\rm{add}}\,(\=\+{\rm{mult}}\,({\rm{tc-to-integer}}\,({\it{it\/}})\index{tc-to-integer}, {\tt{2}})\index{mult}, \\ 
$-$ {\rm{twoto}}\,({\rm{bv-size}}\,({\it{it\/}})\index{bv-size})\index{twoto})\-\index{add}$\;${\bf  endif}\-)\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  lessp-plus-1 \\ \index{lessp-plus-1}
(({\it{a\/}} $+$ {\it{c\/}}) $<$ ({\it{b\/}} $+$ {\it{c\/}})) $=$ ({\it{a\/}} $<$ {\it{b\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  lessp-plus-1-commuted \\ \index{lessp-plus-1-commuted}
(({\it{a\/}} $+$ {\it{c\/}}) $<$ ({\it{c\/}} $+$ {\it{b\/}})) $=$ ({\it{a\/}} $<$ {\it{b\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  lessp-plus-2 \\ \index{lessp-plus-2}
({\it{b\/}} $<$ {\it{c\/}}) $\rightarrow$ (({\it{a\/}} $<$ ({\it{c\/}} $-$ {\it{b\/}})) $=$ (({\it{a\/}} $+$ {\it{b\/}}) $<$ {\it{c\/}}))
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  equal-diff-twoto \\ \index{equal-diff-twoto}
({\rm{twoto}}\,({\it{a\/}})\index{twoto} $-$ ({\rm{twoto}}\,({\it{a\/}} $-\;1$)\index{twoto} $+$ {\it{b\/}})) $=$ (({\rm{twoto}}\,({\it{a\/}})\index{twoto} $\div$ {\tt{2}}) $-$ {\it{b\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  evenp-times-even \\ \index{evenp-times-even}
({\rm{evenp}}\,({\it{a\/}})\index{evenp} $\vee$ {\rm{evenp}}\,({\it{b\/}})\index{evenp}) $\rightarrow$ {\rm{evenp}}\,({\it{a\/}} $*$ {\it{b\/}})\index{evenp}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  real-hack-1 \\ \index{real-hack-1}
\=\+(({\it{z\/}} $<$ {\tt{2}}) $\wedge$ {\rm{evenp}}\,({\it{z\/}} $+$ ({\tt{2}} $*$ {\it{a\/}}))\index{evenp}) \\ 
$\rightarrow$$\;\;\;\;$(({\it{z\/}} $+$ ({\tt{2}} $*$ {\it{a\/}})) $=$ ({\tt{2}} $*$ {\it{a\/}}))\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  real-hack-6 \\ \index{real-hack-6}
(({\it{w\/}} $<$ {\tt{2}}) $\wedge$ ($\neg$ {\rm{evenp}}\,({\it{w\/}})\index{evenp})) $\rightarrow$ (({\it{w\/}} $-\;1$) $=$ {\tt{0}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  not-even-add1-commuted \\ \index{not-even-add1-commuted}
(({\it{a\/}} $\in\;${\bf{N}}${}$) $\wedge$ ($\neg$ {\rm{evenp}}\,($1\;+$ {\it{a\/}})\index{evenp})) $\rightarrow$ {\rm{evenp}}\,({\it{a\/}})\index{evenp}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  evenp-add1-commuted \\ \index{evenp-add1-commuted}
{\rm{evenp}}\,($1\;+$ {\it{a\/}})\index{evenp} $\rightarrow$ ($\neg$ {\rm{evenp}}\,({\it{a\/}})\index{evenp})
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{multiplep}$\;\;$
{\rm{multiplep}}\,({\it{a\/}}, {\it{n\/}})\index{multiplep} $=$ (({\it{a\/}} ${}${\bf{mod}}${}$ {\it{n\/}}) $\simeq {\tt{0}}$)
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  negative-guts-tc-minus \\ \index{negative-guts-tc-minus}
({\it{a\/}} $\in\;${\bf{N}}${}$) $\rightarrow$ ({\rm{negative-guts}}\,({\rm{tc-minus}}\,({\it{a\/}})\index{tc-minus}) $=$ {\it{a\/}})
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{invert-lsb} \\  
{\rm{invert-lsb}}\,({\it{it\/}})\index{invert-lsb} $=$ {\rm{bv-append}}\,({\rm{butlast}}\,({\it{it\/}})\index{butlast}, {\rm{bitvec}}\,($\neg$ {\rm{last}}\,({\it{it\/}})\index{last}, {\sc{bv-nil}}\index{bv-nil})\index{bitvec})\index{bv-append}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  lsb-implies-odd \\ \index{lsb-implies-odd}
{\rm{last}}\,({\it{it\/}})\index{last} $=$ ($\neg$ {\rm{evenp}}\,({\rm{bv-to-nat}}\,({\it{it\/}})\index{bv-to-nat})\index{evenp})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  bv-bit-of-bv-append \\ \index{bv-bit-of-bv-append}
\=\+({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ ({\it{a\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}) $\wedge$ {\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp}) \\ 
$\rightarrow$$\;\;\;\;$({\rm{bv-bit}}\,({\rm{bv-append}}\,({\it{a\/}}, {\it{b\/}})\index{bv-append})\index{bv-bit} $=$ {\rm{bv-bit}}\,({\it{a\/}})\index{bv-bit})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  butlast-bv-append \\ \index{butlast-bv-append}
\=\+({\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} $\wedge$ ({\it{b\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil})) \\ 
$\rightarrow$$\;\;\;\;$({\rm{butlast}}\,({\rm{bv-append}}\,({\it{a\/}}, {\it{b\/}})\index{bv-append})\index{butlast} $=$ {\rm{bv-append}}\,({\it{a\/}}, {\rm{butlast}}\,({\it{b\/}})\index{butlast})\index{bv-append})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  bv-append-of-bv-nil \\ \index{bv-append-of-bv-nil}
{\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\rightarrow$ ({\rm{bv-append}}\,({\it{a\/}}, {\sc{bv-nil}}\index{bv-nil})\index{bv-append} $=$ {\it{a\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  up-shift-1-invert-lsb \\ \index{up-shift-1-invert-lsb}
\=\+({\rm{bitvecp}}\,({\it{it\/}})\index{bitvecp} $\wedge$ ({\it{it\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil})) \\ 
$\rightarrow$$\;\;\;\;$({\rm{up-shift-1}}\,({\it{it\/}}, {\bf{t}})\index{up-shift-1} $=$ {\rm{invert-lsb}}\,({\rm{up-shift-1}}\,({\it{it\/}}, {\bf{f}})\index{up-shift-1})\index{invert-lsb})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  last-of-bv-append \\ \index{last-of-bv-append}
\=\+({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} $\wedge$ ({\it{b\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil})) \\ 
$\rightarrow$$\;\;\;\;$({\rm{last}}\,({\rm{bv-append}}\,({\it{a\/}}, {\it{b\/}})\index{bv-append})\index{last} $=$ {\rm{last}}\,({\it{b\/}})\index{last})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  quotient-diff-times \\ \index{quotient-diff-times}
\=\+(({\it{x\/}} $-$ ({\it{i\/}} $*$ {\it{j\/}})) $\div$ {\it{j\/}}) \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{j\/}} $\simeq {\tt{0}}$$\;\;${\bf then }{\tt{0}} \\ 
{\bf else }({\it{x\/}} $\div$ {\it{j\/}}) $-$ {\it{i\/}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  times-quotient-lessp-relate \\ \index{times-quotient-lessp-relate}
({\it{a\/}} $<$ ({\it{b\/}} $*$ {\it{c\/}})) $\rightarrow$ (({\it{a\/}} $\div$ {\it{b\/}}) $<$ {\it{c\/}})
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{induct-quot-quot} \\  
\=\+{\rm{induct-quot-quot}}\,({\it{x\/}}, {\it{y\/}}, {\it{b\/}})\index{induct-quot-quot} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{b\/}} $\simeq {\tt{0}}$$\;\;${\bf then }{\bf{t}} \\ 
{\bf elseif }{\it{x\/}} $<$ {\it{b\/}}$\;\;${\bf then }{\bf{t}} \\ 
{\bf else }{\rm{induct-quot-quot}}\,({\it{x\/}} $-$ {\it{b\/}}, {\it{y\/}} $-$ {\it{b\/}}, {\it{b\/}})\index{induct-quot-quot}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  quotient-lessp \\ \index{quotient-lessp}
(({\it{x\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{y\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{x\/}} $\not<$ {\it{y\/}})) $\rightarrow$ (({\it{x\/}} $\div$ {\it{b\/}}) $\not<$ ({\it{y\/}} $\div$ {\it{b\/}}))
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  times-quotient-lessp-relate-dual \\ \index{times-quotient-lessp-relate-dua!l}
\=\+(({\it{a\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{b\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{c\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{b\/}} $\not=$ {\tt{0}}) $\wedge$ ({\it{a\/}} $\not<$ ({\it{b\/}} $*$ {\it{c\/}}))) \\ 
$\rightarrow$$\;\;\;\;$(({\it{a\/}} $\div$ {\it{b\/}}) $\not<$ {\it{c\/}})\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{new-r} \\  
\=\+{\rm{new-r}}\,({\it{i\/}}, {\it{r\/}}, {\it{noem\/}})\index{new-r} \\ 
$=$$\;\;\;\;$\=\+{\bf if }({\it{noem\/}} $\in\;${\bf{N}}${}$) $=$ ({\it{r\/}} $\in\;${\bf{N}}${}$) \\ 
{\bf then }{\rm{add}}\,({\it{r\/}}, {\rm{tc-minus}}\,({\rm{mult}}\,({\it{noem\/}}, {\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto})\index{mult})\index{tc-minus})\index{add} \\ 
{\bf else }{\rm{add}}\,({\it{r\/}}, {\rm{mult}}\,({\it{noem\/}}, {\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto})\index{mult})\index{add}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{anrd} \\  
\=\+{\rm{anrd}}\,({\it{i\/}}, {\it{r\/}}, {\it{noem\/}})\index{anrd} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{i\/}} $\simeq {\tt{0}}$$\;\;${\bf then }{\sc{bv-nil}}\index{bv-nil} \\ 
{\bf else }{\rm{bitvec}}\,(\=\+({\it{noem\/}} $\in\;${\bf{N}}${}$) $=$ ({\rm{new-r}}\,({\it{i\/}}, {\it{r\/}}, {\it{noem\/}})\index{new-r} $\in\;${\bf{N}}${}$), \\ 
{\rm{anrd}}\,({\it{i\/}} $-\;1$, {\rm{new-r}}\,({\it{i\/}}, {\it{r\/}}, {\it{noem\/}})\index{new-r}, {\it{noem\/}})\index{anrd})\-\index{bitvec}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  tcp-new-r \\ \index{tcp-new-r}
{\rm{tcp}}\,({\rm{new-r}}\,({\it{i\/}}, {\it{r\/}}, {\it{noem\/}})\index{new-r})\index{tcp}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  size-anrd-bv \\ \index{size-anrd-bv}
{\rm{bv-size}}\,({\rm{anrd}}\,({\it{i\/}}, {\it{r\/}}, {\it{noem\/}})\index{anrd})\index{bv-size} $=$ {\rm{fix}}\,({\it{i\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  anrd-i-0 \\ \index{anrd-i-0}
({\it{i\/}} $\simeq {\tt{0}}$) $\rightarrow$ ({\rm{tc-to-integer}}\,({\rm{anrd}}\,({\it{i\/}}, {\it{tel\/}}, {\it{noem\/}})\index{anrd})\index{tc-to-integer} $=$ {\tt{0}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  quotient-times-lessp \\ \index{quotient-times-lessp}
\=\+(({\it{a\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{b\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{c\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{b\/}} $\not=$ {\tt{0}})) \\ 
$\rightarrow$$\;\;\;\;$(({\it{a\/}} $<$ ({\it{b\/}} $*$ {\it{c\/}})) $=$ (({\it{a\/}} $\div$ {\it{b\/}}) $<$ {\it{c\/}}))\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  quotient-times-commuted \\ \index{quotient-times-commuted}
\=\+(({\it{j\/}} $*$ {\it{i\/}}) $\div$ {\it{i\/}}) \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{i\/}} $\simeq {\tt{0}}$$\;\;${\bf then }{\tt{0}} \\ 
{\bf else }{\rm{fix}}\,({\it{j\/}})$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  multiplep-diff \\ \index{multiplep-diff}
(({\it{a\/}} $\not<$ {\it{j\/}}) $\wedge$ {\rm{multiplep}}\,({\it{a\/}}, {\it{j\/}})\index{multiplep}) $\rightarrow$ {\rm{multiplep}}\,({\it{a\/}} $-$ {\it{j\/}}, {\it{j\/}})\index{multiplep}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  q-d-t-lemma1 \\ \index{q-d-t-lemma1}
\=\+(({\it{a\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{a\/}} $\not=$ {\tt{0}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+(({\it{a\/}} $-\;1$) $\div$ {\it{j\/}}) \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{multiplep}}\,({\it{a\/}}, {\it{j\/}})\index{multiplep}$\;\;${\bf then }({\it{a\/}} $\div$ {\it{j\/}}) $-\;1$ \\ 
{\bf else }{\it{a\/}} $\div$ {\it{j\/}}$\;${\bf  endif}\-)\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  q-d-t-lemma2 \\ \index{q-d-t-lemma2}
\=\+(({\it{i\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{j\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{j\/}} $\not=$ {\tt{0}})) \\ 
$\rightarrow$$\;\;\;\;$(((({\it{i\/}} $*$ {\it{j\/}}) $-\;1$) $\div$ {\it{j\/}}) $=$ ({\it{i\/}} $-\;1$))\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  q-d-t-lemma3 \\ \index{q-d-t-lemma3}
\=\+(({\it{j\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{j\/}} $\not=$ {\tt{0}}) $\wedge$ ({\it{x\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{x\/}} $\not=$ {\tt{0}}) $\wedge$ ({\it{x\/}} $<$ {\it{j\/}})) \\ 
$\rightarrow$$\;\;\;\;$(((({\it{i\/}} $*$ {\it{j\/}}) $-$ {\it{x\/}}) $\div$ {\it{j\/}}) $=$ ({\it{i\/}} $-\;1$))\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  quotient-diff-times-commuted \\ \index{quotient-diff-times-commuted}
\=\+((({\it{i\/}} $*$ {\it{j\/}}) $-$ {\it{x\/}}) $\div$ {\it{j\/}}) \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{j\/}} $\simeq {\tt{0}}$$\;\;${\bf then }{\tt{0}} \\ 
{\bf elseif }{\rm{multiplep}}\,({\it{x\/}}, {\it{j\/}})\index{multiplep}$\;\;${\bf then }{\it{i\/}} $-$ ({\it{x\/}} $\div$ {\it{j\/}}) \\ 
{\bf else }({\it{i\/}} $-$ ({\it{x\/}} $\div$ {\it{j\/}})) $-\;1$$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{imultiplep} \\  
\=\+{\rm{imultiplep}}\,({\it{a\/}}, {\it{b\/}})\index{imultiplep} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{a\/}} $\in\;${\bf{N}}${}$ \\ 
{\bf then }\=\+{\bf if }{\it{b\/}} $\in\;${\bf{N}}${}$$\;\;${\bf then }{\rm{multiplep}}\,({\it{a\/}}, {\it{b\/}})\index{multiplep} \\ 
{\bf else }{\rm{multiplep}}\,({\it{a\/}}, {\rm{negative-guts}}\,({\it{b\/}}))\index{multiplep}$\;${\bf  endif}\- \\ 
{\bf elseif }{\it{b\/}} $\in\;${\bf{N}}${}$$\;\;${\bf then }{\rm{multiplep}}\,({\rm{negative-guts}}\,({\it{a\/}}), {\it{b\/}})\index{multiplep} \\ 
{\bf else }{\rm{multiplep}}\,({\rm{negative-guts}}\,({\it{a\/}}), {\rm{negative-guts}}\,({\it{b\/}}))\index{multiplep}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  imultiplep-add \\ \index{imultiplep-add}
\=\+({\rm{tcp}}\,({\it{a\/}})\index{tcp} $\wedge$ {\rm{tcp}}\,({\it{b\/}})\index{tcp} $\wedge$ ({\it{x\/}} $\in\;${\bf{N}}${}$) $\wedge$ {\rm{imultiplep}}\,({\it{a\/}}, {\it{b\/}})\index{imultiplep}) \\ 
$\rightarrow$$\;\;\;\;${\rm{imultiplep}}\,({\rm{add}}\,({\it{a\/}}, {\rm{mult}}\,({\it{b\/}}, {\rm{twoto}}\,({\it{x\/}})\index{twoto})\index{mult})\index{add}, {\it{b\/}})\index{imultiplep}\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  tc-minus-mult \\ \index{tc-minus-mult}
{\rm{tc-minus}}\,({\rm{mult}}\,({\it{a\/}}, {\it{b\/}})\index{mult})\index{tc-minus} $=$ {\rm{mult}}\,({\rm{tc-minus}}\,({\it{a\/}})\index{tc-minus}, {\it{b\/}})\index{mult}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  multiplep-tc-minus \\ \index{multiplep-tc-minus}
{\rm{imultiplep}}\,({\it{a\/}}, {\rm{tc-minus}}\,({\it{b\/}})\index{tc-minus})\index{imultiplep} $=$ {\rm{imultiplep}}\,({\it{a\/}}, {\it{b\/}})\index{imultiplep}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  imultiplep-new-r \\ \index{imultiplep-new-r}
\=\+({\rm{tcp}}\,({\it{r\/}})\index{tcp} $\wedge$ {\rm{tcp}}\,({\it{n\/}})\index{tcp} $\wedge$ ({\it{i\/}} $\in\;${\bf{N}}${}$) $\wedge$ {\rm{imultiplep}}\,({\it{r\/}}, {\it{n\/}})\index{imultiplep}) \\ 
$\rightarrow$$\;\;\;\;${\rm{imultiplep}}\,({\rm{new-r}}\,({\it{i\/}}, {\it{r\/}}, {\it{n\/}})\index{new-r}, {\it{n\/}})\index{imultiplep}\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  remainder-diff-times-commuted \\ \index{remainder-diff-times-commuted}
\=\+(({\it{a\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{x\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{b\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{x\/}} $<$ {\it{b\/}}) $\wedge$ (({\it{a\/}} $*$ {\it{b\/}}) $\not<$ {\it{x\/}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+((({\it{a\/}} $*$ {\it{b\/}}) $-$ {\it{x\/}}) ${}${\bf{mod}}${}$ {\it{b\/}}) \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{x\/}} $=$ {\tt{0}}$\;\;${\bf then }{\tt{0}} \\ 
{\bf else }{\it{b\/}} $-$ {\it{x\/}}$\;${\bf  endif}\-)\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{times-times-induct} \\  
\=\+{\rm{times-times-induct}}\,({\it{a\/}}, {\it{b\/}}, {\it{c\/}})\index{times-times-induct} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{b\/}} $\simeq {\tt{0}}$$\;\;${\bf then }{\bf{t}} \\ 
{\bf else }{\rm{times-times-induct}}\,({\it{a\/}}, {\it{b\/}} $-\;1$, {\it{c\/}} $-\;1$)\index{times-times-induct}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  not-equal-times-0 \\ \index{not-equal-times-0}
\=\+(({\it{a\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{b\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{a\/}} $\not=$ {\tt{0}}) $\wedge$ ({\it{b\/}} $\not=$ {\tt{0}})) \\ 
$\rightarrow$$\;\;\;\;$(({\tt{0}} $*$ {\it{a\/}}) $\not=$ ({\it{a\/}} $*$ {\it{b\/}}))\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  equal-times-times \\ \index{equal-times-times}
\=\+(({\it{a\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{b\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{c\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{a\/}} $\not=$ {\tt{0}})) \\ 
$\rightarrow$$\;\;\;\;$((({\it{a\/}} $*$ {\it{b\/}}) $=$ ({\it{a\/}} $*$ {\it{c\/}})) $=$ ({\it{b\/}} $=$ {\it{c\/}}))\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  hack-around-next-lemma \\ \index{hack-around-next-lemma}
\=\+(\=\+({\it{w\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{z\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{z\/}} $<$ {\it{b\/}}) \\ 
$\wedge$$\;\;\;\;$({\it{v\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{b\/}} $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$({\it{b\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{w\/}} $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$({\it{z\/}} $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$(({\it{b\/}} $+$ ({\it{b\/}} $*$ {\it{w\/}})) $\not<$ ({\it{z\/}} $+$ ({\it{b\/}} $*$ {\it{v\/}}))) \\ 
$\wedge$$\;\;\;\;$(({\it{b\/}} $*$ {\it{w\/}}) $<$ ({\it{z\/}} $+$ ({\it{b\/}} $*$ {\it{v\/}}))))\- \\ 
$\rightarrow$$\;\;\;\;$((($1\;+$ {\it{v\/}}) $-\;1$) $=$ {\it{w\/}})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  lower-upper-determines \\ \index{lower-upper-determines}
\=\+(\=\+({\it{a\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{b\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{a\/}} $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$({\it{a\/}} $\not=$ {\tt{1}}) \\ 
$\wedge$$\;\;\;\;$({\it{x\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{x\/}} $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$(({\it{x\/}} ${}${\bf{mod}}${}$ {\it{b\/}}) $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$(({\it{a\/}} $*$ {\it{b\/}}) $\not<$ {\it{x\/}}) \\ 
$\wedge$$\;\;\;\;$((({\it{a\/}} $-\;1$) $*$ {\it{b\/}}) $<$ {\it{x\/}}))\- \\ 
$\rightarrow$$\;\;\;\;$(($1\;+$ ({\it{x\/}} $\div$ {\it{b\/}})) $=$ {\it{a\/}})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  remainder-diff-times-commuted-2 \\ \index{remainder-diff-times-commuted-2}
\=\+(({\it{a\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{x\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{b\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{x\/}} $\not<$ {\it{b\/}}) $\wedge$ (({\it{a\/}} $*$ {\it{b\/}}) $\not<$ {\it{x\/}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+((({\it{a\/}} $*$ {\it{b\/}}) $-$ {\it{x\/}}) ${}${\bf{mod}}${}$ {\it{b\/}}) \\ 
$=$$\;\;\;\;$\=\+{\bf if }({\it{x\/}} ${}${\bf{mod}}${}$ {\it{b\/}}) $=$ {\tt{0}}$\;\;${\bf then }{\tt{0}} \\ 
{\bf else }{\it{b\/}} $-$ ({\it{x\/}} ${}${\bf{mod}}${}$ {\it{b\/}})$\;${\bf  endif}\-)\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  not-imultiplep-add \\ \index{not-imultiplep-add}
\=\+({\rm{tcp}}\,({\it{a\/}})\index{tcp} $\wedge$ {\rm{tcp}}\,({\it{b\/}})\index{tcp} $\wedge$ ({\it{x\/}} $\in\;${\bf{N}}${}$) $\wedge$ ($\neg$ {\rm{imultiplep}}\,({\it{a\/}}, {\it{b\/}})\index{imultiplep})) \\ 
$\rightarrow$$\;\;\;\;$($\neg$ {\rm{imultiplep}}\,({\rm{add}}\,({\it{a\/}}, {\rm{mult}}\,({\it{b\/}}, {\rm{twoto}}\,({\it{x\/}})\index{twoto})\index{mult})\index{add}, {\it{b\/}})\index{imultiplep})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  not-imultiplep-new-r \\ \index{not-imultiplep-new-r}
\=\+({\rm{tcp}}\,({\it{n\/}})\index{tcp} $\wedge$ {\rm{tcp}}\,({\it{r\/}})\index{tcp} $\wedge$ ({\it{i\/}} $\in\;${\bf{N}}${}$) $\wedge$ ($\neg$ {\rm{imultiplep}}\,({\it{r\/}}, {\it{n\/}})\index{imultiplep})) \\ 
$\rightarrow$$\;\;\;\;$($\neg$ {\rm{imultiplep}}\,({\rm{new-r}}\,({\it{i\/}}, {\it{r\/}}, {\it{n\/}})\index{new-r}, {\it{n\/}})\index{imultiplep})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  unfold-positive-tc-to-integer \\ \index{unfold-positive-tc-to-integer}
\=\+(({\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer} $=$ {\it{b\/}}) $\wedge$ ({\it{b\/}} $\in\;${\bf{N}}${}$)) \\ 
$\rightarrow$$\;\;\;\;$({\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer} $=$ {\rm{bv-to-nat}}\,({\it{a\/}})\index{bv-to-nat})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  unfold-negative-tc-to-integer \\ \index{unfold-negative-tc-to-integer}
\=\+(({\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer} $=$ {\it{b\/}}) $\wedge$ {\rm{negativep}}\,({\it{b\/}})) \\ 
$\rightarrow$$\;\;\;\;$({\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer} $=$ {\rm{add}}\,({\rm{tc-minus}}\,({\rm{twoto}}\,({\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\index{twoto})\index{tc-minus}, {\rm{bv-to-nat}}\,({\it{a\/}})\index{bv-to-nat})\index{add})\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{div-in-rangep} \\  
\=\+{\rm{div-in-rangep}}\,({\it{tel\/}}, {\it{noem\/}}, {\it{i\/}})\index{div-in-rangep} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{tel\/}} $\in\;${\bf{N}}${}$ \\ 
{\bf then }\=\+{\bf if }{\it{noem\/}} $\in\;${\bf{N}}${}$$\;\;${\bf then }{\it{tel\/}} $<$ ({\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto} $*$ {\it{noem\/}}) \\ 
{\bf else }{\it{tel\/}} $<$ ({\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto} $*$ {\rm{negative-guts}}\,({\it{noem\/}}))$\;${\bf  endif}\- \\ 
{\bf elseif }{\it{noem\/}} $\in\;${\bf{N}}${}$$\;\;${\bf then }({\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto} $*$ {\it{noem\/}}) $\not<$ {\rm{negative-guts}}\,({\it{tel\/}}) \\ 
{\bf else }\=\+({\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto} $*$ {\rm{negative-guts}}\,({\it{noem\/}})) \\ 
$\not<$$\;\;\;\;${\rm{negative-guts}}\,({\it{tel\/}})\-$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  div-in-rangep-new-r-sign-1 \\ \index{div-in-rangep-new-r-sign-1}
\=\+({\rm{div-in-rangep}}\,({\it{tel\/}}, {\it{noem\/}}, {\it{i\/}})\index{div-in-rangep} $\wedge$ ({\it{tel\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{noem\/}} $\in\;${\bf{N}}${}$)) \\ 
$\rightarrow$$\;\;\;\;${\rm{negativep}}\,({\rm{add}}\,({\it{tel\/}}, {\rm{tc-minus}}\,({\rm{mult}}\,({\it{noem\/}}, {\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto})\index{mult})\index{tc-minus})\index{add})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  div-in-rangep-new-r-sign-2 \\ \index{div-in-rangep-new-r-sign-2}
\=\+({\rm{div-in-rangep}}\,({\it{tel\/}}, {\it{noem\/}}, {\it{i\/}})\index{div-in-rangep} $\wedge$ ({\it{tel\/}} $\in\;${\bf{N}}${}$) $\wedge$ {\rm{negativep}}\,({\it{noem\/}})) \\ 
$\rightarrow$$\;\;\;\;${\rm{negativep}}\,({\rm{add}}\,({\it{tel\/}}, {\rm{mult}}\,({\it{noem\/}}, {\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto})\index{mult})\index{add})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  div-in-rangep-new-r-sign-3 \\ \index{div-in-rangep-new-r-sign-3}
\=\+({\rm{div-in-rangep}}\,({\it{tel\/}}, {\it{noem\/}}, {\it{i\/}})\index{div-in-rangep} $\wedge$ {\rm{negativep}}\,({\it{tel\/}}) $\wedge$ ({\it{noem\/}} $\in\;${\bf{N}}${}$)) \\ 
$\rightarrow$$\;\;\;\;$({\rm{add}}\,({\it{tel\/}}, {\rm{mult}}\,({\it{noem\/}}, {\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto})\index{mult})\index{add} $\in\;${\bf{N}}${}$)\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  div-in-rangep-new-r-sign-4 \\ \index{div-in-rangep-new-r-sign-4}
\=\+({\rm{div-in-rangep}}\,({\it{tel\/}}, {\it{noem\/}}, {\it{i\/}})\index{div-in-rangep} $\wedge$ {\rm{negativep}}\,({\it{tel\/}}) $\wedge$ {\rm{negativep}}\,({\it{noem\/}})) \\ 
$\rightarrow$$\;\;\;\;$({\rm{add}}\,({\it{tel\/}}, {\rm{tc-minus}}\,({\rm{mult}}\,({\it{noem\/}}, {\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto})\index{mult})\index{tc-minus})\index{add} $\in\;${\bf{N}}${}$)\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  quotient-diff-times-dual \\ \index{quotient-diff-times-dual}
\=\+(({\it{x\/}} $-$ ({\it{j\/}} $*$ {\it{i\/}})) $\div$ {\it{j\/}}) \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{j\/}} $\simeq {\tt{0}}$$\;\;${\bf then }{\tt{0}} \\ 
{\bf else }({\it{x\/}} $\div$ {\it{j\/}}) $-$ {\it{i\/}}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  quotient-diff-times-commuted-dual \\ \index{quotient-diff-times-commuted-du!al}
\=\+((({\it{j\/}} $*$ {\it{i\/}}) $-$ {\it{x\/}}) $\div$ {\it{j\/}}) \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{j\/}} $\simeq {\tt{0}}$$\;\;${\bf then }{\tt{0}} \\ 
{\bf elseif }{\rm{multiplep}}\,({\it{x\/}}, {\it{j\/}})\index{multiplep}$\;\;${\bf then }{\it{i\/}} $-$ ({\it{x\/}} $\div$ {\it{j\/}}) \\ 
{\bf else }({\it{i\/}} $-$ ({\it{x\/}} $\div$ {\it{j\/}})) $-\;1$$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  sub1-difference \\ \index{sub1-difference}
(({\it{a\/}} $-$ {\it{b\/}}) $-\;1$) $=$ (({\it{a\/}} $-\;1$) $-$ {\it{b\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  quotient-times-lessp-refrased \\ \index{quotient-times-lessp-refrased}
\=\+(({\it{a\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{b\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{c\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{b\/}} $\not=$ {\tt{0}})) \\ 
$\rightarrow$$\;\;\;\;$((({\it{a\/}} $\div$ {\it{b\/}}) $<$ {\it{c\/}}) $=$ ({\it{a\/}} $<$ ({\it{b\/}} $*$ {\it{c\/}})))\-
\end{tabbing}


\noindent{\sc Event}:   Disable quotient-times-lessp.

\addvspace{18pt}

\begin{tabbing}{\sc Theorem}:  difference-1 \\ \index{difference-1}
({\it{x\/}} $-$ {\tt{1}}) $=$ ({\it{x\/}} $-\;1$)
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  may-be-baby \\ \index{may-be-baby}
\=\+(({\it{x\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{y\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{z\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{y\/}} $\not=$ {\tt{0}}) $\wedge$ ({\it{x\/}} $<$ ({\it{z\/}} $*$ {\it{y\/}}))) \\ 
$\rightarrow$$\;\;\;\;$(({\it{z\/}} $-\;1$) $\not<$ ({\it{x\/}} $\div$ {\it{y\/}}))\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  may-be-baby-2 \\ \index{may-be-baby-2}
\=\+(({\it{x\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{y\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{z\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{y\/}} $\not=$ {\tt{0}}) $\wedge$ (({\it{y\/}} $*$ {\it{z\/}}) $\not<$ {\it{x\/}})) \\ 
$\rightarrow$$\;\;\;\;$({\it{z\/}} $\not<$ ({\it{x\/}} $\div$ {\it{y\/}}))\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  may-be-baby-3 \\ \index{may-be-baby-3}
\=\+(\=\+{\rm{negativep}}\,({\it{x\/}}) \\ 
$\wedge$$\;\;\;\;$({\rm{negative-guts}}\,({\it{x\/}}) $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$({\it{y\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{z\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{y\/}} $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$(({\rm{negative-guts}}\,({\it{x\/}}) ${}${\bf{mod}}${}$ {\it{y\/}}) $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$(({\it{y\/}} $*$ {\it{z\/}}) $\not<$ {\rm{negative-guts}}\,({\it{x\/}})) \\ 
$\wedge$$\;\;\;\;$(({\rm{negative-guts}}\,({\it{x\/}}) $\div$ {\it{y\/}}) $=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$({\it{z\/}} $<$ {\tt{1}}))\- \\ 
$\rightarrow$$\;\;\;\;$({\rm{divide}}\,(({\it{y\/}} $*$ {\it{z\/}}) $-$ {\rm{negative-guts}}\,({\it{x\/}}), {\it{y\/}})\index{divide} $=$ {\rm{add}}\,($-$ ({\tt{1}} $-$ {\it{z\/}}), {\tt{0}})\index{add})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  may-be-baby-4 \\ \index{may-be-baby-4}
\=\+(\=\+({\it{x\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{y\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{z\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{z\/}} $\not<$ {\tt{1}}) \\ 
$\wedge$$\;\;\;\;$({\it{x\/}} $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$({\it{y\/}} $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$(({\it{y\/}} $*$ {\it{z\/}}) $\not<$ {\it{x\/}}) \\ 
$\wedge$$\;\;\;\;$(({\it{x\/}} ${}${\bf{mod}}${}$ {\it{y\/}}) $\not=$ {\tt{0}}))\- \\ 
$\rightarrow$$\;\;\;\;$(({\it{z\/}} $-\;1$) $\not<$ ({\it{x\/}} $\div$ {\it{y\/}}))\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  may-be-baby-5 \\ \index{may-be-baby-5}
\=\+(\=\+({\it{x\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{x\/}} $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$({\it{y\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{y\/}} $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$({\it{y\/}} $\not<$ {\it{x\/}}) \\ 
$\wedge$$\;\;\;\;$(({\it{x\/}} ${}${\bf{mod}}${}$ {\it{y\/}}) $\not=$ {\tt{0}}))\- \\ 
$\rightarrow$$\;\;\;\;$(({\it{x\/}} $\div$ {\it{y\/}}) $=$ {\tt{0}})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  may-be-baby-6 \\ \index{may-be-baby-6}
\=\+(\=\+{\rm{negativep}}\,({\it{x\/}}) \\ 
$\wedge$$\;\;\;\;$({\rm{negative-guts}}\,({\it{x\/}}) $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;${\rm{negativep}}\,({\it{y\/}}) \\ 
$\wedge$$\;\;\;\;$({\rm{negative-guts}}\,({\it{y\/}}) $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;${\rm{negativep}}\,({\it{z\/}}) \\ 
$\wedge$$\;\;\;\;$({\rm{negative-guts}}\,({\it{z\/}}) $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$(({\rm{negative-guts}}\,({\it{x\/}}) ${}${\bf{mod}}${}$ {\rm{negative-guts}}\,({\it{y\/}})) $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$(({\rm{negative-guts}}\,({\it{y\/}}) $*$ {\rm{negative-guts}}\,({\it{z\/}})) $\not<$ {\rm{negative-guts}}\,({\it{x\/}})) \\ 
$\wedge$$\;\;\;\;$({\tt{1}} $<$ {\rm{negative-guts}}\,({\it{z\/}})))\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{divide}}\,(\=\+({\rm{negative-guts}}\,({\it{y\/}}) $*$ {\rm{negative-guts}}\,({\it{z\/}})) $-$ {\rm{negative-guts}}\,({\it{x\/}}), \\ 
{\it{y\/}})\-\index{divide} \\ 
$=$$\;\;\;\;${\rm{add}}\,(\=\+{\rm{negative-guts}}\,({\it{x\/}}) $\div$ {\rm{negative-guts}}\,({\it{y\/}}), \\ 
$-$ ({\rm{negative-guts}}\,({\it{z\/}}) $-\;1$))\-\index{add})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  equal-times-times-commuted \\ \index{equal-times-times-commuted}
\=\+(({\it{a\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{b\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{c\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{a\/}} $\not=$ {\tt{0}})) \\ 
$\rightarrow$$\;\;\;\;$((({\it{a\/}} $*$ {\it{b\/}}) $=$ ({\it{c\/}} $*$ {\it{a\/}})) $=$ ({\it{b\/}} $=$ {\it{c\/}}))\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  divide-add-mult \\ \index{divide-add-mult}
\=\+({\rm{tcp}}\,({\it{x\/}})\index{tcp} $\wedge$ {\rm{tcp}}\,({\it{y\/}})\index{tcp} $\wedge$ {\rm{tcp}}\,({\it{z\/}})\index{tcp}) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{divide}}\,({\rm{add}}\,({\it{x\/}}, {\rm{mult}}\,({\it{y\/}}, {\it{z\/}})\index{mult})\index{add}, {\it{y\/}})\index{divide} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{y\/}} $=$ {\tt{0}}$\;\;${\bf then }{\tt{0}} \\ 
{\bf elseif }{\rm{imultiplep}}\,({\it{x\/}}, {\it{y\/}})\index{imultiplep}$\;\;${\bf then }{\rm{add}}\,({\rm{divide}}\,({\it{x\/}}, {\it{y\/}})\index{divide}, {\it{z\/}})\index{add} \\ 
{\bf elseif }{\it{x\/}} $\in\;${\bf{N}}${}$ \\ 
{\bf then }\=\+{\bf if }{\rm{add}}\,({\it{x\/}}, {\rm{mult}}\,({\it{y\/}}, {\it{z\/}})\index{mult})\index{add} $\in\;${\bf{N}}${}$$\;\;${\bf then }{\rm{add}}\,({\rm{divide}}\,({\it{x\/}}, {\it{y\/}})\index{divide}, {\it{z\/}})\index{add} \\ 
{\bf elseif }{\it{y\/}} $\in\;${\bf{N}}${}$$\;\;${\bf then }{\rm{add}}\,({\rm{divide}}\,({\it{x\/}}, {\it{y\/}})\index{divide}, {\rm{add}}\,({\it{z\/}}, {\tt{1}})\index{add})\index{add} \\ 
{\bf else }{\rm{add}}\,({\rm{divide}}\,({\it{x\/}}, {\it{y\/}})\index{divide}, {\rm{add}}\,({\it{z\/}}, {\tt{-1}})\index{add})\index{add}$\;${\bf  endif}\- \\ 
{\bf elseif }{\rm{negativep}}\,({\rm{add}}\,({\it{x\/}}, {\rm{mult}}\,({\it{y\/}}, {\it{z\/}})\index{mult})\index{add})$\;\;${\bf then }{\rm{add}}\,({\rm{divide}}\,({\it{x\/}}, {\it{y\/}})\index{divide}, {\it{z\/}})\index{add} \\ 
{\bf elseif }{\it{y\/}} $\in\;${\bf{N}}${}$$\;\;${\bf then }{\rm{add}}\,({\rm{divide}}\,({\it{x\/}}, {\it{y\/}})\index{divide}, {\rm{add}}\,({\it{z\/}}, {\tt{-1}})\index{add})\index{add} \\ 
{\bf else }{\rm{add}}\,({\rm{divide}}\,({\it{x\/}}, {\it{y\/}})\index{divide}, {\rm{add}}\,({\it{z\/}}, {\tt{1}})\index{add})\index{add}$\;${\bf  endif}\-)\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  div-in-range-sign-new-r-1 \\ \index{div-in-range-sign-new-r-1}
\=\+(({\it{tel\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{noem\/}} $\in\;${\bf{N}}${}$) $\wedge$ {\rm{div-in-rangep}}\,({\it{tel\/}}, {\it{noem\/}}, {\it{i\/}})\index{div-in-rangep}) \\ 
$\rightarrow$$\;\;\;\;${\rm{negativep}}\,({\rm{new-r}}\,({\it{i\/}}, {\it{tel\/}}, {\it{noem\/}})\index{new-r})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  div-in-range-sign-new-r-2 \\ \index{div-in-range-sign-new-r-2}
\=\+(({\it{tel\/}} $\in\;${\bf{N}}${}$) $\wedge$ {\rm{negativep}}\,({\it{noem\/}}) $\wedge$ {\rm{div-in-rangep}}\,({\it{tel\/}}, {\it{noem\/}}, {\it{i\/}})\index{div-in-rangep}) \\ 
$\rightarrow$$\;\;\;\;${\rm{negativep}}\,({\rm{new-r}}\,({\it{i\/}}, {\it{tel\/}}, {\it{noem\/}})\index{new-r})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  div-in-range-sign-new-r-3 \\ \index{div-in-range-sign-new-r-3}
\=\+({\rm{negativep}}\,({\it{tel\/}}) $\wedge$ ({\it{noem\/}} $\in\;${\bf{N}}${}$) $\wedge$ {\rm{div-in-rangep}}\,({\it{tel\/}}, {\it{noem\/}}, {\it{i\/}})\index{div-in-rangep}) \\ 
$\rightarrow$$\;\;\;\;$({\rm{new-r}}\,({\it{i\/}}, {\it{tel\/}}, {\it{noem\/}})\index{new-r} $\in\;${\bf{N}}${}$)\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  div-in-range-sign-new-r-4 \\ \index{div-in-range-sign-new-r-4}
\=\+({\rm{negativep}}\,({\it{tel\/}}) $\wedge$ {\rm{negativep}}\,({\it{noem\/}}) $\wedge$ {\rm{div-in-rangep}}\,({\it{tel\/}}, {\it{noem\/}}, {\it{i\/}})\index{div-in-rangep}) \\ 
$\rightarrow$$\;\;\;\;$({\rm{new-r}}\,({\it{i\/}}, {\it{tel\/}}, {\it{noem\/}})\index{new-r} $\in\;${\bf{N}}${}$)\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  elim-hyp-1a-3aa \\ \index{elim-hyp-1a-3aa}
\=\+({\rm{tcp}}\,({\it{x\/}})\index{tcp} $\wedge$ {\rm{negativep}}\,({\it{x\/}}) $\wedge$ ({\it{y\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{y\/}} $\not=$ {\tt{0}}) $\wedge$ {\rm{imultiplep}}\,({\it{x\/}}, {\it{y\/}})\index{imultiplep}) \\ 
$\rightarrow$$\;\;\;\;${\rm{negativep}}\,({\rm{divide}}\,({\it{x\/}}, {\it{y\/}})\index{divide})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  elim-hyp-1a-3ab \\ \index{elim-hyp-1a-3ab}
({\rm{negativep}}\,({\it{x\/}}) $\wedge$ ({\it{y\/}} $\in\;${\bf{N}}${}$)) $\rightarrow$ {\rm{negativep}}\,({\rm{add}}\,({\tt{-1}}, {\rm{divide}}\,({\it{x\/}}, {\it{y\/}})\index{divide})\index{add})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  transfer-add \\ \index{transfer-add}
({\rm{tcp}}\,({\it{b\/}})\index{tcp} $\wedge$ {\rm{tcp}}\,({\it{c\/}})\index{tcp}) $\rightarrow$ (({\rm{add}}\,({\it{a\/}}, {\it{b\/}})\index{add} $=$ {\it{c\/}}) $=$ ({\it{b\/}} $=$ {\rm{add}}\,({\it{c\/}}, {\rm{tc-minus}}\,({\it{a\/}})\index{tc-minus})\index{add}))
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  equal-multiplep-r-new-r \\ \index{equal-multiplep-r-new-r}
\=\+({\rm{tcp}}\,({\it{r\/}})\index{tcp} $\wedge$ {\rm{tcp}}\,({\it{n\/}})\index{tcp} $\wedge$ ({\it{i\/}} $\in\;${\bf{N}}${}$)) \\ 
$\rightarrow$$\;\;\;\;$({\rm{imultiplep}}\,({\rm{new-r}}\,({\it{i\/}}, {\it{r\/}}, {\it{n\/}})\index{new-r}, {\it{n\/}})\index{imultiplep} $=$ {\rm{imultiplep}}\,({\it{r\/}}, {\it{n\/}})\index{imultiplep})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  add-a-minus-a \\ \index{add-a-minus-a}
{\rm{add}}\,({\it{a\/}}, {\rm{tc-minus}}\,({\it{a\/}})\index{tc-minus})\index{add} $=$ {\tt{0}}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  tc-minus-tc-minus-a \\ \index{tc-minus-tc-minus-a}
{\rm{tc-minus}}\,({\rm{tc-minus}}\,({\it{a\/}})\index{tc-minus})\index{tc-minus} $=$ {\rm{tc-fix}}\,({\it{a\/}})\index{tc-fix}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  elim-hyp-1a-3ba \\ \index{elim-hyp-1a-3ba}
\=\+(\=\+{\rm{negativep}}\,({\it{x\/}}) \\ 
$\wedge$$\;\;\;\;$({\it{n\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{n\/}} $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$({\it{i\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$(({\it{n\/}} $*$ {\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto}) $\not<$ {\rm{negative-guts}}\,({\it{x\/}})))\- \\ 
$\rightarrow$$\;\;\;\;$({\rm{add}}\,({\rm{divide}}\,({\it{x\/}}, {\it{n\/}})\index{divide}, {\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto})\index{add} $\in\;${\bf{N}}${}$)\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  elim-hyp-1a-3bb \\ \index{elim-hyp-1a-3bb}
\=\+(\=\+{\rm{negativep}}\,({\it{x\/}}) \\ 
$\wedge$$\;\;\;\;$({\it{n\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{n\/}} $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$({\it{i\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$(({\it{n\/}} $*$ {\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto}) $\not<$ {\rm{negative-guts}}\,({\it{x\/}})) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{imultiplep}}\,({\it{x\/}}, {\it{n\/}})\index{imultiplep}))\- \\ 
$\rightarrow$$\;\;\;\;$({\rm{add}}\,({\rm{divide}}\,({\it{x\/}}, {\it{n\/}})\index{divide}, {\rm{add}}\,({\tt{-1}}, {\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto})\index{add})\index{add} $\in\;${\bf{N}}${}$)\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  elim-hyp-1a-3c \\ \index{elim-hyp-1a-3c}
\=\+(({\it{r\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{n\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{i\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{n\/}} $\not=$ {\tt{0}}) $\wedge$ {\rm{div-in-rangep}}\,({\it{r\/}}, {\it{n\/}}, {\it{i\/}})\index{div-in-rangep}) \\ 
$\rightarrow$$\;\;\;\;$(({\it{n\/}} $*$ {\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto}) $\not<$ {\rm{negative-guts}}\,({\rm{new-r}}\,({\it{i\/}}, {\it{r\/}}, {\it{n\/}})\index{new-r}))\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  div-not-in-range-sign-new-r-1 \\ \index{div-not-in-range-sign-new-r-1}
\=\+(\=\+({\it{r\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{n\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{i\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{n\/}} $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{div-in-rangep}}\,({\it{r\/}}, {\it{n\/}}, {\it{i\/}})\index{div-in-rangep}))\- \\ 
$\rightarrow$$\;\;\;\;$({\rm{new-r}}\,({\it{i\/}}, {\it{r\/}}, {\it{n\/}})\index{new-r} $\in\;${\bf{N}}${}$)\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  elim-hyp-1b-1a \\ \index{elim-hyp-1b-1a}
(({\it{x\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{y\/}} $\in\;${\bf{N}}${}$)) $\rightarrow$ ({\rm{divide}}\,({\it{x\/}}, {\it{y\/}})\index{divide} $\in\;${\bf{N}}${}$)
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  elim-hyp-1b-1b \\ \index{elim-hyp-1b-1b}
\=\+(({\it{x\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{n\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{x\/}} $<$ ({\it{n\/}} $*$ {\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto}))) \\ 
$\rightarrow$$\;\;\;\;${\rm{negativep}}\,({\rm{add}}\,({\rm{divide}}\,({\it{x\/}}, {\it{n\/}})\index{divide}, {\rm{tc-minus}}\,({\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto})\index{tc-minus})\index{add})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  elim-hyp-1b-1c \\ \index{elim-hyp-1b-1c}
\=\+(({\it{r\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{n\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{i\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{n\/}} $\not=$ {\tt{0}}) $\wedge$ ({\it{r\/}} $<$ ({\it{n\/}} $*$ {\rm{twoto}}\,({\it{i\/}})\index{twoto}))) \\ 
$\rightarrow$$\;\;\;\;$({\rm{new-r}}\,({\it{i\/}}, {\it{r\/}}, {\it{n\/}})\index{new-r} $<$ ({\it{n\/}} $*$ {\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto}))\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  elim-hyp-1c \\ \index{elim-hyp-1c}
\=\+(\=\+({\it{r\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{n\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{i\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{n\/}} $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$({\it{i\/}} $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$({\it{r\/}} $\not<$ ({\it{n\/}} $*$ {\rm{twoto}}\,({\it{i\/}})\index{twoto})))\- \\ 
$\rightarrow$$\;\;\;\;$({\rm{new-r}}\,({\it{i\/}}, {\it{r\/}}, {\it{n\/}})\index{new-r} $\not<$ ({\it{n\/}} $*$ {\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto}))\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  elim-hyp-2a-4aa \\ \index{elim-hyp-2a-4aa}
\=\+(\=\+({\it{r\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;${\rm{tcp}}\,({\it{n\/}})\index{tcp} \\ 
$\wedge$$\;\;\;\;${\rm{negativep}}\,({\it{n\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{div-in-rangep}}\,({\it{r\/}}, {\it{n\/}}, {\it{i\/}})\index{div-in-rangep} \\ 
$\wedge$$\;\;\;\;${\rm{imultiplep}}\,({\rm{new-r}}\,({\it{i\/}}, {\it{r\/}}, {\it{n\/}})\index{new-r}, {\it{n\/}})\index{imultiplep})\- \\ 
$\rightarrow$$\;\;\;\;$({\rm{add}}\,({\rm{divide}}\,({\rm{new-r}}\,({\it{i\/}}, {\it{r\/}}, {\it{n\/}})\index{new-r}, {\it{n\/}})\index{divide}, {\tt{-1}})\index{add} $\in\;${\bf{N}}${}$)\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  elim-hyp-2a-4ab \\ \index{elim-hyp-2a-4ab}
\=\+(({\it{r\/}} $\in\;${\bf{N}}${}$) $\wedge$ {\rm{tcp}}\,({\it{n\/}})\index{tcp} $\wedge$ {\rm{negativep}}\,({\it{n\/}}) $\wedge$ {\rm{div-in-rangep}}\,({\it{r\/}}, {\it{n\/}}, {\it{i\/}})\index{div-in-rangep}) \\ 
$\rightarrow$$\;\;\;\;$({\rm{divide}}\,({\rm{new-r}}\,({\it{i\/}}, {\it{r\/}}, {\it{n\/}})\index{new-r}, {\it{n\/}})\index{divide} $\in\;${\bf{N}}${}$)\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  remainder-0-implies \\ \index{remainder-0-implies}
\=\+(\=\+({\it{a\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{b\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{c\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{a\/}} $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$(({\it{c\/}} ${}${\bf{mod}}${}$ {\it{a\/}}) $=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$(({\it{a\/}} $*$ {\it{b\/}}) $=$ {\it{c\/}}))\- \\ 
$\rightarrow$$\;\;\;\;$(({\it{c\/}} $\div$ {\it{a\/}}) $=$ {\it{b\/}})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  elim-hyp-2a-4ba \\ \index{elim-hyp-2a-4ba}
\=\+(\=\+{\rm{negativep}}\,({\it{x\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{tcp}}\,({\it{n\/}})\index{tcp} \\ 
$\wedge$$\;\;\;\;${\rm{negativep}}\,({\it{n\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{imultiplep}}\,({\it{x\/}}, {\it{n\/}})\index{imultiplep} \\ 
$\wedge$$\;\;\;\;$(({\rm{negative-guts}}\,({\it{n\/}}) $*$ {\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto}) $\not<$ {\rm{negative-guts}}\,({\it{x\/}})))\- \\ 
$\rightarrow$$\;\;\;\;${\rm{negativep}}\,({\rm{add}}\,({\rm{divide}}\,({\it{x\/}}, {\it{n\/}})\index{divide}, {\rm{add}}\,({\tt{-1}}, {\rm{tc-minus}}\,({\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto})\index{tc-minus})\index{add})\index{add})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  equal-times-ab-c-equal-rem-ca-0 \\ \index{equal-times-ab-c-equal-rem-ca-0}
\=\+(({\it{a\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{b\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{c\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{a\/}} $\not=$ {\tt{0}}) $\wedge$ (({\it{a\/}} $*$ {\it{b\/}}) $=$ {\it{c\/}})) \\ 
$\rightarrow$$\;\;\;\;$(({\it{c\/}} ${}${\bf{mod}}${}$ {\it{a\/}}) $=$ {\tt{0}})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  elim-hyp-2a-4bb \\ \index{elim-hyp-2a-4bb}
\=\+(\=\+{\rm{negativep}}\,({\it{x\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{tcp}}\,({\it{n\/}})\index{tcp} \\ 
$\wedge$$\;\;\;\;${\rm{negativep}}\,({\it{n\/}}) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{imultiplep}}\,({\it{x\/}}, {\it{n\/}})\index{imultiplep}) \\ 
$\wedge$$\;\;\;\;$(({\rm{negative-guts}}\,({\it{n\/}}) $*$ {\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto}) $\not<$ {\rm{negative-guts}}\,({\it{x\/}})))\- \\ 
$\rightarrow$$\;\;\;\;${\rm{negativep}}\,({\rm{add}}\,({\rm{divide}}\,({\it{x\/}}, {\it{n\/}})\index{divide}, {\rm{tc-minus}}\,({\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto})\index{tc-minus})\index{add})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  elim-hyp-2a-4c \\ \index{elim-hyp-2a-4c}
\=\+(({\it{r\/}} $\in\;${\bf{N}}${}$) $\wedge$ {\rm{tcp}}\,({\it{n\/}})\index{tcp} $\wedge$ {\rm{negativep}}\,({\it{n\/}}) $\wedge$ {\rm{div-in-rangep}}\,({\it{r\/}}, {\it{n\/}}, {\it{i\/}})\index{div-in-rangep}) \\ 
$\rightarrow$$\;\;\;\;$(({\rm{negative-guts}}\,({\it{n\/}}) $*$ {\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto}) $\not<$ {\rm{negative-guts}}\,({\rm{new-r}}\,({\it{i\/}}, {\it{r\/}}, {\it{n\/}})\index{new-r}))\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  div-not-in-range-sign-new-r-2 \\ \index{div-not-in-range-sign-new-r-2}
\=\+(\=\+({\it{r\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;${\rm{tcp}}\,({\it{n\/}})\index{tcp} \\ 
$\wedge$$\;\;\;\;${\rm{negativep}}\,({\it{n\/}}) \\ 
$\wedge$$\;\;\;\;$({\it{i\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{div-in-rangep}}\,({\it{r\/}}, {\it{n\/}}, {\it{i\/}})\index{div-in-rangep}))\- \\ 
$\rightarrow$$\;\;\;\;$({\rm{new-r}}\,({\it{i\/}}, {\it{r\/}}, {\it{n\/}})\index{new-r} $\in\;${\bf{N}}${}$)\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  elim-hyp-2b-2a \\ \index{elim-hyp-2b-2a}
(({\it{x\/}} $\in\;${\bf{N}}${}$) $\wedge$ {\rm{negativep}}\,({\it{n\/}})) $\rightarrow$ {\rm{negativep}}\,({\rm{add}}\,({\tt{-1}}, {\rm{divide}}\,({\it{x\/}}, {\it{n\/}})\index{divide})\index{add})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  elim-hyp-2b-2b \\ \index{elim-hyp-2b-2b}
\=\+(\=\+({\it{x\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;${\rm{negativep}}\,({\it{n\/}}) \\ 
$\wedge$$\;\;\;\;$({\it{i\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{x\/}} $<$ ({\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto} $*$ {\rm{negative-guts}}\,({\it{n\/}}))))\- \\ 
$\rightarrow$$\;\;\;\;$({\rm{add}}\,({\rm{divide}}\,({\it{x\/}}, {\it{n\/}})\index{divide}, {\rm{add}}\,({\tt{-1}}, {\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto})\index{add})\index{add} $\in\;${\bf{N}}${}$)\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  elim-hyp-3aab-1c \\ \index{elim-hyp-3aab-1c}
\=\+(\=\+{\rm{tcp}}\,({\it{r\/}})\index{tcp} \\ 
$\wedge$$\;\;\;\;${\rm{negativep}}\,({\it{r\/}}) \\ 
$\wedge$$\;\;\;\;$({\it{n\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{n\/}} $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;${\rm{div-in-rangep}}\,({\it{r\/}}, {\it{n\/}}, {\it{i\/}})\index{div-in-rangep} \\ 
$\wedge$$\;\;\;\;$({\it{i\/}} $\in\;${\bf{N}}${}$))\- \\ 
$\rightarrow$$\;\;\;\;$({\rm{new-r}}\,({\it{i\/}}, {\it{r\/}}, {\it{n\/}})\index{new-r} $<$ ({\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto} $*$ {\it{n\/}}))\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  div-not-in-range-sign-new-r-3 \\ \index{div-not-in-range-sign-new-r-3}
\=\+(\=\+{\rm{tcp}}\,({\it{r\/}})\index{tcp} \\ 
$\wedge$$\;\;\;\;${\rm{negativep}}\,({\it{r\/}}) \\ 
$\wedge$$\;\;\;\;$({\it{n\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{i\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{n\/}} $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{div-in-rangep}}\,({\it{r\/}}, {\it{n\/}}, {\it{i\/}})\index{div-in-rangep}))\- \\ 
$\rightarrow$$\;\;\;\;${\rm{negativep}}\,({\rm{new-r}}\,({\it{i\/}}, {\it{r\/}}, {\it{n\/}})\index{new-r})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  elim-hyp-3ba-3c \\ \index{elim-hyp-3ba-3c}
\=\+(\=\+{\rm{tcp}}\,({\it{r\/}})\index{tcp} \\ 
$\wedge$$\;\;\;\;${\rm{negativep}}\,({\it{r\/}}) \\ 
$\wedge$$\;\;\;\;$({\it{n\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{n\/}} $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$({\it{i\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$(({\rm{twoto}}\,({\it{i\/}})\index{twoto} $*$ {\it{n\/}}) $\not<$ {\rm{negative-guts}}\,({\it{r\/}})))\- \\ 
$\rightarrow$$\;\;\;\;$(({\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto} $*$ {\it{n\/}}) $\not<$ {\rm{negative-guts}}\,({\rm{new-r}}\,({\it{i\/}}, {\it{r\/}}, {\it{n\/}})\index{new-r}))\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  elim-hyp-3c-3c \\ \index{elim-hyp-3c-3c}
\=\+(\=\+{\rm{tcp}}\,({\it{r\/}})\index{tcp} \\ 
$\wedge$$\;\;\;\;${\rm{negativep}}\,({\it{r\/}}) \\ 
$\wedge$$\;\;\;\;$({\it{n\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{n\/}} $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$({\it{i\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$(({\it{n\/}} $*$ {\rm{twoto}}\,({\it{i\/}})\index{twoto}) $<$ {\rm{negative-guts}}\,({\it{r\/}})) \\ 
$\wedge$$\;\;\;\;$({\it{i\/}} $\not=$ {\tt{0}}))\- \\ 
$\rightarrow$$\;\;\;\;$(({\it{n\/}} $*$ {\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto}) $<$ {\rm{negative-guts}}\,({\rm{new-r}}\,({\it{i\/}}, {\it{r\/}}, {\it{n\/}})\index{new-r}))\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  elim-hyp-4aa-2c \\ \index{elim-hyp-4aa-2c}
\=\+(\=\+{\rm{tcp}}\,({\it{r\/}})\index{tcp} \\ 
$\wedge$$\;\;\;\;${\rm{negativep}}\,({\it{r\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{tcp}}\,({\it{n\/}})\index{tcp} \\ 
$\wedge$$\;\;\;\;${\rm{negativep}}\,({\it{n\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{div-in-rangep}}\,({\it{r\/}}, {\it{n\/}}, {\it{i\/}})\index{div-in-rangep} \\ 
$\wedge$$\;\;\;\;$({\it{i\/}} $\in\;${\bf{N}}${}$))\- \\ 
$\rightarrow$$\;\;\;\;$({\rm{new-r}}\,({\it{i\/}}, {\it{r\/}}, {\it{n\/}})\index{new-r} $<$ ({\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto} $*$ {\rm{negative-guts}}\,({\it{n\/}})))\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  div-not-in-range-sign-new-r-4 \\ \index{div-not-in-range-sign-new-r-4}
\=\+(\=\+{\rm{tcp}}\,({\it{r\/}})\index{tcp} \\ 
$\wedge$$\;\;\;\;${\rm{negativep}}\,({\it{r\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{tcp}}\,({\it{n\/}})\index{tcp} \\ 
$\wedge$$\;\;\;\;${\rm{negativep}}\,({\it{n\/}}) \\ 
$\wedge$$\;\;\;\;$({\it{i\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{div-in-rangep}}\,({\it{r\/}}, {\it{n\/}}, {\it{i\/}})\index{div-in-rangep}))\- \\ 
$\rightarrow$$\;\;\;\;${\rm{negativep}}\,({\rm{new-r}}\,({\it{i\/}}, {\it{r\/}}, {\it{n\/}})\index{new-r})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  elim-hyp-4ba-4c \\ \index{elim-hyp-4ba-4c}
\=\+(\=\+{\rm{tcp}}\,({\it{r\/}})\index{tcp} \\ 
$\wedge$$\;\;\;\;${\rm{negativep}}\,({\it{r\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{tcp}}\,({\it{n\/}})\index{tcp} \\ 
$\wedge$$\;\;\;\;${\rm{negativep}}\,({\it{n\/}}) \\ 
$\wedge$$\;\;\;\;$({\it{i\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$(({\rm{twoto}}\,({\it{i\/}})\index{twoto} $*$ {\rm{negative-guts}}\,({\it{n\/}})) $\not<$ {\rm{negative-guts}}\,({\it{r\/}})))\- \\ 
$\rightarrow$$\;\;\;\;$(({\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto} $*$ {\rm{negative-guts}}\,({\it{n\/}})) $\not<$ {\rm{negative-guts}}\,({\rm{new-r}}\,({\it{i\/}}, {\it{r\/}}, {\it{n\/}})\index{new-r}))\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  elim-hyp-4c-4c \\ \index{elim-hyp-4c-4c}
\=\+(\=\+{\rm{tcp}}\,({\it{r\/}})\index{tcp} \\ 
$\wedge$$\;\;\;\;${\rm{negativep}}\,({\it{r\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{tcp}}\,({\it{n\/}})\index{tcp} \\ 
$\wedge$$\;\;\;\;${\rm{negativep}}\,({\it{n\/}}) \\ 
$\wedge$$\;\;\;\;$({\it{i\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{i\/}} $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$(({\rm{twoto}}\,({\it{i\/}})\index{twoto} $*$ {\rm{negative-guts}}\,({\it{n\/}})) $<$ {\rm{negative-guts}}\,({\it{r\/}})))\- \\ 
$\rightarrow$$\;\;\;\;$(({\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto} $*$ {\rm{negative-guts}}\,({\it{n\/}})) $<$ {\rm{negative-guts}}\,({\rm{new-r}}\,({\it{i\/}}, {\it{r\/}}, {\it{n\/}})\index{new-r}))\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  r-lessp-2n-quotient-1 \\ \index{r-lessp-2n-quotient-1}
(({\it{n\/}} $\not=$ {\tt{0}}) $\wedge$ ({\it{r\/}} $\not<$ {\it{n\/}}) $\wedge$ ({\it{r\/}} $<$ ({\tt{2}} $*$ {\it{n\/}}))) $\rightarrow$ (({\it{r\/}} $\div$ {\it{n\/}}) $=$ {\tt{1}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  r-lessp-equal-2n-quotient-2-aux \\ \index{r-lessp-equal-2n-quotient-2-aux}
\=\+(\=\+({\it{n\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{n\/}} $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$({\it{n\/}} $<$ {\it{r\/}}) \\ 
$\wedge$$\;\;\;\;$(({\tt{2}} $*$ {\it{n\/}}) $\not<$ {\it{r\/}}) \\ 
$\wedge$$\;\;\;\;$(({\it{r\/}} ${}${\bf{mod}}${}$ {\it{n\/}}) $=$ {\tt{0}}))\- \\ 
$\rightarrow$$\;\;\;\;$(({\tt{2}} $*$ {\it{n\/}}) $=$ {\it{r\/}})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  r-lessp-equal-2n-quotient-2 \\ \index{r-lessp-equal-2n-quotient-2}
\=\+(\=\+({\it{n\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{n\/}} $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$({\it{n\/}} $<$ {\it{r\/}}) \\ 
$\wedge$$\;\;\;\;$(({\tt{2}} $*$ {\it{n\/}}) $\not<$ {\it{r\/}}) \\ 
$\wedge$$\;\;\;\;$(({\it{r\/}} ${}${\bf{mod}}${}$ {\it{n\/}}) $=$ {\tt{0}}))\- \\ 
$\rightarrow$$\;\;\;\;$(({\it{r\/}} $\div$ {\it{n\/}}) $=$ {\tt{2}})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  not-lessp-x-n-equal-quotient-1 \\ \index{not-lessp-x-n-equal-quotient-1}
\=\+(\=\+({\it{x\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{x\/}} $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$({\it{n\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{n\/}} $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$({\it{n\/}} $\not<$ {\it{x\/}}) \\ 
$\wedge$$\;\;\;\;$(({\it{x\/}} ${}${\bf{mod}}${}$ {\it{n\/}}) $=$ {\tt{0}}))\- \\ 
$\rightarrow$$\;\;\;\;$(({\it{x\/}} $\div$ {\it{n\/}}) $=$ {\tt{1}})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  remainder-times-commuted \\ \index{remainder-times-commuted}
(({\it{j\/}} $*$ {\it{i\/}}) ${}${\bf{mod}}${}$ {\it{i\/}}) $=$ {\tt{0}}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  anrd-integer-ok-i-1 \\ \index{anrd-integer-ok-i-1}
\=\+({\rm{tcp}}\,({\it{r\/}})\index{tcp} $\wedge$ {\rm{tcp}}\,({\it{n\/}})\index{tcp} $\wedge$ ({\it{n\/}} $\not=$ {\tt{0}}) $\wedge$ ({\it{i\/}} $=$ {\tt{1}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{tc-to-integer}}\,({\rm{anrd}}\,({\it{i\/}}, {\it{r\/}}, {\it{n\/}})\index{anrd})\index{tc-to-integer} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{i\/}} $=$ {\tt{0}}$\;\;${\bf then }{\tt{0}} \\ 
{\bf elseif }{\it{r\/}} $\in\;${\bf{N}}${}$ \\ 
{\bf then }\=\+{\bf if }{\it{n\/}} $\in\;${\bf{N}}${}$ \\ 
{\bf then }\=\+{\bf if }{\rm{div-in-rangep}}\,({\it{r\/}}, {\it{n\/}}, {\it{i\/}})\index{div-in-rangep}$\;\;${\bf then }{\rm{divide}}\,({\it{r\/}}, {\it{n\/}})\index{divide} \\ 
{\bf elseif }{\it{r\/}} $<$ ({\it{n\/}} $*$ {\rm{twoto}}\,({\it{i\/}})\index{twoto}) \\ 
{\bf then }{\rm{add}}\,({\rm{divide}}\,({\it{r\/}}, {\it{n\/}})\index{divide}, {\rm{tc-minus}}\,({\rm{twoto}}\,({\it{i\/}})\index{twoto})\index{tc-minus})\index{add} \\ 
{\bf else }{\tt{-1}}$\;${\bf  endif}\- \\ 
{\bf elseif }{\rm{div-in-rangep}}\,({\it{r\/}}, {\it{n\/}}, {\it{i\/}})\index{div-in-rangep}$\;\;${\bf then }{\rm{add}}\,({\rm{divide}}\,({\it{r\/}}, {\it{n\/}})\index{divide}, {\tt{-1}})\index{add} \\ 
{\bf elseif }{\it{r\/}} $<$ ({\rm{negative-guts}}\,({\it{n\/}}) $*$ {\rm{twoto}}\,({\it{i\/}})\index{twoto}) \\ 
{\bf then }{\rm{add}}\,({\rm{divide}}\,({\it{r\/}}, {\it{n\/}})\index{divide}, {\rm{add}}\,({\rm{twoto}}\,({\it{i\/}})\index{twoto}, {\tt{-1}})\index{add})\index{add} \\ 
{\bf else }{\tt{0}}$\;${\bf  endif}\- \\ 
{\bf elseif }{\it{n\/}} $\in\;${\bf{N}}${}$ \\ 
{\bf then }\=\+{\bf if }{\rm{div-in-rangep}}\,({\it{r\/}}, {\it{n\/}}, {\it{i\/}})\index{div-in-rangep} \\ 
{\bf then }\=\+{\bf if }{\rm{imultiplep}}\,({\it{r\/}}, {\it{n\/}})\index{imultiplep}$\;\;${\bf then }{\rm{divide}}\,({\it{r\/}}, {\it{n\/}})\index{divide} \\ 
{\bf else }{\rm{add}}\,({\rm{divide}}\,({\it{r\/}}, {\it{n\/}})\index{divide}, {\tt{-1}})\index{add}$\;${\bf  endif}\- \\ 
{\bf elseif }({\it{n\/}} $*$ {\rm{twoto}}\,({\it{i\/}})\index{twoto}) $\not<$ {\rm{negative-guts}}\,({\it{r\/}}) \\ 
{\bf then }\=\+{\bf if }{\rm{imultiplep}}\,({\it{r\/}}, {\it{n\/}})\index{imultiplep}$\;\;${\bf then }{\rm{add}}\,({\rm{divide}}\,({\it{r\/}}, {\it{n\/}})\index{divide}, {\rm{twoto}}\,({\it{i\/}})\index{twoto})\index{add} \\ 
{\bf else }{\rm{add}}\,({\rm{divide}}\,({\it{r\/}}, {\it{n\/}})\index{divide}, {\rm{add}}\,({\rm{twoto}}\,({\it{i\/}})\index{twoto}, {\tt{-1}})\index{add})\index{add}$\;${\bf  endif}\- \\ 
{\bf else }{\tt{0}}$\;${\bf  endif}\- \\ 
{\bf elseif }{\rm{div-in-rangep}}\,({\it{r\/}}, {\it{n\/}}, {\it{i\/}})\index{div-in-rangep} \\ 
{\bf then }\=\+{\bf if }{\rm{imultiplep}}\,({\it{r\/}}, {\it{n\/}})\index{imultiplep}$\;\;${\bf then }{\rm{add}}\,({\rm{divide}}\,({\it{r\/}}, {\it{n\/}})\index{divide}, {\tt{-1}})\index{add} \\ 
{\bf else }{\rm{divide}}\,({\it{r\/}}, {\it{n\/}})\index{divide}$\;${\bf  endif}\- \\ 
{\bf elseif }({\rm{negative-guts}}\,({\it{n\/}}) $*$ {\rm{twoto}}\,({\it{i\/}})\index{twoto}) $\not<$ {\rm{negative-guts}}\,({\it{r\/}}) \\ 
{\bf then }\=\+{\bf if }{\rm{imultiplep}}\,({\it{r\/}}, {\it{n\/}})\index{imultiplep} \\ 
{\bf then }{\rm{add}}\,({\rm{divide}}\,({\it{r\/}}, {\it{n\/}})\index{divide}, {\rm{add}}\,({\rm{tc-minus}}\,({\rm{twoto}}\,({\it{i\/}})\index{twoto})\index{tc-minus}, {\tt{-1}})\index{add})\index{add} \\ 
{\bf else }{\rm{add}}\,({\rm{divide}}\,({\it{r\/}}, {\it{n\/}})\index{divide}, {\rm{tc-minus}}\,({\rm{twoto}}\,({\it{i\/}})\index{twoto})\index{tc-minus})\index{add}$\;${\bf  endif}\- \\ 
{\bf else }{\tt{-1}}$\;${\bf  endif}\-)\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  elim-hyp-2b-2c-corr \\ \index{elim-hyp-2b-2c-corr}
\=\+(\=\+({\it{r\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;${\rm{tcp}}\,({\it{n\/}})\index{tcp} \\ 
$\wedge$$\;\;\;\;${\rm{negativep}}\,({\it{n\/}}) \\ 
$\wedge$$\;\;\;\;$({\it{r\/}} $<$ ({\rm{twoto}}\,({\it{i\/}})\index{twoto} $*$ {\rm{negative-guts}}\,({\it{n\/}}))))\- \\ 
$\rightarrow$$\;\;\;\;$({\rm{new-r}}\,({\it{i\/}}, {\it{r\/}}, {\it{n\/}})\index{new-r} $<$ ({\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto} $*$ {\rm{negative-guts}}\,({\it{n\/}})))\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  elim-hyp-2c-2c-corr \\ \index{elim-hyp-2c-2c-corr}
\=\+(\=\+({\it{r\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;${\rm{tcp}}\,({\it{n\/}})\index{tcp} \\ 
$\wedge$$\;\;\;\;${\rm{negativep}}\,({\it{n\/}}) \\ 
$\wedge$$\;\;\;\;$({\it{i\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{i\/}} $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$({\it{r\/}} $\not<$ ({\rm{twoto}}\,({\it{i\/}})\index{twoto} $*$ {\rm{negative-guts}}\,({\it{n\/}}))))\- \\ 
$\rightarrow$$\;\;\;\;$({\rm{new-r}}\,({\it{i\/}}, {\it{r\/}}, {\it{n\/}})\index{new-r} $\not<$ ({\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto} $*$ {\rm{negative-guts}}\,({\it{n\/}})))\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  lessp-twoto-sub1 \\ \index{lessp-twoto-sub1}
(({\it{i\/}} $\in\;${\bf{N}}${}$) $\wedge$ (({\it{n\/}} $*$ {\rm{twoto}}\,({\it{i\/}})\index{twoto}) $<$ {\it{x\/}})) $\rightarrow$ (({\it{n\/}} $*$ {\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto}) $<$ {\it{x\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  elim-hyp-4ba-4aa-corr-aux \\ \index{elim-hyp-4ba-4aa-corr-aux}
\=\+(\=\+({\it{r\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{n\/}} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\it{n\/}} $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$({\it{r\/}} $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$(({\it{r\/}} ${}${\bf{mod}}${}$ {\it{n\/}}) $=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$(({\it{n\/}} $*$ {\it{i\/}}) $<$ {\it{r\/}}) \\ 
$\wedge$$\;\;\;\;$({\it{i\/}} $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$({\it{i\/}} $\in\;${\bf{N}}${}$))\- \\ 
$\rightarrow$$\;\;\;\;$((({\it{r\/}} $\div$ {\it{n\/}}) $-$ {\it{i\/}}) $\not<$ {\tt{1}})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  elim-hyp-4ba-4aa-corr \\ \index{elim-hyp-4ba-4aa-corr}
\=\+(\=\+{\rm{tcp}}\,({\it{r\/}})\index{tcp} \\ 
$\wedge$$\;\;\;\;${\rm{negativep}}\,({\it{r\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{tcp}}\,({\it{n\/}})\index{tcp} \\ 
$\wedge$$\;\;\;\;${\rm{negativep}}\,({\it{n\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{imultiplep}}\,({\it{r\/}}, {\it{n\/}})\index{imultiplep} \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{div-in-rangep}}\,({\it{r\/}}, {\it{n\/}}, {\it{i\/}})\index{div-in-rangep}))\- \\ 
$\rightarrow$$\;\;\;\;$({\rm{add}}\,({\rm{divide}}\,({\rm{new-r}}\,({\it{i\/}}, {\it{r\/}}, {\it{n\/}})\index{new-r}, {\it{n\/}})\index{divide}, {\tt{-1}})\index{add} $\in\;${\bf{N}}${}$)\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  elim-hyp-4bb-4ab-corr \\ \index{elim-hyp-4bb-4ab-corr}
\=\+(\=\+{\rm{tcp}}\,({\it{r\/}})\index{tcp} \\ 
$\wedge$$\;\;\;\;${\rm{negativep}}\,({\it{r\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{tcp}}\,({\it{n\/}})\index{tcp} \\ 
$\wedge$$\;\;\;\;${\rm{negativep}}\,({\it{n\/}}) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{div-in-rangep}}\,({\it{r\/}}, {\it{n\/}}, {\it{i\/}})\index{div-in-rangep}))\- \\ 
$\rightarrow$$\;\;\;\;$({\rm{divide}}\,({\rm{new-r}}\,({\it{i\/}}, {\it{r\/}}, {\it{n\/}})\index{new-r}, {\it{n\/}})\index{divide} $\in\;${\bf{N}}${}$)\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  anrd-integer-ok \\ \index{anrd-integer-ok}
\=\+({\rm{tcp}}\,({\it{r\/}})\index{tcp} $\wedge$ {\rm{tcp}}\,({\it{n\/}})\index{tcp} $\wedge$ ({\it{n\/}} $\not=$ {\tt{0}}) $\wedge$ ({\it{i\/}} $\in\;${\bf{N}}${}$)) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{tc-to-integer}}\,({\rm{anrd}}\,({\it{i\/}}, {\it{r\/}}, {\it{n\/}})\index{anrd})\index{tc-to-integer} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{i\/}} $=$ {\tt{0}}$\;\;${\bf then }{\tt{0}} \\ 
{\bf elseif }{\it{r\/}} $\in\;${\bf{N}}${}$ \\ 
{\bf then }\=\+{\bf if }{\it{n\/}} $\in\;${\bf{N}}${}$ \\ 
{\bf then }\=\+{\bf if }{\rm{div-in-rangep}}\,({\it{r\/}}, {\it{n\/}}, {\it{i\/}})\index{div-in-rangep}$\;\;${\bf then }{\rm{divide}}\,({\it{r\/}}, {\it{n\/}})\index{divide} \\ 
{\bf elseif }{\it{r\/}} $<$ ({\it{n\/}} $*$ {\rm{twoto}}\,({\it{i\/}})\index{twoto}) \\ 
{\bf then }{\rm{add}}\,({\rm{divide}}\,({\it{r\/}}, {\it{n\/}})\index{divide}, {\rm{tc-minus}}\,({\rm{twoto}}\,({\it{i\/}})\index{twoto})\index{tc-minus})\index{add} \\ 
{\bf else }{\tt{-1}}$\;${\bf  endif}\- \\ 
{\bf elseif }{\rm{div-in-rangep}}\,({\it{r\/}}, {\it{n\/}}, {\it{i\/}})\index{div-in-rangep}$\;\;${\bf then }{\rm{add}}\,({\rm{divide}}\,({\it{r\/}}, {\it{n\/}})\index{divide}, {\tt{-1}})\index{add} \\ 
{\bf elseif }{\it{r\/}} $<$ ({\rm{negative-guts}}\,({\it{n\/}}) $*$ {\rm{twoto}}\,({\it{i\/}})\index{twoto}) \\ 
{\bf then }{\rm{add}}\,({\rm{divide}}\,({\it{r\/}}, {\it{n\/}})\index{divide}, {\rm{add}}\,({\rm{twoto}}\,({\it{i\/}})\index{twoto}, {\tt{-1}})\index{add})\index{add} \\ 
{\bf else }{\tt{0}}$\;${\bf  endif}\- \\ 
{\bf elseif }{\it{n\/}} $\in\;${\bf{N}}${}$ \\ 
{\bf then }\=\+{\bf if }{\rm{div-in-rangep}}\,({\it{r\/}}, {\it{n\/}}, {\it{i\/}})\index{div-in-rangep} \\ 
{\bf then }\=\+{\bf if }{\rm{imultiplep}}\,({\it{r\/}}, {\it{n\/}})\index{imultiplep}$\;\;${\bf then }{\rm{divide}}\,({\it{r\/}}, {\it{n\/}})\index{divide} \\ 
{\bf else }{\rm{add}}\,({\rm{divide}}\,({\it{r\/}}, {\it{n\/}})\index{divide}, {\tt{-1}})\index{add}$\;${\bf  endif}\- \\ 
{\bf elseif }({\it{n\/}} $*$ {\rm{twoto}}\,({\it{i\/}})\index{twoto}) $\not<$ {\rm{negative-guts}}\,({\it{r\/}}) \\ 
{\bf then }\=\+{\bf if }{\rm{imultiplep}}\,({\it{r\/}}, {\it{n\/}})\index{imultiplep}$\;\;${\bf then }{\rm{add}}\,({\rm{divide}}\,({\it{r\/}}, {\it{n\/}})\index{divide}, {\rm{twoto}}\,({\it{i\/}})\index{twoto})\index{add} \\ 
{\bf else }{\rm{add}}\,({\rm{divide}}\,({\it{r\/}}, {\it{n\/}})\index{divide}, {\rm{add}}\,({\rm{twoto}}\,({\it{i\/}})\index{twoto}, {\tt{-1}})\index{add})\index{add}$\;${\bf  endif}\- \\ 
{\bf else }{\tt{0}}$\;${\bf  endif}\- \\ 
{\bf elseif }{\rm{div-in-rangep}}\,({\it{r\/}}, {\it{n\/}}, {\it{i\/}})\index{div-in-rangep} \\ 
{\bf then }\=\+{\bf if }{\rm{imultiplep}}\,({\it{r\/}}, {\it{n\/}})\index{imultiplep}$\;\;${\bf then }{\rm{add}}\,({\rm{divide}}\,({\it{r\/}}, {\it{n\/}})\index{divide}, {\tt{-1}})\index{add} \\ 
{\bf else }{\rm{divide}}\,({\it{r\/}}, {\it{n\/}})\index{divide}$\;${\bf  endif}\- \\ 
{\bf elseif }({\rm{negative-guts}}\,({\it{n\/}}) $*$ {\rm{twoto}}\,({\it{i\/}})\index{twoto}) $\not<$ {\rm{negative-guts}}\,({\it{r\/}}) \\ 
{\bf then }\=\+{\bf if }{\rm{imultiplep}}\,({\it{r\/}}, {\it{n\/}})\index{imultiplep} \\ 
{\bf then }{\rm{add}}\,({\rm{divide}}\,({\it{r\/}}, {\it{n\/}})\index{divide}, {\rm{add}}\,({\rm{tc-minus}}\,({\rm{twoto}}\,({\it{i\/}})\index{twoto})\index{tc-minus}, {\tt{-1}})\index{add})\index{add} \\ 
{\bf else }{\rm{add}}\,({\rm{divide}}\,({\it{r\/}}, {\it{n\/}})\index{divide}, {\rm{tc-minus}}\,({\rm{twoto}}\,({\it{i\/}})\index{twoto})\index{tc-minus})\index{add}$\;${\bf  endif}\- \\ 
{\bf else }{\tt{-1}}$\;${\bf  endif}\-)\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{long-new-r} \\  
\=\+{\rm{long-new-r}}\,({\it{r\/}}, {\it{noem\/}})\index{long-new-r} \\ 
$=$$\;\;\;\;$\=\+{\bf if }({\it{noem\/}} $\in\;${\bf{N}}${}$) $=$ ({\it{r\/}} $\in\;${\bf{N}}${}$)$\;\;${\bf then }{\rm{add}}\,({\it{r\/}}, {\rm{tc-minus}}\,({\it{noem\/}})\index{tc-minus})\index{add} \\ 
{\bf else }{\rm{add}}\,({\it{r\/}}, {\it{noem\/}})\index{add}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  tcp-long-new-r \\ \index{tcp-long-new-r}
({\rm{tcp}}\,({\it{tel\/}})\index{tcp} $\wedge$ {\rm{tcp}}\,({\it{noem\/}})\index{tcp}) $\rightarrow$ {\rm{tcp}}\,({\rm{long-new-r}}\,({\it{tel\/}}, {\it{noem\/}})\index{long-new-r})\index{tcp}
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{long-nrd} \\  
\=\+{\rm{long-nrd}}\,({\it{i\/}}, {\it{r\/}}, {\it{noem\/}})\index{long-nrd} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{i\/}} $\simeq {\tt{0}}$$\;\;${\bf then }{\sc{bv-nil}}\index{bv-nil} \\ 
{\bf else }{\rm{bitvec}}\,(\=\+({\it{noem\/}} $\in\;${\bf{N}}${}$) $=$ ({\rm{long-new-r}}\,({\it{r\/}}, {\it{noem\/}})\index{long-new-r} $\in\;${\bf{N}}${}$), \\ 
{\rm{long-nrd}}\,({\it{i\/}} $-\;1$, {\rm{mult}}\,({\tt{2}}, {\rm{long-new-r}}\,({\it{r\/}}, {\it{noem\/}})\index{long-new-r})\index{mult}, {\it{noem\/}})\index{long-nrd})\-\index{bitvec}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{alt-long-new-r} \\  
\=\+{\rm{alt-long-new-r}}\,({\it{r\/}}, {\it{noem\/}})\index{alt-long-new-r} \\ 
$=$$\;\;\;\;$\=\+{\bf if }({\it{r\/}} $\in\;${\bf{N}}${}$) $=$ ({\it{noem\/}} $\in\;${\bf{N}}${}$)$\;\;${\bf then }{\rm{add}}\,({\rm{mult}}\,({\tt{2}}, {\it{r\/}})\index{mult}, {\rm{tc-minus}}\,({\it{noem\/}})\index{tc-minus})\index{add} \\ 
{\bf else }{\rm{add}}\,({\rm{mult}}\,({\tt{2}}, {\it{r\/}})\index{mult}, {\it{noem\/}})\index{add}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{alt-long-nrd} \\  
\=\+{\rm{alt-long-nrd}}\,({\it{i\/}}, {\it{r\/}}, {\it{noem\/}})\index{alt-long-nrd} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{i\/}} $\simeq {\tt{0}}$$\;\;${\bf then }{\sc{bv-nil}}\index{bv-nil} \\ 
{\bf else }{\rm{bitvec}}\,(\=\+({\it{noem\/}} $\in\;${\bf{N}}${}$) $=$ ({\rm{alt-long-new-r}}\,({\it{r\/}}, {\it{noem\/}})\index{alt-long-new-r} $\in\;${\bf{N}}${}$), \\ 
{\rm{alt-long-nrd}}\,({\it{i\/}} $-\;1$, {\rm{alt-long-new-r}}\,({\it{r\/}}, {\it{noem\/}})\index{alt-long-new-r}, {\it{noem\/}})\index{alt-long-nrd})\-\index{bitvec}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  alt-long-new-r-long-new-r-relate \\ \index{alt-long-new-r-long-new-r-relate}
{\rm{tcp}}\,({\it{r\/}})\index{tcp} $\rightarrow$ ({\rm{alt-long-new-r}}\,({\it{r\/}}, {\it{n\/}})\index{alt-long-new-r} $=$ {\rm{long-new-r}}\,({\rm{mult}}\,({\tt{2}}, {\it{r\/}})\index{mult}, {\it{n\/}})\index{long-new-r})
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{induct-fn} \\  
\=\+{\rm{induct-fn}}\,({\it{i\/}}, {\it{r\/}}, {\it{n\/}})\index{induct-fn} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{i\/}} $\simeq {\tt{0}}$$\;\;${\bf then }{\bf{t}} \\ 
{\bf else }{\rm{induct-fn}}\,({\it{i\/}} $-\;1$, {\rm{long-new-r}}\,({\rm{mult}}\,({\tt{2}}, {\it{r\/}})\index{mult}, {\it{n\/}})\index{long-new-r}, {\it{n\/}})\index{induct-fn}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  alt-long-nrd-long-nrd-relate \\ \index{alt-long-nrd-long-nrd-relate}
({\rm{tcp}}\,({\it{r\/}})\index{tcp} $\wedge$ {\rm{tcp}}\,({\it{n\/}})\index{tcp}) $\rightarrow$ ({\rm{alt-long-nrd}}\,({\it{i\/}}, {\it{r\/}}, {\it{n\/}})\index{alt-long-nrd} $=$ {\rm{long-nrd}}\,({\it{i\/}}, {\rm{mult}}\,({\tt{2}}, {\it{r\/}})\index{mult}, {\it{n\/}})\index{long-nrd})
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{bv-long-new-r} \\  
\=\+{\rm{bv-long-new-r}}\,({\it{r\/}}, {\it{noem\/}}, {\it{prev\/}})\index{bv-long-new-r} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{bv-bit}}\,({\it{noem\/}})\index{bv-bit} $=$ {\it{prev\/}} \\ 
{\bf then }{\rm{csobv-bitvec}}\,({\rm{mcalu}}\,(\=\+{\rm{bv-size}}\,({\it{r\/}})\index{bv-size}, \\ 
{\bf{f}}, \\ 
{\it{r\/}}, \\ 
{\it{noem\/}}, \\ 
{\rm{nat-to-bv}}\,({\tt{12}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\rm{nat-to-bv}}\,({\tt{5}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\rm{nat-to-bv}}\,({\tt{10}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\bf{f}})\-\index{mcalu})\index{csobv-bitvec} \\ 
{\bf else }{\rm{csobv-bitvec}}\,({\rm{mcalu}}\,(\=\+{\rm{bv-size}}\,({\it{r\/}})\index{bv-size}, \\ 
{\bf{f}}, \\ 
{\it{r\/}}, \\ 
{\it{noem\/}}, \\ 
{\rm{nat-to-bv}}\,({\tt{12}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\rm{nat-to-bv}}\,({\tt{10}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\rm{nat-to-bv}}\,({\tt{10}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\bf{t}})\-\index{mcalu})\index{csobv-bitvec}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{bv-long-nrd} \\  
\=\+{\rm{bv-long-nrd}}\,({\it{i\/}}, {\it{r\/}}, {\it{noem\/}}, {\it{prev\/}})\index{bv-long-nrd} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{i\/}} $\simeq {\tt{0}}$$\;\;${\bf then }{\sc{bv-nil}}\index{bv-nil} \\ 
{\bf else }{\rm{bitvec}}\,(\=\+\=\+{\rm{bv-bit}}\,({\it{noem\/}})\index{bv-bit} \\ 
$=$$\;\;\;\;${\rm{bv-bit}}\,({\rm{bv-long-new-r}}\,({\it{r\/}}, {\it{noem\/}}, {\it{prev\/}})\index{bv-long-new-r})\index{bv-bit}\-, \\ 
{\rm{bv-long-nrd}}\,(\=\+{\it{i\/}} $-\;1$, \\ 
{\rm{up-shift-1}}\,({\rm{bv-long-new-r}}\,({\it{r\/}}, {\it{noem\/}}, {\it{prev\/}})\index{bv-long-new-r}, {\bf{f}})\index{up-shift-1}, \\ 
{\it{noem\/}}, \\ 
{\rm{bv-bit}}\,({\rm{bv-long-new-r}}\,({\it{r\/}}, {\it{noem\/}}, {\it{prev\/}})\index{bv-long-new-r})\index{bv-bit})\-\index{bv-long-nrd})\-\index{bitvec}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{alt-bv-long-new-r} \\  
\=\+{\rm{alt-bv-long-new-r}}\,({\it{r\/}}, {\it{noem\/}})\index{alt-bv-long-new-r} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{bv-bit}}\,({\it{noem\/}})\index{bv-bit} $=$ {\rm{bv-bit}}\,({\it{r\/}})\index{bv-bit} \\ 
{\bf then }{\rm{csobv-bitvec}}\,({\rm{mcalu}}\,(\=\+{\rm{bv-size}}\,({\it{r\/}})\index{bv-size}, \\ 
{\bf{f}}, \\ 
{\rm{up-shift-1}}\,({\it{r\/}}, {\bf{f}})\index{up-shift-1}, \\ 
{\it{noem\/}}, \\ 
{\rm{nat-to-bv}}\,({\tt{12}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\rm{nat-to-bv}}\,({\tt{5}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\rm{nat-to-bv}}\,({\tt{10}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\bf{f}})\-\index{mcalu})\index{csobv-bitvec} \\ 
{\bf else }{\rm{csobv-bitvec}}\,({\rm{mcalu}}\,(\=\+{\rm{bv-size}}\,({\it{r\/}})\index{bv-size}, \\ 
{\bf{f}}, \\ 
{\rm{up-shift-1}}\,({\it{r\/}}, {\bf{f}})\index{up-shift-1}, \\ 
{\it{noem\/}}, \\ 
{\rm{nat-to-bv}}\,({\tt{12}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\rm{nat-to-bv}}\,({\tt{10}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\rm{nat-to-bv}}\,({\tt{10}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\bf{t}})\-\index{mcalu})\index{csobv-bitvec}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  bv-size-alt-long-new-r \\ \index{bv-size-alt-long-new-r}
\=\+(\=\+{\rm{bitvecp}}\,({\it{r\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{noem\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{r\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{noem\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;${\rm{evenp}}\,({\rm{bv-size}}\,({\it{r\/}})\index{bv-size})\index{evenp} \\ 
$\wedge$$\;\;\;\;$({\it{noem\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}))\- \\ 
$\rightarrow$$\;\;\;\;$({\rm{bv-size}}\,({\rm{alt-bv-long-new-r}}\,({\it{r\/}}, {\it{noem\/}})\index{alt-bv-long-new-r})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{r\/}})\index{bv-size})\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{alt-bv-long-nrd} \\  
\=\+{\rm{alt-bv-long-nrd}}\,({\it{i\/}}, {\it{r\/}}, {\it{noem\/}})\index{alt-bv-long-nrd} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{i\/}} $\simeq {\tt{0}}$$\;\;${\bf then }{\sc{bv-nil}}\index{bv-nil} \\ 
{\bf else }{\rm{bitvec}}\,(\=\+{\rm{bv-bit}}\,({\it{noem\/}})\index{bv-bit} $=$ {\rm{bv-bit}}\,({\rm{alt-bv-long-new-r}}\,({\it{r\/}}, {\it{noem\/}})\index{alt-bv-long-new-r})\index{bv-bit}, \\ 
{\rm{alt-bv-long-nrd}}\,(\=\+{\it{i\/}} $-\;1$, \\ 
{\rm{alt-bv-long-new-r}}\,({\it{r\/}}, {\it{noem\/}})\index{alt-bv-long-new-r}, \\ 
{\it{noem\/}})\-\index{alt-bv-long-nrd})\-\index{bitvec}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  alt-bv-long-new-r-bv-long-new-r-relate \\ \index{alt-bv-long-new-r-bv-long-new-r!-relate}
{\rm{alt-bv-long-new-r}}\,({\it{r\/}}, {\it{n\/}})\index{alt-bv-long-new-r} $=$ {\rm{bv-long-new-r}}\,({\rm{up-shift-1}}\,({\it{r\/}}, {\bf{f}})\index{up-shift-1}, {\it{n\/}}, {\rm{bv-bit}}\,({\it{r\/}})\index{bv-bit})\index{bv-long-new-r}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  alt-bv-long-nrd-bv-long-nrd-relate \\ \index{alt-bv-long-nrd-bv-long-nrd-rel!ate}
{\rm{alt-bv-long-nrd}}\,({\it{i\/}}, {\it{r\/}}, {\it{n\/}})\index{alt-bv-long-nrd} $=$ {\rm{bv-long-nrd}}\,({\it{i\/}}, {\rm{up-shift-1}}\,({\it{r\/}}, {\bf{f}})\index{up-shift-1}, {\it{n\/}}, {\rm{bv-bit}}\,({\it{r\/}})\index{bv-bit})\index{bv-long-nrd}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  equal-bit-implies-equal-numberp \\ \index{equal-bit-implies-equal-numberp}
\=\+(({\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer} $\in\;${\bf{N}}${}$) $=$ ({\rm{tc-to-integer}}\,({\it{b\/}})\index{tc-to-integer} $\in\;${\bf{N}}${}$)) \\ 
$=$$\;\;\;\;$({\rm{bv-bit}}\,({\it{a\/}})\index{bv-bit} $=$ {\rm{bv-bit}}\,({\it{b\/}})\index{bv-bit})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  equal-numberp-implies-tc-in-range-sub \\ \index{equal-numberp-implies-tc-in-ran!ge-sub}
\=\+(\=\+(({\it{a\/}} $\in\;${\bf{N}}${}$) $=$ ({\it{b\/}} $\in\;${\bf{N}}${}$)) \\ 
$\wedge$$\;\;\;\;${\rm{tcp}}\,({\it{a\/}})\index{tcp} \\ 
$\wedge$$\;\;\;\;${\rm{tc-in-rangep}}\,({\it{a\/}}, {\it{n\/}})\index{tc-in-rangep} \\ 
$\wedge$$\;\;\;\;${\rm{tcp}}\,({\it{b\/}})\index{tcp} \\ 
$\wedge$$\;\;\;\;${\rm{tc-in-rangep}}\,({\it{b\/}}, {\it{n\/}})\index{tc-in-rangep})\- \\ 
$\rightarrow$$\;\;\;\;${\rm{tc-in-rangep}}\,({\rm{add}}\,({\it{a\/}}, {\rm{tc-minus}}\,({\it{b\/}})\index{tc-minus})\index{add}, {\it{n\/}})\index{tc-in-rangep}\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  not-equal-numberp-implies-tc-in-range-add \\ \index{not-equal-numberp-implies-tc-in!-range-add}
\=\+(\=\+(({\it{a\/}} $\in\;${\bf{N}}${}$) $\not=$ ({\it{b\/}} $\in\;${\bf{N}}${}$)) \\ 
$\wedge$$\;\;\;\;${\rm{tcp}}\,({\it{a\/}})\index{tcp} \\ 
$\wedge$$\;\;\;\;${\rm{tc-in-rangep}}\,({\it{a\/}}, {\it{n\/}})\index{tc-in-rangep} \\ 
$\wedge$$\;\;\;\;${\rm{tcp}}\,({\it{b\/}})\index{tcp} \\ 
$\wedge$$\;\;\;\;${\rm{tc-in-rangep}}\,({\it{b\/}}, {\it{n\/}})\index{tc-in-rangep})\- \\ 
$\rightarrow$$\;\;\;\;${\rm{tc-in-rangep}}\,({\rm{add}}\,({\it{a\/}}, {\it{b\/}})\index{add}, {\it{n\/}})\index{tc-in-rangep}\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  size-mcalu \\ \index{size-mcalu}
\=\+(\=\+{\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{byp\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{ccin\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;${\rm{controlep}}\,({\it{cr\/}})\index{controlep} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;${\rm{evenp}}\,({\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\index{evenp} \\ 
$\wedge$$\;\;\;\;$({\it{b\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}) \\ 
$\wedge$$\;\;\;\;${\rm{controlep}}\,({\it{cp\/}})\index{controlep} \\ 
$\wedge$$\;\;\;\;${\rm{controlep}}\,({\it{ck\/}})\index{controlep})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{bv-size}}\,({\rm{csobv-bitvec}}\,({\rm{mcalu}}\,({\rm{bv-size}}\,({\it{a\/}})\index{bv-size}, {\it{byp\/}}, {\it{a\/}}, {\it{b\/}}, {\it{cp\/}}, {\it{ck\/}}, {\it{cr\/}}, {\it{ccin\/}})\index{mcalu})\index{csobv-bitvec})\index{bv-size} \\ 
$=$$\;\;\;\;${\rm{bv-size}}\,({\it{a\/}})\index{bv-size})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  tc-in-range-mult-2-tc-to-int-1 \\ \index{tc-in-range-mult-2-tc-to-int-1}
\=\+({\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer} $\in\;${\bf{N}}${}$) \\ 
$\rightarrow$$\;\;\;\;$(({\tt{2}} $*$ {\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer}) $<$ {\rm{twoto}}\,({\rm{bv-size}}\,({\it{tel\/}})\index{bv-size})\index{twoto})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  special-francky-third-1 \\ \index{special-francky-third-1}
\=\+(\=\+({\rm{abs}}\,({\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer})\index{abs} $\not<$ {\rm{abs}}\,({\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer})\index{abs}) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{tc-in-rangep}}\,({\rm{mult}}\,({\tt{2}}, {\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer})\index{mult}, {\rm{bv-size}}\,({\it{tel\/}})\index{bv-size})\index{tc-in-rangep}) \\ 
$\wedge$$\;\;\;\;$({\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer} $\in\;${\bf{N}}${}$))\- \\ 
$\rightarrow$$\;\;\;\;$($\neg$ {\rm{tc-in-rangep}}\,(\=\+{\rm{add}}\,(\=\+{\rm{add}}\,(\=\+{\rm{mult}}\,({\tt{2}}, {\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer})\index{mult}, \\ 
{\rm{tc-minus}}\,({\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer})\index{tc-minus})\-\index{add}, \\ 
$-$ {\rm{twoto}}\,({\rm{bv-size}}\,({\it{tel\/}})\index{bv-size})\index{twoto})\-\index{add}, \\ 
{\rm{bv-size}}\,({\it{tel\/}})\index{bv-size})\-\index{tc-in-rangep})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  special-francky-third-1bis \\ \index{special-francky-third-1bis}
\=\+(\=\+({\rm{abs}}\,({\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer})\index{abs} $\not<$ {\rm{abs}}\,({\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer})\index{abs}) \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{tel\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{noem\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{tc-in-rangep}}\,({\rm{mult}}\,({\tt{2}}, {\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer})\index{mult}, {\rm{bv-size}}\,({\it{tel\/}})\index{bv-size})\index{tc-in-rangep}) \\ 
$\wedge$$\;\;\;\;$({\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;$({\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer} $\in\;${\bf{N}}${}$))\- \\ 
$\rightarrow$$\;\;\;\;${\rm{negativep}}\,({\rm{add}}\,(\=\+{\rm{add}}\,(\=\+{\rm{mult}}\,({\tt{2}}, {\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer})\index{mult}, \\ 
{\rm{tc-minus}}\,({\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer})\index{tc-minus})\-\index{add}, \\ 
$-$ {\rm{twoto}}\,({\rm{bv-size}}\,({\it{tel\/}})\index{bv-size})\index{twoto})\-\index{add})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  special-francky-third-2 \\ \index{special-francky-third-2}
\=\+(\=\+({\rm{abs}}\,({\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer})\index{abs} $\not<$ {\rm{abs}}\,({\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer})\index{abs}) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{tc-in-rangep}}\,({\rm{mult}}\,({\tt{2}}, {\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer})\index{mult}, {\rm{bv-size}}\,({\it{tel\/}})\index{bv-size})\index{tc-in-rangep}) \\ 
$\wedge$$\;\;\;\;${\rm{negativep}}\,({\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer}) \\ 
$\wedge$$\;\;\;\;$({\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer} $\in\;${\bf{N}}${}$))\- \\ 
$\rightarrow$$\;\;\;\;$($\neg$ {\rm{tc-in-rangep}}\,(\=\+{\rm{add}}\,(\=\+{\rm{add}}\,(\=\+{\rm{mult}}\,({\tt{2}}, {\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer})\index{mult}, \\ 
{\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer})\-\index{add}, \\ 
$-$ {\rm{twoto}}\,({\rm{bv-size}}\,({\it{tel\/}})\index{bv-size})\index{twoto})\-\index{add}, \\ 
{\rm{bv-size}}\,({\it{tel\/}})\index{bv-size})\-\index{tc-in-rangep})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  special-francky-third-2-bis \\ \index{special-francky-third-2-bis}
\=\+(\=\+({\rm{abs}}\,({\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer})\index{abs} $\not<$ {\rm{abs}}\,({\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer})\index{abs}) \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{tel\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{noem\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{tc-in-rangep}}\,({\rm{mult}}\,({\tt{2}}, {\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer})\index{mult}, {\rm{bv-size}}\,({\it{tel\/}})\index{bv-size})\index{tc-in-rangep}) \\ 
$\wedge$$\;\;\;\;${\rm{negativep}}\,({\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer}) \\ 
$\wedge$$\;\;\;\;$({\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer} $\in\;${\bf{N}}${}$))\- \\ 
$\rightarrow$$\;\;\;\;${\rm{negativep}}\,({\rm{add}}\,(\=\+{\rm{add}}\,({\rm{mult}}\,({\tt{2}}, {\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer})\index{mult}, {\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer})\index{add}, \\ 
$-$ {\rm{twoto}}\,({\rm{bv-size}}\,({\it{tel\/}})\index{bv-size})\index{twoto})\-\index{add})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  special-francky-third-3 \\ \index{special-francky-third-3}
\=\+(\=\+({\rm{abs}}\,({\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer})\index{abs} $\not<$ {\rm{abs}}\,({\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer})\index{abs}) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{tc-in-rangep}}\,({\rm{mult}}\,({\tt{2}}, {\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer})\index{mult}, {\rm{bv-size}}\,({\it{tel\/}})\index{bv-size})\index{tc-in-rangep}) \\ 
$\wedge$$\;\;\;\;${\rm{negativep}}\,({\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer}) \\ 
$\wedge$$\;\;\;\;${\rm{negativep}}\,({\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer}))\- \\ 
$\rightarrow$$\;\;\;\;$($\neg$ {\rm{tc-in-rangep}}\,(\=\+{\rm{add}}\,(\=\+{\rm{add}}\,(\=\+{\rm{mult}}\,({\tt{2}}, {\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer})\index{mult}, \\ 
{\rm{tc-minus}}\,({\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer})\index{tc-minus})\-\index{add}, \\ 
{\rm{twoto}}\,({\rm{bv-size}}\,({\it{tel\/}})\index{bv-size})\index{twoto})\-\index{add}, \\ 
{\rm{bv-size}}\,({\it{tel\/}})\index{bv-size})\-\index{tc-in-rangep})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  special-francky-third-3-bis \\ \index{special-francky-third-3-bis}
\=\+(\=\+({\rm{abs}}\,({\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer})\index{abs} $\not<$ {\rm{abs}}\,({\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer})\index{abs}) \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{tel\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{noem\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{tc-in-rangep}}\,({\rm{mult}}\,({\tt{2}}, {\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer})\index{mult}, {\rm{bv-size}}\,({\it{tel\/}})\index{bv-size})\index{tc-in-rangep}) \\ 
$\wedge$$\;\;\;\;${\rm{negativep}}\,({\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer}) \\ 
$\wedge$$\;\;\;\;${\rm{negativep}}\,({\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer}))\- \\ 
$\rightarrow$$\;\;\;\;$({\rm{add}}\,(\=\+{\rm{add}}\,({\rm{mult}}\,({\tt{2}}, {\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer})\index{mult}, {\rm{tc-minus}}\,({\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer})\index{tc-minus})\index{add}, \\ 
{\rm{twoto}}\,({\rm{bv-size}}\,({\it{tel\/}})\index{bv-size})\index{twoto})\-\index{add} $\in\;${\bf{N}}${}$)\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  special-francky-third-4 \\ \index{special-francky-third-4}
\=\+(\=\+({\rm{abs}}\,({\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer})\index{abs} $\not<$ {\rm{abs}}\,({\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer})\index{abs}) \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{tc-in-rangep}}\,({\rm{mult}}\,({\tt{2}}, {\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer})\index{mult}, {\rm{bv-size}}\,({\it{tel\/}})\index{bv-size})\index{tc-in-rangep}) \\ 
$\wedge$$\;\;\;\;$({\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;${\rm{negativep}}\,({\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer}))\- \\ 
$\rightarrow$$\;\;\;\;$($\neg$ {\rm{tc-in-rangep}}\,(\=\+{\rm{add}}\,(\=\+{\rm{add}}\,(\=\+{\rm{mult}}\,({\tt{2}}, {\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer})\index{mult}, \\ 
{\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer})\-\index{add}, \\ 
{\rm{twoto}}\,({\rm{bv-size}}\,({\it{tel\/}})\index{bv-size})\index{twoto})\-\index{add}, \\ 
{\rm{bv-size}}\,({\it{tel\/}})\index{bv-size})\-\index{tc-in-rangep})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  special-francky-third-4-bis \\ \index{special-francky-third-4-bis}
\=\+(\=\+({\rm{abs}}\,({\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer})\index{abs} $\not<$ {\rm{abs}}\,({\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer})\index{abs}) \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{tel\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{noem\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;$($\neg$ {\rm{tc-in-rangep}}\,({\rm{mult}}\,({\tt{2}}, {\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer})\index{mult}, {\rm{bv-size}}\,({\it{tel\/}})\index{bv-size})\index{tc-in-rangep}) \\ 
$\wedge$$\;\;\;\;$({\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer} $\in\;${\bf{N}}${}$) \\ 
$\wedge$$\;\;\;\;${\rm{negativep}}\,({\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer}))\- \\ 
$\rightarrow$$\;\;\;\;$({\rm{add}}\,(\=\+{\rm{add}}\,({\rm{mult}}\,({\tt{2}}, {\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer})\index{mult}, {\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer})\index{add}, \\ 
{\rm{twoto}}\,({\rm{bv-size}}\,({\it{tel\/}})\index{bv-size})\index{twoto})\-\index{add} $\in\;${\bf{N}}${}$)\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  append-not-nil-2 \\ \index{append-not-nil-2}
{\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\rightarrow$ ({\rm{bv-append}}\,({\it{a\/}}, {\rm{bitvec}}\,({\it{x\/}}, {\sc{bv-nil}}\index{bv-nil})\index{bitvec})\index{bv-append} $\not=$ {\sc{bv-nil}}\index{bv-nil})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  negativep-mult \\ \index{negativep-mult}
({\rm{tcp}}\,({\it{x\/}})\index{tcp} $\wedge$ {\rm{negativep}}\,({\it{x\/}})) $\rightarrow$ {\rm{negativep}}\,({\rm{mult}}\,({\tt{2}}, {\it{x\/}})\index{mult})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  alt-bv-long-new-r-alt-long-new-r-relate \\ \index{alt-bv-long-new-r-alt-long-new-!r-relate}
\=\+(\=\+{\rm{bitvecp}}\,({\it{tel\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{noem\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{tel\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{noem\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;$({\it{noem\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}) \\ 
$\wedge$$\;\;\;\;${\rm{evenp}}\,({\rm{bv-size}}\,({\it{tel\/}})\index{bv-size})\index{evenp} \\ 
$\wedge$$\;\;\;\;$({\rm{abs}}\,({\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer})\index{abs} $\not<$ {\rm{abs}}\,({\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer})\index{abs}))\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{tc-to-integer}}\,({\rm{alt-bv-long-new-r}}\,({\it{tel\/}}, {\it{noem\/}})\index{alt-bv-long-new-r})\index{tc-to-integer} \\ 
$=$$\;\;\;\;${\rm{alt-long-new-r}}\,({\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer}, {\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer})\index{alt-long-new-r})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  special-francky-first-leq \\ \index{special-francky-first-leq}
\=\+({\rm{tcp}}\,({\it{tel\/}})\index{tcp} $\wedge$ {\rm{tcp}}\,({\it{noem\/}})\index{tcp} $\wedge$ ({\rm{abs}}\,({\it{noem\/}})\index{abs} $\not<$ {\rm{abs}}\,({\it{tel\/}})\index{abs})) \\ 
$\rightarrow$$\;\;\;\;$({\rm{abs}}\,({\it{noem\/}})\index{abs} $\not<$ {\rm{abs}}\,({\rm{alt-long-new-r}}\,({\it{tel\/}}, {\it{noem\/}})\index{alt-long-new-r})\index{abs})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  alt-bv-long-nrd-alt-long-nrd-relate \\ \index{alt-bv-long-nrd-alt-long-nrd-re!late}
\=\+(\=\+{\rm{bitvecp}}\,({\it{tel\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{n\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{tel\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{n\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;$({\it{n\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}) \\ 
$\wedge$$\;\;\;\;${\rm{evenp}}\,({\rm{bv-size}}\,({\it{tel\/}})\index{bv-size})\index{evenp} \\ 
$\wedge$$\;\;\;\;$({\rm{abs}}\,({\rm{tc-to-integer}}\,({\it{n\/}})\index{tc-to-integer})\index{abs} $\not<$ {\rm{abs}}\,({\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer})\index{abs}))\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{alt-bv-long-nrd}}\,({\it{i\/}}, {\it{tel\/}}, {\it{n\/}})\index{alt-bv-long-nrd} \\ 
$=$$\;\;\;\;${\rm{alt-long-nrd}}\,({\it{i\/}}, {\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer}, {\rm{tc-to-integer}}\,({\it{n\/}})\index{tc-to-integer})\index{alt-long-nrd})\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{new-q}$\;\;$
{\rm{new-q}}\,({\it{prev\/}}, {\it{noem\/}})\index{new-q} $=$ ({\it{prev\/}} $=$ {\rm{bv-bit}}\,({\it{noem\/}})\index{bv-bit})
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{new-z} \\  
\=\+{\rm{new-z}}\,({\it{z\/}}, {\it{noem\/}}, {\it{prev\/}})\index{new-z} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{prev\/}} $=$ {\rm{bv-bit}}\,({\it{noem\/}})\index{bv-bit} \\ 
{\bf then }{\rm{csobv-bitvec}}\,({\rm{mcalu}}\,(\=\+{\rm{bv-size}}\,({\it{z\/}})\index{bv-size}, \\ 
{\bf{f}}, \\ 
{\it{z\/}}, \\ 
{\it{noem\/}}, \\ 
{\rm{nat-to-bv}}\,({\tt{12}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\rm{nat-to-bv}}\,({\tt{5}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\rm{nat-to-bv}}\,({\tt{10}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\bf{f}})\-\index{mcalu})\index{csobv-bitvec} \\ 
{\bf else }{\rm{csobv-bitvec}}\,({\rm{mcalu}}\,(\=\+{\rm{bv-size}}\,({\it{z\/}})\index{bv-size}, \\ 
{\bf{f}}, \\ 
{\it{z\/}}, \\ 
{\it{noem\/}}, \\ 
{\rm{nat-to-bv}}\,({\tt{12}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\rm{nat-to-bv}}\,({\tt{10}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\rm{nat-to-bv}}\,({\tt{10}}, {\tt{4}})\index{nat-to-bv}, \\ 
{\bf{t}})\-\index{mcalu})\index{csobv-bitvec}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  size-new-z \\ \index{size-new-z}
\=\+(\=\+{\rm{bitvecp}}\,({\it{z\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{noem\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{noem\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{z\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;${\rm{evenp}}\,({\rm{bv-size}}\,({\it{z\/}})\index{bv-size})\index{evenp} \\ 
$\wedge$$\;\;\;\;$({\it{noem\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}))\- \\ 
$\rightarrow$$\;\;\;\;$({\rm{bv-size}}\,({\rm{new-z}}\,({\it{z\/}}, {\it{noem\/}}, {\it{prev\/}})\index{new-z})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{z\/}})\index{bv-size})\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{hard-anrd-it} \\  
\=\+{\rm{hard-anrd-it}}\,({\it{i\/}}, {\it{noem\/}}, {\it{ps\/}}, {\it{z\/}}, {\it{prev\/}})\index{hard-anrd-it} \\ 
$=$$\;\;\;\;$\=\+{\bf if }\=\+{\rm{bitvecp}}\,({\it{noem\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{ps\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{z\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{noem\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{ps\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{noem\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{z\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{prev\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;$({\it{i\/}} $\in\;${\bf{N}}${}$)\- \\ 
{\bf then }\=\+{\bf if }{\it{i\/}} $=$ {\tt{0}}$\;\;${\bf then }{\sc{bv-nil}}\index{bv-nil} \\ 
{\bf else }{\rm{bitvec}}\,(\=\+{\rm{new-q}}\,({\rm{bv-bit}}\,({\rm{new-z}}\,({\it{z\/}}, {\it{noem\/}}, {\it{prev\/}})\index{new-z})\index{bv-bit}, {\it{noem\/}})\index{new-q}, \\ 
{\rm{hard-anrd-it}}\,(\=\+{\it{i\/}} $-\;1$, \\ 
{\it{noem\/}}, \\ 
{\rm{up-shift-1}}\,({\it{ps\/}}, {\bf{f}})\index{up-shift-1}, \\ 
{\rm{up-shift-1}}\,(\=\+{\rm{new-z}}\,({\it{z\/}}, {\it{noem\/}}, {\it{prev\/}})\index{new-z}, \\ 
{\rm{bv-bit}}\,({\it{ps\/}})\index{bv-bit})\-\index{up-shift-1}, \\ 
{\rm{bv-bit}}\,({\rm{new-z}}\,({\it{z\/}}, {\it{noem\/}}, {\it{prev\/}})\index{new-z})\index{bv-bit})\-\index{hard-anrd-it})\-\index{bitvec}$\;${\bf  endif}\- \\ 
{\bf else }{\sc{bv-nil}}\index{bv-nil}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{hard-anrd-init} \\  
\=\+{\rm{hard-anrd-init}}\,({\it{i\/}}, {\it{l\/}}, {\it{tel\/}}, {\it{noem\/}})\index{hard-anrd-init} \\ 
$=$$\;\;\;\;${\rm{hard-anrd-it}}\,(\=\+{\it{i\/}}, \\ 
{\it{noem\/}}, \\ 
{\rm{up-shift-n}}\,({\it{l\/}}, {\it{tel\/}}, {\bf{f}})\index{up-shift-n}, \\ 
{\rm{do-shift-n}}\,({\rm{bv-size}}\,({\it{tel\/}})\index{bv-size} $-$ {\it{l\/}}, {\it{tel\/}}, {\rm{bv-bit}}\,({\it{tel\/}})\index{bv-bit})\index{do-shift-n}, \\ 
{\rm{bv-bit}}\,({\it{tel\/}})\index{bv-bit})\-\index{hard-anrd-it}\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  hack-implies-sprop \\ \index{hack-implies-sprop}
({\bf{t}} $\rightarrow$ ({\it{a\/}} $=$ {\it{b\/}})) $=$ ({\it{a\/}} $=$ {\it{b\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  adder-with-zero-bv \\ \index{adder-with-zero-bv}
{\rm{bitvecp}}\,({\it{x\/}})\index{bitvecp} $\rightarrow$ ({\rm{bvco-bitvec}}\,({\rm{bv-adder}}\,({\it{x\/}}, {\rm{zero-bitvec}}\,({\rm{bv-size}}\,({\it{x\/}})\index{bv-size})\index{zero-bitvec}, {\bf{f}})\index{bv-adder})\index{bvco-bitvec} $=$ {\it{x\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  bv-append-bitvec \\ \index{bv-append-bitvec}
\=\+({\rm{bitvecp}}\,({\it{y\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{z\/}})\index{bitvecp}) \\ 
$\rightarrow$$\;\;\;\;$({\rm{bv-append}}\,({\rm{bitvec}}\,({\it{x\/}}, {\it{y\/}})\index{bitvec}, {\it{z\/}})\index{bv-append} $=$ {\rm{bitvec}}\,({\it{x\/}}, {\rm{bv-append}}\,({\it{y\/}}, {\it{z\/}})\index{bv-append})\index{bitvec})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  carry-adder-with-zero-bv \\ \index{carry-adder-with-zero-bv}
{\rm{bitvecp}}\,({\it{x\/}})\index{bitvecp} $\rightarrow$ ($\neg$ {\rm{bvco-carry}}\,({\rm{bv-adder}}\,({\it{x\/}}, {\rm{zero-bitvec}}\,({\rm{bv-size}}\,({\it{x\/}})\index{bv-size})\index{zero-bitvec}, {\bf{f}})\index{bv-adder})\index{bvco-carry})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  bvco-carry-bit-adders-double-size \\ \index{bvco-carry-bit-adders-double-si!ze}
\=\+({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{x\/}})\index{bitvecp} $\wedge$ ({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{bvco-carry}}\,({\rm{bv-adder}}\,(\=\+{\rm{bv-append}}\,({\it{a\/}}, {\it{x\/}})\index{bv-append}, \\ 
{\rm{bv-append}}\,({\it{b\/}}, {\rm{zero-bitvec}}\,({\rm{bv-size}}\,({\it{x\/}})\index{bv-size})\index{zero-bitvec})\index{bv-append}, \\ 
{\bf{f}})\-\index{bv-adder})\index{bvco-carry} \\ 
$=$$\;\;\;\;${\rm{bvco-carry}}\,({\rm{bv-adder}}\,({\it{a\/}}, {\it{b\/}}, {\bf{f}})\index{bv-adder})\index{bvco-carry})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  bvco-bitvec-bit-adders-double-size \\ \index{bvco-bitvec-bit-adders-double-si!ze}
\=\+({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{x\/}})\index{bitvecp} $\wedge$ ({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{bvco-bitvec}}\,({\rm{bv-adder}}\,(\=\+{\rm{bv-append}}\,({\it{a\/}}, {\it{x\/}})\index{bv-append}, \\ 
{\rm{bv-append}}\,({\it{b\/}}, {\rm{zero-bitvec}}\,({\rm{bv-size}}\,({\it{x\/}})\index{bv-size})\index{zero-bitvec})\index{bv-append}, \\ 
{\bf{f}})\-\index{bv-adder})\index{bvco-bitvec} \\ 
$=$$\;\;\;\;${\rm{bv-append}}\,({\rm{bvco-bitvec}}\,({\rm{bv-adder}}\,({\it{a\/}}, {\it{b\/}}, {\bf{f}})\index{bv-adder})\index{bvco-bitvec}, {\it{x\/}})\index{bv-append})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  carry-adder-with-one-bv \\ \index{carry-adder-with-one-bv}
{\rm{bitvecp}}\,({\it{x\/}})\index{bitvecp} $\rightarrow$ {\rm{bvco-carry}}\,({\rm{bv-adder}}\,({\it{x\/}}, {\rm{one-bitvec}}\,({\rm{bv-size}}\,({\it{x\/}})\index{bv-size})\index{one-bitvec}, {\bf{t}})\index{bv-adder})\index{bvco-carry}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  adder-with-one-bv \\ \index{adder-with-one-bv}
{\rm{bitvecp}}\,({\it{x\/}})\index{bitvecp} $\rightarrow$ ({\rm{bvco-bitvec}}\,({\rm{bv-adder}}\,({\it{x\/}}, {\rm{one-bitvec}}\,({\rm{bv-size}}\,({\it{x\/}})\index{bv-size})\index{one-bitvec}, {\bf{t}})\index{bv-adder})\index{bvco-bitvec} $=$ {\it{x\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  bvco-carry-bit-adders-double-size-t \\ \index{bvco-carry-bit-adders-double-si!ze-t}
\=\+({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{x\/}})\index{bitvecp} $\wedge$ ({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{bvco-carry}}\,({\rm{bv-adder}}\,(\=\+{\rm{bv-append}}\,({\it{a\/}}, {\it{x\/}})\index{bv-append}, \\ 
{\rm{bv-append}}\,({\it{b\/}}, {\rm{one-bitvec}}\,({\rm{bv-size}}\,({\it{x\/}})\index{bv-size})\index{one-bitvec})\index{bv-append}, \\ 
{\bf{t}})\-\index{bv-adder})\index{bvco-carry} \\ 
$=$$\;\;\;\;${\rm{bvco-carry}}\,({\rm{bv-adder}}\,({\it{a\/}}, {\it{b\/}}, {\bf{t}})\index{bv-adder})\index{bvco-carry})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  bvco-bitvec-bit-adders-double-size-t \\ \index{bvco-bitvec-bit-adders-double-si!ze-t}
\=\+({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{x\/}})\index{bitvecp} $\wedge$ ({\rm{bv-size}}\,({\it{a\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{b\/}})\index{bv-size})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{bvco-bitvec}}\,({\rm{bv-adder}}\,(\=\+{\rm{bv-append}}\,({\it{a\/}}, {\it{x\/}})\index{bv-append}, \\ 
{\rm{bv-append}}\,({\it{b\/}}, {\rm{one-bitvec}}\,({\rm{bv-size}}\,({\it{x\/}})\index{bv-size})\index{one-bitvec})\index{bv-append}, \\ 
{\bf{t}})\-\index{bv-adder})\index{bvco-bitvec} \\ 
$=$$\;\;\;\;${\rm{bv-append}}\,({\rm{bvco-bitvec}}\,({\rm{bv-adder}}\,({\it{a\/}}, {\it{b\/}}, {\bf{t}})\index{bv-adder})\index{bvco-bitvec}, {\it{x\/}})\index{bv-append})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  not-zero-bv \\ \index{not-zero-bv}
{\rm{bv-not}}\,({\rm{zero-bitvec}}\,({\it{nb\/}})\index{zero-bitvec})\index{bv-not} $=$ {\rm{one-bitvec}}\,({\it{nb\/}})\index{one-bitvec}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  haiblnr-1 \\ \index{haiblnr-1}
\=\+(\=\+{\rm{bitvecp}}\,({\it{ps\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{z\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{n\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{n\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{z\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{ps\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{z\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;$({\it{n\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}) \\ 
$\wedge$$\;\;\;\;${\rm{evenp}}\,({\rm{bv-size}}\,({\it{z\/}})\index{bv-size})\index{evenp})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{bv-bit}}\,({\rm{new-z}}\,({\it{z\/}}, {\it{n\/}}, {\it{prev\/}})\index{new-z})\index{bv-bit} \\ 
$=$$\;\;\;\;${\rm{bv-bit}}\,({\rm{bv-long-new-r}}\,(\=\+{\rm{bv-append}}\,({\it{z\/}}, {\it{ps\/}})\index{bv-append}, \\ 
{\rm{bv-append}}\,({\it{n\/}}, {\rm{zero-bitvec}}\,({\rm{bv-size}}\,({\it{z\/}})\index{bv-size})\index{zero-bitvec})\index{bv-append}, \\ 
{\it{prev\/}})\-\index{bv-long-new-r})\index{bv-bit})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  append-distributes \\ \index{append-distributes}
\=\+({\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{b\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{c\/}})\index{bitvecp}) \\ 
$\rightarrow$$\;\;\;\;$({\rm{bv-append}}\,({\rm{bv-append}}\,({\it{a\/}}, {\it{b\/}})\index{bv-append}, {\it{c\/}})\index{bv-append} $=$ {\rm{bv-append}}\,({\it{a\/}}, {\rm{bv-append}}\,({\it{b\/}}, {\it{c\/}})\index{bv-append})\index{bv-append})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  haiblnr-2 \\ \index{haiblnr-2}
\=\+(\=\+{\rm{bitvecp}}\,({\it{z\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{n\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{ps\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{prev\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{z\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{n\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{z\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{ps\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;$({\it{n\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}) \\ 
$\wedge$$\;\;\;\;${\rm{evenp}}\,({\rm{bv-size}}\,({\it{z\/}})\index{bv-size})\index{evenp})\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{bv-append}}\,({\rm{up-shift-1}}\,({\rm{new-z}}\,({\it{z\/}}, {\it{n\/}}, {\it{prev\/}})\index{new-z}, {\rm{bv-bit}}\,({\it{ps\/}})\index{bv-bit})\index{up-shift-1}, {\rm{up-shift-1}}\,({\it{ps\/}}, {\bf{f}})\index{up-shift-1})\index{bv-append} \\ 
$=$$\;\;\;\;${\rm{up-shift-1}}\,(\=\+{\rm{bv-long-new-r}}\,(\=\+{\rm{bv-append}}\,({\it{z\/}}, {\it{ps\/}})\index{bv-append}, \\ 
{\rm{bv-append}}\,({\it{n\/}}, {\rm{zero-bitvec}}\,({\rm{bv-size}}\,({\it{z\/}})\index{bv-size})\index{zero-bitvec})\index{bv-append}, \\ 
{\it{prev\/}})\-\index{bv-long-new-r}, \\ 
{\bf{f}})\-\index{up-shift-1})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  hard-anrd-it-bv-long-nrd-relate \\ \index{hard-anrd-it-bv-long-nrd-relate}
\=\+(\=\+{\rm{bitvecp}}\,({\it{ps\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{z\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{n\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{n\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{z\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{ps\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{z\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;$({\it{n\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}) \\ 
$\wedge$$\;\;\;\;${\rm{evenp}}\,({\rm{bv-size}}\,({\it{z\/}})\index{bv-size})\index{evenp} \\ 
$\wedge$$\;\;\;\;${\rm{boolp}}\,({\it{prev\/}})\index{boolp} \\ 
$\wedge$$\;\;\;\;$({\it{i\/}} $\in\;${\bf{N}}${}$))\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{hard-anrd-it}}\,({\it{i\/}}, {\it{n\/}}, {\it{ps\/}}, {\it{z\/}}, {\it{prev\/}})\index{hard-anrd-it} \\ 
$=$$\;\;\;\;${\rm{bv-long-nrd}}\,(\=\+{\it{i\/}}, \\ 
{\rm{bv-append}}\,({\it{z\/}}, {\it{ps\/}})\index{bv-append}, \\ 
{\rm{bv-append}}\,({\it{n\/}}, {\rm{zero-bitvec}}\,({\rm{bv-size}}\,({\it{z\/}})\index{bv-size})\index{zero-bitvec})\index{bv-append}, \\ 
{\it{prev\/}})\-\index{bv-long-nrd})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  numberp-mult \\ \index{numberp-mult}
({\rm{tcp}}\,({\it{a\/}})\index{tcp} $\wedge$ ({\it{b\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{b\/}} $\not=$ {\tt{0}})) $\rightarrow$ (({\rm{mult}}\,({\it{a\/}}, {\it{b\/}})\index{mult} $\in\;${\bf{N}}${}$) $=$ ({\it{a\/}} $\in\;${\bf{N}}${}$))
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  long-new-r-new-r-relate \\ \index{long-new-r-new-r-relate}
\=\+(({\it{i\/}} $\in\;${\bf{N}}${}$) $\wedge$ {\rm{tcp}}\,({\it{r\/}})\index{tcp} $\wedge$ {\rm{tcp}}\,({\it{noem\/}})\index{tcp}) \\ 
$\rightarrow$$\;\;\;\;$({\rm{long-new-r}}\,({\it{r\/}}, {\rm{mult}}\,({\it{noem\/}}, {\rm{twoto}}\,({\it{i\/}} $-\;1$)\index{twoto})\index{mult})\index{long-new-r} $=$ {\rm{new-r}}\,({\it{i\/}}, {\it{r\/}}, {\it{noem\/}})\index{new-r})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  not-lessp-not-lessp-times \\ \index{not-lessp-not-lessp-times}
(({\it{x\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{x\/}} $\not=$ {\tt{0}}) $\wedge$ ({\it{y\/}} $\not<$ {\it{z\/}})) $\rightarrow$ (({\it{x\/}} $*$ {\it{y\/}}) $\not<$ ({\it{x\/}} $*$ {\it{z\/}}))
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  lessp-not-lessp-times \\ \index{lessp-not-lessp-times}
({\it{y\/}} $<$ {\it{w\/}}) $\rightarrow$ (({\it{v\/}} $*$ {\it{w\/}}) $\not<$ ({\it{v\/}} $*$ {\it{y\/}}))
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mult-add-distributes \\ \index{mult-add-distributes}
\=\+({\rm{tcp}}\,({\it{x\/}})\index{tcp} $\wedge$ {\rm{tcp}}\,({\it{y\/}})\index{tcp} $\wedge$ {\rm{tcp}}\,({\it{z\/}})\index{tcp}) \\ 
$\rightarrow$$\;\;\;\;$({\rm{mult}}\,({\it{x\/}}, {\rm{add}}\,({\it{y\/}}, {\it{z\/}})\index{add})\index{mult} $=$ {\rm{add}}\,({\rm{mult}}\,({\it{x\/}}, {\it{y\/}})\index{mult}, {\rm{mult}}\,({\it{x\/}}, {\it{z\/}})\index{mult})\index{add})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  long-new-r-mult-2 \\ \index{long-new-r-mult-2}
\=\+({\rm{tcp}}\,({\it{r\/}})\index{tcp} $\wedge$ {\rm{tcp}}\,({\it{n\/}})\index{tcp}) \\ 
$\rightarrow$$\;\;\;\;$({\rm{long-new-r}}\,({\rm{mult}}\,({\tt{2}}, {\it{r\/}})\index{mult}, {\rm{mult}}\,({\tt{2}}, {\it{n\/}})\index{mult})\index{long-new-r} $=$ {\rm{mult}}\,({\tt{2}}, {\rm{long-new-r}}\,({\it{r\/}}, {\it{n\/}})\index{long-new-r})\index{mult})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  long-nrd-mult-2 \\ \index{long-nrd-mult-2}
\=\+({\rm{tcp}}\,({\it{r\/}})\index{tcp} $\wedge$ {\rm{tcp}}\,({\it{n\/}})\index{tcp}) \\ 
$\rightarrow$$\;\;\;\;$({\rm{long-nrd}}\,({\it{i\/}}, {\rm{mult}}\,({\tt{2}}, {\it{r\/}})\index{mult}, {\rm{mult}}\,({\tt{2}}, {\it{n\/}})\index{mult})\index{long-nrd} $=$ {\rm{long-nrd}}\,({\it{i\/}}, {\it{r\/}}, {\it{n\/}})\index{long-nrd})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  long-nrd-anrd-relate \\ \index{long-nrd-anrd-relate}
\=\+({\rm{tcp}}\,({\it{tel\/}})\index{tcp} $\wedge$ {\rm{tcp}}\,({\it{noem\/}})\index{tcp}) \\ 
$\rightarrow$$\;\;\;\;$({\rm{anrd}}\,({\it{i\/}}, {\it{tel\/}}, {\it{noem\/}})\index{anrd} $=$ {\rm{long-nrd}}\,({\it{i\/}}, {\rm{mult}}\,({\tt{2}}, {\it{tel\/}})\index{mult}, {\rm{mult}}\,({\it{noem\/}}, {\rm{twoto}}\,({\it{i\/}})\index{twoto})\index{mult})\index{long-nrd})\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{simple-induct} \\  
\=\+{\rm{simple-induct}}\,({\it{x\/}})\index{simple-induct} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{x\/}} $\simeq {\tt{0}}$$\;\;${\bf then }{\bf{t}} \\ 
{\bf else }{\rm{simple-induct}}\,({\it{x\/}} $-\;1$)\index{simple-induct}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  up-shift-1-append \\ \index{up-shift-1-append}
\=\+({\rm{bitvecp}}\,({\it{x\/}})\index{bitvecp} $\wedge$ {\rm{bitvecp}}\,({\it{y\/}})\index{bitvecp} $\wedge$ ({\it{y\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}) $\wedge$ {\rm{boolp}}\,({\it{sin\/}})\index{boolp}) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{up-shift-1}}\,({\rm{bv-append}}\,({\it{x\/}}, {\it{y\/}})\index{bv-append}, {\it{sin\/}})\index{up-shift-1} \\ 
$=$$\;\;\;\;${\rm{bv-append}}\,({\rm{up-shift-1}}\,({\it{x\/}}, {\rm{bv-bit}}\,({\it{y\/}})\index{bv-bit})\index{up-shift-1}, {\rm{up-shift-1}}\,({\it{y\/}}, {\it{sin\/}})\index{up-shift-1})\index{bv-append})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  append-butlast-last \\ \index{append-butlast-last}
\=\+({\rm{bitvecp}}\,({\it{y\/}})\index{bitvecp} $\wedge$ ({\it{y\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil})) \\ 
$\rightarrow$$\;\;\;\;$({\rm{bv-append}}\,({\rm{butlast}}\,({\it{y\/}})\index{butlast}, {\rm{bitvec}}\,({\rm{last}}\,({\it{y\/}})\index{last}, {\sc{bv-nil}}\index{bv-nil})\index{bitvec})\index{bv-append} $=$ {\it{y\/}})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  us1-dos-1 \\ \index{us1-dos-1}
\=\+({\rm{bitvecp}}\,({\it{y\/}})\index{bitvecp} $\wedge$ {\rm{boolp}}\,({\it{dsin\/}})\index{boolp}) \\ 
$\rightarrow$$\;\;\;\;$({\rm{up-shift-1}}\,({\rm{do-shift-1}}\,({\it{y\/}}, {\it{dsin\/}})\index{do-shift-1}, {\rm{last}}\,({\it{y\/}})\index{last})\index{up-shift-1} $=$ {\it{y\/}})\-
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{id-bitvec} \\  
\=\+{\rm{id-bitvec}}\,({\it{size\/}}, {\it{bit\/}})\index{id-bitvec} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{size\/}} $\in\;${\bf{N}}${}$ \\ 
{\bf then }\=\+{\bf if }{\it{size\/}} $\simeq {\tt{0}}$$\;\;${\bf then }{\sc{bv-nil}}\index{bv-nil} \\ 
{\bf else }{\rm{bitvec}}\,({\it{bit\/}}, {\rm{id-bitvec}}\,({\it{size\/}} $-\;1$, {\it{bit\/}})\index{id-bitvec})\index{bitvec}$\;${\bf  endif}\- \\ 
{\bf else }{\sc{bv-nil}}\index{bv-nil}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  size-id-bitvec \\ \index{size-id-bitvec}
{\rm{bv-size}}\,({\rm{id-bitvec}}\,({\it{size\/}}, {\it{bit\/}})\index{id-bitvec})\index{bv-size} $=$ {\rm{fix}}\,({\it{size\/}})
\end{tabbing}

\begin{tabbing}{\sc Definition}:\index{first} \\  
\=\+{\rm{first}}\,({\it{i\/}}, {\it{x\/}})\index{first} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\it{i\/}} $\simeq {\tt{0}}$$\;\;${\bf then }{\sc{bv-nil}}\index{bv-nil} \\ 
{\bf else }{\rm{bitvec}}\,({\rm{bv-bit}}\,({\it{x\/}})\index{bv-bit}, {\rm{first}}\,({\it{i\/}} $-\;1$, {\rm{bv-vec}}\,({\it{x\/}})\index{bv-vec})\index{first})\index{bitvec}$\;${\bf  endif}\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  first-size-x \\ \index{first-size-x}
{\rm{bitvecp}}\,({\it{x\/}})\index{bitvecp} $\rightarrow$ ({\rm{first}}\,({\rm{bv-size}}\,({\it{x\/}})\index{bv-size}, {\it{x\/}})\index{first} $=$ {\it{x\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  append-not-nil-3 \\ \index{append-not-nil-3}
{\rm{bitvecp}}\,({\it{a\/}})\index{bitvecp} $\rightarrow$ ({\rm{bv-append}}\,({\it{a\/}}, {\rm{bitvec}}\,({\it{x\/}}, {\it{b\/}})\index{bitvec})\index{bv-append} $\not=$ {\sc{bv-nil}}\index{bv-nil})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  butlast-bitvec \\ \index{butlast-bitvec}
\=\+({\rm{bitvecp}}\,({\it{rest\/}})\index{bitvecp} $\wedge$ ({\it{rest\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil})) \\ 
$\rightarrow$$\;\;\;\;$({\rm{butlast}}\,({\rm{bitvec}}\,({\it{bit\/}}, {\it{rest\/}})\index{bitvec})\index{butlast} $=$ {\rm{bitvec}}\,({\it{bit\/}}, {\rm{butlast}}\,({\it{rest\/}})\index{butlast})\index{bitvec})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  butlast-first \\ \index{butlast-first}
({\rm{bitvecp}}\,({\it{x\/}})\index{bitvecp} $\wedge$ ({\it{n\/}} $\in\;${\bf{N}}${}$)) $\rightarrow$ ({\rm{butlast}}\,({\rm{first}}\,({\it{n\/}}, {\it{x\/}})\index{first})\index{butlast} $=$ {\rm{first}}\,({\it{n\/}} $-\;1$, {\it{x\/}})\index{first})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  do-shift-n-first-append-relate \\ \index{do-shift-n-first-append-relate}
\=\+({\rm{bitvecp}}\,({\it{x\/}})\index{bitvecp} $\wedge$ ({\rm{bv-size}}\,({\it{x\/}})\index{bv-size} $\not<$ {\it{i\/}}) $\wedge$ ({\it{i\/}} $\in\;${\bf{N}}${}$) $\wedge$ {\rm{boolp}}\,({\it{bit\/}})\index{boolp}) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{do-shift-n}}\,({\it{i\/}}, {\it{x\/}}, {\it{bit\/}})\index{do-shift-n} \\ 
$=$$\;\;\;\;${\rm{bv-append}}\,({\rm{id-bitvec}}\,({\it{i\/}}, {\it{bit\/}})\index{id-bitvec}, {\rm{first}}\,({\rm{bv-size}}\,({\it{x\/}})\index{bv-size} $-$ {\it{i\/}}, {\it{x\/}})\index{first})\index{bv-append})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  full-down-shift \\ \index{full-down-shift}
{\rm{boolp}}\,({\it{bit\/}})\index{boolp} $\rightarrow$ ({\rm{do-shift-n}}\,({\rm{bv-size}}\,({\it{x\/}})\index{bv-size}, {\it{x\/}}, {\it{bit\/}})\index{do-shift-n} $=$ {\rm{id-bitvec}}\,({\rm{bv-size}}\,({\it{x\/}})\index{bv-size}, {\it{bit\/}})\index{id-bitvec})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  up-shift-strict \\ \index{up-shift-strict}
({\it{x\/}} $=$ {\sc{bv-nil}}\index{bv-nil}) $\rightarrow$ ({\rm{up-shift-n}}\,({\it{m\/}}, {\it{x\/}}, {\it{sin\/}})\index{up-shift-n} $=$ {\sc{bv-nil}}\index{bv-nil})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  up-shift-1-bv-vec \\ \index{up-shift-1-bv-vec}
{\rm{bv-vec}}\,({\rm{up-shift-n}}\,({\it{n\/}}, {\it{x\/}}, {\it{sin\/}})\index{up-shift-n})\index{bv-vec} $=$ {\rm{up-shift-n}}\,({\it{n\/}}, {\rm{bv-vec}}\,({\it{x\/}})\index{bv-vec}, {\it{sin\/}})\index{up-shift-n}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  first-strict \\ \index{first-strict}
({\rm{first}}\,({\it{n\/}}, {\it{x\/}})\index{first} $=$ {\sc{bv-nil}}\index{bv-nil}) $=$ ({\it{n\/}} $\simeq {\tt{0}}$)
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  up-shift-strict-2 \\ \index{up-shift-strict-2}
\=\+({\rm{up-shift-n}}\,({\it{n\/}}, {\it{x\/}}, {\it{sin\/}})\index{up-shift-n} $=$ {\sc{bv-nil}}\index{bv-nil}) \\ 
$=$$\;\;\;\;$(($\neg$ {\rm{boolp}}\,({\it{sin\/}})\index{boolp}) $\vee$ ($\neg$ {\rm{bitvecp}}\,({\it{x\/}})\index{bitvecp}) $\vee$ ({\it{n\/}} $\not\in\;${\bf{N}}${}$) $\vee$ ({\it{x\/}} $=$ {\sc{bv-nil}}\index{bv-nil}))\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  last-first \\ \index{last-first}
\=\+({\rm{boolp}}\,({\it{sin\/}})\index{boolp} $\wedge$ ({\it{m\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{m\/}} $\not=$ {\tt{0}}) $\wedge$ {\rm{bitvecp}}\,({\it{x\/}})\index{bitvecp} $\wedge$ ({\rm{bv-size}}\,({\it{x\/}})\index{bv-size} $\not<$ {\it{m\/}})) \\ 
$\rightarrow$$\;\;\;\;$({\rm{last}}\,({\rm{first}}\,({\it{m\/}}, {\it{x\/}})\index{first})\index{last} $=$ {\rm{bv-bit}}\,({\rm{up-shift-n}}\,({\it{m\/}} $-\;1$, {\it{x\/}}, {\it{sin\/}})\index{up-shift-n})\index{bv-bit})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  last-id-bitvec \\ \index{last-id-bitvec}
({\rm{boolp}}\,({\it{bit\/}})\index{boolp} $\wedge$ ({\it{n\/}} $\not\simeq {\tt{0}}$)) $\rightarrow$ ({\rm{last}}\,({\rm{id-bitvec}}\,({\it{n\/}}, {\it{bit\/}})\index{id-bitvec})\index{last} $=$ {\it{bit\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  bit-us-last-dos \\ \index{bit-us-last-dos}
\=\+({\rm{bitvecp}}\,({\it{x\/}})\index{bitvecp} $\wedge$ ({\it{m\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\rm{bv-size}}\,({\it{x\/}})\index{bv-size} $\not<$ {\it{m\/}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{last}}\,({\rm{do-shift-n}}\,({\rm{bv-size}}\,({\it{x\/}})\index{bv-size} $-$ {\it{m\/}}, {\it{x\/}}, {\rm{bv-bit}}\,({\it{x\/}})\index{bv-bit})\index{do-shift-n})\index{last} \\ 
$=$$\;\;\;\;${\rm{bv-bit}}\,({\rm{up-shift-n}}\,({\it{m\/}} $-\;1$, {\it{x\/}}, {\bf{f}})\index{up-shift-n})\index{bv-bit})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  append-of-up-shift \\ \index{append-of-up-shift}
\=\+({\rm{bitvecp}}\,({\it{x\/}})\index{bitvecp} $\wedge$ ({\it{l\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\rm{bv-size}}\,({\it{x\/}})\index{bv-size} $=$ {\it{nb\/}}) $\wedge$ ({\it{nb\/}} $\not<$ {\it{l\/}})) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{bv-append}}\,({\rm{do-shift-n}}\,({\it{nb\/}} $-$ {\it{l\/}}, {\it{x\/}}, {\rm{bv-bit}}\,({\it{x\/}})\index{bv-bit})\index{do-shift-n}, {\rm{up-shift-n}}\,({\it{l\/}}, {\it{x\/}}, {\bf{f}})\index{up-shift-n})\index{bv-append} \\ 
$=$$\;\;\;\;${\rm{up-shift-n}}\,({\it{l\/}}, {\rm{bv-append}}\,({\rm{id-bitvec}}\,({\it{nb\/}}, {\rm{bv-bit}}\,({\it{x\/}})\index{bv-bit})\index{id-bitvec}, {\it{x\/}})\index{bv-append}, {\bf{f}})\index{up-shift-n})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  id-bitvec-strict \\ \index{id-bitvec-strict}
({\rm{id-bitvec}}\,({\it{n\/}}, {\it{bit\/}})\index{id-bitvec} $=$ {\sc{bv-nil}}\index{bv-nil}) $=$ ({\it{n\/}} $\simeq {\tt{0}}$)
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  tc-to-int-simple-sign-extension \\ \index{tc-to-int-simple-sign-extension}
{\rm{tc-to-integer}}\,({\rm{bitvec}}\,({\rm{bv-bit}}\,({\it{x\/}})\index{bv-bit}, {\it{x\/}})\index{bitvec})\index{tc-to-integer} $=$ {\rm{tc-to-integer}}\,({\it{x\/}})\index{tc-to-integer}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  tc-to-int-sign-extension \\ \index{tc-to-int-sign-extension}
{\rm{tc-to-integer}}\,({\rm{bv-append}}\,({\rm{id-bitvec}}\,({\it{n\/}}, {\rm{bv-bit}}\,({\it{x\/}})\index{bv-bit})\index{id-bitvec}, {\it{x\/}})\index{bv-append})\index{tc-to-integer} $=$ {\rm{tc-to-integer}}\,({\it{x\/}})\index{tc-to-integer}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  mult-1 \\ \index{mult-1}
{\rm{tcp}}\,({\it{x\/}})\index{tcp} $\rightarrow$ ({\rm{mult}}\,({\tt{1}}, {\it{x\/}})\index{mult} $=$ {\it{x\/}})
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  zero-bitvec-extension \\ \index{zero-bitvec-extension}
{\rm{bitvec}}\,({\bf{f}}, {\rm{zero-bitvec}}\,({\it{n\/}})\index{zero-bitvec})\index{bitvec} $=$ {\rm{bv-append}}\,({\rm{zero-bitvec}}\,({\it{n\/}})\index{zero-bitvec}, {\rm{bitvec}}\,({\bf{f}}, {\sc{bv-nil}}\index{bv-nil})\index{bitvec})\index{bv-append}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  tc-to-int-append-simple-zero-bitvec \\ \index{tc-to-int-append-simple-zero-bitve!c}
{\rm{tc-to-integer}}\,({\rm{bv-append}}\,({\it{x\/}}, {\rm{bitvec}}\,({\bf{f}}, {\sc{bv-nil}}\index{bv-nil})\index{bitvec})\index{bv-append})\index{tc-to-integer} $=$ {\rm{mult}}\,({\tt{2}}, {\rm{tc-to-integer}}\,({\it{x\/}})\index{tc-to-integer})\index{mult}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  tc-to-int-append-zero-bv \\ \index{tc-to-int-append-zero-bv}
\=\+({\it{n\/}} $\in\;${\bf{N}}${}$) \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{tc-to-integer}}\,({\rm{bv-append}}\,({\it{x\/}}, {\rm{zero-bitvec}}\,({\it{n\/}})\index{zero-bitvec})\index{bv-append})\index{tc-to-integer} \\ 
$=$$\;\;\;\;${\rm{mult}}\,({\rm{twoto}}\,({\it{n\/}})\index{twoto}, {\rm{tc-to-integer}}\,({\it{x\/}})\index{tc-to-integer})\index{mult})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  times-conserves-lessp \\ \index{times-conserves-lessp}
\=\+(({\it{a\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{b\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{c\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{b\/}} $\not\simeq {\tt{0}}$) $\wedge$ ({\it{c\/}} $\not<$ {\it{a\/}})) \\ 
$\rightarrow$$\;\;\;\;$(({\it{b\/}} $*$ {\it{c\/}}) $\not<$ {\it{a\/}})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  times-conserves-lessp-dual \\ \index{times-conserves-lessp-dual}
\=\+(({\it{a\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{b\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{c\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{c\/}} $\not\simeq {\tt{0}}$) $\wedge$ ({\it{b\/}} $\not<$ {\it{a\/}})) \\ 
$\rightarrow$$\;\;\;\;$(({\it{b\/}} $*$ {\it{c\/}}) $\not<$ {\it{a\/}})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  lessp-abs-max-upshift \\ \index{lessp-abs-max-upshift}
\=\+({\rm{tcp}}\,({\it{a\/}})\index{tcp} $\wedge$ {\rm{tcp}}\,({\it{b\/}})\index{tcp} $\wedge$ {\rm{tcp}}\,({\it{c\/}})\index{tcp} $\wedge$ ({\rm{abs}}\,({\it{b\/}})\index{abs} $\not<$ {\rm{abs}}\,({\it{a\/}})\index{abs}) $\wedge$ ({\it{c\/}} $\not=$ {\tt{0}})) \\ 
$\rightarrow$$\;\;\;\;$({\rm{abs}}\,({\rm{mult}}\,({\it{b\/}}, {\it{c\/}})\index{mult})\index{abs} $\not<$ {\rm{abs}}\,({\it{a\/}})\index{abs})\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  abs-upper-bound-tc-to-int \\ \index{abs-upper-bound-tc-to-int}
{\rm{twoto}}\,({\rm{bv-size}}\,({\it{x\/}})\index{bv-size})\index{twoto} $\not<$ {\rm{abs}}\,({\rm{tc-to-integer}}\,({\it{x\/}})\index{tc-to-integer})\index{abs}
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  hard-anrd-anrd-relate-1 \\ \index{hard-anrd-anrd-relate-1}
\=\+(\=\+{\rm{bitvecp}}\,({\it{tel\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{noem\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{tel\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{noem\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{tel\/}})\index{bv-size} $=$ {\it{nb\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{evenp}}\,({\rm{bv-size}}\,({\it{tel\/}})\index{bv-size})\index{evenp} \\ 
$\wedge$$\;\;\;\;$({\it{noem\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}) \\ 
$\wedge$$\;\;\;\;$({\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer} $\not=$ {\tt{0}}) \\ 
$\wedge$$\;\;\;\;$({\it{nb\/}} $\not<$ {\it{i\/}}) \\ 
$\wedge$$\;\;\;\;$({\it{i\/}} $\in\;${\bf{N}}${}$))\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{hard-anrd-init}}\,({\it{i\/}}, {\tt{1}}, {\it{tel\/}}, {\it{noem\/}})\index{hard-anrd-init} \\ 
$=$$\;\;\;\;${\rm{anrd}}\,(\=\+{\it{i\/}}, \\ 
{\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer}, \\ 
{\rm{mult}}\,({\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer}, {\rm{twoto}}\,({\it{nb\/}} $-$ {\it{i\/}})\index{twoto})\index{mult})\-\index{anrd})\-\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  times-conserves-lessp-real \\ \index{times-conserves-lessp-real}
\=\+(({\it{a\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{b\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{c\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{b\/}} $\not\simeq {\tt{0}}$) $\wedge$ ({\it{a\/}} $<$ {\it{c\/}})) \\ 
$\rightarrow$$\;\;\;\;$({\it{a\/}} $<$ ({\it{b\/}} $*$ {\it{c\/}}))\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  times-conserves-lessp-dual-real \\ \index{times-conserves-lessp-dual-real}
\=\+(({\it{a\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{b\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{c\/}} $\in\;${\bf{N}}${}$) $\wedge$ ({\it{b\/}} $\not\simeq {\tt{0}}$) $\wedge$ ({\it{a\/}} $<$ {\it{c\/}})) \\ 
$\rightarrow$$\;\;\;\;$({\it{a\/}} $<$ ({\it{c\/}} $*$ {\it{b\/}}))\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  neg-guts-tc-to-integer-0 \\ \index{neg-guts-tc-to-integer-0}
({\rm{negative-guts}}\,({\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer}) $=$ {\tt{0}}) $=$ ({\rm{tc-to-integer}}\,({\it{a\/}})\index{tc-to-integer} $\in\;${\bf{N}}${}$)
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  div-in-rangep-tc-to-ints \\ \index{div-in-rangep-tc-to-ints}
\=\+(\=\+{\rm{bitvecp}}\,({\it{tel\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{noem\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{tel\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{noem\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;$({\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer} $\not=$ {\tt{0}}))\- \\ 
$\rightarrow$$\;\;\;\;${\rm{div-in-rangep}}\,({\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer}, {\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer}, {\rm{bv-size}}\,({\it{tel\/}})\index{bv-size})\index{div-in-rangep}\-
\end{tabbing}

\begin{tabbing}{\sc Theorem}:  hard-anrd-init-divides \\ \index{hard-anrd-init-divides}
\=\+(\=\+{\rm{bitvecp}}\,({\it{tel\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;${\rm{bitvecp}}\,({\it{noem\/}})\index{bitvecp} \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{tel\/}})\index{bv-size} $=$ {\rm{bv-size}}\,({\it{noem\/}})\index{bv-size}) \\ 
$\wedge$$\;\;\;\;$({\rm{bv-size}}\,({\it{tel\/}})\index{bv-size} $=$ {\it{nb\/}}) \\ 
$\wedge$$\;\;\;\;${\rm{evenp}}\,({\rm{bv-size}}\,({\it{tel\/}})\index{bv-size})\index{evenp} \\ 
$\wedge$$\;\;\;\;$({\it{noem\/}} $\not=$ {\sc{bv-nil}}\index{bv-nil}) \\ 
$\wedge$$\;\;\;\;$({\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer} $\not=$ {\tt{0}}))\- \\ 
$\rightarrow$$\;\;\;\;$(\=\+{\rm{tc-to-integer}}\,({\rm{hard-anrd-init}}\,({\it{nb\/}}, {\tt{1}}, {\it{tel\/}}, {\it{noem\/}})\index{hard-anrd-init})\index{tc-to-integer} \\ 
$=$$\;\;\;\;$\=\+{\bf if }{\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer} $\in\;${\bf{N}}${}$ \\ 
{\bf then }\=\+{\bf if }{\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer} $\in\;${\bf{N}}${}$ \\ 
{\bf then }{\rm{divide}}\,({\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer}, {\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer})\index{divide} \\ 
{\bf else }{\rm{add}}\,(\=\+{\rm{divide}}\,(\=\+{\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer}, \\ 
{\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer})\-\index{divide}, \\ 
{\tt{-1}})\-\index{add}$\;${\bf  endif}\- \\ 
{\bf elseif }{\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer} $\in\;${\bf{N}}${}$ \\ 
{\bf then }\=\+{\bf if }{\rm{imultiplep}}\,({\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer}, {\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer})\index{imultiplep} \\ 
{\bf then }{\rm{divide}}\,({\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer}, {\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer})\index{divide} \\ 
{\bf else }{\rm{add}}\,(\=\+{\rm{divide}}\,(\=\+{\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer}, \\ 
{\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer})\-\index{divide}, \\ 
{\tt{-1}})\-\index{add}$\;${\bf  endif}\- \\ 
{\bf elseif }{\rm{imultiplep}}\,({\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer}, {\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer})\index{imultiplep} \\ 
{\bf then }{\rm{add}}\,({\rm{divide}}\,({\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer}, {\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer})\index{divide}, {\tt{-1}})\index{add} \\ 
{\bf else }{\rm{divide}}\,({\rm{tc-to-integer}}\,({\it{tel\/}})\index{tc-to-integer}, {\rm{tc-to-integer}}\,({\it{noem\/}})\index{tc-to-integer})\index{divide}$\;${\bf  endif}\-)\-\-
\end{tabbing}

\begin{verbatim};; ))
\end{verbatim}
%\end{list}
\printindex
\end{document}
