alg-pow-add-1
- Kind
- kernel-term
- Status
- checked
Supports: Alg.npow (Nat.rec over the record's own op, RIGHT-multiplying: npow x (succ n) = op (npow x n) x, matching Rat.pow's/Int.pow's own recursion convention) admits axiom-free, with a concrete evaluation (x := 4 at Nat.commAddMonoid projected to Monoid: npow(M,4,0)=0, npow(M,4,1)=4, npow(M,4,2)=8, three discriminating small-magnitude points). Alg.pow_add is proved by induction on n (the argument Nat.add recurses on): the base case needs only identR, and the step needs only assoc and the induction hypothesis -- NO self-commutation lemma, because npow's RIGHT-multiplying recursion matches add's own recursion direction. Type-checks symbolically (closed over free x, m, n) at Rat.commMulMonoid projected to Monoid.
out=$(cargo test -p axeyum-lean-kernel --lib -- alg_npow_evaluates_at_concrete_nat_add_monoid --nocapture --test-threads=1 2>&1) && test "$(printf "%s\n" "$out"| grep -cE 'test result: ok\. 1 passed; 0 failed')" -ge 1