subset between sets
Posted: 5 Apr 2021 15:11
hi, is there any way, given 2 lists or sets, to check if one is a subset of the other?
Visual Prolog Discussion forums
https://discuss.visual-prolog.com/
Code: Select all
class predicates
isSubSet : (T* CheckTerms, T* Terms) determ.
clauses
isSubset([H], Terms) :-
list::isMember(H, Terms),
!.
isSubset([H | TT], Terms) :-
list::isMember(H, Terms),
isSubSet(TT, Terms).
Code: Select all
% ... some code ...
L1 = [1, 2, 3, 4, 5, 6],
L2 = [0, 3, 4, 5, 5],
list::all(L2, { (E) :- list::isMember(E, L1) }), % will FAIL because 0 is not a member of L2
% ... some more code ...