ConflictFreeSubset
conflictFreeSubset(+Args, +Forced, -Set): the subsets of Args including Forced where no argument attacks another one (itself included), each once. The search only adds arguments compatible with those already chosen, so every branch ends in a solution: the cost grows with the number of sets, not with the subsets of Args.