prolog utility files

Some of the prolog examples use predicates defined in the following utility files. Many of these predicates may already be available on your system either in libraries or as built-in predicates.

list.p – list and set processing predicates
concat/3, length/2, element_at/3
member/2, count_members/3, add_member/3
remove_member/3, remove_members/3, remove_list/3
notsubset/2, subset/2, sameset/2
union/3, intersect/3, setdiff/3
sumlist/2, maxlist/2
range_list/3
meta.p – meta-logical predicates
findall/3, findone/2, sumall/3, maxall/3
retractall/1
in_range/3
math.p – mathematical utilities
max/3, min/3
fdiv/3 – for Prologs without floating point divide!
round/2 – may need to be redefined for your Prolog
cond.p – handles lists of positive/negative conditions
test_one_cond/2, set_one_cond/3
test_cond_list/2, set_cond_list/3