1:- module(dictpow, []). 2 3:- use_module(zdd('zdd-array')). 4:- use_module(zdd(zdd)). 5:- use_module(pac(op)). 6 7% ?- open_zdd_dict, zdd_dict(I, t(a, 0, 1), Val). 8% ?- open_zdd_dict, zdd_dict(I, t(a, 0, 1), Val), Val=a. 9% ?- open_zdd_dict, zdd_dict(I, t(a, 0, 1), Val), Val=a, zdd_dict(I, X, R). 10% ?- open_zdd_dict, zdd_dict(I, t(a, 0, 1), Val), Val=a, 11% zdd_dict(J, t(b, I, I), Val2), zdd_dict(I, _, Val2). 12% ?- open_zdd_dict, zdd_dict(I, t(a, 0, 1), Val), Val=a, 13% zdd_dict(J, t(b, I, I), Val2), Val2=c, 14% zdd_dict(J, X, Val3), 15% zdd_dict(K, X, Val4). 16 17% ?- open_zdd_dict. 18% ?- b_getval(zdd_dict, R), write(R). 19% ?- open_zdd_dict, b_getval(zdd_dict, R), write(R). 20% ?- zdd_dict_power([a,b], P, C). % Error. Why ??? 21% ?- zdd_dict_power([], P, C). 22% ?- open_zdd_dict, zdd_dict_power([a,b,c], P, C). 23% ?- numlist(1, 100, Ns),open_zdd_dict, zdd_dict_power(Ns, P, C). 24% ?- numlist(1, 100, Ns),open_zdd_dict, zdd_dict_power(Ns, P, C). 25 26zdd_dict_power([], 1, 1). 27zdd_dict_power([A|As], X, C):- 28 zdd_dict_power(As, Y, C0), 29 zdd_dict(X, t(A, Y, Y), C), 30 C is C0 + C0