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