+ All Categories
Home > Documents > Aldo Antonelli's Dissertation

Aldo Antonelli's Dissertation

Date post: 18-Aug-2015
Category:
Upload: oliverbardin
View: 6 times
Download: 0 times
Share this document with a friend
Description:
Mathematical Logic Disseration
114
Revision Rules: An Investigation into Non-Monotonic Inductive Definitions by Gian Aldo Antonelli Laurea in Filosofia, Universit` a di Torino, 1986 Submitted to the Graduate Faculty of Arts and Sciences in partial fulfillment of the requirements for the degree of Doctor of Philosophy University of Pittsburgh 1992
Transcript

RevisionRules:AnInvestigationintoNon-MonotonicInductiveDenitionsbyGian Aldo AntonelliLaurea in Filosoa, Universit`a di Torino, 1986Submitted to the Graduate Faculty ofArts and Sciences in partial fulllmentof the requirements for the degree ofDoctor of PhilosophyUniversity of Pittsburgh1992iicCopyright by Gian Aldo Antonelli1992ivRevisionRules:AnInvestigationintoNon-MonotonicInductiveDenitionsGian Aldo Antonelli, PhDUniversity of Pittsburgh, 1992Many dierent modes of denition have been proposed over time, but none ofthem allows for circular denitions, since, according to the prevalent view, the termdened would then be lacking a precise signication. I argue that although circulardenitions may at times fail uniquely to pick out a concept or an object, sense stillcan be made of them by using a rule of revision in the style adopted by Anil Guptaand Nuel Belnap in the theory of truth.In its general form a rule of revision can be characterized as follows. Supposethat we are interested in some concept for which we cannot specify a set of con-ditions that are both necessary and jointly sucient for some object to fall underthe concept. For instance,this might be due to the fact that any candidate for adenition of turns out to involve some kind of circularity. We do, however, havesomeunderstandingofwhattheconceptinvolves, sothatwecanformulatecon-straints on the possible signication of . In particular, these constraints provide away, given some hypothetical extension of , to obtain an extension that is expectedtobebetterinsomesense. Inotherwords, ourlimitedunderstandingof issucient to obtain an operationF a revision rule dened over the space ofthe possible extensions of, that improves upon hypothetical extensions of.We then proceed as follows: pick a guess or bootstrapper, i.e., an arbitraryelement Eof thespaceof thepossibleextensions, anditerateFonE, possiblyinnitelyoften. Thatis, formthesequenceE, F(E), F(F(E)), . . .. ShouldtherebeanelementEinthesequencesuchthatF(E) =E, suchanelementcouldberegarded, relativelytothebootstrapperE, asaplausiblecandidatefortheextension of something we did not have before. It is often the case thatE isnot reached after any nite number of iterations. It is then possible to extend theabove sequence into the transnite as follows. At each limit stage, we rst take theinferior limit of the sequence, i.e., we form the set of elements that are stablyinthe sequence as we approach the limit from below,omitting those that are stablyoutof thesequenceasweapproachthelimitfrombelow; second, onthosethatoscillateconallyinandoutof themembersof thesequence, weguessagain,possibly invoking the same bootstrapper as at the rst stage.Itappearsthatmanycircularconceptsaredenableinthisway, bothinsettheory and computability theory. Indeed, in the rst chapter I argue that revisionvrulestinverynaturallyinarecursiveframework. IshowthatRevisionRulesarisefromrelaxingcertainconstraintsinKleenesclassical construal of recursivefunctionsasxedpointsof recursiveequations. ThisprovidesamotivationforRevisionRulesthatisindependentoftheirmeritsastoolsfortheanalysisoftheconcept of truth.Thesecondchapter, ontheotherhand, employsRevisionRulestorepresentdirectly, rst, recursive functions, and then sets of higher arithmetical complexity.The upshot is that the entire arithmetical hierarchy can be represented by meansof oneRevisionRule(providedweimposecertainelementaryconstraintsonthebootstrapper), insuchawaythatthereisaprecisecorrespondencebetweenthearithmetical complexityofthesetandthelengthoftheRevisionprocessthatisrequired in order to represent it.Inthethirdchapter, nally, welookatRevisionRulesinthecontextofset-theory. Here, non-well-foundedsetsprovideourbenchmarkexampleof circularentities. We work informally in a model of set theory with atoms. We then showhow, using Revision Rules, we can devise a procedure that, given certain constraintson non-well-founded sets, yields a model of set theory in which those constraints aresatised. The procedure is general,in that it can be applied in a uniform way toconstraints belonging to a certain broad class. On closer scrutiny, we see that whatRevision Rules really do iscollapse the universe of set theory we started with to anon-well-founded universe. This provides an alternative, but equivalent, account ofnon-well-foundedness as well as making sure that our Revision Rules indeed yieldthe desired result.viPREFACEThisdissertationcomprisesthreedistinctinvestigationsintoRevisionRules, i.e,non-monotonicinductivedenitions. TheIntroductionprovides somehistoricalbackground and characterizes Revision Rules in abstract terms. The rst chaptershowshowRevisionRulescanbeobtainedbyrelaxing, inanaturalway, certainconstraints in Kleenes classical analysis of recursive functions as xed point of re-cursive equations. The second chapter shows how to use revision rules to represent,inasensethatwill bemadeprecise, setsof natural numbershavinghigherandhigher arithmetical complexity. Finally, the third chapter shows how to use Revi-sion Rules to obtain a model of non-well-founded set theory satisfying requirementsthat can be specied in a general fashion.The three chapters originated as three distinct applications of Revision Rules.This shows, for example, inthefact that theyaremostlyself-contained. Theindependent origin of the the three main chapters also explains a certain amount ofoverlap. I here ask the reader to bear with it.I thank the members of my dissertation committee for much helpful interaction.Inparticular,mythanksgotomyadvisorNuelBelnap,whohastaughtmethatresearchinlogiccanbefunevenif, andperhapsespeciallywhen, oneabidesbystrict standards of rigor. Much of this dissertation either directly originated from,orwasinspiredby, somethingNuel said. ThanksalsotoKenManders, forthenumerous hours spent in his oce during which he made many helpful suggestions,and to Rich Thomason and Rick Statman for listening to my ideas and giving muchhelpful advice. Finally, I thank the Yale Philosophy Department, in the person ofRuthBarcanMarcus, fortheirgeneroushospitalityatthetimethisdissertationwas completed.Iwishtoconcludethisprefacewithalongawaitedandwell-deservedact: Idedicatethisdissertationtoalldoctoralstudentsthatneverhavededicatedtheirdissertations to themselves.viiTABLEOFCONTENTSPage0. Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11. Whats in a Function? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.1The Two Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.2The Recursive Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.3Recursive Equations and Primitive Recursive Functions. . . . . . . . . . . . . . . . 171.4Recursive Equations and Partial Recursive Functions . . . . . . . . . . . . . . . . . . 211.5Revision Rules and General Recursive Functions. . . . . . . . . . . . . . . . . . . . . . . 241.6Non-Minimal Fixed Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322. Revision Rules and Recursive Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382.1The Revision Process: The Formal Denitions . . . . . . . . . . . . . . . . . . . . . . . . . 402.2A Revision-Theoretic Account of Recursive Functions . . . . . . . . . . . . . . . . . 452.3A Revision-Theoretic Account of the Arithmetical Hierarchy. . . . . . . . . . . 552.4Toward Bootstrapper Independence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693. Non-Well-Founded Sets via Revision Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713.1A First Example of Non-Well-Founded Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . 743.2Non-Well-Founded Sets as Set Re-Writing Systems . . . . . . . . . . . . . . . . . . 803.3A First Example Generalized. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 863.4Set-Approximations to Non-Well-Founded Sets . . . . . . . . . . . . . . . . . . . . . . . . 933.5A Model of ZFC Minus Foundation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 964. Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106IntroductionRevisionRuleswererstindependentlydevisedbyAnil Gupta[1982] andHansHerzberger [1982] as a tool for the analysis of the notion of truth. Further contribu-tions were made by Nuel Belnap [1982] and Anil Gupta [1989].1This last paper isthe origin of a general theory of denitions based on Revision Rules that has founditsmostdetailedformulationsofarinAnil GuptaandNuel Belnap[19??]. Itisimpossible here to give the details of the development of Revision Rules as an ap-proach to the theory of truth. The literature on truth is immense, and to try to setRevision Rules in their proper historical context would require a dissertation in it-self (see McGee [1990]). Here I will only give the bare bones of such a development,enoughtointroducetheideaofRevisionRulesbyawayofaconcreteexample,before attempting an abstract characterization of Revision Rules in general.AsAlfredTarski provedin[1936], foranyinterpretedlanguage L, thecon-cepttruein Lisnotdenablein Litself, providedthelanguagemeetscertainconditions. Theseconditionsarethatthelanguagebe(i)two-valued, (ii)closedundernegation, and(iii)capableof subtleenoughsyntacticdistinctions.2If (i)through(iii)aremet, thenitisimpossibleconsistentlytoaddatruthpredicateto the language. A predicateTqualies as a truth predicate if it warrants all thebiconditionals of the formT(t),where is in the place of any sentence and t is in the place of a term denoting thatsentence. Tarskis argument is essentially a way to recast the Liars paradox: it ispossible to construct a termt such thatt = T(t),and the language would then be inconsistent.It is important to observe that conditions (i) through (iii) are not only jointlysucient, but also necessary for Tarskis theorem to hold. For instance, if we dontrequire our language to be closed under negation, it is fairly easy to come up with acounterexample to Tarskis theorem. Consider the 01fragment of arithmetic (this1A good collection of papers on truth is Martin [1984]. Most papers on truth wemention in these pages with the exception of Belnap [1982] are to be foundthere.2Strictlyspeaking, condition(iii)isnotexplicitlymentionedbyTarski, butitisnonethelessnecessaryforthetheoremtogothrough, asAnilGupta[1982]hasshown. I include it here since our aim is not historical accuracy, but only to give arational reconstruction of Tarskis result.1Introduction 2is, uptoequivalence, thesetof all sentencesof arithmeticof theform nP(n),wherePisadecidablearithmeticalpredicate). TheexistenceofauniversalTur-ingMachine, whichisalsodenablebya01predicate, canbeviewedasaproofthatsuchalanguageadmitsofatruthpredicate. Ofcourse, the01fragmentofarithmetic is not closed under negation.Perhaps more interesting is that if we give up bivalence, we can have a languagecontaining its own truth predicate. This is mainly due to the work of Saul Kripke[1975]. Kripkes idea is to assign to the truth predicateTnot a single set of sen-tences as its classical extension, but a pair of disjoint sets (S0, S1) representing itsextension and its anti-extension, which need not be, as in the classical case, one thecomplement of the other. On the other hand, we can use the Tarski biconditionalsabovetoobtainanoperationFonpairsof setsof sentences, roughlydenedasfollows. Given a pair (S0, S1), operationFassigns to it the pairF(S0, S1) = (S

0, S

1),whereS

