cs0109001/text.tex
1: 
2: \magnification=\magstep1
3: 
4: \input amstex
5: \documentstyle{myamsppt}
6: 
7: % Comment out EITHER the next 3 lines (PicTeX) ...
8: 
9: %\input pictex
10: %\setcoordinatesystem units <1in,1in>
11: %\linethickness 0.7pt
12: 
13: % ... OR the next 4 lines (Eplain).
14: 
15: %\let\noarrow=0    % comment out if using "\commdiag"
16: \input eplain
17: \input ruled
18: \let\ref=\eplainref  %see Eplain document (v2.6) page 4.
19: 
20: \TagsOnRight
21: \parskip 1ex
22: 
23: \hsize=6.5truein
24: \vsize=9truein
25: 
26: \loadbold
27: \loadeurm
28: 
29: \font\bbbf=cmbx12 scaled\magstep1
30: \font\bbf=cmbx12
31: \font\bbigbf=cmbx12 scaled\magstep1
32: \font\bi=cmbxti10	% bold italic
33: \font\bigbf=cmbx12
34: \font\bigbi=cmbxti10 scaled\magstep1	%big bold italic
35: \font\bigit=cmti12
36: \font\bigrm=cmr12 
37: \font\sc=cmcsc10
38: \font\smallrm=cmr9
39: \font\smallit=cmti9
40: \font\smallbf=cmbx9
41: \font\smallbi=cmbxti10 at 8pt
42: \font\sf=cmss10
43: \font\script=eurm10
44: \font\bigsf=cmss12
45: \font\bigtt=cmtt12
46: \font\smalltt=cmtt8
47: \font\ssf=cmss8 
48: \font\ssmallrm=cmr8
49: \font\smallsl=cmsl8
50: \document
51: 
52: \define\de{\define}
53: \de\AAA{{\tx{${\scr A}$}}}
54: \de\AAa{{\tx{${\Bbb A}$}}}
55: \de\ABBB{{\tx{$A^\BBB$}}}
56: \de\ABN{{\tx{$A^{B,N}$}}}
57: \de\AN{{\tx{$A^N$}}}
58: \de\Ab{{\bf A}}
59: \de\Abi{{\bi A}}
60: \de\Abar{{\tx{$\bar A$}}}
61: \de\Abars{\tx{$\Abar_s$}}
62: \de\Abaru{\tx{$\Abar^u$}}
63: \de\AinKK{\tx{$A \in \KK$}}
64: \de\AinAlgSig{\tx{$A \in \AlgSig$}}
65: \de\AinNStdAlgSig{\tx{$A \in \NStdAlgSig$}}
66: \de\AinStdAlgSig{\tx{$A \in \StdAlgSig$}}
67: \de\Akvec{\tx{$A[\kvec]$}}
68: \de\Akxvec{\tx{$A[\kxvec]$}}
69: \de\Aklxvec{\tx{$A[\kvec,\lxvec]$}}
70: \de\Alg{\tx{\bi Alg}}
71: \de\AlgSig{\Alg\,(\Sig)}
72: \de\Alvec{\tx{$A[\lvec\,]$}}
73: \de\Alxvec{\tx{$A[\lxvec]$}}
74: \de\Aps{\tx{\sf Ap}}
75: \de\As{\tx{$A_s$}}
76: \de\Asbar{\tx{$\Abar_s$}}
77: \de\Asx{\tx{$A_s^*$}}
78: \de\AssLang{\tx{\bi Ass}\Lang}
79: \de\Assumption{\pr{Assumption}\sl}
80: \de\Assumptionn#1{\pr{Assumption #1}\sl}
81: \de\Assumptions{\pr{Assumptions}\sl}
82: \de\Asuu{\tx{$A^\uu_s$}}
83: \de\At{\tx{\bi At}}
84: \de\AtSig{\At(\Sig)}
85: \de\AtSt{\tx{\bi AtSt}}
86: \de\AtStSig{\tx{$\AtSt(\Sig)$}}
87: \de\Atil{{\tx{$\til A$}}}
88: \de\Au{\tx{$A^u$}}
89: \de\Aul{{\tx{$\ul A$}}}
90: \de\Auu{\tx{$A^\uu$}}
91: \de\AuuN{\tx{$A^{\uu,N}$}}
92: \de\Av{\tx{$A^v$}}
93: \de\Aw{\tx{$A^w$}}
94: \de\Ax{{\tx{$A^*$}}}
95: \de\Axs{\tx{$A^*_s$}}
96: \de\Axx{(\Ax)\str}
97: \de\Bbi{\tx{\bi B}}
98: \de\BB{{\tx{${\Bbb B}$}}}
99: \de\BBB{{\tx{${\scr B}$}}}
100: \de\BBbar{\tx{$\ol \BB$}}
101: \de\BBuu{\tx{${\Bbb B}^\uu$}}
102: \de\Bb{\tx{\bf B}}
103: \de\Bool{\tx{\bi Bool}}
104: \de\BoolSig{\tx{$\Bool(\Sig)$}}
105: \de\Bs{\tx{\sf B}}
106: \de\Bss{{\tx{\ssf B}}}
107: \de\Btil{\tx{$\til B$}}
108: \de\Bul{\tx{$\ul B$}}
109: \de\CC{\tx{${\Bbb C}$}}
110: \de\CCn{\tx{$\CC^n$}}
111: \de\CCC{\tx{$\scr C$}}
112: \de\CCCL{\tx{${\CCC}^<$}}
113: \de\CR{\tx{\bi CR}}
114: \de\CRSig{\tx{$\CR(\Sig)$}}
115: \de\CT{{\tx{\bi CT}}}
116: \de\CTSig{\CT(\Sig)}
117: \de\CTsmall{{\tx{\smallbi CT}}}
118: \de\Cbar{\tx{$\ol C$}}
119: \de\Cf{{\it Cf\.}}
120: \de\Chead#1{\bn\cbb{#1}\bn}
121: \de\Comp{\tx{\bi Comp}}
122: \de\CompA{\tx{$\Comp^A$}}
123: \de\CompLengthA{\tx{$\Comp\Length^A$}}
124: \de\CompSeqA#1{\tx{$\Comp\Seq^A(#1)$}}
125: \de\Compu{\tx{\bi Compu}}
126: \de\Con{\tx{\bi Con}}
127: \de\Cond{\tx{\bi Cond}}
128: \de\CondSig{\tx{$\Cond(\Sig)$}}
129: \de\Constrn#1{\pr{Construction \ #1}\rm}
130: \de\Cont{\tx{\bi Cont}}
131: \de\ContA{\tx{$\Cont(A)$}}
132: \de\Conventionn#1{\pr{Convention \ #1}\sl}
133: \de\Cor{\pr{Corollary}\sl}
134: \de\Corn#1{\prn{Corollary #1}\sl}
135: \de\Cors{\pr{Corollaries}\sl}
136: \de\Cs{\tx{\sf C}}
137: \de\Cul{\tx{$\ul C$}}
138: \de\DD{{\tx{${\Bbb D}$}}}
139: \de\DDD{{\tx{$\scr D$}}}
140: \de\Dbar{\tx{$\ol{D}$}}
141: \de\Dbars{\tx{$\ol{D}_s$}}
142: \de\Def{\pr{Definition}\rm}
143: \de\Defn#1{\prn{Definition #1}\rm}
144: \de\Defs{\pr{Definitions}\rm}
145: \de\Defsn#1{\prn{Definitions #1}\rm}
146: \de\Del{\tx{$\Delta$}}
147: \de\Discussion{\pr{Discussion}\rm}
148: \de\Discussionn#1{\pr{Discussion #1}\rm}
149: \de\Ds{\tx{\sf D}}
150: \de\Dss{{\tx{\ssf D}}}
151: \de\Ebar{\tx{$\ol E$}}
152: \de\Eg{{\it E.g.}}
153: \de\ElemInd{\tx{\sf ElemInd}}
154: \de\ElemIndSig{\tx{$\ElemInd(\Sig)$}}
155: \de\EqSort{\tx{\bi EqSort\/}}
156: \de\EqSortSig{\EqSort(\Sig)}
157: \de\Eqb{\tx{\bi Eq}}
158: \de\Eqs{\tx{\sf Eq}}
159: \de\Equiv{\tx{$\pmb{Equiv}$}}
160: \de\Etil{\tx{$\til{E}$}}
161: \de\Example{\pr{Example}}
162: \de\Examplen#1{\prn{Example {#1}}}
163: \de\Examples{\pr{Examples}}
164: \de\Examplesn#1{\prn{Examples {#1}}}
165: \de\Exercise{\pr{Exercise}}
166: \de\Exercisen#1{\prn{Exercise {#1}}}
167: \de\Exercises{\pr{Exercises}}
168: \de\Exercisesn#1{\prn{Exercises {#1}}}
169: \de\F{\tx{\bi F}}
170: \de\FA{\tx{$F^A$}}
171: \de\FAuu{\tx{$F^{A,\uu}$}}
172: \de\FFF{\tx{$\scr F$}}
173: \de\FFt{\tx{\tt F}}
174: \de\FinFuncSig{\tx{$F \in \FuncSig$}}
175: \de\First{\tx{\bi First}}
176: \de\For{\tx{\bi For}}
177: \de\ForA{\tx{$\For(A)$}}
178: \de\ForN{\tx{$\For^N$}}
179: \de\ForNA{\tx{$\ForN(A)$}}
180: \de\ForNSig{\tx{$\ForN(\Sig)$}}
181: \de\ForSig{\tx{$\For(\Sig)$}}
182: \de\ForSigN{\tx{$\For(\SigN)$}}
183: \de\ForSigx{\tx{$\For(\Sigx)$}}
184: \de\Form{\tx{\bi Form}}
185: \de\FormSig{\tx{$\Form(\Sig)$}}
186: \de\Foro{\tx{$\For_0$}}
187: \de\Forolam{\tx{$\For_0^{\lam}$}}
188: \de\Forx{\tx{$\For^\starb$}}
189: \de\ForxA{\tx{$\Forx(A)$}}
190: \de\ForxSig{\tx{$\Forx(\Sig)$}}
191: \de\Fs{{\tx{\smallbi F}}}
192: \de\Ftil{\tx{$\til{F}$}}
193: \de\Func{\tx{\bi Func}}
194: \de\FuncSig{\Func\,(\Sig)}
195: \de\FuncSigp{\tx{$\Func(\Sigp)$}}
196: \de\FuncSigus{\tx{$\FuncSig_\utos$}}
197: \de\GG{\tx{${\Bbb G}$}}
198: \de\GGG{\tx{$\scr G$}}
199: \de\Gtt{\tx{\tt G}}
200: \de\Gam{\tx{$\Gamma$}}
201: \de\Gbar{\tx{$\ol G$}}
202: \de\Gs{{\tx{\sf G}}}
203: \de\Halt{\tx{\bi Halt}}
204: \de\HaltTests{\tx{\sf HaltTest}}
205: \de\HaltA#1{\tx{$\Halt^A\,(#1)$}}
206: \de\Hbar{\tx{$\bar H$}}
207: \de\Hh{\tx{\bi H}}
208: \de\Hs{{\tx{\sf H}}}
209: \de\Hss{{\tx{\ssf H}}}
210: \de\Htt{\tx{\tt H}}
211: \de\Ib{\tx{{\bf I}}}
212: \de\II{{\tx{${\Bbb I}$}}}
213: \de\III{\tx{${\scr I}$}}
214: \de\IIIN{{\tx{$\III^N$}}}
215: \de\IL{\tx{\bi IL}}
216: \de\IO{\tx{\bi IO}}
217: \de\Ibar{{\tx{$\bar I$}}}
218: \de\Ie{{\it I.e.}}
219: \de\Ind{\tx{\sf Ind}}
220: \de\IndSig{\tx{$\Ind(\Sig)$}}
221: \de\Indi{\tx{$\Ind_i$}}
222: \de\IndiSig{\Indi(\Sig)}
223: \de\Init{\tx{\bi Init}}
224: \de\Is{\tx{\sf I}}
225: \de\Iss{{\tx{\ssf I}}}
226: \de\JJJ{\tx{${\scr J}$}}
227: \de\Jbar{{\tx{$\bar J$}}}
228: \de\KK{{\tx{${\Bbb K}$}}}
229: \de\KKbar{\tx{$\ol{\KK}$}}
230: \de\KKN{\tx{${\Bbb K}^N$}}
231: \de\KKuu{\tx{${\Bbb K}^\uu$}}
232: \de\KKx{\tx{${\Bbb K}^*$}}
233: \de\LL{\tx{${\Bbb L}$}}
234: \de\LLL{\tx{${\scr L}$}}
235: \de\Lam{\tx{$\Lambda$}}
236: \de\Lang{\tx{\bi Lang}}
237: \de\LangSig{\tx{$\Lang(\Sig)$}}
238: \de\LangSigx{\tx{$\Lang(\Sigx)$}}
239: \de\Langx{\tx{$\Lang^*$}}
240: \de\LangxSig{\tx{$\Langx(\Sig)$}}
241: \de\Lemma{\pr{Lemma}\sl}
242: \de\Lemman#1{\prn{Lemma #1}\sl}
243: \de\Lemmas{\pr{Lemmas}\sl}
244: \de\Lemmasn#1{\prn{Lemmas #1}\sl}
245: \de\Length{\tx{\bi Length}}
246: \de\Lgths{\tx{\sf Lgth}}
247: \de\Lss{{\tx{\ssf L}}}
248: \de\MMM{\tx{${\scr M}$}}
249: \de\Min{\tx{\bi Min}}
250: \de\MinNStdAlg{\Min\NStdAlg}
251: \de\Mod{\tx{\bi Mod}}
252: \de\NN{{\tx{${\Bbb N}$}}}
253: \de\NNN{{\tx{${\scr N}$}}}
254: \de\NNNB{{\tx{${\NNN^B}$}}}
255: \de\NNNo{{\tx{$\NNN_0$}}}
256: \de\NNu{\tx{${\Bbb N}^\uu$}}
257: \de\NStdAlg{\tx{\bi NStdAlg\/}}
258: \de\NStdAlgSig{\tx{$\NStdAlg\,(\Sig)$}}
259: \de\Nbd{\tx{\bi Nbd}}
260: \de\Nbi{{\tx{\bi N}}}
261: \de\Nbismall{{\tx{\smallbi N}}}
262: \de\Newlengths{\tx{\sf Newlength}}
263: \de\Notation{\pr{Notation}\rm}
264: \de\Notationn#1{\pr{Notation \ #1}\rm}
265: \de\Note{\pr{Note}\rm}
266: \de\Noten#1{\pr{Note #1}\rm}
267: \de\Notes{\pr{Notes}\rm}
268: \de\Notesn#1{\pr{Notes #1}\rm}
269: \de\Ns{\tx{\sf N}}
270: \de\Nss{{\tx{\ssf N}}}
271: \de\Nnu{\tx{$\Nn^\uu$}}
272: \de\Nulls{\tx{\sf Null}}
273: \de\Nullvec{\tx{$\vec{\Nulls}$}}
274: \de\Om{{\tx{$\Omega$}}}
275: \de\Pp{\tx{\bk P}}
276: \de\PA{\tx{$P^A$}}
277: \de\PE{\tx{\bi PE}}
278: \de\PL#1{\tx{$\ProgLang_{#1}$}}
279: \de\PPP{\tx{$\scr P$}}
280: \de\PR{\tx{PR}}
281: \de\PRA{\tx{$\PR(A)$}}
282: \de\PRAutos{\tx{$\PRA_\utos$}}
283: \de\PRSig{\tx{$\PR(\Sig)$}}
284: \de\PRSigb{\tx{$\PRb(\Sigb)$}}
285: \de\PRSigutos{\tx{$\PRSig_\utos$}}
286: \de\PRb{\tx{\bf PR}}
287: \de\PRmin{\tx{$\PR_-$}}
288: \de\PRo{\tx{$\PR_0$}}
289: \de\PRolam{\tx{$\PR_0^{\lam}$}}
290: \de\PRutos{\tx{$\PR_\utos$}}
291: \de\PRx{\PR\str}
292: \de\PRxA{\tx{$\PRx(A)$}}
293: \de\PRxSig{\tx{\PRx(\Sig)}}
294: \de\PRxSigb{\tx{\PRxb(\Sigb)}}
295: \de\PRxb{\PRb\strb}
296: \de\PTE{\tx{\bi PTE}}
297: \de\PTEA{\tx{$\PTE^A$}}
298: \de\PTerm{\tx{\bi PTerm}}
299: \de\PTermSig{\tx{$\PTerm(\Sig)$}}
300: \de\Pbi{\tx{\bi P}}
301: \de\Pf{\n{\bf Proof:\ \,}}
302: \de\Ph{\tx{$\Phi$}}
303: \de\PreStr{\tx{\bi PreStr}}
304: \de\PreStrSig{\PreStr\,(\Sig)}
305: \de\Problem{\pr{Problem}}
306: \de\Problemn#1{\pr{Problem {#1}}}
307: \de\Problems{\pr{Problems}}
308: \de\Problemsn#1{\pr{Problems {#1}}}
309: \de\Propsn#1{\pr{Propositions {#1}}}
310: \de\Proc{\tx{\bi Proc}}
311: \de\ProcN{\tx{$\Proc^N$}}
312: \de\ProcNSig{\ProcN(\Sig)}
313: \de\ProcSig{\Proc(\Sig)}
314: \de\ProcSigN{\Proc(\SigN)}
315: \de\ProcSiguv{\tx{$\Proc(\Sig)_\utov$}}
316: \de\ProcSigx{\tx{$\Proc(\Sigx)$}}
317: \de\Procuv{\tx{$\Proc_\utov$}}
318: \de\ProcuvSig{\tx{$\Procuv(\Sig)$}}
319: \de\Procx{\Proc\str}
320: \de\ProcxSig{\Procx(\Sig)}
321: \de\ProcxSiguv{\tx{$\ProcxSig_\utov$}}
322: \de\Procxuv{\tx{$\Proc^*_\utov$}}
323: \de\Prod{\tx{\bi Prod}}
324: \de\ProdType{\tx{\bi ProdType}}
325: \de\ProdTypeSig{\tx{$\ProdType(\Sig)$}}
326: \de\Prog{\tx{\bi Prog}}
327: \de\ProgLang{\Prog\Lang}
328: \de\ProgTerm{\Prog\Term}
329: \de\ProgTermSig{\tx{$\ProgTerm(\Sig)$}}
330: \de\Prop{\pr{Proposition}\sl}
331: \de\Propn#1{\prn{Proposition #1}\sl}
332: \de\Propp{\tx{\bi Prop}}
333: \de\Props{\pr{Propositions}\sl}
334: \de\Ps{\tx{$\Psi$}}
335: \de\Q{{\bf Q}}
336: \de\QQ{\tx{${\Bbb Q}$}}
337: \de\Qs{\tx{\sf Q}}
338: \de\Question{\pr{Question}\sl}
339: \de\RR{{\tx{${\Bbb R}$}}}
340: \de\RRR{{\tx{$\scr R$}}}
341: \de\RRRB{\tx{$\RRR^B$}}
342: \de\RRRL{\tx{${\RRR}^<$}}
343: \de\RRRN{\tx{$\RRR^N$}}
344: \de\RRn{\tx{$\RR^n$}}
345: \de\RRx{\tx{$\RR\str$}}
346: \de\RRq{\tx{$\RR^q$}}
347: \de\Ref{\tx{\bf Ref:\/}}
348: \de\Rem{\tx{\bi Rem}}
349: \de\RemA{\tx{$\Rem^A$}}
350: \de\RemSeqA#1{\tx{$\Rem\Seq^A(#1)$}}
351: \de\RemSet#1{\tx{\bi RemSet\,$(#1)$}}
352: \de\Remark{\pr{Remark}\rm}
353: \de\Remarkn#1{\prn{Remark #1}\rm}
354: \de\Remarks{\pr{Remarks}\rm}
355: \de\Remarksn#1{\prn{Remarks #1}\rm}
356: \de\Rep{\tx{\bi Rep}}
357: \de\Rest{\tx{\bi Rest}}
358: \de\Rs{\tx{\sf R}}
359: \de\Rss{{\tx{\ssf R}}}
360: \de\SA{\tx{$\bb{S}^A$}}
361: \de\SS{{\tx{${\Bbb S}$}}}
362: \de\SSS{{\tx{${\scr S}$}}}
363: \de\Sarrow{\tx{$S^{\to}$}}
364: \de\Sat{\tx{$S_{\tx{\ssf at}}$}}
365: \de\Sbar{\tx{$\ol \Sbi$}}
366: \de\Sbi{\tx{\bi S}}
367: \de\Seq{\tx{\bi Seq}}
368: \de\Shead#1#2{\bn{\bigbf {#1}\ \ \ {#2}}\sn}
369: \de\Sheads#1#2{\bn{\bigbf {#1}\ \ \ {#2}}}
370: \de\Sig{{\tx{$\varSigma$}}}
371: \de\SigA{\tx{$\Sig(A)$}}
372: \de\SigBBB{\tx{$\Sig^\BBB$}}
373: \de\SigBN{\tx{$\Sig^{B,N}$}}
374: \de\SigN{\tx{$\Sig^N$}}
375: \de\SigT{\tx{$(\Sig,T)$}}
376: \de\Sigb{\tx{$\bs\varSigma$}}
377: \de\Sigbar{\tx{$\ol \Sig$}}
378: \de\Sigo{\tx{$\varSigma_0$}}
379: \de\Sigox{\tx{$\varSigma_0^*$}}
380: \de\Sigone{\tx{$\Sigb_1$}}
381: \de\SigoneInd{\tx{$\Sigb_{\pmb1}$-$\pmb{Ind}\,$}}
382: \de\Sigonex{\tx{$\Sigb_1^*$}}
383: \de\SigonexInd{\tx{$\Sigb_{\pmb1}^{\pmb*}$-$\pmb{Ind}\,$}}
384: \de\SigonexIndl{\tx{$\Sigb_{\pmb1}^{\pmb*}$-$\pmb{Ind_\ell}\,$}}
385: \de\SigonexIndc{\tx{$\Sigb_{\pmb1}^{\pmb*}$-$\pmb{Ind_c}\,$}}
386: \de\SigonexIndi{\tx{$\Sigb_{\pmb1}^{\pmb*}$-$\pmb{Ind_i}\,$}}
387: \de\Sigp{{\tx{$\Sig'$}}}
388: \de\SigpTp{\tx{$(\Sig',T')$}}
389: \de\Sigpp{{\tx{$\Sig''$}}}
390: \de\SigppTpp{\tx{$(\Sig'',T'')$}}
391: \de\Sigstk{\tx{$\Sig^\stkss$}}
392: \de\Siguu{\tx{$\varSigma^\uu$}}
393: \de\SiguuN{\tx{$\varSigma^{\uu,N}$}}
394: \de\Sigx{\tx{$\varSigma^*$}}
395: \de\Snap{\tx{\bi Snap}}
396: \de\SnapA{\tx{$\Snap^A$}}
397: \de\SnapSeqA#1{\tx{$\Snap\Seq^A(#1)$}}
398: \de\Sort{\tx{\bi Sort\/}}
399: \de\SortSig{\Sort(\Sig)}
400: \de\SortSigsmall{\Sortsmall\,(\Sig)}
401: \de\SortSigp{\tx{$\Sort(\Sigp)$}}
402: \de\SortSigx{\tx{$\Sort(\Sigx)$}}
403: \de\Sortsmall{\tx{\smallbi Sort}}
404: \de\Spec{\tx{\sf Spec}}
405: \de\Ss{\tx{\sf S}}
406: \de\Sss{{\tx{\ssf S}}}
407: \de\State{\tx{\bi State}}
408: \de\StateA{\tx{$\State(A)$}}
409: \de\Step{\tx{\bi Step}}
410: \de\Stmt{\tx{\bi Stmt}}
411: \de\StmtSig{\tx{$\Stmt(\Sig)$}}
412: \de\StmtStepA{\tx{$\Stmt\Step^A$}}
413: \de\Std{\tx{\bi Std\/}}
414: \de\StdAlg{\Std\Alg}
415: \de\StdAlgSig{\tx{$\StdAlg\,(\Sig)$}}
416: \de\StdAlgSigx{\tx{$\StdAlg\,(\Sigx)$}}
417: \de\StdMod{\Std\Mod}
418: \de\Str{\tx{\bi Str}}
419: \de\StrSig{\Str\,(\Sig)}
420: \de\SubalgA#1{\tx{${\bi \ Subalg}_A(#1)$}}
421: \de\Tb{\tx{\bf T}}
422: \de\Tbi{\tx{\bi T}}
423: \de\TComp{\tx{\bi TComp}}
424: \de\TE{\tx{\bi TE}}
425: \de\TEA{\tx{$\TE^A$}}
426: \de\TOL{\TagsOnLeft}
427: \de\TOR{\TagsOnRight}
428: \de\TSig{\Tbi(\Sig)}
429: \de\TT{\tx{${\Bbb T}$}}
430: \de\TTT{\tx{$\scr T$}}
431: \de\Tab{\tx{\bi Tab}}
432: \de\TabSig{\Tab(\Sig)}
433: \de\Tbar{\tx{$\ol T$}}
434: \de\Term{\tx{\bi Term}}
435: \de\TermSig{\tx{$\Term(\Sig)$}}
436: \de\TermTup{\Term\Tup}
437: \de\TermTupSig{\tx{$\TermTup(\Sig)$}}
438: \de\Terminology{\pr{Terminology}\rm}
439: \de\Th{\tx{\bi Th}}
440: \de\Thesisn#1{\pr{Thesis \ #1}\sl}
441: \de\Thm{\pr{Theorem}\sl}
442: \de\Thmn#1{\prn{Theorem #1}\sl}
443: \de\Thms{\pr{Theorems}\sl}
444: \de\Tm{\tx{\bi Tm}}
445: \de\TmSig{\tx{$\Tm(\Sig)$}}
446: \de\Tms{\tx{$\Tm_s$}}
447: \de\TmsSig{\tx{$\Tms(\Sig)$}}
448: \de\Ts{\tx{$\Tbi_s$}}
449: \de\TsSig{\tx{$\Ts(\Sig)$}}
450: \de\Tup{\tx{\bi Tup}}
451: \de\Ub{\tx{\bf U}}
452: \de\Ubi{\tx{\bi U}}
453: \de\Univ{\tx{\bi Univ}}
454: \de\Univs{\tx{\sf Univ}}
455: \de\Univuv{\tx{$\Univs_\utov$}}
456: \de\UnivuvA{\tx{$\Univs_\utov^A$}}
457: \de\Univuvx{\tx{$\Univs_\utov^*$}}
458: \de\UnivuvxA{\tx{$\Univs_\utov^{*,A}$}}
459: \de\Univus{\tx{$\Univ_\utos$}}
460: \de\UnivusA{\tx{$\Univ_\utos^A$}}
461: \de\Unspecs{\tx{\sf Unspec}}
462: \de\Updates{\tx{\sf Update}}
463: \de\UpdateD{\tx{$\Updates^D$}}
464: \de\Us{\tx{\sf U}}
465: \de\VVV{\tx{$\scr V$}}
466: \de\Val{\tx{\bi Val}}
467: \de\Var{\tx{\bi Var}}
468: \de\VarSig{\tx{$\Var(\Sig)$}}
469: \de\VarTup{\Var\Tup}
470: \de\VarTupSig{\tx{$\VarTup(\Sig)$}}
471: \de\Vars{\tx{$\Var_s$}}
472: \de\VarsSig{\tx{$\Vars(\Sig)$}}
473: \de\Vbb{\tx{\bf V}}
474: \de\WWW{\tx{${\scr W}$}}
475: \de\Wb{\tx{\bf W}}
476: \de\While{\tx{\bi While}}
477: \de\WhileA{\tx{$\While(A)$}}
478: \de\WhileN{\tx{$\While^\Nbismall$}}
479: \de\WhileNA{\tx{$\WhileN(A)$}}
480: \de\WhileNSig{\tx{$\WhileN(\Sig)$}}
481: \de\WhileSig{\tx{$\While(\Sig)$}}
482: \de\WhileSigN{\tx{$\While(\SigN)$}}
483: \de\WhileSigx{\tx{$\While(\Sigx)$}}
484: \de\Whilebig{\tx{\bigbi While}}
485: \de\WhilebigSig{\tx{$\Whilebig(\Sigb)$}}
486: \de\WhilebigN{\tx{$\Whilebig^\Nbi$}}
487: \de\Whilebigx{\tx{$\Whilebig^\starb$}}
488: \de\Whilex{\tx{$\While^\starb$}}
489: \de\WhilexA{\Whilex(A)}
490: \de\WhilexSig{\Whilex(\Sig)}
491: \de\WhilexSigN{\Whilex(\SigN)}
492: \de\Whilexbig{\tx{$\Whilebig^{\dz{\starb}}$}}
493: \de\XXX{{\tx{${\scr X}$}}}
494: \de\ZZ{\tx{${\Bbb Z}$}}
495: \de\ZZZ{{\tx{${\scr Z}$}}}
496: \de\Zbi{\tx{\bi Z}}
497: \de\Zs{\tx{\sf Z}}
498: \de\Zss{{\tx{\ssf Z}}}
499: \de\Zz{\tx{\sf Z}}
500: \de\abi{\tx{\bi a}}
501: \de\aas{\tx{\sf a}}
502: \de\abar{\tx{$\bar a$}}
503: \de\adt{{\bi adt}}
504: \de\aee{\tx{\bi ae}}
505: \de\ainAu{\tx{$a \in \Au$}}
506: \de\ainAv{\tx{$a \in \Av$}}
507: \de\ainAs{\tx{$a \in \As$}}
508: \de\al{{\tx{$\alpha$}}}
509: \de\alA{\tx{$\alpha^A$}}
510: \de\alb{\tx{$\bs\alpha$}}
511: \de\albar{{\tx{$\ol \alpha$}}}
512: \de\algebras{\tx{\sf algebra}}
513: \de\alhat{{\tx{$\hat{\alpha}$}}}
514: \de\aliass{\tx{\sf alias}}
515: \de\aliasss{{\tx{\ssf alias}}}
516: \de\all{\forall}
517: \de\alvec{\tx{$\vec{\alpha}$}}
518: \de\ands{\tx{\sf and}}
519: \de\ang#1{\tx{$\langle #1 \rangle$}}
520: \de\angg#1{\tx{$\langg #1 \rangg$}}
521: \de\arity#1{\tx{\rm arity$(#1)$}}
522: \de\arr{\arrow <0.1in> [0.2,0.5]}
523: \de\att{{\tx{\tt a}}}
524: \de\atts{{\tx{\smalltt a}}}
525: \de\attx{\att\str}
526: \de\auxs{\tx{\sf aux}}
527: \de\avec{\tx{$\vec{a}$}}
528: \de\ax{\tx{$a^*$}}
529: \de\bA{\tx{$\bb{b}^A$}}
530: \de\bB{\bk{B}}
531: \de\bFor{\tx{\bigbi For}}
532: \de\bForN{\tx{$\bFor^\Nbi$}}
533: \de\bForx{\tx{$\bFor^\starb$}}
534: \de\bProc{\tx{\bigbi Proc}}
535: \de\bb#1{\tx{$\lbb #1 \rbb$}}
536: \de\bbar{[\ns]}
537: \de\bbi{\tx{\bi b}}
538: \de\bbs{\tx{\sf b}}
539: \de\bdot{{\bs\cdot}}
540: \de\be{{\tx{$\beta$}}}
541: \de\beA{\tx{$\beta^A$}}
542: \de\beb{\tx{$\bs\beta$}}
543: \de\begins{\tx{\sf begin}}
544: \de\bigcaplim#1{\underset#1\to\bigcap}
545: \de\bigcon{\bigwedge}
546: \de\bigdis{\bigvee}
547: \de\bigskipn{\bigskip\nin}
548: \de\biu{\tx{\bi u}}
549: \de\bk{\boldkey}
550: \de\bn{\bigskip\nin}
551: \de\bools{\tx{\sf bool}}
552: \de\boolss{{\tx{\ssf bool}}}
553: \de\br{\ |\ }
554: \de\bs{\boldsymbol}
555: \de\btt{{\tx{\tt b}}}
556: \de\btts{{\tx{\smalltt b}}}
557: \de\bttx{\btt\str}
558: \de\bu{$\bullet$}
559: \de\bul{\item{\bu}}
560: \de\bull{\itemm{\bu}}
561: \de\bulll{\itemmm{\bu}}
562: \de\bx{\tx{$b^*$}}
563: \de\capt#1#2{\ce{{\sc #1}. \ \ #2}}
564: \de\card#1{\tx{\bi card\,$(#1)$}}
565: \de\carrierss{\tx{\sf carriers}}
566: \de\cart#1{\tx{\bi cart\, $(#1)$}}
567: \de\cb#1{\ce{\bf #1}}
568: \de\cbb#1{\ce{\bbf #1}}
569: \de\cbbb#1{\ce{\bbigbf #1}}
570: \de\cbi#1{\ce{\bi #1}}
571: \de\cbbi#1{\ce{\bigbi #1}}
572: \de\ccc{{\tx{\bi c}}}
573: \de\ce{\centerline}
574: \de\cf{{\it cf\.}}
575: \de\chead#1{\bn\cb{#1}\mn}
576: \de\chooses{\tx{\sf choose}}
577: \de\cnr#1{\tx{$\ulc #1 \urc$}}
578: \de\comlabs{\tx{\com\bf-\labs}}
579: \de\comlam{\tx{$\com^\lam$}}
580: \de\compb{\tx{\bi comp}}
581: \de\compl#1{\tx{\bi compl\,$(#1)$}}
582: \de\complexs{\tx{\sf complex}}
583: \de\complexss{{\tx{\ssf complex}}}
584: \de\comps{\tx{\sf comp}}
585: \de\con{\land}
586: \de\concon{{\bigcon\nss\nss\nss\bigcon}}
587: \de\conconlim#1{\underset#1\to\concon}
588: \de\conconlims#1#2{\overset{#2}\to{\conconlim{#1}}}
589: \de\cons{\tx{\sf con}}
590: \de\conss{{\tx{\ssf con}}}
591: \de\constantss{\tx{\sf constants}}
592: \de\consts{\tx{\sf const}}
593: \de\constss{{\tx{\ssf const}}}
594: \de\cpxs{\tx{\sf complex}}
595: \de\ccs{\tx{\sf c}}
596: \de\css{{\tx{\ssf c}}}
597: \de\ctt{{\tx{\tt c}}}
598: \de\ctts{{\tx{\smalltt c}}}
599: \de\cttx{\ctt\str}
600: \de\curl#1{\tx{$\{#1\}$}}
601: \de\curly#1{\tx{$\{\,#1\,\}$}}
602: \de\cvals{\tx{\sf cval}}
603: \de\cvec{\tx{$\vec{c}$}}
604: \de\cx{\tx{$c^*$}}
605: \de\da{\downarrow}
606: \de\dash{\item{---}}
607: \de\dashh{\itemm{---}}
608: \de\dashhh{\itemmm{---}}
609: \de\datas{{\tx{\sf data}}}
610: \de\datass{{\tx{\ssf data}}}
611: \de\dcs{\tx{\sf dc}}
612: \de\ddis{\lor\!\!\!\!\!\lor}
613: \de\defaults{\tx{\sf default}}
614: \de\degg#1{\tx{\bi deg$(#1)$}}
615: \de\del{{\tx{$\delta$}}}
616: \de\delb{\tx{$\bs\delta$}}
617: \de\delhat{\hat{\delta}}
618: \de\depth#1{\tx{\bi depth$(#1)$}}
619: \de\dis{\lor}
620: \de\disdis{{\bigdis\nss\nss\nss\bigdis}}
621: \de\disdislim#1{\underset#1\to\disdis}
622: \de\disdislims#1#2{\overset{#2}\to{\disdislim{#1}}}
623: \de\displayquote{\narrower\narrower\smallrm\nin}
624: \de\displaytext{\narrower\narrower\sl\nin}
625: \de\diss{\tx{\sf dis}}
626: \de\divN{\tx{$\divs_{\natss}$}}
627: \de\divNR{\tx{$\divs_\natss^\RRR$}}
628: \de\divs{\tx{\sf div}}
629: \de\dos{\tx{\sf do}}
630: \de\dom#1{\tx{\bi dom$(#1)$}}
631: \de\down{\tx{$^\vee$}}
632: \de\ds{{\tx{\sf d}}}
633: \de\dt{\tx{\bi dt}}
634: \de\dtt{{\tx{\tt d}}}
635: \de\dz{\dsize}
636: \de\ebar{{\tx{$\bar e$}}}
637: \de\eg{{\it e.g.}}
638: \de\ehat{tx{$\hat e$}}
639: \de\el{\tx{$\ell$}}
640: \de\elses{\tx{\sf else}}
641: \de\endpf{\qed\smskip}
642: \de\endpr{\rm\smskip}
643: \de\ends{\tx{\sf end}}
644: \de\enum{\tx{\bi enum}}
645: \de\eps{{\tx{$\epsilon$}}}
646: \de\epsb{{\tx{$\bs\epsilon$}}}
647: \de\eqbool{\tx{$\eqs_{\boolss}$}}
648: \de\eqdata{\tx{$\eqs_\datass$}}
649: \de\eqdf{=_{df}}
650: \de\eqint{\tx{$\eqs_{\intss}$}}
651: \de\eqintvl{\tx{$\eqs_{\intvlss}$}}
652: \de\eqnat{\tx{$\eqs_{\natss}$}}
653: \de\eqnatN{\tx{$\eqs_{\natss}^\NNN$}}
654: \de\eqreal{\tx{$\eqs_{\realss}$}}
655: \de\eqrealR{\tx{$\eqs_{\realss}^\RRR$}}
656: \de\eqs{\tx{\sf eq}}
657: \de\eqss{\tx{$\eqs_s$}}
658: \de\equal{\ &= \ }
659: \de\es{\tx{\sf e}}
660: \de\etal{{\it et al.}}
661: \de\ett{{\tx{\tt e}}}
662: \de\eval{\tx{\bi eval}}
663: \de\evals{\tx{\sf eval}}
664: \de\evec{\tx{$\vec{e}$}}
665: \de\ex{\exists}
666: \de\expands{\tx{\sf expand}}
667: \de\fA{\tx{$f^A$}}
668: \de\falses{\tx{\sf false}}
669: \de\fbi{\tx{\bi f}}
670: \de\fff{\tx{{\sf f}\!{\sf f}}}
671: \de\ffrom{\tx{$\Leftarrow$}}
672: \de\fcheck{\tx{$\check f$}}
673: \de\fhat{\tx{$\hat f$}}
674: \de\first{\tx{\bi first}}
675: \de\fis{\tx{\sf fi}}
676: \de\floor#1{\tx{$\llc #1 \lrc$}}
677: \de\fn{\footnote}
678: \de\fors{\tx{\sf for}}
679: \de\free{\tx{\bi free}}
680: \de\from{\leftarrow}
681: \de\fs{{\tx{\sf f}}}
682: \de\fss{{\tx{\ssf f}}}
683: \de\ftil{\tx{$\til f$}}
684: \de\funcs{\tx{\sf func}}
685: \de\functionss{\tx{\sf functions}}
686: \de\fuu{\tx{$f^\uu$}}
687: \de\fvec{\tx{$\vec{f}$}}
688: \de\gam{{\tx{$\gamma$}}}
689: \de\gamA{\tx{$\gam^A$}}
690: \de\gamb{\tx{$\bs\gamma$}}
691: \de\gamx{\tx{$\gam^*$}}
692: \de\ghat{\tx{$\hat g$}}
693: \de\gtil{\tx{$\til g$}}
694: \de\gn{\tx{\bi gn}}
695: \de\gotos{\tx{\sf goto}}
696: \de\graph{\tx{\bi graph}}
697: \de\gs{{\tx{\sf g}}}
698: \de\gtt{{\tx{\tt g}}}
699: \de\gvec{\tx{$\vec{g}$}}
700: \de\halt{\tx{\bi halt}}
701: \de\hs{{\tx{\sf h}}}
702: \de\htil{\tx{$\til h$}}
703: \de\htt{{\tx{\tt h}}}
704: \de\ibar{{\tx{$\bar{\imath}$}}}
705: \de\id{\tx{\bi id}}
706: \de\ident{\equiv}
707: \de\idi{\tx{$\id_i$}}
708: \de\ie{{\it i.e.}}
709: \de\ifbool{\tx{$\ifs_{\boolss}$}}
710: \de\ifdata{\tx{$\ifs_{\datass}$}}
711: \de\ifff{\ \,\llongtofrom\ }
712: \de\ifffdf{\ \ \tx{$\llongtofrom_{df}$}\ }
713: \de\ifint{\tx{$\ifs_{\intss}$}}
714: \de\ifintvl{\tx{$\ifs_{\intvlss}$}}
715: \de\ifnat{\tx{$\ifs_{\natss}$}}
716: \de\ifnatN{\tx{$\ifs_{\natss}^\NNN$}}
717: \de\ifreal{\tx{$\ifs_{\realss}$}}
718: \de\ifrealR{\tx{$\ifs_\realss^\RRR$}}
719: \de\ifs{\tx{\sf if}}
720: \de\ifss{\tx{$\ifs_s$}}
721: \de\ifstk{\tx{$\ifs_{\stkss}$}}
722: \de\ift#1{&\tx{if \ {#1}}}
723: \de\ii{{\tx{\bi i}}}
724: \de\iii{{\tx{\sf i}}}
725: \de\iinI{{\tx{$i \in I$}}}
726: \de\ims{\tx{\sf im}}
727: \de\imp{\to}
728: \de\impp{\ \,\llongto\ }
729: \de\imps{\tx{\sf imp}}
730: \de\imports{\tx{\sf import}}
731: \de\inbull{\itemitem{\bu}}
732: \de\indash{\itemitem{---}}
733: \de\indentt{\indent\quad}
734: \de\ins{\tx{\sf in}}
735: \de\ints{{\tx{\sf int}}}
736: \de\intss{{\tx{\ssf int}}}
737: \de\intvls{{\tx{\sf intvl}}}
738: \de\intvlss{{\tx{\ssf intvl}}}
739: \de\io{{\tx{$\iota$}}}
740: \de\is{\tx{\sf i}}
741: \de\isom{\cong}
742: \de\itt{{\tx{\tt i}}}
743: %\de\itemm{\itemitem}
744: \de\ivec{\tx{$\vec{\imath}$}}
745: \de\ivecstrut{\vec{\mathstrut i}}
746: \de\jbar{{\tx{$\bar{\jmath}$}}}
747: \de\js{\tx{\sf j}}
748: \de\jvec{\tx{$\vec{\jmath}$}}
749: \de\jvecstrut{\vec{\mathstrut j}}
750: \de\kap{{\tx{$\kappa$}}}
751: \de\kapb{\tx{$\bs\kappa$}}
752: \de\kbar{\tx{$\bar k$}}
753: \de\kinNN{\tx{$k\in\NN$}}
754: \de\ktt{{\tx{\tt k}}}
755: \de\kvec{\tx{$\vec{k}$}}
756: \de\kvecstrut{\vec{\mathstrut k}}
757: \de\kxvec{\tx{$\kvec^*$}}
758: \de\labs{\lamb\tx{\bi abs}}
759: \de\lam{{\tx{$\lambda$}}}
760: \de\lamPR{\lam\PR}
761: \de\lamPRmin{\lam\PRmin}
762: \de\lamPRx{\lam\PRx}
763: \de\lamb{\tx{$\bs\lambda$}}
764: \de\lammuPR{\lam\muu\PR}
765: \de\lammuPRmin{\lam\muu\PRmin}
766: \de\lammuPRx{\lam\muu\PRx}
767: \de\langg{\langle\!|}
768: \de\lb{\linebreak}
769: \de\lbar{\tx{$\ol l$}}
770: \de\lbb{[\![}
771: \de\leasts{\tx{\sf least}}
772: \de\lele#1#2#3{{\tx{$#1 \le #2 \le #3$}}}
773: \de\lel#1#2#3{{\tx{$#1 \le #2 < #3$}}}
774: \de\lgth#1{\tx{\bi lgth$(#1)$}}
775: \de\llc{\llcorner}
776: \de\lle#1#2#3{{\tx{$#1 < #2 \le #3$}}}
777: \de\llongfrom{\tx{$\Longleftarrow$}}
778: \de\llongto{\tx{$\Longrightarrow$}}
779: \de\llongtofrom{\tx{$\Longleftrightarrow$}}
780: \de\loccit{{\it loc\. cit.}}
781: \de\locs{\tx{\sf loc}}
782: \de\longfrom{\longleftarrow}
783: \de\longimp{\longrightarrow}
784: \de\longto{\longrightarrow}
785: \de\longtofrom{\longleftrightarrow}
786: \de\loops{\tx{\sf loop}}
787: \de\lowerbox#1#2{{\lower#1pt\hbox{$#2$}}}
788: \de\lrc{\lrcorner}
789: \de\lss{\tx{\sf less}}
790: \de\lsint{\tx{$\lss_\intss$}}
791: \de\lsintvl{\tx{$\lss_\intvlss$}}
792: \de\lsnat{\tx{$\lss_\natss$}}
793: \de\lsnatN{\tx{$\lss_\natss^\NNN$}}
794: \de\lsreal{\tx{$\lss_\realss$}}
795: \de\lsrealR{\tx{$\lss_\realss^\RRR$}}
796: \de\lvec{\tx{$\vec{l}$}}
797: \de\lxvec{\tx{$\vec{l}^*$}}
798: \de\lxx{\lower.2ex}
799: \de\lxxx{\lower.3ex}
800: \de\lxxxx{\lower.4ex}
801: \de\macros{\tx{\sf macro}}
802: \de\macross{{\tx{\ssf macro}}}
803: \de\magn#1{\magnification=\magstep#1}
804: \de\mapdownl#1{\mapdown\lft{\dz{#1}}}
805: \de\mapdownlr#1#2{\mapdown\lft{\dz{#1}}\rt{\dz{#2}}}
806: \de\mapdownr#1{\mapdown\rt{\dz{#1}}}
807: \de\maprightd#1{\mapright_{\dz{#1}}}
808: \de\maprightdlower#1#2{\mapright_{\lower#1pt\hbox{$\dz{#2}$}}}
809: \de\maprightu#1{\mapright^{\dz{#1}}}
810: \de\maprightud#1#2{\mapright^{\dz{#1}}_{\dz{#2}}}
811: \de\maprighturaise#1#2{\mapright^{\raise#1pt\hbox{$\dz{#2}$}}}
812: \de\maprighturaised#1#2#3{\mapright^{\raise#1pt\hbox{$\dz{#2}$}}_{\dz{#3}}}
813: \de\maprightudlower#1#2#3{\mapright^{\dz{#1}}_{\lower#2pt\hbox{$\dz{#3}$}}}
814: \de\mapupl#1{\mapup\lft{\dz{#1}}}
815: \de\mapuplr#1#2{\mapup\lft{\dz{#1}}\rt{\dz{#2}}}
816: \de\mapupr#1{\mapup\rt{\dz{#1}}}
817: %\de\mapupud#1#2{\mapup^{\dz{#1}}_{\dz{#2}}}
818: \de\mbar{\tx{$\bar m$}}
819: \de\medskipn{\medskip\nin}
820: \de\mg#1{\tx{\bi mg$(#1)$}}
821: \de\mi{\tx{$^-$}}
822: \de\mins{\tx{\sf min}}
823: \de\mn{\medskip\nin}
824: \de\mtt{{\tx{\tt m}}}
825: \de\muCR{\mub\CR}
826: \de\muCRA{\tx{$\muCR(A)$}}
827: \de\muCRSig{\tx{$\muCR(\Sig)$}}
828: \de\muPR{\muu\PR}
829: \de\muPRA{\tx{$\muPR(A)$}}
830: \de\muPRSig{\tx{$\muPR(\Sig)$}}
831: \de\muPRSigb{\tx{$\muPRb(\Sigb)$}}
832: \de\muPRb{\mub\PRb}
833: \de\muPRmin{\muu\PRmin}
834: \de\muPRo{\muu\PRo}
835: \de\muPRolam{\muu\PRolam}
836: \de\muPRx{\muPR\str}
837: \de\muPRxb{\mub\PRxb}
838: \de\muPRxA{\tx{$\muPRx(A)$}}
839: \de\muPRxSig{\tx{$\muPRx(\Sig)$}}
840: \de\muPRxSigutos{\tx{$\muPRxSig_\utos$}}
841: \de\muPRxSigb{\tx{$\muPRxb(\Sigb)$}}
842: \de\muPRxutos{\tx{$\muPRx_\utos$}}
843: \de\mub{\tx{$\bs\mu$}}
844: \de\muu{{\tx{$\mu$}}}
845: \de\mvec{\tx{$\vec{m}$}}
846: \de\mxvec{\tx{$\mvec^*$}}
847: \de\n{\noindent}
848: \de\names{\tx{\sf name}}
849: \de\namess{{\tx{\ssf name}}}
850: \de\nats{\tx{\sf nat}}
851: \de\natss{{\tx{\ssf nat}}}
852: \de\nbar{\tx{$\bar n$}}
853: \de\negs{\tx{\sf neg}}
854: \de\news{\tx{\sf new}}
855: \de\newss{{\tx{\ssf new}}}
856: \de\nil{\tx{$\emptyset$}}
857: \de\nin{\noindent}
858: \de\ninNN{\tx{$n\in\NN$}}
859: \de\nl{\newline}
860: \de\nneg{\neg\!\!\!\!\!\neg}
861: \de\notover{\tx{\bi notover}}
862: \de\notimplies{\tx{$\ \not\nsss\llongto$}}
863: \de\notimplied{\tx{$\ \not\nsss\llongfrom$}}
864: \de\nots{\tx{\sf not}}
865: \de\npn{\NoPageNumbers}
866: \de\ns{\negthinspace}
867: \de\nss{\negthickspace}
868: \de\nsss{\nss\nss}
869: \de\nssss{\nsss\nsss}
870: \de\ntt{{\tx{\tt n}}}
871: \de\nub{\tx{$\bs\nu$}}
872: \de\nx{\tx{$n^*$}}
873: \de\ol{\overline}
874: \de\opcit{{\it op\. cit\.}}
875: \de\ods{\tx{\sf od}}
876: \de\om{{\tx{$\omega$}}}
877: \de\omb{{\tx{$\bs\omega$}}}
878: \de\onto{\twoheadrightarrow}
879: \de\ors{\tx{\sf or}}
880: \de\outs{\tx{\sf out}}
881: \de\ow{&\tx{otherwise}}
882: \de\pa{{\it p.a.}}
883: \de\pairs{\tx{\sf pair}}
884: \de\pe{\tx{\bi pe}}
885: \de\ph{{\tx{$\varphi$}}}
886: \de\pie{\tx{$\pi$}}
887: \de\pmapsto{{\,\overset\ {\cdot} \to\mapsto\,}}
888: \de\pr#1{\mn{\bf #1}. \,}
889: \de\prb#1{\bn{\bbf #1}.\sn}
890: \de\prc#1{\sn{\sc #1}.\ \ }
891: \de\prn#1{\mn{\bf #1}.\,}
892: \de\prims{\tx{\sf prim}}
893: \de\procs{\tx{\sf proc}}
894: \de\procss{{\tx{\ssf proc}}}
895: \de\proj{\tx{\bi proj}}
896: \de\projs{\tx{\sf proj}}
897: \de\ps{{\tx{$\psi$}}}
898: \de\pte{\tx{\bi pte}}
899: \de\pto{{\,\overset\ {\cdot} \to\longto\,}}
900: \de\ptt{{\tx{\tt p}}}
901: \de\pttx{\ptt\str}
902: \de\px{\tx{$p^*$}}
903: \de\qqquad{\qquad \qquad}
904: \de\qqqquad{\qqquad \qqquad}
905: \de\qfors{`\,\fors'}
906: \de\qforxs{`$\,\fors^*$'}
907: \de\qtt{{\tx{\tt q}}}
908: \de\qwhiles{`\,\whiles'}
909: \de\qwhilex{`$\,\whiles^*$'}
910: \de\rR{\tx{$\bk R$}}
911: \de\raisebox#1#2{{\raise#1pt\hbox{$#2$}}}
912: \de\ran#1{\tx{\bi ran$(#1)$}}
913: \de\rand{\ \tx{\rm and}\ }
914: \de\rangg{|\!\rangle}
915: \de\rats{\tx{\sf rat}}
916: \de\ratss{{\tx{\ssf rat}}}
917: \de\rbb{]\!]}
918: \de\reals{\tx{\sf real}}
919: \de\realss{{\tx{\ssf real}}}
920: \de\rec{\tx{\bi rec}}
921: \de\redSig{\,|\,_{\Sig}}
922: \de\reffs{\tx{\sf ref}}
923: \de\refss{{\tx{\ssf ref}}}
924: \de\rel#1{\tx{\rm (rel $#1$)}}
925: \de\rem{\tx{\bi rem}}
926: \de\res{\tx{\sf re}}
927: \de\rest{\restriction}
928: \de\restt{\tx{\bi rest}}
929: \de\rh{\tx{$\rho$}}
930: \de\rtt{{\tx{\tt r}}}
931: \de\rvec{\tx{$\vec{r}$}}
932: \de\rxx{\raise.2ex}
933: \de\rxxx{\raise.3ex}
934: \de\rxxxx{\raise.4ex}
935: \de\sbar{{\tx{$\bar s$}}}
936: \de\scr{\Cal}
937: %\de\scr{\fam\eusbfam}
938: \de\se{\tx{\bi se}}
939: \de\seq{\tx{\bi seq}}
940: \de\seqt{\longmapsto}
941: \de\setss{{\tx{\ssf set}}}
942: \de\shead#1#2{\mn{\bf {#1}\ \ \ {#2}}\sn}
943: \de\sheadb#1#2{\mn{\bf {#1}\ \ \ {#2}}\nl}
944: \de\sheadrun#1#2{\mn{\bf {#1}\ \ \ {#2}.\ \ }}
945: \de\sheads#1#2{\mn{\bf {#1}\ \ \ {#2}}}
946: \de\sig{{\tx{$\sigma$}}}
947: \de\signatures{\tx{\sf signature}}
948: \de\sigo{\tx{$\sig_0$}}
949: \de\sigp{\tx{$\sig'$}}
950: \de\sinSortSig{{\tx{$s \in \SortSig$}}}
951: \de\sinSortSigx{\tx{$s \in \SortSigx$}}
952: \de\skips{\tx{\sf skip}}
953: \de\smskip{\smallskip}
954: \de\smskipn{\smallskip\nin}
955: \de\sn{\smallskip\nin}
956: \de\snap{\tx{\bi snap}}
957: \de\sort#1{\tx{\bi sort\,{$(#1)$}}}
958: \de\sortss{\tx{\sf sorts}}
959: \de\sq{\simeq}
960: \de\sqsseq{\sqsubseteq}
961: \de\srchs{\tx{\sf srch}}
962: \de\ssA{{\ssz A}}
963: \de\ssB{{\ssz B}}
964: \de\ssbe{{\ssz \beta}}
965: \de\sset{\subset}
966: \de\sseq{\subseteq}
967: \de\sshead#1#2{{\bf {#1}\ \ \ {#2}}\sn\!}
968: \de\ssheadrun#1#2{{\bf {#1}\ \ \ {#2}.\ \ }}
969: \de\ssheads#1#2{{\bf {#1}\ \ \ {#2}}}
970: \de\sss{\tx{\sf s}}
971: \de\sz{\ssize}
972: \de\ssz{\sssize}
973: \de\starb{{\tx{$\bk *$}}}
974: \de\state{\tx{\bi state}}
975: \de\stks{{\tx{\sf stk}}}
976: \de\stkss{{\tx{\ssf stk}}}
977: \de\str{\tx{$^*$}}
978: \de\stt{{\tx{\tt s}}}
979: \de\strb{\tx{$^{\bk*}$}}
980: \de\subex{\tx{\bi subex}}
981: \de\subst{\tx{\bi subst}}
982: \de\sucs{\tx{\sf suc}}
983: \de\suu{{\tx{$s^\uu$}}}
984: \de\sx{{\tx{$s^*$}}}
985: \de\tA{\tx{$\bb{t}^A$}}
986: \de\ta{\tx{$\tau$}}
987: \de\tagx{\tag{$*$}}
988: \de\tagxx{\tag{$**$}}
989: \de\tagxxx{\tag{${*}{*}{*}$}}
990: \de\tagxxxx{\tag{${*}{*}{*}{*}$}}
991: \de\tagxxxxx{\tag{${*}{*}{*}{*}{*}$}}
992: \de\tagxxxxxx{\tag{${*}{*}{*}{*}{*}{*}$}}
993: \de\tbar{\tx{$\bar t$}}
994: \de\te{\tx{\bi te}}
995: \de\term{\tx{\bi term}}
996: \de\that{\tx{$\hat t$}}
997: \de\thens{\tx{\sf then}}
998: \de\tif#1{&\tx{if \ {#1}}}
999: \de\til{\tilde}
1000: \de\tiltil#1{\tilde{\tilde#1}}
1001: \de\tinT{\tx{$t\in\TT$}}
1002: \de\th{\tx{$\theta$}}
1003: \de\tofrom{\leftrightarrow}
1004: \de\tos{\tx{\sf to}}
1005: \de\toto{\rightrightarrows}
1006: \de\trues{\tx{\sf true}}
1007: \de\tstile{\vdash}
1008: \de\tto{\tx{$\Rightarrow$}}
1009: \de\ttofrom{\tx{$\Leftrightarrow$}}
1010: \de\ttstile{\models}
1011: \de\ttt{\tx{{\sf t}\!{\sf t}}}
1012: \de\tup#1#2#3{\tx{$#1_{#2},\dots,#1_{#3}$}}
1013: \de\tuptimes#1#2#3{\tx{$#1_{#2} \times \dots \times #1_{#3}$}}
1014: \de\tvec{\tx{$\vec{t}$}}
1015: \de\tvecstrut{\vec{\mathstrut t}}
1016: \de\twiddle{{\tx{$\sim$}}}
1017: \de\twiddlek{\tx{$\sim_k$}}
1018: \de\tx{\text}
1019: \de\txvec{\tx{$\vec{t^*}$}}
1020: \de\type#1{\tx{\bi type$(#1)$}}
1021: \de\ua{{\tx{$\uparrow$}}}
1022: \de\ub#1{\tx{\underbar{#1}}}
1023: \de\ubi{{\tx{\bi u}}}
1024: \de\ubrivec{\tx{$u | \ivec$}}
1025: \de\uinProdTypeSig{\tx{$u \in \ProdTypeSig$}}
1026: \de\ul{\underline}
1027: \de\ulc{\ulcorner}
1028: \de\up{\tx{$^\wedge$}}
1029: \de\urc{\urcorner}
1030: \de\unspecs{\tx{\sf unspec}}
1031: \de\unspecN{\tx{$\unspecs_\natss$}}
1032: \de\unspecB{\tx{$\unspecs_\boolss$}}
1033: \de\ups{{\tx{$\upsilon$}}}
1034: \de\utos{{\tx{$u \to s$}}}
1035: \de\utov{{\tx{$u \to v$}}}
1036: \de\uu{{\tx{\ssf u}}}
1037: \de\uuu{\tx{{\sf u}\!\i}}
1038: \de\uuus{\tx{$\uuu_s$}}
1039: \de\uvec{\tx{$\vec{u}$}}
1040: \de\ux{{\tx{$u^*$}}}
1041: \de\val{\tx{\bi val}}
1042: \de\vals{\tx{\sf val}}
1043: \de\valss{{\tx{\ssf val}}}
1044: \de\var#1{\tx{\bi var$(#1)$}}
1045: \de\vars{\tx{\sf var}}
1046: \de\vects{\tx{\sf vect}}
1047: \de\vinProdTypeSig{\tx{$v \in \ProdTypeSig$}}
1048: \de\vvec{\tx{$\vec{v}$}}
1049: \de\vvecstrut{\vec{\mathstrut v}}
1050: \de\vx{{\tx{$v^*$}}}
1051: \de\vxvec{\tx{$\vec{v}\,^*$}}
1052: \de\whiles{\tx{\sf while}}
1053: \de\wrt{w.r.t\.}
1054: \de\wvec{\tx{$\vec{w}$}}
1055: \de\wx{{\tx{$w^*$}}}
1056: \de\x{\tx{\bi x}}
1057: \de\xbar{\tx{$\bar x$}}
1058: \de\xib{\tx{$\bs\xi$}}
1059: \de\xii{\tx{$\xi$}}
1060: \de\xinAbaru{\tx{$x \in \Abaru$}}
1061: \de\xinAu{\tx{$x \in \Au$}}
1062: \de\xinAw{\tx{$x \in \Aw$}}
1063: \de\xtt{{\tx{\tt x}}}
1064: \de\xttx{\tx{$\xtt^*$}}
1065: \de\xtts{{\tx{\smalltt x}}}
1066: \de\xttvec{\tx{$\vec{\xtt}$}}
1067: \de\xvec{\tx{$\vec{x}$}}
1068: \de\xx{\tx{$x^*$}}
1069: \de\xxvec{\tx{$\xvec^*$}}
1070: \de\xxx{\tx{${*}{*}{*}$}}
1071: \de\xxxx{\tx{${*}{*}{*}{*}$}}
1072: \de\xxxxx{\tx{${*}{*}{*}{*}{*}$}}
1073: \de\xxxxxx{\tx{${*}{*}{*}{*}{*}{*}$}}
1074: \de\yinAs{\tx{$y \in \As$}}
1075: \de\yinAv{\tx{$y \in \Av$}}
1076: \de\yvec{\tx{$\vec{y}$}}
1077: \de\yx{\tx{$y^*$}}
1078: \de\yxvec{\tx{$\yvec\,^*$}}
1079: \de\ytt{{\tx{\tt y}}}
1080: \de\yttx{\ytt\str}
1081: \de\ztt{{\tx{\tt z}}}
1082: \de\zttx{\ztt\str}
1083: \de\zvec{\tx{$\vec{z}$}}
1084: \de\zx{\tx{$z^*$}}
1085: \de\zxvec{\tx{$\zvec\,^*$}}
1086: 
1087: 
1088: % *** MACROS ***
1089: 
1090: \newcount\mmm
1091: \de\itemn#1{\mmm=#1\par\indentn\mmm \advance\mmm by 1
1092:       \hangindent\mmm \parindent \textindent
1093:  }
1094: 
1095: \newcount\nnn
1096: 
1097: \global\de\indentn#1{
1098: \nnn=#1
1099: \loop \ifnum\nnn>0 
1100:       \indent
1101:       \advance\nnn by -1
1102: \repeat
1103: }
1104: 
1105: \de\itemm{\itemn1}
1106: \de\itemmm{\itemn2}
1107: 
1108: \newcount\ppp
1109: 
1110: \global\de\quadn#1{
1111: \n=#1
1112: \loop \ifnum\ppp>0
1113:         \quad
1114:         \advance\ppp by -1
1115: \repeat
1116: }
1117: 
1118: 
1119: \firstfoot{{\ssmallrm ACM Transactions on Computational Logic,
1120:            Vol.\ TBD, No.\ TBD, TBD TBD, Pages TBD.}}
1121: \runningfoot{{\ssmallrm ACM Transactions on Computational Logic,
1122:            Vol.\ TBD, No.\ TBD, TBD TBD.}}
1123: 
1124: \de\AExA{\tx{$\AEE\,_\xtt^A$}}
1125: \de\APhi{\tx{$A^\Phi$}}
1126: \de\APsi{\tx{$A^\Psi$}}
1127: \de\ATTT{\tx{$(A,\TTT)$}}
1128: \de\AbarS{\tx{$\Abar^{\Sbi}$}}
1129: \de\AbsComp{\tx{\bi AbsComp}}
1130: \de\AbsCompA{\tx{$\AbsComp(A)$}}
1131: \de\Ad{\tx{$(A,d)$}}
1132: \de\Af{\tx{$(A,f)$}}
1133: \de\AfalA{\tx{$(A,\,\falA)$}}
1134: \de\AgalAfalA{\tx{$(A,\,\galA,\,\falA)$}}
1135: \de\AinMinNStdAlgSigE{\tx{$A\in\MinNStdAlgSigE$}}
1136: \de\AinMinNStdAlgSigT{\tx{$A\in\MinNStdAlgSigT$}}
1137: \de\AinNStdAlgSigE{\tx{$A\in\NStdAlgSigE$}}
1138: \de\AinNStdAlgSigT{\tx{$A\in\NStdAlgSigT$}}
1139: \de\AlgSigE{\Alg\SigE}
1140: \de\AlgSigF{\Alg\SigF}
1141: \de\AlgSigT{\Alg\SigT}
1142: \de\Approx{\tx{\bi Approx}}
1143: \de\ArrAx{\tx{\sf ArrAx}}
1144: \de\ArrAxSig{\tx{$\ArrAx(\Sig)$}}
1145: \de\Asprod{\tx{$A_{s_1}\times\dots\times A_{s_n}$}}
1146: \de\Aspx{\tx{$A_{s'}^*$}}
1147: \de\Ass{\tx{$A_{s_1},\dots,, A_{s_n}$}}
1148: \de\AtStx{\tx{$\AtSt\,_\xtt$}}
1149: \de\Axbar{\tx{$\ol{\Ax}$}}
1150: \de\AxfalA{\tx{$(\Ax,\,\falA)$}}
1151: \de\AxgalAfalA{\tx{$(\Ax,\,\galA,\,\falA)$}}
1152: \de\Axp{\tx{$\Ax'$}}
1153: \de\angte{\ang{\teasA \mid \sinSortSig}}
1154: \de\BBBbar{\tx{$\ol \BBB$}}
1155: \de\BUEq{\tx{\bi BUEq}}
1156: \de\BUEqSig{\BUEq(\Sig)}
1157: \de\BddAx{\tx{\sf BddAx}}
1158: \de\BddAxSig{\tx{$\BddAx(\Sig)$}}
1159: \de\BddAxo{\tx{$\BddAx^0$}}
1160: \de\BddAxoSig{\tx{$\BddAxo(\Sig)$}}
1161: \de\CA{\tx{$C(A)$}}
1162: \de\CCCInd{\tx{\CCC-\Ind}}
1163: \de\CCCIndSig{\tx{\CCC-\IndSig}}
1164: \de\CCCIndi{\tx{\CCC-\Indi}}
1165: \de\CCCIndiSig{\tx{\CCC-\IndiSig}}
1166: \de\CCCN{\tx{$\CCC^N$}}
1167: \de\CCCNL{\tx{$\CCC^{N,<}$}}
1168: \de\CCCo{\tx{$\CCC_0$}}
1169: \de\CompI{\tx{$\Comp_1$}}
1170: \de\CompIA{\tx{$\Comp_1^A$}}
1171: \de\CompN{\tx{$\Comp(\NN)$}}
1172: \de\CompR{\tx{$\Comp(\RR)$}}
1173: \de\CompalA{\tx{$\Comp_\al(A)$}}
1174: \de\CompxA{\tx{$\Comp\,_\xtt^A$}}
1175: \de\ConcRep{\tx{\bi ConcRep}}
1176: \de\ConcRepA{\tx{$\ConcRep(A)$}}
1177: \de\CondBUEq{\tx{\sf CondBUEq}}
1178: \de\CondBUEqSig{\tx{$\CondBUEq(\Sig)$}}
1179: \de\CondEq{\tx{\sf CondEq}}
1180: \de\CondEqSig{\tx{$\CondEq(\Sig)$}}
1181: \de\CondEqom{\tx{$\CondEq_\omb$}}
1182: \de\CondEqomSig{\tx{$\CondEqom(\Sig)$}}
1183: \de\CondSUEq{\tx{\sf CondSUEq}}
1184: \de\CondSUEqom{\tx{$\CondSUEq_\om$}}
1185: \de\CondSUEqomSig{\tx{$\CondSUEqom(\Sig)$}}
1186: \de\EU{\tx{$E^U$}}
1187: \de\EUus{\tx{$E^U_{u,s}$}}
1188: \de\EVm{\tx{$E^V_m$}}
1189: \de\EVus{\tx{$E^V_{u,s}$}}
1190: \de\EWm{\tx{$E^W_m$}}
1191: \de\EWn{\tx{$E^W_n$}}
1192: \de\Emz{\tx{$E_m(\ztt)$}}
1193: \de\Eal{\tx{$E_\al$}}
1194: \de\Ealx{\tx{$E_\al^*$}}
1195: \de\Ee{\tx{\sf E}}
1196: \de\Ef{\tx{$E^f$}}
1197: \de\Egame{\tx{$E_{\game}$}}
1198: \de\Ekbar{\tx{$E(\kbar)$}}
1199: \de\Enbar{\tx{$E(\nbar)$}}
1200: \de\EqSig{\Eqb(\Sig)}
1201: \de\Eqn{\tx{\bi Eqn}}
1202: \de\EqnA{\tx{$\Eqn(A)$}}
1203: \de\Eqom{\tx{$\Eqb_\omb$}}
1204: \de\EqomSig{\Eqom(\Sig)}
1205: \de\EtilWn{\tx{$\til{E}^W_n$}}
1206: \de\Eval{\tx{\bi Eval}}
1207: \de\EvalAx{\tx{\sf EvalAx}}
1208: \de\EvalAxSig{\tx{$\EvalAx(\Sig)$}}
1209: \de\Ez{\tx{$E(\ztt)$}}
1210: \de\FAP{\tx{\bi FAP}}
1211: \de\FAPA{\tx{$\FAP(A)$}}
1212: \de\FAPC{\tx{\bi FAPC}}
1213: \de\FAPCA{\tx{$\FAPC(A)$}}
1214: \de\FAPCS{\tx{\bi FAPCS}}
1215: \de\FAPCSA{\tx{$\FAPCS(A)$}}
1216: \de\FAPS{\tx{\bi FAPS}}
1217: \de\FAPSA{\tx{$\FAPS(A)$}}
1218: \de\FOL{\tx{\sf FOL}}
1219: \de\FOLSig{\tx{$\FOL(\Sig)$}}
1220: \de\FOLom{\tx{$\FOL_\omb$}}
1221: \de\FOLomSig{\tx{$\FOLom(\Sig)$}}
1222: \de\FOLomo{\tx{$\FOL^{\bk 0}_\omb$}}
1223: \de\FOLomoSig{\tx{$\FOLomo(\Sig)$}}
1224: \de\FPD{\tx{\bi FPD}}
1225: \de\FPDA{\tx{$\FPD(A)$}}
1226: \de\FU{\tx{$F^U$}}
1227: \de\FUus{\tx{$F^U_{u,s}$}}
1228: \de\FVus{\tx{$F^V_{u,s}$}}
1229: \de\Fal{\tx{$F_\al$}}
1230: \de\Falhat{\tx{$F_\alhat$}}
1231: \de\Falx{\tx{$F_\al^*$}}
1232: \de\Falminx{\tx{$F_\almin^*$}}
1233: \de\Ff{\tx{$F^f$}}
1234: \de\Fgame{\tx{$F_{\gamma,e}$}}
1235: \de\Fgamex{\tx{$F_{\gamma,e}^*$}}
1236: \de\Firstx{\tx{$\First\,_\xtt$}}
1237: \de\Fo{{\tx{$F^\circ$}}}
1238: \de\Fotil{\tx{$\til Fo$}}
1239: \de\ForProcSig{\tx{\For\Proc(\Sig)}}
1240: \de\Fmu{\tx{$F_\mu$}}
1241: \de\ForSigbar{\tx{$\For\,(\Sigbar)$}}
1242: \de\ForoAbar{\tx{$\Foro(\Abar)$}}
1243: \de\ForoSigbar{\tx{$\Foro(\Sigbar)$}}
1244: \de\ForolamSigbar{\tx{$\Forolam(\Sigbar)$}}
1245: \de\ForolamAbar{\tx{$\Forolam(\Abar)$}}
1246: \de\Forxp{\tx{$\Forx'$}}
1247: \de\GGGN{\tx{$\GGG^N$}}
1248: \de\GGGo{\tx{$\GGG_0$}}
1249: \de\GamDel{\tx{$\Gam \seqt \Del$}}
1250: \de\GamP{\tx{$\Gam \seqt P$}}
1251: \de\GamQ{\tx{$\Gam \seqt Q$}}
1252: \de\GamR{\tx{$\Gam \seqt R$}}
1253: \de\GL{\tx{\rm GL}}
1254: \de\GLmI{\tx{$\GL_m(I)$}}
1255: \de\GLtmI{\tx{$\GL^{\ssz\tx{\rm T}}_m(I)$}}
1256: \de\HF{\tx{\bi HF}}
1257: \de\HFA{\tx{$\HF(A)$}}
1258: \de\HaltAP{\HaltA{P}}
1259: \de\HaltTestu{\tx{$\HaltTests_u$}}
1260: \de\HaltTestuA{\tx{$\HaltTests_u^A$}}
1261: \de\IIId{\tx{$\III^d$}}
1262: \de\IIIp{\tx{$\III_p$}}
1263: \de\IIItN{\tx{$\III_t^N$}}
1264: \de\INS{\Init\NStdAlg}
1265: \de\INSSigE{\tx{$\INS\SigE$}}
1266: \de\INSSigF{\tx{$\INS\SigF$}}
1267: \de\INSSigT{\tx{$\INS\SigT$}}
1268: \de\IOP{\tx{$\IO_P$}}
1269: \de\ISigE{\Init\SigE}
1270: \de\ISigKK{\Init\SigKK}
1271: \de\ISigT{\Init\SigT}
1272: \de\In{\tx{$I^n$}}
1273: \de\Iq{\tx{$I^q$}}
1274: \de\JSig{\tx{$J\redSig$}}
1275: \de\KKPhi{\tx{$\Bbb K ^{\Phi}$}}
1276: \de\KKbarS{\tx{$\KKbar^{\Sbi}$}}
1277: \de\KKp{\tx{$\Bbb K '$}}
1278: \de\LJ{\tx{\sf LJ}}
1279: \de\LJe{\tx{$\LJ_{\es}$}}
1280: \de\LJeSig{\LJe(\Sig)}
1281: \de\LK{\tx{\sf LK}}
1282: \de\LKe{\tx{$\LK_{\es}$}}
1283: \de\LKeSig{\LKe(\Sig)}
1284: \de\Lomiom{\tx{$L_{\om_1\om}$}}
1285: \de\MA{\tx{$\MMM_A$}}
1286: \de\MCA{\tx{$\MC(A)$}}
1287: \de\MCAbar{\tx{$\MC(\Abar)$}}
1288: \de\NNmin{\tx{$\NN^-$}}
1289: \de\NNp{\tx{$\NN'$}}
1290: \de\NNtoA{\tx{$[\NN\to \!A]$}}
1291: \de\NNtoAs{\tx{$[\NN\to \!A_s]$}}
1292: \de\NNtoBB{\tx{$[\NN\to \BB]$}}
1293: \de\NNtoRR{\tx{$[\NN\to \RR]$}}
1294: \de\NNNbar{\tx{$\ol \NNN$}}
1295: \de\NNNmin{\tx{$\NNN^-$}}
1296: \de\NNNmino{\tx{$\NNN_0^-$}}
1297: \de\NNbar{\tx{$\ol{\NN}$}}
1298: \de\NNtoNN{\tx{$[\NN\to\NN]$}}
1299: \de\MinNStdAlgSigE{\tx{$\MinNStdAlg\SigE$}}
1300: \de\MinNStdAlgSigT{\tx{$\MinNStdAlg\SigT$}}
1301: \de\NStdAlgSigE{\tx{$\NStdAlg\SigE$}}
1302: \de\NStdAlgSigF{\tx{$\NStdAlg\SigF$}}
1303: \de\NStdAlgSigG{\tx{$\NStdAlg\SigG$}}
1304: \de\NStdAlgSigT{\tx{$\NStdAlg\SigT$}}
1305: \de\NStdAlgSigp{\NStdAlg(\Sigp)}
1306: \de\NStdAlgSigx{\NStdAlg(\Sigx)}
1307: \de\NStdAx{\tx{\sf NStdAx}}
1308: \de\NStdAxo{\tx{$\NStdAx_0$}}
1309: \de\NStdAxSig{\tx{$\NStdAx(\Sig)$}}
1310: \de\NStdAxoSig{\tx{$\NStdAxo(\Sig)$}}
1311: \de\NtoN{\tx{$\Ns\to\Ns$}}
1312: \de\Omal{\tx{$\Om_\al$}}
1313: \de\PAN{\tx{$P^{A^N}$}}
1314: \de\PEabc{\tx{$\PE_\abct$}}
1315: \de\PEabcA{\tx{$\PE\,_\abct^A$}}
1316: \de\PRAuv{\tx{$\PRA_{\utov}$}}
1317: \de\PRAbar{\tx{$\PR(\Abar)$}}
1318: \de\PRN{\tx{$\PR(\NNN)$}}
1319: \de\PRNbar{\tx{$\PR(\NNNbar)$}}
1320: \de\PRSchemeSig{\PR\Scheme(\Sig)}
1321: \de\PRSigbar{\tx{$\PR(\Sigbar)$}}
1322: \de\PRSiguv{\tx{$\PRSig_\utov$}}
1323: \de\PRSigbaruv{\tx{$\PR(\Sigbar)_\utov$}}
1324: \de\PRetc{PR (etc.)}
1325: \de\PRminAbar{\tx{$\PRmin(\Abar)$}}
1326: \de\PRminSigbar{\tx{$\PRmin(\Sigbar)$}}
1327: \de\PRoAbar{\tx{$\PRo(\Abar)$}}
1328: \de\PRoSigbar{\tx{$\PRo(\Sigbar)$}}
1329: \de\PRolamAbar{\tx{$\PRolam(\Abar)$}}
1330: \de\PRolamSigbar{\tx{$\PRolam(\Sigbar)$}}
1331: \de\PRor{\PR\ (or \PRx, or \muPR, or \muPRx)}
1332: \de\PRxAbar{\tx{$\PRx(\Abar)$}}
1333: \de\PRxSigbar{\tx{$\PRx(\Sigbar)$}}
1334: \de\PRxSiguv{\tx{$\PRxSig_\utov$}}
1335: \de\Per#1{\tx{\bi Per\,$(#1)$}}
1336: \de\PinProcuv{\tx{$P\in\Procuv$}}
1337: \de\Procabc{\tx{$\Proc\,_\abct$}}
1338: \de\Psrch{\tx{$P_{srch}$}}
1339: \de\QF{\tx{\sf QF}}
1340: \de\RAB{\tx{$R_A(B)$}}
1341: \de\RABs{\tx{$\RAB_s$}}
1342: \de\REC{\tx{REC}}
1343: \de\RRBBfield{\tx{$\RR,\,\BB;\,0,\,1,\,x+y,\,-x,\,x\cdot y,\,x^{-1}$}}
1344: \de\RRRLE{\tx{$\RRR^{<,E}$}}
1345: \de\RRRLEN{\tx{$\RRR^{<,E,N}$}}
1346: \de\RRRLN{\tx{$\RRR^{<,N}$}}
1347: \de\RRRLp{\tx{$\RRR_p^<$}}
1348: \de\RRRNt{\tx{$\RRR^N_t$}}
1349: \de\RRRNIt{\tx{$\RRR^{N,I}_t$}}
1350: \de\RRRd{\tx{$\RRR^d$}}
1351: \de\RRRo{\tx{$\RRR_0$}}
1352: \de\RRRp{\tx{$\RRR_p$}}
1353: \de\RRRtN{\tx{$\RRR_t^N$}}
1354: \de\RRfield{\tx{$\RR;\,0,\,1,\,x+y,\,-x,\,x\cdot y,\,x^{-1}$}}
1355: \de\RRtwon{\tx{$\RR^{2n}$}}
1356: \de\Rc{\tx{$R^\css$}}
1357: \de\Rec{\tx{\bi Rec}}
1358: \de\RemxA{\tx{$\Rem\,_\xtt^A$}}
1359: \de\RepxA{\tx{$\Rep\,_\xtt^A$}}
1360: \de\RepxxA{\tx{$\Rep\,_{\xtt \,*}^A$}}
1361: \de\RestA{\tx{$\Rest\,^A$}}
1362: \de\RestxA{\tx{$\Rest\,_\xtt^A$}}
1363: \de\SAsig{\tx{$\SA\sig$}}
1364: \de\SExA{\tx{$\SE\,_\xtt^A$}}
1365: \de\SR{\tx{\bi SR}}
1366: \de\SRA{\tx{$\SR(A)$}}
1367: \de\SUEq{\tx{\bi SUEq}}
1368: \de\SUEqSig{\SUEq(\Sig)}
1369: \de\SaA#1{\tx{$\ang{#1}^A$}}
1370: \de\San{\cS,a,n}
1371: \de\Sadeln{\cS,\,\adel,\,n}
1372: \de\SasA#1{\tx{$\ang{#1}_s^A$}}
1373: \de\SasAx#1{\tx{$\ang{#1}_s^\Ax$}}
1374: \de\SasnA#1#2{\tx{$\ang{#1}_{s,#2}^A$}}
1375: \de\SauA#1{\tx{$\ang{#1}_u^A$}}
1376: \de\SavA#1{\tx{$\ang{#1}_v^A$}}
1377: \de\Se{\tx{$\Sbi_e$}}
1378: \de\SigE{\tx{$(\Sig,E)$}}
1379: \de\SigF{\tx{$(\Sig,F)$}}
1380: \de\SigG{\tx{$(\Sig,G)$}}
1381: \de\SigIIId{\tx{$\Sig(\IIId)$}}
1382: \de\SigKK{\tx{$(\Sig,\KK)$}}
1383: \de\SigTF{\tx{$(\Sig,T,\FFF)$}}
1384: \de\SigXTF{\tx{$(\Sig,X,T,\FFF)$}}
1385: \de\Sigal{\tx{$\Sig_\al$}}
1386: \de\SigalEal{\tx{$(\Sigal,\Eal)$}}
1387: \de\Sigalx{\tx{$\Sig_\al^*$}}
1388: \de\SigalxEal{\tx{$(\Sigalx,\Eal)$}}
1389: \de\SigalxFal{\tx{$(\Sigalx,\Fal)$}}
1390: \de\SigbarS{\tx{$\Sigbar^{\Sbi}$}}
1391: \de\SigIIIdx{\tx{$\SigIIId^*$}}
1392: \de\Sigf{\tx{$\Sig_\fss$}}
1393: \de\SigpSig{{\tx{$\Sigp/\Sig$}}}
1394: \de\Sigtilxn{\tx{$\til{\Sig}^*_n$}}
1395: \de\Sigxgame{\tx{$\Sig_{\gam,e}^*$}}
1396: \de\Sigxm{\tx{$\Sig_m^*$}}
1397: \de\Sigxn{\tx{$\Sig_n^*$}}
1398: \de\Sigxus{\tx{$\Sig_{u,s}^*$}}
1399: \de\Sigxusp{\tx{$\Sig_{u,s}^{*\prime}$}}
1400: \de\Sigxp{\tx{$\Sigx'$}}
1401: \de\Sigxpm{\tx{$\Sig^{*\prime}_m$}}
1402: \de\Sigxpn{\tx{$\Sig^{*\prime}_n$}}
1403: \de\Sinit{\tx{$S_{init}$}}
1404: \de\SinStmtx{\tx{$S\in\Stmtx$}}
1405: \de\SnapxA{\tx{$\Snap_\xtt^A$}}
1406: \de\Splus{\Stimes}
1407: \de\StateAcupx{\tx{$\StateA\cup\{*\}$}}
1408: \de\StatesA{\tx{$\State_s(A)$}}
1409: \de\StdAlgSigE{\tx{$\StdAlg\SigE$}}
1410: \de\StdAlgSigF{\tx{$\StdAlg\SigF$}}
1411: \de\StdAlgSigT{\tx{$\StdAlg\SigT$}}
1412: \de\StdAlgSigbar{\tx{$\StdAlg(\Sigbar)$}}
1413: \de\StdAlgSigbarS{\tx{$\StdAlg(\SigbarS)$}}
1414: \de\StdAlgSigp{\tx{$\StdAlg(\Sigp)$}}
1415: \de\Stmtx{\tx{$\Stmt_{\,\xtt}$}}
1416: \de\SubAlgStage{\tx{\bi SubAlgStage}}
1417: \de\SubAlgStagexus{\tx{$\SubAlgStage\,_{\xtt,u,s}$}}
1418: \de\Sx{\tx{$[S,\xtt]$}}
1419: \de\TExsA{\tx{$\TE\,_{\xtt,s}^A$}}
1420: \de\TP{\tx{$\TTT(P)$}}
1421: \de\TSigKK{\Tbi\SigKK}
1422: \de\TSigTF{\Tbi\SigTF}
1423: \de\TSigX{\tx{$\Tbi(\Sig,X)$}}
1424: \de\TSigXTF{\Tbi\SigXTF}
1425: \de\TSigx{\tx{$\Tbi(\Sig,\xtt)$}}
1426: \de\TSx{\TTT\Sx}
1427: \de\TermTupa{\tx{$\TermTup_\att$}}
1428: \de\TermTupu{\tx{$\TermTup_u$}}
1429: \de\TermTupx{\tx{$\TermTup_\xtt$}}
1430: \de\TermTupxu{\tx{$\TermTup_{\xtt,u}$}}
1431: \de\TermTupxv{\tx{$\TermTup_{\xtt,v}$}}
1432: \de\TermTupxw{\tx{$\TermTup_{\xtt,w}$}}
1433: \de\Terma{\tx{$\Term_{\,\att}$}}
1434: \de\TermaN{\tx{$\Term_{\,\att}^N$}}
1435: \de\Termabool{\tx{$\Term_{\,\att,\boolss}$}}
1436: \de\Termaboolx{\tx{$\Term_{\,\att,\boolss}^*$}}
1437: \de\Termanatx{\tx{$\Term_{\,\att,\natss}^*$}}
1438: \de\Termas{\tx{$\Term_{\,\att,s}$}}
1439: \de\TermasN{\tx{$\Term_{\,\att,s}^N$}}
1440: \de\TermasuuN{\tx{$\Term_{\,\att,s}^{\uu,N}$}}
1441: \de\Termasx{\tx{$\Term_{\,\att,s}^*$}}
1442: \de\TermauuN{\tx{$\Term_{\,\att}^{\uu,N}$}}
1443: \de\Termaw{\tx{$\Term_{\,\att,w}$}}
1444: \de\Termax{\tx{$\Term_{\,\att}^*$}}
1445: \de\Terms{\tx{$\Term_s$}}
1446: \de\Termx{\tx{$\Term_{\,\xtt}$}}
1447: \de\Termxs{\tx{$\Term_{\,\xtt,s}$}}
1448: \de\TTTp{\tx{$\TTT'$}}
1449: \de\TTTs{\tx{$\TTT_s$}}
1450: \de\TsSigx{\tx{$\Tbi_s(\Sig,\xtt)$}}
1451: \de\VarTupu{\tx{$\VarTup_u$}}
1452: \de\WhileAp{\tx{$\While(A')$}}
1453: \de\WhileProc{\While\Proc}
1454: \de\WhileProcSig{\tx{$\WhileProc(\Sig)$}}
1455: \de\WhileSigp{\tx{$\While(\Sigp)$}}
1456: \de\Whilexp{\tx{$\Whilex'$}}
1457: \de\abct{{\tx{$\att,\btt,\ctt$}}}
1458: \de\ack{\tx{\bi ack}}
1459: \de\aeuA{\tx{$\aee\biu^A$}}
1460: \de\aexA{\tx{$\aee\,_\xtt^A$}}
1461: \de\aexSA{\tx{$\aee\,_{\xtt,S}^A$}}
1462: \de\adel{\tx{$(a,\delbA)$}}
1463: \de\alAbar{\tx{$\al^\Abar$}}
1464: \de\allR{\tx{$\all R$}}
1465: \de\allomR{\tx{$\all_\om R$}}
1466: \de\almin{{\tx{$\alpha^-$}}}
1467: \de\approxKK{\tx{$\approx_\KK$}}
1468: \de\approxTF{\tx{$\approx_{T,\FFF}$}}
1469: \de\bSl{\tx{$\bbb_{S,\lam}$}}
1470: \de\bSlk{\tx{$\bbb_{S,\lam_k}$}}
1471: \de\bbSA{\tx{$\bb{S}^A$}}
1472: \de\bbbk{\tx{$\bbb_k$}}
1473: \de\bbbkx{\tx{$\bbb_k^*$}}
1474: \de\bbtA{\tx{$\bb{t}^A$}}
1475: \de\bSk{\tx{$\bbb_{S,k}$}}
1476: \de\cP{\cnr{P}}
1477: \de\cS{\cnr{S}}
1478: \de\compseqxA#1{\tx{$\comp\seq\,_\xtt^A(#1)$}}
1479: \de\compxA{\tx{$\comp\,_\xtt^A$}}
1480: \de\compxSA{\tx{$\comp\,_{\xtt,S}^A$}}
1481: \de\compuaA{\tx{$\comp\biu\,_\att^A$}}
1482: \de\comptree{\tx{\comp\tree}}
1483: \de\concat{^\smallfrown}
1484: \de\cxtt{\cnr{\xtt}}
1485: \de\dI{\tx{$d_\intvlss$}}
1486: \de\dR{\tx{$d_\realss$}}
1487: \de\delbA{\tx{$\delb_A$}}
1488: \de\delbAu{\tx{$\delb_A^u$}}
1489: \de\delbAv{\tx{$\delb_A^v$}}
1490: \de\delbAw{\tx{$\delb_A^w$}}
1491: \de\delbs{\tx{$\delb^s$}}
1492: \de\delbsA{\tx{$\delb^s_A$}}
1493: \de\delbu{\tx{$\delb^u$}}
1494: \de\delbuA{\tx{$\delb^u_A$}}
1495: \de\en{\tx{\bi en}}
1496: \de\enA{\tx{$\en_A$}}
1497: \de\enAs{\tx{$\en_A^s$}}
1498: \de\enAsx{\tx{$\en_A^{s*}$}}
1499: \de\enAx{\tx{$\en_A\str$}}
1500: \de\endd$1{\tx{{\bi end}\,($$1$)}}
1501: \de\eqNm{\tx{$\eqs_{\natss^-}$}}
1502: \de\eqp{\tx{$\eqs_p$}}
1503: \de\evalAs{\tx{$\evals_s^A$}}
1504: \de\exomL{\tx{$\ex_\om L$}}
1505: \de\exps{\tx{\sf exp}}
1506: \de\expss{\tx{\ssf exp}}
1507: \de\fal{\tx{$\fs_\al$}}
1508: \de\falA{\tx{$\fs_\al^A$}}
1509: \de\falhat{\tx{$\fs_\alhat$}}
1510: \de\falhatA{\tx{$\fs_\alhat^A$}}
1511: \de\fmu{\tx{$f_\mu$}}
1512: \de\fps{\tx{\sf fp}}
1513: \de\fsA{\tx{$\fs^A$}}
1514: \de\fsigA{\tx{$\fs_\sig^A$}}
1515: \de\fupsA{\tx{$\fs_\ups^A$}}
1516: \de\gN{\tx{$g^\natss$}}
1517: \de\gal{\tx{$\gs_\al$}}
1518: \de\galA{\tx{$\gs_\al^A$}}
1519: \de\galhat{\tx{$\gs_\alhat$}}
1520: \de\galhatA{\tx{$\gs_\alhat^A$}}
1521: \de\gbeA{\tx{$\gs_\be^A$}}
1522: \de\galiA{\tx{$\gs_{\al,i}^A$}}
1523: \de\game{\tx{$(\gamma,e)$}}
1524: \de\grps{\tx{\sf grp}}
1525: \de\grpss{{\tx{\ssf grp}}}
1526: \de\haltP{\tx{$\halt_P$}}
1527: \de\haltS{\tx{$\halt_S$}}
1528: \de\hN{\tx{$h^\natss$}}
1529: \de\iI{\tx{$\iota_I$}}
1530: \de\ia{\tx{$\io_\att$}}
1531: \de\invs{\tx{\sf inv}}
1532: \de\invexps{\tx{\sf invexp}}
1533: \de\invexpss{\tx{\ssf invexp}}
1534: \de\isint{\tx{\sf is\_int}}
1535: \de\lamMCA{\tx{$\lamMC(A)$}}
1536: \de\lamMCAbar{\tx{$\lamMC(\Abar)$}}
1537: \de\lamPRA{\tx{$\lamPR(A)$}}
1538: \de\lamPRAbar{\tx{$\lamPR(\Abar)$}}
1539: \de\lamPRN{\tx{$\lamPR(\NNN)$}}
1540: \de\lamPRNbar{\tx{$\lamPR(\NNNbar)$}}
1541: \de\lamPRSigbar{\tx{$\lamPR(\Sigbar)$}}
1542: \de\lamPRminAbar{\tx{$\lamPRmin(\Abar)$}}
1543: \de\lamPRminSigbar{\tx{$\lamPRmin(\Sigbar)$}}
1544: \de\lammuMCA{\tx{$\lammuMC(A)$}}
1545: \de\lammuMCAbar{\tx{$\lammuMC(\Abar)$}}
1546: \de\lammuPRA{\tx{$\lammuPR(A)$}}
1547: \de\lammuPRAbar{\tx{$\lammuPR(\Abar)$}}
1548: \de\lammuPRN{\tx{$\lammuPR(\NNN)$}}
1549: \de\lammuPRNbar{\tx{$\lamPR(\NNNbar)$}}
1550: \de\lammuPRSigbar{\tx{$\lammuPR(\Sigbar)$}}
1551: \de\lammuPRminAbar{\tx{$\lammuPRmin(\Abar)$}}
1552: \de\lammuPRminSigbar{\tx{$\lammuPRmin(\Sigbar)$}}
1553: \de\lammuPRxAbar{\tx{$\lammuPRx(\Abar)$}}
1554: \de\lamz{\lam\ztt}
1555: \de\lastA{\tx{$\last^A$}}
1556: \de\lastxA{\tx{$\last_\xtt^A$}}
1557: \de\lsp{\tx{$\lss_p$}}
1558: \de\lseqs{\tx{\sf lseq}}
1559: \de\lseqp{\tx{$\lseqs_p$}}
1560: \de\maxval{\tx{\bi maxval}}
1561: \de\muPRAbar{\tx{$\muPR(\Abar)$}}
1562: \de\muPRSigbar{\tx{$\muPR(\Sigbar)$}}
1563: \de\muPRminAbar{\tx{$\muPRmin(\Abar)$}}
1564: \de\muPRminSigbar{\tx{$\muPRmin(\Sigbar)$}}
1565: \de\muPRoAbar{\tx{$\muPRo(\Abar)$}}
1566: \de\muPRoSigbar{\tx{$\muPRo(\Sigbar)$}}
1567: \de\muPRolamAbar{\tx{$\muPRolam(\Abar)$}}
1568: \de\muPRolamSigbar{\tx{$\muPRolam(\Sigbar)$}}
1569: \de\muPRxAbar{\tx{$\muPRx(\Abar)$}}
1570: \de\muPRxApprox{\tx{\muPRx-\Approx}}
1571: \de\muPRxApproxA{\tx{$\muPRxApprox(A)$}}
1572: \de\muPRxApproxAutos{\tx{$\muPRxApproxA_\utos$}}
1573: \de\muPRxSigbar{\tx{$\muPRx(\Sigbar)$}}
1574: \de\natmin{\tx{$\nats^-$}}
1575: \de\natsp{\tx{$\nats'$}}
1576: \de\natsx{\tx{$\nats^*$}}
1577: \de\natssmin{\tx{$\natss^-$}}
1578: \de\natxutos{\tx{$\nats\times u\to s$}}
1579: \de\natxutoss{{\tx{$\natss\times u\to s$}}}
1580: \de\notoverxA{\tx{$\notover\,_\xtt^A$}}
1581: \de\notoverxSA{\tx{$\notover\,_{\xtt,S}^A$}}
1582: \de\notoveruaA{\tx{$\notover\biu\,_\att^A$}}
1583: \de\ord{\tx{\bi ord}}
1584: \de\ordusA{\tx{$\ord_{u,s}^A$}}
1585: \de\orb#1{\tx{\bi orb\,$(#1)$}}
1586: \de\peabcA{\tx{$\pe\,_\abct^A$}}
1587: \de\peabcPA{\tx{$\pe\,_{\abct,P}^A$}}
1588: \de\per#1{\tx{\bi per\,$(#1)$}}
1589: \de\phipsi{\tx{$(\phi,\psi)$}}
1590: \de\phihat{\tx{$\hat{\phi}$}}
1591: \de\phis{{\tx{$\phi_s$}}}
1592: \de\pib{\tx{$\pi_\btt$}}
1593: \de\plustwo{\tx{\bi plus2}}
1594: \de\posreals{\tx{\sf pos-real}}
1595: \de\prodtt{\tx{\tt prod}}
1596: \de\preds{\tx{\sf pred}}
1597: \de\psis{{\tx{$\psi_s$}}}
1598: \de\qinNN{\tx{$q\in\NN$}}
1599: \de\redSigf{\,|\,_{\Sigf}}
1600: \de\redSigp{\,|\,_{\Sigp}}
1601: \de\remseqxA#1{\tx{$\rem\seq\,_\xtt^A(#1)$}}
1602: \de\remxA{\tx{$\rem\,_\xtt^A$}}
1603: \de\remxSA{\tx{$\rem\,_{\xtt,S}^A$}}
1604: \de\remuaA{\tx{$\rem\biu\,_\att^A$}}
1605: \de\restA{\tx{$\restt^A$}}
1606: \de\restuaA{\tx{$\restt\biu\,_\att^A$}}
1607: \de\restxA{\tx{$\restt\,_\xtt^A$}}
1608: \de\restxSA{\tx{$\restt\,_{\xtt,S}^A$}}
1609: \de\ruu{\tx{$r^\uu$}}
1610: \de\sE{{\tx{\ssf E}}}
1611: \de\saA#1{\tx{$\ang{#1}^A$}}
1612: \de\siginStateA{\tx{$\sig\in\StateA$}}
1613: \de\sigs{\tx{$\sig_s$}}
1614: \de\sinS{\tx{$s \in \Sbi$}}
1615: \de\sinSe{\tx{$s \in \Se$}}
1616: \de\sexA{\tx{$\se\,_\xtt^A$}}
1617: \de\sexSA{\tx{$\se\,_{\xtt,S}^A$}}
1618: \de\sigxtt{\tx{$\sig[\xtt]$}}
1619: \de\snapseqxA#1{\tx{$\snap\seq\,_\xtt^A(#1)$}}
1620: \de\snapuaA{\tx{$\snap\biu\,_{\att}^A$}}
1621: \de\snapxA{\tx{$\snap\,_\xtt^A$}}
1622: \de\snapxSA{\tx{$\snap\,_{\xtt,S}^A$}}
1623: \de\sprod{\tx{${s_1}\times\dots\times {s_n}$}}
1624: \de\stateuaA{\tx{$\state\biu\,_\att^A$}}
1625: \de\statexA{\tx{$\state\,_\xtt^A$}}
1626: \de\statexSA{\tx{$\state\,_{\xtt,S}^A$}}
1627: \de\subalg{\preceq}
1628: \de\tAsig{\tx{$\tA\sig$}}
1629: \de\teA{\tx{$\te^A$}}
1630: \de\teaBA{\tx{$\te\,_{\att,\boolss}^A$}}
1631: \de\teasA{\tx{$\te\,_{\att,s}^A$}}
1632: \de\teauA{\tx{$\te\,_{\att,u}^A$}}
1633: \de\teavA{\tx{$\te\,_{\att,v}^A$}}
1634: \de\teawA{\tx{$\te\,_{\att,w}^A$}}
1635: \de\texsA{\tx{$\te\,_{\xtt,s}^A$}}
1636: \de\texsAx{\tx{$\te\,_{\xtt,s}^\Ax$}}
1637: \de\texstA{\tx{$\te\,_{\xtt,s,t}^A$}}
1638: \de\texuA{\tx{$\te\,_{\xtt,u}^A$}}
1639: \de\texvA{\tx{$\te\,_{\xtt,v}^A$}}
1640: \de\texwA{\tx{$\te\,_{\xtt,w}^A$}}
1641: \de\texyxboolAx{\tx{$\te\,_{\xtt,\yttx,\boolss}^\Ax$}}
1642: \de\tinTSig{\tx{$t\in\TSig$}}
1643: \de\tinTSigx{\tx{$t\in\TSigx$}}
1644: \de\ttil{\tx{$\til t$}}
1645: \de\tree{\tx{\bi tree}}
1646: \de\truncs{\tx{\sf trunc}}
1647: \de\tupprimetimes#1#2#3{\tx{$#1_{#2}' \times \dots \times #1_{#3}'}}
1648: \de\tuu{\tx{$t^\uu$}}
1649: \de\uneqs{\tx{\sf uneq}}
1650: \de\uneqp{\tx{$\uneqs_p$}}
1651: \de\updates{\tx{\sf update}}
1652: \de\us{{\tx{$u,s$}}}
1653: \de\whicht{\tx{\tt which}}
1654: \de\vN{\tx{$v^\natss$}} 
1655: \de\valxaA{\tx{$\val_\xa^A$}}
1656: \de\valxaAt{\tx{$\val_\xa^A(t)$}}
1657: \de\ws{{\tx{$w(s)$}}}
1658: \de\wxx{{\tx{$w^{**}$}}}
1659: \de\xS{\cxtt,\,\cS}
1660: \de\xSan{\xS,\,a,\,n}
1661: \de\xa{{\ang{\xtt/a}}}
1662: \de\xiinNNtoA{\tx{$\xi \in \NNtoA$}} 
1663: \de\xixi{\xi_1,\xi_2}
1664: \de\xttt{\tx{$\ang{\xtt/t}$}}
1665: \de\zxx{\tx{$z^{**}$}}
1666: 
1667: 
1668: 
1669: % *** END OF HEADER ***
1670: 
1671: 
1672: \cbb{Abstract Computability and Algebraic Specifications}
1673: \bigskip
1674: \bigskip
1675: \ce{{\bf J.V. Tucker}
1676: }
1677: \sn
1678: \ce{\it Department of Computer Science,}
1679: \ce{\it University of Wales, Swansea  SA2 8PP, Wales}
1680: \ce{\tt J.V.Tucker@swansea.ac.uk}
1681: \bn
1682: \ce{{\bf J.I. Zucker}\footnotemark"*"}
1683: \footnotetext"*\ "{
1684: \n The research of the second author was supported 
1685: by a grant from the Natural Sciences
1686: and Engineering Research Council (Canada),
1687: and by a Visiting Fellowship from the Engineering
1688: and Physical Sciences Research Council (U.K.)
1689: }
1690: 
1691: \ce{\it Department of Computing and Software,}
1692: \ce{\it McMaster University, Hamilton, Ont\.  L8S 4L7, Canada}
1693: \ce{\tt zucker@mcmaster.ca}
1694: \bigskip
1695: \bigskip
1696: \bigskip
1697: \bigskip
1698: \bigskip
1699: \cbb{Abstract}
1700: 
1701: \bn
1702: {
1703: %\narrower\narrower
1704: \smallrm 
1705: Abstract computable functions are defined by
1706: abstract finite deterministic algorithms on many-sorted algebras.
1707: We show that there exist finite universal algebraic specifications
1708: that specify uniquely 
1709: (up to isomorphism) 
1710: \,($i$) all absract computable functions on any many-sorted algebra;
1711: \,and
1712: \,($ii$) all functions effectively approximable by 
1713: abstract computable functions on any metric algebra.
1714: We show that there exist universal algebraic specifications
1715: for all the classically computable functions on the
1716: set \,\RR\ \,of real numbers.
1717: The algebraic specifications used are mainly bounded universal
1718: equations and conditional equations.
1719: We investigate the initial algebra semantics of
1720: these specifications, and derive situations
1721: where algebraic specifications define precisely the computable functions.
1722: 
1723: \mn
1724: {\smallbf Categories and Subject Descriptors:}
1725: F.1.1 ({\smallbf Computation by Abstract Devices}):
1726: Models of Computation --- {\smallit computability theory\/};
1727: %F.3.1 ({\smallbf Logics and Meanings of Programs}):
1728: %\,Specifying and Verifying and Reasoning about Programs;
1729: F.4.1 ({\smallbf Mathematical Logic and Formal Languages}):
1730: \,Mathematical Logic --- {\smallit computability theory; \,proof theory\/}
1731: 
1732: \mn
1733: {\smallbf General Terms:}
1734: \,Abstract Computability,
1735: Algebraic Specification,
1736: Computable Analysis,
1737: Conditional Equations, Equational Logic, Metric Algebras
1738: 
1739: \mn
1740: {\smallbf Additional Key Words and Phrases:}
1741: \,Birkhoff's theorem, Grzegorczyk-Lacombe computability,
1742: initial  algebras, term models,
1743: many-sorted algebras, Mal'cev's theorem, topological algebras
1744: 
1745: }
1746: 
1747: \newpage
1748: 
1749: \Shead0{Introduction}
1750: Abstract computability theory is the theory of computable
1751: functions and relations over many-sorted algebras. It is a
1752: generalisation of classical recursion theory on the natural
1753: numbers, based on notions of finite deterministic
1754: computation on an arbitrary many-sorted algebra. An
1755: important feature of the theory is its analysis of
1756: computations that are {\it uniform\/} over classes of algebras, and
1757: a natural application of the theory is to analyse the scope and
1758: limits of models of computation and specification over
1759: abstract data types and their implementations. Since the 1960s, many
1760: abstract models of computation have been defined and
1761: classified, starting with the models of 
1762: E. Engeler, Y. Moschovakis, H. Friedman and J.C. Shepherdson,
1763: and generalised Church-Turing Theses for
1764: computation and specification have been formulated and
1765: defended \cite{tz:book,tz:jlp}.
1766: Here we will use the model of computation \,\muPRx\
1767: (a generalised form of Kleene schemes), which involves
1768: {\it simultaneous primitive recursion\/} and {\it least number search\/}
1769: over a many-sorted algebra augmented by the booleans,
1770: natural numbers and finite sequences of every sort. In
1771: \cite{tz:book} the model \,\muPRx\  is shown to be
1772: equivalent to \qwhiles-array programs over these algebras, the
1773: primary mathematical model of imperative programming.
1774: 
1775: Working with finite computation on any algebra enables us
1776: to develop a number of special computability theories
1777: for algebras, such as {\it rings and fields of real numbers\/} 
1778: \cite{jvt:cas,eng93,bss,bcss-manifesto,bcss}
1779: and {\it topological and metric algebras\/} \cite{tz:top}.
1780: For a comprehensive
1781: introduction to abstract computability, including a survey
1782: of its origins in the 1950s and principal literature, see
1783: our survey \cite{tz:hb}.
1784: 
1785: In this paper we prove theorems that show that functions
1786: that are abstractly computable over many-sorted algebras,
1787: or have abstractly computable {\it approximations\/} on topological
1788: algebras, can be specified by purely algebraic methods,
1789: but that the converse does not hold in the absence of
1790: certain topological conditions.
1791: 
1792: Algebraic specification methods characterise functions as
1793: the solutions of systems of algebraic formulae; 
1794: normally, the solutions are
1795: unique. By algebraic formulae, we mean
1796: equations
1797: $$
1798: t(\xtt) \ = \ t'(\xtt)
1799: $$
1800: or conditional equations
1801: $$
1802: t_1(\xtt) = t_1'(\xtt) \,\con \,\dots \,\con \,t_k(\xtt) = t'_k(\xtt) 
1803: \ \ \longto\ \ t(\xtt) = t'(\xtt),
1804: \tagx
1805: $$
1806: or, more generally, conditional formulae 
1807: $$
1808: R_1\con \dots \con R_k \ \longto\ R
1809: \tagxx
1810: $$
1811: where the formulae $R_i$ and $R$ are
1812: generalisations of equations, 
1813: making use of the distinguished sorts \nats\ of naturals and \reals\
1814: of reals
1815: (as we will see below).
1816: %The conditional formulae ($**$)
1817: %may enjoy certain
1818: %algebraic properties (\eg, having initial algebras).
1819: To define a unique solution for a system of equations,  in
1820: logic one often thinks of {\it definability up to isomorphism\/},
1821: and in computing one often thinks in terms of {\it initial algebra
1822: semantics\/} (or possibly {\it final algebra semantics\/}). However,
1823: notice that there are many more equational methods, \eg,
1824: for specifying concurrent processes using metric space
1825: methods to solve equations \cite{db-rutten,db-devink}, or
1826: for computing  solutions of differential or integral
1827: equations.
1828: 
1829: 
1830: In computation over a many-sorted algebra $A$ we use the
1831: booleans, natural numbers and finite sequences over $A$. 
1832: With regard to algebraic specifications over such structures,
1833: generalising conditional equations
1834: leads to the concept of
1835: {\it conditional bounded universal (BU) equations\/},
1836: in which the formulae $R_i$ and $R$ of ($**$)
1837: may have the form 
1838: $$
1839: t_1 = t_2 \qquad \tx{or} \qquad 
1840: \all \ztt<t \,[\,t_1= t_2\,]
1841: $$
1842: where the variable \ztt\ and term $t$ 
1843: are of sort \nats.
1844:  
1845: Conditional BU equations are new and provide us
1846: with more appropriate axiomatisations for some properties
1847: using the natural number sort; we show they are equivalent
1848: with conditional equations. The main theorems are first
1849: proved for conditional BU equations and the reduction
1850: method applied to obtain conditional equational
1851: specifications.
1852: 
1853: In the first part of the paper, we begin with the ``simple"
1854: situation where there is a system $E$ of conditional equations
1855: over a signature \Sig, and a \Sig-algebra $A$ such that $E$ has one and only
1856: one solution $f$ on $A$. We call this method of
1857: characterising functions {\it conditional equation definability\/}
1858: on $A$. We address the obvious general question: 
1859: 
1860: {\displaytext
1861: Does
1862: abstract computability imply conditional equation
1863: definability?
1864: 
1865: }\n
1866: The answer is yes, and we show that there exist 
1867: {\it universal specifications\/}
1868: that specify {\it all\/} computable functions, as follows
1869: (Section 5, Theorem 4).
1870: 
1871: \Thmn{A \,(Algebra)}
1872: Given a signature \Sig\ and function type \ta\ over \Sig,
1873: there
1874: exists a finite set of conditional equations \,\Ez\
1875: \,(with a distinguished natural number variable \,\ztt)
1876: over a finite expansion \Sigp\ of \Sig,
1877: \,such that for any
1878: abstract program \al\ over \Sig, if  $A$ is any  \Sig-algebra and
1879: $f$  a total function on $A$ of type \ta\ computed by \al, then $f$ is
1880: defined uniquely on $A$ by \,\Ekbar, \,where \kbar\ is
1881: a numeral instantiating \,\ztt\ which is effectively calculable
1882: from \al. The system \,\Ez\ \,is uniformly computable from \Sig\ and
1883: \ta.
1884: \endpr
1885: 
1886: Applying our abstract computability theory to {\it metric algebras\/},
1887: we can obtain an important, strictly broader, class of functions:
1888: namely, those {\it uniformly approximable by 
1889: abstractly computable functions\/}.
1890: In metric algebras, approximation is elegantly formulated 
1891: in terms of the distance function,
1892: which uses the sort \reals.
1893: This gives rise to 
1894: a broader class of conditional formulae than ($*$),
1895: called
1896: {\it conditional equations and inequalities\/},
1897: namely formulae ($**$) 
1898: in which the formulae $R_i$ and $R$ 
1899: may have the form
1900: $$
1901: t_1 = t_2 \qquad \tx{or} \qquad 
1902: t_1< t_2
1903: $$
1904: where, in the case of inequality ($t_1<t_2$),
1905: $t_1$ and $t_2$ are of sort \reals.
1906: %may be replaced by inequalities ($t_i<t_i'$) between terms of sort \reals,
1907: %thus:
1908: %$$
1909: %\aligned
1910: %&t_1(\xtt) = t_1'(\xtt) \ \con \ \dots \ \con \ t_j(\xtt) = t'_j(\xtt)
1911: %\ \con\\
1912: %&\qquad \con \ t_{j+1}(\xtt) < t_{j+1}'(\xtt) \ \con \ \dots 
1913: %\ \con \ t_k(\xtt)<t'_k(\xtt)\\
1914: %&\qqqquad\qqqquad \longto\ \ t(\xtt) = t'(\xtt)
1915: %\endaligned
1916: %\tagxx
1917: %$$
1918: %$$
1919: %\multline
1920: %t_1(\xtt) = t_1'(\xtt) \ \con \ \dots \ \con \ t_l(\xtt) = t'_l(\xtt)
1921: %\ \con
1922: % \ t_{j+1}(\xtt) < t_{j+1}'(\xtt) \ \con \ \dots 
1923: %\ \con \ t_k(\xtt)<t'_k(\xtt)\\
1924: %\longto\ \ t(\xtt) = t'(\xtt)
1925: %\endmultline
1926: %\tagxx
1927: %$$
1928: %for some $j$ ($1\le j \le k$),
1929: %where for $i>j$, \,$t_i$ and $t_i'$ are of sort \reals.
1930: 
1931: From Theorem A we then prove (Section 6, Theorem 2):
1932: 
1933: \Thmn{B \,(Metric algebra)}
1934: Given a signature \Sig\ and function type \ta\ over \Sig,
1935: there exists a finite
1936: set of conditional equations and inequalities 
1937: \,\Ez\ \,(with a distinguished natural number variable \ztt)
1938: over a finite expansion \Sigp\ of \Sig,
1939: \,such that for any
1940: abstract program \al\ over
1941: \Sig, if  $A$ is any  metric \Sig-algebra and $f$  a total function
1942: on $A$ of type \ta, approximable by \al\ in the following sense: 
1943: for all
1944: $a\in A$ and all \,$n$
1945: $$
1946: d(f(a), \,\bb{\al}(n, a)) < 2^{-n},
1947: $$
1948: then $f$ is
1949: defined uniquely on $A$ by \,\Ekbar,
1950: \, where \kbar\ is
1951: a numeral instantiating \,\ztt\ which is effectively calculable
1952: from \al. 
1953: The system \,\Ez\ \,is uniformly computable from
1954: \Sig\ and \ta.
1955: \endpr
1956: 
1957: Thus, {\sl there is a bound $B(\Sig,\tau)$ on the number of 
1958: conditional equations and inequalities
1959: needed to define all computable or computably
1960: approximable functions, that depends only on the signature \Sig\
1961: and the function type \ta.}
1962: 
1963: Using Theorem B, we show that all the classically computable functions
1964: of real analysis are unique solutions of finite sets of
1965: conditional equations and inequalities.  
1966: These classically computable functions have several characterisations,
1967: starting with those of Grzegorczyk \cite{grzeg55,grzeg57} 
1968: and Lacombe \cite{lacombe55},
1969: and hence are often called {\it GL-computable\/}.
1970: The familiar functions of analysis, such as 
1971: \,$\sin x$, $e^x$, $\log x$, etc.,
1972: are all GL-computable.
1973: Now there exists a certain simple total metric algebra
1974: \,\IIId\ \,over the real unit interval $I = [0,1]$, such that the 
1975: total functions on $I$ which are uniformly approximable 
1976: by abstractly computable functions on \,\IIId\
1977: \,are precisely the GL-computable functions on $I$
1978: \cite{tz:top,tz:hb}.
1979: We prove the following (Section 6, Theorem 3).
1980: 
1981: \Thmn{C \,(Metric algebra over a real interval)}
1982: For each positive integer $m$ 
1983: there is a signature \Sigxm\ 
1984: which is an expansion of the signature of \,\IIId\
1985: \,by finitely many function symbols,
1986: \,and a finite system of conditional equations and inequalities
1987: \,\Emz\ 
1988: \,(with a distinguished natural number variable \ztt)
1989: \,over \Sigxm, 
1990: \,such that any total function
1991: \,$f\:[0,1]^m\to\RR$ 
1992: \,that is GL-computable,
1993: is the unique solution of \,\Ekbar\ \,for some substitution of
1994: a numeral \,\kbar\ \,for \,\ztt.  
1995: The specification \,$(\Sigxm,\,\Emz)$ \,is uniformly computable from $m$.
1996: \endpr
1997: 
1998: 
1999: Thus
2000: {\sl there is a bound $B(m)$ on the
2001: number of conditional equations and inequalities 
2002: needed to define all $m$-ary GL-computable functions on $[0,1]$.\/}
2003: 
2004: 
2005: The signature \Sigxm\ consists of
2006: the sorts of booleans \BB\ and naturals \NN, with their standard operations;
2007: the sort of reals \RR, with its ring operations,
2008: together with division of reals by naturals;
2009: the sort of the unit interval $I$,
2010: with its embedding into \RR;
2011: the sort of finite arrays on \RR\
2012: with their standard operations;
2013: the standard metrics on all these sorts;
2014: a ``universal function" which approximably abstractly computes
2015: all $m$-ary GL-computable total functions on $I$,
2016: together with the auxiliary functions
2017: used in its computation;
2018: the function $2^{-n}$ used for expressing approximations;
2019: and a function for computing bounded quantification over \NN.
2020: 
2021: This theorem has some interesting consequences,
2022: one of which we illustrate (Section 6, Theorem 4):
2023: 
2024: \Cor
2025: For each $n>0$,
2026: there is a finite universal algebraic specification,
2027: consisting of conditional equations and inequalities,
2028: for all 
2029: computable finite dimensional dynamical systems
2030: on the unit $n$-cube and over the unit time interval.
2031: \endpr
2032: 
2033: 
2034: Next we consider the converse problem:
2035: 
2036: \Problem\sl
2037: Find (reasonable) conditions under which
2038: algebraic definability implies abstract computability.
2039: \endpr
2040: 
2041: From Theorem C it follows that
2042: the converse to Theorem A is false,
2043: at least for specifications consisting of
2044: conditional equations and inequalities;
2045: for example, for the sine and cosine functions on the unit interval.
2046: 
2047: It is an open problem
2048: whether the 
2049: converse of the approximation
2050: result (Theorems B and C) holds.
2051: It seems that some extra {\it topological condition\/}
2052: such as continuity is required for a converse result.
2053: This suggests an
2054: interesting research area;
2055: see the example and discussion in Section 6.3.
2056: %Little seems to be known about this subject; for related work,
2057: %see \cite{gaertner-hotz}.
2058: 
2059: In the second part of the paper, we show how the
2060: conditional equational theories, and conditional BU equational
2061: theories, can be used with standard
2062: algebraic specification methods associated with proof
2063: systems, term rewriting and initial algebra semantics.
2064: 
2065: Now, when using the booleans, natural numbers and finite
2066: sequences, the algebraic specifications and their initial
2067: algebra semantics must define the corresponding standard
2068: models of the booleans, natural numbers and finite arrays. We
2069: develop extensions of the Birkhoff-Mal'cev Completeness
2070: Theorems that underlie the algebraic specification methods,
2071: designed to ensure that these sorts have standard models.
2072: Then we prove (Section 8, Theorems 4 and 5):
2073: 
2074: \Thmn{D \,(Initial algebra)}
2075: Given a signature \Sig\ and function type \ta\
2076: over \Sig, there exists a finite set of conditional equations
2077: \,\Ez\ \,(with a distinguished natural number variable \ztt)
2078: over a finite expansion \Sigp\ of \Sig,
2079: such that for any abstract program \al\ over \Sig, if \al\
2080: computes a total function $f$ on $A$ 
2081: of type \,\ta, 
2082: \,and $A$ has an initial
2083: algebra specification by a set $E$ of either conditional
2084: equations or conditional BU equations
2085: (with hidden sorts and functions), 
2086: then
2087: \,\Af\ has an initial algebra specification by a set \,$E\cup \Ekbar$,
2088: where \,\Ez\ \,consists of conditional equations and 
2089: \,\kbar\ \,is a numeral instantiating \,\ztt\ \,which is effectively
2090: calculable from \al.  
2091: The system \,\Ez\ \,is uniformly computable
2092: from \Sig\ and \ta.
2093: Furthermore, if the specification $E$ of $A$ has $e$ axioms,
2094: then the specification of \Af\ is finite, with $e + e'$
2095: axioms, where $e'$ is a constant 
2096: computed uniformly from \Sig\ and \ta.
2097: \endpr
2098: 
2099: This paper is part of our series on abstract computability
2100: theory on many-sorted algebras and its applications,
2101: starting in  \cite{tz:book} and most recently surveyed in \cite{tz:hb}.
2102: Knowledge of computation and our studies of computation
2103: versus specifications 
2104: \cite{tz:jlp,tz:ijfocs}
2105: and verification  
2106: \cite{tz:leeds}
2107: will be helpful, but only our work on topological data types
2108: \cite{tz:top}
2109: is necessary.
2110: 
2111: The subject of this paper is also a generalisation of the
2112: theory of algebraic specifications for {\it computable,
2113: semicomputable and co-semicomputable} algebras developed by
2114: one of us (JVT) with J.A. Bergstra: see
2115: \cite{bt80a,bt80b,bt82a,bt83b,bt87,bt95}
2116: and the surveys \cite{meseguer-goguen,stolt-jvt95}.
2117: However, at least
2118: initially, the generalised computability raises new
2119: questions concerning topological data types, uniformity and
2120: parameterisation, and standard models. Knowledge of the
2121: theory for computable algebras is not required for this
2122: paper.
2123: 
2124: In Section 1 we define how to augment structures with the
2125: {\it standard sorts} of the booleans and naturals, and
2126: finite sequences or {\it arrays} over all sorts, together
2127: with the corresponding operations. For the rest of the
2128: paper we consider, without loss of generality, only
2129: N-standard signatures and structures with the booleans and
2130: naturals.
2131: 
2132: In Section 2 we introduce a number of proof systems, all
2133: based in the calculus of sequents over a many-sorted signature \Sig. These
2134: are systems for ($i$) first order logic over \Sig\ with
2135: equality, ($ii$) conditional equational logic, ($iii$)
2136: conditional bounded universal (BU) equational logic, and
2137: ($iv$) conditional standard universal (SU) equational
2138: logic. The systems ($ii$) and ($iii$) are subsystems of the
2139: classical predicate calculus ($i$), and are used in the
2140: following sections, while ($iv$) is an infinitary system
2141: introduced for interest.
2142: 
2143: In Section 3 we define the basic technical notion of a
2144: theory uniquely specifying a function on an arbitrary algebra with
2145: hidden sorts and functions. This
2146: leads to a simple notion of specifiable parameterisation
2147: which we illustrate by showing how a conditional
2148: equational  (or conditional BU equational) specification of
2149: a standard structure $A$ can be extended to a similar
2150: specification of the array structure \Ax. We also show how
2151: to ``reduce" a conditional BU equational specification  over
2152: \Sig\ to a conditional equational specification over an
2153: expansion of \Sig.
2154: 
2155: In Section 4 we recall the basic notions of 
2156: {\it computability} of functions, 
2157: including universality of the \,\muPRx\ functions.
2158: 
2159: In Section 5 we prove Theorem A above,
2160: concerning the conditional equational definability of
2161: computable functions.
2162: 
2163: In Section 6 we prove Theorems B and C, 
2164: concerning the definability, by conditional equations and inequalities,
2165: of computably approximable functions on metric algebras.
2166: 
2167: In Section 7 we describe the construction of {\it initial
2168: standard models} for conditional equational and conditional
2169: BU equational theories, and work out the completeness
2170: theorems for the corresponding proof systems in Section 2.
2171: The reduction of a conditional BU equational specification
2172: over \Sig\ to a conditional equational specification over
2173: an expansion of \Sig\ is proved for initial models.
2174: 
2175: In Section  8  we investigate the relationship between {\it
2176: computability} and {\it algebraic specifiability} of
2177: functions on initial N-standard algebras, and prove Theorem D.
2178: Finally, in Section 9, we consider the converse problem of
2179: finding sufficient conditions for algebraic
2180: specifiability to imply computability on classes of
2181: standard structures. Two equivalence theorems are proved.
2182: 
2183: We wish to thank an anonymous referee for some
2184: very helpful comments.
2185: 
2186: 
2187: \Shead{1}{Many-sorted signatures and algebras}
2188: In this section
2189: we briefly review concepts defined and discussed in
2190: \cite[\S1]{tz:hb},
2191: where more detailed information can be found.
2192: Background information on universal algebra can be found in
2193: \cite{meinke-jvt,ehrig-mahr,wechler}.
2194: 
2195: \shead{1.1}{Basic definitions}
2196: A {\it signature} \Sig\ (for a many-sorted algebra)
2197: is a pair consisting of
2198: ($i$) a finite set \SortSig\ of {\it sorts},
2199: and ($ii$) a finite set \FuncSig\ of {\it (primitive)
2200: function symbols},
2201: each symbol $F$ having a {\it type}  \ $\tuptimes{s}{1}{m}\to s$,
2202: where $s_1 ,\ldots, s_m, s \in \SortSig$;
2203: in that case we write
2204: \ $F:\ \tuptimes{s}{1}{m}\to s$,
2205: with \,$\dom{F} \eqdf \tuptimes{s}1m$.
2206: \ (The case $m = 0$ corresponds to {\it constant symbols}.)
2207: 
2208: A 
2209: \Sig-{\it product type\/}
2210: has the form
2211: \,$u = \tuptimes{s}{1}{m}$ \,($m\ge0$),
2212: where \,\tup{s}{1}{m} \,are \Sig-sorts.
2213: We use the notation
2214: \,$u,v,w,\dots$ \,for \Sig-product types.
2215: 
2216: A \Sig-{\it algebra} $A$ has, for each sort $s$ of \Sig,
2217: a non-empty {\it carrier set} \,\As\
2218: \,of sort $s$,
2219: and for each \Sig-function symbol
2220: \,$F:\utos$,
2221: \,a function
2222: \,$\FA : \Au \to \As$
2223: \,(where, for the \Sig-product type \ $u  = \tuptimes{s}{1}{m}$,
2224: \,we write
2225: \,$\Au \ \eqdf \ A_{s_1} \times\dots\times A_{s_m}$).
2226: 
2227: Given an algebra $A$, we sometimes write \,$\Sig(A)$ \,for its signature.
2228: 
2229: The algebra $A$ is {\it total} if 
2230: \,\FA\ is total for each \Sig-function symbol $F$.
2231: Without such a totality assumption,
2232: $A$ is called {\it partial}.
2233: 
2234: In this paper we deal with total algebras,
2235: except in \S8.4.
2236: 
2237: We will also consider classes \KK\ of \Sig-algebras.
2238: A {\it \Sig-adt (abstract data type\/})
2239: \,is defined to be any such class, closed under \Sig-isomorphism.
2240: In particular, \AlgSig\ denotes the class of all \Sig-algebras.
2241: 
2242: \Examples
2243: ($a$)
2244: \,The algebra of {\it booleans\/}
2245: has the carrier \ $\BB = \{\ttt,\,\fff\}$
2246: \ of sort \,\bools. It can be displayed as follows:
2247: $$
2248: \boxed{
2249: \matrix \format\l&\quad\l\\
2250: \algebras &\BBB\\
2251: \carrierss &\BB\\
2252: \functionss&\ttt, \fff:\ \ \to\BB,\\
2253: &\ands^\BBB, \ors^\BBB:\BB^2\to\BB\\
2254: &\nots^\BBB: \BB\to\BB\\
2255: \ends&
2256: \endmatrix
2257: }
2258: \quad
2259: \tx{with signature}
2260: \quad
2261: \boxed{
2262: \matrix \format\l&\quad\l\\
2263: \signatures &\Sig(\BBB)\\
2264: \sortss &\bools\\
2265: \functionss&\trues, \falses:\ \ \to\bools,\\
2266: &\ands, \ors:\bools^2\to\bools\\
2267: &\nots: \bools\to\bools\\
2268: \ends&
2269: \endmatrix
2270: }
2271: $$
2272: For notational simplicity, we will usually not distinguish between
2273: function names in the signature (\trues, etc.)
2274: and their intended interpretations ($\trues^\BBB = \ttt$, etc.)
2275: \sn
2276: ($b$) \,The algebra \,\NNNo\ \,of naturals
2277: has a carrier \,\NN\ \,of sort \,\nats,
2278: \,together with the zero constant and successor function:
2279: $$
2280: \boxed{
2281: \matrix \format\l&\quad\l\\
2282: \algebras &\NNNo \\
2283: \carrierss &\NN\\
2284: \functionss&0:\ \ \to\NN,\\
2285: &\Ss:\NN\to\NN\\
2286: \ends&
2287: \endmatrix
2288: }
2289: $$
2290: 
2291: ($c$) \,The ring \,\RRRo\ \,of reals
2292: has a carrier \RR\ of sort \reals:
2293: $$
2294: \boxed{
2295: \matrix \format\l&\quad\l\\
2296: \algebras &\RRRo \\
2297: \carrierss &\RR\\
2298: \functionss&0,1:\ \ \to\RR,\\
2299: &+,\times:\RR^2\to\RR,\\
2300: &-:\RR\to\RR\\
2301: \ends&
2302: \endmatrix
2303: }
2304: $$
2305: \endpr
2306: 
2307: We make the following assumption about 
2308: the signatures \Sig.
2309: 
2310: \pr{Instantiation Assumption}
2311: {\sl For every sort $s$ of \Sig, there is a closed term of that sort,
2312: called the default term \,\delbs\ \,of that sort.}
2313: \endpr
2314: 
2315: This guarantees the presence of {\it default values} \,\delbsA\ \, 
2316: in a \Sig-algebra $A$ at all sorts $s$, 
2317: and {\it default tuples} \,\delbuA\ \,at all product types $u$.
2318: 
2319: \sheads{1.2}{Some definitions}
2320: \Defn{1 \,(Subalgebra)}
2321: Given \Sig-algebras $A$ and $B$,
2322: we say that
2323: $B$ is a \Sig-{\it subalgebra\/} of $A$
2324: \,(written $B\subalg A$)
2325: \,iff \,($i$) for all \Sig-sorts $s$, \,$B_s\sseq A_s$, 
2326: \,and ($ii$) for every \Sig-function symbol $F$,
2327: \,$F^B = \FA\rest B$.
2328: \endpr
2329: 
2330: 
2331: \Defn{2 \,(Expansions and reducts)}
2332: Let \Sig\ and \Sigp\ be signatures with $\Sig \subset \Sig'$.
2333: \sn
2334: \ ($a$) If $A'$ is a \Sigp-algebra, \,then the \Sig-{\it reduct of} $A'$,
2335: \ $A' \redSig$,
2336: \ is the algebra
2337: of signature \Sig, consisting of the carriers of $A'$
2338: named by the sorts of \Sig\ and equipped with the functions
2339: of $A'$ named by the function symbols of \Sig.
2340: \sn
2341: \ ($b$) If \,$A$ is a \,\Sig-algebra and $A'$ is a \Sigp-algebra,
2342: \,then $A'$ is a {\it \Sigp-expansion} of $A$ iff $A$ is the
2343: \Sig-reduct of $A'$.
2344: \sn
2345: ($c$) If \,\KKp\ \,is a \,\Sigp-adt,
2346: \,then \,$\KKp\redSig$ \,is the class of \Sig-reducts of algebras in \KKp.
2347: \endpr
2348: 
2349: \shead{1.3}{Adding booleans: \,Standard signatures and algebras}
2350: Recall the algebra \BBB\ of booleans (Example ($a$) in \S1.1).
2351: 
2352: A signature \Sig\ is called {\it standard} if
2353: %\itemm{($i$)}
2354: \,($i$) \,$\Sig(\BBB) \ \sseq \Sig$;
2355: %\itemm{($ii$)}
2356: \,($ii$) \,the \Sig-function symbols include
2357: a {\it conditional}
2358: $$
2359: \ifs_s :\bools\times s^2 \to s
2360: $$
2361: for all sorts $s$ of \Sig\ other than \bools; \,and
2362: %\itemm{($iii$)}
2363: \,($iii$) \,the \Sig-function symbols include
2364: an {\it equality  operation\/}
2365: $$
2366: \eqs_s: s^2 \to \bools
2367: $$
2368: for all $s\in\EqSortSig$, 
2369: \,where \,$\EqSortSig\sseq\SortSig$
2370: \,is the set of \Sig-{\it equality sorts\/}.
2371: %(We assume there is a ``computable equality" on these sorts.)
2372: 
2373: Given a standard signature \Sig,
2374: a \Sig-algebra $A$ is {\it standard\/} if
2375: %\itemm{($i$)}
2376: \,($i$) \,it is an expansion of \BBB;
2377: %\itemm{($ii$)}
2378: \,($ii$) \,the conditionals 
2379: have their standard interpretation in $A$,
2380: \ie, for $b\in\BB$ and $x,y \in \As$,
2381: $$
2382: \ifs_s(b,x,y) \ = \
2383: \cases
2384:    x \tif{$b = \ttt$}\\
2385:    y \tif{$b = \fff$};
2386: \endcases
2387: $$
2388: %\itemm{($iii$)}
2389: and \,($iii$)
2390: \,the equality operator $\eqs_s$ is interpreted as {\it identity} on each
2391: \Sig-equality sort $s$.
2392: 
2393: 
2394: Note that any many-sorted signature \Sig\
2395: can be {\it standardised} to a signature \,\SigBBB\
2396: \,by adjoining the sort \,\bools\ \,together
2397: with the standard boolean operations;
2398: and, correspondingly, any algebra $A$ can be standardised
2399: to an algebra \ABBB\
2400: \,by adjoining the algebra \BBB\
2401: and the conditional \,$\ifs_s$ \,at all \Sig-sorts $s$,
2402: and the equality operator \,$\eqs_s$
2403: \,at the specified equality sorts:
2404: $$
2405: \boxed{
2406: \matrix \format\l&\quad\l&\quad\l\\
2407: \algebras &\ABBB &\\
2408: \imports &A,\,\BBB&\\
2409: &\ifs_s:\BB\times A_s^2\to\As &(\sinSortSig),\\
2410: &\eqs_s: A_s^2\to\BB &(s\in\EqSortSig)\\
2411: \ends&&
2412: \endmatrix
2413: }
2414: $$
2415: Thus the standardisation of a \Sig-algebra $A$ depends on 
2416: the specification of \,\EqSortSig.
2417: These will be the sorts
2418: for which an equality test is considered to be ``computable"
2419: in some sense.
2420: 
2421: 
2422: \Examples
2423: ($a$) \,The simplest standard algebra is the algebra \BBB\ of the booleans.
2424: \smskipn
2425: ($b$) \,The standard algebra of naturals \NNN\
2426: is formed by standardising the algebra \NNNo\ 
2427: (Example ($b$) in \S1.1)
2428: with \,\nats\ \,as an equality sort,
2429: and, further, adjoining the order relation
2430: \lsnat\ as a boolean-valued operation on \NN:
2431: $$
2432: \boxed{
2433: \matrix \format\l&\quad\l\\
2434: \algebras &\NNN \\
2435: \imports &\NNNo, \,\BBB\\
2436: \functionss
2437: &\ifnat:\BB\times\NN^2\to\NN,\\
2438: &\eqnat,\,\lsnat:\NN^2\to\BB\\
2439: \ends&
2440: \endmatrix
2441: }
2442: $$
2443: ($c$) \,The standard algebra \,\RRR\ \,of reals
2444: is formed similarly by standardising the ring \RRRo\
2445: (Example ($c$) in \S1.1), with \,\reals\ \,{\it not\/} an equality sort.
2446: In fact, neither the equality nor the order relation on \RR\
2447: is included as an operation 
2448: on \reals. 
2449: (The significance of this is discussed later; \cf\ Remark 3 in \S5.3.)
2450: 
2451: 
2452: \StdAlgSig\ \,denotes the class of all standard \Sig-algebras.
2453: 
2454: \shead{1.4}{Adding counters: \ N-standard signatures and algebras}
2455: A standard signature \Sig\ is called {\it N-standard\/}
2456: if it includes (as well as \bools)
2457: the {\it numerical sort\/} \nats,
2458: and also function symbols for the
2459: {\it standard operations\/} of {\it zero\/}
2460: and {\it successor\/}, 
2461: as well as
2462: the {\it conditional\/} and {\it equality\/} and {\it order\/}
2463: on the naturals:
2464: $$
2465: \align
2466: 0\: \ \ &\to\nats\\
2467: \Ss\:\nats&\to\nats\\
2468: \ifnat\:\bools\times\nats&\to\nats\\
2469: \eqnat\:\nats^2&\to\bools\\
2470: \lsnat\:\nats^2&\to\bools.
2471: \endalign
2472: $$
2473: The corresponding \Sig-algebra $A$ is {\it N-standard} if the carrier
2474: $A_\natss$ is the set of natural numbers
2475: \ \NN = \{0,1,2,\dots\},
2476: and the standard operations (listed above) have their
2477: {\it standard interpretations\/} on \NN.
2478: \endpr
2479: 
2480: Note that any standard signature \Sig\ can be
2481: N-{\it standardised} to a signature \SigN\ 
2482: by adjoining the sort \nats\ and the operations 0, \Ss,
2483: \eqnat, \lsnat\ and \ifnat.
2484: Correspondingly,
2485: any standard \Sig-algebra $A$ can be N-{\it standardised\/} 
2486: to an algebra \AN\ 
2487: by adjoining the carrier \NN\
2488: together with the corresponding standard functions:
2489: $$
2490: \boxed{
2491: \matrix \format\l&\quad\l\\
2492: \algebras &\AN \\
2493: \imports &A,\,\NNN\\
2494: \ends&
2495: \endmatrix
2496: }
2497: $$
2498: 
2499: 
2500: \Examples
2501: ($a$) \,The simplest N-standard algebra is \NNN\ (Example ($b$) in \S1.3).
2502: \sn
2503: ($b$) \,The N-standard algebra \,\RRRN\ \,of reals is
2504: formed by N-standardising the standard real algebra \,\RRR\
2505: \,(Example ($c$) in \S1.3).
2506: \endpr
2507: 
2508: \NStdAlgSig\ \,denotes the class of all N-standard \Sig-algebras.
2509: 
2510: \pr{N-standardness Assumption}\sl
2511: We will assume throughout this paper
2512: that the signatures and algebras are N-standard,
2513: except where stated otherwise.
2514: \endpr
2515: 
2516: \mn
2517: We also consider a notion stricter than N-standardness.
2518: 
2519: \shead{1.5}{Strictly N-standard signatures and algebras}
2520: An N-standard signature \Sig\ is
2521: {\it strictly N-standard} 
2522: if the {\it only operations of \Sig\/}
2523: with range sort \nats\ or \bools\
2524: are the {\it standard numerical operations\/}
2525: \,$0,\,\Ss, \,\ifnat\,\eqnat, \,\lsnat$ (\S1.4)
2526: \,and the {\it boolean operations\/}
2527: \,$\trues,\,\falses, \,\ands,\,\ors,\,\nots$
2528: \,(\S1.1).
2529: An algebra is {\it strictly N-standard} if its signature is.
2530: 
2531: \Remarks
2532: \itemm{(1)}
2533: Any N-standardised signature and algebra
2534: are automatically strictly N-standard.
2535: \itemm{(2)}
2536: A strictly N-standard signature
2537: has no equality sorts other than \nats.
2538: \itemm{(3)}
2539: Any subterm of a term of sort \,\nats\ \,or \,\bools\
2540: of a strictly standard signature is itself of sort \,\nats\ \,or \,\bools.
2541: (Proved by structural induction on the term.)
2542: \endpr
2543: 
2544: 
2545: The notion of strict N-standardness will be used in Section 9.
2546: 
2547: \shead{1.6}{Adding arrays: \ Algebras \Ax\ of signature \Sigx}
2548: The significance of arrays for computation
2549: is that they provide
2550: {\it finite but unbounded memory}.
2551: 
2552: 
2553: Given a standard signature \Sig,
2554: and standard \Sig-algebra $A$, we expand \Sig\ and $A$
2555: in two stages:
2556: 
2557: \nin($1^\circ$) N-standardise these to form \SigN\ and \AN, as in \S1.3.
2558: 
2559: \nin($2^\circ$)
2560: Define, for each sort $s$ of \Sig, the carrier \Asx\
2561: to be the set of {\it finite sequences\/} or {\it arrays\/} \ax\
2562: over \As, of ``starred sort" \sx.
2563: 
2564: The reason for introducing starred sorts
2565: is the lack of effective coding
2566: of finite sequences within abstract algebras in general.
2567: (Note that, for simplicity, our definition excludes a starred sort \,\natsx,
2568: \,which would be redundant.)
2569: 
2570: 
2571: The resulting algebras \Ax\ have signature \Sigx,
2572: which expands \SigN\
2573: by including,
2574: for each sort $s$ of \Sig, the new starred sort \sx,
2575: and also the following new function symbols:
2576: 
2577: \nin($i$) the operator 
2578: \ $\Lgths_s: \,s^*\to \nats$, \ 
2579: where \,$\Lgths(\ax)$ \,is the length of the array \ax;
2580: 
2581: \smskipn
2582: ($ii$)  the application operator \ $\Aps_s: \,\sx\times\nats \to s$,
2583: \ where
2584: $$
2585: \Aps_s^A  (\ax, k ) \
2586: \ \cases
2587:      \ax  [ k ] \tif{$k<\Lgths(\ax)$}\\
2588:      \delbs \ow
2589:   \endcases
2590: $$
2591: where \,\delbs\ \,is the default value at sort $s$ 
2592: guaranteed by the Instantiation Assumption (\S1.1)\fn
2593: {We assume that $\ax[k]$ is undefined for $k\ge\tx{\ssf Lgth}(\ax)$.};
2594: 
2595: \smskipn
2596: ($iii$)  the null array \ $\Nulls_s: \sx$ \ of zero length;
2597: 
2598: \smskipn
2599: ($iv$)  the operator \ $\Updates_s: \,\sx\times\nats\times s \to s^*$, 
2600: \ where
2601: \ $\Updates_s^A  (\ax,n ,x )$ \ is the array \ $\bx\in\Asx$  
2602: of length $\Lgths(\bx) = \Lgths(\ax)$, \,such that
2603: for all $k< \Lgths(\ax)$
2604: $$
2605:    \bx  [k] \ = \
2606:       \cases
2607:          \ax [k]        \tif{$k \neq n$} \\
2608:             x           \tif{$k = n$}
2609:       \endcases
2610: $$
2611: ($v$)  the operator \ $\Newlengths_s: \ \sx\times\nats \to s^*$,
2612: \ where  \ $\Newlengths_s^A   (\ax, m )$  \ is the array \bx\ of length $m$ 
2613: such that for all $k<m$,
2614: $$
2615: \bx  [k] \ = \
2616:     \cases
2617:        \ax [k]        \ift{$k < \Lgths(\ax)$} \\
2618:        \delbs         \ift{$\Lgths(\ax) \le k <m$}
2619:     \endcases
2620: $$
2621: ($vi$) the {\it conditional\/} on \Asx\
2622: for each sort $s$; \ and
2623: \smskipn
2624: ($vii$) the {\it equality} operator on \Asx\ for each equality sort $s$.
2625: 
2626: \nin
2627: Note that
2628: \Ax\ is an N-standard \Sigx-{\it expansion} of $A$.
2629: 
2630: The justification for ($vii$) is that if a sort $s$ has
2631: ``computable" equality, then clearly so has the sort \sx,
2632: since it amounts to testing equality of finitely
2633: many pairs of objects of sort $s$, up to a computable length.
2634: 
2635: 
2636: 
2637: \Shead2{Proof systems and theories for \Sig-algebras}
2638: To reason about computations,
2639: we choose a first-order language based on \Sig\ as a specification
2640: language.
2641: 
2642: Note, in this connection, that the {\it operations\/} in \Sig\
2643: are used for  computation.
2644: In particular, boolean-valued operations
2645: are used for tests in computations.
2646: By contrast, for specification and reasoning about these algebras,
2647: we may add {\it predicates\/} to the language, which are
2648: not, in general, computable or testable.
2649: For example, our specification language 
2650: will include the equality predicate
2651: at all sorts (as we will see),
2652: whereas only the {\it equality sorts\/} 
2653: $s$ have the ``computable" equality operator \,$\eqs_s$
2654: (\S1.3).
2655: In writing specifications on the reals we may also add the `$<$' predicate
2656: (again, not computable, at least if defined totally),
2657: as we will do later (\S5.3) for the specification of
2658: approximable computability.  Note that 
2659: these predicates added to the language
2660: do not form part of the signature.
2661: Intuitively, think of the equality operation as
2662: a ``computable" boolean test, but the equality predicate
2663: as a ``provable" assertion of equality between two terms.
2664: \endpr
2665: 
2666: So let $\LangSig$ be the first order language
2667: over the signature \Sig, with the {\it equality predicate\/} at all sorts.
2668: The syntax of \LangSig\
2669: is generated as follows.
2670: For each \Sig-sort $s$
2671: there are countably many {\it variables\/}
2672: of sort $s$, denoted 
2673: \,$\att,\,\btt, \,\dots, \,\xtt,\,\ytt,\,\dots$\,.
2674: Next, for each \Sig-sort $s$,
2675: there are {\it terms\/} of sort $s$,
2676: generated from variables and the function
2677: symbols of \Sig\ according to
2678: the standard typing rules.
2679: %These are generated by the rules
2680: %$$
2681: %t \ ::= \ \xtt^s \mid F(\tup{t}{1}{n})
2682: %$$
2683: %where \,$s,\tup{s}{1}{n}$ \,are \Sig-sorts,
2684: %\ $F: \tup{s}{1}{n}\to s$ \ is a \Sig-function symbol
2685: %and \ $t_i\in \Term_{s_i}$ \,for \,$i=1,\dots,n$ \,($n\ge0$).
2686: We write \,$t^s$ \,or \,$t:s$ \,if $t$ is a term of sort $s$,
2687: and, for a product type $u = \tuptimes{s}1m$,
2688: we write \,$t:u$ \,if $t$ is a $u$-tuple of terms,
2689: \ie, an $m$-tuple of terms of type \,\tuptimes{s}1m.
2690: 
2691: The {\it atomic formulae} of \,\LangSig, \,then, are
2692: equations 
2693: \,($t_1^s = t_2^s$)
2694: \,between terms of sort $s$,
2695: for all \Sig-sorts $s$ (whether equality sorts or not),
2696: and the propositional constants \,\trues\ \,and \,\falses.
2697: {\it Formulae\/} of \LangSig\ are built up from these
2698: by the logical connectives
2699: \,$\land,\;\lor,\;\to,\;\neg$,
2700: \,and the quantifiers \,$\all_s$ and $\ex_s$\,
2701: \ for all sorts $s$ of \Sig.
2702: 
2703: \endpr
2704: 
2705: We will consider (in the following four subsections)
2706: four formal systems in \LangSig, 
2707: conveniently formulated as {\it sequent calculi\/}.
2708: The first is our basic system \FOLSig,
2709: full first order logic with equality over \Sig.
2710: The next two are subsystems of this,
2711: which will be used in Section 7.
2712: The final system is a subsystem of \FOLSig,
2713: extended by an infinitary proof rule.
2714: 
2715: Background information on sequent calculus proof systems
2716: can be found in \cite{tak}.
2717: 
2718: Note that we do {\it not\/} assume (N-)standardness of \Sig\ 
2719: in subsections 2.1 and 2.2 (only) below.
2720: 
2721: \shead{2.1}{\FOLSig: \ Full first order logic with equality over \Sig}
2722: This can be formulated in a system
2723: \,\LKeSig,
2724: \,which is an adaptation to the many-sorted signature \Sig\
2725: of the systems \LK\ and \LKe\ of \cite{gentzen,tak}.
2726: The atomic formulae are equations at all \Sig-sorts.
2727: 
2728: A {\it sequent} of \LKeSig\ is a construct of the form \ \GamDel,
2729: \ where \Gam\ and \Del\ are each finite sequences of formulae of \LangSig.
2730: 
2731: {\it Derivations\/} (of sequents) are then constructed
2732: from certain specified {\it initial sequents\/} (``axioms")
2733: by means of specified {\it inference rules\/}.
2734: 
2735: The system \LKe\ can be augmented in two ways:
2736: \sn
2737: ($a$) Adding {\it axioms of a theory},
2738: or rather all substitution instances of these,
2739: as initial sequents;
2740: \sn
2741: ($b$) Adding {\it induction\/} for a class \CCC\ of formulae
2742: (in case \Sig\ is N-standard),
2743: in the form of the inference rule
2744: $$
2745: \CCCIndSig:
2746: \quad{
2747: \GamDel, F(0)\qquad F(\att), \Pi \seqt \Lam, F(\Ss \att)
2748: \over
2749: \Gam,\Pi \seqt \Del,\Lam, F(t)}
2750: $$
2751: where the induction variable \att\ has sort \nats,
2752: and the induction formula $F(\att)$ belongs to the class \CCC.
2753: We write \,\IndSig\ \,for full \Sig-induction,
2754: \ie, where \CCC\ is the set of all first-order \Sig-formulae.
2755: 
2756: We will also be interested in the ``intuitionistic"
2757: version \,\CCCIndi\ \,of \,\CCCInd,
2758: in which the sequences \Del\ and \Lam\ above are empty.
2759: 
2760: Analogous augmentations can be made for the other systems considered below.
2761: 
2762: In the next three subsections we will consider 
2763: three further systems, the first two of which are subsystems of \FOLSig\
2764: and the third of which is a subsystem of \FOLSig\
2765: augmented by an infinitary \om-rule.
2766: These subsystems are,
2767: in fact, also subsystems of \LJeSig,
2768: which is an adaptation to \Sig\ of the ``intuitionistic" system \LJe\
2769: (\loccit),
2770: in which the sequents have only one formula on the rhs.
2771: (When we are working with these subsystems,
2772: the scheme \,\CCCInd\ \,will 
2773: consist of intuitionistic sequents, so that
2774: the sequences \Del\ and \Lam\ above are empty.)
2775: 
2776: 
2777: \shead{2.2}{\CondEqSig: \ conditional equational logic over \Sig}
2778: A {\it conditional equation} is a formula of the form
2779: $$
2780: P_1 \con \dots \con P_n \to P
2781: \tagx
2782: $$
2783: where $n \ge 0$ and $P_i$ and $P$ are equations.
2784: A {\it conditional equational theory}
2785: is a set of such formulae (or their universal closures).
2786: An {\it equational sequent} is a sequent of the form
2787: $$
2788: P_1, \,\dots, \,P_n \ \seqt \ P
2789: $$
2790: where $n \ge 0$ and $P_i$ and $P$ are equations.
2791: This sequent {\it corresponds to} the conditional equation ($*$).
2792: 
2793: The {\it initial sequents\/} are all substitution instances of 
2794: the \Sig-equality axioms
2795: (expressing that equality is a congruence relation with respect to \Sig),
2796: and the {\it inferences\/} are
2797: {\it structural inferences\/},
2798: {\it atomic cuts\/}
2799: and 
2800: {\it substitution\/} of terms for free variables in sequents.
2801: 
2802: \shead{2.3}{\CondBUEqSig: \ Conditional BU equational logic over \Sig}
2803: A {\it BU (bounded universal) quantifier\/} is a quantifier
2804: of the form `$\all \ztt < t$',
2805: where \,$\ztt:\nats$ \,and \,$t:\nats$.
2806: (The most elegant approach is to think of this 
2807: as a primitive construct, with its own
2808: introduction rule: see below.)
2809: A (\Sig-){\it BU equation} is formed by prefixing
2810: an equation by a string of 0 or more
2811: bounded universal quantifiers.
2812: A {\it conditional BU equation} is a formula of the form
2813: $$
2814: Q_1 \con \dots \con Q_n \to Q
2815: \tagxx
2816: $$
2817: \ where $n \ge 0$ and $Q_i$ and $Q$ are BU equations.
2818: A {\it conditional BU equational theory}
2819: is a set of such formulae (or their universal closures).
2820: A {\it BU equational sequent} is a sequent of the form
2821: $$
2822: Q_1, \,\dots, \,Q_n \ \seqt \ Q
2823: $$
2824: where $n \ge 0$ and $Q_i$ and $Q$ are BU equations.
2825: This sequent {\it corresponds to} the conditional BU equation
2826: ($**$).
2827: 
2828: The system \,\CondBUEqSig\
2829: consists of {\it BU equational sequents\/}.
2830: The initial sequents are the \Sig-equality axioms,
2831: as before, plus the {\it boundedness axioms}
2832: \TOL
2833: $$
2834: P(0),\dots,P(\ol{n - 1}) \ \seqt \ \all \ztt < \kbar P(\ztt)
2835: \tag"\BddAxSig:"
2836: $$
2837: \TOR
2838: for all \Sig-equations $P$
2839: and all \,\ninNN,
2840: \,where \nbar\ is the {\it numeral\/} for $n$,
2841: \ie, the term \,$\Ss\dots\Ss 0$ \,($n$ times `\Ss').
2842: The only inferences are {\it structural inferences},
2843: {\it cut\/}, {\it substitution\/},
2844: and the rules for the BU quantifiers:
2845: $$
2846: \all_b L :
2847: \ {{\Gam \seqt s < t \qquad Q(s),\Del \seqt Q}
2848:   \over
2849:   {\all \ztt<t Q(\ztt), \Gam, \Del \seqt Q}}
2850: \qqquad
2851: \all_b R:
2852: \ {{\att<t, \Gam \seqt Q(\att)}
2853:   \over
2854:   {\Gam \seqt \all \ztt<t Q(\ztt)}}
2855: $$
2856: where $s$ and $t$ are terms of sort \nats,
2857: \ `$s<t$' \ stands for \ `$\lsnat(s,t) = \trues$',
2858: \ and the variable \,$\att:\nats$
2859: \,is the `{\it eigenvariable}' of the inference $\all_b R$,
2860: which does not occur in the conclusion of that inference.
2861: 
2862: \Remarkn{\,(Boundedness axioms)}
2863: The boundedness axioms \,\BddAxSig\ \,hold (of course)
2864: in N-standard models.
2865: We remark here that they are derivable in \,\FOLSig\ 
2866: \,from the {\it N-standardness axioms\/}
2867: \,\NStdAxoSig\
2868: (a set of conditional equations
2869: defined in \S7.2),
2870: plus the single formula
2871: $$
2872: \ \ztt_1<\Ss \ztt_2 \ \longimp\  \ztt_1 < \ztt_2 \,\dis \,\ztt_1 = \ztt_2
2873: $$
2874: which is, however, {\it not a conditional
2875: BU equation\/}.
2876: This formula
2877: is derivable, in turn, in
2878: \,$\FOLSig +\QF\tx{-}\IndSig$
2879: \,(induction for quantifier-free formulae),
2880: from \,\NStdAxoSig.
2881: It is not clear whether the boundedness axioms
2882: are derivable in conditional BU equational logic alone
2883: from \,\NStdAxoSig,
2884: \,which is why we are adding them as axioms.
2885: \endpr
2886: 
2887: \shead{2.4}{\CondSUEqomSig: \ Conditional SU equational logic over \Sig}
2888: The final two systems that interest us,
2889: in this and the next subsection, 
2890: are not subsystems of \LKe,
2891: but {\it infinitary} systems.
2892: They will be used
2893: for another illustration of a Malcev-type theorem
2894: for N-standard algebras
2895: (see Section 6, Theorem 4).
2896: However they will not be used in the investigation
2897: of the relationship between computability 
2898: and algebraic specifiability in Section 8.
2899: 
2900: A (\Sig-){\it SU (standard universal) equation\/} is
2901: formed by prefixing
2902: an equation by a string of 0 or more
2903: universal quantifiers of sort \nats.
2904: A {\it conditional SU equation\/} is a formula of the form
2905: $$
2906: R_1 \con \dots \con R_n \to R
2907: \tagxxx
2908: $$
2909: where $n \ge 0$ and $R_i$ and $R$ are SU equations.
2910: A {\it conditional SU equational theory\/}
2911: is a set of such formulae (or their universal closures).
2912: An {\it SU equational sequent\/} is a sequent of the form
2913: $$
2914: R_1, \,\dots, \,R_n \ \seqt \ R
2915: $$
2916: where $n \ge 0$ and $R_i$ and $R$ are SU equations.
2917: This sequent {\it corresponds to} the conditional SU equation
2918: (\xxx).
2919: 
2920: The system \,\CondSUEqomSig\
2921: contains SU equational sequents.
2922: It contains the equality axioms and the following inferences:
2923: the structural inferences, cut, and the following
2924: rules for the universal number quantifier
2925: (where \,$t:\nats$):
2926: $$
2927: \all L :
2928: \ {{R(t),\Gam \seqt R}
2929:   \over
2930:   {\all \ztt R(\ztt), \Gam \seqt R}}
2931: \qqquad
2932: \allomR:
2933: \ {{\dots \ \Gam \seqt R(\bar n) \ \dots \quad (\tx{all} \ n \in \NN)}
2934:   \over
2935:   {\Gam \seqt \all \ztt R(\ztt)}}
2936: \tagx
2937: $$
2938: Note that the rule \,\allomR\ \,is actually an {\it infinitary \om-rule}.
2939: 
2940: 
2941: \shead{2.5}{\FOLomSig: \ full first-order logic with equality 
2942: and an \om-rule over \Sig}
2943: This modifies the system \,\FOLSig\ \,(\S2.1)
2944: by replacing the usual universal number quantifier rule \,\allR\
2945: \,by the infinitary rule \,\allomR\ \,(\S2.4),
2946: with also the corresponding rule \,\exomL\
2947: \,dually.
2948: We omit details, except to point out that
2949: \,$\FOL + \IndSig$
2950: can easily be interpreted in it.
2951: 
2952: 
2953: We write \,\EqSig, \,\BUEqSig\ \,and \,\SUEqSig\
2954: \,for the classes of equations, BU equations and SU equations (respectively)
2955: over \Sig.
2956: 
2957: 
2958: \shead{2.6}{Conservativity lemmas}
2959: One reason for the importance of
2960: (finite or infinite) conditional equational logic lies in the following
2961: lemmas.
2962: First we need a definition
2963: which will be 
2964: given again in context in Section 7.
2965: Let \,\FFF\ \,be a formal system
2966: (typically \,\CondEqSig\ \,or \,\CondEqomSig),
2967: and let $T$ be a theory over \Sig\
2968: (typically a conditional equational or
2969: \om-conditional equational theory). 
2970: We say that
2971: $T$ {\it determines \nats} in \FFF\
2972: if every closed term of sort \nats\ is, provably in \,\FFF\ \,from $T$,
2973: equal to a numeral.
2974: 
2975: \nin
2976: (1) \,(\FOL\ \,over \,\CondEq.)
2977: \ Let $E$ be a \Sig-conditional equational theory,
2978: \,and let \,\GamP\ \,be a \Sig-equational sequent.
2979: Then \,\GamP\ \,is provable from $E$ in \,\FOLSig\
2980: \,if, and only if, it is provable from $E$ in \,\CondEqSig.
2981: \endpr
2982: 
2983: \nin
2984: (2) \,($\FOL+\Ind$ \,over \,\CondEq.)
2985: \ Let $E$ be a \Sig-conditional equational theory
2986: \,which determines \,\nats\ \,in \,\CondEqSig,
2987: \,and let \,\GamP\ \,be a {\it closed\/} \Sig-equational sequent.
2988: Then \,\GamP\ \,is provable from $E$ in \,$\FOLSig+\IndSig$
2989: \,if, and only if, it is provable from $E$ in \,\CondEqSig.
2990: \endpr
2991: 
2992: \nin
2993: (3) \,($\FOL+\Ind$ \,over \,\CondBUEq.)
2994: \ Let $F$ be a \Sig-conditional BU equational theory
2995: \,which determines \,\nats\ \,in \,\CondBUEqSig,
2996: \,and let \,\GamQ\ \,be a {\it closed\/} \Sig-BU equational sequent.
2997: Then \,\GamQ\ \,is provable from $F$ in \,$\FOLSig+\IndSig$
2998: \,if, and only if, it is provable from $F$ in \,\CondBUEqSig.
2999: \endpr
3000: 
3001: \nin
3002: (4) \,(\FOLom\ \,over \,\CondSUEqom.)
3003: \ Let $G$ be a \Sig-conditional SU equational theory over \Sig\
3004: \,which determines \,\nats\ \,in \,\CondSUEqomSig,
3005: \,and let \,\GamR\ \,be a {\it closed\/} \Sig-conditional SU
3006: equational sequent.
3007: Then \,\GamR\ \,is provable from $G$ in \,\FOLomSig\
3008: \,if, and only if, it is provable from $G$ in \,\CondSUEqomSig.
3009: 
3010: 
3011: All four lemmas can be proved
3012: by cut elimination.
3013: We omit proofs, except to note briefly that the
3014: two conditions, that $E$ determines \,\nats\ \,
3015: and that \,\GamP\ \,is closed,
3016: are used in (2) and (3) to eliminate induction inferences,
3017: and in (4) to eliminate cuts of formulae universally or existentially
3018: quantified over \,\nats.
3019: 
3020: \Remarks
3021: (1) \,These conservativity lemmas (at least for simple equations)
3022: also follow from the Birkhoff-Mal'cev-type completeness theorems 1--4
3023: in Section 7.
3024: \sn
3025: (2) \,Infinitary systems come into their own
3026: when reasoning about infinite objects such as 
3027: infinite streams of data.
3028: Some applications in this direction,
3029: using a related infinitary system (\CondEqom),
3030: are given in \cite{tz:fef}.
3031: \endpr
3032: 
3033: 
3034: \Shead3{Specifiability of functions by theories}
3035: \sshead{3.1}{Specifiability over algebras and over classes of algebras}
3036: Recall from Section 2 that \,\LangSig\ \,is the first order 
3037: language over \Sig, with equality as the only predicate at all sorts.
3038: 
3039: A \Sig-{\it theory} is just a set $T$ of formulae in \LangSig.
3040: The {\it axioms} of $T$ are the formulae in $T$.
3041: We will be particularly interested in theories $T$
3042: satisfying certain syntactic conditions;
3043: for example, $T$ might be a set of conditional equations.
3044: This is considered more carefully in Section 7.
3045: 
3046: We are also interested (when \,\Sig\ \,is N-standard)
3047: in classes \KK\
3048: of the {\it N-standard models} of such \Sig-theories:
3049: \,$\KK = \NStdAlgSigT \subseteq \NStdAlgSig$.
3050: In this case we say also that \,\SigT\ \,is an
3051: (N-standard) {\it specification} for 
3052: the adt \,\KK.
3053: 
3054: {\it Assume, for the rest of this section, that \,\Sig,
3055: \Sigp\ and \Sigpp\ are N-standard signatures with 
3056: $\Sig \subset \Sig' \subset \Sig''$.
3057: Also, $A$ is an N-standard \Sig-algebra and 
3058: $A'$ is an N-standard \Sigp-algebra.
3059: Also, $T$ is a \Sig-theory,
3060: $T'$ is a \Sigp-theory and $T''$ is a \Sigpp-theory.}
3061: 
3062: Note that
3063: any expansion of a standard algebra
3064: is also standard, and
3065: any expansion of an N-standard algebra
3066: is also N-standard.
3067: 
3068: \Defn1
3069: Let $A_1'$ and $A_2'$ be two \Sigp-algebras with
3070: \,$A_1'\redSig = A_2'\redSig$.
3071: Then $A_1'$ and $A_2'$ are 
3072: {\it \Sigp/\Sig-isomorphic},
3073: written 
3074: \,$A_1' \cong_{\Sigp/\Sig} A_2'$,
3075: \ if there is a \Sigp-isomorphism from $A_1'$ to $A_2'$
3076: whose restriction to \Sig\ is the identity on $A_1'\redSig$.
3077: \endpr
3078: 
3079: \Defn2
3080: Suppose $A'$ is a \Sigp-expansion of $A$.
3081: We say that \,\SigpTp\ \,{\it specifies $A'$ over $A$\/} \,iff 
3082: $A'$ is the unique (up to \Sigp/\Sig-isomorphism) 
3083: \Sigp-expansion of $A$
3084: satisfying $T'$;
3085: \ in other words:
3086: \smskipn 
3087: ($i$) $A' \ttstile T'$; \ and 
3088: \smskipn 
3089: ($ii$) for all \Sigp-expansions $B'$ of $A$,
3090: \ if \,$B' \ttstile T'$ \, then \,$B' \cong_{\Sigp/\Sig} A'$.
3091: \endpr
3092: 
3093: We will occasionally write: \,``$T'$ specifies $A'$ over $A$"
3094: \,instead of \,``\SigpTp\ \,specifies $A'$ over $A$".
3095: 
3096: An important special case of Definition 2 is the following.
3097: 
3098: \Defn{${\bk 2}^{\bk f}$}
3099: Suppose \,$\Sig' = \Sig\cup\curly{\fs}$.
3100: We say that \,$\SigpTp$ \,{\it specifies $f$ over $A$\/} \,iff
3101: $f$ is the unique 
3102: (up to \Sigp/\Sig-isomorphism) 
3103: function on $A$ (of the type of \fs\,)
3104: such that \,$\Af\ttstile T'$.
3105: \endpr
3106: 
3107: 
3108: \Defn3
3109: Suppose $A'$ is a \Sigp-expansion of $A$.
3110: We say that \,\SigppTpp\ \,{\it specifies $A'$ over $A$} 
3111: {\it with  hidden sorts and/or functions} 
3112: \,iff $A'$ is the unique (up to \Sigp/\Sig-isomorphism) 
3113: \Sigp-expansion of $A$
3114: such that some \Sigpp-expansion of $A'$ satisfies $T''$;
3115: in other words:
3116: \itemm{($i$)}
3117: $A'$ is a \Sigp-reduct of a \Sigpp-model of $T''$; \ and
3118: \itemm{($ii$)}
3119: for all \Sigp-expansions $B'$ of $A$,
3120: \ if $B'$ is a \Sigp-reduct of a standard \Sigpp-model of $T''$,
3121: then \,$B' \cong_{\Sigp/\Sig} A'$.
3122: \endpr
3123: 
3124: Again, an
3125: important special case:
3126: 
3127: \Defn{${\bk 3}^{\bk f}$}
3128: Suppose \,$\Sig' = \Sig\cup\curly{\fs}$.
3129: We say that \,$\SigppTpp$ \,{\it specifies $f$ over $A$\/}
3130: {\it with  hidden sorts and/or functions} \,iff
3131: $f$ is the unique function on $A$ (of the type of \fs\,)
3132: such that some \Sigpp-expansion of \Af\ satisfies $T''$.
3133: \endpr
3134: 
3135: 
3136: \Defn4
3137: An operator \ $\Phi : \NStdAlgSig \to \NStdAlg(\Sig')$ 
3138: \ is {\it expanding (over \Sig)}
3139: iff for all N-standard \Sig-algebras $A$, 
3140: \,$\Phi(A)$ \,is a \Sigp-expansion of $A$,
3141: \ie, $\Phi(A)\redSig = A$.
3142: \endpr
3143: 
3144: \Example
3145: The array construction \,$A \mapsto \Ax$ 
3146: \,is an expanding operator.
3147: \endpr
3148: 
3149: {\it Assume further, for the rest of this section, that
3150: \ $\Phi : \NStdAlgSig \to \NStdAlg(\Sig')$ 
3151: \, is an expanding operator over \Sig,
3152: and that \,$\KK\sseq\NStdAlgSig$.}
3153: 
3154: \Notation
3155: (1) We will write \,\APhi\ \,for \,$\Phi(A)$.
3156: 
3157: \itemm{(2)}
3158: We write \KKPhi\ for
3159: (the closure w.r.t\. \Sigp-isomorphism of) the class
3160: $\{ \APhi \mid A \in \KK \} \subseteq \NStdAlg(\Sig')$.
3161: \endpr
3162: 
3163: \Defn5
3164: \itemm{($a$)\ }
3165: \SigpTp\ {\it specifies \Ph\ uniformly over} \KK\ \,iff 
3166: for all \AinKK,
3167: \SigpTp\ specifies \APhi\ over $A$.
3168: \itemm{($b$)\ }
3169: \SigpTp\ {\it specifies \Ph\ uniformly over} \Sig\ \,iff 
3170: \,\SigpTp\ specifies \Ph\ uniformly over 
3171: \nl
3172: \NStdAlgSig.
3173: \endpr
3174: 
3175: 
3176: 
3177: \Propn1
3178: Suppose \SigpTp\ specifies \Ph\ uniformly over \KK.
3179: \sn
3180: ($i$) \ \ For \,\AinKK, 
3181: \ $A \ttstile T \ \ \llongtofrom \ \ \APhi \ttstile T + T'$.
3182: \sn
3183: ($ii$) \ If \ $\KK = \NStdAlgSigT$, \,then 
3184: \ $\KKPhi = \NStdAlg(\Sig', \,T + T')$.
3185: \endpr
3186: 
3187: 
3188: \newpage
3189: 
3190: \Defn6
3191: \itemm{($a$)\ }
3192: \SigppTpp\ {\it specifies \Ph\ uniformly over \KK\ with 
3193: hidden sorts and/or functions}
3194: \,iff \,for all \AinKK,
3195: \,\SigppTpp\ \,specifies \APhi\ over $A$ with hidden sorts and/or functions.
3196: \itemm{($b$)\ }
3197: \SigppTpp\ {\it specifies \Ph\ uniformly over \Sig\ 
3198: with hidden sorts and/or functions} \,iff
3199: \,\SigppTpp\ \,specifies \Ph\ uniformly over \NStdAlgSig\ 
3200: with hidden sorts and/or 
3201: functions.
3202: \endpr
3203: 
3204: \Propn2
3205: Suppose \,\SigppTpp\ \,specifies \Ph\ uniformly over \Sig\
3206: with hidden sorts and/or functions.
3207: \sn
3208: ($i$) \ \ \ $A \ttstile T \ \llongtofrom 
3209: \ \tx{\APhi\ is a \Sigp-retract of a \Sigpp-model of \,$T+T''$}$.
3210: \sn
3211: ($ii$) \ If \ $\KK = \NStdAlgSigT$, \,then 
3212: \ $\KKPhi = \bigl(\NStdAlg(\Sig'', \,T + T'')\bigr) \,|\,_{\Sig'}$.
3213: \endpr
3214: 
3215: Interesting special cases of the above notions,
3216: in which the theories
3217: $T$, $T'$ and $T''$ are subject to certain
3218: syntactic conditions, are considered below (\S3.3) and in Section 7.
3219: First we give an important example of a specification
3220: of an expanding operator.
3221: 
3222: We write {\it conditional equational specification\/}
3223: and {\it conditional BU equational specification\/} for specifications
3224: in which the formulae are all conditional equations
3225: and conditional BU equations, respectively.
3226: 
3227: 
3228: \shead{3.2}{Conditional BU equational specification of the array construction}
3229: Let \,\ArrAxSig\,\  be the following set of axioms in $A$
3230: (dropping sort subscripts):
3231: $$
3232: \boxed{
3233: \gathered
3234: \Lgths(\Nulls) = 0, \\
3235: \lsnat(\ztt,\Lgths(\att)) = \falses \ \ \to\ \ \Aps(\att,\ztt) = \,\delb, \\
3236: \Lgths(\Updates(\att,\ztt,\xtt)) = \Lgths(\att), \\
3237: \eqnat(\ztt,\ztt_0) = \falses \ \ \to\ \ \Aps(\Updates(\att,\ztt_0,\xtt),\ztt) 
3238:   = \Aps(\att,\ztt), \\
3239: \lsnat(\ztt, \Lgths(\att)) = \trues \ 
3240:   \ \to \ \ \Aps(\Updates(\att,\ztt,\xtt),\ztt) = \xtt, \\
3241: \Lgths(\Newlengths(\att,\ztt)) = \ztt, \\
3242: \lsnat(\ztt,\ztt_1) = \trues \ \ \to\ \ \Aps(\Newlengths(\att,\ztt_1),\ztt) 
3243:   = \Aps(\att,\ztt),\\
3244: \Lgths(\att_1) = \Lgths(\att_2) \con 
3245: \all \ztt<\Lgths(\att_1) \bigl[\Aps(\att_1,\ztt) 
3246: = \Aps(\att_2,\ztt)\bigr]
3247: \ \ \to\ \ \att_1 = \att_2.
3248: \endgathered
3249: }
3250: $$
3251: %where `\defaults' is the default term of the appropriate sort.
3252: The last axiom relates equality on \sx\
3253: to equality on $s$, for all equality sorts $s$
3254: except \nats\ \,(since there is no starred sort \,\natsx, \,as 
3255: explained in \S1.6).
3256: 
3257: Note that all the axioms of \,\ArrAxSig\,\ are conditional equations,
3258: except for the last one, which is a conditional BU equation!
3259: 
3260: \Thmn1
3261: The specification \,$(\Sigx,\,\ArrAxSig)$ \,specifies the array construction
3262: \ $A \mapsto \Ax$ \ uniformly over \Sig.
3263: \endpr
3264: 
3265: \n{\bf{Proof \,(outline):}}
3266: %\,The proof, in outline, proceeds as follows.
3267: \,Given an N-standard \Sig-algebra $A$, and a \Sig-sort $s$,
3268: the axioms for `\Nulls', `\Newlengths' and `\Updates'
3269: guarantee that {\it at least\/} all the ``standard" arrays over \As\
3270: are present (or can be ``constructed").
3271: On the other hand, the axiom for array equality
3272: guarantees that there are no ``non-standard" arrays,
3273: \ie, no elements of \Axs\ other than these.
3274: \endpf
3275: 
3276: This array specification will be considered again, 
3277: from the viewpoints of specification of \muPRx\ computations
3278: (\S5.2),
3279: and initial algebra specifications (\S8.2).
3280: 
3281: \sheads{3.3}{Reducing conditional BU to 
3282: conditional equational specifications}
3283: \Thmn{2 \,(BU elimination)}
3284: Let \,$\Sig\sset\Sigp$,
3285: \,let $A'$ be a \Sigp-expansion of $A$, 
3286: \,and let $F$ be a conditional BU equational \Sigp-theory
3287: which specifies $A'$ over $A$.
3288: Then there is an expansion \Sigpp\ of \Sigp\ by function symbols,
3289: and a conditional equational \Sigpp-theory $E$ which specifies 
3290: $A'$ over $A$, with hidden functions.
3291: If $F$ contains $q$ occurrences of BU quantifiers,
3292: then \Sigpp\ expands \Sigp\ by $q$ new function symbols.
3293: Moreover, if
3294: $F$ is finite, with $e$ axioms (say),
3295: then so is $E$, with $e+4q$ axioms.
3296: \endpr
3297: 
3298: \Pf
3299: The idea is to incorporate in the signature,
3300: for each BU quantifier occurring in $F$,
3301: a {\it characteristic function}
3302: for that quantifier,
3303: or (expressed differently) a function which computes that quantifier.
3304: Consider (for notational simplicity)
3305: the case of an equation with a single BU quantifier
3306: $$
3307: \all \ztt < s(\xtt) \,\bigl[ t_1(\ztt,\xtt) = t_2(\ztt,\xtt)\bigr].
3308: \tagx
3309: $$
3310: with \,$\xtt:u$.
3311: (In the general case, we ``eliminate" the quantifiers
3312: successively, from the inside out.)
3313: We adjoin, for each such BU quantifier ($*$) occurring in $F$,
3314: a boolean-valued function symbol 
3315: $$
3316: \fs:\ \nats\times u \ \to \ \bools
3317: $$
3318: intended to satisfy in $A$ 
3319: $$
3320: \fs(n,x) = \trues\ \ \ \llongtofrom\ 
3321: \ \all z<n \bigl[t_1(z,x)=t_2(z,x)\bigr].
3322: $$
3323: for all \,\ninNN, \,\xinAu.
3324: This interpretation is imposed on \fs\ by
3325: {\it adjoining\/} to $F$ the following axioms giving the
3326: inductive definition for \fs:
3327: $$
3328: \gathered
3329: \fs(0,\xtt) = \trues\\
3330: \fs(\ztt,\xtt) = \trues\ \con t_1(\ztt,\xtt) = t_2(\ztt,\xtt) \ \ \to
3331:   \ \ \fs(\Ss \ztt,\xtt) = \trues\\
3332: \fs(\Ss \ztt,\xtt) = \trues \ \ \to\ \ \fs(\ztt,\xtt) = \trues\\
3333: \fs(\Ss \ztt,\xtt) = \trues \ \ \to\ \ t_1(\ztt,\xtt) = t_2(\ztt,x)
3334: \endgathered
3335: \tagxxx
3336: $$
3337: and {\it replacing} ($*$) in $F$ by 
3338: $$
3339: \fs(s(\xtt),\xtt) = \trues.
3340: \tagxxxx
3341: $$
3342: In this way we replace $F$ by a conditional
3343: equational \Sigpp-theory $E$, with the stated properties.
3344: \endpf
3345: 
3346: %\Remarks
3347: %(1) \,The number of axioms in $E$, 
3348: %may be much greater than that for $F$.
3349: %Thus we see here a tradeoff between the {\it cardinality}
3350: %of a specification and its {\it syntactic complexity}.
3351: %\sn
3352: Note that if $F$ contains infinitely many occurences of BU quantifiers,
3353: then \Sigpp\ contains, correspondingly, infinitely many new function symbols, 
3354: which is (strictly speaking) not allowed by our definition of signature,
3355: although it is harmless enough here.
3356: 
3357: We will return to this topic in the context
3358: of initial algebra specifications in \S7.7.
3359: \endpr
3360: 
3361: 
3362: 
3363: \Shead4{Computable functions}
3364: In this section we consider various notions of 
3365: computability over abstract algebras.
3366: (An equivalent approach, using an 
3367: imperative model of programming featuring the \qwhiles\ construct,
3368: was developed in \cite{tz:book,tz:hb}
3369: where the equivalence of these two approaches are explained.)
3370: In \S4.1 two computability classes are introduced.
3371: In \S4.2 two more classes are formed by adjoining 
3372: the \muu\ operator to these.
3373: 
3374: \shead{4.1}{\PRSigb\ and \PRxSigb\ computable functions}
3375: Given an N-standard signature \Sig,
3376: we define \PR\  {\it schemes\/} over \Sig\
3377: which generalise the schemes for primitive recursive functions 
3378: over \NN\ in \cite{kleene:im}.
3379: They
3380: define (total) functions $f$ either outright
3381: (as in the base cases ($i$)---($ii$) below)
3382: or from other functions ($g,\dots,$ $h,\dots$) 
3383: (as in the inductive cases ($iii$)---($v$)) as follows:
3384: 
3385: 
3386: \itemm{\bi(a)}
3387: {\bi Basic schemes: \,Initial functions\/}
3388: \itemm{($i$)}
3389: {\it Primitive \Sig-functions:}
3390: %corresponding to the primitive function and constant symbols of \Sig:
3391: $$
3392: \align
3393: f(x) \ &= \ F(x)\\
3394: f(x) \ &= \ c
3395: \endalign
3396: $$
3397: of type \,\utos,
3398: \,for all the primitive function symbols \,$F\:\utos$ 
3399: \,and constant symbols $c$ of \Sig, 
3400: where $x:u$. 
3401: %and $y:s$, for any \Sig-sort $s$.
3402: \itemm{($ii$)}
3403: {\it Projection:}
3404: $$
3405:       f (x) \ = \ x_i
3406: $$
3407: of type \,$u\to s_i$,  \,where \,$x = (\tup{x}1m)$ \,is of type
3408: \,$u = \tuptimes{s}1m$.
3409: 
3410: \itemm{\bi(b)}
3411: {\bi Inductive schemes:\/}
3412: \itemm{($iii$)}
3413: {\it Composition:}
3414: $$
3415:       f (x) \ = \ h ( g_1 (x) ,\ldots, g_m (x) )
3416: $$
3417: of type \utos,
3418: where \,$g_i\:u\to s_i$ ($i=1,\dots,m$) \,and 
3419: \,$h\:\tuptimes{s}1m\to s$.
3420: 
3421: \itemm{($iv$)}
3422: {\it Definition by cases:}
3423: $$
3424: f (b, x, y) \ = \
3425: \cases
3426: x \tif{b = \ttt} \\
3427: y \tif{b = \fff}
3428: \endcases
3429: $$
3430: of type \,$\bools\times s^2 \to s$.
3431: 
3432: \itemm{($v$)}
3433: {\it Simultaneous primitive recursion on \NN\/}:
3434: \,This defines, on each \AinNStdAlgSig,
3435: for fixed $m > 0$ (the degree of simultaneity),
3436: $n \geq 0$ (the number of parameters),
3437: and product types $u$
3438: and $v = \tuptimes{s}1m$,
3439: an $m$-tuple of functions
3440: \,$f = ( f_1 ,\ldots, f_m )$ \,with
3441: \,$f_i:\nats \times u \to s_i$, \,such that
3442: for all  \,\xinAu\
3443: \,and  $i = 1 ,\ldots, m$,
3444: $$
3445: \align
3446: f_i (0,x ) & \ = \ g_i (x) 	\\
3447: f_i ( z+1, x ) & \ = \
3448: h_i ( z,x, f_1 (z,x) ,\ldots, f_m (z,x) )
3449: \endalign
3450: $$
3451: where \,$g_i\:u\to s_i$ \,and \,$h_i\:\nats\times u \times v \to s_1$
3452: \,($i=1,\dots,m$). 
3453: 
3454: \n
3455: Note that
3456: the last scheme 
3457: uses the N-standardness of the algebras,
3458: \ie\ the carrier \NN.
3459: 
3460: For details of the syntax and semantics of PR schemes,
3461: see \cite[\S4.1.5]{tz:book},
3462: from which it can be seen that
3463: a scheme for a function
3464: contains (hereditarily) the schemes for
3465: all the auxiliary functions used to define it.
3466: 
3467: In the context of algebraic specification theory,
3468: it often turns out to be more convenient to work with
3469: PR {\it derivations\/} instead of PR schemes.
3470: A PR derivation is, roughly, a ``linear version"
3471: of a PR scheme, in which all the auxiliary functions
3472: are displayed in a list.  More precisely:
3473: 
3474: 
3475: \Defn{\,(PR derivation)}
3476: A {\it \PRSig\ derivation\/} \al\
3477: is a list of pairs 
3478: $$
3479: \al\ = \ ((f_0,\sig_0),\ (f_1,\sig_1),\ \dots \ (f_n,\sig_n))
3480: \tagx
3481: $$
3482: of functions (actually function symbols) $f_i$ and PR schemes $\sig_i$
3483: ($i=1,\dots,n$)
3484: where for each $i$, either $f_i$ is an initial function,
3485: or $f_i$ is defined by $\al_i$ from
3486: functions $f_j$, for certain $j<i$.
3487: The derivation \al\ is said to be a {\it PR derivation of\/} $f_n$,
3488: with {\it auxiliary functions\/} \tup{f}0{n-1}.
3489: The {\it type\/} of \al\ is the type of $f_n$.
3490: \endpr
3491: 
3492: \Notation
3493: A \,\PRSigutos\ \,scheme (or derivation)
3494: is a \,\PRSig\ \,scheme (or derivation) of type \,\utos.
3495: \endpr
3496: 
3497: \Remarks
3498: (1) \,The formalism of \PRSig\ derivations
3499: is equivalent to that of \PRSig\ schemes:
3500: from a PR scheme we can derive an  equivalent PR derivation
3501: by ``linearising" the subschemes, and conversely,
3502: given the derivation ($*$), the scheme $\sig_n$
3503: is equivalent to it.
3504: Below, we will usually work with derivations.
3505: \sn
3506: (2) \,A \,\PRSigutos\ 
3507: \,derivation \,$\al\:\utos$
3508: \,defines, or rather computes, a
3509: function \,$\falA\:\Au\to\As$, or, more generally,
3510: a family of functions  
3511: \curly{\falA \mid \AinNStdAlgSig}
3512: uniformly over \NStdAlgSig.
3513: \sn
3514: (3) \,We assume a standard G\"odel numbering of \PRSig\ derivations,
3515: writing \cnr{\al} for the G\"odel number of derivation \al.
3516: \endpr
3517: 
3518: It turns out that a broader class
3519: of functions provides a better generalisation of the
3520: notion of primitive recursiveness, namely
3521: {\it \PRx\ computability}.
3522: A function on $A$ is \PRxSig\ computable
3523: if it is defined by a PR derivation over \Sigx,
3524: interpreted on \Ax\
3525: (\ie, using starred sorts for the auxiliary functions 
3526: used in its definition).
3527:  
3528: \shead{4.2}{\muPRSigb\ and \muPRxSigb\ \,computable functions}
3529: The \,\muPR\ {\it schemes\/} over \Sig\
3530: are formed by adding to the PR schemes of \S4.1
3531: the inductive scheme: 
3532: 
3533: \itemm{($vi$)}
3534: {\it Least number {\rm or} \muu\ operator:}
3535: $$
3536: f (x) \ \simeq \ \mu  z [ g ( x , z ) = \ttt ]
3537: $$
3538: of type \,$u\to\nats$,  \,where
3539: \,$g:u\times\nats\to\bools$
3540: \,is \muPR.
3541: Here \,$f (x) \da z$ \,if, and only if, \,$g (x , y ) \da \fff$ 
3542: \,for each $y < z$ and $g (x ,z ) \da \ttt$.
3543: 
3544: \n
3545: Note that this scheme also uses the N-standardness of the algebra.
3546: Also, \muPR\ computable functions are, in general, {\it partial}.
3547: We use the notation \,$f(x)\da y$ \,to mean that $f(x)$
3548: is defined and equal to $y$.
3549: The notation \,`$\simeq$'
3550: \,means that the two sides are either 
3551: both defined and equal,
3552: or both undefined. The schemes for composition and simultaneous
3553: primitive recursion are correspondingly re-interpreted
3554: to allow for partial functions.
3555: 
3556: These schemes generalise the schemes given in \cite{kleene:im}
3557: for partial recursive functions
3558: over \NN.
3559: 
3560: As before, we can define
3561: the concepts of
3562: \muPRSig\ {\it derivations\/} and \muPRSig\ {\it computability\/}.
3563: 
3564: Again, a broader class turns out to be more useful, namely
3565: {\it \muPRx\ computability}.
3566: This is just \PRx\ computability with \,\muu.
3567:  
3568: \Notation
3569: \PRA\ \,is the class of functions \,\PR\ \,computable
3570: on $A$,
3571: \,and
3572: \,\PRAutos\ \,is the subclass of \,\PRA\ \,of functions of type \,\utos.
3573: Similarly for \,\PRxA, \,\muPRA, \,etc.
3574: \endpr
3575: 
3576: There are many other models of computability, due to 
3577: Moschovakis, Friedman, Shepherdson and others, 
3578: which turn out to be equivalent to \muPRx\ computability:
3579: see \cite[\S7]{tz:hb}.
3580: All these equivalences have led to the postulation of a 
3581: {\it generalised Church-Turing Thesis
3582: for deterministic computation of functions},
3583: which 
3584: can be roughly formulated as follows:
3585: 
3586: {\displaytext
3587: Computability of functions on many-sorted algebras 
3588: by deterministic algorithms
3589: can be formalised by \,\muPRx\ computability.
3590: 
3591: }
3592: 
3593: \shead{4.3}{Equivalent imperative programming models of computation}
3594: In \cite{tz:hb} we investigate computation on many-sorted \Sig-algebras,
3595: using imperative programming models:
3596: \,\WhileSig, \,based on the \,\qwhiles\ \,loop construct over \Sig,
3597: \,\ForSig, \,based similarly on the \,\qfors\ \,loop,
3598: and \WhilexSig\ \,and \,\ForxSig,
3599: \,which use arrays, \ie, auxiliary variables of starred sort over \Sig.
3600: 
3601: Writing \WhileA\ \,for the class of functions \While-computable on $A$, etc.,
3602: we can list the equivalences
3603: between the ``schematic" 
3604: and ``imperative" computational models as follows.
3605: 
3606: \Thm
3607: \itemm{($i$)}
3608: $\PRA \ = \ \ForA$
3609: \itemm{($ii$)}
3610: $\PRxA \ = \ \ForxA$
3611: \itemm{($iii$)}
3612: $\muPRA \ = \ \WhileA$
3613: \itemm{($iv$)}
3614: $\muPRxA \ = \ \WhilexA$,
3615: 
3616: \n
3617: in all cases, uniformly for \,\AinNStdAlgSig.
3618: \endpr
3619: 
3620: These results are all stated in \cite{tz:hb}, and 
3621: can be proved by the methods of \cite{tz:book}.
3622: 
3623: 
3624: \newpage
3625: 
3626: \shead{4.4}{Universal Function Theorem for \muPRxb}
3627: The following is a uniform version of a theorem proved in
3628: \cite[\S4.9]{tz:hb}
3629: (using the equivalent formalism of \,\Whilex\ \,programs):
3630: 
3631: \Thm
3632: For any \Sig-function type \utos,
3633: there is a \,\muPRxSig\ \,derivation \,$\ups:\natxutos$
3634: \,which is
3635: universal for \,\muPRxSig\ \,derivations of type \,\utos.
3636: \endpr
3637: 
3638: In other words, we can enumerate all the \muPRx\ derivations 
3639: of type \utos:
3640: $$
3641: \al_0,\ \al_1,\ \al_2,\ \dots
3642: $$
3643: so that, putting
3644: $$
3645: \varphi^A_i \ \eqdf \ \fs^A_{\al_i}\: \Au\ \to\ \As
3646: $$
3647: and
3648: $$
3649: \UnivusA \ = \ \fs^A_\ups: \NN\times\Au\to\As
3650: $$
3651: we have
3652: $$
3653: \UnivusA(i,a) \ = \ \varphi^A_i(a)
3654: $$
3655: for all \,\AinNStdAlgSig\ \,and \,$i=0,1,2,\dots$.
3656: %which is \muPRx\ computable, uniformly in $A$ and
3657: %in the types $u,s$.
3658: 
3659: \Remarksn{ \,(Canonical forms of \,\muPRxb\ \,derivations)}
3660: (1) \,From the construction of the universal \,\muPRxSigutos\ \,derivation
3661: \ups\
3662: \cite[\S4]{tz:hb},
3663: it can be seen that
3664: \ups\ uses the \muu-operator exactly once.
3665: \sn
3666: (2) \,For any \,\muPRxSigutos\ \,derivation \al,
3667: the universal derivation \,$\ups\:\natxutos$
3668: \,provides an equivalent
3669: {\it canonical  {\rm or} normal form derivation\/} \,\alhat, such that
3670: \,$\falhatA \,= \,\falA$
3671: \,for all N-standard \Sig-algebras $A$.
3672: This canonical derivation is formed 
3673: in a simple way from \,\ups, \,essentially
3674: by substituting the G\"odel number \cnr{\al} of \al\ 
3675: for the distinguished \,\nats\ \,variable of \ups,
3676: \,so that for all N-standard $A$,
3677: $$
3678: \fs_{\alhat}^A \ = \ \varphi_{\cnr{\al}}^A \ = \ \fs_\al^A.
3679: $$
3680: This is, in fact, a generalisation to \,\NStdAlgSig\
3681: \,of Kleene's Normal Form Theorem for (essentially) \,\muPR(\NNN)
3682: \,\cite{kleene:im}.
3683: \sn
3684: (3) \,From the constructions in (1) and (2) it follows that \,\alhat\
3685: \,also uses the \muu-operator exactly once, 
3686: and in such a way that for any N-standard $A$,
3687: 
3688: {\displaytext
3689: \falhatA\ \,is total if, and only if,
3690: this application of the \muu-operator is total on $A$.
3691: 
3692: }
3693: 
3694: \Shead5
3695: {Algebraic specifications for computable functions}
3696: We will consider functions $f$ {\it computable\/} on a \Sig-algebra,
3697: by \,\PR\ \,and \,\muPRx\ \,derivations,
3698: and show that they are 
3699: algebraically {\it specifiable\/} by
3700: conditional equational, and conditional BU equational, theories.
3701: 
3702: We will also consider,
3703: in the context of {\it metric algebras\/}
3704: (\ie, algebras with metrics  such that 
3705: the functions in the signature are continuous)
3706: a broader class of functions than \muPRx\ computable,
3707: namely those functions
3708: {\it uniformly approximable\/} by \muPRx\ computable functions,
3709: and show that such functions
3710: are specifiable by {\it conditional equations and inequalities\/},
3711: which are conditional formulae built up from inequalities ($t_1<t_2$)
3712: on the reals
3713: as well as equations ($t_1=t_2$) between terms of the same sort.
3714: 
3715: \shead{5.1}{Algebraic specifications for \,\PR\
3716: \,computable functions} 
3717: Let \Sig\ be an N-standard signature.  
3718: For each \PRSig\ derivation \al, there is a finite
3719: set \Eal\ of ``specifying equations" for the function $f$,
3720: as well as the auxiliary functions
3721: \,$g=(\tup{g}1{k_\al})$,
3722: \,defined by \al.
3723: 
3724: The set \Eal\ consists of {\it equations\/}
3725: in an expanded signature \,$\Sigal = \Sig \cup \{ \gal, \fal \}$,
3726: \,where \,$\gal \ident \gs_{\al,1},\dots,\gs_{\al,k_\al}$.
3727: It is defined by course of values induction on the length of the 
3728: derivation \al,
3729: with cases ($i$)---($v$) (\S4.1)
3730: according to the last scheme in \al.
3731: In fact, \Eal\ is formed by adjoining, in each case,
3732: specifying equation(s) like those shown for that case in \S4.1.
3733: These are simple (\ie, not conditional) equations;
3734: for example, in the case ($iv$) {\it definition by cases\/},
3735: there are two equations:
3736: $$
3737: \align
3738: \fs(\trues,\,\xtt,\,\ytt) \ &= \ \xtt \\
3739: \fs(\falses,\,\xtt,\,\ytt) \ &= \ \ytt
3740: \endalign
3741: $$
3742: and in the case ($v$) {\it simultaneous primitive recursion\/},
3743: there are \,$2m$ \,equations (where $m$ is the degree of simultaneity):
3744: $$
3745: \align
3746: \fs_i (0,\,\xtt ) & \ = \ \gs_i (\xtt)      \\
3747: \fs_i ( \ztt+1, \,\xtt ) & \ = \
3748:         \hs_i ( \ztt,\,\xtt, \,\fs_1 (\ztt,\xtt) ,\ldots, \fs_m (\ztt,\xtt) )
3749: \endalign
3750: $$
3751: for \,$i=1,\dots,m$.
3752: 
3753: Thus we have an effective map 
3754: \ $\al \mapsto (\Sigal, \Eal)$
3755: \ from \PRSig\ derivations to (simple) equational specifications.
3756: 
3757: Now for each \PR\ derivation \al\ and N-standard \Sig-algebra $A$, let
3758: \,\falA\ \,be the function on $A$ computed by \al,
3759: and let \,\galA\ \,be the corresponding auxiliary functions on $A$.
3760: Consider the operators
3761: $$
3762: A \longmapsto \AfalA
3763: \tagx
3764: $$
3765: and
3766: $$
3767: A \ \longmapsto \ \AgalAfalA.
3768: \tagxx
3769: $$
3770: 
3771: Recall the definition of uniform specification of an operator 
3772: over a class of \Sig-algebras (\S3.1, Definitons 5 and 6).
3773: 
3774: \Thmn{1 \,(Equational specification of PR functions)}
3775: For each \PRSig\ derivation \al,
3776: the equational specification \,$(\Sigal, \Eal)$ 
3777: \, specifies the operator ($**$)
3778: uniformly over 
3779: $A \in \NStdAlgSig$.
3780: Hence it specifies the operator
3781: ($*$) uniformly over all N-standard \Sig-algebras $A$,
3782: with hidden functions.
3783: \endpr
3784: 
3785: \Pf
3786: By course of values induction on the length of \al.
3787: \endpf
3788: 
3789: In other words, the equations \Eal\ specify not only \falA,
3790: but also the auxiliary functions \galA, uniformly over 
3791: all N-standard \Sig-algebras $A$.
3792: 
3793: Similarly with
3794: \PRx\ computability:
3795: for a \PRxSig\ derivation \al, 
3796: let \Eal\ be the set of
3797: specifying equations for the function \,\ \fal\
3798: and the auxiliary functions \gal\
3799: defined by \al, 
3800: in the signature \,$\Sigalx = \Sigx \cup \{ \gal, \fal \}$.
3801: 
3802: \Cor
3803: For each \PRxSig\ derivation \al,
3804: the equational specification \,\SigalxEal\
3805: specifies the operator
3806: ($*$) uniformly over \Sig,
3807: with hidden sorts and functions.
3808: \endpr
3809: 
3810: 
3811: \shead{5.2}{Algebraic specifications for \muPRxb\ computable functions}
3812: We now consider \,\muPRxSig\ \,derivations \al.
3813: For each such derivation there is again
3814: a finite set \Fal\ of ``specifying equations"
3815: for the function $f$ defined by \al\
3816: and its auxiliary functions $g$.
3817: This set is constructed like \Eal\ (\S5.1),
3818: by structural induction on \al.
3819: Now, however,
3820: \Fal\ consists of 
3821: {\it conditional BU equations}
3822: in a signature \ $\Sigalx = \Sigx \cup \{ \gal, \fal \}$,
3823: \ because of the new case, \ie,
3824: scheme ($vi$) for the \muu-operator
3825: (\S4.2),
3826: which results in the addition to \Fal\ of the conditional BU equation
3827: \TOL
3828: $$
3829: \all \ztt < \ytt \,(\gs_0(\xtt,\,\ztt) \,= \,\falses) \ 
3830: \con \ (\gs_0(\xtt,\,\ytt) \,= \,\trues) 
3831: \ \ \longimp \ \ \fs(\xtt) = \ytt .
3832: \tag{\Fmu}
3833: $$
3834: \TOR
3835: 
3836: Again we have an effective map 
3837: \ $\al \mapsto \SigalxFal$
3838: \ from \,\muPRxSig\ \,derivations to conditional BU equational specifications.
3839: 
3840: Now there are complications in the theory, 
3841: since \muPRx\ computable functions are, in general, partial.
3842: We intend to study specification theory for partial algebras
3843: systematically in a future paper.
3844: Here we limit ourselves to 
3845: the case where the \muPRx\ computable function
3846: is, in fact, total.
3847: 
3848: As before, for a \muPRx\ derivation \al\
3849: and an N-standard \Sig-algebra $A$, let
3850: \,\falA\ \,be the function on $A$ defined by \al,
3851: and let \,\galA\ \,be corresponding auxiliary functions on \Ax.
3852: A further problem is that, even if \,\falA\ \,is total,
3853: the functions \,\galA\ \,might not be.
3854: We will now show that we can, without loss of generality, 
3855: restrict attention to the case that the
3856: \,\galA\ \,are also total.
3857: We accomplish this
3858: by the use of the uniform derivations
3859: provided by the Universal Function Theorem for \muPRx\ (\S4.4),
3860: as we now explain.
3861: 
3862: \Def
3863: A \muPRx\ derivation \al\ is {\it total on\/} $A$ iff 
3864: the auxiliary functions \galA, as well as \falA, are all total on \Ax.
3865: \endpr
3866: 
3867: 
3868: \pr{Totality Lemma}
3869: Given any \muPRxSig\ derivation \,$\al\:\utos$,
3870: \,we can effectively find a \muPRxSig\ derivation \,$\alhat\:\utos$
3871: \,such that for any N-standard \Sig-algebra $A$,
3872: \itemm{$(i)$}
3873: $\falhatA \,= \,\falA$;
3874: \itemm{$(ii)$}
3875: if \,\falA\ \,is total, then \alhat\ is total on $A$.
3876: \endpr
3877: 
3878: \Pf
3879: This follows from the Universal Function Theorem
3880: and the three remarks following it (\S4.4).
3881: \endpf
3882: 
3883: Now consider the operators ($*$) (\S5.1 above)
3884: and
3885: $$
3886: A \ \longmapsto \ (\Ax,\,\galhatA,\,\falhatA)
3887: \tagxxx
3888: $$
3889: where \alhat\ is constructed from \al\ as in the totality lemma.
3890: %(Recall that \,$\falhatA = \falA$ \,on all N-standard \Sig-structures $A$.)
3891: Let \,$\Sigalx = \Sigx \cup \curly{\galhat,\falhat}$.
3892: Recall the definition of 
3893: the array specification \,\ArrAxSig\ \,in \S3.2,
3894: and the definition of 
3895: the conditional BU specification
3896: \,\Falhat\ \,of \,\falhatA\ ($= \falA$).
3897: 
3898: 
3899: \Thmn{2 \,(Conditional BU equational specification of \muPRxb\ functions)}
3900: \nl
3901: For each 
3902: \muPRxSig\ derivation \al, let
3903: $$
3904: \Falx \ \eqdf \ \ArrAx(\Sig) \,+ \,\Falhat
3905: $$
3906: where \alhat\ is constructed from \al\ 
3907: as in the totality lemma.
3908: Then the conditional BU equational specification
3909: \,$(\Sigalx,\,\Falx)$\,\ specifies the operator (\xxx)
3910: in the following sense:
3911: for any $A$ on which \falA\ is total,
3912: $$
3913: (\Ax,\,\galhatA,\,\falhatA)\ \ttstile \ \Falx.
3914: $$
3915: Hence
3916: \,$(\Sigalx,\,\Falx)$
3917: \,specifies the operator $(*)$ 
3918: uniformly over all N-standard \Sig-algebras $A$
3919: \,on which \,\falA\ \,is total,
3920: with hidden sorts and functions.
3921: \endpr
3922: 
3923: \Pf
3924: As with Theorem 1, by course of values induction on the length of \al.
3925: \endpf
3926: 
3927: 
3928: Note that the specification given in Theorem 2 is uniform
3929: over all N-standard \Sig-algebras $A$
3930: on which \,\al\ \,is total.
3931: In fact, there is a stronger form of uniformity
3932: for \muPRx\ computability,
3933: following from the Universal Function Theorem for \muPRx.
3934: (Actually, this is already implicit in the construction of
3935: the derivation \alhat\ in the
3936: totality lemma, which is really a normal form lemma for \muPRx\ derivations.)
3937: 
3938: 
3939: \Thmn{3 \,(Universal conditional BU equational specification)}
3940: For each \Sig-function type \,\utos\
3941: \,we can effectively find a 
3942: signature \,\Sigxus\ \,which expands \Sigx\ 
3943: by function symbols, and a
3944: finite conditional BU equational specification
3945: \,$(\Sigxus,\,\FUus(\ztt))$
3946: \,which is 
3947: universal for specifications of total \,\muPRxSig-computable functions
3948: of that type,
3949: in the following sense:
3950: it contains a distinguished number variable \,\ztt\
3951: \,such that 
3952: for each \,\muPRxSig\ \,derivation \,$\al:\utos$,
3953: \,and each N-standard \Sig-algebra $A$,
3954: if \,\falA\ \,is total on $A$,
3955: then 
3956: \,$(\Sigxus,\,\FUus(\kbar))$,
3957: \,where \,$k=\cnr{\al}$,
3958: \,specifies \,\falA\ \,on $A$, with hidden sorts and functions.
3959: \endpr
3960: 
3961: (Here \,$\FUus(\kbar)$
3962: \,is the result of substituting the numeral \kbar\ for \ztt\ in 
3963: \,$\FUus(\ztt)$.)
3964: 
3965: Next, by the BU Reduction Theorem (Theorem 2 in Section 3),
3966: we derive as a corollary to Theorem 3:
3967: 
3968: \Thmn{4 \,(Universal conditional equational specification)}
3969: For each \Sig-function type \,\utos\
3970: \,we can effectively find a 
3971: signature \,\Sigxusp\ \,which expands \,\Sigxus\  
3972: \,(of Theorem 3)
3973: by function symbols, and a
3974: finite conditional specification
3975: \,$(\Sigxusp,\,\EUus(\ztt))$
3976: \,which is 
3977: universal for specifications of total \,\muPRxSig-computable functions
3978: of that type,
3979: in the following sense:
3980: it contains a distinguished number variable \,\ztt\
3981: \,such that 
3982: for each \,\muPRxSig\ \,derivation \,$\al:\utos$,
3983: \,and each N-standard \Sig-algebra $A$, 
3984: if \falA\ is total on $A$,
3985: \,then 
3986: \,$(\Sigxusp,\,\EUus(\kbar))$,
3987: \,where \,$k=\cnr{\al}$,
3988: \,specifies \,\falA\ \,on $A$, with hidden sorts and functions.
3989: \endpr
3990: 
3991: From the above uniformity theorems it follows trivially that 
3992: for a given \Sig-function type \,\utos\
3993: \,there is a uniform bound to the lengths of conditional
3994: BU \Sigx-specifications,
3995: {\it or\/} conditional
3996: equational \Sigx-specifications respectively,
3997: for total \,\muPRx-computable functions 
3998: on N-standard \Sig-algebras.
3999: \endpr
4000: 
4001: 
4002: %\Remarkn{3 \,(Herbrand-G\"odel computability on \NN)}
4003: %As a particular case of the above, with $A \NNN$
4004: %\,(\S1.3; 
4005: %and recall that \,\NNN\str\ can be coded in \NNN\ \cite{tz:hb}),
4006: %we derive the classical result that any
4007: %total \,\muPR\ \,computable function on \NNN\
4008: %can be specified by a finite set of conditional equations over \NN\
4009: %--- actually, simple equations in this special case ---
4010: %with hidden functions \cite[\S57]{kleene:im}.
4011: %(This can be strengthened to an equivalence:
4012: %\,see the Remark at the end of Section 8).
4013: %\endpr
4014: 
4015: 
4016: \Shead6{Algebraic specifications for computably approximable functions}
4017: We have shown that 
4018: $$
4019: \tx{\sl computability $\implies$ algebraic specifiability}
4020: $$
4021: where (for example) if ``computability" means \,\muPRx\
4022: \,(or, equivalently, \,\Whilex) \,compu\-tability,
4023: then ``algebraic specifiability" means specifiability
4024: by conditional BU equations.
4025: 
4026: It is natural to ask in what sense a converse holds.
4027: We will see (below) that a full converse to the above cannot be expected,
4028: since algebraic specifiability is more powerful,
4029: in some sense, than \muPRx-computability.
4030: (In Section 7 we will investigate partial converses.)
4031: We show here in fact that,
4032: on metric algebras,
4033: $$
4034: \tx{\sl computable approximability\ $\implies$ \ algebraic specifiability.}
4035: $$
4036: ``Computable approximability", to be defined shortly,
4037: is a strong extension of the notion
4038: of computability;
4039: while ``algebraic specifiability" will be (re-)defined 
4040: so as to permit the order relation (as well as equality) 
4041: between pairs of terms of sort \reals.
4042: 
4043: \shead{6.1}{Metric algebras}
4044: We refer to \cite{tz:top} and \cite[\S6]{tz:hb} for definitions of
4045: (total) {\it metric algebra\/} and related concepts.
4046: We review some definitions and results from these references.
4047: (Note that in these references the subject is discussed
4048: in the broader context of {\it partial algebras\/}.)
4049: 
4050: A {\it metric \Sig-algebra \Ad, based on a \Sig-algebra\/} $A$,
4051: is an algebra of the form
4052: $$
4053: \boxed{
4054: \matrix \format\l&\quad\l\\
4055: \algebras &\Ad \\
4056: \imports &A \\
4057: \carrierss & \RR \\
4058: \functionss&d_s:A_s^2\to\RR \quad (\sinSortSig)\\
4059: \ends&
4060: \endmatrix
4061: }
4062: $$
4063: where $d$ is a family \,\ang{d_s\mid \sinSortSig}
4064: \,of metrics $d_s$ on the carriers \As, where
4065: (in the case that $A$ is standard or N-standard)
4066: \,$d_\boolss$ \,and \,$d_\natss$ \,are the discrete metrics
4067: on \,\BB\ \,and \,\NN\ \,
4068: respectively,
4069: and such that the primitive functions on $A$
4070: are all continuous under these metrics.
4071: 
4072: We will often write `$d$' for the metric $d_s$, and
4073: `$A$' for the metric algebra \Ad.
4074: 
4075: \Examples
4076: ($a$)
4077: \,The metric algebra \,\RRRd\
4078: \,on the reals (``$d$" for ``distance") is defined by
4079: $$
4080: \boxed{
4081: \matrix \format\l&\quad\l\\
4082: \algebras &\RRRd \\
4083: \imports &\RRRN\\
4084: \functionss&\divN:\RR\times\NN\to\RR,\\
4085: &d_\realss:\RR^2\to\RR,\\
4086: &d_\natss:\NN^2\to\RR,\\
4087: &d_\boolss:\BB^2\to\RR\\
4088: \ends&
4089: \endmatrix
4090: }
4091: $$
4092: where \,\RRRN\ \,is the N-standard algebra of reals (\S1.4, Example ($b$)),
4093: \divN\ is division of reals by naturals
4094: (where division by zero is defined as zero),
4095: the metric on \,\RR\ \,is the standard one,
4096: and the metrics on \,\NN\ \,and \,\BB\ \,are discrete.
4097: 
4098: Note that \,\RRRd\ \,does not contain the (total) boolean-valued
4099: functions \eqreal\ or \lsreal,
4100: since they are not continuous with respect
4101: to this metric.
4102: %(\cf\ the partial functions \eqp\ and \lsp\ of \RRRp).
4103: %It is therefore not an expansion
4104: %of the standard algebra \RRR\ of reals (\S2.2, Example ($c$))
4105: %which contains \eqreal.
4106: %(Compare the N-standardisation \RRRN\ of \RRR\ (\S2.3, Example ($b$))
4107: %which does contain \eqreal).
4108: 
4109: \smskipn ($b$)
4110: \,The interval metric algebra \,\IIId:
4111: \ Here the unit interval
4112: \,$I = [0,1]$
4113: \,is included as a separate carrier of
4114: sort `\intvls', again with the usual metric.
4115: This is useful for studying real continuous functions
4116: with compact domain.
4117: (We could also choose \,$I = [-1,1]$, \,etc.)
4118: The algebra \,\IIId\ \,is defined by
4119: $$
4120: \boxed{
4121: \matrix \format\l&\quad\l\\
4122: \algebras &\IIId \\
4123: \imports &\RRRd\\
4124: \carrierss & I\\
4125: \functionss &\iI:I\to\RR,\\
4126: &d_\intvlss:I^2\to\RR\\
4127: \ends&
4128: \endmatrix
4129: }
4130: $$
4131: where \iI\ is the embedding of $I$ into \,\RR.
4132: Because of the importance of the metric algebra \IIId\ as
4133: in our computation theory, let us review 
4134: its construction.
4135: It contains \RR\ with its standard ring operations,
4136: \NN\ and \BB\ with their standard operations,
4137: functions for definition by cases on \RR, \NN\ and \BB,
4138: division of reals by naturals,
4139: the unit line interval \II\ and its embedding in \RR,
4140: and the standard metrics on all four carriers.
4141: \endpr
4142: 
4143: 
4144: \shead{6.2}{Definitions and theorems}
4145: Now let $A$ be an N-standard metric \Sig-algebra with metric $d$.
4146: 
4147: \Defn{1 \,(\muPRxb\ computably approximable functions)}
4148: A total function \,$f:\Au \to \As$ \,on $A$
4149: is \,\muPRx\ {\it computably approximable,
4150: uniformly on\/} $A$,
4151: if there is a total \,\muPRx\ computable function
4152: $$
4153: G:\NN\times \Au\ \ \to \ \As
4154: $$
4155: and a total computable function \,$g:\NN\to\NN$
4156: on $A$ such that, putting
4157: \,$G_n \eqdf G(n,\,\cdot\,)$,
4158: \,the sequence $G_n$ {\it approximates $f$ uniformly\/} on \Au\
4159: with modulus of approximation $g$,
4160: \ie, for all $n$, $k$ and all $x \in \Au$,
4161: $$
4162: k\ge g(n) \ \implies\ d(G_k(x),f(x)) \ < \ 2^{-n}.
4163: $$
4164: \endpr
4165: 
4166: 
4167: \Defn{2 \,(Fast \,\muPRxb\ computably approximable functions)}
4168: A total function \,$f:\Au \to \As$ \,on $A$
4169: is {\it fast \,\muPRx\ computably approximable,
4170: uniformly on\/} $A$,
4171: if there is a total \,\muPRx\ computable function
4172: \ $G:\NN\times \Au\ \,\to \,\As$
4173: \ on $A$ such that, putting
4174: \,$G_n \eqdf G(n,\,\cdot\,)$,
4175: \,the sequence $G_n$ {\it approximates $f$ uniformly fast\/} on \Au,
4176: \ie, for all $n$ and all $x \in \Au$,
4177: $$
4178: d(G_n(x),f(x)) \ < \ 2^{-n}.
4179: \tagx
4180: $$
4181: \Remarkn1
4182: It is easy to see that Definitions 1 and 2 are equivalent;
4183: for given a (computable) approximating sequence $G_n$
4184: with modulus of approximation $g$,
4185: we can effectively replace it by the fast (computable)
4186: approximating sequence \,$G_n' \eqdf G_n\circ g$.
4187: We will therefore usually tacitly assume w.l.o.g. that
4188: our approximating sequences are fast,
4189: and work with the (simpler) Definition 2.
4190: \endpr
4191: 
4192: \Defn{3 \,(Fast \muPRxb\ approximating derivations)}
4193: Let $A$ be a metric \Sig-algebra.
4194: A derivation 
4195: \,$\gam\:\natxutos$
4196: \,is an {\it approximating derivation for\/} 
4197: a total function
4198: \,$f\:\Au\to\As$ 
4199: \,if 
4200: \,($i$) \,the function \,$G:\NN\times\Au\to\As$ \,computed by \,\gam\ \,on $A$
4201: is total on $A$; and ($ii$) \,$G$ and $f$
4202: satisfy ($*$) above.
4203: \endpr
4204: Note that {\it at most one\/} function is
4205: \,\muPRx\ \,approximable by a given derivation on any metric algebra.
4206: 
4207: 
4208: \Defn{4 \,(Conditional equation or inequality)}
4209: \nl
4210: ($a$) \,A {\it conditional equation or inequality \/} is defined
4211: like a conditional equation, except that the atomic
4212: statements may be {\it either\/} equations ($t_1 = t_2$)
4213: between terms of the same sort,
4214: {\it or\/}
4215: order 
4216: ($t_1<t_2$)
4217: between terms of sort \reals.
4218: \sn
4219: ($b$) A {\it conditional BU equation or inequality\/} 
4220: is defined like a conditional equation, except that the atomic
4221: statements may be {\it either\/} equations ($t_1=t_2$)
4222: or BU equations 
4223: \linebreak
4224: ($\all \ztt<t\,[\,t_1=t_2\,]$)
4225: between terms of the same sort,
4226: %(where \ztt\ and $t$ have sort \nats),
4227: or inequalities
4228: ($t_1<t_2$)
4229: between terms of sort \reals.
4230: \endpr
4231: 
4232: \Remarkn2
4233: Here we are treating the order relation on the reals
4234: as a new atomic predicate of \,\LangSigx\
4235: \,(like equality), {\it not\/} as a boolean-valued operation
4236: $$
4237: \lsreal:\reals^2\to\bools.
4238: $$
4239: This predicate (unlike such an operation)
4240: does not form part of the signature \,\Sig.
4241: (See the analogous Remark concerning equality
4242: at the beginning of Section 2.)
4243: \endpr
4244: 
4245: Note also that ($*$) is a conditional inequality
4246: (actually a simple inequality, without an antecedent).
4247: 
4248: \Notation
4249: We write \,\muPRxApproxA\ \,for the class of \muPRx\ computably
4250: approximable functions on $A$, and
4251: \,\muPRxApproxAutos\ \,for those of type \,\utos.
4252: \endpr
4253: 
4254: In preparation for the next theorem,
4255: we note that 
4256: a ``Universal Function Theorem"
4257: holds for \,\muPRxApproxA,
4258: \,in the following sense. 
4259: For any \Sig-function type \utos, let
4260: $$
4261: H^\us\ \eqdf\ \Univ^A_\natxutoss:
4262: \ \NN\times\NN\times \Au\ \to\ \As
4263: $$
4264: be the universal function for
4265: \,$\muPRxA_\natxutoss$
4266: \,given by the Universal Function Theorem (\S4.4).
4267: Then for each \,$f\in\muPRxApproxAutos$,
4268: there is a number $k$ such that
4269: (writing \,$H^\us_{k,n} = H^\us(k,n,\,\cdot\,)$)
4270: \,the sequence of functions
4271: \,$H^\us_{k,0},\,H^\us_{k,1},\,H^\us_{k,2},\,\dots$
4272: \,uniformly approximates $f$.
4273: The number $k$ can be chosen as the G\"odel number of an
4274: approximating derivation for $f$,
4275: \ie, a derivation \,$\gam\:\natxutos$
4276: \,of the function \,$H^\us(k,\,\cdot\,)$. 
4277: Combining this with Theorem 3 of Section 5, we obtain:
4278: 
4279: 
4280: \Thmn{1 \,(Universal conditional BU specification 
4281: of \,\muPRxb\ approximable functions)}
4282: For each \Sig-function type \,\utos\
4283: \,we can effectively find a
4284: signature \,\Sigxus\ \,which expands \Sigx\
4285: by function symbols, and a
4286: finite conditional 
4287: BU specification \,$(\Sigxus,$ $\FVus(\ztt))$
4288: \,consisting of conditional BU equations and inequalities,
4289: \,which is
4290: universal for specifications of 
4291: \,\muPRxSig-computably approximable functions of that type,
4292: in the following sense:
4293: it contains a distinguished number variable \,\ztt\
4294: \,such that
4295: for each \,\muPRxSig\ \,derivation 
4296: \,$\gam\:\natxutos$
4297: \,and each metric \Sig-algebra $A$
4298: and total function \,$f\:\Au\to\As$,
4299: \,if \,\gam\ \,is an approximating derivation for $f$ on $A$,
4300: then
4301: \,$(\Sigxus,\,\FVus(\kbar))$,
4302: \,where \,$k=\cnr{\gam}$,
4303: \,specifies \,$f$ \,on $A$, with hidden sorts and functions.
4304: \endpr
4305: 
4306: 
4307: \Pf
4308: Define
4309: $$
4310: \FVus(\ztt) \ \eqdf\ \FUus(\ztt) + E_{\invexpss} + E_*(\ztt)
4311: $$
4312: where \,$\FUus(\ztt)$ \,is the conditional BU equational specification
4313: constructed as in Theorem 3 in Section 5 for 
4314: the universal function $H$ for \,\muPRx\ \,computable functions
4315: of type 
4316: \linebreak
4317: \,$\nats \times u \to s$,
4318: \,$E_{\invexpss}$ \,is the set of specifying equations for
4319: the computable real-valued function
4320: \,$\invexps(n) = 2^{-n}$,
4321: \,\ie, its recursive definition: 
4322: $$
4323: \invexps(0) \ = \ 1,\qquad \invexps(\Ss \ntt) \ = \ \divN(\invexps(\ntt),\,2),
4324: $$
4325: and \,$E_*(\ztt)$ \,is the inequality ($*$) above ---
4326: or rather, its formal version
4327: $$
4328: \ds(\Hs(\ztt, \,\ntt,\,\xtt), \,\fs(\xtt)) \ < \ \invexps(\ntt).
4329: \tagxx
4330: $$
4331: (Note that every \,\muPRx\ \,function \,$G\:\NN\times\Au\to\As$
4332: \,is obtainable from $H$ by substituting the G\"odel number
4333: of its derivation for the first argument \,\ztt\ \,of $H$.)
4334: Let \,\Sigxus\ \,be the signature formed by
4335: expanding \,\Sigx\ \,by symbols for \,\Hs\ \,and 
4336: \,\invexps, \,as well as the auxiliary functions 
4337: used in their computations.
4338: Then for any \muPRx\ derivation \,$\gam\:\natxutos$,
4339: \,metric \Sig-algebra $A$
4340: and function \,$f\:\NN\times\Au\to\As$,
4341: \,if \gam\ is an
4342: approximating derivation for $f$
4343: then \,$(\Sigxus,\,\FVus(\kbar))$
4344: \,(where \,$k=\cnr{\gam}$)
4345: \,is a conditional BU specification of $f$ on $A$,
4346: with hidden sorts and functions,
4347: consisting of conditional BU equations and inequalities
4348: \endpf
4349: 
4350: Now, by adapting the BU Reduction Theorem (\S3.3)
4351: to specifications with inequalities,
4352: we derive as a corollary to Theorem 1:
4353: 
4354: \newpage
4355: 
4356: \Thmn{2 \,(Universal conditional specification 
4357: of \,\muPRxb\ approximable functions)}
4358: For each \Sig-function type \,\utos\
4359: \,we can effectively find a
4360: signature \,\Sigxusp\ \,which expands \,\Sigxus\  
4361: \,(of Theorem 1)
4362: by function symbols, and a
4363: finite conditional 
4364: specification \,$(\Sigxusp,\,\EVus(\ztt))$,
4365: \,consisting of conditional equations and inequalities,
4366: \,which is
4367: universal for specifications of approximably
4368: \,\muPRxSig-computable functions of that type,
4369: in the following sense:
4370: it contains a distinguished number variable \,\ztt\
4371: \,such that
4372: for each \,\muPRxSig\ \,derivation 
4373: \,$\gam\:\natxutos$
4374: \,and each metric \Sig-algebra $A$
4375: and total function 
4376: \,$f\:\Au\to\As$,
4377: \,if \,\gam\ \,is an approximating derivation for $f$ on $A$,
4378: then
4379: \,$(\Sigxusp,\,\EVus(\kbar))$,
4380: \,where \,$k=\cnr{\gam}$,
4381: \,specifies \,$f$ \,on $A$, with hidden sorts and functions.
4382: \endpr
4383: 
4384: 
4385: \Remarkn{3 \,(Replacing  the order predicate by a boolean-valued operation)}
4386: The order relation in the above specification is used in one place only: 
4387: in the (conditional) relation ($*$) (or ($**$)).
4388: In fact (Remark 2 above notwithstanding)
4389: ($*$) {\it could\/} be interpreted as a conditional {\it equation\/}
4390: (so that $f$ is {\it conditionally equationally definable\/}
4391: with hidden sorts and functions)
4392: by interpreting \,`$t_1<t_2$' \,as \,`$\lsreal(t_1,t_2)=\trues$',
4393: \,where the boolean-valued operator
4394: $$
4395: \lsreal:\reals^2\to\bools
4396: $$
4397: is included in the signature of the metric algebra over \RR.
4398: The problem here is that (as discussed in \cite{tz:top})
4399: whereas all functions in the signature of metric algebras
4400: (and hence all functions computable over these)
4401: are {\it continuous\/}, the (total) function \,\lsreal\ \,is discontinuous.
4402: The only way to restore continuity is to consider
4403: a {\it partial\/} continuous \,\lsreal\ \,operator,
4404: which leads to a study of {\it topological partial algebras\/}.
4405: This can be done, and the whole of the present theory
4406: could be re-cast in such a context,
4407: but that would take us too far afield from the present study.
4408: \endpr
4409: 
4410: 
4411: Let us apply Theorem 2 to 
4412: the classical notion of
4413: {\it Gzegorczyk-Lacombe (GL) computability\/}
4414: on the  unit interval $I=[0,1]$.
4415: This includes all the well-know functions of real analysis
4416: (sin, exp, log, etc.) restricted to $I$.
4417: 
4418: \Notation
4419: We write
4420: \,\GLtmI\ for the class of GL-computable total functions 
4421: \,$f\:I^m\to \RR$.
4422: \endpr
4423: 
4424: Many concrete models of computation on \,\II\ 
4425: \,are equivalent to this class \cite{pourel-richards,weih:book}.
4426: It has been shown that (recall the definition of \IIId\
4427: in Example ($b$)):
4428: $$
4429: \GLtmI \ = \ \muPRxApprox(\IIId)_{\intvlss^m\to\realss}.
4430: $$
4431: %\GLtmI\ is precisely the class of total functions
4432: %uniformly \muPRx\ approximable on 
4433: %the metric algebra \IIId\
4434: (For details, see 
4435: \cite[\S9]{tz:top}, \cite[\S5.9]{tz:hb}.)
4436: Hence, again, a kind of
4437: ``Universal Function Theorem"
4438: holds for \GLtmI,
4439: in the following sense. 
4440: For $m=1,2,\dots$, \,let
4441: $$
4442: H^m\ \eqdf\ \Univ^{\IIId}_{\natss\times\intvlss^m\to\realss}:
4443: \ \NN\times\NN\times I^m\ \to\ \RR
4444: $$
4445: be the universal function for
4446: \,$\muPRx(\IIId)_{\natss\times\intvlss^m\to\realss}$
4447: \,given by the Universal Function Theorem (\S4.4).
4448: Then for each \,$f\in\GLtmI$,
4449: there is a number $k$, 
4450: effectively obtainable from the GL-code for $f$,
4451: such that (writing \,$H^m_{k,n} = H^m(k,n,\,\cdot\,)$)
4452: \,the sequence of functions
4453: \,$H^m_{k,0},\,H^m_{k,1},\,H^m_{k,2},\,\dots$
4454: \,uniformly approximates $f$ on $I$.
4455: 
4456: So by
4457: Theorem 2 applied to \IIId:
4458: \endpr
4459: 
4460: 
4461: \Thmn{3 \,(Universal specification of GL computable functions)}
4462: For each $m>0$
4463: there is a signature
4464: \,\Sigxm\ \,which is an expansion of \,\SigIIIdx\ \,by finitely many
4465: function symbols,
4466: and a finite conditional specification 
4467: \,$(\Sigxm,\,\EWm(\ztt))$
4468: \,consisting of conditional equations and inequalities,
4469: \,which is 
4470: universal for specifications of \GLtmI,
4471: in the following sense:
4472: it contains a distinguished natural number variable \ztt\
4473: such that 
4474: each function
4475: $f\in\GLtmI$ 
4476: is specified (with hidden sorts and functions)
4477: by a suitable substitution instance
4478: \,$(\Sigxm,\,\EWm(\kbar))$,
4479: \,where $k$ can be found effectively from a GL-code for $f$.
4480: \endpr
4481: 
4482: \Remarkn{4 \,(Description of the signature \,\Sigxm\ \,of Theorem 3)}
4483: The signature \Sigxm\ is an expansion of \,\SigIIId\
4484: \,(for a description of which see the remark at the end of \S6.1)
4485: by the following sorts and functions:
4486: 
4487: \itemm{($i$)}
4488: the sorts and functions of the array structure over \IIId\ (\S1.6);
4489: 
4490: \itemm{($ii$)}
4491: the \muPRx\ ``universal function" $F^m$ for \GLtmI\
4492: (as described in the above discussion)
4493: together with the auxiliary functions in its derivation;
4494: 
4495: \itemm{($iii$)}
4496: the function $2^{-n}$, used for assertions about 
4497: computable approximations, as explained in the proof of 
4498: Theorem 1;
4499: 
4500: \itemm{($iv$)}
4501: the characteristic function for BU quantification,
4502: as described in the proof of the
4503: BU elimination theorem (\S3.3).
4504: 
4505: \sn
4506: Note that there is only one function of type ($iv$) in \Sigxm,
4507: namely that obtained by eliminating
4508: the conditional BU equation \Fmu\ (\S5.2) specifying the (single!)
4509: \muu-operator occurrence in the 
4510: \muPRx\ derivation for $H^m$ in ($ii$)
4511: (see Remark 1 in \S4.4).
4512: (There are no conditional BU equality axioms for arrays (\S3.2)
4513: to eliminate here, since \,\reals\ \,and \,\intvls\ 
4514: \,are not equality sorts.)
4515: \endpr
4516: 
4517: 
4518: 
4519: \shead{6.3}{Illustration: \ Specification of dynamical system}
4520: We illustrate the connection between algebraic specification methods
4521: and models of physical systems.
4522: 
4523: A {\it deterministic dynamical system\/} with finite dimensional state space 
4524: \,$S\sseq\RR^n$ \,and \,time \,$T\sseq\RR$
4525: \,is represented in a model by a function
4526: $$
4527: \phi: \ T\times S\ \to\ S
4528: $$
4529: where for \,$t\in T$, $s\in S$, 
4530: \,$\phi(t,s)$ \,is the state of the system at time $t$ with 
4531: initial state $s$.
4532: For example, the state of a particle in motion
4533: is represented by position and velocity.
4534: Thus, for a system of $n$ particles in 3-dimensional space,
4535: the state space has $6n$ dimensions.
4536: 
4537: In practice, the model is specified by
4538: ordinary differential equations (ODEs) whose complete solution is \,$\phi$.
4539: Specifically, in the modern qualitative theory of ODEs
4540: \cite{arnold}, \,$\phi$ \,is differentiable,  and the function
4541: \,$\phi_t:S\to S$ \,defined by
4542: $$
4543: \phi_t(s) \ = \ \phi(t,s) \quad \tx{for} \ \ t\in T, s\in S,
4544: $$
4545: is a 1-parameter group of diffeomorphisms of $S$;
4546: the action of this group on $S$ is 
4547: called the {\it flow\/} on the {\it phase space\/} $S$.
4548: This flow can be specified by a vector field on $S$.
4549: 
4550: In modelling a physical system, one aim is to compute
4551: values of the function \,$\phi$ \,on some time interval
4552: and subspace of the space of initial conditions.
4553: Many methods exist to derive algorithms for $\phi$
4554: \,from the equations that define it.
4555: Indeed, various fields of applied mathematics
4556: exist in order to design such equations,
4557: and the field of numerical analysis exists
4558: to design such solution methods.
4559: 
4560: Conversely, we suppose that \,$\phi$ can be simulated on a
4561: digital computer, \ie, \,$\phi$ \,is a classically 
4562: computable (\eg, GL-computable) function.
4563: {\it Assume also that the state space $S$ is the unit $n$-cube $I^n$,
4564: and the time dimension $T$ is the unit interval $I$.\/}
4565: Thus
4566: $$
4567: \phi\: I\times I^n\ \to \ I.
4568: $$
4569: We can now apply Theorem 3 to show that 
4570: the dynamical system has a finite algebraic specification.
4571: 
4572: 
4573: \Thmn{4 \,(Universal specification of computable dynamical systems)}
4574: For each $n>0$
4575: there is a signature \,\Sigtilxn\ \,which
4576: extends \,\SigIIIdx\ \,by function symbols,
4577: and a finite conditional specification
4578: \,$(\Sigtilxn,\,\EtilWn(\ztt))$
4579: \,consisting of conditional equations and inequalities,
4580: which is universal for all 
4581: classically computable dynamical systems
4582: on the unit $n$-cube $I^n$ over the unit time interval $I$.
4583: \endpr
4584: Note that \Sigtilxn\ is essentially the signature \Sigxm\ 
4585: of Theorem 3, with $n=m+1$.
4586: 
4587: 
4588: We have shown above how powerful algebraic specifications are,
4589: even for topological data types.
4590: More research needs to be done to determine the extent of its power,
4591: especially on metric algebras.
4592: Here topological notions such as continuity can play a part,
4593: as we see from the following example.
4594: 
4595: \shead{6.4}{Example: \,Specification of function assuming continuity}
4596: Consider the two equations for a (total) function $f$ on the real line:
4597: $$
4598: f(x+y) \ = \ f(x)\times f(y), \qqquad f(1) \ = \ c
4599: \tagx
4600: $$
4601: for some constant $c>0$.
4602: If we assume that $f$ is continuous, even at one point,
4603: then it is easy to see that these equations are satisfied uniquely
4604: by the function 
4605: $$
4606: f(x) \ = \ c^x.
4607: $$
4608: However, in the absence of any such
4609: continuity assumption,
4610: it can be shown that (for any $c>0$) there are
4611: $2^{2^{\aleph_0}}$ non-constructive solutions to ($*$).
4612: Here ``non-constructive" means both that these solutions 
4613: are non-computable, and that their existence is proved 
4614: by non-constructive means, using Zorn's Lemma
4615: to show the existence of a Hamel basis on \,\RR, \,\ie,
4616: a maximal linear independent subset of \,\RR\ \,over \,\QQ.
4617: 
4618: Note that any solution $f$ of ($*$) is a homomorphism 
4619: from the additive group of reals to the multiplicative group
4620: of positive reals.
4621: 
4622: This example suggests the following 
4623: 
4624: \Question
4625: On metric algebras, does conditional equational
4626: specifiability,
4627: together with a topological condition
4628: such as continuity,
4629: imply computability?
4630: \endpr
4631: 
4632: Specifically, is there a continuous function on $I$ which
4633: is definable by equations but not approximably computable?
4634: 
4635: Note, in this connection, that there are other ``equational specifications"
4636: for the exponential function \,$e^x$:
4637: \itemm{(1)}
4638: the differential equation \ $f'(x) = f(x)$ \ with 
4639: initial condition \ $f(0) = 1$;
4640: \itemm{(2)}
4641: from the polynomial approximations
4642: given by the partial sums of the Maclaurin expansion 
4643: \ $\sum_{i=0}^\infty {x^i}\slash{i!}$,
4644: \ a specification consisting of conditional equations and inequalities
4645: can be derived 
4646: by the methods of this section for approximating computations;
4647: \itemm{(3)}
4648: similarly, from the polynomial approximations,\ $(1+x\slash n)^n$,
4649: \,a specification consisting of
4650: conditional equations and inequalities
4651: can be derived.
4652: 
4653: Note that in the first of these specifications, differentiability
4654: of $f$ is (of course) implicitly assumed,
4655: and uniqueness of the solution follows by
4656: the Lipschitz condition;
4657: however no assumptions of continuity are needed in (2) or (3).
4658: 
4659: The above question points to an open field of research.
4660: The investigation of computable solutions of recursive equations
4661: in \cite{gaertner-hotz} would be relevant here.
4662: 
4663: \bn
4664: 
4665: \itemm{\bbf 7 \ \ }
4666: {\bbf Initial algebra specifications with
4667: conditional equations and conditional BU equations}
4668: 
4669: \mn
4670: In this section
4671: we will consider theories $T$, which we assume to be 
4672: formalised in logical formalisms \FFF\
4673: of the kind described in Section 2;
4674: for example, \,$\FFF= \CondBUEqSig$.
4675: \shead{7.1}{Pre-initial and initial models}
4676: In this subsection (only), we make no assumptions 
4677: concerning the (N-)standardness of
4678: signatures or algebras.
4679: Let \Sig\ be a signature and
4680: let \KK\ be a \Sig-adt.
4681: 
4682: A formalism \FFF\ is said to be {\it valid for\/} \KK\
4683: if the axioms and inference rules of \FFF\
4684: hold for all algebras in \KK.
4685: Note, for example, that \CondBUEqSig\
4686: is valid for \NStdAlgSig,
4687: but not, in general, for \AlgSig.
4688: 
4689: 
4690: A \Sig-algebra $A$ is {\it pre-initial for} \KK\
4691: if there is a unique \Sig-homomorphism from $A$ to
4692: every algebra in \KK;
4693: \,{\it pre}-initial in that
4694: it might not itself belong to \KK.
4695: (The notion of \Sig-{\it homomorphism\/} 
4696: between \Sig-algebras is defined as usual \cite{meinke-jvt}.)
4697: 
4698: Note that the {\it closed term algebra} \ \TSig\
4699: \ is pre-initial for \KK.
4700: 
4701: An {\it initial algebra of\/} \KK\
4702: is a pre-initial algebra 
4703: which belongs to \KK.
4704: As is easily seen,
4705: any two initial algebras of \KK\
4706: must be \Sig-isomorphic.
4707: We denote any initial algebra of \KK\ by \ISigKK.
4708: 
4709: We will be interested in the case that 
4710: $$
4711: \KK \ = \ \AlgSigT,
4712: $$
4713: the class of models of a first-order \Sig-theory $T$,
4714: where $T$ may have certain syntactic restrictions.
4715: We will assume:
4716: 
4717: \bull 
4718: in this subsection that $T$ is a conditional
4719: equational theory; 
4720: 
4721: \bull
4722: in \S7.2 
4723: likewise, but restrict attention to N-standard models of $T$;
4724: 
4725: \bull
4726: in \S7.3 that $T$ is a conditional BU equational theory
4727: (again with N-standard models);
4728: 
4729: \bull
4730: and in \S7.4 that it is a conditional SU equational theory
4731: (ditto).
4732: 
4733: \n
4734: (Recall the formal systems defined in Section 2.)
4735: Finally in \S7.5 we will show how conditional BU equational initial algebra
4736: specifications can be ``reduced" to conditional equational initial algebra
4737: specifications.
4738: 
4739: Let $T$ be a \Sig-theory.
4740: We write \,\ISigT \,for the initial algebra \,
4741: $\Init\bigl(\Sig,\AlgSigT\bigr)$
4742: \,(if it exists), and call it the {\it initial model of $T$}.
4743: 
4744: Consider the {\it closed term algebra\/} \,\TSigTF\
4745: \,formed from \,\TSig\ \,by identifying closed terms
4746: provably equal from $T$, in some formalism \FFF, \ie, 
4747: $$
4748: \TSigTF \ \eqdf\ \TSig/\approxTF
4749: $$
4750: where
4751: $$
4752: t_1 \approxTF t_2 \ \ \ \llongtofrom_{df}\ \ \ 
4753:   \tx{$t_1=t_2$ is provable from $T$ in \FFF}.
4754: $$
4755: 
4756: \Lemma
4757: If \FFF\ is valid for \AlgSigT,
4758: then \TSigTF\ is pre-initial for \AlgSigT.
4759: \endpr
4760: 
4761: We will investigate whether \,\TSigTF\
4762: is, further, {\it initial\/} for \,\AlgSigT, \,\ie, whether
4763: $$
4764: \TSigTF \ = \ \ISigT.
4765: $$
4766: 
4767: 
4768: \pr{Initiality Lemma}\sl
4769: Suppose \FFF\ is valid for \AlgSigT.
4770: If $\TSigTF \in \AlgSigT$,
4771: \,then it is (\Sig-isomorphic to) \ISigT.
4772: \endpr
4773: 
4774: 
4775: \Defs
4776: Let $A$ be a \Sig-algebra.
4777: \itemm{(1)}
4778: $A$ has an {\it initial algebra specification} \SigT\
4779: if \,$A \,\cong\, \ISigT$.
4780: \itemm{(2)}
4781: $A$ has an {\it initial algebra specification with
4782: hidden sorts and/or functions} \,$(\Sigp,$ $ T')$
4783: \,if \Sigp\ is an expansion of \Sig\ by sorts and/or functions, 
4784: $T'$ is a \Sigp-theory and 
4785: $$
4786: A \ \cong \ \Init\bigl(\Sig,\,\Alg(\Sigp,T')\redSig\,\bigr).
4787: $$
4788: \endpr
4789: 
4790: \newpage
4791: 
4792: \Thmn{1 \,\cite{malcev}}
4793: Let $E$ be a conditional equational theory over \Sig.
4794: Let \,$I \eqdf \Tbi(\Sig,E,\CondEqSig)$.
4795: Then $I$ is an initial model of $E$.
4796: \,Furthermore, if
4797: \,$t_1, t_2$ \,are two closed \Sig-terms of the same sort,
4798: then the following are equivalent:
4799: \itemm{($i$)}
4800: $t_1$ and $t_2$ have the same value in $I$,
4801: \itemm{($ii$)}
4802: $t_1$ and $t_2$ have the same value in all models of $E$,
4803: \itemm{($iii$)}
4804: $t_1 = t_2$ \ is provable from $E$ in \,\CondEqSig,
4805: \itemm{($iv$)}
4806: $t_1 = t_2$ \ is provable from $E$ in \,\FOLSig.
4807: \endpr
4808: 
4809: \Pf
4810: The main thing here is to show that 
4811: \,$I\ttstile E$,
4812: from which \,$(ii)\tto(i)$ \,will follow.
4813: %({\it Exercise.\/}
4814: %This follows from the closure of \,\CondEqSig\
4815: %\,under substitutions and under atomic cuts.)
4816: Since $I$ is a (closed) term model,
4817: it is sufficient 
4818: to show that $I$ satisfies all {\it closed substitution instances}
4819: of the axioms of $E$.
4820: So consider any closed instance
4821: \ $P_1 \con \dots \con P_n \to P$ 
4822: \ of an axiom of $E$,
4823: where $P_i$ and $P$ are closed equations.
4824: Note that the corresponding sequent
4825: $$
4826: P_1, \dots, P_n \seqt P
4827: \tagx
4828: $$
4829: is derivable from $E$ in \,\CondEqSig,
4830: \,by the substitution rule.
4831: Suppose \ $I \ttstile P_i$ \ for $i = 1,\dots,n$.
4832: Then, by the definition of $I$, $P_i$ is provable from $E$ in \CondEqSig.
4833: But then $P$ is also provable, 
4834: by repeated (atomic) cuts
4835: of the sequent ($*$)
4836: with the sequents \ $\seqt P_i$,
4837: and so $I \ttstile P$.
4838: 
4839: Hence \,$I\ttstile E$.
4840: It follows, by the Initiality Lemma,
4841: that $I$ is an {\it initial\/} model of $E$.
4842: Hence also \,$(ii)\tto(i)$.
4843: The further implications
4844: \,$(i)\tto(iii)\tto(iv)\tto(ii)$ 
4845: \,are all trivial.
4846: \endpf
4847: 
4848: \Remarkn{\,(Completeness and conservativity)}
4849: Mal'cev's Theorem \cite{malcev}, in the form given above, can be viewed
4850: as expressing both
4851: \ ($a$) {\it completeness} of \,\CondEqSig, \,given by the implication
4852: \,$(ii)\impp(iii)$, \,and
4853: \ ($b$) {\it conservativity\/} of first order logic with equality
4854: over \,\CondEqSig, \,given by the implication \,$(iv)\impp(iii)$.
4855: (\Cf\ conservativity lemma (1) and the remark in \S2.6.)
4856: \endpr
4857: 
4858: Necessary and sufficient conditions for the existence of initial models
4859: of theories are given in \cite{mahr-makowsky}.
4860: 
4861: \shead{7.2}{Initial N-standard models}
4862: Assume, from now on, that 
4863: \Sig\ is N-standard, and that \KK\ 
4864: consists of {\it N-standard} \Sig-algebras;
4865: for example,
4866: \ $\KK = \NStdAlgSigT$,
4867: \ for some \Sig-theory $T$.
4868: Then 
4869: \ \TSigTF,
4870: \ although it is pre-initial for \KK,
4871: might fail to be initial for \KK\
4872: for two reasons:
4873: it might not satisfy $T$,
4874: and it might not even be N-standard! 
4875: (We return to the second point below.)
4876: 
4877: An {\it initial N-standard model of\/} $T$
4878: is an initial algebra of \,\NStdAlgSigT.
4879: Any two initial N-standard models of $T$
4880: are \Sig-isomorphic.
4881: We denote any such model by 
4882: $$
4883: \INSSigT \ \eqdf\ \Init(\Sig,\,\NStdAlgSigT).
4884: $$
4885: \sn
4886: {\bf N-Standard Initiality Lemma\/}.\sl
4887: \ \ Suppose \FFF\ is valid for \NStdAlgSigT.
4888: \nl
4889: If \,$\TSigTF \in \NStdAlgSigT$
4890: \,then it is (\Sig-iso\-mor\-phic to) 
4891: \INSSigT.
4892: \endpr
4893: 
4894: \Defs
4895: Let $A$ be an N-standard \Sig-algebra.
4896: \itemm{(1)}
4897: $A$ has an {\it initial N-standard algebra specification} \SigT\
4898: \,if \ $A \,\cong\, \INSSigT$.
4899: \itemm{(2)}
4900: $A$ has an {\it initial N-standard algebra specification with
4901: hidden sorts and/or functions} \ $(\Sigp, T')$
4902: \ if \Sigp\ is an expansion of \Sig\ by sorts and/or functions, 
4903: $T'$ is a \Sigp-theory and 
4904: $$
4905: A \ \cong\ \Init\bigl(\Sig, \, \NStdAlg(\Sigp,T')\redSig \,\bigr).
4906: $$
4907: 
4908: Note that \INSSigT\ (if it exists)
4909: might not be an initial model of $T$,
4910: \ie, $T$ might have another, non-N-standard, initial model,
4911: as the following example demonstrates.
4912: 
4913: \Examplen{\,(Initial N-standard model of a theory
4914: which is not an initial model of that theory)}
4915: Let \Sig\ contain (in addition to the standard operations on \nats\ and \bools)
4916: a constant \,$\uuu:\bools$, \,and let $T$ contain the single axiom
4917: \ `$\uuu \ne \trues$'.
4918: Then the term algebra \ \TSig\
4919: trivially satisfies $T$,
4920: and is hence (by the Initiality Lemma of \S7.1)
4921: an {\it initial} model of $T$.
4922: It is {\it not N-standard}, since
4923: it has a 3-element carrier of sort \bools,
4924: with distinct denotations of \trues, \falses\ and \uuu.
4925: There is, however, also an {\it initial N-standard} model of $T$
4926: with an N-standard (2-element) carrier of sort \bools,
4927: formed by identifying \uuu\ and \falses.
4928: \endpr
4929: 
4930: 
4931: Now \TSigTF\ \ may fail to be N-standard for two reasons:
4932: that $T$ proves ``too little" or ``too much",
4933: roughly speaking.
4934: The first reason
4935: is connected with non-N-standard interpretations of the sorts \nats\
4936: and \bools.  
4937: Thus,
4938: there may be a function symbol $f$ in \Sig\
4939: with range sort \nats,
4940: without corresponding axioms in $T$ capable of ``reducing"
4941: \,$f(t)$, for some closed term $t$, to a numeral.
4942: Similarly (as in the above example), 
4943: not all closed boolean terms (\ie, terms of sort \bools)
4944: may be (provably in $T$) equal to \trues\ or \falses.
4945: (In the terminology of \cite{guttag-horning} the specification \SigT\ is not
4946: ``sufficiently complete".)
4947: The second reason is that $T$ may be {\it inconsistent},
4948: in the sense that it proves
4949: `$\trues = \falses$' (or, equivalently in a suitable 
4950: weak background theory, `$0 = 1$').
4951: This motivates the following definitions.
4952: Note that we must (to begin with) 
4953: speak of provability relative to some formal system
4954: \,\FFF, \,which will typically be 
4955: one of the system \,\CondEqSig\ \,or \,\CondBUEqSig\
4956: \,of Section 2.
4957: 
4958: \Defn3
4959: $T$ is {\it consistent} in \,\FFF\ \,if the equation `$\trues = \falses$'
4960: is not provable in \FFF\ from $T$.
4961: \endpr
4962: 
4963: \Defn4
4964: $T$ {\it determines \nats} in \FFF\
4965: if every closed term of sort \nats\ is, provably in \FFF\ from $T$,
4966: equal to a numeral;
4967: and $T$ {\it determines \bools} in \FFF\
4968: if every closed term of sort \bools\ is, provably in \FFF\ from $T$,
4969: equal to \trues\ or \falses.
4970: \endpr
4971: 
4972: \newpage
4973: 
4974: \Defn{5 \,(N-standardness axioms)}
4975: \sn
4976: ($a$) \,\NStdAxSig\ \, is the following set of conditional equations:
4977: $$
4978: \boxed{
4979: \gathered
4980: \ands(\trues,\trues) = \trues, \qquad
4981: \ands(\trues,\falses) = \ands(\falses,\trues)
4982:   = \ands(\falses,\falses) = \falses, \\
4983: \ors(\falses,\falses) = \falses, \qquad
4984: \ors(\trues,\trues) = \ors(\trues,\falses)
4985:   = \ors(\falses,\trues) = \trues, \\
4986: \nots(\trues) = \falses, \qquad \nots(\falses) = \trues, \\
4987: \ifs_s(\trues, \,\xtt_1^s, \xtt_2^s) \ = \ \xtt_1^s,
4988: \qquad \ifs_s(\falses, \,\xtt_1^s, \xtt_2^s) \ = \ \xtt_2^s, \\
4989: \eqnat(0,0) = \trues, \qquad \eqnat (\Ss \ztt,0) = 
4990: \eqnat(0,\Ss \ztt) = \falses, \\
4991: \eqnat(\Ss \ztt_1,\Ss \ztt_2) = \eqnat(\ztt_1,\ztt_2), \\
4992: \lsnat(0,\Ss \ztt) = \trues, \qquad \lsnat (\ztt,0) = \falses, \\
4993: \lsnat(\Ss \ztt_1,\Ss \ztt_2) = \lsnat(\ztt_1,\ztt_2), \\
4994: \eqs_s(\xtt^s,\xtt^s) = \trues, \\
4995: \eqs_s(\xtt^s_1, \xtt^s_2) = \trues \ \to \ t^s_1 = t^s_2.
4996: \endgathered
4997: }
4998: $$
4999: where, in the axioms for \,$\ifs_s$, 
5000: \,$s$ ranges over all \Sig-sorts other than \,\bools;
5001: \,and in the axioms for \,$\eqs_s$,
5002: \,$s$ ranges over all \Sig-{\it equality sorts} other than \,\nats,
5003: 
5004: \sn
5005: ($b$) \,$\NStdAxoSig$ 
5006: \,is the set of all {\it closed \Sig-substitution instances\/} of 
5007: \,\NStdAxSig.
5008: \endpr
5009: 
5010: %$$
5011: %\boxed{
5012: %\gathered
5013: %\ands(\trues,\trues) = \trues, \qquad
5014: %\ands(\trues,\falses) = \ands(\falses,\trues) 
5015: %  = \ands(\falses,\falses) = \falses, \\
5016: %\ors(\falses,\falses) = \falses, \qquad
5017: %\ors(\trues,\trues) = \ors(\trues,\falses) 
5018: %  = \ors(\falses,\trues) = \trues, \\
5019: %\nots(\trues) = \falses, \qquad \nots(\falses) = \trues, \\
5020: %\ifs_s(\trues, \,t_1^s, t_2^s) \ = \ t_1^s,
5021: %\qquad \ifs_s(\falses, \,t_1^s, t_2^s) \ = \ t_2^s, \\
5022: %\eqnat(\nbar,\,\nbar)\ = \ \trues \qquad\tx{for all \ninNN}, \\
5023: %\eqnat(\mbar,\,\nbar)\ = \ \falses \qquad\tx{for all $m,n\in\NN, \ m\ne n$}, \\
5024: %\lsnat(\mbar,\,\nbar)\ = \ \trues \qquad\tx{for all $m,n\in\NN, \ m< n$}, \\
5025: %\lsnat(\mbar,\,\nbar)\ = 
5026: %  \ \falses \qquad\tx{for all $m,n\in\NN, \ m\not< n$}, \\
5027: %\eqs_s(t^s,t^s) = \trues, \\
5028: %\eqs_s(t^s_1, t^s_2) = \trues \ \to \ t^s_1 = t^s_2
5029: %\endgathered
5030: %}
5031: %$$
5032: %\endpr
5033: 
5034: Note that
5035: \,$\NStdAxSig + \IndSig$ \,holds in any N-standard \Sig-algebra.
5036: 
5037: We use the terminology:
5038: $T$ {\it proves \NStdAxoSig\ in\/} \FFF\
5039: \,to mean: \,\NStdAxoSig\ is derivable from $T$ in \FFF.
5040: 
5041: We now state some lemmas which give sufficient conditions for 
5042: a term model \,\TSigTF\ \,to be N-standard.
5043: 
5044: 
5045: 
5046: \Lemman{1 \,(N-standardness lemma)}
5047: Suppose that in \,\FFF\
5048: \itemm{($i$)}
5049: $T$ is consistent,
5050: \itemm{($ii$)}
5051: $T$ determines \,\nats\ \,and \,\bools, \,and
5052: \itemm{($iii$)}
5053: $T$ proves \NStdAxoSig.
5054: \sn
5055: Then \,\TSigTF\ \,is N-standard.
5056: \endpr
5057: 
5058: \Lemman2
5059: If \Sig\ is strictly N-standard
5060: then \,\NStdAxoSig\ \,determines \,\nats\ \,and \,\bools\
5061: \,in \,\CondEqSig.
5062: \endpr
5063: 
5064: \Pf
5065: By structural induction on all closed \Sig-terms of sort
5066: \,\nats\ \,and \,\bools\ \,(simultaneous\-ly).
5067: \endpf
5068: 
5069: 
5070: The following is 
5071: an immediate consequence
5072: of Lemmas 1 and 2.
5073: 
5074: \newpage
5075: 
5076: \Lemman{3 \,(Strict N-standardness lemma)}
5077: Suppose \Sig\ is {\it strictly\/} N-standard, 
5078: \,\FFF\ \,is at least as strong as \,\CondEqSig,
5079: \,and in \,\FFF\
5080: \itemm{($i$)}
5081: $T$ is consistent, \,and
5082: \itemm{($ii$)}
5083: $T$ proves \NStdAxoSig\ \,(or \,\NStdAxSig).
5084: \sn
5085: Then \,\TSigTF\ \,is N-standard.
5086: \endpr
5087: 
5088: 
5089: \shead{7.3}{Conditional equational theories}
5090: We now give the analogue of Mal'cev's Theorem (\S7.1)
5091: for N-standard models of conditional equational theories.
5092: 
5093: \Thmn2
5094: Let $E$ be a conditional equational theory over \Sig.
5095: Suppose that in 
5096: \linebreak
5097: \CondEqSig, 
5098: \,$E$ is consistent, determines \nats\ and \bools,
5099: and proves \,\NStdAxoSig.
5100: Then 
5101: \linebreak
5102: $I \eqdf \Tbi(\Sig,\,E,\,\CondEqSig)$
5103: \,is an initial N-standard model of $E$.
5104: Furthermore, if \ $t_1, t_2$ \ are two closed \Sig-terms of the same sort,
5105: then the following are equivalent:
5106: \itemm{($i$)}
5107: $t_1$ and $t_2$ have the same value in $I$,
5108: \itemm{($ii$)}
5109: $t_1$ and $t_2$ have the same value in all N-standard models of $E$,
5110: \itemm{($iii$)}
5111: $t_1 = t_2$ \ is provable from $E$ \ in \,\CondEqSig,
5112: \itemm{($iv$)}
5113: $t_1 = t_2$ \ is provable from $E$ in \,$\FOLSig+\IndSig$.
5114: \endpr
5115: 
5116: \Pf
5117: By the N-standardness Lemma (\S7.2),
5118: $I$ is an N-standard algebra.
5119: As in Theorem 1, the main thing is to show
5120: that \,$I\ttstile E$.
5121: This is done exactly as in the proof of Theorem 1.
5122: It follows, by the N-standard Initiality Lemma (\S7.2),
5123: that $I$ is an {\it initial\/} N-standard model of $E$.
5124: The rest of the
5125: proof is similar to that for Theorem 1.
5126: Note for the implication \,$(iv)\tto(ii)$,
5127: \,we use the fact that the rule \,\IndSig\ \,is valid
5128: for N-standard \Sig-algebras.
5129: \endpf
5130: 
5131: 
5132: \Remarks
5133: (1) \,By Lemma 2 in \S7.2,
5134: the assumption in the theorem that $E$ determines \,\nats\ 
5135: \,and \,\bools\ \,can be replaced by the assumption that 
5136: \Sig\ is strictly N-standard.
5137: \sn
5138: (2) \,({\it Completeness and conservativity.\/})
5139: \,Here again, the implication \,$(ii)\tto(iii)$ 
5140: \,can be construed as a 
5141: completeness theorem,
5142: \,and \,$(iv)\tto(iii)$ \,
5143: as a conservativity theorem.
5144: (See the Remark in \S2.6 and the Remark following Theorem 1.)
5145: \sn
5146: (3) \,({\it The N-standardness axioms\/}.)
5147: We have ``incorporated" the N-standard\-ness axioms \,\NStdAxoSig\
5148: \,in the theory $E$, so to speak,
5149: by assuming that $E$ proves them.
5150: Another feasible approach would be to incorporate these axioms
5151: in the logics \,\CondEq, \,\CondBUEq\
5152: \,and \,\FOL,
5153: \,by adding them as axioms
5154: (as we did with the boundedness axioms \,\BddAx\ \,in \,\CondBUEq).
5155: This would entail some minor re-wording of the theorems.
5156: \endpr
5157: 
5158: We turn our attention to theories with
5159: syntactic structure more complicated than conditional equations.
5160: 
5161: \newpage
5162: 
5163: 
5164: \shead{7.4}{Conditional BU equational theories}
5165: We give the analogue of Mal'cev's Theorem for
5166: N-standard models of
5167: BU conditional equational theories.
5168: 
5169: \Thmn3
5170: Let $F$ be a conditional BU equational theory over \Sig.
5171: Suppose that in \,\CondBUEqSig, 
5172: \,$F$ 
5173: is consistent, determines \nats\ and \bools\ and
5174: proves \,\NStdAxoSig.
5175: Then \ $I \eqdf \Tbi(\Sig,\,F,\,\CondBUEqSig )$
5176: \ is an initial N-standard model of $F$.
5177: \ Furthermore, if $t_1, t_2$ are two closed \Sig-terms of the same sort,
5178: then the following are equivalent:
5179: \itemm{($i$)}
5180: $t_1$ and $t_2$ have the same value in $I$,
5181: \itemm{($ii$)}
5182: $t_1$ and $t_2$ have the same value in all N-standard models of $F$,
5183: \itemm{($iii$)}
5184: $t_1 = t_2$ \,is provable from \,$F$
5185: \,in \,\CondBUEqSig,
5186: \itemm{($iv$)}
5187: $t_1 = t_2$ \,is provable from \,$F$ 
5188: \,in \,$\FOLSig+\IndSig$.
5189: \endpr
5190: 
5191: \Pf
5192: By the N-standardness Lemma, $I$ is N-standard.
5193: As in Theorems 1 and 2, the main thing is to show that \,$I\ttstile F$.
5194: Again, since $I$ is a term model, 
5195: it is sufficient to show that $I$
5196: satisfies the set of closed substitution instances of $F$.
5197: First note that, by definition,
5198: $I$ satisfies precisely all closed equations provable
5199: from $F$ in CondBUEq, \ie, for any 
5200: {\it closed equation\/} $P$:
5201: $$
5202: I \ttstile P \ \ \llongtofrom \ \ F \tstile P
5203: \tagx
5204: $$
5205: where `$\tstile$' here means provability in \CondBUEq.
5206: Further, by use of the {\it boundedness axioms\/} \,\BddAx\ 
5207: \,of \CondBUEq\ (\S2.3),
5208: the same holds
5209: for any {\it closed BU equation} $Q$:
5210: $$
5211: I \ttstile Q \ \ \llongtofrom \ \ F \tstile Q.
5212: \tagxx
5213: $$
5214: For suppose
5215: \,$Q\,\ident \,\all \ztt < t P(\ztt)$,
5216: \ where $P(\ztt)$ is an equation. 
5217: Since $I$ is N-standard, 
5218: $$
5219: I\ttstile t \ = \ \nbar
5220: \tagxxx
5221: $$
5222: for some (unique) $n$.
5223: Then
5224: $$
5225: \align
5226: \ I \ttstile \all \ztt < t P(\ztt) \ \
5227:    &\llongtofrom \ \ \tx{for all $k<n$,}\ I \ttstile P(\kbar)\\
5228:    &\llongtofrom \ \ \tx{for all $k<n$,}\ F \tstile P(\bar k) 
5229:      \qquad \tx{by} \ \ (*)\\
5230:    &\llongtofrom \ \ F \tstile \all \ztt < t P(\ztt) 
5231:      \qqquad\quad\, \tx{by \,\BddAx\ \,and (\xxx)}.
5232: \endalign
5233: $$
5234: Now consider any closed instance
5235: \ $f \ \ident \ Q_1 \con \dots \con Q_m \to Q$ 
5236: \ of an axiom of $F$ 
5237: (where $Q_i$ and $Q$ are closed SU equations).
5238: Suppose \,$I \ttstile Q_i$ \,for $i = 1,\dots,m$.
5239: Then by ($**$) $Q_i$ is provable from $F$ in \CondBUEq.
5240: But then so is $Q$, 
5241: by repeated cuts
5242: of the sequent
5243: \ $Q_1, \dots, Q_m \seqt Q$ 
5244: \ corresponding to $f$
5245: with the sequents \ $\seqt Q_i$,
5246: and so $I \ttstile Q$.
5247: \endpf
5248: 
5249: \Remarks
5250: (1) \,As before,
5251: the assumption in the theorem that $F$ determines \,\nats\ 
5252: \,and \,\bools\ \,can be replaced by the assumption that 
5253: \Sig\ is strictly N-standard.
5254: \sn
5255: (2) \,({\it Completeness and conservativity.\/})
5256: \,Again, the implication \,$(ii)\tto(iii)$
5257: \,can be construed as a completeness theorem,
5258: and \,$(ii)\tto(iii)$ \,as a conservativity theorem.
5259: \endpr
5260: 
5261: 
5262: \shead{7.5}{Conditional SU equational theories}
5263: Now we turn to the 
5264: infinitary conditional SU equational logic (\S2.4).
5265: Although it will not be used further in the paper,
5266: it is interesting in its own right.
5267: 
5268: Remember that the infinitary \om-rule \,$\all_\om R$
5269: \,obviates the need for an induction rule.
5270: 
5271: \Thmn4
5272: Let $G$ be a conditional SU equational theory over \Sig.
5273: Suppose that in \,\CondSUEqomSig, 
5274: \,$G$ 
5275: is consistent, determines \nats\ and \bools\ and
5276: proves \,\NStdAxoSig.
5277: Then \ $I \eqdf  \Tbi(\Sig,\,G,\,\CondSUEqomSig)$
5278: \ is an initial N-standard model of $G$.
5279: \ Furthermore, if $t_1, t_2$ are two closed \Sig-terms of the same sort,
5280: then the following are equivalent:
5281: \itemm{($i$)}
5282: $t_1$ and $t_2$ have the same value in $I$,
5283: \itemm{($ii$)}
5284: $t_1$ and $t_2$ have the same value in all N-standard models of $G$,
5285: \itemm{($iii$)}
5286: $t_1 = t_2$ \,is provable from \,$G$
5287: \,in \,\CondSUEqomSig,
5288: \itemm{($iv$)}
5289: $t_1 = t_2$ \,is provable from \,$G$ 
5290: \,in \,\FOLomSig.
5291: \endpr
5292: 
5293: \Pf
5294: By the N-standardness Lemma, $I$ is N-standard.
5295: Again, the main thing is to show that 
5296: $I$ satisfies closed substitution instances of axioms of $G$.
5297: By definition, 
5298: for any {\it closed equation} $P$:
5299: $$
5300: I \ttstile P \ \ \llongtofrom \ \ G \tstile P
5301: \tagx
5302: $$
5303: where `$\tstile$' here means provability in \,\CondSUEqom.
5304: Further, by use of the $\all_\om R$ rule,
5305: the same holds
5306: for any {\it closed SU equation} $R$:
5307: $$
5308: I \ttstile R \ \ \llongtofrom \ \ G \tstile R.
5309: $$
5310: For suppose
5311: \,$R \ident \all \ztt P(\ztt)$,
5312: \ where $P(\ztt)$ is an equation. Then
5313: $$
5314: \align
5315: \ I \ttstile \all \ztt P(\ztt) \ \
5316:    &\llongtofrom \ \ \tx{for all $n$,}\ I \ttstile P(\bar n)\\
5317:    &\llongtofrom \ \ \tx{for all $n$,}\ G \tstile P(\bar n) 
5318:      \qquad \,\tx{by} \ \ (*)\\
5319:    &\llongtofrom \ \ G \ \tstile \all \ztt P(\ztt) 
5320:      \qqquad\quad \tx{by} \ \ \all_\om R
5321: \endalign
5322: $$
5323: The rest of the proof follows the pattern of Theorems 1, 2 and 3.
5324: \endpf
5325: 
5326: \Remarks
5327: (1) \,As before,
5328: the assumption in the theorem that $G$ determines \,\nats\ 
5329: \,and \,\bools\ \,can be replaced by the assumption that 
5330: \Sig\ is strictly N-standard.
5331: \sn
5332: (2) \,({\it Completeness and conservativity.\/})
5333: \,Once again, the implication \,$(ii)\tto(iii)$
5334: \,can be viewed as a completeness theorem,
5335: and \,$(iv)\tto(iii)$
5336: \,as a conservativity theorem.
5337: \endpr
5338: 
5339: 
5340: \shead{7.6}{Open term algebras}
5341: So far (Theorems 1, 2, 3 and 4)
5342: we have concentrated on closed term algebras.
5343: We could also formulate our results in a more general setting,
5344: namely, with term algebras constructed from
5345: open terms, \ie, terms containing free variables
5346: (from a given set $X$).
5347: 
5348: The problem here is that with open terms (an analogy of) the
5349: N-Standardness Lemma (\S7.2) will fail in general.
5350: However, under a certain syntactic condition 
5351: (the ``N-term condition" below),
5352: a version of this Lemma can still be formulated.
5353: 
5354: First we need some definitions and notation.
5355: Given a signature \Sig, and a set
5356: \,$X\sseq \VarSig$,
5357: \,let \,\TSigX\ \,be the set of \Sig-terms in $X$, 
5358: \ie, \Sig-terms containing variables from $X$ only.
5359: In particular, for $X=\nil$, \,we have 
5360: the set of closed \Sig-terms
5361: \,$\TSig = \Tbi(\Sig,\nil)$.
5362: 
5363: Given a first-order \Sig-theory $T$
5364: \,and formalism \,\FFF\
5365: \,which is valid for \,\AlgSigT,
5366: \,let \,\TSigXTF\ \,be the \Sig-{\it term algebra\/} formed 
5367: from \,\TSigX\
5368: \,by identifying terms provably equal from $T$ in \,\FFF.
5369: (The closed term algebra \,\TSigTF\ \,considered above
5370: corresponds to the special case \,$X=\nil$).
5371: 
5372: The algebra \,$I\eqdf\TSigXTF$ \,is 
5373: {\it free for \,$T$ over $X$\/}.
5374: This means that for every model $A$ of $T$,
5375: and every assignment \,$\rho:X\to A$
5376: \,of elements of $A$ to variables in $X$ (of the same sort),
5377: \,there is a {\it unique \Sig-homomorphism\/}
5378: \ $h:I\to A$ 
5379: \ such that \,$h\rest X \rho$.
5380: (This reduces to initiality in \,\AlgSigT\ \,when \,$X=\nil$.)
5381: 
5382: Note that $I$ need not itself be a model of $T$.
5383: However, this will be the case,
5384: provided $T$ satisfies certain syntactic conditions
5385: (\eg, if $T$ is a conditional equational theory;
5386: \cf\ Theorem 1 above).
5387: 
5388: Again, assuming that \Sig\ is N-standard, 
5389: we are interested in the question whether 
5390: $I$ is N-standard.  A useful criterion in this connection
5391: is the following syntactic condition on \Sig\ and $X$:
5392: 
5393: \pr
5394: {N-term Condition for $(\Sig, X)$}
5395: {\sl No \Sig-term of sort \,\nats\ \,or \,\bools\
5396: \,contains any variables from $X$.
5397: \endpr
5398: 
5399: 
5400: \Remarks
5401: (1) \,The N-term condition for $(\Sig,X)$ 
5402: is trivially satisfied when \,$X=\nil$. 
5403: \sn
5404: (2) \,When \Sig\ is strictly N-standard,
5405: it is equivalent to the condition:
5406: \sn
5407: 
5408: \ce{\sl there are no variables in $X$ of sort \,\nats\ \,or \,\bools.}
5409: 
5410: \sn
5411: This follows from Remark 3 in \S1.5.
5412: 
5413: 
5414: Now the theory given above, and specifically Theorems 1 to 4,
5415: can be generalised to the case of open term models
5416: \,\TSigXTF\ , where \,$(\Sig,X)$ \,satisfies the N-term condition.
5417: First, the N-standardness lemma becomes:
5418: 
5419: 
5420: \pr{N-Standardness Lemma$^{\bk X}$}\sl
5421: Suppose that \,$(\Sig,X)$ \,satisfies the N-term condition.
5422: \nl
5423: Suppose further that in \,\FFF
5424: \itemm{($i$)}
5425: $T$ is consistent,
5426: \itemm{($ii$)}
5427: $T$ determines \nats\ and \bools, \,and
5428: \itemm{($iii$)}
5429: $T$ proves \NStdAxoSig.
5430: \sn
5431: Then \,\TSigXTF\ \,is N-standard.
5432: \endpr
5433: 
5434: Next, the strict N-standardness lemma becomes
5435: (using Remark 2 above):
5436: 
5437: \pr{Strict N-Standardness Lemma$^{\bk X}$}\sl
5438: Suppose \Sig\ is {\it strictly\/} N-standard, 
5439: and there are no variables in $X$ of sort \,\nats\ \,or \,\bools.
5440: Suppose also \,\FFF\ \,is at least as strong as \,\CondEqSig,
5441: \,and in \,\FFF\
5442: \itemm{($i$)}
5443: $T$ is consistent, \,and
5444: \itemm{($ii$)}
5445: $T$ proves \NStdAxSig.
5446: \sn
5447: Then \,\TSigXTF\ \,is N-standard.
5448: \endpr
5449: 
5450: Consider next, for example, Theorem 2.
5451: This can be reformulated as follows.
5452: 
5453: \Thmn{$\bk 2^{\bk X}$}
5454: Suppose \,$(\Sig,X)$ \,satisfies the N-term condition.
5455: Let $E$ be a conditional equational theory over \Sig.
5456: Suppose that in \CondEqSig,
5457: \,$E$ is consistent, determines \nats\ and \bools,
5458: and proves \,\NStdAxSig.
5459: Then \ $I \eqdf \Tbi(\Sig,X,\,E,\,\CondEqSig)$
5460: \ is an N-standard model of $E$,
5461: which is free for $E$ over $X$.
5462: \ Furthermore, if \ $t_1, t_2$ \ are two terms in \,\TSigX\ \,of the same sort,
5463: then the following are equivalent:
5464: \itemm{($i$)}
5465: $t_1$ and $t_2$ have the same value in $I$,
5466: \itemm{($ii$)}
5467: $t_1$ and $t_2$ have the same value in all N-standard models of $E$,
5468: \itemm{($iii$)}
5469: $t_1 = t_2$ \ is provable from $E$ \ in \,\CondEqSig,
5470: \itemm{($iv$)}
5471: $t_1 = t_2$ \ is provable from $E$ in \,$\FOLSig+\IndSig$.
5472: \endpr
5473: 
5474: The strict N-standardness Lemma$^X$,
5475: and Theorem 2$^X$, will be used in Section 9.
5476: 
5477: 
5478: \shead{7.7}{Reducing conditional BU to conditional equational specifications}
5479: We re-consider the work of \S3.3 from the viewpoint of initial algebra 
5480: specifications.
5481: 
5482: \Thmn{5 \ (BU elimination for initial algebra specifications)}
5483: Let $F$ be a conditional BU equational theory over \Sig.
5484: Then there is an expansion \Sigp\ of \Sig\ and a 
5485: conditional equational theory $E'$ over \Sigp\
5486: which is equivalent to $F$ (relative to N-standard models) in the sense that:
5487: \itemm{($i$)}
5488: if $A$ is an N-standard \Sig-model of $F$, 
5489: then it has a \Sigp-expansion which is
5490: a N-standard model of $E'$;
5491: \itemm{($ii$)}
5492: if \ $A \cong \INSSigF$ \ then
5493: it has a unique (up to \Sigp/\Sig-isomorphism) \Sigp-expansion $A'$ such that
5494: \ $A' \cong \INS(\Sig', E')$;
5495: \itemm{($iii$)}
5496: if $A'$ is an N-standard \Sigp-model of $E'$, then its \Sig-reduct $A$
5497: is an N-standard model of $F$;
5498: and if 
5499: \ $A' \cong \INS(\Sig', E')$
5500: \ then \ $A \cong \INSSigF$.
5501: \sn
5502: If $F$ contains $q$ occurrences of BU quantifiers, 
5503: then \Sigp\ \,expands \,\Sig\ by one new sort and $q$ new function symbols.
5504: Moreover, if
5505: $F$ is finite, with $e$ axioms (say),
5506: then so is $E'$, with $e+4q$ axioms.
5507: \endpr
5508: 
5509: \Pf
5510: The idea, again, is to incorporate in the signature,
5511: for each BU quantifier occurring in $F$,
5512: a {\it characteristic function}
5513: for that quantifier.
5514: The problem with adjoining a boolean-valued function symbol
5515: \ $\fs:\nats\times u \to \bools$
5516: \ satisfying ($**$) in 
5517: the BU elimination theorem in \S3.3,
5518: is in the case that $A$ is an initial N-standard model of $F$.
5519: In order that its \Sigp-expansion $A'$ be {\it N-standard},
5520: the value of $\fs(n,x)$ must be either \trues\ or \falses\
5521: for every value of the arguments $n,x$.
5522: Furthermore, in order that $A'$ also be {\it initial},
5523: the \Sig-homomorphism $h$ from $A$ to every N-standard model $B$ of $F$
5524: must be extendible to a
5525: \Sigp-homomorphism $h'$ from $A'$ to the \Sigp-expansion $B'$ of $B$.
5526: However, the rhs of ($**$) in \S3.3 will hold ``more often" in $B$ than in $A$
5527: (since $B$ is a homomorphic image of $A$),
5528: with a corresponding {\it change} in the value of $\fs(n,x)$
5529: from \falses\ to \trues!
5530: Hence $h$ cannot, in general, be extended as desired.
5531: (Making \fs\ a 0,1-valued function will cause exactly the same problem.)
5532:  
5533: We therefore adjoin a special sort \Ds\ for the range of
5534: such functions \fs,
5535: with a constant \ds\ which takes the place of `\trues' in ($**$) in \S3.3.
5536: (The point is that when the condition on the rhs of ($**$) fails,
5537: $\fs(n,x)$ is not ``forced" to equal anything else at all.)
5538: Now for each BU quantifier as in ($*$) of \S3.3,
5539: {\it adjoin} to the signature the function symbol 
5540: $$
5541: \fs: \nats\times u \ \to \ \Ds,
5542: $$
5543: and adjoin the axioms formed from (\xxx) and (\xxxx) in \S3.3 
5544: by replacing `\trues' by `\ds' throughout.
5545: In this way we {\it replace} $F$ by a conditional
5546: equational theory $E'$ in \Sigp, with the stated properties.
5547: \endpf
5548: 
5549: \Remark
5550: If $A$ is an N-standard model of $F$, 
5551: then its N-standard \Sigp-expansion $A'$
5552: modelling $E'$,
5553: given by part ($i$) of the theorem,
5554: is not (in general) uniquely determined.
5555: However, the added condition of initiality (on $A$ and $A'$)
5556: determines $A'$ uniquely.
5557: \endpr
5558: 
5559: 
5560: 
5561: \Shead8{Initiality-preserving operators on N-standard algebras}
5562: In this section we combine the theory of Section 5
5563: (``computability $\implies$ algebraic specifiability")
5564: with the initial algebra theory of Section 7.
5565: 
5566: \shead{8.1}{Initiality preserving operators and the HEP}
5567: Assume now (as in \S3.1) that
5568: \Sigp\ and \Sigpp\ are N-standard signatures with 
5569: \,$\Sig \subset \Sig' \subset \Sigpp$,
5570: \,and \,$\Phi : \NStdAlgSig \to \NStdAlg(\Sig')$
5571: \, is an expanding operator over \Sig.
5572: Recall Definitions 5 and 7 in \S3.1.
5573: 
5574: \Defn1
5575: \Ph\ is {\it initiality preserving\/}
5576: ({\it w.r.t\. \Sig\ and\/} \Sigp)
5577: iff for all 
5578: \,$\KK \subseteq \NStdAlgSig$
5579: \,and \,$A \in \NStdAlgSig$,
5580: \ $A$ is initial in \KK\ iff \APhi\ is initial in \KKPhi.
5581: \endpr
5582: 
5583: \Lemman1
5584: Suppose \Ph\ is initiality preserving,
5585: and \,\SigpTp\ \,specifies \Ph\ uniformly over \Sig.
5586: Then for any \Sig-theory $T$ and N-standard \Sig-algebra $A$,
5587: $$
5588: A \cong \INSSigT \ \ifff
5589: \ \APhi \cong \INS(\Sigp, \, T + T').
5590: $$
5591: \endpr
5592: 
5593: \newpage
5594: 
5595: \Lemman2
5596: Suppose 
5597: \,$\Phi(A) = \Psi(A)\redSigp$
5598: \,for all \,$A \in \NStdAlgSig$,
5599: \,where 
5600: $$
5601: \Psi : \NStdAlgSig \to \NStdAlg(\Sig'')
5602: $$
5603: is an expanding operator 
5604: which is initiality preserving w.r.t\. \Sig\ and \Sigpp.
5605: Then 
5606: \Ph\ is initiality preserving, and
5607: for any \Sigpp-theory \,$T''$ \,and N-standard \Sig-algebra $A$,
5608: if \,\SigppTpp\ \,specifies \Ps\ uniformly over 
5609: \Sig, \,then
5610: \,\SigppTpp\ \,specifies \Ph\ uniformly over \Sig\
5611: with hidden sorts and/or functions; and
5612: for any \Sig-theory T\ \,and N-standard \Sig-algebra $A$,
5613: $$
5614: \align
5615: A \cong \INSSigT \
5616: &\ifff
5617: \ \APsi \cong \INS(\Sigpp, T+T'') \\
5618: &\ifff
5619: \ \APhi \cong \INS(\Sigpp, T+T'')\redSigp \\
5620: &\ifff
5621: \ \APhi \cong \Init\bigl(\Sigp, \,\NStdAlg(\Sigpp, T + T'') \redSigp \,\bigr).
5622: \endalign
5623: $$
5624: \endpr
5625: 
5626: \Pf
5627: From Lemma 1.
5628: \endpf
5629: 
5630: \Defn2
5631: \Ph\ has the {\it homomorphism extension property (HEP) 
5632: (w.r.t\. \Sig\ and \Sigp)}
5633: iff every homomorphism \ $h: A \to B$ \ between N-standard \Sig-algebras
5634: can be {\it extended uniquely} to a homomorphism
5635: \ $h^\Phi : \APhi \to B^\Phi$
5636: \ between their images under \Ph.
5637: \endpr
5638: 
5639: \Lemman3
5640: If \Ph\ has the HEP,
5641: then \Ph\ is initiality preserving.
5642: \endpr
5643: 
5644: We will apply the above theory to three cases:
5645: array specifications in \S8.2, and specifications
5646: for PR and \muPRx\ computable functions in \S8.3 and \S8.4 respectively.
5647: 
5648: 
5649: 
5650: \shead{8.2}{Initial algebra specification of array algebras}
5651: Recall the array specification 
5652: \,$(\Sigx,\,\ArrAxSig)$ \,defined in \S3.2.
5653: 
5654: \Lemman1
5655: The array construction \,$A \mapsto \Ax$ 
5656: \,(\S1.6) has the HEP, and (hence) is initiality preserving.
5657: \endpr
5658: 
5659: \Lemman2
5660: For any N-standard \Sig-algebra $A$ and \Sig-theory $T$:
5661: $$
5662: A \cong \INSSigT \ \ifff \  \Ax \cong \INS(\Sigx, \, T + \ArrAxSig).
5663: $$
5664: \endpr
5665: 
5666: \Pf
5667: By \S8.1, Lemma 1, and \S3.2, Theorem 1.
5668: \endpf
5669: 
5670: Of particular interest is the case that $T$ is a {\it conditional BU
5671: equational\/} theory:
5672: 
5673: 
5674: \Thmn1
5675: If a \Sig-algebra $A$ has an initial N-standard algebra specification 
5676: by a set of conditional BU equations,
5677: then so does \Ax.
5678: Moreover, if the specification for $A$ is finite, 
5679: with $e$ axioms (say),
5680: then so is that for \Ax, with at most
5681: \,$e + 8s$\,\ axioms, 
5682: where $s$ is the number of sorts in \Sig.
5683: \endpr
5684: 
5685: Next, from the BU elimination theorem
5686: for initial algebras (Theorem 5 in Section 7)
5687: we can reduce such a specification for \Ax\ further to one with
5688: {\it conditional equations} only.
5689: 
5690: 
5691: \Thmn2
5692: If a \Sig-algebra $A$ has an initial N-standard algebra specification 
5693: by a set of conditional equations,
5694: then so does \Ax\
5695: (with hidden sorts and functions).
5696: Moreover, if the specification for $A$ is finite, 
5697: with $e$ axioms (say),
5698: then so is that for \Ax, with at most
5699: \,$e + 12s$\,\ axioms, where $s$ is the number of sorts in \Sig.
5700: \endpr
5701: 
5702: \Pf
5703: First apply Theorem 1
5704: (or Lemma 2) above.
5705: Then replace the equality axiom for \sx\ in \ArrAxSig,
5706: which is a conditional BU \Sigx-equation (\S3.2), by a conditional 
5707: \Sigx-equation, for each \Sig-equality sort $s$ other than \nats,
5708: by BU elimination (Theorem 5 in \S7.7, applied to \Sigx).
5709: \endpf
5710: 
5711: \shead{8.3}{Initial algebra specifications for PR computable functions}
5712: Now we apply the above theory to the results in \S5.1.
5713: 
5714: \Lemman1
5715: For each \,\PRSig\ \,derivation \al,
5716: the operator $(**)$ (\S5.1) has the HEP, and is (therefore)
5717: initiality preserving.
5718: Hence the operator $(*)$ is initiality preserving.
5719: \endpr
5720: 
5721: \Pf
5722: By structural induction on \al.
5723: \endpf
5724: 
5725: Hence, by Theorem 1 in Section 5 and Lemma 2 in \S8.1:
5726: 
5727: \Lemman2
5728: For each \PRSig\ derivation \al,
5729: and for each N-standard \Sig-algebra $A$ and \Sig-theory $T$:
5730: $$
5731: \align
5732: A \cong \INSSigT \
5733: &\ifff
5734: \ (A, \galA, \falA) \,\cong \,\INS(\Sigal, \,T+\Eal) \\
5735: &\ifff
5736: \ \AfalA \,\cong \,\INS(\Sigal, \,T+\Eal)\redSigf \\
5737: &\ifff
5738: \ \AfalA \,\cong 
5739: \,\Init\bigl(\Sigf, \,\NStdAlg(\Sigal, \, T+ \Eal)\redSigf\,\bigr).
5740: \endalign
5741: $$
5742: \rm
5743: Here \,$\Sigf = \Sig \cup \{\fal \}$.
5744: (Remember, \,$\Sigal = \Sig \cup \{ \gal, \fal \}$,
5745: \,where \,\gal\ is the list of auxiliary functions of \al.)
5746: Of particular interest is the case that $T$ is a 
5747: {\it conditional equational} theory:
5748: 
5749: \Thmn3
5750: Let $f$ be a PR function on a \Sig-algebra $A$.
5751: If $A$ has an initial N-standard algebra specification 
5752: by a set of conditional equations,
5753: then so does \Af\
5754: (with hidden functions).
5755: \endpr
5756: 
5757: 
5758: \shead{8.4}{Initial algebra specifications for \muPRx\ computable functions}
5759: We turn to \,\muPRx\ \,computability (\S5.2).
5760: The problem here (as noted in \S5.2)
5761: is that even if the computed function is total,
5762: the auxiliary functions need not be.
5763: However, by applying the totality lemma (\S5.2),
5764: we are able restrict our attention to total derivations.
5765: 
5766: \Lemman1
5767: For each \,\muPRxSig\ \,derivation \al\ 
5768: and each N-standard \Sig-algebra $A$ on which \falA\ is total,
5769: the operator (\xxx) (\S5.2) has the HEP, and is (therefore)
5770: initiality preserving.
5771: Hence the operator $(*)$ (\S5.1) is initiality preserving.
5772: \endpr
5773: 
5774: \Pf
5775: By structural induction on \al.
5776: \endpf
5777: 
5778: Hence, by Theorem 2 in Section 5 and 
5779: Lemma 2 in \S8.1, we have:
5780: 
5781: \Lemman2
5782: For each \muPRxSig\ derivation \al,
5783: each N-standard \Sig-algebra $A$ on which
5784: \falA\ is total, and each \Sig-theory $T$:
5785: $$
5786: \multline
5787: A \isom \INSSigT \ \ifff \\
5788: \AfalA\ \cong \ \Init\bigl
5789: (\Sigf, \,\NStdAlg(\Sigalx, \, T+ \ArrAxSig +\Falhat)\redSigf\,\bigr).
5790: \endmultline
5791: $$
5792: where \alhat\ is the total derivation for 
5793: \,\fal\ \,given by the totality lemma,
5794: and \,\Falhat\ \,is the conditional BU specification for \alhat.
5795: \endpr
5796: Here, as before,  \,$\Sigf = \Sig \cup \{\fal \}$.
5797: Of particular interest are the two cases that $T$ is a 
5798: {\it conditional BU equational} theory,
5799: and a {\it conditional equational} theory.
5800: First, assuming the former:
5801: 
5802: 
5803: \Thmn4
5804: Let $f$ be a total \muPRx\ function on a \Sig-algebra $A$.
5805: If $A$ has an initial N-standard algebra specification \SigF,
5806: where $F$ is a set of conditional BU equations,
5807: then likewise \Af\
5808: has such a specification $(\Sigf,\Ff)$
5809: with hidden sorts and functions,
5810: where \Ff\ is also a set of conditional BU equations.
5811: Moreover, \Ff\
5812: can be obtained by adjoining to $F$
5813: an instantiation \,$\FU(\kbar)$
5814: \,of some universal conditional BU equational specification 
5815: \,$\FU(\ztt)$,
5816: \,which depends only on \Sig\ and the type of $f$.
5817: \endpr
5818: 
5819: The universal specification \,$\FU(\ztt)$
5820: \,in this theorem is obtained as in Theorem 3 in Section 5.
5821: 
5822: Finally, by assuming $T$ in Lemma 2 
5823: is a conditional equational theory,
5824: and applying Theorem 4 above and then 
5825: BU elimination for initial algebras (Theorem 5 in Section 7):
5826: 
5827: 
5828: \Thmn5
5829: Let $f$ be a total \muPRx\ function on a \Sig-algebra $A$.
5830: If $A$ has an initial N-standard algebra specification \SigE,
5831: where $E$ is a set of conditional equations,
5832: then likewise \Af\
5833: has such a specification $(\Sigf,\Ef)$
5834: with hidden sorts and functions,
5835: where \Ef\ is also a set of conditional equations.
5836: Moreover, \Ef\
5837: can be obtained by adjoining to $E$
5838: an instantiation \,$\EU(\kbar)$
5839: \,of some universal conditional equational specification 
5840: \,$\EU(\ztt)$,
5841: \,which depends only on \Sig\ and the type of $f$.
5842: \endpr
5843: 
5844: 
5845: \Shead9{Computability of algebraically specifiable functions}
5846: In this section we prove (partial) converses to the results of 
5847: Section 5.
5848: First we need a definition.
5849: 
5850: \Defn{(Strong specifiability)}
5851: Let \KK\ be a \Sig-class, 
5852: let \,$\Sig' \supseteq \Sig \cup \{ \fs \}$
5853: \,and let $T$ be a \Sigp-theory.
5854: We say that $T$ {\it strongly specifies\/} a family
5855: \,\curly{\fA \mid\AinKK}
5856: \,(possibly with hidden sorts and/or functions)
5857: \,iff
5858: \nl
5859: ($i$) $T$ specifies \,\curly{\fA \mid\AinKK},
5860: \,and further
5861: \nl
5862: ($ii$) for every \,$A,B\in \KK$ \,with \,$B\subalg A$,
5863: \,$f^B = \fA\rest B$.
5864: \endpr
5865: \n
5866: (Here \,$\fA\rest B$ \,denotes the restriction of \fA\ to $B$.)
5867: 
5868: The significance of this concept is seen by rephrasing it 
5869: in either of the following two ways.
5870: 
5871: \Lemman1
5872: Let \KK\ be a \Sig-class, 
5873: let \,$\Sig' \supseteq \Sig \cup \{ \fs \}$
5874: \,and let $T$ be a \Sigp-theory.
5875: $T$ {\it strongly specifies\/} a family
5876: \,\curly{\fA \mid\AinKK}
5877: \,(possibly with hidden sorts and/or functions)
5878: \,iff
5879: \nl
5880: ($i$) $T$ specifies \,\curly{\fA \mid\AinKK},
5881: \,and further \,
5882: \nl
5883: ($ii'$) for every \,$A,B\in \KK$ \,with \,$B\subalg A$,
5884: \,$B$ is closed under \fA.
5885: \endpr
5886: 
5887: 
5888: \Lemman2
5889: Let \KK\ be a \Sig-class which is closed under finitely generated subalgebras,
5890: let \,$\Sig' \supseteq \Sig \cup \{ \fs \}$
5891: \,and let $T$ be a \Sigp-theory.
5892: $T$ {\it strongly specifies\/} a family
5893: \,\curly{\fA \mid\AinKK}
5894: \,(possibly with hidden sorts and/or functions)
5895: \,iff
5896: \nl
5897: ($i$) $T$ specifies \,\curly{\fA \mid\AinKK},
5898: \,and further \,
5899: \nl
5900: ($ii''$) for every \,\AinKK\ 
5901: \,and every finitely generated \,$B\subalg A$,
5902: \,$B$ is closed under \fA.
5903: \endpr
5904: 
5905: We consider algebras and functions specified by
5906: conditional equational theories.
5907: We have to assume now that these theories have
5908: {\it effective axiomatisations\/}:
5909: that the axioms are finite, for example, or 
5910: at least recursively enumerable.
5911: 
5912: We will also make use of Theorem $2^X$ in \S7.6.
5913: Recall the remarks preceding the theorem there,
5914: that the N-term condition for $(\Sig,X)$ follows from either
5915: \,($i$) $X = \nil$;
5916: \,or
5917: \,($ii$) strict N-standardness of \,\Sig,
5918: together with $X$ containing no variables of sort \,\nats\ \,or \,\bools.
5919: 
5920: We will prove two theorems, making each of these assumptions 
5921: in turn.
5922: 
5923: 
5924: \shead{9.1}{Computability of specifiable function on minimal algebras}
5925: We first consider a partial converse,
5926: using Remark 1 on the N-term condition (\S7.6),
5927: that is, restricting our attention
5928: to minimal models (\ie, models in which every element 
5929: is named by a closed term).
5930: We use the notation \,\MinNStdAlgSigT\
5931: \,for the set of minimal N-standard \Sig-models of a theory $T$.
5932: 
5933: \Thmn1
5934: Suppose \Sig\ is N-standard.
5935: Let $E$ be an r.e\. conditional equational \Sig-theory
5936: which in \,\CondEqSig\ is consistent, determines
5937: \,\nats\ \,and \,\bools\ \,and proves 
5938: \NStdAxoSig.
5939: Suppose $\Sig' \supseteq \Sig \cup \{ \fs \}$,
5940: \,and let $E'$ be an r.e\. conditional equational \Sigp-theory 
5941: which strongly specifies \,\curly{f^A\mid \AinMinNStdAlgSigE}
5942: \,(possibly with hidden sorts and/or functions).
5943: Assume also that \,$E+E'$ 
5944: \,determines \,\nats\ \,and \,\bools,  
5945: \,and is conservative over $E$,
5946: \,in \,\CondEqSig,
5947: and also that 
5948: all sorts of \,\dom{f} \,other than \,\bools\ \,are equality sorts.
5949: Then \fA\ is uniformly \,\muPRx\ computable over 
5950: \,\AinMinNStdAlgSigE.
5951: \endpr
5952: 
5953: \Pf
5954: We will describe a pseudo-\WhilexSig\ algorithm
5955: for computing \fA\ uniformly over minimal N-standard \Sig-models $A$ of $E$.
5956: Suppose \,$\fs:\utos$,
5957: \,where \,$u = \tuptimes{s}1n$.
5958: In general, some of the $s_i$ are \nats\ or \bools,
5959: and the others not.
5960: Suppose (w.l.o.g.) that for some $m<n$,
5961: sorts \,$s_{m+1},\dots,s_n$ \,are all either \,\nats\ \,or \,\bools,
5962: \,and sorts \,\tup{s}1m \,are not.
5963: Write \,$u=v\times w$
5964: \,where \,$v=\tuptimes{s}1m$
5965: \,and
5966: \,$w=\tuptimes{s}{m+1}n$.
5967: By assumption, sorts \,\tup{s}1m\ \,are equality sorts.
5968: 
5969: For any \,\AinMinNStdAlgSigE,
5970: we will show how to compute 
5971: $$
5972: f^A: \ A^u \ \to \ A_s.
5973: $$
5974: Choose a tuple 
5975: \,$k= (\tup{k}1{n-m})\in\Aw$
5976: \,(of naturals and truth values), and
5977: consider the function
5978: $$
5979: f_k^A \eqdf f(\ \cdot\ ,\,k): \ \Av \ \to \ \As.
5980: $$
5981: We will show how to compute $f_k^A$
5982: uniformly in the (numerical and boolean) parameters $k$.
5983: 
5984: Let \,$I = \Tbi(\Sig,\,E, \,\CondEqSig)$
5985: %\,the free closed \Sig-algebra for $E$ in \,\CondEqSig,
5986: \,and \,$J = \Tbi(\Sig',\,E+E', \,\CondEq(\Sigp))$
5987: %\,the free closed \Sigp-algebra for \,$E+E'$ \,in \,\CondEq(\Sigp).
5988: \,(recall the definitions in \S7.1).
5989: By the N-Standardness Lemma (and the conservativity assumption
5990: for \,$E+E'$ \,over $E$),
5991: both $I$ and $J$ are N-standard.
5992: (Below we denote elements of these
5993: algebras by `$[t]$', \ie, suitable equivalence classes of terms $t$,
5994: or tuples thereof.
5995: We also write \,\kbar\ \,for the tuple of numerals and/or truth constants
5996: corresponding to $k$.)
5997: 
5998: Note that the identity mapping on \,\TSig\ \,induces a \Sig-homomorphism
5999: $$
6000: \iI:\ I \ \to \ \JSig.
6001: $$
6002: By conservativity of \,$E+E'$ \,over $E$, \,\iI\ \,is injective.
6003: Hence \,$I\subalg \JSig$.
6004: 
6005: Further, the function $f^J$ specified by $E'$ on \,\JSig\ \,is clearly
6006: the same as that defined ``naturally" on $J$ by
6007: \ $f^J([t]) = [\fs(t)]$.
6008: By the strong specification assumption,
6009: $$
6010: f^I = f^J\rest I.
6011: $$
6012: Hence for any closed \Sig-term $t_0$,
6013: $$
6014: f_k^J ([t_0]) \ = \ f_k^I([t_0]) \ = \ [t]
6015: $$
6016: for some closed \Sig-term $t$.
6017: By definition of $J$, this means that the equation
6018: $$
6019: \fs(t_0, \,\kbar) \ = \ t
6020: \tagx
6021: $$
6022: is {\it provable\/} from \,$E+E'$ \,in \,\CondEq(\Sigp).
6023: 
6024: Now take any \,\AinMinNStdAlgSigE,
6025: \,and any \,\ainAv.
6026: Since $A$ is minimal, there is a tuple of closed \Sig-terms \,$t_0:v$ 
6027: \,such that 
6028: \,$t_0^A = a$.
6029: By Theorem 2 of Section 6 applied to \Sigp, there is a \Sigp-homomorphism 
6030: $$
6031: h \,: \ J \ \to \ (A,\,f^A, \,\dots\,)
6032: $$
6033: with \,$h([t_0]) = a$.
6034: Hence, since ($*$) holds in $J$, it also holds in 
6035: (the \Sigp-expansion of) $A$, with \,`\fs' \,interpreted as \fA.
6036: 
6037: This suggests the following algorithm for \,$f_k^A$
6038: with $A$ minimal.
6039: \ With {\it inputs} \ainAv:
6040: first generate all (G\"odel numbers of)
6041: tuples of closed \Sig-terms of type $v$, until you find a tuple $t_0$
6042: with \,$t_0^A=a$. 
6043: (This is where we use computability of equality on type $v$.)
6044: Then
6045: {\it generate} all G\"odel numbers of theorems of $E+E'$
6046: until you find one of the form
6047: \,$\cnr{\fs(t_0) = t}$,
6048: \,for some closed \Sig-term $t$.
6049: Then the {\it output} is \,$t^A$.
6050: 
6051: The search is effective in the 
6052: {\it term evaluation\/} function for closed \Sig-terms in $A$,
6053: by recursive enumerability of $E$ and $E'$.
6054: Further, since term evaluation is \PRx\ computable (\cite[\S4]{tz:hb}),
6055: this algorithm can be formalised as a \,\muPRxSig\ \,derivation 
6056: for \fA,
6057: as desired.
6058: \endpf
6059: 
6060: 
6061: \Remark
6062: The assumption that the sorts of \,\dom{f} \,are equality sorts
6063: can clearly be weakened to the assumption that
6064: equality is
6065: (uniformly over \,\MinNStdAlgSigE)
6066: computable on these sorts.
6067: \endpr
6068: 
6069: 
6070: 
6071: \shead{9.2}{Computability of specifiable function in strictly N-standard
6072: algebras}
6073: We consider a second partial converse,
6074: using Remark 2 
6075: on the N-term condition,
6076: \ie, no free variables of sort \,\nats\ \,or \,\bools,
6077: plus strict N-standardness.
6078: \Thmn2
6079: Suppose \Sig\ is strictly N-standard.
6080: Let $E$ be an r.e\. conditional equational \Sig-theory
6081: which in \,\CondEqSig\ is consistent
6082: and proves \,\NStdAxSig.
6083: Suppose $\Sig' \supseteq \Sig \cup \{ \fs \}$
6084: \,is also strictly N-standard
6085: and proves \,\NStdAx(\Sigp).
6086: Let $E'$ be an r.e\. conditional equational \Sigp-theory 
6087: which strongly specifies \,\curly{f^A\mid \AinNStdAlgSigE}
6088: \,(possibly with hidden sorts and/or functions).
6089: Assume also that \,$E+E'$ \,is conservative over $E$  in \,\CondEq(\Sigp).
6090: Then \,\fA\ \,is uniformly \,\muPRx\ computable over \,\AinNStdAlgSigE.
6091: \endpr
6092: 
6093: \Pf
6094: We will describe a pseudo-\WhilexSig\ algorithm
6095: for computing \fA\ uniformly over \,\AinNStdAlgSigE.
6096: Suppose \,$\fs:\utos$,
6097: \,where \,$u = \tuptimes{s}1n$.
6098: In general, some of the $s_i$ are \nats\ or \bools,
6099: and the others not.
6100: Suppose (w.l.o.g.) that for some $m<n$,
6101: sorts \,$s_{m+1},\dots,s_n$ \,are all either \,\nats\ \,or \,\bools,
6102: \,and sorts \,\tup{s}1m \,are not.
6103: Write \,$u=v\times w$
6104: \,where \,$v=\tuptimes{s}1m$
6105: \,and
6106: \,$w=\tuptimes{s}{m+1}n$.
6107: 
6108: For any \,\AinNStdAlgSigE,
6109: we will show how to compute 
6110: $$
6111: f^A: \ A^u \ \to \ A_s.
6112: $$
6113: Choose a tuple 
6114: \,$k= (\tup{k}1{n-m})\in\Aw$
6115: \,(of naturals and truth values), and
6116: consider the function
6117: $$
6118: f_k^A \eqdf f(\ \cdot\ ,\,k): \ \Av \ \to \ \As.
6119: $$
6120: We will show how to compute $f_k^A$
6121: uniformly in the (numerical and boolean) parameters $k$.
6122: 
6123: Choose a tuple of variables \,$\xtt:v$
6124: (\ie, of the same product type as $a$).
6125: Let \,$I = \Tbi(\Sig,\,\xtt,\,E, \,\CondEqSig)$
6126: %\,the free \Sig-algebra for $E$ in \,\CondEqSig\ \,over \xtt,
6127: \,and \,$J = \Tbi(\Sig',\,\xtt,\,E+E', \,\CondEq(\Sigp))$
6128: \,(recall the definitions in \S7.6).
6129: %\,the free \Sigp-algebra for \,$E+E'$ \,in \,\CondEq(\Sigp) \,over \xtt.
6130: By the strict N-standardness Lemma$^X$ (\S7.6),
6131: both $I$ and $J$ are N-standard.
6132: 
6133: Note that the identity mapping on \,\TSigx\ \,induces a \Sig-homomorphism
6134: $$
6135: \iI:\ I \ \to \ \JSig.
6136: $$
6137: By conservativity of \,$E+E'$ \,over $E$, \,\iI\ \,is injective.
6138: Hence \,$I\subalg \JSig$.
6139: 
6140: Further, the function $f^J$ specified by $E'$ on \,\JSig\ \,is clearly
6141: the same as that defined naturally on $J$ by
6142: \ $f^J([t]) = [\fs(t)]$.
6143: By the strong specification assumption,
6144: $$
6145: f^I \ = \ f^J\rest I.
6146: $$
6147: Hence
6148: $$
6149: f_k^J (\xtt) \ = \ f_k^I(\xtt) \ = \ [t]
6150: $$
6151: for some \,\tinTSigx.
6152: By definition of $J$, this means that the equation
6153: $$
6154: \fs(\xtt, \,\kbar) \ = \ t
6155: \tagx
6156: $$
6157: is {\it provable\/} from \,$E+E'$ \,in \,\CondEq(\Sigp).
6158: %Note that $t$ is a \Sig-term (in \xtt).
6159: 
6160: Now take any \,\AinNStdAlgSigE,
6161: \,and any \,\ainAv.
6162: By Theorem $2^X$ applied to \Sigp, there is a \Sigp-homomorphism 
6163: $$
6164: h \,: \ J \ \to \ (A,\,f^A, \,\dots\,)
6165: $$
6166: where \,$h(\xtt) = a$.
6167: Hence, since ($*$) holds in $J$, it also holds in 
6168: (the \Sigp-expansion of) $A$, with \,`\fs' \,interpreted as \fA\
6169: and $a$ assigned to \,\xtt.
6170: 
6171: This suggests the following algorithm for \,$f_k^A$.
6172: \ With {\it inputs} \ainAv:
6173: {\it generate} all G\"odel numbers of theorems of $E+E'$
6174: until you find one of the form
6175: \,$\cnr{\fs(\xtt) = t}$,
6176: \,for some \Sig-term $t$ (in \xtt).
6177: This search is effective, by recursive enumerability of $E$ and $E'$.
6178: Then the {\it output} is 
6179: the {\it evaluation of the term\/} $t$ in $A$ with $a$ assigned to \,\xtt.
6180: 
6181: Since term evaluation is \PRx\ computable \cite[\S4]{tz:hb},
6182: this algorithm can be formalised as a \,\muPRxSig\ \,derivation for \fA,
6183: as desired.
6184: \endpf
6185: 
6186: \Remarks
6187: \itemm{(1)}
6188: The above algorithm gives,
6189: for each tuple of numerical and boolean arguments $k$,
6190: a {\it fixed\/} term \,\tinTSigx\ 
6191: \,as the value of \,$f_k^A(a)$
6192: \,for all \,\AinNStdAlgSigE\
6193: \,and all \,\ainAv.
6194: \itemm{(2)}
6195: Theorems similar to Theorems 1 and 2 can be formulated for conditional 
6196: BU equational theories and specifications,
6197: using a variation of Theorem 3 (instead of Theorem 2) in Section 7.
6198: \endpr
6199: 
6200: \mn
6201: 
6202: \itemm{\bf 9.3}
6203: {\bf Significance of strong specifiability;
6204: \ Equivalence of specifiability and 
6205: \linebreak
6206: computability}
6207: \sn
6208: We want to combine some of the above results into an
6209: equivalence result between computability and specifiability.
6210: 
6211: Note that by the Locality Theorem for \While\ \,computations
6212: \cite[\S2.8]{tz:hb}, if $f$ is \,\muPRx\
6213: computable on an algebra $A$,
6214: then any subalgebra of $A$ is closed under $f$.
6215: This suggests the following formulations for equivalence theorems,
6216: which are simple consequences of the above theorems
6217: and the lemmas on strong specifiability at the beginning of this section.
6218: 
6219: We give one formulation (Theorem 3) for minimal algebras (\cf\ Theorem 1),
6220: and another (Theorem 4) for strictly N-standard algebras (\cf\ Theorem 2).
6221: 
6222: \Thmn3
6223: Suppose \Sig\ is N-standard.
6224: Let $E$ be an r.e\.   conditional equational \Sig-theory,
6225: which in \,\CondEqSig\  
6226: \,is consistent, determines \,\nats\ \,and \,\bools\
6227: \,and proves \,\NStdAxoSig.
6228: Let \,$\fbi = \ang{\fA\mid\AinMinNStdAlgSigE}$
6229: \,be a family of functions on 
6230: \MinNStdAlgSigE.
6231: Assume that all sorts of \,\dom{\fbi} 
6232: \,other than \,\bools\ \,are equality sorts.
6233: Then the following are equivalent:
6234: \itemm{($i$)}
6235: \fbi\ \,is \,\muPRx\ computable uniformly on \,\MinNStdAlgSigE;
6236: \itemm{($ii$)}
6237: \fbi\ \,is strongly specifiable uniformly on \,\MinNStdAlgSigE,
6238: \,with hidden sorts and functions,
6239: by a finite set of conditional equations
6240: which (together with $E$) is conservative over $E$ in \CondEqSig.
6241: %\itemm{($iii$)}
6242: %\f\ \,is strongly specifiable uniformly on \,\NStdAlgSigE,
6243: %\,with hidden sorts and functions,
6244: %by a finite set of conditional BU equations
6245: %which (together with $T$) is conservative for equations 
6246: %over $T$ in \CondBUEqSig.
6247: \endpr
6248: 
6249: 
6250: \Thmn4
6251: Suppose \Sig\ is strictly N-standard.
6252: Let $E$ be an r.e\.   conditional equational \Sig-theory,
6253: which in \,\CondEqSig\  
6254: \,is consistent
6255: and proves \,\NStdAxoSig.
6256: Let \,$\fbi = \ang{\fA\mid\AinNStdAlgSigE}$
6257: \,be a family of functions on 
6258: \,\NStdAlgSigE.
6259: Then the following are equivalent:
6260: \itemm{($i$)}
6261: \fbi\ \,is \,\muPRx\ computable uniformly on \,\NStdAlgSigE;
6262: \itemm{($ii$)}
6263: \fbi\ \,is strongly specifiable uniformly on \,\NStdAlgSigE,
6264: \,with hidden sorts and functions,
6265: by a finite set of conditional equations
6266: which (together with $E$) is conservative over $E$ in \CondEqSig,
6267: and such that the signature of these equations is also strictly N-standard.
6268: \endpr
6269: 
6270: \Remarkn{\,(Herbrand-G\"odel computability on \NN)}
6271: %Definability of functions on many-sorted structures
6272: %by conditional (BU) equations
6273: %is a generalisation of the notion of {\it Herbrand-G\"odel computability}
6274: %on \NN.
6275: The above theorem 
6276: generalises the classical equivalence result on \,\NNN\ \cite{kleene:im}.
6277: %strengthening Remark 3 in \S5.2.
6278: \endpr
6279: 
6280: 
6281: \Shead{10}{Concluding remarks and future directions}
6282: \sshead{10.1}{Computation on Topological Data Types}
6283: We have extended the theory of algebraic specifications
6284: from the world of countable computable algebras to that of
6285: all algebras, and especially metric algebras, by means of
6286: abstract computability theory. Topological data types and
6287: algebraic specifications play a fundamental role in many areas of
6288: computing, including semantics and scientific computation.
6289: 
6290: Our main theorems concern the transformation of abstract
6291: algorithms to algebraic specifications and provide some basic
6292: techniques for the theory of specifying and verifying
6293: abstract computations. An obvious question is:
6294: 
6295: {\displaytext
6296: Under what circumstances can the conditional equations be
6297: replaced by equations in our theory?
6298: 
6299: }
6300: However, the converse results on the derivation of
6301: algorithms from algebraic specifications need strengthening
6302: to provide completeness or equivalence theorems. Improving
6303: results in the reverse direction
6304: is an important problem,
6305: as stated in the Introduction.
6306: There is much more to this topic than the results 
6307: in Section 9.
6308: A key technical problem in this area is:
6309: 
6310: {\displaytext
6311: To develop general techniques for solving equations, conditional
6312: equations and other algebraic formulae in topological algebras.
6313: 
6314: }
6315: 
6316: In semantics, for example, special cases of the problem are
6317: common.  Semantic modelling makes heavy use of fixed-point
6318: equations. One thinks of the introduction of metric methods
6319: into semantics by M. Nivat 
6320: (see \cite{nivat,arnold-nivat:tcs,arnold-nivat:fi}), or their use in
6321: concurrency theory by De Bakker and others
6322: \cite{db-z,db-rutten,db-devink}.
6323: Studies of the methods of equation
6324: solving in ultrametric algebras, including equivalence
6325: between metric, algebraic and domain-theoretic techniques,
6326: are in Stoltenberg-Hansen and Tucker 
6327: \cite{stolt-jvt88,stolt-jvt91,stolt-jvt93};
6328: see also \cite{stolt94}.
6329: 
6330: In scientific computation, numerical methods are concerned
6331: with obtaining computable solutions from differential and
6332: integral equations. Mathematical models of systems in the
6333: world are specified by sets of equations, from which
6334: algorithms are sought to compute their solutions and hence
6335: to simulate the system. Our main theorems and examples in
6336: Section 5 show the opposite: if a system can be
6337: approximately simulated on a computer then there exist
6338: algebraic specifications that capture the system's behaviour. Such
6339: results seem to be new and, in our view, draw loci that
6340: help delimit the computability theory of physical
6341: systems. We conjecture that it is possible
6342: 
6343: {\sl
6344: To show that certain parts of the theory of numerical
6345: approximation of differential and integral equations are special
6346: instances of a general theory of algebraic specifications.
6347: 
6348: }
6349: This is an exciting and difficult problem with many obvious applications.
6350: 
6351: Given the wealth of algorithms and theory in numerical
6352: methods, it seems to us that relatively little is known
6353: about the computational and logical scope and limits of
6354: equations, the classical mathematical methods of science.
6355: Progress in the area has awaited the creation of stable
6356: computation theories for topological data types. Over the
6357: past decade, computability theory for topological spaces
6358: and algebras has developed dramatically. Several general
6359: approaches have produced deep results and have been shown
6360: to be equivalent. Some approaches are
6361: 
6362: \bull
6363: metric spaces \cite{moscho64},
6364: \bull
6365: axiomatic computation structures \cite{pourel-richards},
6366: \bull
6367: type two effectivity \cite{weih:book},
6368: \bull
6369: algebraic domain representability \cite{stolt-jvt88,stolt-jvt95,blanck97},
6370: \bull
6371: continuous domain representability \cite{edalat97},
6372: \bull
6373: abstract computability \cite{tz:top,tz:hb,bss}
6374: 
6375: The equivalence of the first five approaches is proved in
6376: \cite{stolt-jvt99:tcs}.
6377: The equivalence of all these with the last one is proved in
6378: \cite{brattka97,brattka:thesis,tz:top,tz:abs-conc}.
6379: 
6380: However, this computability theory needs to be complemented
6381: by a logical theory which includes equation solving in topological
6382: algebras.
6383: 
6384: 
6385: \shead{10.2}{Theory of computable data types}
6386: The theory of algebraic specifications of computable
6387: (semicomputable, and cosemicomputable) data types contains
6388: many techniques for proving special properties of algebraic
6389: specifications, and showing the equivalence or
6390: non-equivalence of specification methods.  Can some of
6391: these results be generalised? We believe the answer is yes,
6392: but not without much further work. Many results depend on
6393: special techniques of classical computability theory on the
6394: natural numbers. The theory for computable algebras uses
6395: representations by recursive algebras of numbers. It is
6396: possible to make a representation theory for topological
6397: algebras based on Baire space \,$\NN^\NN$ \,using the {\it type two
6398: effectivity\/} methods of Klaus Weihrauch \cite{weih:book}.
6399: The use of the Diophantine Theorem  for r.e\. sets is more
6400: difficult: the theory of r.e\. sets in abstract
6401: computability differs from the classical case, and no
6402: Diophantine Theorem is known (even for minimal algebras).
6403: 
6404: Since abstract computability theory is uniform over classes
6405: of algebras, our results on specifications are uniform,
6406: yielding parameterised specifications. As we have seen,
6407: this process is surprisingly delicate because it leads to
6408: questions about standardness. In abstract computations it
6409: is natural to augment an algebra by basic data types such
6410: as booleans, naturals and finite arrays. These have an
6411: effect on the axiomatisations.  There are other important
6412: additional types, of both theoretical and practical
6413: interest, that may be used to augment a given data type
6414: and are in need of a standard algebraic
6415: specification theory, including:
6416: \itemm{$(i)$}
6417: infinite streams (necessary for developing the theory of interactive systems);
6418: \itemm{$(ii)$}
6419: real numbers (necessary for developing the theory of metric algebras
6420: and normed linear spaces).
6421: 
6422: \n
6423: An attempt to extend the specification methods
6424: of this paper to both these data types,
6425: using infinitary equational specifications,
6426: is made in \cite{tz:fef} 
6427: 
6428: 
6429: Finally, we note there are several other basic properties
6430: of specifications in need of investigation, especially term
6431: rewriting properties.
6432: 
6433: 
6434: \bigskip
6435: \bigskip
6436: \goodbreak
6437: 
6438: \cbb{References}\bigskip
6439: 
6440: \bibliographystyle{alpha}
6441: \bibliography{abbrev,bib}
6442: 
6443: \enddocument
6444: