def mul_sc

bend-collections-laws-crypto@1.0.0.0 · proofs/lib/arith.bend:16

import bend-collections-laws-crypto@1.0.0.0/proofs/lib/arith.bend as Arith
import Base
import bend-collections-laws-crypto@1.0.0.0/proofs/lib/lemmas/proofs/nat_algebra.bend as NA
import bend-collections-laws-crypto@1.0.0.0/proofs/lib/lemmas/proofs/natural_products.bend as PR

16def mul_sc(+k: Nat, +x: Nat) -> {Nat.mul(x, sc(k, 1n)) == sc(k, x) : Nat}:
17  match k:
18    case 0n:
19      NA.mul_one(x)
20    case 1n+j:
21      Equal.trans(Nat, Nat.mul(x, Nat.double(sc(j, 1n))), Nat.double(Nat.mul(x, sc(j, 1n))), Nat.double(sc(j, x)), PR.multiply_double(x, sc(j, 1n)), Equal.cong(Nat, Nat, Nat.double, Nat.mul(x, sc(j, 1n)), sc(j, x), mul_sc(j, x)))

Uses (8)

Used by (5)