0is the set of sentences of the language that turn out true when the truthpredicate is interpreted by (S0, S1), according to some given three-valued valuationscheme.3Likewise, S

1isthesetofsentencesofthelanguagethatturnoutfalsewhen the truth predicate is interpreted by (S0, S1), acording the given three-valuedvaluation scheme. An important feature is that operationFismonotone,in thatifUi Si, thenU

i S

i (i = 0, 1).So, forinstance, T() S

0if andonlyif S0(whereareQuinesquasi-quotes). Observethatsentencessuchas T() T()neednotturnout true. Still, this doesnt give us a language containing its own truth predicate.Kripkes construction at this point calls for an innite iterative process. We startwith the pair (, ), applyFto it, then we apply againFto the result, and so on.This procedure gives rise to a denumerable sequence of pairs of sets. This sequencecan be extended into the transnite by assigning, at limit stages, the pair obtainedby taking the union of the rst components of pairs in the sequence and the unionof the second components. The consistency of this operation is guaranteed by themonotonicityof F. Thisamountstothefactthatonceasentenceisthrownintothe (anti-)extension of the truth predicate at some stage, it stays there at all laterstages.Itisageneral featureof monotoneoperationsthattheyhaveaxedpoint,thatis, anargumentthatisreturnedunchangedasavalue. OperationFisnodierentinthisrespect. Theiterativeproceduresketchedabovemusteventuallyreach a xed point. Such a xed point, by denition, provides an extension and anantiextension for the truth predicate that satisfy the Tarski biconditionals.3Kripke uses the so-called Kleene strong three-valued logic, in which is trueif is false, false if is true, and undened if is undened; analogously, istrue if at least one of the disjuncts is true, false if they are both false, and undenedif they are both undened. Other connectives and quantiers are treated similarly.Introduction 3Therearemanydetailsof theconstructionthatwehaveomitted, andmanydistinctions that could have been drawn. Suce it to mention that there are manyxed points, each one of which provides a candidate for the signication of truth.Eachof thesexedpointscanbeobtainedbytheaboveprocedurebychangingthestartingpointthepair(S0, S1)ofsetswestartwithaslongassuchastarting point issound, i.e., Si S

ifori = 0, 1, whereF(S0, S1) = (S

0, S

1). Themathematicaldetailsofthistheoryaretrulybeautiful, andthereaderisreferredto Kripke [1975] and the subsequent literature for further information.Aswementioned, alsocondition(iii)of Tarskistheoremisnecessary. Thiscondition requires that the language be expressive enough not only to contain namesfor its own sentences, but also to distinguish among these sentences in interestingways. Anil Gupta [1982] showed that it is possible to have a classical language inwhich this condition fails but that consisistently contains its own truth predicate.The details of that construction need not concern us here,but one point is worthmentioning. It is possible to have a consistent (interpreted) language containing apredicateTsatisfying the Tarski biconditionals, because the biconditionals specifythe extension of the concept of truth only partially, in the sense that they force theextension and anti-extension of truth to be mutually exclusive, butnotexhaustive.The starting point of the Revision Theory of Truth is the idea that the Tarskibiconditionals are all that there is to the concept of truth, and that, consequently,we should not take the signication of this concept to be anextension, even if non-classical. The basic intuition is that the Tarski biconditionals specify the extensionof truth only in a partial way because they are essentially hypothetical in character:they determine the extension of truth onlyrelativetosomehypotheticalextensionthatisalreadygiven. Thepropersignicationof thebiconditionalsisthenbestidentied with the function that maps possible extensions into possible extensions.Tomakethisclear, wecansketchthefollowingprocedure. Wenowworkinaclassical two-valuedlanguage. WecandeneanoperationFinanalogytotheKripkeconstruction, exceptthatnowFtakes onesetof sentencesasinputandembodies a two-valued valuation scheme. Roughly, for any set S of sentences, F(S)is the set of sentences that (classically) turn out true when the truth predicate of thelanguage is interpreted by S. Observe that operation F is no longer monotone:therecould be sentences such that S F(S). Given this failure of monotonicity,there is little point also in insisting that we start from asound set of sentences.The procedure that characterizes the Revision approach to truth can be speciedas follows. Start withanysetofsentenceswhatsoever as a starting point. (Such aset of sentences is called the bootstrapper or initial guess.)Apply operation Fto this set innitely often, obtaining the sequenceS, F(S), F(F(S)), . . . , Fn(S), . . .As wealreadymentioned, this sequenceneednot beincreasing, since Fis notmonotoneandthestartingpointisnotsound. Therefore, whenwereachalimitstage, wecannotsimplytakethecumulativeresultoftheprocess(i.e., theunionof thesets inthesequence) uptothat stage. ThecharacteristicsolutionthatIntroduction 4Revision theory oers to this problem is to preserve what partial answers the revisionprocess has been able to give up to this limit stage, and just to answer arbitrarilythosequestionsforwhichtherevisionprocesshasnotgivenanydeniteanswer.Unpackingthemetaphor, thismeansthatatthelimitstageweformaset Scontainingall thosesentencesthatfromacertainstageonbelongtoall setsinthesequence; likewise, Swillomitallthosesentencesthatfromacertainstageonbelongtonosetsinthesequence; ontheremainingsentences, wejust givesomearbitraryanswer(forinstance, wethrowtheminif theyareintheinitialbootstrapper).Itispossiblethatinthiswaywereachaxedpoint,i.e.,again,asetSsuchthat F(S) =S. Revisiontheoryconsidersthisaplausiblecandidatefortruth.In general,however, Swill depend on the particular bootstrapper webegin with.Dierentbootstrapperswillleadtodierentxedpointsandsometimesnoxedpoint at all can be reached, possibly depending on the bootstrapper. According toRevision Theory,thereisnoprivilegedsignicationfortruth: if in correspondencewith dierent bootstrappers dierent xed points can be reached, they will providedierent, but equally plausible, candidates for the extension of truth.According to Gupta and Belnap,the concept of truth shares its charecteristicbehavior with manycircularconcepts. We say that a concept is circular if its mostintuitively plausible denition is circular. Thus, if we take the Tarski biconditionalsto providethemostplausible denition for the concept of truth (in English), thentruth is circular, in that the term the biconditionals are supposed to dene is allowedto occur in the deniens.Thisopenstheroadtoanextensionofthetreatmentoftheconceptoftruthin terms of Revision Rules to all other circularly dened concepts. The details ofthis can be found in Gupta [1989] and in Gupta and Belnap [199?]. Here I will justcharacterize Revision Rules in general.Suppose we have a (possibly circular) concept Cfor which we cannot specify aset of necessary and jointly sucient conditions, but only an operation F, which wenow refer to as the jump, that takes a possible extension of C as input and returnsa possible extension of Cas output. We have already seen what this means in thecase where Cis the concept of truth (viewed as a property of sentences). Now picka possible extensionR of Cas an initial guess or bootstrapper. By inductionon denePR , the candidate for the extension of Cbased on initial guessR atstage. (Relations are viewed as maps into {true, false}.) BASIS:PR0is just the guessR: for allx,PR0(x) = R(x). SUCCESSOR STAGE:PR+1 is the result of applying the jump toPR :PR+1 = F(PR ). LIMIT STAGE: if is a limit ordinal,PRassigns tox the value:Introduction 5true, ifPR (x) stabilizes true asapproaches.false, ifPR (x) stabilizes false asapproaches. R(x), ifPR (x) does not stabilize approaching.(The above denition has been slightly simplied. In the most general charac-terization of the Revision Process, one would want to allow the guessR to varywiththenon-successorstageatwhichitisinvoked.) Informally, RevisionRulesprovideawayofanalyzingpartiallydenedconcepts. Thepartialunderstandingwehaveof theseconceptsisenoughtoallowustolaydowncontraintsontheirpossible extensions, and these constraints can be cast in the form of a Rule of Re-vision. We understand a Rule of Revision as an operation, dened on the space ofthe possible extensions that, given some hypothetical extension as input, returns apossible extension that is somehow better than the one we started with.The revision process consists of the iterative application of the Rule of Revision(thejump)beginningwithsomearbitrarystartingpoint(thebootstrapper).This gives rise to an innite sequence of possible extensions of the concept, which,characteristically, need not be increasing (according to some appropriately denedordering). This poses the problem of what to do at limit stages. Since the sequenceneed not be increasing, we cannot simply take the cumulative result at the limit, forthis might take us outside of the space of possible extensions (e.g., by requiring thatwe assign two distinct values to the same item). So we preserve whatever deniteanswers the revision process has succeeded in providing up to the limit stage. Forinstance, if we are dening some set, we decide to keep in the set we form at the limitall items that stabilize in the sequence, that is, all items which, from a certain stageon, belong to all sets in the sequence. Likewise, we decide to keep out of the set weform at the limit those items thatstabilizeout of the sequence in the same sense(in mathematical terms, this is called the inferior limit of the sequence). Finally,to those items that dont stabilize one way or the other (i.e., that keep oscillatingconallyinthesequence)weassignsomearbitraryvalue(e.g., byinvokingthebootstrapperagain, asinGuptasoriginal paper, orbyusingdierentguessesat the dierent limit stages, as advocated by Belnap [1982] and in later versions ofRevision Theory).There are two way in which the Revision process can be closed o. Naturally,if we ever reach a xed point,then we know we have a suitable candidate for theextensionof theconceptwestartedwith. Alternatively, wedecidetocarryoutthe revision process only through some ordinal stage xed in advance. This mightbeidentiedwiththelargestordinalavailableinwhateverframeworkwehappento be working with: for instance, good stopping ordinals in this sense might be,depending on the applications, , 0, 0, 1, etc. We then take whatever deniteanswers the Revision process has provided us with up to that ordinal (i.e., we takethe inferior limit of the sequence up to that ordinal).This is the characterization of Revision Rules in abstract terms. In this disser-tation,wewillnotbeconcernedeitherwiththeRevisiontheoryoftruthorwithRevision Rules as a general theory of denitions. Rather, we will look at particularIntroduction 6applications in elds where the ability of the revision approach to handle circularconcepts can be put to good use. In particular, we will look at how Revision Rulescanhandlethecircularityimplicitinrecursivedenitionsof numerical functionsaswellas, inamoregeneralset-theoreticframework, athowRevisionRulescanbeusedtogenerate, inacontrolledway, setsonwhichthemembershiprelationexhibits loops.In the case of recursive functions,there is an evident circularity. Consider forinstancethefollowingrecursivedenitionof addition, whichwill beoneof ourstockexamples. Additionistheuniquefunctionsatisfyingthefollowingequation(in whichfis the unknown and s is the successor function):f(x, y) =

