From 671ff5186bea933999abfcb3028ae62563d2c22a Mon Sep 17 00:00:00 2001 From: "lperron@google.com" Date: Tue, 19 Jun 2012 08:44:52 +0000 Subject: [PATCH] more problems --- examples/flatzinc/kaprekars_constant_3.fzn | 148 +++++++ examples/flatzinc/kaprekars_constant_8.fzn | 194 +++++++++ examples/flatzinc/maximum_subarray.fzn | 440 +++++++++++++++++++++ 3 files changed, 782 insertions(+) create mode 100644 examples/flatzinc/kaprekars_constant_3.fzn create mode 100644 examples/flatzinc/kaprekars_constant_8.fzn create mode 100644 examples/flatzinc/maximum_subarray.fzn diff --git a/examples/flatzinc/kaprekars_constant_3.fzn b/examples/flatzinc/kaprekars_constant_3.fzn new file mode 100644 index 0000000000..fe46dd27fb --- /dev/null +++ b/examples/flatzinc/kaprekars_constant_3.fzn @@ -0,0 +1,148 @@ +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 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 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); +array [1..9] of set of int: nums = [{}, 495..495, 6174..6174, {}, {549945, 631764}, {}, {63317664, 97508421}, {554999445, 864197532}, {6333176664, 9753086421, 9975084201}]; +var bool: BOOL____00067 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00068 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00072 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00073 :: is_defined_var :: var_is_introduced; +var 0..9: INT____00069 :: is_defined_var :: var_is_introduced; +var 1..10: INT____00070 :: is_defined_var :: var_is_introduced; +var 0..999: INT____00071 :: is_defined_var :: var_is_introduced; +var 1..10: i____00065; +var 0..999: ord_num____00004; +var 0..999: ord_num____00011; +var 0..999: ord_num____00018; +var 0..999: ord_num____00025; +var 0..999: ord_num____00032; +var 0..999: ord_num____00039; +var 0..999: ord_num____00046; +var 0..999: ord_num____00053; +var 0..999: ord_num____00060; +var 1..10: pos :: output_var = i____00065; +var 0..999: rev_num____00005; +var 0..999: rev_num____00012; +var 0..999: rev_num____00019; +var 0..999: rev_num____00026; +var 0..999: rev_num____00033; +var 0..999: rev_num____00040; +var 0..999: rev_num____00047; +var 0..999: rev_num____00054; +var 0..999: rev_num____00061; +array [1..3] of var 0..9: s_num____00001; +array [1..3] of var 0..9: s_num____00008; +array [1..3] of var 0..9: s_num____00015; +array [1..3] of var 0..9: s_num____00022; +array [1..3] of var 0..9: s_num____00029; +array [1..3] of var 0..9: s_num____00036; +array [1..3] of var 0..9: s_num____00043; +array [1..3] of var 0..9: s_num____00050; +array [1..3] of var 0..9: s_num____00057; +array [1..3] of var 0..9: s_ordered____00002; +array [1..3] of var 0..9: s_ordered____00009; +array [1..3] of var 0..9: s_ordered____00016; +array [1..3] of var 0..9: s_ordered____00023; +array [1..3] of var 0..9: s_ordered____00030; +array [1..3] of var 0..9: s_ordered____00037; +array [1..3] of var 0..9: s_ordered____00044; +array [1..3] of var 0..9: s_ordered____00051; +array [1..3] of var 0..9: s_ordered____00058; +array [1..3] of var 0..9: s_reverse____00003; +array [1..3] of var 0..9: s_reverse____00010; +array [1..3] of var 0..9: s_reverse____00017; +array [1..3] of var 0..9: s_reverse____00024; +array [1..3] of var 0..9: s_reverse____00031; +array [1..3] of var 0..9: s_reverse____00038; +array [1..3] of var 0..9: s_reverse____00045; +array [1..3] of var 0..9: s_reverse____00052; +array [1..3] of var 0..9: s_reverse____00059; +array [1..10] of var 0..999: x :: output_array([1..10]); +constraint array_bool_and([BOOL____00072, BOOL____00068, BOOL____00068], BOOL____00073) :: defines_var(BOOL____00073); +constraint array_var_int_element(INT____00070, x, INT____00071) :: defines_var(INT____00071); +constraint array_var_int_element(i____00065, x, 495); +constraint bool_le(BOOL____00067, BOOL____00073); +constraint int_eq(s_reverse____00003[1], s_ordered____00002[3]); +constraint int_eq(s_reverse____00003[2], s_ordered____00002[2]); +constraint int_eq(s_reverse____00003[3], s_ordered____00002[1]); +constraint int_eq(s_reverse____00010[1], s_ordered____00009[3]); +constraint int_eq(s_reverse____00010[2], s_ordered____00009[2]); +constraint int_eq(s_reverse____00010[3], s_ordered____00009[1]); +constraint int_eq(s_reverse____00017[1], s_ordered____00016[3]); +constraint int_eq(s_reverse____00017[2], s_ordered____00016[2]); +constraint int_eq(s_reverse____00017[3], s_ordered____00016[1]); +constraint int_eq(s_reverse____00024[1], s_ordered____00023[3]); +constraint int_eq(s_reverse____00024[2], s_ordered____00023[2]); +constraint int_eq(s_reverse____00024[3], s_ordered____00023[1]); +constraint int_eq(s_reverse____00031[1], s_ordered____00030[3]); +constraint int_eq(s_reverse____00031[2], s_ordered____00030[2]); +constraint int_eq(s_reverse____00031[3], s_ordered____00030[1]); +constraint int_eq(s_reverse____00038[1], s_ordered____00037[3]); +constraint int_eq(s_reverse____00038[2], s_ordered____00037[2]); +constraint int_eq(s_reverse____00038[3], s_ordered____00037[1]); +constraint int_eq(s_reverse____00045[1], s_ordered____00044[3]); +constraint int_eq(s_reverse____00045[2], s_ordered____00044[2]); +constraint int_eq(s_reverse____00045[3], s_ordered____00044[1]); +constraint int_eq(s_reverse____00052[1], s_ordered____00051[3]); +constraint int_eq(s_reverse____00052[2], s_ordered____00051[2]); +constraint int_eq(s_reverse____00052[3], s_ordered____00051[1]); +constraint int_eq(s_reverse____00059[1], s_ordered____00058[3]); +constraint int_eq(s_reverse____00059[2], s_ordered____00058[2]); +constraint int_eq(s_reverse____00059[3], s_ordered____00058[1]); +constraint int_eq_reif(INT____00069, INT____00070, BOOL____00068); +constraint int_eq_reif(x[1], 495, false); +constraint int_le_reif(2, i____00065, BOOL____00067) :: defines_var(BOOL____00067); +constraint int_lin_eq([-1, 1], [INT____00069, i____00065], 1) :: defines_var(INT____00069) :: domain; +constraint int_lin_eq([1, -1, 1], [ord_num____00004, rev_num____00005, x[2]], 0); +constraint int_lin_eq([1, -1, 1], [ord_num____00011, rev_num____00012, x[3]], 0); +constraint int_lin_eq([1, -1, 1], [ord_num____00018, rev_num____00019, x[4]], 0); +constraint int_lin_eq([1, -1, 1], [ord_num____00025, rev_num____00026, x[5]], 0); +constraint int_lin_eq([1, -1, 1], [ord_num____00032, rev_num____00033, x[6]], 0); +constraint int_lin_eq([1, -1, 1], [ord_num____00039, rev_num____00040, x[7]], 0); +constraint int_lin_eq([1, -1, 1], [ord_num____00046, rev_num____00047, x[8]], 0); +constraint int_lin_eq([1, -1, 1], [ord_num____00053, rev_num____00054, x[9]], 0); +constraint int_lin_eq([1, -1, 1], [ord_num____00060, rev_num____00061, x[10]], 0); +constraint int_lin_eq([-100, -10, -1, 1], [s_num____00001[1], s_num____00001[2], s_num____00001[3], x[1]], 0); +constraint int_lin_eq([-100, -10, -1, 1], [s_num____00008[1], s_num____00008[2], s_num____00008[3], x[2]], 0); +constraint int_lin_eq([-100, -10, -1, 1], [s_num____00015[1], s_num____00015[2], s_num____00015[3], x[3]], 0); +constraint int_lin_eq([-100, -10, -1, 1], [s_num____00022[1], s_num____00022[2], s_num____00022[3], x[4]], 0); +constraint int_lin_eq([-100, -10, -1, 1], [s_num____00029[1], s_num____00029[2], s_num____00029[3], x[5]], 0); +constraint int_lin_eq([-100, -10, -1, 1], [s_num____00036[1], s_num____00036[2], s_num____00036[3], x[6]], 0); +constraint int_lin_eq([-100, -10, -1, 1], [s_num____00043[1], s_num____00043[2], s_num____00043[3], x[7]], 0); +constraint int_lin_eq([-100, -10, -1, 1], [s_num____00050[1], s_num____00050[2], s_num____00050[3], x[8]], 0); +constraint int_lin_eq([-100, -10, -1, 1], [s_num____00057[1], s_num____00057[2], s_num____00057[3], x[9]], 0); +constraint int_lin_eq([-1, 100, 10, 1], [ord_num____00004, s_ordered____00002[1], s_ordered____00002[2], s_ordered____00002[3]], 0); +constraint int_lin_eq([-1, 100, 10, 1], [ord_num____00011, s_ordered____00009[1], s_ordered____00009[2], s_ordered____00009[3]], 0); +constraint int_lin_eq([-1, 100, 10, 1], [ord_num____00018, s_ordered____00016[1], s_ordered____00016[2], s_ordered____00016[3]], 0); +constraint int_lin_eq([-1, 100, 10, 1], [ord_num____00025, s_ordered____00023[1], s_ordered____00023[2], s_ordered____00023[3]], 0); +constraint int_lin_eq([-1, 100, 10, 1], [ord_num____00032, s_ordered____00030[1], s_ordered____00030[2], s_ordered____00030[3]], 0); +constraint int_lin_eq([-1, 100, 10, 1], [ord_num____00039, s_ordered____00037[1], s_ordered____00037[2], s_ordered____00037[3]], 0); +constraint int_lin_eq([-1, 100, 10, 1], [ord_num____00046, s_ordered____00044[1], s_ordered____00044[2], s_ordered____00044[3]], 0); +constraint int_lin_eq([-1, 100, 10, 1], [ord_num____00053, s_ordered____00051[1], s_ordered____00051[2], s_ordered____00051[3]], 0); +constraint int_lin_eq([-1, 100, 10, 1], [ord_num____00060, s_ordered____00058[1], s_ordered____00058[2], s_ordered____00058[3]], 0); +constraint int_lin_eq([-1, 100, 10, 1], [rev_num____00005, s_reverse____00003[1], s_reverse____00003[2], s_reverse____00003[3]], 0); +constraint int_lin_eq([-1, 100, 10, 1], [rev_num____00012, s_reverse____00010[1], s_reverse____00010[2], s_reverse____00010[3]], 0); +constraint int_lin_eq([-1, 100, 10, 1], [rev_num____00019, s_reverse____00017[1], s_reverse____00017[2], s_reverse____00017[3]], 0); +constraint int_lin_eq([-1, 100, 10, 1], [rev_num____00026, s_reverse____00024[1], s_reverse____00024[2], s_reverse____00024[3]], 0); +constraint int_lin_eq([-1, 100, 10, 1], [rev_num____00033, s_reverse____00031[1], s_reverse____00031[2], s_reverse____00031[3]], 0); +constraint int_lin_eq([-1, 100, 10, 1], [rev_num____00040, s_reverse____00038[1], s_reverse____00038[2], s_reverse____00038[3]], 0); +constraint int_lin_eq([-1, 100, 10, 1], [rev_num____00047, s_reverse____00045[1], s_reverse____00045[2], s_reverse____00045[3]], 0); +constraint int_lin_eq([-1, 100, 10, 1], [rev_num____00054, s_reverse____00052[1], s_reverse____00052[2], s_reverse____00052[3]], 0); +constraint int_lin_eq([-1, 100, 10, 1], [rev_num____00061, s_reverse____00059[1], s_reverse____00059[2], s_reverse____00059[3]], 0); +constraint int_lin_le_reif([-1], [i____00065], -2, BOOL____00068) :: defines_var(BOOL____00068); +constraint int_ne_reif(INT____00071, 495, BOOL____00072) :: defines_var(BOOL____00072); +constraint sort(s_num____00001, s_ordered____00002); +constraint sort(s_num____00008, s_ordered____00009); +constraint sort(s_num____00015, s_ordered____00016); +constraint sort(s_num____00022, s_ordered____00023); +constraint sort(s_num____00029, s_ordered____00030); +constraint sort(s_num____00036, s_ordered____00037); +constraint sort(s_num____00043, s_ordered____00044); +constraint sort(s_num____00050, s_ordered____00051); +constraint sort(s_num____00057, s_ordered____00058); +constraint int_eq(x[1], 0); +solve :: int_search(x, input_order, indomain_min, complete) satisfy; diff --git a/examples/flatzinc/kaprekars_constant_8.fzn b/examples/flatzinc/kaprekars_constant_8.fzn new file mode 100644 index 0000000000..40dcf07d8b --- /dev/null +++ b/examples/flatzinc/kaprekars_constant_8.fzn @@ -0,0 +1,194 @@ +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 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 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); +array [1..9] of set of int: nums = [{}, 495..495, 6174..6174, {}, {549945, 631764}, {}, {63317664, 97508421}, {554999445, 864197532}, {6333176664, 9753086421, 9975084201}]; +var bool: BOOL____00067 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00068 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00072 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00073 :: is_defined_var :: var_is_introduced; +var 63317664..97508421: INT____00066 :: is_defined_var :: var_is_introduced; +var 0..9: INT____00069 :: is_defined_var :: var_is_introduced; +var 1..10: INT____00070 :: is_defined_var :: var_is_introduced; +var 0..99999999: INT____00071 :: is_defined_var :: var_is_introduced; +var 1..10: i____00065; +var 0..99999999: ord_num____00004; +var 0..99999999: ord_num____00011; +var 0..99999999: ord_num____00018; +var 0..99999999: ord_num____00025; +var 0..99999999: ord_num____00032; +var 0..99999999: ord_num____00039; +var 0..99999999: ord_num____00046; +var 0..99999999: ord_num____00053; +var 0..99999999: ord_num____00060; +var 1..10: pos :: output_var = i____00065; +var 0..99999999: rev_num____00005; +var 0..99999999: rev_num____00012; +var 0..99999999: rev_num____00019; +var 0..99999999: rev_num____00026; +var 0..99999999: rev_num____00033; +var 0..99999999: rev_num____00040; +var 0..99999999: rev_num____00047; +var 0..99999999: rev_num____00054; +var 0..99999999: rev_num____00061; +array [1..8] of var 0..9: s_num____00001; +array [1..8] of var 0..9: s_num____00008; +array [1..8] of var 0..9: s_num____00015; +array [1..8] of var 0..9: s_num____00022; +array [1..8] of var 0..9: s_num____00029; +array [1..8] of var 0..9: s_num____00036; +array [1..8] of var 0..9: s_num____00043; +array [1..8] of var 0..9: s_num____00050; +array [1..8] of var 0..9: s_num____00057; +array [1..8] of var 0..9: s_ordered____00002; +array [1..8] of var 0..9: s_ordered____00009; +array [1..8] of var 0..9: s_ordered____00016; +array [1..8] of var 0..9: s_ordered____00023; +array [1..8] of var 0..9: s_ordered____00030; +array [1..8] of var 0..9: s_ordered____00037; +array [1..8] of var 0..9: s_ordered____00044; +array [1..8] of var 0..9: s_ordered____00051; +array [1..8] of var 0..9: s_ordered____00058; +array [1..8] of var 0..9: s_reverse____00003; +array [1..8] of var 0..9: s_reverse____00010; +array [1..8] of var 0..9: s_reverse____00017; +array [1..8] of var 0..9: s_reverse____00024; +array [1..8] of var 0..9: s_reverse____00031; +array [1..8] of var 0..9: s_reverse____00038; +array [1..8] of var 0..9: s_reverse____00045; +array [1..8] of var 0..9: s_reverse____00052; +array [1..8] of var 0..9: s_reverse____00059; +array [1..10] of var 0..99999999: x :: output_array([1..10]); +constraint array_bool_and([BOOL____00072, BOOL____00068, BOOL____00068], BOOL____00073) :: defines_var(BOOL____00073); +constraint array_var_int_element(INT____00070, x, INT____00071) :: defines_var(INT____00071); +constraint array_var_int_element(i____00065, x, INT____00066) :: defines_var(INT____00066); +constraint bool_le(BOOL____00067, BOOL____00073); +constraint int_eq(s_reverse____00003[1], s_ordered____00002[8]); +constraint int_eq(s_reverse____00003[2], s_ordered____00002[7]); +constraint int_eq(s_reverse____00003[3], s_ordered____00002[6]); +constraint int_eq(s_reverse____00003[4], s_ordered____00002[5]); +constraint int_eq(s_reverse____00003[5], s_ordered____00002[4]); +constraint int_eq(s_reverse____00003[6], s_ordered____00002[3]); +constraint int_eq(s_reverse____00003[7], s_ordered____00002[2]); +constraint int_eq(s_reverse____00003[8], s_ordered____00002[1]); +constraint int_eq(s_reverse____00010[1], s_ordered____00009[8]); +constraint int_eq(s_reverse____00010[2], s_ordered____00009[7]); +constraint int_eq(s_reverse____00010[3], s_ordered____00009[6]); +constraint int_eq(s_reverse____00010[4], s_ordered____00009[5]); +constraint int_eq(s_reverse____00010[5], s_ordered____00009[4]); +constraint int_eq(s_reverse____00010[6], s_ordered____00009[3]); +constraint int_eq(s_reverse____00010[7], s_ordered____00009[2]); +constraint int_eq(s_reverse____00010[8], s_ordered____00009[1]); +constraint int_eq(s_reverse____00017[1], s_ordered____00016[8]); +constraint int_eq(s_reverse____00017[2], s_ordered____00016[7]); +constraint int_eq(s_reverse____00017[3], s_ordered____00016[6]); +constraint int_eq(s_reverse____00017[4], s_ordered____00016[5]); +constraint int_eq(s_reverse____00017[5], s_ordered____00016[4]); +constraint int_eq(s_reverse____00017[6], s_ordered____00016[3]); +constraint int_eq(s_reverse____00017[7], s_ordered____00016[2]); +constraint int_eq(s_reverse____00017[8], s_ordered____00016[1]); +constraint int_eq(s_reverse____00024[1], s_ordered____00023[8]); +constraint int_eq(s_reverse____00024[2], s_ordered____00023[7]); +constraint int_eq(s_reverse____00024[3], s_ordered____00023[6]); +constraint int_eq(s_reverse____00024[4], s_ordered____00023[5]); +constraint int_eq(s_reverse____00024[5], s_ordered____00023[4]); +constraint int_eq(s_reverse____00024[6], s_ordered____00023[3]); +constraint int_eq(s_reverse____00024[7], s_ordered____00023[2]); +constraint int_eq(s_reverse____00024[8], s_ordered____00023[1]); +constraint int_eq(s_reverse____00031[1], s_ordered____00030[8]); +constraint int_eq(s_reverse____00031[2], s_ordered____00030[7]); +constraint int_eq(s_reverse____00031[3], s_ordered____00030[6]); +constraint int_eq(s_reverse____00031[4], s_ordered____00030[5]); +constraint int_eq(s_reverse____00031[5], s_ordered____00030[4]); +constraint int_eq(s_reverse____00031[6], s_ordered____00030[3]); +constraint int_eq(s_reverse____00031[7], s_ordered____00030[2]); +constraint int_eq(s_reverse____00031[8], s_ordered____00030[1]); +constraint int_eq(s_reverse____00038[1], s_ordered____00037[8]); +constraint int_eq(s_reverse____00038[2], s_ordered____00037[7]); +constraint int_eq(s_reverse____00038[3], s_ordered____00037[6]); +constraint int_eq(s_reverse____00038[4], s_ordered____00037[5]); +constraint int_eq(s_reverse____00038[5], s_ordered____00037[4]); +constraint int_eq(s_reverse____00038[6], s_ordered____00037[3]); +constraint int_eq(s_reverse____00038[7], s_ordered____00037[2]); +constraint int_eq(s_reverse____00038[8], s_ordered____00037[1]); +constraint int_eq(s_reverse____00045[1], s_ordered____00044[8]); +constraint int_eq(s_reverse____00045[2], s_ordered____00044[7]); +constraint int_eq(s_reverse____00045[3], s_ordered____00044[6]); +constraint int_eq(s_reverse____00045[4], s_ordered____00044[5]); +constraint int_eq(s_reverse____00045[5], s_ordered____00044[4]); +constraint int_eq(s_reverse____00045[6], s_ordered____00044[3]); +constraint int_eq(s_reverse____00045[7], s_ordered____00044[2]); +constraint int_eq(s_reverse____00045[8], s_ordered____00044[1]); +constraint int_eq(s_reverse____00052[1], s_ordered____00051[8]); +constraint int_eq(s_reverse____00052[2], s_ordered____00051[7]); +constraint int_eq(s_reverse____00052[3], s_ordered____00051[6]); +constraint int_eq(s_reverse____00052[4], s_ordered____00051[5]); +constraint int_eq(s_reverse____00052[5], s_ordered____00051[4]); +constraint int_eq(s_reverse____00052[6], s_ordered____00051[3]); +constraint int_eq(s_reverse____00052[7], s_ordered____00051[2]); +constraint int_eq(s_reverse____00052[8], s_ordered____00051[1]); +constraint int_eq(s_reverse____00059[1], s_ordered____00058[8]); +constraint int_eq(s_reverse____00059[2], s_ordered____00058[7]); +constraint int_eq(s_reverse____00059[3], s_ordered____00058[6]); +constraint int_eq(s_reverse____00059[4], s_ordered____00058[5]); +constraint int_eq(s_reverse____00059[5], s_ordered____00058[4]); +constraint int_eq(s_reverse____00059[6], s_ordered____00058[3]); +constraint int_eq(s_reverse____00059[7], s_ordered____00058[2]); +constraint int_eq(s_reverse____00059[8], s_ordered____00058[1]); +constraint int_eq_reif(INT____00069, INT____00070, BOOL____00068); +constraint int_le_reif(2, i____00065, BOOL____00067) :: defines_var(BOOL____00067); +constraint int_lin_eq([-1, 1], [INT____00069, i____00065], 1) :: defines_var(INT____00069) :: domain; +constraint int_lin_eq([1, -1, 1], [ord_num____00004, rev_num____00005, x[2]], 0); +constraint int_lin_eq([1, -1, 1], [ord_num____00011, rev_num____00012, x[3]], 0); +constraint int_lin_eq([1, -1, 1], [ord_num____00018, rev_num____00019, x[4]], 0); +constraint int_lin_eq([1, -1, 1], [ord_num____00025, rev_num____00026, x[5]], 0); +constraint int_lin_eq([1, -1, 1], [ord_num____00032, rev_num____00033, x[6]], 0); +constraint int_lin_eq([1, -1, 1], [ord_num____00039, rev_num____00040, x[7]], 0); +constraint int_lin_eq([1, -1, 1], [ord_num____00046, rev_num____00047, x[8]], 0); +constraint int_lin_eq([1, -1, 1], [ord_num____00053, rev_num____00054, x[9]], 0); +constraint int_lin_eq([1, -1, 1], [ord_num____00060, rev_num____00061, x[10]], 0); +constraint int_lin_eq([-10000000, -1000000, -100000, -10000, -1000, -100, -10, -1, 1], [s_num____00001[1], s_num____00001[2], s_num____00001[3], s_num____00001[4], s_num____00001[5], s_num____00001[6], s_num____00001[7], s_num____00001[8], x[1]], 0); +constraint int_lin_eq([-10000000, -1000000, -100000, -10000, -1000, -100, -10, -1, 1], [s_num____00008[1], s_num____00008[2], s_num____00008[3], s_num____00008[4], s_num____00008[5], s_num____00008[6], s_num____00008[7], s_num____00008[8], x[2]], 0); +constraint int_lin_eq([-10000000, -1000000, -100000, -10000, -1000, -100, -10, -1, 1], [s_num____00015[1], s_num____00015[2], s_num____00015[3], s_num____00015[4], s_num____00015[5], s_num____00015[6], s_num____00015[7], s_num____00015[8], x[3]], 0); +constraint int_lin_eq([-10000000, -1000000, -100000, -10000, -1000, -100, -10, -1, 1], [s_num____00022[1], s_num____00022[2], s_num____00022[3], s_num____00022[4], s_num____00022[5], s_num____00022[6], s_num____00022[7], s_num____00022[8], x[4]], 0); +constraint int_lin_eq([-10000000, -1000000, -100000, -10000, -1000, -100, -10, -1, 1], [s_num____00029[1], s_num____00029[2], s_num____00029[3], s_num____00029[4], s_num____00029[5], s_num____00029[6], s_num____00029[7], s_num____00029[8], x[5]], 0); +constraint int_lin_eq([-10000000, -1000000, -100000, -10000, -1000, -100, -10, -1, 1], [s_num____00036[1], s_num____00036[2], s_num____00036[3], s_num____00036[4], s_num____00036[5], s_num____00036[6], s_num____00036[7], s_num____00036[8], x[6]], 0); +constraint int_lin_eq([-10000000, -1000000, -100000, -10000, -1000, -100, -10, -1, 1], [s_num____00043[1], s_num____00043[2], s_num____00043[3], s_num____00043[4], s_num____00043[5], s_num____00043[6], s_num____00043[7], s_num____00043[8], x[7]], 0); +constraint int_lin_eq([-10000000, -1000000, -100000, -10000, -1000, -100, -10, -1, 1], [s_num____00050[1], s_num____00050[2], s_num____00050[3], s_num____00050[4], s_num____00050[5], s_num____00050[6], s_num____00050[7], s_num____00050[8], x[8]], 0); +constraint int_lin_eq([-10000000, -1000000, -100000, -10000, -1000, -100, -10, -1, 1], [s_num____00057[1], s_num____00057[2], s_num____00057[3], s_num____00057[4], s_num____00057[5], s_num____00057[6], s_num____00057[7], s_num____00057[8], x[9]], 0); +constraint int_lin_eq([-1, 10000000, 1000000, 100000, 10000, 1000, 100, 10, 1], [ord_num____00004, s_ordered____00002[1], s_ordered____00002[2], s_ordered____00002[3], s_ordered____00002[4], s_ordered____00002[5], s_ordered____00002[6], s_ordered____00002[7], s_ordered____00002[8]], 0); +constraint int_lin_eq([-1, 10000000, 1000000, 100000, 10000, 1000, 100, 10, 1], [ord_num____00011, s_ordered____00009[1], s_ordered____00009[2], s_ordered____00009[3], s_ordered____00009[4], s_ordered____00009[5], s_ordered____00009[6], s_ordered____00009[7], s_ordered____00009[8]], 0); +constraint int_lin_eq([-1, 10000000, 1000000, 100000, 10000, 1000, 100, 10, 1], [ord_num____00018, s_ordered____00016[1], s_ordered____00016[2], s_ordered____00016[3], s_ordered____00016[4], s_ordered____00016[5], s_ordered____00016[6], s_ordered____00016[7], s_ordered____00016[8]], 0); +constraint int_lin_eq([-1, 10000000, 1000000, 100000, 10000, 1000, 100, 10, 1], [ord_num____00025, s_ordered____00023[1], s_ordered____00023[2], s_ordered____00023[3], s_ordered____00023[4], s_ordered____00023[5], s_ordered____00023[6], s_ordered____00023[7], s_ordered____00023[8]], 0); +constraint int_lin_eq([-1, 10000000, 1000000, 100000, 10000, 1000, 100, 10, 1], [ord_num____00032, s_ordered____00030[1], s_ordered____00030[2], s_ordered____00030[3], s_ordered____00030[4], s_ordered____00030[5], s_ordered____00030[6], s_ordered____00030[7], s_ordered____00030[8]], 0); +constraint int_lin_eq([-1, 10000000, 1000000, 100000, 10000, 1000, 100, 10, 1], [ord_num____00039, s_ordered____00037[1], s_ordered____00037[2], s_ordered____00037[3], s_ordered____00037[4], s_ordered____00037[5], s_ordered____00037[6], s_ordered____00037[7], s_ordered____00037[8]], 0); +constraint int_lin_eq([-1, 10000000, 1000000, 100000, 10000, 1000, 100, 10, 1], [ord_num____00046, s_ordered____00044[1], s_ordered____00044[2], s_ordered____00044[3], s_ordered____00044[4], s_ordered____00044[5], s_ordered____00044[6], s_ordered____00044[7], s_ordered____00044[8]], 0); +constraint int_lin_eq([-1, 10000000, 1000000, 100000, 10000, 1000, 100, 10, 1], [ord_num____00053, s_ordered____00051[1], s_ordered____00051[2], s_ordered____00051[3], s_ordered____00051[4], s_ordered____00051[5], s_ordered____00051[6], s_ordered____00051[7], s_ordered____00051[8]], 0); +constraint int_lin_eq([-1, 10000000, 1000000, 100000, 10000, 1000, 100, 10, 1], [ord_num____00060, s_ordered____00058[1], s_ordered____00058[2], s_ordered____00058[3], s_ordered____00058[4], s_ordered____00058[5], s_ordered____00058[6], s_ordered____00058[7], s_ordered____00058[8]], 0); +constraint int_lin_eq([-1, 10000000, 1000000, 100000, 10000, 1000, 100, 10, 1], [rev_num____00005, s_reverse____00003[1], s_reverse____00003[2], s_reverse____00003[3], s_reverse____00003[4], s_reverse____00003[5], s_reverse____00003[6], s_reverse____00003[7], s_reverse____00003[8]], 0); +constraint int_lin_eq([-1, 10000000, 1000000, 100000, 10000, 1000, 100, 10, 1], [rev_num____00012, s_reverse____00010[1], s_reverse____00010[2], s_reverse____00010[3], s_reverse____00010[4], s_reverse____00010[5], s_reverse____00010[6], s_reverse____00010[7], s_reverse____00010[8]], 0); +constraint int_lin_eq([-1, 10000000, 1000000, 100000, 10000, 1000, 100, 10, 1], [rev_num____00019, s_reverse____00017[1], s_reverse____00017[2], s_reverse____00017[3], s_reverse____00017[4], s_reverse____00017[5], s_reverse____00017[6], s_reverse____00017[7], s_reverse____00017[8]], 0); +constraint int_lin_eq([-1, 10000000, 1000000, 100000, 10000, 1000, 100, 10, 1], [rev_num____00026, s_reverse____00024[1], s_reverse____00024[2], s_reverse____00024[3], s_reverse____00024[4], s_reverse____00024[5], s_reverse____00024[6], s_reverse____00024[7], s_reverse____00024[8]], 0); +constraint int_lin_eq([-1, 10000000, 1000000, 100000, 10000, 1000, 100, 10, 1], [rev_num____00033, s_reverse____00031[1], s_reverse____00031[2], s_reverse____00031[3], s_reverse____00031[4], s_reverse____00031[5], s_reverse____00031[6], s_reverse____00031[7], s_reverse____00031[8]], 0); +constraint int_lin_eq([-1, 10000000, 1000000, 100000, 10000, 1000, 100, 10, 1], [rev_num____00040, s_reverse____00038[1], s_reverse____00038[2], s_reverse____00038[3], s_reverse____00038[4], s_reverse____00038[5], s_reverse____00038[6], s_reverse____00038[7], s_reverse____00038[8]], 0); +constraint int_lin_eq([-1, 10000000, 1000000, 100000, 10000, 1000, 100, 10, 1], [rev_num____00047, s_reverse____00045[1], s_reverse____00045[2], s_reverse____00045[3], s_reverse____00045[4], s_reverse____00045[5], s_reverse____00045[6], s_reverse____00045[7], s_reverse____00045[8]], 0); +constraint int_lin_eq([-1, 10000000, 1000000, 100000, 10000, 1000, 100, 10, 1], [rev_num____00054, s_reverse____00052[1], s_reverse____00052[2], s_reverse____00052[3], s_reverse____00052[4], s_reverse____00052[5], s_reverse____00052[6], s_reverse____00052[7], s_reverse____00052[8]], 0); +constraint int_lin_eq([-1, 10000000, 1000000, 100000, 10000, 1000, 100, 10, 1], [rev_num____00061, s_reverse____00059[1], s_reverse____00059[2], s_reverse____00059[3], s_reverse____00059[4], s_reverse____00059[5], s_reverse____00059[6], s_reverse____00059[7], s_reverse____00059[8]], 0); +constraint int_lin_le_reif([-1], [i____00065], -2, BOOL____00068) :: defines_var(BOOL____00068); +constraint int_ne_reif(INT____00071, INT____00066, BOOL____00072) :: defines_var(BOOL____00072); +constraint set_in(INT____00066, {63317664, 97508421}); +constraint set_in_reif(x[1], {63317664, 97508421}, false); +constraint sort(s_num____00001, s_ordered____00002); +constraint sort(s_num____00008, s_ordered____00009); +constraint sort(s_num____00015, s_ordered____00016); +constraint sort(s_num____00022, s_ordered____00023); +constraint sort(s_num____00029, s_ordered____00030); +constraint sort(s_num____00036, s_ordered____00037); +constraint sort(s_num____00043, s_ordered____00044); +constraint sort(s_num____00050, s_ordered____00051); +constraint sort(s_num____00057, s_ordered____00058); +solve :: int_search(x, input_order, indomain_min, complete) satisfy; diff --git a/examples/flatzinc/maximum_subarray.fzn b/examples/flatzinc/maximum_subarray.fzn new file mode 100644 index 0000000000..f5f9740b4c --- /dev/null +++ b/examples/flatzinc/maximum_subarray.fzn @@ -0,0 +1,440 @@ +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____00005 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00006 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00007 :: 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____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 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____00032 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00033 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00034 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00035 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00036 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00037 :: 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____00040 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00041 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00042 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00043 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00044 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00045 :: 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____00048 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00049 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00050 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00051 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00052 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00053 :: 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____00068 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00069 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00070 :: 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____00073 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00074 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00075 :: 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____00078 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00079 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00080 :: 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; +var bool: BOOL____00085 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00086 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00087 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00088 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00089 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00090 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00091 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00092 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00093 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00094 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00095 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00096 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00097 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00098 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00099 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00100 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00101 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00102 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00103 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00104 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00105 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00106 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00107 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00108 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00109 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00110 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00111 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00112 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00113 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00114 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00115 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00116 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00117 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00118 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00119 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00120 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00121 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00122 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00123 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00124 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00125 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00126 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00127 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00128 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00129 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00130 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00133 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00134 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00135 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00137 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00138 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00139 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00140 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00141 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00142 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00144 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00145 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00146 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00148 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00149 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00150 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00152 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00153 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00154 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00156 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00157 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00158 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00160 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00161 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00162 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00164 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00165 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00166 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00168 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00169 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00170 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00172 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00173 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00174 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00176 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00177 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00178 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00180 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00181 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00182 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00184 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00185 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00186 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00188 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00189 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00190 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00192 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00193 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00194 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00196 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00197 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00198 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00200 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00201 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00202 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00204 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00205 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00206 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00208 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00209 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00210 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00212 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00213 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00214 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00216 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00217 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00218 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00221 :: is_defined_var :: var_is_introduced; +var bool: BOOL____00223 :: is_defined_var :: var_is_introduced; +array [1..11] of var -10..10: a :: output_array([1..11]); +array [1..11] of var -999..19: ans :: output_array([1..11]); +var 1..11: from :: output_var; +var 0..11: from_answer :: output_var; +var 1..11: to :: output_var; +var 0..11: to_answer :: output_var; +var -10..100: tot_sum :: output_var; +constraint array_bool_and([BOOL____00133, BOOL____00134], BOOL____00135) :: defines_var(BOOL____00135); +constraint array_bool_and([BOOL____00137, BOOL____00138], BOOL____00139) :: defines_var(BOOL____00139); +constraint array_bool_and([BOOL____00140, BOOL____00141], BOOL____00142); +constraint array_bool_and([BOOL____00148, BOOL____00149], BOOL____00150); +constraint array_bool_and([BOOL____00156, BOOL____00157], BOOL____00158); +constraint array_bool_and([BOOL____00164, BOOL____00165], BOOL____00166); +constraint array_bool_and([BOOL____00172, BOOL____00173], BOOL____00174); +constraint array_bool_and([BOOL____00180, BOOL____00181], BOOL____00182); +constraint array_bool_and([BOOL____00188, BOOL____00189], BOOL____00190); +constraint array_bool_and([BOOL____00196, BOOL____00197], BOOL____00198); +constraint array_bool_and([BOOL____00204, BOOL____00205], BOOL____00206); +constraint array_bool_and([BOOL____00212, BOOL____00213], BOOL____00214); +constraint array_bool_and([BOOL____00003, BOOL____00001, BOOL____00002], BOOL____00076) :: defines_var(BOOL____00076); +constraint array_bool_and([BOOL____00005, BOOL____00001, BOOL____00004], BOOL____00077) :: defines_var(BOOL____00077); +constraint array_bool_and([BOOL____00007, BOOL____00001, BOOL____00006], BOOL____00078) :: defines_var(BOOL____00078); +constraint array_bool_and([BOOL____00009, BOOL____00001, BOOL____00008], BOOL____00079) :: defines_var(BOOL____00079); +constraint array_bool_and([BOOL____00011, BOOL____00001, BOOL____00010], BOOL____00080) :: defines_var(BOOL____00080); +constraint array_bool_and([BOOL____00013, BOOL____00001, BOOL____00012], BOOL____00081) :: defines_var(BOOL____00081); +constraint array_bool_and([BOOL____00015, BOOL____00001, BOOL____00014], BOOL____00082) :: defines_var(BOOL____00082); +constraint array_bool_and([BOOL____00017, BOOL____00001, BOOL____00016], BOOL____00083) :: defines_var(BOOL____00083); +constraint array_bool_and([BOOL____00019, BOOL____00001, BOOL____00018], BOOL____00084) :: defines_var(BOOL____00084); +constraint array_bool_and([BOOL____00021, BOOL____00001, BOOL____00020], BOOL____00085) :: defines_var(BOOL____00085); +constraint array_bool_and([BOOL____00023, BOOL____00022, BOOL____00004], BOOL____00086) :: defines_var(BOOL____00086); +constraint array_bool_and([BOOL____00024, BOOL____00022, BOOL____00006], BOOL____00087) :: defines_var(BOOL____00087); +constraint array_bool_and([BOOL____00025, BOOL____00022, BOOL____00008], BOOL____00088) :: defines_var(BOOL____00088); +constraint array_bool_and([BOOL____00026, BOOL____00022, BOOL____00010], BOOL____00089) :: defines_var(BOOL____00089); +constraint array_bool_and([BOOL____00027, BOOL____00022, BOOL____00012], BOOL____00090) :: defines_var(BOOL____00090); +constraint array_bool_and([BOOL____00028, BOOL____00022, BOOL____00014], BOOL____00091) :: defines_var(BOOL____00091); +constraint array_bool_and([BOOL____00029, BOOL____00022, BOOL____00016], BOOL____00092) :: defines_var(BOOL____00092); +constraint array_bool_and([BOOL____00030, BOOL____00022, BOOL____00018], BOOL____00093) :: defines_var(BOOL____00093); +constraint array_bool_and([BOOL____00031, BOOL____00022, BOOL____00020], BOOL____00094) :: defines_var(BOOL____00094); +constraint array_bool_and([BOOL____00033, BOOL____00032, BOOL____00006], BOOL____00095) :: defines_var(BOOL____00095); +constraint array_bool_and([BOOL____00034, BOOL____00032, BOOL____00008], BOOL____00096) :: defines_var(BOOL____00096); +constraint array_bool_and([BOOL____00035, BOOL____00032, BOOL____00010], BOOL____00097) :: defines_var(BOOL____00097); +constraint array_bool_and([BOOL____00036, BOOL____00032, BOOL____00012], BOOL____00098) :: defines_var(BOOL____00098); +constraint array_bool_and([BOOL____00037, BOOL____00032, BOOL____00014], BOOL____00099) :: defines_var(BOOL____00099); +constraint array_bool_and([BOOL____00038, BOOL____00032, BOOL____00016], BOOL____00100) :: defines_var(BOOL____00100); +constraint array_bool_and([BOOL____00039, BOOL____00032, BOOL____00018], BOOL____00101) :: defines_var(BOOL____00101); +constraint array_bool_and([BOOL____00040, BOOL____00032, BOOL____00020], BOOL____00102) :: defines_var(BOOL____00102); +constraint array_bool_and([BOOL____00042, BOOL____00041, BOOL____00008], BOOL____00103) :: defines_var(BOOL____00103); +constraint array_bool_and([BOOL____00043, BOOL____00041, BOOL____00010], BOOL____00104) :: defines_var(BOOL____00104); +constraint array_bool_and([BOOL____00044, BOOL____00041, BOOL____00012], BOOL____00105) :: defines_var(BOOL____00105); +constraint array_bool_and([BOOL____00045, BOOL____00041, BOOL____00014], BOOL____00106) :: defines_var(BOOL____00106); +constraint array_bool_and([BOOL____00046, BOOL____00041, BOOL____00016], BOOL____00107) :: defines_var(BOOL____00107); +constraint array_bool_and([BOOL____00047, BOOL____00041, BOOL____00018], BOOL____00108) :: defines_var(BOOL____00108); +constraint array_bool_and([BOOL____00048, BOOL____00041, BOOL____00020], BOOL____00109) :: defines_var(BOOL____00109); +constraint array_bool_and([BOOL____00050, BOOL____00049, BOOL____00010], BOOL____00110) :: defines_var(BOOL____00110); +constraint array_bool_and([BOOL____00051, BOOL____00049, BOOL____00012], BOOL____00111) :: defines_var(BOOL____00111); +constraint array_bool_and([BOOL____00052, BOOL____00049, BOOL____00014], BOOL____00112) :: defines_var(BOOL____00112); +constraint array_bool_and([BOOL____00053, BOOL____00049, BOOL____00016], BOOL____00113) :: defines_var(BOOL____00113); +constraint array_bool_and([BOOL____00054, BOOL____00049, BOOL____00018], BOOL____00114) :: defines_var(BOOL____00114); +constraint array_bool_and([BOOL____00055, BOOL____00049, BOOL____00020], BOOL____00115) :: defines_var(BOOL____00115); +constraint array_bool_and([BOOL____00057, BOOL____00056, BOOL____00012], BOOL____00116) :: defines_var(BOOL____00116); +constraint array_bool_and([BOOL____00058, BOOL____00056, BOOL____00014], BOOL____00117) :: defines_var(BOOL____00117); +constraint array_bool_and([BOOL____00059, BOOL____00056, BOOL____00016], BOOL____00118) :: defines_var(BOOL____00118); +constraint array_bool_and([BOOL____00060, BOOL____00056, BOOL____00018], BOOL____00119) :: defines_var(BOOL____00119); +constraint array_bool_and([BOOL____00061, BOOL____00056, BOOL____00020], BOOL____00120) :: defines_var(BOOL____00120); +constraint array_bool_and([BOOL____00063, BOOL____00062, BOOL____00014], BOOL____00121) :: defines_var(BOOL____00121); +constraint array_bool_and([BOOL____00064, BOOL____00062, BOOL____00016], BOOL____00122) :: defines_var(BOOL____00122); +constraint array_bool_and([BOOL____00065, BOOL____00062, BOOL____00018], BOOL____00123) :: defines_var(BOOL____00123); +constraint array_bool_and([BOOL____00066, BOOL____00062, BOOL____00020], BOOL____00124) :: defines_var(BOOL____00124); +constraint array_bool_and([BOOL____00068, BOOL____00067, BOOL____00016], BOOL____00125) :: defines_var(BOOL____00125); +constraint array_bool_and([BOOL____00069, BOOL____00067, BOOL____00018], BOOL____00126) :: defines_var(BOOL____00126); +constraint array_bool_and([BOOL____00070, BOOL____00067, BOOL____00020], BOOL____00127) :: defines_var(BOOL____00127); +constraint array_bool_and([BOOL____00072, BOOL____00071, BOOL____00018], BOOL____00128) :: defines_var(BOOL____00128); +constraint array_bool_and([BOOL____00073, BOOL____00071, BOOL____00020], BOOL____00129) :: defines_var(BOOL____00129); +constraint array_bool_and([BOOL____00075, BOOL____00074, BOOL____00020], BOOL____00130) :: defines_var(BOOL____00130); +constraint array_bool_or([BOOL____00144, BOOL____00145], BOOL____00146); +constraint array_bool_or([BOOL____00152, BOOL____00153], BOOL____00154); +constraint array_bool_or([BOOL____00160, BOOL____00161], BOOL____00162); +constraint array_bool_or([BOOL____00168, BOOL____00169], BOOL____00170); +constraint array_bool_or([BOOL____00176, BOOL____00177], BOOL____00178); +constraint array_bool_or([BOOL____00184, BOOL____00185], BOOL____00186); +constraint array_bool_or([BOOL____00192, BOOL____00193], BOOL____00194); +constraint array_bool_or([BOOL____00200, BOOL____00201], BOOL____00202); +constraint array_bool_or([BOOL____00208, BOOL____00209], BOOL____00210); +constraint array_bool_or([BOOL____00216, BOOL____00217], BOOL____00218); +constraint array_bool_or([BOOL____00130, BOOL____00129, BOOL____00128, BOOL____00127, BOOL____00126, BOOL____00125, BOOL____00124, BOOL____00123, BOOL____00122, BOOL____00121, BOOL____00120, BOOL____00119, BOOL____00118, BOOL____00117, BOOL____00116, BOOL____00115, BOOL____00114, BOOL____00113, BOOL____00112, BOOL____00111, BOOL____00110, BOOL____00109, BOOL____00108, BOOL____00107, BOOL____00106, BOOL____00105, BOOL____00104, BOOL____00103, BOOL____00102, BOOL____00101, BOOL____00100, BOOL____00099, BOOL____00098, BOOL____00097, BOOL____00096, BOOL____00095, BOOL____00094, BOOL____00093, BOOL____00092, BOOL____00091, BOOL____00090, BOOL____00089, BOOL____00088, BOOL____00087, BOOL____00086, BOOL____00085, BOOL____00084, BOOL____00083, BOOL____00082, BOOL____00081, BOOL____00080, BOOL____00079, BOOL____00078, BOOL____00076, BOOL____00077], true); +constraint int_eq(a[1], -1); +constraint int_eq(a[2], -2); +constraint int_eq(a[3], 3); +constraint int_eq(a[4], 5); +constraint int_eq(a[5], 6); +constraint int_eq(a[6], -2); +constraint int_eq(a[7], -1); +constraint int_eq(a[8], 4); +constraint int_eq(a[9], -4); +constraint int_eq(a[10], 2); +constraint int_eq(a[11], -1); +constraint int_eq_reif(from, 1, BOOL____00001) :: defines_var(BOOL____00001); +constraint int_eq_reif(from, 2, BOOL____00022) :: defines_var(BOOL____00022); +constraint int_eq_reif(from, 3, BOOL____00032) :: defines_var(BOOL____00032); +constraint int_eq_reif(from, 4, BOOL____00041) :: defines_var(BOOL____00041); +constraint int_eq_reif(from, 5, BOOL____00049) :: defines_var(BOOL____00049); +constraint int_eq_reif(from, 6, BOOL____00056) :: defines_var(BOOL____00056); +constraint int_eq_reif(from, 7, BOOL____00062) :: defines_var(BOOL____00062); +constraint int_eq_reif(from, 8, BOOL____00067) :: defines_var(BOOL____00067); +constraint int_eq_reif(from, 9, BOOL____00071) :: defines_var(BOOL____00071); +constraint int_eq_reif(from, 10, BOOL____00074) :: defines_var(BOOL____00074); +constraint int_eq_reif(from_answer, 0, BOOL____00137) :: defines_var(BOOL____00137); +constraint int_eq_reif(from_answer, from, BOOL____00133) :: defines_var(BOOL____00133); +constraint int_eq_reif(to, 2, BOOL____00002) :: defines_var(BOOL____00002); +constraint int_eq_reif(to, 3, BOOL____00004) :: defines_var(BOOL____00004); +constraint int_eq_reif(to, 4, BOOL____00006) :: defines_var(BOOL____00006); +constraint int_eq_reif(to, 5, BOOL____00008) :: defines_var(BOOL____00008); +constraint int_eq_reif(to, 6, BOOL____00010) :: defines_var(BOOL____00010); +constraint int_eq_reif(to, 7, BOOL____00012) :: defines_var(BOOL____00012); +constraint int_eq_reif(to, 8, BOOL____00014) :: defines_var(BOOL____00014); +constraint int_eq_reif(to, 9, BOOL____00016) :: defines_var(BOOL____00016); +constraint int_eq_reif(to, 10, BOOL____00018) :: defines_var(BOOL____00018); +constraint int_eq_reif(to, 11, BOOL____00020) :: defines_var(BOOL____00020); +constraint int_eq_reif(to_answer, 0, BOOL____00138) :: defines_var(BOOL____00138); +constraint int_eq_reif(to_answer, to, BOOL____00134) :: defines_var(BOOL____00134); +constraint int_eq_reif(ans[1], -999, BOOL____00146) :: defines_var(BOOL____00146); +constraint int_eq_reif(ans[1], a[1], BOOL____00142) :: defines_var(BOOL____00142); +constraint int_eq_reif(ans[2], -999, BOOL____00154) :: defines_var(BOOL____00154); +constraint int_eq_reif(ans[2], a[2], BOOL____00150) :: defines_var(BOOL____00150); +constraint int_eq_reif(ans[3], -999, BOOL____00162) :: defines_var(BOOL____00162); +constraint int_eq_reif(ans[3], a[3], BOOL____00158) :: defines_var(BOOL____00158); +constraint int_eq_reif(ans[4], -999, BOOL____00170) :: defines_var(BOOL____00170); +constraint int_eq_reif(ans[4], a[4], BOOL____00166) :: defines_var(BOOL____00166); +constraint int_eq_reif(ans[5], -999, BOOL____00178) :: defines_var(BOOL____00178); +constraint int_eq_reif(ans[5], a[5], BOOL____00174) :: defines_var(BOOL____00174); +constraint int_eq_reif(ans[6], -999, BOOL____00186) :: defines_var(BOOL____00186); +constraint int_eq_reif(ans[6], a[6], BOOL____00182) :: defines_var(BOOL____00182); +constraint int_eq_reif(ans[7], -999, BOOL____00194) :: defines_var(BOOL____00194); +constraint int_eq_reif(ans[7], a[7], BOOL____00190) :: defines_var(BOOL____00190); +constraint int_eq_reif(ans[8], -999, BOOL____00202) :: defines_var(BOOL____00202); +constraint int_eq_reif(ans[8], a[8], BOOL____00198) :: defines_var(BOOL____00198); +constraint int_eq_reif(ans[9], -999, BOOL____00210) :: defines_var(BOOL____00210); +constraint int_eq_reif(ans[9], a[9], BOOL____00206) :: defines_var(BOOL____00206); +constraint int_eq_reif(ans[10], -999, BOOL____00218) :: defines_var(BOOL____00218); +constraint int_eq_reif(ans[10], a[10], BOOL____00214) :: defines_var(BOOL____00214); +constraint int_eq_reif(ans[11], -999, BOOL____00223) :: defines_var(BOOL____00223); +constraint int_eq_reif(ans[11], a[11], BOOL____00221) :: defines_var(BOOL____00221); +constraint int_le_reif(1, to_answer, BOOL____00141) :: defines_var(BOOL____00141); +constraint int_le_reif(1, tot_sum, BOOL____00135); +constraint int_le_reif(2, from_answer, BOOL____00144) :: defines_var(BOOL____00144); +constraint int_le_reif(2, to_answer, BOOL____00149) :: defines_var(BOOL____00149); +constraint int_le_reif(3, from_answer, BOOL____00152) :: defines_var(BOOL____00152); +constraint int_le_reif(3, to_answer, BOOL____00157) :: defines_var(BOOL____00157); +constraint int_le_reif(4, from_answer, BOOL____00160) :: defines_var(BOOL____00160); +constraint int_le_reif(4, to_answer, BOOL____00165) :: defines_var(BOOL____00165); +constraint int_le_reif(5, from_answer, BOOL____00168) :: defines_var(BOOL____00168); +constraint int_le_reif(5, to_answer, BOOL____00173) :: defines_var(BOOL____00173); +constraint int_le_reif(6, from_answer, BOOL____00176) :: defines_var(BOOL____00176); +constraint int_le_reif(6, to_answer, BOOL____00181) :: defines_var(BOOL____00181); +constraint int_le_reif(7, from_answer, BOOL____00184) :: defines_var(BOOL____00184); +constraint int_le_reif(7, to_answer, BOOL____00189) :: defines_var(BOOL____00189); +constraint int_le_reif(8, from_answer, BOOL____00192) :: defines_var(BOOL____00192); +constraint int_le_reif(8, to_answer, BOOL____00197) :: defines_var(BOOL____00197); +constraint int_le_reif(9, from_answer, BOOL____00200) :: defines_var(BOOL____00200); +constraint int_le_reif(9, to_answer, BOOL____00205) :: defines_var(BOOL____00205); +constraint int_le_reif(10, from_answer, BOOL____00208) :: defines_var(BOOL____00208); +constraint int_le_reif(10, to_answer, BOOL____00213) :: defines_var(BOOL____00213); +constraint int_le_reif(11, from_answer, BOOL____00216) :: defines_var(BOOL____00216); +constraint int_le_reif(11, to_answer, BOOL____00221); +constraint int_le_reif(from_answer, 1, BOOL____00140) :: defines_var(BOOL____00140); +constraint int_le_reif(from_answer, 2, BOOL____00148) :: defines_var(BOOL____00148); +constraint int_le_reif(from_answer, 3, BOOL____00156) :: defines_var(BOOL____00156); +constraint int_le_reif(from_answer, 4, BOOL____00164) :: defines_var(BOOL____00164); +constraint int_le_reif(from_answer, 5, BOOL____00172) :: defines_var(BOOL____00172); +constraint int_le_reif(from_answer, 6, BOOL____00180) :: defines_var(BOOL____00180); +constraint int_le_reif(from_answer, 7, BOOL____00188) :: defines_var(BOOL____00188); +constraint int_le_reif(from_answer, 8, BOOL____00196) :: defines_var(BOOL____00196); +constraint int_le_reif(from_answer, 9, BOOL____00204) :: defines_var(BOOL____00204); +constraint int_le_reif(from_answer, 10, BOOL____00212) :: defines_var(BOOL____00212); +constraint int_le_reif(to_answer, 0, BOOL____00145) :: defines_var(BOOL____00145); +constraint int_le_reif(to_answer, 1, BOOL____00153) :: defines_var(BOOL____00153); +constraint int_le_reif(to_answer, 2, BOOL____00161) :: defines_var(BOOL____00161); +constraint int_le_reif(to_answer, 3, BOOL____00169) :: defines_var(BOOL____00169); +constraint int_le_reif(to_answer, 4, BOOL____00177) :: defines_var(BOOL____00177); +constraint int_le_reif(to_answer, 5, BOOL____00185) :: defines_var(BOOL____00185); +constraint int_le_reif(to_answer, 6, BOOL____00193) :: defines_var(BOOL____00193); +constraint int_le_reif(to_answer, 7, BOOL____00201) :: defines_var(BOOL____00201); +constraint int_le_reif(to_answer, 8, BOOL____00209) :: defines_var(BOOL____00209); +constraint int_le_reif(to_answer, 9, BOOL____00217) :: defines_var(BOOL____00217); +constraint int_le_reif(to_answer, 10, BOOL____00223); +constraint int_le_reif(tot_sum, 0, BOOL____00139); +constraint int_lin_eq_reif([1, -1, -1], [tot_sum, a[1], a[2]], 0, BOOL____00003) :: defines_var(BOOL____00003); +constraint int_lin_eq_reif([1, -1, -1], [tot_sum, a[2], a[3]], 0, BOOL____00023) :: defines_var(BOOL____00023); +constraint int_lin_eq_reif([1, -1, -1], [tot_sum, a[3], a[4]], 0, BOOL____00033) :: defines_var(BOOL____00033); +constraint int_lin_eq_reif([1, -1, -1], [tot_sum, a[4], a[5]], 0, BOOL____00042) :: defines_var(BOOL____00042); +constraint int_lin_eq_reif([1, -1, -1], [tot_sum, a[5], a[6]], 0, BOOL____00050) :: defines_var(BOOL____00050); +constraint int_lin_eq_reif([1, -1, -1], [tot_sum, a[6], a[7]], 0, BOOL____00057) :: defines_var(BOOL____00057); +constraint int_lin_eq_reif([1, -1, -1], [tot_sum, a[7], a[8]], 0, BOOL____00063) :: defines_var(BOOL____00063); +constraint int_lin_eq_reif([1, -1, -1], [tot_sum, a[8], a[9]], 0, BOOL____00068) :: defines_var(BOOL____00068); +constraint int_lin_eq_reif([1, -1, -1], [tot_sum, a[9], a[10]], 0, BOOL____00072) :: defines_var(BOOL____00072); +constraint int_lin_eq_reif([1, -1, -1], [tot_sum, a[10], a[11]], 0, BOOL____00075) :: defines_var(BOOL____00075); +constraint int_lin_eq_reif([1, -1, -1, -1], [tot_sum, a[1], a[2], a[3]], 0, BOOL____00005) :: defines_var(BOOL____00005); +constraint int_lin_eq_reif([1, -1, -1, -1], [tot_sum, a[2], a[3], a[4]], 0, BOOL____00024) :: defines_var(BOOL____00024); +constraint int_lin_eq_reif([1, -1, -1, -1], [tot_sum, a[3], a[4], a[5]], 0, BOOL____00034) :: defines_var(BOOL____00034); +constraint int_lin_eq_reif([1, -1, -1, -1], [tot_sum, a[4], a[5], a[6]], 0, BOOL____00043) :: defines_var(BOOL____00043); +constraint int_lin_eq_reif([1, -1, -1, -1], [tot_sum, a[5], a[6], a[7]], 0, BOOL____00051) :: defines_var(BOOL____00051); +constraint int_lin_eq_reif([1, -1, -1, -1], [tot_sum, a[6], a[7], a[8]], 0, BOOL____00058) :: defines_var(BOOL____00058); +constraint int_lin_eq_reif([1, -1, -1, -1], [tot_sum, a[7], a[8], a[9]], 0, BOOL____00064) :: defines_var(BOOL____00064); +constraint int_lin_eq_reif([1, -1, -1, -1], [tot_sum, a[8], a[9], a[10]], 0, BOOL____00069) :: defines_var(BOOL____00069); +constraint int_lin_eq_reif([1, -1, -1, -1], [tot_sum, a[9], a[10], a[11]], 0, BOOL____00073) :: defines_var(BOOL____00073); +constraint int_lin_eq_reif([1, -1, -1, -1, -1], [tot_sum, a[1], a[2], a[3], a[4]], 0, BOOL____00007) :: defines_var(BOOL____00007); +constraint int_lin_eq_reif([1, -1, -1, -1, -1], [tot_sum, a[2], a[3], a[4], a[5]], 0, BOOL____00025) :: defines_var(BOOL____00025); +constraint int_lin_eq_reif([1, -1, -1, -1, -1], [tot_sum, a[3], a[4], a[5], a[6]], 0, BOOL____00035) :: defines_var(BOOL____00035); +constraint int_lin_eq_reif([1, -1, -1, -1, -1], [tot_sum, a[4], a[5], a[6], a[7]], 0, BOOL____00044) :: defines_var(BOOL____00044); +constraint int_lin_eq_reif([1, -1, -1, -1, -1], [tot_sum, a[5], a[6], a[7], a[8]], 0, BOOL____00052) :: defines_var(BOOL____00052); +constraint int_lin_eq_reif([1, -1, -1, -1, -1], [tot_sum, a[6], a[7], a[8], a[9]], 0, BOOL____00059) :: defines_var(BOOL____00059); +constraint int_lin_eq_reif([1, -1, -1, -1, -1], [tot_sum, a[7], a[8], a[9], a[10]], 0, BOOL____00065) :: defines_var(BOOL____00065); +constraint int_lin_eq_reif([1, -1, -1, -1, -1], [tot_sum, a[8], a[9], a[10], a[11]], 0, BOOL____00070) :: defines_var(BOOL____00070); +constraint int_lin_eq_reif([1, -1, -1, -1, -1, -1], [tot_sum, a[1], a[2], a[3], a[4], a[5]], 0, BOOL____00009) :: defines_var(BOOL____00009); +constraint int_lin_eq_reif([1, -1, -1, -1, -1, -1], [tot_sum, a[2], a[3], a[4], a[5], a[6]], 0, BOOL____00026) :: defines_var(BOOL____00026); +constraint int_lin_eq_reif([1, -1, -1, -1, -1, -1], [tot_sum, a[3], a[4], a[5], a[6], a[7]], 0, BOOL____00036) :: defines_var(BOOL____00036); +constraint int_lin_eq_reif([1, -1, -1, -1, -1, -1], [tot_sum, a[4], a[5], a[6], a[7], a[8]], 0, BOOL____00045) :: defines_var(BOOL____00045); +constraint int_lin_eq_reif([1, -1, -1, -1, -1, -1], [tot_sum, a[5], a[6], a[7], a[8], a[9]], 0, BOOL____00053) :: defines_var(BOOL____00053); +constraint int_lin_eq_reif([1, -1, -1, -1, -1, -1], [tot_sum, a[6], a[7], a[8], a[9], a[10]], 0, BOOL____00060) :: defines_var(BOOL____00060); +constraint int_lin_eq_reif([1, -1, -1, -1, -1, -1], [tot_sum, a[7], a[8], a[9], a[10], a[11]], 0, BOOL____00066) :: defines_var(BOOL____00066); +constraint int_lin_eq_reif([1, -1, -1, -1, -1, -1, -1], [tot_sum, a[1], a[2], a[3], a[4], a[5], a[6]], 0, BOOL____00011) :: defines_var(BOOL____00011); +constraint int_lin_eq_reif([1, -1, -1, -1, -1, -1, -1], [tot_sum, a[2], a[3], a[4], a[5], a[6], a[7]], 0, BOOL____00027) :: defines_var(BOOL____00027); +constraint int_lin_eq_reif([1, -1, -1, -1, -1, -1, -1], [tot_sum, a[3], a[4], a[5], a[6], a[7], a[8]], 0, BOOL____00037) :: defines_var(BOOL____00037); +constraint int_lin_eq_reif([1, -1, -1, -1, -1, -1, -1], [tot_sum, a[4], a[5], a[6], a[7], a[8], a[9]], 0, BOOL____00046) :: defines_var(BOOL____00046); +constraint int_lin_eq_reif([1, -1, -1, -1, -1, -1, -1], [tot_sum, a[5], a[6], a[7], a[8], a[9], a[10]], 0, BOOL____00054) :: defines_var(BOOL____00054); +constraint int_lin_eq_reif([1, -1, -1, -1, -1, -1, -1], [tot_sum, a[6], a[7], a[8], a[9], a[10], a[11]], 0, BOOL____00061) :: defines_var(BOOL____00061); +constraint int_lin_eq_reif([1, -1, -1, -1, -1, -1, -1, -1], [tot_sum, a[1], a[2], a[3], a[4], a[5], a[6], a[7]], 0, BOOL____00013) :: defines_var(BOOL____00013); +constraint int_lin_eq_reif([1, -1, -1, -1, -1, -1, -1, -1], [tot_sum, a[2], a[3], a[4], a[5], a[6], a[7], a[8]], 0, BOOL____00028) :: defines_var(BOOL____00028); +constraint int_lin_eq_reif([1, -1, -1, -1, -1, -1, -1, -1], [tot_sum, a[3], a[4], a[5], a[6], a[7], a[8], a[9]], 0, BOOL____00038) :: defines_var(BOOL____00038); +constraint int_lin_eq_reif([1, -1, -1, -1, -1, -1, -1, -1], [tot_sum, a[4], a[5], a[6], a[7], a[8], a[9], a[10]], 0, BOOL____00047) :: defines_var(BOOL____00047); +constraint int_lin_eq_reif([1, -1, -1, -1, -1, -1, -1, -1], [tot_sum, a[5], a[6], a[7], a[8], a[9], a[10], a[11]], 0, BOOL____00055) :: defines_var(BOOL____00055); +constraint int_lin_eq_reif([1, -1, -1, -1, -1, -1, -1, -1, -1], [tot_sum, a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8]], 0, BOOL____00015) :: defines_var(BOOL____00015); +constraint int_lin_eq_reif([1, -1, -1, -1, -1, -1, -1, -1, -1], [tot_sum, a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]], 0, BOOL____00029) :: defines_var(BOOL____00029); +constraint int_lin_eq_reif([1, -1, -1, -1, -1, -1, -1, -1, -1], [tot_sum, a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]], 0, BOOL____00039) :: defines_var(BOOL____00039); +constraint int_lin_eq_reif([1, -1, -1, -1, -1, -1, -1, -1, -1], [tot_sum, a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]], 0, BOOL____00048) :: defines_var(BOOL____00048); +constraint int_lin_eq_reif([1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [tot_sum, a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9]], 0, BOOL____00017) :: defines_var(BOOL____00017); +constraint int_lin_eq_reif([1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [tot_sum, a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]], 0, BOOL____00030) :: defines_var(BOOL____00030); +constraint int_lin_eq_reif([1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [tot_sum, a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]], 0, BOOL____00040) :: defines_var(BOOL____00040); +constraint int_lin_eq_reif([1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [tot_sum, a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10]], 0, BOOL____00019) :: defines_var(BOOL____00019); +constraint int_lin_eq_reif([1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [tot_sum, a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]], 0, BOOL____00031) :: defines_var(BOOL____00031); +constraint int_lin_eq_reif([1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1], [tot_sum, a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11]], 0, BOOL____00021) :: defines_var(BOOL____00021); +solve :: int_search([a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9], a[10], a[11], ans[1], ans[2], ans[3], ans[4], ans[5], ans[6], ans[7], ans[8], ans[9], ans[10], ans[11], tot_sum, from, to, from_answer, to_answer], first_fail, indomain_min, complete) maximize tot_sum;