Gödel numbering for sequences

Gödel numbering for sequences

A "Gödel numbering for sequences" provides us an effective way to represent each finite sequence of natural numbers as a single natural number. Of course, the embedding is surely possible set theoretically, but the emphasis is on the effectiveness of the functions manipulating such representations of sequences: the operations on sequences (accessing individual members, concatenation) can be "implemented" with using total recursive functions.

It is usually used to build sequential “data types” in the realm of arithmetic-based formalizations of some fundamental notions of mathematics. It is a specific case of the more general idea of Gödel numbering.

E.g. recursive function theory can be regarded as a formalization of notion “algorithm”, and if we regard it as a programming language, we can mimic arrays, lists by encoding a sequence of natural numbers in a single natural number — to achieve this, we can use various number theoretic ideas. Using the fundamental theorem of arithmetic is a straightforward way, but there are also more ergonomic approaches, e.g. using pairing function combined with Chinese remainder theorem in a sophisticated way.Monk 1976: 56–58] Csirmaz 1994: 99–100 (see [http://www.renyi.hu/~csirmaz/l10.ps.gz online] )]

Gödel numbering

It is a sweeping idea, it can be used to not only sequences, but also whole “architectures” of sophisticated “machines”. We can encode e.g. Markov algorithms,Monk 1976: 72–74] and also Turing machinesMonk 1976: 52–55] in the realm of natural numbers, this can be used e.g. to prove that the expressing power of recursive function theory is no less than that of the former machine-like formalizations of algorithm.

Accessing members

We expect from any such representation of sequences that we can get back all the information from it that is contained by the original sequence: most important, to access each individual member. We are not sticked necessarily to require that also the length can be obtained directly: even if we want to handle sequences of different length, we can store length data as a surplus member, or as the other member of an ordered pair with using a pairing function.

Anyway, we expect that this obtaining back information can be done in an effective way, by an appropriate total recursive function.

We want a totally recursive function "f" that satisfies:For all "n" and for any "n"-length sequence of natural numbers langle a_0,dots a_{n-1} angle, there exists an appropriate natural number "a", called the Gödel number of the sequence such that for all "i" in the range of 0 … n-1:f(a,i) = a_i

There exist effective functions enabling us to obtain back each member of the original sequence from a Gödel number of the sequence. Moreover, there are ways to define some in a constructive way, thus we are not forced to be satisfied with mere proofs of existence.

Gödel's β-function lemma

By an ingenious use of Chinese remainder theorem, we can define constructively such a recursive function eta (using simple number-theoretical functions, all of which can be defined in a total recursive way) fulfilling the "specifications" given above. Also Gödel defined the eta function with using Chinese remainder theorem in his article written in 1931. This is a primitive recursive function. [Smullyan 2003: 56 (= Chpt IV, § 5, note 1)]

Thus, for all "n" and for any "n"-length sequence of natural numbers langle a_0,dots a_{n-1} angle, there exists an appropriate natural number "a", called the Gödel number of the sequence such thatMonk 1976: 58 (= Thm 3.46)] :eta(a,i) = a_i

Using a pairing function

Our specific solution will depend on a pairing function — there are several ways to implement the latter, let us select one. Now, we can abstract from the details of the “implementation” of the pairing function, we need only to know its “interface”: let pi, "K", "L" denote the pairing function and its two projection functions, respectively, satisying specification:Kleft(pileft(x,y ight) ight) = x:Lleft(pileft(x,y ight) ight) = ywe shall not discuss and formalize the axiom for excluding alien objects here, it is now not so important.

Using the Chinese remainder theorem

Implementation of the β function

