10
$\begingroup$

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 
  • 1
    @Alex Bartel, Well, yes I do - but could it be expressed with arithmetic operators?2010-12-06

1 Answers 1

15

$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]$).

  • 1
    Thanks @J.M., you saved my head from being exploded.2012-08-20