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 a, b, f, A, B, fa, fb
from proveit.logic import (And, Forall, Equals, NotEquals, 
                           InSet, Functions, Injections)
In [2]:
%begin axioms
Defining axioms for theory 'proveit.logic.sets.functions.injections'
Subsequent end-of-cell assignments will define axioms
%end_axioms will finalize the definitions
In [3]:
injective_def = Forall(
    (A, B), Forall(
        f, 
        Equals(InSet(f, Injections(A, B)),
               And(InSet(f, Functions(A, B)),
                   Forall((a, b), NotEquals(fa, fb),
                          domain=A, condition=NotEquals(a, b))))
        .with_wrap_after_operator()))
injective_def:
In [4]:
%end axioms
These axioms may now be imported from the theory package: proveit.logic.sets.functions.injections