import proveit
# Prepare this notebook for defining the axioms of a theory:
%axioms_notebook # Keep this at the top following 'import proveit'.
from proveit import f, A, B
from proveit.logic import And, Forall, Equals, InSet
from proveit.logic.sets import Functions, Image, Surjections
%begin axioms
surjective_def = Forall(
(A, B), Forall(
f,
Equals(InSet(f, Surjections(A, B)),
And(InSet(f, Functions(A, B)),
Equals(Image(f, A), B)))
.with_wrap_after_operator()))
%end axioms