array [1..18] of set of int: d = [{2,4},5..5,{4,6},{1,3,5},{2,6},5..5,{2,8},{1,5,7},{2,4,6,8},{1,3,7,9},{2,8},{3,5,9},{4,8},5..5,{4,6},{5,7,9},{6,8},5..5]; var 1..2: X_INTRODUCED_0; var 1..2: X_INTRODUCED_1; var 1..2: X_INTRODUCED_2; array [1..3] of var 1..2: x:: output_array([1..3]) = [X_INTRODUCED_0,X_INTRODUCED_1,X_INTRODUCED_2]; constraint regular_nfa(x,9,2,d,1,9..9); solve :: int_search(x,input_order,indomain_min,complete) satisfy; // Should return (with -a) // x = array1d(1..3, [1, 1, 2]); // ---------- // x = array1d(1..3, [1, 2, 2]); // ---------- // x = array1d(1..3, [2, 1, 2]);