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, Implies, TRUE, FALSE, Forall, And, Iff, Not, NotEquals, Boolean
from proveit import A, B
%begin axioms
implies_t_f = Equals(Implies(TRUE, FALSE), FALSE)
affirmation_via_contradiction = Forall(A, A, domain=Boolean, conditions=[Implies(Not(A), FALSE)])
denial_via_contradiction = Forall(A, Not(A), domain=Boolean, conditions=[Implies(A, FALSE)])
Iff
(if and only if) is defined as implication in both directions:
iff_def = Forall((A, B), Equals(Iff(A, B), And(Implies(A, B), Implies(B, A))))
%end axioms