% This file used for testing the HYPROLOG system % - used for benchmarking % % % Copyright (C) Henning Christiansen, October 2005-2008 % ?- hyprolog(benchmarkDB). % To test, try one of: % ?- q(w(e100,f100)). % ?- q10(w(e100,f100)). % ?- q100(w(e100,f100)). % ?- q1000(w(e100,f100)). % ?- q10000(w(e100,f100)). show_internal_rules. abducibles abd_p/4, abd_q/4, abd_r/3. %% For maximum efficiency: allow_duplicate_abducibles. no_explicit_negation. w(E,F):- pp(A,B,C,D), qq(C,D,E,F), rr(A,E,F). wr(E,F):- rr(A,E,F), qq(C,D,E,F), pp(A,B,C,D). pp(A,B,C,D):- p(A,B,C,D). pp(A,B,C,D):- abd_p(A,B,C,D). qq(C,D,E,F):- q(C,D,E,F). qq(C,D,E,F):- abd_q(C,D,E,F). rr(A,E,F):- r(A,E,F). rr(A,E,F):- abd_r(A,E,F). abd_p(A,B,_,_) ==> \+ p(A,B,_,_). % A,B key abd_q(C,D,_,_) ==> \+ q(C,D,_,_). % C,D key abd_r(A,E,_) ==> \+ r(A,E,_). % A,E key q(Q):- statistics(runtime,_), q_notime(Q), statistics(runtime,[_,T]), write('Used : '),write(T), write(ms). q_notime(Q):- \+ \+ once(Q). q10(Q):- statistics(runtime,_), q_notime10(Q), statistics(runtime,[_,T]), write('Used : '),write(T), write(ms). q_notime10(Q):- q_notime(Q),q_notime(Q),q_notime(Q),q_notime(Q),q_notime(Q), q_notime(Q),q_notime(Q),q_notime(Q),q_notime(Q),q_notime(Q). q100(Q):- statistics(runtime,_), q_notime100(Q), statistics(runtime,[_,T]), write('Used : '),write(T), write(ms). q_notime100(Q):- q_notime10(Q), q_notime10(Q), q_notime10(Q), q_notime10(Q), q_notime10(Q), q_notime10(Q), q_notime10(Q), q_notime10(Q), q_notime10(Q), q_notime10(Q). q1000(Q):- statistics(runtime,_), q_notime1000(Q), statistics(runtime,[_,T]), write('Used : '),write(T), write(ms). q_notime1000(Q):- q_notime100(Q), q_notime100(Q), q_notime100(Q), q_notime100(Q), q_notime100(Q), q_notime100(Q), q_notime100(Q), q_notime100(Q), q_notime100(Q), q_notime100(Q). q10000(Q):- statistics(runtime,_), q_notime10000(Q), statistics(runtime,[_,T]), write('Used : '),write(T), write(ms). q_notime10000(Q):- q_notime1000(Q), q_notime1000(Q), q_notime1000(Q), q_notime1000(Q), q_notime1000(Q), q_notime1000(Q), q_notime1000(Q), q_notime1000(Q), q_notime1000(Q), q_notime1000(Q). p(a1,b1,c1,d1). p(a2,b2,c2,d2). p(a3,b3,c3,d3). p(a4,b4,c4,d4). p(a5,b5,c5,d5). p(a6,b6,c6,d6). p(a7,b7,c7,d7). p(a8,b8,c8,d8). p(a9,b9,c9,d9). p(a10,b10,c10,d10). p(a11,b11,c11,d11). p(a12,b12,c12,d12). p(a13,b13,c13,d13). p(a14,b14,c14,d14). p(a15,b15,c15,d15). p(a16,b16,c16,d16). p(a17,b17,c17,d17). p(a18,b18,c18,d18). p(a19,b19,c19,d19). p(a20,b20,c20,d20). p(a21,b21,c21,d21). p(a22,b22,c22,d22). p(a23,b23,c23,d23). p(a24,b24,c24,d24). p(a25,b25,c25,d25). p(a26,b26,c26,d26). p(a27,b27,c27,d27). p(a28,b28,c28,d28). p(a29,b29,c29,d29). p(a30,b30,c30,d30). p(a31,b31,c31,d31). p(a32,b32,c32,d32). p(a33,b33,c33,d33). p(a34,b34,c34,d34). p(a35,b35,c35,d35). p(a36,b36,c36,d36). p(a37,b37,c37,d37). p(a38,b38,c38,d38). p(a39,b39,c39,d39). p(a40,b40,c40,d40). p(a41,b41,c41,d41). p(a42,b42,c42,d42). p(a43,b43,c43,d43). p(a44,b44,c44,d44). p(a45,b45,c45,d45). p(a46,b46,c46,d46). p(a47,b47,c47,d47). p(a48,b48,c48,d48). p(a49,b49,c49,d49). p(a50,b50,c50,d50). p(a51,b51,c51,d51). p(a52,b52,c52,d52). p(a53,b53,c53,d53). p(a54,b54,c54,d54). p(a55,b55,c55,d55). p(a56,b56,c56,d56). p(a57,b57,c57,d57). p(a58,b58,c58,d58). p(a59,b59,c59,d59). p(a60,b60,c60,d60). p(a61,b61,c61,d61). p(a62,b62,c62,d62). p(a63,b63,c63,d63). p(a64,b64,c64,d64). p(a65,b65,c65,d65). p(a66,b66,c66,d66). p(a67,b67,c67,d67). p(a68,b68,c68,d68). p(a69,b69,c69,d69). p(a70,b70,c70,d70). p(a71,b71,c71,d71). p(a72,b72,c72,d72). p(a73,b73,c73,d73). p(a74,b74,c74,d74). p(a75,b75,c75,d75). p(a76,b76,c76,d76). p(a77,b77,c77,d77). p(a78,b78,c78,d78). p(a79,b79,c79,d79). p(a80,b80,c80,d80). p(a81,b81,c81,d81). p(a82,b82,c82,d82). p(a83,b83,c83,d83). p(a84,b84,c84,d84). p(a85,b85,c85,d85). p(a86,b86,c86,d86). p(a87,b87,c87,d87). p(a88,b88,c88,d88). p(a89,b89,c89,d89). p(a90,b90,c90,d90). p(a91,b91,c91,d91). p(a92,b92,c92,d92). p(a93,b93,c93,d93). p(a94,b94,c94,d94). p(a95,b95,c95,d95). p(a96,b96,c96,d96). p(a97,b97,c97,d97). p(a98,b98,c98,d98). p(a99,b99,c99,d99). p(a100,b100,c100,d100). q(c1,d1,e1,f1). q(c2,d2,e2,f2). q(c3,d3,e3,f3). q(c4,d4,e4,f4). q(c5,d5,e5,f5). q(c6,d6,e6,f6). q(c7,d7,e7,f7). q(c8,d8,e8,f8). q(c9,d9,e9,f9). q(c10,d10,e10,f10). q(c11,d11,e11,f11). q(c12,d12,e12,f12). q(c13,d13,e13,f13). q(c14,d14,e14,f14). q(c15,d15,e15,f15). q(c16,d16,e16,f16). q(c17,d17,e17,f17). q(c18,d18,e18,f18). q(c19,d19,e19,f19). q(c20,d20,e20,f20). q(c21,d21,e21,f21). q(c22,d22,e22,f22). q(c23,d23,e23,f23). q(c24,d24,e24,f24). q(c25,d25,e25,f25). q(c26,d26,e26,f26). q(c27,d27,e27,f27). q(c28,d28,e28,f28). q(c29,d29,e29,f29). q(c30,d30,e30,f30). q(c31,d31,e31,f31). q(c32,d32,e32,f32). q(c33,d33,e33,f33). q(c34,d34,e34,f34). q(c35,d35,e35,f35). q(c36,d36,e36,f36). q(c37,d37,e37,f37). q(c38,d38,e38,f38). q(c39,d39,e39,f39). q(c40,d40,e40,f40). q(c41,d41,e41,f41). q(c42,d42,e42,f42). q(c43,d43,e43,f43). q(c44,d44,e44,f44). q(c45,d45,e45,f45). q(c46,d46,e46,f46). q(c47,d47,e47,f47). q(c48,d48,e48,f48). q(c49,d49,e49,f49). q(c50,d50,e50,f50). q(c51,d51,e51,f51). q(c52,d52,e52,f52). q(c53,d53,e53,f53). q(c54,d54,e54,f54). q(c55,d55,e55,f55). q(c56,d56,e56,f56). q(c57,d57,e57,f57). q(c58,d58,e58,f58). q(c59,d59,e59,f59). q(c60,d60,e60,f60). q(c61,d61,e61,f61). q(c62,d62,e62,f62). q(c63,d63,e63,f63). q(c64,d64,e64,f64). q(c65,d65,e65,f65). q(c66,d66,e66,f66). q(c67,d67,e67,f67). q(c68,d68,e68,f68). q(c69,d69,e69,f69). q(c70,d70,e70,f70). q(c71,d71,e71,f71). q(c72,d72,e72,f72). q(c73,d73,e73,f73). q(c74,d74,e74,f74). q(c75,d75,e75,f75). q(c76,d76,e76,f76). q(c77,d77,e77,f77). q(c78,d78,e78,f78). q(c79,d79,e79,f79). q(c80,d80,e80,f80). q(c81,d81,e81,f81). q(c82,d82,e82,f82). q(c83,d83,e83,f83). q(c84,d84,e84,f84). q(c85,d85,e85,f85). q(c86,d86,e86,f86). q(c87,d87,e87,f87). q(c88,d88,e88,f88). q(c89,d89,e89,f89). q(c90,d90,e90,f90). q(c91,d91,e91,f91). q(c92,d92,e92,f92). q(c93,d93,e93,f93). q(c94,d94,e94,f94). q(c95,d95,e95,f95). q(c96,d96,e96,f96). q(c97,d97,e97,f97). q(c98,d98,e98,f98). q(c99,d99,e99,f99). q(c100,d100,e100,f100). r(a1,e1,f1). r(a2,e2,f2). r(a3,e3,f3). r(a4,e4,f4). r(a5,e5,f5). r(a6,e6,f6). r(a7,e7,f7). r(a8,e8,f8). r(a9,e9,f9). r(a10,e10,f10). r(a11,e11,f11). r(a12,e12,f12). r(a13,e13,f13). r(a14,e14,f14). r(a15,e15,f15). r(a16,e16,f16). r(a17,e17,f17). r(a18,e18,f18). r(a19,e19,f19). r(a20,e20,f20). r(a21,e21,f21). r(a22,e22,f22). r(a23,e23,f23). r(a24,e24,f24). r(a25,e25,f25). r(a26,e26,f26). r(a27,e27,f27). r(a28,e28,f28). r(a29,e29,f29). r(a30,e30,f30). r(a31,e31,f31). r(a32,e32,f32). r(a33,e33,f33). r(a34,e34,f34). r(a35,e35,f35). r(a36,e36,f36). r(a37,e37,f37). r(a38,e38,f38). r(a39,e39,f39). r(a40,e40,f40). r(a41,e41,f41). r(a42,e42,f42). r(a43,e43,f43). r(a44,e44,f44). r(a45,e45,f45). r(a46,e46,f46). r(a47,e47,f47). r(a48,e48,f48). r(a49,e49,f49). r(a50,e50,f50). r(a51,e51,f51). r(a52,e52,f52). r(a53,e53,f53). r(a54,e54,f54). r(a55,e55,f55). r(a56,e56,f56). r(a57,e57,f57). r(a58,e58,f58). r(a59,e59,f59). r(a60,e60,f60). r(a61,e61,f61). r(a62,e62,f62). r(a63,e63,f63). r(a64,e64,f64). r(a65,e65,f65). r(a66,e66,f66). r(a67,e67,f67). r(a68,e68,f68). r(a69,e69,f69). r(a70,e70,f70). r(a71,e71,f71). r(a72,e72,f72). r(a73,e73,f73). r(a74,e74,f74). r(a75,e75,f75). r(a76,e76,f76). r(a77,e77,f77). r(a78,e78,f78). r(a79,e79,f79). r(a80,e80,f80). r(a81,e81,f81). r(a82,e82,f82). r(a83,e83,f83). r(a84,e84,f84). r(a85,e85,f85). r(a86,e86,f86). r(a87,e87,f87). r(a88,e88,f88). r(a89,e89,f89). r(a90,e90,f90). r(a91,e91,f91). r(a92,e92,f92). r(a93,e93,f93). r(a94,e94,f94). r(a95,e95,f95). r(a96,e96,f96). r(a97,e97,f97). r(a98,e98,f98). r(a99,e99,f99). %r(a100,e100,f100).