Basic rules for normalizing and simplifying exponents.
Theorem:
(defthm right-unicity-of-1-for-expt (equal (expt r 1) (fix r)))
Theorem:
(defthm expt-minus (equal (expt r (- i)) (/ (expt r i))))
Theorem:
(defthm exponents-add-for-nonneg-exponents (implies (and (<= 0 i) (<= 0 j) (fc (integerp i)) (fc (integerp j))) (equal (expt r (+ i j)) (* (expt r i) (expt r j)))))
Theorem:
(defthm exponents-add (implies (and (syntaxp (not (and (quotep i) (integerp (cadr i)) (or (equal (cadr i) 1) (equal (cadr i) -1))))) (syntaxp (not (and (quotep j) (integerp (cadr j)) (or (equal (cadr j) 1) (equal (cadr j) -1))))) (not (equal 0 r)) (fc (acl2-numberp r)) (fc (integerp i)) (fc (integerp j))) (equal (expt r (+ i j)) (* (expt r i) (expt r j)))))
Theorem:
(defthm exponents-add-unrestricted (implies (and (not (equal 0 r)) (fc (acl2-numberp r)) (fc (integerp i)) (fc (integerp j))) (equal (expt r (+ i j)) (* (expt r i) (expt r j)))))
Theorem:
(defthm distributivity-of-expt-over-* (equal (expt (* a b) i) (* (expt a i) (expt b i))))
Theorem:
(defthm expt-1 (equal (expt 1 x) 1))
Theorem:
(defthm exponents-multiply (implies (and (fc (integerp i)) (fc (integerp j))) (equal (expt (expt r i) j) (expt r (* i j)))))
Theorem:
(defthm functional-commutativity-of-expt-/-base (equal (expt (/ r) i) (/ (expt r i))))
Theorem:
(defthm equal-constant-+ (implies (syntaxp (and (quotep c1) (quotep c2))) (equal (equal (+ c1 x) c2) (if (acl2-numberp c2) (if (acl2-numberp x) (equal x (- c2 c1)) (equal (fix c1) c2)) nil))))