Use the synchronous group multiplier automata belonging to the automatic structure for a group. Write for the padded convolution of words: the shorter tape is completed with a symbol outside the alphabet, and reading stops when both words over an alphabet have ended. Our convention isLet be at least the number of states of each of these finite-state automata, including .
Choose a shortest representative of . In the first orientation, accepts ; in the other orientation it accepts . If , the accepting run has more than transitions after the tape containing has ended. Two states in that suffix coincide. Delete the intervening nonempty loop. Every deleted column contains on the fixed tape and a genuine letter on the tape containing , so the resulting input remains a valid padded convolution of words. The group multiplier automaton still accepts, giving a shorter representative of the same . This contradicts minimality. Thus a representative can always be chosen withThis argument does not require a symmetric alphabet: the second orientation uses the same with its tapes interchanged in the input, rather than a presumed .
Apply the same pumping of a group multiplier automaton to the accepted pair containing the given representative . Since , there is a nonempty loop entirely after the tape containing has ended. Write , with the letters read during this loop. Repeating the loop any number of times leaves the other tape equal to , and the group multiplier automaton accepts the resulting padded convolution of words. ConsequentlyThese words over an alphabet have distinct lengths because . Hence there are infinitely many representatives of in . No uniqueness of representatives was assumed in either part.
Fix the first tape of the group multiplier automaton to be . Construct its possible runs by dynamic programming, one column at a time. A record consists of a state and a flag indicating whether the output tape has ended. At column , the first symbol is and the second symbol may be any letter of the alphabet, or ; after the second tape first uses it must continue to use . At later columns the first symbol is , and an additional column must have a genuine letter on the second tape. Never add a column.
Keep one predecessor record and its output symbol for each reachable state-and-flag pair in each layer. Two runs reaching the same record have exactly the same possible future completions, so this merging loses no accepting output. The merged dead state of a finite automaton can be discarded. At each layer , test whether a reached state is accepting; the initial layer is included when . Upon success, follow predecessor records backwards and omit padding symbols to recover .
The automatic structure for a group supplies a representative in of , so an accepted padded convolution of words exists and this search terminates. The output is the required representative:The search uses only the finite transition table; it does not presuppose a solution to the word problem for a group.
Part (a)(i), applied to and , guarantees an accepted output of length at most . Its padded convolution of words has at most columns. Thus the dynamic programming search in part (b) reaches an accepting layer by this bound.
Each layer has at most twice the fixed number of states of , and each record has at most outgoing choices. These are constants for the fixed automatic structure for a group. Storing a pointer and a symbol takes constant time; copying whole partial output strings at every step would unnecessarily spoil this bound. Reconstruction also takes at most steps. Therefore automatic multiplication has linear time and bounded length increase:For nonempty inputs this is the requested time complexity. The additive merely includes the constant work on the empty word.
The regular language is nonempty because it represents every element of the group. Find any accepted word using breadth-first search in its finite-state automaton. If is the empty word, it already represents the identity.
Otherwise begin with and repeatedly apply the linear-time multiplication in an automatic structure to the lettersThese letters belong to by symmetry of the alphabet. All intermediate words lie in , and the final word representsHence an identity representative can be constructed effectively:This is a finite preliminary computation depending only on the fixed automatic structure for a group; it uses no test for whether an arbitrary word represents the identity.
Write the input word over an alphabet as . Starting with , obtain from by linear-time multiplication in an automatic structure with . Mathematical induction givesThe time complexity of step is at most a constant times . Summing the costs givesThe automatic structure for a group, and are fixed, so the required representative isFor the empty word, return in constant time.
Construct as above, and run the equality group multiplier automaton on . Both inputs belong to , soThe final finite-state automaton run takes time. The word problem for a group is therefore decidable in quadratic time:The empty word is accepted immediately. Comparing and as literal strings would be incorrect, since an automatic structure for a group need not give unique representatives.
For a finite position , let be the cylinder set of infinite plays extending . Because the factors have the discrete topology, these cylinder sets form a basis for the product topology. PutMembership in means that I has already secured the outcome, regardless of future moves. Since is an open set, a play belongs to exactly when one of its prefixes belongs to .
Build the winning-position attractor in an infinite game by transfinite recursion. Start with , use unions at limit ordinals, and setThis sequence is increasing: the defining operation is order-preserving, and . It stabilizes at some ordinal. Indeed, if it strictly increased at every successor stage below the successor cardinal number of , choosing one newly added position per stage would inject that larger cardinal into . Denote the stable set by . This constructs the needed fixed point directly, without an appeal to an unstated fixed-point theorem.
Every position in has a least entry ordinal, its rank. Rank zero means membership in . A positive rank is a successor : at an I-position some extension belongs to , while at a II-position every extension does. If the empty word belongs to , I always chooses an extension of smaller rank until is reached. II's choices also decrease rank before that happens. There is no infinite strictly decreasing sequence of ordinals, so some finite prefix lies in . This is a winning strategy in an infinite game for I.
If the empty word is outside , the fixed point equation says that every extension of an I-position outside is still outside , and that a II-position outside has at least one extension outside . II chooses such an extension. Every resulting prefix avoids , hence the whole play avoids by openness. This is a winning strategy in an infinite game for II.
The choices can be made simultaneously by fixing a well-order of , as allowed by the usual axiom of choice. The argument does not assume that is countable. Every such open game is determined:
Rice theorem: every nontrivial extensional property of programs computing partial computable functions has an undecidable index set. More precisely, take an acceptable effective enumeration of the unary partial computable functions. If contains some but not all of these functions, then“Extensional” means that equality of partial functions, including their domains, preserves membership; no syntactic restriction on program codes is being considered.
We use two standard facts, stated explicitly. The diagonal halting set is undecidable. For the associated acceptable enumerations of -ary partial computable functions, with , the S-m-n theorem says that for every there is a total computable function such thatwhere means equality of defined values and equality of undefinedness. Thus fixed parameters in a program can be compiled into its index effectively.
Let be the nowhere-defined partial computable function. Choose a partial computable function whose membership in is opposite to that of ; this is possible by nontriviality. For each , construct the programThis is a uniform partial computation. Take an index for the binary partial computable function . The S-m-n theorem gives the total computable function with . Crucially,Even when itself is undefined, the equality of partial functions remains correct. If , this gives a many-one reduction of to ; if , it gives a many-one reduction of to the complement of . A decision procedure for would therefore decide in either case, a contradiction.
The equivalent language formulation says that every nontrivial property of computably enumerable languages depending only on the recognized language has an undecidable index set. Apply the function formulation to the property of a partial computable function that its domain has the specified language property: every computably enumerable language occurs as such a domain.
For (1)(a), a primitive recursive function is obtained by a finite construction from the zero function, successor function and projection functions, using function composition in recursion theory and primitive recursion. The recursion rule, with parameters , isHere have already been constructed. All these functions are total on nonnegative integers: the initial functions are total, composition preserves totality, and ordinary mathematical induction proves totality of each recursion.
For (1)(b), use a shifted hyperoperation sequence, beginning with addition. Defineand, for each fixed , defineThe first three members are therefore addition, multiplication and exponentiation:The exponentiation convention includes , hence . The next member iterates exponentiation, with ; there is no need for an exceptional domain restriction at .
For (1)(c), is a primitive recursive function by its displayed recursion. If is a primitive recursive function, thenare primitive recursive functions, using constants, projection functions and function composition in recursion theory. Primitive recursion applied to gives . Mathematical induction on the fixed rank proves every member of the sequence is primitive recursive. This does not assert that the joint three-variable evaluator is a primitive recursive function.
For (2), as written, the answer is no: the empty set is semidecidable, whereas a total computable function from to always has a nonempty range. This is the only obstruction. To prove the stronger useful statement, suppose is a nonempty computably enumerable set and choose . Fix a Turing machine which halts exactly on the inputs in . Its bounded halting predicateis primitive recursive: encode configurations arithmetically, iterate its total single-step operation times by primitive recursion, and check the halt state. A halted configuration is kept fixed. This is a bounded simulation, not unbounded waiting.
Fix a primitive recursive pairing function with primitive recursive inverse coordinate functions. For example, the Cantor pairing function has inverses obtained by bounded minimization. DefineThe two coordinate functions, the bounded predicate, and the finite case distinction are primitive recursive functions, so is a primitive recursive function. Its values always lie in . Conversely, if , its computation halts within some finite , and . ThusThe range need not be a computable set; deciding whether a value occurs anywhere in this total enumeration is an unbounded search.
A many-one reduction is a total computable function such thatA Turing reduction is an oracle machine which, with membership oracle , halts on every input and computes the indicator function . It may make finitely many adaptive queries on each input. A many-one reduction gives a Turing reduction by a single query, but Turing reducibility allows more general procedures.
The Friedberg–Muchnik theorem states that there are computably enumerable sets with incomparable Turing degrees:Here is a finite-injury priority construction proving it. Effectively enumerate all Turing functionals . Arrange the requirements in the priority orderEquality would require the Turing functional to be total and give the correct bit at every input; one disagreement or one undefined input defeats it.
Start with and enumerate elements without ever removing them. A strategy has a private witness, a flag recording whether it has acted, and a restraint on its oracle. Every new witness is larger than every previously assigned witness and every current higher-priority restraint. Retired witnesses are never reused. The only possible enumeration of a witness is by its owner, so an unacted witness remains outside its target set.
The strategy for chooses a witness and waits for a stage at which the bounded simulation givesOn seeing this, put into , declare the strategy acted, and impose restraint on , where is the oracle use: one more than the largest queried number, or zero if there were no queries. Initialize every lower-priority strategy, discarding its current witness, acted flag and restraint. An acted strategy does nothing further until initialized. The strategy for is identical with interchanged. Waiting specifically for zero is enough: if the eventual output is nonzero while the witness stays out, it already disagrees with the target indicator function.
For a completely effective schedule, at stage visit the first strategies in priority order. Assign an unassigned witness when visited. Simulate each unacted strategy's computation for at most steps with the current finite oracle. If some strategy can act, perform the first such action and end the stage; otherwise end after all visits. All steps are finite and algorithmic, so the limiting are computably enumerable sets.
Every lower-priority enumeration respects higher-priority restraints. When its witness was chosen it lay above these restraints. Any subsequent action of a higher-priority strategy would have initialized it, so its current witness remains safe to enumerate. The initialization of all lower strategies also removes their obsolete restraints before they can obstruct a legitimate higher-priority action.
We verify finite injury by mathematical induction on priority. The first strategy is never injured and acts at most once. If all predecessors of a strategy act finitely often, there is a last stage when a higher-priority action initializes it. It is subsequently visited, chooses its permanent witness, and acts at most once. Thus it too acts finitely often and all its lower-priority strategies suffer only finitely many injuries. The scheduling cannot starve a fixed strategy: after the finitely many higher-priority actions, all sufficiently large stages visit it.
Consider the final uninjured with witness . If it acts, then permanently, and every later lower-priority enumeration into respects its restraint. No later higher-priority action occurs. The preserved computation is thereforeIf it never acts, . Were , the final computation on would halt with zero and have finite oracle use. The finitely many oracle bits it queries eventually stabilize, and a sufficiently late bounded stage simulation would see exactly this zero computation. The strategy would then act, a contradiction. Hence holds in this case too. The same reasoning proves every .
All possible Turing reductions in both directions are excluded. This proves the Friedberg–Muchnik theorem; in particular both constructed Turing degrees are noncomputable, since a computable set is Turing reducible to every oracle.
Represent a nonnegative integer by the Church numeralA closed lambda term represents a partial computable function if, on inputs in its domain, reduces to the Church numeral of the value, and on other inputs it produces no Church numeral. We use untyped lambda calculus and normal-order beta reduction.
First every primitive recursive function has such a representation on all inputs. The zero function is represented by a constant , the projection functions by , and the successor function byFor function composition in recursion theory, substitute the represented inner functions into the represented outer function:These constituent functions are total, so there is no undefined argument to be discarded.
For primitive recursion, use Church Booleans and Church pairs:If represent the total functions defining a recursion, putandAfter iterations the Church pair contains the counter and the recursively computed value at , by mathematical induction. Thus this lambda definition of primitive recursion by pair iteration represents the recursion. A structural induction for primitive recursive functions now represents every primitive recursive function.
To pass to arbitrary partial computable functions, use the Kleene normal form theorem in the following form: for every , there are total primitive recursive functions such thatwith undefined precisely when no such exists. The predicate checks codes of valid finite halting histories for the chosen program; extracts their common output. This expresses unbounded minimization of a total predicate, so no earlier undefined test can interfere with the search.
Let be the represented total functions. The Church numeral zero test and a fixed-point combinator areDefine the search lambda termAll displayed abbreviations expand to finite closed lambda terms; stands for the fixed finite tuple of input variables. Because , normal-order beta reduction tests . At the first successful test the Church Boolean selects , which reduces to the correct Church numeral. The unused recursive branch is discarded.
If no test succeeds, every finite search step returns to another head search, never exposing a numeral. The term has no head normal form and hence cannot be beta equivalent to a Church numeral. This last point is why the output operation occurs inside the successful branch: simply applying a possibly argument-discarding outer function to a divergent search would not justify undefinedness. Therefore every computable function is representable, including partial computable functions with their correct undefined inputs:
Articles by others on the same topic
There are currently no matching articles.