The following example shows that having same concavity in both x- and y-direction at a critical point is not enough to guarantee that the surface has a loc. min. / max. there! Actaully need more information! Interesting that it turns out that D = f[xx]*f[yy]-f[xy]*f[yx]  does the job! This is the only result in the course where I cannot give you a rather simple rationale...

f := proc (x, y) options operator, arrow; x^2*y^2+1-(x^2-y^2)^2 end proc

[Maple Plot]

>