ÜBER DIE INVERTERLOGIK

Ich stelle hier eine "Inverterlogik" vor, die die gesamte Mathematik wie auch die Geometrie auf ein einziges Axiom zu gründen erlaubt.
Dieses Axiom ist ein abstrahierter Transistor und deshalb nicht etwas, über dessen Evidenz zu lamentieren wäre. Es kann auch als abstrahierte Wippe gesehen werden und ist damit deutlich einfacher als Zirkel und Lineal oder ein Abacus. Der Zugang zu der Vorstellung, die ich entwickelt habe, wird vielleicht einfacher, wenn ich voranstelle, dass ich garnicht vorhatte, eine neue Begründung der Mathematik in die Welt zu setzen, sondern vor dem Problem stand, elektronische Schaltkreise, sog."Standardlogik" so zu verlöten, dass ich meine Zwecke erreichen konnte. Herkömmlich wird dabei die Boole'sche Algebra angewendet. Weil mir die viel zu umständlich und in gewisser Hinsicht sogar untauglich erschien, wollte ich mir die Überlegungen einfacher machen und insbesondere auch die in diesem Zusammenhang auftretenden zeitlichen Bedingungen berücksichtigen können. Weil in diesen integrierten Schaltkreisen tatsächlich nur Transistoren in Sourceschaltung vorkommen, die als "Inverter" wohl bekannt sind, lag mir nahe, eben die Transistorschaltungen zu betrachten, die mir bestens vertraut waren und die ich auch versuchsweise aus einzelnen Transistoren mal eben verlöten konnte. Das war vor etwa 15 Jahren der erste Ansatz zu der im folgenden ausgeführten Vorstellung.

Zunächst war ich glücklich, meine Aufgaben schnellstens und perfekt lösen zu können.
Es dauerte mehr als ein Jahr, bis ich sah, dass die mit dem deMorgan'schen Theorem für fundamental erklärten Boole'schen Operatoren (auch "Junktoren" genannt) UND und NICHT nicht so fundamental sind wie das besondere NICHT, das ein Inverter logisch betrachtet ist. Allerdings war eine neue Schreibweise nötig, wie ich sie mittlerweile entwickelt hatte. Sie ist im wesentlichen die, die zur Darstellung elektronischer Schaltungen benutzt wird.
Das NICHT in Gestalt eines Inverters ist nicht nur fundamentaler, sondern auch evidenter als Boole's Operatoren, die nicht wesentlich anders sind als die vor mehr als 2000 Jahren von Aristoteles aufgeschriebenen Syllogismen. Bis zu Boole ist der Bezug der Logik zur Sprache nicht aufgelöst worden, ein Bezug, der natürlich sofort zur Idee verführt, dass Logik nicht in der Natur sei, sondern nur in unseren Köpfen. Spinoza und Kant haben schon versucht, diese Sicht der Dinge mit vielen Worten zu überwinden, die aber kritisch gesehen nur Beschwörungen und nicht Beweise waren. Auch moderne "mathematische Logik" nach Boole kommt nicht los vom sprachlichen Bezug, wenn auch in verkappter Form, verhilft also nicht zu Beweisen, sondern nur neuartigen Kringeln und Formeln, die ohne grossen Anlauf garnicht zu nehmen sind. Nach wie vor kann man sich also versteigen zu einer Sicht der Dinge, die sie Geist, Weltgeist oder anderen heiligen Geistern gegenüber sieht.
Mit Hinblick auf den Inverter genügt dagegen allein die Feststellung, dass er schwingt, wenn der Ausgang mit dem Eingang verknüpft wird, um den Beweis anzutreten, dass Logik von und in dieser Welt ist. Sind verknüpfte Inverter real, z.B. in Form einer Transistorschaltung, ist die damit gegebene Logik völlig unabhängig von irgendeinem menschlichen Betrachter immer die gleiche und damit ebenfalls real. Sie ist also weder eine Vorstellung, noch bedingt durch irgendwelche sprachlichen Umgebungen.
Allerdings muss dann das, was tatsächlich den Bezug der Logik zur Realität unmöglich machte, auch ganz anders betrachtet werden - Wahrheit. Dass Logik dazu da sei, das Wahre vom Falschen zu scheiden, ist zwar mittlerweile mit "Wahrheitswerten" formalisiert worden, machte die Logik aber eben nicht real und im Übrigen auch die Wahrheit gewisser Aussagen nicht unbezweifelbar.
Wahrheit kann in der Inverterlogik nur als physikalischer Effekt vorkommen, der natürlich auch gedacht werden kann wie anderes Reales, das nicht unbedingt mit Händen zu greifen sein muss, Elektronen, schwarze Löcher usw...
Dennoch ist der Traum der logischen Bewahrheitung von Aussagen nicht ausgeträumt, sondern im Gegenteil klar bezogen auf Reales, physikalisch Gegebenes. Ich zeige unter 2.1.3.1. wie die Inverterlogik jedenfalls algebraische Gleichungen automatisch zu bewahrheiten gestattet, undzwar mit dummen Computern.
Aber natürlich muss ein bisschen mehr gesagt werden, um zu zeigen, dass man mit Invertern auch die ganze Logik machen kann.
Für den Leser ist diese Vorstellung insofern evident, als er diesen Text garnicht lesen könnte, wenn nicht wenigstens die lötbaren Inverter ausreichend logisch funktionieren würden. Dass auch ein als Inverter-Axiom abstrahierter Inverter nicht anders kann als schwingen, wenn Ausgang und Eingang verknüpft sind, ist allerdings erst hier zu lesen...

Ich zeige unter 2.2.1. mit einem abstrahierten Monoflop, dass Logik und damit die gesamte Mathematik (mindestens) eine physikalische Dimension der Zeit enthält und damit ein Ding von und in dieser Welt ist. Auch die physikalische Dimension der Energie muss dann drin sein, weil in dieser Welt nur wirken kann, was mindestens in der Grösse eines Planck'schen Wirkungsquantums existiert (mit den Dimensionen Zeit und Energie).
Das wird folglich willkürlich in der gewohnten Mathematik weg abstrahiert, die im Übrigen kaum anders wird.
Auf eine ganz andere Weise, aber auch sozusagen durch einen Kurzschluss, erscheint die zeitliche Dimension in einem Register, das unter 2.2.2. betrachtet wird. Dann sind es nicht beliebig kurze Zeiten, die zwischen Argument und Resultat liegen müssen, sondern beliebig lange, die als Speicherung erscheinen und ebenfalls evident in Computern vorkommen.

Diese Feststellungen angesichts einer um die zeitliche Dimension ergänzten Logik sind nicht Jux und Dollerei, sondern erlauben weit reichende Schlüsse insbesondere im Bereich der Physik, die ohne Mathematik ja nicht fassbar erscheint, sondern nur Phänomene und Effekte bietet.
Manch einem, dem Einsteins wunderbare Formel "E gleich M mal c Quadrat" als Fundament einer Sicht des Universums vertraut ist, das mit einem grossen Knall aus dem Nichts erschien, wird nicht so vertraut sein, dass er den Nutzen solchen Formelkrams für die richtige Darstellung physikalischer Sachverhalte sehr verächtlich gering schätzte. Auch andere unsterbliche Physiker hatten schwer zur ringen mit dem, was die Mathematik an Mitteln bot, um einigermassen klar und kalkulierbar zu machen, was sie aus Experimenten schliessen mussten. Bohr, Heisenberg, Schrödinger, Dirac und andere mussten insbesondere einen Dualismus Teilchen-Welle und Wahrscheinlichkeiten denken, was nicht nur Einstein nicht schmeckte, sondern auch sonstwo erbitterte philosophische Diskussionen über Sein und Nichtsein provozierte, aber angesichts experimenteller Befunde nicht zu umgehen war.
Mit Hinblick auf die Inverterlogik ist aber zu sehen, dass nicht Begriffsstutzigkeit oder Untreue zu philosophischen Maximen, sondern durch die Mathematik (also die Ausdrucksmittel) gebotene Beschränkungen ursächlich für die irritierende Zweideutigkeit sind. Mit der Inverterlogik ist das Hin und Her schlicht annihiliert, weil der Inverter diesen seltsamen "Dualismus" tatsächlich in einem Stück, also singular deshalb enthält, weil Zeit zwischen Argument und Resultat vergehen muss. Ich begründe damit unter 2.2.1.1. die Geometrie, undzwar mit einem Nebeneffekt, der wohl manchen Physiker jubeln lässt: Nicht nur die Zeit erscheint gequantelt, sondern auch der Raum, der dabei zur von der Zeit abhängigen Grösse wird, während der Raum bislang von Einstein zunächst mal nur mit Zeit in einen unauflöslichen Zusammenhang gebracht wurde, der Raumzeit.
Die Inverterlogik ist jedenfalls das mathematische Mittel, auch den Widerspruch zwischen Relativitäts- und Quantentheorie zu vermeiden, weil der im Wesentlichen durch die nicht gequantelte Geometrie zustande kommt, die Einstein benutzen musste, um Raumkrümmungen darstellen zu können. Mathematiker können sich nämlich zwischen zwei Punkten immer noch einen denken...
Das was als string-Theorie begrübelt wurde, wird mit dem Inverter, der ein schwingfähiges Gebilde ist, ganz neue und reale Gestalt bekommen können, mit Dimensionen, die auf keineswegs willkürliche Annahmen gegründet werden müssen. Die möglichen Dimensionen betrachte ich unter 2.2.1.2.1. Sie alle gehen auf nur eine zurück, die durch Teiler zu mehr als einer wird. Das für den Leser sichtbare Bild dieses Textes in zwei Dimensionen wird auf eben diese Weise im Bildschirm erzeugt...

Die auf dem Inverter-Axiom aufgebaute Logik kann irgendwelchen Spuk nicht nur zwischen Punkten, sondern insbesondere auch zwischen Zahlen nicht erscheinen lassen. Beide Elemente mathematischer Vorstellungen begründe ich zwar mit dem Inverter, nicht aber einem einzelnen. Elementar wird dabei etwas ganz was anderes, was Mathematikern ebenso wie Physikern als Ding überhaupt nicht vertraut ist - die Adresse. Eher nebenbei zeigt sich dabei auch, wie es mit der Wahrheit steht in der Logik.
Die Adresse wird dabei nicht vor allem als das verstanden, was sie Programmierern vertraut macht, sondern als die Verknüpfung von Invertern, die Ingenieuren vertraut ist. Die kennen das Ding als "wired OR". In der Inverterlogik werden daraus miteinander verknüpfte Ausgänge, wobei unübersteigbar festgestellt werden muss, dass es zweierlei verschiedene Inverter geben muss, die allerdings mit den gleichen Werten umgehen und deshalb auch mit dem gleichen Inverter-Axiom ausgedrückt werden. Auch das ist physikalisch betrachtet interessanter als logisch relevant, weil der Dualismus Materie-Antimaterie so eine logische Begründung erhält, während er bislang nur festgestellt werden konnte. Diese Analogie spricht ausserdem dafür, dass es in der Natur tatsächlich reale Inverter und Verknüpfungen gibt. Mit bekannten Elementarteilchen wird man ihn aber nicht identifizieren können. Ich spekuliere, dass er dem entspricht, was als Planck'sche Zeit (und Länge) bekannt ist - über die Maßen winzig.

Ingenieuren ist auch vertraut, dass man mit verlöteten Ausgängen von Transistoren Boole's ODER zur Transistorschaltung machen kann. Sie machen damit aber auch Adressgeber, von denen Boole keine Ahnung hatte. Die Adresse kommt in seiner Logik ebenso wenig vor wie in moderner mathematischer Logik, wo sie nur als Zerrbild in Gestalt von geordneten Mengen und Abzählreimen auftaucht.
In der Inverterlogik ist zunächst mal eine beliebige Anzahl von verknüpften Ausgängen möglich, die aber erst mit weiteren Überlegungen zur Adresse wird und zunächst mal nur eine "Kante" ist. Diesen Begriff mache ich, weil auch angesichts der banalen Verknüpfung von Ausgängen schon eigenartig mehr zu finden ist als nur ein Mittel zur Adressierung oder ODERierung. Dabei verschwindet insbesondere die Information über den Zustand an den Eingängen der verknüpften Inverter im Falle eines bestimmten Resultates, das dann als ODERierung interpretiert werden kann. Die ist also nicht ein Operator wie bei Boole oder Aristoteles, sondern ein mit Werten und Verknüpfungen begründeter Zustand in den Augen eines Betrachters, der dann nicht mehr hinter diese Verknüpfung sehen kann, wenn er nur die Werte sehen kann. Eine "Kante" ist nämlich ein Ereignishorizont, hinter dem jede Vielstelligkeit und damit jeder Sinn verschwindet. Der Wert an der Kante aber ist da und kann a posteriori(!) Bedeutung bekommen, wenn er nicht das Resultat einer ODERierung ist. Schliesst man Bedeutungsgebung für ODERierte Werte aus, sind die Unklarheiten bekannter algebraischer Negation aus der Welt geschafft. Dann ist auch Bewahrheitung möglich.

Aber auch das erlaubt weiter reichende Schlüsse, weil bei Existenz einer physikalischen Logik nicht nur kein Sinn in dieser Welt sein kann, sondern nur viel Bedeutung, die ergo nicht durch Sinnstiftung irgendwelcher Schöpfer oder erlauchter Programmierer in die Welt gerät, sondern durch das zustande kommt, was auf den Wert an der Kante trifft. Damit ist dann auch die Evolutionstheorie bestens zu begründen, die eben nicht von einer Gestalt-Entstehung mittels Lehm und Schöpferatem ausgeht, sondern einer zu veränderten Umständen passenden Bedeutungsgebung in einem Bereich, den jeder als Code akzeptiert hat, der Desoxyribonukleinsäure (DNS).
Noch ein bisschen imposanter ist allerdings, dass ODERierungen Teil der gesamten Natur sein müssen. Die sind in der in der Inverterlogik hergeleiteten Form noch nichtmal einem Mathematiker vertraut, taugen aber bestens, um den Begriff der Wahrscheinlichkeit mathematisch so zu behandeln, dass das nicht nach Geisterbeschwörung aussieht.

Mathematiker werden vor allem darüber staunen, dass Operatoren nicht aus einem anderen Kasten als die Zahlen gekramt werden müssen. Sie sind zwar gewohnt, Zahlen bzw.Elemente und Operatoren auf einen Haufen zu schmeissen, brauchen aber einen gewaltigen Aufwand an Beweisen und Sätzen, um das zu begründen oder doch wieder verschiedene Haufen zu unterscheiden.
Mathematiker kennen auch die "Unvollständigkeitssätze" von Gödel, die ihnen verbieten, von einer Theorie zu träumen, die mit ein paar wenigen oder gar nur einem Axiom die gesamte Mathematik begründet. Weil vor rund hundert Jahren Hilbert einen solchen Traum vorstellte, rechnete ihm sein Schüler Gödel vor, dass das nicht im Rahmen der durch die Axiome des Peano begründeten natürlichen Zahlen und dabei gültiger Operationen geht ("Peano-Arithmetik"="PA"). Damit gelten die Unvollständigkeitssätze auch für alles, was auf der PA aufgebaut ist. Immer werden Widersprüche und Nicht-Berechenbarkeit zu finden sein.
Für die Inverterlogik gilt das nicht, weil die nicht auf den natürlichen Zahlen aufgebaut ist. Auch die von Gödel zur Beweisführung verwendeten Mittel, die Operatoren insbesondere, sind durch das Inverter-Axiom und nichts weiter begründet und deshalb auch deutlich anders, wenn es nicht um das gewohnte Rechnen damit, sondern z.B. um "Berechenbarkeit" geht. Diese Operatoren sind jedenfalls nicht durch Zahlen repräsentierbar und wie sie zu behandeln - was als "Gödelisierung" der Ausgangspunkt der Unvollständigkeitssätze ist.
Kurz gesagt: Die sehr elegante Beweisführung von Gödel zeigt, dass die PA und Weiteres unvollständig sind, die Inverterlogik zeigt, wo (z.B. zeitliche Dimension und damit Oszillation und Speicherung) - aber natürlich ist mehr dazu zu sagen...
Ausser logischen Verknüpfungen, die viele bekannten Dinge betreffen, stelle ich im Kapitel 3. eine neue logische Verknüpfung vor, die ermöglicht, die wenigen möglichen Verknüpfungen einzelner Inverter mit einem Code zu bedingen und auf diese Weise beliebige logische Apparate als Wertemengen haben.
Die Repräsentation kommt allerdings nicht durch Gödelisierung zustande und führt auch ganz offensichtlich nicht auf Zahlen, sondern nach eigenen Regeln zu behandelnden Code, der ohne einen 'Bewirkungsgeber' bedeutungslos ist. Nur auf diese Weise ist schliesslich 'Künstliche Intelligenz'(="KI") zu haben.
Meine Idee einer 'Bewirkungsgebung' zeigt einerseits, dass alle bislang versuchten Wege zu künstlicher Intelligenz vollständig daneben sind. Die ist niemals mit Computern bekannter Machart und schon garnicht mit "höheren" Programmiersprachen zu haben. Sie ist auch nicht zu haben mit irgendwelchen Schaltungen, die angeblich menschliche Informationsverarbeitung nachahmen (z.B.'neuronale Netzwerke'). So ist nur (viel zu umständlich) programmierte Anpassung, nicht aber Lernen und Denken möglich. Andererseits zeigt meine Idee, dass künstliche Intelligenz nicht so ersehnenswert ist, wie gerne geglaubt wird. Manch einer glaubt ja, dass man so zu willigen Blechniggern kommt. Tatsächlich geht Denken nicht ohne freien Willen (wie manch einer schon weiss), sondern vor allem nicht ohne Gefühle. Die können in Maschinen niemals dem gleichen, was wir kennen. Und wenn sie dem gleichen könnten, was wir kennen, wären sie kaum weniger zu meiden. Solche Maschinen können nämlich noch weitaus unberechenbarer blöde, böse, irre und alt werden. Sie dürfen niemals das Labor verlassen!
Die hier vorgestellte Inverterlogik habe ich absichtlich fern von solchen Überlegungen vollständig deduktiv bzw. interpretierend entwickelt. Eine genaue Diskussion solcher Probleme ist deshalb nicht enthalten. Ich habe jedoch Bemerkungen und Herleitungen an Stellen geleistet, wo solche Probleme wurzeln. Ein Beispiel sei eine Menge, die sich selbst als Element enthält...unter 2.1.3.
Im Rahmen der Inverterlogik sind Zahlen nur als Bedeutungen der Werte des Inverters zu haben. Operatoren entstehen ebenso wie die Zahlen aus verknüpften Invertern und sind in ebenso beliebiger Mannigfaltigkeit wie Zahlensysteme zu haben. Zahlen werden unter 1.2.2. hergeleitet bei der Betrachtung elementarer Verknüpfungen, während Operatoren erst dann hergeleitet werden, wenn klar gemacht wurde, was Zahlen sind. Damit vermeide ich, was jedenfalls mir überhaupt nicht gefällt an der gewohnten Axiomatik in diesem Bereich.
Die Axiome des Peano begründen zwar die Menge natürlicher Zahlen, bei nahe besehen aber damit, dass es die schon gibt und dass es nur darum gehen kann, die "nächste" Zahl zu finden. Das wiederum geht nur, wenn auch die Addition schon zu haben ist, nämlich die einer 1
Eine Herleitung ausgehend von Primzahlen setzt auch noch die Division voraus, die wiederum nur möglich ist, wenn die Subtraktion schon da ist, womit auch die negativen Zahlen schon irgendwie in der Welt sein müssen. Auch die natürlichen Zahlen müssen schon vorhanden sein, bevor sie so begründet werden, weil sonst ja keine Primzahlen sein könnten.
In der Inverterlogik werden dagegen die Zahlen aus den Möglichkeiten für Werteverteilungen in auf bestimmte Weise verknüpften Invertern gemacht, die selbst nur Werte H oder L resultieren können, also nur eine Stelle in mehrstelligen Zahlen bilden können.
Auch Operatoren gehen nur mit diesen Werten H,L um und sind Verknüpfungen von Invertern, die sehr verschieden gestaltet sein können.
Weil nur Werte H,L vorkommen können, sind auch andere Interpretationen dieser Werte ebenso wie der Invertierung der Werte durch den Inverter möglich. Werden z.B. den Werten H,L das Wertepaar WAHR,FALSCH und der Invertierung der Negations-Operator zugeordnet, dann kann Boole'sche Algebra dargestellt werden.
Die Inverterlogik offenbart zwar eine Unzahl von Zahlensystemen und Operatoren, gebietet aber die Verabschiedung von einigen lieb gewordenen Vorstellungen, die sich allerdings allesamt als überflüssig erweisen oder sogar hinderlich - das insbesondere dann, wenn Kalkulationen in Computern gemacht werden sollen. Während bislang Computer in einer ganz anderen Welt als der der Zahlen und Operatoren gesehen werden, erlaubt die Inverterlogik die Herleitung des Computers allein aus dem Inverter-Axiom, macht ihn also zur mathematischen Formel ebenso wie das, was man Programm nennt, meistens jedoch nicht so meint, wie es sich in diesem Rahmen darstellt. Da geht es nämlich vor allem um Adressierung und nicht Verkäuflichkeit.
Es mag unschön sein, dass damit Patentierbarkeit für digitale Schaltungen und erst recht Programmcode (mindestens nach deutschem Patentrecht) ausgeschlossen wird. Gewonnen werden aber neben tieferer Einsicht in das, was bisher Pfiffigkeit und Zufall überlassen blieb, auch Vereinfachungen von Gerät und Code mittels Kürzungsregeln, die hier ohne Lizenzgebühren zu haben sind. Schliesslich kann die Konstruktion digitaler Schaltungen erheblich vereinfacht werden ( was ja mal mein Ausgangspunkt war).

Damit habe ich skizziert, was die Bedeutung des folgenden Textes ist. Die Einzelheiten der Herleitung muss man aber dort finden.
Auf einer weiteren Seite veröffentliche ich Konsequenzen der Inverterlogik, die hier nur skizziert sind, mit genauer Diskussion der jeweiligen Gegenstände:

  • Notizen zur Inverterlogik
    Zu Druckrecht usw. ist noch zu sagen:
    Dieser Text ist das geistige Eigentum von mir, Rainer Cornelius Friz.
    Alle Rechte der Verbreitung, Speicherung auf beliebigen Datenträgern (also auch Papier) sowie der Übersetzung behalte ich mir vor. Es gilt also nicht die GPL !
    Da ich an Verbreitung und Übersetzungen natürlich interessiert bin, geht es nur um meine ausdrückliche Erlaubnis und um eine Beteiligung an Gewinnen, die mit meinen Geistesfrüchten eventuell gemacht werden sollen. Die Verbreitung der Internetadresse, die zur freien Lesbarkeit dieses Textes führt, ist natürlich völlig dem Belieben eines Lesers überlassen. Der darf auch für den persönlichen Gebrauch Kopien auf beliebigen Datenträgern anfertigen, damit aber weder Handel treiben, noch meinen Text ändern, noch ihn gar als sein geistiges Eigentum ausgeben.
    Ich wünsche mir auch, dass nicht zitiert wird ohne link auf www.rcfriz.de und dass ich erfahre, wenn jemand weiter führende Überlegungen veröffentlicht, zu denen ich gerne einen link anbieten würde. Überarbeitungen und Ergänzungen des Textes behalte ich mir vor.
    Um neueste Versionen zu kennzeichnen, veröffentliche ich mit dem Datum der letzten Überarbeitung.
    Tag der Erstveröffentlichung ist:1.6.2009
    Tag der Erstveröffentlichung von Kapitel 3. ist:20.6.2010
    Wer sich für die praktische Anwendung der Inverterlogik auf realen Maschinen interessiert, wird nicht nur einen Computer benötigen, sondern auch ein Betriebssystem und eine Programmiersprache, die ihm erlauben, Abläufe möglichst ohne besondere Abstraktionen und Übersetzungsprobleme zu programmieren. Dabei kann ich helfen mit dem Betriebssystem ASMOS und darunter verfügbarem Assembler-Übersetzungsprogramm, das auf jedem AT-PC installierbar ist, der kein Laptop ist. Die Programme sind ohne Kosten von meiner Homepage herunterzuladen. In den Quellen findet sich (geschützt vor hassenswerten spam-Versendern) meine email-Adresse. Hier gebe ich sie nur verklausuliert an: "asmos" ist die mailbox-Adresse, die mittels at-Zeichen von der folgenden domain-Adresse "rcfriz.de" getrennt ist.
    Meine mailbox kann auch nutzen, wer mit mir Inhalte diskutieren will.
    (bitte keine HTML-formatierte email, die ich unbesehen lösche!)
  • Hauptseite von www.rcfriz.de


    INVERTERLOGIK

    EINLEITUNG: Die Inverterlogik ist die Herleitung aller Logik aus einem einzigen Axiom. Ich will mich bei meiner Abhandlung einer Sprache bedienen, die keine Unklarheiten zulässt und mit jedem wichtigen Wort ein erklärtes Ding des Denkens benutzt. Ich will ausserdem stets durch verschiedene Worte auseinanderhalten, was Eigenschaften der Inverterlogik betrifft und was Willkür des Betrachters bei Interpretation oder Namensgebung ist. Zunächst erkläre ich die Verwendung einiger Worte, mit denen ich den Text gliedere: 'AUSDRUCK' ist eine beliebige Folge von beliebigen Zeichen, die ich mit der Absicht wähle, einen Gegenstand meines Denkens, den ich zuvor mit sehr viel mehr und anderen Zeichen dargestellt habe, knapp und unverwechselbar und eindeutig beim weiteren Gebrauch vorzustellen. Will ich einen Ausdruck als solchen abhandeln, werde ich ihn zwischen Hochkommata '...' stellen. 'BEGRIFF' ist ein Ausdruck, der insofern weiter entwickelt ist, als er mehrere Ausdrücke und zwischen ihnen konstruierte Bezüge ausdrückt. Ich verwende das Wort zwar wie das Wort 'Definition', habe aber weniger die Abgrenzung gegen etwas, was womöglich erst noch zu erklärender Begriff ist, im Sinn, als vielmehr die Begreifbarkeit, die durch Anspielen von Sprachgebrauch, Denkgewohnheiten und sinnlichen Erfahrungen jener zustande kommt, denen ich zu begreifen gebe. 'ERGO' kennzeichnet eine Schlussfolgerung aus voranstehender Betrachtung. Allerdings werde ich nur solche Schlussfolgerungen auf diese Weise hervorheben, die zu einer Bildung von Ausdrücken, Begriffen oder Regeln überleiten. 'REGEL' ist nicht eine Beschreibung von Vorgehensweise bzw. Spielregel, wird also nicht vom Betrachter gegeben, sondern durch einen einer kritischen Betrachtung ausgesetzten Zusammenhang gezeigt und vom Betrachter ausgedrückt. Ich benutze den Ausdruck 'Regel' also im Sinne von Regelhaftigkeit bzw. dem gewohnten mathematischen Gebrauch von 'Gesetz' oder 'Satz'. 'ERLÄUTERUNG' ist eine kritische Betrachtung voranstehender Begriffsbildungen und Regeln. Sie werden dabei in einen weiteren Zusammenhang gestellt oder Gewohntem gegenüber gestellt, falls das erhellend ist. 1. INVERTER-AXIOM Das Inverter-Axiom besagt: Der Inverter hat einen Eingang und einen Ausgang, die sich immer in einem von zwei Zuständen, die H und L seien, befinden. Der Zustand H am Eingang bewirkt den anderen Zustand L am Ausgang des einzelnen Inverters. Der Zustand L am Eingang bewirkt den anderen Zustand H am Ausgang des einzelnen Inverters. Die Zustände H und L sind die Werte des Inverters. Die Bewirkung von Werten ist nur vom Eingang zum Ausgang möglich, nicht aber umgekehrt. Sowohl Ein- wie Ausgang eines Inverters können mit weiteren Ein- oder Ausgängen verknüpft werden. Die Verknüpfung ist, dass dort nur ein Wert herrscht. ERLÄUTERUNG: Weil nicht wenig Worte nötig sind, das Inverter-Axiom auszudrücken, mag es nicht elementar erscheinen. Dieser Eindruck verschwindet, wenn man sich klar macht, was eigentlich definiert wird. Es wird nämlich ein Zusammenhang gegeben, der dem zwischen den beiden Enden einer Wippe oder eines Hebels im Raum entspricht, jedoch mit dem wichtigen Unterschied der Asymetrie zwischen den Enden, die zu Eingang und Ausgang werden, und nur zwei möglichen Zuständen dieser Stellen. Der euklidische Raum, in dem eine Wippe existiert, wird elementar zu zwei Stellen eines Dings mit zwei Zuständen. Die zwei Stellen dieses Dings schliesslich entscheiden, welcher Zustand ein ursächlicher ist, womit sich die Definition von einem Operator und einem Gleichheitszeichen erübrigt. Das gewohnte Gleichheitszeichen zwischen dem bedingenden und dem bedingten Teil einer Funktion wird elementar zur Bewirkung, die aber eben nicht ein Operator ist, sondern eine Eigenheit des Inverters in den Augen des Betrachters. Eine etwas näher liegende Entsprechung findet man im Transistor in Emitterschaltung, der eher als die Wippe taugt, jede Feststellung und Aussage, die im weiteren gemacht wird, nachzuprüfen. Von diesem elektronischen Analogon habe ich den Namen 'Inverter' übernommen. Auch wenn ich noch häufig Bezüge zu bekannten Transistorschaltungen in Digitalelektronik herstelle und aus der Digitalelektronik Ausdrücke übernehme, will ich nicht nur jenes Gebiet begrifflich ordnen und aus der Inverterlogik auf die Schaltalgebra und schliesslich Algebra hinaus führen. Ich werde darüber hinaus Arithmetik und Geometrie allein aus dem Inverter-Axiom herleiten. Der wichtigste, erste Schritt auf diesem Wege ist die mit dem Inverter-Axiom gegebene Abstraktion und die Entschiedenheit, mehr zu leisten als neue Ausdrücke für längst bekannte Dinge, denn die bleiben wie sie sind. Allerdings werde ich vielen bekannten Ausdrücken anderen Inhalt geben. So wird z.B. im weiteren gleich klar gemacht, dass der bekannte Operator 'Invertierung' bzw.'inverses Element' jedenfalls nicht das Gleiche sein kann wie die Bewirkung des Inverters. Dreht und wendet man im Geiste das Inverter-Axiom, stellt man fest, dass gewohnte Begriffe und Definitionen sich hier in einer elementaren Gestalt auflösen, die völlig apart aussieht. Anders aber könnte das Inverter-Axiom auch garnicht Ursprung sein von Funktionen, Operationen, Dimensionen, Kategorien, Attributen, Kriterien und sonstigen Gebilden unseres Denkens. 1.1. ELEMENTARE VERKNÜPFUNGEN 1.1.1. SERIEN Der Ausdruck der 'Bewirkung' diente schon als Synonym für den üblichen Ausdruck 'Übertragungsfunktion'. Da dieser übliche Ausdruck aber schon in sehr bestimmter Weise in Gebrauch ist, soll 'Bewirkung' der Begriff sein, der die Übertragungsfunktion einzelner oder verknüpfter Inverter meint, die nach dem Inverter-Axiom als diskontinuierlich gegeben ist. Der Ausdruck 'Bewirkung' wird also im weiteren immer für das verwendet, was Inverter einzeln oder verknüpft mit Eingangswerten tun. Es müssen zunächst noch weitere Ausdrücke als Instrumente der folgenden Betrachtung gebildet werden: AUSDRUCK: 'logisch' Verknüpfungen von Invertern und ihre Werte sind logisch. Der Ausdruck dient der Unterscheidung von Dingen, die so darstellbar sind, von Dingen, die ich so nicht darstellen kann. AUSDRUCK: 'Beziehung' Verknüpfte Inverter beliebiger Anzahl bilden eine Beziehung. Eine Beziehung hat beliebig viele Eingänge und Ausgänge. AUSDRUCK: 'Invertierung' Jede Verknüpfung zweier Stellen, bei der mit dem einen Wert des Inverters der andere bewirkt wird, ist eine Invertierung, kann aber nur dann durch einen einzelnen Inverter ersetzt werden, wenn zwischen Eingang und Ausgang der Invertierung keine weiteren Eingänge oder Ausgänge verknüpft werden. AUSDRUCK: 'Serie' Eine Beziehung von Invertern, deren jeweiliger Ausgang nur mit jeweils einem Eingang verknüpft ist, ist eine Serie. AUSDRUCK: 'gerade Serie' Eine Serie von zwei Invertern und einem Vielfachen davon ist eine gerade Serie. AUSDRUCK: 'ungerade Serie' Die ungerade Serie ist eine gerade Serie mit einem in Serie liegenden weiteren Inverter. Sie bewirkt eine Invertierung. AUSDRUCK: 'Verzweigung' Ist der Ausgang eines Inverters mit mehr als einem Eingang verknüpft, ist eine Verzweigung gegeben. AUSDRUCK: 'Parallele' Nach einer Verzweigung verknüpfte Inverter liegen auf Parallelen, die in der Darstellung übereinander liegen. AUSDRUCK: 'Ursprung' Der Wert L an allen Eingängen einer Beziehung ist ein Ursprung. AUSDRUCK: 'Argument' Werte H oder L , die an den Eingängen einer Beziehung liegen, sind das Argument. AUSDRUCK: 'Resultat' Werte H oder L , die an den Ausgängen einer Beziehung erscheinen, sind das Resultat. AUSDRUCK: 'Besetzung' Die durch ein Argument bewirkte Verteilung von Werten auf die Verknüpfungen in einer Beziehung ist die Besetzung zu der auch das Resultat gehört. Die Vorstellung irgendeiner Verknüpfung vieler Inverter lässt uns sofort feststellen, dass es mehr Stellen, an denen Werte auftreten, als Werte gibt. Weil nur an diesen Stellen Argumente und Resultate logischer Verknüpfungen auftreten können, sind weitere Ausdrücke und Begriffe nötig, die die Betrachtung verknüpfter Inverter und Besetzungen diskutierbar machen: BEGRIFF: 'Stelle' An einer Stelle befindet sich stets ein Eingang oder Ausgang und damit auch ein Wert, der Gegenstand der Betrachtung sein soll. Die Stellen werden mittels beliebiger, zweckdienlicher Namensgebung unterschieden. Die Wahl der Stellen und die Namensgebung dienen der Betrachtung. AUSDRUCK: 'Abgriff' Das Vorgehen, das die Werte des Inverters aus den gerade interessierenden Stellen in die Welt des Betrachters und das System seiner Namensgebung überträgt, sei ein Abgriff - eine hypothetische Verzweigung. AUSDRUCK:'Tiefe' Stellen, die verknüpfte Inverter bezeichnen, bilden die Tiefe der betrachteten Beziehung. Das Mass der Tiefe ist die Zahl der verknüpften Inverter auf der Parallele, die die meisten Inverter enthält. Die Tiefe wird in Richtung der Ausgänge tiefer, in Richtung der Eingänge flacher. AUSDRUCK: 'Breite' Die Anzahl der parallel liegenden Verknüpfungen, Ein- oder Ausgänge werden als Breite einer Beziehung bezeichnet. AUSDRUCK: 'Eingangsbreite' Die 'Eingangsbreite' ist die Breite an der flachsten Stelle der betrachteten Beziehung. AUSDRUCK: 'Ausgangsbreite' Die Ausgangsbreite ist die Breite an der tiefsten Stelle der betrachteten Beziehung. AUSDRUCK: 'Feld' Breite und Tiefe bilden zusammen ein Feld. AUSDRUCK: 'Leitung' Eine Stelle, die in der symbolischen Darstellung neben mehreren anderen liegen soll, ist eine Leitung, die mit einem Strich symbolisiert wird. Eine Leitung ist immer nur eine Stelle. Leitungen braucht nur ein Betrachter. Sie sind nicht Teil des Inverter-Axioms. AUSDRUCK: 'Spalte' Spalten existieren nur in einer symbolischen Darstellung als vertikale Anordnung von Zeichen. AUSDRUCK: Um Darlegungen und Beweise knapper und sinnfälliger zu gestalten, werden für diese Schriftform hier folgende Symbole als Ausdrücke eingeführt: Inverter, Eingang links sei '>' Verknüpfungen seien 'o','-' und '|' ('o' für Verzweigungen, Linien dazwischen) Mit 'X' werden Stellen gekennzeichnet, in denen senkrechte und waagerechte Leitungen unverknüpft kreuzen. Die Symbole 'H' und 'L' für die Werte des Inverters werden auch als Wertgeber oder Resultat mit Invertern verknüpft. Wir kommen nun zu ersten Feststellungen von Regeln: Bei einer geraden Serie bewirkt ein Wert am Eingang des ersten Inverters am Ausgang des letzten stets den gleichen Wert. REGEL: 'erste Kürzungsregel' Eine gerade Serie kann gekürzt werden, indem sie aus der Betrachtung entfällt. Durch Kürzung entfallene Inverter können offenbar auch wieder eingesetzt werden. Wo immer ein Wert H oder L vorkommt, kommt offenbar eine beliebige gerade Serie vor, von der man aber aus praktischen Gründen absehen kann. REGEL:'erste Erweiterungsregel' In jede Verknüpfung von Ausgängen mit Eingängen kann eine beliebige gerade Serie gesehen werden. 1.2. KANTEN Wenn die Ausgänge von zwei Invertern verknüpft sind, darf nach dem Inverter-Axiom auch dann nur ein einziger Wert herrschen, wenn an beiden Eingängen verschiedene Werte liegen. ERGO: ...muss bei einer Verknüpfung von Inverterausgängen ein Wert über den anderen triumphieren und ist nicht nur vom Wert am Eingang bewirkt. Das Inverter-Axiom sagt nichts über einen triumphierenden Wert. Also sind zwei Arten Inverter in der Welt: Bei den einen bewirken H am Eingang unbedingt L am Ausgang, aber nur bedingt durch verknüpfte Ausgänge H am Ausgang bei L am Eingang. Bei den anderen ist es genau umgekehrt. Beide Arten von Invertern dürfen offenbar nicht mit ihren Ausgängen verknüpft werden, weil der Wert sonst unbestimmbar ist, die Verknüpfung nicht dem Inverter-Axiom gehorcht. Es gilt also folgende Regel: REGEL: 'Ausgangsregel' Bei Verknüpfung von Ausgängen triumphiert ein Wert über den anderen. Zweierlei Arten von Invertern existieren, deren Ausgänge nicht verknüpft werden dürfen. Weil die Benennung dieser beiden Arten beliebig ist, lege ich für die weitere Betrachtung fest: BEGRIFFSERWEITERUNG: 'Inverter' Bei Invertern triumphiert an mit Ausgängen verknüpften Ausgängen L über H BEGRIFF: 'Anti-Inverter' Bei Anti-Invertern triumphiert an mit Ausgängen verknüpften Ausgängen H über L AUSDRUCK: Das Symbol für den Anti-Inverter, Eingang links, sei hier: ')' Auch die Ausdrucksweise für eine Verknüpfung an einer Kante muss noch festgelegt werden. AUSDRUCKSERWEITERUNG: Untereinander, unmittelbar hinter einem '>' stehende Zeichen 'O' für eine Verknüpfung zweier Leitungen sind Kantenausgänge. Davon zu unterscheiden sind also Verknüpfungen mit 'o', die eine Verzweigung kennzeichnen. Verknüpfungen von Anti-Invertern bilden eine 'Anti-Logik', die nicht näher betrachtet wird, weil sie nicht wesentlich anders ist. Deshalb wird auch etwas willkürlich der im Inverter-Axiom definierte Begriff des Inverters sozusagen halbiert. Weil keine 'Anti-Werte' vorhanden sind, kann die eine Logik sehr wohl Argumente für die andere Logik bilden. Die Unvereinbarkeit bezieht sich ausschliesslich auf die Verknüpfung von Ausgängen. Völlig analog kann diese Regel bei NPN-Transistoren für Inverter und PNP-Transistoren für Anti-Inverter gefunden werden. Betrachten wir die einfachste aller Beziehungen mit verknüpften Ausgängen mit den vier möglichen Besetzungen: L-->O-H L-->O-L H-->O-L H-->O-L L-->O H-->O L-->O H-->O Nur, wenn L an allen Eingängen liegt, resultiert die Beziehung H. Ein einziges H oder mehr davon an den Eingängen bewirkt das Resultat L . Es gibt also nur ein einziges Argument, das diese Beziehung zu H resultiert. Alle anderen Argumente werden zu L resultiert. Offenbar wird das nicht anders, wenn beliebige Unzahlen von Invertern mit ihren Ausgängen verknüpft sind. BEGRIFFE: 'Kante','ungerade Kanteneingänge','gerade Kanteneingänge' Die Verknüpfung von minimal zwei Inverterausgängen sei ausgedrückt: Inverter liegen an einer Kante. Ungerade Serien an einer Kante liegender Inverter sind die ungeraden Kanteneingänge, während gerade Serien gerade Kanteneingänge sind. Den Wertkombinationen für die zwei möglichen Resultate wird nun zugeordnet, was UND und was ODER in der Inverterlogik sind. BEGRIFF: 'UND','UNDieren' Der Wert H an einer Kante, der nur bei einem der möglichen Argumente erscheint, ist Resultat einer UNDierung und bedeutet UND. BEGRIFF: 'ODER','ODERieren' Der Wert L an einer Kante, der bei allen Argumenten ausser einem erscheint, ist Resultat einer ODERierung und bedeutet ODER. Jede Kante, an der nur Inverter liegen, UNDiert also den Wert L an allen Eingängen zu H, und sie ODERiert den Wert H an einem oder mehreren, beliebigen Eingängen zu L. Jede Kante, an der nur Anti-Inverter liegen, UNDiert dagegen den Wert H an allen Eingängen zu L, und sie ODERiert den Wert L an einem oder mehreren, beliebigen Eingängen zu H. REGEL: 'Kantenregel' Jede Kante UNDiert zu H , aber ODERiert zu L. Das ist also unabhängig davon, ob gerade oder ungerade Kanteneingänge gegeben sind. Eine Kante, an der nur Anti-Inverter liegen, bewirkt dies ebenfalls, wenn mit allen Eingängen und dem Ausgang ein weiterer Inverter oder Anti-Inverter verknüpft ist. Es ist deshalb belanglos, eine Anti-Kantenregel zu bilden. Folgende Kanten sind bezüglich der Bewirkung völlig identisch: L-->O--H L-))O)-H L-->O L-))O Wenn eine Kante mit beliebig vielen Eingängen angenommen wird, stellt sich die Frage, ob man diese Beziehung auch abändern kann, ohne dass sie ihre Eigenschaft verliert. Dann nämlich ergäbe sich eine Erweiterungsregel, die wie oben bereits durchgespielt, zu einer Kürzungsregel überleiten kann. Wir stellen leicht fest, dass nur gerade Serien den Wert aus einer Kante unverändert resultieren. Wir stellen ebenfalls leicht fest, dass auch gerade Kanteneingänge den Wert aus zwei Kanten resultieren, als wenn die verknüpften Ausgänge in einer Kante verknüpft wären. Wir sehen also, dass die links im Bild stehende Kante nicht anders resultiert als die rechts im Bild stehenden Kanten: ----->O ----->->---->O ----->O>---->O ----->O ----->O ----->->---->O ----->O>---->O ----->O--->->O | | | | ----->O ----->->---->O ----->O>---->O ----->O--->->O ----->O ----->->---->O ----->O>---->O ----->O Die Darstellung verdeutlicht, dass der Beweis mit der ersten Erweiterungs- und der ersten Kürzungsregel erbracht wird. REGEL: 'zweite Erweiterungsregel' In jeder Kante kann eine Verknüpfung von Ausgängen durch eine Kante mit geraden Eingängen ersetzt werden. Das Resultat der verknüpften Kanten erscheint dann an dieser nächsten Kante. Ohne viel Aufhebens, aber mit weitreichenden Folgen wird weiter festgestellt: REGEL: 'zweite Kürzungsregel' Kanten mit geraden Eingängen können gekürzt werden, indem die an den Eingängen liegenden Ausgänge miteinander an einer Kante verknüpft werden und die Kanten mit geraden Eingängen entfallen. Abschliessend bilden wir den BEGRIFF: 'elementare Verknüpfungen' Diejenigen Verknüpfungen seien elementar genannt, die maximal eine Kante enthalten. Elementare Verknüpfungen sind also Serien und Kanten. ERLÄUTERUNG: In diesem Kapitel wurden die Grundlagen der Inverterlogik entwickelt. Die weiteren Entwicklungen erfolgen in zwei Richtungen: 1. Entwicklung und Diskussion der Beziehungen 2. Theorie der Muster, Zahlen, Operationen und Bedeutungen Diese Richtungen werden nur unterschieden, um gewohnter Denkweise gerecht zu werden. In der Inverterlogik ist aber tatsächlich alles ein Gebiet. Die 2.Richtung der Erweiterung geht aus von Möglichkeiten für Besetzungen, die im folgenden Kapitel abgehandelt werden. Ich werde so auf die bekannten Gebiete der Mathematik hinausführen. Die 1.Richtung der Erweiterung geht aus von Kanten, mit deren Beschreibung ein Gebiet betreten wurde, das als Boole'sche Algebra und Schaltalgebra bekannt ist. Den Bezug zum Bekannten stelle ich jetzt her. Ich stelle zunächst Boole'sche Operatoren vor - nicht in ihrer Form als Wertetabellen, sondern der oben gewählten Inverter-Symbolik: "UND" "ODER" "NICHT-UND" "NICHT-ODER" "NICHT" ---->>O-- --->O>- ---->>O>- --->O-- -->- ---->>O --->O ---->>O --->O Bei der Benennung der Verknüpfung ist der von Boole eingeführte Bezug von Eingangswerten auf den Namen befolgt worden. Dabei wird dem oben eingeführten Wert H der Ausdruck 'wahr' gleichgestellt und die Operation nach Sprachgebrauch benannt (z.B.: Das Resultat von "UND" ist 'wahr', wenn an beiden Eingängen der Wert 'wahr' ist ). Diese Benennung hat nichts mit den Begriffen UND und ODER zu tun, die in der Inverter-Logik gelten. Das DeMorgan'sche Theorem: NICHT (A ODER B)=(NICHT A) UND (NICHT B) beweist die Aussage, dass die Boole'schen Operatoren UND und NICHT fundamental seien und alle Logik daraus hervorgehe. Dieses Theorem zeigt sich in der Inverterlogik so: Werden mit beiden Eingängen und dem Ausgang des ODER Inverter verknüpft, ist die Funktion das UND (wenn man die erste Kürzungsregel anwendet). In der Inverterlogik ist nur eine besondere Art NICHT, nämlich die Bewirkung des Inverters fundamental. Die Bewirkung des Inverters ist aber wirklich elementar, während es die Invertierung schon nicht mehr ist und das algebraische NICHT schon garnicht. Darauf gehe ich unter 2.1.2. weiter ein. Die Inverterlogik macht augenfällig, dass das Boole'sche NICHT-ODER (=NOR) mit zwei Eingängen die einfachste Verknüpfung ist. Die anderen Boole'schen 'Operatoren' sind durch weitere Inverter an Ein- oder Ausgängen daraus ableitbar. Während das Boole'sche "UND" seine Wurzel im Sprachgebrauch hat und als 'Operator' mit einer Wertetabelle axiomatisch definiert wurde, die die ominösen Werte 'wahr' und 'falsch' enthält, ergibt sich in der Inverterlogik das UND als ein Resultatwert von zwei möglichen an einer Kante und wird mehr nebenbei auf dem Wege zur Widerspruchsfreiheit in der zweiten Kürzungsregel als ein dem Sprachgebrauch entsprechender Begriff gewonnen. Es wird also nicht kunstvoll ein Operator erzeugt, sondern eine Beziehung gebildet, ihre Eigenschaft festgestellt und benannt. Dabei wird völlig klar, dass UND garkein Operator ist, sondern eine Besetzung von Kanten, die allen anderen möglichen gegenüber steht, eindeutig gekennzeichnet durch den Resultatwert. Nur dieser Resultatwert ist logisch, wird nur durch die Werte des Inverters H,L bewirkt, und kann Bedeutung erlangen in einer folgenden Beziehung, die von UNDierung und ODERierung nichts mitkriegt. Eine Kante ist somit ein 'Ereignishorizont', hinter dem vielstellige Argumente verschwinden und damit jeder "Sinn" dieser Argumente, sofern sie ODERiert zur Bedeutung gelangen. Wie bekannt, ist die hier kurz gestreifte Boole'sche Algebra die theoretische Grundlage aller Computertechnik. Dazu kam allerdings vieles, was einfach nur praktisch war und Diesem oder Jenem einfiel. Beispielsweise sind Datenbusse in ihrer logischen Gestalt Kanten, werden aber aus Gründen schnellerer Umladung von parasitären Kapazitäten der Leitungen gegenüber Masse meist nicht oderiert angesteuert. Vielmehr werden die verknüpften Ausgänge lahm gelegt, indem ihr Ausgangswiderstand hochohmig geschaltet wird. Es wird also eine Beziehung nicht durch logische Verknüpfungen, sondern elektronische Massnahmen abgeändert. Sowas nenne ich dann 'nicht logisch', weil ich es hier nicht darstellen kann. Die Diskussion solcher Dinge berührt also nicht nur die Logik, sondern auch die Physik. Die in der 2.Richtung liegenden Beziehungen dagegen sind als Transistorschaltung nutzlos, dienen aber sehr gut mathematischer Betrachtung. Der erste Schritt in diese Richtung wird im nächsten Kapitel getan. 1.2. MÖGLICHKEITEN Es sei nun die Absicht als Ausgang weiterer Betrachtung genommen, durch Spielerei mit dem bisschen, das bislang zum Spielzeug gemacht wurde, mehr zu gewinnen und vor allem etwas, was uns als Einsicht vorkommt. Ich werde von irgendeinem Getue und Geschmack bei der Bewertung des Getues ausgehen und mit passenden Begriffen für dieses Treiben, die ich der Umgangssprache entnehme. BEGRIFF:'Menge' Unter Menge werden Teile verstanden, die in einer Hinsicht vom Rest der Welt unterschieden, in einer anderen Hinsicht aber als zusammengehörig verstanden werden sollen. Solche Mengen sind also beliebig gebildete Haufen, die nur vom Betrachter aus gesehen etwas Bestimmtes sind. Erlangt irgendeine Menge Bedeutung in nachgeschalteter Beziehung, wird ein neuer Ausdruck geschaffen. BEGRIFF:'Möglichkeit' ...ist der Teil der Wirklichkeit, der nicht sein muss, aber sein kann. Jede Möglichkeit ist eine von anderen Möglichkeiten unterscheidbare. Das ist die gewohnte Verwendung des Begriffes, die im weiteren in zwei unterscheidbare Arten aufgeteilt wird, und mit Bezug zur Inverterlogik. Dabei werde ich zeigen, auf welche Weise dieser Begriff logisch wird. Ich fange an mit Serien: Ich zeige zwei Serien übereinander, deren Verknüpfung nicht gegeben ist, und wo die Eingangswerte über den Invertern gezeigt werden: 1. 2. 3. 4. L H L H L H L H H L H L H L H L --->->->-> --->->->-> --->->->-> --->->->-> L H L H H L H L L H L H H L H L --->->->-> --->->->-> --->->->-> --->->->-> Wir betrachten Ausschnitte von vier Invertern, wobei je zwei in einer Zeile als erste und zweite liegen: Wir stellen fest, dass die 1.Besetzung zur 4.Besetzung wird, wenn wir bei beiden Stellen der Breite eine Stelle tiefer gehen und nicht mehr als unsere willkürlich gewählte Bezeichnung der 1.Stelle der Tiefe ändern. Ebenso gehen die 2.Besetzung und die 3.Besetzung in die anderen über, wenn wir entsprechend nur bei einer Stelle der Breite verfahren. Wir erleben also bei Getue und Betrachten das, was wir als Möglichkeiten bei der Besetzung durch Änderung der Argumente getan haben, als Bewegen unseres Hinblicks auf Stellen oder Bewegen von Stellen in der Darstellung. Wir haben damit zweierlei Möglichkeiten für einen Betrachter gefunden, alle möglichen Besetzungen durchzuspielen. Die Möglichkeiten der Betrachtung übersetze ich nun in eine Beziehung mit zwei Parallelen, einem Feld, das aus einem Ursprung bewirkt wird. 1. 2. 3. 4. L H L H L H L H L L H L L L H L o-->->->-> o-->->->-> -o--->->-> -o--->->-> | L H L H | L L H L | L H L H | L L H L o-->->->-> o---->->-> -o->->->-> -o--->->-> Entweder werden beide Parallelen invertiert, oder die eine, oder die andere. Das ist also das gleiche wie das kombinatorische Durchspielen des Argumentes. Ich konstruiere nun ein abgeändertes Feld, in dem die Invertierung fortlaufendes Prinzip ist. Links im Bild ist der nötige Baustein dieser Konstruktion, rechts davon eine Serie von zwei und schliesslich vier solchen Bausteinen. L H L H L H L H L H L H L H o->->- o->->->->-- o->->->->->->->->-- | L L | L L H H | L L H H L L H H o--->- o--->--->-- o--->--->--->--->-- Offenbar ändern sich die Werte in den Spalten periodisch und durchlaufen dabei alle Möglichkeiten der Besetzung. Auch wenn die Parallelen vertauscht werden, werden alle Möglichkeiten durchlaufen. Dasselbe nun mit vier Parallelen: L H L H L H L H L H L H L H L H L o->->->->->->->->->->->->->->->->->- | L L H H L L H H L L H H L L H H L o--->--->--->--->--->--->--->--->--- | L L L L H H H H L L L L H H H H L o------->------->------->------->--- | L L L L L L L L H H H H H H H H L o--------------->--------------->--- Auch bei dieser Anordnung werden alle Möglichkeiten durchlaufen, auch wenn die Parallelen vertauscht werden. Nur die Abfolge der Wertkombinationen in den Spalten ändert sich dann. Auch für die Zahl der Abfolgen gibt es eine bestimmte Anzahl von Möglichkeiten, die ebenfalls mit der Zahl der Parallelen zunimmt. Zunächst stelle ich fest: Mit der Verknüpfung der Parallelen mit dem Ursprung habe ich aus einer Darstellung eine logische Beziehung gemacht. Da in den Spalten auch Verzweigungen eingesetzt werden können, kann das, was erstmal durch Kunstgriffe des Betrachters gewonnen wurde, auch logisch bewirken und Argument einer Beziehung sein. Damit ist schon bewiesen, dass alles, was aus guten Gründen zunächst dem Betrachter und seinem Eigenwillen zugeordnet wurde, eine Eigenschaft der Beziehung ist. Nun wird die Anordnung der Werte in Stellen von Spalten zu etwas, was zu unterscheiden ist von anderen Besetzungen: AUSDRUCK: 'dat', 'dats' ...bezeichnet eine mehrstellige Verteilung von Werten H,L. Ist die Anzahl der Stellen wichtig, dann wird eine Dezimalziffer als Präfix verwendet. Andernfalls hat ein dat beliebig viele Stellen. Plural von dat sind dats. ERLÄUTERUNG: Damit ersetze ich sehr willkürlich ausgegrenzte Ausdrücke wie 'Byte', 'Word' usw. und formuliere den gebräuchlichen Ausdruck 'bit' als '1dat'. Acht Werte H,L in einer bestimmten Abfolge sind also ein bestimmtes 8dat. Die Richtung der Abfolge ist dabei eindeutig. Die 4dats HHHL und LHHH sind nicht gleich. Weitere Relationen sollen aber nicht Teil des Ausdrucks sein und anders benannt werden. Das übliche bit wird stattdessen immer mit den Werten H,L ausgedrückt, weil die ja tatsächlich noch Eigenschaften über die Einstelligkeit hinaus haben können. 1.2.1. ADRESSEN Nun werde ich Verzweigungen von den Paralellen einrichten und das ganz besonders banal: Ich verknüpfe alle Stellen in jeder Spalte mit den ungeraden Eingängen einer Kante je Spalte. Nur eine dieser gleichen Kanten resultiert H. Diese Kante UNDiert den Ursprung. Schon nicht mehr so banal ist, dass die Vorschaltung von Invertern vor jeweils an einer Parallele liegenden Eingängen nichts daran ändert, dass wiederum nur eine einzige Kante H resultiert. Diese verzweigt aber nicht am Ursprung. Man stellt auch fest, dass für jede Möglichkeit der Werte in einer Spalte genau eine bestimmte Kante UNDiert, dass also die Menge der Möglichkeiten für Werte in Spalten genau der Menge entspricht, UNDierende Kanten bilden zu können. Damit wir Kanten auch dann unterscheiden können, wenn bedeutsam wird, von welchem Ausgang mit geradem oder ungeradem Eingang verzweigt wird, muss ich einen weiteren Begriff bilden, der solche besonderen Kanten betrifft. BEGRIFF: 'Adresse' ist der Wert H am Ausgang einer bestimmten Kante, die mit bestimmten Eingängen von Ausgängen mit ganz bestimmter Besetzung verzweigt. Einer bestimmten Adresse entspricht ein bestimmtes dat, dem Wert einer Adresse. ERLÄUTERUNG: Ich habe hier den Bezug zu einer bestimmten Beziehung verlassen, aus der die Adresse verzweigt, weil es allein die geraden oder ungeraden Eingänge und die dort anliegenden Werte sind, die die Adresse kennzeichnen. Damit habe ich etwas herausgestellt, was tatsächlich nur durch Inverter, ihre Verknüpfung und ihre Werte dargestellt werden kann. Es ist also logisch. So wie ich triumphierende Werte an Kanten feststellen musste, um die Bewirkung der verknüpften Ausgänge logisch sein zu lassen, stelle ich nun den Wert H als denjenigen Resultatwert einer Kante fest, der erlaubt, verschiedene Kanten, die aus denselben Stellen verzweigen, als logische Entsprechung von Möglichkeiten der Werteverteilung in diesen Stellen zu betrachten. Eine Adresse ist also sowohl durch eine bestimmte Werteverteilung von H,L an den Eingängen gekennzeichnet, wie durch die Beziehung selbst. Beides wird im weiteren mit dem gleichen Begriff abgehandelt, wenn es um die dats geht, die zu H resultiert werden. Diese dats bezeichne ich alternativ auch als 'Wert einer Adresse', falls sie von der Beziehung zu unterscheiden sind. Mit dem Begriff der Adresse kann ich nun auf die Regel kommen, die sich zunächst nur deshalb ergab, weil wir angesichts einer Tabelle mit örtlich unterschiedenen Stellen überlegten. REGEL: Die Anzahl der Möglichkeiten einer Besetzung von Stellen in Spalten entspricht genau der Anzahl von Möglichkeiten für Adressen, die aus diesen Stellen verzweigen können. Eine Adresse erlaubt also, aus allen Möglichkeiten eine einzige auszusondern. Eine ganz bestimmte Adresse resultiert diese Möglichkeit mit H, während alle anderen L resultieren. Betrachtet man jede Adresse mit den bis zum Ursprung vorgeschalteten Invertern als je eine Beziehung, und kürzt man die geraden Serien, dann lässt sich die eben festgestellte Regel auch anders ausdrücken: REGEL: Alle Möglichkeiten von Adressen, die von einer bestimmten Anzahl von Ausgängen verzweigen, unterscheiden sich durch mindestens einen Inverter mehr oder weniger an irgendeinem Eingang. Ausgehend von dieser Feststellung kann man Adressmengen unterscheiden. BEGRIFF: 'vollständige Adressmenge', 'unvollständige Adressmenge' Vollständig ist eine Adressmenge, wenn alle Möglichkeiten der Werteverteilung an den Eingängen der Adressen vorhanden sind. Unvollständig ist eine Menge von Adressen, für die das nicht zutrifft. ERLÄUTERUNG: Nun mag wirklich interessant sein, wieviele Inverter ich in mein Feld konstruieren muss, um genau alle Möglichkeiten der Werteverteilung an den Eingängen von Adressen erscheinen zu lassen. Unübersehbar habe ich auf der untersten Parallele die geringste Anzahl von zwei Invertern verbraucht. In jeder weiteren Parallele liegen doppelt soviele wie in der darunter. Es müssen also diese 2 mindestens nötigen Inverter mit der Anzahl der Parallelen potenziert werden, um auf die Anzahl der Möglichkeiten für Adressen zu kommen, die von diesen Parallelen verzweigen. Die einfache Rechnung für die gesamte Anzahl von Invertern ist nicht interessant, aber der zwischen der Anzahl von Parallelen und den zwei mindestens nötigen Invertern, der immer gilt. Adressen sind Resultatwerte von Kanten, die auch L sein können und damit nicht mehr eindeutig jede andere mögliche Werteverteilung an den Eingängen resultieren. Mit dem Resultatwert H an einer Kante bewirkte Beziehungen sollen deshalb noch zum Begriff werden. BEGRIFF: 'Bedeutung' ...kann nur eine Adresse an weiteren Eingängen bekommen. Während die Bewirkung vom Eingang zum Ausgang gerichtet ist und damit innerhalb einer Beziehung existiert, ist die Bedeutung etwas, was erst durch Bewirkung einer weiteren und prinzipiell beliebigen Beziehung entsteht. Damit die Bedeutung aber eine bestimmte sein kann, muss sie von Adressen, also Resultatwerten H an Kanten ausgehen. Zwischen Beziehungen, die Bedeutung geben, und der Adresse können also auch weitere Beziehungen verknüpft sein. Weil der Resultatwert L aber logisch durchaus möglich bleibt, bilde ich auch dafür einen Begriff: BEGRIFF: 'Bedeutungslosigkeit' ...ist das Fehlen einer Adresse. Diese Begriffe werden wir immer dann brauchen, wenn ganz bestimmte dats an den Eingängen von Kanten zu etwas ganz bestimmtem resultiert und von allen anderen Möglichkeiten unterschieden werden sollen. Insofern lassen sich auch in den jeweiligen Fällen Beziehungen angeben, die Bedeutung geben im Gegensatz zu anderen, die irgendwie verknüpfen. Bedeutung ist also eine auf den Eingangswert H bezogene Eigenschaft einer Beziehung. Selbstverständlich bleibt der Bedeutung gebende Wert H invertierbar, kann also in der Tiefe einer Beziehung durchaus auch mal als L erscheinen. 1.2.2. ZAHLEN Ich habe bereits einen Weg gefunden, mit einem Gestaltungsprinzip Beziehungen zu bilden, aus denen vollständige Adressmengen verzweigen können. Nun will ich die Betrachtung auf womöglich unendliche Anzahlen von Parallelen und daraus verzweigte vollständige Adressmengen ausdehnen. Da bisher eine Beziehung als nicht existent betrachtet wurde, wenn sie nicht hingeschrieben wurde, müssen also Ausdrücke gebildet werden, die erlauben, Papier bei Aufzeichnung grosser Mengen von Parallelen zu sparen. Diese Aufgabe wird gelöst, indem Gestaltungsprinzipien umgangssprachlich zu Sätzen gemacht werden. Auf die Zeichnung der ganzen Beziehungen kann dann verzichtet werden. Statt mich auf die Adressen zu beziehen, betrachte ich nun aber die Werteverteilungen an ihren Eingängen und machen sie zu einem Begriff, der auch noch eine Sortierung der Möglichkeiten enthält. BEGRIFF: 'Zahlen' ...sind an den Eingängen vollständiger Adressmengen liegende Werteverteilungen H und L, deren jede stets grösser oder kleiner als alle anderen, keiner anderen aber gleich sei. ERLÄUTERUNG: Dies scheint der gewohnte Begriff einer Zahl zu sein. Anders als gewohnt werden aber weder die Grösse, noch die Stellenbewertung auf irgendeine Rechenvorschrift gegründet. Stattdessen gehe ich von Beziehungen aus, die ich nach Gestaltungsprinzipien konstruiere. Nur mit solchen Prinzipien kann ich ja bestimmen, was jenseits des Papiers womöglich im Unendlichen steht. Nun ist der Unterschied zwischen einer Zahl und der nächst kleineren oder grösseren nicht irgendein 'Einselement' und eine Operation, sondern der eine Inverter, der in vollständigen Adressmengen jede Adresse von allen anderen unterscheidet. In dem oben gezeigten vierstelligen Feld mit fortlaufender Invertierung ersetzen wir die Werte des Inverters durch die Ziffern 0 für L und 1 für H: 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 o->->->->->->->->->->->->->->->->->- | 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 o--->--->--->--->--->--->--->--->--- | 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 o------->------->------->------->--- | 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 o--------------->--------------->--- Diese Interpretation führt zu etwas in den Spalten, was wir als Dualziffern kennen. Dabei ist die niederwertigste Stelle im Bild oben und die Wertigkeit der Stellen nimmt nach unten zu. Die Grösse der Zahl nimmt nach rechts zu. Um das Gestaltungsprinzip der Anordnung freizulegen, lasse ich die Werte mal weg: o->->->->->->->->->->->->->->->->->- o--->--->--->--->--->--->--->--->--- o------->------->------->------->--- o--------------->--------------->--- Das Gestaltungsprinzip, das aus der Notwendigkeit hergeleitet wurde, die Möglichkeiten der Besetzung von Feldern zu erzeugen, zeigt sich also potenter und soll dem neuen Zweck gerecht nochmal anders beschrieben werden: Auf einer Parallele, die unten steht und "höchstwertig" sein soll, liegen zwei Inverter. Auf der jeweils darüber liegenden Parallele, die "niederwertiger" sein soll, werden jeweils zwei weitere Inverter in dieselben Spalten gelegt und auf Spalten links davon nochmal zwei Inverter. Für jeweils zwei Inverter auf höher liegenden, "niederwertigeren" Parallelen wird diese Schachtelung wiederholt. Ich will nun gleich zeigen, warum ich mich nicht festgelegt habe, welches Gestaltungsprinzip ein besonders wichtiges, erhabenes oder natürliches sein soll. Das wäre hier nämlich nur sehr willkürlich von anderen zu unterscheiden, wie etwa dem folgenden: Es wird in drei benachbarten Stellen, die von oben nach unten höher bewertet seien, zunächst eine 1 durch 0 geschoben und nachdem sie in der dritten, höchsten Stelle angekommen ist, in allen Stellen eine 1 gesetzt, durch die dann eine 0 geschoben wird. Ist die 0 in der dritten Stelle angekommen, wird als nächstes in allen Stellen wieder eine 0 gesetzt, durch die dann wieder eine 1 geschoben wird - womit eine nächste Periode beginnt. Die nächst höheren Stellen werden genau gleich behandelt, jedoch wird jede Änderung nur dann vorgenommen, wenn die letzten drei Stellen alle wieder zu 0 werden. 0 1 0 0 1 0 1 1 0 o->->--->->->--->---- | 0 0 1 0 1 1 0 1 0 o--->->->--->->->---- | 0 0 0 1 1 1 1 0 0 o----->------->------ Damit ist bewiesen, dass auch andere Beziehungen zwar ebenfalls in eine vollständige Adressmenge verzweigen können, nicht aber zur Bildung von Dualziffern mit ihrer Abfolge führen. Wäre die Zahl der Stellen unendlich, wäre auch die Zahl der Möglichkeiten für Gestaltungsprinzipien unendlich. Erst im weiteren wird klar werden, dass der Konjunktiv hier wichtig ist... Zur besseren Unterscheidung einzelner Zahlen von der Menge, die durch ein Gestaltungsprinzip gebildet wird, mache ich noch einen... BEGRIFF: 'Zahlensystem' ...ist die Menge von Zahlen, die durch ein Gestaltungsprinzip erzeugt wird, das anders als alle anderen, möglichen ist. Ausserdem ist sofort zu sehen, dass die von den Spalten verzweigenden Adressen, deren Vorstellung wir ja immer mitgenommen haben, auch andere Werteverteilungen bedeuten können als die, die an ihren Eingängen anliegen. Ein solche Bedeutung sei für die vierte Spalte obiger Darstellung angegeben: 0 1 0 0 Adresse =H 1 o->->--->------------------->O-----o->>- | 0 0 1 0 | | 1 o--->->->------------------->O o->>- | 0 0 0 1 | | 0 o----->-------------------->>O o-->- Auf diese Weise erhält man in der vierten Spalte die Dualziffer 011, die dort hingehört, wenn man Dualziffern in bekannter Darstellung haben will. Diese Zuordnung einer Werteverteilung zu einer anderen, verknüpft durch eine Adresse mache ich gleich zu einem weiteren Begriff: BEGRIFF:'Zeichen' ist eine Menge von Invertern, die den Wert einer Adresse resultieren, bewirkt mit einer Adresse. Analog zu den Adressmengen bilde ich noch weitere Begriffe für Zeichenmengen. BEGRIFFE: 'vollständige Zeichenmenge','unvollständige Zeichenmenge' Vollständig ist eine Zeichenmenge, wenn eine vollständige Adressmenge davon verzweigen kann. Unvollständig ist die Zeichenmenge, wenn das nicht zutrifft. Ein Zeichen ist die einfachste Form einer Bedeutung. Es ist ein Mittel zwischen Beziehungen, dessen Wichtigkeit erst bei der Betrachtung tieferer Beziehungen erscheint. Hier wirkt es überflüssig und dazu noch allzu umständlich begründet. Es ist aber die logische Form dessen, was ich als Möglichkeit der Werteverteilung in Spalten vorgestellt hatte, und damit unbezweifelbar Teil einer Beziehung, wenn es eingesetzt wird. Mit Zeichen können offenbar verschiedene Zahlensysteme zu gleichen Systemen von Ziffern gemacht werden. Ein ganz besonderes Zeichen ist der 'Ursprung', der sich nun als Ausgang eines Inverters darstellt, an dessen Eingang eine Adresse bewirkt. Will ich einfach nur bestimmte Werte an bestimmten Eingängen haben, werde ich den allgemeineren Ausdruck 'Geber' verwenden, der auch ein Zeichen oder ein Ursprung sein kann. ERLÄUTERUNG: Ich habe jetzt mit 'Zahlen' und 'Zeichen' zwei Dinge, die unserem Denken längst wohl vertraut sind, auf eine Weise hergeleitet, die nicht mehr wohl vertraut ist. Das hat gute Gründe: Ich gehe vom Inverter-Axiom aus und habe damit nur zwei Werte H und L. Wenn ich Werte darstellen will, die unendliche Grössen haben können und in unendlichen Mengen vorkommen, dann geht das nur, indem ich Stellen, in denen die Werte H oder L liegen, zu etwas grösserem zusammen fasse, das allerdings logisch sein muss, also eine Beziehung zwischen Invertern. Der Zahlbegriff muss dann von den Möglichkeiten der Werteverteilung von H und L in einer beliebig grossen Anzahl von Stellen ausgehen. Welche Stellen höher als welche anderen sein sollen, und welche Zahlen grösser als welche anderen, muss aber nicht festgelegt werden. Damit kommt allerdings noch eine beliebig grosse Menge von Zahlensystemen in unser Spiel, unterschieden durch die Wertigkeit und Wichtigkeit der Stellen, die beliebig vertauscht werden, also auch völlig regellos sein kann. Allen Unzahlen zum Trotz haben wir aber etwas schon gefunden, was allen diesen Zahlen gemeinsam ist. Es ist die Anzahl der Inverter vor den Eingängen von Adressen, die eine vollständige Adressmenge bilden. Wir können also doch eine Idee 'natürlicher' Zahlen bilden, meinen damit allerdings eine beliebig grosse Anzahl von möglichen Stellenbewertungen, die dennoch immer dieselben beliebig zahlreichen Möglichkeiten für die Werte in den Stellen enthalten, wenn auch in verschiedener Abfolge von kleinsten zu grössten Werten. Mit Zeichen sind Zahlensysteme dieser Art jedenfalls immer auf ein einziges Ziffernsystem abzubilden. Für diese Bezifferung gibt es allerdings auch wieder beliebig viele Möglichkeiten - zum Beispiel: 10 dual = 2 dezimal = III römisch = c alphabetisch ... Auch wenn der vertraute Zahlbegriff erst durch eine Festlegung der Übertragsbildung bei Operationen komplett erscheint, werden wir im weiteren feststellen müssen, dass eine solche Vorgehensweise nur dann zum vertrauten Zahlbegriff führt, wenn reichlich willkürlich gewisse Übertragsbildungen bevorzugt werden. Die Menge der Möglichkeiten für Übertragsbildungen ist nämlich ebenfalls beliebig gross. Diese Feststellung mag erstaunen, wird aber sofort als wahr erkannt werden, wenn man sich eine beliebige Chiffrierung vorstellt, die ja keineswegs die verschlüsselten Zahlen, sondern die Übertragsbildung und Stellenbewertung ändert. Eine bestimmte Übertragsbildung und Stellenbewertung dann als 'unchiffriert' oder 'ursprünglich' herausstellen zu wollen, ist jedenfalls nicht die Art von Begriffsbildung, die ich hier betreiben will. Stattdessen mache ich meinen Zahlbegriff mit nichts weiter als elementaren Verknüpfungen und einem sinnfälligen Begriff 'grösserer' und 'kleinerer' Werte. Auch wenn ich durch einen Kniff gleich auf etwas kam, was andere umständlicher als natürlichste aller natürlichen Zahlen orten mussten, habe ich doch gleich gezeigt, dass diese natürlichsten "Dualzahlen" tatsächlich Dualziffern sind, dass der Fusspunkt aller Zahlensysteme eben eigentlich garkein Zahlensystem im herkömmlichen Sinne sein kann. Die Herausstellung besonderer Übertragsbildungen und Stellenbewertungen kann also nur aus praktischen Gründen erfolgen. Und das will ich mir auch noch erlauben. Ausserdem sind ja auch solche "Zahlen" zu betrachten, die sozusagen durch Verneinung anderer zum Begriff geworden sind - also 'nicht teilbar', 'nicht periodisch' usw... Während Zahlen in der Inverterlogik sozusagen die andere Seite von Adressen sind, sind diese ebenfalls anders als gewohnt von dieser anderen Seite abstrahiert. Der Begriff von 'Adresse', der in der Computertechnik benutzt wird, enthält nämlich bereits eine in Adressgebern und Bussen eingebaute Wertigkeit und entspricht somit den 'Zahlen' nach dem hier gebildeten Begriff. Das handle ich unter Kapitel 2.2.3. ab. Weil Operatoren und Übertragsbildungen nicht im Rahmen der elementaren Verknüpfungen darstellbar sind, geht es mit den weiteren Feststellungen und Festlegungen erst unter Kapitel 2.x weiter, wo ich zeigen werde, wie vorteilhaft diese Sicht der Dinge ist - mal abgesehen davon, dass sie ausgehend vom Inverter-Axiom garnicht anders sein kann. 1.2.2.1. ZIFFERNSYSTEME Wie gesagt, gibt es beliebig viele Möglichkeiten, Zahlensysteme zu definieren. Es gibt auch beliebig viele Möglichkeiten für Bezifferung von Werten, die zu einem Ziffernsystem ausgebaut werden können, in dem ebenfalls Werte von Adressen geordnet werden, die aber keine vollständigen Adressmengen bilden. Historisch betrachtet sind Ziffernsysteme offenbar näher liegend gewesen. Das wird seinen Grund darin haben, dass der Mensch vom Zählen seiner Glieder an Hand und Arm ausging. Ureinwohner auf Papua-Neu-Guinea z.B. haben einen Begriff von Zahlen, indem sie erst die Finger und dann Handgelenk, Ellenbogen und schliesslich Schulter zur Ziffer machen. So kommt man auf unterscheidbare 8 Ziffern. Mehr ging nicht, weil das Übertragssystem woanders gefunden wurde - in Indien und mit Hilfe des Abacus. Die 10 als Basis wurde offenbar ebenfalls aus der Zahl der Finger abgeleitet. Auch die Maya fanden ein Übertragssystem für ihr Ziffernsystem mit der Basis 5, das ihnen immerhin erlaubte, den genauesten Kalender zu bilden, in den auch Mond- und Venus-Phasen eingebettet waren. Bei uns setzte sich das dekadische Ziffernsystem durch. Es ist ebensowenig ideal wie andere Ziffernsysteme, die andere Primzahlen neben der 2 als Basis nutzen. Ich zeige das am Beispiel des dekadischen Ziffernsystems mit dem zugehörigen Feld: 1 2 3 4 5 6 7 8 9 o->->->->->->->->->->->->->->->->->->->->- o--->--->--->--->--->--->--->--->--->--->- o------->------->----------->------->----- o--------------->--->--------------->--->- o------------------->------------------->- o--------------------------------------->- 10 12 14 16 18 20 Man kann sofort sehen, dass dieses Feld nicht so einfach geordnet ist wie das Dual-Ziffernsystem. Es zeigt nebenbei bemerkt die in der Computertechnik gebräuchliche BCD-Darstellung (=Binary Coded Decimal). Dabei bleiben immer bestimmte Werte in 4 Parallelen ungenutzt. Völlig analog können andere Systeme binär repräsentiert werden. Immer bleiben dabei ebenfalls bestimmte Werte ungenutzt. Das verhindert aber nicht die Konstruktion von Operatoren (gezeigt unter 2.1.3.2.1.). Die wird allerdings komplizierter und erfordert mehr Inverter, weil die Beziehung für eine Stelle nicht für alle Stellen die gleiche sein kann. Das gebietet die von mir hier eingeführte Unterscheidung von Zahlen und Ziffern ebenso wie die Tatsache, dass Ziffernsysteme nicht aus vollständigen Adressmengen gebildet werden können. ZUSAMMENFASSUNG 1.: Zum Beschluss des 1.Kapitels will ich auch noch den Bezug der Inverterlogik zur Wirklichkeit anlauten: Mancher Betrachter mag schon entschieden sein, dass das Inverter-Axiom taugt, die Logik zu begründen. Auch ihn wird aber überraschen, was sich darüber hinaus begründen lässt für eine Welt, in der diese Logik existiert. Es gibt ja den vertrauten Unterschied zwischen dem, was aus einer Welt der Gedanken mit Symbolen in die Welt, in der wir leben, übertragen wird, und eben dieser Welt, in der wir leben. Beide Welten scheinen nur lose über Unterkiefer und Zungenspiel einer auserwählten Art verbunden zu sein. Ich habe bislang diesen Unterschied angenommen und sorgfältig zur Grundlage der Betrachtung gemacht. Ich werde diesen Unterschied auch weiter machen, damit ich hinausführen kann in eine Welt, in der er nicht besteht. Und ich werde das kürzer fassen als Spinoza oder Kant: Die erste wichtigste Feststellung dazu ist, dass das Inverter-Axiom beide Welten untrennbar verbindet, weil es nicht verbietet, den Ausgang eines Inverters mit seinem eigenen Eingang zu verbinden. Eine solche Einschränkung hätte nicht nur die Zahl der Festlegungen unschön erweitert, sie hätte auch zahllose weitere, immer willkürlicher wirkende Einschränkungen zur Folge. Sehr vieles, was im folgenden als logische Verknüpfung betrachtet wird, müsste dann neben die Logik gestellt werden. Jedenfalls erzwingt die Scheu, Einschränkungen hinzuschreiben, der Logik eine Dimension zu geben, die ihr nach unserer Denkgewohnheit gerade nicht anhaftet: Zeit Stellen wir uns nämlich diesen einen Inverter vor, dessen Ausgang mit seinem Eingang verbunden ist, dann sehen wir sofort, dass er nicht mehr bewirken kann, wie er soll. Alle Inverterlogik wäre aus der Welt, wenn man traditionell einen Unterschied machen wollte zwischen einem Resultat, das aus dem Argument folgt und einem Resultat, das auf das Argument folgt. Eine weitere Überlegung macht die Entscheidung noch leichter. Es genügt nämlich die Annahme geringster Dauer einer Bewirkung und die Logik ist wieder da, und sogar in dieser Welt, in der wir leben, und in der wir diese Logik erfahren. Und diese Welt ist nicht nur Heimat der Logik, sondern auch einer Zeit, die genau wie die Bewirkung nur eine Richtung einschlägt. Auch wenn denkbar ist, einen Unterschied zwischen einer 'logischen' und einer physikalischen Zeit zu machen, werde ich im weiteren zeigen, dass solches Denken immer mehr schwindeln lässt, dass es eigentlich vermessene Willkür ist, die Logik neben die Welt stellen zu wollen, indem man sie von der Zeit abstrahiert. Ich werde dennoch weiter beide Möglichkeiten betrachten, bis ich alle Argumente für eine einzige Zeit zusammen habe. Weitere Überlegungen, die physikalische Dimensionen der Logik betreffen, werde ich im Rahmen der Inverterlogik aber nicht ausführen. Hier wird die Dauer einer Bewirkung allerdings auf ganz aparte Weise so wichtig, dass sie nicht aus der Betrachtung entfallen kann. Ich will aber gesagt haben, dass in der Betrachtung physikalischer Dimensionen der Logik die aufregendsten Explikationen des Inverter-Axioms liegen. 2. LOGISCHE APPARATE Bei der Abhandlung elementarer Verknüpfungen habe ich die zweite Erweiterungsregel hergeleitet, habe damit allerdings nicht mehr angefangen, als die aus der Erweiterung hervorgegangene Kante mit einer Kürzungsregel wieder zu erübrigen. Nun werde ich mehr als eine Kante in Beziehungen betrachten, aus der die Kanten womöglich nicht mehr gekürzt werden können oder sollen. Dies sind dann tiefere Beziehungen. Weil wir fanden, dass eine Kante mit geraden Eingängen reichlich überflüssig sein kann, probieren wir nun die Beständigkeit einer Kante mit ungeraden Eingängen. Wir entwickeln eine Kürzung analog zu der, die die zweite Kürzungsregel begründet hat, wobei wir allerdings die Richtung der Schlussfolgerung umkehren: ----->>O ----->>O---->O ----->>---->O ----->O ----->>O--->O ----->>O---->O ----->>---->O ----->O | | | | ----->>O--->O ----->>O---->O ----->>---->O ----->O ----->>O ----->>O---->O ----->>---->O ----->O Die Darstellung geht von zwei Kanten mit geraden Eingängen aus, verknüpft mit ungeraden Eingängen einer folgenden Kante. Prüfen wir nun die Resultate bei jeder möglichen Besetzung, stellen wir verblüfft fest, dass wir Neues vor uns haben, dass allzu beliebige Kürzungen nach der ersten Kürzungsregel nicht möglich sind. Insbesondere der dritte Schritt der Entwicklung darf nicht sein. Kanten mit geraden Eingängen sind so überflüssig nicht! Wir werden im weiteren feststellen, dass dies die ganze Mannigfaltigkeit logischer Verknüpfungen begründet. Ich formuliere deshalb eine Regel, die verbietet: REGEL: 'Erstes Kürzungsverbot' Kantenausgänge, die mit ungeraden Kanteneingängen einer einzigen Kante verknüpft sind, können nicht gekürzt werden. Enthält eine Kante ausser ungeraden auch gerade Kanteneingänge, so ist die Frage, ob dann doch nach der zweiten Kürzungsregel gekürzt werden kann. Dies geht tatsächlich dann, wenn man alle an geraden Kanteneingängen liegenden Kanten zu einer kürzt und diese Kante dann mit einem geraden Kanteneingang verknüpft. Es ist also folgende Umformung erlaubt: ----->O ----->O ----->O---->>O ----->O | | ---->>O | ---->>O ----->O---->>O wird zu: ----->O---->>O | | ----->O | ----->O | ---->>O----->O ---->>O----->O Diese Kürzung kann offenbar auch umgekehrt zur Erweiterung werden. Es soll aber nicht noch eine Regel daraus gemacht werden, weil es hier nur um einen Kniff geht, der durchaus schon aus den formulierten Regeln geschlossen werden kann. ERLÄUTERUNG: Ohne dieses erste Kürzungsverbot wäre die Inverterlogik hier schon am Ende! Wir machen uns diese Verhältnisse also zu einem Begriff, den wir im weiteren aber noch verfeinern und aufteilen werden: BEGRIFF: 'logische Apparate' ...sind Beziehungen, in denen mindestens eine Kante an einem ungeraden Eingang einer weiteren vorkommt. ERLÄUTERUNG: Wir haben damit die bereits abgehandelten Zahlen und Felder mit Adressverzweigungen unterschieden von Verknüpfungen, die nicht nur grössere Tiefe haben, sondern in der Tiefe noch weiter verzweigt sind. 2.1. ZUSTANDSMASCHINEN Wir können annehmen, dass wir den Begriff der logischen Apparate noch weiter unterteilen sollten. Ohne viel nachzudenken, gliedern wir zunächst die eine Art aus, die uns gerade beschäftigte. Sie ist jedenfalls dadurch gekennzeichnet, dass die Eingangswerte eindeutig das Resultat bewirken und dies vollkommen synchron mit Änderungen dieser Werte. Es spielt keine Rolle, welche Besetzung die letzte vor der aktuellen war. Dies muss nicht sein, wenn irgendeine Speicherung von Werten möglich ist, ein Wert also beliebig lange Zeit bestehen bleiben kann, während andere Werte in der Besetzung sich ändern. Und dass Zeit eine Rolle in der Logik spielen kann, habe ich bereits angesprochen. Wir machen uns also einen Begriff, der uns unterscheiden lässt, ob Speicherung in einer Beziehung eine Rolle spielt oder nicht. BEGRIFF: 'Zustandsmaschine' Ein logischer Apparat, dessen mögliche Besetzungen in beliebiger Reihenfolge auftreten können, ist eine Zustandsmaschine. 2.1.1. KOMPARATOR Nun beginnen wir auszuloten, welche Möglichkeiten in der Verknüpfung von mehreren Kanten an ungeraden Kanteneingängen stecken und verfolgen zuerst die Idee, dass uns eine Kante gestatten könnte, zwei Zeichen zu vergleichen. Wir gehen von den Stellen in einem Zeichen aus, weil die jedenfalls die Eigenart eines Zeichens ausmachen und das sind, was wir logisch verknüpfen können. Wollen wir zwei Zeichen vergleichen, müssen wir also jede Stelle des einen Zeichens mit einer Stelle des anderen Zeichens verknüpfen, die wir als gleichrangig betrachten wollen. Die Rangfolge haben wir damit aber noch immer der Willkür ausgeliefert. Ein solcher Vergleich kann offenbar nicht mit einer einzigen Kante vollzogen werden. Die kann nicht ein H in beiden Stellen ebenso wie ein L UNDieren. Wir brauchen deshalb je eine Kante mit ungeraden und eine mit geraden Eingängen. Die Ausgänge der beiden Kanten verknüpfen wir dann mit ungeraden Eingängen einer weiteren Kante, was so aussieht: Stelle x des Zeichens A ---o---->O Stelle x des Zeichens B ---X-o-->O->O---- Resultat y | | | | o->>O->O o--->>O Spielen wir die möglichen Besetzungen durch, stellen wir fest, dass diese Beziehung immer dann L resultiert, wenn beide anliegenden Werte gleich sind, also die Argumente HH oder LL in den Stellen x H wird resultiert für den anderen Fall, nämlich die 2-stelligen Eingangswerte HL oder LH . Zwei Zeichen kann man also ganz einfach auf gleiche Werte in allen Stellen prüfen, indem man sie auf die gezeigte Weise verknüpft und schliesslich alle Resultate mit einer Kante mit ungeraden Eingängen verknüpft, wo Resultate L UNDiert werden. Bevor wir die gezeigte Verknüpfung kritischer betrachten, machen wir ihre Bewirkung zum BEGRIFF: 'XOR','XORieren' XOR ist eine Beziehung für zwei Werte, die bei zwei verschiedenen Werten an den Eingängen einen anderen Wert resultiert als bei zwei gleichen Werten. XORieren ist die entsprechende Bewirkung. ERLÄUTERUNG: Das XOR (='eXlusive OR') ist zwar als Boole'scher Operator bekannt, gehört aber im Rahmen der Inverterlogik nicht zu jener Klasse elementarer Verknüpfungen, in der die anderen Boole'schen Operatoren vorkommen. Die Beziehung macht das augenfällig - es kommt nicht nur eine Kante vor. In der Boole'schen Algebra werden ausserdem bestimmte Werte für Resultate einer XORierung festgelegt - was ich hier nicht getan habe. Deshalb wird diese Bewirkung hier nicht in Form einer Wertetabelle vorgestellt. Die Beziehung selbst soll nämlich in einem weiteren Zusammenhang gesehen werden und damit noch eine Eigenart, für die weder in der Boole'schen Logik noch in anderer Algebra Platz war. Zunächst mal zeigte sich am Ausgang, ob am Eingang zwei gleiche oder zwei verschiedene Werte anliegen. Dabei ist gleichgültig, ob die zwei gleichen Werte beide H oder L sind und ob man die beiden ungleichen Werte vertauscht. Nur in der Inverterlogik ist ebenfalls logisch, dass die oben gezeigte Beziehung mit einem Wert H an einem der beiden Eingänge den Wert am anderen Eingang invertiert resultiert - kurz: Dies ist eine schaltbare Invertierung. Ausserdem kann das Resultat auf verschiedene Weise invertiert werden. ERGO: ...können wir unseren Begriff 'Zustandsmaschine' erweitern. Als Eigenart tieferer Beziehungen erscheint am Beispiel XORierender Beziehungen, dass Werte an mindestens einem Eingang ihre Bewirkung ändern können und nicht mehr bloss das Resultat wie bei elementaren Verknüpfungen. BEGRIFFSERWEITERUNG: 'Zustandsmaschine' Eine Zustandsmaschine ist eine logische Verknüpfung mehrerer Kanten, deren Bewirkung durch einen Wert an einem ihrer Eingänge geändert werden kann. ERLÄUTERUNG: Damit stehen bestimmte Zustandsmaschinen anderen gegenüber, deren Bewirkung durch Werte nicht zu ändern ist. Das hier definierte XOR dient so als Ausgangspunkt einer besonderen Menge von Beziehungen. Da diese Beziehungen gewiss nicht mehr mit dem Boole'schen XOR identifiziert werden können, machen wir uns einen neuen Begriff, der als eine Möglichkeit von vielen auch die gezeigte XORierende Beziehung enthält, aber allgemein genug ist, Umformungen ebenso zu fassen wie Erweiterungen an der Eingangsseite: BEGRIFF: 'Komparator' ...ist eine Verknüpfung von genau zwei Kanten über ungerade Eingänge einer weiteren Kante und erlaubt eine Bewirkungsänderung durch den Wert an einem der Eingänge. Aus der gezeigten Beziehung leiten wir noch einen Ausdruck ab, der uns erleichtert, das auszudrücken, was zunächst als Gestaltungsprinzip angenommen wurde: AUSDRUCK: 'gerader Zweig','ungerader Zweig' Wird eine Stelle auf Eingänge verschiedener Kanten verzweigt, deren Resultate wieder in einer Kante verknüpft werden, dann ist die über eine gerade Anzahl von Invertern gehende Bewirkung ein gerader Zweig, die über eine ungerade Anzahl von Invertern gehende Bewirkung ein ungerader Zweig. Auch die an der letzten Kante liegenden Inverter werden mitgezählt. ERLÄUTERUNG: Obgleich beliebig ist, ob die Inverter der letzten Kante mitgezählt werden, entscheide ich mich hier für den Hinblick, der den Wert des Resultates an der letzten Kante in Bezug zum Wert der verzweigten Stelle setzt. Ein über einen geraden Zweig resultierter Wert H ist dann also ein Resultatwert H, falls nicht ein anderer Zweig der Beziehung mit einem Wert L triumphiert. Eine einfache Umformung der oben gezeigten XORierenden Beziehung erlaubt uns weiter einzuschätzen, wie wichtig auch die Lage der geraden und ungeraden Zweige sein kann. ---o---->O ---o---->O ---X-o-->O->O--- ---X-o->>O->O--- | | | | | | | o->>O->O | o-->O->O o--->>O o--->>O Während die links noch einmal gezeigte Beziehung jeweils gerade und ungerade Zweige an je einer Kante verknüpft, sind rechts für den einen Eingang gerader und ungerader Zweig vertauscht. Es lässt sich leicht feststellen, dass die rechte Beziehung ebenfalls XORiert, aber das Resultat invertiert. Bei genauerer Betrachtung lässt sich aber noch weiteres verblüffendes nach der Umformung feststellen: Während links verschiedene Argumente an Eingängen schon hinter der ersten Kante nicht mehr einem Eingang zugeordnet werden können, ist rechts an der ersten Kante noch ein Bezug gegeben. Solch ein Bezug muss gewünscht werden können, wenn er in weiteren Kanten schalten soll. Dann können sich Kürzungen ergeben. Die eben vorgestellte Umwandlung vollziehen wir nun weniger intuitiv, um eine Regel feststellen zu können: --->->-o-->>O --->-o->->>O --->-o---->O -----o-X-->>O->O ---o-X--->>O->O ---o-X--->>O->O | | | | | | | | | o-X--->O->O o-X---->O->O o-X---->O->O o--->O o->-->O o--->>O Zunächst kann festgestellt werden, dass die oben gezeigte Invertierung des Resultates durch die Invertierung eines Einganges behoben ist. Das liegt nicht so nahe wie ein weiterer Inverter am Ausgang für den gleichen Effekt. Hier haben ich im ersten Schritt einen Eingang um eine gerade Serie erweitert. Im zweiten Schritt haben ich was Neues getan: Ich habe einen Inverter vor einer Verzweigung getauscht in je einen in den Zweigen. Das lässt sich leicht als richtig erkennen und gibt uns eine neue Regel: REGEL: 'Erste Umformungsregel' Ein vor einer Verzweigung liegender Inverter kann getauscht werden in Inverter in allen Parallelen nach der Verzweigung. Das Vorgehen ist umkehrbar. Wir sehen von weiteren Umformungen, von denen es noch mehrere gibt, erstmal ab und betrachten die Invertierungen von Argumenten und Resultat. Das Resultat ist offenbar unabhängig davon invertiert, ob der eine oder der andere Eingang oder der Ausgang invertiert wird. Wird an beiden Eingängen invertiert, ändert sich am Resultat überhaupt nichts. Um auf diese Aussage zu kommen, wurde zur Beziehung gemacht, was auch mit einem Wertgeber getan sein kann. Damit ist also bewiesen, was bereits angesagt wurde: Der Komparator ist eine schaltbare Invertierung. Die Umschaltbarkeit von Beziehungen durch Werte ist damit für diesen logischen Apparat bewiesen. Ausgehend vom eingangs vorgestellten Komparator betrachten wir noch solche Beziehungen, in denen die verknüpften, ersten Kanten breiter sind. Dazu brauchen wir kein Bild und stellen fest: Wird die Zahl der Eingänge beliebig erweitert zu verknüpften Eingängen an je einer Kante mit geraden und einer mit ungeraden Eingängen, dann resultiert eine Kante mit ungeraden Eingängen, die diese beiden Kanten verknüpft, stets ein L , wenn an allen Eingängen der gleiche Wert H oder L liegt. Ändert man an irgendeinem Eingang den Wert, resultiert die Beziehung H . Damit ändert sich das Schaltverhalten der Beziehung nicht so, dass irgendein Eingangswert invertiert würde, weil es mehr als einen gibt, das Resultat aber nur ein Wert ist. Ein anderes Schaltverhalten können wir aber überrascht feststellen: Ein einziger Eingang, an dem ein H liegt, genügt, auch wenn alle anderen Stellen gleichen Wert L haben, die UNDierende Kante ODERieren zu lassen und deswegen das Resultat zu invertieren. REGEL: Bei Komparatoren mit mehr als zwei Eingängen wird kein Eingangswert mehr invertiert, dennoch kann die Bewirkung geändert werden. Der schaltende Eingang schaltet dann die UNDierung einer Kante zur ODERierung um. Da solche Beziehungen nicht weiter interessant sind, ist dieses Schalten einer Bewirkung erst an anderer Stelle genauer zu betrachten. Ich will aber noch auf eine Kürzungsregel hinaus führen, die einfach zu sehen ist, wenn man eine gut bekannte Beziehung, die ebenfalls XORiert, in die oben gezeigte umformen will. Sie ist deshalb bekannter, weil sie aus technisch einfacher zu fertigenden vier NAND-Gattern besteht, die in ein Gehäuse passen: Kanten: a b c Stelle x des Zeichens A ---o--------->>O o->>O>--o->>O>->>O>---- Resultat y | | | o->>O o->>O>->>O Stelle x des Zeichens B ---o--------->>O Durch Anwendung der 1.Kürzungs- und 1.Umformungsregel kommen wir auf folgendes: Kanten: a b c Stelle x des Zeichens A ---o--------->>O o->>O------>O--->O>---- Resultat y | | o->>O------>O--->O Stelle x des Zeichens B ---o--------->>O Nun kommt uns die Beziehung schon vertraut vor. Nicht vertraut ist die Verknüpfung von A und B an der Kante a, die nach keiner bislang gefundenen Regel gekürzt werden kann. Nach der Umformung können wir sehr klar erkennen, dass hier nicht nur zwei Zweige A und B gekreuzt mit dem jeweils anderen Argument an den nächsten Kanten b verknüpfen, sondern dass vor allem mal sowohl A wie B an b so mit sich selbst verknüpft sind, dass die Werte von A und B sich dort selbst blockieren, wenn nicht der jeweils andere Wert verschieden ist. Die Verknüpfungen von A und B mit sich selbst über Kante a sind offenbar überflüssig. Wir können uns deshalb allein auf die Pfade beschränken, die A und B in den Kanten b verknüpfen, was so aussieht: Kanten: b c Stelle x des Zeichens A ---o--------->>O | o------>O--->O>---- Resultat y | | | o---X------>O--->O Stelle x des Zeichens B -------o----->>O Wie der am Ausgang liegende Inverter zu nehmen ist, wurde oben schon breit diskutiert. Weil diese Art von Kürzung, wie ich im weiteren zeige, erlaubt, komplizierte algebraische Gleichungen äusserst trivial zu beweisen, diskutiere ich aber noch weiter, was da wann überflüssig ist. Dazu seziere ich die fraglichen Zweige nochmal heraus: Kanten: a b A ---o--------->>O o->>O------>O-- B ----->>O A ist mit sich selbst an Kante b verknüpft, undzwar mit einem geraden und einem ungeraden Zweig. Deshalb wird an dieser Kante mit A stets L resultiert. Insofern könnten alle Umwege über Kanten zugunsten eines Wertgebers entfallen. Es gibt aber noch eine Verknüpfung mit Argument B, die hier an beiden Kanten a,b existiert. Nur dann, wenn das Argument A =H und das Argument B =L ist, kann ein H an Kante b resultiert werden. Tatsächlich sind also A und B an Kante b so verknüpft, wie oben schon gezeigt, und die Kante a kann entfallen. Ich mache nun noch die Kante a so, dass die beiden Zweige vor der Verknüpfung von A an b nicht invertiert zueinander sind: Kanten: a b A ---o--------->>O o-->O------>O-- B ----->>O Damit wird offenbar das Argument B irrelevant für das Resultat. Alle Verknüpfungen von A und B sind dann überflüssig. Würde man den anfangs ungeraden Zweig von A über a erst an Kante b gerade machen (2 gerade Eingänge), dann wäre die zweite Kürzungsregel anzuwenden. Die oberste Leitung müsste dann offenbar nach der ersten Erweiterungsregel mit einer geraden Serie erweitert werden, womit dann A über zwei gerade Eingänge an a verknüpft wäre. REGEL: 'dritte Kürzungsregel' Ist bei Verknüpfung mehrerer Argumente ein Argument über mehr als einen Zweig mit sich selbst so an einer Kante verknüpft, dass nur ein Wert resultiert werden kann, dann können alle Verknüpfungen vor dieser Kante mit anderen Argumenten entfallen zugunsten einer Verknüpfung an der letzten Kante. Dabei müssen die anderen Zweige entsprechend der zu kürzenden Beziehung gerade bzw. ungerade bleiben. Man könnte hier auch eine Erweiterungsregel formulieren. Die kann allerdings kaum von Interesse sein. Weil schon zu sehen war, dass eventuell ganze Zweige und darin enthaltene Kanten gekürzt werden können, ist auch der Fall genauer zu betrachten, wo nicht ein Argument sich selbst blockiert. Zuletzt gezeigt wurde ja, dass ein Argument in einer womöglich unüberschaubar tiefen Beziehung über mehrere Zweige so mit mit anderen Argumenten verknüpft wird, dass die irrelevant werden. Die sind dann jedenfalls logisch, wenn auch nicht im gängigen Sinne. Aber weil sie logisch sind, können sie gekürzt werden, und so kann erfasst werden, was für eine nachgeschaltete Bedeutungsgebung tatsächlich relevant ist. Der Fall ist ja garnicht selten, dass Argumente keine sind. Und das kann dann so bewiesen werden. REGEL:'vierte Kürzungsregel' Ist ein Argument mit anderen Argumenten so verknüpft, dass die das Resultat an einer Kante in der Tiefe der Beziehung nicht ändern können, sind diese anderen Argumente in der Weise irrelevant, dass sie und nachgeschaltete Verknüpfungen mit ihnen entfallen können. ERLÄUTERUNG: Die Feststellung solcher irrelevanten Verknüpfungen kann nur über ein Spiel mit der Besetzung, also kombinatorischem Spiel mit den Werten der Argumente begründet werden. Neben der Irrelevanz von Argumenten in gewissen Beziehungen kann auch ohne Bild gesehen werden, dass Argumente über mehr als einen Zweig und schliesslich einer ODERierung all dieser Zweige verknüpft sind. Unter 2.1.3. zeige ich einen solchen Fall, der gegeben sein kann, wenn zwei Seiten einer Gleichung des Beweises harren, der dann nötig wird, wenn nicht auf der einen Seite das Resultat eines Rechenganges auf der anderen steht. Hier geht es zunächst um die Regel, die leicht einzusehen ist. REGEL:'fünfte Kürzungsregel' Falls Argumente über mehr als einen Zweig gleichartig mit anderen Argumenten verknüpft sind, und wenn diese Zweige schliesslich zum Resultat ODERiert werden, dann können alle Zweige bis auf einen entfallen. ERLÄUTERUNG: Der Ausdruck 'gleichartig' meint hier wie gewohnt eine Übereinstimmung von Resultaten im Bezug zu Argumenten. Die Zweige können dabei durchaus verschieden sein, müssen dann aber kürzbar zu einer gleichen Beziehung sein. Ich habe sehr bewusst nicht versucht, die bekannten Begriffe der 'Tautologie' oder 'Redundanz' zurecht zu machen für diese Aussage, die sehr viel mehr betrifft als solche Begriffe meinen. 2.1.2. SCHALTER Wir betrachten nun Beziehungen, die mehr als einen Resultatausgang haben und gehen dabei von der Variante des Komparators aus, die im Gegensatz zu anderen den Zustand der Eingänge auch nach der ersten Kante erfassbar macht: A -o-------->>O------ R1 S -X-o------->O | | | o------>>O o--------->O------ R2 Leicht einzusehen ist, dass A und S hier prinzipiell vertauscht werden können. Ebenfalls leicht zu sehen ist, dass hier gleiche Werte an A und S immer an beiden Ausgängen zu L resultiert werden. Bei gegebener Bedeutung der Eingänge kann mit S jeweils R1 oder R2 auf L gezwungen werden, während ein Wertewechsel an A auf dem jeweils anderen Ausgang erscheint, undzwar nicht invertiert an R1 und invertiert an R2, was natürlich durch eine Invertierung des Resultates an R2 behoben werden kann. Allerdings wird damit auch das Resultat von S invertiert und insofern die Symetrie aufgehoben. Soll der Wert an S dazu benutzt werden, den Wert an A an entweder R1 oder R2 resultieren zu lassen, dann kann dies nur mit ungleichen Werten an A und S gelingen. Beim Wert S=L kann dann A=H als R1=H und bei S=H kann A=L als R2=H erscheinen. Nur die Werte H an R1 und R2 dürfen Bedeutung erlangen und somit auch nur bestimmte Werte an A bezogen auf einen der beiden Ausgänge. Die anderen Werte müssen bedeutungslos sein, weil dann A und S ODERiert werden. Das ist bereits unter 1.2.1. begründet worden. Wie unter 2.1.1.1. für den Komparator angedeutet, gibt es auch hier Varianten, deren Betrachtung aber nicht weiter erhellend ist. Immer gibt es jedenfalls bedeutsames und bedeutungsloses zu unterscheiden. BEGRIFF: 'Schalter' ...ist eine Kante dann, wenn ihre Resultatwerte abhängig vom Wert an bestimmten Eingängen Bedeutung oder Bedeutungslosigkeit erlangen sollen. ERLÄUTERUNG: Die am Schalter notwendige Bedeutungslosigkeit erweist die Begriffsbildung als keineswegs willkürliche Betrachtungsweise einer Kante mit diesem besonderen Zweck. Diese notwendige Bedeutungslosigkeit macht es prinzipiell unmöglich, einen seriellen Strom von Werten H und L über die Resultatleitung zu senden, denn wir haben unser Werterepertoire zu einem einzigen Wert halbiert. Innerhalb einer Beziehung kann das allerdings durchaus anders sein, wenn auch der Wert an S Bedeutung bekommt, also mit dem an A auch im weiteren verknüpft bleibt. Dann sind zwei Resultatleitungen erforderlich, nämlich eine weitere für den Wert an S. Damit werden wie beim Komparator zwei verschiedene Bewirkungen zu unterscheiden sein, die nur verknüpft Bedeutung erlangen können. Ich will hier aber noch diskutieren, warum es nützlich ist, die verschiedenen Begriffe 'UND', 'Adresse' und 'Bedeutung' zu bilden, obgleich alle auf den Resultatwert H an einer Kante gegründet sind. Sie kennzeichnen die Eigenschaft bestimmter Teile einer Beziehung bezogen auf diesen Wert. 'UND' ist dabei der Bezug zu Eingangswerten. 'Adresse' ist der Bezug von Eingangsstellen zu Möglichkeiten der Besetzung. 'Bedeutung' schliesslich ist der Bezug zu damit bewirkten Beziehungen. Im Rahmen der Begriffsbildung habe ich auch stets gezeigt, warum die Resultatwerte H und L nicht beliebig Bedeutungen zugeordnet werden können. Der Begriff 'Bedeutung' soll nun noch mit Hinblick auf etwas abgerundet werden, was in der Algebra viel Verwirrung gestiftet hat: Die Negation - das algebraische NICHT(...), ausgedrückt mit einem besonderen Negationszeichen vor oder einem Negationstrich über den Symbolen. Ich will hier nicht im einzelnen solche Logik diskutieren, die mit den zwei Werten 'WAHR' und 'FALSCH' umgeht, um irgendwas zu bewahrheiten. Mit den hier gebildeten Begriffen von Bedeutung und Bedeutungslosigkeit vermeide ich jedenfalls, was zu Aussagen führt, die zwar als logisch richtig gelten müssen, tatsächlich aber Unsinn sind. Ausgangspunkt der Begriffsbildung ist die Kante. Sie ist jedenfalls das einzige Mittel, von vielen Stellen eines zweiwertigen Systems auf eine Stelle zu kommen, die zwei Werte wie 'WAHR'=H und 'FALSCH'=L geben kann. Mit 'FALSCH' sind schon an einer Kante beliebig viele Gegebenheiten resultiert, die ODERiert sind und deshalb nicht eine Gegebenheit sein können, die man mit irgendwas vergleichen könnte. Wenn diese Beliebigkeit auch noch durch eine einfache Invertierung zu einem Wert 'WAHR' gemacht werden kann, dann ist offenbar nichts mehr wirklich falsch, weil die eine Beliebigkeit beliebig anderer Beliebigkeit äquivalent und wahr werden kann. Der Schalter beweist schliesslich, dass auch schaltende Eingänge den Wert 'FALSCH' geben müssen, um überhaupt wirken zu können. Schaltende Werte sind offenbar erst recht etwas, was nicht Bedeutung haben darf bei einer Wahrheitsfindung, denn ohne Schalter, die auch ein Teil von Komparatoren sind, kann rein garnichts geschlossen oder verglichen werden. Mit dem Blick auf eine Kante ist ausserdem leicht zu sehen, dass es nicht nur ein Argument gibt, das als FALSCH zu nehmen ist. Schon ein zweistelliges Argument enthält drei FALSCHe Möglichkeiten. Diese Gegenteile durch Gleichungen auszudrücken, bleibt aber bisher der Willkür des Denkers überlassen, der deshalb auch mit Unsinn rechnen kann. Ich habe schon unterschieden zwischen der Invertierung und dem Inverter. Nun unterscheide ich zwischen Negation und Invertierung. BEGRIFF: 'Negation' ...ist die Invertierung der Bedeutung zur Bedeutungslosigkeit, die nicht umgekehrt werden kann. ERLÄUTERUNG: Damit ist die Negation ausschliesslich auf die Operation von Bedeutungen bezogen und nicht einer beliebigen Invertierung aequivalent. Dieser Begriff der Negation erzwingt die Explikation von Bedeutungen aus Bedeutungen, wobei der Wert H natürlich durchaus noch invertiert erscheinen kann, ohne dass die damit assoziierte Bedeutung verloren ginge. Das wird bei der Operation von Zahlen unter 2.1.3.2.1. demonstriert. Ein der Bedeutungslosigkeit zugeordneter Wert dagegen darf keine Bedeutung erhalten, auch nicht in den Tiefen weiterer Beziehungen. Durchaus kann aber dies und das, was zu verneinen wäre, als Bedeutung formuliert werden. Dabei muss klar bleiben, dass Werte von Invertern zwar logisch sind, nicht aber wahr. Nur wenn Wahrheit prinzipiell nicht Eigenschaft von Werten sein kann, kann nämlich mit Inverterlogik bewahrheitet werden. Bewahrheitung ist dann eine Verknüpfung von Bedeutungen, die aufgrund beliebiger Bedeutungsgebung erfolgt und Bedeutungslosigkeit kann die Bedeutung nicht umdeuten. So ist ausgeschlossen, dass die Negation, die herkömmlich tatsächlich den Rest der Welt bedeuten kann, irgendeine konkrete Gestalt bekommt. Mit dem hier gemachten Begriff kann kein beliebiger NICHT(Affe) zum Menschen werden, weil der auch ein NICHT(Affe) ist. 2.1.3. ADRESSMENGEN Inverter sind dann Elemente, aus denen man Mengen bilden kann, wenn sie in einer Beziehung verknüpft sind und mit Adressen Bedeutung bekommen. Es sind also Mengen von Adressen, die als Elemente von Mengen taugen, wie sie Gegenstände der Mengenlehre sind. Ein Feld ist die einfachste Form einer Beziehung, in der einzelne Inverter unterscheidbar vorkommen. Es ist aber leicht einzusehen, dass auch andere Beziehungen an den Eingängen von Adressen liegen können und so Elemente von Mengen sein können. Dies ist dann nötig, wenn Zahlen oder andere Bedeutungen als Menge betrachtet werden sollen. Will man also Mengen auch nur unterscheiden, werden diese Mengen Adressmengen sein müssen, denen auf gewohnte Weise Bedeutungen zugeordnet werden können, die dann auch logisch verknüpfbar sind. Ich habe solche Beziehungen unter den Begriff der logischen Apparate gestellt, weil sie jedenfalls tiefer sind als Adressen. Ich mache das mal mit einem Beispiel klar: Eine gut bekannte Gleichung verknüpft Vereinigungsmenge und Durchschnittsmenge, wobei ich hier nicht die üblichen Zeichen verwenden kann. Ich schreibe deshalb für die Bildung der Vereinigungsmenge den Operator 'ODER' und für die Bildung der Durchschnittsmenge den Operator 'UND'. A,B und C seien Mengen. Die Gleichung für drei Mengen A,B,C sei: A UND (B ODER C) = (A UND B) ODER (A UND C) Diese Gleichung soll mit Beziehungen bewiesen werden, in denen der Wert H als 'wahr' verwendet wird, die Gleichung also H=H ist, während A,B,C an Kanten mit geraden Eingängen erscheinen, wo die Adressen der Elemente der jeweiligen Menge UNDiert als Menge erscheinen, was etwa so aussieht: Element1---->>O Elementx---->>O--Menge von Elementen 1...x Die Gleichung sieht so aus: linke Seite: = rechte Seite: B----->O>-->>O-H B----->O>---->>O | | | | A------X--->>O A-o----X----->>O---->O>-H | | | | | o----X----->>O---->O | | | C----->O C----->O>---->>O Ich habe die Beziehungen so dargestellt, dass sofort zu sehen ist, dass auf der rechten Seite A zweimal identisch mit der Kante, an der B und C liegen, verknüpft ist. Das muss offenbar nur einmal sein, und dann ist auch die weitere ODER-Verknüpfung überflüssig. Das ist die Anwendung der fünften Kürzungsregel. Durch Anwendung der ersten Kürzungsregel bei der Verknüpfung der beiden Kanten wird schliesslich klar, dass die Kante, die B mit C verknüpft, über einen ungeraden Eingang an der folgenden Kante mit A verknüpft wird. Die Beziehung ist also ein logischer Apparat. Hier wird damit eine Bedeutung gegeben, die zum Vergleich mit einer anderen taugt. Die Gleichheit wäre also mit einer Kante mit zwei geraden Eingängen (dem Boole'schen UND) zu einem Wert H=wahr zu resultieren. Allerdings wäre das nicht der gewünschte Beweis. Der ergibt sich nur dadurch, dass die Beziehungen tatsächlich durch Umformungen gleich gemacht werden können. Der Beweis wäre also (ausser durch einen flüchtigen Blick auf die Banalität dieser Beweisführung) durch einen Vergleich von Besetzungen nach der Umformung zu erbringen. Bei der Repräsentation von Mengen durch UNDierte Adressen ist ausserdem streng zu unterscheiden, ob Relationen die Menge als Gesamtheit von Elementen, oder ob sie tatsächlich die Elemente der Mengen betreffen. Dann nämlich wären die Werte der Adressen der Elemente zu verknüpfen an Stelle der UNDierenden Kanten mit geraden Eingängen. Es soll also noch genauer gezeigt werden, wie Relationen, die als Gleichheit oder Ähnlichkeit ausgedrückt werden, in Beziehungen umzusetzen sind, und wie dabei mit Bedeutungen umzugehen ist. Die Mengenlehre erlaubt allerdings nicht nur Werte als Elemente von Mengen zu betrachten. Wenn Elemente aber nicht durch je einen Wert repräsentiert werden können, dann taugen auch Adressen nicht zur Repräsentation solcher Elemente. Beziehungen, die stets durch mehr als eine mögliche Besetzung gekennzeichnet sind, können deshalb nicht Elemente einer Menge sein, die durch UNDierung einer Adressmenge dargestellt wird. Auch wenn man erwägt, eine Beziehung durch ein Zeichen zu repräsentieren (was in der Mengenlehre erlaubt ist), zeigt sich hier doch sofort, dass das nicht grundsätzlich möglich sein kann. Insbesondere sind Operatoren nicht einfach durch Zeichen zu repräsentieren. Ich stelle sie unter 2.1.3.2.1. vor. Sie sind logische Apparate, die von anderen nur wegen der Bedeutung von Argumenten und Resultaten abzugrenzen sind - also eigentlich garnicht. Man kann zwar alle möglichen Argumente und damit bewirkte Besetzungen eines logischen Apparates zu einer Anzahl von Stellen eines Zeichens machen und so die Bewirkung des Apparates vollständig repräsentieren, muss dann aber Vorschriften definieren, die die Abfolge der Besetzungen betreffen. Das ist keineswegs trivial, wenn es um Operatoren geht. Schon einfache logische Apparate machen allzu viele Stellen in einem solchen Zeichen nötig. Abgesehen davon, dass die aus der Mengenlehre bekannten, überschaubar wirkenden Formulierungen auf diese Weise nicht zu machen sind, zeigt sich aber unter diesem Hinblick auch, dass Negierungen nicht mit der bekannten Sorglosigkeit verwendet werden können, um irgendein Gegenteil auszudrücken. Ein logischer Apparat kann offenbar nicht negiert werden. Der hier gemachte Begriff der Negation, der schon bei Betrachtung von Schaltern gewonnen werden konnte, bewährt sich auch bei der Betrachtung anderer logischer Apparate. Offenbar ist ein wahrer nicht einem einzigen falschen gegenüber zu stellen, sondern nur von beliebig vielen anderen zu unterscheiden, die also eine Menge sind und nicht ein Element. Ob und wie solche Mengen dennoch wieder als Element taugen, ist fraglich. Ich diskutiere nachfolgend Beispiele, wo das nicht geht. Die Bildung von Mengen aus Elementen, die logische Apparate sind, ist also nur als Ausnahme möglich, die Bildung von Negationen solcher Elemente oder Mengen nur mit dem hier gemachten Begriff möglich - negiert ist eine Zustandsmaschine bedeutungslos und kein Argument für irgendwas. Ein paar weitere, gut bekannte Mengen können hier schon betrachtet werden: Eine besondere Menge, die sogar mit einem eigenen Ausdruck bedacht wurde, ist die 'Nullmenge' (ausgedrückt mit der Überlagerung der Zeichen '0' und '/'). Sie ist definiert als eine Menge, die keine Elemente enthält und insofern 'leer' ist. Eine solche Menge kann mit Invertern offenbar nicht dargestellt werden. Es wären Adressen ohne Eingänge zu schaffen, die jedenfalls keine Adressen sind. Deshalb ist zu fragen, welche Gründe überhaupt dafür sprechen, etwas zu definieren, das tatsächlich nichts sein soll. Schon im Rahmen der bekannten Mengenlehre ist die Nullmenge ja nicht wirklich eine Menge, weil die Elemente einer Menge unterscheidbar sein müssen. Nichts kann man aber schlecht von Nichts unterscheiden. Eine solche Menge ist also mit höchstens einem einzigen Element zu denken und ist somit mindestens nach der Sprachgewohnheit keine Menge mehr, sondern nur irgendein Ding, das noch nichtmal existieren soll. Was die Nullmenge tatsächlich unverzichtbar macht, ist das Gleichheitszeichen, auf das in der Mengenlehre nicht verzichtet wird. Es gebietet die Verwendung von Grössen in Gleichungen, die alle in die gleiche Kategorie fallen, weil sie nur dann operierbar sind. Operationen von Mengen müssen also Mengen resultieren und folglich eine Nullmenge, wenn kein Element in der Resultatmenge liegt. Wie gesagt gibt es kein Gleichheitszeichen in der Inverterlogik. Die Definition einer Nullmenge ist also nicht nur unmöglich, sondern auch überflüssig. Ich habe auch aus diesem Grunde unter 1.2. den Begriff einer Menge dem Belieben eines Betrachters zugeordnet. Der kann also auch eine Nullmenge sehen wollen, wo nur ein Resultatausgang ist. Das ist dann Bedeutungsgebung, wie sie bereits besprochen wurde. Sie erfolgt a posteriori und bedingt nicht die Erfindung von etwas, was nichts sein soll. Schliesslich ist die Nullmenge nicht etwas, was sich in der Mengenlehre irgendwie ergibt. Sie wird vielmehr als Axiom an den Anfang gestellt. Dies auch, um die Null zu haben, die nicht als natürliche Zahl gesehen wird. Auch jene Mengen, die sich selbst enthalten, können hier noch betrachtet werden, obwohl dabei eine Form der Verknüpfung nötig ist, die erst unter 2.2.2. eingeführt und genauer betrachtet wird. Eine Menge, die sich selbst enthält, sieht im Prinzip (kürzest) so aus: Element1---->>O Elementx---->>O o---->>O-o-Menge von Elementen 1...x und Menge selbst o--------o Zuunterst ist eine gerade Serie als Teil der UNDierenden Kante zu sehen, die die Menge zum Element der Menge macht. Das ist zwar logisch, kann aber gekürzt werden, weil leicht zu sehen ist, dass dieses weitere Element durch die anderen Elemente vollständig bedingt wird, selbst aber keinerlei Bedingung an der Kante darstellt. Das Resultat ist bei Fehlen oder Vorhandensein des Elementes immer das gleiche. Eine genauere Betrachtung ist aber geboten, weil schon manchen Mathematiker die Frage sehr beschäftigt hat, ob eine Menge sich selbst als Element enthalten kann oder darf und was das im weiteren bedeutet. Hier zeigt sich, dass das logisch ist, aber mit der bemerkenswerten Konsequenz, dass über den einen zusätzlichen Eingang eine unendliche Menge von Mengen zu einem Element wird. Nämlich nicht nur die Menge der Elemente 1...x, sondern auch die um das Element der Menge vergrösserte Menge und ebenso die um das Element dieser vergrösserten Menge und so weiter... Damit wächst die Unzahl der Mengen unendlich, die aber alle nur die eine um ein Element vergrösserte Menge der Elemente 1...x sind, wobei dieses eine Element so oder so irrelevant ist. Sehr ähnlich ist die Irrelevanz von Mengen zu zeigen, die alle ihre Untermengen als Elemente enthalten. Irrelevant sind auch Nullmengen als Element von Mengen, wobei die Nullmengen allerdings tatsächlich ebensowenig logisch sind wie "unendliche Mengen", die eine unendliche Anzahl von Elementen enthalten. ERLÄUTERUNG: Unter 1.2. habe ich den Begriff der Menge ausdrücklich auf den sprachlichen Gebrauch bezogen und dem Belieben eines Betrachters zugeordnet, was er an Elementen unterscheiden will und welche Bedeutung er der Menge gibt. Hier stellt sich heraus, dass das Belieben des Betrachters Grenzen hat. Nicht einfach alles kann zum Element einer Menge gemacht werden, nicht jede Verknüpfung von Mengen kann relevant sein, nicht jede Bedeutung kann einer Menge zugeordnet werden. Insbesondere können Negationen von Mengen oder Elementen schlicht irrelevant sein, wie ich am Beispiel einer Menge, die sich selbst als Element enthält, gezeigt habe. Solche Mengen können ja als Negation von Mengen, die sich nicht selbst enthalten, begriffen werden und dann für weitere Schlüsse tauglich scheinen (z.B.in Russel's "Antinomie"). Cantor hat seine Mengenlehre zwar ebenfalls mit der umgangssprachlichen Definition einer Menge begründet, ist aber dem Belieben gefolgt, weil die Idee verführerisch war, die gesamte Mathematik auf den umgangsprachlichen Begriff gründen zu können. Weil es hier um Explikationen aus dem Inverter-Axiom geht, sind die Bezüge zur Mengenlehre Cantors auf das Wesentliche beschränkt. Tatsächlich sind viele Beispiele und Überlegungen vorzustellen, wenn man die ganze Tragweite der mit Inverterlogik gewonnenen Aussagen zeigen will. Weil ich bis hier noch nichtmal gezeigt habe, wie Zahlen mit Beziehungen operiert werden können, fehlen aber noch viele Argumente. 2.1.3.1. AEQUIVALENZ Nicht nur dann, wenn wir mit Mengen, sondern vor allem dann, wenn wir mit Zahlen umgehen wollen, haben wir mehrere Formen von Gleichheit zu unterscheiden, die mit ein und demselben Zeichen '=' ausgedrückt werden. Daneben sind Zeichen für Ähnlichkeit in Gebrauch, bei denen aber das was links und rechts davon steht, gleichartig bedeutsam wird. Wir müssen folgende Formen unterscheiden: 1) Die Wertezuweisung etwa der Form a=3 oder allgemein y=x 2) Die Verknüpfung von Argumenten, Operation und Resultat, etwa der Form r=2+3 oder allgemein y=a*x 3) Die Behauptung von Gleichheit etwa der Form a+a=2*a (immer allgemein) In der Inverterlogik sehen diese Formen so aus: Zu 1): Variable werden stets überschrieben und nicht "erfüllt". Dies ist durch das Inverter-Axiom gegeben. Kein Eingang existiert ohne Wert. Immer gibt es deshalb eine Besetzung einer Beziehung. Die Wertezuweisung erfolgt durch einen Ursprung oder ein Zeichen an den Eingängen einer Beziehung, die rechts vom Wert gezeigt wird. Eine Funktion wird daraus, indem eine Beziehung, wie ich sie im folgenden noch beschreiben werde, Werte zuweist. Ich habe schon gezeigt, wie eine solche Wertezuweisung bei Zuweisungen von Elementen zu einer Menge dargestellt werden muss, die allerdings nicht mit dem Gleichheitszeichen, sondern einem Epsilon ausgedrückt wird. Zu 2): Während herkömmlich die Ausdrücke 2+3=r und r=2+3 meist synonym sind, ist das in der Inverterlogik ausgeschlossen durch die mit Inverter-Axiom gegebene Bewirkung, die stets nur eine Richtung hat: das Resultat folgt auf die Operation, die den Argumenten folgt. Für die Darstellung einer Bewirkung wurde in 1.1. festgelegt, das Resultat rechts zu zeigen. In der gewohnten Darstellung mit Ziffern und Symbolen steht dagegen das Resultat links. Soll also 'r' ein Resultat bezeichnen, dann ist die Form r=2+3 entsprechend. 2+3=r ist dann eine andere Beziehung - in diesem Beispiel folgt dann 2+3 aus r, wäre also eine Zuweisung. Solche Lesart ist auch Teil von Computersprachen, als notwendig also bereits erkannt. Zu 3): Herkömmlich wird diese Art von Gleichungen durch Umformungen des rechten Teils bewiesen. Dabei werden ausserhalb der Gleichung stehende Bezüge in Betracht gezogen. Wie schon unter 3.1.2. gezeigt, ist in der Inverterlogik kein Zeichen '=' zu haben und auch nicht zu wünschen, weil die nötigen Umformungen der rechten Seite ohne Verknüpfung mit der linken Seite vorgenommen werden können. Dabei sind Kürzungs-, Erweiterungs- oder Umwandlungsregeln anzuwenden, weiteres aber nicht. Letzlich ist ein einfaches Durchspielen von Besetzungen mittels aller möglichen Argumente das Kriterium für Gleichheit, falls neue Regeln zu finden wären. Durch die Inverterlogik gibt es also immer und für jede Gleichung dieser Art ein Resultat, bei dem 'tertium non datur' gilt - ganz einfach, weil logisch nur H und L zu haben sind. Dabei ist allerdings die Wahrheit sozusagen daneben im Bereich der Bedeutungen zu finden und nicht im Bereich der Werte. Die zwei Aussagen 'der Himmel ist grün' und 'der Himmel ist rot' sind nämlich beide falsch, wenn schönes Wetter und Tag ist. Ohne Bezug zum Gesichtssinn und der Farbempfindung unserer Art taugt nichtmal eine sachliche Spektralzerlegung für die Wahrheitsfindung. So findet jedenfalls jede 'Aussagenlogik' ihre natürliche Grenze. Bei Übersetzung einer Gleichung in eine Beziehung ist immer zunächst ein Richtungswechsel bei der Sicht des Problems zu beachten. Will man das Zeichen '=' als Statthalter einer Beziehung verwenden, stehen die Argumente dann rechts vom Statthalter, aber links von der Beziehung. Sie sind insbesondere nicht vertauschbar. Algorithmen, die darauf aufbauen, dass etwas "auf die andere Seite gebracht wird", müssen völlig anders ausgedrückt werden. Wie unter 2.1.3. bereits gezeigt, ist durch UNDierung an Kanten mit geraden Eingängen zwar eine Gleichheit zu resultieren, allerdings nur eine des Wertes H an zwei verknüpften Ausgängen. Das ist selten Sinn einer Gleichung. Adressen, die Gleichheit bedeuten sollen, können natürlich beliebigen Beziehungen folgen. Somit sind Terme, die üblicherweise rechts und links von einem Gleichheitszeichen stehen, parallel vor einer Adresse liegende Beziehungen. So kann dann auch etwas "auf die andere Seite" gebracht werden. Umformungen, die üblicherweise mit der Absicht einer Beweisführung vorgenommen werden, sind jedenfalls nur die Anwendung von Kürzungs-, Erweiterungs- oder Umformungsregeln. Ist Ähnlichkeit die Relation zwischen zwei Termen, liegen die Verhältnisse insofern etwas anders, als zunächst das, was dabei nicht gleich sein soll, aus der Beziehung entfernt werden muss. Entweder a priori oder durch ODERierungen. Das ergibt sich aus den Feststellungen über Bedeutung und Bedeutungslosigkeit. Schliesslich kann Gleichheit oder Ähnlichkeit auch so gefragt oder gegeben sein, dass sie nicht in gewohnten Formeln auszudrücken ist. Ich habe solche Relationen schon vorgeführt, wenn ich Umformungen von Beziehungen als richtig beweisen wollte. Ich bin so auf Regeln gekommen. Bislang ging es um ziemlich banale und sofort einsehbare Verhältnisse. Das muss keineswegs immer so sein. Ich kann aber hier schon feststellen, dass durchaus verschiedene Beziehungen in Bezug auf Argumente und Resultate gleich sein können. Sie sind es allerdings nicht unter jedem Hinblick. Eine Beweisführung hat jedenfalls stets auch den Hinblick zu enthalten, unter dem etwas gleich sein soll. Das spielt im weiteren eine Rolle, wenn zeitliche Bezüge oder auch reale maschinelle Gegebenheiten in Elektronik zu berücksichtigen sind. 2.1.3.2. ZAHLENSYSTEME Den Begriff von Zahlen habe ich in 1.2.2. ausgehend von Möglichkeiten der Besetzung von Feldern gebildet. Er ist damit frei von der Notwendigkeit geblieben, Operatoren zu definieren, bevor das feststeht, was operiert werden soll. Es ist also weder die Division zu definieren, um 'natürliche Zahlen' aus der Primzahlzerlegung ableiten zu können, noch ist eine Zahl =1 und eine Quasi-Addition zu definieren, um denselben Zweck zu erreichen. Beide gängigen Formen der Definition von Zahlen enthalten Einschränkungen des Zahlbegriffs insofern, als die 0 nicht als 'natürliche Zahl' gelten darf (nach Peano), oder dass die 1 nicht als Primzahl gelten kann. Schliesslich ist kein Ende der so definierten Zahlen zu sehen, was damit zu tun hat, dass 'Elemente' im Spiel sind, deren Anzahl nur willkürlich beschränkbar wäre mit weiteren Definitionen. Peano musste ausserdem die 'natürlichen Zahlen' als bereits gegeben voraussetzen, um eine 'nächste Zahl' in dieser Menge überhaupt finden zu können. Geht man dagegen von den Möglichkeiten einer Besetzung aus, ist das alles anders - aber nicht so, dass irgendwas fehlt. Ich werde hier zeigen, wie die gleichen 'Elemente', nämlich die Inverter, taugen, nicht nur Zahlen, sondern auch Operatoren zu machen, und darüber hinaus jedenfalls noch alles, was Gegenstände der Mathematik sind - ohne Definitionen, die immer noch eines Beweises bedürfen, um akzeptierbar zu sein. Logische Beziehungen sind evident ohne Beweis, allein durch das Inverter-Axiom. Auch sie müssen natürlich gegeben sein, sind dann aber eben nicht bezweifelbar, nichtmal irgendwie unsinnig, falls sie nicht auf Zwecke bezogen sind. Etwas konkreter kann ich hier schon sagen, dass die 0 teilbar, die 1 eine Primzahl ist und die Unendlichkeit immer abzählbar sein muss, also keineswegs undefinierbar sein kann. Letzteres ergibt sich schonmal einfach aus dem Begriff der Möglichkeit. Möglichkeiten sind jedenfalls beobachtbar und infolgedessen abzählbar endlich. Damit ist jeder Spuk an den Grenzen der Zahlen oder zwischen ihnen ausgeschlossen. ERGO: Der unter 1.2. gemachte Begriff der Möglichkeit wurde bezogen auf das, was sein kann. In der Inverterlogik kann nur sein, was durch verknüpfte Inverter bewirkt wird. Die Inverterlogik ist vollständig aus den Möglichkeiten für Verknüpfungen und damit gegebener Werte hergeleitet. Diese Werte können Bedeutung erhalten, aber wie bereits gezeigt nicht immer. Schliesslich sind Kürzungen zu finden, die zeigen, dass nicht mit jeder möglichen Beziehung eine einmalige Bewirkung gegeben ist, die von allen anderen zu unterscheiden wäre. Im Zusammenhang mit der Bedeutung der Zahlen ist besonders bemerkenswert, was folglich existieren kann. Deshalb formuliere ich hier die so gegebene Regel, die aber nicht nur alles betrifft, was bis hier gezeigt wurde, sondern die gesamte Inverterlogik kennzeichnet. Bei jedem Schritt bis hier und bei allen weiteren Schritten zeigt sich, dass immer ein einziger Inverter genügt, einen Unterschied zu machen. REGEL: Jede Menge von Möglichkeiten ist gegeben durch ein Anzahl von Invertern und ist deshalb immer vollständig, endlich und abzählbar. ERLÄUTERUNG: Jede Menge von Zahlen ist also ebenso wie jede Menge anderer Bedeutungen immer abhängig von einer gegebenen logischen Beziehung gross. Es gibt deshalb keine Möglichkeit unendlicher (oder gar noch grösserer) Mengen. Die Anzahl der möglichen Bedeutungen ist auch immer vollständig bei gegebener Anzahl verknüpfter Inverter, weil Bedeutungen durch Werte bedingt sind, die nicht Inverter erzeugen können. Ein Widerspruch ensteht auch nicht durch noch zu zeigende Möglichkeiten für Rekursionen. Dann können zwar auch 'virtuelle' Inverter erzeugt werden, die aber Überträge sind, deren Prototyp zunächst im Zusammenhang mit Zahlen vorgestellt wird. Weil Zahlen eine Bedeutung der Werte des Inverters sind und eine kleinste Zahl mit allen Stellen =L gegeben wird, die als =0 interpretiert wird, kann ein Operator, der diese Interpretation nicht enthält, sondern nur die Werte H,L als Argument resultiert, nur mit zusätzlicher Bedeutungsgebung für die 0 eine Operation der 0 vermeiden. Zweifelnde Gemüter können aber besänftigt werden, indem ich hinzu setze, dass natürlich Beziehungen gemacht werden können, die ausschliessen, dass eine 0 geteilt wird, und die beliebig viele Möglichkeiten bieten. Auch dass die 1 eine Primzahl sein soll, muss nicht allzu ernst genommen werden, weil eine Primzahl ja immer schon so definiert ist, dass sie nur durch 1 und sich selbst, was dann ebenfalls =1 ist, teilbar sei. Auch eine irgendwo sich ausdehnende Unendlichkeit ist nur dann von Interesse, wenn man da irgendwelche Götter siedeln sehen will. Infinitesimale Schritte werden ohne Unendlichkeit in keiner Weise beeinträchtigt, sondern im Gegenteil vollkommen zuverlässig. Noch zu zeigen ist, dass die Inverterlogik erlaubt, den Rand des Gegebenen genauer zu betrachten, also auch besser abschätzen zu können, wohin ein weiterer infinitesimaler Schritt führen würde. Zunächst werde ich mich mit der Bedeutung von Beziehungen befassen, die die vorgestellten Zahlen wiederum zu Zahlen resultieren. Das ist Arithmetik - wenn auch nicht ganz die gewohnte. Ich werde ausgehen von jenen Zahlen, die ich unter 1.2.2. vorgestellt habe und die mit den bekannten Dualziffern übereinstimmen. Ihre Darstellung erwies sich als sehr sinnfällig und einfach. Ich habe dabei schon bemerkt, dass es sich letzlich um eine Frage der Bedeutung der Werte H und L des Inverters handelt, und dass folglich besser von Ziffern und ihren Systemen geredet werden muss - jedenfalls im Rahmen der Inverterlogik. Nur im Ausnahmefall sind solche Ziffernsysteme den hier zu behandelnden Zahlensystemen so ähnlich, dass ohne Zeichen, wie sie in 1.2.2. vorgestellt wurden, Identität hergestellt werden kann. Nur der besseren Verständlichkeit wegen werde ich also eine Beziehung mit bekannten Ausdrücken benennen, um bekannte Begriffe dann zu erweitern auf die Möglichkeiten, die sich für Beziehungen zwischen Zahlen ergeben. 2.1.3.2.1. OPERATOREN Ein Operator in der Inverterlogik verknüpft eindeutig eine bestimmte Anzahl von Eingangsstellen mit einer bestimmten Anzahl von Ausgangsstellen, undzwar so, dass niemals vorangegangene Besetzungen des Operators eine Rolle spielen. BEGRIFF: 'Operator', 'Operation' ...ist ein logischer Apparat, dessen Eingangswerte bestimmte Stellen von Zahlen sind, die zu Ausgangswerten in bestimmten Stellen von Zahlen resultiert werden. Eine Operation ist die Bewirkung eines Operators. ERLÄUTERUNG: Dieser Begriff sortiert bestimmte logische Apparate unter neue Namen, sofern Argumente und Resultate Zahlen sein sollen und schliesst deshalb die elementaren Verknüpfungen aus. Die sind keine Operatoren. Während Zahlen also mit elementaren Verknüpfungen begründet werden, wird der Umgang mit ihnen mit logischen Apparaten begründet. Nur diese Vorgehensweise erlaubt, die Zahlen schliesslich selbst durch logische Apparate zu erzeugen. Nur so kann man wissen, dass Zahlen sind, was ein bestimmter logischer Apparat resultiert. Die Zahlen gibt es als solche ja bereits vorher. Der Klarheit wegen mag es dabei bleiben. Weil Operatoren stets Resultate mit der Bedeutung von Zahlen bewirken sollen, stehen sie Zustandsmaschinen gegenüber, deren Bewirkung geändert sein kann und deren Resultate infolgedessen auch mehr als eine Bedeutung haben müssen. 2.1.3.2.1.1. INKREMENT UND DEKREMENT Wenn ich die Zahlen selbst zu Resultaten von logischen Apparaten mache, muss der erste Schritt sein, das, was als Gestaltungsprinzip vorgestellt wurde, in etwas umzuformen, was ich im weiteren als Übertragsbildung abhandeln und verallgemeinern werde. Ich werde also die willkürlich auf Stellen bezogenen Bewertungen, ausgedrückt mit 'niederwertig' und 'höherwertig' zu Beziehungen machen, die am niederwertigen Ende mindestens einen Eingang und am höherwertigen mindestens einen Ausgang für jene besonderen Argumente enthalten, die üblicherweise als Überträge bezeichnet werden. Den Schritt von einer Zahl zur nächsten behandle ich mit gewohnten Ausdrücken. BEGRIFFE: 'Inkrementieren', 'Dekrementieren' Der Schritt von einer Zahl zur nächst grösseren ist Inkrementieren, der zur nächst kleineren ist Dekrementieren. ERLÄUTERUNG: Damit habe ich kein besonderes Element =1 zum Begriff gemacht, sondern den einen Inverter als Maß genommen, der den Unterschied zwischen zwei Adressen in einer vollständigen Adressmenge macht. Inkrementieren oder Dekrementieren führt also zu Resultaten, die eine vollständige Zahlenmenge bilden. Es werden immer verschiedene Resultate von diesen Operatoren bewirkt, wenn verschiedene Argumente resultiert werden, wenn man von Fällen absieht, die durch die Endlichkeit der Stellen verursacht werden (...handle ich weiter unten ab). BEGRIFFE: 'Übertrag', 'Übertragsbildung' Ein Übertrag ist ein Argument in einer oder mehreren Eingangstellen, mit denen eine Bewirkung in der Breite einer Beziehung geschieht. Die Verknüpfungen, die das geschehen lassen, sind die Übertragsbildung. Sie kennzeichnet den Umgang mit Zahlen, ist bedingt durch Wertigkeit und ist Teil jedes Operators. ERLÄUTERUNG: Auch die Übertragsbildung ist nicht in der gewohnten Weise als Addition oder Subtraktion von Teilresultaten gesehen, sondern als Teil eines Operators. Es ist auch sofort zu sehen, dass die Operatoren für die grossen Anzahlen verschiedener Zahlensyteme, die durch Vertauschen von Wertigkeiten zustande kommt, allein durch die Leitung der Überträge zu unterscheiden ist. Da bereits gesagt ist, dass Zahlen nur eine von beliebig vielen Bedeutungen sind, ist hier schon zu sehen, wie sich die Übertragsbildung verallgemeinern lässt als Teil von logischen Apparaten, die Resultate nicht mit der Bedeutung von Zahlen bewirken. Am Beispiel des in 1.2.2. erwähnten Dualziffernsystems stelle ich nun einen Operator vor, der zum System gehört. Dieser Operator ist besonders einfach. Zunächst gehen wir also mit Ziffern um, die als Bedeutungen den Werten H und L gegeben werden: H=1 und L=0 In einem ersten Ansatz gehe ich von den Möglichkeiten für Argument und Resultat in einer Stelle aus. Es gibt vier Möglichkeiten für die Besetzung der Argumentstellen für eine Stelle im Resultat, die man als Adressen sehen kann: Adressen: Bedeutungen: Resultatstelle / Übertrag Übertrag L-->O--H------->O Argument L-->O | | Übertrag H->>O--H---->O->O--Resultat Argument L-->O | | | | Übertrag L-->O--H---->O | Argument H->>O | | Übertrag H->>O--H------->O Argument H->>O--------------Übertrag Diese offenbar nicht besonders elegante Formulierung zeigt vor allem mal, wie ein Operator grundsätzlich aus der Verknüpfung von Adressen bestehen kann. Ich stelle nun ohne besondere Herleitung den optimierten Operator vor, der in einer gegebenen Anzahl von Stellen jede Ziffernfolge so zu operieren gestattet, dass die jeweils nächst grössere Zahl resultiert wird: Argument: Resultat: 1--------------o------>O 1.Stelle Zahl--X-o---->O-->O--1.Stelle nächst grössere Zahl | | | | o--->>O-->O o----->>O | Übertrag in 2.Stelle: o-------o | o------>O 2.Stelle Zahl--X-o---->O-->O--2.Stelle nächst grössere Zahl | | | | o--->>O-->O o----->>O------Übertrag in 3.Stelle Hier wird also das Inkrement =1 entsprechend H im Übertragseingang der 1.Stelle als Argument verwendet. Der Operator für das Inkrement kann natürlich für beliebig viele Stellen einer nächst grösseren Dualziffer gedacht werden, ist aber hier nur für zwei Stellen gezeigt. Auch hier zeigt sich, was bereits angesichts der Zahlen zu finden war: Die Menge der in den Stellen möglichen Zahlen wird periodisch wiederholt bei Erreichen der grössten Zahl, undzwar ohne Übertrag in die niederste Stelle. Es ist ausserdem leicht festzustellen, dass die mit einem Inkrementierer resultierten Zahlen immer auch eine kleinste Zahl enthalten, die nicht =1, sondern =0 ist. Sofern man diese Zahlen als 'natürliche' betrachten will, hat man sich also von der Idee zu verabschieden, dass die Null keine natürliche Zahl sei, und dass die Anzahl der Zahlen unendlich sei. Mal abgesehen von niederster und höchster Stelle kann man sehen: Dieser Operator sind Komparatoren, verknüpft mit je zwei weiteren in niederer und höherer Stelle. Bezüglich der Übertragsleitungen sind es aber Schalter. Damit ist auch gezeigt, dass durchaus mehr als ein Operator für die gleiche Operation im gleichen Zahlensystem taugt. Die Zahlen, die mit Inkrementieren erzeugt werden können, sollten auch mit Dekrementieren erzeugt werden können. Mit den gleichen Operatoren scheint das zunächst nicht zu gehen. Die nächst kleinere Zahl ist aber denkbar einfach und ohne Bild zu machen, indem mit jeder Argument- und Resultatstelle noch ein Inverter verknüpft wird. Aus der grösstmöglichen Zahl wird dann durch Invertierung die kleinstmögliche, das Argument, das inkrementiert und invertiert als Resultat die grösstmögliche Zahl -1 ergibt. Der Übertrag macht die Resultate also kleiner als die aktuellen Argumente. Erst eine weitere Vorstellung erlaubt aber Inkrementieren und Dekrementieren als im wesentlichen gleiche Beziehung zu sehen: Verknüpft man die Operatoren mit weiteren so, dass die Resultate zu Argumenten des jeweils nächsten werden, bildet also eine tiefe Beziehung, die alle Zahlen in einer gegebenen Anzahl von Stellen abzugreifen gestattet, dann lassen sich nach der ersten Kürzungsregel die jeweils zwei Inverter zwischen Resultatstellen und nächsten Eingangsstellen kürzen. Die Beziehung für das Dekrementieren unterscheidet sich dann von der für das Inkrementieren nur durch die Inverter vor den ersten Eingangsstellen und die nach den letzten Ausgangsstellen. Damit ist jedenfalls bewiesen, dass es sich bei verschiedenen Operationen (Inkrementieren, Dekrementieren) um die gleichen Besetzungen in den gleichen Operatoren handelt, dass es also auch um die gleichen Zahlen geht. ERLÄUTERUNG: Dieser Rechengang ist gut bekannt. Das in allen Stellen invertierte Resultat ist als "Einserkomplement" in Gebrauch. So einfach muss das nicht sein. Das beliebte Dezimalziffernsystem erfordert zum Beispiel 4 Stellen, die die Bedeutung einer Dezimalziffer adressieren. Die Besetzung dieser 4 Stellen wird dabei nicht vollständig genutzt, weil 16 Möglichkeiten vorhanden, nur 10 aber nötig sind. Es müssen also 6 Möglichkeiten ausgeschlossen werden, der Übertrag muss dann durch das Resultat bedingt geschaltet werden. Das scheinbar einfache Abzählen der Finger ist allerdings noch deutlich komplizierter - was die Logik der Nervenreize anbetrifft... Das Beispiel des vertrauten Dezimalziffernsystems zeigt, dass die nächst grössere Zahl abhängig von der Bezifferung sehr verschieden ausfallen muss. Insbesondere das Dezimalziffernsystem zeigt auch, dass Überträge in benachbarte Stellen nicht hinreichend sein können. Gut bekannt sind die Probleme bei Umwandlung von Dualziffern in Dezimalziffern und v.v. 2.1.3.2.1.1.1. ZAHLATTRIBUTE Wie anders der in den elementaren Verknüpfungen gebildete Zahlbegriff ist, zeigt sich bereits angesichts dessen, was wir als 'negative Zahlen' kennen. Die sollten sich ergeben, wenn eine beliebige Zahl solange dekrementiert wird, bis eine Zahl =0 zu dekrementieren ist. Ich wähle diese kuriose Formulierung, weil diese Zahl abhängig ist von der Anzahl der Stellen, die =0 sind, und weil in den gezeigten Beziehungen offenbar keine Stelle für ein Minuszeichen vorhanden ist. Statt dessen erwies sich bereits angesichts der mit Gestaltungsprinzipien gekennzeichneten Zahlen, dass im betrachteten Feld beim Fortschreiten zur nächst grösseren oder nächst kleineren Zahl nach grösster oder kleinster Zahl ohne irgendeine besondere Verknüpfung die Zahl am anderen Ende des durch die Stellen gegebenen Intervalls erscheint - nach der grössten Zahl also die kleinste und umgekehrt. Auch eine Beziehung anstelle von Abgriffen des Betrachters macht das nicht anders, weil diese Beziehung ja nicht mehr enthält als das Gestaltungsprinzip. ERGO: Offenbar sind die positiven Zahlen von den negativen nur zu unterscheiden, wenn man nicht nur die Iteration bei Inkrementieren und Dekrementieren, sondern auch eine offenbar willkürliche Entscheidung über die Zahl selbst in Betracht zieht. Man muss also einer Zahl die Bedeutung zu geben, positiv oder negativ zu sein. Ohne weitere Begriffe geht das nicht. REGEL: Negative Zahlen sind die gleichen wie positive. Die Bedeutung 'negativ' wird durch eine Beziehung gegeben, die nicht Teil des Operators ist. ERLÄUTERUNG: Beim Umgang mit Zahlen in Computern ist das üblich. Dort hat sich als Geber der Bedeutung 'negativ' das 'Vorzeichenbit' (='signbit') eingebürgert, das die höchstwertige Stelle ist, also der Übertrag aus der nächst niederen Stelle. Die Anzahl der mit gegebener Stellenzahl darstellbaren Zahlen wird damit jedenfalls halbiert. Das muss nicht sein, wenn eine prinzipiell beliebige Beziehung parallel zu den Operatoren liegt, die die Bedeutung 'negativ' gibt und mit dem höchsten Übertrag bedingt wird. Bei der Herleitung von Zahlen bin ich von der Annahme ausgegangen, dass es wünschenswert sei, unendliche Mengen von Zahlen zu erschaffen. Nun ist aber zu sehen, wie willkürlich das war, dass also keineswegs die ursprüngliche Sicht aufgegeben werden musste, die nicht verknüpfte Inverter als gegenstandslos sah. Unendlichkeit hat so gesehen keinen Platz in der Logik. Immer handelt es sich um abzählbare Mengen von Bedeutungen, gegeben durch abzählbare Mengen verknüpfter Inverter, die allerdings beliebig gross werden können. Offenbar kann deshalb ein Intervall von Zahlen nicht mit Operatoren verlassen werden, wenn nicht Bedeutungsgebung aus den Überträgen an den Grenzen eines Zahlensystems etwas anderes als einen Übertrag macht. Damit wäre aber wiederum die Regelmässigkeit der Bildung eines Operators aus bestimmten Verknüpfungen jeder Stelle mit weiteren aufgegeben. Und schliesslich lässt sich feststellen, dass negative Zahlen überhaupt nur dadurch erscheinen, dass nicht unendlich viele Zahlen in einem Zahlensystem stecken können, sondern eine grösste Wertigkeit gegeben ist. Die wäre im Unendlichen nur dadurch zu haben, dass mit einer zusätzlichen Annahme eine unendliche "Anzahl" einer anderen Unendlichkeit exakt gleich gesetzt werden kann, nämlich der Anzahl der Inverter, die Argument und Resultat invertieren. Unendlichkeiten müssten also abzählbar sein, was sie per definitionem nicht sein sollen. Weil offenbar die Bedeutung 'negativ' nicht Teil eines Operators sein kann, sondern eine weitere Qualität der Zahlen darstellt, ist ein Begriff für solche Qualität zu machen: BEGRIFF: 'Zahlattribut' ...ist eine Bedeutungsgebung für Zahlen, die den Umgang mit ihnen definiert. Das Zahlattribut ist nicht Teil eines Operators. 2.1.3.2.2. ADDITION UND SUBTRAKTION Nachdem klar ist, wie der kleinste Schritt von einer Zahl zu nächst kleinerer oder grösserer Zahl aussehen muss und somit ein Zahlensystem operiert werden kann, ist zu erörtern, wie man andere Schritte zwischen zwei Zahlen zu tun hat. Zunächst interessiert die Beziehung zwischen zwei Zahlen, die additiv oder subtraktiv operiert werden. Die Ergebnisse stehen jedenfalls nicht unmittelbar benachbart in der Folge der Zahlen, und es ist nicht nur ein Argument und ein Übertrag zu operieren. BEGRIFFE: 'Addieren', 'Addition', 'Augend', 'Addend', 'Summe' Eine Addition ist eine Anzahl von Inkrementierungen, die ein Operator namens 'Addieren' zur Summe resultiert. Dabei ist das eine Argument der Augend, während das andere Argument der Addend ist. Ein drittes Argument kann ein Übertrag sein. ERLÄUTERUNG: Dieser Begriff ist der gewohnte, wenn man davon absieht, dass er hier auf dem Begriff des Inkrementierens aufbaut. Während üblicherweise aber ein Inkrement nur als besonderer Addend betrachtet wird, ist in der Inverterlogik ein eigener Operator für das Inkrementieren zu finden, von dem aber anzunehmen ist, dass er durch Kürzung aus dem Addieren abzuleiten ist. Zum Beweis geht man am besten von der Adressmenge für eine Resultatstelle aus. Ich werde die Addition nun so darstellen, dass leicht zu sehen ist, was gegenüber dem Inkrementieren zusätzlich Teil des optimierten Operators ist. Ohne dies auszuführen, ist dabei der Ausgangspunkt eine Tabelle, die den Werten an hier drei Eingangsstellen, Werte an hier zwei Ausgangsstellen zuordnet, deren eine die Übertragsbildung leitet. Ich zeige hier den Operator nur für eine einzige Stelle: Eingänge: Ausgänge: 1.Stelle Übertrag-o------>O-->O--------o---->>O>-----2.Stelle Übertrag 1.Stelle Augend---X-o---->O | | o--->O | | | | | o-X---->O-->O | | 1.Stelle Addend---X-X-o-->O | | | | | | | | | | o-X-->O-->O | | | | o-->O | | | | | | | o-X-X->>O------------X-o-->>O>-----1.Stelle Summe | o-X->>O o->>O->O | | o->>O | | | | | o-X-X-->O--------------->O o-X-->O o-->O ERLÄUTERUNG: Wie für die Operation Inkrementieren gibt es auch für die Operation Addieren mehrere Beziehungen, insbesondere eine aus Komparatoren bestehende, die tiefer ist als die hier gezeigte. Ausserdem gibt es die Möglichkeit, Operatoren zum Inkrementieren einer Stelle so zur Serie zu verknüpfen, dass der Addend nicht Argument am Eingang eines Operators ist, sondern am Eingang einer Beziehung liegt, die entsprechend seiner Grösse Serien von Inkrementierungen einschaltet. Die Subtraktion kann ebenfalls mit dem oben erwähnten 'Einserkomplement' vollzogen werden. Im praktischen Gebrauch ist aber der Umgang mit dem inkrementierten 'Einserkomplement', das 'Zweierkomplement' genannt wird. Ausserdem ist noch eine Asymetrie zwischen den Argumenten zu berücksichtigen, die im Gegensatz zur Addition nicht vertauschbar sind. Auch das gebietet, ein Zahlattribut 'negativ' neben den Zahlen zu sehen, womit solche Bedeutung von Argumenten gegeben werden kann. BEGRIFFE: 'Subtrahieren', 'Subtraktion', 'Minuend', 'Subtrahend', 'Differenz' Eine Subtraktion ist eine Anzahl von Dekrementierungen, die ein Operator namens Subtrahieren zur Differenz resultiert. Dabei ist das eine Argument, das durch Subtrahieren kleiner wird, der Minuend, während das andere Argument der Subtrahend ist. Weitere arithmetische Operationen wie Multiplizieren, Dividieren, Potenzieren und Radizieren sind unschwer mit der hier beschriebenen Menge von Operatoren für Addieren herzuleiten. Ich erübrige deshalb die detaillierte Darstellung der jeweiligen Operatoren, die bekannte Rechengänge darstellen. Interessant sind aber Lösungen, die andere Übertragsbildung enthalten und unter 2.1.3.2.3. vorgestellt werden. Hier ist zunächst noch abzuhandeln, dass die Zahlen einen Wertevorrat bilden, der durch Operatoren nicht verlassen werden kann, dass also schon für die Abhandlung negativer Zahlen Bedeutungsgebung nötig wird, die nicht Teil von Operatoren ist. Das gilt ebenfalls für alle Rechenarten, die vielfache von Dekrementen bzw. Subtrahenden im Rechengang enthalten. Das sind Dividieren und Radizieren. Auch bei diesen Rechenarten wird das Erscheinen der kleinsten nach der grössten Zahl und umgekehrt Bedeutung erhalten müssen, allerdings mit anderem Zahlattribut als 'negativ'. Hier wären Komma bzw. Bruchstrich zu nutzen. Weil es ebenfalls die 0 ist, die die Bedeutungsgebung veranlasst, kann ein Verbot die 0 zu teilen auch nicht taugen. Mindestens die Stellen vor dem Komma eines Dividenden können in so vielen Stellen wie der Breite des Divisors 0 sein und sind damit auch teilbar. Eine Ausnahme machen zu sollen, wenn der ganze Dividend =0 ist, ist jedenfalls dann unsinnig, wenn der Rechengang in einer Beziehung vollzogen wird. Das Argument, dass das Resultat dann unendlich und damit undefiniert sei, trifft nicht zu bei den hier benutzten Zahlen. Da gibt es immer eine grösste Zahl, die nicht unendlich ist. Ähnlich sind die Überlegungen anzustellen, wenn es um Radizieren von -1 geht. Dann hat man ja mit 'imaginären Zahlen' zu tun. Negative Zahlen sind ja von positiven nur durch Bedeutungsgebung zu unterscheiden. Man kann also beliebige negative Zahlen mit gleichen Operatoren radizieren wie positive, hat aber die Resultate bei Überträgen aus höchsten Stellen anders zu behandeln. 2.1.3.2.3. MULTIPLIKATION UND DIVISION MIT POTENZEN VON 2 Im Dualziffernsystem kann man ebenso wie in anderen Ziffernsystemen sehr einfach mit Potenzen der Basis des Systems multiplizieren oder dividieren, indem man die Ziffern in der Breite schiebt. Das Schieben um zwei Stellen nach links macht z.B. im Dualziffernsystem aus den Ziffern 001 die Ziffern 100, was der Multiplikation einer 1 mit 2 potenziert mit 2 entspricht. Im Dezimalziffernsystem ist das die Multiplikation einer 1 mit 10, potenziert mit 2 und gut bekannt. Weil dieser Umgang mit mehrstelligen Werten H,L auch andere Bedeutung als die Bedeutung von Dualziffern haben kann, mache ich einen allgemeineren Begriff für den Operator. BEGRIFF: 'Schieben' ...verknüpft die Stellen in einem mehrstelligen Wert mit anderen Stellen in einem mehrstelligen Resultat ohne die Abfolge der Stellen in der Breite zu ändern. ERLÄUTERUNG: Dieser Operator ist offenbar dann kürzbar und entfällt, wenn er zwischen Teilbeziehungen wie anderen Operatoren in einem logischen Apparat nötig ist. Dann ist lediglich die Stellenbewertung wichtig, die allein durch Leitungen und Bedeutungsgebung zustande kommt. Anders ist das bei Maschinen, die noch zu betrachten sind und die eine nicht einem Betrachter beliebig verfügbare Bedeutung von Stellen auf bestimmten Leitungen enthalten. Das zeigt sich ab 2.2.3. Grundsätzlich verknüpft der Operator zwei Argumente. Eins, das geschoben wird, und eins, das die Anzahl von Stellen gibt, um die geschoben wird. Ausserdem ist zu unterscheiden, ob links oder rechts geschoben werden soll, und welcher Wert in die Stelle gesetzt wird, die frei wird, bei Zahlen also die höchst- oder niederwertigste. Schliesslich ensteht ein Übertrag, der auch breiter als eine Stelle sein kann. Solche Unterschiede sind, wie das folgende Beispiel beweist, nicht zu Zahlattributen zu machen, sondern betreffen den Operator, der für die unterschiedlichen Operationen jeweils ein anderer ist. Ich zeige nun den Operator für Schieben um 1-4 Stellen nach links, was hier unten ist, und geschobene Werte mit 2 Stellen, wobei eine Null nachgeschoben wird. Die Verschiebung um 0 Stellen wird nicht gezeigt. Argument Verschiebung: Resultat Schieben: L------------------1.Stelle V1-->>O-----------o--->>O----------------------------------2.Stelle V2--->O | o->>O o-X-------->>O | o->>O->O->----------------------3.Stelle V1--->O-----------o-X->>O--X----->O V2-->>O | o->>O | o-X------X->>O | o->>O->O->----------------------4.Stelle V1-->>O-----------o-X->>O--X----->O V2-->>O | o->>O | o-X------X->>O | o->>O---------------------------5.Stelle Argument Schieben: | | 1.Stelle------------o | 2.Stelle-------------------o Die Stellen 3,4,5 des Resultates wären Überträge, falls es nicht breiter als das Argument sein kann. Die nötigen Änderungen für rechts Schieben und mehr Stellen der beiden Argumente lassen sich leicht denken und sollen deshalb nicht vorgestellt werden. Beim Dividieren wird die Übertragsbildung jedenfalls in der anderen Richtung vollzogen werden. Resultate werden dabei ja kleiner. Die Übertrage unterhalb der 1.Stelle sind dann auch anders zu behandeln, weil es Reste sind, die zu Nachkommastellen zu verarbeiten wären, wenn man nicht anderen Ideen folgt. 2.1.3.2.4. MÖGLICHE OPERATOREN Nachdem gezeigt wurde, wie Operatoren aussehen, die bekannte arithmetische Operationen bewirken, und nachdem sich schon dabei herausstellte, dass eine bestimmte Operation von mehr als einem Operator bewirkt werden kann, soll nun betrachtet werden, was überhaupt möglich ist an Operationen mit Zahlen. Ich habe bereits festgestellt, dass durch Bedeutungsgebung, die im einfachsten Fall durch Zeichen vorgenommen werden kann, die Überzahl der möglichen Zahlensysteme wünschenswert klein gekriegt werden kann. Man kann deshalb die Betrachtung vieler Operatoren auf sehr wenige beschränken, die in einem Zahlensystem möglich sind, dessen Zahlen einfach in Dualziffern auszudrücken und somit gut bekannt sind. Damit sehe ich erstmal ab von den Varianten, die allein durch andere Leitung der Überträge gekennzeichnet sind. Die Operatoren solcher Zahlensysteme sind zwar alle verschieden, aber auf eine sehr triviale Weise, die sie doch sehr ähnlich erscheinen lässt, weil sie allein durch Zeichen in einander übergehen. Es gibt aber offenbar tiefere Beziehungen, die nicht so trivial ähnlich sind. Das müssen dann Beziehungen sein, in denen die Übertragsbildung nicht in der schon gezeigten Form vorgenommen wird, nämlich mit einstelligen Argumenten je Stelle und in der Breite nur in Richtung höherer Stellen. Es sollen also jene Operatoren betrachtet werden, die mehrstellige Überträge bilden. Und ich stelle zur Einleitung einen Operator für Multiplizieren vor, der nicht aus einer Serie von Operatoren für Addieren besteht. Ich beschränke mich der Überschaubarkeit wegen auf je drei Stellen für die Argumente und sechs Stellen für das Resultat. Der bekannte Algorithmus für das Multiplizieren im Dualziffernsystem sieht so aus, dass der Wert in den jeweiligen Stellen des Multiplikators das Kriterium dafür ist, ob der Multiplikand verschoben um die Wertigkeit der Stelle addiert wird zum Produkt oder nicht. Ich zeige das mit Dualziffern 101. Das Produkt von 101+101 ist umformbar in folgende Summenbildung: 101 1.Stelle des Multiplikators =1 -> Multiplikand zu addieren + 000 2.Stelle des Multiplikators =0 -> Multiplikand nicht vorhanden + 101 3.Stelle des Multiplikators =1 -> Multiplikand zu addieren Eine 6.Stelle wird nötig für einen möglichen Übertrag. Die Beziehungen für den Multiplikanden mit je einer Stelle des Multiplikators sehen dann so aus: 1.Stelle des Multiplikanden--------->>O----------1.Stelle des Addenden 2.Stelle des Multiplikanden-----------X->>O------2.Stelle des Addenden 3.Stelle des Multiplikanden-----------X---X->>O--3.Stelle des Addenden | | | x.Stelle des Multiplikators-------o->>O | | o----->>O | o--------->>O Je nach Anzahl der Stellen des Multiplikators müssen solche Addenden dann zum Produkt (einer Summe) um die richtige Zahl von Stellen versetzt addiert werden, also für die x.Stelle um x Stellen. Wir haben in diesem Beispiel dann 3 solcher Addenden, die für die 6 Resultatstellen R1-R6 verknüpft werden müssen. Diese Addenden nenne ich nun A,B,C und bezeichne mit Postfix die Stelle, also mit A1 die erste Stelle des niedersten Addenden. Ich werde diese Addenden nun nicht über Zwischensummen addieren, sondern eine Übertragsbildung für mehrstellige Überträge zeigen, bei der zugleich der Versatz der Addenden vollzogen wird. Der Lösungsweg geht auch hier über die Verknüpfung von Adressen mit dem Ziel minimaler Tiefe. Überträge werden mit Ü und postfix für die Stelle bezeichnet, die mit welcher anderen Stelle verknüpft wird - Ü23 ist dann ein Übertrag aus Stelle 2 in Stelle 3. 1.Stelle / unveränderte 1.Stelle 1.Addend A1------------------------------R1 2.Stelle / Übertrag in 3.Stelle möglich / 2 Adressen A2-o-->O->----------------------R2 B1-Xo->O |o->>O o-->>O-----------------------Ü23 3.Stelle / Überträge in 2 höhere Stellen möglich / 15 Adressen Ü23--->>O---->O->---------------R3 A3----->O | B2----->O | C1----->O | | Ü23---->O---->O A3---->>O | B2----->O | C1----->O | | Ü23--->>O-----X--->O->----------Ü34 A3---->>O | | B2----->O | | C1----->O | | | | Ü23---->O---->O | A3----->O | | B2---->>O | | C1----->O | | | | Ü23--->>O-----X--->O A3----->O | | B2---->>O | | C1----->O | | | | Ü23---->O-----X--->O A3---->>O | | B2---->>O | | C1----->O | | | | Ü23--->>O---->O | A3---->>O-----X--->O B2---->>O | | C1----->O | | | | Ü23---->O---->O | A3----->O | | B2----->O | | C1---->>O | | | | Ü23--->>O-----X--->O A3----->O | | B2----->O | | C1---->>O | | | | Ü23---->O-----X--->O A3---->>O | | B2----->O | | C1---->>O | | | | Ü23--->>O---->O | A3---->>O-----X--->O B2----->O | | C1---->>O | | | | Ü23---->O-----X--->O A3----->O | | B2---->>O | | C1---->>O | | | | Ü23--->>O---->O | A3----->O-----X--->O B2---->>O | | C1---->>O | | | | Ü23---->O---->O | A3---->>O--------->O B2---->>O C1---->>O Ü23--->>O-----------------------Ü35 A3---->>O B2---->>O C1---->>O 4.Stelle / Überträge in 2 höhere Stellen möglich / 7 Adressen Ü34--->>O---->O->---------------R4 B3----->O | C2----->O | | Ü34---->O---->O B3---->>O | C2----->O | | Ü34--->>O-----X--->O->----------Ü45 B3---->>O | | C2----->O | | | | Ü34---->O---->O | B3----->O | | C2---->>O | | | | Ü34--->>O-----X--->O B3----->O | | C2---->>O | | | | Ü34---->O-----X--->O B3---->>O | | C2---->>O | | | | Ü34--->>O---->O | B3---->>O--------->O C2---->>O 5.Stelle / Übertrag in 1 höhere Stelle möglich / 7 Adressen Ü35--->>O---->O->---------------R5 Ü45---->O | C3----->O | | Ü35---->O---->O Ü45--->>O | C3----->O | | Ü35--->>O-----X--->O->----------R6 Ü45--->>O | | C3----->O | | | | Ü35---->O---->O | Ü45---->O | | C3---->>O | | | | Ü35--->>O-----X--->O Ü45---->O | | C3---->>O | | | | Ü35---->O-----X--->O Ü45--->>O | | C3---->>O | | | | Ü35--->>O---->O | Ü45--->>O--------->O C3---->>O In den Übertragsleitungen sind nicht berücksichtigte Kürzungen möglich... Weil hier die Multiplikation bewirkt werden soll, können Multiplikand und Multiplikator auch vertauscht werden. Deshalb können verschiedene Paarungen der Operanden (z.B. 3*1 oder 1*3) gleiche Resultate bewirken. Das muss offenbar nicht immer möglich sein. Eine Division, bei der die Operanden ebenfalls mit einer Übertragsbildung verknüpft werden können, erlaubt das Vertauschen ja nicht. Ausserdem wird dann eine Bedeutungsgebung für Komma und Stellen dahinter nötig, falls nicht ein anderes Schema für den Umgang mit Resten gewählt wird, die ja einen Übertrag unterhalb der 1.Stelle darstellen und durch eine Übertragsbildung in Richtung niederwertiger Stellen zustande kommen. Man kann sehen, dass solche Beziehungen mit grösser werdender Stellenzahl kaum tiefer werden, allerdings etwas breiter, falls der Lösungsweg über die Verknüpfung von Adressen geht - was immer möglich ist, weil die Operationen ja innerhalb vollständiger Adressmengen stattfinden. Ganz nebenbei wurde auch gezeigt, wie der Operator Schieben, der beim bekannten Algorithmus nötig wird, gekürzt werden kann. Leicht vorstellbar sind Abwandlungen, die nicht letztlich eine Summe oder Differenz resultieren. 2.1.3.2.5. MÖGLICHE ZAHLATTRIBUTE Wir konnten sehen, dass das Zahlattribut 'negativ' mit dem Übertrag aus der höchsten Stelle zu tun hat. Man kann daraus den Schluss ziehen, dass es stets ein Übertrag, der ja auch mehrstellig sein kann, ist, der das Kriterium für den Übertritt in einen Bereich darstellt, dem andere Bedeutung zu geben ist. Tatsächlich sagt der Übertrag aus höchsten oder niedersten Stellen immer, dass ein Resultat nicht mehr in die gegebene Zahl von Stellen gebener Wertigkeit passt. Dieser Übertrag ist immer möglich, weil eine unendliche Anzahl von Stellen nicht zu haben ist und jeder Operator eine Übertragsbildung enthält. Unter 2.1.3.2.3. habe ich bereits vorgestellt, wie ein Operator für Schieben das nicht verfügbare Komma ersetzen kann. Man kann also eine Zahl haben, die die Wertigkeit von Stellen ausdrückt, wenn man die Lage von Leitungen nicht manipulieren kann. Dies ist als 'Fliesskommarechnung' gut bekannt und soll hier nicht weiter betrachtet werden, weil es nicht nur um ein einziges Zahlensystem, sondern auch um beliebig viele Operatoren geht. Mit Schieben kann man nicht nur die Zahlen kleiner als 1, sondern auch zu grosse Zahlen in den Bereich der bewirkbaren Zahlen bringen, die damit immer Zahlen in einer gegebenen Zahl von Stellen sind, in denen immer vollständige Zahlenmengen möglich sind, die allerdings durch eine an die Operation angepasste Bedeutungsgebung in Werte für Zahlen und Zahlattribute, die auch die Wertigkeit von Stellen in Zahlen bedingen können, zerfallen. Die Bedeutungsgebung für Zahlattribute habe ich nicht unter den Begriff der Operatoren gestellt werden, weil stets nicht eine Zahl, sondern ein Übertrag das Zahlattribut bedingt. Auch wenn ein Zahlattribut selbst wieder wie eine Zahl operiert werden kann (z.B. als Potenz), ist der dann nötige Operator Teil einer Bedeutungsgebung, die sehr beliebig anders sein kann, während die Resultate eines Operators immer Zahlen sind und nichts weiter. REGEL: Jede Operation resultiert mindestens zweierlei Mengen von Werten H,L ,die als Zahlen von Zahlattributen zu unterscheiden sind, die durch einen Übertrag in mindestens einer Stelle bewirkt werden. ERLÄUTERUNG: Zunächst ist festzustellen, dass Operatoren zwar logische Apparate sind, die in ihrer Bewirkung durch Argumente nicht zu ändern sind, dass aber durch die Verknüpfung mit einer Bedeutungsgebung für ein Zahlattribut schliesslich eine Zustandsmaschine entsteht. Andernfalls könnte man nichtmal durch Subtrahieren von positiven zu negativen Zahlen kommen. Weil die Menge der Operatoren beliebig gross sein kann, kann folglich auch die Menge der Zahlattribute beliebig gross sein, die immer auch die Wertigkeit von Stellen betreffen können. Damit werden Vorstellungen über Mengen von Zahlen ausserordentlich trivial! Immer gibt es eine bestimmte, abzählbare Menge von Stellen, wo Werte H,L eine von zwei Bedeutungen haben, gegeben durch eine Beziehung. Immer gibt es eine Menge möglicher Besetzungen endlicher Anzahl für beide Bedeutungen. REGEL: Immer sind Zahlen wie Zahlattribute eine endliche Menge von Möglichkeiten der Besetzung einer bestimmten Anzahl von Stellen. Auch die Zahlattribute sind stets bezogen auf eine bestimmte Anzahl von Stellen in Zahlen. 2.1.3.2.6. MÖGLICHE ZAHLENMENGEN Während ich bis hier Zahlen und ihre Verknüpfung mittels Operatoren betrachtet habe, will ich nun noch die Zahlen betrachten, die als Resultate erscheinen und durch Überträge auch verschiedene Zahlattribute bekommen können. Es mag interessant sein, Argumente und Resultate als Elemente einer einzigen Menge zu sehen, um weitere Aussagen herzuleiten. Dies geht mit den hier betrachteten Zahlen nicht in der bekannten Weise, weil sie grundsätzlich in einer endlichen Anzahl von Stellen gegeben sind, die nicht durch Operationen vermehrt werden können. Es können deshalb nicht nur Stellen im Resultat fehlen, falls dies eine grössere Zahl ist als die grösste Zahl, die ein Operator resultieren kann. Es können auch Stellen fehlen, wenn z.B. bei Divisionen Reste entstehen, die bei Fortsetzung des Rechenganges zu Zahlen "zwischen" den Zahlen werden, also Zahlen zwischen 1 und 0, die dann Addenden der endgültigen Resultate sind. Bedingt durch die Endlichkeit von Resultatstellen gibt es also prinzipiell immer auch falsche Resultate, wenn die Operanden in der gleichen Zahl von Stellen gegeben sein können. Man kann sich das sehr einfach klar machen im vertrauten Dezimalziffernsystem, wenn man bei der Multiplikation nur eine Resultatstelle erlaubt. Schon bei 4*4 erscheint dann wie bei 2*3 eine 6 usw... REGEL: Niemals können in einer vollständigen Zahlenmenge sowohl alle möglichen Operanden wie alle Resultate enthalten sein. Immer ist eine Bedeutungsgebung für Überträge aus grössten oder kleinsten Stellen nötig. Immer sind auch nicht vollständige Resultate möglich, bei denen ausserhalb des Wertebereiches liegende Stellen fehlen. Was aber bei Inkrementieren und Dekrementieren nur als Übertrag in einer Stelle erscheint, sind bei anderen Operatoren kombinierte Werte. Dann können bestimmte Zahlen ein Rest sein, ein Übertrag oder es können unvollständige Resultate erscheinen. Beim Umgang mit Zahlen muss deshalb auch stets das Verhältnis von Stellen für Operanden einerseits und Resultate andererseits berücksichtigt werden. Immer aber sind die Resultate Möglichkeiten einer Besetzung in einer gegebenen Anzahl von Stellen und damit Zahlen, die durch den Operator bewirkt sind. Diese Zahlen bilden auch dann keine vollständige Zahlenmenge, wenn die Stellen für Resultate so bemessen sind, dass nur vollständige Resultate erscheinen. REGEL: Falls andere Operatoren als Inkrementierer oder Dekrementierer operieren, und falls alle Operanden grösser als 1 sind, sind stets zwei unvollständige Zahlenmengen gegeben, die vereinigt stets eine vollständige Zahlenmenge sind, gegeben durch die Anzahl der Stellen für das Resultat. BEGRIFF: 'komplementäre Zahlen' ...sind die unvollständige Zahlenmenge, die nicht Resultate sind. Die komplementären Zahlen sind tatsächlich Zahlen, weil sie immer in der Menge der möglichen Besetzungen von Resultatstellen enthalten sind und durch einen Inkrementierer bewirkbar wären. Das wird wichtig bei Zahlen, die durch bestimmte Operatoren resultiert werden, die nicht inkrementieren. Ein Beispiel sind die rationalen Zahlen, die als Brüche definiert sind und infolgedessen Resultate von Dividierern sind. Wie schon gesagt, ist das Resultat stets eine Zahl mit passendem Zahlattribut. Das Zahlattribut kann dann auch eine Potenz beinhalten, die bedingt, wo das Komma zu setzen wäre, wenn es in der Inverterlogik eines gäbe. Da das Zahlattribut aber nicht die Zahl ist, kann bei beliebigem Zahlattribut dennoch festgestellt werden, dass die Menge der Resultate stets kleiner ist als die Menge der möglichen Zahlen bei gegebener Anzahl von Stellen für Resultate. Und die Menge der vollständigen Resultate ist auch stets kleiner als durch die in der gleichen Zahl von Stellen möglichen Operanden bedingt ist. Während Unendlichkeit in der Inverterlogik keinen Platz hat, kann der Begriff 'ad limes infinitum' sehr wohl benutzt werden. Ich habe ihn hier stets mit dem Ausdruck 'beliebig' ersetzt, weil ich mich schon unter 1.1. festlegte, wohl zu unterschieden, was Bewirkung gegenüber Betrachtung ist. Ein Beobachter kann sich beliebig viele Stellen denken, ohne dass die Beziehung existierte. Ein solcher Beobachter kann sich angesichts der Regelmässigkeit einer Division und Potenzenbildung leicht vorstellen, dass Reste mit zunehmender Anzahl von Stellen immer kleiner werden, aber möglicherweise nie verschwinden - entweder periodisch erscheinen oder nicht ('irrational'). Er kann dennoch feststellen, dass es immer einen genau gleichen Rand der Beziehung gibt, wo Überträge die Resultate zu Resten machen und die Bedingung geben, die negativen Potenzen zu vergrössern oder auch nicht. Er kann deshalb überzeugt sein, dass jedes Resultat eine Möglichkeit in einer endlichen, abzählbaren und vollständigen Menge von Zahlen ist. Sieht er auch die immer gleich verknüpften Stellen für Überträge, ist eine weitere Resultatstelle zwar bedingt, aber falls nicht vorhanden, irrelevant in Bezug zur Zählbarkeit, die auch für die Anzahl der Rechenschritte bis zur niedersten Stelle gegeben ist. Ein 'endlicher, periodischer Bruch', der ein beliebig breites Resultat ist, ist also kalkulierbar im Gegensatz zu einem 'unendlichen, periodischen Bruch', obgleich beide Brüche in allen Stellen die gleiche Zahl sind, wenn tatsächlich gerechnet wird. ERGO: Während Stellen vor dem Komma in Richtung höherer Werte wachsen, wachsen die Stellen hinter dem Komma in Richtung kleiner Werte. Es gibt deshalb immer eine endliche Menge von Stellen, in denen Zahlen erscheinen, die bei irgendeiner Stelle auch ein Komma enthalten können, das durch eine Potenz ausgedrückt werden kann und damit ein Argument für Schieben ist. Die bereits unter 2.1.3.2.5. gefundene Regel für die Endlichkeit jeder Menge von Zahlen kann also noch mit Bezug zur Zählbarkeit formuliert werden: REGEL: Jede Menge von Zahlen ist eine endliche Anzahl dieser Zahlen. Damit ist zwar eine beliebig grosse Anzahl von Zahlen für jede beliebige Operation mit beliebigem Zahlattribut gegeben, aber nicht ausgeschlossen, dass unvollständige Resultate erscheinen. Dennoch ist die Anzahl der Resultate aus der Zahl von Operanden ebenso ableitbar wie das Verhältnis von Stellen für Operanden einerseits und vollständige Resultate andererseits. Eine infinitesimale Betrachtung erlaubt die Feststellung, dass mögliche unvollständige Resultate in einem Bereich der Zahlen auftreten, der für den Zweck einer Operation unerheblich ist. Für diese auf einen Zweck bezogene Bedeutung brauchen wir noch einen Begriff, der sie unterscheidet von Bedeutungen in der Inverterlogik, die ja bezogen sind auf Beziehungen und den Wert H BEGRIFFE: 'Relevanz', 'Irrelevanz' Irrelevant ist eine Verknüpfung von Invertern oder eine Besetzung, wenn sie in den Augen eines Betrachters überflüssig ist. Relevant ist beides, wenn das nicht so ist. ERLÄUTERUNG: Ich habe schon mehrfach diesen Begriff in diesem Sinne gebraucht und mich auf den Sprachgebrauch verlassen. Hier ist allerdings nicht nur jene jenseits der Inverterlogik stehende Bedeutung für einen Betrachter zu diskutieren, die irgendwelche Verknüpfungen überflüssig und kürzbar erscheinen lässt, sondern Werte, die jenseits einer Beziehung zwar Zahlen sein sollen, aber nicht sein können. Zu fragen ist nun, wie der Begriff der Berechenbarkeit zu benutzen ist, wenn unabhängig von der Zahl der Stellen immer Resultate erwarten zu sind, die nicht erscheinen können, falls für Resultate nicht mehr Stellen als für Operanden vorhanden sind. Ganz offenbar kann das Belieben eines Betrachters niemals insoweit erfüllt werden, dass er alle Resultate in der gleichen Zahl von Stellen wie die für Operanden haben kann. Schon unter 1.2.2. wurde festgestellt, dass auf die grösste die kleinste Zahl folgt. Hier kann ergänzt werden, dass auch grösste Resultate von kleinsten gefolgt werden. Dies genau ist der Unterschied zwischen Unendlichkeit und Endlichkeit! Weil Zahlen nur sein können, wo Stellen dafür in einer Beziehung gegeben sind, ist auch die Berechenbarkeit nur in einer Beziehung zu sehen. Ausserhalb der Beziehung kann sie nicht sein, muss also nicht diskutiert oder vermisst werden. Sie kann also nicht ad limes infinitum, sondern nur ad limes finitum getrieben werden, innerhalb eine Beziehung. REGEL: Denkbare Resultate, die jenseits einer Beziehung entstehen könnten, sind irrelevant. ERLÄUTERUNG: Diese Aussagen sind zwar expliziert aus dem Inverter-Axiom, gelten aber sehr wohl für alle Zahlen und Operationen, die auf den Peano-Axiomen aufgebaut sind (die bekannte Arithmetik und Zahlentheorie), denn die natürlichen Zahlen, die dort den Ausgangspunkt aller Zahlen bilden, sind ebenso logisch wie alle Operatoren zu ihrer Verknüpfung. Dass ich hier nur das Dualsystem betrachtet habe, erlaubt keine Zweifel, zumal die natürlichen Zahlen ohne Zahlensystem axiomatisiert sind und deshalb sehr wohl im Dualsystem abgehandelt werden können. Die Inverterlogik zeigt nicht nur die Möglichkeit bislang unbeachteter Operationen, sondern erlaubt auch eine sehr erhellende Betrachtung von Zahlen als Elementen von Mengen, weil sie nicht ohne Übertragsbildung vorkommen. Auch in der bekannten Arithmetik schreibt niemand Zahlen, ohne ein Zahlensystem zu benutzen, das unverzichtbar eine Bildung und Verrechnung von Überträgen, Resten und Vorzeichen und eine Bewertung von Stellen impliziert. Bemerkenswert ist allerdings, dass nur das Dezimalsystem der Betrachtung wert war, obgleich andere Zahlensysteme schon lange bekannt sind. Deshalb wurden Unterscheidungen zu wichtigen Begriffen, die tatsächlich nicht den Rang haben können, der ihnen beigemessen wird. Dies gilt vor allem für alles im Zusammenhang mit Teilbarkeit. Periodische Brüche werden von nicht periodischen unterschieden, obgleich Periodizität wie die Teilbarkeit nur mit dem betrachteten Zahlensystem zu tun hat. Der Dezimalbruch 0,2 ist ein periodischer Dualbruch, obgleich das Resultat ja in beiden Fällen gleich sein muss. Aber natürlich ist auch irgendeine andere Primzahl neben 5 und 2 als Teiler der Basis eines Zahlensystems tauglich. Und immer gibt es deshalb unteilbare Zahlen, die als periodische und nicht periodische Brüche erscheinen. Diese sind aber niemals allein durch Argumente bedingt! Ebenso beliebig ist auch die ganze Zahl zwischen positiven und negativen Zahlen zu wählen und damit ist auch diese Grenze nicht so heilig, sondern nur im Zusammenhang mit Operatoren und Bedeutungen zu sehen. Die 0 kann ja immer um einen bestimmten Betrag versetzt sein ('Offset'), der erst am Ende einer einer Rechnung in Betracht gezogen wird - unter 2.2.3.x zeige ich die Wichtigkeit solcher "Relativität". Die Inverterlogik zeigt aber nicht nur, dass alle Mengen von Zahlen tatsächlich eine Menge von Zahlen sind und dass nur durch Zahlattribute Unterschiede in einem bestimmten Zahlensystem zu machen sind. Die Inverterlogik zeigt auch, dass man nicht einfach Zeichen für Operatoren wie Zeichen für Zahlen zu Elementen gemeinsamer Mengen machen kann. Zahlen sind Bedeutungen von Werten H,L - Operatoren sind keine Bedeutungen, sondern Bewirkungen von Bedeutungen, den Resultaten, die durch Zahlattribute zu ergänzen sind. Zeichen für Zahlen zu Elementen von Mengen gemacht werden können. Zahlen sind Bedeutungen von Werten H,L - Operatoren sind keine Bedeutungen, sondern Bewirkungen von Bedeutungen, den Resultaten, die durch Zahlattribute zu ergänzen sind. Hier konnte durch genauere Betrachtung die Aussage gewonnen werden, dass immer auch unvollständige Resultate möglich sind - völlig unabhängig von der Breite und der Art einer Übertragsbildung. Allein die Übertragsbildung als solche bedingt diese besondere Unkalkulierbarkeit, die aber keineswegs irgendetwas unkalkulierbar macht, was im Bereich gegebener Stellen möglich ist. Es zeigt sich nun auch der ganz wesentliche Unterschied zwischen 'natürlichen Zahlen', wie sie in der 'Peano-Arithmetik' axiomatisiert sind, und den Zahlen, wie sie in der Inverterlogik gemacht sind. Hier kommen sie nur als Bedeutung von Werten H,L vor, die wiederum eins sind mit Invertern, die verknüpft sind. Dort sind sie in unendlicher Menge Teil eines Irgendwo und werden mit der Pinzette von Peanos Axiomen gefunden. Dabei muss auch noch axiomatisiert werden, dass es das Irgendwo, die Unendlichkeit und die dort herum liegenden oder stehenden natürlichen Zahlen auch wirklich gibt. Irgendeine Stellenbewertung, die sich hier als unverzichtbar und folgenreich erwies, ist nicht Teil der Axiomatik. Hier kommen Zahlen nur in Stellen vor und deshalb kann auch nicht eine Zahl zwischen andere geschoben werden, wie das auf einer Zahlengeraden möglich ist. Und während hier Zahlen durch logische Werte repräsentiert werden, werden dort logische Werte durch Zahlen repräsentiert. Ich will es einfach eine Frage des Geschmacks sein lassen, ob man sich Zahlen dort denkt, wo man nicht hinsehen kann, oder ob man allein auf existierende Inverter setzt, die jedenfalls in beliebiger Menge fertig zur Montage gedacht werden können. Inverter können in Form von Transistoren zur Hand genommen und verlötet werden, und die durch Inverterlogik gefundenen Regeln können dann bestätigt gefunden werden. Kein Computer kann daran vorbei gebaut werden (er selbst wird unter 2.2.3... aus dem Inverter-Axiom hergeleitet). So lässt sich sehr genau sehen, wo etwas 'unvollständig' und 'nicht-berechenbar' ist - und wo nicht, und wie relevant was ist. Besondere Mengen sind Zahlen, die durch irgendeine Verneinung zustande kommen. Solche Zahlen sind stets aus der komplementären Zahlenmenge abzuleiten. Andere Verneinungen, die sich auf die Gestalt von Resultaten beziehen, sind aus Resten und Überträgen abzuleiten (z.B.'periodisch'). Dabei ist ausserdem noch der Bezug zum gewählten Zahlensystem zu nennen. Imaginäre Zahlen sind dagegen nur aus Zahlattributen von Operanden abzuleiten. Ich habe diese Betrachtung auch deshalb so ausführlich gemacht, weil die Inverterlogik die Möglichkeit sehr vieler anderer Operatoren zeigt, die nicht nur Brüche bewirken. Es ist insbesondere auch vorstellbar, dass Überträge nicht nur in einer Richtung, sondern beiden Richtungen gebildet werden. Dabei können auch die Regeln unzutreffend werden, die hier für die bekannten Operatoren gefunden werden. Operanden und Resultate können dann Teil der gleichen Menge von Zahlen sein, wobei stets vollständige Resultate zu haben sind. Es können auch mehr als eine Stelle in Argumenten und Resultaten die kleinste Einheit eines Operators sein, sodass Überträge stets über mehrere benachbarte Stellen hinweg bewirkt werden. Operatoren können auch die Menge von Gliedern einer Folge oder Reihe sein, wobei die Anzahl der Glieder natürlich endlich sein muss. Und natürlich sind Rekursionen möglich, die ich aber erst abhandle, wenn ich die zeitliche Dimension des Inverters genauer betrachtet habe. 2.2. PHASENMASCHINEN Während uns bis zu diesem Punkt Beziehungen beschäftigt haben, die ohne Grübeleien über das Wesen der Logik und ihren Platz in der Natur betrachtet werden konnten, wird das jetzt anders. Wir werden feststellen, dass der Zeitbedarf einer Bewirkung nicht eine vernachlässigbare Eigenheit eines Inverters ist, dessen Ausgang mit seinem Eingang verknüpft ist. Diese Eigenheit kann jedenfalls nicht wegdefiniert werden, ohne die Inverterlogik aufzugeben. Andererseits ist mit der Inverterlogik erstmals eine Logik formuliert, die nicht durch Beschwörung und Übereinkunft mit der Natur zu tun hat. Selbst wenn jedenfalls mir sehr leicht fällt, Logik als Teil der Natur zu sehen, wenn sie erlaubt, technische Aufgaben zu lösen oder physikalische Gegebenheiten zu verstehen, fällt mir doch schwer, Logik als Teil der Natur nur vom Nutzen her zu akzeptieren, statt von Gründen ausgehend. Wir konnten bereits feststellen, dass Beziehungen schaltbar sein können. Nun werden wir untersuchen, wie tiefere Beziehungen aussehen müssen, die nicht nur zwischen verschiedenen Bewirkungen umschaltbar sind, sondern auch durch die Abfolge von Werten an Eingängen in ihrer Bewirkung bestimmt werden. Zunächst bilden wir Ausdrücke für den Wechsel von einem Wert zum anderen und dann für Abfolgen von Werten: AUSDRUCK: 'Flanke' Ist für die Bewirkung in einer Beziehung nicht H oder L, sondern der Wechsel vom einen zum anderen Wert erheblich, sei dies eine 'Flanke'. Zwei Flanken sind zu unterscheiden: der Wertewechsel von H zu L sei ausgedrückt: H\L der Wertewechsel von L zu H sei ausgedrückt: L/H AUSDRUCK: 'Wertfolge' Sollen Abfolgen von Werten an Eingängen oder Ausgängen dargestellt werden, werden die Werte durch Kommata getrennt hintereinander geschrieben. Solche Wertemengen sollen eine zeitlich geordnete Abfolge von Werten darstellen, die von links nach rechts nacheinander an der Stelle erscheinen. Wertfolgen an Ausgängen müssen genauso viele Kommata enthalten, wie die an den Eingängen derselben Beziehung. Ausserdem benötigen wir einen Begriff davon, dass nicht nur die Bewirkung schaltbar ist, sondern auch ihre zeitliche Dauer. BEGRIFF: 'Zustand' Ein Zustand ist eine von anderen Besetzungen ebenfalls dadurch unterscheidbare, dass Zeit vergeht bis zur nächsten Besetzung. Betrifft ein Zustand nur die Besetzung eines Teils einer Beziehung, dann können Zustände sich zeitlich überschneiden. ERLÄUTERUNG: Erst im weiteren wird sich zeigen, dass Zustände vor allem der Bedeutungsgebung dienen können und insofern die in der Zeit liegende andere Seite einer Bedeutung sind. Ich habe hier aber abgesehen von Zwecken, weil es offenbar auch Zustände gibt, deren Bedeutung vor allem ist, dass man sie nicht haben will, die aber dennoch beachtet werden müssen. 2.2.1. IMPULSGEBER Wir betrachten eine sehr einfache Beziehung, die ganz und gar logisch ist, aber vollkommen witzlos, wenn man der Bewirkung nicht eine Dimension der Zeit gibt und nicht unterscheiden will, ob ein Wert anliegt, oder der Wert gewechselt wird. Als Digitalschaltung ist die Beziehung von grosser Bedeutung, weil sie dimensionierbar nicht nur zwei Flanken, sondern auch deren zeitlichen Abstand resultiert. Impulsgeber 1: L ---->O o->O---->O H,H\L,L,L/H --o------->O------- L,H,L,L,L Wir dürfen verblüfft feststellen, dass die Beziehung bei H oder L oder L/H am unteren Eingang stets L resultiert. Und sie resultiert überhaupt nur dann etwas anderes, wenn wir einen Zeitbedarf für die obere Kante annehmen und die Flanke als einen weiteren Wert sehen. Und das muss unabhängig vom Betrachter eine Eigenschaft des Inverters sein. Nur die Flanke H\L erzeugt eine Besetzung mit Resultat H und das genauso lange, wie der angenommene Zeitbedarf der oberen, ersten Kante beträgt. So ein besonderer Impulsgeber sei zur weiteren Betrachtung noch benamt: AUSDRUCK: 'Monoflop' ...ist Geber eines einzelnen Wertewechsels Für den durch Flanken bewirkten Wertewechsel selbst können wir nun einige Begriffe bilden. BEGRIFF: 'Periode' ...ist ein Resultat, das nur bei einer bestimmten Abfolge von Argumenten am Eingang einer Beziehung erscheint und beide Werte des Inverters enthält. Die Werte erscheinen dabei in einer immer gleichen Abfolge, die jedoch nur zwei Flanken enthält. Weil der eine Resultatwert beliebig lange erscheinen kann, während der andere abhängig von den Invertern an der ersten Kante und nur kurz erscheint, sind diese Verhältnisse auch noch zu fassen. BEGRIFF: 'Ruhewert', 'Puls' Der Resultatwert, der auch durch eine der beiden möglichen Flanken am Eingang nicht geändert wird, ist der Ruhewert, während der durch eine Flanke bewirkte Resultatwert der Puls ist, der ein vollständiger Wertewechsel in einer bestimmten Zeit ist. ERLÄUTERUNG: Wir können aber gleich noch eine weitere Feststellung machen, die uns schliesslich zwingt, Kürzungs- und Erweiterungsregeln zu verfeinern. Wenn wir nämlich einen Zeitbedarf für die Bewirkung eines Inverters annehmen, dann ist keineswegs mehr beliebig zu kürzen und zu erweitern. Erweitern wir den ungeraden, unteren Zweig des unteren Eingangs auch nur um zwei Inverter, dann kann die letzte Kante nicht mehr in den Zustand der UNDierung geraten und H resultieren. Die Beziehung ist dann wirklich witzlos, jedenfalls kein Monoflop mehr (aber immer noch logisch...). Die neuen Werte H\L und L/H sind zwar logisch, sind aber nur bedingt durch den Zeitbedarf einer Bewirkung. Diese Werte sind also ebensowenig wie die zwei triumphierenden Werte an Kanten in Logik und Antilogik axiomatisch begründet. Sie gehen aus der Betrachtung von Beziehungen als notwendig hervor und machen keineswegs die Erweiterung der Werte des Inverters nötig oder eine Abwandlung des Axioms. Schliesslich wäre zwar die Periode bei Impulsgebern, in denen Anti-Inverter die Inverter ersetzen, anders, nicht aber Flanken. Eine Antilogik kann also nicht nur die gleichen Werte wie Logik resultieren, sondern auch gleiche Perioden. Nur eine physikalische Betrachtung realer Inverter und Anti-Inverter kann verschiedene Bewirkungsdauern ergeben. In diesem Kapitel über Phasenmaschinen soll betrachtet werden, was mit Inverterlogik weitaus besser diskutiert werden kann als mit bekannter Algebra, weil nämlich der Inverter eine zeitliche Dimension hat und Flanken als Werte erscheinen können. Es müssen deshalb keine ausserhalb der Logik stehende Zustandsdiagramme ausdrücken, was die Logik selbst nicht enthält. Damit kommen wir auf einen Begriff, der die Grenze zwischen Zustands- und Phasenmaschinen enthält: BEGRIFF: 'Phasenmaschine' Phasenmaschinen sind Beziehungen, deren Besetzungen einen Zeitbedarf der Bewirkung voraussetzen. Bei Umformungen ist deshalb stets auch der Zeitbedarf verknüpfter Zweige zu kalkulieren, also ist eventuell auch um gerade Serien zu erweitern. Während der bereits gezeigte Impulsgeber 1 den Puls =H bei einem Ruhewert =L bei einer Flanke H\L resultierte, resultiert die folgende Beziehung den Puls =L bei einem Ruhewert =H bei der Flanke L/H Impulsgeber 2: H ---->>O o->>O>->>O L,L/H,H,H\L --o------>>O>------ H,L,H,H,H Entfernt man den letzten Inverter, erhält man zwar das gleiche Resultat wie bei Impulsgeber 1, dann aber mit einer einer anderen Flanke am Eingang. Verknüpft man bei Impulsgeber 1 einen Inverter mit den Ausgang, erscheint das Resultat von Impulsgeber 2, dann aber bei Flanke H\L Ich gehe nicht alle Varianten durch, weil nur klar werden sollte, dass ausser einem Puls, der H oder L sein kann, auch eine bedingende Flanke, die H\L oder L/H sein kann, zu finden ist. Es muss deshalb noch unterschieden werden, ob ein Puls am Eingang einen ähnlichen am Ausgang bewirkt oder nicht. AUSDRUCK: 'Drehsinn' Der Drehsinn eines Impulsgebers ist rechts, wenn eine Flanke L/H die Periode L,H,L,L,L bewirkt, und der Drehsinn ist links, wenn eine Flanke H\L die Periode H,L,H,H,H bewirkt. ERLÄUTERUNG: Was hier rechts und was links sei, ist offenbar willkürlich festgelegt. Es ist aber sinnvoll, den Drehsinn zum Begriff zu machen, wenn Impulsgeber betrachtet werden, weil durch Inverter an Ein- und Ausgängen beliebige Perioden bewirkt werden können. Dann kann davon ausgehend die Dauer des Pulses durch Wahl eines bestimmten Impulsgebers dimensioniert werden. Auch im weiteren wird sich zeigen, dass Bewirkungen so etwas wie einen Drehsinn enthalten können. Nur Varianten der Beziehungen nicht aber der Besetzung können ihn ändern. Dann allerdings werden weitere Ausdrücke nötig. 2.2.1.1. WINKEL Durchaus üblich ist, in einer Periode eine Kreisteilung zu sehen. Der ganze Kreis wäre dann das Intervall H,H\L,L,L/H oder L,L/H,H,H\L Teilen kann man diesen Kreis allerdings nicht, indem man den Inverter teilt. Betrachtet sei zunächst eine ungerade Serie, die aus Invertern gebildet wird, deren Bewirkung, wie nun zu sehen ist, Zeit braucht. Abgriffe an jeder zweiten Verknüpfung erfassen dann nicht nur H oder L und auch nicht nur L/H oder H\L, sondern beliebige Teile der Flanken, die sich wie eine Welle in Richtung der Bewirkung ausbreiten. Eine Teilung des Kreises durch drei kann so aussehen: --------------o>o>o>o>o>o>o>o--------------------------- | | | | | | | | 1 5 2 6 3 7 4 8 Wir greifen hier bei 1=180ø, bei 2=120ø, bei 3=60ø und bei 4=0ø, falls eine Flanke L/H in 1 gerade beendet worden ist, während sie in 4 gerade beginnt. Würde auch an 5,6,7,8 abgegriffen, würden zwei miteinander synchronisierte Teilungen eines Halbkreises erfasst, die um 150ø zueinander versetzt sind und den gleichen Drehsinn enthalten. Die Teilung des Halbkreises 5,6,7,8 beginnt mit 180ø erst, wenn 1=30ø ist, also in der Phase verschoben. ERGO: Eine vollständige Kreisteilung kommt nicht durch Teilung des Inverters zustande, sondern durch die Zahl der Inverter, die die Serie bilden, die den zu teilenden Kreis bildet. Der Kreis ist ausserdem durch einen angenommenen Zeitbedarf der Bewirkung bedingt, denn die gezeigte Teilung kann ja nur sein, wenn die Periode tatsächlich mit sieben Bewirkungen gegeben ist. Wir erkennen also sofort, dass die Gradteilung deshalb völlig willkürlich ist, weil der Zeitbedarf der Bewirkung sehr beliebig ist, solange wir mit den Symbolen umgehen. Dennoch können wir der logischen Existenz von Winkeln sicher sein. REGEL: Der Inverter enthält sowohl den ganzen Kreis, wie einen Teil davon, wenn er Teil einer Beziehung ist, falls eine Kreisteilung Bedeutung ist. ERLÄUTERUNG: Mit dieser Feststellung ist der wichtigste Schritt getan, Geometrie auf das gleiche Inverter-Axiom zu gründen, das Algebra und Arithmetik zu begründen gestattet. Winkel sind existent und logisch und können deshalb auch mit beliebigen Beziehungen operiert werden. Sie dürfen also Gegenstand von Algebra und Arithmetik sein, ohne dass weitere Axiome oder Definitionen nötig sind. Allerdings ist eine so begründete Geometrie zunächst ebenfalls eigenartig anders: Während die gewohnte Geometrie von der Darstellung mittels Zirkel und Lineal ausgeht, ist das Inverter-Axiom offenbar nichts, was sich mit diesen Mitteln darstellen lässt, sondern nach einem Symbol aussieht, das nur durch Willkür eines Betrachters mit dem Raum zu tun hat. Während eine Kreisteilung und damit eine Darstellung von Winkeln mit einem Zirkel gut bekannt ist, ist diese Kreisteilung bei Invertern ein Problem, das in der Zweiwertigkeit des Axioms steckt. Selbst wenn man beliebig viele Werte zwischen H und L axiomatisch erlauben wollte, wäre das Problem nicht gelöst. Es wären dann wie beim realen Transistor Werte im Spiel zu sehen, die ganz und garnicht mehr als logisch gelten könnten (Umgebungstemperatur, Dotierung usw.). Die Lösung muss also die Werte zwischen H und L wieder logisch machen. Das kann prinzipiell mit einer UNDierenden Kante geschehen, die jedenfalls die Verhältnisse zwischen mindestens zwei Winkeln zu geben gestattet. Das kann so aussehen: L/H--o>>o>>o>>>>>>>>>>>>>>>>>> | | | o--X--X------------------>>O-1.Winkel | o--X------------------>>O | | o-----X------------------>>O-2.Winkel o------------------>>O Der 1.Winkel ist hier =H bevor es der 2.Winkel ist. Die Winkel sind damit zu logischen Werten geworden. Diese Werte können auch mehrstellig sein, wenn man mit der Flanke L/H ein Feld, wie es in 1.2.2. gezeigt wird, bewirkt. Die hier gezeigten UNDierungen müssen dann den Eingang des Feldes mit gewünschten Adressen gerader Zahlen verknüpfen. Weil 1. und 2. Winkel ja nun logische Werte sind, sind sie jedenfalls beliebig weiter verknüpfbar. Beispielsweise ist der 1.Winkel als kleiner dadurch gekennzeichnet, dass der 2.Winkel noch =L ist, wenn der 1.Winkel schon =H ist. Ich muss aber noch weitere Beziehungen vorstellen, die gestatten, den reichlich flüchtigen Winkeln bleibendes Dasein zu geben. Neben den Winkeln ist auch noch der Punkt aus dem Inverter-Axiom abzuleiten, weil nur eine Menge von Punkten irgendeine Gestalt zu bilden gestattet, in der Winkel vorkommen können. 2.2.1.2. PUNKTE Weil Punkte nichts taugen, die nicht von anderen Punkten unterscheidbar sind, ist es wie bei Zahlen nur eine Adresse, die einen Punkt repräsentieren kann. Wie bei Zahlen ist eine vollständige Adressmenge nötig, um jeden Punkt in einem gegebenen Feld zu erfassen. Dann wäre wie bei Zahlen ein einzelner Inverter das, was den einen vom anderen Punkt unterscheidbar macht. Er ist allerdings selbst ebensowenig der Punkt wie das Einselement. Über solche Punkte ist jedenfalls zu sagen: Weil der Inverter eine Bewirkung enthält, ist er nicht ohne Zeit zu denken. Die Adressen liegen um die Dauer einer Bewirkung der Inverter im Feld auseinander. Jede Struktur, die durch solche Adressen gegeben wird, ist also erst nach einer gewissen Dauer nach Verknüpfen mit einem Zeichen gegeben, wenn sie bewegt wird. Wie schon in 1.2. gezeigt, lassen sich Werte im Feld schieben mit Zeichen statt einem Ursprung. Das entspricht dann der Bewegung von Punkten, die nicht ohne Zeitbedarf zu denken ist. Auch eine Abbildung geht nicht ohne Zeitbedarf. Weil Punkte wie Winkel erst durch Verknüpfung mehrerer Inverter gegeben sind, immer aber ein einzelner Inverter einen Unterschied zwischen zwei Winkeln oder zwei Punkten machen kann, ist eine so begründete Geometrie gequantelt. Das kann einem allzu fremd vorkommen. Es ist deshalb noch mehr dazu zu sagen, was den Inverter in einem Feld als idealen Punkt erscheinen lässt, um damit Geometrie zu begründen: Während die gewohnten geometrischen Punkte per definitionem nichts enthalten, was sie irgendwie zur Geraden oder Fläche verkleben könnte, gibt es für Inverter eine Verknüpfung. Während es für gewohnte geometrische Punkte keine Definition gibt, wie sie dem nächsten Punkt zugeordnet sind, enthält der Inverter wie gezeigt einen Winkel zwischen Eingang und Ausgang, der also eine Zuordnung zwischen Nachbarpunkten über Ein- und Ausgang schafft, die nicht durch Interpretationen eines Zeichners zustande kommt. Während gewohnte geometrische Punkte in einer gedachten Räumlichkeit gesehen werden, die damit unendlich voll gepackt sein kann, gibt es nur abzählbare Mengen von Invertern in einer Beziehung. Während gewohnte geometrische Punkte zwar als ausdehnungslos angenommen werden, diese Ausdehnungslosigkeit aber (eigentlich im Widerspruch dazu) als rund in mehr als einer Dimension angenommen wird, muss beim Inverter nicht noch was dazu gedacht werden, um ihn als Element der Geometrie nehmen zu können. Schliesslich sind oft noch reichlich zusätzliche Annahmen zu formulieren, wenn es um reale Punkte in dieser Welt geht. Sie können Masse, Ladung usw. enthalten und das meist keineswegs punktförmig. Der Inverter dagegen enthält Zeit, die nach der Relativitätstheorie nicht ohne Raum vorkommt. Weil also auch die gewohnten geometrischen Punkte keineswegs so überschaubar einfach sind, wie sie einem vorkommen, kann eine Geometrie mit Invertern durchaus zu einer zutreffenden Abbildung räumlicher Gegebenheiten führen und gleich darüber hinaus auch zeitlicher Gegebenheiten. BEGRIFF: 'Punkte' Punkte entsprechen Zahlen und werden von diesen allein durch Bedeutungsgebung unterscheidbar. ERLÄUTERUNG: Punkte und Zahlen sind nicht a priori unterschieden. Auch Winkel und Bewirkung sind nicht a priori zu unterscheiden. Damit ist Geometrie mit Invertern jedenfalls logisch und steht nicht neben Algebra und Arithmetik. Der wirklich wesentliche Unterschied zur gewohnten Geometrie ist allerdings, dass irgendwelche räumlichen Dimensionen und Winkel nicht a priori gegeben sind, sondern a posteriori durch Bedeutungsgebung in die Welt geraten. Das spielt dann eine Rolle, wenn der Inverter physikalisch betrachtet wird. Auch die hier gezeigte Herleitung des Winkels ist gerade dann von Interesse. 2.2.1.2.1. DIMENSIONEN Mindestens eine Dimension ist nötig, um eine Geometrie zu machen. Unser Begriff einer solchen Dimension ist die Gerade, die als Menge von Punkten in einer einzigen Richtung gesehen wird. Eine solche Gerade, die nach diesem Begriff nicht die einzige in der Welt ist, kann nicht gezogen werden, solange nicht ein Raum definiert ist, in dem das stattfindet. Es muss in diesem Raum auch mehr als ein Winkel zu finden sein, wenn verschiedene unterscheidbare Geraden gezogen werden sollen, selbst dann, wenn sie parallel liegen sollen, selbst dann, wenn sie nur durch jeweils zwei Punkte gegeben werden, durch die sie zu legen sind. Ohne Winkel kann nämlich die Lage der Punkte garnicht gegeben werden, Winkel, die dann räumliche Dimensionen aufspannen. So sinnfällig dieser Begriff ist, so kompliziert ist er doch... So wie Punkte unter 2.2.1.2. gesehen werden, sind jedenfalls nicht erst Raum und Winkel zu definieren, bevor ein Gerade gezogen werden kann, aus der dann die Dimensionen des Raumes abgeleitet werden. Diese Punkte sind Zahlen, und ob sie gerade im Raum liegen und wie, ist erstmal irrelevant. Es können nämlich so schon geometrische Örter durch Operatoren bestimmt werden. Deshalb kann eine solche Dimension auch beliebig vervielfacht werden, also nicht nur drei räumliche Dimensionen aufspannen. Der nötige Kniff ist gut bekannt von der Erzeugung von Bildern in Bildschirmen. Um auf den nötigen Begriff zu kommen, zeige ich eine kleine Herleitung. Die Punkte in einer einzigen Dimension seien folgende: ..M..MMMMM..M.. Nehme ich je fünf Zeichen, die ich nicht in einer Zeile, sondern übereinander in drei Zeilen darstelle, dann ergibt sich folgendes Bild: ..M.. MMMMM ..M.. Da die Punkte ebenso wie Zahlen immer abzählbar sind, gibt es kein Problem mit Anfang und Ende von Zeilen und gesamtem Bild. Weil die Punkte durch eine vollständige Adressmenge repräsentiert werden, gibt es weder Punkte noch Zeilen dazwischen. Das Bild ist immer vollständig, wenn die Bedeutung der Teillängen gegeben wird, die aus einer Zeile drei macht. BEGRIFF: 'Raster' Punkte in einer Dimension können stets mehr als eine Dimension bedeuten, wenn Teillängen gegeben werden, die die Anordung der Punkte in weitere Dimensionen gliedern. ERLÄUTERUNG: Ich habe diese Ausdrucksweise gewählt, weil bestens bekannt ist, wie diese Art von Abbildung funktioniert, und nur das hier wesentliche deutlich werden soll. Eine Geometrie in Rastern ist nicht nur gut bekannt und tauglich, sondern auch möglich und logisch, weil es keine Unendlichkeit nach gewohntem Begriff gibt. Da fehlt einem auch nichts, weil auch bisher keiner die Stube verlassen hat, um Punkte ad infinitum zu zeichnen. Man kann durch übereinander legen aus zwei zweidimensionalen Bildern einfach ein dreidimensionales machen. Alles was dabei eine Rolle spielt ist, ist der Abstand derjenigen Punkte in der einen ursprünglichen Dimension, die nebeneinander liegen sollen, um z.B. eine Ordinate zu bilden. Schliesslich können durch Bedeutungsgebung alle Punkte noch weitere Dimensionen haben wie Farbe, Ladung oder Amplitude, die ebenfalls als Adressmenge verknüpft sein können. Es gibt also keine Grenze für die Anzahl und den Ursprung der Dimensionen bei solcher Bilderzeugung. Ausserdem können Operationen im Bereich der Dimensionen durchaus aequivalent zu Operationen mit Punktemengen durchgeführt werden. Dimensionen kommen so jedenfalls durch Bedeutungsgebung zustande, die sowohl mittels Operatoren von Zahlen wie von Adressen ausgehen kann. ERGO: Immer liegt in einer Dimension einer Adressmenge die Möglichkeit aller weiteren Dimensionen, indem die gesamte Adressmenge in Teile von Adressmengen gegliedert ist. REGEL: Dimensionen sind nicht a priori vorhanden und immer adressierbar endlich. Das ergibt sich auch ganz einfach daraus, dass sie immer verknüpft sind. Ein daneben liegendes, unverknüpftes Jenseits bleibt ohne Wirkung in diesen diesseitigen Dimensionen. 2.2.2. REGISTER Während wir bislang nur beliebig kurze Zeiten betrachtet haben, betrachten wir nun solche Verknüpfungen von Ausgängen mit Eingängen, die beliebig lange Zeiten erscheinen lassen. Dabei spielt der Zeitbedarf der Bewirkung aber keine Rolle. Die Diskussion beginne ich mit einer Zustandsmaschine, die den gleichen Wert an zwei Kanten jeweils invertiert und nicht invertiert resultiert. Die Beziehung hat eine gewisse Ähnlichkeit mit einem Schalter, resultiert aber nicht zwei Argumente A und S sondern nur ein einziges, gegeben durch eine Verknüpfung aller Eingänge. Die Leitungen zwischen einem linken und rechten Teil sind unterbrochen gezeichnet, weil die beiden Teile zu Beziehungen entwickelt werden sollen, die schliesslich zusammen etwas Neues zeigen: D-o--------- ----------->O------iQ o--------- ----------->O | o->------- ----------->O o->------- ----------->O-------Q Diese Zustandsmaschine resultiert noch genau gleich, wenn ich die Ausgänge Q und iQ mit jeweils einem Eingang der jeweils anderen Kante verknüpfe: D-o--------- ----------->O-o----iQ o--------- ---------o->O | | o----X-o | | | | o----o | o->------- ---------o->O | o->------- ----------->O---o---Q Ich forme nun die Beziehung um, indem ich die mit D bewirkten Leitungen dort entferne, wo sie mit Q oder iQ verknüpft sind, und füge nach dem Wertgeber D einen Schalter ein, der den an D liegenden Wert an die Eingänge der rechts liegenden Kanten leitet, falls an T ein L liegt: o---------iQ | D--o->-->O----------->O--->O-----Q T--X-o-->O | | | | | | | o-->O o-->O | o---->O--------X------->O o--------o Wenn an den Ausgängen des Schalters ein L resultiert wird, zeigt sich nun aber etwas unerwartetes. Die Werte an den Ausgängen Q und iQ ändern sich damit nicht und sie ändern sich auch nicht mehr bei einer Änderung der Werte an D. Diese Beziehung speichert also den an D liegenden Wert, wenn an T der Wert H liegt. Neu ist auch die zuunterst liegende Leitung, die den Wert aus der letztlich Q resultierenden Kante mit der anderen Kante verknüpft, die letztlich iQ resultiert und auch am anderen Eingang der erstgenannten Kante liegt. Hier wird anders als bei den bisher gezeigten Beziehungen der Wert nicht von links nach rechts, sondern rechts nach links geleitet. BEGRIFF: 'Rückleitung' ...ist eine Leitung, die einen Ausgang mit einem Eingang derselben Beziehung verknüpft und dabei einen Wert von rechts nach links leitet. Die Beziehung kann aus einem einzigen Inverter bestehen. Für Darstellungen einer Rückleitung lege ich noch eine Ausdrucksweise fest, die sofort erkennen lässt, ob eine Beziehung Rückleitungen enthält. AUSDRUCK: Kanten sollen stets so dargestellt werden, dass alle Eingänge in einer Spalte erscheinen. Rückleitungen sollen stets unterhalb der Beziehung dargestellt werden, und nur als Leitung. Enthält die Rückleitung also eine Beziehung, wird die nach rechts entwickelt. ERLÄUTERUNG: Der hier gebildete Begriff der 'Rückleitung' ist vom Ausdruck 'Rückkopplung' streng zu unterscheiden. Jener wurde in der Kybernetik von Norbert Wiener als Begriff zunächst begründet für Leitungen zwischen Ausgängen und Eingängen analog-elektronischer Schaltungen, wobei ebenfalls Invertierungen eine tragende Rolle spielen. Diese Invertierungen sind allerdings nicht solche, wie sie in der Inverterlogik vorkommen, sondern Umsetzung positiver Spannungen in negative und umgekehrt, bezogen auf einen Bezugspegel (Signalmasse). Eine Rückkopplung leitet also nicht die Werte H,L des Inverters, sondern Werte, die mit Zeichen darzustellen wären. Wie ich das mit anderen Begriffen auch mache, will ich auch den Begriff der Rückleitung in der Inverterlogik erweitern und fundamentaler gestalten. Schon ein einziger Inverter schwingt ja, wenn eine Rückleitung seinen Ausgang mit seinem Eingang verbindet. Am Beispiel des Registers sehen wir aber noch eine weitere Wirkung von Rückleitungen. Und diese Wirkung ist wohl dramatisch genug, uns endlich zu überzeugen, dass die physikalisch messbare Zeit aus der Logik nicht wegzudenken ist. Während bei der Schwingung die Zeit, die Teil der Bewirkung wäre, noch als irgendwie gegen Null gehende Kleinigkeit abstrahiert werden könnte, ist es beim Register eine beliebig grosse Zeit, über die eine Besetzung in den durch Rückleitung verknüpften Kanten eingesperrt sein kann, wenn der mit T bezeichnete Eingang nicht einen bestimmten Wert erhält. Es kann also schon eine Regel formuliert werden, die Konsequenzen einer Rückleitung betrifft. REGEL: Rückleitungen, die Ein- und Ausgänge gerader Serien verknüpfen, können zur Speicherung führen, abhängig von verknüpften Beziehungen. Rückleitungen um ungerade Serien führen dagegen unbedingt zur Schwingung. Die Speicherung bei Rückleitung um eine gerade Serie soll noch weiter erhärtet werden mit Blick auf eine Variante. Auch die folgende Erweiterung mit Invertern vor allen Eingängen und nach allen Ausgängen der Kanten in dieser Beziehung hat nur die Folge einer invertierten Bewirkung der Werte an T: o---------iQ | D--o->->>O->-------->>O->>>O->---Q T--X-o->>O | | | | | | | o->>O o->>O | o--->>O->------X------>>O o--------o Die Speicherung kann durchaus auch unerwünscht als Blockade erscheinen, was im weiteren interessant wird. Der Schwingfall kann durchaus auch unauffällig sein, weil die Periode der Schwingung beliebig lang sein kann, wenn komplizierte und tiefe Beziehungen eine Rückleitung enthalten. Wir konnten ausserdem angesichts der Zahlen auch eine Periodizität feststellen, die ohne Rückleitung zustande kommt und mit der Endlichkeit zu tun hat. Bereits bei der Betrachtung eines Schalters habe ich bemerkt, dass dann nicht Bedeutung und Bedeutungslosigkeit zu unterscheiden sind, wenn Argument- und Schaltleitung weiter verknüpft bleiben. Das ist hier der Fall. Hier erscheint Bedeutungslosigkeit als ein Zustand beliebiger Dauer, in dem kein neuer Wert an D resultiert werden kann. Bedeutungslosigkeit erscheint im Register ja auch keineswegs als Wert an den Ausgängen, ist also vollständig mit dem Zustand der Speicherung identisch, die letztlich durch die Rückleitung um eine gerade Serie zustande kommt, die bei Bedeutungslosigkeit nicht mehr umklappen kann. Die Speicherung kommt jedenfalls nur in minimal 4 Invertern im rechten Teil der Darstellungen zustande, undzwar abhängig von der Verknüpfung zweier Kanten in Serie. BEGRIFF: 'Register' Register sind Beziehungen, in denen eine Rückleitung eine gerade Serie verknüpft, und die am Eingang einen Schalter enthalten, dessen Zustand der Bedeutungslosigkeit den Wert an den Ausgängen nicht ändern kann. Man kann zwar den zu speichernden Wert über D und T einlesen, kann aber auch wünschen, diesen Wert direkt im Register zu erzwingen, wobei natürlich eine Speicherung nur im Zustand der Bedeutungslosigkeit von T erreicht wird. Ich zeige hier ein erweitertes Register, das mit S1=H oder S2=H zu bestimmten Resultaten an Q und iQ gezwungen werden kann: S1------------------->O---------iQ D--o->-->O----------->O--->O-----Q T--X-o-->O | | | | | | | o-->O o-->O | o---->O--------X------->O S2----------------X------->O o--------o Weil man ohne Beeinträchtigung der Speichereigenschaften den Teil der Beziehung entfernen kann, der D und T mit den rechts liegenden Kanten verknüpft, kann man erkennen, wie die Speicherung hier prinzipiell zustande kommt. Für die weitere Betrachtung sind noch weitere Begriffe zu machen. BEGRIFF: 'Lesen', 'Speichern', 'Takt', 'Daten' Ein Register befindet sich in einem von zwei Zuständen, die durch einen Wert am hier mit 'T' bezeichneten Eingang geschaltet werden, dem Takt-Eingang. Der eine Wert schaltet das Register auf Lesen des Wertes, der am hier mit 'D' bezeichneten Eingang liegt, dem Daten-Eingang. Der andere Wert am Takteingang verhindert Lesen und führt damit zur Speicherung des am Dateneingang gelesenen Wertes, der an den hier mit 'Q' und 'iQ' bezeichneten Ausgängen zum Resultat wird. ERLÄUTERUNG: Sobald Werte in der realen Welt Bedeutung erhalten sollen, taugen Register also als Speicher und Geber von Werten, falls Zustände zeitlich geordnet auftreten müssen. Zeitliche Zuordnungen von Werten sind zwar auch mit Serien möglich, doch sind dann eventuell extrem viele Inverter in Serie nötig, deren Bewirkung allein der Verzögerung dient. Damit ergibt sich eine eigenartige Kürzung, die aber erst in anderem Zusammenhang genauer betrachtet wird. Gut bekannt sind andere Formen der Speicherung von Werten, die als Argumente in Beziehungen taugen. Das sind Kondensatoren, magnetische Domänen oder auch reflektierende Vertiefungen (CDROM). Solche Speicher sind nicht logisch, aber logisch adressierbar. Ich betrachte das nicht, weil es hier um Explikationen des Inverter-Axioms geht. Zunächst sind einige Beziehungen, die mit Registern gebildet werden können, genauer zu betrachten. Dazu verwende ich einen weiteren Ausdruck, der das Register einfacher darzustellen gestattet: AUSDRUCK: Ein Register sei auch darstellbar, indem nur die Ein- und Ausgänge gezeigt werden. Dazu dienen die Zeichen T=Takt, D=Daten, Q=nicht invertierender Ausgang und iQ=invertierender Ausgang in folgender Weise: D Q T_iQ Dem Wert D=H seien die Resultate Q=H und iQ=L zugeordnet, wenn T=L den Zustand Lesen schaltet. Die Rückleitung wird impliziert. ERLÄUTERUNG: Damit ist eine Besetzung gegeben, die evtl. abhängig von der Beziehung anders sein kann, wenn man sie genauer betrachtet. Auch Umformungen können dann in Bezug zu vor- und nach-geschalteten Invertern zu Kürzungen führen. Davon wird bei Verwendung dieses Ausdrucks aber abgesehen. Rückleitungen, deren Teil eine Beziehung ist, die auch innerhalb des Registers liegen könnte, werden dann grundsätzlich ausserhalb gezeigt. 2.2.2.1. ZÄHLER Werden Register als Wertgeber eines Inkrementierers (oder Dekrementierers) eingesetzt, können die Werte an den Eingängen, die unter 2.1.3.2.1.1. noch der Willkür des Betrachters ausgesetzt wurden, zu einem Zustand werden, der erlaubt, Perioden zu zählen in einer Zeit, die zunächst nicht im Zusammenhang mit Inkrementieren gesehen wurde. BEGRIFF: 'Zähler' ...zählen Perioden als Argument am niedersten Übertragseingang und resultieren die Anzahl als Zahl. Solche Beziehungen sind gut bekannt und spielen in der Digitalelektronik eine tragende Rolle. Sie werden deshalb hier nur soweit betrachtet, wie das im Rahmen der Inverterlogik interessant wird. Im Prinzip liegt das Register dabei in der Rückleitung der Resultate zu den Argumenten. Weil die Speicherung während der gesamten Periode H\L/H möglich ist, muss entweder diese Periode zeitlich kürzer sein als die Bewirkung im Inkrementierer, oder es muss ein weiteres Register in der Rückleitung in Serie liegen. Der Takt, mit dem die Register zwischen Lesen und Schreiben geschaltet werden, wird erst im weiteren auf anderes als die Willkür des Betrachters bezogen. Hier ist zunächst der allgemeine Fall zu betrachten: Dabei wird je ein Register für die gleichwertige Stelle in Argument und Resultat benutzt und der Ausgang des Resultatregisters auf den Eingang des Argumentregisters zurück geleitet. Alle Taktleitungen der Argumentregister einerseits und der Resultatregister andererseits werden verknüpft und zueinander invertiert schliesslich so mit dem Takt verknüpft, dass er die Register gegensinnig auf Lesen und Schreiben schaltet, also Argumente nur lesen lässt, wenn Resultate gespeichert sind und andersrum Resultate nur lesen lässt, wenn Argumente gespeichert sind. Überträge aus grösster Stelle interessieren dabei nicht. Diese Beziehung sieht dann so aus, wenn der Inkrementierer nur so heisst und nicht gezeichnet wird: 1.Stelle Zahl-o-D Q---Inkrementierer-D Q-o-1.Stelle nächst grössere Zahl Takt-------o--X-T_iQ o-T_iQ | | o---------------------X------o o->----------------------o Argumente können beliebige dats sein, also Zahlen wie auch Werte von Adressen. Bei einem Zeichen, das in allen Stellen =H ist, und mit allen Stellen Q des Resultates verknüpft ist, können ab dem folgenden Takt vollständige Adressmengen iteriert werden, deren Werte Zahlen sind. Der gezeigte Zähler zählt 'aufwärts'. Er kann auch 'abwärts' zählen: 1.Stelle Zahl-o-D Q o-Inkrementierer-D Q Takt-------o--X-T_iQ-o o-T_iQ-o-1.Stelle nächst kleinere Zahl | o---------------------X------o o->----------------------o Hier wird der Inkrementierer zum Dekrementierer, indem die Argumente an den Ausgängen iQ gelesen werden, und die Resultate über die Ausgänge iQ geschrieben werden. 2.2.2.2. SCHIEBEREGISTER Werden mehrere Register parallel liegend als Wertgeber für Zahlen eingesetzt, dann haben ihre Ausgänge auch die Bedeutung von Stellen. Mit Rückleitungen ist möglich, die Werte in diesen Stellen in andere Stellen zu übertragen. Damit kann die Beziehung wie ein Operator Schieben wirken, den ich unter 2.1.3.2.3. bereits vorstellte. Zunächst dies Beispiel zur Veranschaulichung: Takt------o-T Q---o---1.Stelle 1.Stelle--X-D_iQ | | | o-X--------o | | | o-T Q---o---2.Stelle o-X-D_iQ | | | o-X--------o | | | o-T Q---o---3.Stelle o---D_iQ Diese Beziehung kann das Argument in der ersten Stelle in der nächsten Periode am Takteingang um eine Stelle höher schieben, wenn der Wert in der 1.Stelle nur während einer ersten Periode anliegt und in allen Stellen Q ein anderer Wert resultiert wird. Sofort zu sehen ist, dass wie beim Zähler noch so erweitert werden muss, dass sich Existenz von Argument und Resultat nicht zeitlich überschneiden. Hier genügt aber allein ein Resultatregister je Stelle, um das Prinzip zu zeigen. Es soll auch nur interessieren, was allein die Rückleitungen mit den Werten machen. BEGRIFF: 'Schieberegister' ...ist eine durch Rückleitungen zwischen parallelen Registern gekennzeichnete Beziehung, in der Werte in andere der parallelen Register verschoben werden, abhängig auch von der Anzahl von Perioden, die an den Takteingängen erscheinen. Natürlich kann man auch andere Bedeutungen schieben, wenn die Stellen andere Bedeutung als die von Zahlen erhalten. Und natürlich können dann noch beliebige Beziehungen zwischen beliebigen Stellen in den Rückleitungen liegen, und diese können auch anders als gezeigt verknüpfen. 2.2.2.2.1. ZUFALL Eine der vielen Möglichkeiten, Beziehungen in die Rückleitung zu knüpfen, ist folgende, die allerdings nur als Prinzip gezeigt wird: Takt----------------------o-T Q---o---1.Stelle 1.Stelle-o-->O-->O--------X-D_iQ | o--------X-->O | o-X--------o | | | | | | o->>O-->O | o-T Q---o---2.Stelle o---------->>O o-X-D_iQ | | | | | o-X--------o | | | | | o-T Q---o---3.Stelle | o---D_iQ | | | o----------------------------------o Hier wird über einen Komparator eine Rückleitung mit der 1.Stelle verknüpft, wobei genutzt wird, dass der Komparator ein schaltbarer Inverter ist. Die in den Ausgängen Q gegebene Werteverteilung kann parallel als Zahl abgegriffen werden, die im Bereich der Möglichkeiten scheinbar zufällig Werte annimmt. Eine solche Beziehung ist gut bekannt als 'Zufallsgenerator', ist aber für praktische Anwendungen natürlich noch erweitert um mehr Stellen und auch mehr Rückleitungen, verknüpft auch mit anderen Stellen als der ersten. Aus spielerischen Betrachtungen der Werteverteilung ist ebenfalls gut bekannt, dass sich diese periodisch wiederholt. Das ist garkein Wunder, wenn man vom hier gemachten Zahlbegriff ausgeht. Der Zufall ist keiner, weil die Beziehung logisch ist. Die 'Zufallszahlen' sind Zahlen wie alle anderen auch, bilden ein Zahlensystem, gegeben durch die Übertragsbildung, wie sie bereits unter 2.1.3.1.1. vorgestellt wurde. Folglich kann man für ein solches Zahlensystem auch Operatoren bilden, die dann natürlich nicht etwa entsprechend der Bedeutung der Stellen im Dualziffernsystem resultieren. Auch in solchen Zahlensystemen folgt die nächst grössere Zahl auf die nächst kleinere. REGEL: Keine Besetzung kann durch Zufall zustande kommen, also auch nicht Zufall sein. ERLÄUTERUNG: Das sieht nach froher Botschaft für Wetterfrösche aus, ist es aber nicht, weil sehr wohl eine Beziehung denkbar ist, durch die in aller Zeit der Welt nicht Werte von der kleinsten bis zur grössten Zahl zu schieben wären. Andere Explikationen sind vielleicht ergreifender, weil üblich ist, den Zufall der Regelhaftigkeit oder dem Willen gegenüber zu sehen. Deshalb sei ganz klar gemacht, was die Regel tatsächlich sagt: In einer logischen Beziehung gibt es per definitionem keine Inverter ohne Werte und nur bei der Erörterung einen ausserhalb stehenden Betrachter, der Beziehungen basteln und Werte geben kann. Das Inverter-Axiom wäre also verletzt, wenn man Zufall zulässt. Andererseits kann die Anzahl von Zahlen so riesig sein, dass der Betrachter angesichts von beispielweise 32 Stellen in einer solchen Zahl, die ja dann aus deutlich mehr Stellen besteht, durchaus Zufall, Chaos oder Spuk sehen kann. Damit ist also vor allem mal gesagt, dass die Kausalität nicht verletzt werden kann. Entweder ist Logik in der Welt oder nicht, wobei das Letztere wohl leichter zu verneinen ist. Damit ist die Welt dann abgeschlossen, abzählbar und logisch. Tertium non datur! Ein Betrachter, der so eine Welt machen will, hat sich daran zu halten und kann nicht mehr eingreifen wollen - so wie der Betrachter, der ich hier bin... Allerdings ist innerhalb der Inverterlogik nicht zu klären, wie Verknüpfungen anders als durch Willkür eines Betrachters zustande kommen können. Es ist also sehr wohl ein 'Zufall' denkbar, der Verknüpfungen erzeugt zwischen Invertern, die noch nicht Teil einer Beziehung sind, aber nicht von dieser Welt sind. Deren Anzahl kann dann auch 'unendlich' sein. Schliesslich ist ein gegensinniger Zerfall von Beziehungen denkbar. Da das physikalische Aequivalent des Inverter-Axioms neben der Dimension der Zeit sicher auch eine der Energie haben muss, um als Wirkung existent zu sein, könnte ein nicht verknüpfter Inverter auch als Energiequant ausserhalb von Beziehungen angenommen werden. Auch Werte ohne Inverter wären denkbar, die sozusagen zu Invertern 'kondensieren', sofern sie auf Ein- oder Ausgänge damit unverknüpfter Inverter treffen. Dann wäre Verknüpfung mit der Begrifflichkeit von Absorption und Dissipation zu fassen. Ausserdem ist eine statistisch erfasste 'Wahrscheinlichkeit' durchaus nicht als Verletzung der Kausalität zu verstehen, wenn man vom hier vorgestellten Begriff der Adressen ausgeht. Sie ist dann ein Durchspielen von Möglichkeiten in einer immer gleichen Adressmenge und auch noch mit dem Vorteil, dass diese nicht 'gegen Null' verschwindet, sondern einen logischen Rand hat und abzählbar ist. Alle Probleme bei der Beschreibung natürlicher Vorgänge mittels bekannter mathematischer Ausdrücke, die sich aus infinitesimalen Hinblicken ergeben, sind bei Darstellung mittels Inverter-Logik jedenfalls a priori nicht vorhanden. All diese Möglichkeiten will ich aber hier nicht betrachten, weil sie schliesslich der Verifikation durch das Experiment bedürfen und nicht allein aus dem Inverter-Axiom zu explizieren sind. 2.2.3. ITERATIONSMASCHINEN Am Eingang T eines Registers kann offenbar auch eine invertierte Adresse zwischen Lesen und Speichern schalten, womit das Register adressierbar liest. Wir konnten bereits eine vollständige Adressmenge mit einem Zähler erzeugen und betrachten nun, was mit dieser und anderen Adressmengen gemacht werden kann, wenn eine Beziehung adressierbare Register enthält, die Adressen speichern können. Die gespeicherten Adressen sind dabei die dats, die in 1.2.1. bereits als Aequivalent der Beziehung 'Adresse' hergeleitet wurden und hier auch 'Werte der Adressen' im Gegensatz zu 'Werten unter Adressen' genannt werden, die dann beliebige dats in adressierbaren Registern sein können, also auch Adressen. Im weiteren werde ich auch dann von einem Register sprechen, wenn ich nicht ein einzelnes 1-stelliges meine, aber eine einzige Adresse für eine Vielzahl von Registern die gleiche ist, die beispielsweise ein 8-stelliges Register sind, das ein 8dat speichern kann. Dann kann mit jeder Adresse jeweils mehr als ein 1dat gelesen werden. Und nur so kann auch eine Adresse gespeichert werden. Für die Anzahl der Stellen werde ich hier nicht den Ausdruck 'Breite' benutzen, weil verschiedene solcher Breiten zu unterscheiden sein werden. AUSDRUCK: 'Bus', 'Busse' Eine Anzahl von Leitungen, die Stellen in Registern oder anderen Beziehungen verknüpfen, sind ein Bus, wenn die Besetzung der Leitungen in bestimmten Zuständen Bedeutung erlangt, in anderen aber nicht. Die Breite eines Busses sei identisch oder kleiner als die Breite der dats, die in den so verknüpften Registern stehen, und wird ebenfalls mit einem Präfix ausgedrückt. Der Plural von 'Bus' sind 'Busse', die nach der Bedeutung ihrer Besetzungen und Zuständen unterschieden werden. Die Bedeutung von Bussen wird im weiteren mit Praefix gekennzeichnet. Ich rede also von Datenbus, Adressbus usw. ERLÄUTERUNG: Dies ist ein sehr gebräuchlicher Ausdruck, den ich hier nur einführen, nicht aber abwandeln muss. Ich habe nur noch Zustände in den gleichen Rang wie Bedeutungen der viel-stelligen Werte erhoben, was üblicherweise nicht ganz so streng genommen wird, weil bei realen Bussen oft auch die Leitungen parallel liegen, die zwischen Bedeutung und Bedeutungslosigkeit schalten, oft sogar zwischen verschiedenen Bedeutungen. Ich will aber auseinanderhalten, was dats in Registern sind und was der Kontrolle von Zuständen dient, und ich will auch unterscheiden können zwischen Bussen und beliebigen parallel liegenden Leitungen. Für die Darstellung von mit Bussen verknüpften Registern genügt dann offenbar die Beschränkung auf einstellige Register ohne die Verständlichkeit zu verlieren. Die bis hier geleistete Vorstellung von mit einem Zähler verknüpften Registern lässt sich nun noch einfach im Bild zeigen: (Adressbus)-D Q-Inkrementierer-D Q-o (Datenbus)--D Q--(Resultatbus) -T_iQ Zähler-Adresse-T_iQ o-(Adressbus)-T_iQ Dabei steht das einzelne Register mit Adresse am Adressbus stellvertretend für eine beliebige Menge ebenso verknüpfter Register, die damit an den gleichen Bussen liegen. Der Zähler ist in diesem Falle ein Adressgeber für die im folgenden 'Speicher' genannte Menge von Registern. Während er sein Resultat auf den Adressbus schreibt, liest er diesen Wert über den Adressbus in sein Argumentregister. Wir haben aber noch den Zustand des Schreibens von dem des Speicherns bei den Registern am Resultatbus zu unterscheiden, wenn wir dats an Ausgängen unverändert existieren lassen möchten. Denn wenn der Resultatbus gleich breit wie die Register sein soll, was durch die Definition der Busse geboten wird, dann werden die dats so ODERiert, dass sie nicht sein können, was sie sein sollen. BEGRIFF: 'Schreiben' ...ist ein über einen Schalter am Ausgang eines Registers wirkender Zustand, der so verknüpft wird mit der Adresse des Registers, dass das Resultat ohne Adresse des Registers am Bus bedeutungslos wird. Der Schalter muss vor den Eingängen von Kanten liegen, die alle Stellen der Register entsprechend ihrer Wertigkeit zu einer Resultatleitung dieser Wertigkeit verknüpft. Das sieht so aus: Schreiben=H---------o->>O 1.Stelle,1.Register-X->>O--->O->-------1.Stelle,Bus Adresse,1.Register--X->>O | | | o->>O | 1.Stelle,x.Register-X->>O--->O Adresse,x.Register--X->>O | Hier wird der Wert H an einer ersten Kante an einer weiteren Kante mit ungeraden Eingängen ODERiert. Wenn kein Register schreibt, ist der Wert jeder Stelle auf dem Bus =L. Es müssen die Ausgänge Q der Register benutzt werden, die zum gespeicherten Argument nicht invertiert sind. Will man den Inverter vor der Busleitung weglassen, was in realen Schaltungen wünschenswert ist, dann müssen in den Registern Resultate mit iQ gegeben oder Argumente invertiert gelesen werden. Soll nicht eine zweite Adresse für das Schreiben nötig werden, muss ein Zustand Schreiben so verknüpft werden, dass er invertiert den Zustand des Lesens schaltet. Das Resultat der Verknüpfung liegt an allen Eingängen T eines Registers. Das sieht so aus: Lesen=L------------->O (Datenbus)-D Q Adresse,x.Register->>O->-----------T_iQ Der Zustand Schreiben/Lesen, verknüpft mit der Adresse des Registers, erlaubt nun die Kürzung von den zwei Bussen 'Datenbus' und 'Resultatbus' auf einen. Sie bestehen dann aus den gleichen Leitungen und bilden so auch Rückleitungen von Resultatausgängen auf Argumenteingänge abhängig von der Adressierung. In den weiteren Bildern in diesem Kapitel werde ich die Adresse nur mit dem Takteingang T verknüpft zeigen, meine aber stets eine Verknüpfung vor T und nach Q mit Zuständen für Schreiben/Lesen. REGEL: Soll mehr als ein Register an einem Bus schreiben oder lesen, dann ist die Adresse mit einer weiteren Stelle zu verknüpfen, die den Zustand Schreiben oder Lesen gibt. Der Ausgang des Registers muss bei nicht gegebener Adresse am Bus auf Bedeutungslosigkeit geschaltet werden. Damit, wie eingangs zur Aufgabe gemacht, dats auch die Bedeutung einer Adresse haben können, müssen sie auf dem Adressbus liegen können. Dazu ist mindestens ein weiteres Register nötig, das zwar mit den Eingängen am Datenbus liegt, den Ausgängen aber am Adressbus. Weil dort auch die Adressen des Zählers liegen sollen, muss auch hier ein Schalter das Schreiben zwischen den Adressgebern umschalten. Davon mal abgesehen sieht die Beziehung nun so aus: o---------(Adressbus)--------o | o-(Datenbus)-o | Zähler---------D Q-o o----D Q----o--D Q-o Zähler-Adresse-T_iQ o------------T_iQ o-T_iQ Adressgeber1-Adresse----------------------o Diese Darstellung zeigt auch, dass die Adressen von Zähler- und Adressgeber1 noch so verknüpft werden müssen, dass mindestens drei Zustände zu haben sind: 1) Der Adressgeber1 liest im Speicher, während der Zähler da adressiert 2) Der Adressgeber1 schreibt und adressiert dabei im Speicher. Dabei liest der Zähler sein nächstes Argument vom Adressbus. 3) Der Adressgeber1 schreibt und adressiert dabei im Speicher. Dabei liest der Zähler kein nächstes Argument vom Adressbus. Wie die Verknüpfung aussehen muss, ist erstmal nicht wichtig. Wir sehen, dass diese Beziehung der im Zähler erzeugten Menge von Adressen nicht nur eine Menge von dats im Arbeitsspeicher zuordnet, sondern dass die Abfolge von Adressen auch eine andere wird, wenn der Takt am Zähler für das Lesen am Adressbus nicht unterdrückt werden kann. Wir sehen auch, dass mit dem zweiten Adressgeber die Abfolge der Adressen auf dem Adressbus aus zweierlei Adressmengen gebildet wird, die zwar beide in der vollständigen Adressmenge, die der Zähler geben kann, enthalten sind, die aber, was die Abfolge der Adressen betrifft, nicht identisch sind. Insbesondere sind die Relationen 'kleiner', 'grösser' zwischen den aufeinander folgenden Adressen nicht mehr gegeben. Immer aber ist die am Adressbus gegebene Adressmenge bedingt nicht nur von den Werten im Speicher, sondern auch der vom Zähler gegebenen Adressmenge. Die mit Zähler einerseits und anderen Adressgebern andererseits gegebenen Adressen sind auch insofern noch zu unterscheiden, als die vom Zähler gegebenen Werte von Adressen tatsächlich Zahlen sind, während andere Adressgeber beliebige Adressen in beliebiger Abfolge mit beliebiger Bedeutung geben können. Um Unterschiede zwischen solchen Adressmengen machen zu können, brauchen wir einen weiteren... BEGRIFF: 'Adressbereich' Die Adressen, die bei einem bestimmten Zustand gegeben werden können, bilden einen Adressbereich mit bestimmter Bedeutung. ERLÄUTERUNG: Adressbereiche sind also nicht durch eine vollständige Adressmenge gekennzeichnet, sondern ihre Bedingung und Bedeutung. Sie können, müssen aber nicht aneinander anschliessen, und sie können sich auch überschneiden und geschachtelt sein. Der Begriff ist absichtlich allgemein gehalten, um nicht weitere Begriffe für Gegebenheiten machen zu müssen, die letztlich immer durch eine bestimmte Menge von Adressen zu kennzeichnen sind, die nur ausnahmsweise wie Zahlen zu behandeln sind. Während zunächst Zustände und Bedeutungen gemeint sein werden, die mit wenigen Werten gegeben sind, sind im weiteren komplexe Gegebenheiten zu betrachten, bei denen Zustände wie Bedeutungen in Mengen von Teilzuständen bzw. Teilbedeutungen zerlegbar sein können, immer aber mit einer bestimmten Menge von Adressen zu tun haben. Wären nur Adressgeber vorhanden, die die Adressen aus dem Speicher lesen, dann wären alle Register nur für einen einzigen Zweck zu gebrauchen, nämlich die nächste Adresse zu schreiben, unter der die nächste Adresse zu lesen ist. Wenn dats aber keine Adresse bedeuten sollen oder erst werden sollen, dann ist auf den Zähler als Adressgeber nicht zu verzichten, weil der Inkrementierer auch dann eine nächste Adresse resultiert, wenn kein Transfer von Adressen über den Datenbus stattfindet. Es soll nun die nötige Erweiterung betrachtet werden, die erlaubt, die dats im Speicher zu manipulieren, undzwar zunächst in ihrer Abfolge. Dazu muss ein dat aus einem Register gelesen und in ein anderes geschrieben werden können. Dann müssen zweierlei Adressen gegeben werden, die folglich auf zweierlei Adressbussen liegen müssen. An diesem zweiten Adressbus kann auch die Adresse von Adressgeber1 liegen. (Adressbus1)--------o------------------------------------o | o-(Datenbus)----o-------o | Zähler---------D Q-o o----D Q-------o--D Q-o----D Q-o Zähler-Adresse-T_iQ o-------T_iQ o----T_iQ o-T_iQ (Adressbus2)-------------------------o------------o Um meine Ausdrucksweise zu straffen, werde ich ab hier Abkürzungen verwenden. Den über den Adressbus2 adressierten Speicher werde ich im weiteren mit dem Ausdruck 'A2' vom Speicher unterscheiden, der in mindestens zwei Adressbereichen über Zähler oder Adressgeber1 adressierbar ist, den ich im weiteren 'Ag1' nennen werde. Die mit Ag1 adressierten Adressbereiche werde ich mit 'Ab1x' abkürzen, wobei 'x' eine Ziffer ist. Die Situation ist damit: Der Zähler adressiert an A1 im Ab1 und Ag1 in beliebig vielen Ab1x. Auch der an A2 nötige Adressgeber könnte seine Werte am Datenbus lesen, seine Adresse aber kann nicht an A2 liegen. Aus den gleichen Gründen, die einen zweiten Adressbus erforderten, wäre noch ein dritter Adressbus erforderlich und für den Adressgeber dort noch ein vierter undsoweiter... Die Adressgebung an A2 muss deshalb anders sein als an A1. Weil wir immer dann Adressen am zweiten Adressbus brauchen, wenn Daten über den Datenbus wechseln sollen, kann der nötige Adressgeber dann über den ersten Adressbus adressiert werden, wenn er unter der gleichen Adresse oder einer anderen Adresse im immer gleichen Abstand liegt, wie das dat, das übertragen werden soll, und wenn er den Wert, mit dem er adressieren soll, bereits enthält. Das sieht dann so aus: (A1)----------------o-------------------------------o | o-(Datenbus)-o-------o | Zähler---------D Q-o o----D Q----o--D Q-o--D Q-o Zähler-Adresse-T_iQ o-------T_iQ o-T_iQ o-T_iQ | -D Q--o | | o-------T_iQ | | | (A2)------------------------------o--o-------o In dieser Beziehung können zwar dats verschoben werden, aber nur abhängig von den Werten in den Adressgebern an A2. Es muss auch immer der Zustand Schreiben/Lesen mit der Adresse für den A2 gegeben werden, undzwar sowohl für die Register an A1 wie an A2, und es muss zwischen Ab1 oder Ab1x entschieden werden. ERGO: Ein zweiter Adressbuss kann mit Adressen nur besetzt werden, wenn diese mit einer Adresse im immer gleichen Abstand zur Adresse, die der Zähler gibt, geschrieben werden. Der Abstand der Adressen kann =0 sein. Adressgeber für dritte und weitere Adressbusse aber können wieder genauso wie die Adressgeber am ersten Adressbus zwischen Daten- und ihrem Adressbus liegen. Sie können ebenfalls Adressgeber für den zweiten Adressbus adressieren. Schliesslich können mehrere Adressbusse wie der zweite Adressbus gleichzeitig mit Adressen besetzt werden. Es gibt also ein ganz besonderes Verhältnis zwischen den Adressen auf A1 und A2, das keineswegs ein Verhältnis von Zahlen sein muss. Die Adressen an A2 sind keine Zahlen, sondern ungeordnete Adressen, deren Bedeutung zunächst beliebig ist. REGEL: In einer Beziehung, in der dats über einen Datenbus geschrieben und gelesen werden sollen, müssen immer zwei Adressen jeweils für lesendes und schreibendes Register gegeben werden, sowie mindestens die Richtung der Übertragung und der Adressgeber an A1. Für die Adressen und Bedeutungen anderer Stellen in dats im Ab1 können wir nun Begriffe machen, die einfachere Formulierungen erlauben: BEGRIFF: 'Programm', 'Opcode' Ein Opcode ist ein dat, das mindestens eine Adresse am A2, sowie Stellen, die Zustände an Daten- und Adressbussen bedingen, enthält. Ein Opcode kann auch Daten oder Adressen enthalten. Eine Menge von Opcodes sind ein Programm. ERLÄUTERUNG: Diese sehr bekannten Ausdrücke habe ich hier zu Begriffen gemacht, die nicht mehr die bekannten sind, allerdings etwas umfassen, was Tatsachen sind und nicht Zwecke oder Dinge, die verkäuflich sind. Ich mache diesen Begriff auch absichtlich ohne Bezug zu Verknüpfungen, die über die bereits vorgestellten hinaus noch nötig sein können, um bestimmte Zwecke zu erreichen. Wir können jedenfalls nur mit Opcode entscheiden, ob der Transfer über den Datenbus mit Zähler oder Ag1 an A1 adressiert wird. Adressiert Ag1 aber, dann wird damit ein anderer Opcode adressiert, der diese Entscheidung überschreibt, wenn der zuvor gegebene Opcode nicht gespeichert wird. Es entstehen damit zwei Zustände verschiedener Bedeutung: Im einen wird ein Opcode adressiert, im anderen ein von Opcode abhängig bedeutsames dat. Nun kann zwar irgendein dat bei irgendeiner Adresse in Ag1 geschrieben werden, nicht aber eine Adresse an diesen Adressgeber. Das kann nur bei Adressierung mit dem Zähler geschehen, und die Adresse muss dann Teil des Opcodes sein, kann also nicht im Ab2 gespeichert sein, weil dort Ag1 als Leser adressiert werden muss. So können also nur bestimmte Adressen an Ag1 geschrieben werden, die nur geändert werden können, wenn sie adressiert mit Ag1 überschrieben werden. Das kann nur bedingt sein durch Opcode. Grundsätzlich in jedem Adressbereich können Operatoren zwischen zwei Registern liegen, wie das beim Zähler schon vorgestellt wurde. Es gibt damit dann weitere Möglichkeiten, nicht nur die Abfolge von dats, sondern auch die Werte H,L in ihnen zu verändern. Auch solche dats, die zu Adressen werden können, sind dann nicht nur im Zähler operierbar, sondern auch in Ab1x oder Ab2. Operatoren, die dats operieren können, erlauben schliesslich beliebige Adressbereiche ohne besondere Verknüpfungen, nur bedingt durch Programm. ERLÄUTERUNG: Ich habe unter 2.1.3. festgestellt, dass logische Apparate nicht Werte von Adressen sein können, die UNDiert als Menge erscheinen. Ich habe auch die Möglichkeit, logische Apparate durch Zeichen zu repräsentieren, als jedenfalls allzu umständlich abgetan. Wenn ich nun als möglich vorstelle, dass logische Maschinen wie Register und Operatoren adressierbar sind, scheine ich mir zu widersprechen. Deshalb ist noch zu betonen, dass die Adressen innerhalb der hier diskutierten Beziehung nichts repräsentieren ausser ihren Werten. Register und Operatoren (und weitere noch zu zeigende Teilbeziehungen) geben die Bedeutungen der Adressen. Das sind stets Werte unter Adressen. Auch wenn diese in Adressgebern zu Werten von Adressen werden können, lassen die Werte unter den Adressen offenbar keinen Schluss auf die Werte der Adressen zu, unter denen sie stehen. Vielmehr sind sie der Schluss aus der Adresse. Während Adressen UNDiert zur Menge verknüpft werden können, sind UNDierte Werte unter Adressen offenbar keine Mengen, sondern Resultate. Damit ist aus der eingangs skizzierten Aufgabe eine Beziehung hergeleitet, die ermöglicht, Werte unter Adressen beliebig operierbar zu Werten von Adressen und Werte von Adressen zu Adressen werden zu lassen. Die gleiche Beziehung ermöglicht ebenfalls, beliebige dats beliebig zu operieren, was sich hier als unvermeidbarer Nebeneffekt erweist. Wir haben feststellen müssen, dass mindestens zwei Adressbusse sein müssen, und dass die Adressen für A2 im Speicher liegen müssen, wo sie über A1 adressierbar sind. Die Adressen für A2 müssen offenbar schon da sein, bevor irgendein Ablauf in der Beziehung stattfinden kann. Neben diesen Adressen müssen auch Geber für Zustände adressiert sein. Dabei ist dann sogar das gleichzeitig adressierte dat, das über den Datenbus wechseln kann, beliebig und seine Bedeutung ist nur durch die Adressen für A2 bestimmbar. Kurz gesagt: Nicht nur Verknüpfungen, sondern auch ein Programm muss vorhanden sein in der Beziehung. BEGRIFF: 'Iterationsmaschine' Eine Iterationsmaschine ist eine Beziehung, die aus mindestens zwei Adressbussen und mindestens einem Datenbus besteht. Am einen Adressbus liegen mindestens zwei Adressgeber, deren einer ein Zähler oder Schieberegister sein muss und jedenfalls ermöglichen muss, eine vollständige Adressmenge abhängig nur von einem Takt zu geben. Die anderen Adressgeber müssen am Datenbus lesen können. Diese Adressgeber adressieren Register, die am Datenbus lesen oder schreiben oder am Datenbus lesen und an weiteren Adressbussen schreiben. Am anderen Adressbus wird mit Opcode adressiert, entweder Register, die am Datenbus lesen oder schreiben oder am Datenbus lesen und an Adressbussen schreiben. ERLÄUTERUNG: Ich habe bei diesem Begriff von der Steuerung der Zustände erstmal abgesehen. Darauf gehe ich unter 2.2.3.1. ein. Damit habe ich von den möglichen Ausgestaltungen der Beziehung abgesehen, die offenbar unverzichtbar sind, wenn da etwas geschehen soll, was uns irgendwie nützlich vorkommen kann. Ich will die Unzahl der Möglichkeiten aber auch nicht aus den Augen verlieren, weil nur so klar werden kann, welche tragende Rolle Programm nun spielt, das tatsächlich Adressierung ist, mit der Bedeutung gegeben wird. Es bleibt festzustellen, dass der Begriff der Iterationsmaschine einen Prototyp betrifft, der nicht weiter zu vereinfachen ist, aber erweitert werden muss. Die Diskussion hat gezeigt, dass dann Adressbereiche, Bedeutungen und Zustände neben Operatoren das sind, woraus solche Erweiterungen bestehen können. Die Operatoren sind dabei zwischen Registern zu verknüpfen, sind also ebenfalls nichts, was den Begriff der Iterationsmaschine betrifft. Natürlich können weitere Busse für Adressen oder Daten erwogen werden, sind aber nicht unverzichtbar. Die gängige Konstruktion von CPUs ist insofern kürzbar. Die Begriffsbildung hat aber vor allem auch den Vorteil, solche Dinge in ihrer logischen Gestalt zu enträtseln, die offenbar 'Information' verarbeiten. Dass da die Logik regiert, ist kaum zu bezweifeln. Wie sie überhaupt regieren kann, ist hier klar geworden. In irgendetwas 'Information' zu sehen genügt nämlich offenbar nicht, wenn nicht eine Beziehung im Spiel zu sehen ist, die eine der vielen Möglichkeiten für eine Iterationsmaschine, mindestens aber eine Zustands- oder Phasenmaschine realisiert. Während die Aufgabe, die eingangs skizziert wurde, nur auf den Umgang mit Adressen und ihren Werten zielte, hat sich gezeigt, dass die Iterationsmaschine als Lösung der Aufgabe noch weitere Möglichkeiten enthält. Eher nebenbei zeigte sich auch, dass eine Iterationsmaschine eine überraschend eigenartige Umformung einer beliebig tiefen Zustandsmaschine sein kann, wenn Operatoren oder elementare logische Beziehungen zwischen Registern adressierbar sind. ERGO: Während in Zustandsmaschinen nur ein Leitungen Resultate eines Teils einer Beziehung zu Argumenten der nächsten macht, ist es in Iterationsmaschinen erst die Adressgebung, die solche Verknüpfungen etabliert. Dies ist möglich, weil eine Adresse völlig aequivalent als dat existieren kann, wenn dieses mittels Opcode zum Wert in einem Adressgeber werden kann. REGEL: 'Zweite Umformungsregel' Leitungen können durch Adressgebung ersetzt werden. ERLÄUTERUNG: Mit dieser Regel sind nicht beliebige Leitungen gemeint, sondern Leitungen zwischen logischen Apparaten, die Argumente oder Resultate in vielen Stellen gleichzeitig übertragen. Das sind also in einer Iterationsmaschine immer Leitungen zwischen Registern, die in einer umgeformten Maschine immer auch entfallen können, wenn nicht bedingte Transfers oder Rückleitungen durch Adressierung gegeben sind. Ich habe die Regel aber ohne den Begriff der Iterationsmaschine formuliert, weil Adressgebung auch dann möglich ist, wenn eine Iterationsmaschine bis zur Unkenntlichkeit minimiert ist. Das wäre der Fall, wenn die Adressbereiche auf wenige Möglichkeiten beschränkt sind und Programm auf Teile eines Zeichens beschränkt ist. Dann wäre eher der allgemeinere Fall von Phasenmaschinen gegeben sein und dann können auch Schieberegister statt Zählern als Adressgeber dienen. Solche Maschinen sind dann allerdings auch nur in wenigen Teilbeziehungen umzuformen. 2.2.3.1. KONTROLLE Nun betrachte ich die Bedeutungen, Zustände und Adressbereiche, die bereits als nötig erkennbar wurden bei der Herleitung der Iterationsmaschine. Hier wird noch einiges hinzukommen, was erst betrachtbar wird, wenn die Bedeutungen klar werden, die durch verschiedene Abfolgen von Opcodes zustande kommen. Dabei spielt die Zeit eine tragende Rolle, die bisher nur als willkürlicher Wertewechsel am Takteingang von Phasenmaschinen auftrat, hier aber neben Takten auch die Abfolge von Opcodes betrifft. BEGRIFF: 'Kontrolle' ...sind sowohl die Verknüpfungen, wie die Stellen in Opcodes und die Takte, die Zustände in Iterationsmaschinen erzeugen. ERLÄUTERUNG: Wie der Begriff der Adresse hat also auch der der Kontrolle zwei Seiten, deren eine eine bestimmte Verknüpfung, deren andere bestimmte Werte sind. Der gängige Begriff ist hier so eng gefasst, dass alle Bedingungen für die Kontrolle innerhalb der Iterationsmaschine gegeben sein müssen, also nicht mehr an Handsteuerung nötig wird als ein erster Wechsel der Werte an einem Eingang, der damit ein Ein/Aus-Schalter ist, der beliebig nicht-logisch betätigt werden kann. Die nötigen Takte müssen alle von dem Taktgeber abgeleitet werden, der das Resultatregister des Zählers zwischen Schreiben am Adressbus1 oder Lesen am Inkrementierer umschaltet. Da alle Zustände an A2 von Zuständen an A1 bedingt sind, müssen mindestens die Zustände an A1 gegeben worden sein, bevor sie herrschen, dürfen also nicht den aktuellen Zustand überlagern, in dem sie gegeben werden. Deshalb müssen die Stellen, die Zustände bedingen, in einem Register gespeichert werden, das ich 'Kontrollregister' nenne. Auch das Programm muss bereits gegeben worden sein, bevor damit irgendetwas regiert werden kann. Und offenbar muss das Regiment irgendwo einen Anfang haben. Während die Werte von Adressen nicht geordnet sind, sind es die Zahlen, die der Zähler als Werte von Adressen gibt. Damit gibt es eine bestimmte nächste Adresse, einen Anfang und ein Ende des Adressbereiches. Der Ausgangspunkt jeder Kontrolle muss deshalb die Besetzung des Zählers sein. Das geht über Eingänge S1 und S2 am Resultatregister des Zählers, wie sie unter 2.2.2. schon beschrieben wurden. Werte an diesen Eingängen können Werte an Ausgängen ohne zusätzlichen Takt erzwingen. Geber von Besetzungen habe ich bisher als Verknüpfung mit einem Zeichen dargestellt. Das geht auch hier, indem Zeichen an den Anschlüssen S1 oder S2 vorübergehend anliegen und dabei T Bedeutungslosigkeit für D gibt. Danach müssen alle Leitungen S1,S2 wieder =L sein. AUSDRUCK: 'Reset' ...ist ein notwendiger Teil der Kontrolle, um in einer Iterationsmaschine einen Ausgangszustand zu bewirken. Für die weitere Betrachtung der Kontrolle nehme ich hier einen Taktgeber an, der denkbar einfach als ungerade Serie mit einer Rückleitung vom letzten Ausgang zum ersten Eingang aufgebaut ist. Daneben kann allerdings Taktgebung auch mit Rückleitungen von eingeschalteten Teilen der Iterationsmaschine gemacht werden, die diese Teile wieder ausschalten. Diese beiden möglichen Lösungen ('synchron'/'asynchron') sollen hier aber nur in ihrer logischen Gestalt erwähnt werden, zumal auch Kombinationen noch zu diskutieren wären, wollte man den Gegenstand genauer betrachten. Ich zeige den Reset als Verknüpfung eines Taktgebers mit einem Monoflop, das dem Einschalten dient und einen Puls =H gibt. Gezeigt ist ausserdem der Zähler, wobei 'inc' den Inkrementierer zwischen Argument- und Resultatregister meint. Mit 'S' ist eine Verknüpfung mit Ag1 gemeint, die erst im weiteren gezeigt wird und nicht der unter 2.2.3. gezeigten Beziehung für Schreiben am Datenbus gleicht, weil mit dem Takt adressiert wird. Monoflop: Taktgeber: Resultatregister: L --->O o-----------------o o->O->>>O--------->O o-D Q-inc-D Q-S-o-(A1) Ein=H\L -o------>O o->>>O-o------T_iQ o->-T_iQ o------o-----------o-----------------t über S2=H wird die Adresse =0 vom Zähler geschrieben, mit t ist die Taktleitung gemeint, die mit der Rückleitung um eine ungerade Serie verknüpft ist, dem Taktgeber. In dieser Beziehung ist der Puls t=L der Zeitbereich, in dem auch im weiteren der Zähler an A1 schreibt und mit dem Argumentregister dort liest. Damit ist nun endgültig entschieden, dass bei t=L die Opcodes gegeben sind und für die Kontrolle wichtige Stellen an das Kontrollregister geschrieben werden. Sollen irgendwelche anderen dats, die nicht der Kontrolle dienen, an A1 adressierbar sein, dann geht das nur bei t=H, weil nur dann eine Adresse, die Teil des Opcodes ist, schon an den Adressgeber geschrieben worden sein kann, und nur dann kein Opcode adressiert wird. ERGO: Weil Zustände gegeben werden müssen, bevor sie Bedeutung kriegen können, müssen mindestens zwei Zustände in einer Iterationsmaschine abwechselnd herrschen, wenn ausser den dats, die die Zustände geben, noch andere dats, insbesondere Adressen über den Datenbus geschrieben werden sollen - und das war ja die Absicht bei der Herleitung der Iterationsmaschine. REGEL: Eine Iterationsmaschine muss sich in mindestens zwei Zuständen befinden können. Im einen wird die Kontrolle bedingt, im anderen kann sie wirken. Hier gehe ich von folgenden Bedeutungen des Takts auf t aus: AUSDRUCK: 'Kontrollphase', 'Datenphase' In der Kontrollphase t=L wird aus dem vom Zähler adressierten Speicher an das Kontrollregister geschrieben. In der Datenphase t=H adressiert ein anderer Adressgeber an A1, hier ist das nur Ag1. In der Kontrollphase können also auch gleichzeitig adressierte dats über den Datenbus geschrieben werden, insbesondere Adressen an Ag1. Weil in einer Iterationsmaschine die Bewirkungsdauer zu beachten ist, muss der Puls des Taktgebers länger sein als die Bewirkung in Kontrolle, Register und und Operatoren, insbesondere im Zähler, dauert. Hier zeige ich nur immer die kürzeste gerade Serie für die nötigen Verzögerungen. Soll eine Beziehung real sein, muss durch Abzählen der Inverter in den Beziehungen die nötige Anzahl der zur Verzögerung bestimmten Inverter gefunden werden. Dann nötige andere Verzögerungen werden auch nicht gezeigt. Für die Kontrolle werde ich also nur eine Näherung zeigen, die für ein Ende des Schreibens nach einem Ende des Lesens sorgt. Ich benutze folgende Abkürzungen, um die Darstellung überschaubar zu halten: Die Leitung für Lesen von Registern 'l' Die Leitung für Schreiben von Registern 's' Auf die Zeichnung der Register wird dabei verzichtet, sie liegen zwischen einem Eingang, der liest oder nicht und einem Ausgang, der schreibt oder nicht. Auch die Leitungen für die Adressen entfallen. Bereits unter 2.2.3. wurde gezeigt, wie sie mit Leitungen für Daten- und Lesen- bzw. Schreiben-Leitungen verknüpft sein müssen. Hier haben die Werte H,L die gleiche Bedeutung. Ausgänge des Kontrollregisters sind Q1,Q2,Q3,Q4, die nicht voll decodiert werden, also nicht insgesamt 16 Möglichkeiten enthalten, womit eine Kürzung gegeben ist, die die Zahl der nötigen Inverter betrifft. Die Perioden des Taktgebers erscheinen auf der mit 't' bezeichneten Leitung, die wie oben besetzt wird. Die Adresse an A2 wird direkt mit Opcode am Eingang eines einzigen, immer schreibenden Adressregisters gegeben. Die Adresse an A1 kann mit Ausgängen Qz des Zählers oder Ausgängen Qa des Ag1 gegegeben werden. Ag1 adressiert immer bei t=H ,der Zähler immer bei t=L Zustände am Adressbus1: t---o--------->O->O---------------T (Zähler-Argument lesen) Q1--X----o---->O | / Lesen bei t=H XOR t=L | | | | o--->>O->O o-------->>O K1--X->O->O-->>O Q2--X->O | | | K2--X->O->O Q3--X->O o--->-------------------------T (Zähler-Resultat immer lesen) o-------------->O Qz--X------------->>O------>O->---x.Stelle an A1 | | o------------->>O | Qa--X------------->>O------>O o--->O Q1--X-->>O Q4--X--->O----------->O-----------T (Ag1 liest Stellen im Opcode) | A2-Adresse---->O | Zustände am Adressbus2: | Kontrollregister: x.Opcode--X--------------D Q-----------x.Stelle an A2 o--------------T_iQ oder Q1...Q4 o->>O Q1--X-->O Q2--X->>O->O Zustände am Datenbus: | | o-->O | Q1----->O | Q2----->O->O-->O Q4-------o-X->>O----->-l->>-s- / Register adressiert an A1 | | | o-->O o---->O----->-l->>-s- / Register adressiert an A2 Die Besetzung von Q1-Q4 bedeutet in Worten folgendes: Q1 bedingt, ob der Zähler an A1 mit Q1=L bei t=L oder mit Q1=H bei t=H liest bedingt ausserdem Schreiben aller Register am Datenbus, wenn bei t=H das Zählerargument gelesen werden soll bedingt ausserdem mit Q1=L, ob Datentransfer möglich ist und dabei mit Q2 bedingt wird, ob bei t=L der Zähler oder t=H Ag1 an A1 adressiert und damit Datentransfer sein muss zwischen Opcode oder anderer Adresse und Register an A2 bedingt ausserdem mit Q1=H, ob bei t=L mit Q4=L Ag1 am Datenbus liest, obgleich Ag1 nicht an A2 adressiert wird Q2 und Q3 bedingen, ob bei t=H und Q1=H die Adresse gelesen werden muss oder nur abhängig von K1,K2=H Mit diesen Stellen bedingt, wird also der Zähler neu besetzt oder nicht. Q4 bedingt die Richtung des Schreibens auf dem Datenbus bei Q1=L Q4=L bedingt Schreiber an A1, Q4=H bedingt Leser an A1 bedingt ausserdem bei Q1=H Lesen von Ag1 (s.o.) Dass diese minimale Kontrolle bereits genügt, kann ich erst unter 2.2.3.2. zeigen. Dann gehe ich auch genauer auf die Bedeutung der Stellen K1,K2 ein, die Übertrag und =L in allen Stellen eines Resultates als Kriterien geben sollen und Ausgänge eines Registers sind, das ich im weiteren 'Statusregister' nennen werde. Wenn nämlich Zahlen operiert werden sollen, dann sind jedenfalls besondere Bedeutungen zu geben, die abhängig davon sind, ob ein Resultat =0 oder auch ein Übertrag gegeben wird. Das ist als unverzichtbar bereits unter 2.1.3.2. und Unterkapiteln vorgestellt worden. Hier wird so die Adresse des nächsten Opcodes bedingt, falls sie auch eine andere als die vom Zähler inkrementierte sein kann. Mehrstellige Überträge, wie sie insbesondere beim Schieben entstehen können, sehe ich nicht vor. Dazu kann ein Übertragsregister beim Schieben taugen, das mit einem Übertrag verknüpft ist, falls nicht alle Stellen dort =0 sind. Jedenfalls lässt sich überschauen, dass der Ab2 klein sein kann, wenn nur die Adressen von Argument- und Resultatregistern für Operatoren oder logische Verknüpfungen von Werten, und mindestens ein Zwischenregister für den Datentransfer ohne Operation gegeben werden müssen. Die Adressmenge an A1 wird deutlich grösser sein müssen, weil dort neben Programm auch Daten in beliebigen Adressbereichen gespeichert werden. Bei der Herleitung der Iterationsmaschine habe ich bei allen über A1 adressierten Registern einen Teil der Ausgänge mit dem Datenbus und einen anderen mit A2 verknüpft. Hier hat sich gezeigt, dass neben der Adresse für A2 noch mindestens 4 weitere Stellen im Kontrollregister während t=H gespeichert sein müssen. In realen Iterationsmaschinen entsteht ein Problem, wenn der gleiche Speicher für Daten oder Programm nutzbar sein soll. Dann müssten auch Möglichkeiten gegeben sein, Kontrolldats und A2-Adressen über den Datenbus zu schreiben. unter 2.2.3. habe ich diesen Teil der Verknüpfungen absichtlich offen gelassen. Eine Lösung des Problems ist Variierbarkeit der zu einer Zeit adressierbaren Registerstellen. Weil das aber nur eine von sehr vielen Möglichkeiten ist, sehe ich von diesem Problem hier ab. Hier soll aus dem Inverter-Axiom expliziert und nicht konstruiert werden. 2.2.3.2. PROGRAMME Wir haben die Stellen Q1-Q4 in Opcodes bereits als den wesentlichen Teil der Kontrolle erkannt, die die Bedeutung anderer Stellen im Opcode bedingt. Und wir konnten auch erkennen, dass auf Adresse =0 beim Reset unbedingt ein Opcode zu lesen sein muss, der das unverzichtbare erste Kontrolldat enthält. Da nach der zweiten Umformungsregel Adressierung Leitungen aequivalent ist, ist nun genauer zu betrachten, wie insbesondere die Werte in Stellen Q1-Q4 welche Verknüpfungen repräsentieren. Dazu gebe ich den vierstelligen Werten, die von rechts nach links die Werte Q1 bis Q4 darstellen, neue Namen und spreche im weiteren von 'Kontrolldats', wenn ich diese Werte meine. Der Wert 'x' ist dabei beliebig H oder L. xxxL nächster Opcode auf nächst höherer Adresse, adressiert mit dem Zähler ist 'Datentransfer' über den Datenbus, der bei t=L oder t=H stattfinden kann. Bei t=L werden dann immer Stellen im Opcode, adressiert mit dem Zähler gelesen oder geschrieben, bei t=H dagegen werden beliebige dats, adressiert mit Ag1, gelesen oder geschrieben. Ag1 adressiert dann einen 'indizierten' Transfer im Gegensatz zum 'direkten' mit Zähleradresse. LxLL Adresse oder Wert an Register schreiben bei t=L Leser im 'Adressbereich2', adressiert mit Opcode Schreiber im 'Adressbereich1', adressiert mit Zähler Abkürzung: 'Ld,Adressbereich2' LxHL Adresse oder Wert an Register schreiben bei t=H Leser im 'Adressbereich2', adressiert mit Opcode Schreiber im 'Adressbereich1x', adressiert mit Ag1 Abkürzung: 'Li,Adressbereich2' HxLL Adresse oder Wert an Register schreiben bei t=L Leser im 'Adressbereich1', adressiert mit Zähler Schreiber im 'Adressbereich2', adressiert mit Opcode Abkürzung: 'Sd,Adressbereich2' HxHL Adresse oder Wert an Register schreiben bei t=H Leser im 'Adressbereich1x', adressiert mit Ag1 Schreiber im 'Adressbereich2', adressiert mit Opcode Abkürzung: 'Si,Adressbereich2' Mit Opcode LxLL werden während t=L Daten aus Stellen des Opcodes geschrieben, während sie bei HxLL gelesen werden, womit diese Stellen im Opcode geändert werden. Mit Opcode LxHL werden während t=H Daten aus dem Speicher geschrieben, während sie bei HxHL gelesen werden, womit diese Stellen im Speicher geändert werden. Bei den Kommandos Li oder Si muss die gewünschte Adresse in Ag1 bereits gegeben worden sein, spätestens mit Opcode davor. Diese Kommandos sind also stets bedingt durch ein vorher gegebenes Kommando Ld,Ag1. Die damit gegebene Adresse kann sowohl mit Kommandos Sd,x wie Si,x überschrieben werden, x=Register an A2. Datentransfer ist die Verknüpfung von Argument- mit Resultatstellen, die auch eine Rückleitung von Resultatstellen sein kann. Zur weiteren Diskussion benutze ich in den Abkürzungen Namen für Adressen oder Ziffern für Werte der Adressen. Ein Transferkommando kann dann so aussehen: Li,Augend ...meint den Opcode für Schreiben an das Augendregister des Addierers, wobei das gelesene Register mit aktueller Adresse im Ag1 adressiert wird. Si,Summe ...meint den Opcode für Lesen des Summenregisters des Addierers, wobei der Wert unter die Adresse gegeben mit Ag1 geschrieben wird. Ld,Ag1 ...schreibt den Wert einer Adresse aus dem Opcode an Ag1. Solche Adressen werden im weiteren auch 'Variable' genannt, wenn verschiedene Werte unter ihnen stehen können, die nicht Opcode sind. Ganz anderer Natur sind die folgenden Verknüpfungen, mit denen die Abfolge von Verknüpfungen zwischen Ab1,1x und Ab2 variierbar wird. Eine mit dem Zähler gegebene Adressmenge kann dann, abhängig auch von Werten unter dieser Adressmenge, grösser werden, weil bestimmte Adressen mehrfach und damit auch mehrdeutig gegeben werden - auch wenn die Mehrdeutigkeit keineswegs mehr sein kann als durch Programm gegebene Möglichkeiten erlauben. Es können so also Folgen von Opcodes mehrfach durchlaufen werden oder abhängig von Kriterien eine von zwei Folgen alternativ. xxxH nächster Opcode auf nicht durch Zähler gegebener Adresse sind 'Sprünge' im Adressbereich1, also Verknüpfungen von mit Opcode gegebenen Beziehungen. LxxH 'direkter Sprung' mit Adresse im Opcode, die über den Datenbus bei t=L an Ag1 geschrieben wird und bei t=H gegeben wird. Abkürzung: 'Jd' HxxH 'indizierter Sprung' mit gegebener Adresse in Ag1, Abkürzung: 'Ji' In beiden Fällen wird der Programmablauf auf der inkrementierten Adresse fortgesetzt, weil die ja nicht in das Resultat-, sondern das Argumentregister des Zählers geschrieben wird. Für beide Sprungadressierungen gelten Bedingungen, die entweder abhängig oder unabhängig von Kriterien den Sprung ermöglichen: xHHH 'unbedingter Sprung' kein Postfix xHLH mit K1=H 'bedingter Sprung' Postfix: '1' xLHH mit K2=H 'bedingter Sprung' Postfix: '2' xLLH mit K1=H und K2=H 'bedingter Sprung' Postfix: '12' Ein vollständiges Sprungkommando ist also z.B. 'Jd12,Sprungziel' oder 'Ji'. Die Adressen der Sprungziele können prinzipiell nicht nur 'absolut' und damit als Startwert im Zähler tauglich, sondern auch 'relativ' gegeben werden, indem nur die Differenz der aktuellen Adresse zur Sprungzieladresse im Opcode steht, die dann allerdings noch operiert werden muss. Solche relativen Adressen sind ausserdem unbrauchbar ohne Zahlattribut 'negativ'/'positiv'. Offenbar ist also die absolute Sprungzieldefinition eine Kürzung, die die Operation der Adresse erübrigt. Allerdings sind relative Sprungzieladressen in weniger Registern zu halten, was sie als sinnvoll erscheinen lassen kann. Eine besondere Art von Sprung ist der 'Ruf einer Prozedur', ohne den keine mir bekannte CPU zu haben ist. Er ist auch nicht zu haben ohne weitere Beziehungen, die den 'stack' betreffen, denn in diesem Adressbereich wird eine Adresse für den Rücksprung von der Prozedur zum Opcode nach dem Sprung zur Prozedur, gestapelt. In 'höheren' Programmiersprachen wird daraus noch mehr, nämlich eine Systemphilosophie. Prozedurrufe dieser Art und erst recht diesbezügliche Systemphilosophien sind denkbar überflüssig, nicht nur, weil sie mehr Aufwand bei der Herstellung von CPU und Programmen kosten, sondern auch nur zwei Opcodes bei der Programmierung einsparen, was aber mehr Verknüpfungen in der Kontrolle kostet und letztlich zwei implizite Opcodes für den Transfer der Rücksprungadresse zu und von stack im Speicher und weitere zwei implizite Opcodes für Inkrementieren und Dekrementieren des 'stackpointers', dem Adressgeber allein für den stack, der also den immer nötigen Inkrementierer keineswegs ersetzt. Weit mehr Möglichkeiten der Gestaltung von Programmen erlauben dagegen explizit indizierte Rücksprünge, die dann auch bedingt auf verschiedene Sprungziele erfolgen können. Die hier vorgestellte Kontrolle erlaubt aber auch direkte Rücksprünge, wobei die Rücksprungadresse vor dem Sprung in den Opcode geschrieben werden muss. Die Rücksprungadresse ist in diesem Fall genau wie beim indizierten die Adresse des Opcodes, der den 'Prozedurruf' macht, und wird beim Rücksprung noch im Zähler inkrementiert. In beiden Fällen wird also mit dem auf den 'Prozedurruf' folgenden Opcode fortgefahren. Der indizierte Rücksprung sieht ohne Verwendung von Abkürzungen so aus: 1) Adresse für Rückkehr im Ab1x schreiben 2) springen 3) ab Sprungziel weitermachen mit Adresszähler... 4) bei 1) gespeicherte Adresse an Ag1 schreiben 5) indiziert springen mit dieser Adresse, mit der entweder der auf 2) folgende Opcode oder aber auch beliebiger anderer adressiert ist. Auf diese Weise kann also Programm zwischen 3) und 4) in verschiedene Stellen eines Programms eingefügt werden, was Programme deutlich kürzer machen kann. Ich werde solche Programmteile auch 'Prozeduren' nennen, meine dann aber nicht implizit einen Umgang mit dem 'stack' und damit mögliche implizit indizierte Rücksprünge. Da hier unter 4) eine beliebige Adresse gelesen werden kann, können Rücksprünge unter 5) abhängig von Bedingungen zwischen 3) und 4) gemacht werden, die bei anderer Methode, wenn überhaupt, dann nicht so einfach gemacht werden können. In einem Ablauf ohne 2) kann der finale Sprung 5) auf die gleiche Weise bedingt sein, wobei dann nicht nur zwischen zwei nächsten Adressen entschieden werden kann, sondern beliebig vielen, bedingt durch beliebige Kriterien. Ich ergänze nun die vorgestellte Ausdrucksweise noch in bekannter Weise um eine namentliche Markierung für Adressen, die Sprungziel oder Variable sein sollen. Dazu benutze ich das Präfix ':' vor den Namen von Adressen, auf die dann in Kommandos bezogen werden kann. Ist die Adresse nicht die eines Opcodes, sondern einer Variablen, dann soll dem Namen ein Postfix '=' und eine Ziffernfolge folgen, z.B.: :Variable=1 Sind Wertdefinitionen in Opcodes nötig, werden sie durch Komma getrennt und mit Praefix '=' hinter ein Kommando gestellt - z.B.: :Startwert Ld,inc,=10 ...womit der Inkrementierer an A2 mit Startwert =10 geladen wird. :Zieladresse Ld,Ag1,=:Startwert ...womit im weiteren der Startwert indiziert umgeschrieben werden kann. Weil die hier vorgestellte Iterationsmaschine minimiert ist, sind Adressen von Variablen auch im Opcode. Es sind also nicht nur Sprungziele mit Namen zu versehen. Damit haben wir ein vollständiges Repertoire von Ausdrucksmitteln, um damit Programm und dadurch mögliche Verknüpfungen diskutieren zu können. Während schon bei der Herleitung der Iterationsmaschine klar war, dass der Transfer von Daten über den Datenbus möglich sein muss, sind Sprünge bisher nicht als notwendig zu erkennen gewesen. Das kommt nun: Wenn man im Speicher ausser Programm auch Daten speichern will, dann kann man nicht zusehen, wie der Zähler nach grösster Adresse bei kleinster weitermacht. Offenbar muss der Zähler einen neuen Startwert bekommen, bevor er Daten als Opcode adressiert. Damit ist begründet: REGEL: Jedes Programm muss als letzten Opcode einen Sprung enthalten. Damit ergibt sich auch gleich eine weitere Regel, die die Bedeutung von Adressbereichen mindestens an A1 betrifft. REGEL: In einer Iterationsmaschine sind immer mindestens zwei Dimensionen gegeben, die Programm oder Daten bedeuten und in einer Dimension gestapelt durch Programm zu unterscheiden sind. Auch wenn die Daten mitten im Programm liegen, muss ein Sprung darüber hinweg getan werden können, muss also im Programm die Bedeutung gegeben werden. Wenn wir uns irgendeinen Rechengang als Zweck des Programms vorstellen, lässt sich jedenfalls nicht nur ein Anfang mit Reset, sondern auch ein Ende sehen, nach dem sich die Besetzung des Speichers nicht mehr ändern darf. Dann ist eine besondere Art zu springen nötig: :Schleife ............irgendein vorletztes Kommando Jd,Schleife Weil die Adresse von Schleife im Zähler noch inkrementiert wird, führt dieser Sprung wieder auf sich selbst. Der Zähler inkrementiert dabei zwar, resultiert aber immer die gleiche Adresse des einen Opcodes. Stehen zwischen dem Sprungziel und dem Sprung noch weitere Opcodes, dann werden diese ebenfalls stets wiederholt. BEGRIFF: 'Schleife' ...ist eine beliebige Menge Opcodes zwischen einer beliebigen Adresse und einem Sprung, der auf diese Adresse zurück führt. Da fast immer nach einem Reset etwas getan werden muss, was nur einmal getan sein muss, besteht jedes Programm aus einer einmaligen 'Initialisierung' und dem folgenden Eintritt in mindestens eine Schleife. Das ist aber nicht der einzig nötige Sprung. Weil wir bereits feststellen konnten, dass Operatoren auch Überträge oder eine Null resultieren können, können wir leicht sehen, dass dann mindestens zweierlei weitere Abläufe sein müssen. Dies entspricht einem Schalter in einer Zustandsmaschine. In einer Iterationsmaschine müssen stattdessen die zwei Adressen, die solche Verknüpfungen herstellen, zu einer Zeit zur Wahl stehen. Das ist einmal die inkrementierte Adresse im Zähler und alternativ eine Adresse im Opcode oder im Ag1. Und offenbar muss zur gleichen Zeit auch das Kriterium für die Entscheidung gegeben sein. Da der Zähler nur in einer Dimension und auch nur in einer Richtung nächste Adressen resultieren kann, sind bei mindestens zwei nötigen Abläufen nicht nur von Kriterien abhängige Sprünge zu tun, sondern es ist auch nach dem ersten Ablauf ein Sprung über den zweiten hinweg zu der Adresse zu tun, wo nach dem einen wie dem anderen Ablauf weitergemacht wird. Das sieht prinzipiell so aus: Ld,Augend Ld,Addend Jd1,Übertrag ...sei K1 Ld,Ag1 ...geschriebene Adresse sei die einer Variablen Si,Summe ...Wert unter der Adresse wird geschrieben Jd,Weiter :Übertrag ...Abhandlung des Übertrags :Weiter ...z.B.eine weitere Addition Während eine Summe hier ignoriert wird, wenn ein Übertrag erscheint, wird sie andernfalls zum Wert einer Variablen. Der Ablauf für die Abhandlung eines Übertrags muss also dem anderen Ablauf folgen und muss übersprungen werden am Ende des anderen Ablaufs. So werden aus zwei Dimensionen eines Programms eine, die der Zähler adressieren kann. Auf die gleiche Weise können beliebig viele Dimensionen in die eine im Speicher vorhandene gestapelt werden. Bedingte Sprünge können nicht nur innerhalb einer Schleife nötig sein, sie taugen auch, eine Schleife zu verlassen und in eine nächste einzutreten, wenn ein Zähler der Schleifendurchgänge auf Null herunter gezählt ist, beim Suchen eines Wertes in einem Adressbereich eine gewünschte Gleichheit mit einem gesuchten Wert auftritt, oder beim Raufzählen einer Adresse die Grenze erreicht ist, kurz: ein 'Schleifenkriterium', das ein Übertrag oder eine Null ist, erreicht ist. Schliesslich kann ein mehrfach gebrauchter Ablauf auf einen gekürzt werden, der mehrfach angesprungen wird - die bereits vorgestellte Prozedur. Neben der schon genannten Rücksprungadresse sind je nach Zweck des Ablaufs auch Werte zur Abhandlung in der Prozedur zu transferieren. Die Prozedur ist damit eine Schleife, deren Schleifenkriterium immer erreicht ist, die aber durch wiederholten Einsprung beliebig oft durchlaufen werden kann. Die zweite Umformungsregel, nach der Adressierung Leitungen aequivalent ist, kann nun abschliessend verfeinert werden mit Bezug zu Zustandsmaschinen einerseits und Iterationsmaschinen andererseits: Der offenbar wichtigste Unterschied ist die bei Zustandsmaschinen mögliche dreidimensionale Verknüpfung mittels Leitungen, die sich kreuzen können, und der einen einzigen Dimension, in der ein Programm steht, das solche Leitungen in einer Iterationsmaschine repräsentiert. BEGRIFF: 'Stapel' Werte unter Adressen bilden in einer Iterationsmaschine immer einen Stapel mit einem niederen und einem höchsten Ende. Nicht nur einzelne Werte bilden somit einen Stapel von Werten, auch Stapel können gestapelt werden. Die Basisadresse kann sowohl die niederste wie die höchste Adresse im Stapel sein. ERLÄUTERUNG: Der Stapel entspricht logisch den unter 2.2.1.2.1. abgehandelten Dimensionen, bezeichnet aber Adressmengen in Iterationsmaschinen und nicht Punktemengen. Es sind so also mehrstellige Werte unter Adressen von einstelligen Resultaten der Adressen zu unterscheiden. Stapel sind von Adressbereichen insofern zu unterscheiden, als sie zwar ebenfalls nicht mit einer vollständigen Adressmenge adressierbar sind, die Adressmenge aber durch Inkrementieren erzeugt werden kann - also lückenlos ist und nur oberhalb der höchsten und unterhalb der niedersten Adresse nicht vollständig ist. Im Gegensatz zu Adressbereichen sind Stapel unabhängig von Zuständen und Bedeutungen mit zwei Werten gegeben: einer Basisadresse und einer Länge, die die Anzahl der Adressen im Stapel zählt. Dabei kann die Länge ein Addend oder Subtrahend sein. REGEL: Ein Stapel hat eine Basisadresse und eine Länge, die addiert zur oder subtrahiert von der Basisadresse die Adresse des nächsten nicht zum Bereich gehörenden Wertes ergibt. Mit einem Stapel ist eine Ordnung gegeben, die durch Zahlen als Adressen gekennzeichnet ist, und die hier noch erweitert werden soll, damit die Abstände zwischen den Adressen auch grösser als 1 sein können. Es sind also Einheiten gestapelt, die zwar auch Stapel sind, aber unter einen weiteren Begriff gestellt werden, um auch dats als Elemente eines Stapels abhandeln zu können, die breiter als ein Register sind. BEGRIFF: 'Eintrag' Ein Eintrag ist das kleinste Element in einem Stapel. Die Breite eines Eintrags ist immer ein Vielfaches der Registerbreite. Der Schritt vom einen Eintrag zum nächsten ist mit Addenden oder Subtrahenden, die dann relative Adressen sind, zu tun. Die Länge eines Stapels ist immer ein Vielfaches der Länge von Einträgen und kann auch als Anzahl von Einträgen definiert werden. ERLÄUTERUNG: Sofort zu sehen ist, dass auch Mengen von dats gestapelt sein können, die unter jeweils verschiedener Anzahl von Adressen eine Einheit in Bezug auf die Bedeutung haben können - z.B. die Mengen von Zeichen, die in diesem Text Sätze bilden. Solche Mengen von dats sind offenbar nicht mit Addenden oder Subtrahenden zu ordnen, sondern sind verschiedene Stapel. Die Stellen in einem Eintrag wären zwar noch kleinere und auch immer vorhandene Elemente in einem Stapel. Weil die aber nicht direkt über Adressbusse, sondern erst nach einer Adressierung über Adressbusse mittels Operationen adressierbar sind, sollen Stellen nur im weiteren Zusammenhang mit Operationen von Einträgen interessieren. Was bei Zustandsmaschinen nebeneinander liegen kann, liegt im Programm immer hintereinander, undzwar in der Zeit. Damit ist eine Ordnung gegeben, in der Adressen nicht nur die Wertigkeit von Zahlen haben, sondern auch Zeitpunkten. Es sind so nicht nur 'höhere', sondern auch 'spätere' Adressen möglich, die durchaus auch 'niederer' sein können. Immer finden sich diese Adressen aber in einem durch einen Adressbus gegebenen Bereich, der allerdings nicht die Tiefe der damit ersetzbaren Zustandsmaschinen begrenzt, weil Rücksprünge möglich sind. Adressen sind damit nicht eindeutig Zeitpunkte und Programme können tatsächlich unendlich lange ablaufen. Damit ist eine Iterationsmaschine mittels Programm jeder beliebigen Zustandsmaschine aequivalent. Weil die Opcodes gestapelt sind, sind auch Abfolgen von Opcodes zwischen einer Einsprungadresse und einem Absprung, Stapel, die allerdings nicht beliebig gestapelt werden können, wenn der Absprung bedingt ist und damit der nächste Opcode auch der nächste zu adressierende sein kann. Die zweite Umformungsregel ist also insofern zu ergänzen, als auch die Leitungen, die die Opcodes letztlich repräsentieren, nicht beliebig gestapelt sein können, obgleich sie in Zustandsmaschinen sehr beliebig liegen können. Diese Ordnung hat schon angesprochene Konsequenzen beim Umgang mit Überträgen. REGEL: In Zustandsmaschinen mögliche parallele Teilbeziehungen, die über Schalter bewirkt werden, können im Programm nicht parallel liegen. Schalter sind durch bedingte Sprünge zu ersetzen. Wenn Werte von Adressen arithmetisch kalkuliert werden, um an die Werte unter diesen Adressen zu kommen, zu lesen oder zu schreiben, kann anders als bei Opcode eine prinzipiell beliebige Stapelordnung gegeben sein. Zunächst ein Beispiel, mit dem ich auch zeige, wie eine Stapelordnung mit einem Schleifenkriterium verknüpft zu Kürzungen im Programm führt: Es soll eine Liste im Speicher versetzt werden, also Werte ab einer Adresse zu Werten ab anderer Adresse werden. Die Länge der Liste wird zuerst definiert. Ld,Zwischenreg,=10 Ld,Ag1,=:Listenlänge ...Schleifenkriterium Si,Zwischenreg Basisadressen von Quelle und Ziel werden gesetzt. Ld,Zwischenreg,=1000 ...Basisadresse der Quelle Ld,Ag1,=:Quellbasis1 Si,Zwischenreg Ld,Ag1,=:Quellbasis2 Si,Zwischenreg Ld,Zwischenreg,=9000 ...Basisadresse des Ziels Ld,Ag1,=:Zielbasis1 Si,Zwischenreg Ld,Ag1,=:Zielbasis2 Si,Zwischenreg :Quellbasis1 Ld,Inkrementierer :Quellbasis2 Ld,Ag1 Li,Zwischenreg Ld,Ag1,=:Quellbasis1 Si,Inkrementierresultat Ld,Ag1,=:Quellbasis2 Si,Inkrementierresultat :Zielbasis1 Ld,Inkrementierer :Zielbasis2 Ld,Ag1 Si,Zwischenreg Ld,Ag1,=:Zielbasis1 Si,Inkrementierresultat Ld,Ag1,=:Zielbasis2 Si,Inkrementierresultat Schleife zählen mit einem Dekrementierer und Rücksprung mit K2 bedingen, was im Dekrementierer gesetzt wird, falls Resultat=0 Dieser Ablauf kann auch am Anfang der Schleife stehen, wobei dann ein Wert weniger transferiert wird - eine Regel, die unten in weiteren Zusammenhang gestellt wird. Solch ein Ablauf wird dann 'Schleifenzähler' genannt. :Listenlänge Ld,Dekrementierer Ld,Ag1,=:Listenlänge Si,Dekrementierresultat Jd2,Weiter Das folgende Sprungkommando könnte entfallen, wenn auch mit invertiertem Kriterium bedingt gesprungen werden könnte...dann mit Sprungziel 'Quellbasis1'. Hier könnte auch ein Rücksprung einer Prozedur stehen, der auf beliebig andere Adressen als 'Weiter' führt. Jd,Quellbasis1 :Weiter .......beliebiges Programmierern wird gewiss der Umgang mit den Werten von Variablen fremd vorkommen, die Teil eines Opcodes sind. Das ist in allen Computern ebenfalls möglich, würde Übersetzungsprogramme aber kompliziert machen und wird deshalb immer ausgeschlossen. Die hier gezeigte Verfügbarmachung ist eine Kürzung, die jedenfalls das Register für die Variable überflüssig macht. Ich zeige das am letzten Beispiel, indem ich die Opcodes umformuliere für den üblichen Umgang mit Adressen von Variablen und den Werten darunter: :Variable=0 ...irgendwo im Speicher Ld,Zwischenreg,=10 Ld,Ag1,=:Variable Si,Zwischenreg ................andere Opcodes bis zum Schleifenzähler Ld,Ag1,=:Variable Li,Dekrementierer Si,Dekrementierresultat Dieser Umgang mit Werten unter Adressen ist aber vorteilhafter, wenn ein Wert in vielen Teilen des Programms gebraucht wird, aber noch nicht entschieden sein kann, wo, weil noch bedingte Verzweigungen im Ablauf sind, und deshalb in allen Verzweigungen dieser Wert umgeschrieben werden müsste, auch wenn er letztlich nur in einem Zweig eine Rolle spielt. Dann wäre die Benutzung von Adressen im Opcode, die immer die gleichen bleiben können, eine Kürzung. Ich formuliere deshalb die erste Kürzungsregel, die Programm betrifft, ebenso wie weitere als durch Zwecke bedingte Möglichkeit, also nicht nur durch Verknüpfungen bedingte Regel. REGEL: 'erste Möglichkeit der Programmkürzung' Adressen für Werte können ersetzt werden durch Adressen von Opcode, wenn der Wert nur in einem Opcode nötig ist. Andernfalls sind Adressen für Werte die Kürzung. Zum Ablauf ist zunächst festzustellen, dass er nicht zu minimieren ist. Er ist allerdings zu optimieren in Bezug zur Zahl der Kommandos und Geschwindigkeit, wenn statt Ag1 ein Zähler vorhanden wäre, der während er eine Adresse gibt, bereits die nächste inkrementiert ('Postinkrement'). Dann allerdings wäre der Inkrementierer nur für diesen Zweck zu gebrauchen und ein weiterer im Ab2 wäre für andere Rechengänge nötig. Der Zählerwert für den Schleifenzähler kann prinzipiell auch Addend der Basisadresse sein, also beliebige Einträge zählen. Deshalb kann ein Inkrementierer auch zugunsten eines Addierers erübrigt werden, der Ag1 so erweitert, dass implizit Summen addiert werden. Insbesondere die implizite Addition von Basisadressen ist sogar unverzichtbar, wenn mehr als ein Programm im Speicher liegen können soll, die Basisadresse beim Schreiben des Programms aber noch nicht bekannt sein kann. Auch andere Adressierungen können dann mit weniger Opcode gemacht werden, wenn der ohne abgeänderte Kontrolle die arithmetische Kalkulation in einem 'Adressrechner' kommandiert. Die Adressierung mit Ag1 wäre dann nicht nur mit Transfer einer absoluten Adresse vor einem indizierten Transfer zu setzen. Statt der einen Adresse von Ag1 im Ab2 wären mehrere Adressen für Addenden vorzusehen, die abhängig von Stellen im Statusregister summiert werden oder auch abhängig von verschiedenen Adressen von Ag1 im Ab2, die beim finalen Transfer an Ag1 die darauf folgende indizierte Adressierung mittels Ag1 bahnen. Die für die arithmetische Bildung von Adressbereichen nötigen Kalkulationen sind dann in einer einzigen Kontrollphase zu erledigen, Teilbeziehungen zur Kalkulation können so wie in einer Zustandsmaschine auch parallel liegen. Dabei kann auch das Zahlattribut 'negativ'/'positiv' verwertbar sein. Schliesslich taugen solche Adressrechner nur dann in solchen Schleifen, wenn sie nicht Kriterien im Statusregister setzen, die die von Schleifenkriterien überschreiben. Eigene Kriterien dagegen können dann sinnvoll sein, wenn nicht Schleifenzähler den Austritt aus der Schleife bedingen. REGEL: 'zweite Möglichkeit der Programmkürzung' Mit einem Adressrechner kann die Zahl von nötigen Opcodes minimiert werden. Die Nützlichkeit der Erweiterungen kann mit der Anzahl der Adressrechner nicht proportional gesteigert werden. Die Steigerung der Nützlichkeit ist nach der Erweiterung mit einem Adressrechner am grössten. Das ergibt sich ganz einfach daraus, dass es stets ein Programmablauf zu einer Zeit ist, der mit einem Adressrechner in Bezug auf die Zahl der Opcodes gekürzt werden kann. Mehr Nützlichkeit ist dann durch weitere Operandenregister, die bei indizierter Adressierung erreichbar sind, eher zu erreichen. Auch ein zweiter Adressbus im Ab2 ist sehr nützlich, weil er den direkten Transfer zwischen Registern mit nur einem Opcode ermöglicht, falls die Breite der Adressen im Ab2 höchstens die Hälfte der Breite von Adressen an A1 beträgt. Insbesondere eine grössere Anzahl von Zwischenregistern kann Zeit sparen, wenn der Speicher an A1 langsamer als der an A2/3 ist - in realen Maschinen immer. Das geht aber nur bei erweiterter Kontrolle - in realen Iterationsmaschinen ist sie Standard als Eigenschaft einer CPU. REGEL: 'dritte Möglichkeit der Programmkürzung' Sind Adressen im Ab2 weniger als halb so breit wie Adressen an A1, dann kürzt ein zweiter Adressbus im Ab2 die Zahl nötiger Opcodes. Diese Erweiterung ist, wie hier gezeigt, nicht a priori nötig. Wenn sie aber gemacht wird, dann sollten auch möglichst viele Register im Ab2 vorgesehen werden. Normale Aufgaben in diesem Bereich erfordern mindestens 16 Adressen für die Speicherung von Zwischenwerten bei Kalkulationen von Adressen oder Werten. Mindestens ebenso viele Adressen sind für Argumente und Resultate von Operatoren nötig, falls nicht eine Adressierung gewählt wird, die beliebige Register im Ab2 zu Argumenten eines mit Kontrolldat adressierten Operators macht, dessen Resultat dann in eines der Operandenregister geschrieben wird - Standard bei vielen CPUs. Auch diese Erweiterung kann Programm kürzen. Noch besser sind weitere Adressen im Ab2, die erlauben, als Zielregister für Resultate auch andere Register als die Operandenregister adressieren zu können. Das erspart einen erneuten Transfer von Argumenten, falls sie mehrfach dienen sollen. Solche Erweiterungen sind in realen Adressrechnern zu finden, deren Argumente im Ab2 gelesen werden. Wir konnten auch erkennen, dass ein Schleifenzähler die Abfolge vieler Opcodes für den Transfer vieler dats auf eine Abfolge zum Transfer eines einzigen dats zu kürzen gestattet. Eine Schleife kann also mehr als eine Ehrenrunde am Ende eines Programms sein. Sie ist eine universelle Möglichkeit zur Programmkürzung. REGEL: 'vierte Möglichkeit der Programmkürzung' Ist mehr als eine Abfolge gleicher Opcodes nötig, können diese auf eine einzige Abfolge in einer Schleife mit einem Schleifenzähler gekürzt werden, sofern die Zahl der Schleifendurchgänge vor dem Eintritt in die Schleife bekannt ist. Eine solche Schleife kann offenbar auch mit verschiedenen Schleifenkriterien beliebig oft durchlaufen werden, kürzt also auch eine beliebige Unzahl solcher Schleifen mit verschiedenen Schleifenkriterien auf eine, die dann allerdings mit indiziertem Sprung verlassen werden muss. Nun kann endgültig abgeschätzt werden, ob mit der unter 2.2.3.1. gezeigten Kontrolle alle Möglichkeiten für Programme gegeben sind. Ich fand einige wünschenswerte Erweiterungen im Zusammenhang mit Adressgebung an A1, und es lassen sich natürlich noch Wünsche nach bestimmten Operatoren formulieren, die aber nur die Adressmenge im Ab2 und Stellen im Statusregister betreffen. Ein wünschenswerter weiterer Adressbus für Adressen im Ab2 wäre die einzige Erweiterung, die grössere Konsequenzen für die Kontrolle hätte, wäre allerdings nur nötig, um Programm zu kürzen. Die vorgestellte Kontrolle ist also ein hinreichendes Minimum und erlaubt die vollständige Umsetzung von Zustandsmaschinen in Iterationsmaschine und Programm bei vom Zweck abhängiger Grösse der Adressbereiche an A1 und A2. Besondere Beziehungen und eine erweiterte Kontrolle werden allerdings dann nötig, wenn mehr als ein Ein/Aus-Schalter Abläufe in Iterationsmaschinen bewirken können soll. Eine bekannte Lösung sind Unterbrechungseingänge in realen Iterationsmaschinen, die unkalkulierbar auftretende Werte als Kriterien für ansonsten unbedingte Verzweigungen leiten. Bei solchen Verzweigungen müssen unbedingt die Werte der Kriterien gerettet und vor Ende der Verzweigung restauriert werden. Die Zahl nötiger Kontrolldats ist nicht nur klein, sondern es gibt in der dafür nötigen Anzahl von Stellen auch Werte, die nicht gebraucht werden. Sowohl diese Werte als auch als Kontrolldat gültige Werte sind wie gezeigt durch Verknüpfungen bedingt, für die es beim gleichen Repertoire von Bedeutungen durchaus verschiedene Möglichkeiten gibt. Es gibt also keinen Bezug zwischen Bedeutungen und bestimmten Kontrolldats unabhängig von Beziehungen in einer Iterationsmaschine. Auch für Abfolgen von Opcodes gibt es verschiedene Möglichkeiten, die nicht alle brauchbar sind. Und natürlich sind auch brauchbare Abfolgen nur mit Bezug zu Zwecken, die hier die Bedeutungsgebung bedingen, als brauchbar zu qualifizieren. ERGO: Betrachtet man also ein Programm als eine bestimmte Anzahl von Stellen, gibt es bei optimaler Kontrolle immer eine grosse Anzahl von Möglichkeiten für die Besetzung, die keine Bedeutung haben. Auch dann, wenn man nur Opcodes als Elemente eines Programms betrachtet, gibt es eine grosse Anzahl von Möglichkeiten für die Abfolge, die entweder einem konkreten Zweck nicht dienen oder sogar überhaupt keinem dienen können. REGEL: Nicht jede Besetzung in einer Iterationsmaschine kann Bedeutung bekommen. Das Beispiel, eine Liste zu versetzen, zeigt prinzipiell die Erzeugung von Adressbereichen aus dem mit Zähler adressierten Adressbereich eines Programms heraus. Adressen, Werte und ihre Anordnung im erzeugten Adressbereich sind im Beispiel Resultate des Programms, in dem sie gegeben sind. Die Werte könnten auch aus irgendeinem Register im Ab2 zu lesen sein. Die niederste Adresse im neuen Stapel ist allerdings nicht beliebig. Ich gehe hier davon aus, dass der gesamte Adressbereich von bereits im Speicher gegebenem Programm unterhalb einer Adresse gestapelt ist, die die niederste Adresse in der Dimension der Daten ist. Diese Adresse muss im Programm definiert sein, weil andernfalls keine Basisadresse über dem gegebenen Programm definiert werden kann. Deshalb muss sie auch umdefinierbar sein, wenn ein weiterer Stapel über dieser Basisadresse erzeugt wurde. 3. LOGISCHE WESEN Bis hierher habe ich Maschinen betrachtet, die vollständig gegeben sein müssen. In jedem Fall entscheidet nur ein menschlischer Konstrukteur, was eine Maschine tut oder nicht. Auch eine Iterationsmaschine kann nur Verhalten zeigen, das mit einem Programm vorbereitet wird. Sie tut immer genau das, was programmiert ist. Allerdings erlauben Programme, Werte von Adressen und unter Adressen so nach Regeln zu variieren, dass die Bewirkung sehr komplizierter logischer Apparate erscheint, die tatsächlich nur als Programm existieren. Iterationsmaschinen sind also Beziehungen, in denen neue Beziehungen entstehen können, ohne dass die als Verknüpfungen von Invertern gegeben sein müssen. Ohne die Maschine und in ihr adressierbare Operatoren ist ein Programm allerdings ohne Bedeutung. Hier betrachte ich nun Maschinen, in denen auch die Operatoren und nicht nur deren Verknüpfung durch Werte gegeben sein können. Auf die gleiche Weise können dann auch beliebige andere Beziehungen als Wertemengen existieren. Sie sind damit abwandelbar. Alle Beziehungen sind offenbar immer zu konstruieren, indem man nicht nur entscheidet, welche Ausgänge mit welchen Eingängen verknüpft sind, sondern insbesondere, welche Ausgänge mit welchen anderen Ausgängen verknüpft Kanten bilden. Ausserdem ist natürlich die Bewirkung eines einzelnen Inverters zu geben, also sein Vorhandensein oder Fehlen. Die offenbar sehr kleine Zahl von Möglichkeiten für die Verknüpfung einzelner Inverter lässt sich mit wenigen Stellen Code bedingen. Beziehungen werden damit zu Ideen, die geändert und geprüft werden können. Der dazu nötige Code ist ein prinzipiell anderer als Opcode und wird deshalb besonders bezeichnet: AUSDRUCK: 'Locode' ...sind die Stellen, in denen Werte H,L die Bedeutung von Verknüpfungen zwischen Inverterausgängen und die Invertierung von Argumenten erhalten. Logische Apparate, in denen Locode Bewirkungen etabliert, sind nun zum Begriff zu machen, der sie anderen logischen Maschinen gegenüber stellt. BEGRIFF: 'logisches Wesen' Ein logisches Wesen ist eine Beziehung, die teilweise durch Locode gegeben ist. So gegebene Beziehungen können durch Resultate geändert werden, die in der gleichen Maschine erzeugt werden. ERLÄUTERUNG: Damit ist eine Iteration vorgestellt, die mehr ist als die wiederholte Nutzung von logischen Maschinen. Diese Iteration ändert auch die genutzten Maschinen. Es ist so auch sofort zu sehen, dass Begriffe, die wir zur Beschreibung biologischer Gegebenheiten kennen, tauglich sind zur Beschreibung dieser Art von Maschinen. Sie sind Individuen, die das auf irgendeine Weise wissen müssen, weil sie Reize an ihren Eingängen nicht unbedingt prozedieren, sondern damit die Änderung ihrer inneren Beziehungen bewirken können oder auch nicht. Logische Wesen müssen also ein Selbstbewusstsein in der Weise haben, dass sie Kriterien dafür haben, ob sie etwas tun oder lassen. Sie können auf diese Weise Charakter entwickeln, sie können altern und sterben, und sie können verblöden oder irre werden. Deshalb werde ich im weiteren Worte benutzen, die die leicht verkannt werden können als die Behauptung, dass logische Wesen Menschen oder Tieren gleichen. Ich sage deshalb gleich, dass ein Unterschied besteht, der niemals verschwindet: Logische Wesen entstehen wie alle anderen Beziehungen nur durch konstruierende Menschen, die ihr Verhalten initialisieren. Lebewesen dagegen sind durch eine biologische Evolution initialisiert, die von Einzellern ausgeht und den in ihnen enthaltenen Chromosomen. Ich werde hier nicht diskutieren, welche Unterschiede sich dadurch ergeben. Ausdrücke und Begriffe, die Analogien zu Lebewesen andeuten, sind metaphorisch zu nehmen und werden nur logisch und nicht biologisch begründet. ZUSAMMENFASSUNG 2.: Ich habe Iterationsmaschinen allein aus dem Inverter-Axiom und Spielerei mit möglichen Verknüpfungen hergeleitet. Damit ist jede mögliche Variante eine mathematische Formel, die mit den vorgestellten Kürzungen zweckgerecht abgewandelt und optimiert werden kann. Auch Programme sind dabei auf das Inverter-Axiom bezogen worden und zu Varianten der Adressierung geworden, die wiederum durch Zustandsmaschinen ersetzbar ist und damit auch zu Konstruktionen werden kann, die ohne Programm Zwecken insbesondere zeitlich optimiert gerecht werden können. Ich habe auch einen Beitrag zum Verständnis der Welt geleistet, weil ich physikalische Dimensionen der Logik hergeleitet habe. Damit können nicht nur Einsichten in physikalisches Geschehen gefunden werden, sondern auch das, was bisher dem Zungenspiel ausgeliefert war, kann mit unbestreitbarem Bezug versehen werden. Logische Verknüpfungen sind mit ihrer Bewirkung nicht nur Spielerei für grüblerische Gemüter, sondern zeigen Naturgesetze. Auch Einsichten in biologisches Geschehen oder chemische Bindungen können vertieft werden mit Blick auf Zustandsmaschinen und die immer nachgeschaltete Bedeutung. Vererbung geschieht nicht, weil irgendwer fand, dass dies und das gut sei, sondern weil nachgeschaltete Bedeutung es so gut sein liess, dass die vererbte Art erhalten bleiben konnte. Das, was erhalten blieb und weiter vererbt werden konnte, muss also keineswegs sinnvoll sein. 3.1. LOGISCHE ZELLEN Offenbar können logische Beziehungen nicht ohne logische Beziehung entstehen. Wenn aber Beziehungen durch Locode etabliert werden können, dann muss die Beziehung, in der Locode bewirken kann, nicht notwendig den bis hier gezeigten logischen Maschinen, insbesondere nicht der Iterationsmaschine allzu ähnlich sein. Vor allem muss gesehen werden, dass die Breite von Argumenten nicht den Beschränkungen ausgesetzt ist, die die Iterationsmaschine bedingt. Dort erweist sich ja die Breite von Bussen, Registern, Opcode und Operanden als abhängig vom Takt und einer notwendig bestimmten Zahl von Stellen, die zu gleicher Zeit besetzt sein müssen, z.B. wenn es um Adressen geht. Ein logisches Wesen kann dagegen sehr deutlich anders konstruiert sein. Insbesondere können Abläufe parallel existieren und sich ohne Rekursionen beeinflussen. In einer Iterationsmaschine nötige Verzweigungen sehen anders aus, wenn insbesondere Kriterien parallel entwickelt werden. Die können darüber hinaus auf den Locode zurück wirken, statt nur Sprungbedingungen in vorhandenem Programm zu sein. Weil jedenfalls schon auf den ersten Blick sehr viel mehr Möglichkeiten der Verknüpfungen zu einer Zeit erscheinen, werde ich mich zunächst auf einen Typ von Beziehung beschränken, der wie ein Operator in einer Iterationsmaschine adressierbar zwischen Registern liegt und auf schon gezeigte Weise Argumente und Locode liest und Resultate schreibt. Im Unterschied zu Operatoren kann dann die Übertragsbildung und Bewirkung der Argumente beliebig variabel sein. Auch weil eine mit Locode gegebene Beziehung nicht ohne Speicher zu machen ist, ist abgesehen von speziellen Zwecken immer eine Variante der Iterationsmaschine als maschinelle Umgebung einer Bewirkungsgebung nötig. Dort ist auch ein Takt gegeben, mit dem Locode und Argumente geschrieben oder Resultate gelesen werden können. Insbesondere können Resultate auch Sprünge bedingen und damit auch Verzweigungen in bestehendem Programm ändern. Zunächst zeige ich die 4 Möglichkeiten eines Locodes in zwei Stellen, zugeordnet zu Möglichkeiten für Kantenbildung und Invertierung in 1 Stelle: Kante Locode=LL: | Argument1------>-X---------Resultat1 | Locode=LH: | Argument2--------O---------Resultat2 | X Kante unbedingt unterbrochen X Kante unbedingt unterbrochen Locode=HL: | Argument3--------O---------Resultat3 | Locode=HH: | Argument4--------O---------Resultat4 | Nochmal in Worten: Locode=LL bewirkt ein invertiertes Argument, das in einer Stelle zum Resultat wird. Diese Stelle wird von einer Kante überbrückt und nicht beeinflusst. An dieser Kante können, aber müssen nicht andere Argumente liegen. Alle anderen Locodes bewirken ein nicht invertiertes Resultat an einer Kante mit geraden Eingängen, an der nicht notwendig eines der benachbarten Argumente liegt. LH verknüpft nur mit der oberen Kante, unterbricht aber zur unteren. HL macht das Gegenteil zu LH, verknüpft mit der unteren Kante, unterbricht aber nach oben. HH verknüpft mit Kante nach oben und unten. Sind die Verknüpfungen zu benachbarten Kanten unterbrochen, dann kann ein Wert unbeeinflusst und nicht invertiert resultiert werden. Ich zeige noch die Decodierung des Locodes und wie er Argument, Resultat und Verknüpfung mit der Kante beeinflusst. Dabei benutze ich folgende Abkürzungen zur Bezeichnung von Ein- und Ausgängen: A=Argumenteingang, R=Resultatausgang, Kxy=Kante mit x=o=oben, x=u=unten, y=e=Eingang, y=a=Ausgang, l1,l2 =Locodestellen. Gezeigt ist eine logische Zelle, deren Koa verknüpft ist mit Kue der Zelle darüber, und deren Kua verknüpft ist mit Koe der Zelle darunter. Die Nachbarzellen sind analog mit Koe und Kue der gezeigten Zelle verknüpft. Koe-----------------------o------------------>>O o->O->O | o------>O | | o-X----->>O | | | o----------X------------>>O | | | | o-X----------X->>O----->O->-X------Koa | o----------X-->O o->O | | | o->>O | | A------o---->O-->O-X-X-------->>O-------X------X------R XOR1: | o-->O | | | o->>O | | | | | | o----------X-->O | o->O o-X->>O-->O | | o-------X->>O---X-------->O->-Kua XOR2: o->>O | | | | | | | o--X-------X----->>O | | | | o-----X----->>O Kue------X---------X-X--X-o->O->O o---------X-o--X--->O l1-o---->O | o-->>O l2-Xo--->O | | |o--------------o | o--------------------o Werden bei XOR1 zwei statt einem und bei XOR2 einer statt zwei Invertern an die erste Kante gelegt, dann wird mit Locode LL nicht invertiert, während bei allen anderen Codes invertiert wird. Die Kante hat dann also ungerade Eingänge. Diese Variante macht das Invertieren auf einzelnen Leitungen komplizierter. Die gezeigte Variante ist insofern optimal. Natürlich gibt es auch hier Varianten, insbesondere solche, die mit Locode in mehr als 2 Stellen bewirken. Ich diskutiere sie hier nicht, um die Vorstellung einfach zu halten. Der hier gewählte Ausgangspunkt erlaubt jedenfalls jede Bewirkung mit Locode zu geben - vielleicht nicht in jedem Fall ideal. Immer werden viele Locodes in Stapeln liegen müssen, um auch nur einfachste logische Maschinen zu bilden. Dann sind mehr Inverter für die Speicherung zu investieren als nötig wären, um die Beziehung ohne Lococde zu etablieren. Machen wir uns zum Begriff, was aus Locode eine Beziehung macht: BEGRIFF: 'logische Zelle' Eine logische Zelle ist eine Beziehung, die ein Argument abhängig von Locode in mindestens zwei Stellen mindestens invertiert oder nicht und über eine Kante mit Nachbarstellen verknüpft oder nicht. Die Anzahl der Stellen für Resultate entspricht der für Argumente. BEGRIFF: 'Bewirkungsgeber' Eine beliebige Anzahl von parallel liegenden logischen Zellen, die zu einer Zeit Argumente und Locode lesen, ist ein Bewirkungsgeber. ERLÄUTERUNG: Die Bewirkungsgebung ist hier so konstruiert, dass jeweils in einer Spalte in Bildern wie oben zu einer Zeit logisch verknüpft wird. Natürlich kann man mehrere dieser Beziehungen in Serie verknüpfen, gewinnt damit aber keine Vorteile in Bezug zur Geschwindigkeit. Auch bei einer Bewirkungsgebung ist eine Übertragsbildung quer zur Breite der Argumente zu sehen, die ungefähr den Zeitbedarf hat, der in Addierern vorkommt. Serien von Bewirkungsgebern können diesen Zeitbedarf nicht verkürzen, erfordern aber einen grösseren Aufwand bei Leitungen - was wichtig bei realen Maschinen ist. Sofort zu sehen ist, dass auch in denjenigen Zeilen ein Argument gegeben werden muss, die frei bleiben sollen und erst im Laufe der Bewirkung definiert werden. Diese Zeilen müssen stets mit =H besetzt sein, wenn sie frei sein sollen. Wird die Zeile nach vorüber gehender Nutzung wieder frei, dann muss dort erneut das Argument =H gesetzt werden. Die Änderung an XOR1 und XOR2, die ungerade Kanteneingänge und nicht invertierten Durchgang bei LL verursacht, hätte auch die Konsequenz, dass Vorbesetzungen freier Leitungen mit =L zu geben sind. Ein besonderes Problem ist, eine Leitung in der Zeile wieder frei zu machen, nachdem sie vorübergehend genutzt wurde. Ganz offenbar kann nur eine Konstante den Zweck erfüllen, die als eine Stelle im Bewirkungsgeber eingebaut ist. Dann kann mit Locode eine Kante gegeben werden, die nur dazu dient, diese Konstante auf die Stellen zu übertragen, die frei gemacht werden sollen. Ich gebe ein Bild, um das klar zu machen: Konstante L mit konstantem Locode =HH--------------------->>O Leitungen zu definieren mit Locode =HH-------------------->>O-->O--H Stellen nicht zu definieren mit Locode =LL----------------->O-->O Die Stellen, in die die Konstante nicht übertragen werden soll, werden bei Locode =LL invertiert und müssen folglich in einer weiteren Spalte wieder invertiert werden. Am einfachsten ist, die Konstante wie gezeigt invertiert zu geben und anschliessend alle Stellen mit Locode =LL zu invertieren. Natürlich kann auch die andere Konstante H auf einer weiteren Stelle verfügbar sein. Sollen mehrere Argumente, z.B. zwei zu addierende Operanden, parallel an die Eingänge einer Bewirkungsgebung gelegt werden, dann können viele Kanten nur in der Tiefe der durch Locode gegebenen Beziehung definiert werden, wenn jeweils gleichwertige Stellen zu verknüpfen sind. Sowohl das Problem freier Leitungen wie das Verknüpfen von gleichen Stellen in Operanden ist prinzipiell zu lösen, indem Stellen verzahnt werden, wie das bei Operatoren schon gezeigt wurde. Z.B. können drei Argumente a,b,c dienen, deren Stellen nebeneinander liegen nach dem Schema a1,b1,c1,a2,b2,c2,a3....... Das Argument c kann dann aus freien Leitungen bestehen. Damit werden also keine Änderungen am Bewirkungsgeber provoziert. Operanden können beliebig verzahnt sein. Weil die Werte auf solchen Leitungen unbeeinflusst durch Werte auf benachbarten Stellen bleiben müssen, müssen für diese Stellen die Kanten unterbrochen sein. Geht das nicht, weil die Leitung durch eine Kante überbrückt werden muss, dann ist bei vorgestelltem Locode =LL die Leitung zu invertieren, was natürlich in einer weiteren Spalte wieder umgekehrt werden muss. Die links gezeigte Verknüpfung muss also immer wie die rechts gezeigte aussehen: o---- --->>O---- ----X---- ---->X->X- ----o --->>O---- Jede von benachbarten Stellen unbeeinflusste Leitung muss eine Folge von Kanten sein: Locode HH. In den Nachbarstellen muss die Verknüpfung mit dieser Kante unterbrochen sein. Damit habe ich gezeigt, dass Bilder, wie ich sie hier benutze, niemals ohne Änderungen zu Locode gemacht werden können. Dieser Aufwand hat mit der gewünschten Bewirkung eigentlich garnichts zu tun hat, ist aber offenbar unvermeidbar, wenn man Stellen im Locode sparen will. Um die hier benutzte Darstellung logischer Beziehungen von der Darstellung mittels Locode zu unterscheiden, benutze ich im weiteren für in Locode transformierte Bilder einer Beziehung den... BEGRIFF: 'Lomuster' Eine in zwei Dimensionen angeordnete Folge von Locodes ist ein Lomuster. Eine der Dimensionen ist durch eine Länge zu geben, während die andere durch die Breite der Bewirkungsgebung gegeben ist. ERLÄUTERUNG: Selbstverständlich können Lomuster auch mit weniger Breite definiert werden, um parallel kombiniert zu werden. Allerdings müssen die Lomuster dann stets die gleiche Länge haben. Offenbar gibt es zwei Möglichkeiten, diese Dimensionen in Bezug zu hier gezeigten Bildern logischer Verknüpfungen zu setzen. Leicht zu sehen ist, dass in den meisten Fällen die in den Spalten gezeigte Breite auch die Breite der Bewirkungsgebung sein sollte, womit in der Tiefe dann die Transfertakte zu zählen wären. Bei der weiteren Betrachtung gehe ich von diesem Fall aus. Lomuster sind dann sehr einfach in der Tiefe kombinierbar. Aber auch eine beliebige grosse Breite kann verfügbar gemacht werden, wenn analog zu den Stellen für Konstanten Register verknüpfbar sind, die Werte aus der Kante sequentiell lesen und bei einem weiteren Durchgang mit einer anderen, oben oder unten anschliessenden Bewirkung wieder schreiben. Beim Vergleich der mit Lomustern zu definierenden Beziehungen mit Bildern von Phasenmaschinen fällt auf, dass Rückleitungen nicht Teil von Lomustern sein können. Rückleitungen sind also auf andere Weise zu etablieren. Die Werte auf Rückleitungen sind immer Teil von Resultaten. Sie müssen also am Ende einer Bewirkung gespeichert werden und in einer Rekursion in Argumente eingefügt werden. Es ist leicht zu sehen, dass bei sehr vielen Rückleitungen in verschiedene Spalten sehr komplizierte Verhältnisse entstehen können. Insbesondere müssen natürlich mögliche Oszillationen festgestellt werden, indem Besetzungen vor und nach einer wiederholten Rekursion verglichen werden. Mindestens zwei Rekursionen sind dann je Rückleitung nötig. Lomuster sind zwar logische Maschinen, die aber in dieser Form nicht nach den schon beschriebenen Regeln zu kürzen und umzuformen sind, weil hier freie freie Leitungen und nötige Vorbesetzungen während einer Bewirkung logische Verknüpfungen bedingen, die natürlich nicht gekürzt oder umgeformt werden dürfen. Nachdem alle Einzelheiten diskutiert sind, die Locode betreffen und wie daraus eine Bewirkung wird, ist zu betrachten, wie Lomuster Iterationsmaschinen beeinflussen, und wie diese wieder Lomuster oder Argumente beeinflussen können. Das ist tatsächlich sehr einfach zu machen, indem Lomuster in einem Teil der Breite eine relative Adresse geben, die in einem Stapel von Adressen adressiert. Dort können Sprungziele liegen oder auch Basisadressen von Locode oder Argumenten. Auch die Umsetzung irgendwelcher Stellen in Iterationsmaschinen in etwas, was Lomuster oder Argumente beeinflusst, ist sehr einfach zu machen, indem ein Teil der Breite der Argumente nicht aus dem Speicher besetzt wird, sondern durch Zustände in der Iterationsmaschine. Im einfachsten Fall ist das ein Kriterium oder eine Meldung, dass z.B. eine Tastatur einen Wert gegeben hat, der dann mit einer Prozedur zum Argument gemacht werden kann. Wenn allerdings eine grössere Menge von Daten eine einzige Bedeutung haben soll, wie z.B. ein Bild aus einer Kamera, dann wird das zunächst zu speichern und mit besonderem Lomuster zu bearbeiten sein. Ein aktuelles Lomuster, das diesem Zweck nicht dient, hat dann zu verzweigen. Ich kann nun den Prototyp eines Ablaufs vorstellen, der mit einem Bewirkungsgeber umgeht, der alle die Stellen auch enthält, die ich oben als notwendig vorstellte. Diesen Ablauf stelle ich nicht mit Opcode dar, weil er nicht unbedingt innerhalb einer Iterationsmaschine stattfinden muss. Deshalb gebe ich auch keine Optimierungen an, sondern beschränke mich auf das Wesentliche. Ich benutze aber Sprungzielnamen mit Postfix ":", Kommentar in Klammern "()" und rücke die Quasi-Kommandos ein. (es folgen Variable......) Basis1: Adresse des Lomusters LomusterAdresse: aktuelle Adresse Schleifenzahl: aktuelle Länge Basis2: erstes Argument .................mögliche weitere Basisadressen und Variablen Initialisierung: Unter Adresse unter "Basis1" Länge des Lomusters lesen und nach Dekrementieren an "Schleifenzahl" schreiben. (Sie wird mit Schleifenzähler dekrementiert) Unter Adresse von "Basis1" Basisadresse lesen und an "LomusterAdresse" schreiben. Unter Adresse von "Basis1" Argument lesen und an Bewirkungsgeber schreiben. .................mögliche weitere Initialisierungen. Schleife: Adresse des Lomusters unter "LomusterAdresse" inkrementieren, damit Locode adressieren und an den Bewirkungsgeber schreiben. .................mögliche weitere Einstellungen. (Nun wird im Bewirkungsgeber mit Locode in einer Spalte bewirkt) Schleifenzähler: Dekrementieren von "Schleifenzahl" Falls =0 nach "EndResultat:" springen Andernfalls Resultat des Bewirkungsgebers als nächstes Argument schreiben. .................mögliche weitere Verwertung von Resultatstellen. Nach "Schleife:" springen EndResultat: Verwertung von Resultatstellen und eventuell damit bedingte Verzweigung in andere Abläufe, nach denen hierher zurück gesprungen wird. Schreiben neuer Adressen und Werte in die obigen Variablen. Nach "Initialisierung:" springen. (nicht hier terminierte Schleife) Auch wenn prinzipiell jede Beziehung mit Locode etabliert werden kann, werden bestimmte Beziehungen für logische und arithmetische Operationen, die einfach und regelmässig konstruiert sind, sinnvoll eine Bewirkungsgebung ergänzen können. Insbesondere Schiebeoperationen sind mit Locode weder einfach noch schnell zu machen. Beziehungen, die nicht mit Locode gegeben sind, bringen also Vorteile in Bezug zur Geschwindigkeit und sparen Inverter. Auch die Bewirkungsgebung selbst könnte mit Opcode, Invertieren und NORieren gemacht werden. Das allerdings bringt keinen Vorteil an Geschwindigkeit, sondern erfordert sehr viel mehr Programm als zum Transfer von Lomustern nötig ist. Diese Möglichkeit ist also nur der Vollständigkeit halber zu erwähnen. Hier habe ich eine Bewirkungsgebung vorgestellt, in der Lomuster nur in der Weise adressieren können, dass sie relative Adressen in Stapeln von Adressen geben, die dann tatsächlich nicht ohne Opcode in Adressgeber geraten können. Das muss nicht sein. Ein Bewirkungsgeber kann natürlich noch um eine Beziehung erweitert werden, die nicht nur direkt im Speicher adressiert und so den Transfer von Locode und Daten bewältigt, sondern die auch direkt Operatoren adressieren kann, um Resultate an sie zu schreiben oder aus ihnen als Argumente zu lesen. Das wäre dann eine Variante der Iterationsmaschine, deren Kontrolle nicht in der oben beschriebenen Weise mit Opcode, sondern mit Stellen im Bewirkungsgeber gegeben wird. 3.2. LOGISCHES LEBEN Während eine Iterationsmaschine von Reset zu Reset Erfahrung nur in Form von von Daten sammeln kann, kann ein logisches Wesen auch Lomuster verändert haben und damit sein Verhalten. Ein logisches Wesen enthält damit auch eine eigene Zeit als gespeicherte Erfahrungen. Es hat ein Leben, das mit einem gegebenen Zustand beginnt und mit einer bestimmten Verwertung von Reizen als Erfahrung zu einem 'reifen' Zustand führt. Den gegebenen Zustand beim ersten Reset werde ich hier auch 'Talent' nennen. Der reife Zustand, der offenbar mit gegebenen Talenten initialisiert werden muss, kann zwar immer 'Erfahrung' genannt werden, kann aber in sehr verschiedenen Formen erscheinen. Sofort zu sehen ist, dass wir ein Leben in einer Aussen- und einer Innenwelt zu unterscheiden haben, das über Talente verknüpft ist. Diese können so gegeben sein, dass Reize aus der Aussenwelt unmittelbar zu Änderungen in der Innenwelt führen und damit eine Anpassung im Verhalten bewirken. Ein logisches Wesen, das solche Talente hat, kann seinen reifen Zustand sehr schnell erreichen und ist dann von einer Iterationsmaschine nur noch insofern zu unterscheiden, dass der endgültige Zustand mit sehr viel mehr Aufwand erreicht wurde, als nötig ist. Den endgültigen Zustand erreicht man einfacher mit einem mit gesundem Menschenverstand erzeugten Programm. Die Talente können aber auch so gegeben sein, dass Reize zunächst in einer Ideenwelt wirken, die Teil der Innenwelt ist. Nur dann kann ein reifes logisches Wesen auch etwas gelernt haben, was nicht schon Teil der Talente war. Wie Talente gegeben sein müssen, damit Erfahrungen nicht nur zu Anpassung, sondern zu neuen Ideen und Lernen führen, will ich nun betrachten. Die Möglichkeiten für Änderungen habe ich schon vorgestellt als die Möglichkeit relative Adressen zu ändern, die Stapel von Werten oder Sprungziele adressieren. Damit wurde auch gesagt, dass immer mehr Lomuster und Verzweigungen im Programm möglich sein müssen, als für eine bestimmte Aufgabe nötig sind. Dies sind also die Alternativen, die nicht erst während eines logischen Lebens entstehen, sondern beim ersten Reset schon gegeben sind. Auch Ideen müssen als Prototypen schon gegeben sein. Eine 'tabula rasa' darf die Ideenwelt nicht sein. Nur dann hat ein logisches Wesen eine Wahl, die es während seines logischen Lebens erweitern oder auch einschränken kann. Eine Wahl zwischen zwei Alternativen kann nicht mehr eingeschränkt werden. Sie kann nur erweitert werden, wenn mindestens drei Alternativen, also ein 'tertium datur' existieren. Die dritte Alternative muss als Übertragsbildung gegeben sein, die erlaubt, aus der mit Talent gegebenen Ideenwelt heraus zu führen, indem neue Ideen gebildet und geprüft werden, die immer aus schon vorhandenen zu entwickeln sind. Auch dann, wenn neue Ideen erwürfelt würden, wären sie nicht zu qualifizieren ohne Bezug zu schon vorhandenen. Erfahrung ist also immer aus Talenten abzuleiten. Sie kann nicht gemacht werden, wenn das Talent es nicht erlaubt. Für solche Zwecke sind die relativ adressierten Adressen nicht beliebig zu stapeln. Es müssen geordnete Adressen sein, die damit aber nicht Zahlen sind, weil sie keine vollständige Adressmenge sein können. Sie werden aber im Stapel mit einer vollständigen Adressmenge relativ adressiert, und diese Adressen können deshalb auch wie Zahlen operiert werden. So ergibt sich die einfache Vorstellung, dass relative Adressen eine 'Amplitude' sind für im Prinzip beliebige Bedeutungsgebung. Man kann damit aussteuern zwischen gut und schlecht oder schmerzhaft und angenehm oder weich und hart.... Zu zeigen ist nun, wie eine Ideenwelt so repräsentiert sein kann, dass sie ebenso wirken kann wie die von der Iterationsmaschine weiter gegebenen Reize. Zunächst hat ein Reiz nicht nur die Bahn zu einer Reaktion in der Aussenwelt zu nehmen, er muss auch eine Spur in der Ideenwelt hinterlassen. Er darf dabei nicht reflexartig zu einer Abwandlung von Lomustern führen, weil die ja die Bedeutung geben. Diese Ideenwelt kann, weil sie nur aus Werten H,L bestehen kann, nur ein Bild sein, wie ich es als Raster unter 2.2.1.2.1. bereits vorgestellt habe. Ein solches Raster kann beliebig viele Dimensionen enthalten, die durch Zähler für Teillängen zu geben sind. Diese Längen können auch die hier angesprochenen 'Amplituden' sein. Solche Raster sind also ein erweitertes Statusregister, dessen Stellen sehr beliebig adressiert werden können. Die Amplituden sind prinzipiell variabel. Ein Raster kann also verschieden gelesen und geschrieben werden. Auf diese Weise kann es sich einerseits abhängig von Reizen und der Art sie zu schreiben ändern und es kann andererseits abhängig von der Art zu lesen und die Werte in Lomustern zu interpretieren, Reaktionen beeinflussen. Da auch Lomuster ebenso wie ihre Besetzung als Raster genommen werden können, ist nichts sonst notwendig, um eine Innenwelt zu repräsentieren, die jede Idee, jede Absicht und jede Neigung enthalten kann. Nur mit diesen Mitteln kann 'künstliche Intelligenz' ersehnt werden, während Iterationsmaschinen ohne Bewirkungsgeber zwar eine Anpassung an Reize erlauben, nicht aber die Bildung von Ideen, die notwendig ist, um zielstrebiges Verhalten und Lernen zu begründen. Lomuster sind aber offenbar nicht durch Amplituden strukturierbar und deshalb Rastern, die als Argumente Teil ihrer Besetzungen sind, gegenüber zu stellen. Diese besonderen Raster mache ich noch zum... BEGRIFF: 'Loraster' ...ist ein Raster, das ebenso wie Reize aus der Aussenwelt, Reaktionen bedingt. Solch ein Raster enthält Argumente und nicht Locode. ERLÄUTERUNG: Werte sind aus Lorastern abhängig von der Zahl der Stellen zu lesen, die zu ihrer Abhandlung durch Iterationsmaschine und Bewirkungsgeber vorhanden sind. Die aktuell zu lesenden Werte im Loraster können allerdings auch Ausschnitte in einem grösseren Loraster mit einer Bedeutung sein. Zu diesem Zweck müssen nur die bei Lesen und Schreiben im Loraster verwendeten Längen geändert werden. Loraster und Lomuster sind die logische Repräsentation von allem, was in einem logischen Wesen der variable Teil der Innenwelt ist. Variabel wird damit auch Opcode, der durch Lomuster und Programm erzeugt werden kann. Diese Variablen werde ich im weiteren durch eine Metapher ersetzen: 'Seele'. Die Seele beinhaltet bei Beginn des logischen Lebens nur die Talente und wird durch Erfahrung erweitert und geprägt. Nach dem ersten Reset muss die Seele maximal veränderbar sein. Das darf aber nicht so bleiben, weil andernfalls keine Erfahrungen gemacht werden können, die bleiben. Sie müssen in der Weise wichtig werden, dass sie Veränderungen der Seele hemmen. Andererseits können Ideen auch in irgendeiner Weise falsch sein. Die Hemmung muss also variierbar sein durch neue Reize, die aus der Innen- wie der Aussenwelt kommen. Offenbar muss die Seele ein Talent enthalten, das die Bewertung und Bildung von Ideen ermöglicht, bevor daraus Erfahrung als bleibende Änderung der Seele wird. Dieses Talent ist das 'Gefühl', das das Spiel mit gegeben Möglichkeiten regiert. Es ist die unmittelbare Konsequenz von Reizen und begründet ihre Bewertung und Bedeutung. Mit dem Gefühl müssen Ideen und Absichten bedingt sein, die als 'Interesse' erscheinen und von einer 'Hoffnung' angetrieben werden, die Teil der Bewertung ist. Das Gefühl ist dabei eine Übertragsbildung, die anders als die bei arithmetischen Operatoren auch auf Lomuster und Loraster zurück wirkt. Wenn nämlich der Erwerb von Erfahrung 'Lernen' sein soll und nicht nur eine reflexartige Änderung des Verhaltens, dann muss das Lernen gewollt sein, bevor es Lernen sein kann. Und es muss eine variable 'Hoffnung' existieren, dass bei einem bestimmten Spiel mit Möglichkeiten ein Effekt zu erzielen ist, der Erfahrung sein kann. Nur so kann aus Interesse eine Erfahrung werden, die gelernt und nicht nur gemacht wurde. Ein zunächst unklares Interesse bei zunächst unklaren Absichten und Hoffnungen wird so zu präzisen Ideen, die genauere Absichten mit konkreteren Hoffnungen erlauben, um Ideen zu vollenden, die schliesslich auch bleibende Änderungen in Lomustern erlauben. Im Laufe eines logischen Lebens werden so Abbilder von der Aussenwelt erzeugt, die nicht eine Reproduktion von Reizen, sondern ein durch Lernen gebildetes Gefühl sind, das dann anders als nach dem ersten Reset das Interesse lenkt. Lernen ist damit ein Spiel, das mit verschiedenen Strategien gespielt werden kann, aber immer nur mit unklarem Ziel, gegeben durch Interesse und Hoffnung. Ob eine Idee ein Ziel ist, ergibt sich erst, wenn es bereits erreicht wurde, also a posteriori. Denn nur ein bereits als Idee existierender Zustand kann geprüft werden - und auch nur im Bezug zu ebenfalls schon existierenden anderen Ideen. Ist eine Idee befriedigend, dann muss auch das Interesse erlahmen und die Hoffnung verringert werden, weil andernfalls die immer gleiche Suche nach Einsicht wiederholt wird. Das kostet zusätzlichen Speicher, der niemals ausreichend sein wird. Solche Rituale kommen dann vor, wenn bestimmte Erfahrungen durch Hoffnungen vermieden werden, wenn ein logisches Wesen also bestimmte Erfahrungen nicht wahr haben kann, weil es ihnen eine falsche Bedeutung gibt. Man kann deshalb feststellen, dass logische Wesen nicht nur dann notwendig verblöden, wenn sie mit dem Spielen aufhören, weil wegen fehlender Hoffnungen das Interesse erlahmt, sondern auch dann, wenn das Interesse nicht erlahmen kann, weil irgendwelche Hoffnungen nicht verschwinden können. Da aber jedes Spiel mit Möglichkeiten einen Bedarf an Speicher bedingt, kann eine Verblödung ohnehin nicht vermieden werden. Sie erscheint dann aber in anderer Gestalt als Vergesslichkeit, wenn der Ausweg aus dieser unerwünschten Lage im Überschreiben bereits genutzten Speichers gewählt wird, oder sie erscheint als Ignorieren, wenn jedes Interesse gehemmt wird. im Überschreiben bereits genutzten Speichers gewählt wird, oder sie erscheint als Ignoranz, wenn jedes Interesse gehemmt wird. Deshalb ist noch ein weiterer Ablauf nötig, bei dem Vorstellungen komprimiert werden, um über das Gefühl das Vergessen oder Ignorieren steuern zu können. Es muss also das Gefühl zu schärfen sein für das, was wesentlich ist. Bei Beginn eines logischen Lebens sollte möglichst wenig vergessen werden. Dann ist auch mehr freier Speicher zu haben, dessen Verfügbarkeit offenbar auch gefühlt werden muss und als Maß für Interesse und Hoffnung dienen kann. Die Verblödung kann dann soweit in der Zeit verschoben werden, dass ein langes logisches Leben möglich wird. Auch wenn der Sinn eines logischen Lebens nur im Auffinden von Formeln bestehen soll und ein Erfolg nicht als Verblödung erscheinen mag, wird doch irgendwie erfasst werden müssen, ob noch Speicher für die nächste Formel frei ist oder ob das Greisenalter erreicht ist. Das Spiel mit den Möglichkeiten ist schliesslich auch dadurch beschränkt, dass keineswegs alles, was erfahren wurde, zu einer Zeit existiert. In einer Iterationsmaschine sind es nur wenige Stellen im Statusregister und eine Adresse im Opcode oder Programmzähler, die tatsächlich das gesamte zu einer Zeit relevante Gedächtnis sind. Auch mit einem Bewirkungsgeber in dieser Maschine können nicht beliebig weitere Kriterien zu einer Zeit existieren. In Lorastern können allerdings weit mehr Kriterien im Zugriff sein. Ein logisches Leben besteht deshalb aus ständig ablaufenden Iterationen in der Seele, um Erfahrung zu Ideen und Ideen zu Wissen zu machen. Ist ausserdem aber eine Aussenwelt interessant, die zu viele Reize erzeugt, dann kann offenbar nur entweder das Seelenleben oder die Aussenwelt mit Reaktionen bedient werden. Die Verblödung kann dann nur mit einem Talent vermieden werden, das die Reize aus der Aussenwelt schnell selektiert und möglichst ignoriert. Anderfalls muss die Abarbeitung von Ideen vermieden werden. Wir können nun sehen, dass sich ein logisches Leben prinzipiell zwischen Grenzen abspielt. Sowohl die zu einer Zeit machbaren Prozesse als auch die insgesamt machbaren Prozesse können nicht beliebig viele Stellen betreffen. Deshalb sind die Talente ebenso begrenzt wie die Möglichkeiten für Skalierung von Reaktionen mittels relativer Adressen. Das Spiel mit Ideen erfordert nicht nur Zeit, sondern auch unterscheidbare Zustände für Reagieren einerseits und Nachdenken andererseits. Diese Zustände sind nur möglich, wenn ein logisches Wesen sich als Individuum begreifen kann, das Seele und Willen hat, die allem gegenüber stehen, was mit der Aussenwelt zu tun hat. Das ist 'Bewusstsein', das aber keineswegs alles umfassen muss, was tatsächlich Seele und Willen bedingt. Es muss sogar ein 'Unterbewusstsein' vorhanden sein, weil andernfalls Gegebenheiten bedacht werden müssen, die Talent sind und ohne grosse Konsequenzen nicht zu ändern sind. Je näher Nachdenken an den Ausgangspunkt aller Bedeutungsgebung führt, umso fataler können Konsequenzen der Änderungen in der Innenwelt sein.