/*** Prolog code for the aggregate test cases.** Warranty & Liability* To the extent permitted by applicable law and unless explicitly* otherwise agreed upon, XLOG Technologies GmbH makes no warranties* regarding the provided information. XLOG Technologies GmbH assumes* no liability that any problems might be solved with the information* provided by XLOG Technologies GmbH.** Rights & License* All industrial property rights regarding the information - copyright* and patent rights in particular - are the sole property of XLOG* Technologies GmbH. If the company was not the originator of some* excerpts, XLOG Technologies GmbH has at least obtained the right to* reproduce, change and translate the information.** Reproduction is restricted to the whole unaltered document. Reproduction* of the information is only allowed for non-commercial uses. Selling,* giving away or letting of the execution of the library is prohibited.* The library can be distributed as part of your applications and libraries* for execution provided this comment remains unchanged.** Restrictions* Only to be distributed with programs that add significant and primary* functionality to the library. Not to be distributed with additional* software intended to replace any components of the library.** Trademarks* Jekejeke is a registered trademark of XLOG Technologies GmbH.*//* bagof(T, A1^...^An^G, L, O) *//* derived from bagof/3 test cases, type(hash) preserves input order */R == 2-[2, 2, 2].R == 1-[2, 1, 2].findall(Y-L, bagof(X, ((Y = 2; Y = 1; Y = 3), (X = 2; X = Y; X = 2)), L, [type(hash)]), [_, _, R|_]),R == 3-[2, 3, 2]./* setof(T, A1^...^An^G, L, O) *//* derived from setof/3 test cases, type(hash) preserves input order */R == 2-[2].R == 1-[2, 1].findall(Y-L, setof(X, ((Y = 2; Y = 1; Y = 3), (X = 2; X = Y; X = 2)), L, [type(hash)]), [_, _, R|_]),R == 3-[2, 3]./* aggregate_all(A, G, S): */S == 55.S == (55, 10).S == 0.E == instantiation_error.E == type_error(callable, 1).S == bach./* aggregate_all(A, G, S, O): *//* derived from aggregate_all/3 test cases, eager(true) returns results earlier */R == 1.R == 2./* aggregate(A, G, S): */R == 1-6.R == 2-12.R == A-(12, 3).R == B-(6, 3).S == 3628800.E == instantiation_error.E == type_error(callable, 1).S == goedel./* aggregate(A, G, S, O): *//* derived from aggregate/3 test cases, eager(true) returns results earlier */R == 2-1.findall(Y-N, aggregate(max(X), ((Y = 2; Y = 1), (X = 1; X = Y; X = 1)), N, [eager(true)]), [_, R|_]),R == 2-2.findall(Y-N, aggregate(max(X), ((Y = 2; Y = 1), (X = 1; X = Y; X = 1)), N, [eager(true)]), [_, _, R|_]),R == 1-1.