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