  We prove that for any distributive join-semilattice S, there are a
meet-semilattice P with zero and a map f:PxP-->S such that
f(x,z)<=f(x,y)vf(y,z) and x<=y implies that f(x,y)=0, for all x,y,z in P,
together with the following conditions: (i) f(y,x)=0 implies that x=y, for all
x<=y in P. (ii) For all x\leq y in P and all a,b in S, if f(y,x)=avb, then
there are a positive integer n and a decomposition x=x_0<=x_1<=...<=x_n=y such
that f(x_{i+1},x_i) lies either below a or below b, for all i < n. (iii) The
subset {f(x,0)|x\in P} generates the semilattice S. Furthermore, any finite,
bounded subset of P has a join, and P is bounded in case S is bounded.
Furthermore, the construction is functorial on lattice-indexed diagrams of
finite distributive (v,0,1)-semilattices.
