0 Daumen
910 Aufrufe

Überprüfe folgende Formeln auf syntaktische Korrektheit:

$$ \begin{array}{l}{\text { 1. }((a \rightarrow c) \vee(b \rightarrow \neg c))} \\ {\text { 2. } a \wedge b \vee c} \\ {\text { 3. }((a) \vee c} \\ { \text { 4. }((a) \vee(\neg \neg b)))} \\ {\text { 4. }((a \vee b) \rightarrow(a \vee c))} \\ {\text { 6. }((\neg \neg a \downarrow))} \\ {\text { 8. }((\neg \neg a \downarrow \neg b))} \\ { \text { 8. }((a \leftrightarrow b) \wedge c) \oplus(a \wedge \neg b))} \\ {\text { 9. }((a \uparrow b) \leftrightarrow(a \neg c))} \\ {\text { 11. }((a \rightarrow b) \downarrow(a \leftarrow c))} \\ {\text { 12. }(\neg(a \downarrow b) \leftrightarrow \neg \neg(a \vee b))}\end{array} $$


Ansatz/Problem:

Würde jetzt von Anfang an aussagen, dass 6-12 nicht korrekt sind, da sie Konjunktoren enthalten, die syntaktisch nicht definiert sind.

Avatar von

Bei 3, 4 und z.B. 8 passt mit der Klammerung etwas nicht.

Sind irgendwelche syntaktische Regeln gegeben, die ihr überprüfen müsst?

Könnten die fraglichen "Konjunktoren" auch Zeichen für Variable sein?

Diese Symbole existieren ja in der Aussagenlogik nur wurden die in unseren VL nicht in der Syntaxdef genannt, wie würdet ihr da vorgehen? Würde die jetzt für die Syntax akzeptieren und nur auf Klammern und Negation eingehen.

Du musst schon die "Syntaxdef" genau angeben.

Klammerfehler sind in der Regel syntaktische Fehler (aber nur, wenn für die Klammern eine Syntax vorgegeben ist).

Hier wurde z.B. eine Syntax definiert: https://www.stacklounge.de/5002/syntax-und-semantik-aufgabe?show=5013#c5013 Ist aber wohl nicht Aussagenlogik.

1 Antwort

0 Daumen

Antwort mit KI erzeugt

Überprüfung der syntaktischen Korrektheit von Aussagenlogik-Formeln

Um die syntaktische Korrektheit der gegebenen aussagenlogischen Formeln zu überprüfen, müssen wir sicherstellen, dass sie den Regeln der Aussagenlogik folgen. Insbesondere prüfen wir, ob jede Formel korrekt geklammert ist und ob Operatoren sowie Operanden gemäß den Regeln der Aussagenlogik verwendet werden.

1. ((a → c) ∨ (b → ¬c))
- Diese Formel ist syntaktisch korrekt. Jeder Operator und Operand wird gemäß den Regeln verwendet, und die Klammern sind korrekt gesetzt.

2. a ∧ b ∨ c
- Theoretisch syntaktisch korrekt, kann jedoch zu Verwirrungen führen aufgrund der fehlenden expliziten Klammern, die die Auswertungsreihenfolge klären würden. In der Praxis ist es besser, Klammern zu setzen, um Eindeutigkeit zu gewährleisten: \( (a \wedge b) \vee c \) oder \( a \wedge (b \vee c) \).

3. ((a) ∨ c
- Dies ist syntaktisch inkorrekt, da eine schließende Klammer fehlt.

4. ((a) ∨ (¬¬b)))
- Syntaktisch inkorrekt aufgrund einer überzähligen schließenden Klammer.

5. ((a ∨ b) → (a ∨ c))
- Syntaktisch korrekt.

6. ((¬¬a ↓))
- Syntaktisch inkorrekt, da der "↓" (NOR-Operator) in der üblichen Aussagenlogik nicht definiert ist und zudem eine Klammerung fehlerhaft ist.

7. Fehler: Keine Formel mit der Nummer 7 angegeben.

8. ((¬¬a ↓ ¬b)) und ((a ↔ b) ∧ c) ⊕ (a ∧ ¬b))
- Beide Formeln sind syntaktisch inkorrekt durch die Verwendung des "↓" und des "⊕" Operators, welche in der Standardaussagenlogik nicht üblich sind. Außerdem hat die zweite Formel mit der Nummer 8 eine fehlerhafte Klammerung.

9. ((a ↑ b) ↔ (a ¬c))
- Syntaktisch inkorrekt wegen der Verwendung des "↑" (NAND-Operator) und des unklaren "¬c" Teils (es fehlt ein Operator vor "¬c").

10. Fehler: Keine Formel mit der Nummer 10 angegeben.

11. ((a → b) ↓ (a ← c))
- Syntaktisch inkorrekt wegen der Verwendung des "↓" Operatoren und des "←", was nicht standardmäßig in der Aussagenlogik verwendet wird.

12. (¬(a ↓ b) ↔ ¬¬(a ∨ b))
- Syntaktisch inkorrekt wegen der Verwendung des "↓" Operators. Auch wenn "¬¬(a ∨ b)" als doppelter Negation syntaktisch korrekt scheint, macht die Nutzung des "↓" die Gesamtformel problematisch in Standardkontexten.

Zusammenfassend sind die Formeln 1, 2 (mit Vorbehalt bezüglich der Eindeutigkeit der Operatorenreihenfolge), und 5 syntaktisch korrekt im Hinblick auf die traditionelle Aussagenlogik. Die restlichen Formeln sind entweder aufgrund von Klammernfehlern oder der Verwendung nicht standardisierter Operatoren syntaktisch inkorrekt.
Avatar von

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community