(0) Obligation:

JBC Problem based on JBC Program:
Manifest-Version: 1.0 Created-By: 1.6.0_20 (Apple Inc.) Main-Class: Sudoku
public class Sudoku {
private int grid[][];

public Sudoku (int aGrid[][]) {
grid = new int[9][9];
for (int i = 0; i < 9; i++)
for (int j = 0; j < 9; j++)
grid[i][j] = aGrid[i][j];
}

/*
public String toString () {
String ch = "+---------+---------+---------+\n";
for (int i = 0; i < 9; i++) {
ch += "|";
for (int j = 0; j < 9; j++) {
if (grid[i][j] == 0) ch += " ";
else ch += " " + grid[i][j] + " ";
if (j % 3 == 2) ch += "|";
}
ch += "\n";
if (i % 3 == 2)
ch += "+---------+---------+---------+\n";
}
ch += "\n";
return ch;
}
*/

public boolean resolve () {
int n = 0;
for (int i = 0; i < 9; i++)
for (int j = 0; j < 9; j++)
if (grid[i][j] == 0) n++;
return resolve_aux(n);
}

private boolean resolve_aux (int nbEmpty) {
if (nbEmpty > 0) {
int i = 0, j = 0;
boolean emptyCell = false;
for (i = 0; i < 9; i++) {
for (j = 0; j < 9; j++)
if (grid[i][j] == 0) { emptyCell = true; break; }
if (emptyCell) break;
}

boolean T[] = new boolean[9];
possibleValues(i, j, T);
for (int k = 0; k < 9; k++)
if (T[k]) {
grid[i][j] = k+1;
if (resolve_aux(nbEmpty - 1))
return true;
else
grid[i][j] = 0;
}
return false;
}
else return true;
}

private void possibleValues (int l, int c, boolean T[]) {
for (int k = 0; k < 9; k++) T[k] = true;

for (int j = 0; j < 9; j++)
if (grid[l][j] != 0) T[grid[l][j]-1] = false;

for (int i = 0; i < 9; i++)
if (grid[i][c] != 0) T[grid[i][c]-1] = false;

l = l - (l % 3);
c = c - (c % 3);
int l3 = l+3, c3 = c+3;
for (int i = l; i < l3; i++)
for (int j = c; j < c3; j++)
if (grid[i][j] != 0) T[grid[i][j]-1] = false;
}

public static void main(String args[]) {
if (args.length >= 2) {
int n = args[0].length() % 10;
int m = args[1].length() % 10;
int example[][] = {
{0, 3, 0, 0, 0, 0, 0, 6, 0},
{7, 0, 0, 0, 1, 0, 0, 0, 9},
{4, 0, 0, 7, 0, 6, 0, 0, 5},

{0, 0, n, 3, 0, 9, 7, 0, 0},
{0, 0, 0, 0, 2, 0, 0, 0, 0},
{0, 0, m, 1, 0, 4, 9, 0, 0},

{6, 0, 0, 2, 0, 8, 0, 0, 1},
{8, 0, 0, 0, 5, 0, 0, 0, 2},
{0, 5, 0, 0, 0, 0, 0, 4 ,0}
};

(new Sudoku(example)).resolve();
/*
Sudoku S = new Sudoku(example);
System.out.println(S);
if (S.resolve()) System.out.println(S);
else System.out.println("No solution !\n\n");
*/
}
}
}


(1) JBC2FIG (SOUND transformation)

Constructed FIGraph.

(2) Obligation:

