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 Function, Lambda, Conditional
from proveit import c, x, A, B, P, V, W
from proveit.logic import Forall, Equals, InSet
from proveit.linear_algebra import (
VecSpaces, LinMap, VecAdd, ScalarMult)
%begin axioms
vec_add_lin_map = Forall(
(V, W), Forall(
(A, B), Equals(VecAdd(A, B),
Lambda(x, Conditional(
VecAdd(Function(A, x),
Function(B, x)),
InSet(x, V)))),
domain=LinMap(V, W)))
scalar_mult_lin_map = Forall(
(V, W), Forall(
(c, P), Equals(ScalarMult(c, P),
Lambda(x, Conditional(
ScalarMult(c, Function(P, x)),
InSet(x, V)))),
domain=LinMap(V, W)))
%end axioms