(0) Obligation:
JBC Problem based on JBC Program:
Manifest-Version: 1.0
Created-By: 1.6.0_20 (Apple Inc.)
Main-Class: Test12
public class Test12 {
public static void main(String[] args) {
Random.args = args;
int x = args.length * 100, y = args.length * 200 / 13;
rec(x, y);
}
private static void rec(int x, int y) {
if (x + y > 0) {
if (Random.random() * Random.random() > 9)
rec(x - 1, y);
else
rec(x, y - 1);
}
}
}
public class Random {
static String[] args;
static int index = 0;
public static int random() {
if (index >= args.length)
return 0;
String string = args[index];
index++;
return string.length();
}
}
(1) JBC2FIG (SOUND transformation)
Constructed FIGraph.
(2) Obligation:
FIGraph based on JBC Program:
Test12.main([Ljava/lang/String;)V: Graph of 57 nodes with 0 SCCs.
Test12.rec(II)V: Graph of 384 nodes with 0 SCCs.
(3) FIGtoITRSProof (SOUND transformation)
Transformed FIGraph SCCs to IDPs. Logs:
Log for SCC 0: Generated 124 rules for P and 285 rules for R.
Combined rules. Obtained 17 rules for P and 32 rules for R.
Filtered ground terms:
6722_0_rec_Load(x1, x2, x3, x4) → 6722_0_rec_Load(x2, x3, x4)
Cond_6794_1_rec_InvokeMethod(x1, x2, x3, x4, x5) → Cond_6794_1_rec_InvokeMethod(x1, x2, x3, x4)
6794_0_random_LT(x1, x2, x3) → 6794_0_random_LT(x2, x3)
6794_1_rec_InvokeMethod(x1, x2, x3, x4) → 6794_1_rec_InvokeMethod(x1, x2, x3)
Cond_6915_1_rec_InvokeMethod(x1, x2, x3, x4, x5) → Cond_6915_1_rec_InvokeMethod(x1, x2, x3, x4)
6915_0_random_IntArithmetic(x1, x2, x3, x4) → 6915_0_random_IntArithmetic(x2, x3)
6915_1_rec_InvokeMethod(x1, x2, x3, x4) → 6915_1_rec_InvokeMethod(x1, x2, x3)
Cond_6847_1_rec_InvokeMethod(x1, x2, x3, x4, x5) → Cond_6847_1_rec_InvokeMethod(x1, x2, x3, x4)
6847_0_random_ArrayAccess(x1, x2, x3) → 6847_0_random_ArrayAccess(x2, x3)
6847_1_rec_InvokeMethod(x1, x2, x3, x4) → 6847_1_rec_InvokeMethod(x1, x2, x3)
Cond_6792_1_rec_InvokeMethod(x1, x2, x3, x4, x5) → Cond_6792_1_rec_InvokeMethod(x1, x2, x3, x4)
6792_0_random_LT(x1, x2, x3) → 6792_0_random_LT(x2, x3)
6792_1_rec_InvokeMethod(x1, x2, x3, x4) → 6792_1_rec_InvokeMethod(x1, x2, x3)
6749_0_random_LT(x1, x2, x3) → 6749_0_random_LT(x2, x3)
7058_0_random_LT(x1, x2, x3) → 7058_0_random_LT(x2, x3)
7349_0_random_IntArithmetic(x1, x2, x3, x4) → 7349_0_random_IntArithmetic(x2, x3)
7211_0_random_ArrayAccess(x1, x2, x3) → 7211_0_random_ArrayAccess(x2, x3)
7057_0_random_LT(x1, x2, x3) → 7057_0_random_LT(x2, x3)
6797_0_random_IntArithmetic(x1, x2, x3, x4) → 6797_0_random_IntArithmetic(x2, x3)
6764_0_random_ArrayAccess(x1, x2, x3) → 6764_0_random_ArrayAccess(x2, x3)
6748_0_random_LT(x1, x2, x3) → 6748_0_random_LT(x2, x3)
Cond_6722_0_rec_Load1(x1, x2, x3, x4, x5) → Cond_6722_0_rec_Load1(x1, x3, x4, x5)
Cond_6722_0_rec_Load(x1, x2, x3, x4, x5) → Cond_6722_0_rec_Load(x1, x3, x4, x5)
7511_0_rec_InvokeMethod(x1, x2, x3, x4) → 7511_0_rec_InvokeMethod(x2, x3, x4)
java.lang.NullPointerException(x1) → java.lang.NullPointerException
8091_0_rec_InvokeMethod(x1, x2, x3, x4, x5) → 8091_0_rec_InvokeMethod(x3, x4, x5)
7957_0_rec_InvokeMethod(x1, x2, x3, x4) → 7957_0_rec_InvokeMethod(x2, x3, x4)
java.lang.ArrayIndexOutOfBoundsException(x1) → java.lang.ArrayIndexOutOfBoundsException
java.lang.IndexOutOfBoundsException(x1) → java.lang.IndexOutOfBoundsException
7951_0_rec_InvokeMethod(x1, x2, x3, x4, x5) → 7951_0_rec_InvokeMethod(x3, x4, x5)
7722_0_rec_InvokeMethod(x1, x2, x3, x4, x5) → 7722_0_rec_InvokeMethod(x3, x4)
7613_0_rec_Return(x1) → 7613_0_rec_Return
7533_0_rec_InvokeMethod(x1, x2, x3, x4, x5) → 7533_0_rec_InvokeMethod(x3, x4)
7472_0_rec_InvokeMethod(x1, x2, x3, x4, x5) → 7472_0_rec_InvokeMethod(x3, x4)
7390_0_rec_InvokeMethod(x1, x2, x3, x4) → 7390_0_rec_InvokeMethod(x3, x4)
7222_0_rec_InvokeMethod(x1, x2, x3, x4) → 7222_0_rec_InvokeMethod(x3, x4)
7174_0_rec_InvokeMethod(x1, x2, x3, x4) → 7174_0_rec_InvokeMethod(x3, x4)
6731_0_rec_Return(x1) → 6731_0_rec_Return
Filtered duplicate args:
6722_0_rec_Load(x1, x2, x3) → 6722_0_rec_Load(x2, x3)
Cond_6722_0_rec_Load1(x1, x2, x3, x4) → Cond_6722_0_rec_Load1(x1, x3, x4)
Cond_6722_0_rec_Load(x1, x2, x3, x4) → Cond_6722_0_rec_Load(x1, x3, x4)
Filtered unneeded arguments:
Cond_7349_1_rec_InvokeMethod(x1, x2, x3, x4, x5) → Cond_7349_1_rec_InvokeMethod(x1, x2, x3, x4)
Cond_7349_1_rec_InvokeMethod1(x1, x2, x3, x4, x5) → Cond_7349_1_rec_InvokeMethod1(x1, x2, x3, x4)
7058_1_rec_InvokeMethod(x1, x2, x3, x4) → 7058_1_rec_InvokeMethod(x1, x2, x3)
Cond_7058_1_rec_InvokeMethod(x1, x2, x3, x4, x5) → Cond_7058_1_rec_InvokeMethod(x1, x2, x3, x4)
Filtered all free variables:
6748_1_rec_InvokeMethod(x1, x2, x3) → 6748_1_rec_InvokeMethod(x2, x3)
6749_1_rec_InvokeMethod(x1, x2, x3) → 6749_1_rec_InvokeMethod(x2, x3)
Cond_6748_1_rec_InvokeMethod(x1, x2, x3, x4) → Cond_6748_1_rec_InvokeMethod(x1, x3, x4)
6764_1_rec_InvokeMethod(x1, x2, x3) → 6764_1_rec_InvokeMethod(x2, x3)
Cond_6764_1_rec_InvokeMethod(x1, x2, x3, x4) → Cond_6764_1_rec_InvokeMethod(x1, x3, x4)
6797_1_rec_InvokeMethod(x1, x2, x3) → 6797_1_rec_InvokeMethod(x2, x3)
Cond_6797_1_rec_InvokeMethod(x1, x2, x3, x4) → Cond_6797_1_rec_InvokeMethod(x1, x3, x4)
7057_1_rec_InvokeMethod(x1, x2, x3, x4) → 7057_1_rec_InvokeMethod(x2, x3, x4)
Cond_6797_1_rec_InvokeMethod1(x1, x2, x3, x4) → Cond_6797_1_rec_InvokeMethod1(x1, x3, x4)
7058_1_rec_InvokeMethod(x1, x2, x3) → 7058_1_rec_InvokeMethod(x2, x3)
Cond_7057_1_rec_InvokeMethod(x1, x2, x3, x4, x5) → Cond_7057_1_rec_InvokeMethod(x1, x3, x4, x5)
7211_1_rec_InvokeMethod(x1, x2, x3, x4) → 7211_1_rec_InvokeMethod(x2, x3, x4)
Cond_7211_1_rec_InvokeMethod(x1, x2, x3, x4, x5) → Cond_7211_1_rec_InvokeMethod(x1, x3, x4, x5)
7349_1_rec_InvokeMethod(x1, x2, x3, x4) → 7349_1_rec_InvokeMethod(x2, x3, x4)
Cond_7349_1_rec_InvokeMethod(x1, x2, x3, x4) → Cond_7349_1_rec_InvokeMethod(x1, x3, x4)
Cond_7349_1_rec_InvokeMethod1(x1, x2, x3, x4) → Cond_7349_1_rec_InvokeMethod1(x1, x3, x4)
Cond_7058_1_rec_InvokeMethod(x1, x2, x3, x4) → Cond_7058_1_rec_InvokeMethod(x1, x3, x4)
Cond_6749_1_rec_InvokeMethod(x1, x2, x3, x4) → Cond_6749_1_rec_InvokeMethod(x1, x3, x4)
6792_1_rec_InvokeMethod(x1, x2, x3) → 6792_1_rec_InvokeMethod(x2, x3)
Cond_6749_1_rec_InvokeMethod1(x1, x2, x3, x4) → Cond_6749_1_rec_InvokeMethod1(x1, x3, x4)
6794_1_rec_InvokeMethod(x1, x2, x3) → 6794_1_rec_InvokeMethod(x2, x3)
Cond_6792_1_rec_InvokeMethod(x1, x2, x3, x4) → Cond_6792_1_rec_InvokeMethod(x1, x3, x4)
6847_1_rec_InvokeMethod(x1, x2, x3) → 6847_1_rec_InvokeMethod(x2, x3)
Cond_6847_1_rec_InvokeMethod(x1, x2, x3, x4) → Cond_6847_1_rec_InvokeMethod(x1, x3, x4)
6915_1_rec_InvokeMethod(x1, x2, x3) → 6915_1_rec_InvokeMethod(x2, x3)
Cond_6915_1_rec_InvokeMethod(x1, x2, x3, x4) → Cond_6915_1_rec_InvokeMethod(x1, x3, x4)
Cond_6794_1_rec_InvokeMethod(x1, x2, x3, x4) → Cond_6794_1_rec_InvokeMethod(x1, x3, x4)
Combined rules. Obtained 5 rules for P and 32 rules for R.
Finished conversion. Obtained 5 rules for P and 32 rules for R. System has predefined symbols.
(4) 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
The ITRS R consists of the following rules:
7439_1_rec_InvokeMethod(
6731_0_rec_Return,
x0,
x1) →
7613_0_rec_Return7439_1_rec_InvokeMethod(
7222_0_rec_InvokeMethod(
x0,
x1),
x0,
x1) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.IndexOutOfBoundsException)))),
x0,
x1)
7439_1_rec_InvokeMethod(
7390_0_rec_InvokeMethod(
x0,
x1),
x0,
x1) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.NullPointerException)))),
x0,
x1)
7439_1_rec_InvokeMethod(
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x1,
x2),
x1,
x3) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x1,
x3)
7439_1_rec_InvokeMethod(
7533_0_rec_InvokeMethod(
x0,
x1),
x0,
x1) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.IndexOutOfBoundsException)))),
x0,
x1)
7439_1_rec_InvokeMethod(
7613_0_rec_Return,
x0,
x1) →
7613_0_rec_Return7439_1_rec_InvokeMethod(
7722_0_rec_InvokeMethod(
x0,
x1),
x0,
x1) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.NullPointerException)))),
x0,
x1)
7439_1_rec_InvokeMethod(
7951_0_rec_InvokeMethod(
x0,
x1,
x2),
x0,
x1) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.IndexOutOfBoundsException)))),
x0,
x1)
7439_1_rec_InvokeMethod(
7957_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x1,
x2),
x3,
x2) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x3,
x2)
7439_1_rec_InvokeMethod(
8091_0_rec_InvokeMethod(
x0,
x1,
x2),
x0,
x1) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.NullPointerException)))),
x0,
x1)
7900_1_rec_InvokeMethod(
6731_0_rec_Return,
x0,
x1) →
7613_0_rec_Return7900_1_rec_InvokeMethod(
7222_0_rec_InvokeMethod(
x0,
x1),
x0,
x1) →
7957_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.IndexOutOfBoundsException)))),
x0,
x1)
7900_1_rec_InvokeMethod(
7390_0_rec_InvokeMethod(
x0,
x1),
x0,
x1) →
7957_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.NullPointerException)))),
x0,
x1)
7900_1_rec_InvokeMethod(
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x1,
x2),
x1,
x3) →
7957_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x1,
x3)
7900_1_rec_InvokeMethod(
7533_0_rec_InvokeMethod(
x0,
x1),
x0,
x1) →
7957_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.IndexOutOfBoundsException)))),
x0,
x1)
7900_1_rec_InvokeMethod(
7613_0_rec_Return,
x0,
x1) →
7613_0_rec_Return7900_1_rec_InvokeMethod(
7722_0_rec_InvokeMethod(
x0,
x1),
x0,
x1) →
7957_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.NullPointerException)))),
x0,
x1)
7900_1_rec_InvokeMethod(
7951_0_rec_InvokeMethod(
x0,
x1,
x2),
x0,
x1) →
7957_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.IndexOutOfBoundsException)))),
x0,
x1)
7900_1_rec_InvokeMethod(
7957_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x1,
x2),
x3,
x2) →
7957_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x3,
x2)
7900_1_rec_InvokeMethod(
8091_0_rec_InvokeMethod(
x0,
x1,
x2),
x0,
x1) →
7957_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.NullPointerException)))),
x0,
x1)
6957_1_rec_InvokeMethod(
6731_0_rec_Return,
x0,
x1) →
7613_0_rec_Return6957_1_rec_InvokeMethod(
7174_0_rec_InvokeMethod(
x0,
x1),
x0,
x1) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.IndexOutOfBoundsException)))),
x0,
x1)
6957_1_rec_InvokeMethod(
7222_0_rec_InvokeMethod(
x0,
x1),
x0,
x1) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.IndexOutOfBoundsException)))),
x0,
x1)
6957_1_rec_InvokeMethod(
7390_0_rec_InvokeMethod(
x0,
x1),
x0,
x1) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.NullPointerException)))),
x0,
x1)
6957_1_rec_InvokeMethod(
7472_0_rec_InvokeMethod(
x0,
x1),
x0,
x1) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.IndexOutOfBoundsException)))),
x0,
x1)
6957_1_rec_InvokeMethod(
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x1,
x2),
x1,
x3) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x1,
x3)
6957_1_rec_InvokeMethod(
7533_0_rec_InvokeMethod(
x0,
x1),
x0,
x1) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.IndexOutOfBoundsException)))),
x0,
x1)
6957_1_rec_InvokeMethod(
7613_0_rec_Return,
x0,
x1) →
7613_0_rec_Return6957_1_rec_InvokeMethod(
7722_0_rec_InvokeMethod(
x0,
x1),
x0,
x1) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.NullPointerException)))),
x0,
x1)
6957_1_rec_InvokeMethod(
7951_0_rec_InvokeMethod(
x0,
x1,
x2),
x0,
x1) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.IndexOutOfBoundsException)))),
x0,
x1)
6957_1_rec_InvokeMethod(
7957_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x1,
x2),
x3,
x2) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x3,
x2)
6957_1_rec_InvokeMethod(
8091_0_rec_InvokeMethod(
x0,
x1,
x2),
x0,
x1) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.NullPointerException)))),
x0,
x1)
The integer pair graph contains the following rules and edges:
(0):
6915_1_REC_INVOKEMETHOD(
x4[0],
x5[0]) →
6722_0_REC_LOAD(
x5[0] - 1,
x4[0])
(1):
6722_0_REC_LOAD(
x0[1],
x1[1]) →
COND_6722_0_REC_LOAD(
0 < x1[1] + x0[1],
x0[1],
x1[1])
(2):
COND_6722_0_REC_LOAD(
TRUE,
x0[2],
x1[2]) →
6722_0_REC_LOAD(
x0[2] - 1,
x1[2])
(3):
6722_0_REC_LOAD(
x0[3],
x1[3]) →
COND_6722_0_REC_LOAD1(
0 < x1[3] + x0[3],
x0[3],
x1[3])
(4):
COND_6722_0_REC_LOAD1(
TRUE,
x0[4],
x1[4]) →
6722_0_REC_LOAD(
x0[4],
x1[4] - 1)
(5):
6722_0_REC_LOAD(
x0[5],
x1[5]) →
COND_6722_0_REC_LOAD3(
0 < x1[5] + x0[5],
x0[5],
x1[5])
(6):
COND_6722_0_REC_LOAD3(
TRUE,
x0[6],
x1[6]) →
6915_1_REC_INVOKEMETHOD(
x1[6],
x0[6])
(0) -> (1), if ((x5[0] - 1 →* x0[1])∧(x4[0] →* x1[1]))
(0) -> (3), if ((x5[0] - 1 →* x0[3])∧(x4[0] →* x1[3]))
(0) -> (5), if ((x5[0] - 1 →* x0[5])∧(x4[0] →* x1[5]))
(1) -> (2), if ((0 < x1[1] + x0[1] →* TRUE)∧(x0[1] →* x0[2])∧(x1[1] →* x1[2]))
(2) -> (1), if ((x0[2] - 1 →* x0[1])∧(x1[2] →* x1[1]))
(2) -> (3), if ((x0[2] - 1 →* x0[3])∧(x1[2] →* x1[3]))
(2) -> (5), if ((x0[2] - 1 →* x0[5])∧(x1[2] →* x1[5]))
(3) -> (4), if ((0 < x1[3] + x0[3] →* TRUE)∧(x0[3] →* x0[4])∧(x1[3] →* x1[4]))
(4) -> (1), if ((x0[4] →* x0[1])∧(x1[4] - 1 →* x1[1]))
(4) -> (3), if ((x0[4] →* x0[3])∧(x1[4] - 1 →* x1[3]))
(4) -> (5), if ((x0[4] →* x0[5])∧(x1[4] - 1 →* x1[5]))
(5) -> (6), if ((0 < x1[5] + x0[5] →* TRUE)∧(x0[5] →* x0[6])∧(x1[5] →* x1[6]))
(6) -> (0), if ((x1[6] →* x4[0])∧(x0[6] →* x5[0]))
The set Q consists of the following terms:
7439_1_rec_InvokeMethod(
6731_0_rec_Return,
x0,
x1)
7439_1_rec_InvokeMethod(
7222_0_rec_InvokeMethod(
x0,
x1),
x0,
x1)
7439_1_rec_InvokeMethod(
7390_0_rec_InvokeMethod(
x0,
x1),
x0,
x1)
7439_1_rec_InvokeMethod(
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x1,
x2),
x1,
x3)
7439_1_rec_InvokeMethod(
7533_0_rec_InvokeMethod(
x0,
x1),
x0,
x1)
7439_1_rec_InvokeMethod(
7613_0_rec_Return,
x0,
x1)
7439_1_rec_InvokeMethod(
7722_0_rec_InvokeMethod(
x0,
x1),
x0,
x1)
7439_1_rec_InvokeMethod(
7951_0_rec_InvokeMethod(
x0,
x1,
x2),
x0,
x1)
7439_1_rec_InvokeMethod(
7957_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x1,
x2),
x3,
x2)
7439_1_rec_InvokeMethod(
8091_0_rec_InvokeMethod(
x0,
x1,
x2),
x0,
x1)
7900_1_rec_InvokeMethod(
6731_0_rec_Return,
x0,
x1)
7900_1_rec_InvokeMethod(
7222_0_rec_InvokeMethod(
x0,
x1),
x0,
x1)
7900_1_rec_InvokeMethod(
7390_0_rec_InvokeMethod(
x0,
x1),
x0,
x1)
7900_1_rec_InvokeMethod(
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x1,
x2),
x1,
x3)
7900_1_rec_InvokeMethod(
7533_0_rec_InvokeMethod(
x0,
x1),
x0,
x1)
7900_1_rec_InvokeMethod(
7613_0_rec_Return,
x0,
x1)
7900_1_rec_InvokeMethod(
7722_0_rec_InvokeMethod(
x0,
x1),
x0,
x1)
7900_1_rec_InvokeMethod(
7951_0_rec_InvokeMethod(
x0,
x1,
x2),
x0,
x1)
7900_1_rec_InvokeMethod(
7957_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x1,
x2),
x3,
x2)
7900_1_rec_InvokeMethod(
8091_0_rec_InvokeMethod(
x0,
x1,
x2),
x0,
x1)
6957_1_rec_InvokeMethod(
6731_0_rec_Return,
x0,
x1)
6957_1_rec_InvokeMethod(
7174_0_rec_InvokeMethod(
x0,
x1),
x0,
x1)
6957_1_rec_InvokeMethod(
7222_0_rec_InvokeMethod(
x0,
x1),
x0,
x1)
6957_1_rec_InvokeMethod(
7390_0_rec_InvokeMethod(
x0,
x1),
x0,
x1)
6957_1_rec_InvokeMethod(
7472_0_rec_InvokeMethod(
x0,
x1),
x0,
x1)
6957_1_rec_InvokeMethod(
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x1,
x2),
x1,
x3)
6957_1_rec_InvokeMethod(
7533_0_rec_InvokeMethod(
x0,
x1),
x0,
x1)
6957_1_rec_InvokeMethod(
7613_0_rec_Return,
x0,
x1)
6957_1_rec_InvokeMethod(
7722_0_rec_InvokeMethod(
x0,
x1),
x0,
x1)
6957_1_rec_InvokeMethod(
7951_0_rec_InvokeMethod(
x0,
x1,
x2),
x0,
x1)
6957_1_rec_InvokeMethod(
7957_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x1,
x2),
x3,
x2)
6957_1_rec_InvokeMethod(
8091_0_rec_InvokeMethod(
x0,
x1,
x2),
x0,
x1)
(5) IDPNonInfProof (SOUND transformation)
The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that
final constraints are written in
bold face.
For Pair
6915_1_REC_INVOKEMETHOD(
x4,
x5) →
6722_0_REC_LOAD(
-(
x5,
1),
x4) the following chains were created:
- We consider the chain 6915_1_REC_INVOKEMETHOD(x4[0], x5[0]) → 6722_0_REC_LOAD(-(x5[0], 1), x4[0]) which results in the following constraint:
(1) (6915_1_REC_INVOKEMETHOD(x4[0], x5[0])≥NonInfC∧6915_1_REC_INVOKEMETHOD(x4[0], x5[0])≥6722_0_REC_LOAD(-(x5[0], 1), x4[0])∧(UIncreasing(6722_0_REC_LOAD(-(x5[0], 1), x4[0])), ≥))
We simplified constraint (1) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(2) ((UIncreasing(6722_0_REC_LOAD(-(x5[0], 1), x4[0])), ≥)∧[(-1)bso_33] ≥ 0)
We simplified constraint (2) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(3) ((UIncreasing(6722_0_REC_LOAD(-(x5[0], 1), x4[0])), ≥)∧[(-1)bso_33] ≥ 0)
We simplified constraint (3) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(4) ((UIncreasing(6722_0_REC_LOAD(-(x5[0], 1), x4[0])), ≥)∧[(-1)bso_33] ≥ 0)
We simplified constraint (4) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(5) ((UIncreasing(6722_0_REC_LOAD(-(x5[0], 1), x4[0])), ≥)∧0 = 0∧0 = 0∧[(-1)bso_33] ≥ 0)
For Pair
6722_0_REC_LOAD(
x0,
x1) →
COND_6722_0_REC_LOAD(
<(
0,
+(
x1,
x0)),
x0,
x1) the following chains were created:
- We consider the chain 6722_0_REC_LOAD(x0[1], x1[1]) → COND_6722_0_REC_LOAD(<(0, +(x1[1], x0[1])), x0[1], x1[1]), COND_6722_0_REC_LOAD(TRUE, x0[2], x1[2]) → 6722_0_REC_LOAD(-(x0[2], 1), x1[2]) which results in the following constraint:
(6) (<(0, +(x1[1], x0[1]))=TRUE∧x0[1]=x0[2]∧x1[1]=x1[2] ⇒ 6722_0_REC_LOAD(x0[1], x1[1])≥NonInfC∧6722_0_REC_LOAD(x0[1], x1[1])≥COND_6722_0_REC_LOAD(<(0, +(x1[1], x0[1])), x0[1], x1[1])∧(UIncreasing(COND_6722_0_REC_LOAD(<(0, +(x1[1], x0[1])), x0[1], x1[1])), ≥))
We simplified constraint (6) using rule (IV) which results in the following new constraint:
(7) (<(0, +(x1[1], x0[1]))=TRUE ⇒ 6722_0_REC_LOAD(x0[1], x1[1])≥NonInfC∧6722_0_REC_LOAD(x0[1], x1[1])≥COND_6722_0_REC_LOAD(<(0, +(x1[1], x0[1])), x0[1], x1[1])∧(UIncreasing(COND_6722_0_REC_LOAD(<(0, +(x1[1], x0[1])), x0[1], x1[1])), ≥))
We simplified constraint (7) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(8) (x1[1] + [-1] + x0[1] ≥ 0 ⇒ (UIncreasing(COND_6722_0_REC_LOAD(<(0, +(x1[1], x0[1])), x0[1], x1[1])), ≥)∧[(2)bni_34 + (-1)Bound*bni_34] + [(2)bni_34]x0[1] + [(2)bni_34]x1[1] ≥ 0∧[1 + (-1)bso_35] ≥ 0)
We simplified constraint (8) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(9) (x1[1] + [-1] + x0[1] ≥ 0 ⇒ (UIncreasing(COND_6722_0_REC_LOAD(<(0, +(x1[1], x0[1])), x0[1], x1[1])), ≥)∧[(2)bni_34 + (-1)Bound*bni_34] + [(2)bni_34]x0[1] + [(2)bni_34]x1[1] ≥ 0∧[1 + (-1)bso_35] ≥ 0)
We simplified constraint (9) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(10) (x1[1] + [-1] + x0[1] ≥ 0 ⇒ (UIncreasing(COND_6722_0_REC_LOAD(<(0, +(x1[1], x0[1])), x0[1], x1[1])), ≥)∧[(2)bni_34 + (-1)Bound*bni_34] + [(2)bni_34]x0[1] + [(2)bni_34]x1[1] ≥ 0∧[1 + (-1)bso_35] ≥ 0)
We simplified constraint (10) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(11) (x1[1] ≥ 0 ⇒ (UIncreasing(COND_6722_0_REC_LOAD(<(0, +(x1[1], x0[1])), x0[1], x1[1])), ≥)∧[(4)bni_34 + (-1)Bound*bni_34] + [(2)bni_34]x1[1] ≥ 0∧[1 + (-1)bso_35] ≥ 0)
We simplified constraint (11) using rule (IDP_SMT_SPLIT) which results in the following new constraints:
(12) (x1[1] ≥ 0∧x0[1] ≥ 0 ⇒ (UIncreasing(COND_6722_0_REC_LOAD(<(0, +(x1[1], x0[1])), x0[1], x1[1])), ≥)∧[(4)bni_34 + (-1)Bound*bni_34] + [(2)bni_34]x1[1] ≥ 0∧[1 + (-1)bso_35] ≥ 0)
(13) (x1[1] ≥ 0∧x0[1] ≥ 0 ⇒ (UIncreasing(COND_6722_0_REC_LOAD(<(0, +(x1[1], x0[1])), x0[1], x1[1])), ≥)∧[(4)bni_34 + (-1)Bound*bni_34] + [(2)bni_34]x1[1] ≥ 0∧[1 + (-1)bso_35] ≥ 0)
For Pair
COND_6722_0_REC_LOAD(
TRUE,
x0,
x1) →
6722_0_REC_LOAD(
-(
x0,
1),
x1) the following chains were created:
- We consider the chain COND_6722_0_REC_LOAD(TRUE, x0[2], x1[2]) → 6722_0_REC_LOAD(-(x0[2], 1), x1[2]) which results in the following constraint:
(14) (COND_6722_0_REC_LOAD(TRUE, x0[2], x1[2])≥NonInfC∧COND_6722_0_REC_LOAD(TRUE, x0[2], x1[2])≥6722_0_REC_LOAD(-(x0[2], 1), x1[2])∧(UIncreasing(6722_0_REC_LOAD(-(x0[2], 1), x1[2])), ≥))
We simplified constraint (14) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(15) ((UIncreasing(6722_0_REC_LOAD(-(x0[2], 1), x1[2])), ≥)∧[1 + (-1)bso_37] ≥ 0)
We simplified constraint (15) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(16) ((UIncreasing(6722_0_REC_LOAD(-(x0[2], 1), x1[2])), ≥)∧[1 + (-1)bso_37] ≥ 0)
We simplified constraint (16) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(17) ((UIncreasing(6722_0_REC_LOAD(-(x0[2], 1), x1[2])), ≥)∧[1 + (-1)bso_37] ≥ 0)
We simplified constraint (17) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(18) ((UIncreasing(6722_0_REC_LOAD(-(x0[2], 1), x1[2])), ≥)∧0 = 0∧0 = 0∧[1 + (-1)bso_37] ≥ 0)
For Pair
6722_0_REC_LOAD(
x0,
x1) →
COND_6722_0_REC_LOAD1(
<(
0,
+(
x1,
x0)),
x0,
x1) the following chains were created:
- We consider the chain 6722_0_REC_LOAD(x0[3], x1[3]) → COND_6722_0_REC_LOAD1(<(0, +(x1[3], x0[3])), x0[3], x1[3]), COND_6722_0_REC_LOAD1(TRUE, x0[4], x1[4]) → 6722_0_REC_LOAD(x0[4], -(x1[4], 1)) which results in the following constraint:
(19) (<(0, +(x1[3], x0[3]))=TRUE∧x0[3]=x0[4]∧x1[3]=x1[4] ⇒ 6722_0_REC_LOAD(x0[3], x1[3])≥NonInfC∧6722_0_REC_LOAD(x0[3], x1[3])≥COND_6722_0_REC_LOAD1(<(0, +(x1[3], x0[3])), x0[3], x1[3])∧(UIncreasing(COND_6722_0_REC_LOAD1(<(0, +(x1[3], x0[3])), x0[3], x1[3])), ≥))
We simplified constraint (19) using rule (IV) which results in the following new constraint:
(20) (<(0, +(x1[3], x0[3]))=TRUE ⇒ 6722_0_REC_LOAD(x0[3], x1[3])≥NonInfC∧6722_0_REC_LOAD(x0[3], x1[3])≥COND_6722_0_REC_LOAD1(<(0, +(x1[3], x0[3])), x0[3], x1[3])∧(UIncreasing(COND_6722_0_REC_LOAD1(<(0, +(x1[3], x0[3])), x0[3], x1[3])), ≥))
We simplified constraint (20) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(21) (x1[3] + [-1] + x0[3] ≥ 0 ⇒ (UIncreasing(COND_6722_0_REC_LOAD1(<(0, +(x1[3], x0[3])), x0[3], x1[3])), ≥)∧[(2)bni_38 + (-1)Bound*bni_38] + [(2)bni_38]x0[3] + [(2)bni_38]x1[3] ≥ 0∧[1 + (-1)bso_39] ≥ 0)
We simplified constraint (21) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(22) (x1[3] + [-1] + x0[3] ≥ 0 ⇒ (UIncreasing(COND_6722_0_REC_LOAD1(<(0, +(x1[3], x0[3])), x0[3], x1[3])), ≥)∧[(2)bni_38 + (-1)Bound*bni_38] + [(2)bni_38]x0[3] + [(2)bni_38]x1[3] ≥ 0∧[1 + (-1)bso_39] ≥ 0)
We simplified constraint (22) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(23) (x1[3] + [-1] + x0[3] ≥ 0 ⇒ (UIncreasing(COND_6722_0_REC_LOAD1(<(0, +(x1[3], x0[3])), x0[3], x1[3])), ≥)∧[(2)bni_38 + (-1)Bound*bni_38] + [(2)bni_38]x0[3] + [(2)bni_38]x1[3] ≥ 0∧[1 + (-1)bso_39] ≥ 0)
We simplified constraint (23) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(24) (x1[3] ≥ 0 ⇒ (UIncreasing(COND_6722_0_REC_LOAD1(<(0, +(x1[3], x0[3])), x0[3], x1[3])), ≥)∧[(4)bni_38 + (-1)Bound*bni_38] + [(2)bni_38]x1[3] ≥ 0∧[1 + (-1)bso_39] ≥ 0)
We simplified constraint (24) using rule (IDP_SMT_SPLIT) which results in the following new constraints:
(25) (x1[3] ≥ 0∧x0[3] ≥ 0 ⇒ (UIncreasing(COND_6722_0_REC_LOAD1(<(0, +(x1[3], x0[3])), x0[3], x1[3])), ≥)∧[(4)bni_38 + (-1)Bound*bni_38] + [(2)bni_38]x1[3] ≥ 0∧[1 + (-1)bso_39] ≥ 0)
(26) (x1[3] ≥ 0∧x0[3] ≥ 0 ⇒ (UIncreasing(COND_6722_0_REC_LOAD1(<(0, +(x1[3], x0[3])), x0[3], x1[3])), ≥)∧[(4)bni_38 + (-1)Bound*bni_38] + [(2)bni_38]x1[3] ≥ 0∧[1 + (-1)bso_39] ≥ 0)
For Pair
COND_6722_0_REC_LOAD1(
TRUE,
x0,
x1) →
6722_0_REC_LOAD(
x0,
-(
x1,
1)) the following chains were created:
- We consider the chain COND_6722_0_REC_LOAD1(TRUE, x0[4], x1[4]) → 6722_0_REC_LOAD(x0[4], -(x1[4], 1)) which results in the following constraint:
(27) (COND_6722_0_REC_LOAD1(TRUE, x0[4], x1[4])≥NonInfC∧COND_6722_0_REC_LOAD1(TRUE, x0[4], x1[4])≥6722_0_REC_LOAD(x0[4], -(x1[4], 1))∧(UIncreasing(6722_0_REC_LOAD(x0[4], -(x1[4], 1))), ≥))
We simplified constraint (27) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(28) ((UIncreasing(6722_0_REC_LOAD(x0[4], -(x1[4], 1))), ≥)∧[1 + (-1)bso_41] ≥ 0)
We simplified constraint (28) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(29) ((UIncreasing(6722_0_REC_LOAD(x0[4], -(x1[4], 1))), ≥)∧[1 + (-1)bso_41] ≥ 0)
We simplified constraint (29) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(30) ((UIncreasing(6722_0_REC_LOAD(x0[4], -(x1[4], 1))), ≥)∧[1 + (-1)bso_41] ≥ 0)
We simplified constraint (30) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(31) ((UIncreasing(6722_0_REC_LOAD(x0[4], -(x1[4], 1))), ≥)∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)
For Pair
6722_0_REC_LOAD(
x0,
x1) →
COND_6722_0_REC_LOAD3(
<(
0,
+(
x1,
x0)),
x0,
x1) the following chains were created:
- We consider the chain 6722_0_REC_LOAD(x0[5], x1[5]) → COND_6722_0_REC_LOAD3(<(0, +(x1[5], x0[5])), x0[5], x1[5]), COND_6722_0_REC_LOAD3(TRUE, x0[6], x1[6]) → 6915_1_REC_INVOKEMETHOD(x1[6], x0[6]) which results in the following constraint:
(32) (<(0, +(x1[5], x0[5]))=TRUE∧x0[5]=x0[6]∧x1[5]=x1[6] ⇒ 6722_0_REC_LOAD(x0[5], x1[5])≥NonInfC∧6722_0_REC_LOAD(x0[5], x1[5])≥COND_6722_0_REC_LOAD3(<(0, +(x1[5], x0[5])), x0[5], x1[5])∧(UIncreasing(COND_6722_0_REC_LOAD3(<(0, +(x1[5], x0[5])), x0[5], x1[5])), ≥))
We simplified constraint (32) using rule (IV) which results in the following new constraint:
(33) (<(0, +(x1[5], x0[5]))=TRUE ⇒ 6722_0_REC_LOAD(x0[5], x1[5])≥NonInfC∧6722_0_REC_LOAD(x0[5], x1[5])≥COND_6722_0_REC_LOAD3(<(0, +(x1[5], x0[5])), x0[5], x1[5])∧(UIncreasing(COND_6722_0_REC_LOAD3(<(0, +(x1[5], x0[5])), x0[5], x1[5])), ≥))
We simplified constraint (33) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(34) (x1[5] + [-1] + x0[5] ≥ 0 ⇒ (UIncreasing(COND_6722_0_REC_LOAD3(<(0, +(x1[5], x0[5])), x0[5], x1[5])), ≥)∧[(2)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]x0[5] + [(2)bni_42]x1[5] ≥ 0∧[1 + (-1)bso_43] ≥ 0)
We simplified constraint (34) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(35) (x1[5] + [-1] + x0[5] ≥ 0 ⇒ (UIncreasing(COND_6722_0_REC_LOAD3(<(0, +(x1[5], x0[5])), x0[5], x1[5])), ≥)∧[(2)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]x0[5] + [(2)bni_42]x1[5] ≥ 0∧[1 + (-1)bso_43] ≥ 0)
We simplified constraint (35) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(36) (x1[5] + [-1] + x0[5] ≥ 0 ⇒ (UIncreasing(COND_6722_0_REC_LOAD3(<(0, +(x1[5], x0[5])), x0[5], x1[5])), ≥)∧[(2)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]x0[5] + [(2)bni_42]x1[5] ≥ 0∧[1 + (-1)bso_43] ≥ 0)
We simplified constraint (36) using rule (IDP_SMT_SPLIT) which results in the following new constraint:
(37) (x1[5] ≥ 0 ⇒ (UIncreasing(COND_6722_0_REC_LOAD3(<(0, +(x1[5], x0[5])), x0[5], x1[5])), ≥)∧[(4)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]x1[5] ≥ 0∧[1 + (-1)bso_43] ≥ 0)
We simplified constraint (37) using rule (IDP_SMT_SPLIT) which results in the following new constraints:
(38) (x1[5] ≥ 0∧x0[5] ≥ 0 ⇒ (UIncreasing(COND_6722_0_REC_LOAD3(<(0, +(x1[5], x0[5])), x0[5], x1[5])), ≥)∧[(4)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]x1[5] ≥ 0∧[1 + (-1)bso_43] ≥ 0)
(39) (x1[5] ≥ 0∧x0[5] ≥ 0 ⇒ (UIncreasing(COND_6722_0_REC_LOAD3(<(0, +(x1[5], x0[5])), x0[5], x1[5])), ≥)∧[(4)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]x1[5] ≥ 0∧[1 + (-1)bso_43] ≥ 0)
For Pair
COND_6722_0_REC_LOAD3(
TRUE,
x0,
x1) →
6915_1_REC_INVOKEMETHOD(
x1,
x0) the following chains were created:
- We consider the chain COND_6722_0_REC_LOAD3(TRUE, x0[6], x1[6]) → 6915_1_REC_INVOKEMETHOD(x1[6], x0[6]), 6915_1_REC_INVOKEMETHOD(x4[0], x5[0]) → 6722_0_REC_LOAD(-(x5[0], 1), x4[0]) which results in the following constraint:
(40) (x1[6]=x4[0]∧x0[6]=x5[0] ⇒ COND_6722_0_REC_LOAD3(TRUE, x0[6], x1[6])≥NonInfC∧COND_6722_0_REC_LOAD3(TRUE, x0[6], x1[6])≥6915_1_REC_INVOKEMETHOD(x1[6], x0[6])∧(UIncreasing(6915_1_REC_INVOKEMETHOD(x1[6], x0[6])), ≥))
We simplified constraint (40) using rule (IV) which results in the following new constraint:
(41) (COND_6722_0_REC_LOAD3(TRUE, x0[6], x1[6])≥NonInfC∧COND_6722_0_REC_LOAD3(TRUE, x0[6], x1[6])≥6915_1_REC_INVOKEMETHOD(x1[6], x0[6])∧(UIncreasing(6915_1_REC_INVOKEMETHOD(x1[6], x0[6])), ≥))
We simplified constraint (41) using rule (POLY_CONSTRAINTS) which results in the following new constraint:
(42) ((UIncreasing(6915_1_REC_INVOKEMETHOD(x1[6], x0[6])), ≥)∧[1 + (-1)bso_45] ≥ 0)
We simplified constraint (42) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:
(43) ((UIncreasing(6915_1_REC_INVOKEMETHOD(x1[6], x0[6])), ≥)∧[1 + (-1)bso_45] ≥ 0)
We simplified constraint (43) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:
(44) ((UIncreasing(6915_1_REC_INVOKEMETHOD(x1[6], x0[6])), ≥)∧[1 + (-1)bso_45] ≥ 0)
We simplified constraint (44) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:
(45) ((UIncreasing(6915_1_REC_INVOKEMETHOD(x1[6], x0[6])), ≥)∧0 = 0∧0 = 0∧[1 + (-1)bso_45] ≥ 0)
To summarize, we get the following constraints P
≥ for the following pairs.
- 6915_1_REC_INVOKEMETHOD(x4, x5) → 6722_0_REC_LOAD(-(x5, 1), x4)
- ((UIncreasing(6722_0_REC_LOAD(-(x5[0], 1), x4[0])), ≥)∧0 = 0∧0 = 0∧[(-1)bso_33] ≥ 0)
- 6722_0_REC_LOAD(x0, x1) → COND_6722_0_REC_LOAD(<(0, +(x1, x0)), x0, x1)
- (x1[1] ≥ 0∧x0[1] ≥ 0 ⇒ (UIncreasing(COND_6722_0_REC_LOAD(<(0, +(x1[1], x0[1])), x0[1], x1[1])), ≥)∧[(4)bni_34 + (-1)Bound*bni_34] + [(2)bni_34]x1[1] ≥ 0∧[1 + (-1)bso_35] ≥ 0)
- (x1[1] ≥ 0∧x0[1] ≥ 0 ⇒ (UIncreasing(COND_6722_0_REC_LOAD(<(0, +(x1[1], x0[1])), x0[1], x1[1])), ≥)∧[(4)bni_34 + (-1)Bound*bni_34] + [(2)bni_34]x1[1] ≥ 0∧[1 + (-1)bso_35] ≥ 0)
- COND_6722_0_REC_LOAD(TRUE, x0, x1) → 6722_0_REC_LOAD(-(x0, 1), x1)
- ((UIncreasing(6722_0_REC_LOAD(-(x0[2], 1), x1[2])), ≥)∧0 = 0∧0 = 0∧[1 + (-1)bso_37] ≥ 0)
- 6722_0_REC_LOAD(x0, x1) → COND_6722_0_REC_LOAD1(<(0, +(x1, x0)), x0, x1)
- (x1[3] ≥ 0∧x0[3] ≥ 0 ⇒ (UIncreasing(COND_6722_0_REC_LOAD1(<(0, +(x1[3], x0[3])), x0[3], x1[3])), ≥)∧[(4)bni_38 + (-1)Bound*bni_38] + [(2)bni_38]x1[3] ≥ 0∧[1 + (-1)bso_39] ≥ 0)
- (x1[3] ≥ 0∧x0[3] ≥ 0 ⇒ (UIncreasing(COND_6722_0_REC_LOAD1(<(0, +(x1[3], x0[3])), x0[3], x1[3])), ≥)∧[(4)bni_38 + (-1)Bound*bni_38] + [(2)bni_38]x1[3] ≥ 0∧[1 + (-1)bso_39] ≥ 0)
- COND_6722_0_REC_LOAD1(TRUE, x0, x1) → 6722_0_REC_LOAD(x0, -(x1, 1))
- ((UIncreasing(6722_0_REC_LOAD(x0[4], -(x1[4], 1))), ≥)∧0 = 0∧0 = 0∧[1 + (-1)bso_41] ≥ 0)
- 6722_0_REC_LOAD(x0, x1) → COND_6722_0_REC_LOAD3(<(0, +(x1, x0)), x0, x1)
- (x1[5] ≥ 0∧x0[5] ≥ 0 ⇒ (UIncreasing(COND_6722_0_REC_LOAD3(<(0, +(x1[5], x0[5])), x0[5], x1[5])), ≥)∧[(4)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]x1[5] ≥ 0∧[1 + (-1)bso_43] ≥ 0)
- (x1[5] ≥ 0∧x0[5] ≥ 0 ⇒ (UIncreasing(COND_6722_0_REC_LOAD3(<(0, +(x1[5], x0[5])), x0[5], x1[5])), ≥)∧[(4)bni_42 + (-1)Bound*bni_42] + [(2)bni_42]x1[5] ≥ 0∧[1 + (-1)bso_43] ≥ 0)
- COND_6722_0_REC_LOAD3(TRUE, x0, x1) → 6915_1_REC_INVOKEMETHOD(x1, x0)
- ((UIncreasing(6915_1_REC_INVOKEMETHOD(x1[6], x0[6])), ≥)∧0 = 0∧0 = 0∧[1 + (-1)bso_45] ≥ 0)
The constraints for P
> respective P
bound 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 P
bound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:
POL(TRUE) = 0
POL(FALSE) = 0
POL(7439_1_rec_InvokeMethod(x1, x2, x3)) = [-1]
POL(6731_0_rec_Return) = [-1]
POL(7613_0_rec_Return) = [-1]
POL(7222_0_rec_InvokeMethod(x1, x2)) = [-1]
POL(7511_0_rec_InvokeMethod(x1, x2, x3)) = [-1]
POL(java.lang.Object(x1)) = [-1]
POL(java.lang.Throwable(x1)) = [-1]
POL(java.lang.Exception(x1)) = [-1]
POL(java.lang.RuntimeException(x1)) = [-1]
POL(java.lang.IndexOutOfBoundsException) = [-1]
POL(7390_0_rec_InvokeMethod(x1, x2)) = [-1]
POL(java.lang.NullPointerException) = [-1]
POL(7533_0_rec_InvokeMethod(x1, x2)) = [-1]
POL(7722_0_rec_InvokeMethod(x1, x2)) = [-1]
POL(7951_0_rec_InvokeMethod(x1, x2, x3)) = [-1]
POL(7957_0_rec_InvokeMethod(x1, x2, x3)) = [-1]
POL(8091_0_rec_InvokeMethod(x1, x2, x3)) = [-1]
POL(7900_1_rec_InvokeMethod(x1, x2, x3)) = [-1]
POL(6957_1_rec_InvokeMethod(x1, x2, x3)) = [-1]
POL(7174_0_rec_InvokeMethod(x1, x2)) = [-1]
POL(7472_0_rec_InvokeMethod(x1, x2)) = [-1]
POL(6915_1_REC_INVOKEMETHOD(x1, x2)) = [2]x1 + [2]x2
POL(6722_0_REC_LOAD(x1, x2)) = [2] + [2]x1 + [2]x2
POL(-(x1, x2)) = x1 + [-1]x2
POL(1) = [1]
POL(COND_6722_0_REC_LOAD(x1, x2, x3)) = [1] + [2]x3 + [2]x2
POL(<(x1, x2)) = [-1]
POL(0) = 0
POL(+(x1, x2)) = x1 + x2
POL(COND_6722_0_REC_LOAD1(x1, x2, x3)) = [1] + [2]x3 + [2]x2
POL(COND_6722_0_REC_LOAD3(x1, x2, x3)) = [1] + [2]x3 + [2]x2
The following pairs are in P
>:
6722_0_REC_LOAD(x0[1], x1[1]) → COND_6722_0_REC_LOAD(<(0, +(x1[1], x0[1])), x0[1], x1[1])
COND_6722_0_REC_LOAD(TRUE, x0[2], x1[2]) → 6722_0_REC_LOAD(-(x0[2], 1), x1[2])
6722_0_REC_LOAD(x0[3], x1[3]) → COND_6722_0_REC_LOAD1(<(0, +(x1[3], x0[3])), x0[3], x1[3])
COND_6722_0_REC_LOAD1(TRUE, x0[4], x1[4]) → 6722_0_REC_LOAD(x0[4], -(x1[4], 1))
6722_0_REC_LOAD(x0[5], x1[5]) → COND_6722_0_REC_LOAD3(<(0, +(x1[5], x0[5])), x0[5], x1[5])
COND_6722_0_REC_LOAD3(TRUE, x0[6], x1[6]) → 6915_1_REC_INVOKEMETHOD(x1[6], x0[6])
The following pairs are in P
bound:
6722_0_REC_LOAD(x0[1], x1[1]) → COND_6722_0_REC_LOAD(<(0, +(x1[1], x0[1])), x0[1], x1[1])
6722_0_REC_LOAD(x0[3], x1[3]) → COND_6722_0_REC_LOAD1(<(0, +(x1[3], x0[3])), x0[3], x1[3])
6722_0_REC_LOAD(x0[5], x1[5]) → COND_6722_0_REC_LOAD3(<(0, +(x1[5], x0[5])), x0[5], x1[5])
The following pairs are in P
≥:
6915_1_REC_INVOKEMETHOD(x4[0], x5[0]) → 6722_0_REC_LOAD(-(x5[0], 1), x4[0])
There are no usable rules.
(6) 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
The ITRS R consists of the following rules:
7439_1_rec_InvokeMethod(
6731_0_rec_Return,
x0,
x1) →
7613_0_rec_Return7439_1_rec_InvokeMethod(
7222_0_rec_InvokeMethod(
x0,
x1),
x0,
x1) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.IndexOutOfBoundsException)))),
x0,
x1)
7439_1_rec_InvokeMethod(
7390_0_rec_InvokeMethod(
x0,
x1),
x0,
x1) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.NullPointerException)))),
x0,
x1)
7439_1_rec_InvokeMethod(
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x1,
x2),
x1,
x3) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x1,
x3)
7439_1_rec_InvokeMethod(
7533_0_rec_InvokeMethod(
x0,
x1),
x0,
x1) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.IndexOutOfBoundsException)))),
x0,
x1)
7439_1_rec_InvokeMethod(
7613_0_rec_Return,
x0,
x1) →
7613_0_rec_Return7439_1_rec_InvokeMethod(
7722_0_rec_InvokeMethod(
x0,
x1),
x0,
x1) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.NullPointerException)))),
x0,
x1)
7439_1_rec_InvokeMethod(
7951_0_rec_InvokeMethod(
x0,
x1,
x2),
x0,
x1) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.IndexOutOfBoundsException)))),
x0,
x1)
7439_1_rec_InvokeMethod(
7957_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x1,
x2),
x3,
x2) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x3,
x2)
7439_1_rec_InvokeMethod(
8091_0_rec_InvokeMethod(
x0,
x1,
x2),
x0,
x1) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.NullPointerException)))),
x0,
x1)
7900_1_rec_InvokeMethod(
6731_0_rec_Return,
x0,
x1) →
7613_0_rec_Return7900_1_rec_InvokeMethod(
7222_0_rec_InvokeMethod(
x0,
x1),
x0,
x1) →
7957_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.IndexOutOfBoundsException)))),
x0,
x1)
7900_1_rec_InvokeMethod(
7390_0_rec_InvokeMethod(
x0,
x1),
x0,
x1) →
7957_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.NullPointerException)))),
x0,
x1)
7900_1_rec_InvokeMethod(
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x1,
x2),
x1,
x3) →
7957_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x1,
x3)
7900_1_rec_InvokeMethod(
7533_0_rec_InvokeMethod(
x0,
x1),
x0,
x1) →
7957_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.IndexOutOfBoundsException)))),
x0,
x1)
7900_1_rec_InvokeMethod(
7613_0_rec_Return,
x0,
x1) →
7613_0_rec_Return7900_1_rec_InvokeMethod(
7722_0_rec_InvokeMethod(
x0,
x1),
x0,
x1) →
7957_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.NullPointerException)))),
x0,
x1)
7900_1_rec_InvokeMethod(
7951_0_rec_InvokeMethod(
x0,
x1,
x2),
x0,
x1) →
7957_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.IndexOutOfBoundsException)))),
x0,
x1)
7900_1_rec_InvokeMethod(
7957_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x1,
x2),
x3,
x2) →
7957_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x3,
x2)
7900_1_rec_InvokeMethod(
8091_0_rec_InvokeMethod(
x0,
x1,
x2),
x0,
x1) →
7957_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.NullPointerException)))),
x0,
x1)
6957_1_rec_InvokeMethod(
6731_0_rec_Return,
x0,
x1) →
7613_0_rec_Return6957_1_rec_InvokeMethod(
7174_0_rec_InvokeMethod(
x0,
x1),
x0,
x1) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.IndexOutOfBoundsException)))),
x0,
x1)
6957_1_rec_InvokeMethod(
7222_0_rec_InvokeMethod(
x0,
x1),
x0,
x1) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.IndexOutOfBoundsException)))),
x0,
x1)
6957_1_rec_InvokeMethod(
7390_0_rec_InvokeMethod(
x0,
x1),
x0,
x1) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.NullPointerException)))),
x0,
x1)
6957_1_rec_InvokeMethod(
7472_0_rec_InvokeMethod(
x0,
x1),
x0,
x1) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.IndexOutOfBoundsException)))),
x0,
x1)
6957_1_rec_InvokeMethod(
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x1,
x2),
x1,
x3) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x1,
x3)
6957_1_rec_InvokeMethod(
7533_0_rec_InvokeMethod(
x0,
x1),
x0,
x1) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.IndexOutOfBoundsException)))),
x0,
x1)
6957_1_rec_InvokeMethod(
7613_0_rec_Return,
x0,
x1) →
7613_0_rec_Return6957_1_rec_InvokeMethod(
7722_0_rec_InvokeMethod(
x0,
x1),
x0,
x1) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.NullPointerException)))),
x0,
x1)
6957_1_rec_InvokeMethod(
7951_0_rec_InvokeMethod(
x0,
x1,
x2),
x0,
x1) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.IndexOutOfBoundsException)))),
x0,
x1)
6957_1_rec_InvokeMethod(
7957_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x1,
x2),
x3,
x2) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x3,
x2)
6957_1_rec_InvokeMethod(
8091_0_rec_InvokeMethod(
x0,
x1,
x2),
x0,
x1) →
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
java.lang.NullPointerException)))),
x0,
x1)
The integer pair graph contains the following rules and edges:
(0):
6915_1_REC_INVOKEMETHOD(
x4[0],
x5[0]) →
6722_0_REC_LOAD(
x5[0] - 1,
x4[0])
(2):
COND_6722_0_REC_LOAD(
TRUE,
x0[2],
x1[2]) →
6722_0_REC_LOAD(
x0[2] - 1,
x1[2])
(4):
COND_6722_0_REC_LOAD1(
TRUE,
x0[4],
x1[4]) →
6722_0_REC_LOAD(
x0[4],
x1[4] - 1)
(6):
COND_6722_0_REC_LOAD3(
TRUE,
x0[6],
x1[6]) →
6915_1_REC_INVOKEMETHOD(
x1[6],
x0[6])
(6) -> (0), if ((x1[6] →* x4[0])∧(x0[6] →* x5[0]))
The set Q consists of the following terms:
7439_1_rec_InvokeMethod(
6731_0_rec_Return,
x0,
x1)
7439_1_rec_InvokeMethod(
7222_0_rec_InvokeMethod(
x0,
x1),
x0,
x1)
7439_1_rec_InvokeMethod(
7390_0_rec_InvokeMethod(
x0,
x1),
x0,
x1)
7439_1_rec_InvokeMethod(
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x1,
x2),
x1,
x3)
7439_1_rec_InvokeMethod(
7533_0_rec_InvokeMethod(
x0,
x1),
x0,
x1)
7439_1_rec_InvokeMethod(
7613_0_rec_Return,
x0,
x1)
7439_1_rec_InvokeMethod(
7722_0_rec_InvokeMethod(
x0,
x1),
x0,
x1)
7439_1_rec_InvokeMethod(
7951_0_rec_InvokeMethod(
x0,
x1,
x2),
x0,
x1)
7439_1_rec_InvokeMethod(
7957_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x1,
x2),
x3,
x2)
7439_1_rec_InvokeMethod(
8091_0_rec_InvokeMethod(
x0,
x1,
x2),
x0,
x1)
7900_1_rec_InvokeMethod(
6731_0_rec_Return,
x0,
x1)
7900_1_rec_InvokeMethod(
7222_0_rec_InvokeMethod(
x0,
x1),
x0,
x1)
7900_1_rec_InvokeMethod(
7390_0_rec_InvokeMethod(
x0,
x1),
x0,
x1)
7900_1_rec_InvokeMethod(
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x1,
x2),
x1,
x3)
7900_1_rec_InvokeMethod(
7533_0_rec_InvokeMethod(
x0,
x1),
x0,
x1)
7900_1_rec_InvokeMethod(
7613_0_rec_Return,
x0,
x1)
7900_1_rec_InvokeMethod(
7722_0_rec_InvokeMethod(
x0,
x1),
x0,
x1)
7900_1_rec_InvokeMethod(
7951_0_rec_InvokeMethod(
x0,
x1,
x2),
x0,
x1)
7900_1_rec_InvokeMethod(
7957_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x1,
x2),
x3,
x2)
7900_1_rec_InvokeMethod(
8091_0_rec_InvokeMethod(
x0,
x1,
x2),
x0,
x1)
6957_1_rec_InvokeMethod(
6731_0_rec_Return,
x0,
x1)
6957_1_rec_InvokeMethod(
7174_0_rec_InvokeMethod(
x0,
x1),
x0,
x1)
6957_1_rec_InvokeMethod(
7222_0_rec_InvokeMethod(
x0,
x1),
x0,
x1)
6957_1_rec_InvokeMethod(
7390_0_rec_InvokeMethod(
x0,
x1),
x0,
x1)
6957_1_rec_InvokeMethod(
7472_0_rec_InvokeMethod(
x0,
x1),
x0,
x1)
6957_1_rec_InvokeMethod(
7511_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x1,
x2),
x1,
x3)
6957_1_rec_InvokeMethod(
7533_0_rec_InvokeMethod(
x0,
x1),
x0,
x1)
6957_1_rec_InvokeMethod(
7613_0_rec_Return,
x0,
x1)
6957_1_rec_InvokeMethod(
7722_0_rec_InvokeMethod(
x0,
x1),
x0,
x1)
6957_1_rec_InvokeMethod(
7951_0_rec_InvokeMethod(
x0,
x1,
x2),
x0,
x1)
6957_1_rec_InvokeMethod(
7957_0_rec_InvokeMethod(
java.lang.Object(
java.lang.Throwable(
java.lang.Exception(
java.lang.RuntimeException(
x0)))),
x1,
x2),
x3,
x2)
6957_1_rec_InvokeMethod(
8091_0_rec_InvokeMethod(
x0,
x1,
x2),
x0,
x1)
(7) IDependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 4 less nodes.
(8) TRUE