Maple 2018 does it by restart; A := log((1+x[1]/(1+x[1]+(1/2)*x[2]+(1/4)*x[3]))*(1+x[2]/(1+x[2]+ (1/2)*x[3]+(1/4)*x[1]))*(1+x[3]/(1+x[3]+(1/2)*x[2]+(1/4)*x[3]))): H := VectorCalculus:-Hessian(A, [x[1], x[2], x[3]]): LinearAlgebra:-IsDefinite(H, query = 'negative_semidefinite') assuming x[1]>=0,x[1]<=1,x[2]>=0,x[2]<=1,x[3]>=0,x[3]<=1; > true