x, ify = 0;s(f(x, z)), ify = s(z).The circularity is evident because the very symbol, f, whose meaning we are sup-posedly trying to dene occurs in the deniens. Many, however, have claimed thatthiskindofcircularityisonlyapparent,andhaveconstruedtheRecursionTheo-rem,or the fact that recursive denitions can be made explicit by recasting themin a language that is one level up in the type hierarchy, as a sign of this. But it isalso possible to look at recursive denitions in another way. According to this pointof view, whichweadopt here, recursivedenitionsaregenuinelycircular, albeitharmlessly so. It is then interesting to see how Revision Rules can used to representthis kind of circularity.Indeed, in the rst chapter I argue that revision rules t in very naturally in arecursiveframework. IshowthatRevisionRulesarisefromrelaxingcertaincon-straints in Kleenes classical construal of recursive functions as xed points of recur-sive equations. This provides a motivation for Revision Rules that is independentof their merits as tools for the analysis of the concept of truth.Thesecondchapter, ontheotherhand, employsRevisionRulestorepresentdirectly, rst, recursivefunctions, andthensetsthatofhigherarithmetical com-plexity. The upshot is that the entire arithmetical hierarchy can be represented bymeans of one Revision Rule (provided we impose certain elementary constraints onthebootstrapper), insuchawaythatthereisaprecisecorrespondencebetweenthe arithmetical complexity of the set and the length of the Revision process thatis required in order to represent it.Inthethirdchapter, nally, welookatRevisionRulesinthecontextofset-theory. Here, non-well-foundedsetsprovideourbenchmarkexampleof circularentities. We work informally in a model of set theory with atoms. We then showhow, using Revision Rules, we can devise a procedure that, given certain constraintson non-well-founded sets, yields a model of set theory in which those constraints aresatised. The procedure is general,in that it can be applied in a uniform way toconstraints belonging to a certain broad class. On closer scrutiny, we see that whatRevision Rules really do iscollapse the universe of set theory we started with, to anon-well-founded universe. This provides an alternative, but equivalent, account ofnon-well-foundedness as well as making sure that our Revision Rules indeed yieldthe desired result.Chapter1WhatsinaFunction?In these pages we are going to give an analysis of numerical functions in terms ofrevisionrules, i.e., non-monotoneinductivedenitions. Revisionruleswererstdevised by Gupta [1982] as a tool for analyzing the concept of truth, and are pre-sentedinamoregeneral settingbyGupta[1989] andGuptaandBelnap[199?].Thepresentapproach, however, diersfromtheirsintworespects. First, forthefact that here we are considering only functions from the natural numbers into thenatural numbers. Second, for the fact that here we give revision rules a motivationthatisalternativetotheonesuppliedbyGuptaandBelnap,andindependentofany merits revision rules might have acquired as tools for solving problems in thetheory of truth.In particular,we shall see how revision rules can be obtained by relaxing andgeneralizingaconstructionthatisalreadywellknownfromrecursiontheory,i.e.,Kleenesclassicalanalysisofrecursivefunctionsasxedpointsofrecursiveequa-tions. Since these xed points are obtained by the transnite iteration of a monotoneoperator, we will refer to Kleenes analysis also as the monotone construction.In order to show how the monotone construction leads naturally to the consider-ation of revision rules, we will have rst to review some standard material. By this,weaccomplishatwo-foldtask: ontheonehandwextherelevantconceptsandthe corresponding terminology, while on the other hand we place a special emphasison those aspects that, although well-known, could be regarded as already pointingat revision rules. The latter are the aspects of Kleenes construction that will laterbe generalized to obtain revision rules.Intherstsection,wepresenttwotraditionalviewsconcerningthenatureoffunctions (especially functions over the natural numbers), one of a more Platonisticavor, andtheotherof moreconstructiveinspiration. Therstviewispopularwithinset-theoreticcircles, whilethesecondhasbeendevelopedinthelightofcomputationalexamples. Thesetwopositionsprovidetheextremes,asitwere,between which the revision approach to functions will turn out to fall.The second section reviews the standard account of recursive functions: in thissection we start with an analysis of what it means for a function to be eectivelycomputable, using the model of a computer program for this purpose. We developthematerial tothepointof statingandprovingtheHaltingTheorem(theonlycomplete proof contained in this chapter). We conclude by construing the HaltingTheorem as an indicator of the necessity to admitpartialfunctions.This conclusion is the starting point of the third section. We rst give a deni-tion of an approximation ordering between partial functions, as well as a character-7Chapter1 8ization of the class of the primitive recursive functions, which are particularly easyto work with. We then use the monotone construction to show how each of thesefunctions can be obtained as the xed point of a set of recursive equations. We giveenoughdetailstobesuretoconveyatleasttheavorofthisprocedure. Withthis section we conclude the review of the standard material and start our climbtoward revision rules.In the fourth section we conclude our presentation of the monotone constructionin itsgenerality by extendingthetreatment of section threetothewholeclassofpartial recursive functions. We do this in a somewhat non-standard way, since wewant to use the same sets of equations both when we give the monotone constructionand when we use revision rules. This gives a new twist to the standard approach.Once we have in front of our eyes a picture of the monotone construction, we takethe time,at the end of the section,to point out some of the crucial aspects of it,and in particular the ones that will be generalized to obtain revision rules.It is in section ve that our climb becomes steeper. There we show how we canrelax some of the constraints on the monotone construction,and still obtain,in asensethatwill bespecied, awideclassoffunctions. Inparticular, wefocusonthe general recursive functions, and show how these can be obtained by means of arevision rule in a uniform way. In contrast to the case of the monotone construction,the emphasis here is ontotal functions.Finally, insectionsix, weconsiderwhathappenswhenwefurtherrelaxtheconstraintsofthemonotoneconstruction. Itturnsoutthatinthiscaserevisionrulescanbeusedtoobtainmanydierentfunctionssatisfyingcertainpartiallyspeciedrequirements. Thisrichness, whichwasnotavailabletothemonotoneapproach, also presents us with a wide spectrum of alternative characterizations ofthe revision process.Beforewestartourclimbtowardrevisionrules, itwill beuseful tospendafewwordstoillustratethemainideabehindthem. Supposeweareinterestedinsomeconceptthatcannotbedenedintheusualway. Thatis,wecansupplyno (non-circular) denite criterion the satisfaction of which is both necessary andsucient for some object to fall under the concept. Thus the extension of cannotbexeddirectly. Wedohoweverhavesomeunderstandingof whattheconceptinvolvesandcanspecifycertainconstraintsonthepossibleextensionsof . Inparticular, theseconstraintsprovideaway, givensomehypothetical extensionof, toobtainanextensionthatweexpecttobeinsomesensebetter. Inotherwords, our limited understanding of the concept is sucient to provide us with anoperationF, denedonthespaceofthepossibleextensionsof , thatimprovesuponhypothetical extensionsof . Thenwecoulddecidetoproceedasfollows:wepickanarbitraryelement Efromthespaceof possibleextensionsof , andcalculateF(E). The resultF(E) still is a possible extension of, so we can applyour operation to it, thereby obtaining a new extension F(F(E)). We can then keepapplyingF, generating an innite sequenceE, F(E), F(F(E)), . . . , Fn(E), . . . .Chapter1 9This sequence can then be extended into the transnite, by taking in a senseto be specied its limitE. It might happen that, depending on our particularstartingpoint E, thissequenceisconstantfromsomepointon; i.e., thereisanelement E, possiblythelimititself, suchthat F(E) =E. Suchanelementiscalledaxedpointof F: insofarasEcannotbeimproveduponbymeansofapplications of F, it satises our constraints on the possible extensions of . Shouldsuch a xed pointEexist, it is then plausible to consider it as a good candidatefortheextensionof ,1surelysomethingwedidnothavebefore,andthatmightbe suitable for the particular applications we have in mind. We cannot rule out thesituation in whichE depends on, and varies with, our choice of the starting pointE. Various responses to this kind of situation are possible, as I mention at the end,in section six.If we now imagine this process as applied to the denition of functions, ratherthan to the denition of concepts in general, we see that revision rules can be usedto construct functions in a way that combines constructive and Platonistic elements.Functions are obtained by means of a rule operationF that still is, in somesenseof theword, eective,buttheprocedurebywhichthisisaccomplished the iterative process presupposes that the space of all possible functions bealreadygiven. Thus, revisionrulescanalsobeviewedasawayofpickingoutanindependentlypre-existingsolution. Thiswill becomecleareraswegoalong,but rst let us take a closer look at the two main positions concerning the natureof functions. As we said, the material in the following and the next two sections iswell known. It is included here in order to x concepts and terminology, as well asto provide the right emphases that will naturally lead to a generalization in termsof revision rules.1 ThetwoviewsA function is an assignment of values to arguments. This concept plays a funda-mental role in most any eld of mathematical investigation and formal inquiry. Inmanyareas, functionsaretakenasprimitiveentities, whosepropertiesaremadeobjectsofstudy, butwhicharenotthemselvesexplainedintermsofother, morebasic notions. For instance, and perhaps most notably, this is the case in categorytheory, in which an attempt is made to lay the foundations of the whole mathemat-ical edice purely in terms of functions. In other areas, functions are arrived at,and explained in terms of entities that are regarded as more fundamental. This isthecase, forinstance, insettheory. Inotherbranchesstill, functionsarejustutensils, perhaps the most useful and versatile, among many in the mathematicianstoolbox.All these cases have something in common. There is a hard core of ideas that,along with the accompanying terminology, is learned very early in ones mathemat-1Compare this to Newtons method for nding the zeros of a polynomial.Chapter1 10ical education and is in general agreed upon. People become so used to thinking intheseterms,thatthesecultivatedintuitionsbecomesecondnature. Forinstance,wethinkoffunctionsasequippedwithadomainandarange, withthepropertythat to any item in the domain there corresponds at most (and,usually,at least)one item in the range. Moreover,functions can beapplied to arguments,yieldingelements of their range as value. So far, we havent said anything controversial. Itiswhenwewanttotakeacloserlookatwhatfunctionsreallyarethatdierentconceptions emerge.Wheneverwearegivenafunction, amongotherthings, wearealsoprovidedwithawayofrelatingobjectsfromaset(thedomain)toobjectsofanotherset(the range). More generally, any relationR with the property that anyx stands inrelationR to at most oneyis calledfunctional. It is an issue in the philosophy ofmathematics whether to any functional relation there corresponds a function. Theanswertothisquestiondependsononesconceptionoffunctions, andingeneralit will vary in interesting ways, depending upon ones philosophical tenets. As anexample of this, consider the fact that many set theorists have debated for a longtime whether one should accept the axiom of choice, whose purpose is to guaranteetheexistenceofcertainfunctions. Acarefulanalysisoftheissuesofthatdebategoes well beyond the scope of this paper,but it is instructive to try to assess thespirit with which it was carried out and the intuitions at work behind it.In one of its many equivalent forms, the axiom of choice guarantees the existence,for any family of non-empty sets, of a choice function for that family, i.e., a functionthatpicksoutanelementfromeachmemberofthefamily. Whyshouldntsuchfunctions exist?After all, one could argue, if the universe of sets we have in mindis rich enough, such functions should abound. As a rst approximation, we couldgrantthisargument,althoughtherearesomesubtletiesinvolved.2Then,aslongas the axiom of choice is consistent with the other axioms (and we know that it is,as Godel showed in [1940]), it is possible to have models of set theory that are, sotospeak,arbitrarilyrich,andthereforerealizetheaxiomofchoice. Thatis,itseems that there is nothing to preclude us from postulating a universe in which allfunctions exist that can be consistently supposed to exist.This is a commonly held position in the philosophy of mathematics. This posi-tion rests upon a conception of functions as entities (of whatever nature) that areexhausted once the corresponding functional assignment is given. In set theory, thisengenderstheideathatafunctionisjustasetoforderedpairs x, ywiththeproperty that whenever x, y1 and x, y2 are both in the set corresponding to thefunction, theny1=y2. Wewillrefertothisandrelatedideasastheblack-boxconception of functions. According to this view, a function can (although it neednot) be conceived of as ablackbox, which, when fed an argument at one end, will2For instance, it is by no means clear that the ontologically richer the universe,the more likely is the axiom of choice to be satised, since any new choice function,in turn,gives rise to new families of sets for which a choice function has again tobe supplied.Chapter1 11return the corresponding value at the other end. The internal proceedings of theblack-box are of no interest as far as the existence of the function is concerned. Afunction is assumed to exist if its existence does not give rise to any contradictionsand the corresponding relation of arguments to values isfunctional in nature.So, for instance, in set theory we are willing to call any set of ordered pairs thatestablishes a functional relation between objects in the domain and objects in therange, a function. How those pairs have come to be assembled, why that particularcorrespondence has come to be chosen out of the many that are possible,whetherthere is anything correponding to this function in real mathematical practice, theseareallquestionsthatdonotconcerntheset-theoristaslongasthefunctioncanbeshowntoexist,givensomesystemofaxiomsforsets. Thisofcoursedoesnotimply that the set-theorist is never involved in such questions. Indeed, many of thedebates in the eld revolve around the question ofhow functional assignment canbedetermined,butthisisonlyinsofarasthisquestionhasanybearingupontheproblem of the existence of sets of ordered pairs.Thus, according to the black-box conception, most any question about functionsis answered once we have settled the problem of their existence (the problem, that is,of the existence of the particular objects with which we choose to identify functionsinsettheory, setsof orderedpairs). Buttherearemanywaysinwhichtheblack-boxconceptioncanberealized. Theset-theoreticideathat afunctionisaset (orpossiblyaclass) of orderedpairsisjust oneof them, andthenotionthat functions should be taken as primitive, unanalyzed objects is another one. Ingeneral, anytimeweareonlyconcernedwiththefactthatfunctionsprovideuswith an assignment of values to arguments, and nothing else, we are employing theblack-box conception. This way of looking at functions underscores their extensionalaspects: if afunctionisexhaustedbythecorrespondingassignment, thentherearenofurtherdistinctionstobedrawnamongfunctionsthantheirinput/outputcorrelation. We should mention also that a feature of this conception of functionsisitsPlatonisticcharacter, itskeepingwiththeideathatthereisauniverseofmathematical entities, aprivilegedmodel. Itisthenwithrespecttothismodelthat all mathematical statements are either true or false, independently of whetherthe mathematical entities that inhabit it are within the reach of our nite minds.Another way of conceiving of functions has gained acceptance in mathematicsandinthephilosophyofmathematicsinthiscentury, mainlyduetotheworkofGodel, Turing, and Church. This is the idea that functions do not just provideanyassignment of values, but an assignment that is somehowaccordingtoarule. Thisstill tells us very little, until we specify what we mean by a rule.The problem isthat most any assignment of values to arguments could be taken to be according toa rule, if anything, according to the rule specied by the assignment itself!Consider once again the axiom of choice, which is the one mathematical principlethat is most likely to give rise to functional assignments that are not according toaruleinanypossiblesense. Yet, theaxiomderivesmuchofitsplausibilityfromtheideathatthereisalwaysaruleforselectingrepresentativesfromafamilyofnon-empty sets, even though that rule might be not only unknown to us as a matterChapter1 12of fact, but also in principle incapable of being linguistically specied. Admittedly,here the two concepts of rule and function tend to become blurred, since it ispossible to conceive of any function as specifying a rule (albeit a rule that cannotbe expressed with nite means), so that in turn any function will be according toa rule, trivially. Hence, we need a conception of rules that does some work forus, in that it rules out at least some functions as being according to a rule; thesecases will have to be handled by a strong principle such as the axiom of choice. Inthisrespect, recallBertrandRussellsexamplethatitisalwayspossibletoselectrepresentatives from a countably innite set of pairs of shoes, but that in order toperform the same task with pairs of socks, we need the axiom of choice.It becomes then of paramount importance, if we want any account of functionsto be suciently discriminated from the black-box conception, that such an accountspecify what is meant by a rule.There are many ways of doing this, and indeedoneofouraimsistoshowthatrevisionrulesprovidenotonlyalegitimate, butalsoaninterestingwayof explicatingthemeaningof thewordrule. Forthemomenthoweverwewill considertheviewthatregardsfunctionsasassociatedwith procedures. A procedure is a (usually) nite sequence of elementary steps, theexecution of each one of which supposedly presents no problem, and such that theresultofcarryingoutthestepsoneaftertheotheronagivenargumentpresentsuswithavaluetobeassignedtothatargument. Wesaythatsuchavaluehasbeencomputed for the argument. Historically, this idea has then been generalizedbyallowingthenotionof elementarysteptovary, maintaininghoweverwhatmathematicianscall eectivecontent(weneednotgointothedetailsofthesevariousgeneralizationshere). Thisnotionofeectivecontentisvagueenoughtoleaveroomforphilosophicalinquiry: inoneofitsmostrestrictiveinterpretationsithasgivenrisetoanumberofwaysofspecifyingaclassoffunctions, whichweregardinsomesenseaseectivelycomputable. Interestinglyenough, all thesedierent ways turn out to be (extensionally) equivalent to each other, in the sensethattheyspecifyauniqueclass, whosemembersarereferredtoastherecursivefunctions.The procedural view is then the idea that we should only allow those functionsthat are according to a rule, in a suitably restricted acceptation of the word rule.Atthebasisof thisview, wendaconceptionof functionsthatissignicantlydierentfromtheblack-boxmodel. Accordingtotheprocedural view, functionsembody a rule that prescribes how values should be assigned to arguments. On thebasis of such a rule we can carry out, for any given argument, a nite sequence ofelementary steps that leads to a value for that argument. This rule then eectivelyprovides what can be regarded as adenition for the function. The paradigmaticexample of a function specied by a rule is the functional assignment implicit in acomputer program. Such a program is a nite sequence of elementary instructions,whichprovidesawayofactuallycomputingafunction(thefunctionthatassignsto any argument the value if any yielded by the program when sequentiallyexecuted on that argument), as well as adenition for that function.The procedural conception of functions is then much more restrictive than theChapter1 13black-box conception. For one thing, at least historically, it appears that only ob-jects that are in some (possibly generalized) sense eective or nite can be functions,whereasinsettheoryitispossibletohaveentitiesthattranscendanygivenno-tionof eectiveness(orniteness). Incorrespondencewithsuchentitieswewill have functions that do not lend themselves to being construed as eectiveunder any plausible interpretation of the word.However, even when we restrict our domain to those objects that are eectivepar excellence, i.e., the natural numbers, and we only allow ourselves as elementarysteps those that can be performed as basic instructions by a computer (e.g., changethe contents of that memory register fromon too ), there are ways of uniquelyassigningvaluestoargumentsthatcannotberepresentedusingtheseresources.The most conspicuous instance of this is the so-called halting problem: this is a setof natural numbers whose characteristic function according to a result known astheHaltingTheoremcannotberepresentedbynitemeans. Inorderfullytoappreciate the relevance of this fact, we need to take a closer look at the functionsthat are computable over such a limited domain.2 TheRecursiveFunctionsIn this section we review a few basic well-known facts concerning recursive func-tions.3Workinginformally, wewill pointatthemainfeaturesofthetraditionalapproach to such functions, in order to show, by proving the Halting Theorem, thatpartial functionsareattheheartofthisaccount. Thisisimportantbecausethemonotone construction centers on the characteristic partiality of the recursive func-tions: asweshallsee, partialfunctionsareneededinthemonotoneconstructioneven when we want to account for a total function, and this is one of the restrictionsthat the revision approach will overcome.As we already mentioned, there are many equivalent ways to specify the class ofall recursive functions, but the one that is possibly the most intuitively perspicuousistheonethatusesthemodel ofacomputerprogram. Computerprogramsareconcreteentities: foracomputerprogramissimplyastringof lettersfromthealphabetthatobeystheformationrulesofthelanguage(forinstance, Pascal, orLisp) that canbecompiledor interpretedintothecomputer. Thereis animportant feature of the recursive functions that is independent of the particular waywe choose to specify them, and that ties in with their being eective in the sense ofthe previous section. This feature is that the functions have an enumeration, in thatnot only they can be put in a one to one correspondence with the natural numbers,but also that each function can be recovered from the number corresponding to it.Inour case, it is easytodeneanenumerationof thecomputer programs.Since computer programs are just nite strings of letters and numerals, we begin by3A general reference for the material in this section is Rogers [1967].Chapter1 14specifying anordering for the nite strings of symbols over the alphabet, e.g., thealphabeticalorderingbetweenstringsofthesamelength. Thismeansthatgivenany two strings1and2,it is always possible to decide which one comes beforethe other in the ordering. In order to do so we rst look if one of them is shorterthantheotherone,inwhichcasewesaythatitcomesbeforetheotherone,andif they are the same length we check if one precedes the other in the alphabeticalordering. Thisorderingisparticularlyconvenientsincethestringscannotonlybeordered,but alsolisted accordingtoit. Thatis,wecanimaginethatwehavesomedevice(oralsopossiblyavery, very, patientperson)thatrstgeneratesallthestringsoflengthzero(thereisonlyoneofthem, theemptystring), thenallstrings of length one in alphabetical order (and these areA, B, C, . . . , 7, 8, 9), thenall strings of length two, and so on. This denes an enumeration of the nite strings.The problem with the ordering of the previous paragraph is that only a smallfraction of the strings so generated will represent correct computer programs of thelanguage we have xed. There are many ways to solve this problem: for instance,we could just lter out all the strings that do not obey the syntactic rules of thelanguageofourprograms. Herewedecidetomaketheconventionthateventhebad strings represent programs. This convention is surely technically convenient,since our enumeration of the strings now provides ipso facto also an enumeration ofthe programs.Having decided that all nite strings of letters in the language should representaprogram, thereistheproblemof whichprogramsthebadstringsrepresent.Now we can imagine what would happen if we tried to run these programs on acomputer: the machine probably would reject them,or start behaving erratically.Certainly, then, these programs will not do anything interesting, they will not y theSpace Shuttle, much less balance our checking accounts: they will probably just sitthere or tie up the computer forever, but we still consider them legitimate programs.After all, there are innitely many programs that are syntactically correct, and yetbehave precisely in the same way as our the ones represented by our bad strings.Therearethereforenoconceptual problemsinvolvedinourdecisiontoconsidereach string as specifying a program.With this in mind,there is then an obvious way of assigning non-negative in-tegerstotheprograms: weassigntoprogramPthenumbernifandonlyifthecorresponding string occurs at then-th place in the ordering we just dened. Weuse Pn to refer to then-th program, and we call any assignment of numbers toprograms anenumeration. One important feature of our enumeration is that givena number n it is always possible to recover the instructions comprising Pn: just listall the rst n strings over the alphabet, and the last one will be the desired programPn.Theenumerationwehavechosenisclearlysomewhatarbitrary, inthatthereare many alternative ways of assigning numbers to programs that would work justaswell. Wedonotreallycareaboutthedetailsofourenumerationaslongasitispossibletorecovertheparticularinstructionscomprisingtheprogramfromitsindex, and decide, in a nite amount of time and by means of elementary operations,Chapter1 15whether a numbern is the index of a program (most any system of indices you arelikely to choose will satisfy these two constraints). The latter task is trivial in ourenumeration (since we decided thatall strings, no matter how ill-formed, representprograms),but in general we must allow for the possibility that only some of ourstrings represent acceptable programs.In what follows we will assume that programs,insofar as they represent func-tions, have arguments, i.e., that there is some privileged variable or memory locationthat holds the value representing the argument of the program. Again, this is some-what arbitrary, but it also simplies matters considerably. Another convention thatit will be useful to keep in mind, is the following: we will suppose that any program,when started on some argument k, can either halt after a nite number of steps (inwhich case it produces a result or value for the argument), or it can run indenitely,e.g., becauseitenteredsomeinniteloop. Thisisofcoursenotthecaseinreallife: the program might stop, having produced only garbled output or no output atall, but again it is always possible to x things up so that our convention turns outtrue.Having established these conventions, we are now somewhat removed from theconcretecomputerprogramswestartedwith; theseconventionsarehoweverim-portantbecausetheyallowustoworkwithanidealizedmodel of computabilitythat is the most restrictive construal of the procedural view of functions. So, withthese conventions in mind, we can agree to identify the recursive functions with theclassoffunctionscomputedbysomeprogram. Aswepromisedatthebeginningof the section, we are now ready to state thehaltingproblem. Consider the set ofall numbersesuchthattheprogramwithindexeoninputehaltsafteranitenumber of steps. Let us refer to this set as K, Kleenes diagonal set. In symbols,K = { e : Pe on inpute halts}.ThentheHaltingProblemistheproblemofdeciding, foranynaturalnumbern,whether n is in K or not. The Halting Theorem is then the following result, due toTuring and Church.THEOREMThere is no recursive function that on input e yields value 0 when, andonly when,e is in K, while it yields value 1 otherwise.The argument amounts simply to this: suppose there were such a function; then itwould have to be computed by some program P e. Given such a program, it is clearlypossible to modify it so that it outputs 0 precisely whenP ewould have output 1,and otherwise runs forever (e.g., because we launch it into an innite loop). Again,thisprogramhastoappearsomewhereinourenumeration, sosupposeitis P e.NowletusaskourselveswhethereisinKornot. IfitisthenitmustbethatP e(e)=0, sothatP e(e)neverhalts, whenceecannotbeinK.Sowereachedacontradictionunderthehypothesisthat eisK.Therefore ecannotbeinK.Butagain, this means thatP eon input e never halts, and this happens precisely whenP eon the same input gives output 0, which in turn means that eis in K after all.Again, we have reached a contradiction. The only possible way out is to deny thatprogramP e exists.Chapter1 16So we have here an instance of a very concrete question on a limited domain,whichcannotbesettledbymeansaselementaryasourcomputerprograms. Wesay that the halting problem is undecidable, i.e., that there is no eective procedure(program) that decides in the armative or in the negative all questions concerningK. Ontheotherhand, thefunctioncorrespondingthehaltingproblemexists,albeit inamoreabstract sense. For certainly, givenour powerful set-existenceprinciples,thereisasetwhosemembersarepreciselythosenaturalnumbersnsuch thatPn on inputn halts after a nite number of steps.Notice however that the above only tells us that there is no function that answersthe halting problem in general, for if we are only interested in a particular case, thensuch a function clearly exists, even in the more restricted sense. To see this, supposeyou are given a numbere and you are asked to produce a recursive function thatanswers the halting problem correctly for this one instance of the problem. Then theodds are pretty good, since one between the constant function = 0 and the constantfunction = 1 (these two functions being obviously recursive) will do. Indeed thereareonlytwopossiblecases: eitherthee-thprogrameventuallyhaltsonitsownindex, oritdoesnt, andineithercaseoneofthetwofunctionsmentionedabovewill give the correct answer.Thissurelysoundslikecheating, awildguessthatjusthappenedtohitthemark. Forthefactthatthefunctionwehavechosengivesthecorrectanswerforthisparticularinstanceeofthehaltingproblemlookslikeamereaccident. Theproperties of e appear to be totally irrelevant. Indeed, we insist that any solution tothe halting problem begeneral precisely because we want to avoid cases like these,in which we chance upon the right answer. The price to be paid for this generalityis, of course, that in some cases we simply can obtain no answer whatsoever.Consider again the case for the halting problem. Our task is to provide a generalprocedurethatisintuitivelysoundandthatsolvesthehaltingproblem. Thatis,wewouldliketodeviseasequenceof operationsthat, whenconfrontedwithaninstanceofthehaltingproblem, wecanapplyinordertodecidetheproblemforthe given instance. Such a procedure might go something like this: on inpute, werecover the set of instructions coded bye, and simulate thee-th program on inpute; ifandwhenthisprogramhalts,weoutput0. Clearythisprocedureyieldsthecorrect answer any time that the input e in fact is in K. For if it is in K then Pe(e)halts after a (possibly very large, but still) nite number of steps, so that runningPe(e) will eventually give the right answer. This looks very promising, but there isoneobviousdrawbacktothisprocedure, namelythatif eisnotinK,thenafterno nite number of steps in our procedure do we get an answer. Suppose thate isnot in K. Then we know thatPe(e) never halts;however at no nite stage in theprocedure sketched above is this information available to us. For arbitrarily largevalues of n, after having patiently waited for our machine to go through n steps, weare still not entitled to conclude that e is not in K, for the (n+1)-st step might bethe one at whichPehalts. So what we need is a way of establishingapriori, i.e.,without actually running the program, whether Pe(e) will halt. But this is preciselywhat is ruled out by the result of Turing and Church.Chapter1 17We have seen in this section how certain crucial features of the recursive func-tions can be derived from the analysis of the intuitive characteristics of computerprograms. The next section introduces a dierent approach.3 RecursiveEquationsandPrimitiveRecursiveFunctionsThe previous section provided us with a model for the recursive functions that isintuitively well motivated, being derived from the familiar features of computer pro-grams, and at the same time suciently abstract to be amenable to mathematicaltreatment. In this section we are going to look at Kleenes monotone construction,which provides an analysis of recursive functions in more abstract terms. To sim-plifymattersfurther,inthissectionwewillcarryoutthemonotoneconstructiononly for a small subclass of the class of recursive functions4(the so-called primitiverecursivefunctions),andpostponetheconstructioninitsfullgeneralityuntilthenext section.We have seen in the previous section that there are programs that might fail tohalt on some inputs. For instance, the intuitively sound procedure for determiningmempership in K (given at the end of the previous section), when translated intoaprogram, mustbeofthiskind, orelsethehaltingproblemwouldbedecidable.Thisleadsustoconsidertheclassofthosefunctionsviewedasset-theoreticalobjects,independentlyoftheirbeingrecursiveornotthatmightbeundened(i.e., failtoyieldavalue)onsomeoftheirarguments. Suchfunctionsarecalledpartial. This does not mean that if function f is partial then it is undened on someof its arguments: we simply allow for the possibility that itmight be undened. Inparticular there is a function that isundened for every argument. We refer to itas the empty function, and use the symbol for it.Inthissectionandinthenextonewearegoingtoviewrecursivefunctionsas solutions to systems of equations of a certain form. The import of the HaltingThoremispreciselythatwehavetoconsiderpartialfunctionsifwewanttondsolutions to all equations in a certain class. In other words, if we restrict ourselvesto the class of total functions, some equations will have no solutions in that class.While being partial might appear as an undesirable feature at rst sight, one of itsadvantages is that it is possible to dene a natural approximation ordering on theclassofpartial functions(regardlessoftheirbeingrecursiveornot). Theemptyfunction will be theleast function according to this ordering. The approximationordering is strictly connected with the problem of nding solutions to our equations,in that such solutions will be reached by successive approximations.4Ihavenotbeenabletondtheconstructionweareabouttoseeanywhereintheliterature, castpreciselyintheseterms. Still, Ibelieveittobeabsolutelystandard, at least in the mathematical folklore.Chapter1 18DEFINITIONLetfandg be partial functions from the natural numbers into thenatural numbers. We say that a functionfapproximates a functiong, in symbolsfg, if andonlyif f isnotdenedonmoreargumentsthang, andmoreoverwhere fis dened it agrees with g. An operator E from partial functions to partialfunctions is calledmonotone ifE(f)E(g) wheneverfg.Wearenowgoingtodenetheprimitiverecursivefunctions. Itwill notbeimmediatethattheseareindeedrecursivefunctions, becausewedenethembytaking a small class of functions (the initial functions), and closing that class undercertain operations,while the recursive functions are simply dened as those func-tions that are computed by a program. It should be intuitively clear, however, thateach primitive recursive function can be computed by a program.DEFINITION(1) Wesaythatfunctionf isobtainedbycompositionfromg, h1, . . . , hmif thefollowing holds:f(x1, . . . , xn) = g(h1(x1, . . . , xn), . . . , hm(x1, . . . , xn)).(2) We say that functionfis obtained by primitive recursion fromh andg iff(x1, . . . , xn, y) =

