Probeklausur SS13

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.

Probeklausur SS13
Da es noch keinen Thread dazu gibt, dachte ich mir, dass ich einfach mal anfange ein paar meiner (hoffentlich korrekten?!) Lösungen bereitzustellen und noch ein bisschen was zu fragen.

Aufgabe 1:

Die Wahrheitstafeln brauche ich glaub ich nicht extra abzutippen.

1.1: Konsequenz gilt
1.2: Konsequenz gilt nicht. [ A → ⊥; B → ⊤]
1.3: Konsequenz gilt nicht. [ A → ⊥; B → ⊥; C → ⊥]
1.4: Konsequenz gilt nicht. [A → ⊥; B → ⊥]

Aufgabe 2:

Ich konnte hier keinen Widerspruch finden, gelöst habe ich die Aufgabe mit einer Tabelle wie in dem Lösungsversuch der Probeklausur des letzten Semesters.
(Link: http://wwwcip.cs.fau.de/~hu78sapy/pdf/gl.pdf )
Mir wurde gesagt, dass dieser Lösungsweg auch formal korrekt sei.

Aufgabe 3:

Die Terme sind unifizierbar. mgu: [X → h(h(W); Z → h(W)]

Hier hätte ich allerdings eine Bitte. Ich würde mich sehr freuen, wenn jemand den Lösungsweg dazu posten könnte und zwar in syntaktisch korrekter Form. An sich finde ich die Unifikation recht verständlich, allerdings habe ich die Befürchtung, dass ich es nicht formal korrekt löse.

Aufgabe 4:

zip([],[],[]).
zip([],[_|_],[]).
zip([_|_],[],[]).

zip([X|Xs],[Y|Ys],[[X,Y]|XYs]) :-
         zip(Xs, Ys, XYs).

zip2([],[],[]).
zip2([],[Y|Ys],[Y|Ys]).
zip2([X|Xs],[],[X|Xs]).

zip2([X|Xs],[Y|Ys],[[X,Y]|XYs]) :-
         zip2(Xs,Ys,XYs).

Aufgabe 5:

Bei dieser Aufgabe verwirrt mich die Klammerung.

∃X.(p(X) → ∀Y.p(Y))

Ich gehe zwar davon aus, dass man ∃X.p(X) per Fitch-Kalkül zu ∀Y.p(Y) “umwandeln” soll, dachte mir aber, dass ich lieber noch einmal nachfrage, auf Grund der Position der Klammern.

Aufgabe 6:

(Noch?) nicht bearbeitet.

Alle Angaben natürlich ohne Gewähr™, Verbesserungsvorschläge nehme ich gerne entgegen und ich würde mich freuen, wenn jemand meine Fragen beantworten kann :slight_smile:

2 Likes

Mein Versuch zur Aufgabe 6:

Zu zeigen ist:

IV: (K |= Phi → psi) → (K |= X[A → Phi] → X[A → psi])

IA: X ist ein Atom B
Fall 1: B = A
(K |= Phi → psi) → (K |= B[A → Phi] → B[A → psi])
<=>
(K |= Phi → psi) → (K |= Phi → psi)
<=>

Fall 2: B != A
(K |= Phi → psi) → (K |= B[A → Phi] → B[A → psi])
<=>
(K |= Phi → psi) → (K |= B → B)
<=>
(K |= Phi → psi) → (K |= ⊤)
<=>
(K |= Phi → psi) → ⊤
<=>

Die Induktionsschritte bereiten mir jetzt allerdings Kopfschmerzen.
Wenn ich von X auf phi und psi schließe, habe ich wieder eine aussagenlogische Formel. Damit kann ich die Induktionsvorraussetzung direkt anwenden und bin fertig. Mit den restlichen Alternativen von aussagenlogischen Formeln verfahre ich ebenso.
So einfach kann das aber nicht sein, oder?


Hab hier mal die Aufgabe 3, wie ich sie gelöst hab.

             { f(g(X, H(Z)), Z) = f(g(h(Z), h(Z)), h(W)) }

-decomp–> { g(X, h(Z)) = g(h(Z), h(Z)), Z = h(W) }

-decomp–> { X = h(Z), h(Z) = h(Z), Z = h(W) }

-decomp–> { X = h(Z), Z = Z, Z = h(W) }

-del-------> { X = h(Z), Z = h(W) }

-elim------> { X = h(h(W)), Z = h(W) }

mgu: [X → h(h(W)), Z → h(W)]

Habt ihr das auch so?

1 Like

Bei mir sieht es genauso aus, allerdings is mir das “decomp”, “del” und “elim” neu. Wurde das in den Übungen so gemacht?


Ich denke mal, dass dies nur sein Stil ist. Die Hauptsache ist, dass ihr Schritt nach Schritt die Regeln anwendet und zeigt, dass ihr das Konzept verstanden habt und anwenden koennt.


Naja wir hatten diese Begriffe in der Vorlesung, soweit ich weiß.
Ob sie jetzt wirklich nötig sind, weiß ich nicht.


Habe ich auch so, nur habe ich das erste decomp quasi ausgelassen und direkt mit dem zweiten decomp angefangen. (Sozusagen direkt f(g(…)) in einem Schritt erledigt) Ka ob das trotzdem stimmt/man das machen darf.

Hat jemand was zu Aufgabe 5?


Damit die Konsequenz nicht gilt muss die Wahrheitsbelegung meiner Meinung nach [A → ⊤; B → ⊤] sein.
Es muss die linke Seite erfüllt sein und die rechte nicht.


Klar, das ist auch nur ein Beispiel, bei dem die Konsequenz nicht erfüllt ist. Bei [A → ⊤; B → ⊤] ist das genau so der Fall, wie bei [A → ⊥; B → ⊥].

Oder seh ich da was falsch?


Bei einem Gegenbeispiel zu einer logischen Konsequenz muss die linke Seite wahr und die rechte falsch sein.
Wenn B in der Wahrheitsbelegung aber falsch ist, ist damit die rechte Seite wahr (es wird ja negiert) und damit die Wahrheitsbelegung kein passendes Gegenbeispiel.


Stimme vobi zu, nur bei A->T und B->T gibts nen Gegenbeispiel.
(Bezieht sich auf 1.4)


Oh, okay. Danke für die Aufklärung!


ich hab mal was zur Aufgabe 5 versucht, Kritik erwünscht :slight_smile:

Aufgabe 5


Der Widerspruch in Zeile 8 gilt nur im Unterbeweis mit der Annahme \forall Y p(Y). Da fehlt also noch ein bisschen was :wink:


https://fsi.informatik.uni-erlangen.de/forum/post/112645

Diese Lösung konnte ich im Forum finden, die ist auch deutlich länger.


Warum gilt die Kosequenz 1 in der Aufgabe 1? Erste Wahrheitstaffel (linke Seite) habe ich überall “true”, in der zweiten (rechte Seite) habe ich aber zweimal “false”. Und wie begründet man es wörtlich richtig, ob die Kosequenz gilt oder gilt nicht?
Und warum gilt die Kosequenz 3 nicht? Bei mir führt die ganze Aussage tatsächlich zu “false”…


Hallo varj,

Auf der linken Seite steht nur fast überall „True“. Wenn [A->⊤,B->⊤,C->⊥] dann nicht, denn ((⊤ und ⊤) → ⊥) ist „falsch“.
Die rechte Seite ist auch nur fast überall „True“, denn (⊤ → ( ⊤ → ⊥)) ist ebenfalls „falsch“.

Um zu begründen, ob eine Formel nun eine log. Konseq. einer anderen Formel ist, reicht es die Gültigkeit der Implikation der Forlmeln zu zeigen. Also die Gültigkeit phi (linke Seite) → omega (rechte Seite).

Bei der 3. Aufgabe könnte was mit deiner Wahrheitstafeln nicht stimmen, denn nicht alle Aussagen sind „false“. Bei mir, sofern es stimmt, gibt es 3 Wahrheitsbelegungen für eine „Wahre“-Formel.

Gruß