Natural.mul_with: def of bend-collections-laws-math@1.0.0.0 Import: import bend-collections-laws-math@1.0.0.0/spec/math/natural.bend as Natural Lines 120-130 of bend-collections-laws-math@1.0.0.0/spec/math/natural.bend: https://jend.leeeet.dev/read.txt?path=bend-collections-laws-math@1.0.0.0/spec/math/natural.bend&start_line=120&end_line=130 import Base # m is a multiple of every element, with the quotients given: m == ks[i] xs[i] def mul_with(+m: Nat, +xs: List<&2, Nat>, +ks: List<&2, Nat>) -> Type: match xs ks: case Nil{} Nil{}: Unit case Nil{} Con{k, kt}: Unit case Con{x, t} Nil{}: Empty case Con{+x, +t} Con{+k, +kt}: {m == Nat.mul(k, x) : Nat} & mul_with(m, t, kt) Uses (6): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Empty https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=List https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Nat.mul https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Pair https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Unit