9

Is there a mathematical function such that;

f(3, 5)   = 3
f(10, 2)  = 2
f(14, 15) = 14
f(9, 9)   = 9

It would be even more cool if there's a function that takes three (3) parameters, but that one could be solved by using recursive functionality;

f( f(3, 5), 4) = 3
Björn
  • 193
  • 2
    You mean you don't consider min(x,y) a mathematical function? Please define "mathematical function". – Alex B. Dec 06 '10 at 13:43
  • 1
    @Alex Bartel, Well, yes I do - but could it be expressed with arithmetic operators? – Björn Dec 06 '10 at 13:49

1 Answers1

17

$$f(x,y)=\frac{x+y-|x-y|}{2}$$


Oscar gave a nice interpretation of the above formula in his follow-up question, but I'll give a dumb derivation here for completeness.

Making use of Iversonian brackets, we have

$$\min(x,y)=x[y \geq x]+y[y < x]$$

and since $[\neg p]=1-[p]$,

$$\min(x,y)=x[y \geq x]+y(1-[y \geq x])=y-(y-x)[y-x \geq 0]$$

Now, there is the identity

$$\frac{u+|u|}{2}=u[u \geq 0]$$

and so we have

$$\min(x,y)=y+\frac{x-y-|x-y|}{2}$$

which simplifies to the desired expression.

The extension to more than two arguments is no longer as compact, though, since one now has to contend with products of Iversonian brackets ($[p \land q]=[p]\cdot[q]$).