This page tries to help you getting started with writing formal proofs in the CalcCheck langauge. For help with the CalcCheckWeb web-app interface, see Getting Started with CalcCheckWeb.
Example (if this does not display correctly, choose Unicode (UTF-8) character encoding in your browser):
Theorem (15.17) “Self-inverse of unary minus”: - (- a) = a Proof: - (- a) =⟨ “Identity of +” ⟩ 0 + - (- a) =⟨ “Unary minus” ⟩ a + (- a) + - (- a) =⟨ “Unary minus” ⟩ a + 0 =⟨ “Identity of +” ⟩ a
Thoerem
and Proof
are
not indented at all.
Theorem
, or indented by at
least two spaces on the following lines.
Proof:
”, and every part of the
calculation needs to be indented by at least two spaces.
⟨
and ⟩
.
(There may be spaces between the calculation operator and the
hint-opening bracket.)
The hint inside is surrounded by spaces: There needs to be at least one space after the opening hint bracket, and at least one space before the closing hint bracket.
The whole hint, including the hint-closing bracket, has to be indented at least two spaces beyond the indentation of the calculation operator.
⟨
and ⟩
are non-empty sequences of hint items,
separated by commas or by “and
”.
In the beginning, each hint is restrict to contain only one hint item.
Simple hint items are:
(15.17)
, (15.25a)
.
The enclosure always consists of round parentheses, and there
are never any space characters inside.
“
and ”
.
Substitution
Fact
`
expr`
,
where expr is a variable-free Boolean expression
that evaluates to true
in the current setting.
Induction hypothesis
.