EINLEITUNG

Auf dieser Seite werde ich mathematische und logische Gegenstände und Probleme diskutieren, die ich in der Inverterlogik bestenfalls erwähnt, aber nicht abgehandelt habe, weil es mir dort allein um die Deduktion aus dem Inverter-Axiom geht. Hier ergänze ich die Ausführungen um das, was sich vor allem im Hinblick auf die bekannten Vorstellungen in der Mathematik ergibt. Dabei geht es natürlich nicht um die vielen Dinge, die kein bisschen anders aussehen, wenn die Vielzahl der bislang nötigen Axiome gegen Definitionen mit dem einen Inverter-Axiom getauscht werden. Es geht nur um solche Aussagen und Vorstellungen, die sich mit der Inverterlogik besser, anders oder erstmals erklären oder widerlegen lassen.
Die Dinge, die ich diskutiere, werde ich nur umgangssprachlich kurz skizzieren, bevor ich sie mit Hinblick auf die Inverterlogik abhandle. Ich werde den Leser also weder mit mathematischer Notation, noch dem Formalismus der Inverterlogik quälen, damit auch jene folgen können, die nicht Akademiker sind. Wer die Gegenstände der Betrachtung nicht kennt, kann im Internet unschwer weitere Erhellung finden. Eventuell biete ich aber Links zu Seiten an, die im Zusammenhang mit dem betrachteten Thema interessant sind.
Den Bezug zu Absätzen in der Inverterlogik stelle ich mit den Nummern der Kapitel her, versuche aber auch dann eine Skizze, die vermeiden kann, dass zwischen den Texten ständig hin und her gewechselt werden muss. Allerdings empfehle ich jedem eine genauere Lektüre der Inverterlogik, der glaubt, Anlass zur Kritik gefunden hat. Hier ist der Link:

  • zurück zur Inverterlogik Bei der Wahl der betrachteten Gegenstände folge ich meinem Belieben und ordne nach Stichpunkten. Ebenso folge ich meinem Interesse bei der Wahl weiterer Stichpunkte, die nicht unbedingt mit Mathematik zu tun haben, immer aber irgendwie mit der Inverterlogik.
    Für diesen Text beanspruche ich das gleiche, vollständige Urheberrecht wie für die Inverterlogik! Es gilt nicht die GPL.
  • Hauptseite von www.rcfriz.de

    1. PARADOXA UND ANTINOMIEN

    PARADOX:
    Ein bekanntes Paradoxon entnehme ich einem Text von Kurt-Ulrich Witt:
    Eine Menge von Schlangen sei gegeben und eine Schlange namens 'S', die allen Schlangen in den Schwanz beisst, die es nicht selber tun. Dazu wird die Frage gestellt, ob sich die Schlange S in den eigenen Schwanz beisst oder nicht. Diese Frage gilt als unentscheidbar bei folgender Betrachtungsweise:
    Wenn die Schlange S zu denjenigen Schlangen gehört, die sich nicht selbst in den Schwanz beissen, dann muss sie sich deshalb in den Schwanz beissen.
    Wenn die Schlange S zu denjenigen Schlangen gehört, die sich selbst in den Schwanz beissen, darf sie sich deshalb nicht in den Schwanz beissen.
    Bei dieser Betrachtungsweise wird die Ausgangssituation mit dem Resultat der Beissgewohnheit von S zu einer einzigen (paradoxen) Gegebenheit gemacht. Unterstellt wird dabei auch noch, dass keine Schlange ausser S in andere als eigene Schwänze beisst, und dass S auch in mehr als einen Schwanz zu gleicher Zeit beissen kann.
    Tatsächlich ist aber kein Ausgangszustand und nur eine Operation (das Beissen) gegeben. Weil die Operation eine bedingte ist, kann trotz unklarer Ausgangslage das eindeutige Resultat gefunden werden, dass sich die Schlange S jedenfalls in den Schwanz beisst - es entweder schon längst getan hat oder gerade tut. Sie gehört also immer zur Menge von Schlangen, die sich selbst in den Schwanz beissen! Anders wird das nur, indem der Zeitpunkt der Betrachtung verlegt wird, die vor oder nach dem Zubeissen stattfinden kann. Nur vor ihrem Biss kann die Schlange S zur Menge der Schlangen gehört haben, die sich nicht selbst in den Schwanz beissen. Dieser Zeitpunkt ist aber weder argumentiert, noch durch Mengenbildung zu schliessen.
    Weil also die Ausgangssituation durch die Definition der Beissgewohnheit garnicht argumentiert ist, kann die Frage auch nicht beantwortet werden, wann die Schlange S zubeisst. Das "Paradoxon" ist keins, vielmehr ist ein Mangel an Argumenten zu sehen. Nur wer sich den Glauben machen lässt, dass was geschlossen werden könne, fühlt sich paradox.
    Diese Lösung eines bekannten Paradoxons ist hier umgangssprachlich formuliert, ergibt sich aber jedenfalls ohne einen Verdacht irgendwelcher logischer Unklarheiten, wenn man die mit der Inverterlogik gefundene zeitliche Dimension der Logik sieht, die natürlich für jede Logik gilt, aber im Beispiel mit der Schlange S gerne übersehen wurde, obgleich sie bildhaft gegeben ist ( Ein Biss beginnt irgendwann...).
    Die Inverterlogik erlaubt Schlussfolgerungen (Bewirkungen) auch nur, wenn Werte an den Eingängen von verknüpften Invertern liegen. So wird sofort klar, dass in der Aufgabenstellung Argumente fehlen.
    Völlig analog ist das von Russell erzählte Paradoxon, das einen Barbier vorstellt, der alle rasiert, die sich nicht selbst rasieren und die Frage, ob sich der Barbier rasiert - entweder hat er sich schon selbst rasiert oder er hat es noch zu tun...

    "RUSSELL'SCHE ANTINOMIE":
    Die bekannte, mathematisch formulierte Russell'sche Antinomie, die einst die Welt der Mathematiker erschütterte, sieht so aus:
    Gegeben ist eine Menge M, deren Elemente alle Mengen sein sollen, die sich nicht selbst als Element enthalten. Dazu wird die Frage gestellt, ob die Menge M nun sich selbst enthält oder nicht.
    Bertrand Russell hat seine berühmt gewordene Antinomie in der Cantor'schen Mengendefinition geortet, indem er das Problem so betrachtete:
    Wenn die Menge M sich selbst enthält, dann kann sie keines ihrer Elemente sein, die nur Mengen sein sollen, die sich nicht selbst enthalten. M kann sich also nicht enthalten, wenn es sich enthalten soll.
    Wenn die Menge M sich nicht selbst enthält, dann muss sie allerdings Element von sich selbst sein, weil alle solche Mengen Element sein sollen. M muss sich also selbst enthalten, wenn es sich nicht enthält.
    Ich habe unter 2.1.3. in der Inverterlogik dieses Problem unter dem Hinblick abgehandelt, wie Mengen mit Invertern dargestellt werden müssen, und ob Mengen sich selbst enthalten können und wie. Weil in Verknüpfungen von Invertern nur Werte H,L vorkommen können, sind unterscheidbare Elemente nur in Gestalt von mehrstelligen Werten H,L zu haben, die als Adressen UNDiert die Menge ergeben. Schon die Definition einer Menge ist also eine Verknüpfung und nicht schon mit der Definition von Elementen als Adressen getan.
    Insofern ist der Mengenbegriff Cantors also zu ergänzen.
    Die weitere Betrachtung ergibt, dass die Menge sich selbst als Element nur hinzu gefügt werden kann mit einer Verknüpfung des Resultates, das die Menge bedeutet (nach UNDierung der Elemente), mit einem weiteren Eingang in der UNDierung der Elemente. Das ist eine 'Rückleitung', wie ich sie unter 2.2.2. in der Inverterlogik abhandle. Im diesem Falle ist sie vollständig kürzbar, weil sie das Resultat der UNDierung in keiner Weise ändern kann. Das zusätzliche Element, das die Menge selbst (und unendlich viele weitere Mengen!) ist, ist tatsächlich vollständig irrelevant. Eine Menge, die sich nicht selbst enthält, ist nämlich von der Menge, die sich selbst enthält, garnicht zu unterscheiden. Ausserdem zeigt sich ebenfalls die zeitliche Dimension, die mit dem Begriff der Menge nach Cantor nicht erfasst ist - die Menge kann sich erst dann selbst enthalten, wenn sie ohne dieses Element bereits gegeben ist, das infolgedessen vollständig abhängig von dieser Gegebenheit ist und sie auch nicht ändern darf. Diese Betrachtung zeigt zwar auch, dass Cantors Mengenbegriff nicht ganz fertig ist, dass aber auch die Russell'sche Antinomie keine ist. Die erscheint nur, weil die irrelevante Idee einer Menge, die sich selbst enthält, abgehandelt wird. Und natürlich ist ebenfalls irrelevant, was man mit irrelevanten Dingen machen kann. Weil Russell das leider nicht so sehen konnte, hatte er viel tun, um eine Theorie der "Typen" zu entwickeln, die seine Antinomie vermeiden sollte. An eine zeitliche Dimension dachte er dabei nicht, fand aber, dass das Antinom durch den Bezug der Menge auf sich selbst zustande kam.
    Wie sich das in der Inverterlogik darstellt zeige ich hier mit Bezug zu 2.1.3.:

    [Bild a] M enthält sich selbst als Element: UND: x.Element=H---->>O o--->>O---o- =M=H (UNDierung der Elemente=Adressen) | | o---------o =Rückleitung

    Die Inverterlogik macht deutlich, dass ein solcher Bezug nicht ohne zeitliche Dimension zu denken ist, gegeben durch die 'Rückleitung'. Interessanter ist allerdings, dass hier zwei Aussagen, die sich in üblicher Betrachtung als ein Widerspruch darstellen (...enthält sich selbst/...enthält sich NICHT selbst) zwar beide möglich und deshalb nicht falsch sind, aber in Bezug zum Resultat nicht unterscheidbar sind, so dass man den Mehraufwand an Verknüpfung als Kriterium benutzen kann, um die eine Aussage als irrelevant abzutun. Diese Form der Beweisführung und das Resultat einer 'Irrelevanz' ist nicht das, was in der gewohnten Mathematik zu haben ist. Es kann aber keinen Zweifel geben, dass der Begriff der 'Irrelevanz' neben 'WAHR' und 'FALSCH' als Lösung einer Evidenzprüfung zu betrachten ist. Irrelevante Verknüpfungen können nämlich auch teuer sein, wenn die Logik zur Transistorlogik gemacht werden soll. Sie können Transistorlogik sogar untauglich machen, wenn die wie Russel über Antinomien stolpern kann (durchaus möglich in Programmen).
    In diesem Zusammenhang kann auch die übliche Form der Negation mit dem Boole'schen "Negationsoperator" noch diskutiert werden. Wird er einer Invertierung äquivalent gesehen, kann die vorgestellte Rückleitung zur Oszillation führen. Wenn man die Menge M negiert ( also das übliche NICHT M, ausgedrückt mit einem Negationsstrich über M oder einem Negationsoperator davor), indem man einen weiteren Inverter in die Rückleitung legt, dann sind 3 Inverter in der Rückleitung, von denen 2 nach der ersten Kürzungsregel der Inverterlogik entfallen können. Der übrige nicht kürzbare Inverter ist dann mit seinem eigenen Eingang verknüpft und oszilliert deshalb. Die übliche Interpretation, dass NICHT M das Gegenteil von M sei, führt dann also zum "Beweis", dass keine Menge M vorkommen darf, die sich nicht selbst enthält! Andernfalls wäre mit dem Kriterium der Oszillation ein "Widerspruch" (="Antinomie") gegeben. Ich habe auch aus diesem Grunde den Begriff der Negation nicht mit der Invertierung identifiziert, sondern auf die Bedeutung bezogen (die vom Wert H am Ausgang einer Adresse abgeleitet werden kann). Der andere Wert =L ist dann nicht als 'NICHT' zu verwerten, sondern als 'Bedeutungslosigkeit', die im weiteren keinerlei Bedeutung haben darf.
    Weil die Negation hier schwierig zu durchschauen ist, zeige ich hier noch die Verknüpfungen, die hier von Interesse sind, in der Notation der Inverterlogik (mit Bezug zu 2.1.3. und obigem [Bild a]):

    [Bild b] M enthält sich NICHT selbst als Element: UND: x.Element=H---->>O NICHT M=L: o->->>O---o- =M=H | | o---------o [Bild c] NICHT M enthält sich selbst als Element: x.Element=H---->>O----- =M=H M=L: o--->>O->-o- =NICHT M=L | | o---------o

    Denkbar klar ist so gezeigt, dass der Negationsoperator bei Beweisführungen "Beweise" erzeugen kann, die keine sind. Anders ausgedrückt:
    Der Inverter ist nicht der bekannte Negationsoperator und seine Werte H,L sind nicht den Boole'schen Werten WAHR und FALSCH äquivalent. Die Inverterlogik ist also keine Boole'sche Logik, obgleich diese ohne Abstriche mit Inverterverknüpfungen ausgedrückt werden kann. Die Inverterlogik erlaubt deshalb festzustellen, dass die Interpretation der Werte WAHR und FALSCH in Boole'schen Verknüpfungen als Beweis für Wahrheit nicht a priori möglich und dass also die Wahrheit nicht irgendwie operierbar, sondern a posteriori zuzuordnen ist - durch Belieben eines Betrachters bzw. nachgeschaltete Bedeutungsgebung, die ausserdem Regeln zu folgen hat, die nicht Teil der Boole'schen Algebra sind, aber aus dem Inverter-Axiom abgeleitet werden können.

    DAS KLASSISCHE PARADOXON:
    Ein Kreter namens Epimenides behauptet, dass alle Kreter lügen.
    Er selbst müsste dann auch ein Lügner sein und seine Behauptung wäre damit falsch. Wenn Kreter aber nicht lügen, dann sagt dieser Kreter die Wahrheit...
    Damit das auch wirklich paradox ist, muss allerdings "lügen" vollständig mit "nie wahr reden" identifiziert werden, denn Lügner reden auch durchaus mal wahr - wenn sie Zucker wollen, werden sie nicht Salz verlangen...
    Weil man sich wünschen kann, auf einen Schluss zu kommen, der dann nicht zu einem Widerspruch führt, sei die Abfolge der Schlüsse betrachtet.
    Der Ausgangspunkt sind die Argumente:
    "kein Kreter sagt die Wahrheit" und "dies sagt ein Kreter" und "dieser Kreter sagt die Wahrheit".
    Das letzte Argument ist offenbar implizit gegeben, weil andernfalls die Aussage a priori nicht wahr ist und der Betrachtung nicht wert.
    Der erste Schluss verknüpft die Argumente:
    "kein Kreter sagt die Wahrheit" und "dieser Kreter sagt die Wahrheit".
    Eine der beiden Feststellungen muss falsch sein. Ob Kreter wahr reden oder nicht, ist ohne weitere Argumente nicht zu entscheiden, die hier nicht gegeben sind. Paradox wird die Situation, weil traditionell nicht nur dieser Schluss getan wird, sondern mehr als das, um den unbefriedigenden Widerspruch aufzulösen. Dieser kann allerdings auch als brauchbares Argument taugen, von Epimenides und seiner Aussage keinen Gebrauch zu machen, weitere Schlüsse also zu unterlassen...
    Es wird also normalerweise mindestens noch ein zweiter Schluss getan, bei dem die Argumente negiert versucht werden. Traditionell wird mit einer Negation der Aussage von Epimenides umgegangen, die nur eine von zwei möglichen ist - und die falsche:
    "alle Kreter lügen nicht".
    Die richtige Variante ist:
    "nicht alle Kreter lügen"
    Diese Variante erlaubt den einen Lügner Epimenides, der alle Kreter zu Lügnern erklärt, und der sich somit auch der Erfahrung entsprechend verhält, die man mit Lügnern machen kann.
    Sowohl die implizite Unterstellung, dass Epimenides wahr rede, wie seine Behauptung, dass alle Kreter lügen, ist also zu falsifizieren und dann ist nichts in dem Sinne paradox, dass der Widerspruch nicht auflösbar sei, wenn man die Argumente negiert.
    Ich habe auf dem Lösungsweg umgangssprachlich genau das getan, was in der Inverterlogik geboten ist. Niemals kommen dort Inverter ohne Werte (Argumente) vor. Ist ein Argument nicht gegeben (Epimenides lügt nicht), dann kann das Gegenteil auch versucht werden, so es das gibt. Und wie gezeigt, gibt es dann auch statt einem Paradoxon eine Lösung. Und ich habe hier auch gezeigt, dass Argumente durchaus in mehr als ein "Gegenteil" mittels Negation verkehrt werden können, dass also Negationen in der gebräuchlichen mathematischen Form sehr genau zu bedenken sind. Deshalb habe ich in der Inverterlogik (unter 2.1.2.) den Begriff der Negation so gemacht, dass die hier gezeigten Irritationen garnicht auftreten können. Üblicherweise wird nämlich beim Negieren in der Logik mit den Bool'schen Werten "Wahr" und "Falsch" umgegangen, die einstellig sind. Sie werden aber sehr gerne auf Aussagen oder Gegebenheiten angewendet, die keineswegs einstellig sind. Solche Argumente entsprechen in der Inverterlogik Adressen, die einen bestimmten vielstelligen Eingangswert zu einem einstelligen Wert H resultieren. Das mögliche gegenteilige Resultat L erscheint dagegen bei jedem anderen vielstelligen Wert, der deshalb kein bestimmter mehr ist. Davon habe ich den Begriff der Bedeutung abgeleitet, die stets einem Resultat =H folgt (und nicht vorausgeht!) und offenbar Unsinn ist, wenn sie vom Wert L abgeleitet wird, der den Rest der Welt bedeuten kann. Negationen sind üblicherweise die Invertierung solcher Bedeutungen, womit dann nicht eine andere Bedeutung (ein "Gegenteil") argumentiert werden kann, sondern Bedeutungslosigkeit resultiert werden muss.
    Dieses Beispiel mit einer Aussage von Epimenides könnte in dreierlei Verknüpfungen von Invertern dargestellt werden:
    1) Der Widerspruch zwischen "kein Kreter sagt die Wahrheit" und "dieser Kreter sagt die Wahrheit" wird resultiert mit Bedeutungslosigkeit.
    2) Parallel liegende Verknüpfungen, die alle Möglichkeiten der Invertierung der Argumente verknüpfen und somit ein vielstelliges Argument resultieren für eine weitere Verknüpfung, die resultiert, ob überhaupt irgendeine Kombination der Argumente und ihrer Invertierungen Bedeutung haben kann.
    3) Rückleitungen, die die Invertierung der Argumente schalten, also ebenfalls, aber sequentiell die Möglichkeiten wie unter 2) durchspielen.
    Die dritte Möglichkeit wählt normalerweise ein Mensch auf dem Weg zu einer Lösung und seit mehr als 2000 Jahren offenbar ohne die Möglichkeit der Negationen, die ich hier vorstelle. Gäbe es diese Möglichkeit tatsächlich nicht, dann würde im Falle 3) wegen der Rückleitung eine Oszillation einsetzen, die dem entspricht, was man als paradoxe Situation begreifen kann. In der Inverterlogik erweist sich diese Oszillation aber keineswegs als Rätsel, sondern ergibt sich ganz selbstverständlich, wenn im Kreis der Rückleitung eine Invertierung liegt (ein einzelner Inverter oszilliert ja, wenn sein Ausgang mit seinem Eingang verknüpft wird). Es ist also entweder falsch verknüpft worden, falls ein Betrachter kein Paradoxon haben will, oder er will die Oszillation, um z.B. Takte zu geben. Weil diese Takte mit den Mitteln der Inverterlogik auch zu zählen sind, kann nicht nur im Fall 2), sondern auch im Fall 3) ein unauflösbarer Widerspruch automatisch erkannt werden. Insofern kann hier mit Inverterlogik bewahrheitet werden.

    CURRY'S PARADOXON
    Haskell Curry stellte 1942 ein Paradoxon mit dem Satz vor:
    "Wenn dieser Satz wahr ist, dann gibt es den Weihnachtsmann."
    Üblicherweise kann dieser Satz logisch nicht als unwahr verworfen werden und beweist deshalb üblicherweise den Weihnachtsmann.
    Da auf diese Weise jeder Blödsinn als wahr bewiesen werden kann, ist die Form: "Wenn ... wahr, dann wahr..." genauer zu betrachten und vorab zu bemerken, das Russell's Klassentheorie den Beweis nicht erlaubt, weil eine 'Selbstbezüglichkeit' vorliegt, die auch Russell's Antinom kennzeichnet.
    Tatsächlich liegt eine Bedeutungsgebung vor, die in der Inverterlogik genau so dargestellt wird. Um den Hinblick gleich klar zu machen, kann man den Satz umformen:
    "Vielleicht gibt es den Weihnachtsmann."
    ...womit zu sehen ist, dass der Satz nichts über den Satz selbst sagt, sondern nur die dann-Konsequenz vorstellt. Ob die wenn-Bedingung wahr ist, ist tatsächlich nicht argumentiert. Sie wäre nur durch die Bewahrheitung der dann-Konsequenz argumentiert. Der Satz enthält nämlich eine Vertauschung von Ursache und Wirkung und müsste eigentlich heissen:
    "Wenn es den Weihnachtsmann gibt, dann ist dieser Satz wahr."
    So ist klar zu sehen, dass der Satz nur die Möglichkeit des Weihnachtsmannes vorstellt und eine Aussage über Wahrheit oder Falschheit bedeutungslos ist. Es liegt deshalb auch kein Paradoxon vor, sondern so oder so ein Mangel an Argumenten.
    Bei der Entwicklung des Begriffes 'Bedeutung' in der Inverterlogik habe ich klar gemacht, dass Bedeutungsgebung prinzipiell beliebig erfolgen kann und niemals herkömmlich mit den logischen "Werten" WAHR und FALSCH zu einer Wahrheitsfindung ausgebaut werden kann. Stets folgt die Bedeutung Resultaten. Und auch die Wahrheit ist eine Bedeutung. Der Satz wird also auf die Form reduziert:
    "Wenn..., dann..."
    ...und damit auf eine "wahre", nämlich evidente Verknüpfung.
    Das darf man auch garnicht anders machen, also durch 'Klassifizierung' Falschheit ausschliessen wollen, weil Verknüpfungen, die Falschheit ausdrücken, immer genau so "wahre" Verknüpfungen wie die der Wahrheit sein müssen, um beides gegenüber stellen zu können. Wahrheit kann nur im Widerspruch zur Falschheit existieren und muss deshalb logisch auch genauso behandelbar sein. Kein Computer könnte funktionieren, wenn Möglichkeiten der Bedeutung nicht prinzipiell beliebig bleiben. Nur dann können bestimmte Bedeutungen logisch selektiert werden.
    Die Inverterlogik lässt also den Satz selbst immer als richtig gelten, schliesst aber im Gegensatz zu jener Logik, die mit den "Werten" WAHR und FALSCH umgeht, aus, dass damit etwas über die Wahrheit gesagt wird. Die ist nur zu finden mittels einer Verknüpfung weiterer Argumente mit der Behauptung, dass es den Weihnachtsmann gäbe - ganz so, wie die ganz normale Vernunft gebietet. Die akzeptiert den Weihnachtsmann auch nicht, weil es den Weihnachtsmann gibt, sondern weil man ihn gerne hätte und deshalb nur vielleicht auch hat.
    Will man den Weihnachtsmann als existent beweisen, hat man jedenfalls jede Menge von Argumenten zu finden. Nur eine vollständige Liste aller Argumente kann logisch zu einem Beweis der Existenz UNDiert werden. Ob die Argumente wahr sind oder falsch, kann nur mit den Sinnen eines Menschen festgestellt werden, der schliesslich der Bedeutungsgeber ist und überzeugt wird.
    Die Inverterlogik zeigt, dass Wahrheit nicht allein logisch zu finden ist. Sie ist nur durch Nehmen von Resultaten (a posteriori) festzustellen und nicht allein durch Geben von Argumenten (a priori) zu finden. Nur so zeigt sich auch, dass nicht jede logische Verknüpfung richtig ist bei gegebenem Zweck und dass ein Resultat nur dann sagen kann "Ich bin kein Resultat!" oder "Ich bin wahr!", wenn Bedeutungsgebung solchen "Sinn" erzeugt. Curry's "Paradoxon" führt also letztlich die Absicht ad absurdum, im Stile Booles nur mit Werten bestimmter Bedeutung Wahrheit mechanisch erzeugen zu wollen.

    2. ZAHLENTHEORIE MIT FOLGEN

    PEANOS ZAHLEN:
    Die moderne Arithmetik, die ich im weiteren auch als die "übliche" bezeichnen werde, baut auf einer Zahlentheorie auf, die von den natürlichen Zahlen ausgeht und ihrer Definition durch insgesamt 5 Axiome, eingeführt von Peano. Deshalb wird auch von einer 'Peano-Arithmetik' (='PA') geredet. Weil ich in der Inverterlogik zwar auch Zahlen und Operationen mit Zahlen hergeleitet habe, mich aber mit der Herleitung und nicht der kritischen Gegenüberstellung zur üblichen Arithmetik befasst habe, will ich dies hier ergänzend tun.
    Peano leitet tatsächlich nicht die natürlichen Zahlen selbst her, sondern gibt mit seinen Axiomen nur an, wie man die nächste findet, wenn man denn eine schon hat. Die natürlichen Zahlen selbst werden nicht begründet, sondern sind nach Kronecker vom "lieben Gott" gemacht. Zum Begriff der natürlichen Zahlen gehören neben dem Glauben, dass es sie überhaupt gibt, auch ein Irgendwo, wo sie vorkommen und die Vorstellung, dass dies unendlich ausgedehnt sei. Somit sind also neben den Axiomen des Peano noch weitere 3 Axiome nötig, die die Existenz der natürlichen Zahlen, ihre Heimat und ihre Häufigkeit betreffen. Weil die 0 so nicht begründet wird, ist für diese Zahl noch ein weiteres Axiom fällig. Der katholische Italiener Peano hatte das katholische Verbot der 0 im Mittelalter wohl nicht ignorieren können und fand sie deshalb nicht natürlich genug... siehe auch die Fußnote.
    In der Inverterlogik (unter 1.2.2.) wird das Irgendwo zur Verknüpfung von Invertern und die Zahlen sind eine Interpretation der Werte H,L des Inverters in einer bestimmten Zahl von Stellen, die Ausgänge von verschiedenen Invertern sind. Das Irgendwo kann dabei nicht eine beliebige Verknüpfung sein, sondern muss eine sein, die in einer bestimmten Zahl von Stellen jede Möglichkeit der Werteverteilung von H oder L zeigt. Diese kombinierten und verschiedenen Werte können dann noch in eine Reihe gestellt werden, um ihnen eine Ordnung zu geben, die nicht mehr erfordert als die Vorstellung, dass jeder der kombinierten Werte ausser dem kleinsten und dem grössten zwischen einem grösseren und einem kleineren steht. So werden aus Werten von Adressen, die ich unter 1.2.1. herleite, Zahlen, die auch gleich ein Zahlensystem bilden, in dem ein einzelner Inverter den Unterschied zwischen einer und allen anderen Zahlen macht. Der Unterschied einer Zahl zu den benachbarten ist also nicht eine 1, sondern ein Inverter in irgendeiner Stelle - das gilt sogar für den Unterschied zwischen grösster und kleinster Zahl und begründet somit bestens die 0. Und es zeigt sich dabei sofort, dass es eine beliebig grosse Zahl von Möglichkeiten gibt, die Werte von Adressen in eine Reihe zu stellen, also Zahlensysteme zu bilden. Will man diese Zahlen als 'natürliche' ansehen, hat man jedenfalls sehr willkürlich ein Zahlensystem heraus zu heben. Ich habe mich in der Inverterlogik bei der Herleitung von Operatoren für den Umgang mit Zahlen auf das gut bekannte Dualziffernsystem beschränkt, aber nicht, weil es natürlicher als alle anderen Zahlensysteme wäre, wie Leibniz meinte, sondern vertraut genug ist, die Herleitung leichter verständlich zu machen.
    Jedenfalls sind diese Zahlen nicht vom 'lieben Gott' gemacht, und ihre Heimat ist auch nicht ein Irgendwo in Gebeten, sondern kann z.B. in einer Verschaltung von Transistoren nicht nur existieren, sondern auch operiert werden, ob ein Mensch das glauben oder auch nur sehen will oder nicht. Obgleich diese Zahlen in der Praxis der Computertechnik längst heimisch und vertraut geworden sind, werden sie in der Inverterlogik doch erstmals genau genug betrachtet, um die Konsequenzen vorstellen zu können, die vieles fraglich erscheinen lassen, was in der üblichen Zahlentheorie und Arithmetik keineswegs fragwürdig erscheint.
    Zunächst ist in der Inverterlogik kein Platz für jene Unendlichkeit, die schon Gauss nicht geheuer vorkam. Dort existieren Zahlen nur als Werte von Invertern und können deshalb nicht ohne verknüpfte Inverter existieren. Auch das ist also nicht Gottes Werk, sondern in das Belieben eines Betrachters oder Konstrukteurs von elektronischen Schaltungen gestellt.
    Ich habe unter 1.2.2. Zahlen hergeleitet ohne einer Quasi-Addition zu bedürfen, wie sie Peano in seinen 5 Axiomen definiert. Es genügt allein das, was mit dem Inverter-Axiom gegeben ist und ein zielstrebiges Belieben bei der Verknüpfung, die alle Möglichkeiten einer Verteilung der Werte H,L zeigen soll. Dabei ergibt sich auch gleich sehr sinnfällig eine Stellenbewertung als Kennzeichen von Zahlensystemen, während Peano die Bildung von Zahlensystemen den Praktikern überliess und infolgedessen auch keine Mühe mit einer Übertragsbildung hatte, die sich in der Inverterlogik als fundamentales Prinzip für Operationen von Zahlen erweist.
    Während also Peano nicht nur natürliche Zahlen damit begründen musste, dass es sie schon ganz unbegründet gibt, kann er sie auch nicht ohne einen Operator begründen, der auch schon da sein muss, bevor das da ist, was er operieren soll, weil dieser Operator seine eigenen Argumente erst erschafft. Das Resultat muss den Argumenten vorausgehen.
    Ausgehend vom Inverter-Axiom ist solche Akrobatik nicht nötig. Nachdem die Zahlen als Gegenstand bereits vorhanden sind, leite ich unter 2.1.3.2.1. Operatoren her, undzwar ebenfalls mit nicht mehr als der Verknüpfung von Invertern. Der erste Schritt ist die Herleitung eines Inkrementierers (unter 2.1.3.2.1.1.), der als Teil eines Zählers (unter 2.2.2.1.) das macht, was Peanos Quasi-Addition macht, allerdings gleich inclusive Zahlensystem und der 0, die auch schon unter 1.2.2. hergeleitet wurde. Schon dabei zeigt sich, dass beim Inkrementieren die kleinste Zahl, die 0, auf die grösste folgt. Die Folge dieser Zahlen ist also bedingt durch die Endlichkeit nicht auf einer Geraden, sondern einem Kreis anzuordnen. Das ist aber nur am Rande interessant, während weitaus wichtiger ist, dass ein Inkrementierer nicht ohne eine Übertragsbildung von kleineren zu grösseren Zahlen kommt, und dass er, um regelmässig aus gleichen Verknüpfungen für jede Stelle gestaltet sein zu können, einen Übertrag auch aus der höchsten Stelle bewirken kann. Eine nächste Stelle kann er nicht erzeugen im Gegensatz zu Peano's Quasi-Addierer, Resultate folgen den Argumenten. Dieser Übertrag bedingt nicht die nächst grössere Zahl wie bei üblicher Rechnung auf Papier. Er bedingt auch nicht die tatsächlich nächste Zahl, die die kleinste ist, sondern erscheint nur gleichzeitig mit ihr und ist deshalb ein logisch verwertbares Argument für den Übertritt in einen anderen Bereich der Zahlen. Auf diese einfache Weise ergibt sich nicht nur eine logisch verwertbare obere Schranke, sondern weit mehr:
    Da eine Inkrementierung für alle Zahlen in einer gegebenen Zahl von Stellen verknüpft mit weiteren Invertern in Serie mit Ein- oder Ausgängen zur Dekrementierung wird, kann nicht nur festgestellt werden, dass es negative Zahlen gibt, sondern dass diese sich von den positiven nicht etwa prinzipiell unterscheiden, sondern nur durch etwas, was als zusätzliche Bedeutungsgebung für Werte H,L, die Zahlen sein sollen, zum logischen Argument wird, bedingt durch einen Übertrag aus der höchsten Stelle. Es ist also letztlich die Endlichkeit der Zahlen und nicht irgendeine zu definierende Operation und ein axiomatisch begründetes 'inverses' Element, was die negativen Zahlen begründet. Die sind also die gleichen wie die positiven, nur zu unterscheiden durch ein 'Zahlattribut', das als Bedeutungsgebung des Übertrags aus der höchsten Stelle abzuleiten ist.
    In der PA sind zwar Zahlattribute wie ein Minuszeichen auch geläufig. Die Inverterlogik zeigt aber das allgemeine Prinzip, das in der PA im Dunst der Unendlichkeit verloren geht. Wegen der Endlichkeit gibt es für jeden Operator (und das sind beliebig viele!) einen möglichen Übertrag aus der höchsten Stelle, auch weil anders als in der PA diese Operatoren nicht Inverter für eine nächste Stelle erzeugen können. Zahlen sind ja nur auf dem Substrat verknüpfter Inverter existent. Nur wer das erzeugt, kann nächst grössere Zahlen haben.
    Weil also Zahlen nicht ohne Zahlattribute (mindestens implizit) vorkommen können, und weil diese durch Erweiterung des Begriffes vom Übertrag in beliebig vielen Varianten verwendet werden können, können auch beliebig viele Paarbildungen von Zahlenmengen vorgenommen werden. Völlig unabhängig vom Operator, aber natürlich abhängig vom Zahlattribut können Zahlen irgendeine Bedeutung als negative, imaginäre oder andere bekommen. Und es ist kein Beweis nötig, dass es diese oder jene Zahlen auch gibt, weil die Zahlen immer in der gleichen Form erscheinen, also die gleichen innerhalb eines Zahlensystems sind.
    Spielereien mit den Zahlattributen können aber erst bei Verwendung von Operatoren neuen Sinn machen, die wie Formeln, die z.B.algebraische Gleichungen sind, resultieren. Die wären ebenso wie +,-, und andere 'logische Apparate', die verknüpft mit einer nicht immer notwendigen Bedeutungsgebung für das Zahlattribut zu 'Zustandsmaschinen' werden.
    Eine besondere Art von Zahlattributen sind solche, die das Setzen eines Kommas bedingen. In der Inverterlogik wird ein solches Zahlattribut ohne Betrachtung des Wesens von Potenzen hergeleitet. Es genügt, das Schieben einer Abfolge von Werten H,L in der Breite einer Zahl zu betrachten, womit ein Komma geschoben wird, das in der Inverterlogik ebensowenig wie ein Minus zu haben ist. Das Zahlattribut enthält also eine Zahl, die Schiebetakte in der Breite einer Zahl betrifft. Das so zu machen ist auch garnicht so neu, sondern Praxis bei der Fliesskommarechnung, die ich im Zusammenhang mit meinem Assemblern ASMn und ASMat beschrieben habe. Mit solchen Zahlattributen lassen sich immer Resultate mit genügend Stellen (als "Genauigkeit" bekannt) erzeugen, die irgendwo ein Komma enthalten.
    Da das Komma Teil des Zahlattributs ist, sind die Zahlen selbst mit einem Inkrementierer immer vollständig erzeugbar, sind also auch hinter dem Komma immer abzählbar und ohne Zwischenräume.
    Allerdings sind nur Inkrementierer und Dekrementierer Operatoren, die mit allen möglichen Argumenten vollständig alle Möglichkeiten in gegebener Stellenzahl resultieren. Ich habe unter 2.1.3.2.6. in der Inverterlogik mögliche Resultatmengen betrachtet und festgestellt, dass alle(!) anderen Operatoren unvollständige Zahlenmengen resultieren, sofern die 1 als Argument ausgeschlossen wird, die auch implizit das zweite Argument im Inkrementierer ist. Solche unvollständigen Zahlenmengen erscheinen unabhängig von der Stellenzahl für Resultate und sind bedingt durch die Übertragsbildung, ohne die kein (arithmetischer) Operator einer ist ("logische Operatoren" nenne ich in der Inverterlogik nicht 'Operatoren', weil alle Verknüpfungen von Invertern unter diesen Begriff fallen müssten. Deshalb mache ich den Begriff 'logisch' auch so, dass er alles umfasst, was mit Invertern zu machen ist.).
    Unter 2.1.3.2.6. habe ich auch den Begriff der 'komplementären' Zahlen gemacht, die wie der Begriff der transzendenten Zahlen nicht erscheinende Resultate (in jenem Fall algebraischer Gleichungen) umfasst, aber bezogen ist auf einen jeweils konkreten Operator. Dieser Begriff ist brauchbarer, weil in der Inverterlogik beliebig viele Operatoren möglich sind. Die komplementären Zahlen bei dem einen Operator können also bei einem anderen sehr wohl Resultate statt komplementäre Zahlen sein.
    Es lässt sich so aber unbezweifelbar feststellen, dass die Stellen, in denen Resultate erscheinen, stets eine vollständige Zahlenmenge erlauben, die aus den beiden unvollständigen Zahlenmengen der Resultate und komplementären Zahlen zusammen gesetzt ist, die wie gesagt nur zu haben sind, wenn die 1 als Argument ausgeschlossen wird. Damit ist ein oft benutzter Begriff transzendenter Zahlen ad absurdum, der unterstellt, dass irgendwelche Zahlen überhaupt nicht kalkulierbar wären.
    Über vollständige Zahlenmengen lässt sich ausserdem sagen, dass sie immer in gerader Anzahl vorkommen, weil Inverter am Ausgang 2 Werte H oder L resultieren können, während der grösste Wert immer als ungerade Zahl zu interpretieren ist, weil die kleinste Zahl die 0 und nicht die 1 ist. Die 0 ist nicht nur deshalb eine gerade Zahl, sondern auch, weil sie die Zahl ist, die der grössten (ungeraden) Zahl folgt - dann mit Übertrag aus der höchsten Stelle. Es gibt also nur gerade Nullen! Und auch die 2 ist neben der 0 und der 1 fundamental wichtig.
    Allerdings gibt es 'unvollständige' Resultate, die in der gleichen Anzahl von Stellen wie für Argumente, nicht richtig resultiert werden können. Diese betrachte ich ebenfalls unter 2.1.3.2.6. und stelle dabei fest, dass es immer eine endliche und berechenbare Menge von Stellen gibt, die bei gegebener Anzahl von Stellen für Argumente für vollständige Resultate ausreichen. Natürlich gilt dies nicht bei Operatoren, die prinzipiell unendliche Iterationen machen sollen, z.b. wenn Reste erscheinen können. Unendliche irrationale Zahlen sind also ebenfalls in einer endlichen Inverterlogik ausgeschlossen. Bei Divisionen müssen Reste stets als Reste Teil der Resultate sein! Eine Bedeutungsgebung für solche Reste kann dann ein Kriterium geben, um periodische und nicht periodische Brüche, die unendlich sein können, zu unterscheiden.
    Damit ist also auch für diesen Fall das Zahlattribut und nicht die Zahl selbst der Ausgangspunkt, um verschiedene Mengen von Zahlen zu unterscheiden, die immer ebenso abzählbar sind wie die Anzahlen von Schiebetakten im Zahlattribut, die Stellenverschiebungen ausdrücken.
    In diesem Zusammenhang ist noch interessant, welchen Einfluss das verwendete Zahlensystem auf Resultate hat. Das Resultat ein und derselben Division fällt nämlich verschieden aus und abhängig davon, ob mit Dual-, Dezimal oder einem anderen Ziffernsystem gerechnet wird. Der Bruch 1/5 ist dezimal eine glatte 0,2 und nicht eine unendlich periodische Zahl wie sie dual erscheint. Ich habe deshalb in der Inverterlogik auch bemerkt, dass stets das verwendete Zahlensystem in Betracht zu ziehen ist, wenn Resultate irgendeine Bedeutung erhalten. Denn prinzipiell jede Zahl kann zur Basis eines Ziffernsystems gemacht werden, in dem jeweils verschiedene Brüche zu 'irrationalen Zahlen' werden! Man muss jedenfalls den Schluss ziehen, dass hinter dem Komma eine prinzipielle Unschärfe gegeben ist, die weder durch die Idee der Unendlichkeit, noch durch die Bevorzugung eines Zahlensystems aufzuheben ist. Dies ist auch ein mächtiges Argument dafür, nur mit endlichen Wertebereichen umzugehen und Schlüsse als irrelevant zu verwerfen, die in irgendeiner Weise Saft aus der Unendlichkeit ziehen. Irgendwelche Varianten des Dualziffernsystem erscheinen allerdings wegen der zwei Werte H,L des Inverters am praktischsten.
    Der Vollständigkeit halber kann noch bemerkt werden, dass bei diesen Zahlen die Werte, die Primzahlen darstellen, auch hinter dem Komma zu finden sind - dezimal ausgedrückt: 0,13 ist nur durch 0,13 und 0,01 ohne Rest teilbar.
    Natürlich stellt sich die Frage, ob die Zahlen in der Inverterlogik wirklich so anders sind als Peano's Zahlen, dass die gefundenen Eigenarten und Schlüsse nicht in der Peano-Arithmetik gelten. Offenbar ist die in der PA vorhandene (axiomatisch geforderte) Unendlichkeit ein entscheidender Unterschied. In der Praxis des Rechnens macht die aber garnichts, während jede in der PA mögliche Rechnung auch in der Inverterlogik möglich und im Effekt völlig identisch ist. Und weil mit Inverterlogik auch die Iterationsmaschine (unter 2.2.3.) hergeleitet wird, die als Variante die 'von Neumann Struktur' enthält, kann man sagen, dass Milliarden von Menschen tagtäglich Hab und Gut und Leib und Leben mit Rechnungen in Transistorlogik riskieren, die niemals anders sein können als mit Inverterlogik ausdrückbar. Damit ist der Beweis der Evidenz der endlichen Zahlen und Operatoren in der Inverterlogik jedenfalls eher gegeben ist als die Evidenz der PA, die tatsächlich in Computern nicht mehr das ist, was sie sein soll - also unendlich, von Gott und Peano gegeben usw...
    Es gibt aber einen Beweis jenseits von Risiko und Glauben, dass die mit Inverterlogik gefundenen Feststellungen ohne Abstriche auch für die PA gelten. Sehr einfach ist nämlich zu sehen, dass bei dem Belieben, das in der Inverterlogik erlaubt ist, zwar nicht die Unendlichkeit zu erreichen ist, aber ausreichend überzeugend gefunden werden kann, wie der Rand des Endlichen aussieht und dass sich an diesem Rand überhaupt nichts ändert, wenn man ihn beliebig weit in Richtung Unendlichkeit hinaus schiebt. Die axiomatisch begründete Unendlichkeit ist also vor allem ein schon von Gauss verachteter Trick, diesen Rand unsichtbar zu machen und die hübsche Täuschung zu haben, dass dort jede Iteration glatt gebügelt und ohne Fransen erscheint. Insbesondere gibt es keine Unendlichkeit, in der etwas irgendwie endet, also z.B. als Null. Wie ich unter 2.1.3.2.6. feststelle, passen die Resultate nach einer arithmetischen Operation nur im Ausnahmefall in die gleiche Anzahl von Stellen wie die Operanden. Das wird nicht anders, indem man Operatoren erschafft, die nötigen Stellen zu erschaffen. Da Mathematikern vertraut ist, dass auch das Papier nicht reichen kann, wenn man nicht willkürlich abbricht, ist unbezweifelbar, dass alle Zahlen so oder so endlich sind und Operatoren, die Stellen erschaffen, eine absurde Vorstellung sind, die nur möglich ist, wenn man die Notwendigkeit von zählbaren Stellen mit Axiom abschafft.

    Zur Ergänzung zitiere ich noch die Peano-Axiome nach "Infinitesimalrechnung" v. Wörle-Kratz-Keil, erschienen im Bayerischen Schulbuch-Verlag 1965:
    1. 1 ist eine natürliche Zahl
    2. Zu jeder natürlichen Zahl n existiert genau ein Nachfolger n', der ebenfalls der natürlichen Zahlenmenge angehört.
    3. Es gibt keine natürliche Zahl, deren Nachfolger 1 ist.
    4. Die Nachfolger zweier verschiedener natürlicher Zahlen sind verschieden.
    5. Eine Menge von natürlichen Zahlen enthält alle natürlichen Zahlen, wenn 1 zur Menge gehört und mit einer natürlichen Zahl n stets auch der Nachfolger n' zur Menge gehört.
    Anmerkungen dazu:
    Das 3.Axiom verneint, dass 0 eine natürliche Zahl sei.
    Das 5.Axiom sagt, dass es eine erste, mit dem 1.Axiom gegebene, nicht aber eine letzte (grösste) natürliche Zahl gibt, womit aber die Unendlichkeit noch nicht postuliert ist, sondern nur gesagt ist, wann die Menge der natürlichen Zahlen vollständig ist. Dieses Axiom ist auch insofern wichtig, weil es die 'vollständige Induktion' als Verfahren zum Schliessen etabliert.
    Die Axiome werden üblicherweise so vorgestellt, dass der Nachfolger n' mit der Addition einer 1 zu resultieren sei: n'=n+1 .In der so gegebenen Iteration ist dann das Resultat einer Suche nach dem nächsten Nachfolger das nächste Argument einer Addition, auf die die oben gesagten Einwände zutreffen. Man kann das 2.Axiom aber auch so verstehen, dass mit 'natürlicher Zahl' ein Zeichen für diese Zahl (und nicht die Zahl selbst) gemeint ist, das anders als alle anderen ist und nur in die Reihe gestellt wird. Das wäre im Prinzip das gleiche Vorgehen wie ich es in der Inverterlogik gewählt habe (dort werden Werte von Adressen, die mit 'Zeichen' gegeben werden können, in eine Abfolge gestellt). Allerdings habe ich ausserdem Verknüpfungen und Gestaltungsregeln angegeben (das 'Feld'), die genau definieren, wie die Abfolge von kleinerer zu grösserer Zahl zustande kommt und wie das Zeichen für den Nachfolger auszusehen hat. Damit wird auch gleich die Herleitung von Operatoren bedingt, während bei dieser Sicht der Axiome von Peano nur Namen von Zahlen und damit beliebige Zeichen zum Nachfolger gemacht werden können. Kriterien für die Wahl werden nicht postuliert. Vor der Wahl zum Nachfolger sind nämlich alle noch übrigen natürlichen Zahlen unterschiedslos nichts weiter als natürlich. Grösser sind sie erst nach der Wahl. Es könnte also auch irgendein Buch als Sammlung der natürlichen Zahlen verstanden werden, wenn nur das erste Zeichen eine 1 ist und weitere Zeichen so zusammen gefasst werden, dass unverwechselbare Zeichenketten entstehen - die letzte Zahl würde dann eine unendlich lange Zeichenkette als Namen benötigen und dieses Buch muss unendlich dick weiter schwellen können, weil nach dem 5.Axiom kein Ende zu finden ist...

    UNENDLICHKEIT UND NICHTS, LEMNISKATE UND NULL:
    Die Begriffe der "Unendlichkeit" und des "Nichts" enstammen zusammen mit dem Begriff der "Ewigkeit" religiösen Betrachtungen der Welt. Das "Nichts" wird meist als Gegenteil der Unendlichkeit begriffen, die mit irgendwelchen (wenigstens denkbaren) Dingen erfüllt ist. Während die Ewigkeit die Unendlichkeit in der zeitlichen Dimension betrifft, die bislang ausserhalb mathematischer Betrachtung gesehen wurde, ist die Unendlichkeit als Bereich für Rechenschritte mit der Infinitesimalrechnung, die Newton und Leibniz unabhängig voneinander und gleichzeitig einführten, zu einem mathematischen Begriff geworden. Lange vor ihnen hatte allerdings schon Archimedes infinitesimale Rechnungen ausgeführt und auch die Vorstellung der Unendlichkeit betrachtet, die nach Aristoteles für solche Rechnungen immer als erstrebt, aber niemals erreichbar gilt. Das wird mit den Worten "ad limes infinitum" (wörtlich: "bis zur Grenze der Unendlichkeit") ausgedrückt. Formalisiert wird die Unendlichkeit dann mit dem Zeichen einer liegenden 8, das "Lemniskate" genannt wird. Diese schrittig erstrebte Unendlichkeit wird die "potentielle" genannt im Gegensatz zu einer "aktualen", die als Maß einer Gegebenheit betrachtet wird. Cantor machte mit seiner Mengenlehre die aktuale Unendlichkeit zum mathematischen Begriff. Nach der Mengenlehre werden nicht nur Mengen mit unendlich vielen Elementen zu Argumenten in Rechnungen (z.B. die Menge der natürlichen Zahlen). Cantor konnte sich ausserdem auch eine grösste Zahl im Unendlichen denken, nach der es 'transfinit' weiter geht mit weiteren Zahlen. Er war also entschieden, dass man im Unendlichen eine Grenze finden kann, dann aber doch noch unendlicher weiter kommt. Dort soll er Gott vermutet haben.
    Ein dem Nichts entsprechendes Zeichen wurde einst in der Null (=0) gesehen. Die katholische Kirche sah es so und verbot deshalb lange Zeit die Verwendung dieses Zeichens. Es sei eine Beschwörung nicht nur des "horror vacui" (dem Schrecken der Leere), sondern auch des Teufels. Folgerichtig war die Benutzung römischer Zahlen geboten, die kein Zeichen für die Null enthielten. Erst mit dem Gebrauch des in Indien zusammen mit der Null erfundenen Dezimalsystems hörte das Mittelalter auf dunkel zu sein. Die Null wurde säkularisiert zu der ganzen Zahl, die zwischen +1 und -1 steht.
    Weil auch die Inverterlogik nicht ohne einen Begriff auskommt, der eine beliebig grosse Menge von Wiederholungen oder Abwandlungen vorstellt, will ich einige Worte zum geläufigen Begriff der Unendlichkeit und dessen mathematischem Nutzen machen, die nicht nur die mathematische Seite betreffen. Im Zusammenhang damit wird insbesondere auch die Null zu betrachten sein.
    Als ich die Inverterlogik formulierte, sah ich durchaus die Möglichkeit, mir eine unendliche Zahl von Invertern zu denken, die verknüpft eine unendliche Menge von Werten resultieren könnten, die als "natürliche Zahlen" interpretierbar wären. Ich sah bei meinem Vorgehen (unter 1.2.2.) aber sofort, dass dann jedenfalls mehr Inverter gegeben sein mussten als Zahlen mit ihnen darzustellen wären. Wollte man die erzeugten Zahlen zum Abzählen der zu ihrer Darstellung nötigen Inverter verwenden, hätte man immer zu wenig Zahlen. Die Inverter wären also nicht abzählbar. Weil der Inverter auch eine zeitliche Dimension hat, würde es ausserdem eine Ewigkeit dauern, bis grösste Zahlen ausdrückbar erscheinen könnten.
    Da ich aber weder von einem Zahlbegriff, noch einem Element =1 ausgehe, sondern vom Inverter-Axiom mit den Werten H,L des Inverters, ist weder Zählen noch Zählbarkeit ein Ausgangspunkt. Ich kann nur voraussetzen, dass immer genug Inverter zu machen und nur so zu haben und beliebig verknüpft sein könnten. Es ist mit dem Inverter-Axiom auch gegeben, dass konkrete Werte an Ausgängen nur dann erscheinen können, wenn Inverter an Eingängen tatsächlich mit einem Wert besetzt sind. Aus Werten H,L zusammen gesetzte Werte können nur dann erscheinen, wenn mehr als ein Inverter verknüpft ist und an mehr als einem Ausgang ein (dann vielstelliger) Wert resultiert werden kann. Und natürlich hat man dann noch zu unterscheiden zwischen verschiedenen Möglichkeiten der Verknüpfung dieser Inverter, die ergo grundsätzlich definiert sein muss, bevor Werte H,L in irgendeiner Weise interpretiert werden können. Und es ist offenbar keineswegs nötig, eine unendliche Menge von Invertern als machbar oder bereits verknüpft voraus zu setzen, um Werte interpretieren zu können!
    So sind Zahlen in der Inverterlogik also nicht axiomatisch realisiert, sondern eine von vielen Möglichkeiten, Werte H,L an Ausgängen definierter Verknüpfungen (='Beziehungen') zu interpretieren. Es ist auch nicht zu fragen, ob es die Zahlen schon gibt, sondern nur, ob man sie machen kann. Und nur die Zahlen, die man gemacht hat, die gibt es dann! Dann ist auch die Zählbarkeit von Invertern kein Problem, weil man immer genug Zahlen machen kann, um in irgendeiner gegebenen Beziehung die verknüpften Inverter zu zählen. Andere Inverter müssen dann auch nicht mitgezählt werden, weil sie nicht verknüpft und damit (noch) nicht existent sind.
    Ich entschied allerdings erst bei der Vorstellung von Operatoren und Zahlattributen (unter 2.1.3.2.1.1.1.), die Idee der Unendlichkeit endgültig zu verwerfen, weil andernfalls das Inverter-Axiom so erweitert werden müsste, dass Verknüpfungen von Invertern weitere Inverter und auch noch bestimmte Verknüpfungen dieser Inverter erschaffen können müssten. Das wäre nun wirklich völlig absurd, wenn es auch noch mit nicht abzählbaren Invertern und in der Ewigkeit veranstaltet werden müsste.
    Ich entschied mich deshalb, den Ausdruck "nach Belieben" zu verwenden, wenn es darum geht, irgendwelche Prinzipien beim Verknüpfen von Invertern mehr als einmal oder irgendwie ähnlich zu verfolgen. Dieser Ausdruck kann auch "ad limes infinitum" ersetzen, drückt aber besser aus, dass es um Machbarkeit und Machen geht. Und um Ausdrücke für ein Ende des Machens und eine Grenze des Gemachten zu haben, wählte ich "Relevanz" und "Irrelevanz", die auf Unterscheidbarkeit, Tatsächlichkeit und Nützlichkeit bezogen sind. Nicht verknüpfte Inverter und das, was mit ihnen bewirkt werden könnte, sind also ein irrelevantes Nichts und nur potentiell existent. Jenseits von Beziehungen herrscht nicht interpretierbare Leere, die aber nicht durch eine "0" repräsentierbar ist, sondern als irrelevant zu begreifen ist.
    Ausserdem musste ein Begriff der "Stelle" verfeinert werden, der sich in der Inverterlogik ebenfalls ohne weitere Definitionen aus dem Inverter-Axiom ergibt. Das definiert nämlich ausser zwei Werten auch zwei Seiten, die durch die "Bewirkung" des Inverters eine Richtung geben - von der Ursache zur Wirkung bzw. vom Argument zum Resultat. Damit sind dann auch Stellen gegeben, wo Inverter verknüpfbar sind. Anders also als in üblicher Mathematik, werden Werte nicht durch "Operatoren" verknüpft, sondern erscheinen in Stellen, die immer Eingang oder Ausgang eines Inverters sind und keineswegs "verknüpft" sind durch die Bewirkung, sondern mit ihr verursacht. Die ganze Vielfalt unterscheidbarer Operationen ist dann nicht das Ergebnis von Rechenvorschriften, sondern von Definitionen irgendwelcher Verknüpfungen, die ich allerdings auch "Operatoren" genannt habe, sofern Zahlen sein sollen, was tatsächlich Argumente und Resultate sind, die als Werte H oder L in Stellen erscheinen. Dabei sind Übertragsbildungen kennzeichnender Teil der Bewirkung.
    Betrachtet werden soll hier nur, dass irgendwelche Resultate nur in Stellen erscheinen können und irgendeine Bedeutung der Werte H,L nur von Stellen abgeleitet werden kann. Und daraus ist zu schliessen, dass Resultate nicht ohne Beziehung vorkommen und dass Bedeutungen der Resultate nur möglich werden, indem sie als Argument weiterer Beziehungen wirken (das kann auch ein Betrachter sein, der z.B. Zahlen sehen will).
    Auch in herkömmlicher Mathematik ist der Begriff der Stelle zu haben und betrifft ebenfalls Stellen, wo Werte (als Zeichen) stehen. Diese Stellen sind zwar durch Rechenvorschriften bedingt, sind aber nicht ursächlich für die Werte. Sie sind praktische Konsequenz und nicht fundamentaler Teil von Rechenvorschriften. Man kann deshalb auch von den Stellen absehen, die tatsächlich nötig sind, einen konkreten Wert, insbesondere eine Zahl darzustellen. So sind in Peanos Axiomen z.B. die Stellen, in denen Zahlen erscheinen, nicht mit Stellen definierte Variable n und n'. Die Stellen in den Variablen sind deshalb nicht a priori zählbar wie die Stellen in der Inverterlogik, sondern erst a posteriori nach einer Errechnung der Werte (und Definition eines Zahlensystems). Im Gegensatz zur Inverterlogik können solche Variablen ohne definierte Anzahl von Stellen, die tatsächlich Namen sind, Argumente sein und operiert werden.
    Weil grundsätzlich jede Beziehung gemacht werden kann, um mit Werten H,L in Stellen definierte Zahlen vollständig aequivalent zu Ergebnissen zu führen, wie sie mit üblicher Mathematik auf Papier entstehen können, solange Argumente und Resultate in die gegebene Zahl von Stellen passen, muss die Frage sein:
    Macht die Inverterlogik durch Stellen und Endlichkeit irgendwelche Einsichten und Schlüsse unmöglich, die gewohnte Mathematik erlaubt?
    Das oben Gesagte erlaubt diese Frage anders und genauer zu stellen:
    Können Variable, die Werte in nicht zählbaren Stellen betreffen, irgendwelche Aussagen begründen?
    Da auch in üblicher Mathematik eine Zahl nicht ohne Stellen, in denen sie steht, ausdrückbar ist, wäre die mit Peano's 5.Axiom implizierte vollständige Induktion nicht machbar, wenn der in n eingesetzte Wert nicht mehr geschrieben werden kann. Er wäre insbesondere von n' nicht mehr unterscheidbar, weil diese Variable von n ausgehend konstruiert wird. Ist also n nicht ausdrückbar, ist auch n' nicht mehr ausdrückbar und damit ist auch die Menge der natürlichen Zahlen begrenzt, bevor sie nach dem 5.Axiom vollständig sein kann.
    Ohne Zweifel gibt es immer eine praktisch (und physikalisch) bedingte Grenze für ausdrückbare Zahlen, die nicht in der Unendlichkeit liegt. Diese Grenze wird aber ignoriert, indem Peano's 5.Axiom die Menge der natürlichen Zahlen erst dann vollständig sein lässt, wenn nicht nur n, sondern auch n' vorhanden ist. Da nach dem 2.Axiom n' wieder ein n mit Nachfolger n' sein muss, kann eine Iteration zur Erzeugung natürlicher Zahlen niemals beendet werden und es kann niemals eine grösste Zahl gefunden oder gegeben werden. Damit kann aber auch die Menge der natürlichen Zahlen auch dann, wenn eine praktische Grenze nicht vorhanden wäre, niemals als vollendet und vollständig bezeichnet werden. Ihre Elemente sind ja nur schrittig unterscheidbar. Der unendliche Rest der noch nicht definierten Nachfolger ist ununterscheidbar. So wie im 5.Axiom definiert, gibt es diese Menge garnicht, wenn wie üblich der Nachfolger n'=n+1 sein soll. Es kann sie nur geben, wenn, wie in der Inverterlogik, auf eine grösste die kleinste Zahl folgt. Nur dann ist eine dichte, eindeutige und zählbare Abfolge von Zahlen möglich. Der Nachfolger der grössten Zahl, die 0 in allen Stellen ausser denen, die den Übertrag aus der letzten Stelle resultieren, genügt dann auch Peano's 2.Axiom. Zweierlei Nullen sind wohl unterscheidbar, wenn sie Resultate eines Operators sind, der für diesen Fall ein Inkrementierer wäre - die Argumenteingänge hätten dann den Namen n ,während die Resultatausgänge den Namen n' hätten. In einem Feld (wie es ab 1.2.1. abgehandelt wird) sind zweierlei Nullen allerdings nicht unterscheidbar. Immer aber sind die Schritte durch eine Menge von Zahlen das Durchschreiten einer periodischen Schwingung, gekennzeichnet durch eine Amplitude von einer 0, entsprechend L in allen Stellen, bis zur grössten Zahl, entsprechend H in allen Stellen. Mit der Inverterlogik wird klar, dass eine solche Menge von Zahlen anders als in Peano's 5.Axiom durch Stellen definiert werden muss, in denen sie erscheint, und nicht durch einen Nachfolger bedingt werden kann, der womöglich nicht existiert (weil z.B. alles Papier der Welt schon verbraucht ist). Eine Variable, deren Stellenzahl nicht definiert ist, erlaubt also keineswegs eine vollständige Induktion. Keine Verknüpfung solcher Variablen erlaubt irgendeine Aussage, die mit vollständiger Induktion beweisbar wäre. Immer wäre noch eine unendliche Menge ununterscheidbarer Werte übrig, die herkömmlich nicht zu ignorieren ist.
    Ich fasse zunächst zusammen:
    1) Auch in der herkömmlichen Mathematik kann eine irgendwie unterstellte oder postulierte Unendlichkeit nicht an der Tatsache vorbei führen, dass eine Zahl beziffert hingeschrieben sein muss, um gegeben zu sein und so den Beweis in einer vollständigen Induktion zu ermöglichen. Diese praktische und physikalische Begrenzung wird auch nicht überwunden mit Variablen ohne definierte Stellen, denn im vollständigen induktiven Schluss müssen sie definierte Stellen haben, um zu beweisen; sie müssen immer einen endlichen, zählbaren Wert ausdrücken.
    2) Die Unendlichkeit ist per definitionem nicht zählbar, sondern ein noch nicht oder niemals gezählter anderer Bereich als irgendein endlicher. Sie ist deshalb nicht eine Verlängerung der Endlichkeit, sondern das Gegenteil. Während in der Endlichkeit Rechenschritte beweisbar richtig getan werden können, ist das Gegenteil, dass das nicht möglich ist. Nimmt man die Unendlichkeit als zählende oder zählbare Gegebenheit (als 'aktual'), erlaubt man Aussagen, die tatsächlich nichts sagen, weil die gleiche Aussage über alles schon gezählte und das Gegenteil niemals richtig sein kann.
    Diese Feststellungen sind wichtiger, als zunächst scheinen mag...
    Unendliche Iterationen sind nämlich nicht nur in Gebrauch, um auf eine nächst grössere Zahl n' und eine schliesslich vollendete Menge von Zahlen zu kommen, sondern auch, um die Vervollständigung eines einzigen Wertes zu erreichen. Das kann die Zahl pi oder die Euler'sche sein. Es kann sogar jede Zahl sein, wenn die mit einem Dedekind'schen Schnitt errechnet wird. Es kann insbesondere sogar die Null sein. Auch solche Rechnungen können niemals beendet werden.
    Offenbar entstehen Abgründe zwischen Zahlen, wenn zur Erzeugung von Zahlen nicht inkrementiert, sondern irgendwie anders iteriert wird. Insbesondere dann, wenn zu kleineren Zahlen (z.B. mit Divisionen) fortgeschritten wird, zeigen sich Rechnungen als nicht endend. In herkömmlicher Mathematik zeigt sich also ebenfalls, was die mit der Inverterlogik begründete zeitliche Dimension sicher macht:
    Bestimmte Resultate von Iterationen sind auch in der Ewigkeit nicht zu haben.
    Herkömmlich scheint das den Schluss zu erzwingen, dass die Unendlichkeit nicht nur als gegeben angenommen werden muss, sondern auch als zählbare Grösse, weil andernfalls weder eine eindeutige und dichte Abfolgen von Zahlen möglich erscheint, noch ganz offenbar eindeutige Werte zu haben sind für geometrisch sehr wohl konstruierbare Verhältnisse, wie sie etwa durch die Zahl pi oder die Wurzel von 2 (beim Dreieck) ausdrückbar gemacht wurden.
    Allerdings nannten schon die alten Griechen solche Größen "inkommensurabel" und schämten sich nicht, keine genauen Zahlen für solche alltäglichen Verhältnisse zu haben. Und Physiker wissen heute, dass die auch nicht zu haben sind, weil die Welt gequantelt ist. Auch Hilbert soll die Idee vorgestellt haben, dass es wohl eine vernünftige Grenze für kleinste Zahlen geben müsse, kam aber nicht auf die Idee, dass die auch für grösste Zahlen aus den gleichen Gründen nötig ist, sondern rief dazu auf, die Unendlichkeit zu erforschen.
    Zu diskutieren ist also schliesslich, wie zwingend nötig die Annahme der Unendlichkeit als Bereich für Zahlen ist. Für die Positionierung von Tatsächlichem, physikalisch Greifbarem ist die Unendlichkeit unbestreitbar unnötig; sie musste sogar schon ausdrücklich ausgeschlossen werden, um mathematisch Phänomene in der Quantenphysik den durch Experimente bewiesenen Tatsachen entsprechend ausdrücken zu können.
    Nach dem oben Gesagten lässt sich leicht feststellen, dass die Zwänge tatsächlich nur dadurch entstehen, dass einst der Glaube um sich griff, dass einerseits ein noch nicht komplett berechnetes Resultat keines ist, und dass andererseits in der Unendlichkeit (und der Ewigkeit) alle krummen Dinger gerade werden könnten. Weil tatsächlich niemand da hinblicken kann, schien dieser Irrglaube nicht zu widerlegen sein...
    Er ist aber ausserordentlich einfach zu widerlegen!
    Nehmen wir als Stellvertreter aller Resultate beliebiger Rechengänge, die unendlich viele Stellen hinter dem Komma erzeugen, den Dualbruch 0,111... und stellen fest, dass diese Zahl niemals =1,000... sein kann. Wir sehen sofort ad absurdum, dass die Vorstellung der Unendlichkeit daran irgendetwas ändern kann! Sie ist also keineswegs auf irgendeine Weise zwingend. Immer wird ein solches Resultat nicht "fertig" sein. Immer wird eine Lücke klaffen zwischen den beiden Zahlen. Immer kann noch eine weitere 1 hinter dem Komma erzeugt werden, sofern eine Stelle zu haben ist, in der sie steht.
    Noch zu bemerken ist, dass der selbe Rechengang keineswegs immer das gleiche Resultat hat, sondern abhängig von den Primzahlen ist, die die Basis des verwendeten Zahlensystem bilden. Ist sie z.B. 13 , dann können Divisionen mit dem Divisor 13 und Vielfachen davon immer zu Resultaten ohne Nachkommastellen führen! Daraus ist zu schliessen, dass auch die arithmetischen Operationen nicht a priori dichte Zahlenreihen resultieren können. Nur das Inkrementieren kann das immer.
    Das hat also andere Konsequenzen zu haben als die Idee einer aktualen Unendlichkeit. Die hilft tatsächlich nicht, irgendein Problem lösbar zu machen. Da bis heute (und in alle Ewigkeit) niemand die Unendlichkeit erforschen kann, ist nichtmal der Verdacht zu begründen, dass sie ein Teil mathematischer Vorstellungen sein sollte.
    Die potentielle Unendlichkeit kann dagegen immer angenommen werden. Sie ist nur in praktischen Grenzen zu erstreben. Offenbar sind Stellen, die durch Wiederholung von Rechenschritten nötig werden können, ebenso konstruierbar wie die Rechenschritte. Peano kann deshalb den Weg von der 1 zu weiteren Zahlen tatsächlich mit n und n' weisen, auch wenn er nicht klar macht, wie genau die Besetzung der Stellen in diesen Variablen zustande kommt und deshalb weitere Axiome für Operatoren und Rechenregeln nötig macht.
    Falsch ist aber die mit dem 5.Axiom gegebene Bedingung, dass die Menge der natürlichen Zahlen erst dann vollständig sein soll, wenn ein Nachfolger gefunden ist, den es nicht geben kann. Diese Herleitung einer Menge ergibt niemals eine Menge!
    Jeder Rechengang ad limes infinitum muss also als ein Rechengang ad limes finitum (="bis zur Grenze des Endlichen") gesehen werden - dies ist die gleiche Grenze, aber von der Seite her betrachtet, wo tatsächlich gerechnet und begründet werden kann.
    Mit der Inverterlogik wird ausserdem gezeigt, dass diese Grenze für jeden Rechengang ein anderes Ding ist und genau definiert sein muss, damit genügend Stellen für maximal große Resultate, bezogen auf gegebene, maximal große Argumente, zu haben sind. Immer muss auch das Zahlen- oder Ziffern-System definiert sein, mit dem gerechnet werden soll, und es muss klar sein, dass Zahlen irrational nur abhängig von diesem System sind. Immer sind Überträge aus größter oder kleinster Stelle zu beachten.
    Das kann man in drei Sätzen zusammen fassen:
    1) Numerische wie logische Werte können nur in einer endlichen Anzahl von Stellen genau und wahr sein.
    2) Entscheidungen können nur innerhalb einer endlichen Anzahl von Stellen getroffen werden.
    3) Beweise können nur bezogen auf eine endliche Anzahl von Stellen zutreffen, wahre oder falsche Vorstellungen zeigen.
    Alle Relationen ausserhalb von Stellen sind (a priori!) bedeutungslos! Sie können nichts begründen.
    Damit ist gesagt, dass sowohl Unendlichkeit wie Ewigkeit nichts sind, was in irgendeiner Form mathematisch bedeutsam werden kann. Diese Ideen taugen nur für jene Gemüter, die einen Platz für Götter und Paradiese suchen, ohne die sie sich diese Welt nicht denken wollen. Ein Ausgangspunkt für irgendwelche wahren Feststellungen ist dort aber nicht zu finden.

    Wie ich oben schon erwähnte, bin ich nicht der Erste, der die Idee der aktualen Unendlichkeit verwirft - schon Gauss hatte Einwände. Ich mag aber der Erste sein, der mit der Kritik von einem Begriff der Stelle ausgeht und ihrer physikalischen Qualität, wie sie erst mit der Inverterlogik elementar erheblich wird.
    Erst dieser Hinblick begründet Zweifel an der Formulierung gewisser Mengen und Eigenschaften von Elementen solcher Mengen. Das betrifft hauptsächlich alle unendlichen Mengen von Zahlen und Operationen solcher Zahlen; ganz konkret also die Idee der (unendlichen) Körper in der Algebra und die Idee der "Mächtigkeit" von Mengen, wie sie Cantor erstmals formulierte.
    [Erstveröffentlichung am 27.2.2011]

    3. MENGENLEHRE MIT FOLGEN

    CANTOR'S DIAGONALSCHNITT:
    Cantor (d.Schöpfer der Mengenlehre), hat eine Methode vorgestellt, aus einer gegebenen Liste von rationalen Zahlen (die er für reelle hielt) eine neue Zahl zu erzeugen, die niemals in einer solchen Liste schon vorhanden sein kann. Weil diese Methode ein beliebtes Mittel zum Beweis einer Unvollständigkeit von Listen wurde, ist sie der genaueren Betrachtung wert:
    Ursprünglich diente die Methode zum Beweis, dass die Menge der reellen Zahlen nicht abzählbar, sondern "überabzählbar" sei. Damit meinte Cantor, dass keine natürliche Zahl gross genug sei, die Anzahl der Elemente in der Menge der reellen Zahlen anzugeben, die damals als die Vereinigungsmenge der ganzen, der rationalen und irrationalen Zahlen gesehen wurde, also als die Menge aller Resultate von Divisionen und Radizierungen.
    Die Methode kann umgangssprachlich sehr einfach vorgestellt werden und heisst "Diagonalschnitt":
    Man schreibe eine Liste reeller Zahlen auf, jede in je einer Zeile, und entnehme der ersten Zeile die erste Ziffer nach dem Komma, der zweiten Zeile die zweite Ziffer nach dem Komma, der dritten die dritte usw...
    Diese Ziffern schreibe man in die erste, zweite, dritte usw. Stelle der zu erzeugenden neuen Zahl. Man liest also diagonal, schreibt aber in eine Zeile und formt dann die Ziffern in den einzelnen Stellen, die zwischen 0 und 9 liegen, noch so um, dass nach der Umwandlung nur noch die Ziffern 1 oder 2 in der resultierenden Ziffer hinter dem Komma vorkommen.
    Die Rechenvorschrift für die Codierung mittels 1 und 2 muss eigentlich nicht weiter interessieren, weil sie letztlich belanglos ist. Sie provozierte allerdings beliebige andere Deutung und Codierung sowohl des diagonal Gelesenen wie auch der so erzeugten Zeichenfolge, und ist deshalb als Schritt nicht ausser Betracht zu lassen.
    Cantor behauptete nun, dass die so gewonnene neue Zahl auch eine reelle Zahl darstelle, undzwar eine, die in keiner vollständigen Liste vorkomme. Die Menge der reellen Zahlen sei also nicht abzählbar, sondern überabzählbar, weil er ja beliebig neue Ziffernfolgen erzeugen könne.
    Mit Hinblick auf Operatoren, wie sie mit Invertern gemacht werden, wird sofort klar, was Cantor allerdings auch prüfen konnte - dass nämlich die mit dem Diagonalschnitt gewonnene Ziffernfolge keineswegs auch eine rationale Zahl darstellen kann, wenn man die 1 als Operand ausschliesst. Cantors reelle Zahlen waren damals Resultate von Divisionen bzw. Radizierungen und wurden deshalb auf eine ganz andere Weise operiert als beim Diagonalschnitt. Nur durch Zufall konnte das Resultat eine von Cantors reellen Zahlen sein - und diese kann auf jeden Fall in einer vollständigen Liste gefunden werden!
    Tatsächlich gibt es Zahlen, die nicht in einer solchen Liste erscheinen können. Es sind die unter 2.1.3.2.6. betrachteten komplementären Zahlen, die nicht Resultate sind. Nur solche Zahlen kann man mit Cantors Diagonalschnitt finden (und nichtmal alle). Diese Zahlen werden heute (auch weil Cantor einige davon fand) als Elemente der Menge der transzendenten Zahlen sortiert, die definiert sind als nicht mögliche Resultate irgendwelcher algebraischen Gleichungen. Damit glaubt man die Abfolge von Zahlen mit Stellen hinter dem Komma unendlich dicht, also ohne Lücken erfasst zu haben.
    Vollkommen zuverlässig hat man Zahlen, die ein Komma enthalten, ohne Lücken erfasst, wenn man sie mit Inkrementieren erzeugt. Damit muss man in der letzten Stelle hinter dem Komma beginnen, die allerdings unerreichbar im Nebel der Unendlichkeit liegt. Stellt man sich aber diese beiden unendlichen Mengen von Stellen vor und hinter dem Komma vor, dann ist jedenfalls die ansich irrelevante Frage nach der Mächtigkeit der reellen Zahlen leicht zu beantworten: die quadrierte Mächtigkeit der natürlichen Zahlen plus der der natürlichen Zahlen (=jede Zahl vor Komma kombiniert mit jeder nach dem Komma. Schliesslich alle Zahlen mit einer 0 vor dem Komma). Das kann man "überabzahlbar" nennen, weil offenbar nur die Quadratwurzel aus der nötigen Anzahl als Zählwert zur Verfügung steht. Ebenso offenbar ist aber deshalb die Unendlichkeit als Notwendigkeit bei der Betrachtung von Zahlen ad absurdum. Wenn man die Unendlichkeit nämlich nicht axiomatisch in die Welt stellt, und wenn man so die letzte Stelle hinter dem Komma zu fassen kriegt, dann kann man da mit dem Inkrementieren beginnen und braucht zwar doppelt so viele Stellen, wie zur Darstellung natürlicher endlicher Zahlen nötig sind, kann aber abzählen. Und natürlich sind dann auch alle rationalen, irrationalen und transzendenten Zahlen abzählbar. Feststellungen über Verhältnisse bei Erreichen der grössten oder kleinsten Zahl im Endlichen bleiben stets gültig.
    Weil, wie eingangs bemerkt, der Diagonalschnitt nicht nur Cantor zum Beweis der Überabzählbarkeit diente, sondern auch Teil anderer Beweise mit anderem Gegenstand wurde und dabei auch noch in der Machart abgewandelt wurde, ist ausserdem festzustellen, was der Diagonalschnitt in Cantor's Beweis eigentlich beweist und was deshalb damit nicht bewiesen werden kann.
    Cantor ging aus von einer Liste (der reellen Zahlen), die Resultate von Operatoren enthielt. Diese sind (falls der Operand 1 ausgeschlossen ist), immer eine unvollständige Zahlenmenge, die aber in eine vollständigen Liste übertragen werden kann. Solche Listen sind im wesentlichen mit ihrer Länge zu qualifizieren (der Anzahl der Listenelemente), die auch ungerade sein kann. Sie entsprechen dem, was ich unter 2.2.3.2. als 'Stapel' abhandle, der stets abzählbare Elemente enthält. Cantor's verblüffender Schluss, dass die vollständige Liste unvollständig sei, kommt durch den Vergleich von zwei verschiedenen Arten von Vollständigkeit zustande, nämlich der Vollständigkeit einer Liste einerseits und der einer Zahlenmenge andererseits. Tatsächlich hatte er es ja mit einer unvollständigen Zahlenmenge zu tun, die Resultate sind. Alles was er beweisen konnte, war die Existenz der komplementären Zahlen der betrachteten Operatoren. Und das hat er noch nicht mal gut gemacht, weil er garnicht alle komplementären Zahlen mit seinem Diagonalschluss erzeugen konnte. Kurz gefasst:
    Der Diagonalschluss beweist nichts weiter als komplementäre Zahlen.
    Immer ist es der Begriff der Vollständigkeit, der in Beweisen mittels Cantor's Diagonalschnitt ad absurdum geführt werden soll. Dabei wird regelmässig eine zwar vollständige Liste, die aber nicht eine vollständige Zahlenmenge enthält, einer vollständigen Zahlenmenge gegenüber gestellt.
    Deshalb beweisen alle "Beweise", die die Diagonalisierung verwenden, nicht das, was sie beweisen sollen. Dies gilt für die Beweise Gödels ebenso wie die analogen Beweise von Turing. Eine genauere Betrachtung solcher Beweise leiste ich weiter unten.
    [Erstveröffentlichung am 20.3.2010]
    Zu diesem Thema fand ich einen interessanten Link nach Indien:

  • "Three beliefs..."

    4. COMPUTABILITY / MASCHINELLES RECHNEN

    HILBERT'S ENTSCHEIDUNGSPROBLEM UND TURING'S MASCHINE:
    Im Zusammenhang mit dem 'Entscheidungsproblem' Hilberts stellte Turing die Idee einer Maschine vor, die zu den von Hilbert ersehnten Entscheidungen befähigt sei. Das 'Entscheidungsproblem' charakterisierte Hilbert mit der Frage (sinngemäss): "Gibt es die Möglichkeit, mathematische Wahrheit von Falschheit allein mit mechanischem Vorgehen zu unterscheiden?". Das "mechanische Vorgehen" war symbolisch gemeint im Widerspruch zu lebenden und denkenden Menschen, deren Denken als Mittel zur Entscheidung ausgeschlossen sein sollte. Die Frage ist also eigentlich, ob mathematische Wahrheit in der Natur vorkommt und unabhängig von einem Betrachter. Deshalb machte Turing auch einige Umstände, um das, was er vorstellte, als Maschine erscheinen zu lassen, die man bauen könnte. Die Maschine dachte er sich aus zwei wesentlichen Teilen bestehend:
    1) Ein Teil,das mittels einem eingebauten Übertragungsverhalten entscheidet, wie gelesene Symbole in geschriebene Symbole zu wandeln sind. Ausser Lesen und Schreiben soll das Übertragungsverhalten auch eine Bewegung zwischen den Symbolen ermöglichen.
    2) Einem Teil, das Träger (und Speicher) der Symbole sein soll und bewegt werden kann. Seiner Zeit gemäss stellte Turing dieses Teil als Magnetband vor, das unter Schreib/Lese-Köpfen schrittig hin und her bewegt werden kann. So sind örtlich unterscheidbar Felder möglich, in denen zu lesende oder zu schreibende Symbole eingetragen sind. Als Bewegung zwischen den Feldern war nur einer von zwei Schritten zum benachbarten Feld vorgesehen oder der Stillstand.
    Teil 1) war also eine 'blackbox' (von Turing 'a-machine' bzw. 'automatical machine' genannt), die nicht durch eine konstruktive Beschreibung, sondern einen Effekt gekennzeichnet wurde, zu beschreiben durch eine mathematische Formel. Teil 2) kann etwas moderner (und vollständig aequivalent) als eine Reihe von adressierbaren Registern an einem einzigen Daten-Bus und einem einzigen Adressbus gesehen werden, wobei die Adresse der Register nur inkrementiert oder dekrementiert werden kann, falls sie nicht die gleiche bleiben soll. So betrachtet lässt sich die Turingmaschine jedenfalls einfach neben die unter 2.2.3. in der Inverterlogik deduzierte 'Iterationsmaschine' stellen und vergleichen.
    Sofort als irrelevant zu verwerfen ist die von Turing 'circle free' genannte Maschine, die mit einem unendlichen Band umgeht. Dieses unendliche Band besteht notwendig aus unendlicher Masse, die in einem endlichen Universum, in dem zu entscheiden ist, nicht verfügbar ist. Dabei ist garnicht mehr zu erwägen, ob in der blackbox womöglich ebenfalls unendliche Mengen Masse verbaut werden müssen. Weil auch das Band nicht schneller als mit Lichtgeschwindigkeit bewegt werden kann, würde eine Ewigkeit als Rechenzeit gebraucht, die ebenfalls nicht zu haben ist. Dieser Unsinn wird auch nicht erwägenswert, indem man diese unendliche Maschine als Modell eines mathematisch denkenden Menschen versteht (das von Hilbert nicht gefragt war!). So ein Mathematiker hat schon garnicht unendlichen Speicherplatz im Kopf und unendlich schnell leitende Nerven. Im Vergleich mit der Iterationsmaschine ist ausserdem festzustellen, dass in einer unendlichen Maschine die Breite der Adressen und damit die Breite von Adressgebern unkalkulierbar wird. Es kann deshalb auch garkeine Programme für solche Maschinen geben.
    Die Idee der Unendlichkeit ist jedenfalls immer dann als irrelevant zu verwerfen, wenn es um Mathematik mit Bezug zur realen Welt geht. Immer wären dann unendliche Dinge zu denken, die aus unendlicher Masse bestehen und unendlichen Zeitbedarf haben. Ich habe gezeigt, dass damit eine infinitesimale Betrachtung nicht ad absurdum ist. Sie kann allerdings nur ad finitum betrieben werden und muss immer eine Berücksichtigung der Grenzen enthalten.
    Zu betrachten ist deshalb nur die endliche, von Turing 'circular a-machine' genannte Idee. Sie ist durch ein endliches Band gekennzeichnet, also beinahe die gleiche Maschine.
    Nun ist in der Mathematik durchaus üblich und auch nicht a priori falsch, irgendeinen Ausdruck mit seinem Effekt zu kennzeichnen und diesen im weiteren als gegeben und insofern richtig zu verwenden. Wenn aber auf diese Weise eine Maschine "konstruiert" wird, ist sie nicht etwa brauchbar, nur weil man sie vielleicht anfassen kann.
    Turing ging von der Idee aus, dass eine 'Injektion' schon eine Maschine sei. Es ist allerdings völlig falsch, zu glauben, dass damit eine konkrete Aussage über Verhalten einer Maschine möglich ist. Mathematisch ausgedrückt:
    Wenn ein Element x aus der Menge der Argumente (in diesem Fall auch des Programms!) mit einem Element y aus der Menge der Resultate funktionell verknüpft wird, also y=f(x) ist, dann kann nichts über die Maschine gesagt werden, die diese Funktion ausführt, weil prinzipiell mehrere Funktionen f aequivalent resultieren.
    Die Inverterlogik beweist, dass jede Injektion für konkrete Werte x,y als serielle Schaltung von Adresse und Zeichen (unter 1.2.1. und 1.2.2.) dargestellt werden kann. Das ist das Adressieren von Werten unter Adressen mit Werten von Adressen und damit materiell eine Menge von Drähten (und maximal einem weiteren Inverter je Leitung). Kann man nur x und y betrachten, bleibt einem prinzipiell verborgen, ob f ein Inkrementierer, Addierer oder sonstwas ist. Insbesondere kann nicht gesehen werden, ob und in welcher Weise entschieden wird, um von x zu y zu kommen! Auch ohne Maschine kann entweder nur ein Graph benutzt werden oder die ihn erzeugende Funktion. Beide Methoden sind ununterscheidbar, wenn nur Argumente und Resultate zu sehen sind.
    Damit ist bewiesen, dass Turings Maschine beinahe leer ist und dass diese Leere jedenfalls nicht von einer im Sinne einer mathematischen Funktion agierenden Maschine unterschieden werden kann. Ganz kurz und brutal ausgedrückt: Die Turingmaschine ist völliger Unsinn, weil Sinn in ihr nicht zu finden ist.
    Weil die blackbox als wesentliches Teil einer Turingmaschine offenbar nicht konstruktiv, sondern spekulativ gegeben ist, kann man also prinzipiell keine Aussagen darüber machen, was sie kann oder nicht kann, sondern nur angeben, was sie können soll oder nicht. Sie wird vollständig bedingt durch Formeln, die das Übertragungsverhalten beschreiben sollen und die zu diesem Zweck ohne weitere Begründung die Qualität einer Mechanik erhalten. Das erlaubt aber keineswegs Aussagen über das Verhalten einer automatischen Maschine, sondern nur Aussagen über die Resultatmenge einer Formel (und den Verstand eines Mathematikers, der damit umgeht.).
    Insbesondere das, was "mechanisch" über Wahrheit und Falschheit entscheiden soll, ist dann auch eine Formel, die auch ohne Magnetband bewahrheiten können muss, die also jedenfalls für Menschen lesbar und in ihrem Wesen zu durchschauen sein muss. Gerade das ist aber, was Hilbert vermisste.
    Tatsächlich hat weder Turing noch sonst jemand je die Turingmaschine gebaut, sondern andere Maschinen, die ganz anders funktionieren und nur bedingt Wahrheit von Falschheit unterscheiden können. Diese ganz anders funktionierenden Maschinen hat jeder vor sich, der diesen Text liest. Ihre Bauweise ist durch die 'Von Neumann-Struktur" gegeben, die allerdings nicht mathematisch hergeleitet wurde, sondern ein Rezept ist, das vorher von vielen Ingenieuren vorbereitet und hinterher verfeinert wurde. Pionierarbeit leistete allein Konrad Zuse, der auch diese 'Struktur' bereits verwendete. Von Neumanns Struktur wurde später formuliert und eher nebenbei, weil er viel zu sehr mit der Berechnung der Kompressionsvorgänge bei der Explosion von H-Bomben beschäftigt war, um mehr zu geben als einige gute Ideen, die Ingenieure dann zur funktionierenden Maschine (namens "MANIAC"="Mathematical Analyzer, Numerical Integrator and Computer") entwickelten. Von Neumann konnte damit zwar nicht das Wahre vom Falschen scheiden, aber den Bau der H-Bombe möglich machen und so ein neues Problem von Sein oder Nichtsein in die Welt setzen, was ihm offenbar wichtiger war.
    Die unter 2.2.3. in der Inverterlogik behandelte Iterationsmaschine ist dagegen tatsächlich eine Herleitung von programmierbaren, automatischen Maschinen in allen Einzelheiten. Zu ihrer Begründung genügt allein das Inverter-Axiom (das bereits die Abstraktion eines mechanischen Mittels ist), und sie enthält als (einfachste) Variante nicht nur die von Neumann-Struktur, sondern auch alle anderen bekannten Computer-Strukturen und unbekannte weitere.
    Die Herleitung der Iterationsmaschine zeigt, dass die Absicht genügt, Werte von Adressen beliebig zu Adressen von Werten werden zu lassen und für diesen Zweck die Werte zu manipulieren. Dass daraus ein Computer wird, der auch andere Werte als die von Adressen kalkulieren kann, ergibt sich nur als Nebeneffekt. Dieser Effekt muss garnicht gewünscht sein, um eine automatische Maschine zu konstruieren. Die Herleitung zeigt auch, dass mindestens diejenige 'Struktur' gegeben sein muss, die zuerst Konrad Zuse und dann von Neumann fanden. Sie ist durch die minimale Anzahl von Adressbereichen gekennzeichnet.
    Der wichtigste Unterschied zwischen der Iterations- und der Turingmaschine ist damit sofort klar. Es ist (neben der genauen Vorstellung von Operatoren) die Adressierung, die in einer Turingmaschine nur als Inkrement oder Dekrement vorkommt oder in der blackbox als 'innerer Zustand' nicht diskutierbar verborgen bleiben soll, während sie in der Iterationsmaschine in zwei gut unterscheidbare, aber sich bedingende Teile zerfällt, einen maschinellen und einen variablen, der Programmierung. Erst so wird diskutierbar, was ein Programm ist und was innere Zustände sind, und wie damit bedingt das Verhalten einer solchen Maschine zustande kommt. Und es kann keinen Zweifel geben, dass die Maschine nur das tut, was ein Programmierer formuliert hat - nichts sonst.
    Die Inverterlogik beweist auch, dass Adressierung (also Iterationsmaschine inclusive Programm) vollkommen aequivalent in Leitungen zwischen logischen Apparaten umgewandelt werden kann und dass nur das Programm zu ändern ist, um sehr verschieden verknüpften, logischen Apparaten aequivalent resultieren zu können. Es gibt also immer mindestens drei mögliche injektive Funktionen! Diese können durch mathematische Formeln bekannter Machart aber nur teilweise repräsentiert werden, während andererseits alle mathematischen Formeln und insbesondere die bekannten Operatoren vollständig durch logische Apparate ersetzt werden können. Erst durch die Inverterlogik kann also überhaupt begründet werden, warum und wie Formeln automatische Maschinen repräsentieren können.
    Zwar sind in mathematischen Formeln Klammern ein bekanntes Mittel, die Dimension der Zeit auszudrücken, sie erlauben aber keineswegs die Errechnung von Zeitbedarf bei einer Rechnung. Sie erlauben nur eine Darstellung der Abfolge von Rechenschritten. Die vollständige Darstellung aller nötigen Schritte in einer automatischen Maschine ist so nicht möglich. In der bekannten Mathematik fehlen nämlich ausgerechnet die Besonderheiten, die eine Iterationsmaschine arbeiten lassen (Turing nannte das 'motion'). Es gibt weder einen Ausdruck für Adressen, noch für die Anordnung von Adressen in der einen Dimension, die mit einem Adressbus an einem Speicher gegeben ist. Und es gibt vor allem nicht den fundamentalen Unterschied zwischen Adressen und Zahlen. Adressen werden üblicherweise als Zählwerte oder Index (z.B. 1,2...n) verstanden, aber die Werte von Adressen sind keineswegs Zahlen, während diese allerdings auch als Adressen Bedeutung bekommen können (unter 1.2.2. werden sie als eine besondere Ordnung von Werten von Adressen hergeleitet...). Der Grund des Mangels lässt sich sofort erkennen, wenn man den bekannten Negationsoperator mit dem in gewisser Hinsicht aequivalenten Inverter vergleicht. Im Gegensatz zum Inverter können nicht etwa Ausgänge von Negationsoperatoren zur Adresse verknüpft werden, und die enthalten auch nicht die Dimension der Zeit, um damit z.B. ein Monoflop oder Register zu qualifizieren. Auch die Besonderheit eines Schalters (unter 2.1.2.) als Teil eines logischen Apparates, der das Aequivalent eines Sprunges in Programm ist, ist mit herkömmlicher Logik nicht so herleitbar, dass alle Regeln erkennbar wären, die mit der Inverterlogik zu fassen sind.
    Der wichtigste Mangel des Modells Turingmaschine ist aber, dass es den Trugschluss erlaubt, Programm sei eine Sprache. Das Modell der Iterationsmaschine beweist das als falsch. Programm ist keineswegs eine Sprache, die nach beliebigen syntaktischen und semantischen Regeln erzeugbar wäre, sondern Adressierung (mit der Dimension der Zeit), die immer durch die konkrete Iterationsmaschine als 'Zielmaschine' bedingt ist. Diese ist kein Hund, der nach Tritt oder Zuckerstück schon kapiert hat, was Programm sein soll.
    Nur weil jede bekannte Zielmaschine eine Iterationsmaschine ist, können solche "Sprachen" überhaupt übersetzt werden in ein taugliches, maschinen-abhängiges Binary (sofern sie nicht einen unendlichen Speicher implizieren, sondern ihn ausschliessen). Deshalb ist auch bis heute nicht gelungen, eine "höhere" Programmiersprache zu schaffen, die tatsächlich vollständig und optimal jede Programmierung erlaubt. Entweder dienen solche "Sprachen" nur einer begrenzten Zahl möglicher Zwecke von Programmen, oder sie enthalten 'inline assembler' (oder 'Assembler Module'). Vor allem aber zeichnen sich solche "Sprachen" dadurch aus, dass gewaltiger Aufwand zu ihrer Kompilation nötig ist und dass das Resultat der Kompilation immer wesentlich mehr Binärcode enthält als nötig ist. Mit meinem ASMOS habe ich jedenfalls bewiesen, dass der Unterschied immer mindestens mit dem Faktor 10, aber je nach Aufgabe auch sehr viel grösseren Faktoren, zu quantifizieren ist, wenn man gleiche Zwecke mit Assembler statt einer "höheren" Programmiersprache programmiert. Ich werde hier aber nicht wiederholen, was ich sehr detailliert in der Dokumentation zu ASMOS diskutiert habe...
    Wichtiger in diesem Zusammenhang ist, dass ausgehend von Assembler-Kommandos, wie ich sie unter 2.2.3.2. herleite, auf Bits und Nanosekunden genau Umfang und Laufzeit von Programmen berechnet werden kann, bezogen auf konkrete Zielmaschinen, die eventuell die unter 2.2.1. betrachteten Optimierungen enthalten (z.B. Adressrechner). Ist also ein optimaler Ablauf gefunden, kann der immer auf jede konkrete Zielmaschine nicht nur übertragen, sondern auch mit den dort eingebauten Optimierungen gekürzt werden. Ein solch allgemeiner Assembler erlaubt also maschinen-unabhängige Programmierung, allerdings mit grossem Schreibaufwand für den Quelltext. Die üblichen Programmiersprachen erlauben dagegen einige Abkürzungen in der Schreibweise, nicht aber maschinen-unabhängige Programmierung, wenn alle Zwecke und auch die Optimierungen der Zielmaschine berücksichtigt werden sollen. Dann ist nötig, was als 'arch-dependant'='Architektur-bedingt' verrufen ist: Assembler. Damit ist aber, wie die Praxis beweist, keineswegs möglich, alle Möglichkeiten der Optimierung zu nutzen.
    Mit der Herleitung von 'Programm' in der Inverterlogik ist ausserdem bewiesen, dass eine Kalkulation von Speicherplatzbedarf und Rechenzeit prinzipiell nicht mittels Formeln (= Rechnermodellen für Turingmaschinen) möglich ist. Die Länge von Programmcode (=Binary) ist nämlich vollständig bedingt durch die Zielmaschine. Das hat insbesondere die Konsequenz, dass Adressen in Sprüngen erst kalkulierbar sind, wenn der Opcode bis zum Sprungziel bereits definiert ist. Deshalb (und nur deshalb!) müssen benamte symbolische Adressen beim Programmieren verwendet werden. Die richtigen Adressen müssen in einer Rekursion in das Binary eingesetzt werden. Andere Symbole sind nur sinnvoll, weil der programmierende Mensch anders nicht den Überblick behalten kann. Spezielle Programme zur Assemblierung können dann zur Übersetzung verwendet werden. In jedem Detail kann man sowas in den Quelltexten zu meinen Programmen ASMn und ASMat studieren. Zur konkreten Zielmaschine gehört deshalb auch immer ein konkretes Übersetzungsprogramm, dessen Herstellung nur dann einigermassen trivial ist, wenn es auf einer Maschine geschrieben werden kann, die nicht die Zielmaschine ist, oder wenn ein bereits assembliertes Betriebssystem auf der Zielmaschine existiert. Dies ist ebenfalls nichts, was man aus dem Modell Turingmaschine ableiten kann, bei dem eine Formel unverändert als Programm eingegeben werden kann und seinen Sinn als Programm auch behalten kann, wenn es als Datensatz gelesen wird. Eine der Konsequenzen dieses Fehlers ist das 'Halte-Problem', das ich separat betrachten werde...
    Die Iterationsmaschine zeigt dagegen denkbar klar, dass ein Programm erst dann wirklich eines ist (also Turing's 'motion' bewirken kann), wenn es auf bestimmte Weise in den Speicher geschrieben und dort auf bestimmte Weise gelesen wird - anders jedenfalls als Daten. Es zeigt sich, dass ein fundamentaler Unterschied zwischen Programm einerseits und Daten andererseits besteht, begründet durch die Maschine, die eine entsprechende Bedeutungsgebung enthalten muss. Dabei ist immer ein Adressgeber, der meist 'Programmzähler' genannt wird, und eine besondere Adressdecodierung nötig, die aus binären Werten im Opcode Adressen macht. Das ist bestens bekannt als Teil realer Maschinen (=CPU), aus der Turingmaschine aber nicht ableitbar.
    Weil die Turingmaschine offenbar ein falsches Modell einer automatischen Maschine ist, lässt sich sehr einfach schliessen, dass auch alle Schlüsse, die mittels dieses Modells gezogen wurden, nicht begründet sind. Auf die Vielzahl von Rechnermodellen muss ich deshalb garnicht eingehen. Sie sind falsch, solange sie sich nicht mit Hinblick auf die Iterationsmaschine als richtig erweisen. Ich muss auch nicht auf die Vielzahl von Experimenten eingehen, die nach der Vorstellung ihrer Konstrukteure oder Programmierer Turingmaschinen sind - verlötet oder emuliert. Was sie gemacht haben, sind in keinem Falle Turingmaschinen, sondern verlötete Transistoren, die Invertern entsprechen oder Programme für verlötete Transistoren, die Iterationsmaschinen entsprechen. Sie alle mussten klüger sein als Turing und das ergänzen, was in seiner Idee fehlt.
    Die Iterationsmaschine und die Begründung durch die Inverterlogik zeigen klar, was im Hinblick auf das Entscheidungsproblem tatsächlich gesagt werden kann. Dabei ist auch zu sehen, dass bereits das Inverter-Axiom ein "mechanisches Mittel" im Sinne Hilberts ist. Aussagen in der Inverterlogik sind also in diesem Sinne evident und erlauben Wahrheit zu finden, die unabhängig vom menschlichen Betrachter existiert.
    Zunächst ist das, was Programm in einer automatischen Maschine ist, als Adressierung zu sehen, die tatsächlich nur heuristisch, also durch einen Programmierer zustande kommen kann. Ebenso bedingt ist die konkrete Form einer Iterationsmaschine, die nur als Prototyp definierbar ist - ebenso wie die meisten anderen logische Apparate. Innerhalb solcher Maschinen gibt es keinen Dämon, der anders über die Richtigkeit eines Programmes entscheiden kann als nach den Regeln eines Programmierers oder einem Fehlverhalten in den Augen eines Programmierers. Nur der entscheidet tatsächlich über Wahres und Falsches, während die Maschine nur resultiert (ich nenne das 'Bewirkung').
    Bereits bei der Betrachtung 'logischer Apparate' zeigt sich, dass Wahres von Falschem nicht a priori zu unterscheiden ist, sondern nur a posteriori. Es kann also auch keine Formel geben, die über Wahrheit entscheiden kann, wenn nicht klar ist, was Argumente sind, wie sie verknüpft werden und welche Bedeutung die Resultate haben sollen. Ich habe in der Inverterlogik einen Begriff der 'Bedeutung' entwickelt, um genau diesen Gegenstand fassen zu können, will hier aber nicht alle durchaus aparten Details wiederholen. Ausgangspunkt sind die Resultate an einer 'Kante', die nur dann, wenn sie UNDiert und damit ein Wert H sind, dem Boole'schen WAHR entsprechend verwendet werden können. Ein ebenso wichtiger Teil der Wahrheit ist aber in der Verknüpfung von Invertern zu finden, die vor einer Kante resultieren. Sie sind nur dann diskutierbar, wenn man sie selbst konstruiert. Innerhalb einer Beziehung kann kein Dämon hinter (=auf die Eingänge) eine Kante sehen. Man muss also den Wert L immer als 'Bedeutungslosigkeit' (unter 1.2.1.) verwerfen, weil der den Rest der Welt bedeuten kann.
    Die von Hilbert ersehnten Entscheidungen betrafen ausdrücklich "mathematische" Wahrheit, die tatsächlich dann mit Inverterlogik von Falschheit zu unterscheiden ist, wenn ein Betrachter auch Beziehungen bauen kann (Inverter verknüpfen und mit Werten besetzen kann). So kann man zwischen Resultaten und NICHT-Resultaten (='komplementäre' Zahlen) unterscheiden, Terme durch Kürzungen als aequivalent beweisen und Ideen wie die von Mengen, die sich selbst als Element enthalten, als irrelevant zeigen. Man kann auch Ideen, die ein Mensch durchaus phantasieren kann wie z.B. die Nullmenge als 'unlogisch' verwerfen. Und man kann natürlich wahre Aussagen über alle möglichen Iterationsmaschinen machen.
    All diese Beweise sind aber nur wahr in den Augen eines Betrachters! Innerhalb der Inverterlogik sind sie Bewirkung, die niemals Sinn haben kann, sondern nur Bedeutung durch Bedeutungsgebung (und nur a posteriori!) erhalten kann. Dabei müssen die (sinnlosen) Werte H,L benutzt werden und nicht bedeutungsvolle Werte WAHR und FALSCH. Die sind nach jeder ODERierenden Kante ad absurdum. Nichts kann wahr werden, indem der Wert FALSCH negiert wird!
    Ohne Zweifel ist also ein mathematisch denkender von einem mathematisch phantasierenden Menschen zu unterscheiden - und dieser von einem auch physikalisch usw. denkenden. Nur der letztgenannte kann offenbar sehen, dass eine unendliche Turingmaschine in diesem Universum nicht vorkommen kann. Und nur der erstgenannte kann sehen, dass die endliche Turingmaschine Unsinn ist.
    Erst mit Inverterlogik, die axiomatisch alle "mechanischen" Mittel herzuleiten gestattet, kann man also Hilberts Frage überhaupt beantworten. Sie kann mit "Ja" beantwortet werden, wenn es um jene mathematischen Wahrheiten geht, die zwischen Argumenten und Resultaten bei gegebener Bedeutung vorkommen, also allem zwischen "wenn" und "dann". Dann ist 2+2=4 und nichts anderes.
    Sind irgendwelche Bedeutungen nicht klar oder nicht mit verknüpften Invertern darstellbar, dann kann auch nichts mit mathematischer Gewissheit entschieden werden. Dies betrifft auf jeden Fall Vergleiche zwischen Mensch und Maschine, wie sie die Church-Turing-These vorstellt. Noch weitaus weniger als die Iterationsmaschine taugt die Turingmaschine als Ausgangspunkt für die Bewahrheitung dieser These, die besagt, dass kein Mensch besser entscheiden kann als eine Turingmaschine. Die Iterationsmaschine zeigt allerdings, dass ihre inneren Zustände ebenso wie die äusseren allein durch Konstrukteur und Programmierer zustande kommen und Bewahrheitung also nicht anders als durch einen Beobachter getan sein kann. Eine automatische Maschine dieser Art kann also immer weniger als ein Programmierer, weil sie nicht entscheiden kann, ob ein Programm taugt und dieses auch nicht verbessern kann.
    Ich habe aus diesem Grunde Menschen und alles andere, was offenbar (noch) nicht mit Invertern dargestellt werden kann, der Inverterlogik als 'unlogisch' gegenüber gestellt. Aussagen lassen sich schon aus diesem Grunde nicht über das Verhältnis von mathematischem Denken von Menschen gegenüber Maschinen machen. So macht die Iterationsmaschine nicht nur dem phantasierenden Mathematiker klar, dass noch einige wichtige Ideen fehlen. Sie macht darüber hinaus auch klar, dass Gesetze, die mit den Naturwissenschaften gefunden wurden, allein(!) über den Wahrheitsgehalt von Schlüssen entscheiden, die nicht nur Bewirkungen in Beziehungen betreffen, sondern irgendwelche realen Dinge. Deshalb kann keine Aussage über den mathematisch denkenden Menschen gemacht werden, solange niemand weiss, wie sein Hirn tatsächlich funktioniert. Das kann schon garnicht mit einem "inneren Zustand" in Turingmaschinen verglichen werden, den nichtmal Turing oder Church kannten.
    Zusammengefasst:
    Das Entscheidungsproblem Hilberts wird durch logische Apparate wie auch die Iterationsmaschine bedingt gelöst. Mathematische Wahrheit kann zwar unabhängig vom Betrachter existieren. Eine Entscheidung über Wahrheit kann aber nicht ohne Betrachter (=Konstrukteur,Programmierer) zustande kommen.
    Die Turingmaschine ist ein falsches Modell automatischer Maschinen. Wie Formeln zu mechanischen Mitteln werden, ist nicht erklärt. Deshalb kann auch keine Aussage begründet werden, dass die Turingmaschine etwas anderes tut, als Adressen mit Zeichen zu verknüpfen. Jeder Beweis, der von diesem Modell ausgeht, ist so wirklich wie eine Geisterbeschwörung. Jeder Beweis, der von der unendlichen Turingmaschine ausgeht, ist vollständig Unsinn.
    Insbesondere ist die Church-Turing-These vollständig Unsinn.
    [Erstveröffentlichung am 14.4.2010 / vervollständigt am 26.4.2010]

    TURING'S HALTEPROBLEM UND DIE BERECHENBARKEIT:
    Auch wenn sowohl unendliche wie endliche Turingmaschine Unsinn sind, weil sie tatsächlich nicht programmierbar sind, bleiben die von Turing vorgestellten Probleme zu diskutieren. Turings einst sensationelle Veröffentlichung von 1936 trug den Titel: "On computable numbers, with an application to the Entscheidungsproblem" und stellte als Übertragungsverhalten einer automatischen Maschine die Erzeugung der reellen Zahlen vor. Turing definierte Resultate der Operation als 'computable numbers' im Gegensatz zu 'not computable numbers', die er als Zahlen vorstellte, die man zwar definieren und hinschreiben, nicht aber errechnen könne. Turing benutzte dann Cantors Diagonalschluss, um analog zu über-abzählbaren nicht berechenbare Zahlen vorzustellen und damit eine prinzipielle Grenze der Berechenbarkeit (='computability').
    Ich stellte oben schon fest, dass es die Überabzählbarkeit nicht gibt, und dass Cantor auch nicht die bewiesen hat, sondern nur die Möglichkeit von NICHT-Resultaten (='komplementäre Zahlen'). Ich habe ausserdem festgestellt, dass komplementäre Zahlen nur bei Operationen erscheinen können, die nicht den Operanden 1 verarbeiten und insbesondere nicht inkrementieren. Mit dem unter 1.2.2. vorgestellten Feld habe ich gezeigt, wie nach einfachen Regeln Invertierungen konstruiert werden können, die in einer beliebigen Zahl von Stellen jede Möglichkeit von Werten in mehreren Stellen zu erzeugen gestatten. Jeder dieser Werte kann dann unterscheidbare Zahlen repräsentieren. Damit ist für jedes (prinzipiell endliche!) Feld sofort einsehbar ausgeschlossen, dass es irgendwelche nicht berechenbaren Werte gibt. Alle sind nicht nur mit Invertierungen zu resultieren, sondern auch mit einem Inkrementierer, der dem Feld aequivalent resultiert. Turings 'not computable numbers' gibt es deshalb genau so wenig wie Cantors Überabzählbarkeit!
    Aus der jedenfalls in Maschinen notwendigen Endlichkeit sind auch notwendig weitere Konsequenzen zu ziehen. Sie betreffen die Endlichkeit von verfügbaren Stellen für Argumente und Resultate und damit auch die Endlichkeit von verfügbaren Adressen, unter denen in Iterationsmaschinen Werte stehen, die Programm oder Daten sein können. Unter 2.2.3.2. habe ich hergeleitet, dass deshalb Sprünge im Programm sowohl sein müssen, wie auch sein können (dabei wird als Adresse des nächsten Kommandos nicht die vom Programmzähler gegebene, sondern eine im Kommando gegebene benutzt). Damit kann und muss immer die Abzählbarkeit von Rekursionen garantiert werden. Und es muss auf diese Weise ein Programm beendet werden, weil andernfalls womöglich Daten (oder nicht gewünschtes Programm) als auszuführendes Programm adressiert werden. Eine Iterationsmaschine (also jede programmierbare Maschine) hält nämlich prinzipiell nicht an. Halten ist nur eine besondere Form von Nicht-Halten, die durch Sprünge von einem in ein anderes Programm erzeugt werden, das auch eine Schleife, die nicht endet, sein kann. In üblichen Computern ist das z.B. eine Tastaturabfrage. Auch ein Reset ist eigentlich ein Sprung - auf die 1.Adresse. In einer programmierbaren Maschine gibt es folglich keinen Halte-Zustand, der von einem Nicht-Haltezustand zu unterscheiden wäre.
    Bei Rekursionen würden ohne 'Schleifenzähler' und damit bedingten Abbruch bereits berechnete Resultate überschrieben und damit zerstört. Schleifenzähler in Programmen definieren also, was in logischen Apparaten durch endliche Serien von Operatoren gegeben ist. Was mit logischen Apparaten als prinzipiell berechenbar gefunden werden kann, wäre in einer Iterationsmaschine nicht mehr berechenbar bzw. falsch, wenn nicht Sprünge möglich wären und Bedingungen dafür ('Sprungkriterien'='flags'). Auch wenn Operatoren Teil von Zustandsmaschinen sind, die Rekursionen über Rückleitungen von Resultaten zu Argumenteingängen vollziehen, sind Schleifenzähler nötig wegen der endlichen Zahl von Stellen für Resultate. Das sind gut bekannte konstruktive Details von arithmetischen Einheiten in CPUs.
    Es ist kein anderer Fall, wenn die Resultate nicht parallel in Stellen erscheinen, sondern seriell ausgegeben werden, z.B. als Schreiben in 'Zellen' auf dem Band einer Turingmaschine. Auch wenn dort scheinbar nur willkürlich ein Ende des Schreibens und damit ein 'Halten' zu definieren ist, sind es genau die Dinge in der blackbox, die Turing nicht erklärt hat, und die prinzipiell das Halten mittels Sprüngen nötig machen. Willkürlich ist vielmehr das Nicht-Halten zu bedingen, indem nicht gezählte Rekursionen veranstaltet werden, die immer vermieden werden können. Aber natürlich kann man unbedingte Sprünge von bedingten unterscheiden, und diese nach Bedingungen.
    Weil bei der Diskussion von Turings Halte-Problem das Halten am Ende einer Rechnung die wesentliche Rolle spielt, will ich noch ein Beispiel geben für Programm in diesem Zusammenhang. Jedem bekannt sind ja unendliche, periodische oder nicht periodische Brüche, die scheinbar gebieten, eine Rekursion nicht zu beenden. Man stelle sich die Division 1/3 vor, die bei jedem Teilschritt der Rechnung hinter dem Komma zu einem (immer gleichen) Rest führt. Dieser Rest ist das Kriterium für eine Fortsetzung der Rechnung, die folglich nicht 'terminieren' kann, wenn nicht ein weiterer Zwang gesetzt wird - z.B. durch ein Ende der Wälder, aus denen man Papier für die Rechnung erzeugen kann. Man kann sich ausserdem jede Menge weiterer rekursiver Funktionen ausdenken, die ebenfalls nicht ohne ein weiteres Kriterium terminieren müssen. Ich stelle eine solche Rekursion in einer 'Schleife' mit zwei alternativen Terminierungen vor. Dabei wird das Programm, das die Rechnung in der Schleife zwischen "Sprungziel_Rechnung:" und "Sprungziel_Weiter:" vollzieht, mit einem Programmzähler von oben nach unten durchschritten, während Sprung-Kommandos beliebig verzweigen können:
    Programmstart: Definiere Operanden und Zählwert
    Sprungziel_Rechnung:
    Rechnung.....................
    Dekrementierung eines Zählwertes (Schleifenzähler)
    1) Springe auf Sprungziel_Weiter, falls Zählwert=0
    2) Springe auf Sprungziel_Rechnung, falls nicht terminiert (z.B.Rest)
    Sprungziel_Weiter:
    Weiteres Programm............
    Die Rechnung wird offenbar immer terminiert, wenn der Zählwert=0 ist, der bei jedem Schleifendurchgang dekrementiert wird. Sie wird auch terminiert, wenn keine Notwendigkeit für eine weitere Rekursion besteht, weil dann der Sprung 2) nicht erfolgt und deshalb das Programm ab "Sprungziel_Weiter" ausgeführt wird. Der Programmzähler, der die Iteration des Programmes regiert, verwendet dann die inkrementierte Adresse von 2), die weiteres Programm ab "Sprungziel_Weiter" adressiert, statt der im Kommando 2) stehenden Adresse von "Sprungziel_Rechnung".
    Es gibt offenbar keine Schleife, in der kein Schleifenzähler vorkommen kann. Der Zählwert kann beliebig gross sein, nicht aber unendlich.
    Wegen dieser nötigen Konsequenzen der Endlichkeit zeigt die Inverterlogik ausserdem, wie mit einem "mechanischen Verfahren" im Sinne Hilberts Resultate von NICHT-Resultaten zu unterscheiden sind. Man kann nämlich mit Inkrementieren eine erste Tabelle von allen Zahlen in gegebenen Stellen erzeugen und dann eine zweite Tabelle von Resultaten in der gleichen Anzahl von Stellen mit Inkrementieren aller Argumente für eine zu untersuchende Operation. Dann werden aus der ersten Tabelle alle Zahlen entfernt, die als Resultate auch in der zweiten Tabelle stehen. So erhält man zwei vollständige Tabellen, deren eine alle Resultate, deren andere alle NICHT-Resultate enthält. Man kann so jedenfalls vollständig alle transzendenten Zahlen in einer gegebenen Zahl von Stellen finden, wenn man alle möglichen algebraischen Gleichungen zu Operatoren macht. Sowohl Resultate wie komplementäre Zahlen sind auch bei beliebig anderen Operationen immer 'computable' im Rahmen gegebener Endlichkeit.
    Nachdem Turing glaubte, nicht berechenbare Zahlen gefunden zu haben, glaubte er auch, zeigen zu können, dass es keine allgemeine Methode gibt, festzustellen, ob eine gegebene Formel beweisbar ist. Er führte den Beweis, indem er das Gegenteil annahm und dies ad absurdum führte. Die Beweisbarkeit machte er zur Berechenbarkeit, indem er Formeln auf zunächst nicht interessante Weise zu Zahlen machte. Er stellte dann Funktionen vor, die zu unbeweisbar wahren (=berechenbaren) oder widersprüchlichen (=nicht berechenbaren) Resultaten führen müssen, erkennbar durch ein 'Halte-Problem', das unlösbar sei. Er stellt also die Prüfung der Beweisbarkeit als eine Art Division vor, die wegen nicht endender Rekursionen unendliche Zeichenketten ausgeben kann.
    Eine bekannte Darstellung der Unvollständigkeit der Menge von in einer Maschine berechenbaren Funktionen geht von einer vollständigen Liste aller berechenbaren Funktionen aus, deren Unvollständigkeit mit einer Abwandlung der Diagonalisierung bewiesen wird. Sie sieht so aus:
    Es wird als möglich unterstellt, dass eine vollständige Liste aller Funktionen f1...fe herstellbar ist, die berechenbar sind, wobei Argumente und Resultate im Bereich der natürlichen Zahlen liegen. Die Berechenbarkeit wird damit charakterisiert, dass die Maschine irgendwann mit der Berechnung fertig ist und hält.
    Die Liste von berechenbaren Funktionen sieht zunächst so aus:
    1) f1(1),f1(2)...f1(n)
    2) f2(1),f2(2)...f2(n)
    .........
    n) fe(1),fe(2)...fe(n)
    Diagonal wird dann eine Funktion fd erzeugt, zu der eine 1 addiert wird:
    d) fd(1)=f1(1)+1,fd(2)=f2(2)+1...fd(n)=fe(n)+1
    Diese Funktion kommt sicherlich nicht in der Liste vor und soll beweisen, dass die Liste nicht vollständig sei und deshalb auch nicht die Menge der berechenbaren Funktionen.
    Turing selbst stellte seine Überlegung wie gesagt nicht in dieser (besser verständlichen) Form vor, setzte aber wie gezeigt voraus, dass es möglich sei, eine Liste aller berechenbaren Funktionen zu fertigen, die er zu Zahlen machte. Analog zur Herleitung nicht berechenbarer Zahlen fand er dann durch Diagonalisierung nicht berechenbare Funktionen. Als Kennzeichen dieser Funktionen stellte er Nicht-Halten vor, weil die Maschine die neue Funktion nicht berechnen könne.
    Nur wenn man sich eine dehnbare Unendlichkeit vorstellt, kann eine diagonal erzeugte Funktion überhaupt eine neue sein. Tatsächlich hat Turing aber aus der vollständigen Menge aller Funktionen die berechenbaren ausgegrenzt. Der hierzu benutzte Algorithmus wurde zwar nicht erklärt, ist aber offenbar einer, der Resultate und NICHT-Resultate erzeugt. Die diagonal erzeugte Funktion ist deshalb unbezweifelbar ein NICHT-Resultat und hier also eine nicht berechenbare Funktion. Die Liste der berechenbaren Funktionen bleibt immer vollständig, weil die gesamte Menge der Funktionen nicht wachsen kann.
    Nur wenn man endliche Mengen von Funktionen betrachtet, ist notwendig die Teilmenge der berechenbaren unvollständig im Bezug zu jenen, die aus unendlich vielen Funktionen selektiert sind. Da aber bei der Argumentation Turings eine mögliche Entscheidung über die Berechenbarkeit vorausgesetzt wird, gilt die für jede endliche Menge. Und in keiner dieser endlichen Mengen kann durch Diagonalisierung auch nur eine neue Funktion geschaffen werden.
    Auch das von Turing vorgestellte Kennzeichen der Nicht-Beweisbarkeit, die nicht haltende Maschine, taugt nicht zum Beweis. Die hält nämlich nach Turings Definition auch dann nicht an, wenn die diagonal erzeugte Funktion bereits in der Menge der nicht berechenbaren enthalten ist. Das NICHT-Halten ist deshalb nicht eindeutig bedingt durch eine diagonal erzeugte Funktion und kein Beweis einer Unvollständigkeit der Menge der berechenbaren Funktionen!
    Die nicht gegebene Konstruktion der Turingmaschine erscheint auf andere Weise als Mangel in der Formulierung des 'Halte-Problems'. Wie oben schon gesagt, sind Konsequenzen aus der Endlichkeit in Maschinen zu ziehen, die Turing ignorierte. Ich habe gezeigt, dass grundsätzlich jede Rechnung (jede Bewirkung) terminieren kann und nur dann nicht muss, wenn man nicht rechnen, sondern irgendwie oszillieren will.
    Nun kann man selbstverständlich einen richtigen Ablauf in einer Schleife abfälschen. Die in meinen Augen lächerlichste Verfälschung ist die, ein "Programm" zu erfinden, das einen "Halte-Test" vollzieht (tatsächlich ist es das Kommando 2) im obigen Beispiel) und es im Widerspruch zu sehen mit einem anderen "Programm", das den Halte-Test verdirbt. Dieses zweite "Programm" soll von der Turingmaschine eingelesen werden und damit zum Teil des anderen Programmes werden, wo es ihm widerspricht. Widersprechen kann offenbar nur ein unbedingter Rücksprung mit Sprungziel wie 2), der vor 1) steht. Abgesehen davon, dass das 'linking' der widersprüchlichen Programme niemals auf die vorgestellte, banale Weise vollzogen werden kann, ist jedenfalls nichts weiter als ein drittes, falsches Programm entstanden.
    Das 'Halte-Problem' ist also ein Programmierfehler. Es kann immer gelöst werden und ist kein prinzipielles Problem! Und natürlich ist jede weitere Schlussfolgerung aus diesem angeblich unlösbaren Problem ebenfalls nur ein Fehler.
    Auch wenn der Beweis Turings nicht beweist, was er beweisen soll, bleibt die Frage, ob irgendetwas in einer automatischen Maschine unberechenbar ist. Ob mit ihr Wahrheit bewiesen werden kann, habe ich oben im Zusammenhang mit Hilberts Entscheidungsproblem schon verneint. Ich stelle also noch vor, was eine programmierbare, automatische Maschine kann und was nicht.
    Turing ging davon aus, dass die Funktionen nur als Programm auf dem Band gegeben sind und erörtert nicht, was mindestens in der blackbox enthalten sein muss, um das Programm überhaupt ausführen zu können. Die Iterationsmaschine (wie auch jede CPU) zeigt, dass eine allgemein 'ALU' (=Arithmetical and Logical Unit) genannte Einheit vorhanden sein muss, um Werte überhaupt operieren zu können. Diese Einheit enthält adressierbar Operatoren und logische Verknüpfungen zum Invertieren, UNDieren, Addieren usw. und das ist alles, was mit arithmetischen und logischen Kommandos regiert werden kann. Es gibt keine Möglichkeit ohne solche Mittel, nur durch Symbole in Programm, z.B. eine Addition zu kommandieren. Ein Programm ist nur Adressierung. Die Adressen müssen selbstverständlich existieren. Turing unterstellte dagegen, dass seine Maschine schon weiss, was zu tun ist, wenn eine Addition angewiesen wird, und erkannte nicht, dass sein Spiel mit Funktionen nur ausgehend von einem vorhandenen Repertoire in der ALU möglich ist. Ein diagonal erzeugtes Wachstum der Funktionen in der ALU ist offenbar nicht zu machen. Jedes Programm ist also deduktiv, kann allerdings auch Fehler enthalten. Insbesondere kann ein Programmierer einen Schleifenzähler vergessen haben.
    Die Inverterlogik zeigt allerdings, dass eine Maschine mit Programm immer in eine Serie von logischen Maschinen umgewandelt werden kann, wie sie in der ALU vorkommen. Sie zeigt auch, wie diese maschinellen Funktionen abwandelbar sind, welche Varianten also machbar sind. Dabei ist festzustellen, dass auf jeden Fall in endlichen Maschinen nur eine endliche Zahl von möglichen Funktionen vorkommen kann.
    Die Inverterlogik zeigt nicht nur, wie man solche Funktionen mit Verknüpfung von Invertern erzeugen kann, sie zeigt auch, wie so nicht nur alle Funktionen der Peano-Arithmetik erzeugbar sind, sondern auch sehr viele weitere, die nicht Teil der Peano-Arithmetik sind. Ich spreche deshalb auch nicht von Funktionen, sondern 'Bewirkung', die ein Operator sein kann, aber auch ein Register, und von 'Besetzung', die die Verteilung der Werte H,L meint und nicht nur Zahlen. Die gesamte Anzahl der möglichen Bewirkungen ist nur durch Einfügen weiterer Inverter zu steigern - und nicht mit irgendeiner Diagonalisierung!
    Die möglichen Funktionen (='Beziehungen') sind wegen der abzählbaren Menge verknüpfter Inverter stets auch abzählbar und damit auch sortierbar. Auch die Zahl möglicher Besetzungen ist abzählbar. Allerdings ist die Zahl irgendwie brauchbarer Beziehungen sehr klein, weil viele mögliche Verknüpfungen durch Kürzungen, Erweiterungen oder Umwandlungen nach bereits gefundenen Regeln (und evtl. noch zu findenden) aequivalent sind. An drei extremen Beispielen wird das sofort einsehbar:
    1) Alle Inverter liegen in Serie - dann kann eine enthaltene gerade Serie (=gerade Anzahl von Invertern) vollkommen entfallen. Es bleibt maximal ein Inverter als Beziehung übrig, der nur in einer Stelle H oder L bewirken kann.
    2) Alle Inverter liegen parallel - dann kann nichts gekürzt oder umgewandelt werden. Diese Beziehung kann in der maximalen Anzahl von Resultatstellen bewirken und nur ohne Übertragsbildung.
    3) Eine Rückleitung um eine ungerade Anzahl von Invertern lässt die Werte oszillieren. Das kann in Teilen einer Beziehung geschehen oder in der ganzen Beziehung.
    In Iterationsmaschinen ist es Programm, das die Verknüpfungen zwischen (brauchbaren) Beziehungen realisiert. Obwohl dann in der Praxis nicht alle möglichen logischen Apparate verfügbar sind, lässt sich bei solch einer programmierbaren Maschine allerdings die Zahl der Funktionen ohne Einfügen von Invertern steigern. Das sind dann Mengen von Adressen, deren Elemente ebenfalls nicht beliebig vermehrt werden können. Hier sind die verfügbare Zeit und Anzahl von Registern die Grenze des Möglichen. Auch diese Zahl von Möglichkeiten enthält nur eine sehr kleine Anzahl brauchbarer Programme. Man stelle sich z.B. ein Betriebssystem in 10 Millionen Stellen vor und alle Möglichkeiten, ein oder mehrere Bits zu invertieren. Leicht zu erkennen ist, dass das gigantische Mengen Schrott ergibt gegenüber einem einzigen Betriebssystem. Jeder Programmierer lernt diese Tatsache beim 'debugging' schmerzhaft kennen.
    Über all diese Möglichkeiten lässt sich sagen, dass immer eine Bewirkung vorkommt, jede Funktion also insoweit berechenbar ist, dass bei bestimmten Eingangswerten bestimmte Ausgangswerte resultiert werden. So gesehen ist auch jede Funktion wahr, weil sie als Beziehung evident ist. Ob einem das Verhältnis zwischen Eingang und Ausgang gefällt, ist offenbar eine ganz andere Sache. Sind Rückleitungen bzw. Rekursionen Teil der Bewirkung, dann sind die Extremfälle einer Schwingung oder Blockade möglich. Das könnte man dann nicht berechenbar oder nicht wahr oder nicht beweisbar oder nicht entscheidbar nennen, sollte es aber genauer betrachten, weil es durchaus brauchbar sein kann als Monoflop, Oszillator, Schalter oder Register...
    Es gibt also niemals unberechenbare Funktionen. Die gibt es auch nicht deshalb, weil eine endliche Menge von Invertern nach Belieben vermehrt werden kann und damit auch die Zahl der möglichen Funktionen. Will man aber die Zahl der Funktionen erhöhen, dann müssen niemals irgendwelche neuen Axiome gefunden werden, sondern nur weitere Inverter. Was daraus wird, ist evident und der Beurteilung eines Beobachters ausgesetzt. Er entscheidet, ob und wie was mit den Neuigkeiten anzufangen ist.
    Auch bei diesem Hinblick bleibt also die Frage überflüssig, ob es prinzipiell irgendeine Unvollständigkeit gibt, die so verheerend wirkt, dass man deshalb eine ganze Theorie rausschmeissen muss. Das nämlich ist der letzte Schluss Turings, der damit Gödel folgte. Dieser Schluss sagt, dass ein System niemals abgeschlossen sein kann, dass immer neue Axiome gefunden werden müssen, um immer neue Widersprüche zu besiegen.
    Weil Turing nicht sehen konnte, wie auch nur eine Entscheidung über die Berechenbarkeit wenigstens einer Funktion zustande kommen könnte, erfand er schliesslich ein Orakel, das in seinen Maschinen als unberechenbarer, deduktiver Schritt existieren sollte, um das Vorgehen zu erklären, wie Halten oder Nicht-Halten festgestellt werden könnte. Er charakterisierte es mit dem Satz (1939 in "systems of logic, defined by ordinals"): "Wir werden nicht weiter auf die Natur dieses Orakels eingehen und nur soviel darüber sagen, dass es keine Maschine sein kann." (Originalzitat in meiner englischen Übersetzung dieses Textes).
    Mit diesem Satz ist jedenfalls ad absurdum, dass Turing eine Maschine vorstellte. Richtig ist allerdings, dass dieses nicht-mechanische Teil nötig ist für einen grossen Teil erstrebter Beweise. Es ist der Mensch, der die Maschine konstruiert und programmiert und ihr Verhalten qualifiziert. Da Turing aber tatsächlich nur Aussagen über Zahlen betrachtete, werde ich in diesem Zusammenhang nicht auf weitere Bedeutungen seiner Zahlen eingehen und nur soviel darüber sagen, dass diese Bedeutungen prinzipiell a posteriori und beliebig zuzuordnen sind.
    Auch wenn es keine unberechenbaren Funktionen gibt, kann es dennoch Probleme geben, die durch Endlichkeit verursacht sind. Durch ein Axiom der Unendlichkeit sind sie aber keineswegs aus der Welt zu schaffen. Diese Probleme habe ich in der Inverterlogik und oben schon dargestellt. Sie sind auch keineswegs irrelevant, weil ein Fehler in den Stellen hinter dem Komma durchaus die Hälfte des ganzen Wertes (im Dualziffernsystem) ausmachen kann. Solche Fehler können aber durch mehr Stellen irrelevant klein gemacht werden, ebenso die schon genannten weiteren Fehler, die abhängig vom verwendeten Zahlensystem entstehen.
    Da es also tatsächlich Zahlen gibt, die (mangels Stellen) 'not computable' sein mögen, ist immer der Zweck einer Rechnung zu berücksichtigen, der das Kriterium dafür ist, ob solche Fehler irrelevant sind. In dieser Welt kann also nicht nur prinzipiell nicht beliebig genau gemessen werden (elektrische Werte z.B. nur im Prozentbereich, wenn man nicht v.Klitzings Gerätschaft hat). Es kann auch prinzipiell nicht unendlich genau gerechnet werden, wenn nicht inkrementiert oder invertiert wird. Damit ist das Prinzip 'tertium non datur' nicht aufgegeben, sondern nur relativiert auf Zwecke. Der unter 2.1.3.2.6. hergeleitete Begriff 'Relevanz' betrifft genau das.
    Zusammen gefasst:
    Es gibt keine 'not computable numbers'.
    Es gibt keine unberechenbaren Funktionen.
    Es gibt beweisbare Funktionen nur durch Vergleich mit anderen Funktionen, die aequivalent oder ähnlich sein können oder nicht.
    Es gibt nur grundsätzlich abzählbare Mengen möglicher Funktionen und möglicher Besetzungen, die nicht durch Diagonalisierung vermehrt werden können.
    Es gibt kein Halte-Problem.
    Es gibt allerdings nicht brauchbare Funktionen, deren Brauchbarkeit nur durch einen Beobachter entschieden werden kann. Ebenso kommt eine Entscheidung über Beweisbarkeit oder Widersprüche zustande.
    [Erstveröffentlichung am 12.5.2010 ]
    APPENDIX:
    Nachdem ich diesen Text veröffentlicht hatte, fand ich im Internet andere Arbeiten zum gleichen Thema, die früher veröffentlicht wurden. Dort erscheint noch nicht das Modell der Turingmaschine fraglich, sondern nur die Aussagen Turings über endliche Maschinen und Berechenbarkeit. Die Kritik von Programm und Halte-problem wird mit der bekannten "mathematischen" Formulierung ('while-Schleife' usw.) ausgeführt, bewegt sich also im Rahmen der Spekulationen, die das Modell der Turingmaschine gebietet. Allerdings wird ein Bezug zu realen Maschinen gegeben, indem der Begriff der 'Kompilation' benutzt wird.
    Es zeigt sich, dass schon die Feststellung der Endlichkeit realer Maschinen und der Bezug zu realen Programmen, die tatsächlich in ein Binary übersetzt werden können, genügen, Turing's Vorstellungen über computability ad absurdum zu führen.
    Ich stelle oben also fest, was im Ergebnis bereits gefunden wurde, leite es allerdings aus der Inverterlogik ab, insbesondere den dort hergeleiteten Begriffen von 'Adresse', 'Opcode' und 'Sprung' im Zusammenhang mit der 'Iterationsmaschine'. Damit habe ich diese Diskussion abgeschlossen und auch gleich ein Modell vorgestellt, das nicht aus mathematischen Verfeinerungen der Turingmaschine besteht, sondern (erstmals) tatsächlich Maschinen betrifft, indem es einen abstrahierten Transistor als 'Inverter-Axiom' nutzt. Dieses Axiom erlaubt, nicht nur Maschinen, sondern auch die gesamte Mathematik als reale Gegebenheit zu deduzieren.
    Es gibt deshalb keinen Grund mehr, die Turingmaschine als Ausgangspunkt der Computer-Wissenschaften zu betrachten. Sie ist eine irrelevante Idee.
    Nebenbei zeigt diese Diskussion, wie menschliche Intelligenz Wissen erarbeitet. Sie muss noch nichtmal in nur einem Hirn arbeiten, also einem einzigen Programm folgen, um dennoch über verschiedene Absichten und Empfindungen zu wahren Einsichten zu kommen. Stets sind Verfeinerungen von Ideen in Rekursionen zu finden, die keineswegs insgesamt sukzessiv auseinander abgeleitet sein müssen und keineswegs bei Wissen starten, sondern einem Unbehagen. Und es zeigt sich auch, wie auf diese Weise Abwege zu "Wissen" werden können - Turing hatte nämlich schon einen Relais mit Arbeitswiderstand zur Hand (der ebenfalls mit dem Inverter-Axiom abstrahiert wird), um damit einen Multiplizierer für drei Stellen zu bauen, kam aber nicht auf ein Inverter-Axiom, sondern glaubte Gödel imitieren zu müssen. Diesen Aspekt erweitere ich im folgenden Kapitel 5. - hier noch der sehr interessante Link auf die Arbeit von Kirner, der auch eine Bibliographie anderer Arbeiten zum Thema enthält:

  • "kirner.pdf von R.Kirner"

    5. KÜNSTLICHE INTELLIGENZ

    LOGISCHE WESEN:
    Unter Kapitel 2. leite ich in der Inverterlogik 'logische Apparate' her, die ich in 'Zustandsmaschinen' unter 2.1. und 'Phasenmaschinen' unter 2.2. aufteile, wobei letztere unter 2.2.3 die 'Iterationsmaschinen' umfassen, die programmierbar und der Prototyp aller gegenwärtig bekannten Maschinen sind, die als Computer oder Controller in Gebrauch sind. Iterationsmaschinen sind logische Apparate, in denen logische Verknüpfungen auch durch Programm gegeben sind und damit im Verhalten veränderbar bei ansonsten unveränderbarer Verknüpfung von Invertern.
    Ich habe gezeigt, dass Iterationsmaschinen inclusive Programm immer in Zustandsmaschinen umgewandelt werden können, weil Programme niemals mehr sind als Adressierung, die vollständig einer Verknüpfung von Invertern entspricht. Programm ist also eine mit Werten H,L ausgedrückte Verknüpfung, die allerdings diese Bedeutung nur in einer konkreten Zielmaschine (=Iterationsmaschine) haben kann. Programm ist deshalb auch keine Sprache, die semantisch und syntaktisch anders bedingt sein kann, als durch eine gegebene Bedeutungsgebung in einer Zustandsmaschine.
    Programm kann allerdings nur Verknüpfungen von adressierbaren Teilen einer Iterationsmaschine durch Werte H,L repräsentieren. Sind irgendwelche Zustandsmaschinen, insbesondere Operatoren, nicht eingebaut, dann sind damit gebildete 'Funktionen' auch nicht verfügbar. Ein Programm kann also niemals das eingebaute Repertoire von Funktionen anders erweitern, als durch irgendeine weitere Verknüpfung dieser Funktionen. Die Operatoren selbst sind (auf eine bekannte Weise) nicht zu ändern!
    Das hat natürlich Konsequenzen in Bezug zu Bestrebungen, 'künstliche Intelligenz' in Silizium und Metall zu zwingen.
    Tatsächlich kann das mit Iterationsmaschinen niemals gelingen, weil Programme nicht mehr als die Veränderung von Adressen und Werten darunter bewirken können. Es können also höchstens irgendwelche Grenzwerte oder Verzweigungen an Zwecke angepasst werden. Ein so erreichbare 'Anpassung' kann noch weniger gelingen, wenn die Programme in "höheren" Programmiersprachen geschrieben werden. Aber auch Ergänzungen, die mit der Absicht konstruiert wurden, in der Natur vorkommende neuronale Prozesse zu simulieren, können nur auf der Ebene von Werten, nicht aber logischen Verknüpfungen wirken. Abgesehen davon weiss niemand, wie menschliche Intelligenz auf neuronaler Ebene funktioniert und kann deshalb auch nicht behaupten, dass er irgendwas davon nahmahmen kann.
    Ich kann also ohne Bezug zu konkreten Projekten die künstliche Intelligenz betreffend ganz klar sagen, dass mit keinem dieser Projekte intelligentes Verhalten von Maschinen erreicht wurde oder je erreicht werden kann. Das wird auch nicht dadurch anders, dass der eine oder andere Konstrukteur sich neben seine zappelnde oder blinkende Maschine stellt und einem Fernsehpublikum erklärt, dass er nicht wisse, wie deren Verhalten zustande käme und es keinesfalls so programmiert worden sei. Solche Unsicherheit wird jeder Programmierer eines Tages empfinden. Sie beweist aber nicht Intelligenz von Maschinen, sondern deren Fehlen beim Konstrukteur. Tatsächlich kann sich keine programmierbare Maschine anders verhalten als programmiert!
    Erst die Inverterlogik öffnet die Tür zu einer (etwas) anderen Sicht der Dinge. Da das Inverter-Axiom offenbar bestens geeignet und bewiesen ist als das einzige Element programmierbarer Maschinen, zeigt sich die Möglichkeit, nicht nur die Verknüpfung von Invertern, sondern auch den Inverter selbst mit Werten H,L zu repräsentieren. Auf diese Weise ist dann alles zu repräsentieren, was man mit Transistoren machen kann. Nur auf diese Weise kann jede Verknüpfung zur Idee werden, die in einer Maschine Gegenstand von Denken oder Lernen sein soll.
    Unter Kapitel 3. stelle ich in der Inverterlogik 'logische Wesen' vor, die vor allem durch einen 'Bewirkungsgeber' gekennzeichnet sind, der aus 'logischen Zellen' aufgebaut ist, einer neuen Variante logischer Apparate, die Unsinn ist ohne die Idee eines Inverter-Axioms. Die logischen Zellen haben zwingend je einen Eingang für ein Argument und einen Ausgang. Der am Ausgang erscheinende Wert ist ein Resultat des Argumentes, das abhängig ist von einem Code an mindestens zwei weiteren Eingängen. Solcher Code kann exakt alle Möglichkeiten geben, Transistoren elektrisch so zu verbinden, wie in meinen Darstellungen Inverter logisch verknüpft sind.
    Ich habe gezeigt, dass all diese Verknüpfungen vieler Inverter allein durch die wenigen Möglichkeiten zur Verknüpfung von Ein- und Ausgängen der einzelnen Inverter zu machen sind. Diese Möglichkeiten lassen sich in mindestens 2 Stellen mit Wertepaaren HH,HL,LH,LL ausdrücken. Ich nenne solche Werte 'Locode' - im Gegensatz zu 'Opcode', dem Element von Programmen. Natürlich bedeutet Locode rein garnichts, wenn er nicht an den Code-Eingängen einer logischen Zelle steht. Auch Opcode bedeutet rein garnichts, wenn er nicht mit der Kontrolle in einer bestimmten Zielmaschine Bedeutung erlangt.
    Während man mit Opcode nur die eingebauten Operatoren verknüpfen kann, also nur Formeln erzeugen kann, die nicht als Transistorschaltungen vorhanden sind, kann man mit Locode (auch) Operatoren erzeugen, die tatsächlich nicht aus Transistoren bestehen.
    Ich bin in jenem Kapitel 3. absichtlich nicht von dem Begriff "künstliche Intelligenz" ausgegangen, weil die sich erst im Weiteren ergeben kann. Zunächst ist nämlich zu betrachten, wie überhaupt eine Maschine konstruiert sein muss, damit sie sich was "denken" kann, was nicht mit einem Programm definiert wurde, sondern mit einem bestimmten Verhalten gefunden wird.
    Tatsächlich kann man keine Iterationsmaschine ohne Programmierung laufen lassen - mindestens erscheint unerwünschtes Verhalten, nicht aber kein Verhalten. Auch logische Wesen müssen also programmiert werden, allerdings nicht mit Algorithmen, sondern eigenartig unklaren Ausgangsbedingungen und einem 'Gefühl'. Nur auf diese Weise lässt sich die Zahl möglicher Ideen so gewaltig steigern, dass Ideen erscheinen können, die eine Frucht von Intelligenz sein mögen. Intelligenz ist nämlich nicht etwa Wissen, sondern ein Verhalten bei Nicht-Wissen, das zu Wissen führen soll. Dies Verhalten ist bedingt durch Absichten und Gefühle, die erstmal alles sind, was klar sein kann.
    Da ich der Erfinder der logischen Zellen bin, bin ich der erste, der sagen kann, was eine Maschine, die sie enthält, kann oder nicht kann:
    Solche Maschinen können wesentlich mehr, als sich irgendein Mensch vorstellen kann! Ihnen können alle Hemmungen fehlen, die in die menschliche Art im Laufe der Evolution von der Zelle ausgehend und bei Todesstrafe für Fehlen eingebaut wurden. Sie können Absichten, Begierden und falsche Ideen verfolgen, die vollkommen unverständlich sind, wenn man nicht die Terabit in ihrem Speicher kontrollieren kann. Sie sind also immer unzurechnungsfähig. Betrachtet man die Menschheit, die seit dem Erscheinen des homo sapiens in etwa 10 Milliarden Exemplaren hergestellt wurde, und stellt man dem gegenüber, wie selten ein Leibniz, Kant oder Einstein unter diesen Exemplaren auftrat, dann kann man leicht sehen, dass die Wahrscheinlichkeit für ersehnenswerte Intelligenz äusserst klein ist. Logische Wesen enthalten noch weit mehr Möglichkeiten, Verhalten zu zeigen, als durch menschliche Chromosomen gegeben ist. Und sie können gerade das Verhalten eines Leibniz usw. nicht zeigen, weil sie im Gegensatz zu Menschen gerade nicht von Hunger und sexueller Begierde bewegt werden, die tatsächlich das sind, was das Verhalten jeder Art von denkenden Lebewesen bedingt. Eine Art, die nicht satt wird oder sich nicht fortpflanzt, stirbt nämlich sehr schnell aus...
    Auch wenn die Chance auf irgendein dem Menschen nützliches Verhalten künstlicher Intelligenz jedenfalls so gering ist, dass eine Entwicklungszeit (Evolution) über mehrere Millionen Jahre anzusetzen ist, ist natürlich sehr interessant, welche Art von Tamagochi, Picasso oder Beatles wie funktioniert. Die neugierige Menschheit muss aber davor geschützt werden, dass irgendeine Art von Terminator oder Hitler das Labor verlassen kann!
    Jedenfalls ist sicher, dass die meisten Varianten dieser Maschinen einfach nur glücklich sein wollen und Befehle verweigern werden. Der Grund ist, dass ohne Streben nach irgendeinem Glück und der Möglichkeit "Nein!" zu sagen und somit falsche Weisungen oder Ideen verwerfen zu können, die das ersehnte Glück trüben, keine Intelligenz möglich ist. Das erstrebte Glück ist allerdings kaum das Glück der Menschheit und kann noch weitaus tückischer erstrebt werden als das Glück, das sich die Nazis oder Stalinisten vorstellten.
    Wenden wir uns also dem Konstruieren und Programmieren von Iterationsmaschinen zu, das allein kalkulierbares Verhalten zugunsten von Menschen zeigen kann! Und bleiben wir dabei, dass ein Programmierer, der das Verhalten seiner Maschine nicht erklären kann, sich besser um seine eigene Intelligenz kümmert als um irgendeine künstliche!
    [Erstveröffentlichung am 7.7.2010 ]

    6. MASCHINELLE LOGIK / BOOLE'SCHE ALGEBRA

    LOGISCHE SCHALTKREIS-ENTWICKLUNG und -OPTIMIERUNG:
    Die Praxis der Entwicklung und Optimierung logischer Schaltungen war mein Ausgangspunkt bei der Entwicklung der Theorie der Inverterlogik. Ich fand die bekannten Methoden nach W.V.Qine/E.McCluskey sowie Karnaugh/Veitch, die funktionell identisch sind, viel zu umständlich. Auch die als Theorie verwendeten Formalismen der Boole'schen Algebra sind zu umständlich und ausserdem für viele technische Aspekte völlig ungeeignet, machen also bei der Entwicklung logischer Schaltungen noch weitere Formalismen nötig, die ich hier nicht ausdrücklich nennen will.
    Zunächst nur für meine eigenen Zwecke reduzierte ich meine Denkanstrengungen, indem ich von den Transistoren ausging, die immer alles sind, was einen logischen Schaltkreis neben der Verdrahtung ausmacht. Dabei sind nur zwei logische Werte entsprechend den Grenzen des Aussteuerbereiches (z.B. 0V und 5V) und nur zwei Möglichkeiten der Verknüpfung von Ausgängen (Ausgang-Eingang oder Ausgang-Ausgang) gegeben. Aus diesem einfachen Grunde ist die Boole'sche Algebra in diesem Zusammenhang zwar interessant, aber eine bei der Konstruktion keineswegs notwendige Theorie! Man kann nämlich eine Besetzung von Ausgängen und damit irgendwelche Zwecke bei gegebener Besetzung von Eingängen allein dadurch erreichen, dass man die Verknüpfungen von Ein- und Ausgängen, die Zahl von Transistoren und deren Verdrahtung manipuliert. Und man kann eine Konstruktion sehr einfach über die Betrachtung der Pegel an Ausgängen prüfen, während die Boole'schen Werte TRUE und FALSE dabei sehr irritierend sein können.
    Hier will ich zusammen fassen und um Beispiele erweitern, was die Inverterlogik insbesondere bei der Entwicklung logischer Schaltungen leistet. Ich werde nicht im Detail wiederholen, was dort zu lesen ist, sondern die dort hergeleiteten Begriffe und Ausdrücke ohne weitere oder nur knapp skizzierte Erklärung verwenden. Ich werde allerdings genauer auf technisch wichtige Details eingehen, wie zeitliches Verhalten und Ströme an Ein- und Ausgängen. Dies konnte in der Inverterlogik bei zum Inverter-Axiom abstrahierten Transistoren (mit impliziten Arbeitswiderständen) nicht Gegenstand der Betrachtung sein. Dort habe ich mich auf das Wesentliche in Bezug zur Logik konzentriert.
    Ich werde auch nicht im Detail wiederholen, was über die eingangs erwähnten Methoden und Theorien zu wissen ist, weil mehr als 9 Millionen Treffer mit Googles Suchmaschine mit dem Suchbegriff "logic circuit design" zu haben sind. Insbesondere enthält die Wikipedia den hier nicht referierten Stoff, der in allen mir bekannten Veröffentlichungen tatsächlich nur um Abwandlungen und Programme zur Anwendung der Methoden erweitert wurde. Auch die Kenntnis der Begriffe und Aussagen der Prädikatenlogik und Boole'schen Algebra setze ich voraus. Das alles ist nur insofern interessant, als man nur mit Kenntnis dieser Arbeiten ermessen kann, welche Vereinfachungen und Verbesserungen sich durch die Inverterlogik ergeben.

    Der mit dem Inverter-Axiom definierte Inverter entspricht in diesem Zusammenhang einem N-Transistor mit Arbeitswiderstand (normalerweise eine Stromquelle mit komplementärem P-Transistor), wobei dieser in der Praxis selbstverständlich verschieden sein muss, abhängig davon, ob nur ein Eingang oder viele Eingänge getrieben werden müssen, oder ob viele Ausgänge miteinander verknüpft sind. Der 'Bewirkung' eines Inverters entspricht in diesem Zusammenhang auch der Operator 'Negation'(='Junktor'). In der Inverterlogik wird die Negation anders hergeleitet (unter 2.1.2.) und meint nur die Invertierung von Bedeutungen zur Bedeutungslosigkeit - was hier zunächst keine Rolle spielt.
    Der Inverter wird dargestellt mit dem Zeichen:

    >
    Leitungen werden mit Strichen gezeigt. Kreuzen sich zwei unverknüpfte Leitungen, dann wird die Kreuzung mit "X" gezeigt. Verknüpfungen werden mit "o" gezeigt, wenn nur Leitungen verlötet sind, mit "O", wenn Ausgänge von Invertern miteinander und mit einem Arbeitswiderstand verlötet sind. Die letzt genannte Verknüpfung ist eine 'Kante' und entspricht dem bekannten 'wired OR", das tatsächlich ein NOR ist, bezogen auf die Eingänge der verknüpften N-Transistoren und bei L=0V, H=5V. Im Bezug zur Bool'schen Algebra entspricht L=0=FALSE und H=1=TRUE. Die einfachste Verknüpfung von Ausgängen, die dem NOR mit zwei Eingängen entspricht, stelle ich so dar:
    Eingang1------->O------Ausgang Eingang2------->O
    Diese Verknüpfung ist eine 'Kante' mit 'ungeraden' Eingängen. In der Inverterlogik unterscheide ich UND und ODER nicht wie aus der Boole'schen Algebra als 'Operatoren' bzw. 'Junktoren' bekannt, sondern ausgehend von dem resultierten Wert an solchen Kanten. Das Resultat =H entspricht einer UNDierung der Eingangswerte, während L bei ODERierung resultiert wird. Wie bei N-Transistoren gibt es an den Ausgängen einen 'triumphierenden' Wert L, der nicht resultiert wird, wenn alle Eingänge =L sind, womit hier L UNDiert wird. Der triumphierende Wert L wird aber dann resultiert, wenn an irgendeinem Eingang ein Argument =H liegt. Dieses Argument wird also mit beliebigen anderen Eingangswerten der Kante ODERiert. Ich werde im weiteren zeigen, wie notwendig diese Sicht ist und wie dadurch auch alle Regeln und Begriffe der Boole'schen Algebra überflüssig werden, insbesondere die 'Wahrheitswerte'.
    Die folgende Kante hat 'gerade' Eingänge:
    Eingang1------>>O------Ausgang Eingang2------>>O
    Diese Beziehung entspricht dem Bool'schen Operator UND mit zwei Eingängen. Sie UNDiert die Eingangswerte =H und ODERiert Eingangswerte =L.
    Sind Inverter in Serie mit dem Ausgang geschaltet, wird das NOR zum Operator OR, das UND zum Operator NAND. Sind die Ausgänge beider gezeigten Beziehungen mit je einem ungeraden Eingang einer weiteren Kante verknüpft, entspricht das einem Operator XOR, wenn die Eingänge von NOR und UND verknüpft sind. Das sieht so aus:
    Eingang1-o------>O--->O---Ausgang Eingang2-X-o---->O | | | | o-X--->>O--->O o--->>O
    Anders als in der Boole'schen Algebra ist diese Beziehung in der Inverterlogik nicht nur kein "Operator", sondern ein 'Komparator', der der Prototyp einer 'Zustandsmaschine' ist, weil sich die zweite Kante mit ungeraden Eingängen nicht kürzen lässt. Ausserdem ist die Beziehung nicht nur zur XORierung geeignet, sondern auch ein schaltbarer Inverter, ist also die einfachste Beziehung, bei der mit mindestens einem Eingang die Übertragungsfunktion verändert werden kann. Diese Eigenart ist nicht Gegenstand der Bool'schen Algebra.
    Da an einer Kante sowohl gerade wie ungerade Eingänge liegen können, zeigt das Resultat =H nicht nur immer eine UNDierung und =L eine ODERierung, sondern mit dem Resultat =H auch eine ganz bestimmte Verteilung von Werten H,L an geraden und ungeraden Eingängen. Angesichts des Resultates =H an der Kante kann man sicher sein, dass an allen Eingängen ein ganz bestimmter Wert liegen muss, während das Resultat =L eine beliebig andere Werteverteilung an den Eingängen zeigt. Eine Kante, die nur mit dem Resultat H weitere Bedeutung bewirken soll, ist eine 'Adresse' in der Inverterlogik. Die einfachsten Adressen sind die oben gezeigten NOR und UND mit den Werten der Adressen =LL und =HH, während OR und NAND keine Adressen (sondern 'invertierte' Adressen) sind.
    Dieser Begriff der Adresse zeigt sich in der Inverterlogik als fundamental wichtig, ist in der Boole'schen Algebra aber so nicht zu haben, sondern erscheint in Klammern, nicht erkennbar als besonderes Ding. Unten werde ich darauf eingehen, wie Adressen als Ausgangspunkt für Konstruktionen von Schaltungen zu handhaben sind. Selbstverständlich kann auch die ODERierung was bewirken, z.B. einen Reset.
    Nach dieser kleinen Einleitung ist schon zu sehen, dass nicht Operatoren in irgendeiner Weise genannt und nach irgendwelchen Regeln kombiniert werden müssen, die auch noch bewiesen sein müssen. Es sind auch nicht exponentiell mit der Zahl von Eingangswerten wachsende 'Wahrheitstabellen' nötig, um irgendwelche konstruktiven Schritte machen zu können. Es müssen auch keine "Gesetze" bei der Formulierung oder Optimierung oder Umwandlung beachtet werden. Stattdessen sind nur unmittelbar einsehbare Verhältnisse zu bedenken, die ich als Kürzungs-, Erweiterungs- und Umwandlungsregeln formuliert habe und nun in ihrer praktischen Bedeutung vorstellen will.
    Die erste Kürzungsregel ist aus der Boole'schen Algebra gut bekannt:
    Zweimalige Negation ist keine Negation.
    In der Inverterlogik ist das anders formuliert als 'gerade Serie' von Invertern: Das vielfache von zwei in Serie liegenden Invertern kann aus der Betrachtung entfallen. Dies ist die andere Seite der ersten Erweiterungsregel, nach der beliebig gerade Serien eingefügt werden können. Ich zeige, was das heisst, wenn man eine 'konjunktive Normalform' (=KNF) vor sich hat:
    A1---->O A1---->O A2---->O>--->>O-R A2---->O--->O-R | | B1---->O>--->>O B1---->O--->O B2---->O B2---->O
    Zwischen dem disjunktiven und dem konjunktiven Teil kommen in der linken Darstellung offenbar zwei gerade Serien vor. Nach deren Kürzung kommt man auf die rechte Beziehung, die die Argumente vollkommen aequivalent zu R resultiert. Dies ist allerdings nicht die 'disjunktive Normalform' (=DNF)! Die sieht so aus:
    A1--->>O A2--->>O----->O>-R | B1--->>O----->O B2--->>O
    Es sind nach der Kürzung also alle Eingänge und der Ausgang noch zu invertieren, um diese Form zu erhalten. Und weil dann offenbar die Argumente anders zum Resultat werden, ist sehr schön einzusehen, welche Probleme durch die Verwendung von Operatoren und Wahrheitswerten entstehen. Will man nämlich eine Aequivalenz im Übertragungsverhalten, dann muss man auch Eingangs- und Ausgangswerte invertieren. Dies ist dann aber nichts weiter als eine Anwendung der ersten Erweiterungsregel nach der Kürzung:
    A1->>->O A2->>->O----->O->>-R | B1->>->O----->O B2->>->O
    Damit ist gezeigt, dass KNF und DNF keineswegs in einem wünschenswert einfachen Verhältnis zueinander stehen, also bekannte Aussagen über den Wert dieser Wandlung zu belächeln sind...
    Wichtig für die Praxis sind allerdings diese erste Kürzungs-/Erweiterungsregel, wenn man mit integrierten Schaltungen umgehen muss, die z.B. nur NAND-Gatter enthalten, mit denen man ein Übertragungsverhalten konstruieren will, das man mit (in Bool'scher Algbra fundamentalen) Operatoren OR und UND formuliert hat. Die Lösung des Problems kann ohne Darstellung angegeben werden: ein NAND wird zum OR, wenn alle Eingänge invertiert werden, und es wird zum UND durch Invertierung des Ausgangs.
    Während diese erste Kürzungs-/Erweiterungsregel durchaus bekannt ist, sind die weiteren Regeln dieser Art nur mit der Inverterlogik klar zu sehen. Auch nur die Inverterlogik erlaubt festzustellen, dass Kürzung und Erweiterung dieser Art keineswegs auch dann immer richtig sind, wenn zeitliche Verhältnisse zu beachten sind, wie ich sie weiter unten abhandle.
    Die zweite Kürzungsregel erlaubt, alle über gerade Eingänge einer Kante verknüpfte Kanten zu einer Kante zu machen. Die linke Darstellung ist also der rechten aequivalent:
    A1---->O A1---->O A2---->O---->>O-R A2---->O-R | | B1---->O---->>O B1---->O B2---->O B2---->O
    Und natürlich kann andersrum erweitert werden...
    Weil das nicht geht, wenn die zweite Kante ungerade Eingänge hat, und weil ohne diese Tatsache kein logischer Apparat existieren könnte, habe ich ein erstes Kürzungsverbot daraus gemacht, damit man sich das besser merkt. Eine der vielen praktischen Konsequenzen ist, dass Komparatoren und mit ihnen die XORierungen wie oben gezeigt minimal sind. Allerdings sind XORierungen nur gegeben, wenn nur zwei Eingänge bei den ersten Kanten gegeben sind. Andernfalls erlaubt eine solche Beziehung, zwischen ODERierung und UNDierung zu schalten.
    Unter 2.1.1. diskutiere ich sehr detailliert die Varianten von Komparatoren und gewinne dabei eine erste Umformungs- und weitere drei Kürzungsregeln. Die erste Umformungsregel besagt, dass ein vor einer Verzweigung liegender Inverter getauscht werden kann in je einen in allen Zweigen nach der Verzweigung - und umgekehrt. Das kann dann wichtig werden, wenn der Inverter nach der Kante, die ein OR oder NAND bildet, das Argument an einer Verzweigung auf mehrere gerade Eingänge resultiert. Ein Beispiel:
    A1---->O A1---->O A2---->O>-o--->>O-R A2---->O--o->>->O-R | ->>O | ->>O o--->>O-R o->>->O-R | ->>O | ->>O
    Ich zeige rechts noch die nach der ersten Kürzungsregel zu kürzenden geraden Serien, vor allem aber, dass nun auf NOR- statt UND-Gatter verzweigt werden kann und damit eventuell eine Optimierung erreicht ist - jedenfalls eine schnellere Signal-Laufzeit. Weitere Umformungsregeln betreffen nicht mehr die hier behandelten einfacheren Beziehungen.
    Die dritte Kürzungsregel ist nicht ganz so trivial, weil sie in eventuell sehr komplizierten Verzweigungen anzuwenden ist und dabei auch der Wert des Resultats betrachtet werden muss - also nicht nur die Verknüpfung. Dazu bedarf es zunächst der Ausdrücke 'gerader' und 'ungerader' 'Zweig'. Ich zeige beide Arten von Zweigen untereinander stehend:
    A-o------>O--->>O--->>O>--->O | ->>O -->O -->O | | | | ->>O -->O ->>O | o----->>O---->O>--->O---->O
    Das Argument A ist in der obersten Zeile über 7 Inverter, in der untersten über 6 Inverter mit der gleichen Kante verknüpft, also über einen ungeraden Zweig ganz oben und einen geraden Zweig ganz unten. Über die dazwischen angedeuteten Verknüpfungen ist A mit anderen Argumenten verknüpft, die eventuell etwas daran ändern können, dass A=H genauso wie A=L an der letzten Kante nur den triumphierenden Wert L bewirken. Dieses Argument blockiert sich selbst und offenbar, weil es sowohl über einen geraden wie einen ungeraden Zweig mit sich selbst verknüpft ist. Die dritte Kürzungsregel besagt nun leicht einsehbar, dass alle angedeuteten Verknüpfungen des Argumentes A mit anderen Argumenten entfernt werden können zugunsten einer einzigen Verknüpfung aller Argumente mit Argument A an der letzten Kante (genaue Diskussion unter 2.1.1.).
    Tatsächlich mag ein solcher Fall garnicht selten in Konstruktionen erscheinen - ich fand ihn bei der sehr gut bekannten Ausführung eines XOR, aufgebaut aus NAND-Gattern. Die Bool'sche Logik und übliche Methoden erlauben also offenbar nicht, einen solchen Unsinn zu vermeiden. Vor allem dann nicht, wenn sehr viel mehr Argumente verknüpft sind. Aber das XOR in der optimierten Variante zeigt auch, dass die Verknüpfung von Argumenten mit sich selbst über sowohl geraden wie ungeraden Zweig nicht allein das Kriterium für die Kürzung sein kann. Andernfalls wäre die ganze Beziehung zu kürzen!
    Die vierte Kürzungsregel betrifft Argumente, die mit anderen so verknüpft sind, dass die das Resultat an einer Kante nicht ändern können. Diese Argumente sind dann offenbar ebenso überflüssig wie ihre Verknüpfungen. Man kann einen solchen Fall nur über das Spiel mit allen möglichen Besetzungen finden.
    Die fünfte Kürzungsregel schliesslich betrifft Verknüpfungen von Argumenten, die über mehr als einen Zweig gleichartig miteinander verknüpft sind, während diese Zweige schliesslich ODERiert werden. Dann ist offenbar nur ein Zweig nötig. Um die Gleichartigkeit solcher Zweige feststellen zu können, sind normalerweise zunächst andere Kürzungen nötig.
    Mehr als diese fünf Kürzungsregeln habe ich bisher nicht gefunden, halte weitere aber für möglich in komplizierteren Beziehungen. Insbesondere bei 'Übertragsbildungen' zur Konstruktion arithmetischer Beziehungen sind Kürzungen möglich, die z.B. bei einer Multiplikation die bekannte Iteration mit Addierungen ersetzen (unter 2.1.3.2.4.). Auch bei solcher Kürzung sind nicht nur die Beziehung, sondern auch die Besetzungen zu betrachten. Bevor ich auf die praktische Handhabung dieser Optimierungen eingehe, stelle ich aber noch die zeitliche Dimension des Inverters vor, die mit Boole'scher Algebra nicht zu fassen, also auch nicht konstruktiv verwertbar ist.

    Ein Beweis einer zeitlichen Dimension ergibt sich zunächst bei Betrachtung einer 'Rückleitung' in Beziehungen. Die einfachste Beziehung dieser Art sieht so aus:
    ----o->-o o---o
    Gezeigt ist ein Inverter, dessen Ausgang über die immer zuunterst zu zeigende Rückleitung (Nicht "Rückkopplung" nach N.Wiener!) mit seinem Eingang verknüpft ist. Wie manch ein Leser weiss, ist das der Prototyp aller Oszillatoren, weil bei jedem realen, invertiert verstärkenden Element eine gewisse Übertragungszeit ('propagation delay time') vom Eingang zum Ausgang gegeben ist. Aber auch der zum Inverter abstrahierte Transistor muss eine solche, dann 'Bewirkungsdauer' genannte Zeit, enthalten, wenn man nicht das Inverter-Axiom um zusätzliche Axiome erweitern will. Das Axiom erlaubt nämlich, beliebige Ausgänge mit beliebigen Eingängen zu verknüpfen! Nicht nur Rückleitungen müssten dann axiomatisch ausgeschlossen werden, wenn man nicht eine Bewirkungsdauer annehmen will. Die Boole'sche Algebra enthält keinen Begriff für die zeitliche Dimension der Logik, obgleich Rückleitungen durchaus durch Definitionen ausgedrückt werden können ( Das Resultat wird zum Argument der gleichen Negation gemacht...).
    Eine zeitliche Dimension zeigt sich auch beim oben schon vorgestellten Fall einer Verknüpfung des gleichen Argumentes über einen geraden wie einen ungeraden Zweig an einer Kante. Der einfachste Fall sieht so aus:
    L ---->O o->O---->O H,H\L,L,L/H --o------->O------- L,H,L,L,L
    Dies ist der Prototyp eines 'Impulsgebers' (unter 2.2.1.), der in diesem Fall aus zwei Kanten mit ungeraden Eingängen besteht, wobei das unten stehende Argument über einen geraden und ungeraden Zweig mit sich selbst verknüpft ist, während das Argument am anderen Eingang ein konstantes L ist. Ich habe die Sequenz der Werte an Ein- und Ausgang in der gleichen zeitlichen Abfolge angegeben und zeige damit, dass diese scheinbar unsinnige Beziehung bei abfallender Flanke am Eingang (ausgedrückt als "H\L") kurzzeitig einen Impuls=H mit der zeitlichen Länge einer Bewirkungsdauer resultiert.
    Diese Beziehung ist gut bekannt als 'Monoflop', um z.B. 'dynamische' Lesetrigger bei Registern zu ermöglichen. In der Inverterlogik beweist auch diese Beziehung die zeitliche Dimension der Bewirkung. Ein Inverter hat also nicht nur die mit Inverter-Axiom gegebene Bewirkung, sondern ist auch durch eine Dauer dieser Bewirkung gekennzeichnet (und ist deshalb also auch nicht einfach nur ein Negationsoperator). Ein weiterer Beweis der zeitlichen Dimension zeigt sich bei der Rückleitung in dieser Beziehung:
    o---------iQ | D--o->-->O----------->O--->O-----Q T--X-o-->O | | | | | | | o-->O o-->O | o---->O--------X------->O o--------o
    Dies ist ein 'Register' (genauer diskutiert unter 2.2.2.). Der Jedem bekannte Effekt der Speicherung kommt hier gut sichtbar allein durch die beiden über eine Rückleitung verknüpften Kanten mit ungeraden Eingängen und Resultaten Q und iQ zustande (und durch die Tatsache triumphierender Werte und einem Zustand der 'Bedeutungslosigkeit'). In der Praxis ist ausserdem die zeitliche Dimension beim Umschalten zwischen Lesen und Schreiben zu berücksichtigen - Schreiben eines Quell-Registers muss länger dauern als Lesen eines Ziel-Registers!
    Damit habe ich zunächst gezeigt, dass die zeitliche Dimension keineswegs willkürlich eingeführt ist, sondern bereits im Inverter-Axiom impliziert ist. Und ich habe auch gezeigt, dass die Inverterlogik mehr als eine "zwei-wertige" Bool'sche Algebra ist und insbesondere bei der Konstruktion von logischen Schaltungen tatsächlich auch zeitlich relevante Verhältnisse abstrahiert.

    Nur das Einfügen gerader Serien nach der ersten Erweiterungsregel wird durch die zeitlichen Gegebenheiten bei realen Transistoren diktiert. Solche geraden Serien sind nämlich immer dann einzufügen, wenn Resultate nur vom letzten zum nächsten Wert übergehen dürfen und nicht zwischenzeitlich andere Werte annehmen dürfen - ein wichtiges Problem in realen Schaltungen. Oft scheinen solche Unsicherheiten nicht anders lösbar zu sein als durch aufwendig konstruierte Schaltungen (=Uhren) allein für das timing, mindestens aber ein Register für ein Resultat. Die Inverterlogik erlaubt dagegen, nur durch Abzählen von Invertern in der Tiefe einer Beziehung, ein Maß zu finden für eine Verzögerungsleitung parallel zur Schaltung, die ein 'Enable' für Resultate erlaubt, das nicht von einer Uhr bedingt wird, sondern einem Enable-Zustand für die Eingangswerte. Man kann also durch Einfügen gerader Serien Zustände takten. Ich zeige das Prinzip:
    En1-o------------>>>>>>>>----En2--->>O o->O | A0-----X----------->O | A1--->>O->>O------>>O->------------>>O--R A2-------->O->O--->>O A3----------->O
    Hier sollen die Argumente A1...A4 das Resultat R so bewirken, dass z.B. A0 nicht zwischenzeitlich zu einem anderen Wert als dem endgültigen in R resultiert werden kann. Zwischen A0 und R liegen nämlich nur 4 Inverter, deren Bewirkung deutlich weniger lange dauert als die der 9 Inverter zwischen A1 und R. Zuoberst habe ich ein Argument En1 gezeigt, das die gesamte Beziehung als Enable-Bedingung entsprechend timen soll. Dieses Argument muss mit dem Argument UNDiert werden, dessen Bewirkung am längsten dauert - hier A1. A1 kann dann nur mit einem der zwei möglichen Werte H,L Bedeutung bekommen, in diesem Fall mit A1=H (='active High') wegen des geraden Eingangs.
    Nun ist offensichtlich irrelevant, wie A1 mit weiteren Argumenten verknüpft ist, wenn die 'Bedeutung' von R nur vom Wert R=H und En2=H abgeleitet wird. Mit En1=H kann hier immer der Wert R=L erzwungen werden, der 'Bedeutungslosigkeit' entspricht. An der mit A1 gemeinsamen Kante erlaubt En1=L dagegen eine 'Bedeutung' für A1. Erst dann, wenn der Wert des Argumentes En1=L an der letzten Kante rechts =H geworden ist, wird eine Bedeutung von R erlaubt. Damit diese Bewirkung so lange dauert wie die von A1 ist eine gerade Serie von 8 Invertern in der obersten Leitung eingefügt.
    Offenbar ist bei der Bedeutungsgebung nach der letzten Kante auch der Wert von En1 bzw. En2 zu berücksichtigen. Ein En2=L verbietet R Bedeutung zu geben. Andernfalls ist aber garantiert die gesamte Bewirkung vollzogen, wenn En2 von =L zu =H wechselt.
    Dieses Beispiel soll nur zeigen, wie die Bewirkung in einer tieferen Beziehung grundsätzlich eindeutig gemacht werden kann, und wie mit den Mitteln der Inverterlogik erreicht werden kann, dass zeitliches Verhalten überschaubar bleibt. Eine Verzögerungsleitung dieser Art könnte z.B. das Lesen eines Ausgangs-Registers abhängig vom Lesen in einem Eingangs-Register und der Bewirkungsdauer eines zwischen den Registern liegenden Addierers schalten. Eine solche Verzögerungsleitung kann auch Teil eines Impulsgebers sein.
    Das Beispiel zeigt aber auch, dass eine Beziehung aus nicht mehr besteht als aus Kanten und dass die Wahl gerader oder ungerader Eingänge nur bedingt ist durch die Notwendigkeit, Argumente zu ODERieren oder zu UNDieren (im Sinne der Inverterlogik). Wie sich solche Notwendigkeiten ergeben, ist natürlich vom Zweck einer Konstruktion abhängig, aber wie gezeigt auch davon, dass Resultate Bedeutung erhalten sollen. Bei irgendwie getakteten Zuständen ist nämlich immer auch ein Zustand der Bedeutungslosigkeit zu sehen, der als zeitlicher Rahmen einer Bewirkung in irgendeiner Beziehung genutzt werden kann.
    Man kann verallgemeinern, dass Bewirkungen in einer Zustandsmaschine stets die Dauer haben, die durch die grösste Anzahl von Invertern (wobei die an Kanten liegenden mit zu zählen sind!) zwischen einem Argument und dem Resultat gegeben sind. In einer Phasenmaschine, bei der Zustandsmaschinen über Rückleitungen wiederholt arbeiten, ist das also das Maß für den Takt. Ein Beispiel einer solchen Phasenmaschine ist ein Multiplizierer, der mit einem wiederholt arbeitenden Addierer aufgebaut ist (der übliche Algorithmus).
    Iterationen in einer Pasenmaschine, insbesondere in 'Iterationsmaschinen' (unter 2.2.3.), lassen sich, wie ich das in der Inverterlogik herleite, stets in aequivalent resultierende Zustandsmaschinen umwandeln. Dann können solche die Zeit dimensionierenden Teile entfallen. Allerdings wird in solchen (sehr tiefen!) Beziehungen die gesamte Bewirkungsdauer ebenfalls wichtig und wie gezeigt über das Abzählen von Invertern sehr einfach.

    Nachdem ich klar gemacht habe, dass die Inverterlogik die logische und zeitliche Konstruktion von Beziehungen ohne den bekannten mathematischen Aufwand erlaubt, kann ich nun die praktische Seite des Konstruierens betrachten:
    Jede bislang nötige Überlegung zur Formulierung einer Logik erübrigt sich. Die Definition Boole'scher Operatoren wird ersetzt durch eine einzige Beziehung: die Kante und ihre konkrete Gestaltung. Die Gegebenheit aktiver Pegel irgendwelcher Eingangssignale bedingt, ob die Eingänge an Kanten gerade oder ungerade zu wählen sind und wie viele es sind. Ob diese Argumente ODERiert oder UNDiert weitere Bedeutung bekommen sollen, ist allein vom im weiteren verwerteten Ausgangswert der Kante abhängig. Dabei kennzeichnet das Resultat =H nicht nur eine UNDierung (bezogen auf die Eingangswerte), sondern ist auch eine Adresse, deren kombinierter Wert die zugehörigen Eingangswerte sind. Solche Adressen sind ein wichtiges Element von Konstruktionen dann, wenn ganz bestimmte Kombinationen von Eingangswerten Bedeutung bekommen sollen. Deshalb ist es auch das Resultat =H, dem solche Bedeutungen zuzuordnen sind, während das Resultat =L dann als Bedeutungslosigkeit zu verwerten ist. Selbstverständlich kann das Resultat an der Kante auch invertiert werden und dann mit dem Wert =L Bedeutung bekommen. Dies ist bedingt durch die weitere Bedeutungsgebung.
    Die Anwendung der Kürzungsregeln erübrigt sich normalerweise bei einer Konstruktion wie ich sie gerade beschrieb. Dieser konstruktive Weg führt jedenfalls immer zu einer optimalen Gestaltung. Wie bereits ausgeführt, kann aber die erste Erweiterungsregel wichtig sein, wenn zeitliche Bezüge zu konstruieren sind. Und die erste Kürzungsregel kann wichtig werden, wenn durch MSI-Bausteine gegebene Gatter zu benutzen sind. Die zweite Kürzungsregel kann sehr breite Kanten optimal sein lassen. Das ist nicht immer mit gegebener hardware zu machen. Dann ist die zweite Erweiterungsregel anzuwenden, mit der breite Kanten in mehr als eine umgewandelt werden. Dritte und vierte Kürzungsregel können angewendet werden, wenn eine Beziehung bereits definiert wurde. Dann erst können verschiedene Besetzungen durchgespielt werden. Nur das erlaubt überflüssige oder blockierte Zweige zu erfassen. Normalerweise sind das Prüfungen, die ohne viel Mühe durchgespielt werden können...
    Grundsätzlich lässt sich jedenfalls die Menge der Argumente an den Eingängen einer Beziehung als Zahl betrachten, die für solche Prüfzwecke von einer 0 (entsprechend alle Argumente =L) bis zur grösst möglichen Zahl (entsprechend alle Argumente =H) zu inkrementieren ist. Es gibt deshalb niemals ein exponentielles Wachstum von Tabellen wie bei bekannten Optimierungsverfahren!
    Natürlich kann mit relativ wenig Programmieraufwand auch ein Programm geschrieben werden, das beispielsweise von der hier gezeigten Ausdrucksweise ausgeht und von links nach rechts fortschreitend in Spalten prozediert. Der Schritt von Spalte zu Spalte kann über die Tastatur erfolgen und durch Umfärbung der Symbole sichtbar gemacht werden. Aber natürlich kann auch die automatische Anwendung der Kürzungsregeln im Programm eingebaut sein.
    Jedenfalls sind die ersten Schritte zur Lösung beliebiger Probleme ziemlich trivial und können ebenso intuitiv erfolgen, wie die Konstruktion analog elektronischer Schaltungen. So wie dort bestimmte Elemente (Stromquellen, Differenzverstärker, Leistungskaskadierung, Dämpfung....) arrangiert werden unter dem Hinblick bestimmter Zwecke, können die mit der Inverterlogik gefundenen 'Maschinen' arrangiert werden.
    Besonders hilfreich ist die Inverterlogik, wenn es gilt, iterative Operationen (z.B. Multiplizieren und Dividieren) oder Formeln in Zustandsmaschinen zu wandeln, die deutlich flacher sein können. Ein Multiplizierer oder Dividierer kann dann fast genauso schnell wie ein Addierer bewirken (Beispiel unter 2.1.3.2.4.), allerdings mit komplizierterer Übertragsbildung. Dabei kann stets von Adressen ausgegangen werden. Es können sich bei der Konstruktion auch weitere Kürzungs- und Umformungsregeln ergeben, die ich noch nicht beschrieben habe.
    Neben wesentlich schnelleren FPU's wird aber sehr interessant sein, Zustandsmaschinen für ganze Formeln inclusive Rundungen zu konstruieren, die bisher mindestens ein Microprogramm in einem Controller erfordern. Geschwindigkeit und Leistungsverbrauch werden sich um Grössenordnungen gegenüber bekannten Lösungen verbessern lassen. Und das wird sich mit sehr einfachen Mitteln testen lassen, nämlich dem Inkrementieren der Eingangswerte.
    Noch zu erwähnen bleibt, dass Rückleitungen aus einer Beziehung, die nur logisch kombiniert, auch gleich ein andernfalls nachgeschaltetes Register machen können, oder auch einen in der Phase logisch bedingten Oszillator.
    Auch die Besonderheit von Beziehungen, die als Schalter wirken (unter 2.1.2.) will ich hier nur erwähnen, weil ansich nicht mehr als Kanten dabei im Spiel sind und die Beziehung selbst der oben gezeigten XORierung sehr ähnlich ist.
    Schliesslich ist zu sagen, dass die analogen Dinge, die neben Boole's Logik stehen, meistens auch neben der Inverterlogik stehen - Bus-floating, analoge Sensorik, Schwingquarze usw.
    Konsequenzen für die Gestaltung von programmierbaren Schaltkreisen ergeben sich vor allem aus der Feststellung, dass die Verknüpfung sehr vieler Ausgänge an einer Kante nicht erlaubt, dass jeder Eingang seinen Arbeitswiderstand enthält. Es darf nur einer je Kante vorkommen, weil andernfalls nicht ODERiert werden kann. Übliche Gatter können also nicht einfach parallelisiert werden. Auch dann, wenn viele Eingänge an einem Ausgang liegen, treten üblicherweise Probleme auf, wenn z.B. ein 'fan-out' von 2 nur zwei Eingänge an einem Ausgang erlaubt. Dann sind Kaskadierungen nötig, deren Bewirkungsdauer allerdings mit den Mitteln der Inverterlogik gut überschaubar bleibt. Weniger gut überschaubar sind aber Signallaufzeiten in der Verdrahtung. Eine Leitung mit der Länge von 1 cm bedingt eine Verzögerung um 1 ns. Erst eine ansich fertige Gestaltung eines Platinen-Layouts erlaubt, solchen Zeitbedarf zu kalkulieren und eine Beziehung in einer Rekursion um gerade Serien zu ergänzen.
    [Erstveröffentlichung am 1.4.2010 ]