FIGraph based on JBC Program:
Sudoku.main([Ljava/lang/String;)V: Graph of 662 nodes with 1 SCC.

Sudoku.<init>([[I)V: Graph of 144 nodes with 1 SCC.

Sudoku.resolve_aux(I)Z: Graph of 775 nodes with 3 SCCs.

Sudoku.possibleValues(II[Z)V: Graph of 918 nodes with 4 SCCs.


(3) FIGtoITRSProof (SOUND transformation)

Transformed FIGraph SCCs to IDPs. Logs:


Log for SCC 0:

Generated 56 rules for P and 252 rules for R.


Combined rules. Obtained 7 rules for P and 0 rules for R.


Filtered ground terms:


15748_0_possibleValues_GE(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → 15748_0_possibleValues_GE(x2, x3, x4, x5, x6, x7, x8, x9, x10)
Sudoku(x1, x2) → Sudoku(x2)
Cond_18671_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) → Cond_18671_0_possibleValues_ArrayAccess(x1, x3, x4, x5, x6, x7, x8, x9, x10, x11)
18671_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → 18671_0_possibleValues_ArrayAccess(x2, x3, x4, x5, x6, x7, x8, x9, x10)
Cond_16244_0_possibleValues_EQ1(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_16244_0_possibleValues_EQ1(x1, x3, x4, x5, x6, x7, x8, x9)
16244_0_possibleValues_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 16244_0_possibleValues_EQ(x2, x3, x4, x5, x6, x7, x8, x9)
Cond_17877_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) → Cond_17877_0_possibleValues_ArrayAccess(x1, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12)
17877_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → 17877_0_possibleValues_ArrayAccess(x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
Cond_16244_0_possibleValues_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_16244_0_possibleValues_EQ(x1, x3, x4, x5, x6, x7, x8, x9, x10)
16122_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → 16122_0_possibleValues_ArrayAccess(x2, x3, x4, x5, x6, x7, x8, x9, x10)
Cond_15748_0_possibleValues_GE1(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → Cond_15748_0_possibleValues_GE1(x1, x3, x4, x5, x6, x7, x8, x9, x10, x11)
Cond_15748_0_possibleValues_GE(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → Cond_15748_0_possibleValues_GE(x1, x3, x4, x5, x6, x7, x8, x9, x10, x11)
Cond_16122_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → Cond_16122_0_possibleValues_ArrayAccess(x1, x3, x4, x5, x6, x7, x8, x9, x10, x11)

Filtered duplicate args:


15748_0_possibleValues_GE(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 15748_0_possibleValues_GE(x1, x2, x3, x4, x6, x8, x9)
Cond_18671_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_18671_0_possibleValues_ArrayAccess(x1, x2, x3, x5, x6, x7, x8, x9, x10)
18671_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 18671_0_possibleValues_ArrayAccess(x1, x2, x4, x5, x6, x7, x8, x9)
Cond_17877_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → Cond_17877_0_possibleValues_ArrayAccess(x1, x2, x3, x5, x6, x7, x9, x10, x11)
17877_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → 17877_0_possibleValues_ArrayAccess(x1, x2, x4, x5, x6, x8, x9, x10)
16122_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 16122_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x8, x9)
Cond_15748_0_possibleValues_GE1(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_15748_0_possibleValues_GE1(x1, x2, x3, x4, x5, x7, x9, x10)
Cond_15748_0_possibleValues_GE(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_15748_0_possibleValues_GE(x1, x2, x3, x4, x5, x7, x9, x10)
Cond_16122_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_16122_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x9, x10)

Filtered unneeded arguments:


Cond_15748_0_possibleValues_GE(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_15748_0_possibleValues_GE(x1, x2, x3, x4, x5, x6, x8)
Cond_16244_0_possibleValues_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_16244_0_possibleValues_EQ(x1, x2, x3, x4, x5, x6, x7, x8)
Cond_18671_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_18671_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8)

Combined rules. Obtained 7 rules for P and 0 rules for R.


Finished conversion. Obtained 7 rules for P and 0 rules for R. System has predefined symbols.




Log for SCC 1:

Generated 43 rules for P and 555 rules for R.


Combined rules. Obtained 5 rules for P and 0 rules for R.


Filtered ground terms:


11502_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 11502_0_possibleValues_ArrayAccess(x2, x3, x4, x5, x6, x7, x8)
Sudoku(x1, x2) → Sudoku(x2)
Cond_13109_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_13109_0_possibleValues_ArrayAccess(x1, x3, x4, x5, x6, x7, x8, x9)
13109_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 13109_0_possibleValues_ArrayAccess(x2, x3, x4, x5, x6, x7, x8)
Cond_11559_0_possibleValues_EQ1(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_11559_0_possibleValues_EQ1(x1, x3, x4, x5, x6, x7)
11559_0_possibleValues_EQ(x1, x2, x3, x4, x5, x6, x7) → 11559_0_possibleValues_EQ(x2, x3, x4, x5, x6, x7)
Cond_12635_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_12635_0_possibleValues_ArrayAccess(x1, x3, x4, x5, x6, x7, x8, x9, x10)
12635_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 12635_0_possibleValues_ArrayAccess(x2, x3, x4, x5, x6, x7, x8, x9)
Cond_11559_0_possibleValues_EQ(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_11559_0_possibleValues_EQ(x1, x3, x4, x5, x6, x7, x8)
Cond_11502_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_11502_0_possibleValues_ArrayAccess(x1, x3, x4, x5, x6, x7, x8, x9)

Filtered duplicate args:


11502_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 11502_0_possibleValues_ArrayAccess(x1, x2, x4, x5, x6, x7)
Cond_13109_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_13109_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x6, x7, x8)
13109_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 13109_0_possibleValues_ArrayAccess(x1, x2, x3, x5, x6, x7)
Cond_12635_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_12635_0_possibleValues_ArrayAccess(x1, x2, x3, x6, x7, x8, x9)
12635_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 12635_0_possibleValues_ArrayAccess(x1, x2, x5, x6, x7, x8)
Cond_11502_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_11502_0_possibleValues_ArrayAccess(x1, x2, x3, x5, x6, x7, x8)

Filtered unneeded arguments:


11502_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6) → 11502_0_possibleValues_ArrayAccess(x1, x3, x4, x5, x6)
Cond_11502_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → Cond_11502_0_possibleValues_ArrayAccess(x1, x2, x4, x5, x6, x7)
11559_0_possibleValues_EQ(x1, x2, x3, x4, x5, x6) → 11559_0_possibleValues_EQ(x1, x3, x4, x5, x6)
Cond_11559_0_possibleValues_EQ(x1, x2, x3, x4, x5, x6, x7) → Cond_11559_0_possibleValues_EQ(x1, x2, x4, x5, x6)
12635_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6) → 12635_0_possibleValues_ArrayAccess(x1, x3, x4, x5, x6)
Cond_12635_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → Cond_12635_0_possibleValues_ArrayAccess(x1, x2, x4, x5, x6, x7)
Cond_11559_0_possibleValues_EQ1(x1, x2, x3, x4, x5, x6) → Cond_11559_0_possibleValues_EQ1(x1, x2, x4, x5, x6)
13109_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6) → 13109_0_possibleValues_ArrayAccess(x1, x3, x4, x5, x6)
Cond_13109_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → Cond_13109_0_possibleValues_ArrayAccess(x1, x2, x4, x5, x6)

Combined rules. Obtained 5 rules for P and 0 rules for R.


Finished conversion. Obtained 5 rules for P and 0 rules for R. System has predefined symbols.




Log for SCC 2:

Generated 43 rules for P and 829 rules for R.


Combined rules. Obtained 3 rules for P and 0 rules for R.


Filtered ground terms:


8194_0_possibleValues_EQ(x1, x2, x3, x4, x5, x6, x7) → 8194_0_possibleValues_EQ(x2, x3, x4, x5, x6, x7)
Sudoku(x1, x2) → Sudoku(x2)
Cond_9066_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_9066_0_possibleValues_ArrayAccess(x1, x3, x4, x5, x6, x7, x8, x9)
9066_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 9066_0_possibleValues_ArrayAccess(x2, x3, x4, x5, x6, x7, x8)
Cond_8194_0_possibleValues_EQ1(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_8194_0_possibleValues_EQ1(x1, x3, x4, x5, x6, x7)
Cond_8194_0_possibleValues_EQ(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_8194_0_possibleValues_EQ(x1, x3, x4, x5, x6, x7, x8)

Filtered duplicate args:


Cond_9066_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_9066_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x6, x7, x8)
9066_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 9066_0_possibleValues_ArrayAccess(x1, x2, x3, x5, x6, x7)

Filtered unneeded arguments:


8194_0_possibleValues_EQ(x1, x2, x3, x4, x5, x6) → 8194_0_possibleValues_EQ(x1, x2, x4, x5, x6)
Cond_8194_0_possibleValues_EQ(x1, x2, x3, x4, x5, x6, x7) → Cond_8194_0_possibleValues_EQ(x1, x2, x3, x5, x6)
Cond_8194_0_possibleValues_EQ1(x1, x2, x3, x4, x5, x6) → Cond_8194_0_possibleValues_EQ1(x1, x2, x3, x5, x6)
9066_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6) → 9066_0_possibleValues_ArrayAccess(x1, x2, x4, x5, x6)
Cond_9066_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → Cond_9066_0_possibleValues_ArrayAccess(x1, x2, x3, x5, x6)

Combined rules. Obtained 3 rules for P and 0 rules for R.


Finished conversion. Obtained 3 rules for P and 0 rules for R. System has predefined symbols.




Log for SCC 3:

Generated 11 rules for P and 877 rules for R.


Combined rules. Obtained 1 rules for P and 0 rules for R.


Filtered ground terms:


7427_0_possibleValues_ConstantStackPush(x1, x2, x3, x4, x5, x6, x7) → 7427_0_possibleValues_ConstantStackPush(x2, x3, x4, x5, x6, x7)
ARRAY(x1, x2) → ARRAY(x2)
Cond_7427_0_possibleValues_ConstantStackPush(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_7427_0_possibleValues_ConstantStackPush(x1, x3, x4, x5, x6, x7, x8)

Filtered duplicate args:


7427_0_possibleValues_ConstantStackPush(x1, x2, x3, x4, x5, x6) → 7427_0_possibleValues_ConstantStackPush(x1, x2, x3, x4, x6)
Cond_7427_0_possibleValues_ConstantStackPush(x1, x2, x3, x4, x5, x6, x7) → Cond_7427_0_possibleValues_ConstantStackPush(x1, x2, x3, x4, x5, x7)

Filtered unneeded arguments:


7427_0_possibleValues_ConstantStackPush(x1, x2, x3, x4, x5) → 7427_0_possibleValues_ConstantStackPush(x1, x4, x5)
Cond_7427_0_possibleValues_ConstantStackPush(x1, x2, x3, x4, x5, x6) → Cond_7427_0_possibleValues_ConstantStackPush(x1, x2, x5, x6)

Combined rules. Obtained 1 rules for P and 0 rules for R.


Finished conversion. Obtained 1 rules for P and 0 rules for R. System has predefined symbols.




Log for SCC 4:

Generated 194 rules for P and 1553 rules for R.


Combined rules. Obtained 16 rules for P and 171 rules for R.


Filtered ground terms:


22336_0_resolve_aux_EQ(x1, x2, x3, x4, x5, x6, x7, x8) → 22336_0_resolve_aux_EQ(x2, x3, x5, x6, x7, x8)
Sudoku(x1, x2) → Sudoku(x2)
Cond_22834_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → Cond_22834_0_resolve_aux_ArrayAccess(x1, x3, x4, x6, x7, x8, x9, x10)
22834_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → 22834_0_resolve_aux_ArrayAccess(x2, x3, x5, x6, x7, x8, x9)
Cond_22336_0_resolve_aux_EQ1(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_22336_0_resolve_aux_EQ1(x1, x3, x4, x6, x7, x8)
22565_1_resolve_aux_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 22565_1_resolve_aux_InvokeMethod(x1, x2, x3, x5, x6, x7, x8, x9)
22324_0_resolve_aux_Return(x1, x2) → 22324_0_resolve_aux_Return
21833_0_resolve_aux_GE(x1, x2, x3, x4, x5, x6, x7, x8) → 21833_0_resolve_aux_GE(x2, x3, x4, x5, x7)
Cond_22493_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → Cond_22493_0_resolve_aux_ArrayAccess(x1, x3, x4, x6, x7, x8, x9, x10, x11)
22493_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → 22493_0_resolve_aux_ArrayAccess(x2, x3, x5, x6, x7, x8, x9, x10)
Cond_22336_0_resolve_aux_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_22336_0_resolve_aux_EQ(x1, x3, x4, x6, x7, x8, x9)
Cond_21862_1_resolve_aux_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → Cond_21862_1_resolve_aux_InvokeMethod(x1, x3, x4, x6, x8, x10)
DATA_9(x1, x2, x3, x4, x5, x6, x7, x8, x9) → DATA_9
12741_0_possibleValues_Return(x1) → 12741_0_possibleValues_Return
21862_1_resolve_aux_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → 21862_1_resolve_aux_InvokeMethod(x1, x2, x3, x5, x7, x9)
21862_0_possibleValues_ConstantStackPush(x1, x2, x3, x4, x5) → 21862_0_possibleValues_ConstantStackPush(x2, x4, x5)
Cond_22481_0_resolve_aux_GE1(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_22481_0_resolve_aux_GE1(x1, x3, x4, x5)
22481_0_resolve_aux_GE(x1, x2, x3, x4, x5, x6, x7, x8) → 22481_0_resolve_aux_GE(x2, x3, x4, x5, x7)
23805_0_resolve_aux_EQ(x1, x2, x3, x4, x5, x6, x7, x8) → 23805_0_resolve_aux_EQ(x2, x3, x4, x5, x6, x7, x8)
Cond_23993_1_resolve_aux_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_23993_1_resolve_aux_InvokeMethod(x1, x3, x4, x5, x6, x7, x8, x9, x10)
Cond_23805_0_resolve_aux_EQ1(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_23805_0_resolve_aux_EQ1(x1, x3, x4, x5, x6, x7, x8)
Cond_23805_0_resolve_aux_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_23805_0_resolve_aux_EQ(x1, x3, x4, x5, x6, x7, x8, x9)
Cond_23281_1_resolve_aux_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → Cond_23281_1_resolve_aux_InvokeMethod(x1, x3, x4, x5, x6, x8, x9, x10)
23281_1_resolve_aux_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → 23281_1_resolve_aux_InvokeMethod(x1, x2, x3, x4, x5, x7, x8, x9)
23281_0_possibleValues_ConstantStackPush(x1, x2, x3, x4, x5) → 23281_0_possibleValues_ConstantStackPush(x2, x3, x4, x5)
22731_0_resolve_aux_NE(x1, x2, x3, x4, x5, x6, x7) → 22731_0_resolve_aux_NE(x2, x3, x4, x5, x7)
Cond_22731_0_resolve_aux_NE(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_22731_0_resolve_aux_NE(x1, x3, x4, x5, x6, x8)
Cond_22481_0_resolve_aux_GE(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_22481_0_resolve_aux_GE(x1, x3, x4, x5, x6, x8)
Cond_21833_0_resolve_aux_GE(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_21833_0_resolve_aux_GE(x1, x3, x4, x5, x6, x8)
15724_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → 15724_0_possibleValues_ArrayAccess(x3, x4, x5, x6, x7, x8, x9)
java.lang.ArrayIndexOutOfBoundsException(x1) → java.lang.ArrayIndexOutOfBoundsException
java.lang.IndexOutOfBoundsException(x1) → java.lang.IndexOutOfBoundsException
Cond_13040_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_13040_0_possibleValues_ArrayAccess(x1, x3, x4, x5, x6, x7, x8, x9)
13040_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 13040_0_possibleValues_ArrayAccess(x2, x3, x4, x5, x6, x7, x8)
15762_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → 15762_0_possibleValues_ArrayAccess(x3, x4, x5, x6, x7, x8, x9)
Cond_13110_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_13110_0_possibleValues_ArrayAccess(x1, x3, x4, x5, x6, x7, x8, x9)
13110_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 13110_0_possibleValues_ArrayAccess(x2, x3, x4, x5, x6, x7, x8)
11380_0_possibleValues_GE(x1, x2, x3, x4, x5, x6, x7, x8) → 11380_0_possibleValues_GE(x2, x3, x4, x5, x6, x7)
Cond_13109_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_13109_0_possibleValues_ArrayAccess(x1, x3, x4, x5, x6, x7, x8, x9)
13109_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 13109_0_possibleValues_ArrayAccess(x2, x3, x4, x5, x6, x7, x8)
Cond_12635_0_possibleValues_ArrayAccess2(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_12635_0_possibleValues_ArrayAccess2(x1, x3, x4, x5, x6, x7, x8, x9, x10)
12635_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 12635_0_possibleValues_ArrayAccess(x2, x3, x4, x5, x6, x7, x8, x9)
Cond_12635_0_possibleValues_ArrayAccess1(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_12635_0_possibleValues_ArrayAccess1(x1, x3, x4, x5, x6, x7, x8, x9, x10)
Cond_12635_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_12635_0_possibleValues_ArrayAccess(x1, x3, x4, x5, x6, x7, x8, x9, x10)
14874_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → 14874_0_possibleValues_ArrayAccess(x3, x4, x5, x6, x7, x8, x9, x10)
Cond_12636_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_12636_0_possibleValues_ArrayAccess(x1, x3, x4, x5, x6, x7, x8, x9, x10)
12636_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 12636_0_possibleValues_ArrayAccess(x2, x3, x4, x5, x6, x7, x8, x9)
14212_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → 14212_0_possibleValues_ArrayAccess(x3, x4, x5, x6, x7, x8, x10)
java.lang.NullPointerException(x1) → java.lang.NullPointerException
Cond_11559_0_possibleValues_EQ4(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_11559_0_possibleValues_EQ4(x1, x3, x4, x5, x6, x7, x8)
11559_0_possibleValues_EQ(x1, x2, x3, x4, x5, x6, x7) → 11559_0_possibleValues_EQ(x2, x3, x4, x5, x6, x7)
Cond_11559_0_possibleValues_EQ3(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_11559_0_possibleValues_EQ3(x1, x3, x4, x5, x6, x7, x8)
Cond_11559_0_possibleValues_EQ2(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_11559_0_possibleValues_EQ2(x1, x3, x4, x5, x6, x7, x8)
14136_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → 14136_0_possibleValues_ArrayAccess(x3, x4, x5, x6, x7, x8, x9, x10)
Cond_11559_0_possibleValues_EQ1(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_11559_0_possibleValues_EQ1(x1, x3, x4, x5, x6, x7, x8)
Cond_11559_0_possibleValues_EQ(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_11559_0_possibleValues_EQ(x1, x3, x4, x5, x6, x7)
20889_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) → 20889_0_possibleValues_ArrayAccess(x3, x4, x5, x6, x7, x8, x9, x10, x11)
Cond_18572_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) → Cond_18572_0_possibleValues_ArrayAccess(x1, x3, x4, x5, x6, x7, x8, x9, x10, x11)
18572_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → 18572_0_possibleValues_ArrayAccess(x2, x3, x4, x5, x6, x7, x8, x9, x10)
20912_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) → 20912_0_possibleValues_ArrayAccess(x3, x4, x5, x6, x7, x8, x9, x10, x11)
Cond_18672_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) → Cond_18672_0_possibleValues_ArrayAccess(x1, x3, x4, x5, x6, x7, x8, x9, x10, x11)
18672_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → 18672_0_possibleValues_ArrayAccess(x2, x3, x4, x5, x6, x7, x8, x9, x10)
15748_0_possibleValues_GE(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → 15748_0_possibleValues_GE(x2, x3, x4, x5, x6, x7, x8, x9, x10)
Cond_18671_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) → Cond_18671_0_possibleValues_ArrayAccess(x1, x3, x4, x5, x6, x7, x8, x9, x10, x11)
18671_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → 18671_0_possibleValues_ArrayAccess(x2, x3, x4, x5, x6, x7, x8, x9, x10)
Cond_17877_0_possibleValues_ArrayAccess2(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) → Cond_17877_0_possibleValues_ArrayAccess2(x1, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12)
17877_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → 17877_0_possibleValues_ArrayAccess(x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
Cond_17877_0_possibleValues_ArrayAccess1(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) → Cond_17877_0_possibleValues_ArrayAccess1(x1, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12)
Cond_17877_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) → Cond_17877_0_possibleValues_ArrayAccess(x1, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12)
20676_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) → 20676_0_possibleValues_ArrayAccess(x3, x4, x5, x6, x7, x8, x9, x10, x11, x12)
Cond_17879_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) → Cond_17879_0_possibleValues_ArrayAccess(x1, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12)
17879_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → 17879_0_possibleValues_ArrayAccess(x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
20291_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) → 20291_0_possibleValues_ArrayAccess(x3, x4, x5, x6, x7, x8, x9, x10, x12)
Cond_16244_0_possibleValues_EQ4(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_16244_0_possibleValues_EQ4(x1, x3, x4, x5, x6, x7, x8, x9, x10)
16244_0_possibleValues_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 16244_0_possibleValues_EQ(x2, x3, x4, x5, x6, x7, x8, x9)
Cond_16244_0_possibleValues_EQ3(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_16244_0_possibleValues_EQ3(x1, x3, x4, x5, x6, x7, x8, x9, x10)
Cond_16244_0_possibleValues_EQ2(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_16244_0_possibleValues_EQ2(x1, x3, x4, x5, x6, x7, x8, x9, x10)
20179_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) → 20179_0_possibleValues_ArrayAccess(x3, x4, x5, x6, x7, x8, x9, x10, x11, x12)
Cond_16244_0_possibleValues_EQ1(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_16244_0_possibleValues_EQ1(x1, x3, x4, x5, x6, x7, x8, x9, x10)
Cond_16244_0_possibleValues_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_16244_0_possibleValues_EQ(x1, x3, x4, x5, x6, x7, x8, x9)
Cond_11502_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_11502_0_possibleValues_ArrayAccess(x1, x3, x4, x5, x6, x7, x8, x9)
11502_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 11502_0_possibleValues_ArrayAccess(x2, x3, x4, x5, x6, x7, x8)
Cond_16122_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → Cond_16122_0_possibleValues_ArrayAccess(x1, x3, x4, x5, x6, x7, x8, x9, x10, x11)
16122_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → 16122_0_possibleValues_ArrayAccess(x2, x3, x4, x5, x6, x7, x8, x9, x10)
7429_0_possibleValues_GE(x1, x2, x3, x4, x5, x6, x7, x8) → 7429_0_possibleValues_GE(x2, x3, x4, x5, x6, x7)
Cond_7429_0_possibleValues_GE(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_7429_0_possibleValues_GE(x1, x3, x4, x5, x6, x7, x8)
8919_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 8919_0_possibleValues_ArrayAccess(x3, x4, x5, x6, x7, x8, x9)
Cond_8062_0_possibleValues_GE5(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_8062_0_possibleValues_GE5(x1, x3, x4, x5, x6, x7, x8)
8062_0_possibleValues_GE(x1, x2, x3, x4, x5, x6, x7, x8) → 8062_0_possibleValues_GE(x2, x3, x4, x5, x6, x7)
10957_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → 10957_0_possibleValues_ArrayAccess(x3, x4, x5, x6, x7, x8, x9)
Cond_9005_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_9005_0_possibleValues_ArrayAccess(x1, x3, x4, x5, x6, x7, x8, x9)
9005_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 9005_0_possibleValues_ArrayAccess(x2, x3, x4, x5, x6, x7, x8)
10982_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → 10982_0_possibleValues_ArrayAccess(x3, x4, x5, x6, x7, x8, x9)
Cond_9067_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_9067_0_possibleValues_ArrayAccess(x1, x3, x4, x5, x6, x7, x8, x9)
9067_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 9067_0_possibleValues_ArrayAccess(x2, x3, x4, x5, x6, x7, x8)
Cond_9066_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_9066_0_possibleValues_ArrayAccess(x1, x3, x4, x5, x6, x7, x8, x9)
9066_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 9066_0_possibleValues_ArrayAccess(x2, x3, x4, x5, x6, x7, x8)
Cond_8194_0_possibleValues_EQ6(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_8194_0_possibleValues_EQ6(x1, x3, x4, x5, x6, x7, x8)
8194_0_possibleValues_EQ(x1, x2, x3, x4, x5, x6, x7) → 8194_0_possibleValues_EQ(x2, x3, x4, x5, x6, x7)
Cond_8194_0_possibleValues_EQ5(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_8194_0_possibleValues_EQ5(x1, x3, x4, x5, x6, x7, x8)
Cond_8194_0_possibleValues_EQ4(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_8194_0_possibleValues_EQ4(x1, x3, x4, x5, x6, x7, x8)
10788_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → 10788_0_possibleValues_ArrayAccess(x3, x4, x5, x6, x7, x8, x9, x10)
Cond_8800_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_8800_0_possibleValues_ArrayAccess(x1, x3, x4, x5, x6, x7, x8, x9, x10)
8800_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 8800_0_possibleValues_ArrayAccess(x2, x3, x4, x5, x6, x7, x8, x9)
10519_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → 10519_0_possibleValues_ArrayAccess(x3, x4, x5, x6, x7, x8, x10)
Cond_8194_0_possibleValues_EQ3(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_8194_0_possibleValues_EQ3(x1, x3, x4, x5, x6, x7, x8)
Cond_8194_0_possibleValues_EQ2(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_8194_0_possibleValues_EQ2(x1, x3, x4, x5, x6, x7, x8)
10294_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → 10294_0_possibleValues_ArrayAccess(x3, x4, x5, x6, x7, x8, x9, x10)
Cond_8194_0_possibleValues_EQ1(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_8194_0_possibleValues_EQ1(x1, x3, x4, x5, x6, x7, x8)
Cond_8194_0_possibleValues_EQ(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_8194_0_possibleValues_EQ(x1, x3, x4, x5, x6, x7)
9379_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 9379_0_possibleValues_ArrayAccess(x3, x4, x5, x6, x7, x8, x9)
Cond_8176_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_8176_0_possibleValues_ArrayAccess(x1, x3, x4, x5, x6, x7, x8, x9)
8176_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 8176_0_possibleValues_ArrayAccess(x2, x3, x4, x5, x6, x7, x8)
Cond_8062_0_possibleValues_GE4(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_8062_0_possibleValues_GE4(x1, x3, x4, x5, x6, x7, x8)
9049_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 9049_0_possibleValues_ArrayAccess(x3, x4, x5, x6, x7, x9)
Cond_8062_0_possibleValues_GE3(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_8062_0_possibleValues_GE3(x1, x3, x4, x5, x6, x7, x8)
Cond_8062_0_possibleValues_GE2(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_8062_0_possibleValues_GE2(x1, x3, x4, x5, x6, x7, x8)
9002_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 9002_0_possibleValues_ArrayAccess(x3, x4, x5, x6, x7, x8, x9)
Cond_8062_0_possibleValues_GE1(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_8062_0_possibleValues_GE1(x1, x3, x4, x5, x6, x7, x8)
8791_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 8791_0_possibleValues_ArrayAccess(x4, x5, x6, x7, x9)
Cond_8062_0_possibleValues_GE(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_8062_0_possibleValues_GE(x1, x4, x5, x6, x7, x8)
13257_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 13257_0_possibleValues_ArrayAccess(x3, x4, x5, x6, x7, x8, x9)
Cond_11380_0_possibleValues_GE5(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_11380_0_possibleValues_GE5(x1, x3, x4, x5, x6, x7, x8)
13402_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 13402_0_possibleValues_ArrayAccess(x3, x4, x5, x6, x7, x8, x9)
Cond_11505_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_11505_0_possibleValues_ArrayAccess(x1, x3, x4, x5, x6, x7, x8, x9)
11505_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 11505_0_possibleValues_ArrayAccess(x2, x3, x4, x5, x6, x7, x8)
Cond_11380_0_possibleValues_GE4(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_11380_0_possibleValues_GE4(x1, x3, x4, x5, x6, x7, x8)
Cond_11380_0_possibleValues_GE3(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_11380_0_possibleValues_GE3(x1, x3, x4, x5, x6, x7, x8)
13012_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 13012_0_possibleValues_ArrayAccess(x3, x4, x5, x6, x7, x9)
Cond_11380_0_possibleValues_GE2(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_11380_0_possibleValues_GE2(x1, x3, x4, x5, x6, x7, x8)
12949_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 12949_0_possibleValues_ArrayAccess(x3, x4, x5, x6, x7, x8, x9)
Cond_11380_0_possibleValues_GE1(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_11380_0_possibleValues_GE1(x1, x3, x4, x5, x6, x7, x8)
12594_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 12594_0_possibleValues_ArrayAccess(x4, x5, x6, x7, x9)
Cond_11380_0_possibleValues_GE(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_11380_0_possibleValues_GE(x1, x4, x5, x6, x7, x8)
12448_0_possibleValues_GE(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 12448_0_possibleValues_GE(x2, x3, x4, x5, x6, x7, x8, x9)
Cond_15748_0_possibleValues_GE7(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → Cond_15748_0_possibleValues_GE7(x1, x3, x4, x5, x6, x7, x8, x9, x10, x11)
18170_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → 18170_0_possibleValues_ArrayAccess(x3, x4, x5, x6, x7, x8, x9, x10, x11)
Cond_15748_0_possibleValues_GE6(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → Cond_15748_0_possibleValues_GE6(x1, x3, x4, x5, x6, x7, x8, x9, x10, x11)
18873_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → 18873_0_possibleValues_ArrayAccess(x3, x4, x5, x6, x7, x8, x9, x10, x11)
Cond_15748_0_possibleValues_GE5(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → Cond_15748_0_possibleValues_GE5(x1, x3, x4, x5, x6, x7, x8, x9, x10, x11)
19084_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → 19084_0_possibleValues_ArrayAccess(x3, x4, x5, x6, x7, x8, x9, x10, x11)
Cond_16124_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → Cond_16124_0_possibleValues_ArrayAccess(x1, x3, x4, x5, x6, x7, x8, x9, x10, x11)
16124_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → 16124_0_possibleValues_ArrayAccess(x2, x3, x4, x5, x6, x7, x8, x9, x10)
Cond_15748_0_possibleValues_GE4(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → Cond_15748_0_possibleValues_GE4(x1, x3, x4, x5, x6, x7, x8, x9, x10, x11)
Cond_15748_0_possibleValues_GE3(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → Cond_15748_0_possibleValues_GE3(x1, x3, x4, x5, x6, x7, x8, x9, x10, x11)
18541_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → 18541_0_possibleValues_ArrayAccess(x3, x4, x5, x6, x7, x8, x9, x11)
Cond_15748_0_possibleValues_GE2(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → Cond_15748_0_possibleValues_GE2(x1, x3, x4, x5, x6, x7, x8, x9, x10, x11)
18449_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → 18449_0_possibleValues_ArrayAccess(x3, x4, x5, x6, x7, x8, x9, x10, x11)
Cond_15748_0_possibleValues_GE1(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → Cond_15748_0_possibleValues_GE1(x1, x3, x4, x5, x6, x7, x8, x9, x10, x11)
17597_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → 17597_0_possibleValues_ArrayAccess(x4, x5, x6, x7, x8, x9, x11)
Cond_15748_0_possibleValues_GE(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → Cond_15748_0_possibleValues_GE(x1, x4, x5, x6, x7, x8, x9, x10, x11)
Cond_12448_0_possibleValues_GE1(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_12448_0_possibleValues_GE1(x1, x3, x4, x5, x6, x7, x8, x9, x10)
Cond_12448_0_possibleValues_GE(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_12448_0_possibleValues_GE(x1, x3, x4, x5, x6, x7, x8, x9, x10)
22587_0_resolve_aux_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → 22587_0_resolve_aux_InvokeMethod(x2, x3, x4, x6, x7, x8, x9, x10)
24875_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → 24875_0_resolve_aux_ArrayAccess(x3, x4, x5, x6, x7, x8, x9, x10)
24817_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → 24817_0_resolve_aux_ArrayAccess(x3, x4, x5, x6, x7, x8, x10)
24785_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → 24785_0_resolve_aux_ArrayAccess(x3, x4, x5, x6, x7, x8, x9, x10)
24529_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → 24529_0_resolve_aux_ArrayAccess(x3, x4, x5, x6, x7, x8, x9, x10, x11)
24433_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → 24433_0_resolve_aux_ArrayAccess(x3, x4, x5, x6, x7, x8, x10, x11)
24340_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → 24340_0_resolve_aux_ArrayAccess(x3, x4, x5, x6, x7, x8, x9, x10)
22629_0_resolve_aux_Return(x1, x2, x3, x4, x5, x6, x7, x8) → 22629_0_resolve_aux_Return(x2, x3, x5, x6, x7)
24182_0_resolve_aux_Return(x1, x2, x3, x4, x5, x6, x7, x8) → 24182_0_resolve_aux_Return(x2, x3, x4, x5, x6, x7)
24100_0_resolve_aux_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → 24100_0_resolve_aux_InvokeMethod(x2, x3, x4, x5, x6, x7, x8, x9, x10)
23700_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → 23700_0_resolve_aux_ArrayAccess(x3, x4, x6, x7, x8, x9, x10)
23644_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → 23644_0_resolve_aux_ArrayAccess(x3, x4, x6, x7, x8, x10)
23632_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 23632_0_resolve_aux_ArrayAccess(x3, x4, x5, x6, x8, x9)
23502_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 23502_0_resolve_aux_ArrayAccess(x3, x4, x5, x6, x9)
23411_0_resolve_aux_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → 23411_0_resolve_aux_InvokeMethod(x2, x3, x4, x5, x6, x7, x8, x9, x10, x11)
23387_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 23387_0_resolve_aux_ArrayAccess(x3, x4, x5, x6, x8, x9)
23015_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → 23015_0_resolve_aux_ArrayAccess(x3, x4, x6, x7, x8, x9, x10, x11)
22879_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → 22879_0_resolve_aux_ArrayAccess(x3, x4, x6, x7, x8, x10, x11)
21990_0_resolve_aux_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → 21990_0_resolve_aux_InvokeMethod(x2, x3, x4, x6, x7, x8, x10, x11)
18869_0_resolve_aux_Return(x1, x2) → 18869_0_resolve_aux_Return
22745_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → 22745_0_resolve_aux_ArrayAccess(x3, x4, x6, x7, x8, x9)
21918_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 21918_0_possibleValues_ArrayAccess(x3, x4, x5, x6, x7)
21871_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 21871_0_possibleValues_ArrayAccess(x3, x4, x5, x6, x7)
23347_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6) → 23347_0_possibleValues_ArrayAccess(x4, x5)
23325_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 23325_0_possibleValues_ArrayAccess(x3, x4, x5, x6, x7)
23318_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 23318_0_possibleValues_ArrayAccess(x4, x5, x6)
23291_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 23291_0_possibleValues_ArrayAccess(x3, x4, x5, x6, x7, x8)
23289_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 23289_0_possibleValues_ArrayAccess(x4, x5, x6, x8)

Filtered duplicate args:


Cond_22834_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_22834_0_resolve_aux_ArrayAccess(x1, x2, x3, x5, x6, x7, x8)
22834_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 22834_0_resolve_aux_ArrayAccess(x1, x2, x4, x5, x6, x7)
22565_1_resolve_aux_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8) → 22565_1_resolve_aux_InvokeMethod(x1, x3, x4, x5, x6, x7, x8)
21833_0_resolve_aux_GE(x1, x2, x3, x4, x5) → 21833_0_resolve_aux_GE(x1, x2, x4, x5)
Cond_22493_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_22493_0_resolve_aux_ArrayAccess(x1, x2, x3, x5, x6, x7, x8, x9)
22493_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 22493_0_resolve_aux_ArrayAccess(x1, x2, x4, x5, x6, x7, x8)
Cond_21862_1_resolve_aux_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_21862_1_resolve_aux_InvokeMethod(x1, x3, x5, x6)
21862_1_resolve_aux_InvokeMethod(x1, x2, x3, x4, x5, x6) → 21862_1_resolve_aux_InvokeMethod(x1, x3, x5, x6)
22481_0_resolve_aux_GE(x1, x2, x3, x4, x5) → 22481_0_resolve_aux_GE(x1, x2, x3, x5)
Cond_23993_1_resolve_aux_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_23993_1_resolve_aux_InvokeMethod(x1, x3, x4, x5, x6, x7, x8, x9)
23993_1_resolve_aux_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 23993_1_resolve_aux_InvokeMethod(x1, x3, x4, x5, x6, x7, x8, x9)
Cond_23281_1_resolve_aux_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_23281_1_resolve_aux_InvokeMethod(x1, x3, x6, x7, x8)
23281_1_resolve_aux_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8) → 23281_1_resolve_aux_InvokeMethod(x1, x3, x6, x7, x8)
Cond_22481_0_resolve_aux_GE(x1, x2, x3, x4, x5, x6) → Cond_22481_0_resolve_aux_GE(x1, x2, x3, x4, x6)
Cond_21833_0_resolve_aux_GE(x1, x2, x3, x4, x5, x6) → Cond_21833_0_resolve_aux_GE(x1, x2, x3, x5, x6)
15724_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 15724_0_possibleValues_ArrayAccess(x1, x2, x3, x5, x6, x7)
Cond_13040_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_13040_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x6, x7, x8)
13040_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 13040_0_possibleValues_ArrayAccess(x1, x2, x3, x5, x6, x7)
15762_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 15762_0_possibleValues_ArrayAccess(x1, x2, x3, x5, x6, x7)
Cond_13110_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_13110_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x6, x7, x8)
13110_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 13110_0_possibleValues_ArrayAccess(x1, x2, x3, x5, x6, x7)
11380_0_possibleValues_GE(x1, x2, x3, x4, x5, x6) → 11380_0_possibleValues_GE(x1, x2, x3, x4, x6)
Cond_13109_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_13109_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x6, x7, x8)
13109_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 13109_0_possibleValues_ArrayAccess(x1, x2, x3, x5, x6, x7)
Cond_12635_0_possibleValues_ArrayAccess2(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_12635_0_possibleValues_ArrayAccess2(x1, x2, x3, x6, x7, x8, x9)
12635_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 12635_0_possibleValues_ArrayAccess(x1, x2, x5, x6, x7, x8)
Cond_12635_0_possibleValues_ArrayAccess1(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_12635_0_possibleValues_ArrayAccess1(x1, x2, x3, x6, x7, x8, x9)
Cond_12635_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_12635_0_possibleValues_ArrayAccess(x1, x2, x3, x6, x7, x8, x9)
14874_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 14874_0_possibleValues_ArrayAccess(x1, x2, x5, x6, x7, x8)
Cond_12636_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_12636_0_possibleValues_ArrayAccess(x1, x2, x3, x6, x7, x8, x9)
12636_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 12636_0_possibleValues_ArrayAccess(x1, x2, x5, x6, x7, x8)
14212_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 14212_0_possibleValues_ArrayAccess(x1, x2, x5, x6, x7)
14136_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 14136_0_possibleValues_ArrayAccess(x1, x2, x3, x6, x7, x8)
20889_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 20889_0_possibleValues_ArrayAccess(x1, x2, x4, x5, x6, x7, x8, x9)
Cond_18572_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_18572_0_possibleValues_ArrayAccess(x1, x2, x3, x5, x6, x7, x8, x9, x10)
18572_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 18572_0_possibleValues_ArrayAccess(x1, x2, x4, x5, x6, x7, x8, x9)
20912_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 20912_0_possibleValues_ArrayAccess(x1, x2, x4, x5, x6, x7, x8, x9)
Cond_18672_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_18672_0_possibleValues_ArrayAccess(x1, x2, x3, x5, x6, x7, x8, x9, x10)
18672_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 18672_0_possibleValues_ArrayAccess(x1, x2, x4, x5, x6, x7, x8, x9)
15748_0_possibleValues_GE(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 15748_0_possibleValues_GE(x1, x2, x3, x4, x6, x8, x9)
Cond_18671_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_18671_0_possibleValues_ArrayAccess(x1, x2, x3, x5, x6, x7, x8, x9, x10)
18671_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 18671_0_possibleValues_ArrayAccess(x1, x2, x4, x5, x6, x7, x8, x9)
Cond_17877_0_possibleValues_ArrayAccess2(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → Cond_17877_0_possibleValues_ArrayAccess2(x1, x2, x3, x5, x6, x7, x9, x10, x11)
17877_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → 17877_0_possibleValues_ArrayAccess(x1, x2, x4, x5, x6, x8, x9, x10)
Cond_17877_0_possibleValues_ArrayAccess1(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → Cond_17877_0_possibleValues_ArrayAccess1(x1, x2, x3, x5, x6, x7, x9, x10, x11)
Cond_17877_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → Cond_17877_0_possibleValues_ArrayAccess(x1, x2, x3, x5, x6, x7, x9, x10, x11)
20676_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → 20676_0_possibleValues_ArrayAccess(x1, x2, x4, x5, x6, x8, x9, x10)
Cond_17879_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → Cond_17879_0_possibleValues_ArrayAccess(x1, x2, x3, x5, x6, x7, x9, x10, x11)
17879_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → 17879_0_possibleValues_ArrayAccess(x1, x2, x4, x5, x6, x8, x9, x10)
20291_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 20291_0_possibleValues_ArrayAccess(x1, x2, x4, x5, x6, x8, x9)
20179_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → 20179_0_possibleValues_ArrayAccess(x1, x2, x4, x5, x7, x8, x9, x10)
Cond_11502_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_11502_0_possibleValues_ArrayAccess(x1, x2, x3, x5, x6, x7, x8)
11502_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 11502_0_possibleValues_ArrayAccess(x1, x2, x4, x5, x6, x7)
Cond_16122_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_16122_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x9, x10)
16122_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 16122_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x8, x9)
7429_0_possibleValues_GE(x1, x2, x3, x4, x5, x6) → 7429_0_possibleValues_GE(x1, x2, x3, x4, x6)
Cond_7429_0_possibleValues_GE(x1, x2, x3, x4, x5, x6, x7) → Cond_7429_0_possibleValues_GE(x1, x2, x3, x4, x5, x7)
8919_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 8919_0_possibleValues_ArrayAccess(x1, x3, x4, x5, x6, x7)
Cond_8062_0_possibleValues_GE5(x1, x2, x3, x4, x5, x6, x7) → Cond_8062_0_possibleValues_GE5(x1, x2, x3, x4, x5, x7)
8062_0_possibleValues_GE(x1, x2, x3, x4, x5, x6) → 8062_0_possibleValues_GE(x1, x2, x3, x4, x6)
10957_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 10957_0_possibleValues_ArrayAccess(x1, x2, x3, x5, x6, x7)
Cond_9005_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_9005_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x6, x7, x8)
9005_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 9005_0_possibleValues_ArrayAccess(x1, x2, x3, x5, x6, x7)
10982_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 10982_0_possibleValues_ArrayAccess(x1, x2, x3, x5, x6, x7)
Cond_9067_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_9067_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x6, x7, x8)
9067_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 9067_0_possibleValues_ArrayAccess(x1, x2, x3, x5, x6, x7)
Cond_9066_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_9066_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x6, x7, x8)
9066_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 9066_0_possibleValues_ArrayAccess(x1, x2, x3, x5, x6, x7)
10788_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 10788_0_possibleValues_ArrayAccess(x1, x2, x3, x6, x7, x8)
Cond_8800_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_8800_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x7, x8, x9)
8800_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 8800_0_possibleValues_ArrayAccess(x1, x2, x3, x6, x7, x8)
10519_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 10519_0_possibleValues_ArrayAccess(x1, x2, x3, x6, x7)
10294_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 10294_0_possibleValues_ArrayAccess(x1, x3, x5, x6, x7, x8)
9379_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 9379_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x6, x7)
Cond_8176_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_8176_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x7, x8)
8176_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 8176_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x6, x7)
Cond_8062_0_possibleValues_GE4(x1, x2, x3, x4, x5, x6, x7) → Cond_8062_0_possibleValues_GE4(x1, x2, x3, x4, x5, x7)
9049_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6) → 9049_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x6)
Cond_8062_0_possibleValues_GE3(x1, x2, x3, x4, x5, x6, x7) → Cond_8062_0_possibleValues_GE3(x1, x2, x3, x4, x5, x7)
Cond_8062_0_possibleValues_GE2(x1, x2, x3, x4, x5, x6, x7) → Cond_8062_0_possibleValues_GE2(x1, x2, x3, x4, x5, x7)
9002_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 9002_0_possibleValues_ArrayAccess(x1, x3, x4, x5, x6, x7)
Cond_8062_0_possibleValues_GE1(x1, x2, x3, x4, x5, x6, x7) → Cond_8062_0_possibleValues_GE1(x1, x2, x3, x4, x5, x7)
8791_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5) → 8791_0_possibleValues_ArrayAccess(x2, x3, x4, x5)
Cond_8062_0_possibleValues_GE(x1, x2, x3, x4, x5, x6) → Cond_8062_0_possibleValues_GE(x1, x2, x3, x4, x6)
13257_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 13257_0_possibleValues_ArrayAccess(x1, x2, x4, x5, x6, x7)
Cond_11380_0_possibleValues_GE5(x1, x2, x3, x4, x5, x6, x7) → Cond_11380_0_possibleValues_GE5(x1, x2, x3, x4, x5, x7)
13402_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 13402_0_possibleValues_ArrayAccess(x1, x2, x4, x5, x6, x7)
Cond_11505_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_11505_0_possibleValues_ArrayAccess(x1, x2, x3, x5, x6, x7, x8)
11505_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 11505_0_possibleValues_ArrayAccess(x1, x2, x4, x5, x6, x7)
Cond_11380_0_possibleValues_GE4(x1, x2, x3, x4, x5, x6, x7) → Cond_11380_0_possibleValues_GE4(x1, x2, x3, x4, x5, x7)
Cond_11380_0_possibleValues_GE3(x1, x2, x3, x4, x5, x6, x7) → Cond_11380_0_possibleValues_GE3(x1, x2, x3, x4, x5, x7)
13012_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6) → 13012_0_possibleValues_ArrayAccess(x1, x2, x4, x5, x6)
Cond_11380_0_possibleValues_GE2(x1, x2, x3, x4, x5, x6, x7) → Cond_11380_0_possibleValues_GE2(x1, x2, x3, x4, x5, x7)
12949_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 12949_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x6, x7)
Cond_11380_0_possibleValues_GE1(x1, x2, x3, x4, x5, x6, x7) → Cond_11380_0_possibleValues_GE1(x1, x2, x3, x4, x5, x7)
12594_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5) → 12594_0_possibleValues_ArrayAccess(x1, x2, x3, x5)
Cond_11380_0_possibleValues_GE(x1, x2, x3, x4, x5, x6) → Cond_11380_0_possibleValues_GE(x1, x2, x3, x4, x6)
12448_0_possibleValues_GE(x1, x2, x3, x4, x5, x6, x7, x8) → 12448_0_possibleValues_GE(x1, x2, x3, x5, x7, x8)
Cond_15748_0_possibleValues_GE7(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_15748_0_possibleValues_GE7(x1, x2, x3, x4, x5, x7, x9, x10)
18170_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 18170_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x7, x8, x9)
Cond_15748_0_possibleValues_GE6(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_15748_0_possibleValues_GE6(x1, x2, x3, x4, x5, x7, x9, x10)
18873_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 18873_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x8, x9)
Cond_15748_0_possibleValues_GE5(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_15748_0_possibleValues_GE5(x1, x2, x3, x4, x5, x7, x9, x10)
19084_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 19084_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x8, x9)
Cond_16124_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_16124_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x9, x10)
16124_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 16124_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x8, x9)
Cond_15748_0_possibleValues_GE4(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_15748_0_possibleValues_GE4(x1, x2, x3, x4, x5, x7, x9, x10)
Cond_15748_0_possibleValues_GE3(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_15748_0_possibleValues_GE3(x1, x2, x3, x4, x5, x7, x9, x10)
18541_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 18541_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x8)
Cond_15748_0_possibleValues_GE2(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_15748_0_possibleValues_GE2(x1, x2, x3, x4, x5, x7, x9, x10)
18449_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 18449_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x7, x8, x9)
Cond_15748_0_possibleValues_GE1(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_15748_0_possibleValues_GE1(x1, x2, x3, x4, x5, x7, x9, x10)
17597_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 17597_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x6, x7)
Cond_15748_0_possibleValues_GE(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_15748_0_possibleValues_GE(x1, x2, x3, x4, x6, x8, x9)
Cond_12448_0_possibleValues_GE1(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_12448_0_possibleValues_GE1(x1, x2, x3, x4, x6, x8, x9)
Cond_12448_0_possibleValues_GE(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_12448_0_possibleValues_GE(x1, x2, x3, x4, x6, x8, x9)
22587_0_resolve_aux_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8) → 22587_0_resolve_aux_InvokeMethod(x1, x3, x4, x5, x6, x7, x8)
24875_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 24875_0_resolve_aux_ArrayAccess(x1, x2, x3, x5, x6, x7, x8)
24817_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 24817_0_resolve_aux_ArrayAccess(x1, x2, x3, x5, x6, x7)
24785_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 24785_0_resolve_aux_ArrayAccess(x1, x2, x4, x5, x6, x7, x8)
24529_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 24529_0_resolve_aux_ArrayAccess(x1, x2, x3, x5, x6, x7, x8, x9)
24433_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 24433_0_resolve_aux_ArrayAccess(x1, x2, x3, x5, x6, x7, x8)
24340_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 24340_0_resolve_aux_ArrayAccess(x1, x2, x4, x5, x6, x7, x8)
24100_0_resolve_aux_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 24100_0_resolve_aux_InvokeMethod(x1, x3, x4, x5, x6, x7, x8, x9)
23700_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 23700_0_resolve_aux_ArrayAccess(x1, x2, x4, x5, x6, x7)
23644_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6) → 23644_0_resolve_aux_ArrayAccess(x1, x2, x4, x5, x6)
23632_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6) → 23632_0_resolve_aux_ArrayAccess(x1, x2, x3, x5, x6)
23502_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5) → 23502_0_resolve_aux_ArrayAccess(x1, x2, x3, x5)
23411_0_resolve_aux_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → 23411_0_resolve_aux_InvokeMethod(x1, x3, x7, x8, x9, x10)
23387_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6) → 23387_0_resolve_aux_ArrayAccess(x1, x2, x4, x5, x6)
23015_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 23015_0_resolve_aux_ArrayAccess(x1, x2, x4, x5, x6, x7, x8)
22879_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 22879_0_resolve_aux_ArrayAccess(x1, x2, x4, x5, x6, x7)
21990_0_resolve_aux_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8) → 21990_0_resolve_aux_InvokeMethod(x1, x3, x6, x7, x8)
21918_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5) → 21918_0_possibleValues_ArrayAccess(x1, x2, x4, x5)
21871_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5) → 21871_0_possibleValues_ArrayAccess(x1, x3, x4, x5)
23325_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5) → 23325_0_possibleValues_ArrayAccess(x1, x2, x4, x5)
23291_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6) → 23291_0_possibleValues_ArrayAccess(x1, x3, x4, x5, x6)
23289_0_possibleValues_ArrayAccess(x1, x2, x3, x4) → 23289_0_possibleValues_ArrayAccess(x2, x3, x4)

Filtered unneeded arguments:


Cond_21833_0_resolve_aux_GE(x1, x2, x3, x4, x5) → Cond_21833_0_resolve_aux_GE(x1, x2, x3, x5)
Cond_22731_0_resolve_aux_NE(x1, x2, x3, x4, x5, x6) → Cond_22731_0_resolve_aux_NE(x1, x2, x3, x4, x5)
Cond_23805_0_resolve_aux_EQ(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_23805_0_resolve_aux_EQ(x1, x2, x3, x4, x5, x6, x7)
Cond_23993_1_resolve_aux_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_23993_1_resolve_aux_InvokeMethod(x1, x2, x3, x4, x5, x6, x7)
Cond_22336_0_resolve_aux_EQ(x1, x2, x3, x4, x5, x6, x7) → Cond_22336_0_resolve_aux_EQ(x1, x2, x3, x4, x5, x6)
22493_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 22493_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6)
Cond_22493_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_22493_0_resolve_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7)
Cond_12448_0_possibleValues_GE(x1, x2, x3, x4, x5, x6, x7) → Cond_12448_0_possibleValues_GE(x1, x2, x4)
Cond_15748_0_possibleValues_GE(x1, x2, x3, x4, x5, x6, x7) → Cond_15748_0_possibleValues_GE(x1, x3)
Cond_15748_0_possibleValues_GE1(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_15748_0_possibleValues_GE1(x1, x2, x4)
Cond_15748_0_possibleValues_GE2(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_15748_0_possibleValues_GE2(x1, x2, x4)
Cond_15748_0_possibleValues_GE4(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_15748_0_possibleValues_GE4(x1, x2, x4, x7)
16124_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 16124_0_possibleValues_ArrayAccess(x1, x3, x7, x8)
Cond_16124_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_16124_0_possibleValues_ArrayAccess(x1, x2, x4, x8)
Cond_15748_0_possibleValues_GE5(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_15748_0_possibleValues_GE5(x1, x2, x4)
Cond_15748_0_possibleValues_GE6(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_15748_0_possibleValues_GE6(x1, x2, x4)
Cond_15748_0_possibleValues_GE7(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_15748_0_possibleValues_GE7(x1, x2, x3, x4, x5, x6, x8)
Cond_11380_0_possibleValues_GE(x1, x2, x3, x4, x5) → Cond_11380_0_possibleValues_GE(x1, x4)
Cond_11380_0_possibleValues_GE1(x1, x2, x3, x4, x5, x6) → Cond_11380_0_possibleValues_GE1(x1, x2, x5)
Cond_11380_0_possibleValues_GE2(x1, x2, x3, x4, x5, x6) → Cond_11380_0_possibleValues_GE2(x1, x2, x5)
Cond_11380_0_possibleValues_GE4(x1, x2, x3, x4, x5, x6) → Cond_11380_0_possibleValues_GE4(x1, x2, x4, x5)
11505_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6) → 11505_0_possibleValues_ArrayAccess(x1, x3, x5, x6)
Cond_11505_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → Cond_11505_0_possibleValues_ArrayAccess(x1, x2, x4, x6)
Cond_11380_0_possibleValues_GE5(x1, x2, x3, x4, x5, x6) → Cond_11380_0_possibleValues_GE5(x1, x2, x5)
Cond_8062_0_possibleValues_GE(x1, x2, x3, x4, x5) → Cond_8062_0_possibleValues_GE(x1, x4)
Cond_8062_0_possibleValues_GE1(x1, x2, x3, x4, x5, x6) → Cond_8062_0_possibleValues_GE1(x1, x2, x5)
Cond_8062_0_possibleValues_GE2(x1, x2, x3, x4, x5, x6) → Cond_8062_0_possibleValues_GE2(x1, x2, x5, x6)
Cond_8062_0_possibleValues_GE3(x1, x2, x3, x4, x5, x6) → Cond_8062_0_possibleValues_GE3(x1, x2, x5)
8176_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6) → 8176_0_possibleValues_ArrayAccess(x1, x4, x5, x6)
Cond_8176_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → Cond_8176_0_possibleValues_ArrayAccess(x1, x2, x5, x6)
Cond_8194_0_possibleValues_EQ1(x1, x2, x3, x4, x5, x6, x7) → Cond_8194_0_possibleValues_EQ1(x1, x2, x5)
Cond_8194_0_possibleValues_EQ2(x1, x2, x3, x4, x5, x6, x7) → Cond_8194_0_possibleValues_EQ2(x1, x2, x5, x6)
Cond_8194_0_possibleValues_EQ3(x1, x2, x3, x4, x5, x6, x7) → Cond_8194_0_possibleValues_EQ3(x1, x2, x5)
8800_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6) → 8800_0_possibleValues_ArrayAccess(x1, x4, x5, x6)
Cond_8800_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → Cond_8800_0_possibleValues_ArrayAccess(x1, x2, x5, x6)
Cond_8194_0_possibleValues_EQ4(x1, x2, x3, x4, x5, x6, x7) → Cond_8194_0_possibleValues_EQ4(x1, x2, x5)
Cond_8194_0_possibleValues_EQ5(x1, x2, x3, x4, x5, x6, x7) → Cond_8194_0_possibleValues_EQ5(x1, x2, x3, x4, x5, x6)
Cond_8194_0_possibleValues_EQ6(x1, x2, x3, x4, x5, x6, x7) → Cond_8194_0_possibleValues_EQ6(x1, x2, x5)
Cond_9066_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → Cond_9066_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6)
9067_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6) → 9067_0_possibleValues_ArrayAccess(x1, x5, x6)
Cond_9067_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → Cond_9067_0_possibleValues_ArrayAccess(x1, x2, x6)
9005_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6) → 9005_0_possibleValues_ArrayAccess(x1, x5, x6)
Cond_9005_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → Cond_9005_0_possibleValues_ArrayAccess(x1, x2, x6)
Cond_8062_0_possibleValues_GE5(x1, x2, x3, x4, x5, x6) → Cond_8062_0_possibleValues_GE5(x1, x2, x5)
Cond_16244_0_possibleValues_EQ1(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_16244_0_possibleValues_EQ1(x1, x2, x4)
Cond_16244_0_possibleValues_EQ2(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_16244_0_possibleValues_EQ2(x1, x2, x3, x4, x5, x6, x7, x8)
Cond_16244_0_possibleValues_EQ3(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_16244_0_possibleValues_EQ3(x1, x2, x4, x8)
Cond_16244_0_possibleValues_EQ4(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_16244_0_possibleValues_EQ4(x1, x2, x4)
17879_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 17879_0_possibleValues_ArrayAccess(x1, x6, x7, x8)
Cond_17879_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_17879_0_possibleValues_ArrayAccess(x1, x2, x7, x8)
Cond_17877_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_17877_0_possibleValues_ArrayAccess(x1, x2, x7, x8)
Cond_17877_0_possibleValues_ArrayAccess2(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_17877_0_possibleValues_ArrayAccess2(x1, x2, x7, x8)
Cond_18671_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_18671_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8)
18672_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 18672_0_possibleValues_ArrayAccess(x1, x7, x8)
Cond_18672_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_18672_0_possibleValues_ArrayAccess(x1, x2, x8)
18572_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 18572_0_possibleValues_ArrayAccess(x1, x7, x8)
Cond_18572_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_18572_0_possibleValues_ArrayAccess(x1, x2, x8)
Cond_11559_0_possibleValues_EQ1(x1, x2, x3, x4, x5, x6, x7) → Cond_11559_0_possibleValues_EQ1(x1, x2, x5)
Cond_11559_0_possibleValues_EQ2(x1, x2, x3, x4, x5, x6, x7) → Cond_11559_0_possibleValues_EQ2(x1, x2, x3, x4, x5, x6)
Cond_11559_0_possibleValues_EQ3(x1, x2, x3, x4, x5, x6, x7) → Cond_11559_0_possibleValues_EQ3(x1, x2, x4, x5)
Cond_11559_0_possibleValues_EQ4(x1, x2, x3, x4, x5, x6, x7) → Cond_11559_0_possibleValues_EQ4(x1, x2, x5)
12636_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6) → 12636_0_possibleValues_ArrayAccess(x1, x4, x5, x6)
Cond_12636_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → Cond_12636_0_possibleValues_ArrayAccess(x1, x2, x5, x6)
Cond_12635_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → Cond_12635_0_possibleValues_ArrayAccess(x1, x2, x5, x6)
Cond_12635_0_possibleValues_ArrayAccess2(x1, x2, x3, x4, x5, x6, x7) → Cond_12635_0_possibleValues_ArrayAccess2(x1, x2, x5, x6)
Cond_13109_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → Cond_13109_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6)
13110_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6) → 13110_0_possibleValues_ArrayAccess(x1, x5, x6)
Cond_13110_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → Cond_13110_0_possibleValues_ArrayAccess(x1, x2, x6)
13040_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6) → 13040_0_possibleValues_ArrayAccess(x1, x5, x6)
Cond_13040_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → Cond_13040_0_possibleValues_ArrayAccess(x1, x2, x6)

Filtered all free variables:


22336_0_resolve_aux_EQ(x1, x2, x3, x4, x5, x6) → 22336_0_resolve_aux_EQ(x1, x2, x3, x5, x6)
Cond_22336_0_resolve_aux_EQ1(x1, x2, x3, x4, x5, x6) → Cond_22336_0_resolve_aux_EQ1(x1, x2, x3, x4, x6)
21871_0_possibleValues_ArrayAccess(x1, x2, x3, x4) → 21871_0_possibleValues_ArrayAccess(x1, x2, x3)
21918_0_possibleValues_ArrayAccess(x1, x2, x3, x4) → 21918_0_possibleValues_ArrayAccess(x1, x3, x4)
17597_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6) → 17597_0_possibleValues_ArrayAccess(x2)
18449_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 18449_0_possibleValues_ArrayAccess(x1, x3, x7)
18541_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 18541_0_possibleValues_ArrayAccess(x1, x3)
16122_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 16122_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x8)
16124_0_possibleValues_ArrayAccess(x1, x2, x3, x4) → 16124_0_possibleValues_ArrayAccess(x1, x2, x4)
Cond_16124_0_possibleValues_ArrayAccess(x1, x2, x3, x4) → Cond_16124_0_possibleValues_ArrayAccess(x1, x2, x3)
19084_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 19084_0_possibleValues_ArrayAccess(x1, x3)
18873_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 18873_0_possibleValues_ArrayAccess(x1, x3)
18170_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 18170_0_possibleValues_ArrayAccess(x1, x3, x7)
12594_0_possibleValues_ArrayAccess(x1, x2, x3, x4) → 12594_0_possibleValues_ArrayAccess(x3)
12949_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6) → 12949_0_possibleValues_ArrayAccess(x1, x4, x5)
13012_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5) → 13012_0_possibleValues_ArrayAccess(x1, x3)
11502_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6) → 11502_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x6)
11505_0_possibleValues_ArrayAccess(x1, x2, x3, x4) → 11505_0_possibleValues_ArrayAccess(x1, x2, x4)
Cond_11505_0_possibleValues_ArrayAccess(x1, x2, x3, x4) → Cond_11505_0_possibleValues_ArrayAccess(x1, x2, x3)
13402_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6) → 13402_0_possibleValues_ArrayAccess(x1, x3)
13257_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6) → 13257_0_possibleValues_ArrayAccess(x1, x3)
8791_0_possibleValues_ArrayAccess(x1, x2, x3, x4) → 8791_0_possibleValues_ArrayAccess(x2)
9002_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6) → 9002_0_possibleValues_ArrayAccess(x1, x3, x5)
8176_0_possibleValues_ArrayAccess(x1, x2, x3, x4) → 8176_0_possibleValues_ArrayAccess(x1, x2, x4)
9049_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5) → 9049_0_possibleValues_ArrayAccess(x1, x4)
8194_0_possibleValues_EQ(x1, x2, x3, x4, x5, x6) → 8194_0_possibleValues_EQ(x1, x2, x3, x4, x5)
Cond_8176_0_possibleValues_ArrayAccess(x1, x2, x3, x4) → Cond_8176_0_possibleValues_ArrayAccess(x1, x2, x3)
9379_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6) → 9379_0_possibleValues_ArrayAccess(x1, x4)
10294_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6) → 10294_0_possibleValues_ArrayAccess(x1, x4, x5)
8800_0_possibleValues_ArrayAccess(x1, x2, x3, x4) → 8800_0_possibleValues_ArrayAccess(x1, x2, x4)
10519_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5) → 10519_0_possibleValues_ArrayAccess(x1, x4)
Cond_8800_0_possibleValues_ArrayAccess(x1, x2, x3, x4) → Cond_8800_0_possibleValues_ArrayAccess(x1, x2, x3)
10788_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6) → 10788_0_possibleValues_ArrayAccess(x1, x4)
10982_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6) → 10982_0_possibleValues_ArrayAccess(x1, x5)
10957_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6) → 10957_0_possibleValues_ArrayAccess(x1, x5)
8919_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6) → 8919_0_possibleValues_ArrayAccess(x1, x3, x5)
Cond_16122_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_16122_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x9)
16244_0_possibleValues_EQ(x1, x2, x3, x4, x5, x6, x7, x8) → 16244_0_possibleValues_EQ(x1, x2, x3, x4, x5, x6, x7)
Cond_11502_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → Cond_11502_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x7)
11559_0_possibleValues_EQ(x1, x2, x3, x4, x5, x6) → 11559_0_possibleValues_EQ(x1, x2, x3, x4, x5)
20179_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 20179_0_possibleValues_ArrayAccess(x1, x6, x7)
17877_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 17877_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x8)
17879_0_possibleValues_ArrayAccess(x1, x2, x3, x4) → 17879_0_possibleValues_ArrayAccess(x1, x2, x4)
20291_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 20291_0_possibleValues_ArrayAccess(x1, x6)
Cond_17879_0_possibleValues_ArrayAccess(x1, x2, x3, x4) → Cond_17879_0_possibleValues_ArrayAccess(x1, x2, x3)
20676_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 20676_0_possibleValues_ArrayAccess(x1, x6)
Cond_17877_0_possibleValues_ArrayAccess(x1, x2, x3, x4) → Cond_17877_0_possibleValues_ArrayAccess(x1, x2, x3)
Cond_17877_0_possibleValues_ArrayAccess1(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_17877_0_possibleValues_ArrayAccess1(x1, x2, x3, x4, x5, x6, x7, x9)
Cond_17877_0_possibleValues_ArrayAccess2(x1, x2, x3, x4) → Cond_17877_0_possibleValues_ArrayAccess2(x1, x2, x3)
20912_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 20912_0_possibleValues_ArrayAccess(x1, x7)
20889_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 20889_0_possibleValues_ArrayAccess(x1, x7)
14136_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6) → 14136_0_possibleValues_ArrayAccess(x1, x4, x5)
12635_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6) → 12635_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x6)
12636_0_possibleValues_ArrayAccess(x1, x2, x3, x4) → 12636_0_possibleValues_ArrayAccess(x1, x2, x4)
14212_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5) → 14212_0_possibleValues_ArrayAccess(x1, x4)
Cond_12636_0_possibleValues_ArrayAccess(x1, x2, x3, x4) → Cond_12636_0_possibleValues_ArrayAccess(x1, x2, x3)
14874_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6) → 14874_0_possibleValues_ArrayAccess(x1, x4)
Cond_12635_0_possibleValues_ArrayAccess(x1, x2, x3, x4) → Cond_12635_0_possibleValues_ArrayAccess(x1, x2, x3)
Cond_12635_0_possibleValues_ArrayAccess1(x1, x2, x3, x4, x5, x6, x7) → Cond_12635_0_possibleValues_ArrayAccess1(x1, x2, x3, x4, x5, x7)
Cond_12635_0_possibleValues_ArrayAccess2(x1, x2, x3, x4) → Cond_12635_0_possibleValues_ArrayAccess2(x1, x2, x3)
15762_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6) → 15762_0_possibleValues_ArrayAccess(x1, x5)
15724_0_possibleValues_ArrayAccess(x1, x2, x3, x4, x5, x6) → 15724_0_possibleValues_ArrayAccess(x1, x5)

