Endliche Folgen
Gegeben eine lineare Ordnung auf A liefert die lexikographische Ordnung eine lineare Ordnung auf A2, A3, …, An, … Oft ist es von Interesse, endliche Folgen variabler Länge miteinander vergleichen zu können. Wir definieren hierzu:
Definition (endliche Folgen, Anfangsstück, kleinster Unterschied)
Sei A eine Menge. Wir setzen
SeqA = { (s1, …, sn) | n ∈ ℕ, si ∈ A für alle i }.(endliche Folgen in A)
Für jedes s = (s1, …, sn) ∈ SeqA heißt n = |s| die Länge von s. Sind s, t Folgen in A der Länge n bzw. m, so heißt s ein Anfangsstück von t (und t eine Fortsetzung von s), in Zeichen s ⊴ t, falls
n ≤ m und si = ti für alle 1 ≤ i ≤ n.
Gilt zudem s ≠ t, so heißt s ein echtes Anfangsstück von t, in Zeichen s ⊲ t. Sind s, t keine Anfangsstücke voneinander, so sei δ(s, t) die kleinste Stelle eines Unterschieds, d. h. δ(s, t) = „das kleinste i mit si ≠ ti“.
Die leere Folge ( ) ist immer ein Element von SeqA. Identifizieren wir a ∈ A mit der Folge (a) ∈ SeqA der Länge 1, so können wir A ⊆ SeqA annehmen. Die Anfangsstückrelation ist eine partielle Ordnung auf SeqA.
Eine lineare Ordnung auf A können wir zu einer linearen Ordnung nach SeqA liften, indem wir Folgen an der Stelle ihres kleinsten Unterschieds miteinander vergleichen und zudem angeben, wie wir Anfangsstücke behandeln. In einem Lexikon erscheint zum Beispiel s vor t, falls s ein echtes Anfangsstück von t ist. Diese Einordnung wird anschaulich, wenn wir eine endliche Folge als unendliche Folge auffassen, die in einem symbolischen Nullwert endet, der kleiner ist als alle Elemente von A. Setzen wir dagegen s durch einen symbolischen Wert ∞ fort, so ist s größer als t, falls s ⊲ t. Schließlich können wir auch die Länge als maßgebliches Vergleichkriterium heranziehen: Wir ordnen kürzere Folgen vor längeren ein und vergleichen gleichlange Folgen an der kleinsten Stelle eines Unterschieds. Die formalen Definitionen dieser drei Ordnungen lauten:
Definition (lineare Ordnungen auf den endlichen Folgen)
Sei (A, <) eine lineare Ordnung. Dann setzen wir für alle s, t ∈ SeqA:
s <lex t | falls s ⊲ t oder sδ < tδ (mit δ = δ(s, t)), |
s <KB t | falls t ⊲ s oder sδ < tδ, |
s <shortlex t | falls |s| < |t| oder sδ < tδ. |
Die Relationen heißen die lexikographische Ordnung, Kleene-Brouwer-Ordnung bzw. Short-Lex-Ordnung auf SeqA.
Beispiele
Sei A = { 0, 1 }, mit der üblichen Ordnung auf { 0, 1 }.
(1) | Für die lexikographische Ordnung auf SeqA gilt ( ) <lex 0 <lex 00 <lex 01 <lex 010111 <lex 1 <lex 10. |
(2) | Für die Kleene-Brouwer-Ordnung auf SeqA gilt 00 <KB 010111 <KB 01 <KB 0 <KB 10 <KB 1 <KB ( ). Durch eine symbolische ∞-Fortsetzung wird diese Anordnung suggestiv, zum Beispiel ist 010111 ∞ ∞ ∞ … <KB 01 ∞ ∞ ∞ … <KB 0 ∞ ∞ ∞ … |
(3) | Für die Short-Lex-Ordnung auf SeqA gilt ( ) <lex 0 <shortlex 1 <shortlex 00 <shortlex 01 <shortlex 10 <shortlex 010111. |
Die partielle Ordnung (SeqA, ⊲) können wir uns als einen unendlich hohen Baum mit der Wurzel ( ) vorstellen, der sich an jeder Stelle A-fach verzweigt. Auf der n-ten Stufe befinden sich alle Folgen in A der Länge n.
Die ersten Stufen von SeqA für A = { 0, 1 }
Die Short-Lex-Ordnung können wir so beschreiben: Wir fügen die lexikographisch geordneten Stufen aneinander. Die beiden anderen Ordnungen sind komplizierter. Für A = { 0, 1 } sind bei <lex und <KB alle Nullfolgen 0, 00, 000, … kleiner als die Folge 1 der Länge 1 auf Stufe 1. Bei <KB sind die Nullfolgen zudem umgekehrt geordnet, sodass 0 größer ist 00, 00 größer als 000 usw.
Einen Eindruck von der Bauart der drei linearen Ordnungen können wir erhalten, indem wir uns auf die ersten Stufen von SeqA beschränken. Ist A endlich, so können wir die Elemente des gestutzten Baumes entsprechend der gewählten linearen Ordnung durchzählen. In den folgenden Diagrammen betrachten wir wieder Folgen der Länge kleiner oder gleich 4 in der Menge A = { 0, 1 }.
Die Short-Lex-Ordnung zählt die Elemente Stufe für Stufe auf
Anordnung der Folgen unter der lexikographischen Ordnung
Anordnung der Folgen unter der Kleene-Brouwer-Ordnung
Nummerierung der Folgen durch die Short-Lex-Ordnung
Nummerierung der Folgen durch die lexikographische Ordnung
Nummerierung der Folgen durch die Kleene-Brouwer-Ordnung
Die Linearisierung des unendlich hohen Folgenbaumes SeqA ist für die endliche Menge A = { 0, 1 } deutlich komplexer. Die obigen Diagramme sind ein gewisses Abbild der Ordnungen, aber es gibt wesentliche Unterschiede. Am einfachsten ist die Short-Lex-Ordnung, bei der Elemente auf höheren Stufen immer später erscheinen als auf niedrigeren Stufen. Die Positionen bleiben fest, 110 ist das 14. Element der Ordnung <shortlex auf ganz SeqA. Bei den anderen Ordnungen ist dies nicht der Fall, 110 ist keineswegs das 26. Element von <lex und auch nicht das 25. Element von <KB auf SeqA. Beim Hinzufügen neuer Stufen werden immer wieder Elemente eingewoben und nicht nur am Ende angehängt. Wir betrachten hierzu die Ordnung <lex genauer, ähnliche Überlegungen gelten für <KB.
In der Ordnung < = <lex gibt es unmittelbare Nachfolger: Für alle s ist die Verlängerung s0 der Folge s um 0 größer als s, und es gibt keine t mit s < t < s0. Damit beginnt die Ordnung mit den Folgen auf dem linken Ast von SeqA:
(+) ( ) < 0 < 00 < 000 < …
Nun gibt es aber keine kleinste Folge, die größer ist als alle 0-Folgen in (+). Die 0-Folgen haben keinen unmittelbaren Nachfolger mehr. Um dies einzusehen betrachten wir die Folgen des Typs 0 … 01. Diese Folgen sind absteigend geordnet und größer als alle 0-Folgen:
(++) ( ) < 0 < 00 < 000 < … < … < 0001 < 001 < 01 < 1
Während auf der linken Seite dieser Kette direkte Nachfolger gebildet werden, ist dies auf der rechten Seite nicht der Fall: 01 ist nicht der direkte Vorgänger der 1, 001 nicht der direkte Vorgänger von 01 usw. Es gilt
… < 001 < 0010 < 00100 < … < 01 < 010 < 0100 < … < 1 < 10 < 100 < …
mit direkten Nachfolgerbildungen. Damit ergibt sich folgendes Bild: In (++) liegt an jeder Stelle 1, 01, 001, … eine Kopie der Ordnung <lex, die mit dem linken Ast oberhalb von 1, von 01, von 001 usw. beginnt. Die Ordnung beginnt strukturell mit einer Kopie von ℕ, danach folgen unendlich viele Kopien der gesamten Ordnung, die wie die negativen ganzen Zahlen angeordnet sind. Alternativ können wir auch so argumentieren: Die Fortsetzungen einer Folge s liefern zwei Ordnungen, die mit s0 bzw. s1 beginnen und Kopien von <lex sind. Führen wir diese Aufspaltung beginnenden mit ( ) wiederholt durch, so erhalten wir
( ), 0, ---, 1, ---
( ), 0, 00, ---, 01, ---, 1, ---
( ), 0, 00, 000, ---, 001, ---, 01, ---, 1, --- usw.
wobei jeder Teil --- der Ordnung wie die ganze Ordnung <lex aussieht.
In unserer Diskussion haben wir uns auf A = { 0, 1 } beschränkt. Wir können aber mit einer beliebigen linearen Ordnungen auf einer endlichen oder unendlichen Menge A starten, den Baum aller Folgen mit dem „Alphabet“ A betrachten und diesen linear ordnen. Für A = ℤ hat eine Folge s in <lex keinen direkten Nachfolger mehr, da … < s(a − 1) < sa < s(a + 1) < … für alle a ∈ ℤ. Auch ℝ ist als Alphabet möglich. Wir erhalten so lineare Ordnungen aller endlichen reellen Folgen.