if (!check(i, j))
continue;
if (i > 0 && check(i - 1, j)) {
String label = label(number(i, j), number(i - 1, j));
if (!definedVars.contains(label)) {
statements.add(new Declare(label, Type.Bool));
definedVars.add(label);
}
}
if (j > 0 && check(i, j - 1)) {
String label = label(number(i, j), number(i, j - 1));
if (!definedVars.contains(label)) {
statements.add(new Declare(label, Type.Bool));
definedVars.add(label);
}
}
if (i < width - 1 && check(i + 1, j)) {
String label = label(number(i, j), number(i + 1, j));
if (!definedVars.contains(label)) {
statements.add(new Declare(label, Type.Bool));
definedVars.add(label);
}
}
if (j < height - 1 && check(i, j + 1)) {
String label = label(number(i, j), number(i, j + 1));
if (!definedVars.contains(label)) {
statements.add(new Declare(label, Type.Bool));
definedVars.add(label);
}
}
}
}