Let the binary representation of the positive integer n be n=∑i=1k2ri; through this binary expansion, we can obtain a one-to-one correspondence between Z+ and the finite nonempty subsets of Z+∪{0}: Sn:={r1,r2,…,rk}. We then define f(a,b) to be the unique function satisfying Sf(a,b)=Sa∪Sb.
Since f(a,a)=a, f is a surjective function. It is also easy to see that f(a,b)≤a+b, with equality holding if and only if Sa∩Sb=∅, so (i) holds; (ii) is obvious. By Lucas' theorem, the binomial coefficient (nm) is odd if and only if Sm⊆Sn, so (iii) also holds.
We now prove that this function f is the unique solution.
Step 1. Again by Lucas' theorem, Sf(a,b)⊆Sa∪Sb.
Step 2. When Sa and Sb are disjoint, Sa+b=Sa∪Sb. Hence we obtain Sf(a,b)⊆Sa+b, which gives f(a,b)≥a+b. In this case, combined with (i), we know f(a,b)=a+b, and thus Sf(a,b)=Sa∪Sb.
Step 3. If a,b<2k, we prove that f(a,b)<2k: if not, then there exists ℓ≥k such that ℓ∈Sf(a,b). In this case we have Sf(a,b)⊇Sa∪{ℓ}, and by Step 2 we know f(a,b)≥a+2ℓ>a+b, a contradiction.
Step 4. We consider a solution (a0,b0) of f(a,b)=2k. By condition (iii) we know max{a0,b0}≤f(a0,b0)=2k. But according to Step 3, a0,b0 cannot both be less than 2k. Hence max{a0,b0}=2k, and without loss of generality we may assume a0=2k. If b0<2k, then by Step 2 we get f(a0,b0)=a0+b0>2k, a contradiction. And by the surjectivity of f we know f(2k,2k)=2k.
Step 5. If Sa∩Sb is nonempty, take t∈Sa∩Sb. By (ii) and Step 2 we obtain
f(a,b)=f(f(a−2t,2t),f(b−2t,2t))=f(f(a−2t,f(2t,2t)),b−2t)=f(f(a−2t,2t),b−2t)=f(a,b−2t).
Hence by induction we know: if Sa∩Sb=Sc, then f(a,b)=f(a,b−c)=a+b−c
(Step 2). Therefore Sf(a,b)=Sa+b−c=Sa∪(Sb∖Sc)=Sa∪Sb. This completes the proof.