/** has_at_least( +N, +X, +List ). Succeeds iff List contains at least N Xs. == ?- has_at_least( 2, a, [a,b,c,a] ). true. ?- has_at_least( 2, b, [a,b,c,a] ). false. == @author nicos angelopoulos @version 0.1 2017/1/11 */ has_at_least( N, X, List ) :- ground( X ), findall( 1, member(X,List), Ones ), length( Ones, Len ), N =< Len.