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 Conditional, ConditionalSet
from proveit import i, j
from proveit.logic import Forall, Equals, NotEquals
from proveit.numbers import zero, one, KroneckerDelta
%begin axioms
# This general definition does not require i and j to be numbers. This is deliberate.
kron_delta_def = Forall((i, j), Equals(
KroneckerDelta(i, j), ConditionalSet(
Conditional(one, Equals(i, j)),
Conditional(zero, NotEquals(i, j)))))
%end axioms