import proveit
# Prepare this notebook for defining the axioms of a theory:
%axioms_notebook # Keep this at the top following 'import proveit'.
from proveit.logic import Equals, Not, Implies, Forall, TRUE, FALSE, Boolean, in_bool
from proveit import A
%begin axioms
Implicit in the following set of axioms is that $\lnot A$ is in Boolean iff $A$ is in Boolean. Otherwise, $\lnot A$ is simply undefined.
not_t = Equals(Not(TRUE), FALSE)
not_f = Equals(Not(FALSE), TRUE)
negation_elim = Forall(A, Equals(A, FALSE), conditions=[Not(A)])
operand_is_bool = Forall(A, in_bool(A), condition=in_bool(Not(A)))
%end axioms