== Inhalt ==

Mit diesem Programm können Sie prüfen, ob die Ableitung einer
aussagenlogischen Formel korrekt ist.


== Syntax ==

Formeln werden folgendermassen kodiert:
  * Variablen sind Buchstabenfolgen: A, B, Sonne, Regen, ...
  * Konjunktionen:   (phi /\ psi)
  * Disjunktionen:   (phi \/ psi)
  * Negationen:      ~phi
  * Implikationen:   (phi -> psi)
  * Biimplikationen: (phi <-> psi)

Ableitungen sind Dateien mit einem Ableitungsschritt pro Zeile. Ein
Ableitungsschritt hat das Format

  <Formel> | <Regel> | <Regelparamter>

Dabei ist <Formel> die Formel, die Sie als nächstes ableiten wollen,
<Regel> ist der Name der Regel, die Sie verwenden, und Regelparameter
sind die Zeilennummern der Formeln mit der Sie die Regel verwenden
wollen. Schauen Sie sich für ein Beispiel die Datei proof.txt an
und lesen Sie für Details die Dokumentation (insbesondere
in logic/proofs/Parser.java und logic/proofs/rules/Calculus.java).


== Kompilieren und Ausführen des Programms ==
   === Variante 1 (Eclipse) ===
Im Archiv ist ein Projekt enthalten, das Sie mit der IDE Eclipse öffnen
können. Zum Ausführen geben Sie den Pfad zu einer Datei mit der zu
testenden Ableitung unter "Run Configurations" -> "Arguments" an.

   === Variante 2 (Konsole) ===
Öffnen Sie eine Konsole und navigieren Sie zum Verzechnis in welchem
sich diese README Datei befindet. Geben Sie anschliessend folgende
Befehle in die Konsole ein um das Program zu kompilieren.

$ cd src
$ javac logic/proofs/ProofChecker.java

Beachten Sie, dass dazu ein Javakompiler auf Ihrem Rechner installiert
sein muss.

Um Ihre Ableitungen zu überprüfen, rufen Sie das Programm mit folgendem
Befehl auf.

$ java logic.proofs.ProofChecker ../proof.txt

== Ausgabe ==

Bei einer korrekten Ableitung wird die abgeleitete Formel und alle
verwendeten Annahmen ausgegeben. Bei einem Fehler wird eine
Fehlerbeschreibung ausgegeben, die aussagt, welcher Schritt nicht
verifiziert werden konnte.
