Blatt 6 - Aufgabe 5b - Konkatation

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Blatt 6 - Aufgabe 5b - Konkatation
Ich bin mir unsicher, ob ich die Aufgabe richtig verstanden habe, daher wäre schön, wenn jemand überprüfen könnte:
(1) A++B = {A, B} → A v B
(2) A++A = {A, A} → A v A = A
(3) {A, A} \neq {A}
Mangelnd einer vernünftigen Darstellung der Angabe der Aufgabenstellung, würde ich folgende Darstellung hier im Thread verwenden:
(H1 ++[A]++T1) (H2 ++[:A]++T2) → (H1 ++H2 ++T1 ++T2)

(4) An dieser Stelle hätte ich die Frage: Was passiert, wenn man wählt: H1 := \neq A, H2 = A ?


Was willst du damit sagen? Was soll/darf A bzw. B sein? Wenn es Listen sein sollen, kannst du sie zwar aneinanderhängen (mittels ++), aber nicht ver-odern (mittels ∨). Wenn es logische Formeln sein sollen, kannst du sie zwar verodern, aber nicht aneinanderhängen.

In der Aufgabenstellung sind A und B übrigens Literale.

Außerdem verstehe ich nicht, was du mit A++B = {A, B} sagen willst. Linkes ist die aneinanderhängung der Listen A und B, rechtes ist eine Menge, mit den Elementen A und B. Diese zwei Sachen sind also auf keinen Fall gleich.

Ich glaube du verstehst „Listen“ falsch. Listen von X sind wie Listen in AuD oder SP: nämlich eine geordnete aneinanderreihung von Dingen von Typ X. Z.B. Listen von Integern. Beispiele sind [1,2,3] oder [1]; aber nicht 1. Zum Beispiel ist [1,2] ++ [1] = [1,2,1], jedoch 1 ++ [2] ist nicht definiert, da 1 ja ein integer und keine Liste von Integern ist.

Und hier werden eben Listen von Literalen betrachtet.

Was meinst du mit „:“? Oder meinst du einfach Negation? (¬ erhältst du via Compose + - + ,).

Hier ist auch wieder das „Was sind Listen?“-Problem, deshalb gehe ich davon aus, dass du meinst H1 := [¬A] und H2 = [A]. Dann würdest du erhalten:

([¬A] ++[A]++T1) ([A] ++[¬A]++T2) → ([¬A] ++[A] ++T1 ++T2)

Wenn man da die Definition von ++ einsetzt, erhält man:

([¬A, A]++T1) ([A,¬A]++T2) → ([¬A,A] ++T1 ++T2)