Using the Chinese remainder theorem, we can prove that implementing eta as:eta(s,i) = mathrm{rem}left(Kleft(s ight),left(i+1 ight)cdot Lleft(s ight)+1 ight)will work, according to the specification we expect eta to satisfy. We can use a more concise form by an abuse of notation (sort of pattern matching)::etaleft(pileft(x_0,m ight),i ight) = mathrm{rem}left(x_0, left(i+1 ight)cdot m+1 ight)Let us achieve even more readability by more modularity and reuse (as these notions are used in computer scienceHughes 1989 (see [http://www.math.chalmers.se/~rjmh/Papers/whyfp.html online] )] ): defining forall i the sequence m_i = (i+1)cdot m+1,enables us to write:etaleft(pileft(x_0,m ight),i ight) = mathrm{rem}left(x_0, m_i ight)We shall use this m_i notation also in the proof.

Hand-tuned assumptions

For proving the correctness of the above definition of eta function, we shall use (and prove) several auxiliary theorems, lemmas . These have their own assumptions. Now we try to find out these assumptions, calibrating / tuning their strength carefully: they should not be said in an either superfluously sharp, or unsatisfactorily weak form.

Let a_0,dots a_{n-1} be a sequence of natural numbers.Let "m" be chosen to satisfy:forall i in overline n setminus left{0 ight} left(i mid m ight):forall i < n left( a_i < m_i ight)The first assumption is meant as:1 mid m land dots land n-1 mid mIt is needed to achieve that the assumption of the Chinese remainder theorem (that of being pairwise coprime) can be met. In the literature, sometimes this requirement is replaced with a stronger one, e.g. constructively built with the factorial function, but the proof uses just that many strength as formulated here.

The second assumption does not concern the Chinese remainder theorem in any way. It will have importance in proving that the specification for eta is met eventually. It ensures that an ilde x solution of the simultanous congruence system:x equiv a_i pmod{m_i} for each "i" ranging 0,… , n-1also satisfies:a_i = mathrm{rem}( ilde x, m_i)Burris 1998: Supplementary Text, [http://www.math.uwaterloo.ca/~snburris/htdocs/scav/fo_arith/fo_arith.html Arithmetic I] , Lemma 4] Csirmaz 1994: 100 (see [http://www.renyi.hu/~csirmaz/l10.ps.gz online] )] A stronger assumption for "m" requiring forall i < n ; (a_i < m) automatically satisfies it (if we define the notation m_i as above).

Proof that (coprimality) assumption for Chinese remainder theorem is met

We shall prove that the (coprimality) assumption for Chinese remainder theorem is met.

As mentioned in section Hand-tuned assumptions, we prescribed that:forall i in overline n setminus left{0 ight} left(i mid m ight)thus we can use it.

What we want to prove is that we can produce a sequence of pairwise coprime numbers in a way that will turn out to correspond to the Implementation of the β function in a sense.

In details::forall ilet us remember, forall i we defined m_i = (i+1)cdot m+1.

Let us use reductio ad absurdum!

Negation of the original statement::exists i

First steps

We know what “coprime” relation means (in a lucky way, its negation can be formulated in a concise form), thus, let us substitute in the appropriate way::exists iUsing a “more” prenex normal form (but note allowing a constraint-like notation in quantifiers)::exists i

Because of a theorem on divisibility, p mid m_i land p mid m_j allows us to say also:p mid m_i - m_j

Substituting the definens of m_dots-sequence notation, we get m_i - m_j = (i-j) cdot m, thus (as equality axioms postulate identity to be a congruence relation see also related notions, e.g. “equals for equals” (referential transparency), and another related notion Leibniz's law / identity of indiscernibles] ) we get: p mid (i-j) cdot mUsing that "p" is a prime element (note: not the irreducible element property is used!), we get:p mid i-j lor p mid m

Resorting to the first hand-tuned assumption

Now this is the point in the proof where we must resort to our assumption:forall i in overline n setminus left{0 ight} left(i mid m ight)let us remember, we have planned this assumption calibrated carefully to be as weak as possible, but strong enough to enable us to use it now.

The assumed negation of the original statement (let us remember, we use reductio ad absurdum) contains an appropriate existential statement using indices i, this entails i-j in overline n setminus left{0 ight}, thus the mentioned assumption can be applied, so i-j mid m holds.

Using an (object) theorem of the propositional calculus as a lemma

We can prove by several means [either proof theoretic (algebraic steps); or semantic (truth table, method of analytic tableaux, Venn diagram, Veitch diagram / Karnaugh map)] known in propositional calculus, that:left(A lor left( A ightarrow B ight) ight) leftrightarrow Bholds.

Because i-j mid m entails (by the transitivity property of the divisibility relation) that p mid i-j ightarrow p mid m, thus (as equality axioms postulate identiy to be a congruence relation see also related notions Referential transparency, and also a dual notion Leibniz's law / identity of indiscernibles] ):p mid mcan be proven.

Reaching the contradiction

The negation of original statement contained:p mid m_iand we have just proved:p mid mthus also:p mid m_i - left(i+1 ight)cdot mshould hold.But, after substituting the definiens for m_i, we shall see:m_i - left(i+1 ight) = 1Thus, summarizing the above three statements, by transitivity of the equality, also:p mid 1should hold. But let us look up the quantification of "p" in the negation of the original statement: "p" is existentially quantified and restricted to primes exists p in mathrm{Prime}

The above statement together with the above quantification of "p" establish the contradiction we wanted to reach.

End of reductio ad absurdum

By reaching contradiction with its negation, we have just proven the original statement::forall i

The system of simultaneous congruences

We build a system of simultaneous congruences:x equiv a_0 pmod{m_0}::vdots:x equiv a_{n-1} pmod{m_{n-1

We can write it in a more concise way::forall i < n ; left(x equiv a_i pmod{m_i} ight)

In the followings, many statements will be said, all beginning with forall i < n ; left(dots ight). To achieve a more ergonomic treatment, from now on all statements will be regarded in the scope of an forall i < n ; left(dots ight) qantification. Thus: forall i < n ( begins!

Let us chose a solution x_0 for the system of simultaneous congruences. At least one solution must exist, because m_0,dots m_{n-1} are pairwise comprime (that's what we have been proving so long in the previous sections!), thus we can refer to the Chinese remainder theorem's ensuring solution. Thus, from now on, we can regard x_0 satisfying:x_0 equiv a_i pmod{m_i}it means (by definition of modular arithmetic) that:mathrm{rem}left(x_0,m_i ight) = mathrm{rem}left(a_i,m_i ight)

Resorting to the second hand-tuned assumption

Again, we must resort to the assumptions whose strength we specifically “tuned” for using in the proof. But now, it is the second assumption (which does not concern the Chinese remainder theorem in any way) that we need: “forall i < n ; left(a_i < m_i ight)”. Let us remember: we are now in the scope of a “big” quantification for "i", thus we don't repeat its quantification for each statement.

The second hand-tuned assumption a_i < m_i will join in at this point, because it entails that:mathrm{rem}left(a_i,m_i ight) = a_iNow by transitivity of equality we get:mathrm{rem}left(x_0,m_i ight) = a_i

QED

Our original goal was to prove that the definition:etaleft(pileft(x_0,m ight),i ight) = mathrm{rem}left(x_0,m_i ight)is good for achieving what we declared in the specification of eta: we want etaleft(pileft(x_0,m ight),i ight) = a_i to hold.

That's it, it can be seen now by transitivity of equality, looking at the above three equations.

Scope of "i" ends here.

Existence and uniqueness

We have just proven the correctness of the definition of eta: its specification requiring:forall a_0,dots, a_{n-1};exists s;forall i < n ; eta(s,i) = a_iis met. Although proving this was the most important, if we want to establish an encoding scheme for sequences, but we have to fill in some gaps yet. These are related notions similar to existence and uniqueness (although on uniqueness, “at most one” should be meant here, and the conjunction of both is delayed as a final result).

Uniqueness of encoding, achieved by minimalization

Because let us remember, our ultimate question is: what number should stand for the encoding of sequence leftlangle a_0,dots,a_{n-1} ight angle? The specification declares only an existential quantification, not yet a functional connection. We want a constructive and algorithmic way, even more, a (total) recursive function for the encoding.

Totality, because minimalization is restricted to special functions

This gap can be filled in in a straightforward way: we shall use minimalization, and the totality of the resulting function is ensured by everything we have proven till now (i.e. the correctness of the definition of eta by meeting its specification). In fact, the specification:forall a_0,dots, a_{n-1};exists s;forall i < n ; eta(s,i) = a_iplays a role here of a more general notion (“special function”Monk 1976: 45 (= Def 3.1.)] ). The importance of this notion is that it enables us to split off the (sub)class of (total) recursive functions from the (super)class of partial recursive functions. In brief, the specification says exactly: a function "f" [E.g. defined by:f : mathbb N^{n+1} o mathbb N:fleft(a_0,dots, a_{n-1}, s ight) = egin{cases}0 & mathrm{if};forall i < n ; left(eta(s,i) = a_i ight) \ 1 & mathrm{if};exists i < n ; left( eta(s,i) eq a_i ight)end{cases}] satisfying specification:fleft(a_0,dots, a_{n-1}, s ight) = 0 leftrightarrow forall i < n ; left(eta(s,i) = a_i ight)is a special function, i.e. for each fixed combination of all-but-last arguments, the function "f" has root in its last argument::forall a_0,dots,a_{n-1};exists s; left(fleft(a_0,dots,a_{n-1},s ight)=0 ight)

The Gödel numbering function g can be chosen to be total recursive

Thus, let us choose the minimal possible number that fits well in the specification of the eta function Csirmaz 1994: 100 (see [http://www.renyi.hu/~csirmaz/l10.ps.gz online] )] ::g : mathbb N^n o mathbb N:leftlangle a_0,dots,a_{n-1} ight angle longmapsto mu a . left [ forall i < n ; left(etaleft(a,i ight) = a_i ight) ight] and it can be proven (using the notions of the previous section ) that "g" is (total) recursive.

Access of length

If we use the above scheme for encoding sequences only in contexts where the length of the sequences is fixed, then no problem arises. In other words, we can use them in an analogous way as arrays are used in programming.

But sometimes we need dynamically stretching sequences, or we need to deal with sequences whose length cannot be typed in a static way. In other words, we may encode sequences in an analogous way as we use lists in programming.

An example for both cases: if we make the Gödel numbering of a Turing machine, then the each row in matrix of the “program” can be represented with tuples, sequences of fixed length (thus, without storing the length), because the number of the columns is fixed.Monk 1976: 53 (= Def 3.20, Lem 3.21)] But if we want to reason about configuration-like things (of Turing-machines), and specially, we want to encode the significant part of the tape of a running Turing machine, then we have to represent sequences together with their length. Moreover, we can mimic dynamically stretching sequences by representing sequence concatenation (or at least, augmenting a sequence with one more element) with a [totally] recursive function.Csirmaz 1994: 101 (=Thm 10.7, Conseq 10.8), see [http://www.renyi.hu/~csirmaz/l10.ps.gz online] ]

Length can be stored stored simply as a surplus member:Csirmaz 1994: 100 (see [http://www.renyi.hu/~csirmaz/l10.ps.gz online] )] :g : mathbb N^* o mathbb N:leftlangle a_0,dots,a_{n-1}, a_n ight angle longmapsto mu a . left [ a_0 = n land forall i < n ; left(etaleft(a,i+1 ight) = a_i ight) ight]

The corresponding modification of the proof is straightforward, by adding a surplus:x equiv n pmod{m_0}to the system of simultaneous congruences (provided that the surplus member index is chosen to be 0). Also the assumptions etc. have to be modificated accordingly.

Notes

References

*
* Each chapter is downloadable seriatim on [http://www.renyi.hu/~csirmaz/ author's page] .
* cite journal |last=Hughes |first=John |title=Why Functional Programming Matters |journal=Computer Journal |volume=32 |issue=2 |pages=98–107 |year=1989 |url=http://www.math.chalmers.se/~rjmh/Papers/whyfp.html
*
*
* Translation of Smullyan 1992.

External links

*


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Gödel number — In mathematical logic, a Gödel numbering is a function that assigns to each symbol and well formed formula of some formal language a unique natural number called its Gödel number. The concept was first used by Kurt Gödel for the proof of his… …   Wikipedia

  • Proof sketch for Gödel's first incompleteness theorem — This article gives a sketch of a proof of Gödel s first incompleteness theorem. This theorem applies to any formal theory that satisfies certain technical hypotheses which are discussed as needed during the sketch. We will assume for the… …   Wikipedia

  • List of mathematics articles (G) — NOTOC G G₂ G delta space G networks Gδ set G structure G test G127 G2 manifold G2 structure Gabor atom Gabor filter Gabor transform Gabor Wigner transform Gabow s algorithm Gabriel graph Gabriel s Horn Gain graph Gain group Galerkin method… …   Wikipedia

  • Chinese remainder theorem — The Chinese remainder theorem is a result about congruences in number theory and its generalizations in abstract algebra. In its most basic form it concerned with determining n, given the remainders generated by division of n by several numbers.… …   Wikipedia

  • Recursive languages and sets — This article is a temporary experiment to see whether it is feasible and desirable to merge the articles Recursive set, Recursive language, Decidable language, Decidable problem and Undecidable problem. Input on how best to do this is very much… …   Wikipedia

  • Code — redirects here. CODE may also refer to Cultural Olympiad Digital Edition. Decoded redirects here. For the television show, see Brad Meltzer s Decoded. For code (computer programming), see source code. For other uses, see Code (disambiguation).… …   Wikipedia

  • Boolean algebras canonically defined — Boolean algebras have been formally defined variously as a kind of lattice and as a kind of ring. This article presents them more neutrally but equally formally as simply the models of the equational theory of two values, and observes the… …   Wikipedia

  • Large numbers — This article is about large numbers in the sense of numbers that are significantly larger than those ordinarily used in everyday life, for instance in simple counting or in monetary transactions. The term typically refers to large positive… …   Wikipedia

  • Jesús Mosterín — in October 2008 Jesús Mosterín (born 1941) is a leading Spanish philosopher and a thinker of broad spectrum, often at the frontier between science and philosophy. Contents …   Wikipedia

  • number game — Introduction       any of various puzzles and games that involve aspects of mathematics.       Mathematical recreations comprise puzzles and games that vary from naive amusements to sophisticated problems, some of which have never been solved.… …   Universalium

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”