Combined rules. Obtained 16 rules for P and 158 rules for R.


Finished conversion. Obtained 16 rules for P and 158 rules for R. System has predefined symbols.




Log for SCC 5:

Generated 38 rules for P and 90 rules for R.


Combined rules. Obtained 2 rules for P and 0 rules for R.


Filtered ground terms:


2751_0_<init>_GE(x1, x2, x3, x4, x5, x6, x7) → 2751_0_<init>_GE(x2, x3, x4, x5, x6)
ARRAY(x1, x2) → ARRAY(x2)
Sudoku(x1, x2) → Sudoku(x2)
Cond_2751_0_<init>_GE1(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_2751_0_<init>_GE1(x1, x3, x4, x5)
Cond_2751_0_<init>_GE(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_2751_0_<init>_GE(x1, x3, x4, x5, x6, x7)

Filtered duplicate args:


2751_0_<init>_GE(x1, x2, x3, x4, x5) → 2751_0_<init>_GE(x1, x2, x3, x5)
Cond_2751_0_<init>_GE(x1, x2, x3, x4, x5, x6) → Cond_2751_0_<init>_GE(x1, x2, x3, x4, x6)

Combined rules. Obtained 2 rules for P and 0 rules for R.


Finished conversion. Obtained 2 rules for P and 0 rules for R. System has predefined symbols.




Log for SCC 6:

Generated 38 rules for P and 1914 rules for R.


Combined rules. Obtained 4 rules for P and 0 rules for R.


Filtered ground terms:


ARRAY(x1, x2) → ARRAY(x2)
Sudoku(x1, x2) → Sudoku(x2)
4970_0_resolve_GE(x1, x2, x3, x4, x5, x6, x7) → 4970_0_resolve_GE(x2, x3, x4, x5, x6)
5084_0_resolve_NE(x1, x2, x3, x4, x5, x6) → 5084_0_resolve_NE(x2, x3, x4, x5, x6)

Filtered duplicate args:


4970_0_resolve_GE(x1, x2, x3, x4, x5) → 4970_0_resolve_GE(x1, x2, x3, x5)

Combined rules. Obtained 4 rules for P and 0 rules for R.


Finished conversion. Obtained 4 rules for P and 0 rules for R. System has predefined symbols.


(4) Complex Obligation (AND)

(5) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Boolean, Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): 16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0])))), i7299[0], java.lang.Object(ARRAY(9, a12491[0])), i2147[0], i2455[0], i7432[0], java.lang.Object(ARRAY(i7594[0], a12877[0])), i7710[0]) → COND_16122_0_POSSIBLEVALUES_ARRAYACCESS(i7710[0] >= 0 && i7710[0] < i7594[0], java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0])))), i7299[0], java.lang.Object(ARRAY(9, a12491[0])), i2147[0], i2455[0], i7432[0], java.lang.Object(ARRAY(i7594[0], a12877[0])), i7710[0])
(1): COND_16122_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], i7432[1], java.lang.Object(ARRAY(i7594[1], a12877[1])), i7710[1]) → 16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], i7432[1], i7710[1], i7902[1])
(2): 15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2]) → COND_15748_0_POSSIBLEVALUES_GE(x7[2] >= x5[2] && x4[2] > x6[2] + 1, java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2])
(3): COND_15748_0_POSSIBLEVALUES_GE(TRUE, java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], x6[3], x7[3], x5[3]) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], x6[3] + 1, x1[3], x5[3])
(4): 15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4]) → COND_15748_0_POSSIBLEVALUES_GE1(x8[4] < x6[4] && x7[4] >= 0 && x7[4] < x0[4], java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4])
(5): COND_15748_0_POSSIBLEVALUES_GE1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x7[5], x8[5], x6[5]) → 16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])
(6): 16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6]) → COND_16244_0_POSSIBLEVALUES_EQ(!(x9[6] = 0) && x7[6] >= 0 && x7[6] < x0[6], java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6])
(7): COND_16244_0_POSSIBLEVALUES_EQ(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], java.lang.Object(ARRAY(9, x4[7])), x5[7], x6[7], x7[7], x8[7], x9[7]) → 17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], x5[7], x6[7], x7[7], java.lang.Object(ARRAY(9, x4[7])), java.lang.Object(ARRAY(x10[7], x11[7])), x8[7])
(8): 17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8])))), x2[8], x5[8], x6[8], x7[8], java.lang.Object(ARRAY(9, x4[8])), java.lang.Object(ARRAY(x10[8], x11[8])), x8[8]) → COND_17877_0_POSSIBLEVALUES_ARRAYACCESS(x8[8] >= 0 && x8[8] < x10[8], java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8])))), x2[8], x5[8], x6[8], x7[8], java.lang.Object(ARRAY(9, x4[8])), java.lang.Object(ARRAY(x10[8], x11[8])), x8[8])
(9): COND_17877_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))), x2[9], x5[9], x6[9], x7[9], java.lang.Object(ARRAY(9, x4[9])), java.lang.Object(ARRAY(x10[9], x11[9])), x8[9]) → 18671_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))), x2[9], x5[9], x6[9], x7[9], x8[9], java.lang.Object(ARRAY(9, x4[9])), x12[9] - 1)
(10): 16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], x7[10], x8[10], 0) → COND_16244_0_POSSIBLEVALUES_EQ1(x8[10] >= 0, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], x7[10], x8[10], 0)
(11): COND_16244_0_POSSIBLEVALUES_EQ1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x6[11], x7[11], x8[11], 0) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x7[11], x8[11] + 1, x6[11])
(12): 18671_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12])))), x2[12], x5[12], x6[12], x7[12], x8[12], java.lang.Object(ARRAY(9, x4[12])), x10[12]) → COND_18671_0_POSSIBLEVALUES_ARRAYACCESS(x8[12] >= 0 && x10[12] >= 0 && x10[12] <= 8, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12])))), x2[12], x5[12], x6[12], x7[12], x8[12], java.lang.Object(ARRAY(9, x4[12])), x10[12])
(13): COND_18671_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))), x2[13], x5[13], x6[13], x7[13], x8[13], java.lang.Object(ARRAY(9, x4[13])), x10[13]) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))), x2[13], java.lang.Object(ARRAY(9, x4[13])), x5[13], x7[13], x8[13] + 1, x6[13])

(0) -> (1), if ((i7710[0] >= 0 && i7710[0] < i7594[0]* TRUE)∧(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))))∧(i7299[0]* i7299[1])∧(java.lang.Object(ARRAY(9, a12491[0])) →* java.lang.Object(ARRAY(9, a12491[1])))∧(i2147[0]* i2147[1])∧(i2455[0]* i2455[1])∧(i7432[0]* i7432[1])∧(java.lang.Object(ARRAY(i7594[0], a12877[0])) →* java.lang.Object(ARRAY(i7594[1], a12877[1])))∧(i7710[0]* i7710[1]))


(1) -> (6), if ((java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))))∧(i7299[1]* x2[6])∧(java.lang.Object(ARRAY(9, a12491[1])) →* java.lang.Object(ARRAY(9, x4[6])))∧(i2147[1]* x5[6])∧(i2455[1]* x6[6])∧(i7432[1]* x7[6])∧(i7710[1]* x8[6])∧(i7902[1]* x9[6]))


(1) -> (10), if ((java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))))∧(i7299[1]* x2[10])∧(java.lang.Object(ARRAY(9, a12491[1])) →* java.lang.Object(ARRAY(9, x4[10])))∧(i2147[1]* x5[10])∧(i2455[1]* x6[10])∧(i7432[1]* x7[10])∧(i7710[1]* x8[10])∧(i7902[1]* 0))


(2) -> (3), if ((x7[2] >= x5[2] && x4[2] > x6[2] + 1* TRUE)∧(java.lang.Object(x0[2]) →* java.lang.Object(x0[3]))∧(x1[2]* x1[3])∧(java.lang.Object(ARRAY(9, x3[2])) →* java.lang.Object(ARRAY(9, x3[3])))∧(x4[2]* x4[3])∧(x6[2]* x6[3])∧(x7[2]* x7[3])∧(x5[2]* x5[3]))


(3) -> (2), if ((java.lang.Object(x0[3]) →* java.lang.Object(x0[2]))∧(x1[3]* x1[2])∧(java.lang.Object(ARRAY(9, x3[3])) →* java.lang.Object(ARRAY(9, x3[2])))∧(x4[3]* x4[2])∧(x6[3] + 1* x6[2])∧(x1[3]* x7[2])∧(x5[3]* x5[2]))


(3) -> (4), if ((java.lang.Object(x0[3]) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))))∧(x1[3]* x2[4])∧(java.lang.Object(ARRAY(9, x3[3])) →* java.lang.Object(ARRAY(9, x4[4])))∧(x4[3]* x5[4])∧(x6[3] + 1* x7[4])∧(x1[3]* x8[4])∧(x5[3]* x6[4]))


(4) -> (5), if ((x8[4] < x6[4] && x7[4] >= 0 && x7[4] < x0[4]* TRUE)∧(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))))∧(x2[4]* x2[5])∧(java.lang.Object(ARRAY(9, x4[4])) →* java.lang.Object(ARRAY(9, x4[5])))∧(x5[4]* x5[5])∧(x7[4]* x7[5])∧(x8[4]* x8[5])∧(x6[4]* x6[5]))


(5) -> (0), if ((java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0])))))∧(x2[5]* i7299[0])∧(java.lang.Object(ARRAY(9, x4[5])) →* java.lang.Object(ARRAY(9, a12491[0])))∧(x5[5]* i2147[0])∧(x6[5]* i2455[0])∧(x7[5]* i7432[0])∧(java.lang.Object(ARRAY(x9[5], x10[5])) →* java.lang.Object(ARRAY(i7594[0], a12877[0])))∧(x8[5]* i7710[0]))


(6) -> (7), if ((!(x9[6] = 0) && x7[6] >= 0 && x7[6] < x0[6]* TRUE)∧(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))))∧(x2[6]* x2[7])∧(java.lang.Object(ARRAY(9, x4[6])) →* java.lang.Object(ARRAY(9, x4[7])))∧(x5[6]* x5[7])∧(x6[6]* x6[7])∧(x7[6]* x7[7])∧(x8[6]* x8[7])∧(x9[6]* x9[7]))


(7) -> (8), if ((java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8])))))∧(x2[7]* x2[8])∧(x5[7]* x5[8])∧(x6[7]* x6[8])∧(x7[7]* x7[8])∧(java.lang.Object(ARRAY(9, x4[7])) →* java.lang.Object(ARRAY(9, x4[8])))∧(java.lang.Object(ARRAY(x10[7], x11[7])) →* java.lang.Object(ARRAY(x10[8], x11[8])))∧(x8[7]* x8[8]))


(8) -> (9), if ((x8[8] >= 0 && x8[8] < x10[8]* TRUE)∧(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))))∧(x2[8]* x2[9])∧(x5[8]* x5[9])∧(x6[8]* x6[9])∧(x7[8]* x7[9])∧(java.lang.Object(ARRAY(9, x4[8])) →* java.lang.Object(ARRAY(9, x4[9])))∧(java.lang.Object(ARRAY(x10[8], x11[8])) →* java.lang.Object(ARRAY(x10[9], x11[9])))∧(x8[8]* x8[9]))


(9) -> (12), if ((java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12])))))∧(x2[9]* x2[12])∧(x5[9]* x5[12])∧(x6[9]* x6[12])∧(x7[9]* x7[12])∧(x8[9]* x8[12])∧(java.lang.Object(ARRAY(9, x4[9])) →* java.lang.Object(ARRAY(9, x4[12])))∧(x12[9] - 1* x10[12]))


(10) -> (11), if ((x8[10] >= 0* TRUE)∧(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))))∧(x2[10]* x2[11])∧(java.lang.Object(ARRAY(9, x4[10])) →* java.lang.Object(ARRAY(9, x4[11])))∧(x5[10]* x5[11])∧(x6[10]* x6[11])∧(x7[10]* x7[11])∧(x8[10]* x8[11]))


(11) -> (2), if ((java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))) →* java.lang.Object(x0[2]))∧(x2[11]* x1[2])∧(java.lang.Object(ARRAY(9, x4[11])) →* java.lang.Object(ARRAY(9, x3[2])))∧(x5[11]* x4[2])∧(x7[11]* x6[2])∧(x8[11] + 1* x7[2])∧(x6[11]* x5[2]))


(11) -> (4), if ((java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))))∧(x2[11]* x2[4])∧(java.lang.Object(ARRAY(9, x4[11])) →* java.lang.Object(ARRAY(9, x4[4])))∧(x5[11]* x5[4])∧(x7[11]* x7[4])∧(x8[11] + 1* x8[4])∧(x6[11]* x6[4]))


(12) -> (13), if ((x8[12] >= 0 && x10[12] >= 0 && x10[12] <= 8* TRUE)∧(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))))∧(x2[12]* x2[13])∧(x5[12]* x5[13])∧(x6[12]* x6[13])∧(x7[12]* x7[13])∧(x8[12]* x8[13])∧(java.lang.Object(ARRAY(9, x4[12])) →* java.lang.Object(ARRAY(9, x4[13])))∧(x10[12]* x10[13]))


(13) -> (2), if ((java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))) →* java.lang.Object(x0[2]))∧(x2[13]* x1[2])∧(java.lang.Object(ARRAY(9, x4[13])) →* java.lang.Object(ARRAY(9, x3[2])))∧(x5[13]* x4[2])∧(x7[13]* x6[2])∧(x8[13] + 1* x7[2])∧(x6[13]* x5[2]))


(13) -> (4), if ((java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))))∧(x2[13]* x2[4])∧(java.lang.Object(ARRAY(9, x4[13])) →* java.lang.Object(ARRAY(9, x4[4])))∧(x5[13]* x5[4])∧(x7[13]* x7[4])∧(x8[13] + 1* x8[4])∧(x6[13]* x6[4]))



The set Q is empty.

(6) IDPNonInfProof (SOUND transformation)

The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair 16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430, a12669)))), i7299, java.lang.Object(ARRAY(9, a12491)), i2147, i2455, i7432, java.lang.Object(ARRAY(i7594, a12877)), i7710) → COND_16122_0_POSSIBLEVALUES_ARRAYACCESS(&&(>=(i7710, 0), <(i7710, i7594)), java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430, a12669)))), i7299, java.lang.Object(ARRAY(9, a12491)), i2147, i2455, i7432, java.lang.Object(ARRAY(i7594, a12877)), i7710) the following chains were created:
  • We consider the chain 16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0])))), i7299[0], java.lang.Object(ARRAY(9, a12491[0])), i2147[0], i2455[0], i7432[0], java.lang.Object(ARRAY(i7594[0], a12877[0])), i7710[0]) → COND_16122_0_POSSIBLEVALUES_ARRAYACCESS(&&(>=(i7710[0], 0), <(i7710[0], i7594[0])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0])))), i7299[0], java.lang.Object(ARRAY(9, a12491[0])), i2147[0], i2455[0], i7432[0], java.lang.Object(ARRAY(i7594[0], a12877[0])), i7710[0]), COND_16122_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], i7432[1], java.lang.Object(ARRAY(i7594[1], a12877[1])), i7710[1]) → 16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], i7432[1], i7710[1], i7902[1]) which results in the following constraint:

    (1)    (&&(>=(i7710[0], 0), <(i7710[0], i7594[0]))=TRUEjava.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0]))))=java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1]))))∧i7299[0]=i7299[1]java.lang.Object(ARRAY(9, a12491[0]))=java.lang.Object(ARRAY(9, a12491[1]))∧i2147[0]=i2147[1]i2455[0]=i2455[1]i7432[0]=i7432[1]java.lang.Object(ARRAY(i7594[0], a12877[0]))=java.lang.Object(ARRAY(i7594[1], a12877[1]))∧i7710[0]=i7710[1]16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0])))), i7299[0], java.lang.Object(ARRAY(9, a12491[0])), i2147[0], i2455[0], i7432[0], java.lang.Object(ARRAY(i7594[0], a12877[0])), i7710[0])≥NonInfC∧16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0])))), i7299[0], java.lang.Object(ARRAY(9, a12491[0])), i2147[0], i2455[0], i7432[0], java.lang.Object(ARRAY(i7594[0], a12877[0])), i7710[0])≥COND_16122_0_POSSIBLEVALUES_ARRAYACCESS(&&(>=(i7710[0], 0), <(i7710[0], i7594[0])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0])))), i7299[0], java.lang.Object(ARRAY(9, a12491[0])), i2147[0], i2455[0], i7432[0], java.lang.Object(ARRAY(i7594[0], a12877[0])), i7710[0])∧(UIncreasing(COND_16122_0_POSSIBLEVALUES_ARRAYACCESS(&&(>=(i7710[0], 0), <(i7710[0], i7594[0])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0])))), i7299[0], java.lang.Object(ARRAY(9, a12491[0])), i2147[0], i2455[0], i7432[0], java.lang.Object(ARRAY(i7594[0], a12877[0])), i7710[0])), ≥))



    We simplified constraint (1) using rules (I), (II), (IV), (DELETE_TRIVIAL_REDUCESTO), (IDP_BOOLEAN) which results in the following new constraint:

    (2)    (>=(i7710[0], 0)=TRUE<(i7710[0], i7594[0])=TRUE16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0])))), i7299[0], java.lang.Object(ARRAY(9, a12491[0])), i2147[0], i2455[0], i7432[0], java.lang.Object(ARRAY(i7594[0], a12877[0])), i7710[0])≥NonInfC∧16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0])))), i7299[0], java.lang.Object(ARRAY(9, a12491[0])), i2147[0], i2455[0], i7432[0], java.lang.Object(ARRAY(i7594[0], a12877[0])), i7710[0])≥COND_16122_0_POSSIBLEVALUES_ARRAYACCESS(&&(>=(i7710[0], 0), <(i7710[0], i7594[0])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0])))), i7299[0], java.lang.Object(ARRAY(9, a12491[0])), i2147[0], i2455[0], i7432[0], java.lang.Object(ARRAY(i7594[0], a12877[0])), i7710[0])∧(UIncreasing(COND_16122_0_POSSIBLEVALUES_ARRAYACCESS(&&(>=(i7710[0], 0), <(i7710[0], i7594[0])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0])))), i7299[0], java.lang.Object(ARRAY(9, a12491[0])), i2147[0], i2455[0], i7432[0], java.lang.Object(ARRAY(i7594[0], a12877[0])), i7710[0])), ≥))



    We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (3)    (i7710[0] ≥ 0∧i7594[0] + [-1] + [-1]i7710[0] ≥ 0 ⇒ (UIncreasing(COND_16122_0_POSSIBLEVALUES_ARRAYACCESS(&&(>=(i7710[0], 0), <(i7710[0], i7594[0])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0])))), i7299[0], java.lang.Object(ARRAY(9, a12491[0])), i2147[0], i2455[0], i7432[0], java.lang.Object(ARRAY(i7594[0], a12877[0])), i7710[0])), ≥)∧[(-1)bni_34 + (-1)Bound*bni_34] + [(-1)bni_34]i7432[0] + [bni_34]i2147[0] ≥ 0∧[(-1)bso_35] ≥ 0)



    We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (4)    (i7710[0] ≥ 0∧i7594[0] + [-1] + [-1]i7710[0] ≥ 0 ⇒ (UIncreasing(COND_16122_0_POSSIBLEVALUES_ARRAYACCESS(&&(>=(i7710[0], 0), <(i7710[0], i7594[0])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0])))), i7299[0], java.lang.Object(ARRAY(9, a12491[0])), i2147[0], i2455[0], i7432[0], java.lang.Object(ARRAY(i7594[0], a12877[0])), i7710[0])), ≥)∧[(-1)bni_34 + (-1)Bound*bni_34] + [(-1)bni_34]i7432[0] + [bni_34]i2147[0] ≥ 0∧[(-1)bso_35] ≥ 0)



    We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (5)    (i7710[0] ≥ 0∧i7594[0] + [-1] + [-1]i7710[0] ≥ 0 ⇒ (UIncreasing(COND_16122_0_POSSIBLEVALUES_ARRAYACCESS(&&(>=(i7710[0], 0), <(i7710[0], i7594[0])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0])))), i7299[0], java.lang.Object(ARRAY(9, a12491[0])), i2147[0], i2455[0], i7432[0], java.lang.Object(ARRAY(i7594[0], a12877[0])), i7710[0])), ≥)∧[(-1)bni_34 + (-1)Bound*bni_34] + [(-1)bni_34]i7432[0] + [bni_34]i2147[0] ≥ 0∧[(-1)bso_35] ≥ 0)



    We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (6)    (i7710[0] ≥ 0∧i7594[0] + [-1] + [-1]i7710[0] ≥ 0 ⇒ (UIncreasing(COND_16122_0_POSSIBLEVALUES_ARRAYACCESS(&&(>=(i7710[0], 0), <(i7710[0], i7594[0])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0])))), i7299[0], java.lang.Object(ARRAY(9, a12491[0])), i2147[0], i2455[0], i7432[0], java.lang.Object(ARRAY(i7594[0], a12877[0])), i7710[0])), ≥)∧0 = 0∧0 = 0∧[(-1)bni_34] = 0∧[bni_34] = 0∧0 = 0∧0 = 0∧[(-1)bni_34 + (-1)Bound*bni_34] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)



    We simplified constraint (6) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (7)    (i7710[0] ≥ 0∧i7594[0] ≥ 0 ⇒ (UIncreasing(COND_16122_0_POSSIBLEVALUES_ARRAYACCESS(&&(>=(i7710[0], 0), <(i7710[0], i7594[0])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0])))), i7299[0], java.lang.Object(ARRAY(9, a12491[0])), i2147[0], i2455[0], i7432[0], java.lang.Object(ARRAY(i7594[0], a12877[0])), i7710[0])), ≥)∧0 = 0∧0 = 0∧[(-1)bni_34] = 0∧[bni_34] = 0∧0 = 0∧0 = 0∧[(-1)bni_34 + (-1)Bound*bni_34] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)







