map(f, foldl(`*`, 1, a, b));

foldl(`*`, 1, map(f,a), map(f,b));

map(f, foldl(`+`, 0, a, b));

foldl(`+`, 0, map(f,a), map(f,b));

i discover it can auto calculate ring homomorphism,

if i define a function f below

factor(map(f, foldl(`*`, 1, a, b))+map(f, foldl(`*`, 1, b, c))) = map(f, foldl(`*`, 1, a, c));

how to convert this f into a function with two input parameters?