import proveit
from proveit import A
from proveit.logic import TRUE, FALSE, Implies, Not, Equals
from proveit.logic.booleans import true_axiom
from proveit.logic.booleans.implication import false_antecedent_implication
from proveit.logic.booleans.negation import not_t
theory = proveit.Theory() # the theorem's theory
%proving double_negation_elim_lemma
Use the above theorem to perform proof-by-cases. Start with the $A=\top$ case.
true_axiom
true_axiom.as_implication(Not(Not(TRUE)))
Now for the $A=\bot$ case.
Not(Not(FALSE)).disprove()
Implies(Not(Not(FALSE)), FALSE).prove()
We will now be able to prove our theorem by cases.
%qed