fmidue / logic-tasks

0 stars 1 forks source link

bei Wahrheitstafel-Aufgaben die Formeln "weniger geklammert" ausgeben #223

Closed jvoigtlaender closed 6 days ago

jvoigtlaender commented 6 days ago

Aus https://github.com/fmidue/logic-tasks/issues/221#issue-2669688023:

Letzteres hätte zum Beispiel Relevanz bei Wahrheitstafel-Aufgaben. Zum Beispiel könnte da im Moment eine Formel wie folgende ausgewürfelt werden (als diejenige Formel, zu der eine Wahrheitstafel anzugeben/auszufüllen ist): F = (C => C) <=> (¬B ∧ (A ∧ D)). Aber zu dem Zeitpunkt in der Lehrveranstaltung, wo diese Aufgabe verwendet wird, werden assoziative Operationen eigentlich schon nicht mehr so streng geklammert (und in der Tat werden die Wahrheitstafel-Aufgaben ja alternativ auch durch KNFs/DNFs gespeist). Also eigentlich würde man da dann gern F = (C => C) <=> (¬B ∧ A ∧ D) vorgeben. Aber gibt es einen Pretty-Printer, der den erzeugten SynTree so ausgibt? Oder muss man dafür entweder statt den SynTree zu würfeln, eine PropFormula würfeln, oder eine Konvertierungsfunktion zwischen diesen Typen benutzen?

Wahrscheinlich kann einfach Trees.Print.simplestDisplay verwendet werden?

jvoigtlaender commented 6 days ago

Das Issue wäre wohl zu adressieren, indem in https://github.com/fmidue/logic-tasks/blob/ae5b2b6005f61a2f6acc287b965cacb47ea60468/src/LogicTasks/Util.hs#L28-L31 die letzte Zeile durch einen Aufruf von simplestDisplay ersetzt wird.