array [1..40] of int: returns = [0, 0, 0, 0, 0, 0, 0, 0, 41, 18, 15, 22, 13, 42, 22, 10, 58, 30, 25, 38, 24, 59, 35, 17, 65, 39, 33, 48, 32, 66, 42, 23, 68, 45, 38, 55, 39, 68, 46, 28]; var 1..33: INT____00001 :: is_defined_var :: var_is_introduced; var 2..34: INT____00003 :: is_defined_var :: var_is_introduced; var 3..35: INT____00005 :: is_defined_var :: var_is_introduced; var 4..36: INT____00007 :: is_defined_var :: var_is_introduced; var 5..37: INT____00009 :: is_defined_var :: var_is_introduced; var 6..38: INT____00011 :: is_defined_var :: var_is_introduced; var 7..39: INT____00013 :: is_defined_var :: var_is_introduced; var 8..40: INT____00015 :: is_defined_var :: var_is_introduced; var 223..594: INT____00017 :: is_defined_var :: var_is_introduced; var 0..10: not_invested :: output_var; array [1..8] of var int: the_returns :: output_array([1..8]); var 0..68: INT____00016 :: var_is_introduced = the_returns[8]; var 0..68: INT____00014 :: var_is_introduced = the_returns[7]; var 0..68: INT____00012 :: var_is_introduced = the_returns[6]; var 0..68: INT____00010 :: var_is_introduced = the_returns[5]; var 0..68: INT____00008 :: var_is_introduced = the_returns[4]; var 0..68: INT____00006 :: var_is_introduced = the_returns[3]; var 0..68: INT____00004 :: var_is_introduced = the_returns[2]; var 0..68: INT____00002 :: var_is_introduced = the_returns[1]; array [1..8] of var 0..4: x :: output_array([1..8]); var 223..594: z :: output_var = INT____00017; constraint array_int_element(INT____00001, returns, the_returns[1]); constraint array_int_element(INT____00003, returns, the_returns[2]); constraint array_int_element(INT____00005, returns, the_returns[3]); constraint array_int_element(INT____00007, returns, the_returns[4]); constraint array_int_element(INT____00009, returns, the_returns[5]); constraint array_int_element(INT____00011, returns, the_returns[6]); constraint array_int_element(INT____00013, returns, the_returns[7]); constraint array_int_element(INT____00015, returns, the_returns[8]); constraint int_le(0, the_returns[1]); constraint int_le(0, the_returns[2]); constraint int_le(0, the_returns[3]); constraint int_le(0, the_returns[4]); constraint int_le(0, the_returns[5]); constraint int_le(0, the_returns[6]); constraint int_le(0, the_returns[7]); constraint int_le(0, the_returns[8]); constraint int_lin_eq([-1, 8], [INT____00001, x[1]], -1) :: defines_var(INT____00001) :: domain; constraint int_lin_eq([-1, 8], [INT____00003, x[2]], -2) :: defines_var(INT____00003) :: domain; constraint int_lin_eq([-1, 8], [INT____00005, x[3]], -3) :: defines_var(INT____00005) :: domain; constraint int_lin_eq([-1, 8], [INT____00007, x[4]], -4) :: defines_var(INT____00007) :: domain; constraint int_lin_eq([-1, 8], [INT____00009, x[5]], -5) :: defines_var(INT____00009) :: domain; constraint int_lin_eq([-1, 8], [INT____00011, x[6]], -6) :: defines_var(INT____00011) :: domain; constraint int_lin_eq([-1, 8], [INT____00013, x[7]], -7) :: defines_var(INT____00013) :: domain; constraint int_lin_eq([-1, 8], [INT____00015, x[8]], -8) :: defines_var(INT____00015) :: domain; constraint int_lin_eq([-1, 1, 1, 1, 1, 1, 1, 1, 1, 5], [INT____00017, the_returns[1], the_returns[2], the_returns[3], the_returns[4], the_returns[5], the_returns[6], the_returns[7], the_returns[8], not_invested], 0) :: defines_var(INT____00017); constraint int_lin_le([1, 1, 1, 1, 1, 1, 1, 1, 1], [not_invested, x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8]], 10); solve :: int_search(x, input_order, indomain_min, complete) satisfy;