Package containing a latex proof structuring environment according to the proof structuring rules of the course "Argumentation & Proof" / the proof tutorial of "Formal Methods of CS" at TU Vienna.
Place the file abproofs.sty
inside of your latex working directory. Add the line \usepackage{abproofs}
in your latex file.
\begin{abproof}[NUM_INDENTS]
- NUM_INDENTS is optional, has to be a positive integer and specifies the number of needed indentations in your proof. The default is 6. The maximum I got it to work with is 11. The bigger this number is, the less indentation per indentation step is used.
\ass{INDENT}{PROOF_STEP}
- INDENT is the level of indentation this proof step has
- PROOF_STEP is the content of the assumption itself
\step{INDENT}{PROOF_STEP}{REF_STEPS}{TYPE}{OPERATOR}
- INDENT is again the level of indentation this proof step has
- PROOF_STEP is the content of the proof step itself
- REF_STEPS are the line numbers of the proof steps used to derive this step
- TYPE is the type of proof rule that was used (pr,us,def)
- OPERATOR is the operator of the used proof rule (\forall, \land, ...) - this part is always evaluated in math-mode, so there is no need to specify $$
- The last three parameters get formatted into (REF_STEPS; TYPE
$OPERATOR$ )
\end{abproof}
\begin{abproof}[4]
\ass{1} {Let $x \in (A \setminus B)$ be arbitrary}
\step{1} {$x \in A$ and $x \notin B$} {1}{def}{\setminus}
\step{1} {$x \in A$} {2}{us}{\land}
\step{1} {$x \notin B$} {2}{us}{\land}
\step{1} {$x \in \overline{B}$} {4}{def}{\overline{\cdot}}
\step{1} {$x \in (A \cap \overline{B})$} {3, 5}{def}{\cap}
\step{0} {for all $x\in (A\setminus B):x\in (A\cap \overline{B})$} {1-6}{pr}{\forall}
\step{0} {$(A \setminus B) \subseteq (A \cap \overline{B})$} {7}{def}{\subseteq}
\end{abproof}
clean! thanks for your effort ❤️