For Pair COND_16122_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430, a12669)))), i7299, java.lang.Object(ARRAY(9, a12491)), i2147, i2455, i7432, java.lang.Object(ARRAY(i7594, a12877)), i7710) → 16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430, a12669)))), i7299, java.lang.Object(ARRAY(9, a12491)), i2147, i2455, i7432, i7710, i7902) the following chains were created:
  • We consider the chain COND_15748_0_POSSIBLEVALUES_GE1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x7[5], x8[5], x6[5]) → 16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5]), 16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0])))), i7299[0], java.lang.Object(ARRAY(9, a12491[0])), i2147[0], i2455[0], i7432[0], java.lang.Object(ARRAY(i7594[0], a12877[0])), i7710[0]) → COND_16122_0_POSSIBLEVALUES_ARRAYACCESS(&&(>=(i7710[0], 0), <(i7710[0], i7594[0])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0])))), i7299[0], java.lang.Object(ARRAY(9, a12491[0])), i2147[0], i2455[0], i7432[0], java.lang.Object(ARRAY(i7594[0], a12877[0])), i7710[0]), COND_16122_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], i7432[1], java.lang.Object(ARRAY(i7594[1], a12877[1])), i7710[1]) → 16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], i7432[1], i7710[1], i7902[1]) which results in the following constraint:

    (8)    (java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5]))))=java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0]))))∧x2[5]=i7299[0]java.lang.Object(ARRAY(9, x4[5]))=java.lang.Object(ARRAY(9, a12491[0]))∧x5[5]=i2147[0]x6[5]=i2455[0]x7[5]=i7432[0]java.lang.Object(ARRAY(x9[5], x10[5]))=java.lang.Object(ARRAY(i7594[0], a12877[0]))∧x8[5]=i7710[0]&&(>=(i7710[0], 0), <(i7710[0], i7594[0]))=TRUEjava.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0]))))=java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1]))))∧i7299[0]=i7299[1]java.lang.Object(ARRAY(9, a12491[0]))=java.lang.Object(ARRAY(9, a12491[1]))∧i2147[0]=i2147[1]i2455[0]=i2455[1]i7432[0]=i7432[1]java.lang.Object(ARRAY(i7594[0], a12877[0]))=java.lang.Object(ARRAY(i7594[1], a12877[1]))∧i7710[0]=i7710[1]COND_16122_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], i7432[1], java.lang.Object(ARRAY(i7594[1], a12877[1])), i7710[1])≥NonInfC∧COND_16122_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], i7432[1], java.lang.Object(ARRAY(i7594[1], a12877[1])), i7710[1])≥16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], i7432[1], i7710[1], i7902[1])∧(UIncreasing(16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], i7432[1], i7710[1], i7902[1])), ≥))



    We simplified constraint (8) using rules (I), (II), (III), (DELETE_TRIVIAL_REDUCESTO), (IDP_BOOLEAN) which results in the following new constraint:

    (9)    (>=(i7710[0], 0)=TRUE<(i7710[0], i7594[0])=TRUECOND_16122_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(i7594[0], x10[5])), i7710[0])≥NonInfC∧COND_16122_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(i7594[0], x10[5])), i7710[0])≥16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], i7710[0], i7902[1])∧(UIncreasing(16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], i7432[1], i7710[1], i7902[1])), ≥))



    We simplified constraint (9) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (10)    (i7710[0] ≥ 0∧i7594[0] + [-1] + [-1]i7710[0] ≥ 0 ⇒ (UIncreasing(16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], i7432[1], i7710[1], i7902[1])), ≥)∧[(-1)bni_36 + (-1)Bound*bni_36] + [(-1)bni_36]x7[5] + [bni_36]x5[5] ≥ 0∧[(-1)bso_37] ≥ 0)



    We simplified constraint (10) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (11)    (i7710[0] ≥ 0∧i7594[0] + [-1] + [-1]i7710[0] ≥ 0 ⇒ (UIncreasing(16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], i7432[1], i7710[1], i7902[1])), ≥)∧[(-1)bni_36 + (-1)Bound*bni_36] + [(-1)bni_36]x7[5] + [bni_36]x5[5] ≥ 0∧[(-1)bso_37] ≥ 0)



    We simplified constraint (11) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (12)    (i7710[0] ≥ 0∧i7594[0] + [-1] + [-1]i7710[0] ≥ 0 ⇒ (UIncreasing(16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], i7432[1], i7710[1], i7902[1])), ≥)∧[(-1)bni_36 + (-1)Bound*bni_36] + [(-1)bni_36]x7[5] + [bni_36]x5[5] ≥ 0∧[(-1)bso_37] ≥ 0)



    We simplified constraint (12) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (13)    (i7710[0] ≥ 0∧i7594[0] + [-1] + [-1]i7710[0] ≥ 0 ⇒ (UIncreasing(16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], i7432[1], i7710[1], i7902[1])), ≥)∧0 = 0∧0 = 0∧[(-1)bni_36] = 0∧[bni_36] = 0∧0 = 0∧0 = 0∧[(-1)bni_36 + (-1)Bound*bni_36] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_37] ≥ 0)



    We simplified constraint (13) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (14)    (i7710[0] ≥ 0∧i7594[0] ≥ 0 ⇒ (UIncreasing(16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], i7432[1], i7710[1], i7902[1])), ≥)∧0 = 0∧0 = 0∧[(-1)bni_36] = 0∧[bni_36] = 0∧0 = 0∧0 = 0∧[(-1)bni_36 + (-1)Bound*bni_36] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_37] ≥ 0)







For Pair 15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0), x1, java.lang.Object(ARRAY(9, x3)), x4, x6, x7, x5) → COND_15748_0_POSSIBLEVALUES_GE(&&(>=(x7, x5), >(x4, +(x6, 1))), java.lang.Object(x0), x1, java.lang.Object(ARRAY(9, x3)), x4, x6, x7, x5) the following chains were created:
  • We consider the chain 15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2]) → COND_15748_0_POSSIBLEVALUES_GE(&&(>=(x7[2], x5[2]), >(x4[2], +(x6[2], 1))), java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2]), COND_15748_0_POSSIBLEVALUES_GE(TRUE, java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], x6[3], x7[3], x5[3]) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3]) which results in the following constraint:

    (15)    (&&(>=(x7[2], x5[2]), >(x4[2], +(x6[2], 1)))=TRUEjava.lang.Object(x0[2])=java.lang.Object(x0[3])∧x1[2]=x1[3]java.lang.Object(ARRAY(9, x3[2]))=java.lang.Object(ARRAY(9, x3[3]))∧x4[2]=x4[3]x6[2]=x6[3]x7[2]=x7[3]x5[2]=x5[3]15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2])≥NonInfC∧15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2])≥COND_15748_0_POSSIBLEVALUES_GE(&&(>=(x7[2], x5[2]), >(x4[2], +(x6[2], 1))), java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2])∧(UIncreasing(COND_15748_0_POSSIBLEVALUES_GE(&&(>=(x7[2], x5[2]), >(x4[2], +(x6[2], 1))), java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2])), ≥))



    We simplified constraint (15) using rules (I), (II), (IV), (DELETE_TRIVIAL_REDUCESTO), (IDP_BOOLEAN) which results in the following new constraint:

    (16)    (>=(x7[2], x5[2])=TRUE>(x4[2], +(x6[2], 1))=TRUE15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2])≥NonInfC∧15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2])≥COND_15748_0_POSSIBLEVALUES_GE(&&(>=(x7[2], x5[2]), >(x4[2], +(x6[2], 1))), java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2])∧(UIncreasing(COND_15748_0_POSSIBLEVALUES_GE(&&(>=(x7[2], x5[2]), >(x4[2], +(x6[2], 1))), java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2])), ≥))



    We simplified constraint (16) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (17)    (x7[2] + [-1]x5[2] ≥ 0∧x4[2] + [-2] + [-1]x6[2] ≥ 0 ⇒ (UIncreasing(COND_15748_0_POSSIBLEVALUES_GE(&&(>=(x7[2], x5[2]), >(x4[2], +(x6[2], 1))), java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2])), ≥)∧[(-1)bni_38 + (-1)Bound*bni_38] + [(-1)bni_38]x6[2] + [bni_38]x4[2] ≥ 0∧[(-1)bso_39] ≥ 0)



    We simplified constraint (17) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (18)    (x7[2] + [-1]x5[2] ≥ 0∧x4[2] + [-2] + [-1]x6[2] ≥ 0 ⇒ (UIncreasing(COND_15748_0_POSSIBLEVALUES_GE(&&(>=(x7[2], x5[2]), >(x4[2], +(x6[2], 1))), java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2])), ≥)∧[(-1)bni_38 + (-1)Bound*bni_38] + [(-1)bni_38]x6[2] + [bni_38]x4[2] ≥ 0∧[(-1)bso_39] ≥ 0)



    We simplified constraint (18) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (19)    (x7[2] + [-1]x5[2] ≥ 0∧x4[2] + [-2] + [-1]x6[2] ≥ 0 ⇒ (UIncreasing(COND_15748_0_POSSIBLEVALUES_GE(&&(>=(x7[2], x5[2]), >(x4[2], +(x6[2], 1))), java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2])), ≥)∧[(-1)bni_38 + (-1)Bound*bni_38] + [(-1)bni_38]x6[2] + [bni_38]x4[2] ≥ 0∧[(-1)bso_39] ≥ 0)



    We simplified constraint (19) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (20)    (x7[2] + [-1]x5[2] ≥ 0∧x4[2] + [-2] + [-1]x6[2] ≥ 0 ⇒ (UIncreasing(COND_15748_0_POSSIBLEVALUES_GE(&&(>=(x7[2], x5[2]), >(x4[2], +(x6[2], 1))), java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2])), ≥)∧0 = 0∧[(-1)bni_38 + (-1)Bound*bni_38] + [(-1)bni_38]x6[2] + [bni_38]x4[2] ≥ 0∧0 = 0∧[(-1)bso_39] ≥ 0)



    We simplified constraint (20) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (21)    (x7[2] ≥ 0∧x4[2] + [-2] + [-1]x6[2] ≥ 0 ⇒ (UIncreasing(COND_15748_0_POSSIBLEVALUES_GE(&&(>=(x7[2], x5[2]), >(x4[2], +(x6[2], 1))), java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2])), ≥)∧0 = 0∧[(-1)bni_38 + (-1)Bound*bni_38] + [(-1)bni_38]x6[2] + [bni_38]x4[2] ≥ 0∧0 = 0∧[(-1)bso_39] ≥ 0)



    We simplified constraint (21) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (22)    (x7[2] ≥ 0∧x4[2] ≥ 0 ⇒ (UIncreasing(COND_15748_0_POSSIBLEVALUES_GE(&&(>=(x7[2], x5[2]), >(x4[2], +(x6[2], 1))), java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2])), ≥)∧0 = 0∧[bni_38 + (-1)Bound*bni_38] + [bni_38]x4[2] ≥ 0∧0 = 0∧[(-1)bso_39] ≥ 0)



    We simplified constraint (22) using rule (IDP_SMT_SPLIT) which results in the following new constraints:

    (23)    (x7[2] ≥ 0∧x4[2] ≥ 0∧x5[2] ≥ 0 ⇒ (UIncreasing(COND_15748_0_POSSIBLEVALUES_GE(&&(>=(x7[2], x5[2]), >(x4[2], +(x6[2], 1))), java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2])), ≥)∧0 = 0∧[bni_38 + (-1)Bound*bni_38] + [bni_38]x4[2] ≥ 0∧0 = 0∧[(-1)bso_39] ≥ 0)


    (24)    (x7[2] ≥ 0∧x4[2] ≥ 0∧x5[2] ≥ 0 ⇒ (UIncreasing(COND_15748_0_POSSIBLEVALUES_GE(&&(>=(x7[2], x5[2]), >(x4[2], +(x6[2], 1))), java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2])), ≥)∧0 = 0∧[bni_38 + (-1)Bound*bni_38] + [bni_38]x4[2] ≥ 0∧0 = 0∧[(-1)bso_39] ≥ 0)



    We simplified constraint (23) using rule (IDP_SMT_SPLIT) which results in the following new constraints:

    (25)    (x7[2] ≥ 0∧x4[2] ≥ 0∧x5[2] ≥ 0∧x6[2] ≥ 0 ⇒ (UIncreasing(COND_15748_0_POSSIBLEVALUES_GE(&&(>=(x7[2], x5[2]), >(x4[2], +(x6[2], 1))), java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2])), ≥)∧0 = 0∧[bni_38 + (-1)Bound*bni_38] + [bni_38]x4[2] ≥ 0∧0 = 0∧[(-1)bso_39] ≥ 0)


    (26)    (x7[2] ≥ 0∧x4[2] ≥ 0∧x5[2] ≥ 0∧x6[2] ≥ 0 ⇒ (UIncreasing(COND_15748_0_POSSIBLEVALUES_GE(&&(>=(x7[2], x5[2]), >(x4[2], +(x6[2], 1))), java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2])), ≥)∧0 = 0∧[bni_38 + (-1)Bound*bni_38] + [bni_38]x4[2] ≥ 0∧0 = 0∧[(-1)bso_39] ≥ 0)



    We simplified constraint (24) using rule (IDP_SMT_SPLIT) which results in the following new constraints:

    (27)    (x7[2] ≥ 0∧x4[2] ≥ 0∧x5[2] ≥ 0∧x6[2] ≥ 0 ⇒ (UIncreasing(COND_15748_0_POSSIBLEVALUES_GE(&&(>=(x7[2], x5[2]), >(x4[2], +(x6[2], 1))), java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2])), ≥)∧0 = 0∧[bni_38 + (-1)Bound*bni_38] + [bni_38]x4[2] ≥ 0∧0 = 0∧[(-1)bso_39] ≥ 0)


    (28)    (x7[2] ≥ 0∧x4[2] ≥ 0∧x5[2] ≥ 0∧x6[2] ≥ 0 ⇒ (UIncreasing(COND_15748_0_POSSIBLEVALUES_GE(&&(>=(x7[2], x5[2]), >(x4[2], +(x6[2], 1))), java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2])), ≥)∧0 = 0∧[bni_38 + (-1)Bound*bni_38] + [bni_38]x4[2] ≥ 0∧0 = 0∧[(-1)bso_39] ≥ 0)







For Pair COND_15748_0_POSSIBLEVALUES_GE(TRUE, java.lang.Object(x0), x1, java.lang.Object(ARRAY(9, x3)), x4, x6, x7, x5) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0), x1, java.lang.Object(ARRAY(9, x3)), x4, +(x6, 1), x1, x5) the following chains were created:
  • We consider the chain COND_15748_0_POSSIBLEVALUES_GE(TRUE, java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], x6[3], x7[3], x5[3]) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3]), 15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2]) → COND_15748_0_POSSIBLEVALUES_GE(&&(>=(x7[2], x5[2]), >(x4[2], +(x6[2], 1))), java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2]), COND_15748_0_POSSIBLEVALUES_GE(TRUE, java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], x6[3], x7[3], x5[3]) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3]) which results in the following constraint:

    (29)    (java.lang.Object(x0[3])=java.lang.Object(x0[2])∧x1[3]=x1[2]java.lang.Object(ARRAY(9, x3[3]))=java.lang.Object(ARRAY(9, x3[2]))∧x4[3]=x4[2]+(x6[3], 1)=x6[2]x1[3]=x7[2]x5[3]=x5[2]&&(>=(x7[2], x5[2]), >(x4[2], +(x6[2], 1)))=TRUEjava.lang.Object(x0[2])=java.lang.Object(x0[3]1)∧x1[2]=x1[3]1java.lang.Object(ARRAY(9, x3[2]))=java.lang.Object(ARRAY(9, x3[3]1))∧x4[2]=x4[3]1x6[2]=x6[3]1x7[2]=x7[3]1x5[2]=x5[3]1COND_15748_0_POSSIBLEVALUES_GE(TRUE, java.lang.Object(x0[3]1), x1[3]1, java.lang.Object(ARRAY(9, x3[3]1)), x4[3]1, x6[3]1, x7[3]1, x5[3]1)≥NonInfC∧COND_15748_0_POSSIBLEVALUES_GE(TRUE, java.lang.Object(x0[3]1), x1[3]1, java.lang.Object(ARRAY(9, x3[3]1)), x4[3]1, x6[3]1, x7[3]1, x5[3]1)≥15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]1), x1[3]1, java.lang.Object(ARRAY(9, x3[3]1)), x4[3]1, +(x6[3]1, 1), x1[3]1, x5[3]1)∧(UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]1), x1[3]1, java.lang.Object(ARRAY(9, x3[3]1)), x4[3]1, +(x6[3]1, 1), x1[3]1, x5[3]1)), ≥))



    We simplified constraint (29) using rules (I), (II), (III), (DELETE_TRIVIAL_REDUCESTO), (IDP_BOOLEAN) which results in the following new constraint:

    (30)    (>=(x7[2], x5[2])=TRUE>(x4[2], +(+(x6[3], 1), 1))=TRUECOND_15748_0_POSSIBLEVALUES_GE(TRUE, java.lang.Object(x0[3]), x7[2], java.lang.Object(ARRAY(9, x3[3])), x4[2], +(x6[3], 1), x7[2], x5[2])≥NonInfC∧COND_15748_0_POSSIBLEVALUES_GE(TRUE, java.lang.Object(x0[3]), x7[2], java.lang.Object(ARRAY(9, x3[3])), x4[2], +(x6[3], 1), x7[2], x5[2])≥15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x7[2], java.lang.Object(ARRAY(9, x3[3])), x4[2], +(+(x6[3], 1), 1), x7[2], x5[2])∧(UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]1), x1[3]1, java.lang.Object(ARRAY(9, x3[3]1)), x4[3]1, +(x6[3]1, 1), x1[3]1, x5[3]1)), ≥))



    We simplified constraint (30) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (31)    (x7[2] + [-1]x5[2] ≥ 0∧x4[2] + [-3] + [-1]x6[3] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]1), x1[3]1, java.lang.Object(ARRAY(9, x3[3]1)), x4[3]1, +(x6[3]1, 1), x1[3]1, x5[3]1)), ≥)∧[(-2)bni_40 + (-1)Bound*bni_40] + [(-1)bni_40]x6[3] + [bni_40]x4[2] ≥ 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (31) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (32)    (x7[2] + [-1]x5[2] ≥ 0∧x4[2] + [-3] + [-1]x6[3] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]1), x1[3]1, java.lang.Object(ARRAY(9, x3[3]1)), x4[3]1, +(x6[3]1, 1), x1[3]1, x5[3]1)), ≥)∧[(-2)bni_40 + (-1)Bound*bni_40] + [(-1)bni_40]x6[3] + [bni_40]x4[2] ≥ 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (32) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (33)    (x7[2] + [-1]x5[2] ≥ 0∧x4[2] + [-3] + [-1]x6[3] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]1), x1[3]1, java.lang.Object(ARRAY(9, x3[3]1)), x4[3]1, +(x6[3]1, 1), x1[3]1, x5[3]1)), ≥)∧[(-2)bni_40 + (-1)Bound*bni_40] + [(-1)bni_40]x6[3] + [bni_40]x4[2] ≥ 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (33) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (34)    (x7[2] + [-1]x5[2] ≥ 0∧x4[2] + [-3] + [-1]x6[3] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]1), x1[3]1, java.lang.Object(ARRAY(9, x3[3]1)), x4[3]1, +(x6[3]1, 1), x1[3]1, x5[3]1)), ≥)∧0 = 0∧[(-2)bni_40 + (-1)Bound*bni_40] + [(-1)bni_40]x6[3] + [bni_40]x4[2] ≥ 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (34) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (35)    (x7[2] ≥ 0∧x4[2] + [-3] + [-1]x6[3] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]1), x1[3]1, java.lang.Object(ARRAY(9, x3[3]1)), x4[3]1, +(x6[3]1, 1), x1[3]1, x5[3]1)), ≥)∧0 = 0∧[(-2)bni_40 + (-1)Bound*bni_40] + [(-1)bni_40]x6[3] + [bni_40]x4[2] ≥ 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (35) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (36)    (x7[2] ≥ 0∧x4[2] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]1), x1[3]1, java.lang.Object(ARRAY(9, x3[3]1)), x4[3]1, +(x6[3]1, 1), x1[3]1, x5[3]1)), ≥)∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x4[2] ≥ 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (36) using rule (IDP_SMT_SPLIT) which results in the following new constraints:

    (37)    (x7[2] ≥ 0∧x4[2] ≥ 0∧x5[2] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]1), x1[3]1, java.lang.Object(ARRAY(9, x3[3]1)), x4[3]1, +(x6[3]1, 1), x1[3]1, x5[3]1)), ≥)∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x4[2] ≥ 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)


    (38)    (x7[2] ≥ 0∧x4[2] ≥ 0∧x5[2] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]1), x1[3]1, java.lang.Object(ARRAY(9, x3[3]1)), x4[3]1, +(x6[3]1, 1), x1[3]1, x5[3]1)), ≥)∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x4[2] ≥ 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (37) using rule (IDP_SMT_SPLIT) which results in the following new constraints:

    (39)    (x7[2] ≥ 0∧x4[2] ≥ 0∧x5[2] ≥ 0∧x6[3] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]1), x1[3]1, java.lang.Object(ARRAY(9, x3[3]1)), x4[3]1, +(x6[3]1, 1), x1[3]1, x5[3]1)), ≥)∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x4[2] ≥ 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)


    (40)    (x7[2] ≥ 0∧x4[2] ≥ 0∧x5[2] ≥ 0∧x6[3] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]1), x1[3]1, java.lang.Object(ARRAY(9, x3[3]1)), x4[3]1, +(x6[3]1, 1), x1[3]1, x5[3]1)), ≥)∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x4[2] ≥ 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (38) using rule (IDP_SMT_SPLIT) which results in the following new constraints:

    (41)    (x7[2] ≥ 0∧x4[2] ≥ 0∧x5[2] ≥ 0∧x6[3] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]1), x1[3]1, java.lang.Object(ARRAY(9, x3[3]1)), x4[3]1, +(x6[3]1, 1), x1[3]1, x5[3]1)), ≥)∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x4[2] ≥ 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)


    (42)    (x7[2] ≥ 0∧x4[2] ≥ 0∧x5[2] ≥ 0∧x6[3] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]1), x1[3]1, java.lang.Object(ARRAY(9, x3[3]1)), x4[3]1, +(x6[3]1, 1), x1[3]1, x5[3]1)), ≥)∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x4[2] ≥ 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)



  • We consider the chain COND_16244_0_POSSIBLEVALUES_EQ1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x6[11], x7[11], x8[11], 0) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x7[11], +(x8[11], 1), x6[11]), 15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2]) → COND_15748_0_POSSIBLEVALUES_GE(&&(>=(x7[2], x5[2]), >(x4[2], +(x6[2], 1))), java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2]), COND_15748_0_POSSIBLEVALUES_GE(TRUE, java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], x6[3], x7[3], x5[3]) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3]) which results in the following constraint:

    (43)    (java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11]))))=java.lang.Object(x0[2])∧x2[11]=x1[2]java.lang.Object(ARRAY(9, x4[11]))=java.lang.Object(ARRAY(9, x3[2]))∧x5[11]=x4[2]x7[11]=x6[2]+(x8[11], 1)=x7[2]x6[11]=x5[2]&&(>=(x7[2], x5[2]), >(x4[2], +(x6[2], 1)))=TRUEjava.lang.Object(x0[2])=java.lang.Object(x0[3])∧x1[2]=x1[3]java.lang.Object(ARRAY(9, x3[2]))=java.lang.Object(ARRAY(9, x3[3]))∧x4[2]=x4[3]x6[2]=x6[3]x7[2]=x7[3]x5[2]=x5[3]COND_15748_0_POSSIBLEVALUES_GE(TRUE, java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], x6[3], x7[3], x5[3])≥NonInfC∧COND_15748_0_POSSIBLEVALUES_GE(TRUE, java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], x6[3], x7[3], x5[3])≥15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])∧(UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥))



    We simplified constraint (43) using rules (I), (II), (III), (DELETE_TRIVIAL_REDUCESTO), (IDP_BOOLEAN) which results in the following new constraint:

    (44)    (>=(+(x8[11], 1), x5[2])=TRUE>(x4[2], +(x6[2], 1))=TRUECOND_15748_0_POSSIBLEVALUES_GE(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x4[2], x6[2], +(x8[11], 1), x5[2])≥NonInfC∧COND_15748_0_POSSIBLEVALUES_GE(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x4[2], x6[2], +(x8[11], 1), x5[2])≥15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x4[2], +(x6[2], 1), x2[11], x5[2])∧(UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥))



    We simplified constraint (44) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (45)    (x8[11] + [1] + [-1]x5[2] ≥ 0∧x4[2] + [-2] + [-1]x6[2] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥)∧[(-1)bni_40 + (-1)Bound*bni_40] + [(-1)bni_40]x6[2] + [bni_40]x4[2] ≥ 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (45) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (46)    (x8[11] + [1] + [-1]x5[2] ≥ 0∧x4[2] + [-2] + [-1]x6[2] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥)∧[(-1)bni_40 + (-1)Bound*bni_40] + [(-1)bni_40]x6[2] + [bni_40]x4[2] ≥ 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (46) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (47)    (x8[11] + [1] + [-1]x5[2] ≥ 0∧x4[2] + [-2] + [-1]x6[2] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥)∧[(-1)bni_40 + (-1)Bound*bni_40] + [(-1)bni_40]x6[2] + [bni_40]x4[2] ≥ 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (47) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (48)    (x8[11] + [1] + [-1]x5[2] ≥ 0∧x4[2] + [-2] + [-1]x6[2] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥)∧0 = 0∧0 = 0∧[(-1)bni_40 + (-1)Bound*bni_40] + [(-1)bni_40]x6[2] + [bni_40]x4[2] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (48) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (49)    (x5[2] ≥ 0∧x4[2] + [-2] + [-1]x6[2] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥)∧0 = 0∧0 = 0∧[(-1)bni_40 + (-1)Bound*bni_40] + [(-1)bni_40]x6[2] + [bni_40]x4[2] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (49) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (50)    (x5[2] ≥ 0∧x4[2] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥)∧0 = 0∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x4[2] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (50) using rule (IDP_SMT_SPLIT) which results in the following new constraints:

    (51)    (x5[2] ≥ 0∧x4[2] ≥ 0∧x8[11] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥)∧0 = 0∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x4[2] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)


    (52)    (x5[2] ≥ 0∧x4[2] ≥ 0∧x8[11] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥)∧0 = 0∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x4[2] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (51) using rule (IDP_SMT_SPLIT) which results in the following new constraints:

    (53)    (x5[2] ≥ 0∧x4[2] ≥ 0∧x8[11] ≥ 0∧x6[2] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥)∧0 = 0∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x4[2] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)


    (54)    (x5[2] ≥ 0∧x4[2] ≥ 0∧x8[11] ≥ 0∧x6[2] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥)∧0 = 0∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x4[2] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (52) using rule (IDP_SMT_SPLIT) which results in the following new constraints:

    (55)    (x5[2] ≥ 0∧x4[2] ≥ 0∧x8[11] ≥ 0∧x6[2] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥)∧0 = 0∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x4[2] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)


    (56)    (x5[2] ≥ 0∧x4[2] ≥ 0∧x8[11] ≥ 0∧x6[2] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥)∧0 = 0∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x4[2] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)



  • We consider the chain COND_18671_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))), x2[13], x5[13], x6[13], x7[13], x8[13], java.lang.Object(ARRAY(9, x4[13])), x10[13]) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))), x2[13], java.lang.Object(ARRAY(9, x4[13])), x5[13], x7[13], +(x8[13], 1), x6[13]), 15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2]) → COND_15748_0_POSSIBLEVALUES_GE(&&(>=(x7[2], x5[2]), >(x4[2], +(x6[2], 1))), java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2]), COND_15748_0_POSSIBLEVALUES_GE(TRUE, java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], x6[3], x7[3], x5[3]) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3]) which results in the following constraint:

    (57)    (java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13]))))=java.lang.Object(x0[2])∧x2[13]=x1[2]java.lang.Object(ARRAY(9, x4[13]))=java.lang.Object(ARRAY(9, x3[2]))∧x5[13]=x4[2]x7[13]=x6[2]+(x8[13], 1)=x7[2]x6[13]=x5[2]&&(>=(x7[2], x5[2]), >(x4[2], +(x6[2], 1)))=TRUEjava.lang.Object(x0[2])=java.lang.Object(x0[3])∧x1[2]=x1[3]java.lang.Object(ARRAY(9, x3[2]))=java.lang.Object(ARRAY(9, x3[3]))∧x4[2]=x4[3]x6[2]=x6[3]x7[2]=x7[3]x5[2]=x5[3]COND_15748_0_POSSIBLEVALUES_GE(TRUE, java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], x6[3], x7[3], x5[3])≥NonInfC∧COND_15748_0_POSSIBLEVALUES_GE(TRUE, java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], x6[3], x7[3], x5[3])≥15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])∧(UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥))



    We simplified constraint (57) using rules (I), (II), (III), (DELETE_TRIVIAL_REDUCESTO), (IDP_BOOLEAN) which results in the following new constraint:

    (58)    (>=(+(x8[13], 1), x5[2])=TRUE>(x4[2], +(x6[2], 1))=TRUECOND_15748_0_POSSIBLEVALUES_GE(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))), x2[13], java.lang.Object(ARRAY(9, x4[13])), x4[2], x6[2], +(x8[13], 1), x5[2])≥NonInfC∧COND_15748_0_POSSIBLEVALUES_GE(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))), x2[13], java.lang.Object(ARRAY(9, x4[13])), x4[2], x6[2], +(x8[13], 1), x5[2])≥15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))), x2[13], java.lang.Object(ARRAY(9, x4[13])), x4[2], +(x6[2], 1), x2[13], x5[2])∧(UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥))



    We simplified constraint (58) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (59)    (x8[13] + [1] + [-1]x5[2] ≥ 0∧x4[2] + [-2] + [-1]x6[2] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥)∧[(-1)bni_40 + (-1)Bound*bni_40] + [(-1)bni_40]x6[2] + [bni_40]x4[2] ≥ 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (59) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (60)    (x8[13] + [1] + [-1]x5[2] ≥ 0∧x4[2] + [-2] + [-1]x6[2] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥)∧[(-1)bni_40 + (-1)Bound*bni_40] + [(-1)bni_40]x6[2] + [bni_40]x4[2] ≥ 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (60) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (61)    (x8[13] + [1] + [-1]x5[2] ≥ 0∧x4[2] + [-2] + [-1]x6[2] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥)∧[(-1)bni_40 + (-1)Bound*bni_40] + [(-1)bni_40]x6[2] + [bni_40]x4[2] ≥ 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (61) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (62)    (x8[13] + [1] + [-1]x5[2] ≥ 0∧x4[2] + [-2] + [-1]x6[2] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥)∧0 = 0∧0 = 0∧[(-1)bni_40 + (-1)Bound*bni_40] + [(-1)bni_40]x6[2] + [bni_40]x4[2] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (62) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (63)    (x5[2] ≥ 0∧x4[2] + [-2] + [-1]x6[2] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥)∧0 = 0∧0 = 0∧[(-1)bni_40 + (-1)Bound*bni_40] + [(-1)bni_40]x6[2] + [bni_40]x4[2] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (63) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (64)    (x5[2] ≥ 0∧x4[2] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥)∧0 = 0∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x4[2] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (64) using rule (IDP_SMT_SPLIT) which results in the following new constraints:

    (65)    (x5[2] ≥ 0∧x4[2] ≥ 0∧x8[13] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥)∧0 = 0∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x4[2] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)


    (66)    (x5[2] ≥ 0∧x4[2] ≥ 0∧x8[13] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥)∧0 = 0∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x4[2] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (65) using rule (IDP_SMT_SPLIT) which results in the following new constraints:

    (67)    (x5[2] ≥ 0∧x4[2] ≥ 0∧x8[13] ≥ 0∧x6[2] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥)∧0 = 0∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x4[2] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)


    (68)    (x5[2] ≥ 0∧x4[2] ≥ 0∧x8[13] ≥ 0∧x6[2] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥)∧0 = 0∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x4[2] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (66) using rule (IDP_SMT_SPLIT) which results in the following new constraints:

    (69)    (x5[2] ≥ 0∧x4[2] ≥ 0∧x8[13] ≥ 0∧x6[2] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥)∧0 = 0∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x4[2] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)


    (70)    (x5[2] ≥ 0∧x4[2] ≥ 0∧x8[13] ≥ 0∧x6[2] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥)∧0 = 0∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x4[2] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)







