predicate all_different_int(array [int] of var int: x); predicate count(array [int] of var int: x, var int: y, var int: c); predicate fixed_cumulative(array [int] of var int: s, array [int] of int: d, array [int] of int: r, int: b); predicate global_cardinality(array [int] of var int: x, array [int] of int: cover, array [int] of var int: counts); predicate maximum_int(var int: m, array [int] of var int: x); predicate minimum_int(var int: m, array [int] of var int: x); predicate sliding_sum(int: low, int: up, int: seq, array [int] of var int: vs); predicate sort(array [int] of var int: x, array [int] of var int: y); predicate table_bool(array [int] of var bool: x, array [int, int] of bool: t); predicate table_int(array [int] of var int: x, array [int, int] of int: t); predicate var_cumulative(array [int] of var int: s, array [int] of int: d, array [int] of int: r, var int: b); var bool: BOOL____00008 :: is_defined_var :: var_is_introduced; var bool: BOOL____00009 :: is_defined_var :: var_is_introduced; var bool: BOOL____00010 :: is_defined_var :: var_is_introduced; var bool: BOOL____00011 :: is_defined_var :: var_is_introduced; var bool: BOOL____00012 :: is_defined_var :: var_is_introduced; var bool: BOOL____00013 :: is_defined_var :: var_is_introduced; var bool: BOOL____00014 :: is_defined_var :: var_is_introduced; var bool: BOOL____00015 :: is_defined_var :: var_is_introduced; var bool: BOOL____00016 :: is_defined_var :: var_is_introduced; var bool: BOOL____00017 :: is_defined_var :: var_is_introduced; var bool: BOOL____00018 :: is_defined_var :: var_is_introduced; var bool: BOOL____00019 :: is_defined_var :: var_is_introduced; var bool: BOOL____00020 :: is_defined_var :: var_is_introduced; var bool: BOOL____00021 :: is_defined_var :: var_is_introduced; var bool: BOOL____00022 :: is_defined_var :: var_is_introduced; var 3..3: m :: output_var = 3; array [1..5] of var 0..9: mod_array____00001; var 0..2: INT____00007 :: var_is_introduced = mod_array____00001[5]; var 0..2: INT____00006 :: var_is_introduced = mod_array____00001[4]; var 0..2: INT____00005 :: var_is_introduced = mod_array____00001[3]; var 0..2: INT____00004 :: var_is_introduced = mod_array____00001[2]; var 0..2: INT____00003 :: var_is_introduced = mod_array____00001[1]; var 0..9: mod_min____00002; var 6..6: t_min :: output_var = 6; array [1..5] of var 1..9: variables :: output_array([1..5]); constraint array_bool_and([BOOL____00008, BOOL____00009], BOOL____00018) :: defines_var(BOOL____00018); constraint array_bool_and([BOOL____00010, BOOL____00011], BOOL____00019) :: defines_var(BOOL____00019); constraint array_bool_and([BOOL____00012, BOOL____00013], BOOL____00020) :: defines_var(BOOL____00020); constraint array_bool_and([BOOL____00014, BOOL____00015], BOOL____00021) :: defines_var(BOOL____00021); constraint array_bool_and([BOOL____00016, BOOL____00017], BOOL____00022) :: defines_var(BOOL____00022); constraint array_bool_or([BOOL____00022, BOOL____00021, BOOL____00020, BOOL____00018, BOOL____00019], true); constraint int_eq(variables[1], 9); constraint int_eq(variables[2], 1); constraint int_eq(variables[3], 7); constraint int_eq(variables[4], 6); constraint int_eq(variables[5], 5); constraint int_eq_reif(6, variables[1], BOOL____00009) :: defines_var(BOOL____00009); constraint int_eq_reif(6, variables[2], BOOL____00011) :: defines_var(BOOL____00011); constraint int_eq_reif(6, variables[3], BOOL____00013) :: defines_var(BOOL____00013); constraint int_eq_reif(6, variables[4], BOOL____00015) :: defines_var(BOOL____00015); constraint int_eq_reif(6, variables[5], BOOL____00017) :: defines_var(BOOL____00017); constraint int_eq_reif(mod_array____00001[1], mod_min____00002, BOOL____00008) :: defines_var(BOOL____00008); constraint int_eq_reif(mod_array____00001[2], mod_min____00002, BOOL____00010) :: defines_var(BOOL____00010); constraint int_eq_reif(mod_array____00001[3], mod_min____00002, BOOL____00012) :: defines_var(BOOL____00012); constraint int_eq_reif(mod_array____00001[4], mod_min____00002, BOOL____00014) :: defines_var(BOOL____00014); constraint int_eq_reif(mod_array____00001[5], mod_min____00002, BOOL____00016) :: defines_var(BOOL____00016); constraint int_mod(variables[1], 3, mod_array____00001[1]); constraint int_mod(variables[2], 3, mod_array____00001[2]); constraint int_mod(variables[3], 3, mod_array____00001[3]); constraint int_mod(variables[4], 3, mod_array____00001[4]); constraint int_mod(variables[5], 3, mod_array____00001[5]); constraint minimum_int(mod_min____00002, mod_array____00001); solve satisfy;