% Hooks :- multifile probabilistic_method/1. :- dynamic probabilistic_method/1. % pfd_hookable_predicate_head/1 % required in preprocess.pl to skip the translation of terms % as pfd clauses. One of them and a dynamic definition in this file % suffice to allow hookable definitions (which btw should only % call prolog, as oppose to pfd, code - this should be tested). pfd_hookable_predicate_head( probabilistic_method(_Any) ). % Internal % used in constraint_to_store, with labelling. :- dynamic probability_sum/2. :- dynamic probability_sum_counter/1. :- asserta( (probability_sum_counter(1)) ). % populated by preprocessor, used by demo. % one rule is created for every user clause. :- multifile pfd_rule/2. :- dynamic pfd_rule/2. :- dynamic pfd_predicate/1. % each pfd predicate registers its free head (ie all args are free vars). % :- assertz( pfd_message( 'Built-ins : (h)elp, restart, listing, exit, halt. ' ) ). :- multifile pfd_message/1. :- dynamic pfd_message/1. pfd_message( 'Built-ins : (h)elp, restart, listing, exit, halt. ' ).