:- use_module(library(clpfd)). automaton(+Vs, 
+Nodes, +Arcs)
automaton(+Vs, 
+Nodes, +Arcs)automaton(Vs, _, Vs, Nodes, Arcs, [], [], _), 
a common use case of automaton/8. 
In the following example, a list of binary finite domain variables is 
constrained to contain at least two consecutive ones:
two_consecutive_ones(Vs) :-
        automaton(Vs, [source(a),sink(c)],
                  [arc(a,0,a), arc(a,1,b),
                   arc(b,0,a), arc(b,1,c),
                   arc(c,0,c), arc(c,1,c)]).
Example query:
?- length(Vs, 3), two_consecutive_ones(Vs), label(Vs). Vs = [0, 1, 1] ; Vs = [1, 1, 0] ; Vs = [1, 1, 1].