logo
In [1]:
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
In [2]:
%begin axioms
Defining axioms for theory 'proveit.logic.sets.functions.surjections'
Subsequent end-of-cell assignments will define axioms
%end_axioms will finalize the definitions
In [3]:
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()))
surjective_def:
In [4]:
%end axioms
These axioms may now be imported from the theory package: proveit.logic.sets.functions.surjections