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
  • 2
    You mean you don't consider min(x,y) a mathematical function? Please define "mathematical function".2010-12-06
  • 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
    Is there some nice way of expressing the minimum of three variables using the absolute value function? (Where nice means that the expression is symmetric in the three variables; f(x,f(y,z)) doesn't count because it isn't pretty enough.)2010-12-06
  • 1
    Maybe that ought to be a separate question, @Oscar... (I don't know the answer either.)2010-12-06
  • 4
    I don't really see in what sense the absolute value is more of an "arithmetic operator" than min.2010-12-06
  • 1
    Thanks @J.M., you saved my head from being exploded.2012-08-20