For Pair 15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, java.lang.Object(ARRAY(9, x4)), x5, x7, x8, x6) → COND_15748_0_POSSIBLEVALUES_GE1(&&(&&(<(x8, x6), >=(x7, 0)), <(x7, x0)), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, java.lang.Object(ARRAY(9, x4)), x5, x7, x8, x6) the following chains were created:
  • We consider the chain 15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4]) → COND_15748_0_POSSIBLEVALUES_GE1(&&(&&(<(x8[4], x6[4]), >=(x7[4], 0)), <(x7[4], x0[4])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4]), COND_15748_0_POSSIBLEVALUES_GE1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x7[5], x8[5], x6[5]) → 16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5]) which results in the following constraint:

    (71)    (&&(&&(<(x8[4], x6[4]), >=(x7[4], 0)), <(x7[4], x0[4]))=TRUEjava.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4]))))=java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5]))))∧x2[4]=x2[5]java.lang.Object(ARRAY(9, x4[4]))=java.lang.Object(ARRAY(9, x4[5]))∧x5[4]=x5[5]x7[4]=x7[5]x8[4]=x8[5]x6[4]=x6[5]15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4])≥NonInfC∧15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4])≥COND_15748_0_POSSIBLEVALUES_GE1(&&(&&(<(x8[4], x6[4]), >=(x7[4], 0)), <(x7[4], x0[4])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4])∧(UIncreasing(COND_15748_0_POSSIBLEVALUES_GE1(&&(&&(<(x8[4], x6[4]), >=(x7[4], 0)), <(x7[4], x0[4])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4])), ≥))



    We simplified constraint (71) using rules (I), (II), (IV), (DELETE_TRIVIAL_REDUCESTO), (IDP_BOOLEAN) which results in the following new constraint:

    (72)    (<(x7[4], x0[4])=TRUE<(x8[4], x6[4])=TRUE>=(x7[4], 0)=TRUE15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4])≥NonInfC∧15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4])≥COND_15748_0_POSSIBLEVALUES_GE1(&&(&&(<(x8[4], x6[4]), >=(x7[4], 0)), <(x7[4], x0[4])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4])∧(UIncreasing(COND_15748_0_POSSIBLEVALUES_GE1(&&(&&(<(x8[4], x6[4]), >=(x7[4], 0)), <(x7[4], x0[4])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4])), ≥))



    We simplified constraint (72) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (73)    (x0[4] + [-1] + [-1]x7[4] ≥ 0∧x6[4] + [-1] + [-1]x8[4] ≥ 0∧x7[4] ≥ 0 ⇒ (UIncreasing(COND_15748_0_POSSIBLEVALUES_GE1(&&(&&(<(x8[4], x6[4]), >=(x7[4], 0)), <(x7[4], x0[4])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4])), ≥)∧[(-1)bni_42 + (-1)Bound*bni_42] + [(-1)bni_42]x7[4] + [bni_42]x5[4] ≥ 0∧[(-1)bso_43] ≥ 0)



    We simplified constraint (73) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (74)    (x0[4] + [-1] + [-1]x7[4] ≥ 0∧x6[4] + [-1] + [-1]x8[4] ≥ 0∧x7[4] ≥ 0 ⇒ (UIncreasing(COND_15748_0_POSSIBLEVALUES_GE1(&&(&&(<(x8[4], x6[4]), >=(x7[4], 0)), <(x7[4], x0[4])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4])), ≥)∧[(-1)bni_42 + (-1)Bound*bni_42] + [(-1)bni_42]x7[4] + [bni_42]x5[4] ≥ 0∧[(-1)bso_43] ≥ 0)



    We simplified constraint (74) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (75)    (x0[4] + [-1] + [-1]x7[4] ≥ 0∧x6[4] + [-1] + [-1]x8[4] ≥ 0∧x7[4] ≥ 0 ⇒ (UIncreasing(COND_15748_0_POSSIBLEVALUES_GE1(&&(&&(<(x8[4], x6[4]), >=(x7[4], 0)), <(x7[4], x0[4])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4])), ≥)∧[(-1)bni_42 + (-1)Bound*bni_42] + [(-1)bni_42]x7[4] + [bni_42]x5[4] ≥ 0∧[(-1)bso_43] ≥ 0)



    We simplified constraint (75) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (76)    (x0[4] + [-1] + [-1]x7[4] ≥ 0∧x6[4] + [-1] + [-1]x8[4] ≥ 0∧x7[4] ≥ 0 ⇒ (UIncreasing(COND_15748_0_POSSIBLEVALUES_GE1(&&(&&(<(x8[4], x6[4]), >=(x7[4], 0)), <(x7[4], x0[4])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4])), ≥)∧[bni_42] = 0∧0 = 0∧[(-1)bni_42 + (-1)Bound*bni_42] + [(-1)bni_42]x7[4] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_43] ≥ 0)



    We simplified constraint (76) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (77)    (x0[4] ≥ 0∧x6[4] + [-1] + [-1]x8[4] ≥ 0∧x7[4] ≥ 0 ⇒ (UIncreasing(COND_15748_0_POSSIBLEVALUES_GE1(&&(&&(<(x8[4], x6[4]), >=(x7[4], 0)), <(x7[4], x0[4])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4])), ≥)∧[bni_42] = 0∧0 = 0∧[(-1)bni_42 + (-1)Bound*bni_42] + [(-1)bni_42]x7[4] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_43] ≥ 0)



    We simplified constraint (77) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (78)    (x0[4] ≥ 0∧x6[4] ≥ 0∧x7[4] ≥ 0 ⇒ (UIncreasing(COND_15748_0_POSSIBLEVALUES_GE1(&&(&&(<(x8[4], x6[4]), >=(x7[4], 0)), <(x7[4], x0[4])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4])), ≥)∧[bni_42] = 0∧0 = 0∧[(-1)bni_42 + (-1)Bound*bni_42] + [(-1)bni_42]x7[4] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_43] ≥ 0)



    We simplified constraint (78) using rule (IDP_SMT_SPLIT) which results in the following new constraints:

    (79)    (x0[4] ≥ 0∧x6[4] ≥ 0∧x7[4] ≥ 0∧x8[4] ≥ 0 ⇒ (UIncreasing(COND_15748_0_POSSIBLEVALUES_GE1(&&(&&(<(x8[4], x6[4]), >=(x7[4], 0)), <(x7[4], x0[4])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4])), ≥)∧[bni_42] = 0∧0 = 0∧[(-1)bni_42 + (-1)Bound*bni_42] + [(-1)bni_42]x7[4] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_43] ≥ 0)


    (80)    (x0[4] ≥ 0∧x6[4] ≥ 0∧x7[4] ≥ 0∧x8[4] ≥ 0 ⇒ (UIncreasing(COND_15748_0_POSSIBLEVALUES_GE1(&&(&&(<(x8[4], x6[4]), >=(x7[4], 0)), <(x7[4], x0[4])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4])), ≥)∧[bni_42] = 0∧0 = 0∧[(-1)bni_42 + (-1)Bound*bni_42] + [(-1)bni_42]x7[4] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_43] ≥ 0)







For Pair COND_15748_0_POSSIBLEVALUES_GE1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, java.lang.Object(ARRAY(9, x4)), x5, x7, x8, x6) → 16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, java.lang.Object(ARRAY(9, x4)), x5, x6, x7, java.lang.Object(ARRAY(x9, x10)), x8) the following chains were created:
  • We consider the chain COND_15748_0_POSSIBLEVALUES_GE(TRUE, java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], x6[3], x7[3], x5[3]) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3]), 15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4]) → COND_15748_0_POSSIBLEVALUES_GE1(&&(&&(<(x8[4], x6[4]), >=(x7[4], 0)), <(x7[4], x0[4])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4]), COND_15748_0_POSSIBLEVALUES_GE1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x7[5], x8[5], x6[5]) → 16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5]) which results in the following constraint:

    (81)    (java.lang.Object(x0[3])=java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4]))))∧x1[3]=x2[4]java.lang.Object(ARRAY(9, x3[3]))=java.lang.Object(ARRAY(9, x4[4]))∧x4[3]=x5[4]+(x6[3], 1)=x7[4]x1[3]=x8[4]x5[3]=x6[4]&&(&&(<(x8[4], x6[4]), >=(x7[4], 0)), <(x7[4], x0[4]))=TRUEjava.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4]))))=java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5]))))∧x2[4]=x2[5]java.lang.Object(ARRAY(9, x4[4]))=java.lang.Object(ARRAY(9, x4[5]))∧x5[4]=x5[5]x7[4]=x7[5]x8[4]=x8[5]x6[4]=x6[5]COND_15748_0_POSSIBLEVALUES_GE1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x7[5], x8[5], x6[5])≥NonInfC∧COND_15748_0_POSSIBLEVALUES_GE1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x7[5], x8[5], x6[5])≥16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])∧(UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥))



    We simplified constraint (81) using rules (I), (II), (III), (DELETE_TRIVIAL_REDUCESTO), (IDP_BOOLEAN) which results in the following new constraint:

    (82)    (<(+(x6[3], 1), x0[4])=TRUE<(x8[4], x6[4])=TRUE>=(+(x6[3], 1), 0)=TRUECOND_15748_0_POSSIBLEVALUES_GE1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x8[4], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x8[4], x6[4])≥NonInfC∧COND_15748_0_POSSIBLEVALUES_GE1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x8[4], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x8[4], x6[4])≥16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x8[4], java.lang.Object(ARRAY(9, x3[3])), x4[3], x6[4], +(x6[3], 1), java.lang.Object(ARRAY(x9[5], x10[5])), x8[4])∧(UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥))



    We simplified constraint (82) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (83)    (x0[4] + [-2] + [-1]x6[3] ≥ 0∧x6[4] + [-1] + [-1]x8[4] ≥ 0∧x6[3] + [1] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[(-2)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x6[3] + [bni_44]x4[3] ≥ 0∧[(-1)bso_45] ≥ 0)



    We simplified constraint (83) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (84)    (x0[4] + [-2] + [-1]x6[3] ≥ 0∧x6[4] + [-1] + [-1]x8[4] ≥ 0∧x6[3] + [1] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[(-2)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x6[3] + [bni_44]x4[3] ≥ 0∧[(-1)bso_45] ≥ 0)



    We simplified constraint (84) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (85)    (x0[4] + [-2] + [-1]x6[3] ≥ 0∧x6[4] + [-1] + [-1]x8[4] ≥ 0∧x6[3] + [1] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[(-2)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x6[3] + [bni_44]x4[3] ≥ 0∧[(-1)bso_45] ≥ 0)



    We simplified constraint (85) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (86)    (x0[4] + [-2] + [-1]x6[3] ≥ 0∧x6[4] + [-1] + [-1]x8[4] ≥ 0∧x6[3] + [1] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[bni_44] = 0∧0 = 0∧[(-2)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x6[3] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)



    We simplified constraint (86) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (87)    (x0[4] ≥ 0∧x6[4] + [-1] + [-1]x8[4] ≥ 0∧x6[3] + [1] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[bni_44] = 0∧0 = 0∧[(-2)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x6[3] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)



    We simplified constraint (87) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (88)    (x0[4] ≥ 0∧x6[4] ≥ 0∧x6[3] + [1] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[bni_44] = 0∧0 = 0∧[(-2)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x6[3] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)



    We simplified constraint (88) using rule (IDP_SMT_SPLIT) which results in the following new constraints:

    (89)    (x0[4] ≥ 0∧x6[4] ≥ 0∧x6[3] + [1] ≥ 0∧x6[3] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[bni_44] = 0∧0 = 0∧[(-2)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x6[3] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)


    (90)    (x0[4] ≥ 0∧x6[4] ≥ 0∧[-1]x6[3] + [1] ≥ 0∧x6[3] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[bni_44] = 0∧0 = 0∧[(-2)bni_44 + (-1)Bound*bni_44] + [bni_44]x6[3] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)



    We simplified constraint (89) using rule (IDP_SMT_SPLIT) which results in the following new constraints:

    (91)    (x0[4] ≥ 0∧x6[4] ≥ 0∧x6[3] + [1] ≥ 0∧x6[3] ≥ 0∧x8[4] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[bni_44] = 0∧0 = 0∧[(-2)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x6[3] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)


    (92)    (x0[4] ≥ 0∧x6[4] ≥ 0∧x6[3] + [1] ≥ 0∧x6[3] ≥ 0∧x8[4] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[bni_44] = 0∧0 = 0∧[(-2)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x6[3] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)



    We simplified constraint (90) using rule (IDP_SMT_SPLIT) which results in the following new constraints:

    (93)    (x0[4] ≥ 0∧x6[4] ≥ 0∧[-1]x6[3] + [1] ≥ 0∧x6[3] ≥ 0∧x8[4] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[bni_44] = 0∧0 = 0∧[(-2)bni_44 + (-1)Bound*bni_44] + [bni_44]x6[3] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)


    (94)    (x0[4] ≥ 0∧x6[4] ≥ 0∧[-1]x6[3] + [1] ≥ 0∧x6[3] ≥ 0∧x8[4] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[bni_44] = 0∧0 = 0∧[(-2)bni_44 + (-1)Bound*bni_44] + [bni_44]x6[3] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)



  • We consider the chain COND_16244_0_POSSIBLEVALUES_EQ1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x6[11], x7[11], x8[11], 0) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x7[11], +(x8[11], 1), x6[11]), 15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4]) → COND_15748_0_POSSIBLEVALUES_GE1(&&(&&(<(x8[4], x6[4]), >=(x7[4], 0)), <(x7[4], x0[4])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4]), COND_15748_0_POSSIBLEVALUES_GE1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x7[5], x8[5], x6[5]) → 16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5]) which results in the following constraint:

    (95)    (java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11]))))=java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4]))))∧x2[11]=x2[4]java.lang.Object(ARRAY(9, x4[11]))=java.lang.Object(ARRAY(9, x4[4]))∧x5[11]=x5[4]x7[11]=x7[4]+(x8[11], 1)=x8[4]x6[11]=x6[4]&&(&&(<(x8[4], x6[4]), >=(x7[4], 0)), <(x7[4], x0[4]))=TRUEjava.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4]))))=java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5]))))∧x2[4]=x2[5]java.lang.Object(ARRAY(9, x4[4]))=java.lang.Object(ARRAY(9, x4[5]))∧x5[4]=x5[5]x7[4]=x7[5]x8[4]=x8[5]x6[4]=x6[5]COND_15748_0_POSSIBLEVALUES_GE1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x7[5], x8[5], x6[5])≥NonInfC∧COND_15748_0_POSSIBLEVALUES_GE1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x7[5], x8[5], x6[5])≥16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])∧(UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥))



    We simplified constraint (95) using rules (I), (II), (III), (DELETE_TRIVIAL_REDUCESTO), (IDP_BOOLEAN) which results in the following new constraint:

    (96)    (<(x7[4], x0[4])=TRUE<(+(x8[11], 1), x6[4])=TRUE>=(x7[4], 0)=TRUECOND_15748_0_POSSIBLEVALUES_GE1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x7[4], +(x8[11], 1), x6[4])≥NonInfC∧COND_15748_0_POSSIBLEVALUES_GE1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x7[4], +(x8[11], 1), x6[4])≥16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x6[4], x7[4], java.lang.Object(ARRAY(x9[5], x10[5])), +(x8[11], 1))∧(UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥))



    We simplified constraint (96) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (97)    (x0[4] + [-1] + [-1]x7[4] ≥ 0∧x6[4] + [-2] + [-1]x8[11] ≥ 0∧x7[4] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[(-1)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x7[4] + [bni_44]x5[11] ≥ 0∧[(-1)bso_45] ≥ 0)



    We simplified constraint (97) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (98)    (x0[4] + [-1] + [-1]x7[4] ≥ 0∧x6[4] + [-2] + [-1]x8[11] ≥ 0∧x7[4] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[(-1)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x7[4] + [bni_44]x5[11] ≥ 0∧[(-1)bso_45] ≥ 0)



    We simplified constraint (98) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (99)    (x0[4] + [-1] + [-1]x7[4] ≥ 0∧x6[4] + [-2] + [-1]x8[11] ≥ 0∧x7[4] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[(-1)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x7[4] + [bni_44]x5[11] ≥ 0∧[(-1)bso_45] ≥ 0)



    We simplified constraint (99) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (100)    (x0[4] + [-1] + [-1]x7[4] ≥ 0∧x6[4] + [-2] + [-1]x8[11] ≥ 0∧x7[4] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[bni_44] = 0∧0 = 0∧[(-1)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x7[4] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)



    We simplified constraint (100) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (101)    (x0[4] ≥ 0∧x6[4] + [-2] + [-1]x8[11] ≥ 0∧x7[4] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[bni_44] = 0∧0 = 0∧[(-1)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x7[4] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)



    We simplified constraint (101) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (102)    (x0[4] ≥ 0∧x6[4] ≥ 0∧x7[4] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[bni_44] = 0∧0 = 0∧[(-1)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x7[4] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)



    We simplified constraint (102) using rule (IDP_SMT_SPLIT) which results in the following new constraints:

    (103)    (x0[4] ≥ 0∧x6[4] ≥ 0∧x7[4] ≥ 0∧x8[11] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[bni_44] = 0∧0 = 0∧[(-1)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x7[4] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)


    (104)    (x0[4] ≥ 0∧x6[4] ≥ 0∧x7[4] ≥ 0∧x8[11] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[bni_44] = 0∧0 = 0∧[(-1)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x7[4] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)



  • We consider the chain COND_18671_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))), x2[13], x5[13], x6[13], x7[13], x8[13], java.lang.Object(ARRAY(9, x4[13])), x10[13]) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))), x2[13], java.lang.Object(ARRAY(9, x4[13])), x5[13], x7[13], +(x8[13], 1), x6[13]), 15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4]) → COND_15748_0_POSSIBLEVALUES_GE1(&&(&&(<(x8[4], x6[4]), >=(x7[4], 0)), <(x7[4], x0[4])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4]), COND_15748_0_POSSIBLEVALUES_GE1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x7[5], x8[5], x6[5]) → 16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5]) which results in the following constraint:

    (105)    (java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13]))))=java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4]))))∧x2[13]=x2[4]java.lang.Object(ARRAY(9, x4[13]))=java.lang.Object(ARRAY(9, x4[4]))∧x5[13]=x5[4]x7[13]=x7[4]+(x8[13], 1)=x8[4]x6[13]=x6[4]&&(&&(<(x8[4], x6[4]), >=(x7[4], 0)), <(x7[4], x0[4]))=TRUEjava.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4]))))=java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5]))))∧x2[4]=x2[5]java.lang.Object(ARRAY(9, x4[4]))=java.lang.Object(ARRAY(9, x4[5]))∧x5[4]=x5[5]x7[4]=x7[5]x8[4]=x8[5]x6[4]=x6[5]COND_15748_0_POSSIBLEVALUES_GE1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x7[5], x8[5], x6[5])≥NonInfC∧COND_15748_0_POSSIBLEVALUES_GE1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x7[5], x8[5], x6[5])≥16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])∧(UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥))



    We simplified constraint (105) using rules (I), (II), (III), (DELETE_TRIVIAL_REDUCESTO), (IDP_BOOLEAN) which results in the following new constraint:

    (106)    (<(x7[4], x0[4])=TRUE<(+(x8[13], 1), x6[4])=TRUE>=(x7[4], 0)=TRUECOND_15748_0_POSSIBLEVALUES_GE1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[13])))), x2[13], java.lang.Object(ARRAY(9, x4[13])), x5[13], x7[4], +(x8[13], 1), x6[4])≥NonInfC∧COND_15748_0_POSSIBLEVALUES_GE1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[13])))), x2[13], java.lang.Object(ARRAY(9, x4[13])), x5[13], x7[4], +(x8[13], 1), x6[4])≥16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[13])))), x2[13], java.lang.Object(ARRAY(9, x4[13])), x5[13], x6[4], x7[4], java.lang.Object(ARRAY(x9[5], x10[5])), +(x8[13], 1))∧(UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥))



    We simplified constraint (106) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (107)    (x0[4] + [-1] + [-1]x7[4] ≥ 0∧x6[4] + [-2] + [-1]x8[13] ≥ 0∧x7[4] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[(-1)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x7[4] + [bni_44]x5[13] ≥ 0∧[(-1)bso_45] ≥ 0)



    We simplified constraint (107) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (108)    (x0[4] + [-1] + [-1]x7[4] ≥ 0∧x6[4] + [-2] + [-1]x8[13] ≥ 0∧x7[4] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[(-1)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x7[4] + [bni_44]x5[13] ≥ 0∧[(-1)bso_45] ≥ 0)



    We simplified constraint (108) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (109)    (x0[4] + [-1] + [-1]x7[4] ≥ 0∧x6[4] + [-2] + [-1]x8[13] ≥ 0∧x7[4] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[(-1)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x7[4] + [bni_44]x5[13] ≥ 0∧[(-1)bso_45] ≥ 0)



    We simplified constraint (109) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (110)    (x0[4] + [-1] + [-1]x7[4] ≥ 0∧x6[4] + [-2] + [-1]x8[13] ≥ 0∧x7[4] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[bni_44] = 0∧0 = 0∧[(-1)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x7[4] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)



    We simplified constraint (110) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (111)    (x0[4] ≥ 0∧x6[4] + [-2] + [-1]x8[13] ≥ 0∧x7[4] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[bni_44] = 0∧0 = 0∧[(-1)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x7[4] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)



    We simplified constraint (111) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (112)    (x0[4] ≥ 0∧x6[4] ≥ 0∧x7[4] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[bni_44] = 0∧0 = 0∧[(-1)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x7[4] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)



    We simplified constraint (112) using rule (IDP_SMT_SPLIT) which results in the following new constraints:

    (113)    (x0[4] ≥ 0∧x6[4] ≥ 0∧x7[4] ≥ 0∧x8[13] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[bni_44] = 0∧0 = 0∧[(-1)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x7[4] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)


    (114)    (x0[4] ≥ 0∧x6[4] ≥ 0∧x7[4] ≥ 0∧x8[13] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[bni_44] = 0∧0 = 0∧[(-1)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x7[4] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)







For Pair 16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, java.lang.Object(ARRAY(9, x4)), x5, x6, x7, x8, x9) → COND_16244_0_POSSIBLEVALUES_EQ(&&(&&(!(=(x9, 0)), >=(x7, 0)), <(x7, x0)), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, java.lang.Object(ARRAY(9, x4)), x5, x6, x7, x8, x9) the following chains were created:
  • We consider the chain 16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6]) → COND_16244_0_POSSIBLEVALUES_EQ(&&(&&(!(=(x9[6], 0)), >=(x7[6], 0)), <(x7[6], x0[6])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6]), COND_16244_0_POSSIBLEVALUES_EQ(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], java.lang.Object(ARRAY(9, x4[7])), x5[7], x6[7], x7[7], x8[7], x9[7]) → 17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], x5[7], x6[7], x7[7], java.lang.Object(ARRAY(9, x4[7])), java.lang.Object(ARRAY(x10[7], x11[7])), x8[7]) which results in the following constraint:

    (115)    (&&(&&(!(=(x9[6], 0)), >=(x7[6], 0)), <(x7[6], x0[6]))=TRUEjava.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6]))))=java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7]))))∧x2[6]=x2[7]java.lang.Object(ARRAY(9, x4[6]))=java.lang.Object(ARRAY(9, x4[7]))∧x5[6]=x5[7]x6[6]=x6[7]x7[6]=x7[7]x8[6]=x8[7]x9[6]=x9[7]16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6])≥NonInfC∧16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6])≥COND_16244_0_POSSIBLEVALUES_EQ(&&(&&(!(=(x9[6], 0)), >=(x7[6], 0)), <(x7[6], x0[6])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6])∧(UIncreasing(COND_16244_0_POSSIBLEVALUES_EQ(&&(&&(!(=(x9[6], 0)), >=(x7[6], 0)), <(x7[6], x0[6])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6])), ≥))



    We simplified constraint (115) using rules (I), (II), (IV), (DELETE_TRIVIAL_REDUCESTO), (IDP_BOOLEAN) which results in the following new constraints:

    (116)    (<(x7[6], x0[6])=TRUE>=(x7[6], 0)=TRUE<(x9[6], 0)=TRUE16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6])≥NonInfC∧16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6])≥COND_16244_0_POSSIBLEVALUES_EQ(&&(&&(!(=(x9[6], 0)), >=(x7[6], 0)), <(x7[6], x0[6])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6])∧(UIncreasing(COND_16244_0_POSSIBLEVALUES_EQ(&&(&&(!(=(x9[6], 0)), >=(x7[6], 0)), <(x7[6], x0[6])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6])), ≥))


    (117)    (<(x7[6], x0[6])=TRUE>=(x7[6], 0)=TRUE>(x9[6], 0)=TRUE16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6])≥NonInfC∧16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6])≥COND_16244_0_POSSIBLEVALUES_EQ(&&(&&(!(=(x9[6], 0)), >=(x7[6], 0)), <(x7[6], x0[6])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6])∧(UIncreasing(COND_16244_0_POSSIBLEVALUES_EQ(&&(&&(!(=(x9[6], 0)), >=(x7[6], 0)), <(x7[6], x0[6])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6])), ≥))



    We simplified constraint (116) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (118)    (x0[6] + [-1] + [-1]x7[6] ≥ 0∧x7[6] ≥ 0∧[-1] + [-1]x9[6] ≥ 0 ⇒ (UIncreasing(COND_16244_0_POSSIBLEVALUES_EQ(&&(&&(!(=(x9[6], 0)), >=(x7[6], 0)), <(x7[6], x0[6])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6])), ≥)∧[(-1)bni_46 + (-1)Bound*bni_46] + [(-1)bni_46]x7[6] + [bni_46]x5[6] ≥ 0∧[(-1)bso_47] ≥ 0)



    We simplified constraint (117) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (119)    (x0[6] + [-1] + [-1]x7[6] ≥ 0∧x7[6] ≥ 0∧x9[6] + [-1] ≥ 0 ⇒ (UIncreasing(COND_16244_0_POSSIBLEVALUES_EQ(&&(&&(!(=(x9[6], 0)), >=(x7[6], 0)), <(x7[6], x0[6])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6])), ≥)∧[(-1)bni_46 + (-1)Bound*bni_46] + [(-1)bni_46]x7[6] + [bni_46]x5[6] ≥ 0∧[(-1)bso_47] ≥ 0)



    We simplified constraint (118) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (120)    (x0[6] + [-1] + [-1]x7[6] ≥ 0∧x7[6] ≥ 0∧[-1] + [-1]x9[6] ≥ 0 ⇒ (UIncreasing(COND_16244_0_POSSIBLEVALUES_EQ(&&(&&(!(=(x9[6], 0)), >=(x7[6], 0)), <(x7[6], x0[6])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6])), ≥)∧[(-1)bni_46 + (-1)Bound*bni_46] + [(-1)bni_46]x7[6] + [bni_46]x5[6] ≥ 0∧[(-1)bso_47] ≥ 0)



    We simplified constraint (119) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (121)    (x0[6] + [-1] + [-1]x7[6] ≥ 0∧x7[6] ≥ 0∧x9[6] + [-1] ≥ 0 ⇒ (UIncreasing(COND_16244_0_POSSIBLEVALUES_EQ(&&(&&(!(=(x9[6], 0)), >=(x7[6], 0)), <(x7[6], x0[6])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6])), ≥)∧[(-1)bni_46 + (-1)Bound*bni_46] + [(-1)bni_46]x7[6] + [bni_46]x5[6] ≥ 0∧[(-1)bso_47] ≥ 0)



    We simplified constraint (120) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (122)    (x0[6] + [-1] + [-1]x7[6] ≥ 0∧x7[6] ≥ 0∧[-1] + [-1]x9[6] ≥ 0 ⇒ (UIncreasing(COND_16244_0_POSSIBLEVALUES_EQ(&&(&&(!(=(x9[6], 0)), >=(x7[6], 0)), <(x7[6], x0[6])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6])), ≥)∧[(-1)bni_46 + (-1)Bound*bni_46] + [(-1)bni_46]x7[6] + [bni_46]x5[6] ≥ 0∧[(-1)bso_47] ≥ 0)



    We simplified constraint (121) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (123)    (x0[6] + [-1] + [-1]x7[6] ≥ 0∧x7[6] ≥ 0∧x9[6] + [-1] ≥ 0 ⇒ (UIncreasing(COND_16244_0_POSSIBLEVALUES_EQ(&&(&&(!(=(x9[6], 0)), >=(x7[6], 0)), <(x7[6], x0[6])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6])), ≥)∧[(-1)bni_46 + (-1)Bound*bni_46] + [(-1)bni_46]x7[6] + [bni_46]x5[6] ≥ 0∧[(-1)bso_47] ≥ 0)



    We simplified constraint (122) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (124)    (x0[6] + [-1] + [-1]x7[6] ≥ 0∧x7[6] ≥ 0∧[-1] + [-1]x9[6] ≥ 0 ⇒ (UIncreasing(COND_16244_0_POSSIBLEVALUES_EQ(&&(&&(!(=(x9[6], 0)), >=(x7[6], 0)), <(x7[6], x0[6])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6])), ≥)∧0 = 0∧0 = 0∧[bni_46] = 0∧0 = 0∧[(-1)bni_46 + (-1)Bound*bni_46] + [(-1)bni_46]x7[6] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_47] ≥ 0)



    We simplified constraint (123) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (125)    (x0[6] + [-1] + [-1]x7[6] ≥ 0∧x7[6] ≥ 0∧x9[6] + [-1] ≥ 0 ⇒ (UIncreasing(COND_16244_0_POSSIBLEVALUES_EQ(&&(&&(!(=(x9[6], 0)), >=(x7[6], 0)), <(x7[6], x0[6])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6])), ≥)∧0 = 0∧0 = 0∧[bni_46] = 0∧0 = 0∧[(-1)bni_46 + (-1)Bound*bni_46] + [(-1)bni_46]x7[6] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_47] ≥ 0)



    We simplified constraint (124) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (126)    (x0[6] ≥ 0∧x7[6] ≥ 0∧[-1] + [-1]x9[6] ≥ 0 ⇒ (UIncreasing(COND_16244_0_POSSIBLEVALUES_EQ(&&(&&(!(=(x9[6], 0)), >=(x7[6], 0)), <(x7[6], x0[6])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6])), ≥)∧0 = 0∧0 = 0∧[bni_46] = 0∧0 = 0∧[(-1)bni_46 + (-1)Bound*bni_46] + [(-1)bni_46]x7[6] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_47] ≥ 0)



    We simplified constraint (126) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (127)    (x0[6] ≥ 0∧x7[6] ≥ 0∧x9[6] ≥ 0 ⇒ (UIncreasing(COND_16244_0_POSSIBLEVALUES_EQ(&&(&&(!(=(x9[6], 0)), >=(x7[6], 0)), <(x7[6], x0[6])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6])), ≥)∧0 = 0∧0 = 0∧[bni_46] = 0∧0 = 0∧[(-1)bni_46 + (-1)Bound*bni_46] + [(-1)bni_46]x7[6] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_47] ≥ 0)



    We simplified constraint (125) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (128)    (x0[6] ≥ 0∧x7[6] ≥ 0∧x9[6] + [-1] ≥ 0 ⇒ (UIncreasing(COND_16244_0_POSSIBLEVALUES_EQ(&&(&&(!(=(x9[6], 0)), >=(x7[6], 0)), <(x7[6], x0[6])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6])), ≥)∧0 = 0∧0 = 0∧[bni_46] = 0∧0 = 0∧[(-1)bni_46 + (-1)Bound*bni_46] + [(-1)bni_46]x7[6] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_47] ≥ 0)



    We simplified constraint (128) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (129)    (x0[6] ≥ 0∧x7[6] ≥ 0∧x9[6] ≥ 0 ⇒ (UIncreasing(COND_16244_0_POSSIBLEVALUES_EQ(&&(&&(!(=(x9[6], 0)), >=(x7[6], 0)), <(x7[6], x0[6])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6])), ≥)∧0 = 0∧0 = 0∧[bni_46] = 0∧0 = 0∧[(-1)bni_46 + (-1)Bound*bni_46] + [(-1)bni_46]x7[6] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_47] ≥ 0)