h(x1, . . . , xn), ify = 0;g(x1, . . . , xn, f(x1, . . . , xn, z)), ify = z + 1.(3) The class of theprimitiverecursive functions is the smallest class of functionscontaining the constant function = 0, the successor function s, the projectionfunctions Uni(where Uni (x1, . . . , xn) = xi), and closed under the operations ofcomposition and primitive recursion.Thereisclearlysomecircularityinvolvedinthedenitional schemabyprimitiverecursion. Infact, totheextentinwhichthedenitionof aprimitiverecursivefunctionf providesarecipeforcomputingf, itseemsthatinordertobeabletocomputef, wemustalreadyknowfunctionf! ThisisevenclearerifwenowconsidertheprogramPthatrepresents f. Anumberof auxiliaryintermediateresults might be required for the computation of this program,and this might beachievedtroughcallstootherprogramsandpossiblytoPitself. Thiswill bethe case ifPclosely resembles the denition off, and this is even considered goodprogrammingpractice. Butonatheoretical level, thiskindof circularitymustsomehow be accounted for: how can the program actually compute anything, if inorder to run the program we must already know the function it computes? Whatmeaningshouldbeassignedtoequationscontainingoccurrencesof(symbolsfor)circularly dened functions?One answer is to observe that although the denitionoffmakes reference tofitself, only values offon arguments smaller thanyareever needed in order to determine the value of f(y). However, there are other waysof accounting for this circularity. We are going to work out an example before givinga description of the general process.Consider the ordinary operation of adding two numbers. This of course deter-mines a particular function, usually referred to as +.This function is primitiveChapter1 19recursive,since it can be dened by the following two equations (in which we usethe symbol finstead of + since we want the equations to determine the function,i.e., we want the equations to have a unique solution inf):f(x, 0) = x;f(x, s(y)) = s(f(x, y)).Thesetwoequationsprovideawayofcomputingf, i.e., awayofdeterminingavalue for their left-hand sides, provided we know what the value for the right-handside should be. This is of course no problem in the case of the rst equation, for thevalue in this case is given directly, but in the case of the second equation this valueis given in terms offitself. We proceed in stages. At the rst stage we interpretany occurrences of the symbolfon the right-hand side by the value , the emptyfunction. Thisdeterminesafunctiong1suchthat g1(x, 0)=xforanyx, whileg1(x, y) is undened for anyy> 0. At the second stage we repeat the process: weuse the function obtained at the previous stage to interpret occurrences of f onthe right-hand side. This in turn determines a new functiong2 that agrees withg1wherever the latter is dened, and moreoverg2(x, 1) = g2(x, s(0)) = s(g1(x, 0)) = x + 1,so thatg2 extendsg1 and is dened on innitely more pairs of arguments thang1.It is however easy to see thatg2(x, y) is undened for anyy> 1: functiong1wasundened for anyy 1, and our pair of equations above only determines a valueforthepairs x, s(y)suchthatg1isdenedon x, y. Sog2extendsg1, whichextends ; in other words, g1g2.We repeat this process innitely often, at each stagen + 1 interpreting occur-rencesoffontheright-handsidebythefunctiongnobtainedatthepreviousstage. In this iterative process we get larger and larger extensions. Indeed, for anypair of arguments x, y a value (in fact the correct valuex +y) is obtained by they-th stage in this process. If we then take the cumulative result at the limit, i.e.,after innitely many iterations, we have a total function g such that, for all x andy,g(x, y) = x +y.In particular, g is the union of the gns: g assigns to the pair x, y the uniquevaluezsuchthatforsome(equivalently: forallbutnitelymany)n, gn(x, y)=z. Wenowsetouttogeneralizethisprocesstoshowthatallprimitiverecursivefunctionscanbeobtainedinthisway. Thenextsectionwill carryoutthesametask for a much wider class of functions.First we describe informally how to associate with each primitive recursive func-tionfa set (or, as we shall say, asystem)Efof equations that completely deter-mines its behavior. This will be accomplished by closely following the denition ofthe class of primitive recursive functions: to each of the initial functions we asso-ciate the empty set of equations; iffis obtained by composition ofh1, . . . , hm, weChapter1 20associate with it the system obtained by taking the union of the systemsEhi(fori = 1, . . . , m) corresponding to thehis, and adding the equationf(x1, . . . , xn) = g(h1(x1, . . . , xn), . . . , hm(x1, . . . , xn));totheresult; nally, if f is obtainedbyprimitiverecursionfromhandg, weassociatetoitthe(unionof the)systemsof equationsassociatedwithf andg,adding to the result the two equationsf(x1, . . . , xn, 0) = h(x1, . . . , xn),f(x1, . . . , xn, s(y)) = g(x1, . . . , xn, f(x1, . . . , xn, y)).Now let Efbe the system of equations associated with a particular primitive recur-sive functionf. Any function symbols other than the initial functions that mightoccur inEfmust now be regarded as formal symbols: they will be interpreted bydierentfunctionsatdierentstagesinthemonotoneconstruction, buttheyarenotfreevariablesinthattheequationsinwhichtheyoccurarenotsupposedtobetrueforall possiblewaysof interpretingthem. Werefertosuchsymbolsasfunction letters.For any primitive recursive functionf, the systemEfuniquelydetermines a function, provided functions have been assigned to the function lettersoccurring inEf.Wedescribeastageprocessthatisageneralizationoftheparticularcaseforaddition we considered before. At stage 0 we simply interpret all function letters bythe empty function. At stagen + 1 we interpret each function letterg occurring inEfby the function determined by Eg when all function letters in Eg are interpretedbythevaluesobtainedforthematstagen. Wethenobservethatthisprocessismonotone with respect to , the approximation ordering: ifm < n andgm, gn arethe functions obtained at stages m and n respectively in correspondence with somesystemEf,thengm gn. WecanevenadoptanoperationalnotationandwriteEf(g1, . . . , gk) for the function obtained by means of Efwhen all function letters init (and there are nitely many thereof) are interpreted ong1, . . . , gk. Ifg2, . . . , gkare xed or understood, we simply writeEf(g1).If wethentaketheresultof carryingoutthisprocessinnitelymanytimes(that is, if we take the union of all the functions obtained at the nite stages), thefunction we obtain can be regarded as the function assigned tofbyEf. That is,at the limit, after having carried out our process innitely many times, we obtain axedpoint of the operator specied byEf, i.e., a functiongsuch thatEf(g) = g.This isthe function specied byEf.5Thus we have a way of accounting for the circularity implicit in the schema ofdenition by primitive recursion, and assigning a precise meaning to equations con-taining these functions. This is accomplished by viewing the denitional schemata5TheideaofusingsetsofequationstodeterminerecursivefunctionsisduetoGodel[1931], andfullydevelopedbyKleene[1952], especially 54. Theinter-pretation of sets of equations as (monotone) operators over the space of (recursive)functions is due to Kleene, developed by Myhill and Sheperdson, and presented byRogers [1967] especially 11.5.Chapter1 21as specifying a set of equations, which, in turn, give rise to monotone operators overthe space of all partial functions from the natural numbers into the natural numbers.Iterated applications of these operators starting with the empty function lead to asequence of functions, each one of which is approximated by all the previous ones.The cumulative result taken at the limit gives a xed point that can be viewedas the function specied by the equations comprising the denitional schema. Wenow extend this construction to the class of all the recursive functions.4 RecursiveEquationsandPartialRecursiveFunctionsWe have presented the construction of recursive functions as xed point of recursiveoperatorsonlyforarestrictedsubclassoffunctionsi.e, theclassoftheprimitiverecursive functions. This is because in the case of the primitive recursive functionstheconstructionisparticularlyeasytocarryout, anditsresultsareparticularlyclear. Itisindeedpossibletoextendthexedpointconstructiontotheclassofthe partial recursive functions (i.e., any function computed by one of our programsPe). This is what we do in this section, but in order to do so we must take severalintermediate steps, some of which will be somewhat non-standard and, to the extentof my knowledge, not found in the literature in the precise terms in which they arepresented here.Itiswell knownthattheclassofthe(partial)recursivefunctionscanbeob-tained from the class of the primitive recursive functions by adding the denitionalschema of (unbounded) least search. Such a schema can be characterized as follows.We introduce an operator with the convention that for any predicateP(x),theexpressionx P(x)referstotheleastnaturalnumbernsuchthatP(n)istrue.Then the denitional schema of least search allows us to dene a functionffromanother functiong satisfying the equation:6() f(n) = mg(n, m) = 0.Functionfwill then be dened on an argumentn if and only if mg(n, m) = 0.It should be intuitively clear that functions dened by least search from recursivefunctionsare recursive: it is easy todevise a computer program that searchesforthe leastm satisfying (), using as a subroutine a program computingg. Perhapsless obvious is that the addition of least search to the primitive recursive functionsyields the recursive functions: for this the reader is referred to any standard text,e.g., Rogers [1967].We now have to show how to extend the monotone construction to the case ofthe (partial) recursive functions. In order to do so we must showa) how to assign6Equation (),as it stands,is not formally correct. What we should require isthatf(n) be the leastm such thatg(n, m) equals zero, andmoreoverthatg(n, i)bedenedforeveryi m. We assume here, once and for all, that this additionalproviso is always satised.Chapter1 22asystemEfof equationstoanyfunctionfdenedbyleastsearch; andb)thatthe operator corresponding toEfis in fact monotone and its xed point providesa solution to () above. It might not be clear how this could be accomplished, sosome of the details are given in the next paragraphs.One way of construing the least search operator is to use the recursion theoremto obtain a xed point. There are other ways of doing this, however: here we modifythe account of Kleene [1952], 57. Kleenes original method is very intuitive, but itcannot be adopted in the present context as is. Here we have to introduce additionalcomplications due to the fact that we use our sets of equations as operators on thefunction space and not as sets of premises from which to draw inferences. The basicideaistotakeadvantageof theiterativeprocesstoimplementleastsearchinanalogy with the way in which the iterative process is used to implement primitiverecursion. In particular, we will use the self-referential potentialities implicit in ouruse of function letters to obtain an upward recursion, in which the computationof the value of a function for some arguments requires that we look at values of thefunctionforlargerarguments. ItisthiskindofupwardrecursionthatIwasnotable to nd in the literature, at least in these precise terms.Note that in the case of the primitive recursive functions there is an immediatecorrespondence between the denitional schemata and the equation systems asso-ciated with them; moreover these equation systems work equally well whether theyareusedassetsofpremisesasinKleene[1952]orasoperatorsoverthefunctionspace. Whenweaddtheoperator,thiscorrespondencebreaksdown. Notonlyis the equation system no longer just a copy of the denitional schema, but themost intuitive choice for such a system works only if the equations are used as log-ical premises and not also as an operator over the function space. By contrast, themodiedsystemofequationsweadoptherecanbeusedindierentlyasasetofpremises, as a monotone operator, or, as we will see, as a rule of revision.We can nally say what equations are to be associated with a function denedby least search. Given a function letterfwith the intended interpretation thatf(n) = mg(n, m) = 0,we introduce two new function lettersp andt, and the equationsp(x, y) =

