diff --git a/packages/CLPBN/clpbn/horus_lifted.yap b/packages/CLPBN/clpbn/horus_lifted.yap index 0dd13152f..533d6fa92 100644 --- a/packages/CLPBN/clpbn/horus_lifted.yap +++ b/packages/CLPBN/clpbn/horus_lifted.yap @@ -44,7 +44,7 @@ call_horus_lifted_solver(QueryVars, AllVars, Output) :- init_horus_lifted_solver(_, AllVars, _, state(Network, DistIds)) :- get_parfactors(Parfactors), get_observed_keys(AllVars, ObservedKeys), - %writeln(network:(parfactors=Parfactors, evidence=ObservedKeys)), nl, + % writeln(network:(parfactors=Parfactors, evidence=ObservedKeys)), nl, cpp_create_lifted_network(Parfactors, ObservedKeys, Network), maplist(get_dist_id, Parfactors, DistIds0), sort(DistIds0, DistIds). @@ -74,7 +74,7 @@ is_factor(pf(Id, Ks, Rs, Phi, Tuples)) :- maplist(get_range, Ks, Rs), Table \= avg, gen_table(Table, Phi), - all_tuples(Constraints, Vs, Tuples). + all_tuples(Constraints, Vs, Tuples). get_range(K, Range) :- @@ -87,7 +87,8 @@ gen_table(Table, Phi) :- all_tuples(Constraints, Tuple, Tuples) :- - setof(Tuple, Constraints^run(Constraints), Tuples). + findall(Tuple, run(Constraints), Tuples0), + sort(Tuples0, Tuples). run([]). diff --git a/packages/CLPBN/pfl.yap b/packages/CLPBN/pfl.yap index b36c74950..ba39dcf81 100644 --- a/packages/CLPBN/pfl.yap +++ b/packages/CLPBN/pfl.yap @@ -153,12 +153,15 @@ process_arg(Sk, Id, _I) --> new_skolem(Sk,D) :- copy_term(Sk, Sk1), skolem(Sk1, D1), - Sk1 =@= Sk, + functor(Sk1,N,A), + functor(Sk ,N,A), !, ( D1 = D -> true ; throw(pfl(permission_error(redefining_domain(Sk),D:D1)))). new_skolem(Sk,D) :- - interface_predicate(Sk), - assert(skolem(Sk, D)). + functor(Sk ,N,A), + functor(NSk ,N,A), + interface_predicate(NSk), + assert(skolem(NSk, D)). interface_predicate(Sk) :- Sk =.. SKAs,