  With the increase in industrial applications using Answer Set Programming,
the need for formal verification tools, particularly for critical applications,
has also increased. During the program optimisation process, it would be
desirable to have a tool which can automatically verify whether an optimised
subprogram can replace the original subprogram. Formally this corresponds to
the problem of verifying the strong equivalence of two programs. In order to do
so, the translation tool anthem was developed. It can be used in conjunction
with an automated theorem prover for classical logic to verify that two
programs are strongly equivalent. With the current version of anthem, only the
strong equivalence of positive programs with a restricted input language can be
verified. This is a result of the translation $\tau^*$ implemented in anthem
that produces formulas in the logic of here-and-there, which coincides with
classical logic only for positive programs. This thesis extends anthem in order
to overcome these limitations. First, the transformation $\sigma^*$ is
presented, which transforms formulas from the logic of here-and-there to
classical logic. A theorem formalises how $\sigma^*$ can be used to express
equivalence in the logic of here-and-there in classical logic. Second, the
translation $\tau^*$ is extended to programs containing pools. Another theorem
shows how $\sigma^*$ can be combined with $\tau^*$ to express the strong
equivalence of two programs in classical logic. With $\sigma^*$ and the
extended $\tau^*$, it is possible to express the strong equivalence of logic
programs containing negation, simple choices, and pools. Both the extended
$\tau^*$ and $\sigma^*$ are implemented in a new version of anthem. Several
examples of logic programs containing pools, negation, and simple choice rules,
which the new version of anthem can translate to classical logic, are
presented. Some a...
