In given condition, substitute m=n, we have
max{2f(n),2n}∣min{4n,f(2n)+1},
thus 4n≥2f(n) or f(n)≤2n.
Continue substitute m=1, we have
max{2+f(n),1+n}∣min{2+2n,f(1+n)+1}(∗)
Thus f(n+1)+1≥f(n)+2 or f(n+1)≥f(n)+1. Since f(1)=2, we have f(n)≥n+1,∀n∈Z+.
From these, we can conclude that f(2)∈{3;4}. But we have f(2)=4 then f(2)=3. We shall prove by induction that f(n)=n+1,∀n≥2.
The conclusion is true for n=1,2. Suppose that f(n)=n+1 for some n≥2.
Back to (*), note that max{2+f(n),1+n}=f(n)+2=n+3 and n+32n+2∈(1;2) which implies that n+3∤2n+2. Hence
min{2+2n,f(1+n)+1}=f(n+1)+1
Since n+2≤f(n+1)≤2n+2, we must have n+3f(n+1)+1=1⇔f(n+1)=n+2. By induction hypothesis, we get f(n)=n+1.
Check condition, for all m,n∈Z+ then
min{2m+2n,f(m+n)+1}=min{2m+2n,m+n+2}=m+n+2 and max{f(m)+f(n),m+n}=max{m+1+n+1,m+n}=m+n+2
Hence, the function f(n)=n+1 satisfies the given condition.