Question: How is binomial(n, n+p) computed when p > 0?

While answering a question on this site I accidentally met expressions of the form binomial(n, min(n, r)+1) where both n and r are positive integers and n is strictly lower than r.

For the record the common definition of the binomial coefficient binomial(n, k) is based on the double inequality 0 <= k <= n  and the only generalized definition where k could be larger than n I know of is the NegativeBinomial distribution where we use
binomial(-n, k) which, with 0 <= k <= n  again makes the first operator lower than the second.

I tried to understand how Maple does this

binomial(n, min(n, r)+1) assuming n < r,  n::posint

(more generallyn, for any strictly positive integer p, binomial(n, min(n, r)+p) = 0 under the assumptions above)

I guess that the explanationrelies upon what I did to get the output (2) in the attached file.
Can you confirm/infirm this and, as I wasn't capable to find any clue in help(binomial), [Maple 2015], if the way maple computes
these results is documented elsewhere.

Thanks in advence.



Let us start with this result


t0 := binomial(n, min(n, r)+1);
eval(t0) assuming n < r;
eval(%) assuming n::posint;

# I didn't find in help(binomial) the argument used to get this last result.

binomial(n, min(n, r)+1)


binomial(n, n+1)




# What happens if binomial is converted into factorials

t1 := convert(t0, factorial);
eval(t1) assuming n < r;

factorial(n)/(factorial(min(n, r)+1)*factorial(n-min(n, r)-1))


Error, (in assuming) when calling '`one of {eval, min, factorial}`'. Received: 'numeric exception: division by zero'


# Or into GAMMA function?

t2 := convert(t1, GAMMA);
eval(t2) assuming n < r;

GAMMA(n+1)/(GAMMA(min(n, r)+2)*GAMMA(n-min(n, r)))


Error, (in assuming) when calling 'GAMMA'. Received: 'numeric exception: division by zero'


# Try to replace min(n, r) = n by n-epsilon and take the limit as epsilon goes to 0
# from the right.

t3 := algsubs(min(n, r) = n-epsilon, t2);
limit(t3, epsilon=0, right)






We recover here the result (1), but does Maple really proceed this way?


Please Wait...