For Pair COND_16244_0_POSSIBLEVALUES_EQ(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, java.lang.Object(ARRAY(9, x4)), x5, x6, x7, x8, x9) → 17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, x5, x6, x7, java.lang.Object(ARRAY(9, x4)), java.lang.Object(ARRAY(x10, x11)), x8) the following chains were created:
  • We consider the chain COND_16122_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], i7432[1], java.lang.Object(ARRAY(i7594[1], a12877[1])), i7710[1]) → 16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], i7432[1], i7710[1], i7902[1]), 16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6]) → COND_16244_0_POSSIBLEVALUES_EQ(&&(&&(!(=(x9[6], 0)), >=(x7[6], 0)), <(x7[6], x0[6])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6]), COND_16244_0_POSSIBLEVALUES_EQ(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], java.lang.Object(ARRAY(9, x4[7])), x5[7], x6[7], x7[7], x8[7], x9[7]) → 17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], x5[7], x6[7], x7[7], java.lang.Object(ARRAY(9, x4[7])), java.lang.Object(ARRAY(x10[7], x11[7])), x8[7]) which results in the following constraint:

    (130)    (java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1]))))=java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6]))))∧i7299[1]=x2[6]java.lang.Object(ARRAY(9, a12491[1]))=java.lang.Object(ARRAY(9, x4[6]))∧i2147[1]=x5[6]i2455[1]=x6[6]i7432[1]=x7[6]i7710[1]=x8[6]i7902[1]=x9[6]&&(&&(!(=(x9[6], 0)), >=(x7[6], 0)), <(x7[6], x0[6]))=TRUEjava.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6]))))=java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7]))))∧x2[6]=x2[7]java.lang.Object(ARRAY(9, x4[6]))=java.lang.Object(ARRAY(9, x4[7]))∧x5[6]=x5[7]x6[6]=x6[7]x7[6]=x7[7]x8[6]=x8[7]x9[6]=x9[7]COND_16244_0_POSSIBLEVALUES_EQ(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], java.lang.Object(ARRAY(9, x4[7])), x5[7], x6[7], x7[7], x8[7], x9[7])≥NonInfC∧COND_16244_0_POSSIBLEVALUES_EQ(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], java.lang.Object(ARRAY(9, x4[7])), x5[7], x6[7], x7[7], x8[7], x9[7])≥17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], x5[7], x6[7], x7[7], java.lang.Object(ARRAY(9, x4[7])), java.lang.Object(ARRAY(x10[7], x11[7])), x8[7])∧(UIncreasing(17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], x5[7], x6[7], x7[7], java.lang.Object(ARRAY(9, x4[7])), java.lang.Object(ARRAY(x10[7], x11[7])), x8[7])), ≥))



    We simplified constraint (130) using rules (I), (II), (III), (DELETE_TRIVIAL_REDUCESTO), (IDP_BOOLEAN) which results in the following new constraints:

    (131)    (<(x7[6], x0[6])=TRUE>=(x7[6], 0)=TRUE<(x9[6], 0)=TRUECOND_16244_0_POSSIBLEVALUES_EQ(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], x7[6], i7710[1], x9[6])≥NonInfC∧COND_16244_0_POSSIBLEVALUES_EQ(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], x7[6], i7710[1], x9[6])≥17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], a12669[1])))), i7299[1], i2147[1], i2455[1], x7[6], java.lang.Object(ARRAY(9, a12491[1])), java.lang.Object(ARRAY(x10[7], x11[7])), i7710[1])∧(UIncreasing(17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], x5[7], x6[7], x7[7], java.lang.Object(ARRAY(9, x4[7])), java.lang.Object(ARRAY(x10[7], x11[7])), x8[7])), ≥))


    (132)    (<(x7[6], x0[6])=TRUE>=(x7[6], 0)=TRUE>(x9[6], 0)=TRUECOND_16244_0_POSSIBLEVALUES_EQ(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], x7[6], i7710[1], x9[6])≥NonInfC∧COND_16244_0_POSSIBLEVALUES_EQ(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], x7[6], i7710[1], x9[6])≥17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], a12669[1])))), i7299[1], i2147[1], i2455[1], x7[6], java.lang.Object(ARRAY(9, a12491[1])), java.lang.Object(ARRAY(x10[7], x11[7])), i7710[1])∧(UIncreasing(17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], x5[7], x6[7], x7[7], java.lang.Object(ARRAY(9, x4[7])), java.lang.Object(ARRAY(x10[7], x11[7])), x8[7])), ≥))



    We simplified constraint (131) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (133)    (x0[6] + [-1] + [-1]x7[6] ≥ 0∧x7[6] ≥ 0∧[-1] + [-1]x9[6] ≥ 0 ⇒ (UIncreasing(17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], x5[7], x6[7], x7[7], java.lang.Object(ARRAY(9, x4[7])), java.lang.Object(ARRAY(x10[7], x11[7])), x8[7])), ≥)∧[(-1)bni_48 + (-1)Bound*bni_48] + [(-1)bni_48]x7[6] + [bni_48]i2147[1] ≥ 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (132) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (134)    (x0[6] + [-1] + [-1]x7[6] ≥ 0∧x7[6] ≥ 0∧x9[6] + [-1] ≥ 0 ⇒ (UIncreasing(17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], x5[7], x6[7], x7[7], java.lang.Object(ARRAY(9, x4[7])), java.lang.Object(ARRAY(x10[7], x11[7])), x8[7])), ≥)∧[(-1)bni_48 + (-1)Bound*bni_48] + [(-1)bni_48]x7[6] + [bni_48]i2147[1] ≥ 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (133) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (135)    (x0[6] + [-1] + [-1]x7[6] ≥ 0∧x7[6] ≥ 0∧[-1] + [-1]x9[6] ≥ 0 ⇒ (UIncreasing(17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], x5[7], x6[7], x7[7], java.lang.Object(ARRAY(9, x4[7])), java.lang.Object(ARRAY(x10[7], x11[7])), x8[7])), ≥)∧[(-1)bni_48 + (-1)Bound*bni_48] + [(-1)bni_48]x7[6] + [bni_48]i2147[1] ≥ 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (134) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (136)    (x0[6] + [-1] + [-1]x7[6] ≥ 0∧x7[6] ≥ 0∧x9[6] + [-1] ≥ 0 ⇒ (UIncreasing(17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], x5[7], x6[7], x7[7], java.lang.Object(ARRAY(9, x4[7])), java.lang.Object(ARRAY(x10[7], x11[7])), x8[7])), ≥)∧[(-1)bni_48 + (-1)Bound*bni_48] + [(-1)bni_48]x7[6] + [bni_48]i2147[1] ≥ 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (135) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (137)    (x0[6] + [-1] + [-1]x7[6] ≥ 0∧x7[6] ≥ 0∧[-1] + [-1]x9[6] ≥ 0 ⇒ (UIncreasing(17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], x5[7], x6[7], x7[7], java.lang.Object(ARRAY(9, x4[7])), java.lang.Object(ARRAY(x10[7], x11[7])), x8[7])), ≥)∧[(-1)bni_48 + (-1)Bound*bni_48] + [(-1)bni_48]x7[6] + [bni_48]i2147[1] ≥ 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (136) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (138)    (x0[6] + [-1] + [-1]x7[6] ≥ 0∧x7[6] ≥ 0∧x9[6] + [-1] ≥ 0 ⇒ (UIncreasing(17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], x5[7], x6[7], x7[7], java.lang.Object(ARRAY(9, x4[7])), java.lang.Object(ARRAY(x10[7], x11[7])), x8[7])), ≥)∧[(-1)bni_48 + (-1)Bound*bni_48] + [(-1)bni_48]x7[6] + [bni_48]i2147[1] ≥ 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (137) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (139)    (x0[6] + [-1] + [-1]x7[6] ≥ 0∧x7[6] ≥ 0∧[-1] + [-1]x9[6] ≥ 0 ⇒ (UIncreasing(17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], x5[7], x6[7], x7[7], java.lang.Object(ARRAY(9, x4[7])), java.lang.Object(ARRAY(x10[7], x11[7])), x8[7])), ≥)∧0 = 0∧0 = 0∧[bni_48] = 0∧0 = 0∧[(-1)bni_48 + (-1)Bound*bni_48] + [(-1)bni_48]x7[6] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (138) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (140)    (x0[6] + [-1] + [-1]x7[6] ≥ 0∧x7[6] ≥ 0∧x9[6] + [-1] ≥ 0 ⇒ (UIncreasing(17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], x5[7], x6[7], x7[7], java.lang.Object(ARRAY(9, x4[7])), java.lang.Object(ARRAY(x10[7], x11[7])), x8[7])), ≥)∧0 = 0∧0 = 0∧[bni_48] = 0∧0 = 0∧[(-1)bni_48 + (-1)Bound*bni_48] + [(-1)bni_48]x7[6] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (139) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (141)    (x0[6] ≥ 0∧x7[6] ≥ 0∧[-1] + [-1]x9[6] ≥ 0 ⇒ (UIncreasing(17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], x5[7], x6[7], x7[7], java.lang.Object(ARRAY(9, x4[7])), java.lang.Object(ARRAY(x10[7], x11[7])), x8[7])), ≥)∧0 = 0∧0 = 0∧[bni_48] = 0∧0 = 0∧[(-1)bni_48 + (-1)Bound*bni_48] + [(-1)bni_48]x7[6] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (141) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (142)    (x0[6] ≥ 0∧x7[6] ≥ 0∧x9[6] ≥ 0 ⇒ (UIncreasing(17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], x5[7], x6[7], x7[7], java.lang.Object(ARRAY(9, x4[7])), java.lang.Object(ARRAY(x10[7], x11[7])), x8[7])), ≥)∧0 = 0∧0 = 0∧[bni_48] = 0∧0 = 0∧[(-1)bni_48 + (-1)Bound*bni_48] + [(-1)bni_48]x7[6] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (140) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (143)    (x0[6] ≥ 0∧x7[6] ≥ 0∧x9[6] + [-1] ≥ 0 ⇒ (UIncreasing(17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], x5[7], x6[7], x7[7], java.lang.Object(ARRAY(9, x4[7])), java.lang.Object(ARRAY(x10[7], x11[7])), x8[7])), ≥)∧0 = 0∧0 = 0∧[bni_48] = 0∧0 = 0∧[(-1)bni_48 + (-1)Bound*bni_48] + [(-1)bni_48]x7[6] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)



    We simplified constraint (143) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (144)    (x0[6] ≥ 0∧x7[6] ≥ 0∧x9[6] ≥ 0 ⇒ (UIncreasing(17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], x5[7], x6[7], x7[7], java.lang.Object(ARRAY(9, x4[7])), java.lang.Object(ARRAY(x10[7], x11[7])), x8[7])), ≥)∧0 = 0∧0 = 0∧[bni_48] = 0∧0 = 0∧[(-1)bni_48 + (-1)Bound*bni_48] + [(-1)bni_48]x7[6] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)







For Pair 17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, x5, x6, x7, java.lang.Object(ARRAY(9, x4)), java.lang.Object(ARRAY(x10, x11)), x8) → COND_17877_0_POSSIBLEVALUES_ARRAYACCESS(&&(>=(x8, 0), <(x8, x10)), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, x5, x6, x7, java.lang.Object(ARRAY(9, x4)), java.lang.Object(ARRAY(x10, x11)), x8) the following chains were created:
  • We consider the chain 17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8])))), x2[8], x5[8], x6[8], x7[8], java.lang.Object(ARRAY(9, x4[8])), java.lang.Object(ARRAY(x10[8], x11[8])), x8[8]) → COND_17877_0_POSSIBLEVALUES_ARRAYACCESS(&&(>=(x8[8], 0), <(x8[8], x10[8])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8])))), x2[8], x5[8], x6[8], x7[8], java.lang.Object(ARRAY(9, x4[8])), java.lang.Object(ARRAY(x10[8], x11[8])), x8[8]), COND_17877_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))), x2[9], x5[9], x6[9], x7[9], java.lang.Object(ARRAY(9, x4[9])), java.lang.Object(ARRAY(x10[9], x11[9])), x8[9]) → 18671_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))), x2[9], x5[9], x6[9], x7[9], x8[9], java.lang.Object(ARRAY(9, x4[9])), -(x12[9], 1)) which results in the following constraint:

    (145)    (&&(>=(x8[8], 0), <(x8[8], x10[8]))=TRUEjava.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8]))))=java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9]))))∧x2[8]=x2[9]x5[8]=x5[9]x6[8]=x6[9]x7[8]=x7[9]java.lang.Object(ARRAY(9, x4[8]))=java.lang.Object(ARRAY(9, x4[9]))∧java.lang.Object(ARRAY(x10[8], x11[8]))=java.lang.Object(ARRAY(x10[9], x11[9]))∧x8[8]=x8[9]17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8])))), x2[8], x5[8], x6[8], x7[8], java.lang.Object(ARRAY(9, x4[8])), java.lang.Object(ARRAY(x10[8], x11[8])), x8[8])≥NonInfC∧17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8])))), x2[8], x5[8], x6[8], x7[8], java.lang.Object(ARRAY(9, x4[8])), java.lang.Object(ARRAY(x10[8], x11[8])), x8[8])≥COND_17877_0_POSSIBLEVALUES_ARRAYACCESS(&&(>=(x8[8], 0), <(x8[8], x10[8])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8])))), x2[8], x5[8], x6[8], x7[8], java.lang.Object(ARRAY(9, x4[8])), java.lang.Object(ARRAY(x10[8], x11[8])), x8[8])∧(UIncreasing(COND_17877_0_POSSIBLEVALUES_ARRAYACCESS(&&(>=(x8[8], 0), <(x8[8], x10[8])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8])))), x2[8], x5[8], x6[8], x7[8], java.lang.Object(ARRAY(9, x4[8])), java.lang.Object(ARRAY(x10[8], x11[8])), x8[8])), ≥))



    We simplified constraint (145) using rules (I), (II), (IV), (DELETE_TRIVIAL_REDUCESTO), (IDP_BOOLEAN) which results in the following new constraint:

    (146)    (>=(x8[8], 0)=TRUE<(x8[8], x10[8])=TRUE17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8])))), x2[8], x5[8], x6[8], x7[8], java.lang.Object(ARRAY(9, x4[8])), java.lang.Object(ARRAY(x10[8], x11[8])), x8[8])≥NonInfC∧17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8])))), x2[8], x5[8], x6[8], x7[8], java.lang.Object(ARRAY(9, x4[8])), java.lang.Object(ARRAY(x10[8], x11[8])), x8[8])≥COND_17877_0_POSSIBLEVALUES_ARRAYACCESS(&&(>=(x8[8], 0), <(x8[8], x10[8])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8])))), x2[8], x5[8], x6[8], x7[8], java.lang.Object(ARRAY(9, x4[8])), java.lang.Object(ARRAY(x10[8], x11[8])), x8[8])∧(UIncreasing(COND_17877_0_POSSIBLEVALUES_ARRAYACCESS(&&(>=(x8[8], 0), <(x8[8], x10[8])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8])))), x2[8], x5[8], x6[8], x7[8], java.lang.Object(ARRAY(9, x4[8])), java.lang.Object(ARRAY(x10[8], x11[8])), x8[8])), ≥))



    We simplified constraint (146) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (147)    (x8[8] ≥ 0∧x10[8] + [-1] + [-1]x8[8] ≥ 0 ⇒ (UIncreasing(COND_17877_0_POSSIBLEVALUES_ARRAYACCESS(&&(>=(x8[8], 0), <(x8[8], x10[8])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8])))), x2[8], x5[8], x6[8], x7[8], java.lang.Object(ARRAY(9, x4[8])), java.lang.Object(ARRAY(x10[8], x11[8])), x8[8])), ≥)∧[(-1)bni_50 + (-1)Bound*bni_50] + [(-1)bni_50]x7[8] + [bni_50]x5[8] ≥ 0∧[(-1)bso_51] ≥ 0)



    We simplified constraint (147) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (148)    (x8[8] ≥ 0∧x10[8] + [-1] + [-1]x8[8] ≥ 0 ⇒ (UIncreasing(COND_17877_0_POSSIBLEVALUES_ARRAYACCESS(&&(>=(x8[8], 0), <(x8[8], x10[8])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8])))), x2[8], x5[8], x6[8], x7[8], java.lang.Object(ARRAY(9, x4[8])), java.lang.Object(ARRAY(x10[8], x11[8])), x8[8])), ≥)∧[(-1)bni_50 + (-1)Bound*bni_50] + [(-1)bni_50]x7[8] + [bni_50]x5[8] ≥ 0∧[(-1)bso_51] ≥ 0)



    We simplified constraint (148) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (149)    (x8[8] ≥ 0∧x10[8] + [-1] + [-1]x8[8] ≥ 0 ⇒ (UIncreasing(COND_17877_0_POSSIBLEVALUES_ARRAYACCESS(&&(>=(x8[8], 0), <(x8[8], x10[8])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8])))), x2[8], x5[8], x6[8], x7[8], java.lang.Object(ARRAY(9, x4[8])), java.lang.Object(ARRAY(x10[8], x11[8])), x8[8])), ≥)∧[(-1)bni_50 + (-1)Bound*bni_50] + [(-1)bni_50]x7[8] + [bni_50]x5[8] ≥ 0∧[(-1)bso_51] ≥ 0)



    We simplified constraint (149) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (150)    (x8[8] ≥ 0∧x10[8] + [-1] + [-1]x8[8] ≥ 0 ⇒ (UIncreasing(COND_17877_0_POSSIBLEVALUES_ARRAYACCESS(&&(>=(x8[8], 0), <(x8[8], x10[8])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8])))), x2[8], x5[8], x6[8], x7[8], java.lang.Object(ARRAY(9, x4[8])), java.lang.Object(ARRAY(x10[8], x11[8])), x8[8])), ≥)∧0 = 0∧[(-1)bni_50] = 0∧0 = 0∧[bni_50] = 0∧0 = 0∧0 = 0∧[(-1)bni_50 + (-1)Bound*bni_50] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_51] ≥ 0)



    We simplified constraint (150) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (151)    (x8[8] ≥ 0∧x10[8] ≥ 0 ⇒ (UIncreasing(COND_17877_0_POSSIBLEVALUES_ARRAYACCESS(&&(>=(x8[8], 0), <(x8[8], x10[8])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8])))), x2[8], x5[8], x6[8], x7[8], java.lang.Object(ARRAY(9, x4[8])), java.lang.Object(ARRAY(x10[8], x11[8])), x8[8])), ≥)∧0 = 0∧[(-1)bni_50] = 0∧0 = 0∧[bni_50] = 0∧0 = 0∧0 = 0∧[(-1)bni_50 + (-1)Bound*bni_50] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_51] ≥ 0)







For Pair COND_17877_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, x5, x6, x7, java.lang.Object(ARRAY(9, x4)), java.lang.Object(ARRAY(x10, x11)), x8) → 18671_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, x5, x6, x7, x8, java.lang.Object(ARRAY(9, x4)), -(x12, 1)) the following chains were created:
  • We consider the chain COND_16244_0_POSSIBLEVALUES_EQ(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], java.lang.Object(ARRAY(9, x4[7])), x5[7], x6[7], x7[7], x8[7], x9[7]) → 17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], x5[7], x6[7], x7[7], java.lang.Object(ARRAY(9, x4[7])), java.lang.Object(ARRAY(x10[7], x11[7])), x8[7]), 17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8])))), x2[8], x5[8], x6[8], x7[8], java.lang.Object(ARRAY(9, x4[8])), java.lang.Object(ARRAY(x10[8], x11[8])), x8[8]) → COND_17877_0_POSSIBLEVALUES_ARRAYACCESS(&&(>=(x8[8], 0), <(x8[8], x10[8])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8])))), x2[8], x5[8], x6[8], x7[8], java.lang.Object(ARRAY(9, x4[8])), java.lang.Object(ARRAY(x10[8], x11[8])), x8[8]), COND_17877_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))), x2[9], x5[9], x6[9], x7[9], java.lang.Object(ARRAY(9, x4[9])), java.lang.Object(ARRAY(x10[9], x11[9])), x8[9]) → 18671_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))), x2[9], x5[9], x6[9], x7[9], x8[9], java.lang.Object(ARRAY(9, x4[9])), -(x12[9], 1)) which results in the following constraint:

    (152)    (java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7]))))=java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8]))))∧x2[7]=x2[8]x5[7]=x5[8]x6[7]=x6[8]x7[7]=x7[8]java.lang.Object(ARRAY(9, x4[7]))=java.lang.Object(ARRAY(9, x4[8]))∧java.lang.Object(ARRAY(x10[7], x11[7]))=java.lang.Object(ARRAY(x10[8], x11[8]))∧x8[7]=x8[8]&&(>=(x8[8], 0), <(x8[8], x10[8]))=TRUEjava.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8]))))=java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9]))))∧x2[8]=x2[9]x5[8]=x5[9]x6[8]=x6[9]x7[8]=x7[9]java.lang.Object(ARRAY(9, x4[8]))=java.lang.Object(ARRAY(9, x4[9]))∧java.lang.Object(ARRAY(x10[8], x11[8]))=java.lang.Object(ARRAY(x10[9], x11[9]))∧x8[8]=x8[9]COND_17877_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))), x2[9], x5[9], x6[9], x7[9], java.lang.Object(ARRAY(9, x4[9])), java.lang.Object(ARRAY(x10[9], x11[9])), x8[9])≥NonInfC∧COND_17877_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))), x2[9], x5[9], x6[9], x7[9], java.lang.Object(ARRAY(9, x4[9])), java.lang.Object(ARRAY(x10[9], x11[9])), x8[9])≥18671_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))), x2[9], x5[9], x6[9], x7[9], x8[9], java.lang.Object(ARRAY(9, x4[9])), -(x12[9], 1))∧(UIncreasing(18671_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))), x2[9], x5[9], x6[9], x7[9], x8[9], java.lang.Object(ARRAY(9, x4[9])), -(x12[9], 1))), ≥))



    We simplified constraint (152) using rules (I), (II), (III), (DELETE_TRIVIAL_REDUCESTO), (IDP_BOOLEAN) which results in the following new constraint:

    (153)    (>=(x8[8], 0)=TRUE<(x8[8], x10[8])=TRUECOND_17877_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], x5[7], x6[7], x7[7], java.lang.Object(ARRAY(9, x4[7])), java.lang.Object(ARRAY(x10[8], x11[7])), x8[8])≥NonInfC∧COND_17877_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], x5[7], x6[7], x7[7], java.lang.Object(ARRAY(9, x4[7])), java.lang.Object(ARRAY(x10[8], x11[7])), x8[8])≥18671_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], x5[7], x6[7], x7[7], x8[8], java.lang.Object(ARRAY(9, x4[7])), -(x12[9], 1))∧(UIncreasing(18671_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))), x2[9], x5[9], x6[9], x7[9], x8[9], java.lang.Object(ARRAY(9, x4[9])), -(x12[9], 1))), ≥))



    We simplified constraint (153) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (154)    (x8[8] ≥ 0∧x10[8] + [-1] + [-1]x8[8] ≥ 0 ⇒ (UIncreasing(18671_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))), x2[9], x5[9], x6[9], x7[9], x8[9], java.lang.Object(ARRAY(9, x4[9])), -(x12[9], 1))), ≥)∧[(-1)bni_52 + (-1)Bound*bni_52] + [(-1)bni_52]x7[7] + [bni_52]x5[7] ≥ 0∧[(-1)bso_53] ≥ 0)



    We simplified constraint (154) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (155)    (x8[8] ≥ 0∧x10[8] + [-1] + [-1]x8[8] ≥ 0 ⇒ (UIncreasing(18671_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))), x2[9], x5[9], x6[9], x7[9], x8[9], java.lang.Object(ARRAY(9, x4[9])), -(x12[9], 1))), ≥)∧[(-1)bni_52 + (-1)Bound*bni_52] + [(-1)bni_52]x7[7] + [bni_52]x5[7] ≥ 0∧[(-1)bso_53] ≥ 0)



    We simplified constraint (155) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (156)    (x8[8] ≥ 0∧x10[8] + [-1] + [-1]x8[8] ≥ 0 ⇒ (UIncreasing(18671_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))), x2[9], x5[9], x6[9], x7[9], x8[9], java.lang.Object(ARRAY(9, x4[9])), -(x12[9], 1))), ≥)∧[(-1)bni_52 + (-1)Bound*bni_52] + [(-1)bni_52]x7[7] + [bni_52]x5[7] ≥ 0∧[(-1)bso_53] ≥ 0)



    We simplified constraint (156) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (157)    (x8[8] ≥ 0∧x10[8] + [-1] + [-1]x8[8] ≥ 0 ⇒ (UIncreasing(18671_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))), x2[9], x5[9], x6[9], x7[9], x8[9], java.lang.Object(ARRAY(9, x4[9])), -(x12[9], 1))), ≥)∧0 = 0∧[(-1)bni_52] = 0∧0 = 0∧[bni_52] = 0∧0 = 0∧0 = 0∧[(-1)bni_52 + (-1)Bound*bni_52] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_53] ≥ 0)



    We simplified constraint (157) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (158)    (x8[8] ≥ 0∧x10[8] ≥ 0 ⇒ (UIncreasing(18671_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))), x2[9], x5[9], x6[9], x7[9], x8[9], java.lang.Object(ARRAY(9, x4[9])), -(x12[9], 1))), ≥)∧0 = 0∧[(-1)bni_52] = 0∧0 = 0∧[bni_52] = 0∧0 = 0∧0 = 0∧[(-1)bni_52 + (-1)Bound*bni_52] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_53] ≥ 0)







For Pair 16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, java.lang.Object(ARRAY(9, x4)), x5, x6, x7, x8, 0) → COND_16244_0_POSSIBLEVALUES_EQ1(>=(x8, 0), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, java.lang.Object(ARRAY(9, x4)), x5, x6, x7, x8, 0) the following chains were created:
  • We consider the chain 16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], x7[10], x8[10], 0) → COND_16244_0_POSSIBLEVALUES_EQ1(>=(x8[10], 0), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], x7[10], x8[10], 0), COND_16244_0_POSSIBLEVALUES_EQ1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x6[11], x7[11], x8[11], 0) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x7[11], +(x8[11], 1), x6[11]) which results in the following constraint:

    (159)    (>=(x8[10], 0)=TRUEjava.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10]))))=java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11]))))∧x2[10]=x2[11]java.lang.Object(ARRAY(9, x4[10]))=java.lang.Object(ARRAY(9, x4[11]))∧x5[10]=x5[11]x6[10]=x6[11]x7[10]=x7[11]x8[10]=x8[11]16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], x7[10], x8[10], 0)≥NonInfC∧16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], x7[10], x8[10], 0)≥COND_16244_0_POSSIBLEVALUES_EQ1(>=(x8[10], 0), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], x7[10], x8[10], 0)∧(UIncreasing(COND_16244_0_POSSIBLEVALUES_EQ1(>=(x8[10], 0), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], x7[10], x8[10], 0)), ≥))



    We simplified constraint (159) using rules (I), (II), (IV), (DELETE_TRIVIAL_REDUCESTO) which results in the following new constraint:

    (160)    (>=(x8[10], 0)=TRUE16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], x7[10], x8[10], 0)≥NonInfC∧16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], x7[10], x8[10], 0)≥COND_16244_0_POSSIBLEVALUES_EQ1(>=(x8[10], 0), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], x7[10], x8[10], 0)∧(UIncreasing(COND_16244_0_POSSIBLEVALUES_EQ1(>=(x8[10], 0), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], x7[10], x8[10], 0)), ≥))



    We simplified constraint (160) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (161)    (x8[10] ≥ 0 ⇒ (UIncreasing(COND_16244_0_POSSIBLEVALUES_EQ1(>=(x8[10], 0), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], x7[10], x8[10], 0)), ≥)∧[(-1)bni_54 + (-1)Bound*bni_54] + [(-1)bni_54]x7[10] + [bni_54]x5[10] ≥ 0∧[(-1)bso_55] ≥ 0)



    We simplified constraint (161) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (162)    (x8[10] ≥ 0 ⇒ (UIncreasing(COND_16244_0_POSSIBLEVALUES_EQ1(>=(x8[10], 0), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], x7[10], x8[10], 0)), ≥)∧[(-1)bni_54 + (-1)Bound*bni_54] + [(-1)bni_54]x7[10] + [bni_54]x5[10] ≥ 0∧[(-1)bso_55] ≥ 0)



    We simplified constraint (162) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (163)    (x8[10] ≥ 0 ⇒ (UIncreasing(COND_16244_0_POSSIBLEVALUES_EQ1(>=(x8[10], 0), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], x7[10], x8[10], 0)), ≥)∧[(-1)bni_54 + (-1)Bound*bni_54] + [(-1)bni_54]x7[10] + [bni_54]x5[10] ≥ 0∧[(-1)bso_55] ≥ 0)



    We simplified constraint (163) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (164)    (x8[10] ≥ 0 ⇒ (UIncreasing(COND_16244_0_POSSIBLEVALUES_EQ1(>=(x8[10], 0), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], x7[10], x8[10], 0)), ≥)∧0 = 0∧[(-1)bni_54] = 0∧[bni_54] = 0∧0 = 0∧0 = 0∧[(-1)bni_54 + (-1)Bound*bni_54] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)







For Pair COND_16244_0_POSSIBLEVALUES_EQ1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, java.lang.Object(ARRAY(9, x4)), x5, x6, x7, x8, 0) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, java.lang.Object(ARRAY(9, x4)), x5, x7, +(x8, 1), x6) the following chains were created:
  • We consider the chain COND_16122_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], i7432[1], java.lang.Object(ARRAY(i7594[1], a12877[1])), i7710[1]) → 16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], i7432[1], i7710[1], i7902[1]), 16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], x7[10], x8[10], 0) → COND_16244_0_POSSIBLEVALUES_EQ1(>=(x8[10], 0), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], x7[10], x8[10], 0), COND_16244_0_POSSIBLEVALUES_EQ1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x6[11], x7[11], x8[11], 0) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x7[11], +(x8[11], 1), x6[11]) which results in the following constraint:

    (165)    (java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1]))))=java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10]))))∧i7299[1]=x2[10]java.lang.Object(ARRAY(9, a12491[1]))=java.lang.Object(ARRAY(9, x4[10]))∧i2147[1]=x5[10]i2455[1]=x6[10]i7432[1]=x7[10]i7710[1]=x8[10]i7902[1]=0>=(x8[10], 0)=TRUEjava.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10]))))=java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11]))))∧x2[10]=x2[11]java.lang.Object(ARRAY(9, x4[10]))=java.lang.Object(ARRAY(9, x4[11]))∧x5[10]=x5[11]x6[10]=x6[11]x7[10]=x7[11]x8[10]=x8[11]COND_16244_0_POSSIBLEVALUES_EQ1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x6[11], x7[11], x8[11], 0)≥NonInfC∧COND_16244_0_POSSIBLEVALUES_EQ1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x6[11], x7[11], x8[11], 0)≥15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x7[11], +(x8[11], 1), x6[11])∧(UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x7[11], +(x8[11], 1), x6[11])), ≥))



    We simplified constraint (165) using rules (I), (II), (III), (DELETE_TRIVIAL_REDUCESTO) which results in the following new constraint:

    (166)    (>=(x8[10], 0)=TRUECOND_16244_0_POSSIBLEVALUES_EQ1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], i7432[1], x8[10], 0)≥NonInfC∧COND_16244_0_POSSIBLEVALUES_EQ1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], i7432[1], x8[10], 0)≥15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i7432[1], +(x8[10], 1), i2455[1])∧(UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x7[11], +(x8[11], 1), x6[11])), ≥))



    We simplified constraint (166) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (167)    (x8[10] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x7[11], +(x8[11], 1), x6[11])), ≥)∧[(-1)bni_56 + (-1)Bound*bni_56] + [(-1)bni_56]i7432[1] + [bni_56]i2147[1] ≥ 0∧[(-1)bso_57] ≥ 0)



    We simplified constraint (167) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (168)    (x8[10] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x7[11], +(x8[11], 1), x6[11])), ≥)∧[(-1)bni_56 + (-1)Bound*bni_56] + [(-1)bni_56]i7432[1] + [bni_56]i2147[1] ≥ 0∧[(-1)bso_57] ≥ 0)



    We simplified constraint (168) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (169)    (x8[10] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x7[11], +(x8[11], 1), x6[11])), ≥)∧[(-1)bni_56 + (-1)Bound*bni_56] + [(-1)bni_56]i7432[1] + [bni_56]i2147[1] ≥ 0∧[(-1)bso_57] ≥ 0)



    We simplified constraint (169) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (170)    (x8[10] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x7[11], +(x8[11], 1), x6[11])), ≥)∧[(-1)bni_56] = 0∧0 = 0∧[bni_56] = 0∧0 = 0∧0 = 0∧[(-1)bni_56 + (-1)Bound*bni_56] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_57] ≥ 0)







