Rechenstrukturen

  • Friedrich L. Bauer
  • Hans Wössner

Zusammenfassung

Im 2. Kapitel hat sich gezeigt, daß Objektmengen nie „isoliert“ eingeführt werden, sondem immer zusammen mit für sie typischen Operationen. So gehören etwa zu den zusammengesetzten Objekten die als Konstruktor und Selektor bezeichneten „kanonischen“ Operationen (vgl. 2.5 und 2.6); für alle Objektmengen ist grundsätzlich der Vergleichsoperator (vgl. 2.4) verfügbar. Im 1. Kapitel hatten wir bereits gewisse Objektmengen, wie bool, nat, int, sequ χ etc., und ihre charakteristischen Operationen pragmatisch vorausgesetzt.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Referenzen

  1. 1.
    Erste Ansätze, solche verborgenen Objektstrukturen einzuführen, enthält SIMULA 67.Google Scholar
  2. 2.
    Im Plankalkül von 1945 gab Zuse schon eine binäre Objektstruktur und einige dazu gehörige Rechenvorschriften für Schachstellungen und -züge.Google Scholar
  3. 3.
    Je nachdem, ob den Operationen eine oder mehrere Trägermengen unterworfen sind, spricht man auch von einer homogenen oder heterogenen Struktur: RSC(x) ist eine heterogene Struktur.Google Scholar
  4. 4.
    Da die Vergleichsoperation . = . universell für alle Arten vorhanden sein soll, ist bool immer unter den Trägermengen. Also sind, streng genommen, außer B selbst alle Rechenstrukturen heterogen.Google Scholar
  5. 5.
    Auch „types of interest“ (Guttag 1975). Wir werden das Wort „type“ in einem anderen Sinn gebrauchen, nämlich wie bei S. Mac Lane, “Categories for the Working Mathematician” (Springer, New York 1971).Google Scholar
  6. 6.
    Oft auch Worte (über Σ) genannt. Übrigens bilden diese Terme im wesentlichen die „Sprache“, in der die Eigenschaften formuliert sind. Statt Termalgebra wird auch häufig Wortalgebra gebraucht. Den Ausdruck „Zeichenreihe“ hat schon Thue 1914 benutzt.Google Scholar
  7. 7.
    Aus dem Wertebereich der äußersten Operation des Terms ergibt sich, zu welcher Trägermenge der Term gehört.Google Scholar
  8. 8.
    Faßt man einen Term algorithmisch als detailliertes Objekt auf (vgl. 2.14.2), so wird die Herkunft des Ausdrucks „Rechenstruktur“ (engl. „computational structure “) deutlich.Google Scholar
  9. 9.
    Die Bezeichnungen stammen aus der Kategorientheorie.Google Scholar
  10. 10.
    Wirsing et al. 1980 und Wirsing, Broy 1980 geben ziemlich weitreichende Bedingungen für die Existenz von initialen und terminalen Algebren an.Google Scholar
  11. 11.
    Die Beschränkung auf CSΣ, bringt auch mit sich, daß es Aussagen geben kann, die zwar für CS Σ, gültig, aber mit nicht beweisbar sind (Unvollständigkeitssatz von Gödel-Rosser). Zu einer solchen Aussage gibt es dann stets eine nicht endlich erzeugte Algebra, in der sie falsch ist (Gödelscher Vollständigkeitssatz der Prädikatenlogik 1. Stufe). Vgl. z. B. Shoenfield 1967.Google Scholar
  12. 12.
    Dies entspricht genau der realen Situation etwa in Datenbanksystemen: die interne Speicherung der Informationen ist uninteressant, die Antworten auf alle möglichen Anfragen müssen dagegen wohldefiniert sein.Google Scholar
  13. 13.
    Da diese Definition nicht genau dem üblichen Vollständigkeitsbegriff der formalen Logik entspricht, hat Guttag das Wörtchen „hinreichend“ hinzugefügt.Google Scholar
  14. 14.
    Bei konkreten Rechenstrukturen kann dagegen die Angabe der Funktionalität zur notationellen Vereinfachung unterdrückt werden. Aus mnemotechnischen Gründen führen wir in der Bezeichnung der definierten Trägermenge in der Regel eine eingebrachte parametrische Art mit auf.Google Scholar
  15. 15.
    Entsprechend unserer Bemerkung in 3.1.3.1 müßte man daher hier streng genommen wieder von einem Typ-Schema sprechen.Google Scholar
  16. 16.
    Die hier verwendete Typzugehörigkeitsangabe weist Ähnlichkeiten mit den Operationen zum „Aufbau von Theorien“ in Burstall, Goguen 1977 auf. Bereits an dieser Stelle ist auch eine Warnung bezüglich der Typzugehörigkeitsangabe angebracht: wenn man sie verwendet, so muß man sehr sorgfältig darauf achten, daß man keine inkonsistenten Eigenschaftensysteme erzeugt.Google Scholar
  17. 17.
    Diese Schreibweise macht nochmals klar, daß die für Algorithmen über einer Rechenstruktur maßgeblichen Aussagen aus den Eigenschaften (und nicht aus der Formulierung des Rumpfs) gewonnen werden; man hat immer die Möglichkeit, den Rumpf einer Rechenstruktur auszuwechseln, ohne gleichzeitig alle Algorithmen über dieser Rechenstruktur ändern zu müssen.Google Scholar
  18. 18.
    Die meisten Eigenschaften stehen bereits bei McCarthy 1960.Google Scholar
  19. 19.
    Das in 3.2.1.2 angeführte Modell b) ist keine Rechenstruktur dieses Typs, es ist in G nicht erzeugbar. Es ist jedoch Rechenstruktur des nachfolgenden abstrakten Typs Z2.Google Scholar
  20. 20.
    Viele Einzelheiten für endlich erzeugte Gruppen („diskrete Gruppen“) findet man bei H. S. M. Coxeter, W. O. J. Moser, “Generators and Relations for Discrete Groups” (3. Aufl., Springer 1972).Google Scholar
  21. 21.
    Vgl. auch den ALGOL 68-Bericht, Ziffer 10.2.7.Google Scholar
  22. 22.
    Auf die Notwendigkeit, den subtilen Begriff array präziser zu fassen, haben insbesondere Hoare 1970 und Dijkstra 1976 hingewiesen.Google Scholar
  23. 23.
    Lat. grex: Herde, Schar — die Sprachwurzel von Aggregat.Google Scholar
  24. 24.
    Von engl. „double-ended queue“ (Knuth 1973). 25 Engl. queue, auch circular store oder FIFO („first in, first out“) list.Google Scholar
  25. 26.
    Für Einzelheiten siehe P. Deussen, „Halbgruppen und Automaten“ (Springer 1971), S. 17 ff.Google Scholar
  26. 27.
    Die Aussage ∀ a, b ∈M C sequ x: Ipart(a, b) heißt in der Codierungstheorie „FanoBedingung für M“, vgl. auch Bauer, Goos 1973, S. 33.Google Scholar
  27. 28.
    Vgl. damit Aufgabe 3.2.5–1 a).Google Scholar
  28. 29.
    Für Einzelheiten siehe P. Deussen, „Halbgruppen und Automaten“ (Springer 1971). Die Eigenschaften finden sich im wesentlichen bereits bei Dyck 1882.Google Scholar
  29. 30.
    Man könnte bei den folgenden Überlegungen auch sequ x nehmen, in das word x eingebettet ist. Werden Zerlegungsoperationen gebraucht, so ist das sogar notwendig.Google Scholar
  30. 31.
    Vgl. Hoperoft, Ullman 1969.Google Scholar
  31. 32.
    Die Bezeichnung stammt von J. Guttag.Google Scholar
  32. 33.
    Wenn x von endlicher Kardinalität ist, so ist die Objektmenge finset x die Potenzmenge βß(x) von x : es gilt card(finset x) = 2card(x). Falls x nicht endlich ist, umfaßt finset x allerdings (wegen des Erzeugungsprinzips) nur die Menge ßf (x) aller endlichen Teilmengen von x.Google Scholar
  33. 34.
    Die Definition von Mengen durch abstrakte Typen ist auch bei Goguen et al. 1978 zu finden. Die Idee geht auf von Henke 1975 zurück.Google Scholar
  34. 35.
    Geläufiger sind die Infix-Operationssymbole U, u, \. Für die Operation iselem wird auch das Infix-Operationssymbol ∈ verwendet, das vom Anfangsbuchstaben des griechischen ÉQTrv, der Kopula «ist» der Aristotelischen Logik, herkommt.Google Scholar
  35. 36.
    Es ist (in ähnlicher Form) schon vorher von Dedekind in seiner Schrift „Was sind und was sollen die Zahlen?“ (Braunschweig 1887) angegeben worden.Google Scholar
  36. 37.
    In I N D EXS gehört pred zu den erzeugenden Funktionen.Google Scholar
  37. 38.
    Für Zykelzahlen wird ._< . zur Ordnung auf dem „aufgeschnittenen“ Zyklus.Google Scholar
  38. 39.
    Gilt CYCL, so ist die Null im Sinne der Teilbarkeitstheorie (3.4.2) zerlegbar, so daß die Teilbarkeit keine Ordnung zu liefern braucht.Google Scholar
  39. 40.
    Der Satz gilt noch allgemeiner auch für gewisse nichtkommutative Fälle, die jedoch den für uns interessanten Fall word x mit mehrelementigem x nicht einschließen.Google Scholar
  40. 41.
    Jeder Buchhalter weiß, daß es sich nicht lohnt, nach jeder Buchung den Saldo zu ziehen. Auch werden in der doppelten Buchführung zu Kontrollzwecken die Sollsummen und Habensummen getrennt betrachtet.Google Scholar
  41. 42.
    Es ist jedenfalls irreführend und fehlerträchtig. Daran ändert auch nichts, daß ein führender Hersteller es sich jahrelang leisten kann, sich über solche Bedenken hinwegzusetzen.Google Scholar
  42. 43.
    Es hat den Anschein, daß erstmals von Neumann diese Darstellung für Rechenmaschinen in Betracht gezogen hat; für Logarithmen trigonometrischer Funktionen ist sie geläufig.Google Scholar
  43. 44.
    Um nachzuweisen, daß die klassische Teilbarkeitsrelation eine Ordnung ist, zeigt man meist elementar, daß a I b nach sich zieht a<_ b, daß also die Teilbarkeitsrelation in die Kleiner-GleichRelation eingebettet („topologisch einsortiert“) werden kann.Google Scholar
  44. 45.
    Genaugenommen handelt es sich um die Einführung einer Rechenstruktur structure INT = some SEQU (int).Google Scholar
  45. 46.
    Ein solcher Divisionsalgorithmus mit nachträglicher Bereinigung (s. u.) des Resultats kann gegenüiber der konventionellen Division Vorteile haben.Google Scholar
  46. 47.
    Für die Darstellung aller Teilmengen einer Menge x nach 3.6.4.2 braucht man somit card (x) Bits.Google Scholar
  47. 48.
    PASCAL sieht die Möglichkeit vor, dem Ubersetzer «Packen» und «Entpacken» für zusammengesetzte Objekte vorzuschreiben.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1984

Authors and Affiliations

  • Friedrich L. Bauer
    • 1
  • Hans Wössner
    • 1
  1. 1.Institut für InformatikTechnischen Universität MünchenMünchen 2Deutschland

Personalised recommendations