functor (A : ARITH-> sig val count_solutions : Emc.S.t -> A.t end