(0) Obligation:

JBC Problem based on JBC Program:
public class MarkingGraphVisitor {
private int mark;
private Object val;
private List children;

private static void visit(MarkingGraphVisitor node, int expectedMark) {
if (node.mark == expectedMark) {
node.mark = expectedMark + 1;
List curChild = node.children;
while (curChild != null) {
MarkingGraphVisitor child = curChild.val;
curChild = curChild.next;
if (child != null) {
visit(child, expectedMark);
}
}
}
}

public MarkingGraphVisitor(Object v, List c) {
this.mark = 0;
this.val = v;
this.children = c;
}

public static MarkingGraphVisitor createTree(int maxDepth) {
if (maxDepth <= 0) {
return null;
}

int numChildren = Random.random();
List children = null;
for (int i = numChildren; i > 0; i--) {
children = new List(createTree(maxDepth - 1), children);
}

return new MarkingGraphVisitor(null, children);
}

public MarkingGraphVisitor getRandom() {
int depth = Random.random();
MarkingGraphVisitor curEle = this;
while (depth-- >= 0 && curEle.children != null) {
int childNum = Random.random();
List curChild = curEle.children;
while (childNum-- >= 0 && curChild.next != null) {
curChild = curChild.next;
}
curEle = curChild.val;
}
return curEle;
}

public static void main(String[] args) {
Random.args = args;


//Create graph as tree:
MarkingGraphVisitor graph = createTree(Random.random());

int interconnections = Random.random();
while (interconnections-- > 0) {
MarkingGraphVisitor rand1 = graph.getRandom();
MarkingGraphVisitor rand2 = graph.getRandom();
rand1.children = new List(rand2, rand1.children);
}

//Visit all elements:
visit(graph, graph.mark);
}
}

class List {
public MarkingGraphVisitor val;
public List next;

public List(MarkingGraphVisitor v, List n) {
this.val = v;
this.next = n;
}
}


public class Random {
static String[] args;
static int index = 0;

public static int random() {
final String string = args[index];
index++;
return string.length();
}
}


(1) JBCToGraph (SOUND transformation)

Constructed TerminationGraph.

(2) Obligation:

Termination Graph based on JBC Program:
MarkingGraphVisitor.main([Ljava/lang/String;)V: Graph of 487 nodes with 1 SCC.

MarkingGraphVisitor.createTree(I)LMarkingGraphVisitor;: Graph of 150 nodes with 1 SCC.

MarkingGraphVisitor.getRandom()LMarkingGraphVisitor;: Graph of 578 nodes with 1 SCC.

MarkingGraphVisitor.visit(LMarkingGraphVisitor;I)V: Graph of 50 nodes with 1 SCC.


(3) TerminationGraphToSCCProof (SOUND transformation)

Splitted TerminationGraph to 4 SCCss.

(4) Complex Obligation (AND)

(5) Obligation:

SCC of termination graph based on JBC Program.
SCC contains nodes from the following methods: MarkingGraphVisitor.visit(LMarkingGraphVisitor;I)V
SCC calls the following helper methods: MarkingGraphVisitor.visit(LMarkingGraphVisitor;I)V
Performed SCC analyses:
  • Used field analysis yielded the following read fields:
    • MarkingGraphVisitor: [mark, children]
    • List: [next]
  • Marker field analysis yielded the following relations that could be markers:
    • MarkingGraphVisitor.mark = i1345 (Introduced counter i13373)

(6) SCCToIDPv1Proof (SOUND transformation)

Transformed FIGraph SCCs to IDPs. Log:

Generated 48 rules for P and 54 rules for R.


P rules:
f25887_0_visit_FieldAccess(EOS(STATIC_25887), java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i13373) → f25889_0_visit_FieldAccess(EOS(STATIC_25889), java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i13373)
f25889_0_visit_FieldAccess(EOS(STATIC_25889), java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i13373) → f25891_0_visit_Load(EOS(STATIC_25891), java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i1345, i10532, i13373)
f25891_0_visit_Load(EOS(STATIC_25891), java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i1345, i10532, i13373) → f25893_0_visit_NE(EOS(STATIC_25893), java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i1345, i10532, i1345, i13373)
f25893_0_visit_NE(EOS(STATIC_25893), java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, i1345, i1345, i13373) → f25896_0_visit_NE(EOS(STATIC_25896), java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, i1345, i1345, i13373)
f25896_0_visit_NE(EOS(STATIC_25896), java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, i1345, i1345, i13373) → f25900_0_visit_Load(EOS(STATIC_25900), java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, i13373)
f25900_0_visit_Load(EOS(STATIC_25900), java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, i13373) → f25904_0_visit_Load(EOS(STATIC_25904), java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i13373)
f25904_0_visit_Load(EOS(STATIC_25904), java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i13373) → f25907_0_visit_ConstantStackPush(EOS(STATIC_25907), java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, i13373)
f25907_0_visit_ConstantStackPush(EOS(STATIC_25907), java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, i13373) → f25910_0_visit_IntArithmetic(EOS(STATIC_25910), java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, 1, i13373)
f25910_0_visit_IntArithmetic(EOS(STATIC_25910), java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, matching1, i13373) → f25912_0_visit_FieldAccess(EOS(STATIC_25912), java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), +(i1345, 1), i13373) | =(matching1, 1)
f25912_0_visit_FieldAccess(EOS(STATIC_25912), java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i10566, i13373) → f25914_0_visit_Load(EOS(STATIC_25914), java.lang.Object(MarkingGraphVisitor(EOC, i10566, o52959put)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i10566, o52959put)), i1345, +(i13373, -1)) | >=(i13373, 0)
f25914_0_visit_Load(EOS(STATIC_25914), java.lang.Object(MarkingGraphVisitor(EOC, i10566, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i10566, o52959)), i1345, i13373) → f25916_0_visit_FieldAccess(EOS(STATIC_25916), java.lang.Object(MarkingGraphVisitor(EOC, i10566, o52959)), i1345, i1345, java.lang.Object(MarkingGraphVisitor(EOC, i10566, o52959)), i13373)
f25916_0_visit_FieldAccess(EOS(STATIC_25916), java.lang.Object(MarkingGraphVisitor(EOC, i10566, o52959)), i1345, i1345, java.lang.Object(MarkingGraphVisitor(EOC, i10566, o52959)), i13373) → f25918_0_visit_Store(EOS(STATIC_25918), java.lang.Object(MarkingGraphVisitor(EOC, i10566, o52959)), i1345, i1345, o52959, i13373)
f25918_0_visit_Store(EOS(STATIC_25918), java.lang.Object(MarkingGraphVisitor(EOC, i10566, o52959)), i1345, i1345, o52959, i13373) → f25920_0_visit_Load(EOS(STATIC_25920), java.lang.Object(MarkingGraphVisitor(EOC, i10566, o52959)), i1345, i1345, o52959, i13373)
f25920_0_visit_Load(EOS(STATIC_25920), java.lang.Object(MarkingGraphVisitor(EOC, i10566, o52959)), i1345, i1345, o52959, i13373) → f25986_0_visit_Load(EOS(STATIC_25986), java.lang.Object(MarkingGraphVisitor(EOC, i10566, o52959)), i1345, i1345, o52959, i13373)
f25986_0_visit_Load(EOS(STATIC_25986), java.lang.Object(MarkingGraphVisitor(EOC, i10566, o53482)), i1345, i1345, o53488, i13373) → f26111_0_visit_Load(EOS(STATIC_26111), java.lang.Object(MarkingGraphVisitor(EOC, i10566, o53482)), i1345, i1345, o53488, i13373)
f26111_0_visit_Load(EOS(STATIC_26111), o54356, i10896, i10896, o54361, i13373) → f26114_0_visit_NULL(EOS(STATIC_26114), o54356, i10896, i10896, o54361, o54361, i13373)
f26114_0_visit_NULL(EOS(STATIC_26114), o54356, i10896, i10896, java.lang.Object(o54385sub), java.lang.Object(o54385sub), i13373) → f26116_0_visit_NULL(EOS(STATIC_26116), o54356, i10896, i10896, java.lang.Object(o54385sub), java.lang.Object(o54385sub), i13373)
f26116_0_visit_NULL(EOS(STATIC_26116), o54356, i10896, i10896, java.lang.Object(o54385sub), java.lang.Object(o54385sub), i13373) → f26119_0_visit_Load(EOS(STATIC_26119), o54356, i10896, i10896, java.lang.Object(o54385sub), i13373)
f26119_0_visit_Load(EOS(STATIC_26119), o54356, i10896, i10896, java.lang.Object(o54385sub), i13373) → f26123_0_visit_FieldAccess(EOS(STATIC_26123), o54356, i10896, i10896, java.lang.Object(o54385sub), java.lang.Object(o54385sub), i13373)
f26123_0_visit_FieldAccess(EOS(STATIC_26123), o54356, i10896, i10896, java.lang.Object(List(EOC, o54404)), java.lang.Object(List(EOC, o54404)), i13373) → f26127_0_visit_FieldAccess(EOS(STATIC_26127), o54356, i10896, i10896, java.lang.Object(List(EOC, o54404)), java.lang.Object(List(EOC, o54404)), i13373)
f26127_0_visit_FieldAccess(EOS(STATIC_26127), o54356, i10896, i10896, java.lang.Object(List(EOC, o54404)), java.lang.Object(List(EOC, o54404)), i13373) → f26132_0_visit_Store(EOS(STATIC_26132), o54356, i10896, i10896, java.lang.Object(List(EOC, o54404)), o54403, i13373)
f26132_0_visit_Store(EOS(STATIC_26132), o54356, i10896, i10896, java.lang.Object(List(EOC, o54404)), o54403, i13373) → f26135_0_visit_Load(EOS(STATIC_26135), o54356, i10896, i10896, java.lang.Object(List(EOC, o54404)), o54403, i13373)
f26135_0_visit_Load(EOS(STATIC_26135), o54356, i10896, i10896, java.lang.Object(List(EOC, o54404)), o54403, i13373) → f26137_0_visit_FieldAccess(EOS(STATIC_26137), o54356, i10896, i10896, o54403, java.lang.Object(List(EOC, o54404)), i13373)
f26137_0_visit_FieldAccess(EOS(STATIC_26137), o54356, i10896, i10896, o54403, java.lang.Object(List(EOC, o54404)), i13373) → f26140_0_visit_Store(EOS(STATIC_26140), o54356, i10896, i10896, o54403, o54404, i13373)
f26140_0_visit_Store(EOS(STATIC_26140), o54356, i10896, i10896, o54403, o54404, i13373) → f26142_0_visit_Load(EOS(STATIC_26142), o54356, i10896, i10896, o54404, o54403, i13373)
f26142_0_visit_Load(EOS(STATIC_26142), o54356, i10896, i10896, o54404, o54403, i13373) → f26145_0_visit_NULL(EOS(STATIC_26145), o54356, i10896, i10896, o54404, o54403, o54403, i13373)
f26145_0_visit_NULL(EOS(STATIC_26145), o54356, i10896, i10896, o54404, java.lang.Object(o54428sub), java.lang.Object(o54428sub), i13373) → f26147_0_visit_NULL(EOS(STATIC_26147), o54356, i10896, i10896, o54404, java.lang.Object(o54428sub), java.lang.Object(o54428sub), i13373)
f26145_0_visit_NULL(EOS(STATIC_26145), o54356, i10896, i10896, o54404, NULL, NULL, i13373) → f26148_0_visit_NULL(EOS(STATIC_26148), o54356, i10896, i10896, o54404, NULL, NULL, i13373)
f26147_0_visit_NULL(EOS(STATIC_26147), o54356, i10896, i10896, o54404, java.lang.Object(o54428sub), java.lang.Object(o54428sub), i13373) → f26150_0_visit_Load(EOS(STATIC_26150), o54356, i10896, i10896, o54404, java.lang.Object(o54428sub), i13373)
f26150_0_visit_Load(EOS(STATIC_26150), o54356, i10896, i10896, o54404, java.lang.Object(o54428sub), i13373) → f26154_0_visit_Load(EOS(STATIC_26154), o54356, i10896, i10896, o54404, java.lang.Object(o54428sub), i13373)
f26154_0_visit_Load(EOS(STATIC_26154), o54356, i10896, i10896, o54404, java.lang.Object(o54428sub), i13373) → f26159_0_visit_InvokeMethod(EOS(STATIC_26159), o54356, i10896, i10896, o54404, java.lang.Object(o54428sub), i10896, i13373)
f26159_0_visit_InvokeMethod(EOS(STATIC_26159), o54356, i10896, i10896, o54404, java.lang.Object(o54428sub), i10896, i13373) → f26160_1_visit_InvokeMethod(f26160_0_visit_Load(EOS(STATIC_26160), java.lang.Object(o54428sub), i10896, o54356, o54404, java.lang.Object(o54428sub), i10896, i13373), o54356, i10896, i10896, o54404, java.lang.Object(o54428sub), i10896, i13373)
f26160_0_visit_Load(EOS(STATIC_26160), java.lang.Object(o54428sub), i10896, o54356, o54404, java.lang.Object(o54428sub), i10896, i13373) → f26162_0_visit_Load(EOS(STATIC_26162), java.lang.Object(o54428sub), i10896, o54356, o54404, java.lang.Object(o54428sub), i10896, i13373)
f26162_0_visit_Load(EOS(STATIC_26162), java.lang.Object(o54428sub), i10896, o54356, o54404, java.lang.Object(o54428sub), i10896, i13373) → f26167_0_visit_Load(EOS(STATIC_26167), java.lang.Object(o54428sub), i10896, o54404, java.lang.Object(o54428sub), i10896, i13373)
f26167_0_visit_Load(EOS(STATIC_26167), java.lang.Object(o54428sub), i10896, o54404, java.lang.Object(o54428sub), i10896, i13373) → f26170_0_visit_Load(EOS(STATIC_26170), java.lang.Object(o54428sub), i10896, java.lang.Object(o54428sub), i10896, i13373)
f26170_0_visit_Load(EOS(STATIC_26170), java.lang.Object(o54428sub), i10896, java.lang.Object(o54428sub), i10896, i13373) → f25885_0_visit_Load(EOS(STATIC_25885), java.lang.Object(o54428sub), i10896, java.lang.Object(o54428sub), i10896, i13373)
f25885_0_visit_Load(EOS(STATIC_25885), java.lang.Object(o52933sub), i1345, java.lang.Object(o52933sub), i1345, i13373) → f25887_0_visit_FieldAccess(EOS(STATIC_25887), java.lang.Object(o52933sub), i1345, java.lang.Object(o52933sub), i1345, java.lang.Object(o52933sub), i13373)
f26174_0_visit_Return(EOS(STATIC_26174), o54496, i10970, i10970, o54506, java.lang.Object(MarkingGraphVisitor(EOC, i10963, o54489)), i10970, i13373) → f26179_0_visit_Return(EOS(STATIC_26179), o54496, i10970, i10970, o54506, java.lang.Object(MarkingGraphVisitor(EOC, i10963, o54489)), i10970, i13373)
f26179_0_visit_Return(EOS(STATIC_26179), o54549, i10998, i10998, o54554, o54555, i10998, i13373) → f26182_0_visit_JMP(EOS(STATIC_26182), o54549, i10998, i10998, o54554, i13373)
f26182_0_visit_JMP(EOS(STATIC_26182), o54549, i10998, i10998, o54554, i13373) → f26183_0_visit_Load(EOS(STATIC_26183), o54549, i10998, i10998, o54554, i13373)
f26183_0_visit_Load(EOS(STATIC_26183), o54549, i10998, i10998, o54554, i13373) → f26111_0_visit_Load(EOS(STATIC_26111), o54549, i10998, i10998, o54554, i13373)
f26176_0_visit_Return(EOS(STATIC_26176), o54517, i10980, i10980, o54518, java.lang.Object(MarkingGraphVisitor(EOC, i10973, o54515)), i10980, i13373) → f26174_0_visit_Return(EOS(STATIC_26174), o54517, i10980, i10980, o54518, java.lang.Object(MarkingGraphVisitor(EOC, i10973, o54515)), i10980, i13373)
f26178_0_visit_Return(EOS(STATIC_26178), o54527, i10989, i10989, o54528, o54521, i10989, i13373) → f26179_0_visit_Return(EOS(STATIC_26179), o54527, i10989, i10989, o54528, o54521, i10989, i13373)
f26148_0_visit_NULL(EOS(STATIC_26148), o54356, i10896, i10896, o54404, NULL, NULL, i13373) → f26152_0_visit_JMP(EOS(STATIC_26152), o54356, i10896, i10896, o54404, i13373)
f26152_0_visit_JMP(EOS(STATIC_26152), o54356, i10896, i10896, o54404, i13373) → f26182_0_visit_JMP(EOS(STATIC_26182), o54356, i10896, i10896, o54404, i13373)
f26160_1_visit_InvokeMethod(f25898_0_visit_Return(EOS(STATIC_25898), java.lang.Object(MarkingGraphVisitor(EOC, i10963, o54489)), i10970, i13373), o54496, i10970, i10970, o54506, java.lang.Object(MarkingGraphVisitor(EOC, i10963, o54489)), i10970, i13373_lC) → f26174_0_visit_Return(EOS(STATIC_26174), o54496, i10970, i10970, o54506, java.lang.Object(MarkingGraphVisitor(EOC, i10963, o54489)), i10970, i13373) | >=(i13373_lC, i13373)
f26160_1_visit_InvokeMethod(f25998_0_visit_Return(EOS(STATIC_25998), java.lang.Object(MarkingGraphVisitor(EOC, i10973, o54515)), i10980, i13373), o54356, i10980, i10980, o54404, java.lang.Object(o54428sub), i10980, i13373_lC) → f26176_0_visit_Return(EOS(STATIC_26176), o54517, i10980, i10980, o54518, java.lang.Object(MarkingGraphVisitor(EOC, i10973, o54515)), i10980, i13373) | >=(i13373_lC, i13373)
f26160_1_visit_InvokeMethod(f26121_0_visit_Return(EOS(STATIC_26121), o54521, i10989, i13373), o54356, i10989, i10989, o54404, java.lang.Object(o54428sub), i10989, i13373_lC) → f26178_0_visit_Return(EOS(STATIC_26178), o54527, i10989, i10989, o54528, o54521, i10989, i13373) | >=(i13373_lC, i13373)
R rules:
f25885_0_visit_Load(EOS(STATIC_25885), java.lang.Object(o52933sub), i1345, java.lang.Object(o52933sub), i1345, i13373) → f25887_0_visit_FieldAccess(EOS(STATIC_25887), java.lang.Object(o52933sub), i1345, java.lang.Object(o52933sub), i1345, java.lang.Object(o52933sub), i13373)
f25887_0_visit_FieldAccess(EOS(STATIC_25887), java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i13373) → f25889_0_visit_FieldAccess(EOS(STATIC_25889), java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i13373)
f25889_0_visit_FieldAccess(EOS(STATIC_25889), java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i13373) → f25891_0_visit_Load(EOS(STATIC_25891), java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i1345, i10532, i13373)
f25891_0_visit_Load(EOS(STATIC_25891), java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i1345, i10532, i13373) → f25893_0_visit_NE(EOS(STATIC_25893), java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i1345, i10532, i1345, i13373)
f25893_0_visit_NE(EOS(STATIC_25893), java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i1345, i10532, i1345, i13373) → f25895_0_visit_NE(EOS(STATIC_25895), java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i1345, i10532, i1345, i13373)
f25893_0_visit_NE(EOS(STATIC_25893), java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, i1345, i1345, i13373) → f25896_0_visit_NE(EOS(STATIC_25896), java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, i1345, i1345, i13373)
f25895_0_visit_NE(EOS(STATIC_25895), java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i1345, i10532, i1345, i13373) → f25898_0_visit_Return(EOS(STATIC_25898), java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i1345, i13373) | !(=(i10532, i1345))
f25896_0_visit_NE(EOS(STATIC_25896), java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, i1345, i1345, i13373) → f25900_0_visit_Load(EOS(STATIC_25900), java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, i13373)
f25898_0_visit_Return(EOS(STATIC_25898), java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i1345, i13373) → f25998_0_visit_Return(EOS(STATIC_25998), java.lang.Object(MarkingGraphVisitor(EOC, i10532, o52959)), i1345, i13373)
f25900_0_visit_Load(EOS(STATIC_25900), java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, i13373) → f25904_0_visit_Load(EOS(STATIC_25904), java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i13373)
f25904_0_visit_Load(EOS(STATIC_25904), java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i13373) → f25907_0_visit_ConstantStackPush(EOS(STATIC_25907), java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, i13373)
f25907_0_visit_ConstantStackPush(EOS(STATIC_25907), java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, i13373) → f25910_0_visit_IntArithmetic(EOS(STATIC_25910), java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, 1, i13373)
f25910_0_visit_IntArithmetic(EOS(STATIC_25910), java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, matching1, i13373) → f25912_0_visit_FieldAccess(EOS(STATIC_25912), java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), +(i1345, 1), i13373) | =(matching1, 1)
f25912_0_visit_FieldAccess(EOS(STATIC_25912), java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i1345, o52959)), i10566, i13373) → f25914_0_visit_Load(EOS(STATIC_25914), java.lang.Object(MarkingGraphVisitor(EOC, i10566, o52959put)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i10566, o52959put)), i1345, +(i13373, -1)) | >=(i13373, 0)
f25914_0_visit_Load(EOS(STATIC_25914), java.lang.Object(MarkingGraphVisitor(EOC, i10566, o52959)), i1345, java.lang.Object(MarkingGraphVisitor(EOC, i10566, o52959)), i1345, i13373) → f25916_0_visit_FieldAccess(EOS(STATIC_25916), java.lang.Object(MarkingGraphVisitor(EOC, i10566, o52959)), i1345, i1345, java.lang.Object(MarkingGraphVisitor(EOC, i10566, o52959)), i13373)
f25916_0_visit_FieldAccess(EOS(STATIC_25916), java.lang.Object(MarkingGraphVisitor(EOC, i10566, o52959)), i1345, i1345, java.lang.Object(MarkingGraphVisitor(EOC, i10566, o52959)), i13373) → f25918_0_visit_Store(EOS(STATIC_25918), java.lang.Object(MarkingGraphVisitor(EOC, i10566, o52959)), i1345, i1345, o52959, i13373)
f25918_0_visit_Store(EOS(STATIC_25918), java.lang.Object(MarkingGraphVisitor(EOC, i10566, o52959)), i1345, i1345, o52959, i13373) → f25920_0_visit_Load(EOS(STATIC_25920), java.lang.Object(MarkingGraphVisitor(EOC, i10566, o52959)), i1345, i1345, o52959, i13373)
f25920_0_visit_Load(EOS(STATIC_25920), java.lang.Object(MarkingGraphVisitor(EOC, i10566, o52959)), i1345, i1345, o52959, i13373) → f25986_0_visit_Load(EOS(STATIC_25986), java.lang.Object(MarkingGraphVisitor(EOC, i10566, o52959)), i1345, i1345, o52959, i13373)
f25986_0_visit_Load(EOS(STATIC_25986), java.lang.Object(MarkingGraphVisitor(EOC, i10566, o53482)), i1345, i1345, o53488, i13373) → f26111_0_visit_Load(EOS(STATIC_26111), java.lang.Object(MarkingGraphVisitor(EOC, i10566, o53482)), i1345, i1345, o53488, i13373)
f25998_0_visit_Return(EOS(STATIC_25998), java.lang.Object(MarkingGraphVisitor(EOC, i10566, o53482)), i1345, i13373) → f26121_0_visit_Return(EOS(STATIC_26121), java.lang.Object(MarkingGraphVisitor(EOC, i10566, o53482)), i1345, i13373)
f26111_0_visit_Load(EOS(STATIC_26111), o54356, i10896, i10896, o54361, i13373) → f26114_0_visit_NULL(EOS(STATIC_26114), o54356, i10896, i10896, o54361, o54361, i13373)
f26114_0_visit_NULL(EOS(STATIC_26114), o54356, i10896, i10896, java.lang.Object(o54385sub), java.lang.Object(o54385sub), i13373) → f26116_0_visit_NULL(EOS(STATIC_26116), o54356, i10896, i10896, java.lang.Object(o54385sub), java.lang.Object(o54385sub), i13373)
f26114_0_visit_NULL(EOS(STATIC_26114), o54356, i10896, i10896, NULL, NULL, i13373) → f26117_0_visit_NULL(EOS(STATIC_26117), o54356, i10896, i10896, NULL, NULL, i13373)
f26116_0_visit_NULL(EOS(STATIC_26116), o54356, i10896, i10896, java.lang.Object(o54385sub), java.lang.Object(o54385sub), i13373) → f26119_0_visit_Load(EOS(STATIC_26119), o54356, i10896, i10896, java.lang.Object(o54385sub), i13373)
f26117_0_visit_NULL(EOS(STATIC_26117), o54356, i10896, i10896, NULL, NULL, i13373) → f26121_0_visit_Return(EOS(STATIC_26121), o54356, i10896, i13373)
f26119_0_visit_Load(EOS(STATIC_26119), o54356, i10896, i10896, java.lang.Object(o54385sub), i13373) → f26123_0_visit_FieldAccess(EOS(STATIC_26123), o54356, i10896, i10896, java.lang.Object(o54385sub), java.lang.Object(o54385sub), i13373)
f26123_0_visit_FieldAccess(EOS(STATIC_26123), o54356, i10896, i10896, java.lang.Object(List(EOC, o54404)), java.lang.Object(List(EOC, o54404)), i13373) → f26127_0_visit_FieldAccess(EOS(STATIC_26127), o54356, i10896, i10896, java.lang.Object(List(EOC, o54404)), java.lang.Object(List(EOC, o54404)), i13373)
f26127_0_visit_FieldAccess(EOS(STATIC_26127), o54356, i10896, i10896, java.lang.Object(List(EOC, o54404)), java.lang.Object(List(EOC, o54404)), i13373) → f26132_0_visit_Store(EOS(STATIC_26132), o54356, i10896, i10896, java.lang.Object(List(EOC, o54404)), o54403, i13373)
f26132_0_visit_Store(EOS(STATIC_26132), o54356, i10896, i10896, java.lang.Object(List(EOC, o54404)), o54403, i13373) → f26135_0_visit_Load(EOS(STATIC_26135), o54356, i10896, i10896, java.lang.Object(List(EOC, o54404)), o54403, i13373)
f26135_0_visit_Load(EOS(STATIC_26135), o54356, i10896, i10896, java.lang.Object(List(EOC, o54404)), o54403, i13373) → f26137_0_visit_FieldAccess(EOS(STATIC_26137), o54356, i10896, i10896, o54403, java.lang.Object(List(EOC, o54404)), i13373)
f26137_0_visit_FieldAccess(EOS(STATIC_26137), o54356, i10896, i10896, o54403, java.lang.Object(List(EOC, o54404)), i13373) → f26140_0_visit_Store(EOS(STATIC_26140), o54356, i10896, i10896, o54403, o54404, i13373)
f26140_0_visit_Store(EOS(STATIC_26140), o54356, i10896, i10896, o54403, o54404, i13373) → f26142_0_visit_Load(EOS(STATIC_26142), o54356, i10896, i10896, o54404, o54403, i13373)
f26142_0_visit_Load(EOS(STATIC_26142), o54356, i10896, i10896, o54404, o54403, i13373) → f26145_0_visit_NULL(EOS(STATIC_26145), o54356, i10896, i10896, o54404, o54403, o54403, i13373)
f26145_0_visit_NULL(EOS(STATIC_26145), o54356, i10896, i10896, o54404, java.lang.Object(o54428sub), java.lang.Object(o54428sub), i13373) → f26147_0_visit_NULL(EOS(STATIC_26147), o54356, i10896, i10896, o54404, java.lang.Object(o54428sub), java.lang.Object(o54428sub), i13373)
f26145_0_visit_NULL(EOS(STATIC_26145), o54356, i10896, i10896, o54404, NULL, NULL, i13373) → f26148_0_visit_NULL(EOS(STATIC_26148), o54356, i10896, i10896, o54404, NULL, NULL, i13373)
f26147_0_visit_NULL(EOS(STATIC_26147), o54356, i10896, i10896, o54404, java.lang.Object(o54428sub), java.lang.Object(o54428sub), i13373) → f26150_0_visit_Load(EOS(STATIC_26150), o54356, i10896, i10896, o54404, java.lang.Object(o54428sub), i13373)
f26148_0_visit_NULL(EOS(STATIC_26148), o54356, i10896, i10896, o54404, NULL, NULL, i13373) → f26152_0_visit_JMP(EOS(STATIC_26152), o54356, i10896, i10896, o54404, i13373)
f26150_0_visit_Load(EOS(STATIC_26150), o54356, i10896, i10896, o54404, java.lang.Object(o54428sub), i13373) → f26154_0_visit_Load(EOS(STATIC_26154), o54356, i10896, i10896, o54404, java.lang.Object(o54428sub), i13373)
f26152_0_visit_JMP(EOS(STATIC_26152), o54356, i10896, i10896, o54404, i13373) → f26182_0_visit_JMP(EOS(STATIC_26182), o54356, i10896, i10896, o54404, i13373)
f26154_0_visit_Load(EOS(STATIC_26154), o54356, i10896, i10896, o54404, java.lang.Object(o54428sub), i13373) → f26159_0_visit_InvokeMethod(EOS(STATIC_26159), o54356, i10896, i10896, o54404, java.lang.Object(o54428sub), i10896, i13373)
f26159_0_visit_InvokeMethod(EOS(STATIC_26159), o54356, i10896, i10896, o54404, java.lang.Object(o54428sub), i10896, i13373) → f26160_1_visit_InvokeMethod(f26160_0_visit_Load(EOS(STATIC_26160), java.lang.Object(o54428sub), i10896, o54356, o54404, java.lang.Object(o54428sub), i10896, i13373), o54356, i10896, i10896, o54404, java.lang.Object(o54428sub), i10896, i13373)
f26160_0_visit_Load(EOS(STATIC_26160), java.lang.Object(o54428sub), i10896, o54356, o54404, java.lang.Object(o54428sub), i10896, i13373) → f26162_0_visit_Load(EOS(STATIC_26162), java.lang.Object(o54428sub), i10896, o54356, o54404, java.lang.Object(o54428sub), i10896, i13373)
f26162_0_visit_Load(EOS(STATIC_26162), java.lang.Object(o54428sub), i10896, o54356, o54404, java.lang.Object(o54428sub), i10896, i13373) → f26167_0_visit_Load(EOS(STATIC_26167), java.lang.Object(o54428sub), i10896, o54404, java.lang.Object(o54428sub), i10896, i13373)
f26167_0_visit_Load(EOS(STATIC_26167), java.lang.Object(o54428sub), i10896, o54404, java.lang.Object(o54428sub), i10896, i13373) → f26170_0_visit_Load(EOS(STATIC_26170), java.lang.Object(o54428sub), i10896, java.lang.Object(o54428sub), i10896, i13373)
f26174_0_visit_Return(EOS(STATIC_26174), o54496, i10970, i10970, o54506, java.lang.Object(MarkingGraphVisitor(EOC, i10963, o54489)), i10970, i13373) → f26179_0_visit_Return(EOS(STATIC_26179), o54496, i10970, i10970, o54506, java.lang.Object(MarkingGraphVisitor(EOC, i10963, o54489)), i10970, i13373)
f26176_0_visit_Return(EOS(STATIC_26176), o54517, i10980, i10980, o54518, java.lang.Object(MarkingGraphVisitor(EOC, i10973, o54515)), i10980, i13373) → f26174_0_visit_Return(EOS(STATIC_26174), o54517, i10980, i10980, o54518, java.lang.Object(MarkingGraphVisitor(EOC, i10973, o54515)), i10980, i13373)
f26178_0_visit_Return(EOS(STATIC_26178), o54527, i10989, i10989, o54528, o54521, i10989, i13373) → f26179_0_visit_Return(EOS(STATIC_26179), o54527, i10989, i10989, o54528, o54521, i10989, i13373)
f26179_0_visit_Return(EOS(STATIC_26179), o54549, i10998, i10998, o54554, o54555, i10998, i13373) → f26182_0_visit_JMP(EOS(STATIC_26182), o54549, i10998, i10998, o54554, i13373)
f26182_0_visit_JMP(EOS(STATIC_26182), o54549, i10998, i10998, o54554, i13373) → f26183_0_visit_Load(EOS(STATIC_26183), o54549, i10998, i10998, o54554, i13373)
f26183_0_visit_Load(EOS(STATIC_26183), o54549, i10998, i10998, o54554, i13373) → f26111_0_visit_Load(EOS(STATIC_26111), o54549, i10998, i10998, o54554, i13373)
f26170_0_visit_Load(EOS(STATIC_26170), java.lang.Object(o54428sub), i10896, java.lang.Object(o54428sub), i10896, i13373) → f25885_0_visit_Load(EOS(STATIC_25885), java.lang.Object(o54428sub), i10896, java.lang.Object(o54428sub), i10896, i13373)
f26160_1_visit_InvokeMethod(f25898_0_visit_Return(EOS(STATIC_25898), java.lang.Object(MarkingGraphVisitor(EOC, i10963, o54489)), i10970, i13373), o54496, i10970, i10970, o54506, java.lang.Object(MarkingGraphVisitor(EOC, i10963, o54489)), i10970, i13373_lC) → f26174_0_visit_Return(EOS(STATIC_26174), o54496, i10970, i10970, o54506, java.lang.Object(MarkingGraphVisitor(EOC, i10963, o54489)), i10970, i13373) | >=(i13373_lC, i13373)
f26160_1_visit_InvokeMethod(f25998_0_visit_Return(EOS(STATIC_25998), java.lang.Object(MarkingGraphVisitor(EOC, i10973, o54515)), i10980, i13373), o54356, i10980, i10980, o54404, java.lang.Object(o54428sub), i10980, i13373_lC) → f26176_0_visit_Return(EOS(STATIC_26176), o54517, i10980, i10980, o54518, java.lang.Object(MarkingGraphVisitor(EOC, i10973, o54515)), i10980, i13373) | >=(i13373_lC, i13373)
f26160_1_visit_InvokeMethod(f26121_0_visit_Return(EOS(STATIC_26121), o54521, i10989, i13373), o54356, i10989, i10989, o54404, java.lang.Object(o54428sub), i10989, i13373_lC) → f26178_0_visit_Return(EOS(STATIC_26178), o54527, i10989, i10989, o54528, o54521, i10989, i13373) | >=(i13373_lC, i13373)

Combined rules. Obtained 5 conditional rules for P and 8 conditional rules for R.


P rules:
f26145_0_visit_NULL(EOS(STATIC_26145), x0, x1, x1, x2, java.lang.Object(MarkingGraphVisitor(EOC, x1, x3)), java.lang.Object(MarkingGraphVisitor(EOC, x1, x3)), x4) → f26160_1_visit_InvokeMethod(f26145_0_visit_NULL(EOS(STATIC_26145), java.lang.Object(MarkingGraphVisitor(EOC, +(x1, 1), java.lang.Object(List(EOC, x5)))), x1, x1, x5, x6, x6, -(x4, 1)), x0, x1, x1, x2, java.lang.Object(MarkingGraphVisitor(EOC, x1, x3)), x1, x4) | >(+(x4, 1), 0)
f26160_1_visit_InvokeMethod(f25898_0_visit_Return(EOS(STATIC_25898), java.lang.Object(MarkingGraphVisitor(EOC, x0, x1)), x2, x3), x4, x2, x2, java.lang.Object(List(EOC, x5)), java.lang.Object(MarkingGraphVisitor(EOC, x0, x1)), x2, x6) → f26145_0_visit_NULL(EOS(STATIC_26145), x4, x2, x2, x5, x7, x7, x3) | >=(x6, x3)
f26145_0_visit_NULL(EOS(STATIC_26145), x0, x1, x1, java.lang.Object(List(EOC, x2)), NULL, NULL, x3) → f26145_0_visit_NULL(EOS(STATIC_26145), x0, x1, x1, x2, x4, x4, x3)
f26160_1_visit_InvokeMethod(f25998_0_visit_Return(EOS(STATIC_25998), java.lang.Object(MarkingGraphVisitor(EOC, x0, x1)), x2, x3), x4, x2, x2, x5, java.lang.Object(x6), x2, x7) → f26145_0_visit_NULL(EOS(STATIC_26145), x8, x2, x2, x9, x10, x10, x3) | >=(x7, x3)
f26160_1_visit_InvokeMethod(f26121_0_visit_Return(EOS(STATIC_26121), x0, x1, x2), x3, x1, x1, x4, java.lang.Object(x5), x1, x6) → f26145_0_visit_NULL(EOS(STATIC_26145), x7, x1, x1, x8, x9, x9, x2) | >=(x6, x2)
R rules:
f26145_0_visit_NULL(EOS(STATIC_26145), x0, x1, x1, x2, NULL, NULL, x3) → f26114_0_visit_NULL(EOS(STATIC_26114), x0, x1, x1, x2, x2, x3)
f26160_1_visit_InvokeMethod(f25898_0_visit_Return(EOS(STATIC_25898), java.lang.Object(MarkingGraphVisitor(EOC, x0, x1)), x2, x3), x4, x2, x2, x5, java.lang.Object(MarkingGraphVisitor(EOC, x0, x1)), x2, x6) → f26114_0_visit_NULL(EOS(STATIC_26114), x4, x2, x2, x5, x5, x3) | >=(x6, x3)
f26145_0_visit_NULL(EOS(STATIC_26145), x0, x1, x1, x2, java.lang.Object(MarkingGraphVisitor(EOC, x3, x4)), java.lang.Object(MarkingGraphVisitor(EOC, x3, x4)), x5) → f26160_1_visit_InvokeMethod(f26121_0_visit_Return(EOS(STATIC_26121), java.lang.Object(MarkingGraphVisitor(EOC, x3, x4)), x1, x5), x0, x1, x1, x2, java.lang.Object(MarkingGraphVisitor(EOC, x3, x4)), x1, x5) | !(=(x3, x1))
f26145_0_visit_NULL(EOS(STATIC_26145), x0, x1, x1, x2, java.lang.Object(MarkingGraphVisitor(EOC, x1, x3)), java.lang.Object(MarkingGraphVisitor(EOC, x1, x3)), x4) → f26160_1_visit_InvokeMethod(f26114_0_visit_NULL(EOS(STATIC_26114), java.lang.Object(MarkingGraphVisitor(EOC, +(x1, 1), x5)), x1, x1, x5, x5, -(x4, 1)), x0, x1, x1, x2, java.lang.Object(MarkingGraphVisitor(EOC, x1, x3)), x1, x4) | >(+(x4, 1), 0)
f26160_1_visit_InvokeMethod(f25998_0_visit_Return(EOS(STATIC_25998), java.lang.Object(MarkingGraphVisitor(EOC, x0, x1)), x2, x3), x4, x2, x2, x5, java.lang.Object(x6), x2, x7) → f26114_0_visit_NULL(EOS(STATIC_26114), x8, x2, x2, x9, x9, x3) | >=(x7, x3)
f26160_1_visit_InvokeMethod(f26121_0_visit_Return(EOS(STATIC_26121), x0, x1, x2), x3, x1, x1, x4, java.lang.Object(x5), x1, x6) → f26114_0_visit_NULL(EOS(STATIC_26114), x7, x1, x1, x8, x8, x2) | >=(x6, x2)
f26114_0_visit_NULL(EOS(STATIC_26114), x0, x1, x1, NULL, NULL, x2) → f26121_0_visit_Return(EOS(STATIC_26121), x0, x1, x2)
f26114_0_visit_NULL(EOS(STATIC_26114), x0, x1, x1, java.lang.Object(List(EOC, x2)), java.lang.Object(List(EOC, x2)), x3) → f26145_0_visit_NULL(EOS(STATIC_26145), x0, x1, x1, x2, x4, x4, x3)

Filtered ground terms:



f26145_0_visit_NULL(x1, x2, x3, x4, x5, x6, x7, x8) → f26145_0_visit_NULL(x2, x3, x4, x5, x6, x7, x8)
Cond_f26145_0_visit_NULL(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → Cond_f26145_0_visit_NULL(x1, x3, x4, x5, x6, x7, x8, x9, x10, x11)
MarkingGraphVisitor(x1, x2, x3) → MarkingGraphVisitor(x2, x3)
List(x1, x2) → List(x2)
f25898_0_visit_Return(x1, x2, x3, x4) → f25898_0_visit_Return(x2, x3, x4)
f25998_0_visit_Return(x1, x2, x3, x4) → f25998_0_visit_Return(x2, x3, x4)
f26121_0_visit_Return(x1, x2, x3, x4) → f26121_0_visit_Return(x2, x3, x4)
f26114_0_visit_NULL(x1, x2, x3, x4, x5, x6, x7) → f26114_0_visit_NULL(x2, x3, x4, x5, x6, x7)
Cond_f26145_0_visit_NULL(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_f26145_0_visit_NULL(x1, x3, x4, x5, x6, x7, x8, x9)
Cond_f26145_0_visit_NULL1(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_f26145_0_visit_NULL1(x1, x3, x4, x5, x6, x7, x8, x9, x10)

Filtered unneeded arguments:



f26145_0_visit_NULL(x1, x2, x3, x4, x5, x6, x7) → f26145_0_visit_NULL(x2, x3, x4, x5, x6, x7)
Cond_f26145_0_visit_NULL(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_f26145_0_visit_NULL(x1, x3, x4, x5, x6, x7, x8, x9, x10)
f26160_1_visit_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8) → f26160_1_visit_InvokeMethod(x1, x3, x4, x5, x6, x7, x8)
Cond_f26160_1_visit_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_f26160_1_visit_InvokeMethod(x1, x2, x4, x5, x6, x8, x10)
f25898_0_visit_Return(x1, x2, x3) → f25898_0_visit_Return(x2, x3)
Cond_f26160_1_visit_InvokeMethod1(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) → Cond_f26160_1_visit_InvokeMethod1(x1, x2, x4, x5, x8, x11, x12)
f25998_0_visit_Return(x1, x2, x3) → f25998_0_visit_Return(x2, x3)
Cond_f26160_1_visit_InvokeMethod2(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) → Cond_f26160_1_visit_InvokeMethod2(x1, x2, x4, x5, x8, x11, x12)
f26121_0_visit_Return(x1, x2, x3) → f26121_0_visit_Return(x2, x3)
Cond_f26160_1_visit_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_f26160_1_visit_InvokeMethod(x1, x2, x4, x5, x6, x8)
Cond_f26145_0_visit_NULL(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_f26145_0_visit_NULL(x1, x3, x4, x5, x6, x7, x8)
Cond_f26145_0_visit_NULL1(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_f26145_0_visit_NULL1(x1, x3, x4, x5, x6, x7, x8, x9)
MarkingGraphVisitor(x1, x2) → MarkingGraphVisitor(x1)
Cond_f26160_1_visit_InvokeMethod1(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → Cond_f26160_1_visit_InvokeMethod1(x1, x2, x4, x5, x8, x11)
Cond_f26160_1_visit_InvokeMethod2(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → Cond_f26160_1_visit_InvokeMethod2(x1, x2, x4, x5, x8, x11)
f26114_0_visit_NULL(x1, x2, x3, x4, x5, x6) → f26114_0_visit_NULL(x2, x3, x4, x5, x6)

Filtered duplicate args:



f26145_0_visit_NULL(x1, x2, x3, x4, x5, x6) → f26145_0_visit_NULL(x2, x3, x5, x6)
Cond_f26145_0_visit_NULL(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_f26145_0_visit_NULL(x1, x4, x6, x7, x8, x9)
f26160_1_visit_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → f26160_1_visit_InvokeMethod(x1, x4, x5, x7)
Cond_f26160_1_visit_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → Cond_f26160_1_visit_InvokeMethod(x1, x2, x5, x7)
Cond_f26160_1_visit_InvokeMethod1(x1, x2, x3, x4, x5, x6, x7) → Cond_f26160_1_visit_InvokeMethod1(x1, x2, x6, x7)
Cond_f26160_1_visit_InvokeMethod2(x1, x2, x3, x4, x5, x6, x7) → Cond_f26160_1_visit_InvokeMethod2(x1, x2, x6, x7)
f26114_0_visit_NULL(x1, x2, x3, x4, x5) → f26114_0_visit_NULL(x2, x4, x5)
Cond_f26160_1_visit_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_f26160_1_visit_InvokeMethod(x1, x2, x5)
Cond_f26145_0_visit_NULL(x1, x2, x3, x4, x5, x6, x7) → Cond_f26145_0_visit_NULL(x1, x3, x4, x6, x7)
Cond_f26145_0_visit_NULL1(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_f26145_0_visit_NULL1(x1, x4, x6, x7, x8)
Cond_f26160_1_visit_InvokeMethod1(x1, x2, x3, x4, x5, x6) → Cond_f26160_1_visit_InvokeMethod1(x1, x2, x6)
Cond_f26160_1_visit_InvokeMethod2(x1, x2, x3, x4, x5, x6) → Cond_f26160_1_visit_InvokeMethod2(x1, x2, x6)

Combined rules. Obtained 6 conditional rules for P and 7 conditional rules for R.


P rules:
F26145_0_VISIT_NULL(x1, x2, java.lang.Object(MarkingGraphVisitor(x1)), x4) → F26160_1_VISIT_INVOKEMETHOD(f26145_0_visit_NULL(x1, x5, x6, -(x4, 1)), x2, java.lang.Object(MarkingGraphVisitor(x1)), x4) | >(x4, -1)
F26145_0_VISIT_NULL(x1, x2, java.lang.Object(MarkingGraphVisitor(x1)), x4) → F26145_0_VISIT_NULL(x1, x5, x6, -(x4, 1)) | >(x4, -1)
F26160_1_VISIT_INVOKEMETHOD(f25898_0_visit_Return(x2, x3), java.lang.Object(List(x5)), java.lang.Object(MarkingGraphVisitor(x0)), x6) → F26145_0_VISIT_NULL(x2, x5, x7, x3) | >=(x6, x3)
F26145_0_VISIT_NULL(x1, java.lang.Object(List(x2)), NULL, x3) → F26145_0_VISIT_NULL(x1, x2, x4, x3)
F26160_1_VISIT_INVOKEMETHOD(f25998_0_visit_Return(x2, x3), x5, java.lang.Object(x6), x7) → F26145_0_VISIT_NULL(x2, x9, x10, x3) | >=(x7, x3)
F26160_1_VISIT_INVOKEMETHOD(f26121_0_visit_Return(x1, x2), x4, java.lang.Object(x5), x6) → F26145_0_VISIT_NULL(x1, x8, x9, x2) | >=(x6, x2)
R rules:
f26160_1_visit_InvokeMethod(f25998_0_visit_Return(x2, x3), x5, java.lang.Object(x6), x7) → f26114_0_visit_NULL(x2, x9, x3) | >=(x7, x3)
f26160_1_visit_InvokeMethod(f26121_0_visit_Return(x1, x2), x4, java.lang.Object(x5), x6) → f26114_0_visit_NULL(x1, x8, x2) | >=(x6, x2)
f26114_0_visit_NULL(x1, NULL, x2) → f26121_0_visit_Return(x1, x2)
f26160_1_visit_InvokeMethod(f25898_0_visit_Return(x2, x3), x5, java.lang.Object(MarkingGraphVisitor(x0)), x6) → f26114_0_visit_NULL(x2, x5, x3) | >=(x6, x3)
f26114_0_visit_NULL(x0, java.lang.Object(List(x1)), x2) → f26114_0_visit_NULL(x0, x1, x2)
f26114_0_visit_NULL(x0, java.lang.Object(List(x1)), x2) → f26160_1_visit_InvokeMethod(f26121_0_visit_Return(x0, x2), x1, java.lang.Object(MarkingGraphVisitor(x3)), x2) | !(=(x3, x0))
f26114_0_visit_NULL(x0, java.lang.Object(List(x1)), x2) → f26160_1_visit_InvokeMethod(f26114_0_visit_NULL(x0, x3, -(x2, 1)), x1, java.lang.Object(MarkingGraphVisitor(x0)), x2) | >(x2, -1)

Finished conversion. Obtained 11 rules for P and 12 rules for R. System has predefined symbols.


P rules:
F26145_0_VISIT_NULL'(x1, x2, java.lang.Object(MarkingGraphVisitor(x1)), x4) → COND_F26145_0_VISIT_NULL(>(x4, -1), x1, x2, java.lang.Object(MarkingGraphVisitor(x1)), x4, x5, x6)
COND_F26145_0_VISIT_NULL(TRUE, x1, x2, java.lang.Object(MarkingGraphVisitor(x1)), x4, x5, x6) → F26160_1_VISIT_INVOKEMETHOD'(f26145_0_visit_NULL(x1, x5, x6, -(x4, 1)), x2, java.lang.Object(MarkingGraphVisitor(x1)), x4)
F26145_0_VISIT_NULL'(x1, x2, java.lang.Object(MarkingGraphVisitor(x1)), x4) → COND_F26145_0_VISIT_NULL1(>(x4, -1), x1, x2, java.lang.Object(MarkingGraphVisitor(x1)), x4, x5, x6)
COND_F26145_0_VISIT_NULL1(TRUE, x1, x2, java.lang.Object(MarkingGraphVisitor(x1)), x4, x5, x6) → F26145_0_VISIT_NULL'(x1, x5, x6, -(x4, 1))
F26160_1_VISIT_INVOKEMETHOD'(f25898_0_visit_Return(x2, x3), java.lang.Object(List(x5)), java.lang.Object(MarkingGraphVisitor(x0)), x6) → COND_F26160_1_VISIT_INVOKEMETHOD(>=(x6, x3), f25898_0_visit_Return(x2, x3), java.lang.Object(List(x5)), java.lang.Object(MarkingGraphVisitor(x0)), x6, x7)
COND_F26160_1_VISIT_INVOKEMETHOD(TRUE, f25898_0_visit_Return(x2, x3), java.lang.Object(List(x5)), java.lang.Object(MarkingGraphVisitor(x0)), x6, x7) → F26145_0_VISIT_NULL'(x2, x5, x7, x3)
F26145_0_VISIT_NULL'(x1, java.lang.Object(List(x2)), NULL, x3) → F26145_0_VISIT_NULL'(x1, x2, x4, x3)
F26160_1_VISIT_INVOKEMETHOD'(f25998_0_visit_Return(x2, x3), x5, java.lang.Object(x6), x7) → COND_F26160_1_VISIT_INVOKEMETHOD1(>=(x7, x3), f25998_0_visit_Return(x2, x3), x5, java.lang.Object(x6), x7, x9, x10)
COND_F26160_1_VISIT_INVOKEMETHOD1(TRUE, f25998_0_visit_Return(x2, x3), x5, java.lang.Object(x6), x7, x9, x10) → F26145_0_VISIT_NULL'(x2, x9, x10, x3)
F26160_1_VISIT_INVOKEMETHOD'(f26121_0_visit_Return(x1, x2), x4, java.lang.Object(x5), x6) → COND_F26160_1_VISIT_INVOKEMETHOD2(>=(x6, x2), f26121_0_visit_Return(x1, x2), x4, java.lang.Object(x5), x6, x8, x9)
COND_F26160_1_VISIT_INVOKEMETHOD2(TRUE, f26121_0_visit_Return(x1, x2), x4, java.lang.Object(x5), x6, x8, x9) → F26145_0_VISIT_NULL'(x1, x8, x9, x2)
R rules:
f26160_1_visit_InvokeMethod(f25998_0_visit_Return(x2, x3), x5, java.lang.Object(x6), x7) → Cond_f26160_1_visit_InvokeMethod(>=(x7, x3), f25998_0_visit_Return(x2, x3), x5, java.lang.Object(x6), x7, x9)
Cond_f26160_1_visit_InvokeMethod(TRUE, f25998_0_visit_Return(x2, x3), x5, java.lang.Object(x6), x7, x9) → f26114_0_visit_NULL(x2, x9, x3)
f26160_1_visit_InvokeMethod(f26121_0_visit_Return(x1, x2), x4, java.lang.Object(x5), x6) → Cond_f26160_1_visit_InvokeMethod1(>=(x6, x2), f26121_0_visit_Return(x1, x2), x4, java.lang.Object(x5), x6, x8)
Cond_f26160_1_visit_InvokeMethod1(TRUE, f26121_0_visit_Return(x1, x2), x4, java.lang.Object(x5), x6, x8) → f26114_0_visit_NULL(x1, x8, x2)
f26114_0_visit_NULL(x1, NULL, x2) → f26121_0_visit_Return(x1, x2)
f26160_1_visit_InvokeMethod(f25898_0_visit_Return(x2, x3), x5, java.lang.Object(MarkingGraphVisitor(x0)), x6) → Cond_f26160_1_visit_InvokeMethod2(>=(x6, x3), f25898_0_visit_Return(x2, x3), x5, java.lang.Object(MarkingGraphVisitor(x0)), x6)
Cond_f26160_1_visit_InvokeMethod2(TRUE, f25898_0_visit_Return(x2, x3), x5, java.lang.Object(MarkingGraphVisitor(x0)), x6) → f26114_0_visit_NULL(x2, x5, x3)
f26114_0_visit_NULL(x0, java.lang.Object(List(x1)), x2) → f26114_0_visit_NULL(x0, x1, x2)
f26114_0_visit_NULL(x0, java.lang.Object(List(x1)), x2) → Cond_f26114_0_visit_NULL(!(=(x3, x0)), x0, java.lang.Object(List(x1)), x2, x3)
Cond_f26114_0_visit_NULL(TRUE, x0, java.lang.Object(List(x1)), x2, x3) → f26160_1_visit_InvokeMethod(f26121_0_visit_Return(x0, x2), x1, java.lang.Object(MarkingGraphVisitor(x3)), x2)
f26114_0_visit_NULL(x0, java.lang.Object(List(x1)), x2) → Cond_f26114_0_visit_NULL1(>(x2, -1), x0, java.lang.Object(List(x1)), x2, x3)
Cond_f26114_0_visit_NULL1(TRUE, x0, java.lang.Object(List(x1)), x2, x3) → f26160_1_visit_InvokeMethod(f26114_0_visit_NULL(x0, x3, -(x2, 1)), x1, java.lang.Object(MarkingGraphVisitor(x0)), x2)

(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:

Integer, Boolean


The ITRS R consists of the following rules:
f26160_1_visit_InvokeMethod(f25998_0_visit_Return(x2, x3), x5, java.lang.Object(x6), x7) → Cond_f26160_1_visit_InvokeMethod(x7 >= x3, f25998_0_visit_Return(x2, x3), x5, java.lang.Object(x6), x7, x9)
Cond_f26160_1_visit_InvokeMethod(TRUE, f25998_0_visit_Return(x2, x3), x5, java.lang.Object(x6), x7, x9) → f26114_0_visit_NULL(x2, x9, x3)
f26160_1_visit_InvokeMethod(f26121_0_visit_Return(x1, x2), x4, java.lang.Object(x5), x6) → Cond_f26160_1_visit_InvokeMethod1(x6 >= x2, f26121_0_visit_Return(x1, x2), x4, java.lang.Object(x5), x6, x8)
Cond_f26160_1_visit_InvokeMethod1(TRUE, f26121_0_visit_Return(x1, x2), x4, java.lang.Object(x5), x6, x8) → f26114_0_visit_NULL(x1, x8, x2)
f26114_0_visit_NULL(x1, NULL, x2) → f26121_0_visit_Return(x1, x2)
f26160_1_visit_InvokeMethod(f25898_0_visit_Return(x2, x3), x5, java.lang.Object(MarkingGraphVisitor(x0)), x6) → Cond_f26160_1_visit_InvokeMethod2(x6 >= x3, f25898_0_visit_Return(x2, x3), x5, java.lang.Object(MarkingGraphVisitor(x0)), x6)
Cond_f26160_1_visit_InvokeMethod2(TRUE, f25898_0_visit_Return(x2, x3), x5, java.lang.Object(MarkingGraphVisitor(x0)), x6) → f26114_0_visit_NULL(x2, x5, x3)
f26114_0_visit_NULL(x0, java.lang.Object(List(x1)), x2) → f26114_0_visit_NULL(x0, x1, x2)
f26114_0_visit_NULL(x0, java.lang.Object(List(x1)), x2) → Cond_f26114_0_visit_NULL(!(x3 = x0), x0, java.lang.Object(List(x1)), x2, x3)
Cond_f26114_0_visit_NULL(TRUE, x0, java.lang.Object(List(x1)), x2, x3) → f26160_1_visit_InvokeMethod(f26121_0_visit_Return(x0, x2), x1, java.lang.Object(MarkingGraphVisitor(x3)), x2)
f26114_0_visit_NULL(x0, java.lang.Object(List(x1)), x2) → Cond_f26114_0_visit_NULL1(x2 > -1, x0, java.lang.Object(List(x1)), x2, x3)
Cond_f26114_0_visit_NULL1(TRUE, x0, java.lang.Object(List(x1)), x2, x3) → f26160_1_visit_InvokeMethod(f26114_0_visit_NULL(x0, x3, x2 - 1), x1, java.lang.Object(MarkingGraphVisitor(x0)), x2)

The integer pair graph contains the following rules and edges:
(0): F26145_0_VISIT_NULL'(x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0]) → COND_F26145_0_VISIT_NULL(x4[0] > -1, x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])
(1): COND_F26145_0_VISIT_NULL(TRUE, x1[1], x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1], x5[1], x6[1]) → F26160_1_VISIT_INVOKEMETHOD'(f26145_0_visit_NULL(x1[1], x5[1], x6[1], x4[1] - 1), x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1])
(2): F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2]) → COND_F26145_0_VISIT_NULL1(x4[2] > -1, x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])
(3): COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3]) → F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], x4[3] - 1)
(4): F26160_1_VISIT_INVOKEMETHOD'(f25898_0_visit_Return(x2[4], x3[4]), java.lang.Object(List(x5[4])), java.lang.Object(MarkingGraphVisitor(x0[4])), x6[4]) → COND_F26160_1_VISIT_INVOKEMETHOD(x6[4] >= x3[4], f25898_0_visit_Return(x2[4], x3[4]), java.lang.Object(List(x5[4])), java.lang.Object(MarkingGraphVisitor(x0[4])), x6[4], x7[4])
(5): COND_F26160_1_VISIT_INVOKEMETHOD(TRUE, f25898_0_visit_Return(x2[5], x3[5]), java.lang.Object(List(x5[5])), java.lang.Object(MarkingGraphVisitor(x0[5])), x6[5], x7[5]) → F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5])
(6): F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])
(7): F26160_1_VISIT_INVOKEMETHOD'(f25998_0_visit_Return(x2[7], x3[7]), x5[7], java.lang.Object(x6[7]), x7[7]) → COND_F26160_1_VISIT_INVOKEMETHOD1(x7[7] >= x3[7], f25998_0_visit_Return(x2[7], x3[7]), x5[7], java.lang.Object(x6[7]), x7[7], x9[7], x10[7])
(8): COND_F26160_1_VISIT_INVOKEMETHOD1(TRUE, f25998_0_visit_Return(x2[8], x3[8]), x5[8], java.lang.Object(x6[8]), x7[8], x9[8], x10[8]) → F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8])
(9): F26160_1_VISIT_INVOKEMETHOD'(f26121_0_visit_Return(x1[9], x2[9]), x4[9], java.lang.Object(x5[9]), x6[9]) → COND_F26160_1_VISIT_INVOKEMETHOD2(x6[9] >= x2[9], f26121_0_visit_Return(x1[9], x2[9]), x4[9], java.lang.Object(x5[9]), x6[9], x8[9], x9[9])
(10): COND_F26160_1_VISIT_INVOKEMETHOD2(TRUE, f26121_0_visit_Return(x1[10], x2[10]), x4[10], java.lang.Object(x5[10]), x6[10], x8[10], x9[10]) → F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10])

(0) -> (1), if (x4[0] > -1x1[0]* x1[1]x2[0]* x2[1]java.lang.Object(MarkingGraphVisitor(x1[0])) →* java.lang.Object(MarkingGraphVisitor(x1[1]))∧x4[0]* x4[1]x5[0]* x5[1]x6[0]* x6[1])


(1) -> (4), if (f26145_0_visit_NULL(x1[1], x5[1], x6[1], x4[1] - 1) →* f25898_0_visit_Return(x2[4], x3[4])∧x2[1]* java.lang.Object(List(x5[4]))∧java.lang.Object(MarkingGraphVisitor(x1[1])) →* java.lang.Object(MarkingGraphVisitor(x0[4]))∧x4[1]* x6[4])


(1) -> (7), if (f26145_0_visit_NULL(x1[1], x5[1], x6[1], x4[1] - 1) →* f25998_0_visit_Return(x2[7], x3[7])∧x2[1]* x5[7]java.lang.Object(MarkingGraphVisitor(x1[1])) →* java.lang.Object(x6[7])∧x4[1]* x7[7])


(1) -> (9), if (f26145_0_visit_NULL(x1[1], x5[1], x6[1], x4[1] - 1) →* f26121_0_visit_Return(x1[9], x2[9])∧x2[1]* x4[9]java.lang.Object(MarkingGraphVisitor(x1[1])) →* java.lang.Object(x5[9])∧x4[1]* x6[9])


(2) -> (3), if (x4[2] > -1x1[2]* x1[3]x2[2]* x2[3]java.lang.Object(MarkingGraphVisitor(x1[2])) →* java.lang.Object(MarkingGraphVisitor(x1[3]))∧x4[2]* x4[3]x5[2]* x5[3]x6[2]* x6[3])


(3) -> (0), if (x1[3]* x1[0]x5[3]* x2[0]x6[3]* java.lang.Object(MarkingGraphVisitor(x1[0]))∧x4[3] - 1* x4[0])


(3) -> (2), if (x1[3]* x1[2]x5[3]* x2[2]x6[3]* java.lang.Object(MarkingGraphVisitor(x1[2]))∧x4[3] - 1* x4[2])


(3) -> (6), if (x1[3]* x1[6]x5[3]* java.lang.Object(List(x2[6]))∧x6[3]* NULLx4[3] - 1* x3[6])


(4) -> (5), if (x6[4] >= x3[4]f25898_0_visit_Return(x2[4], x3[4]) →* f25898_0_visit_Return(x2[5], x3[5])∧java.lang.Object(List(x5[4])) →* java.lang.Object(List(x5[5]))∧java.lang.Object(MarkingGraphVisitor(x0[4])) →* java.lang.Object(MarkingGraphVisitor(x0[5]))∧x6[4]* x6[5]x7[4]* x7[5])


(5) -> (0), if (x2[5]* x1[0]x5[5]* x2[0]x7[5]* java.lang.Object(MarkingGraphVisitor(x1[0]))∧x3[5]* x4[0])


(5) -> (2), if (x2[5]* x1[2]x5[5]* x2[2]x7[5]* java.lang.Object(MarkingGraphVisitor(x1[2]))∧x3[5]* x4[2])


(5) -> (6), if (x2[5]* x1[6]x5[5]* java.lang.Object(List(x2[6]))∧x7[5]* NULLx3[5]* x3[6])


(6) -> (0), if (x1[6]* x1[0]x2[6]* x2[0]x4[6]* java.lang.Object(MarkingGraphVisitor(x1[0]))∧x3[6]* x4[0])


(6) -> (2), if (x1[6]* x1[2]x2[6]* x2[2]x4[6]* java.lang.Object(MarkingGraphVisitor(x1[2]))∧x3[6]* x4[2])


(6) -> (6), if (x1[6]* x1[6]'x2[6]* java.lang.Object(List(x2[6]'))∧x4[6]* NULLx3[6]* x3[6]')


(7) -> (8), if (x7[7] >= x3[7]f25998_0_visit_Return(x2[7], x3[7]) →* f25998_0_visit_Return(x2[8], x3[8])∧x5[7]* x5[8]java.lang.Object(x6[7]) →* java.lang.Object(x6[8])∧x7[7]* x7[8]x9[7]* x9[8]x10[7]* x10[8])


(8) -> (0), if (x2[8]* x1[0]x9[8]* x2[0]x10[8]* java.lang.Object(MarkingGraphVisitor(x1[0]))∧x3[8]* x4[0])


(8) -> (2), if (x2[8]* x1[2]x9[8]* x2[2]x10[8]* java.lang.Object(MarkingGraphVisitor(x1[2]))∧x3[8]* x4[2])


(8) -> (6), if (x2[8]* x1[6]x9[8]* java.lang.Object(List(x2[6]))∧x10[8]* NULLx3[8]* x3[6])


(9) -> (10), if (x6[9] >= x2[9]f26121_0_visit_Return(x1[9], x2[9]) →* f26121_0_visit_Return(x1[10], x2[10])∧x4[9]* x4[10]java.lang.Object(x5[9]) →* java.lang.Object(x5[10])∧x6[9]* x6[10]x8[9]* x8[10]x9[9]* x9[10])


(10) -> (0), if (x1[10]* x1[0]x8[10]* x2[0]x9[10]* java.lang.Object(MarkingGraphVisitor(x1[0]))∧x2[10]* x4[0])


(10) -> (2), if (x1[10]* x1[2]x8[10]* x2[2]x9[10]* java.lang.Object(MarkingGraphVisitor(x1[2]))∧x2[10]* x4[2])


(10) -> (6), if (x1[10]* x1[6]x8[10]* java.lang.Object(List(x2[6]))∧x9[10]* NULLx2[10]* x3[6])



The set Q consists of the following terms:
f26160_1_visit_InvokeMethod(f25998_0_visit_Return(x0, x1), x2, java.lang.Object(x3), x4)
Cond_f26160_1_visit_InvokeMethod(TRUE, f25998_0_visit_Return(x0, x1), x2, java.lang.Object(x3), x4, x5)
f26160_1_visit_InvokeMethod(f26121_0_visit_Return(x0, x1), x2, java.lang.Object(x3), x4)
Cond_f26160_1_visit_InvokeMethod1(TRUE, f26121_0_visit_Return(x0, x1), x2, java.lang.Object(x3), x4, x5)
f26114_0_visit_NULL(x0, NULL, x1)
f26160_1_visit_InvokeMethod(f25898_0_visit_Return(x0, x1), x2, java.lang.Object(MarkingGraphVisitor(x3)), x4)
Cond_f26160_1_visit_InvokeMethod2(TRUE, f25898_0_visit_Return(x0, x1), x2, java.lang.Object(MarkingGraphVisitor(x3)), x4)
f26114_0_visit_NULL(x0, java.lang.Object(List(x1)), x2)
Cond_f26114_0_visit_NULL(TRUE, x0, java.lang.Object(List(x1)), x2, x3)
Cond_f26114_0_visit_NULL1(TRUE, x0, java.lang.Object(List(x1)), x2, x3)

(8) IDPNonInfProof (SOUND transformation)

Used the following options for this NonInfProof:
IDPGPoloSolver: Range: [(-1,2)] IsNat: true Interpretation Shape Heuristic: aprove.DPFramework.IDPProblem.Processors.nonInf.poly.IdpDefaultShapeHeuristic@cdffda2 Constraint Generator: NonInfConstraintGenerator: PathGenerator: MetricPathGenerator: Max Left Steps: 1 Max Right Steps: 1

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 F26145_0_VISIT_NULL'(x1, x2, java.lang.Object(MarkingGraphVisitor(x1)), x4) → COND_F26145_0_VISIT_NULL(>(x4, -1), x1, x2, java.lang.Object(MarkingGraphVisitor(x1)), x4, x5, x6) the following chains were created:
  • We consider the chain COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3]) → F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1)), F26145_0_VISIT_NULL'(x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0]) → COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0]), COND_F26145_0_VISIT_NULL(TRUE, x1[1], x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1], x5[1], x6[1]) → F26160_1_VISIT_INVOKEMETHOD'(f26145_0_visit_NULL(x1[1], x5[1], x6[1], -(x4[1], 1)), x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1]) which results in the following constraint:

    (1)    (x1[3]=x1[0]x5[3]=x2[0]x6[3]=java.lang.Object(MarkingGraphVisitor(x1[0]))∧-(x4[3], 1)=x4[0]>(x4[0], -1)=TRUEx1[0]=x1[1]x2[0]=x2[1]java.lang.Object(MarkingGraphVisitor(x1[0]))=java.lang.Object(MarkingGraphVisitor(x1[1]))∧x4[0]=x4[1]x5[0]=x5[1]x6[0]=x6[1]F26145_0_VISIT_NULL'(x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0])≥NonInfC∧F26145_0_VISIT_NULL'(x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0])≥COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])∧(UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥))



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

    (2)    (>(-(x4[3], 1), -1)=TRUEF26145_0_VISIT_NULL'(x1[3], x5[3], java.lang.Object(MarkingGraphVisitor(x1[3])), -(x4[3], 1))≥NonInfC∧F26145_0_VISIT_NULL'(x1[3], x5[3], java.lang.Object(MarkingGraphVisitor(x1[3])), -(x4[3], 1))≥COND_F26145_0_VISIT_NULL(>(-(x4[3], 1), -1), x1[3], x5[3], java.lang.Object(MarkingGraphVisitor(x1[3])), -(x4[3], 1), x5[0], x6[0])∧(UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥))



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

    (3)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥)∧[(-1)bni_112 + (-1)Bound*bni_112] + [(-1)bni_112]x1[3] ≥ 0∧[(-1)bso_113] + x5[3] + x5[0] ≥ 0)



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

    (4)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥)∧[(-1)bni_112 + (-1)Bound*bni_112] + [(-1)bni_112]x1[3] ≥ 0∧[(-1)bso_113] + x5[3] + x5[0] ≥ 0)



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

    (5)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥)∧[(-1)bni_112 + (-1)Bound*bni_112] + [(-1)bni_112]x1[3] ≥ 0∧[(-1)bso_113] + x5[3] + x5[0] ≥ 0)



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

    (6)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥)∧[(-1)bni_112] ≥ 0∧0 ≥ 0∧[(-1)bni_112 + (-1)Bound*bni_112] ≥ 0∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧[1] ≥ 0∧[(-1)bso_113] ≥ 0)



  • We consider the chain COND_F26160_1_VISIT_INVOKEMETHOD(TRUE, f25898_0_visit_Return(x2[5], x3[5]), java.lang.Object(List(x5[5])), java.lang.Object(MarkingGraphVisitor(x0[5])), x6[5], x7[5]) → F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5]), F26145_0_VISIT_NULL'(x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0]) → COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0]), COND_F26145_0_VISIT_NULL(TRUE, x1[1], x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1], x5[1], x6[1]) → F26160_1_VISIT_INVOKEMETHOD'(f26145_0_visit_NULL(x1[1], x5[1], x6[1], -(x4[1], 1)), x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1]) which results in the following constraint:

    (7)    (x2[5]=x1[0]x5[5]=x2[0]x7[5]=java.lang.Object(MarkingGraphVisitor(x1[0]))∧x3[5]=x4[0]>(x4[0], -1)=TRUEx1[0]=x1[1]x2[0]=x2[1]java.lang.Object(MarkingGraphVisitor(x1[0]))=java.lang.Object(MarkingGraphVisitor(x1[1]))∧x4[0]=x4[1]x5[0]=x5[1]x6[0]=x6[1]F26145_0_VISIT_NULL'(x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0])≥NonInfC∧F26145_0_VISIT_NULL'(x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0])≥COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])∧(UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥))



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

    (8)    (>(x4[0], -1)=TRUEF26145_0_VISIT_NULL'(x2[5], x5[5], java.lang.Object(MarkingGraphVisitor(x2[5])), x4[0])≥NonInfC∧F26145_0_VISIT_NULL'(x2[5], x5[5], java.lang.Object(MarkingGraphVisitor(x2[5])), x4[0])≥COND_F26145_0_VISIT_NULL(>(x4[0], -1), x2[5], x5[5], java.lang.Object(MarkingGraphVisitor(x2[5])), x4[0], x5[0], x6[0])∧(UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥))



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

    (9)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥)∧[(-1)bni_112 + (-1)Bound*bni_112] + [(-1)bni_112]x2[5] ≥ 0∧[(-1)bso_113] + x5[5] + x5[0] ≥ 0)



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

    (10)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥)∧[(-1)bni_112 + (-1)Bound*bni_112] + [(-1)bni_112]x2[5] ≥ 0∧[(-1)bso_113] + x5[5] + x5[0] ≥ 0)



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

    (11)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥)∧[(-1)bni_112 + (-1)Bound*bni_112] + [(-1)bni_112]x2[5] ≥ 0∧[(-1)bso_113] + x5[5] + x5[0] ≥ 0)



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

    (12)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥)∧0 ≥ 0∧[(-1)bni_112] ≥ 0∧0 ≥ 0∧[(-1)bni_112 + (-1)Bound*bni_112] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧[1] ≥ 0∧[(-1)bso_113] ≥ 0)



  • We consider the chain F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6]), F26145_0_VISIT_NULL'(x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0]) → COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0]), COND_F26145_0_VISIT_NULL(TRUE, x1[1], x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1], x5[1], x6[1]) → F26160_1_VISIT_INVOKEMETHOD'(f26145_0_visit_NULL(x1[1], x5[1], x6[1], -(x4[1], 1)), x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1]) which results in the following constraint:

    (13)    (x1[6]=x1[0]x2[6]=x2[0]x4[6]=java.lang.Object(MarkingGraphVisitor(x1[0]))∧x3[6]=x4[0]>(x4[0], -1)=TRUEx1[0]=x1[1]x2[0]=x2[1]java.lang.Object(MarkingGraphVisitor(x1[0]))=java.lang.Object(MarkingGraphVisitor(x1[1]))∧x4[0]=x4[1]x5[0]=x5[1]x6[0]=x6[1]F26145_0_VISIT_NULL'(x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0])≥NonInfC∧F26145_0_VISIT_NULL'(x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0])≥COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])∧(UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥))



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

    (14)    (>(x4[0], -1)=TRUEF26145_0_VISIT_NULL'(x1[6], x2[6], java.lang.Object(MarkingGraphVisitor(x1[6])), x4[0])≥NonInfC∧F26145_0_VISIT_NULL'(x1[6], x2[6], java.lang.Object(MarkingGraphVisitor(x1[6])), x4[0])≥COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[6], x2[6], java.lang.Object(MarkingGraphVisitor(x1[6])), x4[0], x5[0], x6[0])∧(UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥))



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

    (15)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥)∧[(-1)bni_112 + (-1)Bound*bni_112] + [(-1)bni_112]x1[6] ≥ 0∧[(-1)bso_113] + x2[6] + x5[0] ≥ 0)



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

    (16)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥)∧[(-1)bni_112 + (-1)Bound*bni_112] + [(-1)bni_112]x1[6] ≥ 0∧[(-1)bso_113] + x2[6] + x5[0] ≥ 0)



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

    (17)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥)∧[(-1)bni_112 + (-1)Bound*bni_112] + [(-1)bni_112]x1[6] ≥ 0∧[(-1)bso_113] + x2[6] + x5[0] ≥ 0)



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

    (18)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥)∧0 ≥ 0∧[(-1)bni_112] ≥ 0∧0 ≥ 0∧[(-1)bni_112 + (-1)Bound*bni_112] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧[1] ≥ 0∧[(-1)bso_113] ≥ 0)



  • We consider the chain COND_F26160_1_VISIT_INVOKEMETHOD1(TRUE, f25998_0_visit_Return(x2[8], x3[8]), x5[8], java.lang.Object(x6[8]), x7[8], x9[8], x10[8]) → F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8]), F26145_0_VISIT_NULL'(x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0]) → COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0]), COND_F26145_0_VISIT_NULL(TRUE, x1[1], x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1], x5[1], x6[1]) → F26160_1_VISIT_INVOKEMETHOD'(f26145_0_visit_NULL(x1[1], x5[1], x6[1], -(x4[1], 1)), x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1]) which results in the following constraint:

    (19)    (x2[8]=x1[0]x9[8]=x2[0]x10[8]=java.lang.Object(MarkingGraphVisitor(x1[0]))∧x3[8]=x4[0]>(x4[0], -1)=TRUEx1[0]=x1[1]x2[0]=x2[1]java.lang.Object(MarkingGraphVisitor(x1[0]))=java.lang.Object(MarkingGraphVisitor(x1[1]))∧x4[0]=x4[1]x5[0]=x5[1]x6[0]=x6[1]F26145_0_VISIT_NULL'(x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0])≥NonInfC∧F26145_0_VISIT_NULL'(x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0])≥COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])∧(UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥))



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

    (20)    (>(x4[0], -1)=TRUEF26145_0_VISIT_NULL'(x2[8], x9[8], java.lang.Object(MarkingGraphVisitor(x2[8])), x4[0])≥NonInfC∧F26145_0_VISIT_NULL'(x2[8], x9[8], java.lang.Object(MarkingGraphVisitor(x2[8])), x4[0])≥COND_F26145_0_VISIT_NULL(>(x4[0], -1), x2[8], x9[8], java.lang.Object(MarkingGraphVisitor(x2[8])), x4[0], x5[0], x6[0])∧(UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥))



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

    (21)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥)∧[(-1)bni_112 + (-1)Bound*bni_112] + [(-1)bni_112]x2[8] ≥ 0∧[(-1)bso_113] + x9[8] + x5[0] ≥ 0)



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

    (22)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥)∧[(-1)bni_112 + (-1)Bound*bni_112] + [(-1)bni_112]x2[8] ≥ 0∧[(-1)bso_113] + x9[8] + x5[0] ≥ 0)



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

    (23)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥)∧[(-1)bni_112 + (-1)Bound*bni_112] + [(-1)bni_112]x2[8] ≥ 0∧[(-1)bso_113] + x9[8] + x5[0] ≥ 0)



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

    (24)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥)∧0 ≥ 0∧[(-1)bni_112] ≥ 0∧0 ≥ 0∧[(-1)bni_112 + (-1)Bound*bni_112] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧[1] ≥ 0∧[(-1)bso_113] ≥ 0)



  • We consider the chain COND_F26160_1_VISIT_INVOKEMETHOD2(TRUE, f26121_0_visit_Return(x1[10], x2[10]), x4[10], java.lang.Object(x5[10]), x6[10], x8[10], x9[10]) → F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10]), F26145_0_VISIT_NULL'(x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0]) → COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0]), COND_F26145_0_VISIT_NULL(TRUE, x1[1], x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1], x5[1], x6[1]) → F26160_1_VISIT_INVOKEMETHOD'(f26145_0_visit_NULL(x1[1], x5[1], x6[1], -(x4[1], 1)), x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1]) which results in the following constraint:

    (25)    (x1[10]=x1[0]x8[10]=x2[0]x9[10]=java.lang.Object(MarkingGraphVisitor(x1[0]))∧x2[10]=x4[0]>(x4[0], -1)=TRUEx1[0]=x1[1]x2[0]=x2[1]java.lang.Object(MarkingGraphVisitor(x1[0]))=java.lang.Object(MarkingGraphVisitor(x1[1]))∧x4[0]=x4[1]x5[0]=x5[1]x6[0]=x6[1]F26145_0_VISIT_NULL'(x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0])≥NonInfC∧F26145_0_VISIT_NULL'(x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0])≥COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])∧(UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥))



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

    (26)    (>(x4[0], -1)=TRUEF26145_0_VISIT_NULL'(x1[10], x8[10], java.lang.Object(MarkingGraphVisitor(x1[10])), x4[0])≥NonInfC∧F26145_0_VISIT_NULL'(x1[10], x8[10], java.lang.Object(MarkingGraphVisitor(x1[10])), x4[0])≥COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[10], x8[10], java.lang.Object(MarkingGraphVisitor(x1[10])), x4[0], x5[0], x6[0])∧(UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥))



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

    (27)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥)∧[(-1)bni_112 + (-1)Bound*bni_112] + [(-1)bni_112]x1[10] ≥ 0∧[(-1)bso_113] + x8[10] + x5[0] ≥ 0)



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

    (28)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥)∧[(-1)bni_112 + (-1)Bound*bni_112] + [(-1)bni_112]x1[10] ≥ 0∧[(-1)bso_113] + x8[10] + x5[0] ≥ 0)



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

    (29)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥)∧[(-1)bni_112 + (-1)Bound*bni_112] + [(-1)bni_112]x1[10] ≥ 0∧[(-1)bso_113] + x8[10] + x5[0] ≥ 0)



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

    (30)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥)∧0 ≥ 0∧[(-1)bni_112] ≥ 0∧0 ≥ 0∧[(-1)bni_112 + (-1)Bound*bni_112] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧[1] ≥ 0∧[(-1)bso_113] ≥ 0)







For Pair COND_F26145_0_VISIT_NULL(TRUE, x1, x2, java.lang.Object(MarkingGraphVisitor(x1)), x4, x5, x6) → F26160_1_VISIT_INVOKEMETHOD'(f26145_0_visit_NULL(x1, x5, x6, -(x4, 1)), x2, java.lang.Object(MarkingGraphVisitor(x1)), x4) the following chains were created:
  • We consider the chain F26145_0_VISIT_NULL'(x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0]) → COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0]), COND_F26145_0_VISIT_NULL(TRUE, x1[1], x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1], x5[1], x6[1]) → F26160_1_VISIT_INVOKEMETHOD'(f26145_0_visit_NULL(x1[1], x5[1], x6[1], -(x4[1], 1)), x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1]), F26160_1_VISIT_INVOKEMETHOD'(f25898_0_visit_Return(x2[4], x3[4]), java.lang.Object(List(x5[4])), java.lang.Object(MarkingGraphVisitor(x0[4])), x6[4]) → COND_F26160_1_VISIT_INVOKEMETHOD(>=(x6[4], x3[4]), f25898_0_visit_Return(x2[4], x3[4]), java.lang.Object(List(x5[4])), java.lang.Object(MarkingGraphVisitor(x0[4])), x6[4], x7[4]) which results in the following constraint:

    (31)    (>(x4[0], -1)=TRUEx1[0]=x1[1]x2[0]=x2[1]java.lang.Object(MarkingGraphVisitor(x1[0]))=java.lang.Object(MarkingGraphVisitor(x1[1]))∧x4[0]=x4[1]x5[0]=x5[1]x6[0]=x6[1]f26145_0_visit_NULL(x1[1], x5[1], x6[1], -(x4[1], 1))=f25898_0_visit_Return(x2[4], x3[4])∧x2[1]=java.lang.Object(List(x5[4]))∧java.lang.Object(MarkingGraphVisitor(x1[1]))=java.lang.Object(MarkingGraphVisitor(x0[4]))∧x4[1]=x6[4]COND_F26145_0_VISIT_NULL(TRUE, x1[1], x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1], x5[1], x6[1])≥NonInfC∧COND_F26145_0_VISIT_NULL(TRUE, x1[1], x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1], x5[1], x6[1])≥F26160_1_VISIT_INVOKEMETHOD'(f26145_0_visit_NULL(x1[1], x5[1], x6[1], -(x4[1], 1)), x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1])∧(UIncreasing(F26160_1_VISIT_INVOKEMETHOD'(f26145_0_visit_NULL(x1[1], x5[1], x6[1], -(x4[1], 1)), x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1])), ≥))



    We solved constraint (31) using rules (I), (II).
  • We consider the chain F26145_0_VISIT_NULL'(x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0]) → COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0]), COND_F26145_0_VISIT_NULL(TRUE, x1[1], x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1], x5[1], x6[1]) → F26160_1_VISIT_INVOKEMETHOD'(f26145_0_visit_NULL(x1[1], x5[1], x6[1], -(x4[1], 1)), x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1]), F26160_1_VISIT_INVOKEMETHOD'(f25998_0_visit_Return(x2[7], x3[7]), x5[7], java.lang.Object(x6[7]), x7[7]) → COND_F26160_1_VISIT_INVOKEMETHOD1(>=(x7[7], x3[7]), f25998_0_visit_Return(x2[7], x3[7]), x5[7], java.lang.Object(x6[7]), x7[7], x9[7], x10[7]) which results in the following constraint:

    (32)    (>(x4[0], -1)=TRUEx1[0]=x1[1]x2[0]=x2[1]java.lang.Object(MarkingGraphVisitor(x1[0]))=java.lang.Object(MarkingGraphVisitor(x1[1]))∧x4[0]=x4[1]x5[0]=x5[1]x6[0]=x6[1]f26145_0_visit_NULL(x1[1], x5[1], x6[1], -(x4[1], 1))=f25998_0_visit_Return(x2[7], x3[7])∧x2[1]=x5[7]java.lang.Object(MarkingGraphVisitor(x1[1]))=java.lang.Object(x6[7])∧x4[1]=x7[7]COND_F26145_0_VISIT_NULL(TRUE, x1[1], x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1], x5[1], x6[1])≥NonInfC∧COND_F26145_0_VISIT_NULL(TRUE, x1[1], x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1], x5[1], x6[1])≥F26160_1_VISIT_INVOKEMETHOD'(f26145_0_visit_NULL(x1[1], x5[1], x6[1], -(x4[1], 1)), x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1])∧(UIncreasing(F26160_1_VISIT_INVOKEMETHOD'(f26145_0_visit_NULL(x1[1], x5[1], x6[1], -(x4[1], 1)), x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1])), ≥))



    We solved constraint (32) using rules (I), (II).
  • We consider the chain F26145_0_VISIT_NULL'(x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0]) → COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0]), COND_F26145_0_VISIT_NULL(TRUE, x1[1], x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1], x5[1], x6[1]) → F26160_1_VISIT_INVOKEMETHOD'(f26145_0_visit_NULL(x1[1], x5[1], x6[1], -(x4[1], 1)), x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1]), F26160_1_VISIT_INVOKEMETHOD'(f26121_0_visit_Return(x1[9], x2[9]), x4[9], java.lang.Object(x5[9]), x6[9]) → COND_F26160_1_VISIT_INVOKEMETHOD2(>=(x6[9], x2[9]), f26121_0_visit_Return(x1[9], x2[9]), x4[9], java.lang.Object(x5[9]), x6[9], x8[9], x9[9]) which results in the following constraint:

    (33)    (>(x4[0], -1)=TRUEx1[0]=x1[1]x2[0]=x2[1]java.lang.Object(MarkingGraphVisitor(x1[0]))=java.lang.Object(MarkingGraphVisitor(x1[1]))∧x4[0]=x4[1]x5[0]=x5[1]x6[0]=x6[1]f26145_0_visit_NULL(x1[1], x5[1], x6[1], -(x4[1], 1))=f26121_0_visit_Return(x1[9], x2[9])∧x2[1]=x4[9]java.lang.Object(MarkingGraphVisitor(x1[1]))=java.lang.Object(x5[9])∧x4[1]=x6[9]COND_F26145_0_VISIT_NULL(TRUE, x1[1], x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1], x5[1], x6[1])≥NonInfC∧COND_F26145_0_VISIT_NULL(TRUE, x1[1], x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1], x5[1], x6[1])≥F26160_1_VISIT_INVOKEMETHOD'(f26145_0_visit_NULL(x1[1], x5[1], x6[1], -(x4[1], 1)), x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1])∧(UIncreasing(F26160_1_VISIT_INVOKEMETHOD'(f26145_0_visit_NULL(x1[1], x5[1], x6[1], -(x4[1], 1)), x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1])), ≥))



    We solved constraint (33) using rules (I), (II).




For Pair F26145_0_VISIT_NULL'(x1, x2, java.lang.Object(MarkingGraphVisitor(x1)), x4) → COND_F26145_0_VISIT_NULL1(>(x4, -1), x1, x2, java.lang.Object(MarkingGraphVisitor(x1)), x4, x5, x6) the following chains were created:
  • We consider the chain COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3]) → F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1)), F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2]) → COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2]), COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3]) → F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1)) which results in the following constraint:

    (34)    (x1[3]=x1[2]x5[3]=x2[2]x6[3]=java.lang.Object(MarkingGraphVisitor(x1[2]))∧-(x4[3], 1)=x4[2]>(x4[2], -1)=TRUEx1[2]=x1[3]1x2[2]=x2[3]1java.lang.Object(MarkingGraphVisitor(x1[2]))=java.lang.Object(MarkingGraphVisitor(x1[3]1))∧x4[2]=x4[3]1x5[2]=x5[3]1x6[2]=x6[3]1F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2])≥NonInfC∧F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2])≥COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])∧(UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥))



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

    (35)    (>(-(x4[3], 1), -1)=TRUEF26145_0_VISIT_NULL'(x1[3], x5[3], java.lang.Object(MarkingGraphVisitor(x1[3])), -(x4[3], 1))≥NonInfC∧F26145_0_VISIT_NULL'(x1[3], x5[3], java.lang.Object(MarkingGraphVisitor(x1[3])), -(x4[3], 1))≥COND_F26145_0_VISIT_NULL1(>(-(x4[3], 1), -1), x1[3], x5[3], java.lang.Object(MarkingGraphVisitor(x1[3])), -(x4[3], 1), x5[2], x6[2])∧(UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥))



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

    (36)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧[(-1)bni_114 + (-1)Bound*bni_114] + [(-1)bni_114]x1[3] ≥ 0∧[(-1)bso_115] + x6[2] ≥ 0)



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

    (37)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧[(-1)bni_114 + (-1)Bound*bni_114] + [(-1)bni_114]x1[3] ≥ 0∧[(-1)bso_115] + x6[2] ≥ 0)



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

    (38)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧[(-1)bni_114 + (-1)Bound*bni_114] + [(-1)bni_114]x1[3] ≥ 0∧[(-1)bso_115] + x6[2] ≥ 0)



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

    (39)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧[(-1)bni_114] ≥ 0∧0 ≥ 0∧[(-1)bni_114 + (-1)Bound*bni_114] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧[(-1)bso_115] ≥ 0)



  • We consider the chain COND_F26160_1_VISIT_INVOKEMETHOD(TRUE, f25898_0_visit_Return(x2[5], x3[5]), java.lang.Object(List(x5[5])), java.lang.Object(MarkingGraphVisitor(x0[5])), x6[5], x7[5]) → F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5]), F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2]) → COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2]), COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3]) → F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1)) which results in the following constraint:

    (40)    (x2[5]=x1[2]x5[5]=x2[2]x7[5]=java.lang.Object(MarkingGraphVisitor(x1[2]))∧x3[5]=x4[2]>(x4[2], -1)=TRUEx1[2]=x1[3]x2[2]=x2[3]java.lang.Object(MarkingGraphVisitor(x1[2]))=java.lang.Object(MarkingGraphVisitor(x1[3]))∧x4[2]=x4[3]x5[2]=x5[3]x6[2]=x6[3]F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2])≥NonInfC∧F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2])≥COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])∧(UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥))



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

    (41)    (>(x4[2], -1)=TRUEF26145_0_VISIT_NULL'(x2[5], x5[5], java.lang.Object(MarkingGraphVisitor(x2[5])), x4[2])≥NonInfC∧F26145_0_VISIT_NULL'(x2[5], x5[5], java.lang.Object(MarkingGraphVisitor(x2[5])), x4[2])≥COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x2[5], x5[5], java.lang.Object(MarkingGraphVisitor(x2[5])), x4[2], x5[2], x6[2])∧(UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥))



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

    (42)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧[(-1)bni_114 + (-1)Bound*bni_114] + [(-1)bni_114]x2[5] ≥ 0∧[(-1)bso_115] + x6[2] ≥ 0)



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

    (43)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧[(-1)bni_114 + (-1)Bound*bni_114] + [(-1)bni_114]x2[5] ≥ 0∧[(-1)bso_115] + x6[2] ≥ 0)



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

    (44)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧[(-1)bni_114 + (-1)Bound*bni_114] + [(-1)bni_114]x2[5] ≥ 0∧[(-1)bso_115] + x6[2] ≥ 0)



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

    (45)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧0 ≥ 0∧[(-1)bni_114] ≥ 0∧0 ≥ 0∧[(-1)bni_114 + (-1)Bound*bni_114] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧[(-1)bso_115] ≥ 0)



  • We consider the chain F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6]), F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2]) → COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2]), COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3]) → F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1)) which results in the following constraint:

    (46)    (x1[6]=x1[2]x2[6]=x2[2]x4[6]=java.lang.Object(MarkingGraphVisitor(x1[2]))∧x3[6]=x4[2]>(x4[2], -1)=TRUEx1[2]=x1[3]x2[2]=x2[3]java.lang.Object(MarkingGraphVisitor(x1[2]))=java.lang.Object(MarkingGraphVisitor(x1[3]))∧x4[2]=x4[3]x5[2]=x5[3]x6[2]=x6[3]F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2])≥NonInfC∧F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2])≥COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])∧(UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥))



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

    (47)    (>(x4[2], -1)=TRUEF26145_0_VISIT_NULL'(x1[6], x2[6], java.lang.Object(MarkingGraphVisitor(x1[6])), x4[2])≥NonInfC∧F26145_0_VISIT_NULL'(x1[6], x2[6], java.lang.Object(MarkingGraphVisitor(x1[6])), x4[2])≥COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[6], x2[6], java.lang.Object(MarkingGraphVisitor(x1[6])), x4[2], x5[2], x6[2])∧(UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥))



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

    (48)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧[(-1)bni_114 + (-1)Bound*bni_114] + [(-1)bni_114]x1[6] ≥ 0∧[(-1)bso_115] + x6[2] ≥ 0)



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

    (49)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧[(-1)bni_114 + (-1)Bound*bni_114] + [(-1)bni_114]x1[6] ≥ 0∧[(-1)bso_115] + x6[2] ≥ 0)



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

    (50)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧[(-1)bni_114 + (-1)Bound*bni_114] + [(-1)bni_114]x1[6] ≥ 0∧[(-1)bso_115] + x6[2] ≥ 0)



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

    (51)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧0 ≥ 0∧[(-1)bni_114] ≥ 0∧0 ≥ 0∧[(-1)bni_114 + (-1)Bound*bni_114] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧[(-1)bso_115] ≥ 0)



  • We consider the chain COND_F26160_1_VISIT_INVOKEMETHOD1(TRUE, f25998_0_visit_Return(x2[8], x3[8]), x5[8], java.lang.Object(x6[8]), x7[8], x9[8], x10[8]) → F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8]), F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2]) → COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2]), COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3]) → F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1)) which results in the following constraint:

    (52)    (x2[8]=x1[2]x9[8]=x2[2]x10[8]=java.lang.Object(MarkingGraphVisitor(x1[2]))∧x3[8]=x4[2]>(x4[2], -1)=TRUEx1[2]=x1[3]x2[2]=x2[3]java.lang.Object(MarkingGraphVisitor(x1[2]))=java.lang.Object(MarkingGraphVisitor(x1[3]))∧x4[2]=x4[3]x5[2]=x5[3]x6[2]=x6[3]F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2])≥NonInfC∧F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2])≥COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])∧(UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥))



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

    (53)    (>(x4[2], -1)=TRUEF26145_0_VISIT_NULL'(x2[8], x9[8], java.lang.Object(MarkingGraphVisitor(x2[8])), x4[2])≥NonInfC∧F26145_0_VISIT_NULL'(x2[8], x9[8], java.lang.Object(MarkingGraphVisitor(x2[8])), x4[2])≥COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x2[8], x9[8], java.lang.Object(MarkingGraphVisitor(x2[8])), x4[2], x5[2], x6[2])∧(UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥))



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

    (54)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧[(-1)bni_114 + (-1)Bound*bni_114] + [(-1)bni_114]x2[8] ≥ 0∧[(-1)bso_115] + x6[2] ≥ 0)



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

    (55)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧[(-1)bni_114 + (-1)Bound*bni_114] + [(-1)bni_114]x2[8] ≥ 0∧[(-1)bso_115] + x6[2] ≥ 0)



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

    (56)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧[(-1)bni_114 + (-1)Bound*bni_114] + [(-1)bni_114]x2[8] ≥ 0∧[(-1)bso_115] + x6[2] ≥ 0)



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

    (57)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧0 ≥ 0∧[(-1)bni_114] ≥ 0∧0 ≥ 0∧[(-1)bni_114 + (-1)Bound*bni_114] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧[(-1)bso_115] ≥ 0)



  • We consider the chain COND_F26160_1_VISIT_INVOKEMETHOD2(TRUE, f26121_0_visit_Return(x1[10], x2[10]), x4[10], java.lang.Object(x5[10]), x6[10], x8[10], x9[10]) → F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10]), F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2]) → COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2]), COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3]) → F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1)) which results in the following constraint:

    (58)    (x1[10]=x1[2]x8[10]=x2[2]x9[10]=java.lang.Object(MarkingGraphVisitor(x1[2]))∧x2[10]=x4[2]>(x4[2], -1)=TRUEx1[2]=x1[3]x2[2]=x2[3]java.lang.Object(MarkingGraphVisitor(x1[2]))=java.lang.Object(MarkingGraphVisitor(x1[3]))∧x4[2]=x4[3]x5[2]=x5[3]x6[2]=x6[3]F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2])≥NonInfC∧F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2])≥COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])∧(UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥))



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

    (59)    (>(x4[2], -1)=TRUEF26145_0_VISIT_NULL'(x1[10], x8[10], java.lang.Object(MarkingGraphVisitor(x1[10])), x4[2])≥NonInfC∧F26145_0_VISIT_NULL'(x1[10], x8[10], java.lang.Object(MarkingGraphVisitor(x1[10])), x4[2])≥COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[10], x8[10], java.lang.Object(MarkingGraphVisitor(x1[10])), x4[2], x5[2], x6[2])∧(UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥))



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

    (60)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧[(-1)bni_114 + (-1)Bound*bni_114] + [(-1)bni_114]x1[10] ≥ 0∧[(-1)bso_115] + x6[2] ≥ 0)



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

    (61)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧[(-1)bni_114 + (-1)Bound*bni_114] + [(-1)bni_114]x1[10] ≥ 0∧[(-1)bso_115] + x6[2] ≥ 0)



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

    (62)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧[(-1)bni_114 + (-1)Bound*bni_114] + [(-1)bni_114]x1[10] ≥ 0∧[(-1)bso_115] + x6[2] ≥ 0)



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

    (63)    (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧0 ≥ 0∧[(-1)bni_114] ≥ 0∧0 ≥ 0∧[(-1)bni_114 + (-1)Bound*bni_114] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧[(-1)bso_115] ≥ 0)







For Pair COND_F26145_0_VISIT_NULL1(TRUE, x1, x2, java.lang.Object(MarkingGraphVisitor(x1)), x4, x5, x6) → F26145_0_VISIT_NULL'(x1, x5, x6, -(x4, 1)) the following chains were created:
  • We consider the chain F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2]) → COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2]), COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3]) → F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1)), F26145_0_VISIT_NULL'(x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0]) → COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0]) which results in the following constraint:

    (64)    (>(x4[2], -1)=TRUEx1[2]=x1[3]x2[2]=x2[3]java.lang.Object(MarkingGraphVisitor(x1[2]))=java.lang.Object(MarkingGraphVisitor(x1[3]))∧x4[2]=x4[3]x5[2]=x5[3]x6[2]=x6[3]x1[3]=x1[0]x5[3]=x2[0]x6[3]=java.lang.Object(MarkingGraphVisitor(x1[0]))∧-(x4[3], 1)=x4[0]COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3])≥NonInfC∧COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3])≥F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))∧(UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥))



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

    (65)    (>(x4[2], -1)=TRUECOND_F26145_0_VISIT_NULL1(TRUE, x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], java.lang.Object(MarkingGraphVisitor(x1[2])))≥NonInfC∧COND_F26145_0_VISIT_NULL1(TRUE, x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], java.lang.Object(MarkingGraphVisitor(x1[2])))≥F26145_0_VISIT_NULL'(x1[2], x5[2], java.lang.Object(MarkingGraphVisitor(x1[2])), -(x4[2], 1))∧(UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥))



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

    (66)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥)∧[(-1)bni_116 + (-1)Bound*bni_116] + [(-1)bni_116]x1[2] ≥ 0∧[(-1)bso_117] ≥ 0)



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

    (67)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥)∧[(-1)bni_116 + (-1)Bound*bni_116] + [(-1)bni_116]x1[2] ≥ 0∧[(-1)bso_117] ≥ 0)



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

    (68)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥)∧[(-1)bni_116 + (-1)Bound*bni_116] + [(-1)bni_116]x1[2] ≥ 0∧[(-1)bso_117] ≥ 0)



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

    (69)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥)∧[(-1)bni_116] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_116 + (-1)Bound*bni_116] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_117] ≥ 0)



  • We consider the chain F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2]) → COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2]), COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3]) → F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1)), F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2]) → COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2]) which results in the following constraint:

    (70)    (>(x4[2], -1)=TRUEx1[2]=x1[3]x2[2]=x2[3]java.lang.Object(MarkingGraphVisitor(x1[2]))=java.lang.Object(MarkingGraphVisitor(x1[3]))∧x4[2]=x4[3]x5[2]=x5[3]x6[2]=x6[3]x1[3]=x1[2]1x5[3]=x2[2]1x6[3]=java.lang.Object(MarkingGraphVisitor(x1[2]1))∧-(x4[3], 1)=x4[2]1COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3])≥NonInfC∧COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3])≥F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))∧(UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥))



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

    (71)    (>(x4[2], -1)=TRUECOND_F26145_0_VISIT_NULL1(TRUE, x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], java.lang.Object(MarkingGraphVisitor(x1[2])))≥NonInfC∧COND_F26145_0_VISIT_NULL1(TRUE, x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], java.lang.Object(MarkingGraphVisitor(x1[2])))≥F26145_0_VISIT_NULL'(x1[2], x5[2], java.lang.Object(MarkingGraphVisitor(x1[2])), -(x4[2], 1))∧(UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥))



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

    (72)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥)∧[(-1)bni_116 + (-1)Bound*bni_116] + [(-1)bni_116]x1[2] ≥ 0∧[(-1)bso_117] ≥ 0)



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

    (73)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥)∧[(-1)bni_116 + (-1)Bound*bni_116] + [(-1)bni_116]x1[2] ≥ 0∧[(-1)bso_117] ≥ 0)



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

    (74)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥)∧[(-1)bni_116 + (-1)Bound*bni_116] + [(-1)bni_116]x1[2] ≥ 0∧[(-1)bso_117] ≥ 0)



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

    (75)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥)∧[(-1)bni_116] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_116 + (-1)Bound*bni_116] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_117] ≥ 0)



  • We consider the chain F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2]) → COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2]), COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3]) → F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1)), F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6]) which results in the following constraint:

    (76)    (>(x4[2], -1)=TRUEx1[2]=x1[3]x2[2]=x2[3]java.lang.Object(MarkingGraphVisitor(x1[2]))=java.lang.Object(MarkingGraphVisitor(x1[3]))∧x4[2]=x4[3]x5[2]=x5[3]x6[2]=x6[3]x1[3]=x1[6]x5[3]=java.lang.Object(List(x2[6]))∧x6[3]=NULL-(x4[3], 1)=x3[6]COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3])≥NonInfC∧COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3])≥F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))∧(UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥))



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

    (77)    (>(x4[2], -1)=TRUECOND_F26145_0_VISIT_NULL1(TRUE, x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], java.lang.Object(List(x2[6])), NULL)≥NonInfC∧COND_F26145_0_VISIT_NULL1(TRUE, x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], java.lang.Object(List(x2[6])), NULL)≥F26145_0_VISIT_NULL'(x1[2], java.lang.Object(List(x2[6])), NULL, -(x4[2], 1))∧(UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥))



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

    (78)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥)∧[(-1)bni_116 + (-1)Bound*bni_116] + [(-1)bni_116]x1[2] ≥ 0∧[(-1)bso_117] ≥ 0)



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

    (79)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥)∧[(-1)bni_116 + (-1)Bound*bni_116] + [(-1)bni_116]x1[2] ≥ 0∧[(-1)bso_117] ≥ 0)



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

    (80)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥)∧[(-1)bni_116 + (-1)Bound*bni_116] + [(-1)bni_116]x1[2] ≥ 0∧[(-1)bso_117] ≥ 0)



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

    (81)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥)∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_116] ≥ 0∧0 ≥ 0∧[(-1)bni_116 + (-1)Bound*bni_116] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_117] ≥ 0)







For Pair F26160_1_VISIT_INVOKEMETHOD'(f25898_0_visit_Return(x2, x3), java.lang.Object(List(x5)), java.lang.Object(MarkingGraphVisitor(x0)), x6) → COND_F26160_1_VISIT_INVOKEMETHOD(>=(x6, x3), f25898_0_visit_Return(x2, x3), java.lang.Object(List(x5)), java.lang.Object(MarkingGraphVisitor(x0)), x6, x7) the following chains were created:
  • We consider the chain COND_F26145_0_VISIT_NULL(TRUE, x1[1], x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1], x5[1], x6[1]) → F26160_1_VISIT_INVOKEMETHOD'(f26145_0_visit_NULL(x1[1], x5[1], x6[1], -(x4[1], 1)), x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1]), F26160_1_VISIT_INVOKEMETHOD'(f25898_0_visit_Return(x2[4], x3[4]), java.lang.Object(List(x5[4])), java.lang.Object(MarkingGraphVisitor(x0[4])), x6[4]) → COND_F26160_1_VISIT_INVOKEMETHOD(>=(x6[4], x3[4]), f25898_0_visit_Return(x2[4], x3[4]), java.lang.Object(List(x5[4])), java.lang.Object(MarkingGraphVisitor(x0[4])), x6[4], x7[4]), COND_F26160_1_VISIT_INVOKEMETHOD(TRUE, f25898_0_visit_Return(x2[5], x3[5]), java.lang.Object(List(x5[5])), java.lang.Object(MarkingGraphVisitor(x0[5])), x6[5], x7[5]) → F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5]) which results in the following constraint:

    (82)    (f26145_0_visit_NULL(x1[1], x5[1], x6[1], -(x4[1], 1))=f25898_0_visit_Return(x2[4], x3[4])∧x2[1]=java.lang.Object(List(x5[4]))∧java.lang.Object(MarkingGraphVisitor(x1[1]))=java.lang.Object(MarkingGraphVisitor(x0[4]))∧x4[1]=x6[4]>=(x6[4], x3[4])=TRUEf25898_0_visit_Return(x2[4], x3[4])=f25898_0_visit_Return(x2[5], x3[5])∧java.lang.Object(List(x5[4]))=java.lang.Object(List(x5[5]))∧java.lang.Object(MarkingGraphVisitor(x0[4]))=java.lang.Object(MarkingGraphVisitor(x0[5]))∧x6[4]=x6[5]x7[4]=x7[5]F26160_1_VISIT_INVOKEMETHOD'(f25898_0_visit_Return(x2[4], x3[4]), java.lang.Object(List(x5[4])), java.lang.Object(MarkingGraphVisitor(x0[4])), x6[4])≥NonInfC∧F26160_1_VISIT_INVOKEMETHOD'(f25898_0_visit_Return(x2[4], x3[4]), java.lang.Object(List(x5[4])), java.lang.Object(MarkingGraphVisitor(x0[4])), x6[4])≥COND_F26160_1_VISIT_INVOKEMETHOD(>=(x6[4], x3[4]), f25898_0_visit_Return(x2[4], x3[4]), java.lang.Object(List(x5[4])), java.lang.Object(MarkingGraphVisitor(x0[4])), x6[4], x7[4])∧(UIncreasing(COND_F26160_1_VISIT_INVOKEMETHOD(>=(x6[4], x3[4]), f25898_0_visit_Return(x2[4], x3[4]), java.lang.Object(List(x5[4])), java.lang.Object(MarkingGraphVisitor(x0[4])), x6[4], x7[4])), ≥))



    We solved constraint (82) using rules (I), (II).




For Pair COND_F26160_1_VISIT_INVOKEMETHOD(TRUE, f25898_0_visit_Return(x2, x3), java.lang.Object(List(x5)), java.lang.Object(MarkingGraphVisitor(x0)), x6, x7) → F26145_0_VISIT_NULL'(x2, x5, x7, x3) the following chains were created:
  • We consider the chain F26160_1_VISIT_INVOKEMETHOD'(f25898_0_visit_Return(x2[4], x3[4]), java.lang.Object(List(x5[4])), java.lang.Object(MarkingGraphVisitor(x0[4])), x6[4]) → COND_F26160_1_VISIT_INVOKEMETHOD(>=(x6[4], x3[4]), f25898_0_visit_Return(x2[4], x3[4]), java.lang.Object(List(x5[4])), java.lang.Object(MarkingGraphVisitor(x0[4])), x6[4], x7[4]), COND_F26160_1_VISIT_INVOKEMETHOD(TRUE, f25898_0_visit_Return(x2[5], x3[5]), java.lang.Object(List(x5[5])), java.lang.Object(MarkingGraphVisitor(x0[5])), x6[5], x7[5]) → F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5]), F26145_0_VISIT_NULL'(x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0]) → COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0]) which results in the following constraint:

    (83)    (>=(x6[4], x3[4])=TRUEf25898_0_visit_Return(x2[4], x3[4])=f25898_0_visit_Return(x2[5], x3[5])∧java.lang.Object(List(x5[4]))=java.lang.Object(List(x5[5]))∧java.lang.Object(MarkingGraphVisitor(x0[4]))=java.lang.Object(MarkingGraphVisitor(x0[5]))∧x6[4]=x6[5]x7[4]=x7[5]x2[5]=x1[0]x5[5]=x2[0]x7[5]=java.lang.Object(MarkingGraphVisitor(x1[0]))∧x3[5]=x4[0]COND_F26160_1_VISIT_INVOKEMETHOD(TRUE, f25898_0_visit_Return(x2[5], x3[5]), java.lang.Object(List(x5[5])), java.lang.Object(MarkingGraphVisitor(x0[5])), x6[5], x7[5])≥NonInfC∧COND_F26160_1_VISIT_INVOKEMETHOD(TRUE, f25898_0_visit_Return(x2[5], x3[5]), java.lang.Object(List(x5[5])), java.lang.Object(MarkingGraphVisitor(x0[5])), x6[5], x7[5])≥F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5])∧(UIncreasing(F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5])), ≥))



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

    (84)    (>=(x6[4], x3[4])=TRUECOND_F26160_1_VISIT_INVOKEMETHOD(TRUE, f25898_0_visit_Return(x2[4], x3[4]), java.lang.Object(List(x5[4])), java.lang.Object(MarkingGraphVisitor(x0[4])), x6[4], java.lang.Object(MarkingGraphVisitor(x2[4])))≥NonInfC∧COND_F26160_1_VISIT_INVOKEMETHOD(TRUE, f25898_0_visit_Return(x2[4], x3[4]), java.lang.Object(List(x5[4])), java.lang.Object(MarkingGraphVisitor(x0[4])), x6[4], java.lang.Object(MarkingGraphVisitor(x2[4])))≥F26145_0_VISIT_NULL'(x2[4], x5[4], java.lang.Object(MarkingGraphVisitor(x2[4])), x3[4])∧(UIncreasing(F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5])), ≥))



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

    (85)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5])), ≥)∧[(-1)bni_118 + (-1)Bound*bni_118] + [bni_118]x6[4] ≥ 0∧[(-1)bso_119] + x2[4] + x6[4] ≥ 0)



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

    (86)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5])), ≥)∧[(-1)bni_118 + (-1)Bound*bni_118] + [bni_118]x6[4] ≥ 0∧[(-1)bso_119] + x2[4] + x6[4] ≥ 0)



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

    (87)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5])), ≥)∧[(-1)bni_118 + (-1)Bound*bni_118] + [bni_118]x6[4] ≥ 0∧[(-1)bso_119] + x2[4] + x6[4] ≥ 0)



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

    (88)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5])), ≥)∧0 ≥ 0∧[bni_118] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_118 + (-1)Bound*bni_118] ≥ 0∧[1] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_119] ≥ 0)



  • We consider the chain F26160_1_VISIT_INVOKEMETHOD'(f25898_0_visit_Return(x2[4], x3[4]), java.lang.Object(List(x5[4])), java.lang.Object(MarkingGraphVisitor(x0[4])), x6[4]) → COND_F26160_1_VISIT_INVOKEMETHOD(>=(x6[4], x3[4]), f25898_0_visit_Return(x2[4], x3[4]), java.lang.Object(List(x5[4])), java.lang.Object(MarkingGraphVisitor(x0[4])), x6[4], x7[4]), COND_F26160_1_VISIT_INVOKEMETHOD(TRUE, f25898_0_visit_Return(x2[5], x3[5]), java.lang.Object(List(x5[5])), java.lang.Object(MarkingGraphVisitor(x0[5])), x6[5], x7[5]) → F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5]), F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2]) → COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2]) which results in the following constraint:

    (89)    (>=(x6[4], x3[4])=TRUEf25898_0_visit_Return(x2[4], x3[4])=f25898_0_visit_Return(x2[5], x3[5])∧java.lang.Object(List(x5[4]))=java.lang.Object(List(x5[5]))∧java.lang.Object(MarkingGraphVisitor(x0[4]))=java.lang.Object(MarkingGraphVisitor(x0[5]))∧x6[4]=x6[5]x7[4]=x7[5]x2[5]=x1[2]x5[5]=x2[2]x7[5]=java.lang.Object(MarkingGraphVisitor(x1[2]))∧x3[5]=x4[2]COND_F26160_1_VISIT_INVOKEMETHOD(TRUE, f25898_0_visit_Return(x2[5], x3[5]), java.lang.Object(List(x5[5])), java.lang.Object(MarkingGraphVisitor(x0[5])), x6[5], x7[5])≥NonInfC∧COND_F26160_1_VISIT_INVOKEMETHOD(TRUE, f25898_0_visit_Return(x2[5], x3[5]), java.lang.Object(List(x5[5])), java.lang.Object(MarkingGraphVisitor(x0[5])), x6[5], x7[5])≥F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5])∧(UIncreasing(F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5])), ≥))



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

    (90)    (>=(x6[4], x3[4])=TRUECOND_F26160_1_VISIT_INVOKEMETHOD(TRUE, f25898_0_visit_Return(x2[4], x3[4]), java.lang.Object(List(x5[4])), java.lang.Object(MarkingGraphVisitor(x0[4])), x6[4], java.lang.Object(MarkingGraphVisitor(x2[4])))≥NonInfC∧COND_F26160_1_VISIT_INVOKEMETHOD(TRUE, f25898_0_visit_Return(x2[4], x3[4]), java.lang.Object(List(x5[4])), java.lang.Object(MarkingGraphVisitor(x0[4])), x6[4], java.lang.Object(MarkingGraphVisitor(x2[4])))≥F26145_0_VISIT_NULL'(x2[4], x5[4], java.lang.Object(MarkingGraphVisitor(x2[4])), x3[4])∧(UIncreasing(F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5])), ≥))



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

    (91)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5])), ≥)∧[(-1)bni_118 + (-1)Bound*bni_118] + [bni_118]x6[4] ≥ 0∧[(-1)bso_119] + x2[4] + x6[4] ≥ 0)



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

    (92)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5])), ≥)∧[(-1)bni_118 + (-1)Bound*bni_118] + [bni_118]x6[4] ≥ 0∧[(-1)bso_119] + x2[4] + x6[4] ≥ 0)



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

    (93)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5])), ≥)∧[(-1)bni_118 + (-1)Bound*bni_118] + [bni_118]x6[4] ≥ 0∧[(-1)bso_119] + x2[4] + x6[4] ≥ 0)



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

    (94)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5])), ≥)∧0 ≥ 0∧[bni_118] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_118 + (-1)Bound*bni_118] ≥ 0∧[1] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_119] ≥ 0)



  • We consider the chain F26160_1_VISIT_INVOKEMETHOD'(f25898_0_visit_Return(x2[4], x3[4]), java.lang.Object(List(x5[4])), java.lang.Object(MarkingGraphVisitor(x0[4])), x6[4]) → COND_F26160_1_VISIT_INVOKEMETHOD(>=(x6[4], x3[4]), f25898_0_visit_Return(x2[4], x3[4]), java.lang.Object(List(x5[4])), java.lang.Object(MarkingGraphVisitor(x0[4])), x6[4], x7[4]), COND_F26160_1_VISIT_INVOKEMETHOD(TRUE, f25898_0_visit_Return(x2[5], x3[5]), java.lang.Object(List(x5[5])), java.lang.Object(MarkingGraphVisitor(x0[5])), x6[5], x7[5]) → F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5]), F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6]) which results in the following constraint:

    (95)    (>=(x6[4], x3[4])=TRUEf25898_0_visit_Return(x2[4], x3[4])=f25898_0_visit_Return(x2[5], x3[5])∧java.lang.Object(List(x5[4]))=java.lang.Object(List(x5[5]))∧java.lang.Object(MarkingGraphVisitor(x0[4]))=java.lang.Object(MarkingGraphVisitor(x0[5]))∧x6[4]=x6[5]x7[4]=x7[5]x2[5]=x1[6]x5[5]=java.lang.Object(List(x2[6]))∧x7[5]=NULLx3[5]=x3[6]COND_F26160_1_VISIT_INVOKEMETHOD(TRUE, f25898_0_visit_Return(x2[5], x3[5]), java.lang.Object(List(x5[5])), java.lang.Object(MarkingGraphVisitor(x0[5])), x6[5], x7[5])≥NonInfC∧COND_F26160_1_VISIT_INVOKEMETHOD(TRUE, f25898_0_visit_Return(x2[5], x3[5]), java.lang.Object(List(x5[5])), java.lang.Object(MarkingGraphVisitor(x0[5])), x6[5], x7[5])≥F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5])∧(UIncreasing(F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5])), ≥))



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

    (96)    (>=(x6[4], x3[4])=TRUECOND_F26160_1_VISIT_INVOKEMETHOD(TRUE, f25898_0_visit_Return(x2[4], x3[4]), java.lang.Object(List(java.lang.Object(List(x2[6])))), java.lang.Object(MarkingGraphVisitor(x0[4])), x6[4], NULL)≥NonInfC∧COND_F26160_1_VISIT_INVOKEMETHOD(TRUE, f25898_0_visit_Return(x2[4], x3[4]), java.lang.Object(List(java.lang.Object(List(x2[6])))), java.lang.Object(MarkingGraphVisitor(x0[4])), x6[4], NULL)≥F26145_0_VISIT_NULL'(x2[4], java.lang.Object(List(x2[6])), NULL, x3[4])∧(UIncreasing(F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5])), ≥))



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

    (97)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5])), ≥)∧[(-1)bni_118 + (-1)Bound*bni_118] + [bni_118]x6[4] ≥ 0∧[(-1)bso_119] + x6[4] + x2[4] ≥ 0)



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

    (98)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5])), ≥)∧[(-1)bni_118 + (-1)Bound*bni_118] + [bni_118]x6[4] ≥ 0∧[(-1)bso_119] + x6[4] + x2[4] ≥ 0)



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

    (99)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5])), ≥)∧[(-1)bni_118 + (-1)Bound*bni_118] + [bni_118]x6[4] ≥ 0∧[(-1)bso_119] + x6[4] + x2[4] ≥ 0)



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

    (100)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5])), ≥)∧[bni_118] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_118 + (-1)Bound*bni_118] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧[(-1)bso_119] ≥ 0)







For Pair F26145_0_VISIT_NULL'(x1, java.lang.Object(List(x2)), NULL, x3) → F26145_0_VISIT_NULL'(x1, x2, x4, x3) the following chains were created:
  • We consider the chain COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3]) → F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1)), F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6]), F26145_0_VISIT_NULL'(x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0]) → COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0]) which results in the following constraint:

    (101)    (x1[3]=x1[6]x5[3]=java.lang.Object(List(x2[6]))∧x6[3]=NULL-(x4[3], 1)=x3[6]x1[6]=x1[0]x2[6]=x2[0]x4[6]=java.lang.Object(MarkingGraphVisitor(x1[0]))∧x3[6]=x4[0]F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6])≥NonInfC∧F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6])≥F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])∧(UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥))



    We simplified constraint (101) using rules (III), (IV) which results in the following new constraint:

    (102)    (F26145_0_VISIT_NULL'(x1[3], java.lang.Object(List(x2[6])), NULL, -(x4[3], 1))≥NonInfC∧F26145_0_VISIT_NULL'(x1[3], java.lang.Object(List(x2[6])), NULL, -(x4[3], 1))≥F26145_0_VISIT_NULL'(x1[3], x2[6], java.lang.Object(MarkingGraphVisitor(x1[3])), -(x4[3], 1))∧(UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥))



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

    (103)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧[(-1)bso_121] ≥ 0)



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

    (104)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧[(-1)bso_121] ≥ 0)



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

    (105)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧[(-1)bso_121] ≥ 0)



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

    (106)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_121] ≥ 0)



  • We consider the chain COND_F26160_1_VISIT_INVOKEMETHOD(TRUE, f25898_0_visit_Return(x2[5], x3[5]), java.lang.Object(List(x5[5])), java.lang.Object(MarkingGraphVisitor(x0[5])), x6[5], x7[5]) → F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5]), F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6]), F26145_0_VISIT_NULL'(x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0]) → COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0]) which results in the following constraint:

    (107)    (x2[5]=x1[6]x5[5]=java.lang.Object(List(x2[6]))∧x7[5]=NULLx3[5]=x3[6]x1[6]=x1[0]x2[6]=x2[0]x4[6]=java.lang.Object(MarkingGraphVisitor(x1[0]))∧x3[6]=x4[0]F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6])≥NonInfC∧F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6])≥F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])∧(UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥))



    We simplified constraint (107) using rules (III), (IV) which results in the following new constraint:

    (108)    (F26145_0_VISIT_NULL'(x2[5], java.lang.Object(List(x2[6])), NULL, x3[5])≥NonInfC∧F26145_0_VISIT_NULL'(x2[5], java.lang.Object(List(x2[6])), NULL, x3[5])≥F26145_0_VISIT_NULL'(x2[5], x2[6], java.lang.Object(MarkingGraphVisitor(x2[5])), x3[5])∧(UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥))



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

    (109)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧[(-1)bso_121] ≥ 0)



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

    (110)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧[(-1)bso_121] ≥ 0)



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

    (111)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧[(-1)bso_121] ≥ 0)



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

    (112)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_121] ≥ 0)



  • We consider the chain F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6]), F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6]) which results in the following constraint:

    (113)    (x1[6]=x1[6]1x2[6]=java.lang.Object(List(x2[6]1))∧x4[6]=NULLx3[6]=x3[6]1F26145_0_VISIT_NULL'(x1[6]1, java.lang.Object(List(x2[6]1)), NULL, x3[6]1)≥NonInfC∧F26145_0_VISIT_NULL'(x1[6]1, java.lang.Object(List(x2[6]1)), NULL, x3[6]1)≥F26145_0_VISIT_NULL'(x1[6]1, x2[6]1, x4[6]1, x3[6]1)∧(UIncreasing(F26145_0_VISIT_NULL'(x1[6]1, x2[6]1, x4[6]1, x3[6]1)), ≥))



    We simplified constraint (113) using rule (III) which results in the following new constraint:

    (114)    (F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6]1)), NULL, x3[6])≥NonInfC∧F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6]1)), NULL, x3[6])≥F26145_0_VISIT_NULL'(x1[6], x2[6]1, x4[6]1, x3[6])∧(UIncreasing(F26145_0_VISIT_NULL'(x1[6]1, x2[6]1, x4[6]1, x3[6]1)), ≥))



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

    (115)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6]1, x2[6]1, x4[6]1, x3[6]1)), ≥)∧[bni_120] = 0∧[(-1)bso_121] + x4[6]1 ≥ 0)



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

    (116)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6]1, x2[6]1, x4[6]1, x3[6]1)), ≥)∧[bni_120] = 0∧[(-1)bso_121] + x4[6]1 ≥ 0)



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

    (117)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6]1, x2[6]1, x4[6]1, x3[6]1)), ≥)∧[bni_120] = 0∧[(-1)bso_121] + x4[6]1 ≥ 0)



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

    (118)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6]1, x2[6]1, x4[6]1, x3[6]1)), ≥)∧[bni_120] = 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧[(-1)bso_121] ≥ 0)



  • We consider the chain COND_F26160_1_VISIT_INVOKEMETHOD1(TRUE, f25998_0_visit_Return(x2[8], x3[8]), x5[8], java.lang.Object(x6[8]), x7[8], x9[8], x10[8]) → F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8]), F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6]) which results in the following constraint:

    (119)    (x2[8]=x1[6]x9[8]=java.lang.Object(List(x2[6]))∧x10[8]=NULLx3[8]=x3[6]F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6])≥NonInfC∧F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6])≥F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])∧(UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥))



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

    (120)    (F26145_0_VISIT_NULL'(x2[8], java.lang.Object(List(x2[6])), NULL, x3[8])≥NonInfC∧F26145_0_VISIT_NULL'(x2[8], java.lang.Object(List(x2[6])), NULL, x3[8])≥F26145_0_VISIT_NULL'(x2[8], x2[6], x4[6], x3[8])∧(UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥))



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

    (121)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧[(-1)bso_121] + x4[6] ≥ 0)



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

    (122)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧[(-1)bso_121] + x4[6] ≥ 0)



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

    (123)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧[(-1)bso_121] + x4[6] ≥ 0)



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

    (124)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧[(-1)bso_121] ≥ 0)



  • We consider the chain COND_F26160_1_VISIT_INVOKEMETHOD2(TRUE, f26121_0_visit_Return(x1[10], x2[10]), x4[10], java.lang.Object(x5[10]), x6[10], x8[10], x9[10]) → F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10]), F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6]) which results in the following constraint:

    (125)    (x1[10]=x1[6]x8[10]=java.lang.Object(List(x2[6]))∧x9[10]=NULLx2[10]=x3[6]F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6])≥NonInfC∧F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6])≥F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])∧(UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥))



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

    (126)    (F26145_0_VISIT_NULL'(x1[10], java.lang.Object(List(x2[6])), NULL, x2[10])≥NonInfC∧F26145_0_VISIT_NULL'(x1[10], java.lang.Object(List(x2[6])), NULL, x2[10])≥F26145_0_VISIT_NULL'(x1[10], x2[6], x4[6], x2[10])∧(UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥))



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

    (127)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧[(-1)bso_121] + x4[6] ≥ 0)



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

    (128)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧[(-1)bso_121] + x4[6] ≥ 0)



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

    (129)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧[(-1)bso_121] + x4[6] ≥ 0)



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

    (130)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧[(-1)bso_121] ≥ 0)



  • We consider the chain COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3]) → F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1)), F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6]), F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2]) → COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2]) which results in the following constraint:

    (131)    (x1[3]=x1[6]x5[3]=java.lang.Object(List(x2[6]))∧x6[3]=NULL-(x4[3], 1)=x3[6]x1[6]=x1[2]x2[6]=x2[2]x4[6]=java.lang.Object(MarkingGraphVisitor(x1[2]))∧x3[6]=x4[2]F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6])≥NonInfC∧F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6])≥F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])∧(UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥))



    We simplified constraint (131) using rules (III), (IV) which results in the following new constraint:

    (132)    (F26145_0_VISIT_NULL'(x1[3], java.lang.Object(List(x2[6])), NULL, -(x4[3], 1))≥NonInfC∧F26145_0_VISIT_NULL'(x1[3], java.lang.Object(List(x2[6])), NULL, -(x4[3], 1))≥F26145_0_VISIT_NULL'(x1[3], x2[6], java.lang.Object(MarkingGraphVisitor(x1[3])), -(x4[3], 1))∧(UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥))



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

    (133)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧[(-1)bso_121] ≥ 0)



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

    (134)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧[(-1)bso_121] ≥ 0)



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

    (135)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧[(-1)bso_121] ≥ 0)



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

    (136)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_121] ≥ 0)



  • We consider the chain COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3]) → F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1)), F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6]), F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6]) which results in the following constraint:

    (137)    (x1[3]=x1[6]x5[3]=java.lang.Object(List(x2[6]))∧x6[3]=NULL-(x4[3], 1)=x3[6]x1[6]=x1[6]1x2[6]=java.lang.Object(List(x2[6]1))∧x4[6]=NULLx3[6]=x3[6]1F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6])≥NonInfC∧F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6])≥F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])∧(UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥))



    We simplified constraint (137) using rules (III), (IV) which results in the following new constraint:

    (138)    (F26145_0_VISIT_NULL'(x1[3], java.lang.Object(List(java.lang.Object(List(x2[6]1)))), NULL, -(x4[3], 1))≥NonInfC∧F26145_0_VISIT_NULL'(x1[3], java.lang.Object(List(java.lang.Object(List(x2[6]1)))), NULL, -(x4[3], 1))≥F26145_0_VISIT_NULL'(x1[3], java.lang.Object(List(x2[6]1)), NULL, -(x4[3], 1))∧(UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥))



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

    (139)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧[(-1)bso_121] ≥ 0)



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

    (140)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧[(-1)bso_121] ≥ 0)



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

    (141)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧[(-1)bso_121] ≥ 0)



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

    (142)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_121] ≥ 0)



  • We consider the chain COND_F26160_1_VISIT_INVOKEMETHOD(TRUE, f25898_0_visit_Return(x2[5], x3[5]), java.lang.Object(List(x5[5])), java.lang.Object(MarkingGraphVisitor(x0[5])), x6[5], x7[5]) → F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5]), F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6]), F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2]) → COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2]) which results in the following constraint:

    (143)    (x2[5]=x1[6]x5[5]=java.lang.Object(List(x2[6]))∧x7[5]=NULLx3[5]=x3[6]x1[6]=x1[2]x2[6]=x2[2]x4[6]=java.lang.Object(MarkingGraphVisitor(x1[2]))∧x3[6]=x4[2]F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6])≥NonInfC∧F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6])≥F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])∧(UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥))



    We simplified constraint (143) using rules (III), (IV) which results in the following new constraint:

    (144)    (F26145_0_VISIT_NULL'(x2[5], java.lang.Object(List(x2[6])), NULL, x3[5])≥NonInfC∧F26145_0_VISIT_NULL'(x2[5], java.lang.Object(List(x2[6])), NULL, x3[5])≥F26145_0_VISIT_NULL'(x2[5], x2[6], java.lang.Object(MarkingGraphVisitor(x2[5])), x3[5])∧(UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥))



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

    (145)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧[(-1)bso_121] ≥ 0)



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

    (146)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧[(-1)bso_121] ≥ 0)



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

    (147)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧[(-1)bso_121] ≥ 0)



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

    (148)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_121] ≥ 0)



  • We consider the chain COND_F26160_1_VISIT_INVOKEMETHOD(TRUE, f25898_0_visit_Return(x2[5], x3[5]), java.lang.Object(List(x5[5])), java.lang.Object(MarkingGraphVisitor(x0[5])), x6[5], x7[5]) → F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5]), F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6]), F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6]) which results in the following constraint:

    (149)    (x2[5]=x1[6]x5[5]=java.lang.Object(List(x2[6]))∧x7[5]=NULLx3[5]=x3[6]x1[6]=x1[6]1x2[6]=java.lang.Object(List(x2[6]1))∧x4[6]=NULLx3[6]=x3[6]1F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6])≥NonInfC∧F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6])≥F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])∧(UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥))



    We simplified constraint (149) using rules (III), (IV) which results in the following new constraint:

    (150)    (F26145_0_VISIT_NULL'(x2[5], java.lang.Object(List(java.lang.Object(List(x2[6]1)))), NULL, x3[5])≥NonInfC∧F26145_0_VISIT_NULL'(x2[5], java.lang.Object(List(java.lang.Object(List(x2[6]1)))), NULL, x3[5])≥F26145_0_VISIT_NULL'(x2[5], java.lang.Object(List(x2[6]1)), NULL, x3[5])∧(UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥))



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

    (151)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧[(-1)bso_121] ≥ 0)



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

    (152)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧[(-1)bso_121] ≥ 0)



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

    (153)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧[(-1)bso_121] ≥ 0)



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

    (154)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_121] ≥ 0)







For Pair F26160_1_VISIT_INVOKEMETHOD'(f25998_0_visit_Return(x2, x3), x5, java.lang.Object(x6), x7) → COND_F26160_1_VISIT_INVOKEMETHOD1(>=(x7, x3), f25998_0_visit_Return(x2, x3), x5, java.lang.Object(x6), x7, x9, x10) the following chains were created:
  • We consider the chain COND_F26145_0_VISIT_NULL(TRUE, x1[1], x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1], x5[1], x6[1]) → F26160_1_VISIT_INVOKEMETHOD'(f26145_0_visit_NULL(x1[1], x5[1], x6[1], -(x4[1], 1)), x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1]), F26160_1_VISIT_INVOKEMETHOD'(f25998_0_visit_Return(x2[7], x3[7]), x5[7], java.lang.Object(x6[7]), x7[7]) → COND_F26160_1_VISIT_INVOKEMETHOD1(>=(x7[7], x3[7]), f25998_0_visit_Return(x2[7], x3[7]), x5[7], java.lang.Object(x6[7]), x7[7], x9[7], x10[7]), COND_F26160_1_VISIT_INVOKEMETHOD1(TRUE, f25998_0_visit_Return(x2[8], x3[8]), x5[8], java.lang.Object(x6[8]), x7[8], x9[8], x10[8]) → F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8]) which results in the following constraint:

    (155)    (f26145_0_visit_NULL(x1[1], x5[1], x6[1], -(x4[1], 1))=f25998_0_visit_Return(x2[7], x3[7])∧x2[1]=x5[7]java.lang.Object(MarkingGraphVisitor(x1[1]))=java.lang.Object(x6[7])∧x4[1]=x7[7]>=(x7[7], x3[7])=TRUEf25998_0_visit_Return(x2[7], x3[7])=f25998_0_visit_Return(x2[8], x3[8])∧x5[7]=x5[8]java.lang.Object(x6[7])=java.lang.Object(x6[8])∧x7[7]=x7[8]x9[7]=x9[8]x10[7]=x10[8]F26160_1_VISIT_INVOKEMETHOD'(f25998_0_visit_Return(x2[7], x3[7]), x5[7], java.lang.Object(x6[7]), x7[7])≥NonInfC∧F26160_1_VISIT_INVOKEMETHOD'(f25998_0_visit_Return(x2[7], x3[7]), x5[7], java.lang.Object(x6[7]), x7[7])≥COND_F26160_1_VISIT_INVOKEMETHOD1(>=(x7[7], x3[7]), f25998_0_visit_Return(x2[7], x3[7]), x5[7], java.lang.Object(x6[7]), x7[7], x9[7], x10[7])∧(UIncreasing(COND_F26160_1_VISIT_INVOKEMETHOD1(>=(x7[7], x3[7]), f25998_0_visit_Return(x2[7], x3[7]), x5[7], java.lang.Object(x6[7]), x7[7], x9[7], x10[7])), ≥))



    We solved constraint (155) using rules (I), (II).




For Pair COND_F26160_1_VISIT_INVOKEMETHOD1(TRUE, f25998_0_visit_Return(x2, x3), x5, java.lang.Object(x6), x7, x9, x10) → F26145_0_VISIT_NULL'(x2, x9, x10, x3) the following chains were created:
  • We consider the chain F26160_1_VISIT_INVOKEMETHOD'(f25998_0_visit_Return(x2[7], x3[7]), x5[7], java.lang.Object(x6[7]), x7[7]) → COND_F26160_1_VISIT_INVOKEMETHOD1(>=(x7[7], x3[7]), f25998_0_visit_Return(x2[7], x3[7]), x5[7], java.lang.Object(x6[7]), x7[7], x9[7], x10[7]), COND_F26160_1_VISIT_INVOKEMETHOD1(TRUE, f25998_0_visit_Return(x2[8], x3[8]), x5[8], java.lang.Object(x6[8]), x7[8], x9[8], x10[8]) → F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8]), F26145_0_VISIT_NULL'(x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0]) → COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0]) which results in the following constraint:

    (156)    (>=(x7[7], x3[7])=TRUEf25998_0_visit_Return(x2[7], x3[7])=f25998_0_visit_Return(x2[8], x3[8])∧x5[7]=x5[8]java.lang.Object(x6[7])=java.lang.Object(x6[8])∧x7[7]=x7[8]x9[7]=x9[8]x10[7]=x10[8]x2[8]=x1[0]x9[8]=x2[0]x10[8]=java.lang.Object(MarkingGraphVisitor(x1[0]))∧x3[8]=x4[0]COND_F26160_1_VISIT_INVOKEMETHOD1(TRUE, f25998_0_visit_Return(x2[8], x3[8]), x5[8], java.lang.Object(x6[8]), x7[8], x9[8], x10[8])≥NonInfC∧COND_F26160_1_VISIT_INVOKEMETHOD1(TRUE, f25998_0_visit_Return(x2[8], x3[8]), x5[8], java.lang.Object(x6[8]), x7[8], x9[8], x10[8])≥F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8])∧(UIncreasing(F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8])), ≥))



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

    (157)    (>=(x7[7], x3[7])=TRUECOND_F26160_1_VISIT_INVOKEMETHOD1(TRUE, f25998_0_visit_Return(x2[7], x3[7]), x5[7], java.lang.Object(x6[7]), x7[7], x9[7], java.lang.Object(MarkingGraphVisitor(x2[7])))≥NonInfC∧COND_F26160_1_VISIT_INVOKEMETHOD1(TRUE, f25998_0_visit_Return(x2[7], x3[7]), x5[7], java.lang.Object(x6[7]), x7[7], x9[7], java.lang.Object(MarkingGraphVisitor(x2[7])))≥F26145_0_VISIT_NULL'(x2[7], x9[7], java.lang.Object(MarkingGraphVisitor(x2[7])), x3[7])∧(UIncreasing(F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8])), ≥))



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

    (158)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8])), ≥)∧[(-1)Bound*bni_122] + [(2)bni_122]x2[7] + [bni_122]x5[7] ≥ 0∧[1 + (-1)bso_123] + [3]x2[7] + x5[7] ≥ 0)



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

    (159)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8])), ≥)∧[(-1)Bound*bni_122] + [(2)bni_122]x2[7] + [bni_122]x5[7] ≥ 0∧[1 + (-1)bso_123] + [3]x2[7] + x5[7] ≥ 0)



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

    (160)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8])), ≥)∧[(-1)Bound*bni_122] + [(2)bni_122]x2[7] + [bni_122]x5[7] ≥ 0∧[1 + (-1)bso_123] + [3]x2[7] + x5[7] ≥ 0)



    We simplified constraint (160) using rules (IDP_UNRESTRICTED_VARS), (IDP_POLY_GCD) which results in the following new constraint:

    (161)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8])), ≥)∧[(2)bni_122] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[bni_122] ≥ 0∧0 ≥ 0∧[(-1)Bound*bni_122] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧[1 + (-1)bso_123] ≥ 0∧[1] ≥ 0)



  • We consider the chain F26160_1_VISIT_INVOKEMETHOD'(f25998_0_visit_Return(x2[7], x3[7]), x5[7], java.lang.Object(x6[7]), x7[7]) → COND_F26160_1_VISIT_INVOKEMETHOD1(>=(x7[7], x3[7]), f25998_0_visit_Return(x2[7], x3[7]), x5[7], java.lang.Object(x6[7]), x7[7], x9[7], x10[7]), COND_F26160_1_VISIT_INVOKEMETHOD1(TRUE, f25998_0_visit_Return(x2[8], x3[8]), x5[8], java.lang.Object(x6[8]), x7[8], x9[8], x10[8]) → F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8]), F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2]) → COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2]) which results in the following constraint:

    (162)    (>=(x7[7], x3[7])=TRUEf25998_0_visit_Return(x2[7], x3[7])=f25998_0_visit_Return(x2[8], x3[8])∧x5[7]=x5[8]java.lang.Object(x6[7])=java.lang.Object(x6[8])∧x7[7]=x7[8]x9[7]=x9[8]x10[7]=x10[8]x2[8]=x1[2]x9[8]=x2[2]x10[8]=java.lang.Object(MarkingGraphVisitor(x1[2]))∧x3[8]=x4[2]COND_F26160_1_VISIT_INVOKEMETHOD1(TRUE, f25998_0_visit_Return(x2[8], x3[8]), x5[8], java.lang.Object(x6[8]), x7[8], x9[8], x10[8])≥NonInfC∧COND_F26160_1_VISIT_INVOKEMETHOD1(TRUE, f25998_0_visit_Return(x2[8], x3[8]), x5[8], java.lang.Object(x6[8]), x7[8], x9[8], x10[8])≥F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8])∧(UIncreasing(F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8])), ≥))



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

    (163)    (>=(x7[7], x3[7])=TRUECOND_F26160_1_VISIT_INVOKEMETHOD1(TRUE, f25998_0_visit_Return(x2[7], x3[7]), x5[7], java.lang.Object(x6[7]), x7[7], x9[7], java.lang.Object(MarkingGraphVisitor(x2[7])))≥NonInfC∧COND_F26160_1_VISIT_INVOKEMETHOD1(TRUE, f25998_0_visit_Return(x2[7], x3[7]), x5[7], java.lang.Object(x6[7]), x7[7], x9[7], java.lang.Object(MarkingGraphVisitor(x2[7])))≥F26145_0_VISIT_NULL'(x2[7], x9[7], java.lang.Object(MarkingGraphVisitor(x2[7])), x3[7])∧(UIncreasing(F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8])), ≥))



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

    (164)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8])), ≥)∧[(-1)Bound*bni_122] + [(2)bni_122]x2[7] + [bni_122]x5[7] ≥ 0∧[1 + (-1)bso_123] + [3]x2[7] + x5[7] ≥ 0)



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

    (165)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8])), ≥)∧[(-1)Bound*bni_122] + [(2)bni_122]x2[7] + [bni_122]x5[7] ≥ 0∧[1 + (-1)bso_123] + [3]x2[7] + x5[7] ≥ 0)



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

    (166)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8])), ≥)∧[(-1)Bound*bni_122] + [(2)bni_122]x2[7] + [bni_122]x5[7] ≥ 0∧[1 + (-1)bso_123] + [3]x2[7] + x5[7] ≥ 0)



    We simplified constraint (166) using rules (IDP_UNRESTRICTED_VARS), (IDP_POLY_GCD) which results in the following new constraint:

    (167)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8])), ≥)∧[(2)bni_122] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[bni_122] ≥ 0∧0 ≥ 0∧[(-1)Bound*bni_122] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧[1 + (-1)bso_123] ≥ 0∧[1] ≥ 0)



  • We consider the chain F26160_1_VISIT_INVOKEMETHOD'(f25998_0_visit_Return(x2[7], x3[7]), x5[7], java.lang.Object(x6[7]), x7[7]) → COND_F26160_1_VISIT_INVOKEMETHOD1(>=(x7[7], x3[7]), f25998_0_visit_Return(x2[7], x3[7]), x5[7], java.lang.Object(x6[7]), x7[7], x9[7], x10[7]), COND_F26160_1_VISIT_INVOKEMETHOD1(TRUE, f25998_0_visit_Return(x2[8], x3[8]), x5[8], java.lang.Object(x6[8]), x7[8], x9[8], x10[8]) → F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8]), F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6]) which results in the following constraint:

    (168)    (>=(x7[7], x3[7])=TRUEf25998_0_visit_Return(x2[7], x3[7])=f25998_0_visit_Return(x2[8], x3[8])∧x5[7]=x5[8]java.lang.Object(x6[7])=java.lang.Object(x6[8])∧x7[7]=x7[8]x9[7]=x9[8]x10[7]=x10[8]x2[8]=x1[6]x9[8]=java.lang.Object(List(x2[6]))∧x10[8]=NULLx3[8]=x3[6]COND_F26160_1_VISIT_INVOKEMETHOD1(TRUE, f25998_0_visit_Return(x2[8], x3[8]), x5[8], java.lang.Object(x6[8]), x7[8], x9[8], x10[8])≥NonInfC∧COND_F26160_1_VISIT_INVOKEMETHOD1(TRUE, f25998_0_visit_Return(x2[8], x3[8]), x5[8], java.lang.Object(x6[8]), x7[8], x9[8], x10[8])≥F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8])∧(UIncreasing(F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8])), ≥))



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

    (169)    (>=(x7[7], x3[7])=TRUECOND_F26160_1_VISIT_INVOKEMETHOD1(TRUE, f25998_0_visit_Return(x2[7], x3[7]), x5[7], java.lang.Object(x6[7]), x7[7], java.lang.Object(List(x2[6])), NULL)≥NonInfC∧COND_F26160_1_VISIT_INVOKEMETHOD1(TRUE, f25998_0_visit_Return(x2[7], x3[7]), x5[7], java.lang.Object(x6[7]), x7[7], java.lang.Object(List(x2[6])), NULL)≥F26145_0_VISIT_NULL'(x2[7], java.lang.Object(List(x2[6])), NULL, x3[7])∧(UIncreasing(F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8])), ≥))



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

    (170)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8])), ≥)∧[(-1)Bound*bni_122] + [bni_122]x5[7] + [(2)bni_122]x2[7] ≥ 0∧[1 + (-1)bso_123] + x5[7] + [3]x2[7] ≥ 0)



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

    (171)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8])), ≥)∧[(-1)Bound*bni_122] + [bni_122]x5[7] + [(2)bni_122]x2[7] ≥ 0∧[1 + (-1)bso_123] + x5[7] + [3]x2[7] ≥ 0)



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

    (172)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8])), ≥)∧[(-1)Bound*bni_122] + [bni_122]x5[7] + [(2)bni_122]x2[7] ≥ 0∧[1 + (-1)bso_123] + x5[7] + [3]x2[7] ≥ 0)



    We simplified constraint (172) using rules (IDP_UNRESTRICTED_VARS), (IDP_POLY_GCD) which results in the following new constraint:

    (173)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[bni_122] ≥ 0∧0 ≥ 0∧[(2)bni_122] ≥ 0∧[(-1)Bound*bni_122] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧[1 + (-1)bso_123] ≥ 0∧[1] ≥ 0)







For Pair F26160_1_VISIT_INVOKEMETHOD'(f26121_0_visit_Return(x1, x2), x4, java.lang.Object(x5), x6) → COND_F26160_1_VISIT_INVOKEMETHOD2(>=(x6, x2), f26121_0_visit_Return(x1, x2), x4, java.lang.Object(x5), x6, x8, x9) the following chains were created:
  • We consider the chain COND_F26145_0_VISIT_NULL(TRUE, x1[1], x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1], x5[1], x6[1]) → F26160_1_VISIT_INVOKEMETHOD'(f26145_0_visit_NULL(x1[1], x5[1], x6[1], -(x4[1], 1)), x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1]), F26160_1_VISIT_INVOKEMETHOD'(f26121_0_visit_Return(x1[9], x2[9]), x4[9], java.lang.Object(x5[9]), x6[9]) → COND_F26160_1_VISIT_INVOKEMETHOD2(>=(x6[9], x2[9]), f26121_0_visit_Return(x1[9], x2[9]), x4[9], java.lang.Object(x5[9]), x6[9], x8[9], x9[9]), COND_F26160_1_VISIT_INVOKEMETHOD2(TRUE, f26121_0_visit_Return(x1[10], x2[10]), x4[10], java.lang.Object(x5[10]), x6[10], x8[10], x9[10]) → F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10]) which results in the following constraint:

    (174)    (f26145_0_visit_NULL(x1[1], x5[1], x6[1], -(x4[1], 1))=f26121_0_visit_Return(x1[9], x2[9])∧x2[1]=x4[9]java.lang.Object(MarkingGraphVisitor(x1[1]))=java.lang.Object(x5[9])∧x4[1]=x6[9]>=(x6[9], x2[9])=TRUEf26121_0_visit_Return(x1[9], x2[9])=f26121_0_visit_Return(x1[10], x2[10])∧x4[9]=x4[10]java.lang.Object(x5[9])=java.lang.Object(x5[10])∧x6[9]=x6[10]x8[9]=x8[10]x9[9]=x9[10]F26160_1_VISIT_INVOKEMETHOD'(f26121_0_visit_Return(x1[9], x2[9]), x4[9], java.lang.Object(x5[9]), x6[9])≥NonInfC∧F26160_1_VISIT_INVOKEMETHOD'(f26121_0_visit_Return(x1[9], x2[9]), x4[9], java.lang.Object(x5[9]), x6[9])≥COND_F26160_1_VISIT_INVOKEMETHOD2(>=(x6[9], x2[9]), f26121_0_visit_Return(x1[9], x2[9]), x4[9], java.lang.Object(x5[9]), x6[9], x8[9], x9[9])∧(UIncreasing(COND_F26160_1_VISIT_INVOKEMETHOD2(>=(x6[9], x2[9]), f26121_0_visit_Return(x1[9], x2[9]), x4[9], java.lang.Object(x5[9]), x6[9], x8[9], x9[9])), ≥))



    We solved constraint (174) using rules (I), (II).




For Pair COND_F26160_1_VISIT_INVOKEMETHOD2(TRUE, f26121_0_visit_Return(x1, x2), x4, java.lang.Object(x5), x6, x8, x9) → F26145_0_VISIT_NULL'(x1, x8, x9, x2) the following chains were created:
  • We consider the chain F26160_1_VISIT_INVOKEMETHOD'(f26121_0_visit_Return(x1[9], x2[9]), x4[9], java.lang.Object(x5[9]), x6[9]) → COND_F26160_1_VISIT_INVOKEMETHOD2(>=(x6[9], x2[9]), f26121_0_visit_Return(x1[9], x2[9]), x4[9], java.lang.Object(x5[9]), x6[9], x8[9], x9[9]), COND_F26160_1_VISIT_INVOKEMETHOD2(TRUE, f26121_0_visit_Return(x1[10], x2[10]), x4[10], java.lang.Object(x5[10]), x6[10], x8[10], x9[10]) → F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10]), F26145_0_VISIT_NULL'(x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0]) → COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0]) which results in the following constraint:

    (175)    (>=(x6[9], x2[9])=TRUEf26121_0_visit_Return(x1[9], x2[9])=f26121_0_visit_Return(x1[10], x2[10])∧x4[9]=x4[10]java.lang.Object(x5[9])=java.lang.Object(x5[10])∧x6[9]=x6[10]x8[9]=x8[10]x9[9]=x9[10]x1[10]=x1[0]x8[10]=x2[0]x9[10]=java.lang.Object(MarkingGraphVisitor(x1[0]))∧x2[10]=x4[0]COND_F26160_1_VISIT_INVOKEMETHOD2(TRUE, f26121_0_visit_Return(x1[10], x2[10]), x4[10], java.lang.Object(x5[10]), x6[10], x8[10], x9[10])≥NonInfC∧COND_F26160_1_VISIT_INVOKEMETHOD2(TRUE, f26121_0_visit_Return(x1[10], x2[10]), x4[10], java.lang.Object(x5[10]), x6[10], x8[10], x9[10])≥F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10])∧(UIncreasing(F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10])), ≥))



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

    (176)    (>=(x6[9], x2[9])=TRUECOND_F26160_1_VISIT_INVOKEMETHOD2(TRUE, f26121_0_visit_Return(x1[9], x2[9]), x4[9], java.lang.Object(x5[9]), x6[9], x8[9], java.lang.Object(MarkingGraphVisitor(x1[9])))≥NonInfC∧COND_F26160_1_VISIT_INVOKEMETHOD2(TRUE, f26121_0_visit_Return(x1[9], x2[9]), x4[9], java.lang.Object(x5[9]), x6[9], x8[9], java.lang.Object(MarkingGraphVisitor(x1[9])))≥F26145_0_VISIT_NULL'(x1[9], x8[9], java.lang.Object(MarkingGraphVisitor(x1[9])), x2[9])∧(UIncreasing(F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10])), ≥))



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

    (177)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10])), ≥)∧[bni_124 + (-1)Bound*bni_124] + [bni_124]x4[9] ≥ 0∧[2 + (-1)bso_125] + x1[9] + x4[9] ≥ 0)



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

    (178)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10])), ≥)∧[bni_124 + (-1)Bound*bni_124] + [bni_124]x4[9] ≥ 0∧[2 + (-1)bso_125] + x1[9] + x4[9] ≥ 0)



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

    (179)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10])), ≥)∧[bni_124 + (-1)Bound*bni_124] + [bni_124]x4[9] ≥ 0∧[2 + (-1)bso_125] + x1[9] + x4[9] ≥ 0)



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

    (180)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[bni_124] ≥ 0∧0 ≥ 0∧[bni_124 + (-1)Bound*bni_124] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧[2 + (-1)bso_125] ≥ 0)



  • We consider the chain F26160_1_VISIT_INVOKEMETHOD'(f26121_0_visit_Return(x1[9], x2[9]), x4[9], java.lang.Object(x5[9]), x6[9]) → COND_F26160_1_VISIT_INVOKEMETHOD2(>=(x6[9], x2[9]), f26121_0_visit_Return(x1[9], x2[9]), x4[9], java.lang.Object(x5[9]), x6[9], x8[9], x9[9]), COND_F26160_1_VISIT_INVOKEMETHOD2(TRUE, f26121_0_visit_Return(x1[10], x2[10]), x4[10], java.lang.Object(x5[10]), x6[10], x8[10], x9[10]) → F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10]), F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2]) → COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2]) which results in the following constraint:

    (181)    (>=(x6[9], x2[9])=TRUEf26121_0_visit_Return(x1[9], x2[9])=f26121_0_visit_Return(x1[10], x2[10])∧x4[9]=x4[10]java.lang.Object(x5[9])=java.lang.Object(x5[10])∧x6[9]=x6[10]x8[9]=x8[10]x9[9]=x9[10]x1[10]=x1[2]x8[10]=x2[2]x9[10]=java.lang.Object(MarkingGraphVisitor(x1[2]))∧x2[10]=x4[2]COND_F26160_1_VISIT_INVOKEMETHOD2(TRUE, f26121_0_visit_Return(x1[10], x2[10]), x4[10], java.lang.Object(x5[10]), x6[10], x8[10], x9[10])≥NonInfC∧COND_F26160_1_VISIT_INVOKEMETHOD2(TRUE, f26121_0_visit_Return(x1[10], x2[10]), x4[10], java.lang.Object(x5[10]), x6[10], x8[10], x9[10])≥F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10])∧(UIncreasing(F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10])), ≥))



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

    (182)    (>=(x6[9], x2[9])=TRUECOND_F26160_1_VISIT_INVOKEMETHOD2(TRUE, f26121_0_visit_Return(x1[9], x2[9]), x4[9], java.lang.Object(x5[9]), x6[9], x8[9], java.lang.Object(MarkingGraphVisitor(x1[9])))≥NonInfC∧COND_F26160_1_VISIT_INVOKEMETHOD2(TRUE, f26121_0_visit_Return(x1[9], x2[9]), x4[9], java.lang.Object(x5[9]), x6[9], x8[9], java.lang.Object(MarkingGraphVisitor(x1[9])))≥F26145_0_VISIT_NULL'(x1[9], x8[9], java.lang.Object(MarkingGraphVisitor(x1[9])), x2[9])∧(UIncreasing(F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10])), ≥))



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

    (183)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10])), ≥)∧[bni_124 + (-1)Bound*bni_124] + [bni_124]x4[9] ≥ 0∧[2 + (-1)bso_125] + x1[9] + x4[9] ≥ 0)



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

    (184)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10])), ≥)∧[bni_124 + (-1)Bound*bni_124] + [bni_124]x4[9] ≥ 0∧[2 + (-1)bso_125] + x1[9] + x4[9] ≥ 0)



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

    (185)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10])), ≥)∧[bni_124 + (-1)Bound*bni_124] + [bni_124]x4[9] ≥ 0∧[2 + (-1)bso_125] + x1[9] + x4[9] ≥ 0)



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

    (186)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[bni_124] ≥ 0∧0 ≥ 0∧[bni_124 + (-1)Bound*bni_124] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧[2 + (-1)bso_125] ≥ 0)



  • We consider the chain F26160_1_VISIT_INVOKEMETHOD'(f26121_0_visit_Return(x1[9], x2[9]), x4[9], java.lang.Object(x5[9]), x6[9]) → COND_F26160_1_VISIT_INVOKEMETHOD2(>=(x6[9], x2[9]), f26121_0_visit_Return(x1[9], x2[9]), x4[9], java.lang.Object(x5[9]), x6[9], x8[9], x9[9]), COND_F26160_1_VISIT_INVOKEMETHOD2(TRUE, f26121_0_visit_Return(x1[10], x2[10]), x4[10], java.lang.Object(x5[10]), x6[10], x8[10], x9[10]) → F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10]), F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6]) which results in the following constraint:

    (187)    (>=(x6[9], x2[9])=TRUEf26121_0_visit_Return(x1[9], x2[9])=f26121_0_visit_Return(x1[10], x2[10])∧x4[9]=x4[10]java.lang.Object(x5[9])=java.lang.Object(x5[10])∧x6[9]=x6[10]x8[9]=x8[10]x9[9]=x9[10]x1[10]=x1[6]x8[10]=java.lang.Object(List(x2[6]))∧x9[10]=NULLx2[10]=x3[6]COND_F26160_1_VISIT_INVOKEMETHOD2(TRUE, f26121_0_visit_Return(x1[10], x2[10]), x4[10], java.lang.Object(x5[10]), x6[10], x8[10], x9[10])≥NonInfC∧COND_F26160_1_VISIT_INVOKEMETHOD2(TRUE, f26121_0_visit_Return(x1[10], x2[10]), x4[10], java.lang.Object(x5[10]), x6[10], x8[10], x9[10])≥F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10])∧(UIncreasing(F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10])), ≥))



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

    (188)    (>=(x6[9], x2[9])=TRUECOND_F26160_1_VISIT_INVOKEMETHOD2(TRUE, f26121_0_visit_Return(x1[9], x2[9]), x4[9], java.lang.Object(x5[9]), x6[9], java.lang.Object(List(x2[6])), NULL)≥NonInfC∧COND_F26160_1_VISIT_INVOKEMETHOD2(TRUE, f26121_0_visit_Return(x1[9], x2[9]), x4[9], java.lang.Object(x5[9]), x6[9], java.lang.Object(List(x2[6])), NULL)≥F26145_0_VISIT_NULL'(x1[9], java.lang.Object(List(x2[6])), NULL, x2[9])∧(UIncreasing(F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10])), ≥))



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

    (189)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10])), ≥)∧[bni_124 + (-1)Bound*bni_124] + [bni_124]x4[9] ≥ 0∧[2 + (-1)bso_125] + x4[9] + x1[9] ≥ 0)



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

    (190)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10])), ≥)∧[bni_124 + (-1)Bound*bni_124] + [bni_124]x4[9] ≥ 0∧[2 + (-1)bso_125] + x4[9] + x1[9] ≥ 0)



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

    (191)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10])), ≥)∧[bni_124 + (-1)Bound*bni_124] + [bni_124]x4[9] ≥ 0∧[2 + (-1)bso_125] + x4[9] + x1[9] ≥ 0)



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

    (192)    (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[bni_124] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[bni_124 + (-1)Bound*bni_124] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧[1] ≥ 0∧[2 + (-1)bso_125] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • F26145_0_VISIT_NULL'(x1, x2, java.lang.Object(MarkingGraphVisitor(x1)), x4) → COND_F26145_0_VISIT_NULL(>(x4, -1), x1, x2, java.lang.Object(MarkingGraphVisitor(x1)), x4, x5, x6)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥)∧[(-1)bni_112] ≥ 0∧0 ≥ 0∧[(-1)bni_112 + (-1)Bound*bni_112] ≥ 0∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧[1] ≥ 0∧[(-1)bso_113] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥)∧0 ≥ 0∧[(-1)bni_112] ≥ 0∧0 ≥ 0∧[(-1)bni_112 + (-1)Bound*bni_112] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧[1] ≥ 0∧[(-1)bso_113] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥)∧0 ≥ 0∧[(-1)bni_112] ≥ 0∧0 ≥ 0∧[(-1)bni_112 + (-1)Bound*bni_112] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧[1] ≥ 0∧[(-1)bso_113] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥)∧0 ≥ 0∧[(-1)bni_112] ≥ 0∧0 ≥ 0∧[(-1)bni_112 + (-1)Bound*bni_112] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧[1] ≥ 0∧[(-1)bso_113] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])), ≥)∧0 ≥ 0∧[(-1)bni_112] ≥ 0∧0 ≥ 0∧[(-1)bni_112 + (-1)Bound*bni_112] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧[1] ≥ 0∧[(-1)bso_113] ≥ 0)

  • COND_F26145_0_VISIT_NULL(TRUE, x1, x2, java.lang.Object(MarkingGraphVisitor(x1)), x4, x5, x6) → F26160_1_VISIT_INVOKEMETHOD'(f26145_0_visit_NULL(x1, x5, x6, -(x4, 1)), x2, java.lang.Object(MarkingGraphVisitor(x1)), x4)

  • F26145_0_VISIT_NULL'(x1, x2, java.lang.Object(MarkingGraphVisitor(x1)), x4) → COND_F26145_0_VISIT_NULL1(>(x4, -1), x1, x2, java.lang.Object(MarkingGraphVisitor(x1)), x4, x5, x6)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧[(-1)bni_114] ≥ 0∧0 ≥ 0∧[(-1)bni_114 + (-1)Bound*bni_114] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧[(-1)bso_115] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧0 ≥ 0∧[(-1)bni_114] ≥ 0∧0 ≥ 0∧[(-1)bni_114 + (-1)Bound*bni_114] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧[(-1)bso_115] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧0 ≥ 0∧[(-1)bni_114] ≥ 0∧0 ≥ 0∧[(-1)bni_114 + (-1)Bound*bni_114] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧[(-1)bso_115] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧0 ≥ 0∧[(-1)bni_114] ≥ 0∧0 ≥ 0∧[(-1)bni_114 + (-1)Bound*bni_114] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧[(-1)bso_115] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧0 ≥ 0∧[(-1)bni_114] ≥ 0∧0 ≥ 0∧[(-1)bni_114 + (-1)Bound*bni_114] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧[(-1)bso_115] ≥ 0)

  • COND_F26145_0_VISIT_NULL1(TRUE, x1, x2, java.lang.Object(MarkingGraphVisitor(x1)), x4, x5, x6) → F26145_0_VISIT_NULL'(x1, x5, x6, -(x4, 1))
    • (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥)∧[(-1)bni_116] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_116 + (-1)Bound*bni_116] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_117] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥)∧[(-1)bni_116] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_116 + (-1)Bound*bni_116] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_117] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥)∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_116] ≥ 0∧0 ≥ 0∧[(-1)bni_116 + (-1)Bound*bni_116] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_117] ≥ 0)

  • F26160_1_VISIT_INVOKEMETHOD'(f25898_0_visit_Return(x2, x3), java.lang.Object(List(x5)), java.lang.Object(MarkingGraphVisitor(x0)), x6) → COND_F26160_1_VISIT_INVOKEMETHOD(>=(x6, x3), f25898_0_visit_Return(x2, x3), java.lang.Object(List(x5)), java.lang.Object(MarkingGraphVisitor(x0)), x6, x7)

  • COND_F26160_1_VISIT_INVOKEMETHOD(TRUE, f25898_0_visit_Return(x2, x3), java.lang.Object(List(x5)), java.lang.Object(MarkingGraphVisitor(x0)), x6, x7) → F26145_0_VISIT_NULL'(x2, x5, x7, x3)
    • (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5])), ≥)∧0 ≥ 0∧[bni_118] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_118 + (-1)Bound*bni_118] ≥ 0∧[1] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_119] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5])), ≥)∧0 ≥ 0∧[bni_118] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_118 + (-1)Bound*bni_118] ≥ 0∧[1] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_119] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5])), ≥)∧[bni_118] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_118 + (-1)Bound*bni_118] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧[(-1)bso_119] ≥ 0)

  • F26145_0_VISIT_NULL'(x1, java.lang.Object(List(x2)), NULL, x3) → F26145_0_VISIT_NULL'(x1, x2, x4, x3)
    • ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_121] ≥ 0)
    • ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_121] ≥ 0)
    • ((UIncreasing(F26145_0_VISIT_NULL'(x1[6]1, x2[6]1, x4[6]1, x3[6]1)), ≥)∧[bni_120] = 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧[(-1)bso_121] ≥ 0)
    • ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧[(-1)bso_121] ≥ 0)
    • ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧[(-1)bso_121] ≥ 0)
    • ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_121] ≥ 0)
    • ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_121] ≥ 0)
    • ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_121] ≥ 0)
    • ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_120] = 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_121] ≥ 0)

  • F26160_1_VISIT_INVOKEMETHOD'(f25998_0_visit_Return(x2, x3), x5, java.lang.Object(x6), x7) → COND_F26160_1_VISIT_INVOKEMETHOD1(>=(x7, x3), f25998_0_visit_Return(x2, x3), x5, java.lang.Object(x6), x7, x9, x10)

  • COND_F26160_1_VISIT_INVOKEMETHOD1(TRUE, f25998_0_visit_Return(x2, x3), x5, java.lang.Object(x6), x7, x9, x10) → F26145_0_VISIT_NULL'(x2, x9, x10, x3)
    • (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8])), ≥)∧[(2)bni_122] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[bni_122] ≥ 0∧0 ≥ 0∧[(-1)Bound*bni_122] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧[1 + (-1)bso_123] ≥ 0∧[1] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8])), ≥)∧[(2)bni_122] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[bni_122] ≥ 0∧0 ≥ 0∧[(-1)Bound*bni_122] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧[1 + (-1)bso_123] ≥ 0∧[1] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[bni_122] ≥ 0∧0 ≥ 0∧[(2)bni_122] ≥ 0∧[(-1)Bound*bni_122] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧[1 + (-1)bso_123] ≥ 0∧[1] ≥ 0)

  • F26160_1_VISIT_INVOKEMETHOD'(f26121_0_visit_Return(x1, x2), x4, java.lang.Object(x5), x6) → COND_F26160_1_VISIT_INVOKEMETHOD2(>=(x6, x2), f26121_0_visit_Return(x1, x2), x4, java.lang.Object(x5), x6, x8, x9)

  • COND_F26160_1_VISIT_INVOKEMETHOD2(TRUE, f26121_0_visit_Return(x1, x2), x4, java.lang.Object(x5), x6, x8, x9) → F26145_0_VISIT_NULL'(x1, x8, x9, x2)
    • (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[bni_124] ≥ 0∧0 ≥ 0∧[bni_124 + (-1)Bound*bni_124] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧[2 + (-1)bso_125] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[bni_124] ≥ 0∧0 ≥ 0∧[bni_124 + (-1)Bound*bni_124] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧[2 + (-1)bso_125] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10])), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[bni_124] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[bni_124 + (-1)Bound*bni_124] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧[1] ≥ 0∧[2 + (-1)bso_125] ≥ 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 with natural coefficients for non-tuple symbols [NONINF][POLO]:

POL(TRUE) = 0   
POL(FALSE) = 0   
POL(f26160_1_visit_InvokeMethod(x1, x2, x3, x4)) = 0   
POL(f25998_0_visit_Return(x1, x2)) = [2]x1   
POL(java.lang.Object(x1)) = 0   
POL(Cond_f26160_1_visit_InvokeMethod(x1, x2, x3, x4, x5, x6)) = 0   
POL(>=(x1, x2)) = 0   
POL(f26114_0_visit_NULL(x1, x2, x3)) = 0   
POL(f26121_0_visit_Return(x1, x2)) = [2]   
POL(Cond_f26160_1_visit_InvokeMethod1(x1, x2, x3, x4, x5, x6)) = 0   
POL(NULL) = 0   
POL(f25898_0_visit_Return(x1, x2)) = 0   
POL(MarkingGraphVisitor(x1)) = 0   
POL(Cond_f26160_1_visit_InvokeMethod2(x1, x2, x3, x4, x5)) = 0   
POL(List(x1)) = 0   
POL(Cond_f26114_0_visit_NULL(x1, x2, x3, x4, x5)) = 0   
POL(!(x1)) = 0   
POL(=(x1, x2)) = 0   
POL(Cond_f26114_0_visit_NULL1(x1, x2, x3, x4, x5)) = 0   
POL(>(x1, x2)) = 0   
POL(-1) = 0   
POL(-(x1, x2)) = 0   
POL(1) = 0   
POL(F26145_0_VISIT_NULL'(x1, x2, x3, x4)) = [-1] + [-1]x3 + [-1]x1   
POL(COND_F26145_0_VISIT_NULL(x1, x2, x3, x4, x5, x6, x7)) = [-1] + [-1]x6 + [-1]x4 + [-1]x3 + [-1]x2   
POL(F26160_1_VISIT_INVOKEMETHOD'(x1, x2, x3, x4)) = [-1] + [-1]x4 + [-1]x3 + [-1]x2 + [-1]x1   
POL(f26145_0_visit_NULL(x1, x2, x3, x4)) = 0   
POL(COND_F26145_0_VISIT_NULL1(x1, x2, x3, x4, x5, x6, x7)) = [-1] + [-1]x7 + [-1]x4 + [-1]x2   
POL(COND_F26160_1_VISIT_INVOKEMETHOD(x1, x2, x3, x4, x5, x6)) = [-1] + [-1]x6 + x5 + [-1]x4 + [-1]x3 + [-1]x2 + [-1]x1   
POL(COND_F26160_1_VISIT_INVOKEMETHOD1(x1, x2, x3, x4, x5, x6, x7)) = [-1]x7 + [-1]x4 + x3 + x2 + [-1]x1   
POL(COND_F26160_1_VISIT_INVOKEMETHOD2(x1, x2, x3, x4, x5, x6, x7)) = [-1] + [-1]x7 + [-1]x4 + x3 + x2 + [-1]x1   

The following pairs are in P>:

COND_F26145_0_VISIT_NULL(TRUE, x1[1], x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1], x5[1], x6[1]) → F26160_1_VISIT_INVOKEMETHOD'(f26145_0_visit_NULL(x1[1], x5[1], x6[1], -(x4[1], 1)), x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1])
F26160_1_VISIT_INVOKEMETHOD'(f25898_0_visit_Return(x2[4], x3[4]), java.lang.Object(List(x5[4])), java.lang.Object(MarkingGraphVisitor(x0[4])), x6[4]) → COND_F26160_1_VISIT_INVOKEMETHOD(>=(x6[4], x3[4]), f25898_0_visit_Return(x2[4], x3[4]), java.lang.Object(List(x5[4])), java.lang.Object(MarkingGraphVisitor(x0[4])), x6[4], x7[4])
F26160_1_VISIT_INVOKEMETHOD'(f25998_0_visit_Return(x2[7], x3[7]), x5[7], java.lang.Object(x6[7]), x7[7]) → COND_F26160_1_VISIT_INVOKEMETHOD1(>=(x7[7], x3[7]), f25998_0_visit_Return(x2[7], x3[7]), x5[7], java.lang.Object(x6[7]), x7[7], x9[7], x10[7])
COND_F26160_1_VISIT_INVOKEMETHOD1(TRUE, f25998_0_visit_Return(x2[8], x3[8]), x5[8], java.lang.Object(x6[8]), x7[8], x9[8], x10[8]) → F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8])
F26160_1_VISIT_INVOKEMETHOD'(f26121_0_visit_Return(x1[9], x2[9]), x4[9], java.lang.Object(x5[9]), x6[9]) → COND_F26160_1_VISIT_INVOKEMETHOD2(>=(x6[9], x2[9]), f26121_0_visit_Return(x1[9], x2[9]), x4[9], java.lang.Object(x5[9]), x6[9], x8[9], x9[9])
COND_F26160_1_VISIT_INVOKEMETHOD2(TRUE, f26121_0_visit_Return(x1[10], x2[10]), x4[10], java.lang.Object(x5[10]), x6[10], x8[10], x9[10]) → F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10])

The following pairs are in Pbound:

COND_F26145_0_VISIT_NULL(TRUE, x1[1], x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1], x5[1], x6[1]) → F26160_1_VISIT_INVOKEMETHOD'(f26145_0_visit_NULL(x1[1], x5[1], x6[1], -(x4[1], 1)), x2[1], java.lang.Object(MarkingGraphVisitor(x1[1])), x4[1])
F26160_1_VISIT_INVOKEMETHOD'(f25898_0_visit_Return(x2[4], x3[4]), java.lang.Object(List(x5[4])), java.lang.Object(MarkingGraphVisitor(x0[4])), x6[4]) → COND_F26160_1_VISIT_INVOKEMETHOD(>=(x6[4], x3[4]), f25898_0_visit_Return(x2[4], x3[4]), java.lang.Object(List(x5[4])), java.lang.Object(MarkingGraphVisitor(x0[4])), x6[4], x7[4])
COND_F26160_1_VISIT_INVOKEMETHOD(TRUE, f25898_0_visit_Return(x2[5], x3[5]), java.lang.Object(List(x5[5])), java.lang.Object(MarkingGraphVisitor(x0[5])), x6[5], x7[5]) → F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5])
F26160_1_VISIT_INVOKEMETHOD'(f25998_0_visit_Return(x2[7], x3[7]), x5[7], java.lang.Object(x6[7]), x7[7]) → COND_F26160_1_VISIT_INVOKEMETHOD1(>=(x7[7], x3[7]), f25998_0_visit_Return(x2[7], x3[7]), x5[7], java.lang.Object(x6[7]), x7[7], x9[7], x10[7])
COND_F26160_1_VISIT_INVOKEMETHOD1(TRUE, f25998_0_visit_Return(x2[8], x3[8]), x5[8], java.lang.Object(x6[8]), x7[8], x9[8], x10[8]) → F26145_0_VISIT_NULL'(x2[8], x9[8], x10[8], x3[8])
F26160_1_VISIT_INVOKEMETHOD'(f26121_0_visit_Return(x1[9], x2[9]), x4[9], java.lang.Object(x5[9]), x6[9]) → COND_F26160_1_VISIT_INVOKEMETHOD2(>=(x6[9], x2[9]), f26121_0_visit_Return(x1[9], x2[9]), x4[9], java.lang.Object(x5[9]), x6[9], x8[9], x9[9])
COND_F26160_1_VISIT_INVOKEMETHOD2(TRUE, f26121_0_visit_Return(x1[10], x2[10]), x4[10], java.lang.Object(x5[10]), x6[10], x8[10], x9[10]) → F26145_0_VISIT_NULL'(x1[10], x8[10], x9[10], x2[10])

The following pairs are in P:

F26145_0_VISIT_NULL'(x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0]) → COND_F26145_0_VISIT_NULL(>(x4[0], -1), x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])
F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2]) → COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])
COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3]) → F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))
COND_F26160_1_VISIT_INVOKEMETHOD(TRUE, f25898_0_visit_Return(x2[5], x3[5]), java.lang.Object(List(x5[5])), java.lang.Object(MarkingGraphVisitor(x0[5])), x6[5], x7[5]) → F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5])
F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])

There are no usable rules.

(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


The ITRS R consists of the following rules:
f26160_1_visit_InvokeMethod(f25998_0_visit_Return(x2, x3), x5, java.lang.Object(x6), x7) → Cond_f26160_1_visit_InvokeMethod(x7 >= x3, f25998_0_visit_Return(x2, x3), x5, java.lang.Object(x6), x7, x9)
Cond_f26160_1_visit_InvokeMethod(TRUE, f25998_0_visit_Return(x2, x3), x5, java.lang.Object(x6), x7, x9) → f26114_0_visit_NULL(x2, x9, x3)
f26160_1_visit_InvokeMethod(f26121_0_visit_Return(x1, x2), x4, java.lang.Object(x5), x6) → Cond_f26160_1_visit_InvokeMethod1(x6 >= x2, f26121_0_visit_Return(x1, x2), x4, java.lang.Object(x5), x6, x8)
Cond_f26160_1_visit_InvokeMethod1(TRUE, f26121_0_visit_Return(x1, x2), x4, java.lang.Object(x5), x6, x8) → f26114_0_visit_NULL(x1, x8, x2)
f26114_0_visit_NULL(x1, NULL, x2) → f26121_0_visit_Return(x1, x2)
f26160_1_visit_InvokeMethod(f25898_0_visit_Return(x2, x3), x5, java.lang.Object(MarkingGraphVisitor(x0)), x6) → Cond_f26160_1_visit_InvokeMethod2(x6 >= x3, f25898_0_visit_Return(x2, x3), x5, java.lang.Object(MarkingGraphVisitor(x0)), x6)
Cond_f26160_1_visit_InvokeMethod2(TRUE, f25898_0_visit_Return(x2, x3), x5, java.lang.Object(MarkingGraphVisitor(x0)), x6) → f26114_0_visit_NULL(x2, x5, x3)
f26114_0_visit_NULL(x0, java.lang.Object(List(x1)), x2) → f26114_0_visit_NULL(x0, x1, x2)
f26114_0_visit_NULL(x0, java.lang.Object(List(x1)), x2) → Cond_f26114_0_visit_NULL(!(x3 = x0), x0, java.lang.Object(List(x1)), x2, x3)
Cond_f26114_0_visit_NULL(TRUE, x0, java.lang.Object(List(x1)), x2, x3) → f26160_1_visit_InvokeMethod(f26121_0_visit_Return(x0, x2), x1, java.lang.Object(MarkingGraphVisitor(x3)), x2)
f26114_0_visit_NULL(x0, java.lang.Object(List(x1)), x2) → Cond_f26114_0_visit_NULL1(x2 > -1, x0, java.lang.Object(List(x1)), x2, x3)
Cond_f26114_0_visit_NULL1(TRUE, x0, java.lang.Object(List(x1)), x2, x3) → f26160_1_visit_InvokeMethod(f26114_0_visit_NULL(x0, x3, x2 - 1), x1, java.lang.Object(MarkingGraphVisitor(x0)), x2)

The integer pair graph contains the following rules and edges:
(0): F26145_0_VISIT_NULL'(x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0]) → COND_F26145_0_VISIT_NULL(x4[0] > -1, x1[0], x2[0], java.lang.Object(MarkingGraphVisitor(x1[0])), x4[0], x5[0], x6[0])
(2): F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2]) → COND_F26145_0_VISIT_NULL1(x4[2] > -1, x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])
(3): COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3]) → F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], x4[3] - 1)
(5): COND_F26160_1_VISIT_INVOKEMETHOD(TRUE, f25898_0_visit_Return(x2[5], x3[5]), java.lang.Object(List(x5[5])), java.lang.Object(MarkingGraphVisitor(x0[5])), x6[5], x7[5]) → F26145_0_VISIT_NULL'(x2[5], x5[5], x7[5], x3[5])
(6): F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])

(3) -> (0), if (x1[3]* x1[0]x5[3]* x2[0]x6[3]* java.lang.Object(MarkingGraphVisitor(x1[0]))∧x4[3] - 1* x4[0])


(5) -> (0), if (x2[5]* x1[0]x5[5]* x2[0]x7[5]* java.lang.Object(MarkingGraphVisitor(x1[0]))∧x3[5]* x4[0])


(6) -> (0), if (x1[6]* x1[0]x2[6]* x2[0]x4[6]* java.lang.Object(MarkingGraphVisitor(x1[0]))∧x3[6]* x4[0])


(3) -> (2), if (x1[3]* x1[2]x5[3]* x2[2]x6[3]* java.lang.Object(MarkingGraphVisitor(x1[2]))∧x4[3] - 1* x4[2])


(5) -> (2), if (x2[5]* x1[2]x5[5]* x2[2]x7[5]* java.lang.Object(MarkingGraphVisitor(x1[2]))∧x3[5]* x4[2])


(6) -> (2), if (x1[6]* x1[2]x2[6]* x2[2]x4[6]* java.lang.Object(MarkingGraphVisitor(x1[2]))∧x3[6]* x4[2])


(2) -> (3), if (x4[2] > -1x1[2]* x1[3]x2[2]* x2[3]java.lang.Object(MarkingGraphVisitor(x1[2])) →* java.lang.Object(MarkingGraphVisitor(x1[3]))∧x4[2]* x4[3]x5[2]* x5[3]x6[2]* x6[3])


(3) -> (6), if (x1[3]* x1[6]x5[3]* java.lang.Object(List(x2[6]))∧x6[3]* NULLx4[3] - 1* x3[6])


(5) -> (6), if (x2[5]* x1[6]x5[5]* java.lang.Object(List(x2[6]))∧x7[5]* NULLx3[5]* x3[6])


(6) -> (6), if (x1[6]* x1[6]'x2[6]* java.lang.Object(List(x2[6]'))∧x4[6]* NULLx3[6]* x3[6]')



The set Q consists of the following terms:
f26160_1_visit_InvokeMethod(f25998_0_visit_Return(x0, x1), x2, java.lang.Object(x3), x4)
Cond_f26160_1_visit_InvokeMethod(TRUE, f25998_0_visit_Return(x0, x1), x2, java.lang.Object(x3), x4, x5)
f26160_1_visit_InvokeMethod(f26121_0_visit_Return(x0, x1), x2, java.lang.Object(x3), x4)
Cond_f26160_1_visit_InvokeMethod1(TRUE, f26121_0_visit_Return(x0, x1), x2, java.lang.Object(x3), x4, x5)
f26114_0_visit_NULL(x0, NULL, x1)
f26160_1_visit_InvokeMethod(f25898_0_visit_Return(x0, x1), x2, java.lang.Object(MarkingGraphVisitor(x3)), x4)
Cond_f26160_1_visit_InvokeMethod2(TRUE, f25898_0_visit_Return(x0, x1), x2, java.lang.Object(MarkingGraphVisitor(x3)), x4)
f26114_0_visit_NULL(x0, java.lang.Object(List(x1)), x2)
Cond_f26114_0_visit_NULL(TRUE, x0, java.lang.Object(List(x1)), x2, x3)
Cond_f26114_0_visit_NULL1(TRUE, x0, java.lang.Object(List(x1)), x2, x3)

(10) IDependencyGraphProof (EQUIVALENT transformation)

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

(11) 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


The ITRS R consists of the following rules:
f26160_1_visit_InvokeMethod(f25998_0_visit_Return(x2, x3), x5, java.lang.Object(x6), x7) → Cond_f26160_1_visit_InvokeMethod(x7 >= x3, f25998_0_visit_Return(x2, x3), x5, java.lang.Object(x6), x7, x9)
Cond_f26160_1_visit_InvokeMethod(TRUE, f25998_0_visit_Return(x2, x3), x5, java.lang.Object(x6), x7, x9) → f26114_0_visit_NULL(x2, x9, x3)
f26160_1_visit_InvokeMethod(f26121_0_visit_Return(x1, x2), x4, java.lang.Object(x5), x6) → Cond_f26160_1_visit_InvokeMethod1(x6 >= x2, f26121_0_visit_Return(x1, x2), x4, java.lang.Object(x5), x6, x8)
Cond_f26160_1_visit_InvokeMethod1(TRUE, f26121_0_visit_Return(x1, x2), x4, java.lang.Object(x5), x6, x8) → f26114_0_visit_NULL(x1, x8, x2)
f26114_0_visit_NULL(x1, NULL, x2) → f26121_0_visit_Return(x1, x2)
f26160_1_visit_InvokeMethod(f25898_0_visit_Return(x2, x3), x5, java.lang.Object(MarkingGraphVisitor(x0)), x6) → Cond_f26160_1_visit_InvokeMethod2(x6 >= x3, f25898_0_visit_Return(x2, x3), x5, java.lang.Object(MarkingGraphVisitor(x0)), x6)
Cond_f26160_1_visit_InvokeMethod2(TRUE, f25898_0_visit_Return(x2, x3), x5, java.lang.Object(MarkingGraphVisitor(x0)), x6) → f26114_0_visit_NULL(x2, x5, x3)
f26114_0_visit_NULL(x0, java.lang.Object(List(x1)), x2) → f26114_0_visit_NULL(x0, x1, x2)
f26114_0_visit_NULL(x0, java.lang.Object(List(x1)), x2) → Cond_f26114_0_visit_NULL(!(x3 = x0), x0, java.lang.Object(List(x1)), x2, x3)
Cond_f26114_0_visit_NULL(TRUE, x0, java.lang.Object(List(x1)), x2, x3) → f26160_1_visit_InvokeMethod(f26121_0_visit_Return(x0, x2), x1, java.lang.Object(MarkingGraphVisitor(x3)), x2)
f26114_0_visit_NULL(x0, java.lang.Object(List(x1)), x2) → Cond_f26114_0_visit_NULL1(x2 > -1, x0, java.lang.Object(List(x1)), x2, x3)
Cond_f26114_0_visit_NULL1(TRUE, x0, java.lang.Object(List(x1)), x2, x3) → f26160_1_visit_InvokeMethod(f26114_0_visit_NULL(x0, x3, x2 - 1), x1, java.lang.Object(MarkingGraphVisitor(x0)), x2)

The integer pair graph contains the following rules and edges:
(6): F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])
(3): COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3]) → F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], x4[3] - 1)
(2): F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2]) → COND_F26145_0_VISIT_NULL1(x4[2] > -1, x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])

(3) -> (2), if (x1[3]* x1[2]x5[3]* x2[2]x6[3]* java.lang.Object(MarkingGraphVisitor(x1[2]))∧x4[3] - 1* x4[2])


(6) -> (2), if (x1[6]* x1[2]x2[6]* x2[2]x4[6]* java.lang.Object(MarkingGraphVisitor(x1[2]))∧x3[6]* x4[2])


(2) -> (3), if (x4[2] > -1x1[2]* x1[3]x2[2]* x2[3]java.lang.Object(MarkingGraphVisitor(x1[2])) →* java.lang.Object(MarkingGraphVisitor(x1[3]))∧x4[2]* x4[3]x5[2]* x5[3]x6[2]* x6[3])


(3) -> (6), if (x1[3]* x1[6]x5[3]* java.lang.Object(List(x2[6]))∧x6[3]* NULLx4[3] - 1* x3[6])


(6) -> (6), if (x1[6]* x1[6]'x2[6]* java.lang.Object(List(x2[6]'))∧x4[6]* NULLx3[6]* x3[6]')



The set Q consists of the following terms:
f26160_1_visit_InvokeMethod(f25998_0_visit_Return(x0, x1), x2, java.lang.Object(x3), x4)
Cond_f26160_1_visit_InvokeMethod(TRUE, f25998_0_visit_Return(x0, x1), x2, java.lang.Object(x3), x4, x5)
f26160_1_visit_InvokeMethod(f26121_0_visit_Return(x0, x1), x2, java.lang.Object(x3), x4)
Cond_f26160_1_visit_InvokeMethod1(TRUE, f26121_0_visit_Return(x0, x1), x2, java.lang.Object(x3), x4, x5)
f26114_0_visit_NULL(x0, NULL, x1)
f26160_1_visit_InvokeMethod(f25898_0_visit_Return(x0, x1), x2, java.lang.Object(MarkingGraphVisitor(x3)), x4)
Cond_f26160_1_visit_InvokeMethod2(TRUE, f25898_0_visit_Return(x0, x1), x2, java.lang.Object(MarkingGraphVisitor(x3)), x4)
f26114_0_visit_NULL(x0, java.lang.Object(List(x1)), x2)
Cond_f26114_0_visit_NULL(TRUE, x0, java.lang.Object(List(x1)), x2, x3)
Cond_f26114_0_visit_NULL1(TRUE, x0, java.lang.Object(List(x1)), x2, x3)

(12) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(13) 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


R is empty.

The integer pair graph contains the following rules and edges:
(6): F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])
(3): COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3]) → F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], x4[3] - 1)
(2): F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2]) → COND_F26145_0_VISIT_NULL1(x4[2] > -1, x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])

(3) -> (2), if (x1[3]* x1[2]x5[3]* x2[2]x6[3]* java.lang.Object(MarkingGraphVisitor(x1[2]))∧x4[3] - 1* x4[2])


(6) -> (2), if (x1[6]* x1[2]x2[6]* x2[2]x4[6]* java.lang.Object(MarkingGraphVisitor(x1[2]))∧x3[6]* x4[2])


(2) -> (3), if (x4[2] > -1x1[2]* x1[3]x2[2]* x2[3]java.lang.Object(MarkingGraphVisitor(x1[2])) →* java.lang.Object(MarkingGraphVisitor(x1[3]))∧x4[2]* x4[3]x5[2]* x5[3]x6[2]* x6[3])


(3) -> (6), if (x1[3]* x1[6]x5[3]* java.lang.Object(List(x2[6]))∧x6[3]* NULLx4[3] - 1* x3[6])


(6) -> (6), if (x1[6]* x1[6]'x2[6]* java.lang.Object(List(x2[6]'))∧x4[6]* NULLx3[6]* x3[6]')



The set Q consists of the following terms:
f26160_1_visit_InvokeMethod(f25998_0_visit_Return(x0, x1), x2, java.lang.Object(x3), x4)
Cond_f26160_1_visit_InvokeMethod(TRUE, f25998_0_visit_Return(x0, x1), x2, java.lang.Object(x3), x4, x5)
f26160_1_visit_InvokeMethod(f26121_0_visit_Return(x0, x1), x2, java.lang.Object(x3), x4)
Cond_f26160_1_visit_InvokeMethod1(TRUE, f26121_0_visit_Return(x0, x1), x2, java.lang.Object(x3), x4, x5)
f26114_0_visit_NULL(x0, NULL, x1)
f26160_1_visit_InvokeMethod(f25898_0_visit_Return(x0, x1), x2, java.lang.Object(MarkingGraphVisitor(x3)), x4)
Cond_f26160_1_visit_InvokeMethod2(TRUE, f25898_0_visit_Return(x0, x1), x2, java.lang.Object(MarkingGraphVisitor(x3)), x4)
f26114_0_visit_NULL(x0, java.lang.Object(List(x1)), x2)
Cond_f26114_0_visit_NULL(TRUE, x0, java.lang.Object(List(x1)), x2, x3)
Cond_f26114_0_visit_NULL1(TRUE, x0, java.lang.Object(List(x1)), x2, x3)

(14) IDPNonInfProof (SOUND transformation)

Used the following options for this NonInfProof:
IDPGPoloSolver: Range: [(-1,2)] IsNat: false Interpretation Shape Heuristic: aprove.DPFramework.IDPProblem.Processors.nonInf.poly.IdpDefaultShapeHeuristic@4e66b5ca Constraint Generator: NonInfConstraintGenerator: PathGenerator: MetricPathGenerator: Max Left Steps: 1 Max Right Steps: 1

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 F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6]) the following chains were created:
  • We consider the chain COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3]) → F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1)), F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6]), F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2]) → COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2]) which results in the following constraint:

    (1)    (x1[3]=x1[6]x5[3]=java.lang.Object(List(x2[6]))∧x6[3]=NULL-(x4[3], 1)=x3[6]x1[6]=x1[2]x2[6]=x2[2]x4[6]=java.lang.Object(MarkingGraphVisitor(x1[2]))∧x3[6]=x4[2]F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6])≥NonInfC∧F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6])≥F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])∧(UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥))



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

    (2)    (F26145_0_VISIT_NULL'(x1[3], java.lang.Object(List(x2[6])), NULL, -(x4[3], 1))≥NonInfC∧F26145_0_VISIT_NULL'(x1[3], java.lang.Object(List(x2[6])), NULL, -(x4[3], 1))≥F26145_0_VISIT_NULL'(x1[3], x2[6], java.lang.Object(MarkingGraphVisitor(x1[3])), -(x4[3], 1))∧(UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥))



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

    (3)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_24] = 0∧[(-1)bso_25] ≥ 0)



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

    (4)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_24] = 0∧[(-1)bso_25] ≥ 0)



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

    (5)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_24] = 0∧[(-1)bso_25] ≥ 0)



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

    (6)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_24] = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_25] ≥ 0)



  • We consider the chain F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6]), F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6]), F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2]) → COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2]) which results in the following constraint:

    (7)    (x1[6]=x1[6]1x2[6]=java.lang.Object(List(x2[6]1))∧x4[6]=NULLx3[6]=x3[6]1x1[6]1=x1[2]x2[6]1=x2[2]x4[6]1=java.lang.Object(MarkingGraphVisitor(x1[2]))∧x3[6]1=x4[2]F26145_0_VISIT_NULL'(x1[6]1, java.lang.Object(List(x2[6]1)), NULL, x3[6]1)≥NonInfC∧F26145_0_VISIT_NULL'(x1[6]1, java.lang.Object(List(x2[6]1)), NULL, x3[6]1)≥F26145_0_VISIT_NULL'(x1[6]1, x2[6]1, x4[6]1, x3[6]1)∧(UIncreasing(F26145_0_VISIT_NULL'(x1[6]1, x2[6]1, x4[6]1, x3[6]1)), ≥))



    We simplified constraint (7) using rules (III), (IV) which results in the following new constraint:

    (8)    (F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6]1)), NULL, x3[6])≥NonInfC∧F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6]1)), NULL, x3[6])≥F26145_0_VISIT_NULL'(x1[6], x2[6]1, java.lang.Object(MarkingGraphVisitor(x1[6])), x3[6])∧(UIncreasing(F26145_0_VISIT_NULL'(x1[6]1, x2[6]1, x4[6]1, x3[6]1)), ≥))



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

    (9)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6]1, x2[6]1, x4[6]1, x3[6]1)), ≥)∧[bni_24] = 0∧[(-1)bso_25] ≥ 0)



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

    (10)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6]1, x2[6]1, x4[6]1, x3[6]1)), ≥)∧[bni_24] = 0∧[(-1)bso_25] ≥ 0)



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

    (11)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6]1, x2[6]1, x4[6]1, x3[6]1)), ≥)∧[bni_24] = 0∧[(-1)bso_25] ≥ 0)



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

    (12)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6]1, x2[6]1, x4[6]1, x3[6]1)), ≥)∧[bni_24] = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_25] ≥ 0)



  • We consider the chain COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3]) → F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1)), F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6]), F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6]) which results in the following constraint:

    (13)    (x1[3]=x1[6]x5[3]=java.lang.Object(List(x2[6]))∧x6[3]=NULL-(x4[3], 1)=x3[6]x1[6]=x1[6]1x2[6]=java.lang.Object(List(x2[6]1))∧x4[6]=NULLx3[6]=x3[6]1F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6])≥NonInfC∧F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6])≥F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])∧(UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥))



    We simplified constraint (13) using rules (III), (IV) which results in the following new constraint:

    (14)    (F26145_0_VISIT_NULL'(x1[3], java.lang.Object(List(java.lang.Object(List(x2[6]1)))), NULL, -(x4[3], 1))≥NonInfC∧F26145_0_VISIT_NULL'(x1[3], java.lang.Object(List(java.lang.Object(List(x2[6]1)))), NULL, -(x4[3], 1))≥F26145_0_VISIT_NULL'(x1[3], java.lang.Object(List(x2[6]1)), NULL, -(x4[3], 1))∧(UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥))



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

    (15)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_24] = 0∧[(-1)bso_25] ≥ 0)



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

    (16)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_24] = 0∧[(-1)bso_25] ≥ 0)



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

    (17)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_24] = 0∧[(-1)bso_25] ≥ 0)



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

    (18)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_24] = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_25] ≥ 0)



  • We consider the chain F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6]), F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6]), F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6]) which results in the following constraint:

    (19)    (x1[6]=x1[6]1x2[6]=java.lang.Object(List(x2[6]1))∧x4[6]=NULLx3[6]=x3[6]1x1[6]1=x1[6]2x2[6]1=java.lang.Object(List(x2[6]2))∧x4[6]1=NULLx3[6]1=x3[6]2F26145_0_VISIT_NULL'(x1[6]1, java.lang.Object(List(x2[6]1)), NULL, x3[6]1)≥NonInfC∧F26145_0_VISIT_NULL'(x1[6]1, java.lang.Object(List(x2[6]1)), NULL, x3[6]1)≥F26145_0_VISIT_NULL'(x1[6]1, x2[6]1, x4[6]1, x3[6]1)∧(UIncreasing(F26145_0_VISIT_NULL'(x1[6]1, x2[6]1, x4[6]1, x3[6]1)), ≥))



    We simplified constraint (19) using rules (III), (IV) which results in the following new constraint:

    (20)    (F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(java.lang.Object(List(x2[6]2)))), NULL, x3[6])≥NonInfC∧F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(java.lang.Object(List(x2[6]2)))), NULL, x3[6])≥F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6]2)), NULL, x3[6])∧(UIncreasing(F26145_0_VISIT_NULL'(x1[6]1, x2[6]1, x4[6]1, x3[6]1)), ≥))



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

    (21)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6]1, x2[6]1, x4[6]1, x3[6]1)), ≥)∧[bni_24] = 0∧[(-1)bso_25] ≥ 0)



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

    (22)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6]1, x2[6]1, x4[6]1, x3[6]1)), ≥)∧[bni_24] = 0∧[(-1)bso_25] ≥ 0)



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

    (23)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6]1, x2[6]1, x4[6]1, x3[6]1)), ≥)∧[bni_24] = 0∧[(-1)bso_25] ≥ 0)



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

    (24)    ((UIncreasing(F26145_0_VISIT_NULL'(x1[6]1, x2[6]1, x4[6]1, x3[6]1)), ≥)∧[bni_24] = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_25] ≥ 0)







For Pair COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3]) → F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1)) the following chains were created:
  • We consider the chain F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2]) → COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2]), COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3]) → F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1)), F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2]) → COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2]) which results in the following constraint:

    (25)    (>(x4[2], -1)=TRUEx1[2]=x1[3]x2[2]=x2[3]java.lang.Object(MarkingGraphVisitor(x1[2]))=java.lang.Object(MarkingGraphVisitor(x1[3]))∧x4[2]=x4[3]x5[2]=x5[3]x6[2]=x6[3]x1[3]=x1[2]1x5[3]=x2[2]1x6[3]=java.lang.Object(MarkingGraphVisitor(x1[2]1))∧-(x4[3], 1)=x4[2]1COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3])≥NonInfC∧COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3])≥F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))∧(UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥))



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

    (26)    (>(x4[2], -1)=TRUECOND_F26145_0_VISIT_NULL1(TRUE, x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], java.lang.Object(MarkingGraphVisitor(x1[2])))≥NonInfC∧COND_F26145_0_VISIT_NULL1(TRUE, x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], java.lang.Object(MarkingGraphVisitor(x1[2])))≥F26145_0_VISIT_NULL'(x1[2], x5[2], java.lang.Object(MarkingGraphVisitor(x1[2])), -(x4[2], 1))∧(UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥))



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

    (27)    (x4[2] ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥)∧[(-1)bni_26 + (-1)Bound*bni_26] + [bni_26]x4[2] ≥ 0∧[1 + (-1)bso_27] ≥ 0)



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

    (28)    (x4[2] ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥)∧[(-1)bni_26 + (-1)Bound*bni_26] + [bni_26]x4[2] ≥ 0∧[1 + (-1)bso_27] ≥ 0)



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

    (29)    (x4[2] ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥)∧[(-1)bni_26 + (-1)Bound*bni_26] + [bni_26]x4[2] ≥ 0∧[1 + (-1)bso_27] ≥ 0)



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

    (30)    (x4[2] ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧[(-1)bni_26 + (-1)Bound*bni_26] + [bni_26]x4[2] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)



  • We consider the chain F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2]) → COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2]), COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3]) → F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1)), F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6]) which results in the following constraint:

    (31)    (>(x4[2], -1)=TRUEx1[2]=x1[3]x2[2]=x2[3]java.lang.Object(MarkingGraphVisitor(x1[2]))=java.lang.Object(MarkingGraphVisitor(x1[3]))∧x4[2]=x4[3]x5[2]=x5[3]x6[2]=x6[3]x1[3]=x1[6]x5[3]=java.lang.Object(List(x2[6]))∧x6[3]=NULL-(x4[3], 1)=x3[6]COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3])≥NonInfC∧COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3])≥F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))∧(UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥))



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

    (32)    (>(x4[2], -1)=TRUECOND_F26145_0_VISIT_NULL1(TRUE, x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], java.lang.Object(List(x2[6])), NULL)≥NonInfC∧COND_F26145_0_VISIT_NULL1(TRUE, x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], java.lang.Object(List(x2[6])), NULL)≥F26145_0_VISIT_NULL'(x1[2], java.lang.Object(List(x2[6])), NULL, -(x4[2], 1))∧(UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥))



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

    (33)    (x4[2] ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥)∧[(-1)bni_26 + (-1)Bound*bni_26] + [bni_26]x4[2] ≥ 0∧[1 + (-1)bso_27] ≥ 0)



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

    (34)    (x4[2] ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥)∧[(-1)bni_26 + (-1)Bound*bni_26] + [bni_26]x4[2] ≥ 0∧[1 + (-1)bso_27] ≥ 0)



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

    (35)    (x4[2] ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥)∧[(-1)bni_26 + (-1)Bound*bni_26] + [bni_26]x4[2] ≥ 0∧[1 + (-1)bso_27] ≥ 0)



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

    (36)    (x4[2] ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧[(-1)bni_26 + (-1)Bound*bni_26] + [bni_26]x4[2] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)







For Pair F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2]) → COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2]) the following chains were created:
  • We consider the chain COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3]) → F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1)), F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2]) → COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2]), COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3]) → F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1)) which results in the following constraint:

    (37)    (x1[3]=x1[2]x5[3]=x2[2]x6[3]=java.lang.Object(MarkingGraphVisitor(x1[2]))∧-(x4[3], 1)=x4[2]>(x4[2], -1)=TRUEx1[2]=x1[3]1x2[2]=x2[3]1java.lang.Object(MarkingGraphVisitor(x1[2]))=java.lang.Object(MarkingGraphVisitor(x1[3]1))∧x4[2]=x4[3]1x5[2]=x5[3]1x6[2]=x6[3]1F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2])≥NonInfC∧F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2])≥COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])∧(UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥))



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

    (38)    (>(-(x4[3], 1), -1)=TRUEF26145_0_VISIT_NULL'(x1[3], x5[3], java.lang.Object(MarkingGraphVisitor(x1[3])), -(x4[3], 1))≥NonInfC∧F26145_0_VISIT_NULL'(x1[3], x5[3], java.lang.Object(MarkingGraphVisitor(x1[3])), -(x4[3], 1))≥COND_F26145_0_VISIT_NULL1(>(-(x4[3], 1), -1), x1[3], x5[3], java.lang.Object(MarkingGraphVisitor(x1[3])), -(x4[3], 1), x5[2], x6[2])∧(UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥))



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

    (39)    (x4[3] + [-1] ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧[(-2)bni_28 + (-1)Bound*bni_28] + [bni_28]x4[3] ≥ 0∧[(-1)bso_29] ≥ 0)



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

    (40)    (x4[3] + [-1] ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧[(-2)bni_28 + (-1)Bound*bni_28] + [bni_28]x4[3] ≥ 0∧[(-1)bso_29] ≥ 0)



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

    (41)    (x4[3] + [-1] ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧[(-2)bni_28 + (-1)Bound*bni_28] + [bni_28]x4[3] ≥ 0∧[(-1)bso_29] ≥ 0)



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

    (42)    (x4[3] + [-1] ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧0 = 0∧0 = 0∧[(-2)bni_28 + (-1)Bound*bni_28] + [bni_28]x4[3] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_29] ≥ 0)



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

    (43)    (x4[3] ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧0 = 0∧0 = 0∧[(-1)bni_28 + (-1)Bound*bni_28] + [bni_28]x4[3] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_29] ≥ 0)



  • We consider the chain F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6]), F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2]) → COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2]), COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3]) → F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1)) which results in the following constraint:

    (44)    (x1[6]=x1[2]x2[6]=x2[2]x4[6]=java.lang.Object(MarkingGraphVisitor(x1[2]))∧x3[6]=x4[2]>(x4[2], -1)=TRUEx1[2]=x1[3]x2[2]=x2[3]java.lang.Object(MarkingGraphVisitor(x1[2]))=java.lang.Object(MarkingGraphVisitor(x1[3]))∧x4[2]=x4[3]x5[2]=x5[3]x6[2]=x6[3]F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2])≥NonInfC∧F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2])≥COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])∧(UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥))



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

    (45)    (>(x4[2], -1)=TRUEF26145_0_VISIT_NULL'(x1[6], x2[6], java.lang.Object(MarkingGraphVisitor(x1[6])), x4[2])≥NonInfC∧F26145_0_VISIT_NULL'(x1[6], x2[6], java.lang.Object(MarkingGraphVisitor(x1[6])), x4[2])≥COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[6], x2[6], java.lang.Object(MarkingGraphVisitor(x1[6])), x4[2], x5[2], x6[2])∧(UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥))



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

    (46)    (x4[2] ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧[(-1)bni_28 + (-1)Bound*bni_28] + [bni_28]x4[2] ≥ 0∧[(-1)bso_29] ≥ 0)



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

    (47)    (x4[2] ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧[(-1)bni_28 + (-1)Bound*bni_28] + [bni_28]x4[2] ≥ 0∧[(-1)bso_29] ≥ 0)



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

    (48)    (x4[2] ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧[(-1)bni_28 + (-1)Bound*bni_28] + [bni_28]x4[2] ≥ 0∧[(-1)bso_29] ≥ 0)



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

    (49)    (x4[2] ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧0 = 0∧0 = 0∧[(-1)bni_28 + (-1)Bound*bni_28] + [bni_28]x4[2] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_29] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])
    • ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_24] = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_25] ≥ 0)
    • ((UIncreasing(F26145_0_VISIT_NULL'(x1[6]1, x2[6]1, x4[6]1, x3[6]1)), ≥)∧[bni_24] = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_25] ≥ 0)
    • ((UIncreasing(F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])), ≥)∧[bni_24] = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_25] ≥ 0)
    • ((UIncreasing(F26145_0_VISIT_NULL'(x1[6]1, x2[6]1, x4[6]1, x3[6]1)), ≥)∧[bni_24] = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_25] ≥ 0)

  • COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3]) → F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))
    • (x4[2] ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧[(-1)bni_26 + (-1)Bound*bni_26] + [bni_26]x4[2] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)
    • (x4[2] ≥ 0 ⇒ (UIncreasing(F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))), ≥)∧0 = 0∧0 = 0∧0 = 0∧[(-1)bni_26 + (-1)Bound*bni_26] + [bni_26]x4[2] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_27] ≥ 0)

  • F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2]) → COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])
    • (x4[3] ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧0 = 0∧0 = 0∧[(-1)bni_28 + (-1)Bound*bni_28] + [bni_28]x4[3] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_29] ≥ 0)
    • (x4[2] ≥ 0 ⇒ (UIncreasing(COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])), ≥)∧0 = 0∧0 = 0∧[(-1)bni_28 + (-1)Bound*bni_28] + [bni_28]x4[2] ≥ 0∧0 = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_29] ≥ 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(F26145_0_VISIT_NULL'(x1, x2, x3, x4)) = [-1] + x4 + [-1]x3   
POL(java.lang.Object(x1)) = [-1] + [-1]x1   
POL(List(x1)) = [-1] + [-1]x1   
POL(NULL) = 0   
POL(COND_F26145_0_VISIT_NULL1(x1, x2, x3, x4, x5, x6, x7)) = [-1] + x5 + [-1]x4   
POL(MarkingGraphVisitor(x1)) = [-1]   
POL(-(x1, x2)) = x1 + [-1]x2   
POL(1) = [1]   
POL(>(x1, x2)) = [-1]   
POL(-1) = [-1]   

The following pairs are in P>:

COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3]) → F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))

The following pairs are in Pbound:

COND_F26145_0_VISIT_NULL1(TRUE, x1[3], x2[3], java.lang.Object(MarkingGraphVisitor(x1[3])), x4[3], x5[3], x6[3]) → F26145_0_VISIT_NULL'(x1[3], x5[3], x6[3], -(x4[3], 1))
F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2]) → COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])

The following pairs are in P:

F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])
F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2]) → COND_F26145_0_VISIT_NULL1(>(x4[2], -1), x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])

There are no usable rules.

(15) 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


R is empty.

The integer pair graph contains the following rules and edges:
(6): F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])
(2): F26145_0_VISIT_NULL'(x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2]) → COND_F26145_0_VISIT_NULL1(x4[2] > -1, x1[2], x2[2], java.lang.Object(MarkingGraphVisitor(x1[2])), x4[2], x5[2], x6[2])

(6) -> (2), if (x1[6]* x1[2]x2[6]* x2[2]x4[6]* java.lang.Object(MarkingGraphVisitor(x1[2]))∧x3[6]* x4[2])


(6) -> (6), if (x1[6]* x1[6]'x2[6]* java.lang.Object(List(x2[6]'))∧x4[6]* NULLx3[6]* x3[6]')



The set Q consists of the following terms:
f26160_1_visit_InvokeMethod(f25998_0_visit_Return(x0, x1), x2, java.lang.Object(x3), x4)
Cond_f26160_1_visit_InvokeMethod(TRUE, f25998_0_visit_Return(x0, x1), x2, java.lang.Object(x3), x4, x5)
f26160_1_visit_InvokeMethod(f26121_0_visit_Return(x0, x1), x2, java.lang.Object(x3), x4)
Cond_f26160_1_visit_InvokeMethod1(TRUE, f26121_0_visit_Return(x0, x1), x2, java.lang.Object(x3), x4, x5)
f26114_0_visit_NULL(x0, NULL, x1)
f26160_1_visit_InvokeMethod(f25898_0_visit_Return(x0, x1), x2, java.lang.Object(MarkingGraphVisitor(x3)), x4)
Cond_f26160_1_visit_InvokeMethod2(TRUE, f25898_0_visit_Return(x0, x1), x2, java.lang.Object(MarkingGraphVisitor(x3)), x4)
f26114_0_visit_NULL(x0, java.lang.Object(List(x1)), x2)
Cond_f26114_0_visit_NULL(TRUE, x0, java.lang.Object(List(x1)), x2, x3)
Cond_f26114_0_visit_NULL1(TRUE, x0, java.lang.Object(List(x1)), x2, x3)

(16) IDependencyGraphProof (EQUIVALENT transformation)

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

(17) 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:
none


R is empty.

The integer pair graph contains the following rules and edges:
(6): F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), NULL, x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x4[6], x3[6])

(6) -> (6), if (x1[6]* x1[6]'x2[6]* java.lang.Object(List(x2[6]'))∧x4[6]* NULLx3[6]* x3[6]')



The set Q consists of the following terms:
f26160_1_visit_InvokeMethod(f25998_0_visit_Return(x0, x1), x2, java.lang.Object(x3), x4)
Cond_f26160_1_visit_InvokeMethod(TRUE, f25998_0_visit_Return(x0, x1), x2, java.lang.Object(x3), x4, x5)
f26160_1_visit_InvokeMethod(f26121_0_visit_Return(x0, x1), x2, java.lang.Object(x3), x4)
Cond_f26160_1_visit_InvokeMethod1(TRUE, f26121_0_visit_Return(x0, x1), x2, java.lang.Object(x3), x4, x5)
f26114_0_visit_NULL(x0, NULL, x1)
f26160_1_visit_InvokeMethod(f25898_0_visit_Return(x0, x1), x2, java.lang.Object(MarkingGraphVisitor(x3)), x4)
Cond_f26160_1_visit_InvokeMethod2(TRUE, f25898_0_visit_Return(x0, x1), x2, java.lang.Object(MarkingGraphVisitor(x3)), x4)
f26114_0_visit_NULL(x0, java.lang.Object(List(x1)), x2)
Cond_f26114_0_visit_NULL(TRUE, x0, java.lang.Object(List(x1)), x2, x3)
Cond_f26114_0_visit_NULL1(TRUE, x0, java.lang.Object(List(x1)), x2, x3)

(18) IDPtoQDPProof (SOUND transformation)

Represented integers and predefined function symbols by Terms

(19) Obligation:

Q DP problem:
The TRS P consists of the following rules:

F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x3[6])

R is empty.
The set Q consists of the following terms:

f26160_1_visit_InvokeMethod(f25998_0_visit_Return(x0, x1), x2, java.lang.Object(x3), x4)
Cond_f26160_1_visit_InvokeMethod(true, f25998_0_visit_Return(x0, x1), x2, java.lang.Object(x3), x4, x5)
f26160_1_visit_InvokeMethod(f26121_0_visit_Return(x0, x1), x2, java.lang.Object(x3), x4)
Cond_f26160_1_visit_InvokeMethod1(true, f26121_0_visit_Return(x0, x1), x2, java.lang.Object(x3), x4, x5)
f26114_0_visit_NULL(x0, NULL, x1)
f26160_1_visit_InvokeMethod(f25898_0_visit_Return(x0, x1), x2, java.lang.Object(MarkingGraphVisitor(x3)), x4)
Cond_f26160_1_visit_InvokeMethod2(true, f25898_0_visit_Return(x0, x1), x2, java.lang.Object(MarkingGraphVisitor(x3)), x4)
f26114_0_visit_NULL(x0, java.lang.Object(List(x1)), x2)
Cond_f26114_0_visit_NULL(true, x0, java.lang.Object(List(x1)), x2, x3)
Cond_f26114_0_visit_NULL1(true, x0, java.lang.Object(List(x1)), x2, x3)

We have to consider all minimal (P,Q,R)-chains.

(20) QReductionProof (EQUIVALENT transformation)

We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].

f26160_1_visit_InvokeMethod(f25998_0_visit_Return(x0, x1), x2, java.lang.Object(x3), x4)
Cond_f26160_1_visit_InvokeMethod(true, f25998_0_visit_Return(x0, x1), x2, java.lang.Object(x3), x4, x5)
f26160_1_visit_InvokeMethod(f26121_0_visit_Return(x0, x1), x2, java.lang.Object(x3), x4)
Cond_f26160_1_visit_InvokeMethod1(true, f26121_0_visit_Return(x0, x1), x2, java.lang.Object(x3), x4, x5)
f26114_0_visit_NULL(x0, NULL, x1)
f26160_1_visit_InvokeMethod(f25898_0_visit_Return(x0, x1), x2, java.lang.Object(MarkingGraphVisitor(x3)), x4)
Cond_f26160_1_visit_InvokeMethod2(true, f25898_0_visit_Return(x0, x1), x2, java.lang.Object(MarkingGraphVisitor(x3)), x4)
f26114_0_visit_NULL(x0, java.lang.Object(List(x1)), x2)
Cond_f26114_0_visit_NULL(true, x0, java.lang.Object(List(x1)), x2, x3)
Cond_f26114_0_visit_NULL1(true, x0, java.lang.Object(List(x1)), x2, x3)

(21) Obligation:

Q DP problem:
The TRS P consists of the following rules:

F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x3[6])

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(22) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • F26145_0_VISIT_NULL'(x1[6], java.lang.Object(List(x2[6])), x3[6]) → F26145_0_VISIT_NULL'(x1[6], x2[6], x3[6])
    The graph contains the following edges 1 >= 1, 2 > 2, 3 >= 3

(23) YES

(24) Obligation:

SCC of termination graph based on JBC Program.
SCC contains nodes from the following methods: MarkingGraphVisitor.getRandom()LMarkingGraphVisitor;
SCC calls the following helper methods:
Performed SCC analyses:
  • Used field analysis yielded the following read fields:
    • MarkingGraphVisitor: [children]
    • java.lang.String: [count]
    • List: [next]
  • Marker field analysis yielded the following relations that could be markers:

(25) SCCToIntTRSProof (SOUND transformation)

Transformed FIGraph SCCs to intTRSs. Log:

Generated rules. Obtained 154 IRules

P rules:
f26596_0_getRandom_Inc(EOS, java.lang.Object(o57155sub), o57156, i11733, o57157, i11733) → f26597_0_getRandom_LT(EOS, java.lang.Object(o57155sub), o57156, +(i11733, -1), o57157, i11733)
f26597_0_getRandom_LT(EOS, java.lang.Object(o57155sub), o57156, i11736, o57157, i11740) → f26599_0_getRandom_LT(EOS, java.lang.Object(o57155sub), o57156, i11736, o57157, i11740)
f26599_0_getRandom_LT(EOS, java.lang.Object(o57155sub), o57156, i11736, o57157, i11740) → f26601_0_getRandom_Load(EOS, java.lang.Object(o57155sub), o57156, i11736, o57157) | >=(i11740, 0)
f26601_0_getRandom_Load(EOS, java.lang.Object(o57155sub), o57156, i11736, o57157) → f26603_0_getRandom_FieldAccess(EOS, java.lang.Object(o57155sub), o57156, i11736, o57157, o57157)
f26603_0_getRandom_FieldAccess(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(o57164sub), java.lang.Object(o57164sub)) → f26605_0_getRandom_FieldAccess(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(o57164sub), java.lang.Object(o57164sub))
f26605_0_getRandom_FieldAccess(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(o57164sub), java.lang.Object(o57164sub)) → f26609_0_getRandom_FieldAccess(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(o57164sub), java.lang.Object(o57164sub))
f26605_0_getRandom_FieldAccess(EOS, java.lang.Object(o57155sub), java.lang.Object(o57193sub), i11736, java.lang.Object(o57193sub), java.lang.Object(o57193sub)) → f26610_0_getRandom_FieldAccess(EOS, java.lang.Object(o57155sub), java.lang.Object(o57193sub), i11736, java.lang.Object(o57193sub), java.lang.Object(o57193sub))
f26609_0_getRandom_FieldAccess(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(o57164sub), java.lang.Object(o57164sub)) → f26613_0_getRandom_FieldAccess(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(o57164sub), java.lang.Object(o57164sub))
f26609_0_getRandom_FieldAccess(EOS, java.lang.Object(o57196sub), o57156, i11736, java.lang.Object(o57196sub), java.lang.Object(o57196sub)) → f26614_0_getRandom_FieldAccess(EOS, java.lang.Object(o57196sub), o57156, i11736, java.lang.Object(o57196sub), java.lang.Object(o57196sub))
f26613_0_getRandom_FieldAccess(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, o57203)), java.lang.Object(MarkingGraphVisitor(EOC, o57203))) → f26621_0_getRandom_FieldAccess(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, o57203)), java.lang.Object(MarkingGraphVisitor(EOC, o57203)))
f26621_0_getRandom_FieldAccess(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, o57203)), java.lang.Object(MarkingGraphVisitor(EOC, o57203))) → f26628_0_getRandom_NULL(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, o57203)), o57203)
f26628_0_getRandom_NULL(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))), java.lang.Object(o57322sub)) → f26639_0_getRandom_NULL(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))), java.lang.Object(o57322sub))
f26639_0_getRandom_NULL(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))), java.lang.Object(o57322sub)) → f26652_0_getRandom_InvokeMethod(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))))
f26652_0_getRandom_InvokeMethod(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub)))) → f26672_0_random_FieldAccess(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))))
f26672_0_random_FieldAccess(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub)))) → f26703_0_random_FieldAccess(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))))
f26703_0_random_FieldAccess(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub)))) → f26716_0_random_ArrayAccess(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))))
f26716_0_random_ArrayAccess(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub)))) → f26727_0_random_ArrayAccess(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))))
f26727_0_random_ArrayAccess(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub)))) → f26742_0_random_ArrayAccess(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))))
f26742_0_random_ArrayAccess(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub)))) → f26761_0_random_Store(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))), o57716)
f26761_0_random_Store(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))), o57716) → f26783_0_random_FieldAccess(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))), o57716)
f26783_0_random_FieldAccess(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))), o57716) → f26805_0_random_ConstantStackPush(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))), o57716)
f26805_0_random_ConstantStackPush(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))), o57716) → f26829_0_random_IntArithmetic(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))), o57716)
f26829_0_random_IntArithmetic(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))), o57716) → f26842_0_random_FieldAccess(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))), o57716)
f26842_0_random_FieldAccess(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))), o57716) → f26851_0_random_Load(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))), o57716)
f26851_0_random_Load(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))), o57716) → f26863_0_random_InvokeMethod(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))), o57716)
f26863_0_random_InvokeMethod(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))), java.lang.Object(o58388sub)) → f26873_0_random_InvokeMethod(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))), java.lang.Object(o58388sub))
f26873_0_random_InvokeMethod(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))), java.lang.Object(o58388sub)) → f26886_0_length_Load(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))), java.lang.Object(o58388sub), java.lang.Object(o58388sub))
f26886_0_length_Load(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))), java.lang.Object(o58388sub), java.lang.Object(o58388sub)) → f26912_0_length_FieldAccess(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))), java.lang.Object(o58388sub), java.lang.Object(o58388sub))
f26912_0_length_FieldAccess(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))), java.lang.Object(java.lang.String(o58610sub, i12381)), java.lang.Object(java.lang.String(o58610sub, i12381))) → f26921_0_length_FieldAccess(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))), java.lang.Object(java.lang.String(o58610sub, i12381)), java.lang.Object(java.lang.String(o58610sub, i12381))) | >=(i12381, 0)
f26921_0_length_FieldAccess(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))), java.lang.Object(java.lang.String(o58610sub, i12381)), java.lang.Object(java.lang.String(o58610sub, i12381))) → f26937_0_length_Return(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))), java.lang.Object(java.lang.String(o58610sub, i12381)), i12381)
f26937_0_length_Return(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))), java.lang.Object(java.lang.String(o58610sub, i12381)), i12381) → f26951_0_random_Return(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))), i12381)
f26951_0_random_Return(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))), i12381) → f26962_0_getRandom_Store(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))), i12381)
f26962_0_getRandom_Store(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))), i12381) → f26982_0_getRandom_Load(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))), i12381)
f26982_0_getRandom_Load(EOS, java.lang.Object(o57155sub), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))), i12381) → f26998_0_getRandom_FieldAccess(EOS, java.lang.Object(o57155sub), o57156, i11736, i12381, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub))))
f26998_0_getRandom_FieldAccess(EOS, java.lang.Object(o57155sub), o57156, i11736, i12381, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57322sub)))) → f27010_0_getRandom_Store(EOS, java.lang.Object(o57155sub), o57156, i11736, i12381, java.lang.Object(o57322sub))
f27010_0_getRandom_Store(EOS, java.lang.Object(o57155sub), o57156, i11736, i12381, java.lang.Object(o57322sub)) → f27026_0_getRandom_Load(EOS, java.lang.Object(o57155sub), o57156, i11736, i12381, java.lang.Object(o57322sub))
f27026_0_getRandom_Load(EOS, java.lang.Object(o57155sub), o57156, i11736, i12381, java.lang.Object(o57322sub)) → f27198_0_getRandom_Load(EOS, java.lang.Object(o57155sub), o57156, i11736, i12381, java.lang.Object(o57322sub))
f27198_0_getRandom_Load(EOS, java.lang.Object(o61291sub), o61292, i11736, i13186, java.lang.Object(o61293sub)) → f27255_0_getRandom_Load(EOS, java.lang.Object(o61291sub), o61292, i11736, i13186, java.lang.Object(o61293sub))
f27255_0_getRandom_Load(EOS, java.lang.Object(o61625sub), o61626, i11736, i13343, java.lang.Object(o61627sub)) → f27281_0_getRandom_Load(EOS, java.lang.Object(o61625sub), o61626, i11736, i13343, java.lang.Object(o61627sub))
f27281_0_getRandom_Load(EOS, java.lang.Object(o61664sub), o61665, i11736, i13352, java.lang.Object(o61666sub)) → f27307_0_getRandom_Load(EOS, java.lang.Object(o61664sub), o61665, i11736, i13352, java.lang.Object(o61666sub))
f27307_0_getRandom_Load(EOS, java.lang.Object(o61703sub), o61704, i11736, i13361, java.lang.Object(o61705sub)) → f27308_0_getRandom_Inc(EOS, java.lang.Object(o61703sub), o61704, i11736, i13361, java.lang.Object(o61705sub), i13361)
f27308_0_getRandom_Inc(EOS, java.lang.Object(o61703sub), o61704, i11736, i13361, java.lang.Object(o61705sub), i13361) → f27309_0_getRandom_LT(EOS, java.lang.Object(o61703sub), o61704, i11736, +(i13361, -1), java.lang.Object(o61705sub), i13361)
f27309_0_getRandom_LT(EOS, java.lang.Object(o61703sub), o61704, i11736, i13363, java.lang.Object(o61705sub), i13366) → f27310_0_getRandom_LT(EOS, java.lang.Object(o61703sub), o61704, i11736, i13363, java.lang.Object(o61705sub), i13366)
f27309_0_getRandom_LT(EOS, java.lang.Object(o61703sub), o61704, i11736, i13363, java.lang.Object(o61705sub), i13367) → f27311_0_getRandom_LT(EOS, java.lang.Object(o61703sub), o61704, i11736, i13363, java.lang.Object(o61705sub), i13367)
f27310_0_getRandom_LT(EOS, java.lang.Object(o61703sub), o61704, i11736, i13363, java.lang.Object(o61705sub), i13366) → f27312_0_getRandom_Load(EOS, java.lang.Object(o61703sub), o61704, i11736, java.lang.Object(o61705sub)) | <(i13366, 0)
f27312_0_getRandom_Load(EOS, java.lang.Object(o61703sub), o61704, i11736, java.lang.Object(o61705sub)) → f27314_0_getRandom_FieldAccess(EOS, java.lang.Object(o61703sub), o61704, i11736, java.lang.Object(o61705sub))
f27314_0_getRandom_FieldAccess(EOS, java.lang.Object(o61703sub), o61704, i11736, java.lang.Object(List(EOC, o61721))) → f27316_0_getRandom_FieldAccess(EOS, java.lang.Object(o61703sub), o61704, i11736, java.lang.Object(List(EOC, o61721)))
f27316_0_getRandom_FieldAccess(EOS, java.lang.Object(o61703sub), o61704, i11736, java.lang.Object(List(EOC, o61721))) → f27318_0_getRandom_Store(EOS, java.lang.Object(o61703sub), o61704, i11736, o61720)
f27318_0_getRandom_Store(EOS, java.lang.Object(o61703sub), o61704, i11736, o61720) → f27329_0_getRandom_Store(EOS, java.lang.Object(o61703sub), o61704, i11736, o61720)
f27329_0_getRandom_Store(EOS, java.lang.Object(o61703sub), o61704, i11736, o61723) → f27331_0_getRandom_JMP(EOS, java.lang.Object(o61703sub), o61704, i11736, o61723)
f27331_0_getRandom_JMP(EOS, java.lang.Object(o61703sub), o61704, i11736, o61723) → f27333_0_getRandom_Load(EOS, java.lang.Object(o61703sub), o61704, i11736, o61723)
f27333_0_getRandom_Load(EOS, java.lang.Object(o61703sub), o61704, i11736, o61723) → f26595_0_getRandom_Load(EOS, java.lang.Object(o61703sub), o61704, i11736, o61723)
f26595_0_getRandom_Load(EOS, java.lang.Object(o57155sub), o57156, i11733, o57157) → f26596_0_getRandom_Inc(EOS, java.lang.Object(o57155sub), o57156, i11733, o57157, i11733)
f27311_0_getRandom_LT(EOS, java.lang.Object(o61703sub), o61704, i11736, i13363, java.lang.Object(o61705sub), i13367) → f27313_0_getRandom_Load(EOS, java.lang.Object(o61703sub), o61704, i11736, i13363, java.lang.Object(o61705sub)) | >=(i13367, 0)
f27313_0_getRandom_Load(EOS, java.lang.Object(o61703sub), o61704, i11736, i13363, java.lang.Object(o61705sub)) → f27315_0_getRandom_FieldAccess(EOS, java.lang.Object(o61703sub), o61704, i11736, i13363, java.lang.Object(o61705sub), java.lang.Object(o61705sub))
f27315_0_getRandom_FieldAccess(EOS, java.lang.Object(o61703sub), o61704, i11736, i13363, java.lang.Object(List(EOC, o61724)), java.lang.Object(List(EOC, o61724))) → f27317_0_getRandom_FieldAccess(EOS, java.lang.Object(o61703sub), o61704, i11736, i13363, java.lang.Object(List(EOC, o61724)), java.lang.Object(List(EOC, o61724)))
f27317_0_getRandom_FieldAccess(EOS, java.lang.Object(o61703sub), o61704, i11736, i13363, java.lang.Object(List(EOC, o61724)), java.lang.Object(List(EOC, o61724))) → f27319_0_getRandom_NULL(EOS, java.lang.Object(o61703sub), o61704, i11736, i13363, java.lang.Object(List(EOC, o61724)), o61724)
f27319_0_getRandom_NULL(EOS, java.lang.Object(o61703sub), o61704, i11736, i13363, java.lang.Object(List(EOC, java.lang.Object(o61726sub))), java.lang.Object(o61726sub)) → f27321_0_getRandom_NULL(EOS, java.lang.Object(o61703sub), o61704, i11736, i13363, java.lang.Object(List(EOC, java.lang.Object(o61726sub))), java.lang.Object(o61726sub))
f27319_0_getRandom_NULL(EOS, java.lang.Object(o61703sub), o61704, i11736, i13363, java.lang.Object(List(EOC, NULL)), NULL) → f27322_0_getRandom_NULL(EOS, java.lang.Object(o61703sub), o61704, i11736, i13363, java.lang.Object(List(EOC, NULL)), NULL)
f27321_0_getRandom_NULL(EOS, java.lang.Object(o61703sub), o61704, i11736, i13363, java.lang.Object(List(EOC, java.lang.Object(o61726sub))), java.lang.Object(o61726sub)) → f27324_0_getRandom_Load(EOS, java.lang.Object(o61703sub), o61704, i11736, i13363, java.lang.Object(List(EOC, java.lang.Object(o61726sub))))
f27324_0_getRandom_Load(EOS, java.lang.Object(o61703sub), o61704, i11736, i13363, java.lang.Object(List(EOC, java.lang.Object(o61726sub)))) → f27326_0_getRandom_FieldAccess(EOS, java.lang.Object(o61703sub), o61704, i11736, i13363, java.lang.Object(List(EOC, java.lang.Object(o61726sub))))
f27326_0_getRandom_FieldAccess(EOS, java.lang.Object(o61703sub), o61704, i11736, i13363, java.lang.Object(List(EOC, java.lang.Object(o61726sub)))) → f27328_0_getRandom_Store(EOS, java.lang.Object(o61703sub), o61704, i11736, i13363, java.lang.Object(o61726sub))
f27328_0_getRandom_Store(EOS, java.lang.Object(o61703sub), o61704, i11736, i13363, java.lang.Object(o61726sub)) → f27330_0_getRandom_JMP(EOS, java.lang.Object(o61703sub), o61704, i11736, i13363, java.lang.Object(o61726sub))
f27330_0_getRandom_JMP(EOS, java.lang.Object(o61703sub), o61704, i11736, i13363, java.lang.Object(o61726sub)) → f27332_0_getRandom_Load(EOS, java.lang.Object(o61703sub), o61704, i11736, i13363, java.lang.Object(o61726sub))
f27332_0_getRandom_Load(EOS, java.lang.Object(o61703sub), o61704, i11736, i13363, java.lang.Object(o61726sub)) → f27307_0_getRandom_Load(EOS, java.lang.Object(o61703sub), o61704, i11736, i13363, java.lang.Object(o61726sub))
f27322_0_getRandom_NULL(EOS, java.lang.Object(o61703sub), o61704, i11736, i13363, java.lang.Object(List(EOC, NULL)), NULL) → f27325_0_getRandom_Load(EOS, java.lang.Object(o61703sub), o61704, i11736, java.lang.Object(List(EOC, NULL)))
f27325_0_getRandom_Load(EOS, java.lang.Object(o61703sub), o61704, i11736, java.lang.Object(List(EOC, NULL))) → f27327_0_getRandom_FieldAccess(EOS, java.lang.Object(o61703sub), o61704, i11736, java.lang.Object(List(EOC, NULL)))
f27327_0_getRandom_FieldAccess(EOS, java.lang.Object(o61703sub), o61704, i11736, java.lang.Object(List(EOC, NULL))) → f27329_0_getRandom_Store(EOS, java.lang.Object(o61703sub), o61704, i11736, o61723)
f26614_0_getRandom_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, o57206)), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, o57206)), java.lang.Object(MarkingGraphVisitor(EOC, o57206))) → f26623_0_getRandom_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, o57206)), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, o57206)), java.lang.Object(MarkingGraphVisitor(EOC, o57206)))
f26623_0_getRandom_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, o57206)), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, o57206)), java.lang.Object(MarkingGraphVisitor(EOC, o57206))) → f26630_0_getRandom_NULL(EOS, java.lang.Object(MarkingGraphVisitor(EOC, o57206)), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, o57206)), o57206)
f26630_0_getRandom_NULL(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), java.lang.Object(o57323sub)) → f26641_0_getRandom_NULL(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), java.lang.Object(o57323sub))
f26641_0_getRandom_NULL(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), java.lang.Object(o57323sub)) → f26656_0_getRandom_InvokeMethod(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))))
f26656_0_getRandom_InvokeMethod(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub)))) → f26677_0_random_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))))
f26677_0_random_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub)))) → f26704_0_random_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))))
f26704_0_random_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub)))) → f26718_0_random_ArrayAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))))
f26718_0_random_ArrayAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub)))) → f26730_0_random_ArrayAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))))
f26730_0_random_ArrayAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub)))) → f26747_0_random_ArrayAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))))
f26747_0_random_ArrayAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub)))) → f26766_0_random_Store(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57743)
f26766_0_random_Store(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57743) → f26788_0_random_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57743)
f26788_0_random_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57743) → f26811_0_random_ConstantStackPush(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57743)
f26811_0_random_ConstantStackPush(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57743) → f26834_0_random_IntArithmetic(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57743)
f26834_0_random_IntArithmetic(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57743) → f26844_0_random_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57743)
f26844_0_random_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57743) → f26854_0_random_Load(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57743)
f26854_0_random_Load(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57743) → f26865_0_random_InvokeMethod(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57743)
f26865_0_random_InvokeMethod(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), java.lang.Object(o58396sub)) → f26876_0_random_InvokeMethod(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), java.lang.Object(o58396sub))
f26876_0_random_InvokeMethod(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), java.lang.Object(o58396sub)) → f26890_0_length_Load(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), java.lang.Object(o58396sub), java.lang.Object(o58396sub))
f26890_0_length_Load(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), java.lang.Object(o58396sub), java.lang.Object(o58396sub)) → f26914_0_length_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), java.lang.Object(o58396sub), java.lang.Object(o58396sub))
f26914_0_length_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), java.lang.Object(java.lang.String(o58623sub, i12389)), java.lang.Object(java.lang.String(o58623sub, i12389))) → f26925_0_length_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), java.lang.Object(java.lang.String(o58623sub, i12389)), java.lang.Object(java.lang.String(o58623sub, i12389))) | >=(i12389, 0)
f26925_0_length_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), java.lang.Object(java.lang.String(o58623sub, i12389)), java.lang.Object(java.lang.String(o58623sub, i12389))) → f26940_0_length_Return(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), java.lang.Object(java.lang.String(o58623sub, i12389)), i12389)
f26940_0_length_Return(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), java.lang.Object(java.lang.String(o58623sub, i12389)), i12389) → f26953_0_random_Return(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), i12389)
f26953_0_random_Return(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), i12389) → f26970_0_getRandom_Store(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), i12389)
f26970_0_getRandom_Store(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), i12389) → f26986_0_getRandom_Load(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), i12389)
f26986_0_getRandom_Load(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), i12389) → f27001_0_getRandom_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, i12389, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))))
f27001_0_getRandom_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, i12389, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub)))) → f27014_0_getRandom_Store(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, i12389, java.lang.Object(o57323sub))
f27014_0_getRandom_Store(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, i12389, java.lang.Object(o57323sub)) → f27030_0_getRandom_Load(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, i12389, java.lang.Object(o57323sub))
f27030_0_getRandom_Load(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, i12389, java.lang.Object(o57323sub)) → f27198_0_getRandom_Load(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57323sub))), o57156, i11736, i12389, java.lang.Object(o57323sub))
f26610_0_getRandom_FieldAccess(EOS, java.lang.Object(o57155sub), java.lang.Object(o57193sub), i11736, java.lang.Object(o57193sub), java.lang.Object(o57193sub)) → f26616_0_getRandom_FieldAccess(EOS, java.lang.Object(o57155sub), java.lang.Object(o57193sub), i11736, java.lang.Object(o57193sub), java.lang.Object(o57193sub))
f26610_0_getRandom_FieldAccess(EOS, java.lang.Object(o57199sub), java.lang.Object(o57199sub), i11736, java.lang.Object(o57199sub), java.lang.Object(o57199sub)) → f26617_0_getRandom_FieldAccess(EOS, java.lang.Object(o57199sub), java.lang.Object(o57199sub), i11736, java.lang.Object(o57199sub), java.lang.Object(o57199sub))
f26616_0_getRandom_FieldAccess(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, o57209)), i11736, java.lang.Object(MarkingGraphVisitor(EOC, o57209)), java.lang.Object(MarkingGraphVisitor(EOC, o57209))) → f26624_0_getRandom_FieldAccess(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, o57209)), i11736, java.lang.Object(MarkingGraphVisitor(EOC, o57209)), java.lang.Object(MarkingGraphVisitor(EOC, o57209)))
f26624_0_getRandom_FieldAccess(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, o57209)), i11736, java.lang.Object(MarkingGraphVisitor(EOC, o57209)), java.lang.Object(MarkingGraphVisitor(EOC, o57209))) → f26633_0_getRandom_NULL(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, o57209)), i11736, java.lang.Object(MarkingGraphVisitor(EOC, o57209)), o57209)
f26633_0_getRandom_NULL(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), java.lang.Object(o57325sub)) → f26644_0_getRandom_NULL(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), java.lang.Object(o57325sub))
f26644_0_getRandom_NULL(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), java.lang.Object(o57325sub)) → f26660_0_getRandom_InvokeMethod(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))))
f26660_0_getRandom_InvokeMethod(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub)))) → f26681_0_random_FieldAccess(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))))
f26681_0_random_FieldAccess(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub)))) → f26707_0_random_FieldAccess(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))))
f26707_0_random_FieldAccess(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub)))) → f26720_0_random_ArrayAccess(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))))
f26720_0_random_ArrayAccess(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub)))) → f26733_0_random_ArrayAccess(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))))
f26733_0_random_ArrayAccess(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub)))) → f26751_0_random_ArrayAccess(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))))
f26751_0_random_ArrayAccess(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub)))) → f26771_0_random_Store(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), o57753)
f26771_0_random_Store(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), o57753) → f26793_0_random_FieldAccess(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), o57753)
f26793_0_random_FieldAccess(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), o57753) → f26816_0_random_ConstantStackPush(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), o57753)
f26816_0_random_ConstantStackPush(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), o57753) → f26836_0_random_IntArithmetic(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), o57753)
f26836_0_random_IntArithmetic(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), o57753) → f26846_0_random_FieldAccess(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), o57753)
f26846_0_random_FieldAccess(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), o57753) → f26857_0_random_Load(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), o57753)
f26857_0_random_Load(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), o57753) → f26867_0_random_InvokeMethod(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), o57753)
f26867_0_random_InvokeMethod(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), java.lang.Object(o58410sub)) → f26879_0_random_InvokeMethod(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), java.lang.Object(o58410sub))
f26879_0_random_InvokeMethod(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), java.lang.Object(o58410sub)) → f26894_0_length_Load(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), java.lang.Object(o58410sub), java.lang.Object(o58410sub))
f26894_0_length_Load(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), java.lang.Object(o58410sub), java.lang.Object(o58410sub)) → f26916_0_length_FieldAccess(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), java.lang.Object(o58410sub), java.lang.Object(o58410sub))
f26916_0_length_FieldAccess(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), java.lang.Object(java.lang.String(o58640sub, i12399)), java.lang.Object(java.lang.String(o58640sub, i12399))) → f26929_0_length_FieldAccess(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), java.lang.Object(java.lang.String(o58640sub, i12399)), java.lang.Object(java.lang.String(o58640sub, i12399))) | >=(i12399, 0)
f26929_0_length_FieldAccess(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), java.lang.Object(java.lang.String(o58640sub, i12399)), java.lang.Object(java.lang.String(o58640sub, i12399))) → f26943_0_length_Return(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), java.lang.Object(java.lang.String(o58640sub, i12399)), i12399)
f26943_0_length_Return(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), java.lang.Object(java.lang.String(o58640sub, i12399)), i12399) → f26955_0_random_Return(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i12399)
f26955_0_random_Return(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i12399) → f26974_0_getRandom_Store(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i12399)
f26974_0_getRandom_Store(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i12399) → f26990_0_getRandom_Load(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i12399)
f26990_0_getRandom_Load(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i12399) → f27004_0_getRandom_FieldAccess(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, i12399, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))))
f27004_0_getRandom_FieldAccess(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, i12399, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub)))) → f27018_0_getRandom_Store(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, i12399, java.lang.Object(o57325sub))
f27018_0_getRandom_Store(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, i12399, java.lang.Object(o57325sub)) → f27034_0_getRandom_Load(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, i12399, java.lang.Object(o57325sub))
f27034_0_getRandom_Load(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, i12399, java.lang.Object(o57325sub)) → f27198_0_getRandom_Load(EOS, java.lang.Object(o57155sub), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57325sub))), i11736, i12399, java.lang.Object(o57325sub))
f26617_0_getRandom_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, o57214)), java.lang.Object(MarkingGraphVisitor(EOC, o57214)), i11736, java.lang.Object(MarkingGraphVisitor(EOC, o57214)), java.lang.Object(MarkingGraphVisitor(EOC, o57214))) → f26626_0_getRandom_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, o57214)), java.lang.Object(MarkingGraphVisitor(EOC, o57214)), i11736, java.lang.Object(MarkingGraphVisitor(EOC, o57214)), java.lang.Object(MarkingGraphVisitor(EOC, o57214)))
f26626_0_getRandom_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, o57214)), java.lang.Object(MarkingGraphVisitor(EOC, o57214)), i11736, java.lang.Object(MarkingGraphVisitor(EOC, o57214)), java.lang.Object(MarkingGraphVisitor(EOC, o57214))) → f26636_0_getRandom_NULL(EOS, java.lang.Object(MarkingGraphVisitor(EOC, o57214)), java.lang.Object(MarkingGraphVisitor(EOC, o57214)), i11736, java.lang.Object(MarkingGraphVisitor(EOC, o57214)), o57214)
f26636_0_getRandom_NULL(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(o57326sub)) → f26647_0_getRandom_NULL(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(o57326sub))
f26647_0_getRandom_NULL(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(o57326sub)) → f26665_0_getRandom_InvokeMethod(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))))
f26665_0_getRandom_InvokeMethod(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub)))) → f26685_0_random_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))))
f26685_0_random_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub)))) → f26711_0_random_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))))
f26711_0_random_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub)))) → f26722_0_random_ArrayAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))))
f26722_0_random_ArrayAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub)))) → f26736_0_random_ArrayAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))))
f26736_0_random_ArrayAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub)))) → f26756_0_random_ArrayAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))))
f26756_0_random_ArrayAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub)))) → f26775_0_random_Store(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), o57787)
f26775_0_random_Store(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), o57787) → f26798_0_random_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), o57787)
f26798_0_random_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), o57787) → f26822_0_random_ConstantStackPush(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), o57787)
f26822_0_random_ConstantStackPush(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), o57787) → f26838_0_random_IntArithmetic(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), o57787)
f26838_0_random_IntArithmetic(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), o57787) → f26848_0_random_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), o57787)
f26848_0_random_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), o57787) → f26860_0_random_Load(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), o57787)
f26860_0_random_Load(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), o57787) → f26869_0_random_InvokeMethod(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), o57787)
f26869_0_random_InvokeMethod(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(o58426sub)) → f26882_0_random_InvokeMethod(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(o58426sub))
f26882_0_random_InvokeMethod(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(o58426sub)) → f26898_0_length_Load(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(o58426sub), java.lang.Object(o58426sub))
f26898_0_length_Load(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(o58426sub), java.lang.Object(o58426sub)) → f26918_0_length_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(o58426sub), java.lang.Object(o58426sub))
f26918_0_length_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(java.lang.String(o58669sub, i12411)), java.lang.Object(java.lang.String(o58669sub, i12411))) → f26933_0_length_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(java.lang.String(o58669sub, i12411)), java.lang.Object(java.lang.String(o58669sub, i12411))) | >=(i12411, 0)
f26933_0_length_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(java.lang.String(o58669sub, i12411)), java.lang.Object(java.lang.String(o58669sub, i12411))) → f26946_0_length_Return(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(java.lang.String(o58669sub, i12411)), i12411)
f26946_0_length_Return(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(java.lang.String(o58669sub, i12411)), i12411) → f26957_0_random_Return(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i12411)
f26957_0_random_Return(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i12411) → f26978_0_getRandom_Store(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i12411)
f26978_0_getRandom_Store(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i12411) → f26994_0_getRandom_Load(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i12411)
f26994_0_getRandom_Load(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i12411) → f27007_0_getRandom_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, i12411, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))))
f27007_0_getRandom_FieldAccess(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, i12411, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub)))) → f27022_0_getRandom_Store(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, i12411, java.lang.Object(o57326sub))
f27022_0_getRandom_Store(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, i12411, java.lang.Object(o57326sub)) → f27038_0_getRandom_Load(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, i12411, java.lang.Object(o57326sub))
f27038_0_getRandom_Load(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, i12411, java.lang.Object(o57326sub)) → f27198_0_getRandom_Load(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(o57326sub))), i11736, i12411, java.lang.Object(o57326sub))

Combined rules. Obtained 7 IRules

P rules:
f26596_0_getRandom_Inc(EOS, java.lang.Object(x0), x1, x2, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(x3))), x2) → f27309_0_getRandom_LT(EOS, java.lang.Object(x0), x1, -(x2, 1), -(x4, 1), java.lang.Object(x3), x4) | &&(>(+(x2, 1), 0), >(+(x4, 1), 0))
f27309_0_getRandom_LT(EOS, java.lang.Object(x0), x1, x2, x3, java.lang.Object(List(EOC, x4)), x5) → f26596_0_getRandom_Inc(EOS, java.lang.Object(x0), x1, x2, x6, x2) | <(x5, 0)
f27309_0_getRandom_LT(EOS, java.lang.Object(x0), x1, x2, x3, java.lang.Object(List(EOC, java.lang.Object(x4))), x5) → f27309_0_getRandom_LT(EOS, java.lang.Object(x0), x1, x2, -(x3, 1), java.lang.Object(x4), x3) | >(+(x5, 1), 0)
f27309_0_getRandom_LT(EOS, java.lang.Object(x0), x1, x2, x3, java.lang.Object(List(EOC, NULL)), x4) → f26596_0_getRandom_Inc(EOS, java.lang.Object(x0), x1, x2, x5, x2) | >(+(x4, 1), 0)
f26596_0_getRandom_Inc(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(x0))), x1, x2, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(x0))), x2) → f27309_0_getRandom_LT(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(x0))), x1, -(x2, 1), -(x3, 1), java.lang.Object(x0), x3) | &&(>(+(x2, 1), 0), >(+(x3, 1), 0))
f26596_0_getRandom_Inc(EOS, java.lang.Object(x0), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(x1))), x2, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(x1))), x2) → f27309_0_getRandom_LT(EOS, java.lang.Object(x0), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(x1))), -(x2, 1), -(x3, 1), java.lang.Object(x1), x3) | &&(>(+(x2, 1), 0), >(+(x3, 1), 0))
f26596_0_getRandom_Inc(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(x0))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(x0))), x1, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(x0))), x1) → f27309_0_getRandom_LT(EOS, java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(x0))), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(x0))), -(x1, 1), -(x2, 1), java.lang.Object(x0), x2) | &&(>(+(x1, 1), 0), >(+(x2, 1), 0))

Filtered ground terms:


f26596_0_getRandom_Inc(x1, x2, x3, x4, x5, x6) → f26596_0_getRandom_Inc(x2, x3, x4, x5, x6)
Cond_f26596_0_getRandom_Inc(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_f26596_0_getRandom_Inc(x1, x3, x4, x5, x6, x7, x8)
f27309_0_getRandom_LT(x1, x2, x3, x4, x5, x6, x7) → f27309_0_getRandom_LT(x2, x3, x4, x5, x6, x7)
Cond_f27309_0_getRandom_LT(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_f27309_0_getRandom_LT(x1, x3, x4, x5, x6, x7, x8, x9)
Cond_f27309_0_getRandom_LT1(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_f27309_0_getRandom_LT1(x1, x3, x4, x5, x6, x7, x8)
Cond_f27309_0_getRandom_LT2(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_f27309_0_getRandom_LT2(x1, x3, x4, x5, x6, x8, x9)
Cond_f26596_0_getRandom_Inc1(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_f26596_0_getRandom_Inc1(x1, x3, x4, x5, x6, x7, x8)
Cond_f26596_0_getRandom_Inc2(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_f26596_0_getRandom_Inc2(x1, x3, x4, x5, x6, x7, x8)
Cond_f26596_0_getRandom_Inc3(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_f26596_0_getRandom_Inc3(x1, x3, x4, x5, x6, x7, x8)
MarkingGraphVisitor(x1, x2) → MarkingGraphVisitor(x2)
List(x1, x2) → List(x2)

Filtered duplicate terms:


f26596_0_getRandom_Inc(x1, x2, x3, x4, x5) → f26596_0_getRandom_Inc(x1, x2, x4, x5)
Cond_f26596_0_getRandom_Inc(x1, x2, x3, x4, x5, x6, x7) → Cond_f26596_0_getRandom_Inc(x1, x2, x3, x5, x6, x7)
Cond_f26596_0_getRandom_Inc1(x1, x2, x3, x4, x5, x6, x7) → Cond_f26596_0_getRandom_Inc1(x1, x3, x5, x6, x7)
Cond_f26596_0_getRandom_Inc2(x1, x2, x3, x4, x5, x6, x7) → Cond_f26596_0_getRandom_Inc2(x1, x2, x5, x6, x7)
Cond_f26596_0_getRandom_Inc3(x1, x2, x3, x4, x5, x6, x7) → Cond_f26596_0_getRandom_Inc3(x1, x5, x6, x7)

Filtered unneeded terms:


Cond_f27309_0_getRandom_LT(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_f27309_0_getRandom_LT(x1, x2, x3, x4, x8)
Cond_f27309_0_getRandom_LT1(x1, x2, x3, x4, x5, x6, x7) → Cond_f27309_0_getRandom_LT1(x1, x2, x3, x4, x5, x6)
Cond_f27309_0_getRandom_LT2(x1, x2, x3, x4, x5, x6, x7) → Cond_f27309_0_getRandom_LT2(x1, x2, x3, x4, x7)

Prepared 7 rules for path length conversion:

P rules:
f26596_0_getRandom_Inc(java.lang.Object(x0), x1, java.lang.Object(MarkingGraphVisitor(java.lang.Object(x3))), x2) → f27309_0_getRandom_LT(java.lang.Object(x0), x1, -(x2, 1), -(x4, 1), java.lang.Object(x3), x4) | &&(>(+(x2, 1), 0), >(+(x4, 1), 0))
f27309_0_getRandom_LT(java.lang.Object(x0), x1, x2, x3, java.lang.Object(List(x4)), x5) → f26596_0_getRandom_Inc(java.lang.Object(x0), x1, x6, x2) | <(x5, 0)
f27309_0_getRandom_LT(java.lang.Object(x0), x1, x2, x3, java.lang.Object(List(java.lang.Object(x4))), x5) → f27309_0_getRandom_LT(java.lang.Object(x0), x1, x2, -(x3, 1), java.lang.Object(x4), x3) | >(+(x5, 1), 0)
f27309_0_getRandom_LT(java.lang.Object(x0), x1, x2, x3, java.lang.Object(List(NULL)), x4) → f26596_0_getRandom_Inc(java.lang.Object(x0), x1, x5, x2) | >(+(x4, 1), 0)
f26596_0_getRandom_Inc(java.lang.Object(MarkingGraphVisitor(java.lang.Object(x0))), x1, java.lang.Object(MarkingGraphVisitor(java.lang.Object(x0))), x2) → f27309_0_getRandom_LT(java.lang.Object(MarkingGraphVisitor(java.lang.Object(x0))), x1, -(x2, 1), -(x3, 1), java.lang.Object(x0), x3) | &&(>(+(x2, 1), 0), >(+(x3, 1), 0))
f26596_0_getRandom_Inc(java.lang.Object(x0), java.lang.Object(MarkingGraphVisitor(java.lang.Object(x1))), java.lang.Object(MarkingGraphVisitor(java.lang.Object(x1))), x2) → f27309_0_getRandom_LT(java.lang.Object(x0), java.lang.Object(MarkingGraphVisitor(java.lang.Object(x1))), -(x2, 1), -(x3, 1), java.lang.Object(x1), x3) | &&(>(+(x2, 1), 0), >(+(x3, 1), 0))
f26596_0_getRandom_Inc(java.lang.Object(MarkingGraphVisitor(java.lang.Object(x0))), java.lang.Object(MarkingGraphVisitor(java.lang.Object(x0))), java.lang.Object(MarkingGraphVisitor(java.lang.Object(x0))), x1) → f27309_0_getRandom_LT(java.lang.Object(MarkingGraphVisitor(java.lang.Object(x0))), java.lang.Object(MarkingGraphVisitor(java.lang.Object(x0))), -(x1, 1), -(x2, 1), java.lang.Object(x0), x2) | &&(>(+(x1, 1), 0), >(+(x2, 1), 0))

Finished conversion. Obtained 7 rules.

P rules:
f26596_0_getRandom_Inc(v45, v46, v47, x3) → f27309_0_getRandom_LT(v48, v49, -(x3, 1), -(x4, 1), v50, x4) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x4, -1), >(x3, -1)), >(+(v50, 1), 1)), <=(+(v50, 2), v47)), >(+(v49, 1), 0)), <=(v49, v46)), >(+(v48, 1), 1)), <=(v48, v45)), >(+(v47, 1), 3)), >(+(v46, 1), 0)), >(+(v45, 1), 1))
f27309_0_getRandom_LT(v51, v52, x7, x8, v53, x10) → f26596_0_getRandom_Inc(v54, v55, v56, x7) | &&(&&(&&(&&(&&(&&(&&(&&(<(x10, 0), >(+(v56, 1), 0)), >(+(v55, 1), 0)), <=(v55, v52)), >(+(v54, 1), 1)), <=(v54, v51)), >(+(v53, 1), 1)), >(+(v52, 1), 0)), >(+(v51, 1), 1))
f27309_0_getRandom_LT(v57, v58, x14, x15, v59, x17) → f27309_0_getRandom_LT(v60, v61, x14, -(x15, 1), v62, x15) | &&(&&(&&(&&(&&(&&(&&(&&(&&(>(x17, -1), >(+(v62, 1), 1)), <=(+(v62, 2), v59)), >(+(v61, 1), 0)), <=(v61, v58)), >(+(v60, 1), 1)), <=(v60, v57)), >(+(v59, 1), 3)), >(+(v58, 1), 0)), >(+(v57, 1), 1))
f27309_0_getRandom_LT(v63, v64, x20, x21, v65, x22) → f26596_0_getRandom_Inc(v66, v67, v68, x20) | &&(&&(&&(&&(&&(&&(&&(&&(>(x22, -1), >(+(v68, 1), 0)), >(+(v67, 1), 0)), <=(v67, v64)), >(+(v66, 1), 1)), <=(v66, v63)), >(+(v65, 1), 2)), >(+(v64, 1), 0)), >(+(v63, 1), 1))
f26596_0_getRandom_Inc(v69, v70, v71, x26) → f27309_0_getRandom_LT(v72, v73, -(x26, 1), -(x27, 1), v74, x27) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x27, -1), >(x26, -1)), >(+(v74, 1), 1)), <=(+(v74, 2), v71)), <=(+(v74, 2), v69)), >(+(v73, 1), 0)), <=(v73, v70)), >(+(v72, 1), 3)), <=(v72, v71)), <=(v72, v69)), >(+(v71, 1), 3)), >(+(v70, 1), 0)), >(+(v69, 1), 3))
f26596_0_getRandom_Inc(v75, v76, v77, x30) → f27309_0_getRandom_LT(v78, v79, -(x30, 1), -(x31, 1), v80, x31) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x31, -1), >(x30, -1)), >(+(v80, 1), 1)), <=(+(v80, 2), v77)), <=(+(v80, 2), v76)), >(+(v79, 1), 3)), <=(v79, v77)), <=(v79, v76)), >(+(v78, 1), 1)), <=(v78, v75)), >(+(v77, 1), 3)), >(+(v76, 1), 3)), >(+(v75, 1), 1))
f26596_0_getRandom_Inc(v81, v82, v83, x33) → f27309_0_getRandom_LT(v84, v85, -(x33, 1), -(x34, 1), v86, x34) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x34, -1), >(x33, -1)), >(+(v86, 1), 1)), <=(+(v86, 2), v83)), <=(+(v86, 2), v82)), <=(+(v86, 2), v81)), >(+(v85, 1), 3)), <=(v85, v83)), <=(v85, v82)), <=(v85, v81)), >(+(v84, 1), 3)), <=(v84, v83)), <=(v84, v82)), <=(v84, v81)), >(+(v83, 1), 3)), >(+(v82, 1), 3)), >(+(v81, 1), 3))

(26) Obligation:

Rules:
f26596_0_getRandom_Inc(v45, v46, v47, x3) → f27309_0_getRandom_LT(v48, v49, -(x3, 1), -(x4, 1), v50, x4) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x4, -1), >(x3, -1)), >(+(v50, 1), 1)), <=(+(v50, 2), v47)), >(+(v49, 1), 0)), <=(v49, v46)), >(+(v48, 1), 1)), <=(v48, v45)), >(+(v47, 1), 3)), >(+(v46, 1), 0)), >(+(v45, 1), 1))
f27309_0_getRandom_LT(v51, v52, x7, x8, v53, x10) → f26596_0_getRandom_Inc(v54, v55, v56, x7) | &&(&&(&&(&&(&&(&&(&&(&&(<(x10, 0), >(+(v56, 1), 0)), >(+(v55, 1), 0)), <=(v55, v52)), >(+(v54, 1), 1)), <=(v54, v51)), >(+(v53, 1), 1)), >(+(v52, 1), 0)), >(+(v51, 1), 1))
f27309_0_getRandom_LT(v57, v58, x14, x15, v59, x17) → f27309_0_getRandom_LT(v60, v61, x14, -(x15, 1), v62, x15) | &&(&&(&&(&&(&&(&&(&&(&&(&&(>(x17, -1), >(+(v62, 1), 1)), <=(+(v62, 2), v59)), >(+(v61, 1), 0)), <=(v61, v58)), >(+(v60, 1), 1)), <=(v60, v57)), >(+(v59, 1), 3)), >(+(v58, 1), 0)), >(+(v57, 1), 1))
f27309_0_getRandom_LT(v63, v64, x20, x21, v65, x22) → f26596_0_getRandom_Inc(v66, v67, v68, x20) | &&(&&(&&(&&(&&(&&(&&(&&(>(x22, -1), >(+(v68, 1), 0)), >(+(v67, 1), 0)), <=(v67, v64)), >(+(v66, 1), 1)), <=(v66, v63)), >(+(v65, 1), 2)), >(+(v64, 1), 0)), >(+(v63, 1), 1))
f26596_0_getRandom_Inc(v69, v70, v71, x26) → f27309_0_getRandom_LT(v72, v73, -(x26, 1), -(x27, 1), v74, x27) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x27, -1), >(x26, -1)), >(+(v74, 1), 1)), <=(+(v74, 2), v71)), <=(+(v74, 2), v69)), >(+(v73, 1), 0)), <=(v73, v70)), >(+(v72, 1), 3)), <=(v72, v71)), <=(v72, v69)), >(+(v71, 1), 3)), >(+(v70, 1), 0)), >(+(v69, 1), 3))
f26596_0_getRandom_Inc(v75, v76, v77, x30) → f27309_0_getRandom_LT(v78, v79, -(x30, 1), -(x31, 1), v80, x31) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x31, -1), >(x30, -1)), >(+(v80, 1), 1)), <=(+(v80, 2), v77)), <=(+(v80, 2), v76)), >(+(v79, 1), 3)), <=(v79, v77)), <=(v79, v76)), >(+(v78, 1), 1)), <=(v78, v75)), >(+(v77, 1), 3)), >(+(v76, 1), 3)), >(+(v75, 1), 1))
f26596_0_getRandom_Inc(v81, v82, v83, x33) → f27309_0_getRandom_LT(v84, v85, -(x33, 1), -(x34, 1), v86, x34) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x34, -1), >(x33, -1)), >(+(v86, 1), 1)), <=(+(v86, 2), v83)), <=(+(v86, 2), v82)), <=(+(v86, 2), v81)), >(+(v85, 1), 3)), <=(v85, v83)), <=(v85, v82)), <=(v85, v81)), >(+(v84, 1), 3)), <=(v84, v83)), <=(v84, v82)), <=(v84, v81)), >(+(v83, 1), 3)), >(+(v82, 1), 3)), >(+(v81, 1), 3))

(27) PolynomialOrderProcessor (SOUND transformation)

Found the following polynomial interpretation:


[f26596_0_getRandom_Inc(x60, x62, x64, x66)] = -2 + x60 + x66
[f27309_0_getRandom_LT(x69, x71, x73, x75, x77, x79)] = -2 + x69 + x73

Therefore the following rule(s) have been dropped:


f26596_0_getRandom_Inc(x35, x36, x37, x38) → f27309_0_getRandom_LT(x39, x40, -(x38, 1), -(x41, 1), x42, x41) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x41, -1), >(x38, -1)), >(+(x42, 1), 1)), <=(+(x42, 2), x37)), <=(+(x42, 2), x35)), >(+(x40, 1), 0)), <=(x40, x36)), >(+(x39, 1), 3)), <=(x39, x37)), <=(x39, x35)), >(+(x37, 1), 3)), >(+(x36, 1), 0)), >(+(x35, 1), 3))
f26596_0_getRandom_Inc(x51, x52, x53, x54) → f27309_0_getRandom_LT(x55, x56, -(x54, 1), -(x57, 1), x58, x57) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x57, -1), >(x54, -1)), >(+(x58, 1), 1)), <=(+(x58, 2), x53)), <=(+(x58, 2), x52)), <=(+(x58, 2), x51)), >(+(x56, 1), 3)), <=(x56, x53)), <=(x56, x52)), <=(x56, x51)), >(+(x55, 1), 3)), <=(x55, x53)), <=(x55, x52)), <=(x55, x51)), >(+(x53, 1), 3)), >(+(x52, 1), 3)), >(+(x51, 1), 3))

(28) Obligation:

Rules:
f26596_0_getRandom_Inc(x0, x1, x2, x3) → f27309_0_getRandom_LT(x4, x5, -(x3, 1), -(x6, 1), x7, x6) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x6, -1), >(x3, -1)), >(+(x7, 1), 1)), <=(+(x7, 2), x2)), >(+(x5, 1), 0)), <=(x5, x1)), >(+(x4, 1), 1)), <=(x4, x0)), >(+(x2, 1), 3)), >(+(x1, 1), 0)), >(+(x0, 1), 1))
f27309_0_getRandom_LT(x8, x9, x10, x11, x12, x13) → f26596_0_getRandom_Inc(x14, x15, x16, x10) | &&(&&(&&(&&(&&(&&(&&(&&(<(x13, 0), >(+(x16, 1), 0)), >(+(x15, 1), 0)), <=(x15, x9)), >(+(x14, 1), 1)), <=(x14, x8)), >(+(x12, 1), 1)), >(+(x9, 1), 0)), >(+(x8, 1), 1))
f27309_0_getRandom_LT(x17, x18, x19, x20, x21, x22) → f27309_0_getRandom_LT(x23, x24, x19, -(x20, 1), x25, x20) | &&(&&(&&(&&(&&(&&(&&(&&(&&(>(x22, -1), >(+(x25, 1), 1)), <=(+(x25, 2), x21)), >(+(x24, 1), 0)), <=(x24, x18)), >(+(x23, 1), 1)), <=(x23, x17)), >(+(x21, 1), 3)), >(+(x18, 1), 0)), >(+(x17, 1), 1))
f27309_0_getRandom_LT(x26, x27, x28, x29, x30, x31) → f26596_0_getRandom_Inc(x32, x33, x34, x28) | &&(&&(&&(&&(&&(&&(&&(&&(>(x31, -1), >(+(x34, 1), 0)), >(+(x33, 1), 0)), <=(x33, x27)), >(+(x32, 1), 1)), <=(x32, x26)), >(+(x30, 1), 2)), >(+(x27, 1), 0)), >(+(x26, 1), 1))
f26596_0_getRandom_Inc(x43, x44, x45, x46) → f27309_0_getRandom_LT(x47, x48, -(x46, 1), -(x49, 1), x50, x49) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x49, -1), >(x46, -1)), >(+(x50, 1), 1)), <=(+(x50, 2), x45)), <=(+(x50, 2), x44)), >(+(x48, 1), 3)), <=(x48, x45)), <=(x48, x44)), >(+(x47, 1), 1)), <=(x47, x43)), >(+(x45, 1), 3)), >(+(x44, 1), 3)), >(+(x43, 1), 1))

(29) PolynomialOrderProcessor (SOUND transformation)

Found the following polynomial interpretation:


[f26596_0_getRandom_Inc(x44, x46, x48, x50)] = -1 + x46 + x50
[f27309_0_getRandom_LT(x53, x55, x57, x59, x61, x63)] = -1 + x55 + x57

Therefore the following rule(s) have been dropped:


f26596_0_getRandom_Inc(x35, x36, x37, x38) → f27309_0_getRandom_LT(x39, x40, -(x38, 1), -(x41, 1), x42, x41) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x41, -1), >(x38, -1)), >(+(x42, 1), 1)), <=(+(x42, 2), x37)), <=(+(x42, 2), x36)), >(+(x40, 1), 3)), <=(x40, x37)), <=(x40, x36)), >(+(x39, 1), 1)), <=(x39, x35)), >(+(x37, 1), 3)), >(+(x36, 1), 3)), >(+(x35, 1), 1))

(30) Obligation:

Rules:
f26596_0_getRandom_Inc(x0, x1, x2, x3) → f27309_0_getRandom_LT(x4, x5, -(x3, 1), -(x6, 1), x7, x6) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x6, -1), >(x3, -1)), >(+(x7, 1), 1)), <=(+(x7, 2), x2)), >(+(x5, 1), 0)), <=(x5, x1)), >(+(x4, 1), 1)), <=(x4, x0)), >(+(x2, 1), 3)), >(+(x1, 1), 0)), >(+(x0, 1), 1))
f27309_0_getRandom_LT(x8, x9, x10, x11, x12, x13) → f26596_0_getRandom_Inc(x14, x15, x16, x10) | &&(&&(&&(&&(&&(&&(&&(&&(<(x13, 0), >(+(x16, 1), 0)), >(+(x15, 1), 0)), <=(x15, x9)), >(+(x14, 1), 1)), <=(x14, x8)), >(+(x12, 1), 1)), >(+(x9, 1), 0)), >(+(x8, 1), 1))
f27309_0_getRandom_LT(x17, x18, x19, x20, x21, x22) → f27309_0_getRandom_LT(x23, x24, x19, -(x20, 1), x25, x20) | &&(&&(&&(&&(&&(&&(&&(&&(&&(>(x22, -1), >(+(x25, 1), 1)), <=(+(x25, 2), x21)), >(+(x24, 1), 0)), <=(x24, x18)), >(+(x23, 1), 1)), <=(x23, x17)), >(+(x21, 1), 3)), >(+(x18, 1), 0)), >(+(x17, 1), 1))
f27309_0_getRandom_LT(x26, x27, x28, x29, x30, x31) → f26596_0_getRandom_Inc(x32, x33, x34, x28) | &&(&&(&&(&&(&&(&&(&&(&&(>(x31, -1), >(+(x34, 1), 0)), >(+(x33, 1), 0)), <=(x33, x27)), >(+(x32, 1), 1)), <=(x32, x26)), >(+(x30, 1), 2)), >(+(x27, 1), 0)), >(+(x26, 1), 1))

(31) PolynomialOrderProcessor (SOUND transformation)

Found the following polynomial interpretation:


[f26596_0_getRandom_Inc(x36, x38, x40, x42)] = x42
[f27309_0_getRandom_LT(x45, x47, x49, x51, x53, x55)] = x49

Therefore the following rule(s) have been dropped:


f26596_0_getRandom_Inc(x0, x1, x2, x3) → f27309_0_getRandom_LT(x4, x5, -(x3, 1), -(x6, 1), x7, x6) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x6, -1), >(x3, -1)), >(+(x7, 1), 1)), <=(+(x7, 2), x2)), >(+(x5, 1), 0)), <=(x5, x1)), >(+(x4, 1), 1)), <=(x4, x0)), >(+(x2, 1), 3)), >(+(x1, 1), 0)), >(+(x0, 1), 1))

(32) Obligation:

Rules:
f27309_0_getRandom_LT(x8, x9, x10, x11, x12, x13) → f26596_0_getRandom_Inc(x14, x15, x16, x10) | &&(&&(&&(&&(&&(&&(&&(&&(<(x13, 0), >(+(x16, 1), 0)), >(+(x15, 1), 0)), <=(x15, x9)), >(+(x14, 1), 1)), <=(x14, x8)), >(+(x12, 1), 1)), >(+(x9, 1), 0)), >(+(x8, 1), 1))
f27309_0_getRandom_LT(x17, x18, x19, x20, x21, x22) → f27309_0_getRandom_LT(x23, x24, x19, -(x20, 1), x25, x20) | &&(&&(&&(&&(&&(&&(&&(&&(&&(>(x22, -1), >(+(x25, 1), 1)), <=(+(x25, 2), x21)), >(+(x24, 1), 0)), <=(x24, x18)), >(+(x23, 1), 1)), <=(x23, x17)), >(+(x21, 1), 3)), >(+(x18, 1), 0)), >(+(x17, 1), 1))
f27309_0_getRandom_LT(x26, x27, x28, x29, x30, x31) → f26596_0_getRandom_Inc(x32, x33, x34, x28) | &&(&&(&&(&&(&&(&&(&&(&&(>(x31, -1), >(+(x34, 1), 0)), >(+(x33, 1), 0)), <=(x33, x27)), >(+(x32, 1), 1)), <=(x32, x26)), >(+(x30, 1), 2)), >(+(x27, 1), 0)), >(+(x26, 1), 1))

(33) TerminationGraphProcessor (SOUND transformation)

Constructed the termination graph and obtained one non-trivial SCC.


(34) Obligation:

Rules:
f27309_0_getRandom_LT(x9, x10, x11, x12, x13, x14) → f27309_0_getRandom_LT(x15, x16, x11, -(x12, 1), x17, x12) | &&(&&(&&(&&(&&(&&(&&(&&(&&(>(x14, -1), >(+(x17, 1), 1)), <=(+(x17, 2), x13)), >(+(x16, 1), 0)), <=(x16, x10)), >(+(x15, 1), 1)), <=(x15, x9)), >(+(x13, 1), 3)), >(+(x10, 1), 0)), >(+(x9, 1), 1))

(35) PolynomialOrderProcessor (EQUIVALENT transformation)

Found the following polynomial interpretation:


[f27309_0_getRandom_LT(x10, x12, x14, x16, x18, x20)] = -1 + x18

Therefore the following rule(s) have been dropped:


f27309_0_getRandom_LT(x0, x1, x2, x3, x4, x5) → f27309_0_getRandom_LT(x6, x7, x2, -(x3, 1), x8, x3) | &&(&&(&&(&&(&&(&&(&&(&&(&&(>(x5, -1), >(+(x8, 1), 1)), <=(+(x8, 2), x4)), >(+(x7, 1), 0)), <=(x7, x1)), >(+(x6, 1), 1)), <=(x6, x0)), >(+(x4, 1), 3)), >(+(x1, 1), 0)), >(+(x0, 1), 1))

(36) YES

(37) Obligation:

SCC of termination graph based on JBC Program.
SCC contains nodes from the following methods: MarkingGraphVisitor.createTree(I)LMarkingGraphVisitor;
SCC calls the following helper methods: MarkingGraphVisitor.createTree(I)LMarkingGraphVisitor;
Performed SCC analyses:
  • Used field analysis yielded the following read fields:
    • java.lang.String: [count]
  • Marker field analysis yielded the following relations that could be markers:

(38) SCCToIDPv1Proof (SOUND transformation)

Transformed FIGraph SCCs to IDPs. Log:

Generated 72 rules for P and 150 rules for R.


P rules:
f1688_0_createTree_GT(EOS(STATIC_1688), i248, i248, i248) → f1692_0_createTree_GT(EOS(STATIC_1692), i248, i248, i248)
f1692_0_createTree_GT(EOS(STATIC_1692), i248, i248, i248) → f1695_0_createTree_InvokeMethod(EOS(STATIC_1695), i248, i248) | >(i248, 0)
f1695_0_createTree_InvokeMethod(EOS(STATIC_1695), i248, i248) → f1698_0_random_FieldAccess(EOS(STATIC_1698), i248, i248)
f1698_0_random_FieldAccess(EOS(STATIC_1698), i248, i248) → f1711_0_random_FieldAccess(EOS(STATIC_1711), i248, i248, java.lang.Object(ARRAY(i102)))
f1711_0_random_FieldAccess(EOS(STATIC_1711), i248, i248, java.lang.Object(ARRAY(i102))) → f1719_0_random_ArrayAccess(EOS(STATIC_1719), i248, i248, java.lang.Object(ARRAY(i102)), i245)
f1719_0_random_ArrayAccess(EOS(STATIC_1719), i248, i248, java.lang.Object(ARRAY(i102)), i245) → f1721_0_random_ArrayAccess(EOS(STATIC_1721), i248, i248, java.lang.Object(ARRAY(i102)), i245)
f1721_0_random_ArrayAccess(EOS(STATIC_1721), i248, i248, java.lang.Object(ARRAY(i102)), i245) → f1724_0_random_Store(EOS(STATIC_1724), i248, i248, o462)
f1724_0_random_Store(EOS(STATIC_1724), i248, i248, o462) → f1728_0_random_FieldAccess(EOS(STATIC_1728), i248, i248, o462)
f1728_0_random_FieldAccess(EOS(STATIC_1728), i248, i248, o462) → f1730_0_random_ConstantStackPush(EOS(STATIC_1730), i248, i248, o462, i245)
f1730_0_random_ConstantStackPush(EOS(STATIC_1730), i248, i248, o462, i245) → f1734_0_random_IntArithmetic(EOS(STATIC_1734), i248, i248, o462, i245, 1)
f1734_0_random_IntArithmetic(EOS(STATIC_1734), i248, i248, o462, i245, matching1) → f1737_0_random_FieldAccess(EOS(STATIC_1737), i248, i248, o462, +(i245, 1)) | &&(>(i245, 0), =(matching1, 1))
f1737_0_random_FieldAccess(EOS(STATIC_1737), i248, i248, o462, i255) → f1739_0_random_Load(EOS(STATIC_1739), i248, i248, o462)
f1739_0_random_Load(EOS(STATIC_1739), i248, i248, o462) → f1744_0_random_InvokeMethod(EOS(STATIC_1744), i248, i248, o462)
f1744_0_random_InvokeMethod(EOS(STATIC_1744), i248, i248, java.lang.Object(o465sub)) → f1748_0_random_InvokeMethod(EOS(STATIC_1748), i248, i248, java.lang.Object(o465sub))
f1748_0_random_InvokeMethod(EOS(STATIC_1748), i248, i248, java.lang.Object(o465sub)) → f1752_0_length_Load(EOS(STATIC_1752), i248, i248, java.lang.Object(o465sub), java.lang.Object(o465sub))
f1752_0_length_Load(EOS(STATIC_1752), i248, i248, java.lang.Object(o465sub), java.lang.Object(o465sub)) → f1758_0_length_FieldAccess(EOS(STATIC_1758), i248, i248, java.lang.Object(o465sub), java.lang.Object(o465sub))
f1758_0_length_FieldAccess(EOS(STATIC_1758), i248, i248, java.lang.Object(java.lang.String(o470sub, i265)), java.lang.Object(java.lang.String(o470sub, i265))) → f1762_0_length_FieldAccess(EOS(STATIC_1762), i248, i248, java.lang.Object(java.lang.String(o470sub, i265)), java.lang.Object(java.lang.String(o470sub, i265))) | >=(i265, 0)
f1762_0_length_FieldAccess(EOS(STATIC_1762), i248, i248, java.lang.Object(java.lang.String(o470sub, i265)), java.lang.Object(java.lang.String(o470sub, i265))) → f1768_0_length_Return(EOS(STATIC_1768), i248, i248, java.lang.Object(java.lang.String(o470sub, i265)), i265)
f1768_0_length_Return(EOS(STATIC_1768), i248, i248, java.lang.Object(java.lang.String(o470sub, i265)), i265) → f1773_0_random_Return(EOS(STATIC_1773), i248, i248, i265)
f1773_0_random_Return(EOS(STATIC_1773), i248, i248, i265) → f1774_0_createTree_Store(EOS(STATIC_1774), i248, i248, i265)
f1774_0_createTree_Store(EOS(STATIC_1774), i248, i248, i265) → f1782_0_createTree_ConstantStackPush(EOS(STATIC_1782), i248, i248, i265)
f1782_0_createTree_ConstantStackPush(EOS(STATIC_1782), i248, i248, i265) → f1789_0_createTree_Store(EOS(STATIC_1789), i248, i248, i265, NULL)
f1789_0_createTree_Store(EOS(STATIC_1789), i248, i248, i265, NULL) → f1792_0_createTree_Load(EOS(STATIC_1792), i248, i248, i265, NULL)
f1792_0_createTree_Load(EOS(STATIC_1792), i248, i248, i265, NULL) → f1799_0_createTree_Store(EOS(STATIC_1799), i248, i248, NULL, i265)
f1799_0_createTree_Store(EOS(STATIC_1799), i248, i248, NULL, i265) → f1808_0_createTree_Load(EOS(STATIC_1808), i248, i248, NULL, i265)
f1808_0_createTree_Load(EOS(STATIC_1808), i248, i248, NULL, i265) → f2329_0_createTree_Load(EOS(STATIC_2329), i248, i248, NULL, i265)
f2329_0_createTree_Load(EOS(STATIC_2329), i248, i248, o678, i533) → f2338_0_createTree_LE(EOS(STATIC_2338), i248, i248, o678, i533, i533)
f2338_0_createTree_LE(EOS(STATIC_2338), i248, i248, o678, i544, i544) → f2342_0_createTree_LE(EOS(STATIC_2342), i248, i248, o678, i544, i544)
f2342_0_createTree_LE(EOS(STATIC_2342), i248, i248, o678, i544, i544) → f2354_0_createTree_New(EOS(STATIC_2354), i248, i248, o678, i544) | >(i544, 0)
f2354_0_createTree_New(EOS(STATIC_2354), i248, i248, o678, i544) → f2376_0_createTree_Duplicate(EOS(STATIC_2376), i248, i248, o678, i544, java.lang.Object(List(EOC)))
f2376_0_createTree_Duplicate(EOS(STATIC_2376), i248, i248, o678, i544, java.lang.Object(List(EOC))) → f2380_0_createTree_Load(EOS(STATIC_2380), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)))
f2380_0_createTree_Load(EOS(STATIC_2380), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC))) → f2389_0_createTree_ConstantStackPush(EOS(STATIC_2389), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i248)
f2389_0_createTree_ConstantStackPush(EOS(STATIC_2389), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i248) → f2403_0_createTree_IntArithmetic(EOS(STATIC_2403), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i248, 1)
f2403_0_createTree_IntArithmetic(EOS(STATIC_2403), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i248, matching1) → f2409_0_createTree_InvokeMethod(EOS(STATIC_2409), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), -(i248, 1)) | &&(>(i248, 0), =(matching1, 1))
f2409_0_createTree_InvokeMethod(EOS(STATIC_2409), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i565) → f2414_1_createTree_InvokeMethod(f2414_0_createTree_Load(EOS(STATIC_2414), i565, i565), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i565)
f2414_0_createTree_Load(EOS(STATIC_2414), i565, i565) → f2419_0_createTree_Load(EOS(STATIC_2419), i565, i565)
f2419_0_createTree_Load(EOS(STATIC_2419), i565, i565) → f1686_0_createTree_Load(EOS(STATIC_1686), i565, i565)
f1686_0_createTree_Load(EOS(STATIC_1686), i246, i246) → f1688_0_createTree_GT(EOS(STATIC_1688), i246, i246, i246)
f2471_0_createTree_Return(EOS(STATIC_2471), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), matching1, matching2, NULL) → f2489_0_createTree_Load(EOS(STATIC_2489), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL) | &&(=(matching1, 0), =(matching2, 0))
f2489_0_createTree_Load(EOS(STATIC_2489), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL) → f2505_0_createTree_InvokeMethod(EOS(STATIC_2505), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678)
f2505_0_createTree_InvokeMethod(EOS(STATIC_2505), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678) → f2519_0__init__Load(EOS(STATIC_2519), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC)), NULL, o678)
f2519_0__init__Load(EOS(STATIC_2519), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC)), NULL, o678) → f2614_0__init__InvokeMethod(EOS(STATIC_2614), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC)))
f2614_0__init__InvokeMethod(EOS(STATIC_2614), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC))) → f2636_0__init__Load(EOS(STATIC_2636), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC)), NULL, o678)
f2636_0__init__Load(EOS(STATIC_2636), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC)), NULL, o678) → f2652_0__init__Load(EOS(STATIC_2652), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC)))
f2652_0__init__Load(EOS(STATIC_2652), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC))) → f2706_0__init__FieldAccess(EOS(STATIC_2706), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC)), o678, java.lang.Object(List(EOC)), NULL)
f2706_0__init__FieldAccess(EOS(STATIC_2706), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC)), o678, java.lang.Object(List(EOC)), NULL) → f2734_0__init__Load(EOS(STATIC_2734), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC)), o678)
f2734_0__init__Load(EOS(STATIC_2734), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC)), o678) → f2774_0__init__Load(EOS(STATIC_2774), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678, o678, java.lang.Object(List(EOC)))
f2774_0__init__Load(EOS(STATIC_2774), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678, o678, java.lang.Object(List(EOC))) → f2787_0__init__FieldAccess(EOS(STATIC_2787), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC)), o678)
f2787_0__init__FieldAccess(EOS(STATIC_2787), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC)), o678) → f2805_0__init__Return(EOS(STATIC_2805), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678)
f2805_0__init__Return(EOS(STATIC_2805), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678) → f2810_0_createTree_Store(EOS(STATIC_2810), i248, i248, i544, java.lang.Object(List(EOC)))
f2810_0_createTree_Store(EOS(STATIC_2810), i248, i248, i544, java.lang.Object(List(EOC))) → f2816_0_createTree_Inc(EOS(STATIC_2816), i248, i248, java.lang.Object(List(EOC)), i544)
f2816_0_createTree_Inc(EOS(STATIC_2816), i248, i248, java.lang.Object(List(EOC)), i544) → f2822_0_createTree_JMP(EOS(STATIC_2822), i248, i248, java.lang.Object(List(EOC)), +(i544, -1)) | >(i544, 0)
f2822_0_createTree_JMP(EOS(STATIC_2822), i248, i248, java.lang.Object(List(EOC)), i850) → f2829_0_createTree_Load(EOS(STATIC_2829), i248, i248, java.lang.Object(List(EOC)), i850)
f2829_0_createTree_Load(EOS(STATIC_2829), i248, i248, java.lang.Object(List(EOC)), i850) → f2329_0_createTree_Load(EOS(STATIC_2329), i248, i248, java.lang.Object(List(EOC)), i850)
f2778_0_createTree_Return(EOS(STATIC_2778), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i833, java.lang.Object(MarkingGraphVisitor(EOC))) → f2802_0_createTree_Load(EOS(STATIC_2802), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)))
f2802_0_createTree_Load(EOS(STATIC_2802), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC))) → f2808_0_createTree_InvokeMethod(EOS(STATIC_2808), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678)
f2808_0_createTree_InvokeMethod(EOS(STATIC_2808), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678) → f2812_0__init__Load(EOS(STATIC_2812), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678)
f2812_0__init__Load(EOS(STATIC_2812), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678) → f2824_0__init__InvokeMethod(EOS(STATIC_2824), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC)))
f2824_0__init__InvokeMethod(EOS(STATIC_2824), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC))) → f2838_0__init__Load(EOS(STATIC_2838), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678)
f2838_0__init__Load(EOS(STATIC_2838), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678) → f2843_0__init__Load(EOS(STATIC_2843), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC)))
f2843_0__init__Load(EOS(STATIC_2843), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC))) → f2850_0__init__FieldAccess(EOS(STATIC_2850), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC)), o678, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)))
f2850_0__init__FieldAccess(EOS(STATIC_2850), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC)), o678, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC))) → f2858_0__init__Load(EOS(STATIC_2858), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC)), o678)
f2858_0__init__Load(EOS(STATIC_2858), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC)), o678) → f2865_0__init__Load(EOS(STATIC_2865), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, o678, java.lang.Object(List(EOC)))
f2865_0__init__Load(EOS(STATIC_2865), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, o678, java.lang.Object(List(EOC))) → f2868_0__init__FieldAccess(EOS(STATIC_2868), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC)), o678)
f2868_0__init__FieldAccess(EOS(STATIC_2868), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC)), o678) → f2876_0__init__Return(EOS(STATIC_2876), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678)
f2876_0__init__Return(EOS(STATIC_2876), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678) → f2879_0_createTree_Store(EOS(STATIC_2879), i248, i248, i544, java.lang.Object(List(EOC)))
f2879_0_createTree_Store(EOS(STATIC_2879), i248, i248, i544, java.lang.Object(List(EOC))) → f2885_0_createTree_Inc(EOS(STATIC_2885), i248, i248, java.lang.Object(List(EOC)), i544)
f2885_0_createTree_Inc(EOS(STATIC_2885), i248, i248, java.lang.Object(List(EOC)), i544) → f2889_0_createTree_JMP(EOS(STATIC_2889), i248, i248, java.lang.Object(List(EOC)), +(i544, -1)) | >(i544, 0)
f2889_0_createTree_JMP(EOS(STATIC_2889), i248, i248, java.lang.Object(List(EOC)), i887) → f2899_0_createTree_Load(EOS(STATIC_2899), i248, i248, java.lang.Object(List(EOC)), i887)
f2899_0_createTree_Load(EOS(STATIC_2899), i248, i248, java.lang.Object(List(EOC)), i887) → f2329_0_createTree_Load(EOS(STATIC_2329), i248, i248, java.lang.Object(List(EOC)), i887)
f2414_1_createTree_InvokeMethod(f1697_0_createTree_Return(EOS(STATIC_1697), matching1, matching2, NULL), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), matching3) → f2471_0_createTree_Return(EOS(STATIC_2471), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), 0, 0, NULL) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
f2414_1_createTree_InvokeMethod(f2698_0_createTree_Return(EOS(STATIC_2698), i833, java.lang.Object(MarkingGraphVisitor(EOC))), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i833) → f2778_0_createTree_Return(EOS(STATIC_2778), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i833, java.lang.Object(MarkingGraphVisitor(EOC)))
R rules:
f1686_0_createTree_Load(EOS(STATIC_1686), i246, i246) → f1688_0_createTree_GT(EOS(STATIC_1688), i246, i246, i246)
f1688_0_createTree_GT(EOS(STATIC_1688), matching1, matching2, matching3) → f1691_0_createTree_GT(EOS(STATIC_1691), 0, 0, 0) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
f1688_0_createTree_GT(EOS(STATIC_1688), i248, i248, i248) → f1692_0_createTree_GT(EOS(STATIC_1692), i248, i248, i248)
f1691_0_createTree_GT(EOS(STATIC_1691), matching1, matching2, matching3) → f1693_0_createTree_ConstantStackPush(EOS(STATIC_1693), 0, 0) | &&(&&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0)), =(matching3, 0))
f1692_0_createTree_GT(EOS(STATIC_1692), i248, i248, i248) → f1695_0_createTree_InvokeMethod(EOS(STATIC_1695), i248, i248) | >(i248, 0)
f1693_0_createTree_ConstantStackPush(EOS(STATIC_1693), matching1, matching2) → f1697_0_createTree_Return(EOS(STATIC_1697), 0, 0, NULL) | &&(=(matching1, 0), =(matching2, 0))
f1695_0_createTree_InvokeMethod(EOS(STATIC_1695), i248, i248) → f1698_0_random_FieldAccess(EOS(STATIC_1698), i248, i248)
f1698_0_random_FieldAccess(EOS(STATIC_1698), i248, i248) → f1711_0_random_FieldAccess(EOS(STATIC_1711), i248, i248, java.lang.Object(ARRAY(i102)))
f1711_0_random_FieldAccess(EOS(STATIC_1711), i248, i248, java.lang.Object(ARRAY(i102))) → f1719_0_random_ArrayAccess(EOS(STATIC_1719), i248, i248, java.lang.Object(ARRAY(i102)), i245)
f1719_0_random_ArrayAccess(EOS(STATIC_1719), i248, i248, java.lang.Object(ARRAY(i102)), i245) → f1721_0_random_ArrayAccess(EOS(STATIC_1721), i248, i248, java.lang.Object(ARRAY(i102)), i245)
f1719_0_random_ArrayAccess(EOS(STATIC_1719), i248, i248, java.lang.Object(ARRAY(i102)), i245) → f1723_0_random_ArrayAccess(EOS(STATIC_1723), i248, i248, java.lang.Object(ARRAY(i102)), i245)
f1721_0_random_ArrayAccess(EOS(STATIC_1721), i248, i248, java.lang.Object(ARRAY(i102)), i245) → f1724_0_random_Store(EOS(STATIC_1724), i248, i248, o462)
f1723_0_random_ArrayAccess(EOS(STATIC_1723), i248, i248, java.lang.Object(ARRAY(i102)), i245) → f1726_0__init__Load(EOS(STATIC_1726), i248, i248, java.lang.Object(ARRAY(i102)), i245) | >=(i245, i102)
f1724_0_random_Store(EOS(STATIC_1724), i248, i248, o462) → f1728_0_random_FieldAccess(EOS(STATIC_1728), i248, i248, o462)
f1726_0__init__Load(EOS(STATIC_1726), i248, i248, java.lang.Object(ARRAY(i102)), i245) → f1732_0__init__InvokeMethod(EOS(STATIC_1732), i248, i248, java.lang.Object(ARRAY(i102)), i245)
f1728_0_random_FieldAccess(EOS(STATIC_1728), i248, i248, o462) → f1730_0_random_ConstantStackPush(EOS(STATIC_1730), i248, i248, o462, i245)
f1730_0_random_ConstantStackPush(EOS(STATIC_1730), i248, i248, o462, i245) → f1734_0_random_IntArithmetic(EOS(STATIC_1734), i248, i248, o462, i245, 1)
f1732_0__init__InvokeMethod(EOS(STATIC_1732), i248, i248, java.lang.Object(ARRAY(i102)), i245) → f1735_0__init__Load(EOS(STATIC_1735), i248, i248, java.lang.Object(ARRAY(i102)), i245)
f1734_0_random_IntArithmetic(EOS(STATIC_1734), i248, i248, o462, i245, matching1) → f1737_0_random_FieldAccess(EOS(STATIC_1737), i248, i248, o462, +(i245, 1)) | &&(>(i245, 0), =(matching1, 1))
f1735_0__init__Load(EOS(STATIC_1735), i248, i248, java.lang.Object(ARRAY(i102)), i245) → f1741_0__init__InvokeMethod(EOS(STATIC_1741), i248, i248, java.lang.Object(ARRAY(i102)), i245)
f1737_0_random_FieldAccess(EOS(STATIC_1737), i248, i248, o462, i255) → f1739_0_random_Load(EOS(STATIC_1739), i248, i248, o462)
f1739_0_random_Load(EOS(STATIC_1739), i248, i248, o462) → f1744_0_random_InvokeMethod(EOS(STATIC_1744), i248, i248, o462)
f1741_0__init__InvokeMethod(EOS(STATIC_1741), i248, i248, java.lang.Object(ARRAY(i102)), i245) → f1745_0__init__Load(EOS(STATIC_1745), i248, i248, java.lang.Object(ARRAY(i102)), i245)
f1744_0_random_InvokeMethod(EOS(STATIC_1744), i248, i248, java.lang.Object(o465sub)) → f1748_0_random_InvokeMethod(EOS(STATIC_1748), i248, i248, java.lang.Object(o465sub))
f1744_0_random_InvokeMethod(EOS(STATIC_1744), i248, i248, NULL) → f1749_0_random_InvokeMethod(EOS(STATIC_1749), i248, i248, NULL)
f1745_0__init__Load(EOS(STATIC_1745), i248, i248, java.lang.Object(ARRAY(i102)), i245) → f1754_0__init__InvokeMethod(EOS(STATIC_1754), i248, i248, java.lang.Object(ARRAY(i102)), i245)
f1748_0_random_InvokeMethod(EOS(STATIC_1748), i248, i248, java.lang.Object(o465sub)) → f1752_0_length_Load(EOS(STATIC_1752), i248, i248, java.lang.Object(o465sub), java.lang.Object(o465sub))
f1749_0_random_InvokeMethod(EOS(STATIC_1749), i248, i248, NULL) → f1753_0_random_InvokeMethod(EOS(STATIC_1753), i248, i248, NULL)
f1752_0_length_Load(EOS(STATIC_1752), i248, i248, java.lang.Object(o465sub), java.lang.Object(o465sub)) → f1758_0_length_FieldAccess(EOS(STATIC_1758), i248, i248, java.lang.Object(o465sub), java.lang.Object(o465sub))
f1753_0_random_InvokeMethod(EOS(STATIC_1753), i248, i248, NULL) → f1755_0__init__Load(EOS(STATIC_1755), i248, i248, NULL)
f1754_0__init__InvokeMethod(EOS(STATIC_1754), i248, i248, java.lang.Object(ARRAY(i102)), i245) → f1756_0__init__Load(EOS(STATIC_1756), i248, i248, java.lang.Object(ARRAY(i102)), i245)
f1755_0__init__Load(EOS(STATIC_1755), i248, i248, NULL) → f1763_0__init__InvokeMethod(EOS(STATIC_1763), i248, i248, NULL)
f1756_0__init__Load(EOS(STATIC_1756), i248, i248, java.lang.Object(ARRAY(i102)), i245) → f1766_0__init__InvokeMethod(EOS(STATIC_1766), i248, i248, java.lang.Object(ARRAY(i102)), i245)
f1758_0_length_FieldAccess(EOS(STATIC_1758), i248, i248, java.lang.Object(java.lang.String(o470sub, i265)), java.lang.Object(java.lang.String(o470sub, i265))) → f1762_0_length_FieldAccess(EOS(STATIC_1762), i248, i248, java.lang.Object(java.lang.String(o470sub, i265)), java.lang.Object(java.lang.String(o470sub, i265))) | >=(i265, 0)
f1762_0_length_FieldAccess(EOS(STATIC_1762), i248, i248, java.lang.Object(java.lang.String(o470sub, i265)), java.lang.Object(java.lang.String(o470sub, i265))) → f1768_0_length_Return(EOS(STATIC_1768), i248, i248, java.lang.Object(java.lang.String(o470sub, i265)), i265)
f1763_0__init__InvokeMethod(EOS(STATIC_1763), i248, i248, NULL) → f1770_0__init__Load(EOS(STATIC_1770), i248, i248, NULL)
f1766_0__init__InvokeMethod(EOS(STATIC_1766), i248, i248, java.lang.Object(ARRAY(i102)), i245) → f1772_0__init__Load(EOS(STATIC_1772), i248, i248, java.lang.Object(ARRAY(i102)), i245)
f1768_0_length_Return(EOS(STATIC_1768), i248, i248, java.lang.Object(java.lang.String(o470sub, i265)), i265) → f1773_0_random_Return(EOS(STATIC_1773), i248, i248, i265)
f1770_0__init__Load(EOS(STATIC_1770), i248, i248, NULL) → f1779_0__init__InvokeMethod(EOS(STATIC_1779), i248, i248, NULL)
f1772_0__init__Load(EOS(STATIC_1772), i248, i248, java.lang.Object(ARRAY(i102)), i245) → f1780_0__init__InvokeMethod(EOS(STATIC_1780), i248, i248, java.lang.Object(ARRAY(i102)), i245)
f1773_0_random_Return(EOS(STATIC_1773), i248, i248, i265) → f1774_0_createTree_Store(EOS(STATIC_1774), i248, i248, i265)
f1774_0_createTree_Store(EOS(STATIC_1774), i248, i248, i265) → f1782_0_createTree_ConstantStackPush(EOS(STATIC_1782), i248, i248, i265)
f1779_0__init__InvokeMethod(EOS(STATIC_1779), i248, i248, NULL) → f1784_0__init__Load(EOS(STATIC_1784), i248, i248, NULL)
f1780_0__init__InvokeMethod(EOS(STATIC_1780), i248, i248, java.lang.Object(ARRAY(i102)), i245) → f1787_0__init__Load(EOS(STATIC_1787), i248, i248, java.lang.Object(ARRAY(i102)), i245)
f1782_0_createTree_ConstantStackPush(EOS(STATIC_1782), i248, i248, i265) → f1789_0_createTree_Store(EOS(STATIC_1789), i248, i248, i265, NULL)
f1784_0__init__Load(EOS(STATIC_1784), i248, i248, NULL) → f1795_0__init__InvokeMethod(EOS(STATIC_1795), i248, i248, NULL)
f1787_0__init__Load(EOS(STATIC_1787), i248, i248, java.lang.Object(ARRAY(i102)), i245) → f1790_0__init__Load(EOS(STATIC_1790), i248, i248, java.lang.Object(ARRAY(i102)), i245)
f1789_0_createTree_Store(EOS(STATIC_1789), i248, i248, i265, NULL) → f1792_0_createTree_Load(EOS(STATIC_1792), i248, i248, i265, NULL)
f1790_0__init__Load(EOS(STATIC_1790), i248, i248, java.lang.Object(ARRAY(i102)), i245) → f1797_0__init__FieldAccess(EOS(STATIC_1797), i248, i248, java.lang.Object(ARRAY(i102)), i245)
f1792_0_createTree_Load(EOS(STATIC_1792), i248, i248, i265, NULL) → f1799_0_createTree_Store(EOS(STATIC_1799), i248, i248, NULL, i265)
f1795_0__init__InvokeMethod(EOS(STATIC_1795), i248, i248, NULL) → f1800_0__init__Load(EOS(STATIC_1800), i248, i248, NULL)
f1797_0__init__FieldAccess(EOS(STATIC_1797), i248, i248, java.lang.Object(ARRAY(i102)), i245) → f1806_0__init__Load(EOS(STATIC_1806), i248, i248, java.lang.Object(ARRAY(i102)), i245)
f1799_0_createTree_Store(EOS(STATIC_1799), i248, i248, NULL, i265) → f1808_0_createTree_Load(EOS(STATIC_1808), i248, i248, NULL, i265)
f1800_0__init__Load(EOS(STATIC_1800), i248, i248, NULL) → f1816_0__init__InvokeMethod(EOS(STATIC_1816), i248, i248, NULL)
f1806_0__init__Load(EOS(STATIC_1806), i248, i248, java.lang.Object(ARRAY(i102)), i245) → f1810_0__init__InvokeMethod(EOS(STATIC_1810), i248, i248, java.lang.Object(ARRAY(i102)), i245)
f1808_0_createTree_Load(EOS(STATIC_1808), i248, i248, NULL, i265) → f2329_0_createTree_Load(EOS(STATIC_2329), i248, i248, NULL, i265)
f1810_0__init__InvokeMethod(EOS(STATIC_1810), i248, i248, java.lang.Object(ARRAY(i102)), i245) → f1819_0__init__StackPop(EOS(STATIC_1819), i248, i248, java.lang.Object(ARRAY(i102)), i245)
f1816_0__init__InvokeMethod(EOS(STATIC_1816), i248, i248, NULL) → f1825_0__init__Load(EOS(STATIC_1825), i248, i248, NULL)
f1819_0__init__StackPop(EOS(STATIC_1819), i248, i248, java.lang.Object(ARRAY(i102)), i245) → f1828_0__init__Return(EOS(STATIC_1828), i248, i248, java.lang.Object(ARRAY(i102)), i245)
f1825_0__init__Load(EOS(STATIC_1825), i248, i248, NULL) → f1834_0__init__Load(EOS(STATIC_1834), i248, i248, NULL)
f1828_0__init__Return(EOS(STATIC_1828), i248, i248, java.lang.Object(ARRAY(i102)), i245) → f1836_0__init__Return(EOS(STATIC_1836), i248, i248, java.lang.Object(ARRAY(i102)), i245)
f1834_0__init__Load(EOS(STATIC_1834), i248, i248, NULL) → f1843_0__init__FieldAccess(EOS(STATIC_1843), i248, i248, NULL)
f1836_0__init__Return(EOS(STATIC_1836), i248, i248, java.lang.Object(ARRAY(i102)), i245) → f1845_0__init__Return(EOS(STATIC_1845), i248, i248, java.lang.Object(ARRAY(i102)), i245)
f1843_0__init__FieldAccess(EOS(STATIC_1843), i248, i248, NULL) → f1854_0__init__Load(EOS(STATIC_1854), i248, i248, NULL)
f1845_0__init__Return(EOS(STATIC_1845), i248, i248, java.lang.Object(ARRAY(i102)), i245) → f1855_0__init__Return(EOS(STATIC_1855), i248, i248, java.lang.Object(ARRAY(i102)), i245)
f1854_0__init__Load(EOS(STATIC_1854), i248, i248, NULL) → f1860_0__init__InvokeMethod(EOS(STATIC_1860), i248, i248, NULL)
f1855_0__init__Return(EOS(STATIC_1855), i248, i248, java.lang.Object(ARRAY(i102)), i245) → f1862_0__init__Return(EOS(STATIC_1862), i248, i248, java.lang.Object(ARRAY(i102)), i245)
f1860_0__init__InvokeMethod(EOS(STATIC_1860), i248, i248, NULL) → f1870_0__init__StackPop(EOS(STATIC_1870), i248, i248, NULL)
f1862_0__init__Return(EOS(STATIC_1862), i248, i248, java.lang.Object(ARRAY(i102)), i245) → f1872_0_random_ArrayAccess(EOS(STATIC_1872), i248, i248, java.lang.Object(ARRAY(i102)), i245)
f1870_0__init__StackPop(EOS(STATIC_1870), i248, i248, NULL) → f1879_0__init__Return(EOS(STATIC_1879), i248, i248, NULL)
f1872_0_random_ArrayAccess(EOS(STATIC_1872), i248, i248, java.lang.Object(ARRAY(i102)), i245) → f1881_0_createTree_InvokeMethod(EOS(STATIC_1881), i248, i248)
f1879_0__init__Return(EOS(STATIC_1879), i248, i248, NULL) → f1886_0__init__Return(EOS(STATIC_1886), i248, i248, NULL)
f1886_0__init__Return(EOS(STATIC_1886), i248, i248, NULL) → f1893_0__init__Return(EOS(STATIC_1893), i248, i248, NULL)
f1893_0__init__Return(EOS(STATIC_1893), i248, i248, NULL) → f1913_0__init__Return(EOS(STATIC_1913), i248, i248, NULL)
f1913_0__init__Return(EOS(STATIC_1913), i248, i248, NULL) → f1936_0_random_InvokeMethod(EOS(STATIC_1936), i248, i248, NULL)
f1936_0_random_InvokeMethod(EOS(STATIC_1936), i248, i248, NULL) → f1942_0_createTree_InvokeMethod(EOS(STATIC_1942), i248, i248)
f2329_0_createTree_Load(EOS(STATIC_2329), i248, i248, o678, i533) → f2338_0_createTree_LE(EOS(STATIC_2338), i248, i248, o678, i533, i533)
f2338_0_createTree_LE(EOS(STATIC_2338), i248, i248, o678, matching1, matching2) → f2340_0_createTree_LE(EOS(STATIC_2340), i248, i248, o678, 0, 0) | &&(=(matching1, 0), =(matching2, 0))
f2338_0_createTree_LE(EOS(STATIC_2338), i248, i248, o678, i544, i544) → f2342_0_createTree_LE(EOS(STATIC_2342), i248, i248, o678, i544, i544)
f2340_0_createTree_LE(EOS(STATIC_2340), i248, i248, o678, matching1, matching2) → f2348_0_createTree_New(EOS(STATIC_2348), i248, o678) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
f2342_0_createTree_LE(EOS(STATIC_2342), i248, i248, o678, i544, i544) → f2354_0_createTree_New(EOS(STATIC_2354), i248, i248, o678, i544) | >(i544, 0)
f2348_0_createTree_New(EOS(STATIC_2348), i248, o678) → f2372_0_createTree_Duplicate(EOS(STATIC_2372), i248, o678, java.lang.Object(MarkingGraphVisitor(EOC)))
f2354_0_createTree_New(EOS(STATIC_2354), i248, i248, o678, i544) → f2376_0_createTree_Duplicate(EOS(STATIC_2376), i248, i248, o678, i544, java.lang.Object(List(EOC)))
f2372_0_createTree_Duplicate(EOS(STATIC_2372), i248, o678, java.lang.Object(MarkingGraphVisitor(EOC))) → f2379_0_createTree_ConstantStackPush(EOS(STATIC_2379), i248, o678, java.lang.Object(MarkingGraphVisitor(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)))
f2376_0_createTree_Duplicate(EOS(STATIC_2376), i248, i248, o678, i544, java.lang.Object(List(EOC))) → f2380_0_createTree_Load(EOS(STATIC_2380), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)))
f2379_0_createTree_ConstantStackPush(EOS(STATIC_2379), i248, o678, java.lang.Object(MarkingGraphVisitor(EOC)), java.lang.Object(MarkingGraphVisitor(EOC))) → f2386_0_createTree_Load(EOS(STATIC_2386), i248, o678, java.lang.Object(MarkingGraphVisitor(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), NULL)
f2380_0_createTree_Load(EOS(STATIC_2380), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC))) → f2389_0_createTree_ConstantStackPush(EOS(STATIC_2389), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i248)
f2386_0_createTree_Load(EOS(STATIC_2386), i248, o678, java.lang.Object(MarkingGraphVisitor(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), NULL) → f2402_0_createTree_InvokeMethod(EOS(STATIC_2402), i248, java.lang.Object(MarkingGraphVisitor(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678)
f2389_0_createTree_ConstantStackPush(EOS(STATIC_2389), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i248) → f2403_0_createTree_IntArithmetic(EOS(STATIC_2403), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i248, 1)
f2402_0_createTree_InvokeMethod(EOS(STATIC_2402), i248, java.lang.Object(MarkingGraphVisitor(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678) → f2406_0__init__Load(EOS(STATIC_2406), i248, java.lang.Object(MarkingGraphVisitor(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678, java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678)
f2403_0_createTree_IntArithmetic(EOS(STATIC_2403), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i248, matching1) → f2409_0_createTree_InvokeMethod(EOS(STATIC_2409), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), -(i248, 1)) | &&(>(i248, 0), =(matching1, 1))
f2406_0__init__Load(EOS(STATIC_2406), i248, java.lang.Object(MarkingGraphVisitor(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678, java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678) → f2415_0__init__InvokeMethod(EOS(STATIC_2415), i248, java.lang.Object(MarkingGraphVisitor(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678, java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678, java.lang.Object(MarkingGraphVisitor(EOC)))
f2409_0_createTree_InvokeMethod(EOS(STATIC_2409), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i565) → f2414_1_createTree_InvokeMethod(f2414_0_createTree_Load(EOS(STATIC_2414), i565, i565), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i565)
f2414_0_createTree_Load(EOS(STATIC_2414), i565, i565) → f2419_0_createTree_Load(EOS(STATIC_2419), i565, i565)
f2415_0__init__InvokeMethod(EOS(STATIC_2415), i248, java.lang.Object(MarkingGraphVisitor(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678, java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678, java.lang.Object(MarkingGraphVisitor(EOC))) → f2426_0__init__Load(EOS(STATIC_2426), i248, java.lang.Object(MarkingGraphVisitor(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678, java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678)
f2426_0__init__Load(EOS(STATIC_2426), i248, java.lang.Object(MarkingGraphVisitor(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678, java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678) → f2437_0__init__ConstantStackPush(EOS(STATIC_2437), i248, java.lang.Object(MarkingGraphVisitor(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678, java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678, java.lang.Object(MarkingGraphVisitor(EOC)))
f2437_0__init__ConstantStackPush(EOS(STATIC_2437), i248, java.lang.Object(MarkingGraphVisitor(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678, java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678, java.lang.Object(MarkingGraphVisitor(EOC))) → f2467_0__init__FieldAccess(EOS(STATIC_2467), i248, java.lang.Object(MarkingGraphVisitor(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678, java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678, java.lang.Object(MarkingGraphVisitor(EOC)), 0)
f2467_0__init__FieldAccess(EOS(STATIC_2467), i248, java.lang.Object(MarkingGraphVisitor(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678, java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678, java.lang.Object(MarkingGraphVisitor(EOC)), matching1) → f2485_0__init__Load(EOS(STATIC_2485), i248, java.lang.Object(MarkingGraphVisitor(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678, java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678) | =(matching1, 0)
f2471_0_createTree_Return(EOS(STATIC_2471), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), matching1, matching2, NULL) → f2489_0_createTree_Load(EOS(STATIC_2489), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL) | &&(=(matching1, 0), =(matching2, 0))
f2473_0_createTree_InvokeMethod(EOS(STATIC_2473), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i614, i614) → f2483_0_createTree_InvokeMethod(EOS(STATIC_2483), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i614, i614)
f2482_0_createTree_InvokeMethod(EOS(STATIC_2482), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i621, i621) → f2483_0_createTree_InvokeMethod(EOS(STATIC_2483), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i621, i621)
f2483_0_createTree_InvokeMethod(EOS(STATIC_2483), i248, i248, o756, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i626, i626) → f2498_0_createTree_InvokeMethod(EOS(STATIC_2498), i248, i248, o756, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i626)
f2485_0__init__Load(EOS(STATIC_2485), i248, java.lang.Object(MarkingGraphVisitor(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678, java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678) → f2501_0__init__Load(EOS(STATIC_2501), i248, java.lang.Object(MarkingGraphVisitor(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678, java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678, java.lang.Object(MarkingGraphVisitor(EOC)))
f2489_0_createTree_Load(EOS(STATIC_2489), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL) → f2505_0_createTree_InvokeMethod(EOS(STATIC_2505), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678)
f2498_0_createTree_InvokeMethod(EOS(STATIC_2498), i248, i248, o756, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i626) → f2628_0_createTree_InvokeMethod(EOS(STATIC_2628), i248, i248, o756, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i626)
f2501_0__init__Load(EOS(STATIC_2501), i248, java.lang.Object(MarkingGraphVisitor(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678, java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678, java.lang.Object(MarkingGraphVisitor(EOC))) → f2511_0__init__FieldAccess(EOS(STATIC_2511), i248, java.lang.Object(MarkingGraphVisitor(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678, java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(MarkingGraphVisitor(EOC)), NULL)
f2505_0_createTree_InvokeMethod(EOS(STATIC_2505), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678) → f2519_0__init__Load(EOS(STATIC_2519), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC)), NULL, o678)
f2511_0__init__FieldAccess(EOS(STATIC_2511), i248, java.lang.Object(MarkingGraphVisitor(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678, java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(MarkingGraphVisitor(EOC)), NULL) → f2571_0__init__Load(EOS(STATIC_2571), i248, java.lang.Object(MarkingGraphVisitor(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678, java.lang.Object(MarkingGraphVisitor(EOC)), o678)
f2519_0__init__Load(EOS(STATIC_2519), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC)), NULL, o678) → f2614_0__init__InvokeMethod(EOS(STATIC_2614), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC)))
f2571_0__init__Load(EOS(STATIC_2571), i248, java.lang.Object(MarkingGraphVisitor(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678, java.lang.Object(MarkingGraphVisitor(EOC)), o678) → f2601_0__init__Load(EOS(STATIC_2601), i248, java.lang.Object(MarkingGraphVisitor(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678, o678, java.lang.Object(MarkingGraphVisitor(EOC)))
f2598_0_createTree_InvokeMethod(EOS(STATIC_2598), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i706, i706, o809, i695, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i694) → f2628_0_createTree_InvokeMethod(EOS(STATIC_2628), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i706)
f2601_0__init__Load(EOS(STATIC_2601), i248, java.lang.Object(MarkingGraphVisitor(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678, o678, java.lang.Object(MarkingGraphVisitor(EOC))) → f2631_0__init__FieldAccess(EOS(STATIC_2631), i248, java.lang.Object(MarkingGraphVisitor(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678, java.lang.Object(MarkingGraphVisitor(EOC)), o678)
f2614_0__init__InvokeMethod(EOS(STATIC_2614), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC))) → f2636_0__init__Load(EOS(STATIC_2636), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC)), NULL, o678)
f2631_0__init__FieldAccess(EOS(STATIC_2631), i248, java.lang.Object(MarkingGraphVisitor(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678, java.lang.Object(MarkingGraphVisitor(EOC)), o678) → f2648_0__init__Return(EOS(STATIC_2648), i248, java.lang.Object(MarkingGraphVisitor(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678)
f2636_0__init__Load(EOS(STATIC_2636), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC)), NULL, o678) → f2652_0__init__Load(EOS(STATIC_2652), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC)))
f2648_0__init__Return(EOS(STATIC_2648), i248, java.lang.Object(MarkingGraphVisitor(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), NULL, o678) → f2698_0_createTree_Return(EOS(STATIC_2698), i248, java.lang.Object(MarkingGraphVisitor(EOC)))
f2652_0__init__Load(EOS(STATIC_2652), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC))) → f2706_0__init__FieldAccess(EOS(STATIC_2706), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC)), o678, java.lang.Object(List(EOC)), NULL)
f2706_0__init__FieldAccess(EOS(STATIC_2706), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC)), o678, java.lang.Object(List(EOC)), NULL) → f2734_0__init__Load(EOS(STATIC_2734), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC)), o678)
f2720_0_createTree_InvokeMethod(EOS(STATIC_2720), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i778, i778, o865, i772, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i771) → f2598_0_createTree_InvokeMethod(EOS(STATIC_2598), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i778, i778, o865, i772, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i771)
f2734_0__init__Load(EOS(STATIC_2734), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC)), o678) → f2774_0__init__Load(EOS(STATIC_2774), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678, o678, java.lang.Object(List(EOC)))
f2774_0__init__Load(EOS(STATIC_2774), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678, o678, java.lang.Object(List(EOC))) → f2787_0__init__FieldAccess(EOS(STATIC_2787), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC)), o678)
f2778_0_createTree_Return(EOS(STATIC_2778), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i833, java.lang.Object(MarkingGraphVisitor(EOC))) → f2802_0_createTree_Load(EOS(STATIC_2802), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)))
f2787_0__init__FieldAccess(EOS(STATIC_2787), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678, java.lang.Object(List(EOC)), o678) → f2805_0__init__Return(EOS(STATIC_2805), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678)
f2802_0_createTree_Load(EOS(STATIC_2802), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC))) → f2808_0_createTree_InvokeMethod(EOS(STATIC_2808), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678)
f2805_0__init__Return(EOS(STATIC_2805), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), NULL, o678) → f2810_0_createTree_Store(EOS(STATIC_2810), i248, i248, i544, java.lang.Object(List(EOC)))
f2808_0_createTree_InvokeMethod(EOS(STATIC_2808), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678) → f2812_0__init__Load(EOS(STATIC_2812), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678)
f2810_0_createTree_Store(EOS(STATIC_2810), i248, i248, i544, java.lang.Object(List(EOC))) → f2816_0_createTree_Inc(EOS(STATIC_2816), i248, i248, java.lang.Object(List(EOC)), i544)
f2812_0__init__Load(EOS(STATIC_2812), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678) → f2824_0__init__InvokeMethod(EOS(STATIC_2824), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC)))
f2816_0_createTree_Inc(EOS(STATIC_2816), i248, i248, java.lang.Object(List(EOC)), i544) → f2822_0_createTree_JMP(EOS(STATIC_2822), i248, i248, java.lang.Object(List(EOC)), +(i544, -1)) | >(i544, 0)
f2822_0_createTree_JMP(EOS(STATIC_2822), i248, i248, java.lang.Object(List(EOC)), i850) → f2829_0_createTree_Load(EOS(STATIC_2829), i248, i248, java.lang.Object(List(EOC)), i850)
f2824_0__init__InvokeMethod(EOS(STATIC_2824), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC))) → f2838_0__init__Load(EOS(STATIC_2838), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678)
f2829_0_createTree_Load(EOS(STATIC_2829), i248, i248, java.lang.Object(List(EOC)), i850) → f2329_0_createTree_Load(EOS(STATIC_2329), i248, i248, java.lang.Object(List(EOC)), i850)
f2838_0__init__Load(EOS(STATIC_2838), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678) → f2843_0__init__Load(EOS(STATIC_2843), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC)))
f2843_0__init__Load(EOS(STATIC_2843), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC))) → f2850_0__init__FieldAccess(EOS(STATIC_2850), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC)), o678, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)))
f2850_0__init__FieldAccess(EOS(STATIC_2850), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC)), o678, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC))) → f2858_0__init__Load(EOS(STATIC_2858), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC)), o678)
f2858_0__init__Load(EOS(STATIC_2858), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC)), o678) → f2865_0__init__Load(EOS(STATIC_2865), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, o678, java.lang.Object(List(EOC)))
f2865_0__init__Load(EOS(STATIC_2865), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, o678, java.lang.Object(List(EOC))) → f2868_0__init__FieldAccess(EOS(STATIC_2868), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC)), o678)
f2868_0__init__FieldAccess(EOS(STATIC_2868), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678, java.lang.Object(List(EOC)), o678) → f2876_0__init__Return(EOS(STATIC_2876), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678)
f2876_0__init__Return(EOS(STATIC_2876), i248, i248, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC)), o678) → f2879_0_createTree_Store(EOS(STATIC_2879), i248, i248, i544, java.lang.Object(List(EOC)))
f2879_0_createTree_Store(EOS(STATIC_2879), i248, i248, i544, java.lang.Object(List(EOC))) → f2885_0_createTree_Inc(EOS(STATIC_2885), i248, i248, java.lang.Object(List(EOC)), i544)
f2885_0_createTree_Inc(EOS(STATIC_2885), i248, i248, java.lang.Object(List(EOC)), i544) → f2889_0_createTree_JMP(EOS(STATIC_2889), i248, i248, java.lang.Object(List(EOC)), +(i544, -1)) | >(i544, 0)
f2889_0_createTree_JMP(EOS(STATIC_2889), i248, i248, java.lang.Object(List(EOC)), i887) → f2899_0_createTree_Load(EOS(STATIC_2899), i248, i248, java.lang.Object(List(EOC)), i887)
f2899_0_createTree_Load(EOS(STATIC_2899), i248, i248, java.lang.Object(List(EOC)), i887) → f2329_0_createTree_Load(EOS(STATIC_2329), i248, i248, java.lang.Object(List(EOC)), i887)
f2419_0_createTree_Load(EOS(STATIC_2419), i565, i565) → f1686_0_createTree_Load(EOS(STATIC_1686), i565, i565)
f2414_1_createTree_InvokeMethod(f1697_0_createTree_Return(EOS(STATIC_1697), matching1, matching2, NULL), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), matching3) → f2471_0_createTree_Return(EOS(STATIC_2471), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), 0, 0, NULL) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
f2414_1_createTree_InvokeMethod(f1881_0_createTree_InvokeMethod(EOS(STATIC_1881), i614, i614), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i614) → f2473_0_createTree_InvokeMethod(EOS(STATIC_2473), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i614, i614)
f2414_1_createTree_InvokeMethod(f1942_0_createTree_InvokeMethod(EOS(STATIC_1942), i621, i621), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i621) → f2482_0_createTree_InvokeMethod(EOS(STATIC_2482), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i621, i621)
f2414_1_createTree_InvokeMethod(f2498_0_createTree_InvokeMethod(EOS(STATIC_2498), i706, i706, o809, i695, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i694), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i706) → f2598_0_createTree_InvokeMethod(EOS(STATIC_2598), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i706, i706, o809, i695, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i694)
f2414_1_createTree_InvokeMethod(f2628_0_createTree_InvokeMethod(EOS(STATIC_2628), i778, i778, o865, i772, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i771), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i778) → f2720_0_createTree_InvokeMethod(EOS(STATIC_2720), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i778, i778, o865, i772, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i771)
f2414_1_createTree_InvokeMethod(f2698_0_createTree_Return(EOS(STATIC_2698), i833, java.lang.Object(MarkingGraphVisitor(EOC))), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i833) → f2778_0_createTree_Return(EOS(STATIC_2778), i248, i248, o678, i544, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), i833, java.lang.Object(MarkingGraphVisitor(EOC)))

Combined rules. Obtained 3 conditional rules for P and 12 conditional rules for R.


P rules:
f1688_0_createTree_GT(EOS(STATIC_1688), x0, x0, x0) → f2414_1_createTree_InvokeMethod(f1688_0_createTree_GT(EOS(STATIC_1688), -(x0, 1), -(x0, 1), -(x0, 1)), x0, x0, NULL, x1, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), -(x0, 1)) | &&(>(x1, 0), >(x0, 0))
f2414_1_createTree_InvokeMethod(f1697_0_createTree_Return(EOS(STATIC_1697), 0, 0, NULL), x2, x2, x3, x4, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), 0) → f2414_1_createTree_InvokeMethod(f1688_0_createTree_GT(EOS(STATIC_1688), -(x2, 1), -(x2, 1), -(x2, 1)), x2, x2, java.lang.Object(List(EOC)), -(x4, 1), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), -(x2, 1)) | &&(>(x2, 0), >(x4, 1))
f2414_1_createTree_InvokeMethod(f2698_0_createTree_Return(EOS(STATIC_2698), x0, java.lang.Object(MarkingGraphVisitor(EOC))), x1, x1, x2, x3, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), x0) → f2414_1_createTree_InvokeMethod(f1688_0_createTree_GT(EOS(STATIC_1688), -(x1, 1), -(x1, 1), -(x1, 1)), x1, x1, java.lang.Object(List(EOC)), -(x3, 1), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), -(x1, 1)) | &&(>(x1, 0), >(x3, 1))
R rules:
f1688_0_createTree_GT(EOS(STATIC_1688), 0, 0, 0) → f1697_0_createTree_Return(EOS(STATIC_1697), 0, 0, NULL)
f1688_0_createTree_GT(EOS(STATIC_1688), x0, x0, x0) → f2338_0_createTree_LE(EOS(STATIC_2338), x0, x0, NULL, x1, x1) | &&(>(x0, 0), >(+(x1, 1), 0))
f1688_0_createTree_GT(EOS(STATIC_1688), x0, x0, x0) → f1881_0_createTree_InvokeMethod(EOS(STATIC_1881), x0, x0) | >(x0, 0)
f1688_0_createTree_GT(EOS(STATIC_1688), x0, x0, x0) → f1942_0_createTree_InvokeMethod(EOS(STATIC_1942), x0, x0) | >(x0, 0)
f2338_0_createTree_LE(EOS(STATIC_2338), x0, x0, x1, 0, 0) → f2698_0_createTree_Return(EOS(STATIC_2698), x0, java.lang.Object(MarkingGraphVisitor(EOC)))
f2414_1_createTree_InvokeMethod(f2498_0_createTree_InvokeMethod(EOS(STATIC_2498), x0, x0, x1, x2, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), x3), x4, x4, x5, x6, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), x0) → f2628_0_createTree_InvokeMethod(EOS(STATIC_2628), x4, x4, x5, x6, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), x0)
f2338_0_createTree_LE(EOS(STATIC_2338), x0, x0, x1, x2, x2) → f2414_1_createTree_InvokeMethod(f1688_0_createTree_GT(EOS(STATIC_1688), -(x0, 1), -(x0, 1), -(x0, 1)), x0, x0, x1, x2, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), -(x0, 1)) | &&(>(x0, 0), >(x2, 0))
f2414_1_createTree_InvokeMethod(f1697_0_createTree_Return(EOS(STATIC_1697), 0, 0, NULL), x2, x2, x3, x4, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), 0) → f2338_0_createTree_LE(EOS(STATIC_2338), x2, x2, java.lang.Object(List(EOC)), -(x4, 1), -(x4, 1)) | >(x4, 0)
f2414_1_createTree_InvokeMethod(f1881_0_createTree_InvokeMethod(EOS(STATIC_1881), x0, x0), x1, x1, x2, x3, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), x0) → f2628_0_createTree_InvokeMethod(EOS(STATIC_2628), x1, x1, x2, x3, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), x0)
f2414_1_createTree_InvokeMethod(f1942_0_createTree_InvokeMethod(EOS(STATIC_1942), x0, x0), x1, x1, x2, x3, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), x0) → f2628_0_createTree_InvokeMethod(EOS(STATIC_2628), x1, x1, x2, x3, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), x0)
f2414_1_createTree_InvokeMethod(f2628_0_createTree_InvokeMethod(EOS(STATIC_2628), x0, x0, x1, x2, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), x3), x4, x4, x5, x6, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), x0) → f2628_0_createTree_InvokeMethod(EOS(STATIC_2628), x4, x4, x5, x6, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), x0)
f2414_1_createTree_InvokeMethod(f2698_0_createTree_Return(EOS(STATIC_2698), x0, java.lang.Object(MarkingGraphVisitor(EOC))), x1, x1, x2, x3, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), x0) → f2338_0_createTree_LE(EOS(STATIC_2338), x1, x1, java.lang.Object(List(EOC)), -(x3, 1), -(x3, 1)) | >(x3, 0)

Filtered ground terms:



f1688_0_createTree_GT(x1, x2, x3, x4) → f1688_0_createTree_GT(x2, x3, x4)
Cond_f1688_0_createTree_GT(x1, x2, x3, x4, x5, x6) → Cond_f1688_0_createTree_GT(x1, x3, x4, x5, x6)
f2414_1_createTree_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8) → f2414_1_createTree_InvokeMethod(x1, x2, x3, x4, x5, x8)
Cond_f2414_1_createTree_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_f2414_1_createTree_InvokeMethod(x1, x3, x4, x5, x6)
Cond_f2414_1_createTree_InvokeMethod1(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_f2414_1_createTree_InvokeMethod1(x1, x2, x3, x4, x5, x6, x9)
List(x1) → List
f1697_0_createTree_Return(x1, x2, x3, x4) → f1697_0_createTree_Return
f2698_0_createTree_Return(x1, x2, x3) → f2698_0_createTree_Return(x2)
MarkingGraphVisitor(x1) → MarkingGraphVisitor
f2338_0_createTree_LE(x1, x2, x3, x4, x5, x6) → f2338_0_createTree_LE(x2, x3, x4, x5, x6)
Cond_f1688_0_createTree_GT1(x1, x2, x3, x4, x5) → Cond_f1688_0_createTree_GT1(x1, x3, x4, x5)
f1881_0_createTree_InvokeMethod(x1, x2, x3) → f1881_0_createTree_InvokeMethod(x2, x3)
Cond_f1688_0_createTree_GT2(x1, x2, x3, x4, x5) → Cond_f1688_0_createTree_GT2(x1, x3, x4, x5)
f1942_0_createTree_InvokeMethod(x1, x2, x3) → f1942_0_createTree_InvokeMethod(x2, x3)
f2628_0_createTree_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8) → f2628_0_createTree_InvokeMethod(x2, x3, x4, x5, x8)
Cond_f2338_0_createTree_LE(x1, x2, x3, x4, x5, x6, x7) → Cond_f2338_0_createTree_LE(x1, x3, x4, x5, x6, x7)
f2498_0_createTree_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8) → f2498_0_createTree_InvokeMethod(x2, x3, x4, x5, x8)

Filtered unneeded arguments:



f2414_1_createTree_InvokeMethod(x1, x2, x3, x4, x5, x6) → f2414_1_createTree_InvokeMethod(x1, x2, x3, x5, x6)
Cond_f2414_1_createTree_InvokeMethod(x1, x2, x3, x4, x5) → Cond_f2414_1_createTree_InvokeMethod(x1, x2, x3, x5)
Cond_f2414_1_createTree_InvokeMethod1(x1, x2, x3, x4, x5, x6, x7) → Cond_f2414_1_createTree_InvokeMethod1(x1, x3, x4, x6)
f2338_0_createTree_LE(x1, x2, x3, x4, x5) → f2338_0_createTree_LE(x1, x2, x4, x5)
f2498_0_createTree_InvokeMethod(x1, x2, x3, x4, x5) → f2498_0_createTree_InvokeMethod(x1, x2)
Cond_f2338_0_createTree_LE(x1, x2, x3, x4, x5, x6) → Cond_f2338_0_createTree_LE(x1, x2, x3, x5, x6)
f2628_0_createTree_InvokeMethod(x1, x2, x3, x4, x5) → f2628_0_createTree_InvokeMethod(x1, x2)

Filtered duplicate args:



f1688_0_createTree_GT(x1, x2, x3) → f1688_0_createTree_GT(x3)
Cond_f1688_0_createTree_GT(x1, x2, x3, x4, x5) → Cond_f1688_0_createTree_GT(x1, x4, x5)
f2414_1_createTree_InvokeMethod(x1, x2, x3, x4, x5) → f2414_1_createTree_InvokeMethod(x1, x3, x4, x5)
Cond_f2414_1_createTree_InvokeMethod(x1, x2, x3, x4) → Cond_f2414_1_createTree_InvokeMethod(x1, x3, x4)
Cond_f2414_1_createTree_InvokeMethod1(x1, x2, x3, x4) → Cond_f2414_1_createTree_InvokeMethod1(x1, x3, x4)
f2338_0_createTree_LE(x1, x2, x3, x4) → f2338_0_createTree_LE(x2, x4)
Cond_f1688_0_createTree_GT1(x1, x2, x3, x4) → Cond_f1688_0_createTree_GT1(x1, x4)
f1881_0_createTree_InvokeMethod(x1, x2) → f1881_0_createTree_InvokeMethod(x2)
Cond_f1688_0_createTree_GT2(x1, x2, x3, x4) → Cond_f1688_0_createTree_GT2(x1, x4)
f1942_0_createTree_InvokeMethod(x1, x2) → f1942_0_createTree_InvokeMethod(x2)
f2498_0_createTree_InvokeMethod(x1, x2) → f2498_0_createTree_InvokeMethod(x2)
f2628_0_createTree_InvokeMethod(x1, x2) → f2628_0_createTree_InvokeMethod(x2)
Cond_f2338_0_createTree_LE(x1, x2, x3, x4, x5) → Cond_f2338_0_createTree_LE(x1, x3, x5)

Filtered unneeded arguments:



Cond_f1688_0_createTree_GT1(x1, x2) → Cond_f1688_0_createTree_GT1(x1)
Cond_f1688_0_createTree_GT2(x1, x2) → Cond_f1688_0_createTree_GT2(x1)

Combined rules. Obtained 6 conditional rules for P and 12 conditional rules for R.


P rules:
F1688_0_CREATETREE_GT(x0) → F2414_1_CREATETREE_INVOKEMETHOD(f1688_0_createTree_GT(-(x0, 1)), x0, x1, -(x0, 1)) | &&(>(x0, 0), >(x1, 0))
F1688_0_CREATETREE_GT(x0) → F1688_0_CREATETREE_GT(-(x0, 1)) | &&(>(x0, 0), >(x1, 0))
F2414_1_CREATETREE_INVOKEMETHOD(f1697_0_createTree_Return, x2, x4, 0) → F2414_1_CREATETREE_INVOKEMETHOD(f1688_0_createTree_GT(-(x2, 1)), x2, -(x4, 1), -(x2, 1)) | &&(>(x2, 0), >(x4, 1))
F2414_1_CREATETREE_INVOKEMETHOD(f1697_0_createTree_Return, x2, x4, 0) → F1688_0_CREATETREE_GT(-(x2, 1)) | &&(>(x2, 0), >(x4, 1))
F2414_1_CREATETREE_INVOKEMETHOD(f2698_0_createTree_Return(x0), x1, x3, x0) → F2414_1_CREATETREE_INVOKEMETHOD(f1688_0_createTree_GT(-(x1, 1)), x1, -(x3, 1), -(x1, 1)) | &&(>(x1, 0), >(x3, 1))
F2414_1_CREATETREE_INVOKEMETHOD(f2698_0_createTree_Return(x0), x1, x3, x0) → F1688_0_CREATETREE_GT(-(x1, 1)) | &&(>(x1, 0), >(x3, 1))
R rules:
f1688_0_createTree_GT(0) → f1697_0_createTree_Return
f1688_0_createTree_GT(x0) → f2338_0_createTree_LE(x0, x1) | &&(>(x0, 0), >(x1, -1))
f1688_0_createTree_GT(x0) → f1881_0_createTree_InvokeMethod(x0) | >(x0, 0)
f1688_0_createTree_GT(x0) → f1942_0_createTree_InvokeMethod(x0) | >(x0, 0)
f2338_0_createTree_LE(x0, 0) → f2698_0_createTree_Return(x0)
f2338_0_createTree_LE(x0, x2) → f2414_1_createTree_InvokeMethod(f1688_0_createTree_GT(-(x0, 1)), x0, x2, -(x0, 1)) | &&(>(x0, 0), >(x2, 0))
f2414_1_createTree_InvokeMethod(f1697_0_createTree_Return, x2, x4, 0) → f2338_0_createTree_LE(x2, -(x4, 1)) | >(x4, 0)
f2414_1_createTree_InvokeMethod(f1881_0_createTree_InvokeMethod(x0), x1, x3, x0) → f2628_0_createTree_InvokeMethod(x1)
f2414_1_createTree_InvokeMethod(f1942_0_createTree_InvokeMethod(x0), x1, x3, x0) → f2628_0_createTree_InvokeMethod(x1)
f2414_1_createTree_InvokeMethod(f2628_0_createTree_InvokeMethod(x0), x4, x6, x0) → f2628_0_createTree_InvokeMethod(x4)
f2414_1_createTree_InvokeMethod(f2698_0_createTree_Return(x0), x1, x3, x0) → f2338_0_createTree_LE(x1, -(x3, 1)) | >(x3, 0)
f2414_1_createTree_InvokeMethod(f2498_0_createTree_InvokeMethod(x0), x4, x6, x0) → f2628_0_createTree_InvokeMethod(x4)

Finished conversion. Obtained 12 rules for P and 18 rules for R. System has predefined symbols.


P rules:
F1688_0_CREATETREE_GT'(x0) → COND_F1688_0_CREATETREE_GT(&&(>(x0, 0), >(x1, 0)), x0, x1)
COND_F1688_0_CREATETREE_GT(TRUE, x0, x1) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x0, 1)), x0, x1, -(x0, 1))
F1688_0_CREATETREE_GT'(x0) → COND_F1688_0_CREATETREE_GT1(>(x0, 0), x0)
COND_F1688_0_CREATETREE_GT1(TRUE, x0) → F1688_0_CREATETREE_GT'(-(x0, 1))
F2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2, x4, 0) → COND_F2414_1_CREATETREE_INVOKEMETHOD(&&(>(x2, 0), >(x4, 1)), f1697_0_createTree_Return, x2, x4, 0)
COND_F2414_1_CREATETREE_INVOKEMETHOD(TRUE, f1697_0_createTree_Return, x2, x4, 0) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x2, 1)), x2, -(x4, 1), -(x2, 1))
F2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2, x4, 0) → COND_F2414_1_CREATETREE_INVOKEMETHOD1(&&(>(x2, 0), >(x4, 1)), f1697_0_createTree_Return, x2, x4, 0)
COND_F2414_1_CREATETREE_INVOKEMETHOD1(TRUE, f1697_0_createTree_Return, x2, x4, 0) → F1688_0_CREATETREE_GT'(-(x2, 1))
F2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0), x1, x3, x0) → COND_F2414_1_CREATETREE_INVOKEMETHOD2(&&(>(x1, 0), >(x3, 1)), f2698_0_createTree_Return(x0), x1, x3, x0)
COND_F2414_1_CREATETREE_INVOKEMETHOD2(TRUE, f2698_0_createTree_Return(x0), x1, x3, x0) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x1, 1)), x1, -(x3, 1), -(x1, 1))
F2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0), x1, x3, x0) → COND_F2414_1_CREATETREE_INVOKEMETHOD3(&&(>(x1, 0), >(x3, 1)), f2698_0_createTree_Return(x0), x1, x3, x0)
COND_F2414_1_CREATETREE_INVOKEMETHOD3(TRUE, f2698_0_createTree_Return(x0), x1, x3, x0) → F1688_0_CREATETREE_GT'(-(x1, 1))
R rules:
f1688_0_createTree_GT(0) → f1697_0_createTree_Return
f1688_0_createTree_GT(x0) → Cond_f1688_0_createTree_GT(&&(>(x0, 0), >(x1, -1)), x0, x1)
Cond_f1688_0_createTree_GT(TRUE, x0, x1) → f2338_0_createTree_LE(x0, x1)
f1688_0_createTree_GT(x0) → Cond_f1688_0_createTree_GT1(>(x0, 0), x0)
Cond_f1688_0_createTree_GT1(TRUE, x0) → f1881_0_createTree_InvokeMethod(x0)
f1688_0_createTree_GT(x0) → Cond_f1688_0_createTree_GT2(>(x0, 0), x0)
Cond_f1688_0_createTree_GT2(TRUE, x0) → f1942_0_createTree_InvokeMethod(x0)
f2338_0_createTree_LE(x0, 0) → f2698_0_createTree_Return(x0)
f2338_0_createTree_LE(x0, x2) → Cond_f2338_0_createTree_LE(&&(>(x0, 0), >(x2, 0)), x0, x2)
Cond_f2338_0_createTree_LE(TRUE, x0, x2) → f2414_1_createTree_InvokeMethod(f1688_0_createTree_GT(-(x0, 1)), x0, x2, -(x0, 1))
f2414_1_createTree_InvokeMethod(f1697_0_createTree_Return, x2, x4, 0) → Cond_f2414_1_createTree_InvokeMethod(>(x4, 0), f1697_0_createTree_Return, x2, x4, 0)
Cond_f2414_1_createTree_InvokeMethod(TRUE, f1697_0_createTree_Return, x2, x4, 0) → f2338_0_createTree_LE(x2, -(x4, 1))
f2414_1_createTree_InvokeMethod(f1881_0_createTree_InvokeMethod(x0), x1, x3, x0) → f2628_0_createTree_InvokeMethod(x1)
f2414_1_createTree_InvokeMethod(f1942_0_createTree_InvokeMethod(x0), x1, x3, x0) → f2628_0_createTree_InvokeMethod(x1)
f2414_1_createTree_InvokeMethod(f2628_0_createTree_InvokeMethod(x0), x4, x6, x0) → f2628_0_createTree_InvokeMethod(x4)
f2414_1_createTree_InvokeMethod(f2698_0_createTree_Return(x0), x1, x3, x0) → Cond_f2414_1_createTree_InvokeMethod1(>(x3, 0), f2698_0_createTree_Return(x0), x1, x3, x0)
Cond_f2414_1_createTree_InvokeMethod1(TRUE, f2698_0_createTree_Return(x0), x1, x3, x0) → f2338_0_createTree_LE(x1, -(x3, 1))
f2414_1_createTree_InvokeMethod(f2498_0_createTree_InvokeMethod(x0), x4, x6, x0) → f2628_0_createTree_InvokeMethod(x4)

(39) 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


The ITRS R consists of the following rules:
f1688_0_createTree_GT(0) → f1697_0_createTree_Return
f1688_0_createTree_GT(x0) → Cond_f1688_0_createTree_GT(x0 > 0 && x1 > -1, x0, x1)
Cond_f1688_0_createTree_GT(TRUE, x0, x1) → f2338_0_createTree_LE(x0, x1)
f1688_0_createTree_GT(x0) → Cond_f1688_0_createTree_GT1(x0 > 0, x0)
Cond_f1688_0_createTree_GT1(TRUE, x0) → f1881_0_createTree_InvokeMethod(x0)
f1688_0_createTree_GT(x0) → Cond_f1688_0_createTree_GT2(x0 > 0, x0)
Cond_f1688_0_createTree_GT2(TRUE, x0) → f1942_0_createTree_InvokeMethod(x0)
f2338_0_createTree_LE(x0, 0) → f2698_0_createTree_Return(x0)
f2338_0_createTree_LE(x0, x2) → Cond_f2338_0_createTree_LE(x0 > 0 && x2 > 0, x0, x2)
Cond_f2338_0_createTree_LE(TRUE, x0, x2) → f2414_1_createTree_InvokeMethod(f1688_0_createTree_GT(x0 - 1), x0, x2, x0 - 1)
f2414_1_createTree_InvokeMethod(f1697_0_createTree_Return, x2, x4, 0) → Cond_f2414_1_createTree_InvokeMethod(x4 > 0, f1697_0_createTree_Return, x2, x4, 0)
Cond_f2414_1_createTree_InvokeMethod(TRUE, f1697_0_createTree_Return, x2, x4, 0) → f2338_0_createTree_LE(x2, x4 - 1)
f2414_1_createTree_InvokeMethod(f1881_0_createTree_InvokeMethod(x0), x1, x3, x0) → f2628_0_createTree_InvokeMethod(x1)
f2414_1_createTree_InvokeMethod(f1942_0_createTree_InvokeMethod(x0), x1, x3, x0) → f2628_0_createTree_InvokeMethod(x1)
f2414_1_createTree_InvokeMethod(f2628_0_createTree_InvokeMethod(x0), x4, x6, x0) → f2628_0_createTree_InvokeMethod(x4)
f2414_1_createTree_InvokeMethod(f2698_0_createTree_Return(x0), x1, x3, x0) → Cond_f2414_1_createTree_InvokeMethod1(x3 > 0, f2698_0_createTree_Return(x0), x1, x3, x0)
Cond_f2414_1_createTree_InvokeMethod1(TRUE, f2698_0_createTree_Return(x0), x1, x3, x0) → f2338_0_createTree_LE(x1, x3 - 1)
f2414_1_createTree_InvokeMethod(f2498_0_createTree_InvokeMethod(x0), x4, x6, x0) → f2628_0_createTree_InvokeMethod(x4)

The integer pair graph contains the following rules and edges:
(0): F1688_0_CREATETREE_GT'(x0[0]) → COND_F1688_0_CREATETREE_GT(x0[0] > 0 && x1[0] > 0, x0[0], x1[0])
(1): COND_F1688_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(x0[1] - 1), x0[1], x1[1], x0[1] - 1)
(2): F1688_0_CREATETREE_GT'(x0[2]) → COND_F1688_0_CREATETREE_GT1(x0[2] > 0, x0[2])
(3): COND_F1688_0_CREATETREE_GT1(TRUE, x0[3]) → F1688_0_CREATETREE_GT'(x0[3] - 1)
(4): F2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2[4], x4[4], 0) → COND_F2414_1_CREATETREE_INVOKEMETHOD(x2[4] > 0 && x4[4] > 1, f1697_0_createTree_Return, x2[4], x4[4], 0)
(5): COND_F2414_1_CREATETREE_INVOKEMETHOD(TRUE, f1697_0_createTree_Return, x2[5], x4[5], 0) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(x2[5] - 1), x2[5], x4[5] - 1, x2[5] - 1)
(6): F2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2[6], x4[6], 0) → COND_F2414_1_CREATETREE_INVOKEMETHOD1(x2[6] > 0 && x4[6] > 1, f1697_0_createTree_Return, x2[6], x4[6], 0)
(7): COND_F2414_1_CREATETREE_INVOKEMETHOD1(TRUE, f1697_0_createTree_Return, x2[7], x4[7], 0) → F1688_0_CREATETREE_GT'(x2[7] - 1)
(8): F2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8]) → COND_F2414_1_CREATETREE_INVOKEMETHOD2(x1[8] > 0 && x3[8] > 1, f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])
(9): COND_F2414_1_CREATETREE_INVOKEMETHOD2(TRUE, f2698_0_createTree_Return(x0[9]), x1[9], x3[9], x0[9]) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(x1[9] - 1), x1[9], x3[9] - 1, x1[9] - 1)
(10): F2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0[10]), x1[10], x3[10], x0[10]) → COND_F2414_1_CREATETREE_INVOKEMETHOD3(x1[10] > 0 && x3[10] > 1, f2698_0_createTree_Return(x0[10]), x1[10], x3[10], x0[10])
(11): COND_F2414_1_CREATETREE_INVOKEMETHOD3(TRUE, f2698_0_createTree_Return(x0[11]), x1[11], x3[11], x0[11]) → F1688_0_CREATETREE_GT'(x1[11] - 1)

(0) -> (1), if (x0[0] > 0 && x1[0] > 0x0[0]* x0[1]x1[0]* x1[1])


(1) -> (4), if (f1688_0_createTree_GT(x0[1] - 1) →* f1697_0_createTree_Returnx0[1]* x2[4]x1[1]* x4[4]x0[1] - 1* 0)


(1) -> (6), if (f1688_0_createTree_GT(x0[1] - 1) →* f1697_0_createTree_Returnx0[1]* x2[6]x1[1]* x4[6]x0[1] - 1* 0)


(1) -> (8), if (f1688_0_createTree_GT(x0[1] - 1) →* f2698_0_createTree_Return(x0[8])∧x0[1]* x1[8]x1[1]* x3[8]x0[1] - 1* x0[8])


(1) -> (10), if (f1688_0_createTree_GT(x0[1] - 1) →* f2698_0_createTree_Return(x0[10])∧x0[1]* x1[10]x1[1]* x3[10]x0[1] - 1* x0[10])


(2) -> (3), if (x0[2] > 0x0[2]* x0[3])


(3) -> (0), if (x0[3] - 1* x0[0])


(3) -> (2), if (x0[3] - 1* x0[2])


(4) -> (5), if (x2[4] > 0 && x4[4] > 1x2[4]* x2[5]x4[4]* x4[5])


(5) -> (4), if (f1688_0_createTree_GT(x2[5] - 1) →* f1697_0_createTree_Returnx2[5]* x2[4]x4[5] - 1* x4[4]x2[5] - 1* 0)


(5) -> (6), if (f1688_0_createTree_GT(x2[5] - 1) →* f1697_0_createTree_Returnx2[5]* x2[6]x4[5] - 1* x4[6]x2[5] - 1* 0)


(5) -> (8), if (f1688_0_createTree_GT(x2[5] - 1) →* f2698_0_createTree_Return(x0[8])∧x2[5]* x1[8]x4[5] - 1* x3[8]x2[5] - 1* x0[8])


(5) -> (10), if (f1688_0_createTree_GT(x2[5] - 1) →* f2698_0_createTree_Return(x0[10])∧x2[5]* x1[10]x4[5] - 1* x3[10]x2[5] - 1* x0[10])


(6) -> (7), if (x2[6] > 0 && x4[6] > 1x2[6]* x2[7]x4[6]* x4[7])


(7) -> (0), if (x2[7] - 1* x0[0])


(7) -> (2), if (x2[7] - 1* x0[2])


(8) -> (9), if (x1[8] > 0 && x3[8] > 1f2698_0_createTree_Return(x0[8]) →* f2698_0_createTree_Return(x0[9])∧x1[8]* x1[9]x3[8]* x3[9]x0[8]* x0[9])


(9) -> (4), if (f1688_0_createTree_GT(x1[9] - 1) →* f1697_0_createTree_Returnx1[9]* x2[4]x3[9] - 1* x4[4]x1[9] - 1* 0)


(9) -> (6), if (f1688_0_createTree_GT(x1[9] - 1) →* f1697_0_createTree_Returnx1[9]* x2[6]x3[9] - 1* x4[6]x1[9] - 1* 0)


(9) -> (8), if (f1688_0_createTree_GT(x1[9] - 1) →* f2698_0_createTree_Return(x0[8])∧x1[9]* x1[8]x3[9] - 1* x3[8]x1[9] - 1* x0[8])


(9) -> (10), if (f1688_0_createTree_GT(x1[9] - 1) →* f2698_0_createTree_Return(x0[10])∧x1[9]* x1[10]x3[9] - 1* x3[10]x1[9] - 1* x0[10])


(10) -> (11), if (x1[10] > 0 && x3[10] > 1f2698_0_createTree_Return(x0[10]) →* f2698_0_createTree_Return(x0[11])∧x1[10]* x1[11]x3[10]* x3[11]x0[10]* x0[11])


(11) -> (0), if (x1[11] - 1* x0[0])


(11) -> (2), if (x1[11] - 1* x0[2])



The set Q consists of the following terms:
f1688_0_createTree_GT(x0)
Cond_f1688_0_createTree_GT(TRUE, x0, x1)
Cond_f1688_0_createTree_GT1(TRUE, x0)
Cond_f1688_0_createTree_GT2(TRUE, x0)
f2338_0_createTree_LE(x0, x1)
Cond_f2338_0_createTree_LE(TRUE, x0, x1)
f2414_1_createTree_InvokeMethod(f1697_0_createTree_Return, x0, x1, 0)
Cond_f2414_1_createTree_InvokeMethod(TRUE, f1697_0_createTree_Return, x0, x1, 0)
f2414_1_createTree_InvokeMethod(f1881_0_createTree_InvokeMethod(x0), x1, x2, x0)
f2414_1_createTree_InvokeMethod(f1942_0_createTree_InvokeMethod(x0), x1, x2, x0)
f2414_1_createTree_InvokeMethod(f2628_0_createTree_InvokeMethod(x0), x1, x2, x0)
f2414_1_createTree_InvokeMethod(f2698_0_createTree_Return(x0), x1, x2, x0)
Cond_f2414_1_createTree_InvokeMethod1(TRUE, f2698_0_createTree_Return(x0), x1, x2, x0)
f2414_1_createTree_InvokeMethod(f2498_0_createTree_InvokeMethod(x0), x1, x2, x0)

(40) IDPNonInfProof (SOUND transformation)

Used the following options for this NonInfProof:
IDPGPoloSolver: Range: [(-1,2)] IsNat: false Interpretation Shape Heuristic: aprove.DPFramework.IDPProblem.Processors.nonInf.poly.IdpCand1ShapeHeuristic@6ac53f2b Constraint Generator: NonInfConstraintGenerator: PathGenerator: MetricPathGenerator: Max Left Steps: 0 Max Right Steps: 0

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 F1688_0_CREATETREE_GT'(x0) → COND_F1688_0_CREATETREE_GT(&&(>(x0, 0), >(x1, 0)), x0, x1) the following chains were created:
  • We consider the chain F1688_0_CREATETREE_GT'(x0[0]) → COND_F1688_0_CREATETREE_GT(&&(>(x0[0], 0), >(x1[0], 0)), x0[0], x1[0]) which results in the following constraint:

    (1)    (F1688_0_CREATETREE_GT'(x0[0])≥NonInfC∧F1688_0_CREATETREE_GT'(x0[0])≥COND_F1688_0_CREATETREE_GT(&&(>(x0[0], 0), >(x1[0], 0)), x0[0], x1[0])∧(UIncreasing(COND_F1688_0_CREATETREE_GT(&&(>(x0[0], 0), >(x1[0], 0)), x0[0], x1[0])), ≥))



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

    (2)    ((UIncreasing(COND_F1688_0_CREATETREE_GT(&&(>(x0[0], 0), >(x1[0], 0)), x0[0], x1[0])), ≥)∧[bni_36] = 0∧[1 + (-1)bso_37] ≥ 0)



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

    (3)    ((UIncreasing(COND_F1688_0_CREATETREE_GT(&&(>(x0[0], 0), >(x1[0], 0)), x0[0], x1[0])), ≥)∧[bni_36] = 0∧[1 + (-1)bso_37] ≥ 0)



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

    (4)    ((UIncreasing(COND_F1688_0_CREATETREE_GT(&&(>(x0[0], 0), >(x1[0], 0)), x0[0], x1[0])), ≥)∧[bni_36] = 0∧[1 + (-1)bso_37] ≥ 0)



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

    (5)    ((UIncreasing(COND_F1688_0_CREATETREE_GT(&&(>(x0[0], 0), >(x1[0], 0)), x0[0], x1[0])), ≥)∧[bni_36] = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_37] ≥ 0)







For Pair COND_F1688_0_CREATETREE_GT(TRUE, x0, x1) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x0, 1)), x0, x1, -(x0, 1)) the following chains were created:
  • We consider the chain COND_F1688_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x0[1], 1)), x0[1], x1[1], -(x0[1], 1)) which results in the following constraint:

    (6)    (COND_F1688_0_CREATETREE_GT(TRUE, x0[1], x1[1])≥NonInfC∧COND_F1688_0_CREATETREE_GT(TRUE, x0[1], x1[1])≥F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x0[1], 1)), x0[1], x1[1], -(x0[1], 1))∧(UIncreasing(F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x0[1], 1)), x0[1], x1[1], -(x0[1], 1))), ≥))



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

    (7)    ((UIncreasing(F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x0[1], 1)), x0[1], x1[1], -(x0[1], 1))), ≥)∧[bni_38] = 0∧[(-1)bso_39] ≥ 0)



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

    (8)    ((UIncreasing(F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x0[1], 1)), x0[1], x1[1], -(x0[1], 1))), ≥)∧[bni_38] = 0∧[(-1)bso_39] ≥ 0)



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

    (9)    ((UIncreasing(F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x0[1], 1)), x0[1], x1[1], -(x0[1], 1))), ≥)∧[bni_38] = 0∧[(-1)bso_39] ≥ 0)



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

    (10)    ((UIncreasing(F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x0[1], 1)), x0[1], x1[1], -(x0[1], 1))), ≥)∧[bni_38] = 0∧0 = 0∧0 = 0∧[(-1)bso_39] ≥ 0)







For Pair F1688_0_CREATETREE_GT'(x0) → COND_F1688_0_CREATETREE_GT1(>(x0, 0), x0) the following chains were created:
  • We consider the chain F1688_0_CREATETREE_GT'(x0[2]) → COND_F1688_0_CREATETREE_GT1(>(x0[2], 0), x0[2]), COND_F1688_0_CREATETREE_GT1(TRUE, x0[3]) → F1688_0_CREATETREE_GT'(-(x0[3], 1)) which results in the following constraint:

    (11)    (>(x0[2], 0)=TRUEx0[2]=x0[3]F1688_0_CREATETREE_GT'(x0[2])≥NonInfC∧F1688_0_CREATETREE_GT'(x0[2])≥COND_F1688_0_CREATETREE_GT1(>(x0[2], 0), x0[2])∧(UIncreasing(COND_F1688_0_CREATETREE_GT1(>(x0[2], 0), x0[2])), ≥))



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

    (12)    (>(x0[2], 0)=TRUEF1688_0_CREATETREE_GT'(x0[2])≥NonInfC∧F1688_0_CREATETREE_GT'(x0[2])≥COND_F1688_0_CREATETREE_GT1(>(x0[2], 0), x0[2])∧(UIncreasing(COND_F1688_0_CREATETREE_GT1(>(x0[2], 0), x0[2])), ≥))



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

    (13)    (x0[2] + [-1] ≥ 0 ⇒ (UIncreasing(COND_F1688_0_CREATETREE_GT1(>(x0[2], 0), x0[2])), ≥)∧[(-1)Bound*bni_40] + [bni_40]x0[2] ≥ 0∧[1 + (-1)bso_41] ≥ 0)



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

    (14)    (x0[2] + [-1] ≥ 0 ⇒ (UIncreasing(COND_F1688_0_CREATETREE_GT1(>(x0[2], 0), x0[2])), ≥)∧[(-1)Bound*bni_40] + [bni_40]x0[2] ≥ 0∧[1 + (-1)bso_41] ≥ 0)



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

    (15)    (x0[2] + [-1] ≥ 0 ⇒ (UIncreasing(COND_F1688_0_CREATETREE_GT1(>(x0[2], 0), x0[2])), ≥)∧[(-1)Bound*bni_40] + [bni_40]x0[2] ≥ 0∧[1 + (-1)bso_41] ≥ 0)



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

    (16)    (x0[2] ≥ 0 ⇒ (UIncreasing(COND_F1688_0_CREATETREE_GT1(>(x0[2], 0), x0[2])), ≥)∧[(-1)Bound*bni_40 + bni_40] + [bni_40]x0[2] ≥ 0∧[1 + (-1)bso_41] ≥ 0)







For Pair COND_F1688_0_CREATETREE_GT1(TRUE, x0) → F1688_0_CREATETREE_GT'(-(x0, 1)) the following chains were created:
  • We consider the chain COND_F1688_0_CREATETREE_GT1(TRUE, x0[3]) → F1688_0_CREATETREE_GT'(-(x0[3], 1)) which results in the following constraint:

    (17)    (COND_F1688_0_CREATETREE_GT1(TRUE, x0[3])≥NonInfC∧COND_F1688_0_CREATETREE_GT1(TRUE, x0[3])≥F1688_0_CREATETREE_GT'(-(x0[3], 1))∧(UIncreasing(F1688_0_CREATETREE_GT'(-(x0[3], 1))), ≥))



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

    (18)    ((UIncreasing(F1688_0_CREATETREE_GT'(-(x0[3], 1))), ≥)∧[bni_42] = 0∧[(-1)bso_43] ≥ 0)



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

    (19)    ((UIncreasing(F1688_0_CREATETREE_GT'(-(x0[3], 1))), ≥)∧[bni_42] = 0∧[(-1)bso_43] ≥ 0)



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

    (20)    ((UIncreasing(F1688_0_CREATETREE_GT'(-(x0[3], 1))), ≥)∧[bni_42] = 0∧[(-1)bso_43] ≥ 0)



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

    (21)    ((UIncreasing(F1688_0_CREATETREE_GT'(-(x0[3], 1))), ≥)∧[bni_42] = 0∧0 = 0∧[(-1)bso_43] ≥ 0)







For Pair F2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2, x4, 0) → COND_F2414_1_CREATETREE_INVOKEMETHOD(&&(>(x2, 0), >(x4, 1)), f1697_0_createTree_Return, x2, x4, 0) the following chains were created:
  • We consider the chain F2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2[4], x4[4], 0) → COND_F2414_1_CREATETREE_INVOKEMETHOD(&&(>(x2[4], 0), >(x4[4], 1)), f1697_0_createTree_Return, x2[4], x4[4], 0), COND_F2414_1_CREATETREE_INVOKEMETHOD(TRUE, f1697_0_createTree_Return, x2[5], x4[5], 0) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x2[5], 1)), x2[5], -(x4[5], 1), -(x2[5], 1)) which results in the following constraint:

    (22)    (&&(>(x2[4], 0), >(x4[4], 1))=TRUEx2[4]=x2[5]x4[4]=x4[5]F2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2[4], x4[4], 0)≥NonInfC∧F2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2[4], x4[4], 0)≥COND_F2414_1_CREATETREE_INVOKEMETHOD(&&(>(x2[4], 0), >(x4[4], 1)), f1697_0_createTree_Return, x2[4], x4[4], 0)∧(UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD(&&(>(x2[4], 0), >(x4[4], 1)), f1697_0_createTree_Return, x2[4], x4[4], 0)), ≥))



    We simplified constraint (22) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (23)    (>(x2[4], 0)=TRUE>(x4[4], 1)=TRUEF2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2[4], x4[4], 0)≥NonInfC∧F2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2[4], x4[4], 0)≥COND_F2414_1_CREATETREE_INVOKEMETHOD(&&(>(x2[4], 0), >(x4[4], 1)), f1697_0_createTree_Return, x2[4], x4[4], 0)∧(UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD(&&(>(x2[4], 0), >(x4[4], 1)), f1697_0_createTree_Return, x2[4], x4[4], 0)), ≥))



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

    (24)    (x2[4] + [-1] ≥ 0∧x4[4] + [-2] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD(&&(>(x2[4], 0), >(x4[4], 1)), f1697_0_createTree_Return, x2[4], x4[4], 0)), ≥)∧[(-1)bni_44 + (-1)Bound*bni_44] + [bni_44]x2[4] ≥ 0∧[(-1)bso_45] ≥ 0)



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

    (25)    (x2[4] + [-1] ≥ 0∧x4[4] + [-2] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD(&&(>(x2[4], 0), >(x4[4], 1)), f1697_0_createTree_Return, x2[4], x4[4], 0)), ≥)∧[(-1)bni_44 + (-1)Bound*bni_44] + [bni_44]x2[4] ≥ 0∧[(-1)bso_45] ≥ 0)



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

    (26)    (x2[4] + [-1] ≥ 0∧x4[4] + [-2] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD(&&(>(x2[4], 0), >(x4[4], 1)), f1697_0_createTree_Return, x2[4], x4[4], 0)), ≥)∧[(-1)bni_44 + (-1)Bound*bni_44] + [bni_44]x2[4] ≥ 0∧[(-1)bso_45] ≥ 0)



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

    (27)    (x2[4] ≥ 0∧x4[4] + [-2] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD(&&(>(x2[4], 0), >(x4[4], 1)), f1697_0_createTree_Return, x2[4], x4[4], 0)), ≥)∧[(-1)Bound*bni_44] + [bni_44]x2[4] ≥ 0∧[(-1)bso_45] ≥ 0)



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

    (28)    (x2[4] ≥ 0∧x4[4] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD(&&(>(x2[4], 0), >(x4[4], 1)), f1697_0_createTree_Return, x2[4], x4[4], 0)), ≥)∧[(-1)Bound*bni_44] + [bni_44]x2[4] ≥ 0∧[(-1)bso_45] ≥ 0)







For Pair COND_F2414_1_CREATETREE_INVOKEMETHOD(TRUE, f1697_0_createTree_Return, x2, x4, 0) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x2, 1)), x2, -(x4, 1), -(x2, 1)) the following chains were created:
  • We consider the chain COND_F2414_1_CREATETREE_INVOKEMETHOD(TRUE, f1697_0_createTree_Return, x2[5], x4[5], 0) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x2[5], 1)), x2[5], -(x4[5], 1), -(x2[5], 1)) which results in the following constraint:

    (29)    (COND_F2414_1_CREATETREE_INVOKEMETHOD(TRUE, f1697_0_createTree_Return, x2[5], x4[5], 0)≥NonInfC∧COND_F2414_1_CREATETREE_INVOKEMETHOD(TRUE, f1697_0_createTree_Return, x2[5], x4[5], 0)≥F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x2[5], 1)), x2[5], -(x4[5], 1), -(x2[5], 1))∧(UIncreasing(F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x2[5], 1)), x2[5], -(x4[5], 1), -(x2[5], 1))), ≥))



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

    (30)    ((UIncreasing(F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x2[5], 1)), x2[5], -(x4[5], 1), -(x2[5], 1))), ≥)∧[bni_46] = 0∧[(-1)bso_47] ≥ 0)



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

    (31)    ((UIncreasing(F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x2[5], 1)), x2[5], -(x4[5], 1), -(x2[5], 1))), ≥)∧[bni_46] = 0∧[(-1)bso_47] ≥ 0)



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

    (32)    ((UIncreasing(F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x2[5], 1)), x2[5], -(x4[5], 1), -(x2[5], 1))), ≥)∧[bni_46] = 0∧[(-1)bso_47] ≥ 0)



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

    (33)    ((UIncreasing(F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x2[5], 1)), x2[5], -(x4[5], 1), -(x2[5], 1))), ≥)∧[bni_46] = 0∧0 = 0∧0 = 0∧[(-1)bso_47] ≥ 0)







For Pair F2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2, x4, 0) → COND_F2414_1_CREATETREE_INVOKEMETHOD1(&&(>(x2, 0), >(x4, 1)), f1697_0_createTree_Return, x2, x4, 0) the following chains were created:
  • We consider the chain F2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2[6], x4[6], 0) → COND_F2414_1_CREATETREE_INVOKEMETHOD1(&&(>(x2[6], 0), >(x4[6], 1)), f1697_0_createTree_Return, x2[6], x4[6], 0), COND_F2414_1_CREATETREE_INVOKEMETHOD1(TRUE, f1697_0_createTree_Return, x2[7], x4[7], 0) → F1688_0_CREATETREE_GT'(-(x2[7], 1)) which results in the following constraint:

    (34)    (&&(>(x2[6], 0), >(x4[6], 1))=TRUEx2[6]=x2[7]x4[6]=x4[7]F2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2[6], x4[6], 0)≥NonInfC∧F2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2[6], x4[6], 0)≥COND_F2414_1_CREATETREE_INVOKEMETHOD1(&&(>(x2[6], 0), >(x4[6], 1)), f1697_0_createTree_Return, x2[6], x4[6], 0)∧(UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD1(&&(>(x2[6], 0), >(x4[6], 1)), f1697_0_createTree_Return, x2[6], x4[6], 0)), ≥))



    We simplified constraint (34) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (35)    (>(x2[6], 0)=TRUE>(x4[6], 1)=TRUEF2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2[6], x4[6], 0)≥NonInfC∧F2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2[6], x4[6], 0)≥COND_F2414_1_CREATETREE_INVOKEMETHOD1(&&(>(x2[6], 0), >(x4[6], 1)), f1697_0_createTree_Return, x2[6], x4[6], 0)∧(UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD1(&&(>(x2[6], 0), >(x4[6], 1)), f1697_0_createTree_Return, x2[6], x4[6], 0)), ≥))



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

    (36)    (x2[6] + [-1] ≥ 0∧x4[6] + [-2] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD1(&&(>(x2[6], 0), >(x4[6], 1)), f1697_0_createTree_Return, x2[6], x4[6], 0)), ≥)∧[(-1)bni_48 + (-1)Bound*bni_48] + [bni_48]x2[6] ≥ 0∧[(-1)bso_49] ≥ 0)



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

    (37)    (x2[6] + [-1] ≥ 0∧x4[6] + [-2] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD1(&&(>(x2[6], 0), >(x4[6], 1)), f1697_0_createTree_Return, x2[6], x4[6], 0)), ≥)∧[(-1)bni_48 + (-1)Bound*bni_48] + [bni_48]x2[6] ≥ 0∧[(-1)bso_49] ≥ 0)



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

    (38)    (x2[6] + [-1] ≥ 0∧x4[6] + [-2] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD1(&&(>(x2[6], 0), >(x4[6], 1)), f1697_0_createTree_Return, x2[6], x4[6], 0)), ≥)∧[(-1)bni_48 + (-1)Bound*bni_48] + [bni_48]x2[6] ≥ 0∧[(-1)bso_49] ≥ 0)



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

    (39)    (x2[6] ≥ 0∧x4[6] + [-2] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD1(&&(>(x2[6], 0), >(x4[6], 1)), f1697_0_createTree_Return, x2[6], x4[6], 0)), ≥)∧[(-1)Bound*bni_48] + [bni_48]x2[6] ≥ 0∧[(-1)bso_49] ≥ 0)



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

    (40)    (x2[6] ≥ 0∧x4[6] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD1(&&(>(x2[6], 0), >(x4[6], 1)), f1697_0_createTree_Return, x2[6], x4[6], 0)), ≥)∧[(-1)Bound*bni_48] + [bni_48]x2[6] ≥ 0∧[(-1)bso_49] ≥ 0)







For Pair COND_F2414_1_CREATETREE_INVOKEMETHOD1(TRUE, f1697_0_createTree_Return, x2, x4, 0) → F1688_0_CREATETREE_GT'(-(x2, 1)) the following chains were created:
  • We consider the chain COND_F2414_1_CREATETREE_INVOKEMETHOD1(TRUE, f1697_0_createTree_Return, x2[7], x4[7], 0) → F1688_0_CREATETREE_GT'(-(x2[7], 1)) which results in the following constraint:

    (41)    (COND_F2414_1_CREATETREE_INVOKEMETHOD1(TRUE, f1697_0_createTree_Return, x2[7], x4[7], 0)≥NonInfC∧COND_F2414_1_CREATETREE_INVOKEMETHOD1(TRUE, f1697_0_createTree_Return, x2[7], x4[7], 0)≥F1688_0_CREATETREE_GT'(-(x2[7], 1))∧(UIncreasing(F1688_0_CREATETREE_GT'(-(x2[7], 1))), ≥))



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

    (42)    ((UIncreasing(F1688_0_CREATETREE_GT'(-(x2[7], 1))), ≥)∧[bni_50] = 0∧[(-1)bso_51] ≥ 0)



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

    (43)    ((UIncreasing(F1688_0_CREATETREE_GT'(-(x2[7], 1))), ≥)∧[bni_50] = 0∧[(-1)bso_51] ≥ 0)



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

    (44)    ((UIncreasing(F1688_0_CREATETREE_GT'(-(x2[7], 1))), ≥)∧[bni_50] = 0∧[(-1)bso_51] ≥ 0)



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

    (45)    ((UIncreasing(F1688_0_CREATETREE_GT'(-(x2[7], 1))), ≥)∧[bni_50] = 0∧0 = 0∧0 = 0∧[(-1)bso_51] ≥ 0)







For Pair F2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0), x1, x3, x0) → COND_F2414_1_CREATETREE_INVOKEMETHOD2(&&(>(x1, 0), >(x3, 1)), f2698_0_createTree_Return(x0), x1, x3, x0) the following chains were created:
  • We consider the chain F2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8]) → COND_F2414_1_CREATETREE_INVOKEMETHOD2(&&(>(x1[8], 0), >(x3[8], 1)), f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8]), COND_F2414_1_CREATETREE_INVOKEMETHOD2(TRUE, f2698_0_createTree_Return(x0[9]), x1[9], x3[9], x0[9]) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x1[9], 1)), x1[9], -(x3[9], 1), -(x1[9], 1)) which results in the following constraint:

    (46)    (&&(>(x1[8], 0), >(x3[8], 1))=TRUEf2698_0_createTree_Return(x0[8])=f2698_0_createTree_Return(x0[9])∧x1[8]=x1[9]x3[8]=x3[9]x0[8]=x0[9]F2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])≥NonInfC∧F2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])≥COND_F2414_1_CREATETREE_INVOKEMETHOD2(&&(>(x1[8], 0), >(x3[8], 1)), f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])∧(UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD2(&&(>(x1[8], 0), >(x3[8], 1)), f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])), ≥))



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

    (47)    (>(x1[8], 0)=TRUE>(x3[8], 1)=TRUEF2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])≥NonInfC∧F2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])≥COND_F2414_1_CREATETREE_INVOKEMETHOD2(&&(>(x1[8], 0), >(x3[8], 1)), f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])∧(UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD2(&&(>(x1[8], 0), >(x3[8], 1)), f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])), ≥))



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

    (48)    (x1[8] + [-1] ≥ 0∧x3[8] + [-2] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD2(&&(>(x1[8], 0), >(x3[8], 1)), f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])), ≥)∧[(-1)bni_52 + (-1)Bound*bni_52] + [bni_52]x1[8] ≥ 0∧[(-1)bso_53] ≥ 0)



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

    (49)    (x1[8] + [-1] ≥ 0∧x3[8] + [-2] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD2(&&(>(x1[8], 0), >(x3[8], 1)), f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])), ≥)∧[(-1)bni_52 + (-1)Bound*bni_52] + [bni_52]x1[8] ≥ 0∧[(-1)bso_53] ≥ 0)



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

    (50)    (x1[8] + [-1] ≥ 0∧x3[8] + [-2] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD2(&&(>(x1[8], 0), >(x3[8], 1)), f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])), ≥)∧[(-1)bni_52 + (-1)Bound*bni_52] + [bni_52]x1[8] ≥ 0∧[(-1)bso_53] ≥ 0)



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

    (51)    (x1[8] + [-1] ≥ 0∧x3[8] + [-2] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD2(&&(>(x1[8], 0), >(x3[8], 1)), f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])), ≥)∧0 = 0∧[(-1)bni_52 + (-1)Bound*bni_52] + [bni_52]x1[8] ≥ 0∧0 = 0∧[(-1)bso_53] ≥ 0)



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

    (52)    (x1[8] ≥ 0∧x3[8] + [-2] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD2(&&(>(x1[8], 0), >(x3[8], 1)), f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])), ≥)∧0 = 0∧[(-1)Bound*bni_52] + [bni_52]x1[8] ≥ 0∧0 = 0∧[(-1)bso_53] ≥ 0)



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

    (53)    (x1[8] ≥ 0∧x3[8] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD2(&&(>(x1[8], 0), >(x3[8], 1)), f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])), ≥)∧0 = 0∧[(-1)Bound*bni_52] + [bni_52]x1[8] ≥ 0∧0 = 0∧[(-1)bso_53] ≥ 0)







For Pair COND_F2414_1_CREATETREE_INVOKEMETHOD2(TRUE, f2698_0_createTree_Return(x0), x1, x3, x0) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x1, 1)), x1, -(x3, 1), -(x1, 1)) the following chains were created:
  • We consider the chain COND_F2414_1_CREATETREE_INVOKEMETHOD2(TRUE, f2698_0_createTree_Return(x0[9]), x1[9], x3[9], x0[9]) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x1[9], 1)), x1[9], -(x3[9], 1), -(x1[9], 1)) which results in the following constraint:

    (54)    (COND_F2414_1_CREATETREE_INVOKEMETHOD2(TRUE, f2698_0_createTree_Return(x0[9]), x1[9], x3[9], x0[9])≥NonInfC∧COND_F2414_1_CREATETREE_INVOKEMETHOD2(TRUE, f2698_0_createTree_Return(x0[9]), x1[9], x3[9], x0[9])≥F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x1[9], 1)), x1[9], -(x3[9], 1), -(x1[9], 1))∧(UIncreasing(F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x1[9], 1)), x1[9], -(x3[9], 1), -(x1[9], 1))), ≥))



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

    (55)    ((UIncreasing(F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x1[9], 1)), x1[9], -(x3[9], 1), -(x1[9], 1))), ≥)∧[bni_54] = 0∧[(-1)bso_55] ≥ 0)



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

    (56)    ((UIncreasing(F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x1[9], 1)), x1[9], -(x3[9], 1), -(x1[9], 1))), ≥)∧[bni_54] = 0∧[(-1)bso_55] ≥ 0)



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

    (57)    ((UIncreasing(F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x1[9], 1)), x1[9], -(x3[9], 1), -(x1[9], 1))), ≥)∧[bni_54] = 0∧[(-1)bso_55] ≥ 0)



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

    (58)    ((UIncreasing(F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x1[9], 1)), x1[9], -(x3[9], 1), -(x1[9], 1))), ≥)∧[bni_54] = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)







For Pair F2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0), x1, x3, x0) → COND_F2414_1_CREATETREE_INVOKEMETHOD3(&&(>(x1, 0), >(x3, 1)), f2698_0_createTree_Return(x0), x1, x3, x0) the following chains were created:
  • We consider the chain F2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0[10]), x1[10], x3[10], x0[10]) → COND_F2414_1_CREATETREE_INVOKEMETHOD3(&&(>(x1[10], 0), >(x3[10], 1)), f2698_0_createTree_Return(x0[10]), x1[10], x3[10], x0[10]), COND_F2414_1_CREATETREE_INVOKEMETHOD3(TRUE, f2698_0_createTree_Return(x0[11]), x1[11], x3[11], x0[11]) → F1688_0_CREATETREE_GT'(-(x1[11], 1)) which results in the following constraint:

    (59)    (&&(>(x1[10], 0), >(x3[10], 1))=TRUEf2698_0_createTree_Return(x0[10])=f2698_0_createTree_Return(x0[11])∧x1[10]=x1[11]x3[10]=x3[11]x0[10]=x0[11]F2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0[10]), x1[10], x3[10], x0[10])≥NonInfC∧F2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0[10]), x1[10], x3[10], x0[10])≥COND_F2414_1_CREATETREE_INVOKEMETHOD3(&&(>(x1[10], 0), >(x3[10], 1)), f2698_0_createTree_Return(x0[10]), x1[10], x3[10], x0[10])∧(UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD3(&&(>(x1[10], 0), >(x3[10], 1)), f2698_0_createTree_Return(x0[10]), x1[10], x3[10], x0[10])), ≥))



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

    (60)    (>(x1[10], 0)=TRUE>(x3[10], 1)=TRUEF2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0[10]), x1[10], x3[10], x0[10])≥NonInfC∧F2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0[10]), x1[10], x3[10], x0[10])≥COND_F2414_1_CREATETREE_INVOKEMETHOD3(&&(>(x1[10], 0), >(x3[10], 1)), f2698_0_createTree_Return(x0[10]), x1[10], x3[10], x0[10])∧(UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD3(&&(>(x1[10], 0), >(x3[10], 1)), f2698_0_createTree_Return(x0[10]), x1[10], x3[10], x0[10])), ≥))



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

    (61)    (x1[10] + [-1] ≥ 0∧x3[10] + [-2] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD3(&&(>(x1[10], 0), >(x3[10], 1)), f2698_0_createTree_Return(x0[10]), x1[10], x3[10], x0[10])), ≥)∧[(-1)bni_56 + (-1)Bound*bni_56] + [bni_56]x1[10] ≥ 0∧[(-1)bso_57] ≥ 0)



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

    (62)    (x1[10] + [-1] ≥ 0∧x3[10] + [-2] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD3(&&(>(x1[10], 0), >(x3[10], 1)), f2698_0_createTree_Return(x0[10]), x1[10], x3[10], x0[10])), ≥)∧[(-1)bni_56 + (-1)Bound*bni_56] + [bni_56]x1[10] ≥ 0∧[(-1)bso_57] ≥ 0)



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

    (63)    (x1[10] + [-1] ≥ 0∧x3[10] + [-2] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD3(&&(>(x1[10], 0), >(x3[10], 1)), f2698_0_createTree_Return(x0[10]), x1[10], x3[10], x0[10])), ≥)∧[(-1)bni_56 + (-1)Bound*bni_56] + [bni_56]x1[10] ≥ 0∧[(-1)bso_57] ≥ 0)



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

    (64)    (x1[10] + [-1] ≥ 0∧x3[10] + [-2] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD3(&&(>(x1[10], 0), >(x3[10], 1)), f2698_0_createTree_Return(x0[10]), x1[10], x3[10], x0[10])), ≥)∧0 = 0∧[(-1)bni_56 + (-1)Bound*bni_56] + [bni_56]x1[10] ≥ 0∧0 = 0∧[(-1)bso_57] ≥ 0)



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

    (65)    (x1[10] ≥ 0∧x3[10] + [-2] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD3(&&(>(x1[10], 0), >(x3[10], 1)), f2698_0_createTree_Return(x0[10]), x1[10], x3[10], x0[10])), ≥)∧0 = 0∧[(-1)Bound*bni_56] + [bni_56]x1[10] ≥ 0∧0 = 0∧[(-1)bso_57] ≥ 0)



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

    (66)    (x1[10] ≥ 0∧x3[10] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD3(&&(>(x1[10], 0), >(x3[10], 1)), f2698_0_createTree_Return(x0[10]), x1[10], x3[10], x0[10])), ≥)∧0 = 0∧[(-1)Bound*bni_56] + [bni_56]x1[10] ≥ 0∧0 = 0∧[(-1)bso_57] ≥ 0)







For Pair COND_F2414_1_CREATETREE_INVOKEMETHOD3(TRUE, f2698_0_createTree_Return(x0), x1, x3, x0) → F1688_0_CREATETREE_GT'(-(x1, 1)) the following chains were created:
  • We consider the chain COND_F2414_1_CREATETREE_INVOKEMETHOD3(TRUE, f2698_0_createTree_Return(x0[11]), x1[11], x3[11], x0[11]) → F1688_0_CREATETREE_GT'(-(x1[11], 1)) which results in the following constraint:

    (67)    (COND_F2414_1_CREATETREE_INVOKEMETHOD3(TRUE, f2698_0_createTree_Return(x0[11]), x1[11], x3[11], x0[11])≥NonInfC∧COND_F2414_1_CREATETREE_INVOKEMETHOD3(TRUE, f2698_0_createTree_Return(x0[11]), x1[11], x3[11], x0[11])≥F1688_0_CREATETREE_GT'(-(x1[11], 1))∧(UIncreasing(F1688_0_CREATETREE_GT'(-(x1[11], 1))), ≥))



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

    (68)    ((UIncreasing(F1688_0_CREATETREE_GT'(-(x1[11], 1))), ≥)∧[bni_58] = 0∧[(-1)bso_59] ≥ 0)



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

    (69)    ((UIncreasing(F1688_0_CREATETREE_GT'(-(x1[11], 1))), ≥)∧[bni_58] = 0∧[(-1)bso_59] ≥ 0)



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

    (70)    ((UIncreasing(F1688_0_CREATETREE_GT'(-(x1[11], 1))), ≥)∧[bni_58] = 0∧[(-1)bso_59] ≥ 0)



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

    (71)    ((UIncreasing(F1688_0_CREATETREE_GT'(-(x1[11], 1))), ≥)∧[bni_58] = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_59] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • F1688_0_CREATETREE_GT'(x0) → COND_F1688_0_CREATETREE_GT(&&(>(x0, 0), >(x1, 0)), x0, x1)
    • ((UIncreasing(COND_F1688_0_CREATETREE_GT(&&(>(x0[0], 0), >(x1[0], 0)), x0[0], x1[0])), ≥)∧[bni_36] = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_37] ≥ 0)

  • COND_F1688_0_CREATETREE_GT(TRUE, x0, x1) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x0, 1)), x0, x1, -(x0, 1))
    • ((UIncreasing(F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x0[1], 1)), x0[1], x1[1], -(x0[1], 1))), ≥)∧[bni_38] = 0∧0 = 0∧0 = 0∧[(-1)bso_39] ≥ 0)

  • F1688_0_CREATETREE_GT'(x0) → COND_F1688_0_CREATETREE_GT1(>(x0, 0), x0)
    • (x0[2] ≥ 0 ⇒ (UIncreasing(COND_F1688_0_CREATETREE_GT1(>(x0[2], 0), x0[2])), ≥)∧[(-1)Bound*bni_40 + bni_40] + [bni_40]x0[2] ≥ 0∧[1 + (-1)bso_41] ≥ 0)

  • COND_F1688_0_CREATETREE_GT1(TRUE, x0) → F1688_0_CREATETREE_GT'(-(x0, 1))
    • ((UIncreasing(F1688_0_CREATETREE_GT'(-(x0[3], 1))), ≥)∧[bni_42] = 0∧0 = 0∧[(-1)bso_43] ≥ 0)

  • F2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2, x4, 0) → COND_F2414_1_CREATETREE_INVOKEMETHOD(&&(>(x2, 0), >(x4, 1)), f1697_0_createTree_Return, x2, x4, 0)
    • (x2[4] ≥ 0∧x4[4] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD(&&(>(x2[4], 0), >(x4[4], 1)), f1697_0_createTree_Return, x2[4], x4[4], 0)), ≥)∧[(-1)Bound*bni_44] + [bni_44]x2[4] ≥ 0∧[(-1)bso_45] ≥ 0)

  • COND_F2414_1_CREATETREE_INVOKEMETHOD(TRUE, f1697_0_createTree_Return, x2, x4, 0) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x2, 1)), x2, -(x4, 1), -(x2, 1))
    • ((UIncreasing(F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x2[5], 1)), x2[5], -(x4[5], 1), -(x2[5], 1))), ≥)∧[bni_46] = 0∧0 = 0∧0 = 0∧[(-1)bso_47] ≥ 0)

  • F2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2, x4, 0) → COND_F2414_1_CREATETREE_INVOKEMETHOD1(&&(>(x2, 0), >(x4, 1)), f1697_0_createTree_Return, x2, x4, 0)
    • (x2[6] ≥ 0∧x4[6] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD1(&&(>(x2[6], 0), >(x4[6], 1)), f1697_0_createTree_Return, x2[6], x4[6], 0)), ≥)∧[(-1)Bound*bni_48] + [bni_48]x2[6] ≥ 0∧[(-1)bso_49] ≥ 0)

  • COND_F2414_1_CREATETREE_INVOKEMETHOD1(TRUE, f1697_0_createTree_Return, x2, x4, 0) → F1688_0_CREATETREE_GT'(-(x2, 1))
    • ((UIncreasing(F1688_0_CREATETREE_GT'(-(x2[7], 1))), ≥)∧[bni_50] = 0∧0 = 0∧0 = 0∧[(-1)bso_51] ≥ 0)

  • F2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0), x1, x3, x0) → COND_F2414_1_CREATETREE_INVOKEMETHOD2(&&(>(x1, 0), >(x3, 1)), f2698_0_createTree_Return(x0), x1, x3, x0)
    • (x1[8] ≥ 0∧x3[8] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD2(&&(>(x1[8], 0), >(x3[8], 1)), f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])), ≥)∧0 = 0∧[(-1)Bound*bni_52] + [bni_52]x1[8] ≥ 0∧0 = 0∧[(-1)bso_53] ≥ 0)

  • COND_F2414_1_CREATETREE_INVOKEMETHOD2(TRUE, f2698_0_createTree_Return(x0), x1, x3, x0) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x1, 1)), x1, -(x3, 1), -(x1, 1))
    • ((UIncreasing(F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x1[9], 1)), x1[9], -(x3[9], 1), -(x1[9], 1))), ≥)∧[bni_54] = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_55] ≥ 0)

  • F2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0), x1, x3, x0) → COND_F2414_1_CREATETREE_INVOKEMETHOD3(&&(>(x1, 0), >(x3, 1)), f2698_0_createTree_Return(x0), x1, x3, x0)
    • (x1[10] ≥ 0∧x3[10] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD3(&&(>(x1[10], 0), >(x3[10], 1)), f2698_0_createTree_Return(x0[10]), x1[10], x3[10], x0[10])), ≥)∧0 = 0∧[(-1)Bound*bni_56] + [bni_56]x1[10] ≥ 0∧0 = 0∧[(-1)bso_57] ≥ 0)

  • COND_F2414_1_CREATETREE_INVOKEMETHOD3(TRUE, f2698_0_createTree_Return(x0), x1, x3, x0) → F1688_0_CREATETREE_GT'(-(x1, 1))
    • ((UIncreasing(F1688_0_CREATETREE_GT'(-(x1[11], 1))), ≥)∧[bni_58] = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_59] ≥ 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(f1688_0_createTree_GT(x1)) = [-1] + [-1]x1   
POL(0) = 0   
POL(f1697_0_createTree_Return) = [-1]   
POL(Cond_f1688_0_createTree_GT(x1, x2, x3)) = [-1] + [-1]x3 + x2   
POL(&&(x1, x2)) = [-1]   
POL(>(x1, x2)) = [-1]   
POL(-1) = [-1]   
POL(f2338_0_createTree_LE(x1, x2)) = [1] + [-1]x2 + [-1]x1   
POL(Cond_f1688_0_createTree_GT1(x1, x2)) = [2]   
POL(f1881_0_createTree_InvokeMethod(x1)) = x1   
POL(Cond_f1688_0_createTree_GT2(x1, x2)) = [-1] + [-1]x2   
POL(f1942_0_createTree_InvokeMethod(x1)) = x1   
POL(f2698_0_createTree_Return(x1)) = x1   
POL(Cond_f2338_0_createTree_LE(x1, x2, x3)) = [-1] + [-1]x3 + [-1]x2   
POL(f2414_1_createTree_InvokeMethod(x1, x2, x3, x4)) = [-1] + [2]x4 + [-1]x1 + [-1]x3 + [-1]x2   
POL(-(x1, x2)) = x1 + [-1]x2   
POL(1) = [1]   
POL(Cond_f2414_1_createTree_InvokeMethod(x1, x2, x3, x4, x5)) = [-1] + [-1]x4 + [-1]x3   
POL(f2628_0_createTree_InvokeMethod(x1)) = x1   
POL(Cond_f2414_1_createTree_InvokeMethod1(x1, x2, x3, x4, x5)) = [2]x5 + [-1]x4 + [-1]x3 + [-1]x2   
POL(f2498_0_createTree_InvokeMethod(x1)) = x1   
POL(F1688_0_CREATETREE_GT'(x1)) = x1   
POL(COND_F1688_0_CREATETREE_GT(x1, x2, x3)) = [-1] + x2   
POL(F2414_1_CREATETREE_INVOKEMETHOD'(x1, x2, x3, x4)) = [-1] + x2   
POL(COND_F1688_0_CREATETREE_GT1(x1, x2)) = [-1] + x2   
POL(COND_F2414_1_CREATETREE_INVOKEMETHOD(x1, x2, x3, x4, x5)) = [-1] + x3   
POL(COND_F2414_1_CREATETREE_INVOKEMETHOD1(x1, x2, x3, x4, x5)) = [-1] + x3   
POL(COND_F2414_1_CREATETREE_INVOKEMETHOD2(x1, x2, x3, x4, x5)) = [-1] + x3   
POL(COND_F2414_1_CREATETREE_INVOKEMETHOD3(x1, x2, x3, x4, x5)) = [-1] + x3   

The following pairs are in P>:

F1688_0_CREATETREE_GT'(x0[0]) → COND_F1688_0_CREATETREE_GT(&&(>(x0[0], 0), >(x1[0], 0)), x0[0], x1[0])
F1688_0_CREATETREE_GT'(x0[2]) → COND_F1688_0_CREATETREE_GT1(>(x0[2], 0), x0[2])

The following pairs are in Pbound:

F1688_0_CREATETREE_GT'(x0[2]) → COND_F1688_0_CREATETREE_GT1(>(x0[2], 0), x0[2])
F2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2[4], x4[4], 0) → COND_F2414_1_CREATETREE_INVOKEMETHOD(&&(>(x2[4], 0), >(x4[4], 1)), f1697_0_createTree_Return, x2[4], x4[4], 0)
F2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2[6], x4[6], 0) → COND_F2414_1_CREATETREE_INVOKEMETHOD1(&&(>(x2[6], 0), >(x4[6], 1)), f1697_0_createTree_Return, x2[6], x4[6], 0)
F2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8]) → COND_F2414_1_CREATETREE_INVOKEMETHOD2(&&(>(x1[8], 0), >(x3[8], 1)), f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])
F2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0[10]), x1[10], x3[10], x0[10]) → COND_F2414_1_CREATETREE_INVOKEMETHOD3(&&(>(x1[10], 0), >(x3[10], 1)), f2698_0_createTree_Return(x0[10]), x1[10], x3[10], x0[10])

The following pairs are in P:

COND_F1688_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x0[1], 1)), x0[1], x1[1], -(x0[1], 1))
COND_F1688_0_CREATETREE_GT1(TRUE, x0[3]) → F1688_0_CREATETREE_GT'(-(x0[3], 1))
F2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2[4], x4[4], 0) → COND_F2414_1_CREATETREE_INVOKEMETHOD(&&(>(x2[4], 0), >(x4[4], 1)), f1697_0_createTree_Return, x2[4], x4[4], 0)
COND_F2414_1_CREATETREE_INVOKEMETHOD(TRUE, f1697_0_createTree_Return, x2[5], x4[5], 0) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x2[5], 1)), x2[5], -(x4[5], 1), -(x2[5], 1))
F2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2[6], x4[6], 0) → COND_F2414_1_CREATETREE_INVOKEMETHOD1(&&(>(x2[6], 0), >(x4[6], 1)), f1697_0_createTree_Return, x2[6], x4[6], 0)
COND_F2414_1_CREATETREE_INVOKEMETHOD1(TRUE, f1697_0_createTree_Return, x2[7], x4[7], 0) → F1688_0_CREATETREE_GT'(-(x2[7], 1))
F2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8]) → COND_F2414_1_CREATETREE_INVOKEMETHOD2(&&(>(x1[8], 0), >(x3[8], 1)), f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])
COND_F2414_1_CREATETREE_INVOKEMETHOD2(TRUE, f2698_0_createTree_Return(x0[9]), x1[9], x3[9], x0[9]) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x1[9], 1)), x1[9], -(x3[9], 1), -(x1[9], 1))
F2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0[10]), x1[10], x3[10], x0[10]) → COND_F2414_1_CREATETREE_INVOKEMETHOD3(&&(>(x1[10], 0), >(x3[10], 1)), f2698_0_createTree_Return(x0[10]), x1[10], x3[10], x0[10])
COND_F2414_1_CREATETREE_INVOKEMETHOD3(TRUE, f2698_0_createTree_Return(x0[11]), x1[11], x3[11], x0[11]) → F1688_0_CREATETREE_GT'(-(x1[11], 1))

At least the following rules have been oriented under context sensitive arithmetic replacement:

f1688_0_createTree_GT(x0)1Cond_f1688_0_createTree_GT2(>(x0, 0), x0)1
f2338_0_createTree_LE(x0, x2)1Cond_f2338_0_createTree_LE(&&(>(x0, 0), >(x2, 0)), x0, x2)1
f2414_1_createTree_InvokeMethod(f1697_0_createTree_Return, x2, x4, 0)1Cond_f2414_1_createTree_InvokeMethod(>(x4, 0), f1697_0_createTree_Return, x2, x4, 0)1
f2338_0_createTree_LE(x2, -(x4, 1))1Cond_f2414_1_createTree_InvokeMethod(TRUE, f1697_0_createTree_Return, x2, x4, 0)1

(41) Complex Obligation (AND)

(42) 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


The ITRS R consists of the following rules:
f1688_0_createTree_GT(0) → f1697_0_createTree_Return
f1688_0_createTree_GT(x0) → Cond_f1688_0_createTree_GT(x0 > 0 && x1 > -1, x0, x1)
Cond_f1688_0_createTree_GT(TRUE, x0, x1) → f2338_0_createTree_LE(x0, x1)
f1688_0_createTree_GT(x0) → Cond_f1688_0_createTree_GT1(x0 > 0, x0)
Cond_f1688_0_createTree_GT1(TRUE, x0) → f1881_0_createTree_InvokeMethod(x0)
f1688_0_createTree_GT(x0) → Cond_f1688_0_createTree_GT2(x0 > 0, x0)
Cond_f1688_0_createTree_GT2(TRUE, x0) → f1942_0_createTree_InvokeMethod(x0)
f2338_0_createTree_LE(x0, 0) → f2698_0_createTree_Return(x0)
f2338_0_createTree_LE(x0, x2) → Cond_f2338_0_createTree_LE(x0 > 0 && x2 > 0, x0, x2)
Cond_f2338_0_createTree_LE(TRUE, x0, x2) → f2414_1_createTree_InvokeMethod(f1688_0_createTree_GT(x0 - 1), x0, x2, x0 - 1)
f2414_1_createTree_InvokeMethod(f1697_0_createTree_Return, x2, x4, 0) → Cond_f2414_1_createTree_InvokeMethod(x4 > 0, f1697_0_createTree_Return, x2, x4, 0)
Cond_f2414_1_createTree_InvokeMethod(TRUE, f1697_0_createTree_Return, x2, x4, 0) → f2338_0_createTree_LE(x2, x4 - 1)
f2414_1_createTree_InvokeMethod(f1881_0_createTree_InvokeMethod(x0), x1, x3, x0) → f2628_0_createTree_InvokeMethod(x1)
f2414_1_createTree_InvokeMethod(f1942_0_createTree_InvokeMethod(x0), x1, x3, x0) → f2628_0_createTree_InvokeMethod(x1)
f2414_1_createTree_InvokeMethod(f2628_0_createTree_InvokeMethod(x0), x4, x6, x0) → f2628_0_createTree_InvokeMethod(x4)
f2414_1_createTree_InvokeMethod(f2698_0_createTree_Return(x0), x1, x3, x0) → Cond_f2414_1_createTree_InvokeMethod1(x3 > 0, f2698_0_createTree_Return(x0), x1, x3, x0)
Cond_f2414_1_createTree_InvokeMethod1(TRUE, f2698_0_createTree_Return(x0), x1, x3, x0) → f2338_0_createTree_LE(x1, x3 - 1)
f2414_1_createTree_InvokeMethod(f2498_0_createTree_InvokeMethod(x0), x4, x6, x0) → f2628_0_createTree_InvokeMethod(x4)

The integer pair graph contains the following rules and edges:
(1): COND_F1688_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(x0[1] - 1), x0[1], x1[1], x0[1] - 1)
(3): COND_F1688_0_CREATETREE_GT1(TRUE, x0[3]) → F1688_0_CREATETREE_GT'(x0[3] - 1)
(4): F2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2[4], x4[4], 0) → COND_F2414_1_CREATETREE_INVOKEMETHOD(x2[4] > 0 && x4[4] > 1, f1697_0_createTree_Return, x2[4], x4[4], 0)
(5): COND_F2414_1_CREATETREE_INVOKEMETHOD(TRUE, f1697_0_createTree_Return, x2[5], x4[5], 0) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(x2[5] - 1), x2[5], x4[5] - 1, x2[5] - 1)
(6): F2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2[6], x4[6], 0) → COND_F2414_1_CREATETREE_INVOKEMETHOD1(x2[6] > 0 && x4[6] > 1, f1697_0_createTree_Return, x2[6], x4[6], 0)
(7): COND_F2414_1_CREATETREE_INVOKEMETHOD1(TRUE, f1697_0_createTree_Return, x2[7], x4[7], 0) → F1688_0_CREATETREE_GT'(x2[7] - 1)
(8): F2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8]) → COND_F2414_1_CREATETREE_INVOKEMETHOD2(x1[8] > 0 && x3[8] > 1, f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])
(9): COND_F2414_1_CREATETREE_INVOKEMETHOD2(TRUE, f2698_0_createTree_Return(x0[9]), x1[9], x3[9], x0[9]) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(x1[9] - 1), x1[9], x3[9] - 1, x1[9] - 1)
(10): F2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0[10]), x1[10], x3[10], x0[10]) → COND_F2414_1_CREATETREE_INVOKEMETHOD3(x1[10] > 0 && x3[10] > 1, f2698_0_createTree_Return(x0[10]), x1[10], x3[10], x0[10])
(11): COND_F2414_1_CREATETREE_INVOKEMETHOD3(TRUE, f2698_0_createTree_Return(x0[11]), x1[11], x3[11], x0[11]) → F1688_0_CREATETREE_GT'(x1[11] - 1)

(1) -> (4), if (f1688_0_createTree_GT(x0[1] - 1) →* f1697_0_createTree_Returnx0[1]* x2[4]x1[1]* x4[4]x0[1] - 1* 0)


(5) -> (4), if (f1688_0_createTree_GT(x2[5] - 1) →* f1697_0_createTree_Returnx2[5]* x2[4]x4[5] - 1* x4[4]x2[5] - 1* 0)


(9) -> (4), if (f1688_0_createTree_GT(x1[9] - 1) →* f1697_0_createTree_Returnx1[9]* x2[4]x3[9] - 1* x4[4]x1[9] - 1* 0)


(4) -> (5), if (x2[4] > 0 && x4[4] > 1x2[4]* x2[5]x4[4]* x4[5])


(1) -> (6), if (f1688_0_createTree_GT(x0[1] - 1) →* f1697_0_createTree_Returnx0[1]* x2[6]x1[1]* x4[6]x0[1] - 1* 0)


(5) -> (6), if (f1688_0_createTree_GT(x2[5] - 1) →* f1697_0_createTree_Returnx2[5]* x2[6]x4[5] - 1* x4[6]x2[5] - 1* 0)


(9) -> (6), if (f1688_0_createTree_GT(x1[9] - 1) →* f1697_0_createTree_Returnx1[9]* x2[6]x3[9] - 1* x4[6]x1[9] - 1* 0)


(6) -> (7), if (x2[6] > 0 && x4[6] > 1x2[6]* x2[7]x4[6]* x4[7])


(1) -> (8), if (f1688_0_createTree_GT(x0[1] - 1) →* f2698_0_createTree_Return(x0[8])∧x0[1]* x1[8]x1[1]* x3[8]x0[1] - 1* x0[8])


(5) -> (8), if (f1688_0_createTree_GT(x2[5] - 1) →* f2698_0_createTree_Return(x0[8])∧x2[5]* x1[8]x4[5] - 1* x3[8]x2[5] - 1* x0[8])


(9) -> (8), if (f1688_0_createTree_GT(x1[9] - 1) →* f2698_0_createTree_Return(x0[8])∧x1[9]* x1[8]x3[9] - 1* x3[8]x1[9] - 1* x0[8])


(8) -> (9), if (x1[8] > 0 && x3[8] > 1f2698_0_createTree_Return(x0[8]) →* f2698_0_createTree_Return(x0[9])∧x1[8]* x1[9]x3[8]* x3[9]x0[8]* x0[9])


(1) -> (10), if (f1688_0_createTree_GT(x0[1] - 1) →* f2698_0_createTree_Return(x0[10])∧x0[1]* x1[10]x1[1]* x3[10]x0[1] - 1* x0[10])


(5) -> (10), if (f1688_0_createTree_GT(x2[5] - 1) →* f2698_0_createTree_Return(x0[10])∧x2[5]* x1[10]x4[5] - 1* x3[10]x2[5] - 1* x0[10])


(9) -> (10), if (f1688_0_createTree_GT(x1[9] - 1) →* f2698_0_createTree_Return(x0[10])∧x1[9]* x1[10]x3[9] - 1* x3[10]x1[9] - 1* x0[10])


(10) -> (11), if (x1[10] > 0 && x3[10] > 1f2698_0_createTree_Return(x0[10]) →* f2698_0_createTree_Return(x0[11])∧x1[10]* x1[11]x3[10]* x3[11]x0[10]* x0[11])



The set Q consists of the following terms:
f1688_0_createTree_GT(x0)
Cond_f1688_0_createTree_GT(TRUE, x0, x1)
Cond_f1688_0_createTree_GT1(TRUE, x0)
Cond_f1688_0_createTree_GT2(TRUE, x0)
f2338_0_createTree_LE(x0, x1)
Cond_f2338_0_createTree_LE(TRUE, x0, x1)
f2414_1_createTree_InvokeMethod(f1697_0_createTree_Return, x0, x1, 0)
Cond_f2414_1_createTree_InvokeMethod(TRUE, f1697_0_createTree_Return, x0, x1, 0)
f2414_1_createTree_InvokeMethod(f1881_0_createTree_InvokeMethod(x0), x1, x2, x0)
f2414_1_createTree_InvokeMethod(f1942_0_createTree_InvokeMethod(x0), x1, x2, x0)
f2414_1_createTree_InvokeMethod(f2628_0_createTree_InvokeMethod(x0), x1, x2, x0)
f2414_1_createTree_InvokeMethod(f2698_0_createTree_Return(x0), x1, x2, x0)
Cond_f2414_1_createTree_InvokeMethod1(TRUE, f2698_0_createTree_Return(x0), x1, x2, x0)
f2414_1_createTree_InvokeMethod(f2498_0_createTree_InvokeMethod(x0), x1, x2, x0)

(43) IDependencyGraphProof (EQUIVALENT transformation)

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

(44) 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


The ITRS R consists of the following rules:
f1688_0_createTree_GT(0) → f1697_0_createTree_Return
f1688_0_createTree_GT(x0) → Cond_f1688_0_createTree_GT(x0 > 0 && x1 > -1, x0, x1)
Cond_f1688_0_createTree_GT(TRUE, x0, x1) → f2338_0_createTree_LE(x0, x1)
f1688_0_createTree_GT(x0) → Cond_f1688_0_createTree_GT1(x0 > 0, x0)
Cond_f1688_0_createTree_GT1(TRUE, x0) → f1881_0_createTree_InvokeMethod(x0)
f1688_0_createTree_GT(x0) → Cond_f1688_0_createTree_GT2(x0 > 0, x0)
Cond_f1688_0_createTree_GT2(TRUE, x0) → f1942_0_createTree_InvokeMethod(x0)
f2338_0_createTree_LE(x0, 0) → f2698_0_createTree_Return(x0)
f2338_0_createTree_LE(x0, x2) → Cond_f2338_0_createTree_LE(x0 > 0 && x2 > 0, x0, x2)
Cond_f2338_0_createTree_LE(TRUE, x0, x2) → f2414_1_createTree_InvokeMethod(f1688_0_createTree_GT(x0 - 1), x0, x2, x0 - 1)
f2414_1_createTree_InvokeMethod(f1697_0_createTree_Return, x2, x4, 0) → Cond_f2414_1_createTree_InvokeMethod(x4 > 0, f1697_0_createTree_Return, x2, x4, 0)
Cond_f2414_1_createTree_InvokeMethod(TRUE, f1697_0_createTree_Return, x2, x4, 0) → f2338_0_createTree_LE(x2, x4 - 1)
f2414_1_createTree_InvokeMethod(f1881_0_createTree_InvokeMethod(x0), x1, x3, x0) → f2628_0_createTree_InvokeMethod(x1)
f2414_1_createTree_InvokeMethod(f1942_0_createTree_InvokeMethod(x0), x1, x3, x0) → f2628_0_createTree_InvokeMethod(x1)
f2414_1_createTree_InvokeMethod(f2628_0_createTree_InvokeMethod(x0), x4, x6, x0) → f2628_0_createTree_InvokeMethod(x4)
f2414_1_createTree_InvokeMethod(f2698_0_createTree_Return(x0), x1, x3, x0) → Cond_f2414_1_createTree_InvokeMethod1(x3 > 0, f2698_0_createTree_Return(x0), x1, x3, x0)
Cond_f2414_1_createTree_InvokeMethod1(TRUE, f2698_0_createTree_Return(x0), x1, x3, x0) → f2338_0_createTree_LE(x1, x3 - 1)
f2414_1_createTree_InvokeMethod(f2498_0_createTree_InvokeMethod(x0), x4, x6, x0) → f2628_0_createTree_InvokeMethod(x4)

The integer pair graph contains the following rules and edges:
(9): COND_F2414_1_CREATETREE_INVOKEMETHOD2(TRUE, f2698_0_createTree_Return(x0[9]), x1[9], x3[9], x0[9]) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(x1[9] - 1), x1[9], x3[9] - 1, x1[9] - 1)
(8): F2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8]) → COND_F2414_1_CREATETREE_INVOKEMETHOD2(x1[8] > 0 && x3[8] > 1, f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])
(5): COND_F2414_1_CREATETREE_INVOKEMETHOD(TRUE, f1697_0_createTree_Return, x2[5], x4[5], 0) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(x2[5] - 1), x2[5], x4[5] - 1, x2[5] - 1)
(4): F2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2[4], x4[4], 0) → COND_F2414_1_CREATETREE_INVOKEMETHOD(x2[4] > 0 && x4[4] > 1, f1697_0_createTree_Return, x2[4], x4[4], 0)

(5) -> (4), if (f1688_0_createTree_GT(x2[5] - 1) →* f1697_0_createTree_Returnx2[5]* x2[4]x4[5] - 1* x4[4]x2[5] - 1* 0)


(9) -> (4), if (f1688_0_createTree_GT(x1[9] - 1) →* f1697_0_createTree_Returnx1[9]* x2[4]x3[9] - 1* x4[4]x1[9] - 1* 0)


(4) -> (5), if (x2[4] > 0 && x4[4] > 1x2[4]* x2[5]x4[4]* x4[5])


(5) -> (8), if (f1688_0_createTree_GT(x2[5] - 1) →* f2698_0_createTree_Return(x0[8])∧x2[5]* x1[8]x4[5] - 1* x3[8]x2[5] - 1* x0[8])


(9) -> (8), if (f1688_0_createTree_GT(x1[9] - 1) →* f2698_0_createTree_Return(x0[8])∧x1[9]* x1[8]x3[9] - 1* x3[8]x1[9] - 1* x0[8])


(8) -> (9), if (x1[8] > 0 && x3[8] > 1f2698_0_createTree_Return(x0[8]) →* f2698_0_createTree_Return(x0[9])∧x1[8]* x1[9]x3[8]* x3[9]x0[8]* x0[9])



The set Q consists of the following terms:
f1688_0_createTree_GT(x0)
Cond_f1688_0_createTree_GT(TRUE, x0, x1)
Cond_f1688_0_createTree_GT1(TRUE, x0)
Cond_f1688_0_createTree_GT2(TRUE, x0)
f2338_0_createTree_LE(x0, x1)
Cond_f2338_0_createTree_LE(TRUE, x0, x1)
f2414_1_createTree_InvokeMethod(f1697_0_createTree_Return, x0, x1, 0)
Cond_f2414_1_createTree_InvokeMethod(TRUE, f1697_0_createTree_Return, x0, x1, 0)
f2414_1_createTree_InvokeMethod(f1881_0_createTree_InvokeMethod(x0), x1, x2, x0)
f2414_1_createTree_InvokeMethod(f1942_0_createTree_InvokeMethod(x0), x1, x2, x0)
f2414_1_createTree_InvokeMethod(f2628_0_createTree_InvokeMethod(x0), x1, x2, x0)
f2414_1_createTree_InvokeMethod(f2698_0_createTree_Return(x0), x1, x2, x0)
Cond_f2414_1_createTree_InvokeMethod1(TRUE, f2698_0_createTree_Return(x0), x1, x2, x0)
f2414_1_createTree_InvokeMethod(f2498_0_createTree_InvokeMethod(x0), x1, x2, x0)

(45) IDPNonInfProof (SOUND transformation)

Used the following options for this NonInfProof:
IDPGPoloSolver: Range: [(-1,2)] IsNat: false Interpretation Shape Heuristic: aprove.DPFramework.IDPProblem.Processors.nonInf.poly.IdpCand1ShapeHeuristic@6ac53f2b Constraint Generator: NonInfConstraintGenerator: PathGenerator: MetricPathGenerator: Max Left Steps: 0 Max Right Steps: 0

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_F2414_1_CREATETREE_INVOKEMETHOD2(TRUE, f2698_0_createTree_Return(x0[9]), x1[9], x3[9], x0[9]) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x1[9], 1)), x1[9], -(x3[9], 1), -(x1[9], 1)) the following chains were created:
  • We consider the chain COND_F2414_1_CREATETREE_INVOKEMETHOD2(TRUE, f2698_0_createTree_Return(x0[9]), x1[9], x3[9], x0[9]) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x1[9], 1)), x1[9], -(x3[9], 1), -(x1[9], 1)) which results in the following constraint:

    (1)    (COND_F2414_1_CREATETREE_INVOKEMETHOD2(TRUE, f2698_0_createTree_Return(x0[9]), x1[9], x3[9], x0[9])≥NonInfC∧COND_F2414_1_CREATETREE_INVOKEMETHOD2(TRUE, f2698_0_createTree_Return(x0[9]), x1[9], x3[9], x0[9])≥F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x1[9], 1)), x1[9], -(x3[9], 1), -(x1[9], 1))∧(UIncreasing(F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x1[9], 1)), x1[9], -(x3[9], 1), -(x1[9], 1))), ≥))



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

    (2)    ((UIncreasing(F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x1[9], 1)), x1[9], -(x3[9], 1), -(x1[9], 1))), ≥)∧[bni_21] = 0∧[1 + (-1)bso_22] ≥ 0)



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

    (3)    ((UIncreasing(F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x1[9], 1)), x1[9], -(x3[9], 1), -(x1[9], 1))), ≥)∧[bni_21] = 0∧[1 + (-1)bso_22] ≥ 0)



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

    (4)    ((UIncreasing(F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x1[9], 1)), x1[9], -(x3[9], 1), -(x1[9], 1))), ≥)∧[bni_21] = 0∧[1 + (-1)bso_22] ≥ 0)



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

    (5)    ((UIncreasing(F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x1[9], 1)), x1[9], -(x3[9], 1), -(x1[9], 1))), ≥)∧[bni_21] = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_22] ≥ 0)







For Pair F2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8]) → COND_F2414_1_CREATETREE_INVOKEMETHOD2(&&(>(x1[8], 0), >(x3[8], 1)), f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8]) the following chains were created:
  • We consider the chain F2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8]) → COND_F2414_1_CREATETREE_INVOKEMETHOD2(&&(>(x1[8], 0), >(x3[8], 1)), f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8]), COND_F2414_1_CREATETREE_INVOKEMETHOD2(TRUE, f2698_0_createTree_Return(x0[9]), x1[9], x3[9], x0[9]) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x1[9], 1)), x1[9], -(x3[9], 1), -(x1[9], 1)) which results in the following constraint:

    (6)    (&&(>(x1[8], 0), >(x3[8], 1))=TRUEf2698_0_createTree_Return(x0[8])=f2698_0_createTree_Return(x0[9])∧x1[8]=x1[9]x3[8]=x3[9]x0[8]=x0[9]F2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])≥NonInfC∧F2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])≥COND_F2414_1_CREATETREE_INVOKEMETHOD2(&&(>(x1[8], 0), >(x3[8], 1)), f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])∧(UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD2(&&(>(x1[8], 0), >(x3[8], 1)), f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])), ≥))



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

    (7)    (>(x1[8], 0)=TRUE>(x3[8], 1)=TRUEF2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])≥NonInfC∧F2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])≥COND_F2414_1_CREATETREE_INVOKEMETHOD2(&&(>(x1[8], 0), >(x3[8], 1)), f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])∧(UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD2(&&(>(x1[8], 0), >(x3[8], 1)), f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])), ≥))



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

    (8)    (x1[8] + [-1] ≥ 0∧x3[8] + [-2] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD2(&&(>(x1[8], 0), >(x3[8], 1)), f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])), ≥)∧[(-1)bni_23 + (-1)Bound*bni_23] + [bni_23]x3[8] + [bni_23]x1[8] ≥ 0∧[(-1)bso_24] ≥ 0)



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

    (9)    (x1[8] + [-1] ≥ 0∧x3[8] + [-2] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD2(&&(>(x1[8], 0), >(x3[8], 1)), f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])), ≥)∧[(-1)bni_23 + (-1)Bound*bni_23] + [bni_23]x3[8] + [bni_23]x1[8] ≥ 0∧[(-1)bso_24] ≥ 0)



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

    (10)    (x1[8] + [-1] ≥ 0∧x3[8] + [-2] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD2(&&(>(x1[8], 0), >(x3[8], 1)), f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])), ≥)∧[(-1)bni_23 + (-1)Bound*bni_23] + [bni_23]x3[8] + [bni_23]x1[8] ≥ 0∧[(-1)bso_24] ≥ 0)



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

    (11)    (x1[8] + [-1] ≥ 0∧x3[8] + [-2] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD2(&&(>(x1[8], 0), >(x3[8], 1)), f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])), ≥)∧0 = 0∧[(-1)bni_23 + (-1)Bound*bni_23] + [bni_23]x3[8] + [bni_23]x1[8] ≥ 0∧0 = 0∧[(-1)bso_24] ≥ 0)



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

    (12)    (x1[8] ≥ 0∧x3[8] + [-2] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD2(&&(>(x1[8], 0), >(x3[8], 1)), f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])), ≥)∧0 = 0∧[(-1)Bound*bni_23] + [bni_23]x3[8] + [bni_23]x1[8] ≥ 0∧0 = 0∧[(-1)bso_24] ≥ 0)



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

    (13)    (x1[8] ≥ 0∧x3[8] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD2(&&(>(x1[8], 0), >(x3[8], 1)), f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])), ≥)∧0 = 0∧[(2)bni_23 + (-1)Bound*bni_23] + [bni_23]x3[8] + [bni_23]x1[8] ≥ 0∧0 = 0∧[(-1)bso_24] ≥ 0)







For Pair COND_F2414_1_CREATETREE_INVOKEMETHOD(TRUE, f1697_0_createTree_Return, x2[5], x4[5], 0) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x2[5], 1)), x2[5], -(x4[5], 1), -(x2[5], 1)) the following chains were created:
  • We consider the chain COND_F2414_1_CREATETREE_INVOKEMETHOD(TRUE, f1697_0_createTree_Return, x2[5], x4[5], 0) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x2[5], 1)), x2[5], -(x4[5], 1), -(x2[5], 1)) which results in the following constraint:

    (14)    (COND_F2414_1_CREATETREE_INVOKEMETHOD(TRUE, f1697_0_createTree_Return, x2[5], x4[5], 0)≥NonInfC∧COND_F2414_1_CREATETREE_INVOKEMETHOD(TRUE, f1697_0_createTree_Return, x2[5], x4[5], 0)≥F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x2[5], 1)), x2[5], -(x4[5], 1), -(x2[5], 1))∧(UIncreasing(F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x2[5], 1)), x2[5], -(x4[5], 1), -(x2[5], 1))), ≥))



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

    (15)    ((UIncreasing(F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x2[5], 1)), x2[5], -(x4[5], 1), -(x2[5], 1))), ≥)∧[bni_25] = 0∧[1 + (-1)bso_26] ≥ 0)



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

    (16)    ((UIncreasing(F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x2[5], 1)), x2[5], -(x4[5], 1), -(x2[5], 1))), ≥)∧[bni_25] = 0∧[1 + (-1)bso_26] ≥ 0)



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

    (17)    ((UIncreasing(F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x2[5], 1)), x2[5], -(x4[5], 1), -(x2[5], 1))), ≥)∧[bni_25] = 0∧[1 + (-1)bso_26] ≥ 0)



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

    (18)    ((UIncreasing(F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x2[5], 1)), x2[5], -(x4[5], 1), -(x2[5], 1))), ≥)∧[bni_25] = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_26] ≥ 0)







For Pair F2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2[4], x4[4], 0) → COND_F2414_1_CREATETREE_INVOKEMETHOD(&&(>(x2[4], 0), >(x4[4], 1)), f1697_0_createTree_Return, x2[4], x4[4], 0) the following chains were created:
  • We consider the chain F2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2[4], x4[4], 0) → COND_F2414_1_CREATETREE_INVOKEMETHOD(&&(>(x2[4], 0), >(x4[4], 1)), f1697_0_createTree_Return, x2[4], x4[4], 0), COND_F2414_1_CREATETREE_INVOKEMETHOD(TRUE, f1697_0_createTree_Return, x2[5], x4[5], 0) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x2[5], 1)), x2[5], -(x4[5], 1), -(x2[5], 1)) which results in the following constraint:

    (19)    (&&(>(x2[4], 0), >(x4[4], 1))=TRUEx2[4]=x2[5]x4[4]=x4[5]F2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2[4], x4[4], 0)≥NonInfC∧F2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2[4], x4[4], 0)≥COND_F2414_1_CREATETREE_INVOKEMETHOD(&&(>(x2[4], 0), >(x4[4], 1)), f1697_0_createTree_Return, x2[4], x4[4], 0)∧(UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD(&&(>(x2[4], 0), >(x4[4], 1)), f1697_0_createTree_Return, x2[4], x4[4], 0)), ≥))



    We simplified constraint (19) using rules (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (20)    (>(x2[4], 0)=TRUE>(x4[4], 1)=TRUEF2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2[4], x4[4], 0)≥NonInfC∧F2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2[4], x4[4], 0)≥COND_F2414_1_CREATETREE_INVOKEMETHOD(&&(>(x2[4], 0), >(x4[4], 1)), f1697_0_createTree_Return, x2[4], x4[4], 0)∧(UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD(&&(>(x2[4], 0), >(x4[4], 1)), f1697_0_createTree_Return, x2[4], x4[4], 0)), ≥))



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

    (21)    (x2[4] + [-1] ≥ 0∧x4[4] + [-2] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD(&&(>(x2[4], 0), >(x4[4], 1)), f1697_0_createTree_Return, x2[4], x4[4], 0)), ≥)∧[(-1)bni_27 + (-1)Bound*bni_27] + [bni_27]x4[4] + [bni_27]x2[4] ≥ 0∧[(-1)bso_28] ≥ 0)



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

    (22)    (x2[4] + [-1] ≥ 0∧x4[4] + [-2] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD(&&(>(x2[4], 0), >(x4[4], 1)), f1697_0_createTree_Return, x2[4], x4[4], 0)), ≥)∧[(-1)bni_27 + (-1)Bound*bni_27] + [bni_27]x4[4] + [bni_27]x2[4] ≥ 0∧[(-1)bso_28] ≥ 0)



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

    (23)    (x2[4] + [-1] ≥ 0∧x4[4] + [-2] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD(&&(>(x2[4], 0), >(x4[4], 1)), f1697_0_createTree_Return, x2[4], x4[4], 0)), ≥)∧[(-1)bni_27 + (-1)Bound*bni_27] + [bni_27]x4[4] + [bni_27]x2[4] ≥ 0∧[(-1)bso_28] ≥ 0)



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

    (24)    (x2[4] ≥ 0∧x4[4] + [-2] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD(&&(>(x2[4], 0), >(x4[4], 1)), f1697_0_createTree_Return, x2[4], x4[4], 0)), ≥)∧[(-1)Bound*bni_27] + [bni_27]x4[4] + [bni_27]x2[4] ≥ 0∧[(-1)bso_28] ≥ 0)



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

    (25)    (x2[4] ≥ 0∧x4[4] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD(&&(>(x2[4], 0), >(x4[4], 1)), f1697_0_createTree_Return, x2[4], x4[4], 0)), ≥)∧[(2)bni_27 + (-1)Bound*bni_27] + [bni_27]x4[4] + [bni_27]x2[4] ≥ 0∧[(-1)bso_28] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • COND_F2414_1_CREATETREE_INVOKEMETHOD2(TRUE, f2698_0_createTree_Return(x0[9]), x1[9], x3[9], x0[9]) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x1[9], 1)), x1[9], -(x3[9], 1), -(x1[9], 1))
    • ((UIncreasing(F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x1[9], 1)), x1[9], -(x3[9], 1), -(x1[9], 1))), ≥)∧[bni_21] = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_22] ≥ 0)

  • F2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8]) → COND_F2414_1_CREATETREE_INVOKEMETHOD2(&&(>(x1[8], 0), >(x3[8], 1)), f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])
    • (x1[8] ≥ 0∧x3[8] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD2(&&(>(x1[8], 0), >(x3[8], 1)), f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])), ≥)∧0 = 0∧[(2)bni_23 + (-1)Bound*bni_23] + [bni_23]x3[8] + [bni_23]x1[8] ≥ 0∧0 = 0∧[(-1)bso_24] ≥ 0)

  • COND_F2414_1_CREATETREE_INVOKEMETHOD(TRUE, f1697_0_createTree_Return, x2[5], x4[5], 0) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x2[5], 1)), x2[5], -(x4[5], 1), -(x2[5], 1))
    • ((UIncreasing(F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x2[5], 1)), x2[5], -(x4[5], 1), -(x2[5], 1))), ≥)∧[bni_25] = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_26] ≥ 0)

  • F2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2[4], x4[4], 0) → COND_F2414_1_CREATETREE_INVOKEMETHOD(&&(>(x2[4], 0), >(x4[4], 1)), f1697_0_createTree_Return, x2[4], x4[4], 0)
    • (x2[4] ≥ 0∧x4[4] ≥ 0 ⇒ (UIncreasing(COND_F2414_1_CREATETREE_INVOKEMETHOD(&&(>(x2[4], 0), >(x4[4], 1)), f1697_0_createTree_Return, x2[4], x4[4], 0)), ≥)∧[(2)bni_27 + (-1)Bound*bni_27] + [bni_27]x4[4] + [bni_27]x2[4] ≥ 0∧[(-1)bso_28] ≥ 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(f1688_0_createTree_GT(x1)) = [1] + [-1]x1   
POL(0) = 0   
POL(f1697_0_createTree_Return) = [-1]   
POL(Cond_f1688_0_createTree_GT(x1, x2, x3)) = [-1] + [-1]x3 + x2   
POL(&&(x1, x2)) = [-1]   
POL(>(x1, x2)) = [-1]   
POL(-1) = [-1]   
POL(f2338_0_createTree_LE(x1, x2)) = [1] + [-1]x2 + [-1]x1   
POL(Cond_f1688_0_createTree_GT1(x1, x2)) = [1] + x2   
POL(f1881_0_createTree_InvokeMethod(x1)) = x1   
POL(Cond_f1688_0_createTree_GT2(x1, x2)) = [-1]x2   
POL(f1942_0_createTree_InvokeMethod(x1)) = x1   
POL(f2698_0_createTree_Return(x1)) = x1   
POL(Cond_f2338_0_createTree_LE(x1, x2, x3)) = [-1] + [-1]x3 + [-1]x2   
POL(f2414_1_createTree_InvokeMethod(x1, x2, x3, x4)) = [-1] + [-1]x4 + [-1]x1 + [-1]x3 + [-1]x2   
POL(-(x1, x2)) = x1 + [-1]x2   
POL(1) = [1]   
POL(Cond_f2414_1_createTree_InvokeMethod(x1, x2, x3, x4, x5)) = [1] + [-1]x4 + [-1]x3   
POL(f2628_0_createTree_InvokeMethod(x1)) = x1   
POL(Cond_f2414_1_createTree_InvokeMethod1(x1, x2, x3, x4, x5)) = [-1] + [-1]x5 + [-1]x4 + [-1]x3 + [-1]x2   
POL(f2498_0_createTree_InvokeMethod(x1)) = x1   
POL(COND_F2414_1_CREATETREE_INVOKEMETHOD2(x1, x2, x3, x4, x5)) = [-1] + x3 + x4   
POL(F2414_1_CREATETREE_INVOKEMETHOD'(x1, x2, x3, x4)) = [-1] + x3 + x2   
POL(COND_F2414_1_CREATETREE_INVOKEMETHOD(x1, x2, x3, x4, x5)) = [-1] + x3 + x4   

The following pairs are in P>:

COND_F2414_1_CREATETREE_INVOKEMETHOD2(TRUE, f2698_0_createTree_Return(x0[9]), x1[9], x3[9], x0[9]) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x1[9], 1)), x1[9], -(x3[9], 1), -(x1[9], 1))
COND_F2414_1_CREATETREE_INVOKEMETHOD(TRUE, f1697_0_createTree_Return, x2[5], x4[5], 0) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(-(x2[5], 1)), x2[5], -(x4[5], 1), -(x2[5], 1))

The following pairs are in Pbound:

F2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8]) → COND_F2414_1_CREATETREE_INVOKEMETHOD2(&&(>(x1[8], 0), >(x3[8], 1)), f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])
F2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2[4], x4[4], 0) → COND_F2414_1_CREATETREE_INVOKEMETHOD(&&(>(x2[4], 0), >(x4[4], 1)), f1697_0_createTree_Return, x2[4], x4[4], 0)

The following pairs are in P:

F2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8]) → COND_F2414_1_CREATETREE_INVOKEMETHOD2(&&(>(x1[8], 0), >(x3[8], 1)), f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])
F2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2[4], x4[4], 0) → COND_F2414_1_CREATETREE_INVOKEMETHOD(&&(>(x2[4], 0), >(x4[4], 1)), f1697_0_createTree_Return, x2[4], x4[4], 0)

At least the following rules have been oriented under context sensitive arithmetic replacement:

f1688_0_createTree_GT(0)1f1697_0_createTree_Return1
f2338_0_createTree_LE(x0, x2)1Cond_f2338_0_createTree_LE(&&(>(x0, 0), >(x2, 0)), x0, x2)1
Cond_f2414_1_createTree_InvokeMethod(>(x4, 0), f1697_0_createTree_Return, x2, x4, 0)1f2414_1_createTree_InvokeMethod(f1697_0_createTree_Return, x2, x4, 0)1
f2338_0_createTree_LE(x2, -(x4, 1))1Cond_f2414_1_createTree_InvokeMethod(TRUE, f1697_0_createTree_Return, x2, x4, 0)1
Cond_f1688_0_createTree_GT1(TRUE, x0)1f1881_0_createTree_InvokeMethod(x0)1

(46) Complex Obligation (AND)

(47) 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


The ITRS R consists of the following rules:
f1688_0_createTree_GT(0) → f1697_0_createTree_Return
f1688_0_createTree_GT(x0) → Cond_f1688_0_createTree_GT(x0 > 0 && x1 > -1, x0, x1)
Cond_f1688_0_createTree_GT(TRUE, x0, x1) → f2338_0_createTree_LE(x0, x1)
f1688_0_createTree_GT(x0) → Cond_f1688_0_createTree_GT1(x0 > 0, x0)
Cond_f1688_0_createTree_GT1(TRUE, x0) → f1881_0_createTree_InvokeMethod(x0)
f1688_0_createTree_GT(x0) → Cond_f1688_0_createTree_GT2(x0 > 0, x0)
Cond_f1688_0_createTree_GT2(TRUE, x0) → f1942_0_createTree_InvokeMethod(x0)
f2338_0_createTree_LE(x0, 0) → f2698_0_createTree_Return(x0)
f2338_0_createTree_LE(x0, x2) → Cond_f2338_0_createTree_LE(x0 > 0 && x2 > 0, x0, x2)
Cond_f2338_0_createTree_LE(TRUE, x0, x2) → f2414_1_createTree_InvokeMethod(f1688_0_createTree_GT(x0 - 1), x0, x2, x0 - 1)
f2414_1_createTree_InvokeMethod(f1697_0_createTree_Return, x2, x4, 0) → Cond_f2414_1_createTree_InvokeMethod(x4 > 0, f1697_0_createTree_Return, x2, x4, 0)
Cond_f2414_1_createTree_InvokeMethod(TRUE, f1697_0_createTree_Return, x2, x4, 0) → f2338_0_createTree_LE(x2, x4 - 1)
f2414_1_createTree_InvokeMethod(f1881_0_createTree_InvokeMethod(x0), x1, x3, x0) → f2628_0_createTree_InvokeMethod(x1)
f2414_1_createTree_InvokeMethod(f1942_0_createTree_InvokeMethod(x0), x1, x3, x0) → f2628_0_createTree_InvokeMethod(x1)
f2414_1_createTree_InvokeMethod(f2628_0_createTree_InvokeMethod(x0), x4, x6, x0) → f2628_0_createTree_InvokeMethod(x4)
f2414_1_createTree_InvokeMethod(f2698_0_createTree_Return(x0), x1, x3, x0) → Cond_f2414_1_createTree_InvokeMethod1(x3 > 0, f2698_0_createTree_Return(x0), x1, x3, x0)
Cond_f2414_1_createTree_InvokeMethod1(TRUE, f2698_0_createTree_Return(x0), x1, x3, x0) → f2338_0_createTree_LE(x1, x3 - 1)
f2414_1_createTree_InvokeMethod(f2498_0_createTree_InvokeMethod(x0), x4, x6, x0) → f2628_0_createTree_InvokeMethod(x4)

The integer pair graph contains the following rules and edges:
(8): F2414_1_CREATETREE_INVOKEMETHOD'(f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8]) → COND_F2414_1_CREATETREE_INVOKEMETHOD2(x1[8] > 0 && x3[8] > 1, f2698_0_createTree_Return(x0[8]), x1[8], x3[8], x0[8])
(4): F2414_1_CREATETREE_INVOKEMETHOD'(f1697_0_createTree_Return, x2[4], x4[4], 0) → COND_F2414_1_CREATETREE_INVOKEMETHOD(x2[4] > 0 && x4[4] > 1, f1697_0_createTree_Return, x2[4], x4[4], 0)


The set Q consists of the following terms:
f1688_0_createTree_GT(x0)
Cond_f1688_0_createTree_GT(TRUE, x0, x1)
Cond_f1688_0_createTree_GT1(TRUE, x0)
Cond_f1688_0_createTree_GT2(TRUE, x0)
f2338_0_createTree_LE(x0, x1)
Cond_f2338_0_createTree_LE(TRUE, x0, x1)
f2414_1_createTree_InvokeMethod(f1697_0_createTree_Return, x0, x1, 0)
Cond_f2414_1_createTree_InvokeMethod(TRUE, f1697_0_createTree_Return, x0, x1, 0)
f2414_1_createTree_InvokeMethod(f1881_0_createTree_InvokeMethod(x0), x1, x2, x0)
f2414_1_createTree_InvokeMethod(f1942_0_createTree_InvokeMethod(x0), x1, x2, x0)
f2414_1_createTree_InvokeMethod(f2628_0_createTree_InvokeMethod(x0), x1, x2, x0)
f2414_1_createTree_InvokeMethod(f2698_0_createTree_Return(x0), x1, x2, x0)
Cond_f2414_1_createTree_InvokeMethod1(TRUE, f2698_0_createTree_Return(x0), x1, x2, x0)
f2414_1_createTree_InvokeMethod(f2498_0_createTree_InvokeMethod(x0), x1, x2, x0)

(48) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 2 less nodes.

(49) TRUE

(50) 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


The ITRS R consists of the following rules:
f1688_0_createTree_GT(0) → f1697_0_createTree_Return
f1688_0_createTree_GT(x0) → Cond_f1688_0_createTree_GT(x0 > 0 && x1 > -1, x0, x1)
Cond_f1688_0_createTree_GT(TRUE, x0, x1) → f2338_0_createTree_LE(x0, x1)
f1688_0_createTree_GT(x0) → Cond_f1688_0_createTree_GT1(x0 > 0, x0)
Cond_f1688_0_createTree_GT1(TRUE, x0) → f1881_0_createTree_InvokeMethod(x0)
f1688_0_createTree_GT(x0) → Cond_f1688_0_createTree_GT2(x0 > 0, x0)
Cond_f1688_0_createTree_GT2(TRUE, x0) → f1942_0_createTree_InvokeMethod(x0)
f2338_0_createTree_LE(x0, 0) → f2698_0_createTree_Return(x0)
f2338_0_createTree_LE(x0, x2) → Cond_f2338_0_createTree_LE(x0 > 0 && x2 > 0, x0, x2)
Cond_f2338_0_createTree_LE(TRUE, x0, x2) → f2414_1_createTree_InvokeMethod(f1688_0_createTree_GT(x0 - 1), x0, x2, x0 - 1)
f2414_1_createTree_InvokeMethod(f1697_0_createTree_Return, x2, x4, 0) → Cond_f2414_1_createTree_InvokeMethod(x4 > 0, f1697_0_createTree_Return, x2, x4, 0)
Cond_f2414_1_createTree_InvokeMethod(TRUE, f1697_0_createTree_Return, x2, x4, 0) → f2338_0_createTree_LE(x2, x4 - 1)
f2414_1_createTree_InvokeMethod(f1881_0_createTree_InvokeMethod(x0), x1, x3, x0) → f2628_0_createTree_InvokeMethod(x1)
f2414_1_createTree_InvokeMethod(f1942_0_createTree_InvokeMethod(x0), x1, x3, x0) → f2628_0_createTree_InvokeMethod(x1)
f2414_1_createTree_InvokeMethod(f2628_0_createTree_InvokeMethod(x0), x4, x6, x0) → f2628_0_createTree_InvokeMethod(x4)
f2414_1_createTree_InvokeMethod(f2698_0_createTree_Return(x0), x1, x3, x0) → Cond_f2414_1_createTree_InvokeMethod1(x3 > 0, f2698_0_createTree_Return(x0), x1, x3, x0)
Cond_f2414_1_createTree_InvokeMethod1(TRUE, f2698_0_createTree_Return(x0), x1, x3, x0) → f2338_0_createTree_LE(x1, x3 - 1)
f2414_1_createTree_InvokeMethod(f2498_0_createTree_InvokeMethod(x0), x4, x6, x0) → f2628_0_createTree_InvokeMethod(x4)

The integer pair graph contains the following rules and edges:
(9): COND_F2414_1_CREATETREE_INVOKEMETHOD2(TRUE, f2698_0_createTree_Return(x0[9]), x1[9], x3[9], x0[9]) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(x1[9] - 1), x1[9], x3[9] - 1, x1[9] - 1)
(5): COND_F2414_1_CREATETREE_INVOKEMETHOD(TRUE, f1697_0_createTree_Return, x2[5], x4[5], 0) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(x2[5] - 1), x2[5], x4[5] - 1, x2[5] - 1)


The set Q consists of the following terms:
f1688_0_createTree_GT(x0)
Cond_f1688_0_createTree_GT(TRUE, x0, x1)
Cond_f1688_0_createTree_GT1(TRUE, x0)
Cond_f1688_0_createTree_GT2(TRUE, x0)
f2338_0_createTree_LE(x0, x1)
Cond_f2338_0_createTree_LE(TRUE, x0, x1)
f2414_1_createTree_InvokeMethod(f1697_0_createTree_Return, x0, x1, 0)
Cond_f2414_1_createTree_InvokeMethod(TRUE, f1697_0_createTree_Return, x0, x1, 0)
f2414_1_createTree_InvokeMethod(f1881_0_createTree_InvokeMethod(x0), x1, x2, x0)
f2414_1_createTree_InvokeMethod(f1942_0_createTree_InvokeMethod(x0), x1, x2, x0)
f2414_1_createTree_InvokeMethod(f2628_0_createTree_InvokeMethod(x0), x1, x2, x0)
f2414_1_createTree_InvokeMethod(f2698_0_createTree_Return(x0), x1, x2, x0)
Cond_f2414_1_createTree_InvokeMethod1(TRUE, f2698_0_createTree_Return(x0), x1, x2, x0)
f2414_1_createTree_InvokeMethod(f2498_0_createTree_InvokeMethod(x0), x1, x2, x0)

(51) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 2 less nodes.

(52) TRUE

(53) 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


The ITRS R consists of the following rules:
f1688_0_createTree_GT(0) → f1697_0_createTree_Return
f1688_0_createTree_GT(x0) → Cond_f1688_0_createTree_GT(x0 > 0 && x1 > -1, x0, x1)
Cond_f1688_0_createTree_GT(TRUE, x0, x1) → f2338_0_createTree_LE(x0, x1)
f1688_0_createTree_GT(x0) → Cond_f1688_0_createTree_GT1(x0 > 0, x0)
Cond_f1688_0_createTree_GT1(TRUE, x0) → f1881_0_createTree_InvokeMethod(x0)
f1688_0_createTree_GT(x0) → Cond_f1688_0_createTree_GT2(x0 > 0, x0)
Cond_f1688_0_createTree_GT2(TRUE, x0) → f1942_0_createTree_InvokeMethod(x0)
f2338_0_createTree_LE(x0, 0) → f2698_0_createTree_Return(x0)
f2338_0_createTree_LE(x0, x2) → Cond_f2338_0_createTree_LE(x0 > 0 && x2 > 0, x0, x2)
Cond_f2338_0_createTree_LE(TRUE, x0, x2) → f2414_1_createTree_InvokeMethod(f1688_0_createTree_GT(x0 - 1), x0, x2, x0 - 1)
f2414_1_createTree_InvokeMethod(f1697_0_createTree_Return, x2, x4, 0) → Cond_f2414_1_createTree_InvokeMethod(x4 > 0, f1697_0_createTree_Return, x2, x4, 0)
Cond_f2414_1_createTree_InvokeMethod(TRUE, f1697_0_createTree_Return, x2, x4, 0) → f2338_0_createTree_LE(x2, x4 - 1)
f2414_1_createTree_InvokeMethod(f1881_0_createTree_InvokeMethod(x0), x1, x3, x0) → f2628_0_createTree_InvokeMethod(x1)
f2414_1_createTree_InvokeMethod(f1942_0_createTree_InvokeMethod(x0), x1, x3, x0) → f2628_0_createTree_InvokeMethod(x1)
f2414_1_createTree_InvokeMethod(f2628_0_createTree_InvokeMethod(x0), x4, x6, x0) → f2628_0_createTree_InvokeMethod(x4)
f2414_1_createTree_InvokeMethod(f2698_0_createTree_Return(x0), x1, x3, x0) → Cond_f2414_1_createTree_InvokeMethod1(x3 > 0, f2698_0_createTree_Return(x0), x1, x3, x0)
Cond_f2414_1_createTree_InvokeMethod1(TRUE, f2698_0_createTree_Return(x0), x1, x3, x0) → f2338_0_createTree_LE(x1, x3 - 1)
f2414_1_createTree_InvokeMethod(f2498_0_createTree_InvokeMethod(x0), x4, x6, x0) → f2628_0_createTree_InvokeMethod(x4)

The integer pair graph contains the following rules and edges:
(0): F1688_0_CREATETREE_GT'(x0[0]) → COND_F1688_0_CREATETREE_GT(x0[0] > 0 && x1[0] > 0, x0[0], x1[0])
(1): COND_F1688_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(x0[1] - 1), x0[1], x1[1], x0[1] - 1)
(3): COND_F1688_0_CREATETREE_GT1(TRUE, x0[3]) → F1688_0_CREATETREE_GT'(x0[3] - 1)
(5): COND_F2414_1_CREATETREE_INVOKEMETHOD(TRUE, f1697_0_createTree_Return, x2[5], x4[5], 0) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(x2[5] - 1), x2[5], x4[5] - 1, x2[5] - 1)
(7): COND_F2414_1_CREATETREE_INVOKEMETHOD1(TRUE, f1697_0_createTree_Return, x2[7], x4[7], 0) → F1688_0_CREATETREE_GT'(x2[7] - 1)
(9): COND_F2414_1_CREATETREE_INVOKEMETHOD2(TRUE, f2698_0_createTree_Return(x0[9]), x1[9], x3[9], x0[9]) → F2414_1_CREATETREE_INVOKEMETHOD'(f1688_0_createTree_GT(x1[9] - 1), x1[9], x3[9] - 1, x1[9] - 1)
(11): COND_F2414_1_CREATETREE_INVOKEMETHOD3(TRUE, f2698_0_createTree_Return(x0[11]), x1[11], x3[11], x0[11]) → F1688_0_CREATETREE_GT'(x1[11] - 1)

(3) -> (0), if (x0[3] - 1* x0[0])


(7) -> (0), if (x2[7] - 1* x0[0])


(11) -> (0), if (x1[11] - 1* x0[0])


(0) -> (1), if (x0[0] > 0 && x1[0] > 0x0[0]* x0[1]x1[0]* x1[1])



The set Q consists of the following terms:
f1688_0_createTree_GT(x0)
Cond_f1688_0_createTree_GT(TRUE, x0, x1)
Cond_f1688_0_createTree_GT1(TRUE, x0)
Cond_f1688_0_createTree_GT2(TRUE, x0)
f2338_0_createTree_LE(x0, x1)
Cond_f2338_0_createTree_LE(TRUE, x0, x1)
f2414_1_createTree_InvokeMethod(f1697_0_createTree_Return, x0, x1, 0)
Cond_f2414_1_createTree_InvokeMethod(TRUE, f1697_0_createTree_Return, x0, x1, 0)
f2414_1_createTree_InvokeMethod(f1881_0_createTree_InvokeMethod(x0), x1, x2, x0)
f2414_1_createTree_InvokeMethod(f1942_0_createTree_InvokeMethod(x0), x1, x2, x0)
f2414_1_createTree_InvokeMethod(f2628_0_createTree_InvokeMethod(x0), x1, x2, x0)
f2414_1_createTree_InvokeMethod(f2698_0_createTree_Return(x0), x1, x2, x0)
Cond_f2414_1_createTree_InvokeMethod1(TRUE, f2698_0_createTree_Return(x0), x1, x2, x0)
f2414_1_createTree_InvokeMethod(f2498_0_createTree_InvokeMethod(x0), x1, x2, x0)

(54) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 7 less nodes.

(55) TRUE

(56) Obligation:

SCC of termination graph based on JBC Program.
SCC contains nodes from the following methods: MarkingGraphVisitor.main([Ljava/lang/String;)V
SCC calls the following helper methods: MarkingGraphVisitor.getRandom()LMarkingGraphVisitor;
Performed SCC analyses:
  • Used field analysis yielded the following read fields:
    • MarkingGraphVisitor: [children]
  • Marker field analysis yielded the following relations that could be markers:

(57) SCCToIntTRSProof (SOUND transformation)

Transformed FIGraph SCCs to intTRSs. Log:

Generated rules. Obtained 107 IRules

P rules:
f16872_0_main_Inc(EOS, java.lang.Object(ARRAY(i4479)), o12924, i4481, i4481) → f16911_0_main_LE(EOS, java.lang.Object(ARRAY(i4479)), o12924, +(i4481, -1), i4481)
f16911_0_main_LE(EOS, java.lang.Object(ARRAY(i4479)), o12924, i4570, i4574) → f16924_0_main_LE(EOS, java.lang.Object(ARRAY(i4479)), o12924, i4570, i4574)
f16924_0_main_LE(EOS, java.lang.Object(ARRAY(i4479)), o12924, i4570, i4574) → f16950_0_main_Load(EOS, java.lang.Object(ARRAY(i4479)), o12924, i4570) | >(i4574, 0)
f16950_0_main_Load(EOS, java.lang.Object(ARRAY(i4479)), o12924, i4570) → f17005_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(i4479)), o12924, i4570, o12924)
f17005_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(i4479)), java.lang.Object(o13801sub), i4570, java.lang.Object(o13801sub)) → f17095_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(i4479)), java.lang.Object(o13801sub), i4570, java.lang.Object(o13801sub))
f17095_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(i4479)), java.lang.Object(o13801sub), i4570, java.lang.Object(o13801sub)) → f17203_0_getRandom_InvokeMethod(EOS, java.lang.Object(o13801sub), java.lang.Object(o13801sub))
f17095_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(i4479)), java.lang.Object(o13801sub), i4570, java.lang.Object(o13801sub)) → f17203_1_getRandom_InvokeMethod(EOS, java.lang.Object(ARRAY(i4479)), java.lang.Object(o13801sub), i4570, java.lang.Object(o13801sub), java.lang.Object(o13801sub))
f17203_0_getRandom_InvokeMethod(EOS, java.lang.Object(o13801sub), java.lang.Object(o13801sub)) → f17487_0_getRandom_InvokeMethod(EOS, java.lang.Object(o13801sub), java.lang.Object(o13801sub))
f26607_0_getRandom_Return(EOS, java.lang.Object(ARRAY(i11744)), java.lang.Object(o57171sub), i4570, java.lang.Object(o57171sub), o57166) → f26608_0_getRandom_Return(EOS, java.lang.Object(ARRAY(i11744)), java.lang.Object(o57171sub), i4570, java.lang.Object(o57171sub), o57166)
f26608_0_getRandom_Return(EOS, java.lang.Object(ARRAY(i11749)), java.lang.Object(o57184sub), i4570, java.lang.Object(o57184sub), o57183) → f26612_0_main_Store(EOS, java.lang.Object(ARRAY(i11749)), java.lang.Object(o57184sub), i4570, o57183)
f26612_0_main_Store(EOS, java.lang.Object(ARRAY(i11749)), java.lang.Object(o57184sub), i4570, o57183) → f26615_0_main_Load(EOS, java.lang.Object(ARRAY(i11749)), java.lang.Object(o57184sub), i4570, o57183)
f26615_0_main_Load(EOS, java.lang.Object(ARRAY(i11749)), java.lang.Object(o57184sub), i4570, o57183) → f26618_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(i11749)), java.lang.Object(o57184sub), i4570, o57183, java.lang.Object(o57184sub))
f26618_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(i11749)), java.lang.Object(o57184sub), i4570, o57183, java.lang.Object(o57184sub)) → f26620_0_getRandom_InvokeMethod(EOS, java.lang.Object(o57184sub), o57183, java.lang.Object(o57184sub))
f26618_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(i11749)), java.lang.Object(o57184sub), i4570, o57183, java.lang.Object(o57184sub)) → f26620_1_getRandom_InvokeMethod(EOS, java.lang.Object(ARRAY(i11749)), java.lang.Object(o57184sub), i4570, o57183, java.lang.Object(o57184sub), java.lang.Object(o57184sub))
f26620_0_getRandom_InvokeMethod(EOS, java.lang.Object(o57184sub), o57183, java.lang.Object(o57184sub)) → f26622_0_getRandom_InvokeMethod(EOS, java.lang.Object(o57184sub), o57183, java.lang.Object(o57184sub))
f26637_0_getRandom_Return(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, o57259, java.lang.Object(o57261sub), o57254) → f26646_0_main_Store(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, o57259, o57254)
f26646_0_main_Store(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, o57259, o57254) → f26651_0_main_Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, o57259, o57254)
f26651_0_main_Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, o57259, o57254) → f26653_0_main_New(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, o57259, o57254, o57259)
f26653_0_main_New(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, o57259, o57254, o57259) → f26655_0_main_Duplicate(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, o57259, o57254, o57259, java.lang.Object(List(EOC)))
f26655_0_main_Duplicate(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, o57259, o57254, o57259, java.lang.Object(List(EOC))) → f26657_0_main_Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, o57259, o57254, o57259, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)))
f26657_0_main_Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, o57259, o57254, o57259, java.lang.Object(List(EOC)), java.lang.Object(List(EOC))) → f26659_0_main_Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, o57259, o57259, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254)
f26659_0_main_Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, o57259, o57259, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254) → f26661_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, o57259, java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57259)
f26661_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(o57352sub), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, java.lang.Object(o57352sub)) → f26663_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(o57352sub), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, java.lang.Object(o57352sub))
f26663_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(o57352sub), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, java.lang.Object(o57352sub)) → f26666_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(o57352sub), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, java.lang.Object(o57352sub))
f26663_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57362sub), i4570, java.lang.Object(o57362sub), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, java.lang.Object(o57362sub)) → f26667_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57362sub), i4570, java.lang.Object(o57362sub), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, java.lang.Object(o57362sub))
f26666_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(o57352sub), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, java.lang.Object(o57352sub)) → f26670_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(o57352sub), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, java.lang.Object(o57352sub))
f26666_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(o57372sub), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(o57372sub), java.lang.Object(o57372sub)) → f26671_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(o57372sub), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(o57372sub), java.lang.Object(o57372sub))
f26670_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57383)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, java.lang.Object(MarkingGraphVisitor(EOC, o57383))) → f26678_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57383)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, java.lang.Object(MarkingGraphVisitor(EOC, o57383)))
f26678_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57383)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, java.lang.Object(MarkingGraphVisitor(EOC, o57383))) → f26687_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57383)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57383)
f26687_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57383)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57383) → f26695_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57383)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57383, java.lang.Object(List(EOC)), o57254, o57383)
f26695_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57383)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57383, java.lang.Object(List(EOC)), o57254, o57383) → f26705_0__init__InvokeMethod(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57383)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57383, java.lang.Object(List(EOC)), o57254, o57383, java.lang.Object(List(EOC)))
f26705_0__init__InvokeMethod(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57383)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57383, java.lang.Object(List(EOC)), o57254, o57383, java.lang.Object(List(EOC))) → f26715_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57383)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57383, java.lang.Object(List(EOC)), o57254, o57383)
f26715_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57383)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57383, java.lang.Object(List(EOC)), o57254, o57383) → f26739_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57383)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57383, java.lang.Object(List(EOC)), o57254, o57383, java.lang.Object(List(EOC)))
f26739_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57383)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57383, java.lang.Object(List(EOC)), o57254, o57383, java.lang.Object(List(EOC))) → f26750_0__init__FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57383)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57383, java.lang.Object(List(EOC)), o57383, java.lang.Object(List(EOC)), o57254)
f26750_0__init__FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57383)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57383, java.lang.Object(List(EOC)), o57383, java.lang.Object(List(EOC)), o57254) → f26760_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57383)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57383, java.lang.Object(List(EOC)), o57383)
f26760_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57383)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57383, java.lang.Object(List(EOC)), o57383) → f26769_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57383)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57383, o57383, java.lang.Object(List(EOC)))
f26769_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57383)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57383, o57383, java.lang.Object(List(EOC))) → f26776_0__init__FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57383)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57383, java.lang.Object(List(EOC)), o57383)
f26776_0__init__FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57383)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57383, java.lang.Object(List(EOC)), o57383) → f26785_0__init__Return(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57383)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57383)
f26785_0__init__Return(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57383)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57383) → f26794_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57383)), java.lang.Object(List(EOC)))
f26794_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57383)), java.lang.Object(List(EOC))) → f26802_0_main_JMP(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261put), i4570)
f26802_0_main_JMP(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570) → f26804_0_main_JMP(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570)
f26804_0_main_JMP(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570) → f26813_0_main_Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570)
f26813_0_main_Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570) → f16710_0_main_Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570)
f16710_0_main_Load(EOS, java.lang.Object(ARRAY(i4479)), o12924, i4481) → f16872_0_main_Inc(EOS, java.lang.Object(ARRAY(i4479)), o12924, i4481, i4481)
f26671_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57388)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57388)), java.lang.Object(MarkingGraphVisitor(EOC, o57388))) → f26680_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57388)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57388)), java.lang.Object(MarkingGraphVisitor(EOC, o57388)))
f26680_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57388)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57388)), java.lang.Object(MarkingGraphVisitor(EOC, o57388))) → f26689_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57388)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57388)), o57388)
f26689_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57388)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57388)), o57388) → f26696_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57388)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57388)), o57388, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57388)), o57388)
f26696_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57388)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57388)), o57388, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57388)), o57388) → f26706_0__init__InvokeMethod(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57388)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57388)), o57388, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57388)), o57388, java.lang.Object(List(EOC)))
f26706_0__init__InvokeMethod(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57388)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57388)), o57388, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57388)), o57388, java.lang.Object(List(EOC))) → f26719_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57388)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57388)), o57388, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57388)), o57388)
f26719_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57388)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57388)), o57388, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57388)), o57388) → f26741_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57388)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57388)), o57388, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57388)), o57388, java.lang.Object(List(EOC)))
f26741_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57388)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57388)), o57388, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57388)), o57388, java.lang.Object(List(EOC))) → f26753_0__init__FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57388)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57388)), o57388, java.lang.Object(List(EOC)), o57388, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57388)))
f26753_0__init__FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57388)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57388)), o57388, java.lang.Object(List(EOC)), o57388, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57388))) → f26762_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57388)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57388)), o57388, java.lang.Object(List(EOC)), o57388)
f26762_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57388)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57388)), o57388, java.lang.Object(List(EOC)), o57388) → f26770_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57388)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57388)), o57388, o57388, java.lang.Object(List(EOC)))
f26770_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57388)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57388)), o57388, o57388, java.lang.Object(List(EOC))) → f26778_0__init__FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57388)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57388)), o57388, java.lang.Object(List(EOC)), o57388)
f26778_0__init__FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57388)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57388)), o57388, java.lang.Object(List(EOC)), o57388) → f26787_0__init__Return(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57388)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57388)), o57388)
f26787_0__init__Return(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57388)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57388)), o57388) → f26795_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57388)), java.lang.Object(List(EOC)))
f26795_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57388)), java.lang.Object(List(EOC))) → f26804_0_main_JMP(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261put), i4570)
f26667_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57362sub), i4570, java.lang.Object(o57362sub), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, java.lang.Object(o57362sub)) → f26673_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57362sub), i4570, java.lang.Object(o57362sub), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, java.lang.Object(o57362sub))
f26667_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57375sub), i4570, java.lang.Object(o57375sub), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(o57375sub), java.lang.Object(o57375sub)) → f26674_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57375sub), i4570, java.lang.Object(o57375sub), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(o57375sub), java.lang.Object(o57375sub))
f26673_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57391)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57391)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, java.lang.Object(MarkingGraphVisitor(EOC, o57391))) → f26682_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57391)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57391)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, java.lang.Object(MarkingGraphVisitor(EOC, o57391)))
f26682_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57391)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57391)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, java.lang.Object(MarkingGraphVisitor(EOC, o57391))) → f26690_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57391)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57391)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57391)
f26690_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57391)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57391)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57391) → f26698_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57391)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57391)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57391, java.lang.Object(List(EOC)), o57254, o57391)
f26698_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57391)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57391)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57391, java.lang.Object(List(EOC)), o57254, o57391) → f26709_0__init__InvokeMethod(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57391)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57391)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57391, java.lang.Object(List(EOC)), o57254, o57391, java.lang.Object(List(EOC)))
f26709_0__init__InvokeMethod(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57391)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57391)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57391, java.lang.Object(List(EOC)), o57254, o57391, java.lang.Object(List(EOC))) → f26723_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57391)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57391)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57391, java.lang.Object(List(EOC)), o57254, o57391)
f26723_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57391)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57391)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57391, java.lang.Object(List(EOC)), o57254, o57391) → f26744_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57391)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57391)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57391, java.lang.Object(List(EOC)), o57254, o57391, java.lang.Object(List(EOC)))
f26744_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57391)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57391)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57391, java.lang.Object(List(EOC)), o57254, o57391, java.lang.Object(List(EOC))) → f26755_0__init__FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57391)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57391)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57391, java.lang.Object(List(EOC)), o57391, java.lang.Object(List(EOC)), o57254)
f26755_0__init__FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57391)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57391)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57391, java.lang.Object(List(EOC)), o57391, java.lang.Object(List(EOC)), o57254) → f26764_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57391)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57391)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57391, java.lang.Object(List(EOC)), o57391)
f26764_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57391)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57391)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57391, java.lang.Object(List(EOC)), o57391) → f26772_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57391)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57391)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57391, o57391, java.lang.Object(List(EOC)))
f26772_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57391)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57391)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57391, o57391, java.lang.Object(List(EOC))) → f26780_0__init__FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57391)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57391)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57391, java.lang.Object(List(EOC)), o57391)
f26780_0__init__FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57391)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57391)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57391, java.lang.Object(List(EOC)), o57391) → f26789_0__init__Return(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57391)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57391)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57391)
f26789_0__init__Return(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57391)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57391)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), o57254, o57391) → f26797_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57391)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57391)), java.lang.Object(List(EOC)))
f26797_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57391)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57391)), java.lang.Object(List(EOC))) → f26806_0_main_JMP(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(List(EOC)))), i4570)
f26806_0_main_JMP(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(List(EOC)))), i4570) → f26815_0_main_Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(List(EOC)))), i4570)
f26815_0_main_Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(List(EOC)))), i4570) → f16710_0_main_Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(List(EOC)))), i4570)
f26674_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57403)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), java.lang.Object(MarkingGraphVisitor(EOC, o57403))) → f26684_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57403)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)))
f26684_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57403)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), java.lang.Object(MarkingGraphVisitor(EOC, o57403))) → f26692_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57403)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), o57403)
f26692_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57403)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), o57403) → f26699_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57403)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), o57403, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), o57403)
f26699_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57403)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), o57403, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), o57403) → f26712_0__init__InvokeMethod(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57403)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), o57403, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), o57403, java.lang.Object(List(EOC)))
f26712_0__init__InvokeMethod(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57403)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), o57403, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), o57403, java.lang.Object(List(EOC))) → f26728_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57403)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), o57403, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), o57403)
f26728_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57403)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), o57403, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), o57403) → f26746_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57403)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), o57403, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), o57403, java.lang.Object(List(EOC)))
f26746_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57403)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), o57403, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), o57403, java.lang.Object(List(EOC))) → f26758_0__init__FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57403)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), o57403, java.lang.Object(List(EOC)), o57403, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)))
f26758_0__init__FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57403)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), o57403, java.lang.Object(List(EOC)), o57403, java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57403))) → f26765_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57403)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), o57403, java.lang.Object(List(EOC)), o57403)
f26765_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57403)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), o57403, java.lang.Object(List(EOC)), o57403) → f26774_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57403)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), o57403, o57403, java.lang.Object(List(EOC)))
f26774_0__init__Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57403)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), o57403, o57403, java.lang.Object(List(EOC))) → f26782_0__init__FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57403)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), o57403, java.lang.Object(List(EOC)), o57403)
f26782_0__init__FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57403)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), o57403, java.lang.Object(List(EOC)), o57403) → f26790_0__init__Return(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57403)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), o57403)
f26790_0__init__Return(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57403)), java.lang.Object(List(EOC)), java.lang.Object(List(EOC)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), o57403) → f26799_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57403)), java.lang.Object(List(EOC)))
f26799_0_main_FieldAccess(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, o57403)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, o57403)), java.lang.Object(List(EOC))) → f26808_0_main_JMP(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(List(EOC)))), i4570)
f26808_0_main_JMP(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(List(EOC)))), i4570) → f26817_0_main_Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(List(EOC)))), i4570)
f26817_0_main_Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(List(EOC)))), i4570) → f16710_0_main_Load(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(List(EOC)))), i4570)
f26710_0_getRandom_Return(EOS, java.lang.Object(ARRAY(i11835)), java.lang.Object(o57453sub), i4570, o57451, java.lang.Object(o57453sub), java.lang.Object(MarkingGraphVisitor(EOC, NULL))) → f26637_0_getRandom_Return(EOS, java.lang.Object(ARRAY(i11835)), java.lang.Object(o57453sub), i4570, o57451, java.lang.Object(o57453sub), java.lang.Object(MarkingGraphVisitor(EOC, NULL)))
f26717_0_getRandom_Return(EOS, java.lang.Object(ARRAY(i11846)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)), i4570, o57470, java.lang.Object(MarkingGraphVisitor(EOC, NULL)), java.lang.Object(MarkingGraphVisitor(EOC, NULL))) → f26637_0_getRandom_Return(EOS, java.lang.Object(ARRAY(i11846)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)), i4570, o57470, java.lang.Object(MarkingGraphVisitor(EOC, NULL)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)))
f26725_0_getRandom_Return(EOS, java.lang.Object(ARRAY(i11859)), java.lang.Object(o57511sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, NULL)), java.lang.Object(o57511sub), java.lang.Object(MarkingGraphVisitor(EOC, NULL))) → f26637_0_getRandom_Return(EOS, java.lang.Object(ARRAY(i11859)), java.lang.Object(o57511sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, NULL)), java.lang.Object(o57511sub), java.lang.Object(MarkingGraphVisitor(EOC, NULL)))
f26737_0_getRandom_Return(EOS, java.lang.Object(ARRAY(i11888)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, NULL)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)), java.lang.Object(MarkingGraphVisitor(EOC, NULL))) → f26637_0_getRandom_Return(EOS, java.lang.Object(ARRAY(i11888)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, NULL)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)))
f26708_0_getRandom_Return(EOS, java.lang.Object(ARRAY(i11830)), java.lang.Object(o57442sub), i4570, java.lang.Object(o57442sub), java.lang.Object(MarkingGraphVisitor(EOC, NULL))) → f26608_0_getRandom_Return(EOS, java.lang.Object(ARRAY(i11830)), java.lang.Object(o57442sub), i4570, java.lang.Object(o57442sub), java.lang.Object(MarkingGraphVisitor(EOC, NULL)))
f26714_0_getRandom_Return(EOS, java.lang.Object(ARRAY(i11841)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, NULL)), java.lang.Object(MarkingGraphVisitor(EOC, NULL))) → f26608_0_getRandom_Return(EOS, java.lang.Object(ARRAY(i11841)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, NULL)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)))
f26721_0_getRandom_Return(EOS, java.lang.Object(ARRAY(i11854)), java.lang.Object(o57493sub), i4570, java.lang.Object(o57493sub), java.lang.Object(MarkingGraphVisitor(EOC, NULL))) → f26608_0_getRandom_Return(EOS, java.lang.Object(ARRAY(i11854)), java.lang.Object(o57493sub), i4570, java.lang.Object(o57493sub), java.lang.Object(MarkingGraphVisitor(EOC, NULL)))
f26731_0_getRandom_Return(EOS, java.lang.Object(ARRAY(i11869)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, NULL)), java.lang.Object(MarkingGraphVisitor(EOC, NULL))) → f26608_0_getRandom_Return(EOS, java.lang.Object(ARRAY(i11869)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, NULL)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)))
f17203_1_getRandom_InvokeMethod(EOS, java.lang.Object(ARRAY(i11744)), java.lang.Object(o57171sub), i4570, java.lang.Object(o57171sub), java.lang.Object(o57171sub)) → f26607_0_getRandom_Return(EOS, java.lang.Object(ARRAY(i11744)), java.lang.Object(o57171sub), i4570, java.lang.Object(o57171sub), o57166)
f17203_1_getRandom_InvokeMethod(EOS, java.lang.Object(ARRAY(i11830)), java.lang.Object(o57442sub), i4570, java.lang.Object(o57442sub), java.lang.Object(o57442sub)) → f26708_0_getRandom_Return(EOS, java.lang.Object(ARRAY(i11830)), java.lang.Object(o57442sub), i4570, java.lang.Object(o57442sub), java.lang.Object(MarkingGraphVisitor(EOC, NULL)))
f17203_1_getRandom_InvokeMethod(EOS, java.lang.Object(ARRAY(i11841)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, NULL)), java.lang.Object(MarkingGraphVisitor(EOC, NULL))) → f26714_0_getRandom_Return(EOS, java.lang.Object(ARRAY(i11841)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, NULL)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)))
f17203_1_getRandom_InvokeMethod(EOS, java.lang.Object(ARRAY(i11854)), java.lang.Object(o57493sub), i4570, java.lang.Object(o57493sub), java.lang.Object(o57493sub)) → f26721_0_getRandom_Return(EOS, java.lang.Object(ARRAY(i11854)), java.lang.Object(o57493sub), i4570, java.lang.Object(o57493sub), java.lang.Object(MarkingGraphVisitor(EOC, NULL)))
f17203_1_getRandom_InvokeMethod(EOS, java.lang.Object(ARRAY(i11869)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, NULL)), java.lang.Object(MarkingGraphVisitor(EOC, NULL))) → f26731_0_getRandom_Return(EOS, java.lang.Object(ARRAY(i11869)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, NULL)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)))
f26620_1_getRandom_InvokeMethod(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, o57259, java.lang.Object(o57261sub), java.lang.Object(o57261sub)) → f26637_0_getRandom_Return(EOS, java.lang.Object(ARRAY(i11787)), java.lang.Object(o57261sub), i4570, o57259, java.lang.Object(o57261sub), o57254)
f26620_1_getRandom_InvokeMethod(EOS, java.lang.Object(ARRAY(i11835)), java.lang.Object(o57453sub), i4570, o57451, java.lang.Object(o57453sub), java.lang.Object(o57453sub)) → f26710_0_getRandom_Return(EOS, java.lang.Object(ARRAY(i11835)), java.lang.Object(o57453sub), i4570, o57451, java.lang.Object(o57453sub), java.lang.Object(MarkingGraphVisitor(EOC, NULL)))
f26620_1_getRandom_InvokeMethod(EOS, java.lang.Object(ARRAY(i11846)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)), i4570, o57470, java.lang.Object(MarkingGraphVisitor(EOC, NULL)), java.lang.Object(MarkingGraphVisitor(EOC, NULL))) → f26717_0_getRandom_Return(EOS, java.lang.Object(ARRAY(i11846)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)), i4570, o57470, java.lang.Object(MarkingGraphVisitor(EOC, NULL)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)))
f26620_1_getRandom_InvokeMethod(EOS, java.lang.Object(ARRAY(i11859)), java.lang.Object(o57511sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, NULL)), java.lang.Object(o57511sub), java.lang.Object(o57511sub)) → f26725_0_getRandom_Return(EOS, java.lang.Object(ARRAY(i11859)), java.lang.Object(o57511sub), i4570, java.lang.Object(MarkingGraphVisitor(EOC, NULL)), java.lang.Object(o57511sub), java.lang.Object(MarkingGraphVisitor(EOC, NULL)))
f26620_1_getRandom_InvokeMethod(EOS, java.lang.Object(ARRAY(i11888)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, NULL)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)), java.lang.Object(MarkingGraphVisitor(EOC, NULL))) → f26737_0_getRandom_Return(EOS, java.lang.Object(ARRAY(i11888)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)), i4570, java.lang.Object(MarkingGraphVisitor(EOC, NULL)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)))

Combined rules. Obtained 14 IRules

P rules:
f16872_0_main_Inc(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(x1), x2, x2) → f17487_0_getRandom_InvokeMethod(EOS, java.lang.Object(x1), java.lang.Object(x1)) | >(x2, 0)
f26618_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(x1), x2, x3, java.lang.Object(x1)) → f26622_0_getRandom_InvokeMethod(EOS, java.lang.Object(x1), x3, java.lang.Object(x1))
f26618_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(x1), x2, x3, java.lang.Object(x1)) → f26637_0_getRandom_Return(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(x1), x2, x3, java.lang.Object(x1), x4)
f26637_0_getRandom_Return(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(x1), x2, java.lang.Object(MarkingGraphVisitor(EOC, x3)), java.lang.Object(x1), x4) → f16872_0_main_Inc(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(x5), x2, x2)
f26637_0_getRandom_Return(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(x1), x2, java.lang.Object(MarkingGraphVisitor(EOC, x3)), java.lang.Object(x1), java.lang.Object(MarkingGraphVisitor(EOC, x3))) → f16872_0_main_Inc(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(x4), x2, x2)
f26637_0_getRandom_Return(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(MarkingGraphVisitor(EOC, x1)), x2, java.lang.Object(MarkingGraphVisitor(EOC, x1)), java.lang.Object(MarkingGraphVisitor(EOC, x1)), x3) → f16872_0_main_Inc(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(List(EOC)))), x2, x2)
f26637_0_getRandom_Return(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(MarkingGraphVisitor(EOC, x1)), x2, java.lang.Object(MarkingGraphVisitor(EOC, x1)), java.lang.Object(MarkingGraphVisitor(EOC, x1)), java.lang.Object(MarkingGraphVisitor(EOC, x1))) → f16872_0_main_Inc(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(MarkingGraphVisitor(EOC, java.lang.Object(List(EOC)))), x2, x2)
f16872_0_main_Inc(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(x1), x2, x2) → f26618_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(x1), -(x2, 1), x3, java.lang.Object(x1)) | >(x2, 0)
f16872_0_main_Inc(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(x1), x2, x2) → f26618_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(x1), -(x2, 1), java.lang.Object(MarkingGraphVisitor(EOC, NULL)), java.lang.Object(x1)) | >(x2, 0)
f16872_0_main_Inc(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)), x1, x1) → f26618_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)), -(x1, 1), java.lang.Object(MarkingGraphVisitor(EOC, NULL)), java.lang.Object(MarkingGraphVisitor(EOC, NULL))) | >(x1, 0)
f26618_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(x1), x2, x3, java.lang.Object(x1)) → f26637_0_getRandom_Return(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(x1), x2, x3, java.lang.Object(x1), java.lang.Object(MarkingGraphVisitor(EOC, NULL)))
f26618_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)), x1, x2, java.lang.Object(MarkingGraphVisitor(EOC, NULL))) → f26637_0_getRandom_Return(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)), x1, x2, java.lang.Object(MarkingGraphVisitor(EOC, NULL)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)))
f26618_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(x1), x2, java.lang.Object(MarkingGraphVisitor(EOC, NULL)), java.lang.Object(x1)) → f26637_0_getRandom_Return(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(x1), x2, java.lang.Object(MarkingGraphVisitor(EOC, NULL)), java.lang.Object(x1), java.lang.Object(MarkingGraphVisitor(EOC, NULL)))
f26618_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)), x1, java.lang.Object(MarkingGraphVisitor(EOC, NULL)), java.lang.Object(MarkingGraphVisitor(EOC, NULL))) → f26637_0_getRandom_Return(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)), x1, java.lang.Object(MarkingGraphVisitor(EOC, NULL)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)), java.lang.Object(MarkingGraphVisitor(EOC, NULL)))

Filtered ground terms:


f16872_0_main_Inc(x1, x2, x3, x4, x5) → f16872_0_main_Inc(x2, x3, x4, x5)
Cond_f16872_0_main_Inc(x1, x2, x3, x4, x5, x6) → Cond_f16872_0_main_Inc(x1, x3, x4, x5, x6)
f17487_0_getRandom_InvokeMethod(x1, x2, x3) → f17487_0_getRandom_InvokeMethod(x2, x3)
f26618_0_main_InvokeMethod(x1, x2, x3, x4, x5, x6) → f26618_0_main_InvokeMethod(x2, x3, x4, x5, x6)
f26622_0_getRandom_InvokeMethod(x1, x2, x3, x4) → f26622_0_getRandom_InvokeMethod(x2, x3, x4)
f26637_0_getRandom_Return(x1, x2, x3, x4, x5, x6, x7) → f26637_0_getRandom_Return(x2, x3, x4, x5, x6, x7)
Cond_f16872_0_main_Inc1(x1, x2, x3, x4, x5, x6, x7) → Cond_f16872_0_main_Inc1(x1, x3, x4, x5, x6, x7)
Cond_f16872_0_main_Inc2(x1, x2, x3, x4, x5, x6) → Cond_f16872_0_main_Inc2(x1, x3, x4, x5, x6)
Cond_f16872_0_main_Inc3(x1, x2, x3, x4, x5, x6) → Cond_f16872_0_main_Inc3(x1, x3, x5, x6)
MarkingGraphVisitor(x1, x2) → MarkingGraphVisitor(x2)
List(x1) → List

Filtered duplicate terms:


f16872_0_main_Inc(x1, x2, x3, x4) → f16872_0_main_Inc(x1, x2, x4)
Cond_f16872_0_main_Inc(x1, x2, x3, x4, x5) → Cond_f16872_0_main_Inc(x1, x2, x3, x5)
f17487_0_getRandom_InvokeMethod(x1, x2) → f17487_0_getRandom_InvokeMethod(x2)
f26618_0_main_InvokeMethod(x1, x2, x3, x4, x5) → f26618_0_main_InvokeMethod(x1, x3, x4, x5)
f26622_0_getRandom_InvokeMethod(x1, x2, x3) → f26622_0_getRandom_InvokeMethod(x2, x3)
f26637_0_getRandom_Return(x1, x2, x3, x4, x5, x6) → f26637_0_getRandom_Return(x1, x3, x4, x5, x6)
Cond_f16872_0_main_Inc1(x1, x2, x3, x4, x5, x6) → Cond_f16872_0_main_Inc1(x1, x2, x3, x5, x6)
Cond_f16872_0_main_Inc2(x1, x2, x3, x4, x5) → Cond_f16872_0_main_Inc2(x1, x2, x3, x5)
Cond_f16872_0_main_Inc3(x1, x2, x3, x4) → Cond_f16872_0_main_Inc3(x1, x2, x4)

Filtered unneeded terms:


f16872_0_main_Inc(x1, x2, x3) → f16872_0_main_Inc(x2, x3)
Cond_f16872_0_main_Inc(x1, x2, x3, x4) → Cond_f16872_0_main_Inc(x1)
f26618_0_main_InvokeMethod(x1, x2, x3, x4) → f26618_0_main_InvokeMethod(x2, x3, x4)
f26637_0_getRandom_Return(x1, x2, x3, x4, x5) → f26637_0_getRandom_Return(x2, x3, x4, x5)
Cond_f16872_0_main_Inc1(x1, x2, x3, x4, x5) → Cond_f16872_0_main_Inc1(x1, x3, x4, x5)
Cond_f16872_0_main_Inc2(x1, x2, x3, x4) → Cond_f16872_0_main_Inc2(x1, x3, x4)
Cond_f16872_0_main_Inc3(x1, x2, x3) → Cond_f16872_0_main_Inc3(x1, x3)

Prepared 14 rules for path length conversion:

P rules:
f16872_0_main_Inc(java.lang.Object(x1), x2) → f17487_0_getRandom_InvokeMethod(java.lang.Object(x1)) | >(x2, 0)
f26618_0_main_InvokeMethod(x2, x3, java.lang.Object(x1)) → f26622_0_getRandom_InvokeMethod(x3, java.lang.Object(x1))
f26618_0_main_InvokeMethod(x2, x3, java.lang.Object(x1)) → f26637_0_getRandom_Return(x2, x3, java.lang.Object(x1), x4)
f26637_0_getRandom_Return(x2, java.lang.Object(MarkingGraphVisitor(x3)), java.lang.Object(x1), x4) → f16872_0_main_Inc(java.lang.Object(x5), x2)
f26637_0_getRandom_Return(x2, java.lang.Object(MarkingGraphVisitor(x3)), java.lang.Object(x1), java.lang.Object(MarkingGraphVisitor(x3))) → f16872_0_main_Inc(java.lang.Object(x4), x2)
f26637_0_getRandom_Return(x2, java.lang.Object(MarkingGraphVisitor(x1)), java.lang.Object(MarkingGraphVisitor(x1)), x3) → f16872_0_main_Inc(java.lang.Object(MarkingGraphVisitor(java.lang.Object(List))), x2)
f26637_0_getRandom_Return(x2, java.lang.Object(MarkingGraphVisitor(x1)), java.lang.Object(MarkingGraphVisitor(x1)), java.lang.Object(MarkingGraphVisitor(x1))) → f16872_0_main_Inc(java.lang.Object(MarkingGraphVisitor(java.lang.Object(List))), x2)
f16872_0_main_Inc(java.lang.Object(x1), x2) → f26618_0_main_InvokeMethod(-(x2, 1), x3, java.lang.Object(x1)) | >(x2, 0)
f16872_0_main_Inc(java.lang.Object(x1), x2) → f26618_0_main_InvokeMethod(-(x2, 1), java.lang.Object(MarkingGraphVisitor(NULL)), java.lang.Object(x1)) | >(x2, 0)
f16872_0_main_Inc(java.lang.Object(MarkingGraphVisitor(NULL)), x1) → f26618_0_main_InvokeMethod(-(x1, 1), java.lang.Object(MarkingGraphVisitor(NULL)), java.lang.Object(MarkingGraphVisitor(NULL))) | >(x1, 0)
f26618_0_main_InvokeMethod(x2, x3, java.lang.Object(x1)) → f26637_0_getRandom_Return(x2, x3, java.lang.Object(x1), java.lang.Object(MarkingGraphVisitor(NULL)))
f26618_0_main_InvokeMethod(x1, x2, java.lang.Object(MarkingGraphVisitor(NULL))) → f26637_0_getRandom_Return(x1, x2, java.lang.Object(MarkingGraphVisitor(NULL)), java.lang.Object(MarkingGraphVisitor(NULL)))
f26618_0_main_InvokeMethod(x2, java.lang.Object(MarkingGraphVisitor(NULL)), java.lang.Object(x1)) → f26637_0_getRandom_Return(x2, java.lang.Object(MarkingGraphVisitor(NULL)), java.lang.Object(x1), java.lang.Object(MarkingGraphVisitor(NULL)))
f26618_0_main_InvokeMethod(x1, java.lang.Object(MarkingGraphVisitor(NULL)), java.lang.Object(MarkingGraphVisitor(NULL))) → f26637_0_getRandom_Return(x1, java.lang.Object(MarkingGraphVisitor(NULL)), java.lang.Object(MarkingGraphVisitor(NULL)), java.lang.Object(MarkingGraphVisitor(NULL)))

Finished conversion. Obtained 12 rules.

P rules:
f26618_0_main_InvokeMethod(x5, v46, v47) → f26637_0_getRandom_Return(x5, v48, v49, v50) | &&(&&(&&(&&(&&(&&(>(+(v50, 1), 0), >(+(v49, 1), 1)), <=(v49, v47)), >(+(v48, 1), 0)), <=(v48, v46)), >(+(v47, 1), 1)), >(+(v46, 1), 0))
f26637_0_getRandom_Return(x9, v51, v52, v53) → f16872_0_main_Inc(v54, x9) | &&(&&(&&(>(+(v54, 1), 1), >(+(v53, 1), 0)), >(+(v52, 1), 1)), >(+(v51, 1), 1))
f26637_0_getRandom_Return(x14, v55, v56, v57) → f16872_0_main_Inc(v58, x14) | &&(&&(&&(>(+(v58, 1), 1), >(+(v57, 1), 1)), >(+(v56, 1), 1)), >(+(v55, 1), 1))
f26637_0_getRandom_Return(x18, v59, v60, v61) → f16872_0_main_Inc(v62, x18) | &&(&&(&&(&&(&&(&&(>(+(v62, 1), 3), <=(-(v62, 3), v61)), <=(-(v62, 2), v60)), <=(-(v62, 2), v59)), >(+(v61, 1), 0)), >(+(v60, 1), 1)), >(+(v59, 1), 1))
f26637_0_getRandom_Return(x21, v63, v64, v65) → f16872_0_main_Inc(v66, x21) | &&(&&(&&(&&(&&(&&(>(+(v66, 1), 3), <=(-(v66, 2), v65)), <=(-(v66, 2), v64)), <=(-(v66, 2), v63)), >(+(v65, 1), 1)), >(+(v64, 1), 1)), >(+(v63, 1), 1))
f16872_0_main_Inc(v67, x24) → f26618_0_main_InvokeMethod(-(x24, 1), v68, v69) | &&(&&(&&(&&(>(x24, 0), >(+(v69, 1), 1)), <=(v69, v67)), >(+(v68, 1), 0)), >(+(v67, 1), 1))
f16872_0_main_Inc(v70, x27) → f26618_0_main_InvokeMethod(-(x27, 1), v71, v72) | &&(&&(&&(&&(&&(>(x27, 0), >(+(v72, 1), 1)), <=(v72, v70)), >(+(v71, 1), 2)), <=(-(v71, 1), v70)), >(+(v70, 1), 1))
f16872_0_main_Inc(v73, x28) → f26618_0_main_InvokeMethod(-(x28, 1), v74, v75) | &&(&&(&&(&&(&&(>(x28, 0), >(+(v75, 1), 2)), <=(v75, v73)), >(+(v74, 1), 2)), <=(v74, v73)), >(+(v73, 1), 2))
f26618_0_main_InvokeMethod(x29, v76, v77) → f26637_0_getRandom_Return(x29, v78, v79, v80) | &&(&&(&&(&&(&&(&&(&&(&&(>(+(v80, 1), 2), <=(-(v80, 2), v76)), <=(-(v80, 1), v77)), >(+(v79, 1), 1)), <=(v79, v77)), >(+(v78, 1), 0)), <=(v78, v76)), >(+(v77, 1), 1)), >(+(v76, 1), 0))
f26618_0_main_InvokeMethod(x32, v81, v82) → f26637_0_getRandom_Return(x32, v83, v84, v85) | &&(&&(&&(&&(&&(&&(&&(&&(&&(>(+(v85, 1), 2), <=(v85, v82)), <=(-(v85, 2), v81)), >(+(v84, 1), 2)), <=(v84, v82)), <=(-(v84, 2), v81)), >(+(v83, 1), 0)), <=(v83, v81)), >(+(v82, 1), 2)), >(+(v81, 1), 0))
f26618_0_main_InvokeMethod(x34, v86, v87) → f26637_0_getRandom_Return(x34, v88, v89, v90) | &&(&&(&&(&&(&&(&&(&&(&&(&&(>(+(v90, 1), 2), <=(v90, v86)), <=(-(v90, 1), v87)), >(+(v89, 1), 1)), <=(v89, v87)), >(+(v88, 1), 2)), <=(v88, v86)), <=(-(v88, 1), v87)), >(+(v87, 1), 1)), >(+(v86, 1), 2))
f26618_0_main_InvokeMethod(x36, v91, v92) → f26637_0_getRandom_Return(x36, v93, v94, v95) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(+(v95, 1), 2), <=(v95, v92)), <=(v95, v91)), >(+(v94, 1), 2)), <=(v94, v92)), <=(v94, v91)), >(+(v93, 1), 2)), <=(v93, v92)), <=(v93, v91)), >(+(v92, 1), 2)), >(+(v91, 1), 2))

(58) Obligation:

Rules:
f26618_0_main_InvokeMethod(x5, v46, v47) → f26637_0_getRandom_Return(x5, v48, v49, v50) | &&(&&(&&(&&(&&(&&(>(+(v50, 1), 0), >(+(v49, 1), 1)), <=(v49, v47)), >(+(v48, 1), 0)), <=(v48, v46)), >(+(v47, 1), 1)), >(+(v46, 1), 0))
f26637_0_getRandom_Return(x9, v51, v52, v53) → f16872_0_main_Inc(v54, x9) | &&(&&(&&(>(+(v54, 1), 1), >(+(v53, 1), 0)), >(+(v52, 1), 1)), >(+(v51, 1), 1))
f26637_0_getRandom_Return(x14, v55, v56, v57) → f16872_0_main_Inc(v58, x14) | &&(&&(&&(>(+(v58, 1), 1), >(+(v57, 1), 1)), >(+(v56, 1), 1)), >(+(v55, 1), 1))
f26637_0_getRandom_Return(x18, v59, v60, v61) → f16872_0_main_Inc(v62, x18) | &&(&&(&&(&&(&&(&&(>(+(v62, 1), 3), <=(-(v62, 3), v61)), <=(-(v62, 2), v60)), <=(-(v62, 2), v59)), >(+(v61, 1), 0)), >(+(v60, 1), 1)), >(+(v59, 1), 1))
f26637_0_getRandom_Return(x21, v63, v64, v65) → f16872_0_main_Inc(v66, x21) | &&(&&(&&(&&(&&(&&(>(+(v66, 1), 3), <=(-(v66, 2), v65)), <=(-(v66, 2), v64)), <=(-(v66, 2), v63)), >(+(v65, 1), 1)), >(+(v64, 1), 1)), >(+(v63, 1), 1))
f16872_0_main_Inc(v67, x24) → f26618_0_main_InvokeMethod(-(x24, 1), v68, v69) | &&(&&(&&(&&(>(x24, 0), >(+(v69, 1), 1)), <=(v69, v67)), >(+(v68, 1), 0)), >(+(v67, 1), 1))
f16872_0_main_Inc(v70, x27) → f26618_0_main_InvokeMethod(-(x27, 1), v71, v72) | &&(&&(&&(&&(&&(>(x27, 0), >(+(v72, 1), 1)), <=(v72, v70)), >(+(v71, 1), 2)), <=(-(v71, 1), v70)), >(+(v70, 1), 1))
f16872_0_main_Inc(v73, x28) → f26618_0_main_InvokeMethod(-(x28, 1), v74, v75) | &&(&&(&&(&&(&&(>(x28, 0), >(+(v75, 1), 2)), <=(v75, v73)), >(+(v74, 1), 2)), <=(v74, v73)), >(+(v73, 1), 2))
f26618_0_main_InvokeMethod(x29, v76, v77) → f26637_0_getRandom_Return(x29, v78, v79, v80) | &&(&&(&&(&&(&&(&&(&&(&&(>(+(v80, 1), 2), <=(-(v80, 2), v76)), <=(-(v80, 1), v77)), >(+(v79, 1), 1)), <=(v79, v77)), >(+(v78, 1), 0)), <=(v78, v76)), >(+(v77, 1), 1)), >(+(v76, 1), 0))
f26618_0_main_InvokeMethod(x32, v81, v82) → f26637_0_getRandom_Return(x32, v83, v84, v85) | &&(&&(&&(&&(&&(&&(&&(&&(&&(>(+(v85, 1), 2), <=(v85, v82)), <=(-(v85, 2), v81)), >(+(v84, 1), 2)), <=(v84, v82)), <=(-(v84, 2), v81)), >(+(v83, 1), 0)), <=(v83, v81)), >(+(v82, 1), 2)), >(+(v81, 1), 0))
f26618_0_main_InvokeMethod(x34, v86, v87) → f26637_0_getRandom_Return(x34, v88, v89, v90) | &&(&&(&&(&&(&&(&&(&&(&&(&&(>(+(v90, 1), 2), <=(v90, v86)), <=(-(v90, 1), v87)), >(+(v89, 1), 1)), <=(v89, v87)), >(+(v88, 1), 2)), <=(v88, v86)), <=(-(v88, 1), v87)), >(+(v87, 1), 1)), >(+(v86, 1), 2))
f26618_0_main_InvokeMethod(x36, v91, v92) → f26637_0_getRandom_Return(x36, v93, v94, v95) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(+(v95, 1), 2), <=(v95, v92)), <=(v95, v91)), >(+(v94, 1), 2)), <=(v94, v92)), <=(v94, v91)), >(+(v93, 1), 2)), <=(v93, v92)), <=(v93, v91)), >(+(v92, 1), 2)), >(+(v91, 1), 2))

(59) PolynomialOrderProcessor (SOUND transformation)

Found the following polynomial interpretation:


[f26618_0_main_InvokeMethod(x63, x65, x67)] = -1 + x63
[f26637_0_getRandom_Return(x70, x72, x74, x76)] = -1 + x70
[f16872_0_main_Inc(x79, x81)] = -1 + x81

Therefore the following rule(s) have been dropped:


f16872_0_main_Inc(x26, x27) → f26618_0_main_InvokeMethod(-(x27, 1), x28, x29) | &&(&&(&&(&&(>(x27, 0), >(+(x29, 1), 1)), <=(x29, x26)), >(+(x28, 1), 0)), >(+(x26, 1), 1))
f16872_0_main_Inc(x30, x31) → f26618_0_main_InvokeMethod(-(x31, 1), x32, x33) | &&(&&(&&(&&(&&(>(x31, 0), >(+(x33, 1), 1)), <=(x33, x30)), >(+(x32, 1), 2)), <=(-(x32, 1), x30)), >(+(x30, 1), 1))
f16872_0_main_Inc(x34, x35) → f26618_0_main_InvokeMethod(-(x35, 1), x36, x37) | &&(&&(&&(&&(&&(>(x35, 0), >(+(x37, 1), 2)), <=(x37, x34)), >(+(x36, 1), 2)), <=(x36, x34)), >(+(x34, 1), 2))

(60) Obligation:

Rules:
f26618_0_main_InvokeMethod(x0, x1, x2) → f26637_0_getRandom_Return(x0, x3, x4, x5) | &&(&&(&&(&&(&&(&&(>(+(x5, 1), 0), >(+(x4, 1), 1)), <=(x4, x2)), >(+(x3, 1), 0)), <=(x3, x1)), >(+(x2, 1), 1)), >(+(x1, 1), 0))
f26637_0_getRandom_Return(x6, x7, x8, x9) → f16872_0_main_Inc(x10, x6) | &&(&&(&&(>(+(x10, 1), 1), >(+(x9, 1), 0)), >(+(x8, 1), 1)), >(+(x7, 1), 1))
f26637_0_getRandom_Return(x11, x12, x13, x14) → f16872_0_main_Inc(x15, x11) | &&(&&(&&(>(+(x15, 1), 1), >(+(x14, 1), 1)), >(+(x13, 1), 1)), >(+(x12, 1), 1))
f26637_0_getRandom_Return(x16, x17, x18, x19) → f16872_0_main_Inc(x20, x16) | &&(&&(&&(&&(&&(&&(>(+(x20, 1), 3), <=(-(x20, 3), x19)), <=(-(x20, 2), x18)), <=(-(x20, 2), x17)), >(+(x19, 1), 0)), >(+(x18, 1), 1)), >(+(x17, 1), 1))
f26637_0_getRandom_Return(x21, x22, x23, x24) → f16872_0_main_Inc(x25, x21) | &&(&&(&&(&&(&&(&&(>(+(x25, 1), 3), <=(-(x25, 2), x24)), <=(-(x25, 2), x23)), <=(-(x25, 2), x22)), >(+(x24, 1), 1)), >(+(x23, 1), 1)), >(+(x22, 1), 1))
f26618_0_main_InvokeMethod(x38, x39, x40) → f26637_0_getRandom_Return(x38, x41, x42, x43) | &&(&&(&&(&&(&&(&&(&&(&&(>(+(x43, 1), 2), <=(-(x43, 2), x39)), <=(-(x43, 1), x40)), >(+(x42, 1), 1)), <=(x42, x40)), >(+(x41, 1), 0)), <=(x41, x39)), >(+(x40, 1), 1)), >(+(x39, 1), 0))
f26618_0_main_InvokeMethod(x44, x45, x46) → f26637_0_getRandom_Return(x44, x47, x48, x49) | &&(&&(&&(&&(&&(&&(&&(&&(&&(>(+(x49, 1), 2), <=(x49, x46)), <=(-(x49, 2), x45)), >(+(x48, 1), 2)), <=(x48, x46)), <=(-(x48, 2), x45)), >(+(x47, 1), 0)), <=(x47, x45)), >(+(x46, 1), 2)), >(+(x45, 1), 0))
f26618_0_main_InvokeMethod(x50, x51, x52) → f26637_0_getRandom_Return(x50, x53, x54, x55) | &&(&&(&&(&&(&&(&&(&&(&&(&&(>(+(x55, 1), 2), <=(x55, x51)), <=(-(x55, 1), x52)), >(+(x54, 1), 1)), <=(x54, x52)), >(+(x53, 1), 2)), <=(x53, x51)), <=(-(x53, 1), x52)), >(+(x52, 1), 1)), >(+(x51, 1), 2))
f26618_0_main_InvokeMethod(x56, x57, x58) → f26637_0_getRandom_Return(x56, x59, x60, x61) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(+(x61, 1), 2), <=(x61, x58)), <=(x61, x57)), >(+(x60, 1), 2)), <=(x60, x58)), <=(x60, x57)), >(+(x59, 1), 2)), <=(x59, x58)), <=(x59, x57)), >(+(x58, 1), 2)), >(+(x57, 1), 2))

(61) TerminationGraphProcessor (EQUIVALENT transformation)

Constructed the termination graph and obtained no non-trivial SCC(s).


(62) YES