CalcCheck is a proof checker for calculational proofs in the logics of the popular textbook A Logical Approach to Discrete Math (LADM) by David Gries and Fred Schneider.
Main features:
CalcCheck MyProofs.ltx
CalcCheck is implemented in Haskell and is still under development. Bug reports and suggestions for improvements are very welcome.
The homepage of CalcCheck is http://CalcCheck.McMaster.ca/.
texlive-math-extra
.)
tar xzf CalcCheck-0.2.29.tar.gz
cd CalcCheck-0.2.29
ghc --make Setup ./Setup configure ./Setup build ./Setup installwill install CalcCheck most likely into
/usr/local/bin
,
which should be in your default PATH
anyway.
(On most UNIX-like systems, including MacOS X,
you probably need to execute the last step
prefixed with “sudo
”.)
Simply say: cabal install
This should produce an executable, and install it (at least on
UNIX-like systems) into
.cabal/bin
in your home directory.
If you have that directory in your PATH
,
it should be found no matter from which directory you issue
CalcCheck commands.
CalcCheck.exe
(4.2MB)
-q
and use the generated HTML file for feedback:
> CalcCheck -q MyProofs.ltx CalcCheck-0.2.24: No syntax errors. CalcCheck-0.2.24: Now checking... CalcCheck-0.2.24: Finished checking MyProofs.ltx CalcCheck-0.2.24: Wrote MyProofs.ltx.html
CalcCheck
(6.8MB)
LaTeX input:
\begin{calc}[(3.16) $(p \nequiv q) \equiv (q \nequiv p)$] p \nequiv q \CalcStep{=}{Def.~of $\nequiv$ (3.10)} \lnot(p \equiv q) \CalcStep{=}{Symmetry of $\equiv$ (3.2)} \lnot(q \equiv p) \CalcStep{=}{Def.~of $\nequiv$ (3.10), with $p, q \becomes q, p$} q \nequiv p \end{calc} |
LaTeX result:
CalcCheck HTML output:
Proving (3.16) (p ≢ q) ≡ (q ≢ p):
p ≢ q = 〈 Def.~of $\nequiv$ (3.10) 〉 — CalcCheck-0.2.12: (3.10) Definition of ≢ ─ OK ¬(p ≡ q) = 〈 Symmetry of $\equiv$ (3.2) 〉 — CalcCheck-0.2.12: (3.2) Symmetry of ≡ ─ OK (no change) ¬(q ≡ p) = 〈 Def.~of $\nequiv$ (3.10), with $p, q \becomes q, p$ 〉 — CalcCheck-0.2.12: (3.10) Definition of ≢ ─ OK q ≢ p — CalcCheck-0.2.12: Proof matches goal ─ OK |