In dieser Präsentation lernen Sie, wie man Mengenoperationen in mathGUIde darstellt und wie man die Gleichheit zweier Mengen durch eine Fallunterscheidung ermitteln kann.
A = Set([1,2]) B = Set([2,3]) A + B # Vereinigung A & B # Durchschnitt A ^ B # Symmetrische Differenz A * B # Kartesisches Produkt A.powerset() # Potenzmenge A.card() # Mächtigkeit (Kardinalzahl)
Zwei Teilmengen A und B (einer Grundmenge M) sind gleich, wenn für alle möglichen Elemente x (aus M) gilt:
Um die Richtigkeit einer Mengengleichung wie z. B. des folgenden Distributivgesetzes
zu entscheiden, formen wird die Gleichung in eine logische Aussage um:
Mit den Definitionen von Durchschnitt und Vereinigung ergibt sich daraus
Die verbleibenden Vereinigungs- und Durchschnittsoperatoren lassen sich ebenso ersetzen:
Wenn wir jetzt die drei Aussagen durch Variablen ersetzen
bekommen wir
Die Richtigkeit dieser Aquivalenz kann mathGUIde überprüfen:
Logic.equivalent("a and (b or c)", "(a and b) or (a and c)")
Wie hat mathGUIde das entschieden? Ganz einfach, durch eine Fallunterscheidung. Wir nehmen diese Fallunterscheidung nun direkt vor: Dazu betrachten wir ein beliebiges Element x und fragen, in welchen der drei Mengen A, B und C es enthalten ist. Es gibt 23 = 8 Möglichkeiten, die wir in den rechten 8 Spalten der folgenden Tabelle unterscheiden (0 für nicht enthalten, 1 für enthalten):
In der ersten hellblauen Tabellenzeile stehen die Werte für die Vereinigung
von B und C. Hier steht (nach Def. der Vereinigung)
also genau dann eine Eins, wenn in der zweiten oder in der dritten Zeile eine Eins steht.
In den beiden anderen hellblauen Tabellenzeilen sind die Bestandteile der rechten Seite
der Mengengleichung ausgewertet.
Die linke Seite der Mengengleichung ergibt sich nun aus der ersten grauen
und der ersten hellblauen Zeile (erste dunkelblaue Zeile). Die rechte Seite der Mengengleichung ergibt
sich aus den beiden unteren hellblauen Zeilen (zweite dunkelblaue Zeile).
In allen acht Fällen stimmen die Ergebnisse überein (punktierte Linie!). Die beiden Mengen sind also gleich!
Die Fallunterscheidung lässt sich geometrisch darstellen:
Eine geometrische Darstellung dieser Mengen wird als „Venn-Diagramm“ bezeichnet.
Venn-Diagramme sind sehr praktisch für Mengengleichungen, in denen bis zu drei oder notfalls noch vier Mengen vorkommen. Für fünf und mehr Mengen wird es sehr aufwendig, die 25 und mehr Fälle übersichtlich abzugrenzen und zu überprüfen.
Wir beschränken uns auf die drei Mengen A, B, C. Wenn ein Element in A liegt, gibt es folgende Möglichkeiten (vgl. Abb.):
Mit den gleichen Überlegungen für B und C können wir die folgenden repräsentativen Mengen definieren:
A = Set(["100", "101", "110", "111"]) B = Set(["010", "011", "110", "111"]) C = Set(["001", "011", "101", "111"])
Unser Ausgangsbeispiel
lässt sich jetzt ganz einfach überpüfen:
# Ist A & (B+C) == (A & B) + (A & C) ?
print(A & (B+C))
print((A & B) + (A & C))
Die Ausgabe von mathGUIde zeigt die Gleichheit der beiden Mengen
Als Übung versuchen Sie es bitte einmal mit dem anderen Distributivgesetz:
Die symmetrische Differenz ist definiert durch
Wir überprüfen die Assoziativität der symmetrischen Differenz:
# Ist (A ^ B) ^ C == A ^ (B ^ C) ?
print((A ^ B) ^ C)
print(A ^ (B ^ C))
Wieder sehen Sie dass die beiden Mengen gleich sind.