sequents is an implementation of Roy Dyckhoff's LJT—a sequent calculus for intuitionistic logic that is decidable and does not need loop checking
First make sure that you have smlnj
installed. To build, run
./script/build.sh
Let's prove the commutativity of conjunction A ∧ B ⊃ B ∧ A
. Using the ASCII
approximations of the connectives, we can pipe this proposition into sequents
.
➜ echo "A /\ B => B /\ A" | ./sequents
which gives the following:
Proof found!
Theorem: A ∧ B ⊃ B ∧ A.
• A, B ----> B by init
• A ∧ B ----> B by ∧L
• B, A ----> A by init
• A ∧ B ----> A by ∧L
• A ∧ B ----> B ∧ A by ∧R
• ----> A ∧ B ⊃ B ∧ A by ⊃R
QED
You can also generate LaTeX with --latex
flag. Make sure that you have ebproof
installed though.
➜ echo "A /\ B => B /\ A" | ./sequents --latex > out.tex
➜ pdflatex out.tex