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, Surjections, Injections, Bijections)
In [2]:
%begin axioms
Defining axioms for theory 'proveit.logic.sets.functions.bijections'
Subsequent end-of-cell assignments will define axioms
%end_axioms will finalize the definitions
In [3]:
bijective_def = Forall(
    (A, B), Forall(
        f, 
        Equals(InSet(f, Bijections(A, B)),
               And(InSet(f, Injections(A, B)),
                   InSet(f, Surjections(A, B))))
        .with_wrap_after_operator()))
Out[3]:
bijective_def:
In [4]:
%end axioms
These axioms may now be imported from the theory package: proveit.logic.sets.functions.bijections