[semidet]aggregate_all(+Template,
:Goal, -Result)min(X), max(X),
min(X,Witness) or max(X,Witness) and Goal
has no solutions, i.e., the minimum and maximum of an empty set is
undefined.
The Template values count, sum(X), max(X), min(X), max(X,W)
and
min(X,W) are processed incrementally rather than using findall/3
and run in constant memory.