s 0 while p(n, m) = 0; then function t,on the arguments specied in the last equation, starts an upward search and returnsprecisely this value m. Any other values of t are totally irrelevant here (for instance,t(u, v, x, y)isundenedif visnon-zeroandyislargerthanmitisundenedat the rst stage when it is interpreted on , and this fact is preserved each timearound). A few more details will be given for the analogous case for revision rulesin the fth section.To recapitulate, in the construction just presented we consider the denition ofarecursivefunctionor,equivalently,theprogramthatcomputesit,asexpressinganequationinwhichthefunctional variable(thatis, thenameof theprogram)represents the unknown. Then the question arises of how we can go about ndingasolution to that equation. We do this by following Kleenes method. He noticedthat the equation itself suggests a way of computing the desired function, but onlyprovidedwealreadyhaveacandidateforthefunctionwearetryingtocompute.This simply means that if we already know how to compute the function when itappears in a recursive call, then we also know how to compute the entire program(just by plugging in the known values for the recursive calls). Thus, the programcan be viewed also as an operator that, given a partial function as input, returns apartial function as output. This output is just the function obtained by computingthe program using the input function to obtain a value for the recursive calls.Now, it turns out that this denes an operator that is monotone with respect tothe approximation ordering. By this we mean that if function fapproximates func-tion g, then the value the operator assigns to f approximates the value assigned to g.This suggests that if we only had a starting point, then we could keep applying thefunctional operator provided by the program over and over again, obtaining betterand better approximations. This is indeed the case. There is one obvious startingpoint (although this is by no means the only possible one), and it is the everywhereundenedoremptyfunction. Wecanuseittogetthewholethingstarted, andkeepapplyingtheoperatorcorrespondingtotheoriginal programoverandoveragain, possiblyinnitelyoften, obtainingbetterandbetterapproximations. Atsomepointwewill reachastagewheretheprocessdoesntyieldanythingnew,that is, the approximations we feed the operator as input are returned unchangedasoutput. Suchastageisknownasaxedpoint(itisindeedtheminimalxedpoint, in that it approximates any other xed point). According to the monotoneconstruction, such a xed point isthe function determined by the program.Noticethatpartial functionsplaytwodistinct, althoughrelated, rolesinthemonotoneconstruction. First, theymakeupthefunctionspaceoverwhichthemonotone operators are dened. Second,they appear as xed points of these op-erators. Thetworolesareofcourserelated, inthataxedpoint, beingavalueas well as an argument of the operator, is to be found in the space over which theoperator is dened. But the two roles are also conceptually distinct, and they comeapart,as we will see below,in the case of revison rules,since the revision processneed not culminate in a xed point.ItisalsoworthnotingatthispointthatthisapproachisinsomesenseveryChapter1 24conservative: westartwithasetof constraintsthatwewouldlikeourfunctiontosatisfy(thisisthesetofequationsobtainedfromthedenitionalschema); wethenapplytheiterativeprocessbeginningwithastartingpointthatisasnon-committalastheycome: , theemptyfunction; theprocessitselfonlydecidesthosevalues that areforceduponus bytheequations, andthexedpoint weeventually reach is theminimal xed point of our set of equations (in most cases italso happens to be the only one). Thus, the monotone construction sets some sortof minimal standard that any other approach to computability must meet. Wherethexedpointitprovidesisalsotheonlypossibleone, thesetof equationswestarted with admits of only one solution, so that this approach eectively identiesthe function being dened. It follows that in such cases the monotone constructionprovides a satisfactory analysis of the circularity of recursive denitions, assigningat the same time a precise meaning to recursive programs.However, inordertoachievethisposition, wehadtogiveuponeof thead-vantagesoftheblack-boxconceptionoffunctions, namelythefactthatundernocircumstances do we have to put up with their being partial, and we had to accepta particular limitation, namely a limitation to those systems of equations that areassociatedwithrecursivedenitionsinthewaywedescribed. Thereisasenseinwhich the black-box conception seems to be better o than the procedural view, inthat in the former but not in the latter, it is always possible to round o a func-tion in order to make it total (especially if we have powerful priciples like the axiomofchoice). Thisadvantageislostwhenwegivetheconstructionsketchedabove,which, as we have seen, employs partial functions in an essential way. Moreover, ingiving that construction, we had to limit ourselves to those sets of equations thatare obtained from our denitional schemata in a canonical way: it should be clearhowever that many more sets of equations are possible, and we would like to havea way to make sense of those as well.In the next section we will consider whether there is a way of maintaining theadvantage provided by the black-box conception, whereas in the last section we willsee whether there is a way around the limitation to particular sets of equations.5 RevisionRulesandGeneralRecursiveFunctionsInthissectionwerstintroducerevisionrulesingeneral, andthenshowhowtouserevisionrulestoobtaintheclassofthegeneral recursivefunctions, whichcoincideswiththeclassofthoserecursivefunctionsthataretotal. Toputthingsinfocus, recall thatintheconstructionof theprevioussection, partialityistheprice we have to pay if we want the sequence of functions obtained in the iterativeprocess to be increasing in the approximation ordering, and hence the limit of thesequencetobeaxedpoint. Inturn, monotonyguarantees that thesequenceobtained using as a starting point will be increasing. It is indeed a more generalpropertyof increasingsequencesgeneratedbymonotoneoperatorsthatinmanyChapter1 25contextstheywilladmitofxedpoints.7However, neitherincreasingnessnor,therefore, monotony,is itself a necessary condition for the existence of xed points.Inthissectionwetakeadvantageofthisfact: revisionrulesarehereregardedasobtainedfromKleenesconstructionbydroppingtherequirementsof monotonyand increasingness.8Once these requirements are dropped the road is open to theemployment of total functions in the iterative process, and in particular as startingpoints. Moreover, giventhatcertainconditionsobtain, notonlycanthestartingpoint of the iterative process be taken to be total,but also all functions obtainedat the various stages, including the limit, will be total as well.In what follows we are going to identify programs with their indices. In a similarfashion, wewill usethesameindexeasanindexbothtothesetof equationsEecorrespondingtotheprogramPe, andtotheoperatoronthefunctionspacedeterminedbyEe.9Althoughthismightatrstbeconfusing, thecontextwillalways disambiguate such occurrences, and there are conceptual advantages to thispractice, in that it stresses the strict connection among the various equivalent wayswe have of looking at computable functions.So let us again consider a recursive program e. In order to run e on some input,we have seen that we need to know what corresponds to the recursive calls thatemakes (directly or indirectly) to itself. In the approach of the previous section thesecalls are interpreted the rst time around by way of the empty function, and at eachsuccessive application of the monotone operator corresponding toe by way of thefunctioncomputedbytheprogramatthepreviousstage. SinceEeismonotone,this originates an increasing sequence of functions. Now consider the domain of thefunctions we obtain at the various stages, i.e., the set of arguments on which thesefunctions are dened. The fact that the sequence is increasing comes down to thefollowing: the status of any argument with respect to the domain of these functions7There is a famous theorem of Tarski to the eect that every monotone operatoron a complete lattice has a complete lattice of xed points.8This does not rule out the possibility that some, or even many, of our operatorswill as a matter of fact be monotone, but the function sequences to which they willgive rise will not in general be increasing.9Wehavegivenpreciserecipestoobtainasetofequationsfromadenitionalschema, and an operator over the function space from a set of equations. What ismissing at this point is a precise correspondence between computer programs andfunctions obtained by means of the denitional schemata. Only this correspondencecan justify our conation of programs, indices, equations and operators. Establish-ing this correspondence is a two-fold task: we must rst show that every functiondened by means of the schemata can be computed by a program (and it is reallynotdiculttoconvinceoneselfthatthisisthecase); second,wemustshowthatevery program represents a (partial) function: this part requires that we specify alanguage for our programs something we have intentionally avoided. Thereforetheclaimthatsuchacorrespondenceexistswillhavetobeacceptedonfaith, atleast in part.Chapter1 26canchangeatmostonce, andonlyinoneway: anyargumentcanbethrowninthe domain at some iteration stage, and if so it remains in the domain forever (ofcourse the value assigned to it is not changed, either).It is important to observe at this point that there is nothing unique about theemptyfunction, andthatmanyotherstartingpointswilldo, aslongastheyaresound. Wesaythatastartingpointfissoundwithrespecttoaprogrameifitapproximates the function computed by e when its recursive calls are interpreted byf. In symbols,fis sound with respect toe iffEe(f). A moments thought willreveal that there are many sound starting points for any programe. For instance,since Ee is monotone, any one of the functions gn (where gn is the function obtainedby applying Ee for n times to ) provides a sound starting point. If we keep iteratingthe process of the previous section beginning with a sound starting point, possiblyinnitely often, a xed point will eventually be reached.We are ready to take the next step, in which we nally introduce revision rules.As we mentioned, this is simply accomplished by allowing any starting point what-soever in the iterative process (so that,in particular,we can usetotal functions).With this modication of the monotone construction, a program is no longer viewedas specifying a monotone operator on the relevant function space, but rather as aruleofrevision in the style of Gupta [1982] and Belnap [1982]. We will refer to ourstarting point as a bootstrapper, and to this version of the iterative process as arevision process.Observe that even if we have dropped all the constraints on the possible boot-strappers, forthetimebeingtheoperatorsweconsiderarethesameasforthemonotoneconstruction, withthedierencethatthefunctionsequencestheynowgiverisetoneednolongerbeincreasing, since, inparticular, total functionsareallowedtooccurinthem. Droppingall constraintsonthestartingpointcanbeviewedasmakingaguessastothefunctiondeterminedbyEe. Ofcourse, whenguessing a function we dont expect to be right, not even on some of the arguments:we would like therefore for the iterative process we described to provide a way tocorrect any mistakes we might have made. Observe also that starting the iterativeprocess with the empty function might in some sense count as guessing; how-ever there seems to be no reason whatsoever to consider such a guess as somehowprivileged. On the other hand, by guessing some non-empty (possibly total) func-tionfweshowgreatcondencethattheiterativeprocesswilleventuallycorrectany mistakes we might have made.Thereareindeedsimilaritieswiththeproblem, mentionedattheendof thesecondsection, ofguessingasolutiontothehaltingproblemforoneparticularinstance e. In that case we were guessing a YES/NO answer to the question e K?.Our guess was disguised as a function, in that we were guessing whether the constantfunction that always answers YES, or the one that always answers NO would give thecorrect answer, but still our guess contained precisely one bit of information. Butnow, working with revision rules, our guess isgeneral, i.e., we are making innitelymany guesses at the same time: we are guessing a function, rather than a value. Insomewaythisboldnessnowennoblesourguessing,andexpressesamuchgreaterChapter1 27reliance on the iterative process we are considering. In fact, this guess will be ournewstartingpoint,andwewilluseittointerprettherecursivecallsinthegivenprogramethersttimearound,andusethefunctioncomputedinthiswayasanew input for the revision rule. As this process is iterated over and over again, anymistakes contained in our initial guess will be weeded out.One point requires our attention, though. As we have seen, the new sequence offunctions that we obtain by iterating the application of the revision rule need not beincreasing. Indeed, since we dropped all contraints on the bootstrapper, there is noruling out non-sound starting points, so that it might be thatg Ef(g) for somegs; likewise, theremightbefunctions gninthesequencesuchthat gn gn+1.This is acrucial dierencewiththecaseof themonotoneconstruction, anditrequiresthatwedecidewhattodoatthelimit, i.e., afteraninnitenumberofiterations. In the case of the monotone construction we simply took the union of allthe previous stages, by assigning to x, y the value assigned to it byany functiongn. The consistency of this procedure was ensured by the fact that the sequence wasincreasing, and this in turn was brought about by the monotony of the operator andthe soundness of our bootstrapper. But now we require a more delicate operationof passage to the limit than was the case with the monotone construction. Thecharacteristic solution to this problem found in revision theory10is to employ theso-called inferior limit:letg1, g2, . . . be the sequence of functions obtained in therevisionprocess. Wethenassigntothepair x, ythevaluez, if itexists, suchthat for alln greater than or equal to somen0, gn(x, y) =z. Now collect all suchassignments: werefertothisasthefunctiondeterminedbytherevisionruleforthe given bootstrapper. It is clear that such a function might fail to be total. Wewill discusswhattodoinsuchacaseinourlastsection: theproblemdoesnotarise for the cases we will look at in the present section simply because, as we willshow, for these cases the operation of taking the inferior limit provides a value forevery argument. Therefore the operation of taking the inferior limit as we describedyields a total functionf: we say that the revision processconvergestof.Before going on to show how to obtain the general recursive functions by meansofaruleofrevision, itwillbeusefultoillustratesomeofthegeneralfeaturesofthedenitionof functionsbymeansof revisionrules, usinganexample. Aswealreadymentioned, thesequenceof functionsweobtainbyiteratingtherevisionrulebeginningwithsomebootstrapperisnolongerincreasing, foritisperfectlypossible for the function obtained at some stage to be explicitly incompatible withthe function obtained at the next stage (we say that two functions are incompatibleif forsomeargumenttheirvaluesarebothdenedanddierent). Considerforinstancetheequationsystemassociatedwiththeprimitiverecursivedenitionofaddition:f(x, 0) = x;f(x, s(y)) = s(f(x, y)),andsupposethatwechooseasourstartingpointorbootstrappertheconstant10See for instance Gupta [1982].Chapter1 28function =0. Thenalreadyattherststageweobtainafunctiong1thatisincompatible with our bootstrapper, for g1(1, 0) = 1 while the bootstrapper assignsvalue0tothepairofarguments 1, 0. However, inthisasinmanyothercases,itturnsoutthatthevalueof anyargumentcanoscillateatmost nitelyoften,becomingsettledatsomestageoftheiteration. Soforinstance, inourexample,the values assigned to the pair 5, 4 are 0, 1, 1, 1 at the rst four stages (includingthebootstrapperasthezero-thstage), whilebeginningwiththefthstageandfor all subsequent stages this value is 9. This is a nice feature, since for any givenargument the value, if any, on which the functions in the revision process eventuallysettle11 i.e., the value obtained when we take the inferior limit as described above can sensibly be considered as the value assigned by the program to that argumentrelative to the given bootstrapper. If we now take the values thus determined for allarguments, we obtain a function fthat we agree to regard as the function speciedby the revision process for the particular bootstrapper under consideration. This isthe function to which the revision process converges. In our example, as it is easyto check, this function is addition.The same is true more generally for any choice of the bootstrapper. Consideronce again the two above equations dening addition. Pick any function


Recommended