Das geht eigentlich sehr tief. Seltsam, dass Wikipedia es nie erwähnt.
Was Sie suchen, sind sehr harte Beweise, die wahrscheinlich mit Dingen wie Fitch-Beweisen erreicht werden können . Wir versuchen also, Dinge aus unseren gegebenen Daten abzuleiten. Es gibt viele Fitch Proof Builder , die viel Arbeit für Sie erledigen. Aber einige Übungen sind einfach nicht zu beweisen.
Ich weiß nicht, ob der Benutzer die Berechnungen durchführen soll. Wenn ja, beachten Sie Dinge wie 3SAT , die für die Polynomzeit unlösbare Probleme darstellen.
Was die Datenstrukturen betrifft, die Sie verwenden möchten, möchten Sie eine Art Rule
Klasse haben. Die Regel kann je nach Typ beliebig sein. Es gibt nicht viele Regeln in Prädikatenlogiken , daher kann dies durch Erben überwunden werden (if, iff und oder, not ...). Diese Regeln müssen nur ausgewertet werden. Und das einzige, was eine Regel tun kann, ist, wahr oder falsch zurückzugeben. Denn genau das machen Sie mit Prädikatenlogiken. An der Universität wurde mir empfohlen, dieses Buch von John Kelly zu lesen .
Zurück zu den Klassen: Sie sollten diese Probleme so sehen, als würden Sie normale Berechnungen mit Mathematik implementieren. Was ist ein +
Operator? Es enthält zwei Parameter, die eine neue Gleichung für sich oder nur eine Zahl sein können. Ich denke, Sie haben das gleiche mit Regeln. Sie können neue Regeln als Parameter oder nur einen Booleschen Wert (sogenanntes Prädikat) haben.
Ich hoffe das hilft dir sehr, besonders die Referenzen. Wenn Sie mehr wissen wollen oder wenn ich in die falsche Richtung gehe, sagen Sie es mir bitte.