array [1..36] of int: game = [-1, -1, 2, -1, 3, -1, 2, -1, -1, -1, -1, -1, -1, -1, 2, 4, -1, 3, 1, -1, 3, 4, -1, -1, -1, -1, -1, -1, -1, 3, -1, 3, -1, 3, -1, -1]; var bool: BOOL____00001 :: is_defined_var :: var_is_introduced; var bool: BOOL____00002 :: is_defined_var :: var_is_introduced; var bool: BOOL____00003 :: is_defined_var :: var_is_introduced; var bool: BOOL____00004 :: is_defined_var :: var_is_introduced; var bool: BOOL____00008 :: is_defined_var :: var_is_introduced; var bool: BOOL____00009 :: 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____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 bool: BOOL____00023 :: is_defined_var :: var_is_introduced; var bool: BOOL____00024 :: is_defined_var :: var_is_introduced; var bool: BOOL____00025 :: is_defined_var :: var_is_introduced; var bool: BOOL____00026 :: is_defined_var :: var_is_introduced; var bool: BOOL____00027 :: is_defined_var :: var_is_introduced; var bool: BOOL____00028 :: is_defined_var :: var_is_introduced; var bool: BOOL____00029 :: is_defined_var :: var_is_introduced; var bool: BOOL____00030 :: is_defined_var :: var_is_introduced; var bool: BOOL____00031 :: is_defined_var :: var_is_introduced; var bool: BOOL____00038 :: is_defined_var :: var_is_introduced; var bool: BOOL____00039 :: is_defined_var :: var_is_introduced; var bool: BOOL____00046 :: is_defined_var :: var_is_introduced; var bool: BOOL____00047 :: is_defined_var :: var_is_introduced; var bool: BOOL____00054 :: is_defined_var :: var_is_introduced; var bool: BOOL____00055 :: is_defined_var :: var_is_introduced; var bool: BOOL____00056 :: is_defined_var :: var_is_introduced; var bool: BOOL____00057 :: is_defined_var :: var_is_introduced; var bool: BOOL____00058 :: is_defined_var :: var_is_introduced; var bool: BOOL____00059 :: is_defined_var :: var_is_introduced; var bool: BOOL____00060 :: is_defined_var :: var_is_introduced; var bool: BOOL____00061 :: is_defined_var :: var_is_introduced; var bool: BOOL____00062 :: is_defined_var :: var_is_introduced; var bool: BOOL____00063 :: is_defined_var :: var_is_introduced; var bool: BOOL____00064 :: is_defined_var :: var_is_introduced; var bool: BOOL____00065 :: is_defined_var :: var_is_introduced; var bool: BOOL____00066 :: is_defined_var :: var_is_introduced; var bool: BOOL____00067 :: is_defined_var :: var_is_introduced; var bool: BOOL____00071 :: is_defined_var :: var_is_introduced; var bool: BOOL____00072 :: is_defined_var :: var_is_introduced; var bool: BOOL____00076 :: is_defined_var :: var_is_introduced; var bool: BOOL____00077 :: is_defined_var :: var_is_introduced; var bool: BOOL____00081 :: is_defined_var :: var_is_introduced; var bool: BOOL____00082 :: is_defined_var :: var_is_introduced; var bool: BOOL____00083 :: is_defined_var :: var_is_introduced; var bool: BOOL____00084 :: is_defined_var :: var_is_introduced; array [1..36] of var 0..1: mines :: output_array([1..6, 1..6]); constraint int_eq_reif(mines[1], 0, BOOL____00001) :: defines_var(BOOL____00001); constraint int_eq_reif(mines[1], 1, BOOL____00002) :: defines_var(BOOL____00002); constraint int_eq_reif(mines[2], 0, BOOL____00003) :: defines_var(BOOL____00003); constraint int_eq_reif(mines[2], 1, BOOL____00004) :: defines_var(BOOL____00004); constraint int_eq_reif(mines[3], 0, true); constraint int_eq_reif(mines[3], 1, false); constraint int_eq_reif(mines[4], 0, BOOL____00008) :: defines_var(BOOL____00008); constraint int_eq_reif(mines[4], 1, BOOL____00009) :: defines_var(BOOL____00009); constraint int_eq_reif(mines[5], 0, true); constraint int_eq_reif(mines[5], 1, false); constraint int_eq_reif(mines[6], 0, BOOL____00013) :: defines_var(BOOL____00013); constraint int_eq_reif(mines[6], 1, BOOL____00014) :: defines_var(BOOL____00014); constraint int_eq_reif(mines[7], 0, true); constraint int_eq_reif(mines[7], 1, false); constraint int_eq_reif(mines[8], 0, BOOL____00018) :: defines_var(BOOL____00018); constraint int_eq_reif(mines[8], 1, BOOL____00019) :: defines_var(BOOL____00019); constraint int_eq_reif(mines[9], 0, BOOL____00020) :: defines_var(BOOL____00020); constraint int_eq_reif(mines[9], 1, BOOL____00021) :: defines_var(BOOL____00021); constraint int_eq_reif(mines[10], 0, BOOL____00022) :: defines_var(BOOL____00022); constraint int_eq_reif(mines[10], 1, BOOL____00023) :: defines_var(BOOL____00023); constraint int_eq_reif(mines[11], 0, BOOL____00024) :: defines_var(BOOL____00024); constraint int_eq_reif(mines[11], 1, BOOL____00025) :: defines_var(BOOL____00025); constraint int_eq_reif(mines[12], 0, BOOL____00026) :: defines_var(BOOL____00026); constraint int_eq_reif(mines[12], 1, BOOL____00027) :: defines_var(BOOL____00027); constraint int_eq_reif(mines[13], 0, BOOL____00028) :: defines_var(BOOL____00028); constraint int_eq_reif(mines[13], 1, BOOL____00029) :: defines_var(BOOL____00029); constraint int_eq_reif(mines[14], 0, BOOL____00030) :: defines_var(BOOL____00030); constraint int_eq_reif(mines[14], 1, BOOL____00031) :: defines_var(BOOL____00031); constraint int_eq_reif(mines[15], 0, true); constraint int_eq_reif(mines[15], 1, false); constraint int_eq_reif(mines[16], 0, true); constraint int_eq_reif(mines[16], 1, false); constraint int_eq_reif(mines[17], 0, BOOL____00038) :: defines_var(BOOL____00038); constraint int_eq_reif(mines[17], 1, BOOL____00039) :: defines_var(BOOL____00039); constraint int_eq_reif(mines[18], 0, true); constraint int_eq_reif(mines[18], 1, false); constraint int_eq_reif(mines[19], 0, true); constraint int_eq_reif(mines[19], 1, false); constraint int_eq_reif(mines[20], 0, BOOL____00046) :: defines_var(BOOL____00046); constraint int_eq_reif(mines[20], 1, BOOL____00047) :: defines_var(BOOL____00047); constraint int_eq_reif(mines[21], 0, true); constraint int_eq_reif(mines[21], 1, false); constraint int_eq_reif(mines[22], 0, true); constraint int_eq_reif(mines[22], 1, false); constraint int_eq_reif(mines[23], 0, BOOL____00054) :: defines_var(BOOL____00054); constraint int_eq_reif(mines[23], 1, BOOL____00055) :: defines_var(BOOL____00055); constraint int_eq_reif(mines[24], 0, BOOL____00056) :: defines_var(BOOL____00056); constraint int_eq_reif(mines[24], 1, BOOL____00057) :: defines_var(BOOL____00057); constraint int_eq_reif(mines[25], 0, BOOL____00058) :: defines_var(BOOL____00058); constraint int_eq_reif(mines[25], 1, BOOL____00059) :: defines_var(BOOL____00059); constraint int_eq_reif(mines[26], 0, BOOL____00060) :: defines_var(BOOL____00060); constraint int_eq_reif(mines[26], 1, BOOL____00061) :: defines_var(BOOL____00061); constraint int_eq_reif(mines[27], 0, BOOL____00062) :: defines_var(BOOL____00062); constraint int_eq_reif(mines[27], 1, BOOL____00063) :: defines_var(BOOL____00063); constraint int_eq_reif(mines[28], 0, BOOL____00064) :: defines_var(BOOL____00064); constraint int_eq_reif(mines[28], 1, BOOL____00065) :: defines_var(BOOL____00065); constraint int_eq_reif(mines[29], 0, BOOL____00066) :: defines_var(BOOL____00066); constraint int_eq_reif(mines[29], 1, BOOL____00067) :: defines_var(BOOL____00067); constraint int_eq_reif(mines[30], 0, true); constraint int_eq_reif(mines[30], 1, false); constraint int_eq_reif(mines[31], 0, BOOL____00071) :: defines_var(BOOL____00071); constraint int_eq_reif(mines[31], 1, BOOL____00072) :: defines_var(BOOL____00072); constraint int_eq_reif(mines[32], 0, true); constraint int_eq_reif(mines[32], 1, false); constraint int_eq_reif(mines[33], 0, BOOL____00076) :: defines_var(BOOL____00076); constraint int_eq_reif(mines[33], 1, BOOL____00077) :: defines_var(BOOL____00077); constraint int_eq_reif(mines[34], 0, true); constraint int_eq_reif(mines[34], 1, false); constraint int_eq_reif(mines[35], 0, BOOL____00081) :: defines_var(BOOL____00081); constraint int_eq_reif(mines[35], 1, BOOL____00082) :: defines_var(BOOL____00082); constraint int_eq_reif(mines[36], 0, BOOL____00083) :: defines_var(BOOL____00083); constraint int_eq_reif(mines[36], 1, BOOL____00084) :: defines_var(BOOL____00084); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [mines[1], mines[2], mines[7], mines[8], mines[13], mines[14]], -2, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [mines[2], mines[3], mines[4], mines[8], mines[9], mines[10]], -2, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [mines[4], mines[5], mines[6], mines[10], mines[11], mines[12]], -3, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [mines[11], mines[12], mines[17], mines[18], mines[23], mines[24]], -3, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [mines[13], mines[14], mines[19], mines[20], mines[25], mines[26]], -1, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [mines[23], mines[24], mines[29], mines[30], mines[35], mines[36]], -3, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [mines[25], mines[26], mines[27], mines[31], mines[32], mines[33]], -3, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1], [mines[27], mines[28], mines[29], mines[33], mines[34], mines[35]], -3, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [mines[8], mines[9], mines[10], mines[14], mines[15], mines[16], mines[20], mines[21], mines[22]], -2, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [mines[9], mines[10], mines[11], mines[15], mines[16], mines[17], mines[21], mines[22], mines[23]], -4, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [mines[14], mines[15], mines[16], mines[20], mines[21], mines[22], mines[26], mines[27], mines[28]], -3, true); constraint int_lin_eq_reif([-1, -1, -1, -1, -1, -1, -1, -1, -1], [mines[15], mines[16], mines[17], mines[21], mines[22], mines[23], mines[27], mines[28], mines[29]], -4, true); solve :: int_search([mines[1], mines[2], mines[3], mines[4], mines[5], mines[6], mines[7], mines[8], mines[9], mines[10], mines[11], mines[12], mines[13], mines[14], mines[15], mines[16], mines[17], mines[18], mines[19], mines[20], mines[21], mines[22], mines[23], mines[24], mines[25], mines[26], mines[27], mines[28], mines[29], mines[30], mines[31], mines[32], mines[33], mines[34], mines[35], mines[36]], first_fail, indomain, complete) satisfy;