For Pair 18671_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, x5, x6, x7, x8, java.lang.Object(ARRAY(9, x4)), x10) → COND_18671_0_POSSIBLEVALUES_ARRAYACCESS(&&(&&(>=(x8, 0), >=(x10, 0)), <=(x10, 8)), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, x5, x6, x7, x8, java.lang.Object(ARRAY(9, x4)), x10) the following chains were created:
  • We consider the chain 18671_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12])))), x2[12], x5[12], x6[12], x7[12], x8[12], java.lang.Object(ARRAY(9, x4[12])), x10[12]) → COND_18671_0_POSSIBLEVALUES_ARRAYACCESS(&&(&&(>=(x8[12], 0), >=(x10[12], 0)), <=(x10[12], 8)), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12])))), x2[12], x5[12], x6[12], x7[12], x8[12], java.lang.Object(ARRAY(9, x4[12])), x10[12]), COND_18671_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))), x2[13], x5[13], x6[13], x7[13], x8[13], java.lang.Object(ARRAY(9, x4[13])), x10[13]) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))), x2[13], java.lang.Object(ARRAY(9, x4[13])), x5[13], x7[13], +(x8[13], 1), x6[13]) which results in the following constraint:

    (171)    (&&(&&(>=(x8[12], 0), >=(x10[12], 0)), <=(x10[12], 8))=TRUEjava.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12]))))=java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13]))))∧x2[12]=x2[13]x5[12]=x5[13]x6[12]=x6[13]x7[12]=x7[13]x8[12]=x8[13]java.lang.Object(ARRAY(9, x4[12]))=java.lang.Object(ARRAY(9, x4[13]))∧x10[12]=x10[13]18671_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12])))), x2[12], x5[12], x6[12], x7[12], x8[12], java.lang.Object(ARRAY(9, x4[12])), x10[12])≥NonInfC∧18671_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12])))), x2[12], x5[12], x6[12], x7[12], x8[12], java.lang.Object(ARRAY(9, x4[12])), x10[12])≥COND_18671_0_POSSIBLEVALUES_ARRAYACCESS(&&(&&(>=(x8[12], 0), >=(x10[12], 0)), <=(x10[12], 8)), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12])))), x2[12], x5[12], x6[12], x7[12], x8[12], java.lang.Object(ARRAY(9, x4[12])), x10[12])∧(UIncreasing(COND_18671_0_POSSIBLEVALUES_ARRAYACCESS(&&(&&(>=(x8[12], 0), >=(x10[12], 0)), <=(x10[12], 8)), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12])))), x2[12], x5[12], x6[12], x7[12], x8[12], java.lang.Object(ARRAY(9, x4[12])), x10[12])), ≥))



    We simplified constraint (171) using rules (I), (II), (IV), (DELETE_TRIVIAL_REDUCESTO), (IDP_BOOLEAN) which results in the following new constraint:

    (172)    (<=(x10[12], 8)=TRUE>=(x8[12], 0)=TRUE>=(x10[12], 0)=TRUE18671_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12])))), x2[12], x5[12], x6[12], x7[12], x8[12], java.lang.Object(ARRAY(9, x4[12])), x10[12])≥NonInfC∧18671_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12])))), x2[12], x5[12], x6[12], x7[12], x8[12], java.lang.Object(ARRAY(9, x4[12])), x10[12])≥COND_18671_0_POSSIBLEVALUES_ARRAYACCESS(&&(&&(>=(x8[12], 0), >=(x10[12], 0)), <=(x10[12], 8)), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12])))), x2[12], x5[12], x6[12], x7[12], x8[12], java.lang.Object(ARRAY(9, x4[12])), x10[12])∧(UIncreasing(COND_18671_0_POSSIBLEVALUES_ARRAYACCESS(&&(&&(>=(x8[12], 0), >=(x10[12], 0)), <=(x10[12], 8)), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12])))), x2[12], x5[12], x6[12], x7[12], x8[12], java.lang.Object(ARRAY(9, x4[12])), x10[12])), ≥))



    We simplified constraint (172) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (173)    ([8] + [-1]x10[12] ≥ 0∧x8[12] ≥ 0∧x10[12] ≥ 0 ⇒ (UIncreasing(COND_18671_0_POSSIBLEVALUES_ARRAYACCESS(&&(&&(>=(x8[12], 0), >=(x10[12], 0)), <=(x10[12], 8)), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12])))), x2[12], x5[12], x6[12], x7[12], x8[12], java.lang.Object(ARRAY(9, x4[12])), x10[12])), ≥)∧[(-1)bni_58 + (-1)Bound*bni_58] + [(-1)bni_58]x7[12] + [bni_58]x5[12] ≥ 0∧[(-1)bso_59] ≥ 0)



    We simplified constraint (173) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (174)    ([8] + [-1]x10[12] ≥ 0∧x8[12] ≥ 0∧x10[12] ≥ 0 ⇒ (UIncreasing(COND_18671_0_POSSIBLEVALUES_ARRAYACCESS(&&(&&(>=(x8[12], 0), >=(x10[12], 0)), <=(x10[12], 8)), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12])))), x2[12], x5[12], x6[12], x7[12], x8[12], java.lang.Object(ARRAY(9, x4[12])), x10[12])), ≥)∧[(-1)bni_58 + (-1)Bound*bni_58] + [(-1)bni_58]x7[12] + [bni_58]x5[12] ≥ 0∧[(-1)bso_59] ≥ 0)



    We simplified constraint (174) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (175)    ([8] + [-1]x10[12] ≥ 0∧x8[12] ≥ 0∧x10[12] ≥ 0 ⇒ (UIncreasing(COND_18671_0_POSSIBLEVALUES_ARRAYACCESS(&&(&&(>=(x8[12], 0), >=(x10[12], 0)), <=(x10[12], 8)), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12])))), x2[12], x5[12], x6[12], x7[12], x8[12], java.lang.Object(ARRAY(9, x4[12])), x10[12])), ≥)∧[(-1)bni_58 + (-1)Bound*bni_58] + [(-1)bni_58]x7[12] + [bni_58]x5[12] ≥ 0∧[(-1)bso_59] ≥ 0)



    We simplified constraint (175) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (176)    ([8] + [-1]x10[12] ≥ 0∧x8[12] ≥ 0∧x10[12] ≥ 0 ⇒ (UIncreasing(COND_18671_0_POSSIBLEVALUES_ARRAYACCESS(&&(&&(>=(x8[12], 0), >=(x10[12], 0)), <=(x10[12], 8)), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12])))), x2[12], x5[12], x6[12], x7[12], x8[12], java.lang.Object(ARRAY(9, x4[12])), x10[12])), ≥)∧[(-1)bni_58] = 0∧0 = 0∧[bni_58] = 0∧0 = 0∧0 = 0∧[(-1)bni_58 + (-1)Bound*bni_58] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_59] ≥ 0)







For Pair COND_18671_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, x5, x6, x7, x8, java.lang.Object(ARRAY(9, x4)), x10) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, java.lang.Object(ARRAY(9, x4)), x5, x7, +(x8, 1), x6) the following chains were created:
  • We consider the chain COND_17877_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))), x2[9], x5[9], x6[9], x7[9], java.lang.Object(ARRAY(9, x4[9])), java.lang.Object(ARRAY(x10[9], x11[9])), x8[9]) → 18671_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))), x2[9], x5[9], x6[9], x7[9], x8[9], java.lang.Object(ARRAY(9, x4[9])), -(x12[9], 1)), 18671_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12])))), x2[12], x5[12], x6[12], x7[12], x8[12], java.lang.Object(ARRAY(9, x4[12])), x10[12]) → COND_18671_0_POSSIBLEVALUES_ARRAYACCESS(&&(&&(>=(x8[12], 0), >=(x10[12], 0)), <=(x10[12], 8)), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12])))), x2[12], x5[12], x6[12], x7[12], x8[12], java.lang.Object(ARRAY(9, x4[12])), x10[12]), COND_18671_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))), x2[13], x5[13], x6[13], x7[13], x8[13], java.lang.Object(ARRAY(9, x4[13])), x10[13]) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))), x2[13], java.lang.Object(ARRAY(9, x4[13])), x5[13], x7[13], +(x8[13], 1), x6[13]) which results in the following constraint:

    (177)    (java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9]))))=java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12]))))∧x2[9]=x2[12]x5[9]=x5[12]x6[9]=x6[12]x7[9]=x7[12]x8[9]=x8[12]java.lang.Object(ARRAY(9, x4[9]))=java.lang.Object(ARRAY(9, x4[12]))∧-(x12[9], 1)=x10[12]&&(&&(>=(x8[12], 0), >=(x10[12], 0)), <=(x10[12], 8))=TRUEjava.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12]))))=java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13]))))∧x2[12]=x2[13]x5[12]=x5[13]x6[12]=x6[13]x7[12]=x7[13]x8[12]=x8[13]java.lang.Object(ARRAY(9, x4[12]))=java.lang.Object(ARRAY(9, x4[13]))∧x10[12]=x10[13]COND_18671_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))), x2[13], x5[13], x6[13], x7[13], x8[13], java.lang.Object(ARRAY(9, x4[13])), x10[13])≥NonInfC∧COND_18671_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))), x2[13], x5[13], x6[13], x7[13], x8[13], java.lang.Object(ARRAY(9, x4[13])), x10[13])≥15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))), x2[13], java.lang.Object(ARRAY(9, x4[13])), x5[13], x7[13], +(x8[13], 1), x6[13])∧(UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))), x2[13], java.lang.Object(ARRAY(9, x4[13])), x5[13], x7[13], +(x8[13], 1), x6[13])), ≥))



    We simplified constraint (177) using rules (I), (II), (III), (DELETE_TRIVIAL_REDUCESTO), (IDP_BOOLEAN) which results in the following new constraint:

    (178)    (<=(-(x12[9], 1), 8)=TRUE>=(x8[12], 0)=TRUE>=(-(x12[9], 1), 0)=TRUECOND_18671_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))), x2[9], x5[9], x6[9], x7[9], x8[12], java.lang.Object(ARRAY(9, x4[9])), -(x12[9], 1))≥NonInfC∧COND_18671_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))), x2[9], x5[9], x6[9], x7[9], x8[12], java.lang.Object(ARRAY(9, x4[9])), -(x12[9], 1))≥15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))), x2[9], java.lang.Object(ARRAY(9, x4[9])), x5[9], x7[9], +(x8[12], 1), x6[9])∧(UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))), x2[13], java.lang.Object(ARRAY(9, x4[13])), x5[13], x7[13], +(x8[13], 1), x6[13])), ≥))



    We simplified constraint (178) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (179)    ([9] + [-1]x12[9] ≥ 0∧x8[12] ≥ 0∧x12[9] + [-1] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))), x2[13], java.lang.Object(ARRAY(9, x4[13])), x5[13], x7[13], +(x8[13], 1), x6[13])), ≥)∧[(-1)bni_60 + (-1)Bound*bni_60] + [(-1)bni_60]x7[9] + [bni_60]x5[9] ≥ 0∧[(-1)bso_61] ≥ 0)



    We simplified constraint (179) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (180)    ([9] + [-1]x12[9] ≥ 0∧x8[12] ≥ 0∧x12[9] + [-1] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))), x2[13], java.lang.Object(ARRAY(9, x4[13])), x5[13], x7[13], +(x8[13], 1), x6[13])), ≥)∧[(-1)bni_60 + (-1)Bound*bni_60] + [(-1)bni_60]x7[9] + [bni_60]x5[9] ≥ 0∧[(-1)bso_61] ≥ 0)



    We simplified constraint (180) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (181)    ([9] + [-1]x12[9] ≥ 0∧x8[12] ≥ 0∧x12[9] + [-1] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))), x2[13], java.lang.Object(ARRAY(9, x4[13])), x5[13], x7[13], +(x8[13], 1), x6[13])), ≥)∧[(-1)bni_60 + (-1)Bound*bni_60] + [(-1)bni_60]x7[9] + [bni_60]x5[9] ≥ 0∧[(-1)bso_61] ≥ 0)



    We simplified constraint (181) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (182)    ([9] + [-1]x12[9] ≥ 0∧x8[12] ≥ 0∧x12[9] + [-1] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))), x2[13], java.lang.Object(ARRAY(9, x4[13])), x5[13], x7[13], +(x8[13], 1), x6[13])), ≥)∧[(-1)bni_60] = 0∧0 = 0∧[bni_60] = 0∧0 = 0∧0 = 0∧[(-1)bni_60 + (-1)Bound*bni_60] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_61] ≥ 0)



    We simplified constraint (182) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (183)    ([8] + [-1]x12[9] ≥ 0∧x8[12] ≥ 0∧x12[9] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))), x2[13], java.lang.Object(ARRAY(9, x4[13])), x5[13], x7[13], +(x8[13], 1), x6[13])), ≥)∧[(-1)bni_60] = 0∧0 = 0∧[bni_60] = 0∧0 = 0∧0 = 0∧[(-1)bni_60 + (-1)Bound*bni_60] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_61] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • 16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430, a12669)))), i7299, java.lang.Object(ARRAY(9, a12491)), i2147, i2455, i7432, java.lang.Object(ARRAY(i7594, a12877)), i7710) → COND_16122_0_POSSIBLEVALUES_ARRAYACCESS(&&(>=(i7710, 0), <(i7710, i7594)), java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430, a12669)))), i7299, java.lang.Object(ARRAY(9, a12491)), i2147, i2455, i7432, java.lang.Object(ARRAY(i7594, a12877)), i7710)
    • (i7710[0] ≥ 0∧i7594[0] ≥ 0 ⇒ (UIncreasing(COND_16122_0_POSSIBLEVALUES_ARRAYACCESS(&&(>=(i7710[0], 0), <(i7710[0], i7594[0])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0])))), i7299[0], java.lang.Object(ARRAY(9, a12491[0])), i2147[0], i2455[0], i7432[0], java.lang.Object(ARRAY(i7594[0], a12877[0])), i7710[0])), ≥)∧0 = 0∧0 = 0∧[(-1)bni_34] = 0∧[bni_34] = 0∧0 = 0∧0 = 0∧[(-1)bni_34 + (-1)Bound*bni_34] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_35] ≥ 0)

  • COND_16122_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430, a12669)))), i7299, java.lang.Object(ARRAY(9, a12491)), i2147, i2455, i7432, java.lang.Object(ARRAY(i7594, a12877)), i7710) → 16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430, a12669)))), i7299, java.lang.Object(ARRAY(9, a12491)), i2147, i2455, i7432, i7710, i7902)
    • (i7710[0] ≥ 0∧i7594[0] ≥ 0 ⇒ (UIncreasing(16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], i7432[1], i7710[1], i7902[1])), ≥)∧0 = 0∧0 = 0∧[(-1)bni_36] = 0∧[bni_36] = 0∧0 = 0∧0 = 0∧[(-1)bni_36 + (-1)Bound*bni_36] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_37] ≥ 0)

  • 15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0), x1, java.lang.Object(ARRAY(9, x3)), x4, x6, x7, x5) → COND_15748_0_POSSIBLEVALUES_GE(&&(>=(x7, x5), >(x4, +(x6, 1))), java.lang.Object(x0), x1, java.lang.Object(ARRAY(9, x3)), x4, x6, x7, x5)
    • (x7[2] ≥ 0∧x4[2] ≥ 0∧x5[2] ≥ 0∧x6[2] ≥ 0 ⇒ (UIncreasing(COND_15748_0_POSSIBLEVALUES_GE(&&(>=(x7[2], x5[2]), >(x4[2], +(x6[2], 1))), java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2])), ≥)∧0 = 0∧[bni_38 + (-1)Bound*bni_38] + [bni_38]x4[2] ≥ 0∧0 = 0∧[(-1)bso_39] ≥ 0)
    • (x7[2] ≥ 0∧x4[2] ≥ 0∧x5[2] ≥ 0∧x6[2] ≥ 0 ⇒ (UIncreasing(COND_15748_0_POSSIBLEVALUES_GE(&&(>=(x7[2], x5[2]), >(x4[2], +(x6[2], 1))), java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2])), ≥)∧0 = 0∧[bni_38 + (-1)Bound*bni_38] + [bni_38]x4[2] ≥ 0∧0 = 0∧[(-1)bso_39] ≥ 0)
    • (x7[2] ≥ 0∧x4[2] ≥ 0∧x5[2] ≥ 0∧x6[2] ≥ 0 ⇒ (UIncreasing(COND_15748_0_POSSIBLEVALUES_GE(&&(>=(x7[2], x5[2]), >(x4[2], +(x6[2], 1))), java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2])), ≥)∧0 = 0∧[bni_38 + (-1)Bound*bni_38] + [bni_38]x4[2] ≥ 0∧0 = 0∧[(-1)bso_39] ≥ 0)
    • (x7[2] ≥ 0∧x4[2] ≥ 0∧x5[2] ≥ 0∧x6[2] ≥ 0 ⇒ (UIncreasing(COND_15748_0_POSSIBLEVALUES_GE(&&(>=(x7[2], x5[2]), >(x4[2], +(x6[2], 1))), java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2])), ≥)∧0 = 0∧[bni_38 + (-1)Bound*bni_38] + [bni_38]x4[2] ≥ 0∧0 = 0∧[(-1)bso_39] ≥ 0)

  • COND_15748_0_POSSIBLEVALUES_GE(TRUE, java.lang.Object(x0), x1, java.lang.Object(ARRAY(9, x3)), x4, x6, x7, x5) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0), x1, java.lang.Object(ARRAY(9, x3)), x4, +(x6, 1), x1, x5)
    • (x7[2] ≥ 0∧x4[2] ≥ 0∧x5[2] ≥ 0∧x6[3] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]1), x1[3]1, java.lang.Object(ARRAY(9, x3[3]1)), x4[3]1, +(x6[3]1, 1), x1[3]1, x5[3]1)), ≥)∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x4[2] ≥ 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)
    • (x7[2] ≥ 0∧x4[2] ≥ 0∧x5[2] ≥ 0∧x6[3] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]1), x1[3]1, java.lang.Object(ARRAY(9, x3[3]1)), x4[3]1, +(x6[3]1, 1), x1[3]1, x5[3]1)), ≥)∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x4[2] ≥ 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)
    • (x7[2] ≥ 0∧x4[2] ≥ 0∧x5[2] ≥ 0∧x6[3] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]1), x1[3]1, java.lang.Object(ARRAY(9, x3[3]1)), x4[3]1, +(x6[3]1, 1), x1[3]1, x5[3]1)), ≥)∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x4[2] ≥ 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)
    • (x7[2] ≥ 0∧x4[2] ≥ 0∧x5[2] ≥ 0∧x6[3] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]1), x1[3]1, java.lang.Object(ARRAY(9, x3[3]1)), x4[3]1, +(x6[3]1, 1), x1[3]1, x5[3]1)), ≥)∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x4[2] ≥ 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)
    • (x5[2] ≥ 0∧x4[2] ≥ 0∧x8[11] ≥ 0∧x6[2] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥)∧0 = 0∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x4[2] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)
    • (x5[2] ≥ 0∧x4[2] ≥ 0∧x8[11] ≥ 0∧x6[2] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥)∧0 = 0∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x4[2] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)
    • (x5[2] ≥ 0∧x4[2] ≥ 0∧x8[11] ≥ 0∧x6[2] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥)∧0 = 0∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x4[2] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)
    • (x5[2] ≥ 0∧x4[2] ≥ 0∧x8[11] ≥ 0∧x6[2] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥)∧0 = 0∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x4[2] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)
    • (x5[2] ≥ 0∧x4[2] ≥ 0∧x8[13] ≥ 0∧x6[2] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥)∧0 = 0∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x4[2] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)
    • (x5[2] ≥ 0∧x4[2] ≥ 0∧x8[13] ≥ 0∧x6[2] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥)∧0 = 0∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x4[2] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)
    • (x5[2] ≥ 0∧x4[2] ≥ 0∧x8[13] ≥ 0∧x6[2] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥)∧0 = 0∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x4[2] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)
    • (x5[2] ≥ 0∧x4[2] ≥ 0∧x8[13] ≥ 0∧x6[2] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])), ≥)∧0 = 0∧0 = 0∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x4[2] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)

  • 15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, java.lang.Object(ARRAY(9, x4)), x5, x7, x8, x6) → COND_15748_0_POSSIBLEVALUES_GE1(&&(&&(<(x8, x6), >=(x7, 0)), <(x7, x0)), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, java.lang.Object(ARRAY(9, x4)), x5, x7, x8, x6)
    • (x0[4] ≥ 0∧x6[4] ≥ 0∧x7[4] ≥ 0∧x8[4] ≥ 0 ⇒ (UIncreasing(COND_15748_0_POSSIBLEVALUES_GE1(&&(&&(<(x8[4], x6[4]), >=(x7[4], 0)), <(x7[4], x0[4])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4])), ≥)∧[bni_42] = 0∧0 = 0∧[(-1)bni_42 + (-1)Bound*bni_42] + [(-1)bni_42]x7[4] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_43] ≥ 0)
    • (x0[4] ≥ 0∧x6[4] ≥ 0∧x7[4] ≥ 0∧x8[4] ≥ 0 ⇒ (UIncreasing(COND_15748_0_POSSIBLEVALUES_GE1(&&(&&(<(x8[4], x6[4]), >=(x7[4], 0)), <(x7[4], x0[4])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4])), ≥)∧[bni_42] = 0∧0 = 0∧[(-1)bni_42 + (-1)Bound*bni_42] + [(-1)bni_42]x7[4] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_43] ≥ 0)

  • COND_15748_0_POSSIBLEVALUES_GE1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, java.lang.Object(ARRAY(9, x4)), x5, x7, x8, x6) → 16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, java.lang.Object(ARRAY(9, x4)), x5, x6, x7, java.lang.Object(ARRAY(x9, x10)), x8)
    • (x0[4] ≥ 0∧x6[4] ≥ 0∧x6[3] + [1] ≥ 0∧x6[3] ≥ 0∧x8[4] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[bni_44] = 0∧0 = 0∧[(-2)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x6[3] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)
    • (x0[4] ≥ 0∧x6[4] ≥ 0∧x6[3] + [1] ≥ 0∧x6[3] ≥ 0∧x8[4] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[bni_44] = 0∧0 = 0∧[(-2)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x6[3] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)
    • (x0[4] ≥ 0∧x6[4] ≥ 0∧[-1]x6[3] + [1] ≥ 0∧x6[3] ≥ 0∧x8[4] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[bni_44] = 0∧0 = 0∧[(-2)bni_44 + (-1)Bound*bni_44] + [bni_44]x6[3] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)
    • (x0[4] ≥ 0∧x6[4] ≥ 0∧[-1]x6[3] + [1] ≥ 0∧x6[3] ≥ 0∧x8[4] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[bni_44] = 0∧0 = 0∧[(-2)bni_44 + (-1)Bound*bni_44] + [bni_44]x6[3] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)
    • (x0[4] ≥ 0∧x6[4] ≥ 0∧x7[4] ≥ 0∧x8[11] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[bni_44] = 0∧0 = 0∧[(-1)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x7[4] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)
    • (x0[4] ≥ 0∧x6[4] ≥ 0∧x7[4] ≥ 0∧x8[11] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[bni_44] = 0∧0 = 0∧[(-1)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x7[4] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)
    • (x0[4] ≥ 0∧x6[4] ≥ 0∧x7[4] ≥ 0∧x8[13] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[bni_44] = 0∧0 = 0∧[(-1)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x7[4] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)
    • (x0[4] ≥ 0∧x6[4] ≥ 0∧x7[4] ≥ 0∧x8[13] ≥ 0 ⇒ (UIncreasing(16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])), ≥)∧[bni_44] = 0∧0 = 0∧[(-1)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x7[4] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_45] ≥ 0)

  • 16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, java.lang.Object(ARRAY(9, x4)), x5, x6, x7, x8, x9) → COND_16244_0_POSSIBLEVALUES_EQ(&&(&&(!(=(x9, 0)), >=(x7, 0)), <(x7, x0)), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, java.lang.Object(ARRAY(9, x4)), x5, x6, x7, x8, x9)
    • (x0[6] ≥ 0∧x7[6] ≥ 0∧x9[6] ≥ 0 ⇒ (UIncreasing(COND_16244_0_POSSIBLEVALUES_EQ(&&(&&(!(=(x9[6], 0)), >=(x7[6], 0)), <(x7[6], x0[6])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6])), ≥)∧0 = 0∧0 = 0∧[bni_46] = 0∧0 = 0∧[(-1)bni_46 + (-1)Bound*bni_46] + [(-1)bni_46]x7[6] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_47] ≥ 0)
    • (x0[6] ≥ 0∧x7[6] ≥ 0∧x9[6] ≥ 0 ⇒ (UIncreasing(COND_16244_0_POSSIBLEVALUES_EQ(&&(&&(!(=(x9[6], 0)), >=(x7[6], 0)), <(x7[6], x0[6])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6])), ≥)∧0 = 0∧0 = 0∧[bni_46] = 0∧0 = 0∧[(-1)bni_46 + (-1)Bound*bni_46] + [(-1)bni_46]x7[6] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_47] ≥ 0)

  • COND_16244_0_POSSIBLEVALUES_EQ(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, java.lang.Object(ARRAY(9, x4)), x5, x6, x7, x8, x9) → 17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, x5, x6, x7, java.lang.Object(ARRAY(9, x4)), java.lang.Object(ARRAY(x10, x11)), x8)
    • (x0[6] ≥ 0∧x7[6] ≥ 0∧x9[6] ≥ 0 ⇒ (UIncreasing(17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], x5[7], x6[7], x7[7], java.lang.Object(ARRAY(9, x4[7])), java.lang.Object(ARRAY(x10[7], x11[7])), x8[7])), ≥)∧0 = 0∧0 = 0∧[bni_48] = 0∧0 = 0∧[(-1)bni_48 + (-1)Bound*bni_48] + [(-1)bni_48]x7[6] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)
    • (x0[6] ≥ 0∧x7[6] ≥ 0∧x9[6] ≥ 0 ⇒ (UIncreasing(17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], x5[7], x6[7], x7[7], java.lang.Object(ARRAY(9, x4[7])), java.lang.Object(ARRAY(x10[7], x11[7])), x8[7])), ≥)∧0 = 0∧0 = 0∧[bni_48] = 0∧0 = 0∧[(-1)bni_48 + (-1)Bound*bni_48] + [(-1)bni_48]x7[6] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_49] ≥ 0)

  • 17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, x5, x6, x7, java.lang.Object(ARRAY(9, x4)), java.lang.Object(ARRAY(x10, x11)), x8) → COND_17877_0_POSSIBLEVALUES_ARRAYACCESS(&&(>=(x8, 0), <(x8, x10)), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, x5, x6, x7, java.lang.Object(ARRAY(9, x4)), java.lang.Object(ARRAY(x10, x11)), x8)
    • (x8[8] ≥ 0∧x10[8] ≥ 0 ⇒ (UIncreasing(COND_17877_0_POSSIBLEVALUES_ARRAYACCESS(&&(>=(x8[8], 0), <(x8[8], x10[8])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8])))), x2[8], x5[8], x6[8], x7[8], java.lang.Object(ARRAY(9, x4[8])), java.lang.Object(ARRAY(x10[8], x11[8])), x8[8])), ≥)∧0 = 0∧[(-1)bni_50] = 0∧0 = 0∧[bni_50] = 0∧0 = 0∧0 = 0∧[(-1)bni_50 + (-1)Bound*bni_50] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_51] ≥ 0)

  • COND_17877_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, x5, x6, x7, java.lang.Object(ARRAY(9, x4)), java.lang.Object(ARRAY(x10, x11)), x8) → 18671_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, x5, x6, x7, x8, java.lang.Object(ARRAY(9, x4)), -(x12, 1))
    • (x8[8] ≥ 0∧x10[8] ≥ 0 ⇒ (UIncreasing(18671_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))), x2[9], x5[9], x6[9], x7[9], x8[9], java.lang.Object(ARRAY(9, x4[9])), -(x12[9], 1))), ≥)∧0 = 0∧[(-1)bni_52] = 0∧0 = 0∧[bni_52] = 0∧0 = 0∧0 = 0∧[(-1)bni_52 + (-1)Bound*bni_52] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_53] ≥ 0)

  • 16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, java.lang.Object(ARRAY(9, x4)), x5, x6, x7, x8, 0) → COND_16244_0_POSSIBLEVALUES_EQ1(>=(x8, 0), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, java.lang.Object(ARRAY(9, x4)), x5, x6, x7, x8, 0)
    • (x8[10] ≥ 0 ⇒ (UIncreasing(COND_16244_0_POSSIBLEVALUES_EQ1(>=(x8[10], 0), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], x7[10], x8[10], 0)), ≥)∧0 = 0∧[(-1)bni_54] = 0∧[bni_54] = 0∧0 = 0∧0 = 0∧[(-1)bni_54 + (-1)Bound*bni_54] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)

  • COND_16244_0_POSSIBLEVALUES_EQ1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, java.lang.Object(ARRAY(9, x4)), x5, x6, x7, x8, 0) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, java.lang.Object(ARRAY(9, x4)), x5, x7, +(x8, 1), x6)
    • (x8[10] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x7[11], +(x8[11], 1), x6[11])), ≥)∧[(-1)bni_56] = 0∧0 = 0∧[bni_56] = 0∧0 = 0∧0 = 0∧[(-1)bni_56 + (-1)Bound*bni_56] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_57] ≥ 0)

  • 18671_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, x5, x6, x7, x8, java.lang.Object(ARRAY(9, x4)), x10) → COND_18671_0_POSSIBLEVALUES_ARRAYACCESS(&&(&&(>=(x8, 0), >=(x10, 0)), <=(x10, 8)), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, x5, x6, x7, x8, java.lang.Object(ARRAY(9, x4)), x10)
    • ([8] + [-1]x10[12] ≥ 0∧x8[12] ≥ 0∧x10[12] ≥ 0 ⇒ (UIncreasing(COND_18671_0_POSSIBLEVALUES_ARRAYACCESS(&&(&&(>=(x8[12], 0), >=(x10[12], 0)), <=(x10[12], 8)), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12])))), x2[12], x5[12], x6[12], x7[12], x8[12], java.lang.Object(ARRAY(9, x4[12])), x10[12])), ≥)∧[(-1)bni_58] = 0∧0 = 0∧[bni_58] = 0∧0 = 0∧0 = 0∧[(-1)bni_58 + (-1)Bound*bni_58] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_59] ≥ 0)

  • COND_18671_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, x5, x6, x7, x8, java.lang.Object(ARRAY(9, x4)), x10) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0, x1)))), x2, java.lang.Object(ARRAY(9, x4)), x5, x7, +(x8, 1), x6)
    • ([8] + [-1]x12[9] ≥ 0∧x8[12] ≥ 0∧x12[9] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))), x2[13], java.lang.Object(ARRAY(9, x4[13])), x5[13], x7[13], +(x8[13], 1), x6[13])), ≥)∧[(-1)bni_60] = 0∧0 = 0∧[bni_60] = 0∧0 = 0∧0 = 0∧[(-1)bni_60 + (-1)Bound*bni_60] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_61] ≥ 0)




