importproveittheory=proveit.Theory()# the theorem's theory
In [2]:
%proving double_negation_equiv
With these allowed/disallowed theorem/theory presumptions (e.g., to avoid circular dependencies), we begin our proof of double_negation_equiv: (see dependencies)
Automated proof, folding the forall over the Boolean set.
This is a shorter proof than via $\lnot (\lnot A) \Leftrightarrow A$.
In [3]:
%qed
proveit.logic.booleans.negation.double_negation_equiv has been proven.