logo
In [1]:
import proveit
theory = proveit.Theory() # the theorem's theory
from proveit import defaults
from proveit import x, alpha
from proveit.linear_algebra import ScalarMult
In [2]:
%proving scalar_mult_eq
With these allowed/disallowed theorem/theory presumptions (e.g., to avoid circular dependencies), we begin our proof of
scalar_mult_eq:
(see dependencies)
In [3]:
defaults.assumptions = scalar_mult_eq.all_conditions()
defaults.assumptions:
In [4]:
x_eq_y = defaults.assumptions[-1]
x_eq_y:
In [5]:
x_eq_y.substitution(ScalarMult(alpha, x))
scalar_mult_eq may now be readily provable (assuming required theorems are usable).  Simply execute "%qed".
In [6]:
%qed
proveit.linear_algebra.scalar_multiplication.scalar_mult_eq has been proven.
Out[6]:
 step typerequirementsstatement
0generalization1  ⊢  
1instantiation2, 3  ⊢  
  : , : , :
2axiom  ⊢  
 proveit.logic.equality.substitution
3assumption  ⊢