The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(TRUE) = 0   
POL(FALSE) = 0   
POL(16122_0_POSSIBLEVALUES_ARRAYACCESS(x1, x2, x3, x4, x5, x6, x7, x8)) = [-1] + [-1]x7 + [-1]x6 + x4   
POL(java.lang.Object(x1)) = x1   
POL(Sudoku(x1)) = x1   
POL(ARRAY(x1, x2)) = 0   
POL(9) = [9]   
POL(COND_16122_0_POSSIBLEVALUES_ARRAYACCESS(x1, x2, x3, x4, x5, x6, x7, x8, x9)) = [-1] + [-1]x8 + [-1]x7 + x5   
POL(&&(x1, x2)) = [-1]   
POL(>=(x1, x2)) = [-1]   
POL(0) = 0   
POL(<(x1, x2)) = [-1]   
POL(16244_0_POSSIBLEVALUES_EQ(x1, x2, x3, x4, x5, x6, x7, x8)) = [-1] + [-1]x6 + x4   
POL(15748_0_POSSIBLEVALUES_GE(x1, x2, x3, x4, x5, x6, x7)) = [-1] + [-1]x5 + x4   
POL(COND_15748_0_POSSIBLEVALUES_GE(x1, x2, x3, x4, x5, x6, x7, x8)) = [-1] + [-1]x6 + x5   
POL(>(x1, x2)) = [-1]   
POL(+(x1, x2)) = x1 + x2   
POL(1) = [1]   
POL(COND_15748_0_POSSIBLEVALUES_GE1(x1, x2, x3, x4, x5, x6, x7, x8)) = [-1] + [-1]x6 + x5   
POL(COND_16244_0_POSSIBLEVALUES_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9)) = [-1] + [-1]x7 + x5   
POL(!(x1)) = [-1]   
POL(=(x1, x2)) = [-1]   
POL(17877_0_POSSIBLEVALUES_ARRAYACCESS(x1, x2, x3, x4, x5, x6, x7, x8)) = [-1] + [-1]x7 + [-1]x5 + x3   
POL(COND_17877_0_POSSIBLEVALUES_ARRAYACCESS(x1, x2, x3, x4, x5, x6, x7, x8, x9)) = [-1] + [-1]x8 + [-1]x6 + x4   
POL(18671_0_POSSIBLEVALUES_ARRAYACCESS(x1, x2, x3, x4, x5, x6, x7, x8)) = [-1] + [-1]x5 + x3   
POL(-(x1, x2)) = x1 + [-1]x2   
POL(COND_16244_0_POSSIBLEVALUES_EQ1(x1, x2, x3, x4, x5, x6, x7, x8, x9)) = [-1] + [-1]x7 + x5   
POL(COND_18671_0_POSSIBLEVALUES_ARRAYACCESS(x1, x2, x3, x4, x5, x6, x7, x8, x9)) = [-1] + [-1]x6 + x4   
POL(<=(x1, x2)) = [-1]   
POL(8) = [8]   

The following pairs are in P>:

COND_15748_0_POSSIBLEVALUES_GE(TRUE, java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], x6[3], x7[3], x5[3]) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])

The following pairs are in Pbound:

15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2]) → COND_15748_0_POSSIBLEVALUES_GE(&&(>=(x7[2], x5[2]), >(x4[2], +(x6[2], 1))), java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2])
COND_15748_0_POSSIBLEVALUES_GE(TRUE, java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], x6[3], x7[3], x5[3]) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[3]), x1[3], java.lang.Object(ARRAY(9, x3[3])), x4[3], +(x6[3], 1), x1[3], x5[3])

The following pairs are in P:

16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0])))), i7299[0], java.lang.Object(ARRAY(9, a12491[0])), i2147[0], i2455[0], i7432[0], java.lang.Object(ARRAY(i7594[0], a12877[0])), i7710[0]) → COND_16122_0_POSSIBLEVALUES_ARRAYACCESS(&&(>=(i7710[0], 0), <(i7710[0], i7594[0])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0])))), i7299[0], java.lang.Object(ARRAY(9, a12491[0])), i2147[0], i2455[0], i7432[0], java.lang.Object(ARRAY(i7594[0], a12877[0])), i7710[0])
COND_16122_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], i7432[1], java.lang.Object(ARRAY(i7594[1], a12877[1])), i7710[1]) → 16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], i7432[1], i7710[1], i7902[1])
15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2]) → COND_15748_0_POSSIBLEVALUES_GE(&&(>=(x7[2], x5[2]), >(x4[2], +(x6[2], 1))), java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2])
15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4]) → COND_15748_0_POSSIBLEVALUES_GE1(&&(&&(<(x8[4], x6[4]), >=(x7[4], 0)), <(x7[4], x0[4])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4])
COND_15748_0_POSSIBLEVALUES_GE1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x7[5], x8[5], x6[5]) → 16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])
16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6]) → COND_16244_0_POSSIBLEVALUES_EQ(&&(&&(!(=(x9[6], 0)), >=(x7[6], 0)), <(x7[6], x0[6])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6])
COND_16244_0_POSSIBLEVALUES_EQ(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], java.lang.Object(ARRAY(9, x4[7])), x5[7], x6[7], x7[7], x8[7], x9[7]) → 17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], x5[7], x6[7], x7[7], java.lang.Object(ARRAY(9, x4[7])), java.lang.Object(ARRAY(x10[7], x11[7])), x8[7])
17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8])))), x2[8], x5[8], x6[8], x7[8], java.lang.Object(ARRAY(9, x4[8])), java.lang.Object(ARRAY(x10[8], x11[8])), x8[8]) → COND_17877_0_POSSIBLEVALUES_ARRAYACCESS(&&(>=(x8[8], 0), <(x8[8], x10[8])), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8])))), x2[8], x5[8], x6[8], x7[8], java.lang.Object(ARRAY(9, x4[8])), java.lang.Object(ARRAY(x10[8], x11[8])), x8[8])
COND_17877_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))), x2[9], x5[9], x6[9], x7[9], java.lang.Object(ARRAY(9, x4[9])), java.lang.Object(ARRAY(x10[9], x11[9])), x8[9]) → 18671_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))), x2[9], x5[9], x6[9], x7[9], x8[9], java.lang.Object(ARRAY(9, x4[9])), -(x12[9], 1))
16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], x7[10], x8[10], 0) → COND_16244_0_POSSIBLEVALUES_EQ1(>=(x8[10], 0), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], x7[10], x8[10], 0)
COND_16244_0_POSSIBLEVALUES_EQ1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x6[11], x7[11], x8[11], 0) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x7[11], +(x8[11], 1), x6[11])
18671_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12])))), x2[12], x5[12], x6[12], x7[12], x8[12], java.lang.Object(ARRAY(9, x4[12])), x10[12]) → COND_18671_0_POSSIBLEVALUES_ARRAYACCESS(&&(&&(>=(x8[12], 0), >=(x10[12], 0)), <=(x10[12], 8)), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12])))), x2[12], x5[12], x6[12], x7[12], x8[12], java.lang.Object(ARRAY(9, x4[12])), x10[12])
COND_18671_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))), x2[13], x5[13], x6[13], x7[13], x8[13], java.lang.Object(ARRAY(9, x4[13])), x10[13]) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))), x2[13], java.lang.Object(ARRAY(9, x4[13])), x5[13], x7[13], +(x8[13], 1), x6[13])

There are no usable rules.

(7) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Boolean, Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): 16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0])))), i7299[0], java.lang.Object(ARRAY(9, a12491[0])), i2147[0], i2455[0], i7432[0], java.lang.Object(ARRAY(i7594[0], a12877[0])), i7710[0]) → COND_16122_0_POSSIBLEVALUES_ARRAYACCESS(i7710[0] >= 0 && i7710[0] < i7594[0], java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0])))), i7299[0], java.lang.Object(ARRAY(9, a12491[0])), i2147[0], i2455[0], i7432[0], java.lang.Object(ARRAY(i7594[0], a12877[0])), i7710[0])
(1): COND_16122_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], i7432[1], java.lang.Object(ARRAY(i7594[1], a12877[1])), i7710[1]) → 16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], i7432[1], i7710[1], i7902[1])
(2): 15748_0_POSSIBLEVALUES_GE(java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2]) → COND_15748_0_POSSIBLEVALUES_GE(x7[2] >= x5[2] && x4[2] > x6[2] + 1, java.lang.Object(x0[2]), x1[2], java.lang.Object(ARRAY(9, x3[2])), x4[2], x6[2], x7[2], x5[2])
(4): 15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4]) → COND_15748_0_POSSIBLEVALUES_GE1(x8[4] < x6[4] && x7[4] >= 0 && x7[4] < x0[4], java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4])
(5): COND_15748_0_POSSIBLEVALUES_GE1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x7[5], x8[5], x6[5]) → 16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])
(6): 16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6]) → COND_16244_0_POSSIBLEVALUES_EQ(!(x9[6] = 0) && x7[6] >= 0 && x7[6] < x0[6], java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6])
(7): COND_16244_0_POSSIBLEVALUES_EQ(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], java.lang.Object(ARRAY(9, x4[7])), x5[7], x6[7], x7[7], x8[7], x9[7]) → 17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], x5[7], x6[7], x7[7], java.lang.Object(ARRAY(9, x4[7])), java.lang.Object(ARRAY(x10[7], x11[7])), x8[7])
(8): 17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8])))), x2[8], x5[8], x6[8], x7[8], java.lang.Object(ARRAY(9, x4[8])), java.lang.Object(ARRAY(x10[8], x11[8])), x8[8]) → COND_17877_0_POSSIBLEVALUES_ARRAYACCESS(x8[8] >= 0 && x8[8] < x10[8], java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8])))), x2[8], x5[8], x6[8], x7[8], java.lang.Object(ARRAY(9, x4[8])), java.lang.Object(ARRAY(x10[8], x11[8])), x8[8])
(9): COND_17877_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))), x2[9], x5[9], x6[9], x7[9], java.lang.Object(ARRAY(9, x4[9])), java.lang.Object(ARRAY(x10[9], x11[9])), x8[9]) → 18671_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))), x2[9], x5[9], x6[9], x7[9], x8[9], java.lang.Object(ARRAY(9, x4[9])), x12[9] - 1)
(10): 16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], x7[10], x8[10], 0) → COND_16244_0_POSSIBLEVALUES_EQ1(x8[10] >= 0, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], x7[10], x8[10], 0)
(11): COND_16244_0_POSSIBLEVALUES_EQ1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x6[11], x7[11], x8[11], 0) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x7[11], x8[11] + 1, x6[11])
(12): 18671_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12])))), x2[12], x5[12], x6[12], x7[12], x8[12], java.lang.Object(ARRAY(9, x4[12])), x10[12]) → COND_18671_0_POSSIBLEVALUES_ARRAYACCESS(x8[12] >= 0 && x10[12] >= 0 && x10[12] <= 8, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12])))), x2[12], x5[12], x6[12], x7[12], x8[12], java.lang.Object(ARRAY(9, x4[12])), x10[12])
(13): COND_18671_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))), x2[13], x5[13], x6[13], x7[13], x8[13], java.lang.Object(ARRAY(9, x4[13])), x10[13]) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))), x2[13], java.lang.Object(ARRAY(9, x4[13])), x5[13], x7[13], x8[13] + 1, x6[13])

(5) -> (0), if ((java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0])))))∧(x2[5]* i7299[0])∧(java.lang.Object(ARRAY(9, x4[5])) →* java.lang.Object(ARRAY(9, a12491[0])))∧(x5[5]* i2147[0])∧(x6[5]* i2455[0])∧(x7[5]* i7432[0])∧(java.lang.Object(ARRAY(x9[5], x10[5])) →* java.lang.Object(ARRAY(i7594[0], a12877[0])))∧(x8[5]* i7710[0]))


(0) -> (1), if ((i7710[0] >= 0 && i7710[0] < i7594[0]* TRUE)∧(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))))∧(i7299[0]* i7299[1])∧(java.lang.Object(ARRAY(9, a12491[0])) →* java.lang.Object(ARRAY(9, a12491[1])))∧(i2147[0]* i2147[1])∧(i2455[0]* i2455[1])∧(i7432[0]* i7432[1])∧(java.lang.Object(ARRAY(i7594[0], a12877[0])) →* java.lang.Object(ARRAY(i7594[1], a12877[1])))∧(i7710[0]* i7710[1]))


(11) -> (2), if ((java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))) →* java.lang.Object(x0[2]))∧(x2[11]* x1[2])∧(java.lang.Object(ARRAY(9, x4[11])) →* java.lang.Object(ARRAY(9, x3[2])))∧(x5[11]* x4[2])∧(x7[11]* x6[2])∧(x8[11] + 1* x7[2])∧(x6[11]* x5[2]))


(13) -> (2), if ((java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))) →* java.lang.Object(x0[2]))∧(x2[13]* x1[2])∧(java.lang.Object(ARRAY(9, x4[13])) →* java.lang.Object(ARRAY(9, x3[2])))∧(x5[13]* x4[2])∧(x7[13]* x6[2])∧(x8[13] + 1* x7[2])∧(x6[13]* x5[2]))


(11) -> (4), if ((java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))))∧(x2[11]* x2[4])∧(java.lang.Object(ARRAY(9, x4[11])) →* java.lang.Object(ARRAY(9, x4[4])))∧(x5[11]* x5[4])∧(x7[11]* x7[4])∧(x8[11] + 1* x8[4])∧(x6[11]* x6[4]))


(13) -> (4), if ((java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))))∧(x2[13]* x2[4])∧(java.lang.Object(ARRAY(9, x4[13])) →* java.lang.Object(ARRAY(9, x4[4])))∧(x5[13]* x5[4])∧(x7[13]* x7[4])∧(x8[13] + 1* x8[4])∧(x6[13]* x6[4]))


(4) -> (5), if ((x8[4] < x6[4] && x7[4] >= 0 && x7[4] < x0[4]* TRUE)∧(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))))∧(x2[4]* x2[5])∧(java.lang.Object(ARRAY(9, x4[4])) →* java.lang.Object(ARRAY(9, x4[5])))∧(x5[4]* x5[5])∧(x7[4]* x7[5])∧(x8[4]* x8[5])∧(x6[4]* x6[5]))


(1) -> (6), if ((java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))))∧(i7299[1]* x2[6])∧(java.lang.Object(ARRAY(9, a12491[1])) →* java.lang.Object(ARRAY(9, x4[6])))∧(i2147[1]* x5[6])∧(i2455[1]* x6[6])∧(i7432[1]* x7[6])∧(i7710[1]* x8[6])∧(i7902[1]* x9[6]))


(6) -> (7), if ((!(x9[6] = 0) && x7[6] >= 0 && x7[6] < x0[6]* TRUE)∧(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))))∧(x2[6]* x2[7])∧(java.lang.Object(ARRAY(9, x4[6])) →* java.lang.Object(ARRAY(9, x4[7])))∧(x5[6]* x5[7])∧(x6[6]* x6[7])∧(x7[6]* x7[7])∧(x8[6]* x8[7])∧(x9[6]* x9[7]))


(7) -> (8), if ((java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8])))))∧(x2[7]* x2[8])∧(x5[7]* x5[8])∧(x6[7]* x6[8])∧(x7[7]* x7[8])∧(java.lang.Object(ARRAY(9, x4[7])) →* java.lang.Object(ARRAY(9, x4[8])))∧(java.lang.Object(ARRAY(x10[7], x11[7])) →* java.lang.Object(ARRAY(x10[8], x11[8])))∧(x8[7]* x8[8]))


(8) -> (9), if ((x8[8] >= 0 && x8[8] < x10[8]* TRUE)∧(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))))∧(x2[8]* x2[9])∧(x5[8]* x5[9])∧(x6[8]* x6[9])∧(x7[8]* x7[9])∧(java.lang.Object(ARRAY(9, x4[8])) →* java.lang.Object(ARRAY(9, x4[9])))∧(java.lang.Object(ARRAY(x10[8], x11[8])) →* java.lang.Object(ARRAY(x10[9], x11[9])))∧(x8[8]* x8[9]))


(1) -> (10), if ((java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))))∧(i7299[1]* x2[10])∧(java.lang.Object(ARRAY(9, a12491[1])) →* java.lang.Object(ARRAY(9, x4[10])))∧(i2147[1]* x5[10])∧(i2455[1]* x6[10])∧(i7432[1]* x7[10])∧(i7710[1]* x8[10])∧(i7902[1]* 0))


(10) -> (11), if ((x8[10] >= 0* TRUE)∧(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))))∧(x2[10]* x2[11])∧(java.lang.Object(ARRAY(9, x4[10])) →* java.lang.Object(ARRAY(9, x4[11])))∧(x5[10]* x5[11])∧(x6[10]* x6[11])∧(x7[10]* x7[11])∧(x8[10]* x8[11]))


(9) -> (12), if ((java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12])))))∧(x2[9]* x2[12])∧(x5[9]* x5[12])∧(x6[9]* x6[12])∧(x7[9]* x7[12])∧(x8[9]* x8[12])∧(java.lang.Object(ARRAY(9, x4[9])) →* java.lang.Object(ARRAY(9, x4[12])))∧(x12[9] - 1* x10[12]))


(12) -> (13), if ((x8[12] >= 0 && x10[12] >= 0 && x10[12] <= 8* TRUE)∧(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))))∧(x2[12]* x2[13])∧(x5[12]* x5[13])∧(x6[12]* x6[13])∧(x7[12]* x7[13])∧(x8[12]* x8[13])∧(java.lang.Object(ARRAY(9, x4[12])) →* java.lang.Object(ARRAY(9, x4[13])))∧(x10[12]* x10[13]))



The set Q is empty.

(8) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node.

(9) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer, Boolean


R is empty.

The integer pair graph contains the following rules and edges:
(11): COND_16244_0_POSSIBLEVALUES_EQ1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x6[11], x7[11], x8[11], 0) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x7[11], x8[11] + 1, x6[11])
(10): 16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], x7[10], x8[10], 0) → COND_16244_0_POSSIBLEVALUES_EQ1(x8[10] >= 0, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], x7[10], x8[10], 0)
(5): COND_15748_0_POSSIBLEVALUES_GE1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x7[5], x8[5], x6[5]) → 16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))), x2[5], java.lang.Object(ARRAY(9, x4[5])), x5[5], x6[5], x7[5], java.lang.Object(ARRAY(x9[5], x10[5])), x8[5])
(4): 15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4]) → COND_15748_0_POSSIBLEVALUES_GE1(x8[4] < x6[4] && x7[4] >= 0 && x7[4] < x0[4], java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))), x2[4], java.lang.Object(ARRAY(9, x4[4])), x5[4], x7[4], x8[4], x6[4])
(13): COND_18671_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))), x2[13], x5[13], x6[13], x7[13], x8[13], java.lang.Object(ARRAY(9, x4[13])), x10[13]) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))), x2[13], java.lang.Object(ARRAY(9, x4[13])), x5[13], x7[13], x8[13] + 1, x6[13])
(12): 18671_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12])))), x2[12], x5[12], x6[12], x7[12], x8[12], java.lang.Object(ARRAY(9, x4[12])), x10[12]) → COND_18671_0_POSSIBLEVALUES_ARRAYACCESS(x8[12] >= 0 && x10[12] >= 0 && x10[12] <= 8, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12])))), x2[12], x5[12], x6[12], x7[12], x8[12], java.lang.Object(ARRAY(9, x4[12])), x10[12])
(9): COND_17877_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))), x2[9], x5[9], x6[9], x7[9], java.lang.Object(ARRAY(9, x4[9])), java.lang.Object(ARRAY(x10[9], x11[9])), x8[9]) → 18671_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))), x2[9], x5[9], x6[9], x7[9], x8[9], java.lang.Object(ARRAY(9, x4[9])), x12[9] - 1)
(8): 17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8])))), x2[8], x5[8], x6[8], x7[8], java.lang.Object(ARRAY(9, x4[8])), java.lang.Object(ARRAY(x10[8], x11[8])), x8[8]) → COND_17877_0_POSSIBLEVALUES_ARRAYACCESS(x8[8] >= 0 && x8[8] < x10[8], java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8])))), x2[8], x5[8], x6[8], x7[8], java.lang.Object(ARRAY(9, x4[8])), java.lang.Object(ARRAY(x10[8], x11[8])), x8[8])
(7): COND_16244_0_POSSIBLEVALUES_EQ(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], java.lang.Object(ARRAY(9, x4[7])), x5[7], x6[7], x7[7], x8[7], x9[7]) → 17877_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))), x2[7], x5[7], x6[7], x7[7], java.lang.Object(ARRAY(9, x4[7])), java.lang.Object(ARRAY(x10[7], x11[7])), x8[7])
(6): 16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6]) → COND_16244_0_POSSIBLEVALUES_EQ(!(x9[6] = 0) && x7[6] >= 0 && x7[6] < x0[6], java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))), x2[6], java.lang.Object(ARRAY(9, x4[6])), x5[6], x6[6], x7[6], x8[6], x9[6])
(1): COND_16122_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], i7432[1], java.lang.Object(ARRAY(i7594[1], a12877[1])), i7710[1]) → 16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], i7432[1], i7710[1], i7902[1])
(0): 16122_0_POSSIBLEVALUES_ARRAYACCESS(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0])))), i7299[0], java.lang.Object(ARRAY(9, a12491[0])), i2147[0], i2455[0], i7432[0], java.lang.Object(ARRAY(i7594[0], a12877[0])), i7710[0]) → COND_16122_0_POSSIBLEVALUES_ARRAYACCESS(i7710[0] >= 0 && i7710[0] < i7594[0], java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0])))), i7299[0], java.lang.Object(ARRAY(9, a12491[0])), i2147[0], i2455[0], i7432[0], java.lang.Object(ARRAY(i7594[0], a12877[0])), i7710[0])

(5) -> (0), if ((java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0])))))∧(x2[5]* i7299[0])∧(java.lang.Object(ARRAY(9, x4[5])) →* java.lang.Object(ARRAY(9, a12491[0])))∧(x5[5]* i2147[0])∧(x6[5]* i2455[0])∧(x7[5]* i7432[0])∧(java.lang.Object(ARRAY(x9[5], x10[5])) →* java.lang.Object(ARRAY(i7594[0], a12877[0])))∧(x8[5]* i7710[0]))


(0) -> (1), if ((i7710[0] >= 0 && i7710[0] < i7594[0]* TRUE)∧(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[0], a12669[0])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))))∧(i7299[0]* i7299[1])∧(java.lang.Object(ARRAY(9, a12491[0])) →* java.lang.Object(ARRAY(9, a12491[1])))∧(i2147[0]* i2147[1])∧(i2455[0]* i2455[1])∧(i7432[0]* i7432[1])∧(java.lang.Object(ARRAY(i7594[0], a12877[0])) →* java.lang.Object(ARRAY(i7594[1], a12877[1])))∧(i7710[0]* i7710[1]))


(11) -> (4), if ((java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))))∧(x2[11]* x2[4])∧(java.lang.Object(ARRAY(9, x4[11])) →* java.lang.Object(ARRAY(9, x4[4])))∧(x5[11]* x5[4])∧(x7[11]* x7[4])∧(x8[11] + 1* x8[4])∧(x6[11]* x6[4]))


(13) -> (4), if ((java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))))∧(x2[13]* x2[4])∧(java.lang.Object(ARRAY(9, x4[13])) →* java.lang.Object(ARRAY(9, x4[4])))∧(x5[13]* x5[4])∧(x7[13]* x7[4])∧(x8[13] + 1* x8[4])∧(x6[13]* x6[4]))


(4) -> (5), if ((x8[4] < x6[4] && x7[4] >= 0 && x7[4] < x0[4]* TRUE)∧(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[4], x1[4])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[5], x1[5])))))∧(x2[4]* x2[5])∧(java.lang.Object(ARRAY(9, x4[4])) →* java.lang.Object(ARRAY(9, x4[5])))∧(x5[4]* x5[5])∧(x7[4]* x7[5])∧(x8[4]* x8[5])∧(x6[4]* x6[5]))


(1) -> (6), if ((java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))))∧(i7299[1]* x2[6])∧(java.lang.Object(ARRAY(9, a12491[1])) →* java.lang.Object(ARRAY(9, x4[6])))∧(i2147[1]* x5[6])∧(i2455[1]* x6[6])∧(i7432[1]* x7[6])∧(i7710[1]* x8[6])∧(i7902[1]* x9[6]))


(6) -> (7), if ((!(x9[6] = 0) && x7[6] >= 0 && x7[6] < x0[6]* TRUE)∧(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[6], x1[6])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))))∧(x2[6]* x2[7])∧(java.lang.Object(ARRAY(9, x4[6])) →* java.lang.Object(ARRAY(9, x4[7])))∧(x5[6]* x5[7])∧(x6[6]* x6[7])∧(x7[6]* x7[7])∧(x8[6]* x8[7])∧(x9[6]* x9[7]))


(7) -> (8), if ((java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[7], x1[7])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8])))))∧(x2[7]* x2[8])∧(x5[7]* x5[8])∧(x6[7]* x6[8])∧(x7[7]* x7[8])∧(java.lang.Object(ARRAY(9, x4[7])) →* java.lang.Object(ARRAY(9, x4[8])))∧(java.lang.Object(ARRAY(x10[7], x11[7])) →* java.lang.Object(ARRAY(x10[8], x11[8])))∧(x8[7]* x8[8]))


(8) -> (9), if ((x8[8] >= 0 && x8[8] < x10[8]* TRUE)∧(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[8], x1[8])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))))∧(x2[8]* x2[9])∧(x5[8]* x5[9])∧(x6[8]* x6[9])∧(x7[8]* x7[9])∧(java.lang.Object(ARRAY(9, x4[8])) →* java.lang.Object(ARRAY(9, x4[9])))∧(java.lang.Object(ARRAY(x10[8], x11[8])) →* java.lang.Object(ARRAY(x10[9], x11[9])))∧(x8[8]* x8[9]))


(1) -> (10), if ((java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))))∧(i7299[1]* x2[10])∧(java.lang.Object(ARRAY(9, a12491[1])) →* java.lang.Object(ARRAY(9, x4[10])))∧(i2147[1]* x5[10])∧(i2455[1]* x6[10])∧(i7432[1]* x7[10])∧(i7710[1]* x8[10])∧(i7902[1]* 0))


(10) -> (11), if ((x8[10] >= 0* TRUE)∧(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))))∧(x2[10]* x2[11])∧(java.lang.Object(ARRAY(9, x4[10])) →* java.lang.Object(ARRAY(9, x4[11])))∧(x5[10]* x5[11])∧(x6[10]* x6[11])∧(x7[10]* x7[11])∧(x8[10]* x8[11]))


(9) -> (12), if ((java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[9], x1[9])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12])))))∧(x2[9]* x2[12])∧(x5[9]* x5[12])∧(x6[9]* x6[12])∧(x7[9]* x7[12])∧(x8[9]* x8[12])∧(java.lang.Object(ARRAY(9, x4[9])) →* java.lang.Object(ARRAY(9, x4[12])))∧(x12[9] - 1* x10[12]))


(12) -> (13), if ((x8[12] >= 0 && x10[12] >= 0 && x10[12] <= 8* TRUE)∧(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[12], x1[12])))) →* java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[13], x1[13])))))∧(x2[12]* x2[13])∧(x5[12]* x5[13])∧(x6[12]* x6[13])∧(x7[12]* x7[13])∧(x8[12]* x8[13])∧(java.lang.Object(ARRAY(9, x4[12])) →* java.lang.Object(ARRAY(9, x4[13])))∧(x10[12]* x10[13]))



The set Q is empty.

(10) IDPNonInfProof (SOUND transformation)

The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair COND_16244_0_POSSIBLEVALUES_EQ1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x6[11], x7[11], x8[11], 0) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x7[11], +(x8[11], 1), x6[11]) the following chains were created:
  • We consider the chain COND_16122_0_POSSIBLEVALUES_ARRAYACCESS(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], i7432[1], java.lang.Object(ARRAY(i7594[1], a12877[1])), i7710[1]) → 16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], i7432[1], i7710[1], i7902[1]), 16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], x7[10], x8[10], 0) → COND_16244_0_POSSIBLEVALUES_EQ1(>=(x8[10], 0), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], x7[10], x8[10], 0), COND_16244_0_POSSIBLEVALUES_EQ1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x6[11], x7[11], x8[11], 0) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x7[11], +(x8[11], 1), x6[11]) which results in the following constraint:

    (1)    (java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1]))))=java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10]))))∧i7299[1]=x2[10]java.lang.Object(ARRAY(9, a12491[1]))=java.lang.Object(ARRAY(9, x4[10]))∧i2147[1]=x5[10]i2455[1]=x6[10]i7432[1]=x7[10]i7710[1]=x8[10]i7902[1]=0>=(x8[10], 0)=TRUEjava.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10]))))=java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11]))))∧x2[10]=x2[11]java.lang.Object(ARRAY(9, x4[10]))=java.lang.Object(ARRAY(9, x4[11]))∧x5[10]=x5[11]x6[10]=x6[11]x7[10]=x7[11]x8[10]=x8[11]COND_16244_0_POSSIBLEVALUES_EQ1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x6[11], x7[11], x8[11], 0)≥NonInfC∧COND_16244_0_POSSIBLEVALUES_EQ1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x6[11], x7[11], x8[11], 0)≥15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x7[11], +(x8[11], 1), x6[11])∧(UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x7[11], +(x8[11], 1), x6[11])), ≥))



    We simplified constraint (1) using rules (I), (II), (III), (DELETE_TRIVIAL_REDUCESTO) which results in the following new constraint:

    (2)    (>=(x8[10], 0)=TRUECOND_16244_0_POSSIBLEVALUES_EQ1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], i7432[1], x8[10], 0)≥NonInfC∧COND_16244_0_POSSIBLEVALUES_EQ1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i2455[1], i7432[1], x8[10], 0)≥15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(i7430[1], a12669[1])))), i7299[1], java.lang.Object(ARRAY(9, a12491[1])), i2147[1], i7432[1], +(x8[10], 1), i2455[1])∧(UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x7[11], +(x8[11], 1), x6[11])), ≥))



    We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (3)    (x8[10] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x7[11], +(x8[11], 1), x6[11])), ≥)∧[(-1)Bound*bni_24] + [bni_24]i2455[1] + [(-1)bni_24]x8[10] ≥ 0∧[(-1)bso_25] ≥ 0)



    We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (4)    (x8[10] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x7[11], +(x8[11], 1), x6[11])), ≥)∧[(-1)Bound*bni_24] + [bni_24]i2455[1] + [(-1)bni_24]x8[10] ≥ 0∧[(-1)bso_25] ≥ 0)



    We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (5)    (x8[10] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x7[11], +(x8[11], 1), x6[11])), ≥)∧[(-1)Bound*bni_24] + [bni_24]i2455[1] + [(-1)bni_24]x8[10] ≥ 0∧[(-1)bso_25] ≥ 0)



    We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (6)    (x8[10] ≥ 0 ⇒ (UIncreasing(15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x7[11], +(x8[11], 1), x6[11])), ≥)∧0 = 0∧[bni_24] = 0∧0 = 0∧0 = 0∧[(-1)Bound*bni_24] + [(-1)bni_24]x8[10] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_25] ≥ 0)







For Pair 16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], x7[10], x8[10], 0) → COND_16244_0_POSSIBLEVALUES_EQ1(>=(x8[10], 0), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], x7[10], x8[10], 0) the following chains were created:
  • We consider the chain 16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], x7[10], x8[10], 0) → COND_16244_0_POSSIBLEVALUES_EQ1(>=(x8[10], 0), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], x7[10], x8[10], 0), COND_16244_0_POSSIBLEVALUES_EQ1(TRUE, java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x6[11], x7[11], x8[11], 0) → 15748_0_POSSIBLEVALUES_GE(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11])))), x2[11], java.lang.Object(ARRAY(9, x4[11])), x5[11], x7[11], +(x8[11], 1), x6[11]) which results in the following constraint:

    (7)    (>=(x8[10], 0)=TRUEjava.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10]))))=java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[11], x1[11]))))∧x2[10]=x2[11]java.lang.Object(ARRAY(9, x4[10]))=java.lang.Object(ARRAY(9, x4[11]))∧x5[10]=x5[11]x6[10]=x6[11]x7[10]=x7[11]x8[10]=x8[11]16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], x7[10], x8[10], 0)≥NonInfC∧16244_0_POSSIBLEVALUES_EQ(java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], x7[10], x8[10], 0)≥COND_16244_0_POSSIBLEVALUES_EQ1(>=(x8[10], 0), java.lang.Object(Sudoku(java.lang.Object(ARRAY(x0[10], x1[10])))), x2[10], java.lang.Object(ARRAY(9, x4[10])), x5[10], x6[10], <