(0) Obligation:

JBC Problem based on JBC Program:
Manifest-Version: 1.0 Created-By: 1.6.0_14 (Sun Microsystems Inc.) Main-Class: DivTernary2/DivTernary2
package DivTernary2;
public class DivTernary2 {
// by Thomas Kolbe
public static Nats div(final Nats x, final Nats y, final Nats z) {
if (z.isZero()) {
return Nats.zero();
}
if (y.isZero()) {
return Nats.succ(div(x, z, z));
}
if (x.isZero()) {
return Nats.zero();
}
return div(x.pred, y.pred, z);
}

public static void main(final String[] args) {

final Nats x = new Nats(args[0].length());
final Nats y = new Nats(args[1].length());

div(x, y, y);
}
}


package DivTernary2;

public class Nats {
Nats pred;

public Nats() {
}

public Nats(final int n) {
if (n <= 0) {
this.pred = null;
} else {
this.pred = new Nats(n - 1);
}
}

public int toInt() {
if (this.pred == null) {
return 0;
}
return this.pred.toInt() + 1;
}

@Override
public String toString() {
return (String.valueOf(toInt()));
}

public boolean isZero() {
return (this.pred == null);
}

public static Nats zero() {
return new Nats();
}

public static Nats succ(final Nats x) {
final Nats y = new Nats();
y.pred = x;
return y;
}

/**
* @return
*/
public Nats copy() {
if (this.pred == null) {
return new Nats();
}
final Nats predCopy = this.pred.copy();
return succ(predCopy);
}

}


(1) JBC2FIG (SOUND transformation)

Constructed FIGraph.

(2) Obligation:

FIGraph based on JBC Program:
DivTernary2.DivTernary2.main([Ljava/lang/String;)V: Graph of 157 nodes with 0 SCCs.

DivTernary2.Nats.<init>(I)V: Graph of 27 nodes with 0 SCCs.

DivTernary2.DivTernary2.div(LDivTernary2/Nats;LDivTernary2/Nats;LDivTernary2/Nats;)LDivTernary2/Nats;: Graph of 179 nodes with 0 SCCs.

DivTernary2.Nats.isZero()Z: Graph of 39 nodes with 0 SCCs.


(3) FIGtoITRSProof (SOUND transformation)

Transformed FIGraph SCCs to IDPs. Logs:


Log for SCC 0:

Generated 72 rules for P and 154 rules for R.


Combined rules. Obtained 20 rules for P and 21 rules for R.


Filtered ground terms:


2255_0_isZero_Load(x1, x2) → 2255_0_isZero_Load(x2)
DivTernary2.Nats(x1, x2) → DivTernary2.Nats(x2)
2963_0_isZero_Return(x1, x2) → 2963_0_isZero_Return
2941_0_isZero_Return(x1, x2) → 2941_0_isZero_Return
2922_0_isZero_Return(x1, x2) → 2922_0_isZero_Return
3240_0_isZero_Load(x1, x2) → 3240_0_isZero_Load(x2)
3191_0_div_EQ(x1, x2, x3, x4, x5) → 3191_0_div_EQ(x2, x3, x4, x5)
3101_0_isZero_Return(x1, x2) → 3101_0_isZero_Return
3063_0_isZero_Return(x1, x2) → 3063_0_isZero_Return
2998_0_isZero_Return(x1, x2) → 2998_0_isZero_Return
2681_0_isZero_Load(x1, x2) → 2681_0_isZero_Load(x2)
2711_0_isZero_FieldAccess(x1, x2) → 2711_0_isZero_FieldAccess(x2)
3817_0_div_InvokeMethod(x1, x2, x3, x4, x5) → 3817_0_div_InvokeMethod(x3, x4, x5)
java.lang.NullPointerException(x1) → java.lang.NullPointerException
java.lang.RuntimeException(x1) → java.lang.RuntimeException
java.lang.Exception(x1) → java.lang.Exception
java.lang.Throwable(x1) → java.lang.Throwable
3789_0_div_InvokeMethod(x1, x2, x3, x4, x5) → 3789_0_div_InvokeMethod(x4, x5)
3746_0_div_InvokeMethod(x1, x2, x3, x4, x5, x6) → 3746_0_div_InvokeMethod(x4, x5)
3725_0_div_Return(x1, x2) → 3725_0_div_Return(x2)
3694_0_div_Return(x1, x2) → 3694_0_div_Return
3656_0_div_Return(x1, x2, x3, x4, x5) → 3656_0_div_Return(x2, x3, x4)
3547_0_div_Return(x1, x2) → 3547_0_div_Return
3561_0_div_Return(x1, x2, x3, x4, x5) → 3561_0_div_Return(x2, x3, x4)
3550_0_div_InvokeMethod(x1, x2, x3, x4, x5) → 3550_0_div_InvokeMethod(x3, x5)
3422_0_div_InvokeMethod(x1, x2, x3, x4, x5, x6) → 3422_0_div_InvokeMethod(x3, x5)
2760_0_div_Return(x1, x2, x3, x4, x5) → 2760_0_div_Return(x2, x3, x4)

Filtered duplicate args:


2255_1_div_InvokeMethod(x1, x2, x3, x4, x5) → 2255_1_div_InvokeMethod(x1, x2, x3, x5)
3240_1_div_InvokeMethod(x1, x2, x3, x4, x5) → 3240_1_div_InvokeMethod(x1, x3, x4, x5)
3336_1_div_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → 3336_1_div_InvokeMethod(x1, x3, x5, x7)
2681_1_div_InvokeMethod(x1, x2, x3, x4, x5) → 2681_1_div_InvokeMethod(x1, x2, x4, x5)

Finished conversion. Obtained 14 rules for P and 21 rules for R. System has no predefined symbols.




Log for SCC 1:

Generated 15 rules for P and 12 rules for R.


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


Filtered ground terms:


87_0_<init>_InvokeMethod(x1, x2) → 87_0_<init>_InvokeMethod(x2)
Cond_87_0_<init>_InvokeMethod(x1, x2, x3) → Cond_87_0_<init>_InvokeMethod(x1, x3)
339_0_<init>_Return(x1) → 339_0_<init>_Return
211_0_<init>_Return(x1) → 211_0_<init>_Return

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


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


(4) Complex Obligation (AND)

(5) Obligation:

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


The following domains are used:
none


The ITRS R consists of the following rules:
2255_0_isZero_Load(java.lang.Object(x0)) → 2711_0_isZero_FieldAccess(java.lang.Object(x0))
3336_1_div_InvokeMethod(2760_0_div_Return(x0, java.lang.Object(x1), java.lang.Object(x1)), java.lang.Object(DivTernary2.Nats(x2)), x0, java.lang.Object(x1)) → 3656_0_div_Return(x0, java.lang.Object(DivTernary2.Nats(x2)), java.lang.Object(x1))
3509_1_div_InvokeMethod(2760_0_div_Return(x0, x1, java.lang.Object(x2)), x0, x1, java.lang.Object(x2)) → 3547_0_div_Return
3509_1_div_InvokeMethod(3422_0_div_InvokeMethod(x0, java.lang.Object(x1)), x0, NULL, java.lang.Object(x1)) → 3550_0_div_InvokeMethod(x0, java.lang.Object(x1))
3509_1_div_InvokeMethod(3547_0_div_Return, java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2)) → 3725_0_div_Return(java.lang.Object(DivTernary2.Nats(NULL)))
3509_1_div_InvokeMethod(3550_0_div_InvokeMethod(x0, java.lang.Object(x1)), java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x1)) → 3817_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x1))
3509_1_div_InvokeMethod(3561_0_div_Return(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2)), java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2)) → 3547_0_div_Return
3509_1_div_InvokeMethod(3656_0_div_Return(x0, java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2)), x0, java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2)) → 3694_0_div_Return
3509_1_div_InvokeMethod(3694_0_div_Return, java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x1)))), java.lang.Object(x2)) → 3725_0_div_Return(java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(NULL)))))
3509_1_div_InvokeMethod(3725_0_div_Return(java.lang.Object(DivTernary2.Nats(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x1)))), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x2)))), java.lang.Object(x3)) → 3725_0_div_Return(java.lang.Object(DivTernary2.Nats(x0)))
3509_1_div_InvokeMethod(3746_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(x1)), NULL, java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(x1)) → 3789_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(x1))
3509_1_div_InvokeMethod(3789_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(x1)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x0)))), java.lang.Object(x1)) → 3817_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x0)))), java.lang.Object(x1))
3509_1_div_InvokeMethod(3817_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2)), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x0)))), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x1)))), java.lang.Object(x2)) → 3817_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x0)))), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x1)))), java.lang.Object(x2))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2922_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 2998_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2963_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3101_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2941_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3063_0_isZero_Return

The integer pair graph contains the following rules and edges:
(0): 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[0], java.lang.Object(x2[0]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[0])))) → 2681_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x2[0])), x1[0], java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[0]))), java.lang.Object(x2[0]))
(1): 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[1], java.lang.Object(x2[1]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[1])))) → 2681_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x2[1])), x1[1], java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[1]))), java.lang.Object(x2[1]))
(2): 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[2], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2])))) → 2681_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2])))), x1[2], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))))
(3): 2681_1_DIV_INVOKEMETHOD(2998_0_isZero_Return, x1[3], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[3], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(NULL)), 1)
(4): 2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), 1)
(5): 2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), 1)
(6): 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), 0)
(7): 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), 0)
(8): 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), 0)
(9): 3191_0_DIV_EQ(x0[9], java.lang.Object(DivTernary2.Nats(x1[9])), java.lang.Object(x2[9]), 1) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x2[9])), x0[9], java.lang.Object(x2[9]), java.lang.Object(x2[9]))
(10): 3191_0_DIV_EQ(java.lang.Object(x0[10]), java.lang.Object(DivTernary2.Nats(x1[10])), java.lang.Object(x2[10]), 0) → 3240_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x0[10])), java.lang.Object(DivTernary2.Nats(x1[10])), java.lang.Object(x2[10]), java.lang.Object(x0[10]))
(11): 3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[11])), java.lang.Object(x3[11]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[11])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[11])), java.lang.Object(x1[11]), x2[11], java.lang.Object(x3[11]))
(12): 3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[12])), java.lang.Object(x3[12]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[12])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[12])), java.lang.Object(x1[12]), x2[12], java.lang.Object(x3[12]))
(13): 3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[13])), java.lang.Object(x3[13]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[13])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[13])), java.lang.Object(x1[13]), x2[13], java.lang.Object(x3[13]))

(0) -> (3), if ((2255_0_isZero_Load(java.lang.Object(x2[0])) →* 2998_0_isZero_Return)∧(x1[0]* x1[3])∧(java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[0]))) →* java.lang.Object(DivTernary2.Nats(NULL)))∧(java.lang.Object(x2[0]) →* java.lang.Object(DivTernary2.Nats(NULL))))


(0) -> (4), if ((2255_0_isZero_Load(java.lang.Object(x2[0])) →* 3063_0_isZero_Return)∧(x1[0]* x1[4])∧(java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[0]))) →* java.lang.Object(x2[4]))∧(java.lang.Object(x2[0]) →* java.lang.Object(DivTernary2.Nats(NULL))))


(0) -> (5), if ((2255_0_isZero_Load(java.lang.Object(x2[0])) →* 3101_0_isZero_Return)∧(x1[0]* x1[5])∧(java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[0]))) →* java.lang.Object(x2[5]))∧(java.lang.Object(x2[0]) →* java.lang.Object(DivTernary2.Nats(NULL))))


(0) -> (6), if ((2255_0_isZero_Load(java.lang.Object(x2[0])) →* 2922_0_isZero_Return)∧(x1[0]* x1[6])∧(java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[0]))) →* java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))))∧(java.lang.Object(x2[0]) →* java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))))


(0) -> (7), if ((2255_0_isZero_Load(java.lang.Object(x2[0])) →* 2941_0_isZero_Return)∧(x1[0]* x1[7])∧(java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[0]))) →* java.lang.Object(x3[7]))∧(java.lang.Object(x2[0]) →* java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))))


(0) -> (8), if ((2255_0_isZero_Load(java.lang.Object(x2[0])) →* 2963_0_isZero_Return)∧(x1[0]* x1[8])∧(java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[0]))) →* java.lang.Object(x3[8]))∧(java.lang.Object(x2[0]) →* java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))))


(1) -> (3), if ((2255_0_isZero_Load(java.lang.Object(x2[1])) →* 2998_0_isZero_Return)∧(x1[1]* x1[3])∧(java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[1]))) →* java.lang.Object(DivTernary2.Nats(NULL)))∧(java.lang.Object(x2[1]) →* java.lang.Object(DivTernary2.Nats(NULL))))


(1) -> (4), if ((2255_0_isZero_Load(java.lang.Object(x2[1])) →* 3063_0_isZero_Return)∧(x1[1]* x1[4])∧(java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[1]))) →* java.lang.Object(x2[4]))∧(java.lang.Object(x2[1]) →* java.lang.Object(DivTernary2.Nats(NULL))))


(1) -> (5), if ((2255_0_isZero_Load(java.lang.Object(x2[1])) →* 3101_0_isZero_Return)∧(x1[1]* x1[5])∧(java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[1]))) →* java.lang.Object(x2[5]))∧(java.lang.Object(x2[1]) →* java.lang.Object(DivTernary2.Nats(NULL))))


(1) -> (6), if ((2255_0_isZero_Load(java.lang.Object(x2[1])) →* 2922_0_isZero_Return)∧(x1[1]* x1[6])∧(java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[1]))) →* java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))))∧(java.lang.Object(x2[1]) →* java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))))


(1) -> (7), if ((2255_0_isZero_Load(java.lang.Object(x2[1])) →* 2941_0_isZero_Return)∧(x1[1]* x1[7])∧(java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[1]))) →* java.lang.Object(x3[7]))∧(java.lang.Object(x2[1]) →* java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))))


(1) -> (8), if ((2255_0_isZero_Load(java.lang.Object(x2[1])) →* 2963_0_isZero_Return)∧(x1[1]* x1[8])∧(java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[1]))) →* java.lang.Object(x3[8]))∧(java.lang.Object(x2[1]) →* java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))))


(2) -> (3), if ((2255_0_isZero_Load(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2])))) →* 2998_0_isZero_Return)∧(x1[2]* x1[3])∧(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))) →* java.lang.Object(DivTernary2.Nats(NULL))))


(2) -> (4), if ((2255_0_isZero_Load(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2])))) →* 3063_0_isZero_Return)∧(x1[2]* x1[4])∧(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))) →* java.lang.Object(x2[4]))∧(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))) →* java.lang.Object(DivTernary2.Nats(NULL))))


(2) -> (5), if ((2255_0_isZero_Load(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2])))) →* 3101_0_isZero_Return)∧(x1[2]* x1[5])∧(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))) →* java.lang.Object(x2[5]))∧(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))) →* java.lang.Object(DivTernary2.Nats(NULL))))


(2) -> (6), if ((2255_0_isZero_Load(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2])))) →* 2922_0_isZero_Return)∧(x1[2]* x1[6])∧(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))) →* java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))))


(2) -> (7), if ((2255_0_isZero_Load(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2])))) →* 2941_0_isZero_Return)∧(x1[2]* x1[7])∧(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))) →* java.lang.Object(x3[7]))∧(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))) →* java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))))


(2) -> (8), if ((2255_0_isZero_Load(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2])))) →* 2963_0_isZero_Return)∧(x1[2]* x1[8])∧(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))) →* java.lang.Object(x3[8]))∧(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))) →* java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))))


(3) -> (9), if ((x1[3]* x0[9])∧(java.lang.Object(DivTernary2.Nats(NULL)) →* java.lang.Object(DivTernary2.Nats(x1[9])))∧(java.lang.Object(DivTernary2.Nats(NULL)) →* java.lang.Object(x2[9])))


(3) -> (10), if ((x1[3]* java.lang.Object(x0[10]))∧(java.lang.Object(DivTernary2.Nats(NULL)) →* java.lang.Object(DivTernary2.Nats(x1[10])))∧(java.lang.Object(DivTernary2.Nats(NULL)) →* java.lang.Object(x2[10]))∧(1* 0))


(4) -> (9), if ((x1[4]* x0[9])∧(java.lang.Object(DivTernary2.Nats(NULL)) →* java.lang.Object(DivTernary2.Nats(x1[9])))∧(java.lang.Object(x2[4]) →* java.lang.Object(x2[9])))


(4) -> (10), if ((x1[4]* java.lang.Object(x0[10]))∧(java.lang.Object(DivTernary2.Nats(NULL)) →* java.lang.Object(DivTernary2.Nats(x1[10])))∧(java.lang.Object(x2[4]) →* java.lang.Object(x2[10]))∧(1* 0))


(5) -> (9), if ((x1[5]* x0[9])∧(java.lang.Object(DivTernary2.Nats(NULL)) →* java.lang.Object(DivTernary2.Nats(x1[9])))∧(java.lang.Object(x2[5]) →* java.lang.Object(x2[9])))


(5) -> (10), if ((x1[5]* java.lang.Object(x0[10]))∧(java.lang.Object(DivTernary2.Nats(NULL)) →* java.lang.Object(DivTernary2.Nats(x1[10])))∧(java.lang.Object(x2[5]) →* java.lang.Object(x2[10]))∧(1* 0))


(6) -> (9), if ((x1[6]* x0[9])∧(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))) →* java.lang.Object(DivTernary2.Nats(x1[9])))∧(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))) →* java.lang.Object(x2[9]))∧(0* 1))


(6) -> (10), if ((x1[6]* java.lang.Object(x0[10]))∧(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))) →* java.lang.Object(DivTernary2.Nats(x1[10])))∧(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))) →* java.lang.Object(x2[10])))


(7) -> (9), if ((x1[7]* x0[9])∧(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))) →* java.lang.Object(DivTernary2.Nats(x1[9])))∧(java.lang.Object(x3[7]) →* java.lang.Object(x2[9]))∧(0* 1))


(7) -> (10), if ((x1[7]* java.lang.Object(x0[10]))∧(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))) →* java.lang.Object(DivTernary2.Nats(x1[10])))∧(java.lang.Object(x3[7]) →* java.lang.Object(x2[10])))


(8) -> (9), if ((x1[8]* x0[9])∧(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))) →* java.lang.Object(DivTernary2.Nats(x1[9])))∧(java.lang.Object(x3[8]) →* java.lang.Object(x2[9]))∧(0* 1))


(8) -> (10), if ((x1[8]* java.lang.Object(x0[10]))∧(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))) →* java.lang.Object(DivTernary2.Nats(x1[10])))∧(java.lang.Object(x3[8]) →* java.lang.Object(x2[10])))


(9) -> (0), if ((2255_0_isZero_Load(java.lang.Object(x2[9])) →* 2922_0_isZero_Return)∧(x0[9]* x1[0])∧(java.lang.Object(x2[9]) →* java.lang.Object(x2[0]))∧(java.lang.Object(x2[9]) →* java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[0])))))


(9) -> (1), if ((2255_0_isZero_Load(java.lang.Object(x2[9])) →* 2941_0_isZero_Return)∧(x0[9]* x1[1])∧(java.lang.Object(x2[9]) →* java.lang.Object(x2[1]))∧(java.lang.Object(x2[9]) →* java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[1])))))


(9) -> (2), if ((2255_0_isZero_Load(java.lang.Object(x2[9])) →* 2963_0_isZero_Return)∧(x0[9]* x1[2])∧(java.lang.Object(x2[9]) →* java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2])))))


(10) -> (11), if ((2255_0_isZero_Load(java.lang.Object(x0[10])) →* 2922_0_isZero_Return)∧(java.lang.Object(DivTernary2.Nats(x1[10])) →* java.lang.Object(DivTernary2.Nats(x2[11])))∧(java.lang.Object(x2[10]) →* java.lang.Object(x3[11]))∧(java.lang.Object(x0[10]) →* java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[11])))))


(10) -> (12), if ((2255_0_isZero_Load(java.lang.Object(x0[10])) →* 2941_0_isZero_Return)∧(java.lang.Object(DivTernary2.Nats(x1[10])) →* java.lang.Object(DivTernary2.Nats(x2[12])))∧(java.lang.Object(x2[10]) →* java.lang.Object(x3[12]))∧(java.lang.Object(x0[10]) →* java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[12])))))


(10) -> (13), if ((2255_0_isZero_Load(java.lang.Object(x0[10])) →* 2963_0_isZero_Return)∧(java.lang.Object(DivTernary2.Nats(x1[10])) →* java.lang.Object(DivTernary2.Nats(x2[13])))∧(java.lang.Object(x2[10]) →* java.lang.Object(x3[13]))∧(java.lang.Object(x0[10]) →* java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[13])))))


(11) -> (0), if ((2255_0_isZero_Load(java.lang.Object(x3[11])) →* 2922_0_isZero_Return)∧(java.lang.Object(x1[11]) →* x1[0])∧(x2[11]* java.lang.Object(x2[0]))∧(java.lang.Object(x3[11]) →* java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[0])))))


(11) -> (1), if ((2255_0_isZero_Load(java.lang.Object(x3[11])) →* 2941_0_isZero_Return)∧(java.lang.Object(x1[11]) →* x1[1])∧(x2[11]* java.lang.Object(x2[1]))∧(java.lang.Object(x3[11]) →* java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[1])))))


(11) -> (2), if ((2255_0_isZero_Load(java.lang.Object(x3[11])) →* 2963_0_isZero_Return)∧(java.lang.Object(x1[11]) →* x1[2])∧(x2[11]* java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))))∧(java.lang.Object(x3[11]) →* java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2])))))


(12) -> (0), if ((2255_0_isZero_Load(java.lang.Object(x3[12])) →* 2922_0_isZero_Return)∧(java.lang.Object(x1[12]) →* x1[0])∧(x2[12]* java.lang.Object(x2[0]))∧(java.lang.Object(x3[12]) →* java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[0])))))


(12) -> (1), if ((2255_0_isZero_Load(java.lang.Object(x3[12])) →* 2941_0_isZero_Return)∧(java.lang.Object(x1[12]) →* x1[1])∧(x2[12]* java.lang.Object(x2[1]))∧(java.lang.Object(x3[12]) →* java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[1])))))


(12) -> (2), if ((2255_0_isZero_Load(java.lang.Object(x3[12])) →* 2963_0_isZero_Return)∧(java.lang.Object(x1[12]) →* x1[2])∧(x2[12]* java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))))∧(java.lang.Object(x3[12]) →* java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2])))))


(13) -> (0), if ((2255_0_isZero_Load(java.lang.Object(x3[13])) →* 2922_0_isZero_Return)∧(java.lang.Object(x1[13]) →* x1[0])∧(x2[13]* java.lang.Object(x2[0]))∧(java.lang.Object(x3[13]) →* java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[0])))))


(13) -> (1), if ((2255_0_isZero_Load(java.lang.Object(x3[13])) →* 2941_0_isZero_Return)∧(java.lang.Object(x1[13]) →* x1[1])∧(x2[13]* java.lang.Object(x2[1]))∧(java.lang.Object(x3[13]) →* java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[1])))))


(13) -> (2), if ((2255_0_isZero_Load(java.lang.Object(x3[13])) →* 2963_0_isZero_Return)∧(java.lang.Object(x1[13]) →* x1[2])∧(x2[13]* java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))))∧(java.lang.Object(x3[13]) →* java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2])))))



The set Q consists of the following terms:
2255_0_isZero_Load(java.lang.Object(x0))
3336_1_div_InvokeMethod(2760_0_div_Return(x0, java.lang.Object(x1), java.lang.Object(x1)), java.lang.Object(DivTernary2.Nats(x2)), x0, java.lang.Object(x1))
3509_1_div_InvokeMethod(2760_0_div_Return(x0, x1, java.lang.Object(x2)), x0, x1, java.lang.Object(x2))
3509_1_div_InvokeMethod(3422_0_div_InvokeMethod(x0, java.lang.Object(x1)), x0, NULL, java.lang.Object(x1))
3509_1_div_InvokeMethod(3547_0_div_Return, java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2))
3509_1_div_InvokeMethod(3550_0_div_InvokeMethod(x0, java.lang.Object(x1)), java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x1))
3509_1_div_InvokeMethod(3561_0_div_Return(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2)), java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2))
3509_1_div_InvokeMethod(3656_0_div_Return(x0, java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2)), x0, java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2))
3509_1_div_InvokeMethod(3694_0_div_Return, java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x1)))), java.lang.Object(x2))
3509_1_div_InvokeMethod(3725_0_div_Return(java.lang.Object(DivTernary2.Nats(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x1)))), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x2)))), java.lang.Object(x3))
3509_1_div_InvokeMethod(3746_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(x1)), NULL, java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(x1))
3509_1_div_InvokeMethod(3789_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(x1)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x0)))), java.lang.Object(x1))
3509_1_div_InvokeMethod(3817_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2)), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x0)))), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x1)))), java.lang.Object(x2))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL)))

(6) IDPtoQDPProof (SOUND transformation)

Represented integers and predefined function symbols by Terms

(7) Obligation:

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

2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[0], java.lang.Object(x2[0]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[0])))) → 2681_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x2[0])), x1[0], java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[0]))), java.lang.Object(x2[0]))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[1], java.lang.Object(x2[1]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[1])))) → 2681_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x2[1])), x1[1], java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[1]))), java.lang.Object(x2[1]))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[2], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2])))) → 2681_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2])))), x1[2], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))))
2681_1_DIV_INVOKEMETHOD(2998_0_isZero_Return, x1[3], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[3], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(NULL)), pos(s(01)))
2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
3191_0_DIV_EQ(x0[9], java.lang.Object(DivTernary2.Nats(x1[9])), java.lang.Object(x2[9]), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x2[9])), x0[9], java.lang.Object(x2[9]), java.lang.Object(x2[9]))
3191_0_DIV_EQ(java.lang.Object(x0[10]), java.lang.Object(DivTernary2.Nats(x1[10])), java.lang.Object(x2[10]), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x0[10])), java.lang.Object(DivTernary2.Nats(x1[10])), java.lang.Object(x2[10]), java.lang.Object(x0[10]))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[11])), java.lang.Object(x3[11]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[11])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[11])), java.lang.Object(x1[11]), x2[11], java.lang.Object(x3[11]))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[12])), java.lang.Object(x3[12]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[12])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[12])), java.lang.Object(x1[12]), x2[12], java.lang.Object(x3[12]))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[13])), java.lang.Object(x3[13]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[13])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[13])), java.lang.Object(x1[13]), x2[13], java.lang.Object(x3[13]))

The TRS R consists of the following rules:

2255_0_isZero_Load(java.lang.Object(x0)) → 2711_0_isZero_FieldAccess(java.lang.Object(x0))
3336_1_div_InvokeMethod(2760_0_div_Return(x0, java.lang.Object(x1), java.lang.Object(x1)), java.lang.Object(DivTernary2.Nats(x2)), x0, java.lang.Object(x1)) → 3656_0_div_Return(x0, java.lang.Object(DivTernary2.Nats(x2)), java.lang.Object(x1))
3509_1_div_InvokeMethod(2760_0_div_Return(x0, x1, java.lang.Object(x2)), x0, x1, java.lang.Object(x2)) → 3547_0_div_Return
3509_1_div_InvokeMethod(3422_0_div_InvokeMethod(x0, java.lang.Object(x1)), x0, NULL, java.lang.Object(x1)) → 3550_0_div_InvokeMethod(x0, java.lang.Object(x1))
3509_1_div_InvokeMethod(3547_0_div_Return, java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2)) → 3725_0_div_Return(java.lang.Object(DivTernary2.Nats(NULL)))
3509_1_div_InvokeMethod(3550_0_div_InvokeMethod(x0, java.lang.Object(x1)), java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x1)) → 3817_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x1))
3509_1_div_InvokeMethod(3561_0_div_Return(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2)), java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2)) → 3547_0_div_Return
3509_1_div_InvokeMethod(3656_0_div_Return(x0, java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2)), x0, java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2)) → 3694_0_div_Return
3509_1_div_InvokeMethod(3694_0_div_Return, java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x1)))), java.lang.Object(x2)) → 3725_0_div_Return(java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(NULL)))))
3509_1_div_InvokeMethod(3725_0_div_Return(java.lang.Object(DivTernary2.Nats(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x1)))), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x2)))), java.lang.Object(x3)) → 3725_0_div_Return(java.lang.Object(DivTernary2.Nats(x0)))
3509_1_div_InvokeMethod(3746_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(x1)), NULL, java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(x1)) → 3789_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(x1))
3509_1_div_InvokeMethod(3789_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(x1)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x0)))), java.lang.Object(x1)) → 3817_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x0)))), java.lang.Object(x1))
3509_1_div_InvokeMethod(3817_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2)), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x0)))), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x1)))), java.lang.Object(x2)) → 3817_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x0)))), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x1)))), java.lang.Object(x2))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2922_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 2998_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2963_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3101_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2941_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3063_0_isZero_Return

The set Q consists of the following terms:

2255_0_isZero_Load(java.lang.Object(x0))
3336_1_div_InvokeMethod(2760_0_div_Return(x0, java.lang.Object(x1), java.lang.Object(x1)), java.lang.Object(DivTernary2.Nats(x2)), x0, java.lang.Object(x1))
3509_1_div_InvokeMethod(2760_0_div_Return(x0, x1, java.lang.Object(x2)), x0, x1, java.lang.Object(x2))
3509_1_div_InvokeMethod(3422_0_div_InvokeMethod(x0, java.lang.Object(x1)), x0, NULL, java.lang.Object(x1))
3509_1_div_InvokeMethod(3547_0_div_Return, java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2))
3509_1_div_InvokeMethod(3550_0_div_InvokeMethod(x0, java.lang.Object(x1)), java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x1))
3509_1_div_InvokeMethod(3561_0_div_Return(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2)), java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2))
3509_1_div_InvokeMethod(3656_0_div_Return(x0, java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2)), x0, java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2))
3509_1_div_InvokeMethod(3694_0_div_Return, java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x1)))), java.lang.Object(x2))
3509_1_div_InvokeMethod(3725_0_div_Return(java.lang.Object(DivTernary2.Nats(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x1)))), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x2)))), java.lang.Object(x3))
3509_1_div_InvokeMethod(3746_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(x1)), NULL, java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(x1))
3509_1_div_InvokeMethod(3789_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(x1)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x0)))), java.lang.Object(x1))
3509_1_div_InvokeMethod(3817_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2)), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x0)))), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x1)))), java.lang.Object(x2))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL)))

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

(8) DependencyGraphProof (EQUIVALENT transformation)

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

(9) Obligation:

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

2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
3191_0_DIV_EQ(x0[9], java.lang.Object(DivTernary2.Nats(x1[9])), java.lang.Object(x2[9]), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x2[9])), x0[9], java.lang.Object(x2[9]), java.lang.Object(x2[9]))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[0], java.lang.Object(x2[0]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[0])))) → 2681_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x2[0])), x1[0], java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[0]))), java.lang.Object(x2[0]))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
3191_0_DIV_EQ(java.lang.Object(x0[10]), java.lang.Object(DivTernary2.Nats(x1[10])), java.lang.Object(x2[10]), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x0[10])), java.lang.Object(DivTernary2.Nats(x1[10])), java.lang.Object(x2[10]), java.lang.Object(x0[10]))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[11])), java.lang.Object(x3[11]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[11])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[11])), java.lang.Object(x1[11]), x2[11], java.lang.Object(x3[11]))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[1], java.lang.Object(x2[1]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[1])))) → 2681_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x2[1])), x1[1], java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[1]))), java.lang.Object(x2[1]))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[2], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2])))) → 2681_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2])))), x1[2], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[12])), java.lang.Object(x3[12]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[12])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[12])), java.lang.Object(x1[12]), x2[12], java.lang.Object(x3[12]))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[13])), java.lang.Object(x3[13]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[13])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[13])), java.lang.Object(x1[13]), x2[13], java.lang.Object(x3[13]))

The TRS R consists of the following rules:

2255_0_isZero_Load(java.lang.Object(x0)) → 2711_0_isZero_FieldAccess(java.lang.Object(x0))
3336_1_div_InvokeMethod(2760_0_div_Return(x0, java.lang.Object(x1), java.lang.Object(x1)), java.lang.Object(DivTernary2.Nats(x2)), x0, java.lang.Object(x1)) → 3656_0_div_Return(x0, java.lang.Object(DivTernary2.Nats(x2)), java.lang.Object(x1))
3509_1_div_InvokeMethod(2760_0_div_Return(x0, x1, java.lang.Object(x2)), x0, x1, java.lang.Object(x2)) → 3547_0_div_Return
3509_1_div_InvokeMethod(3422_0_div_InvokeMethod(x0, java.lang.Object(x1)), x0, NULL, java.lang.Object(x1)) → 3550_0_div_InvokeMethod(x0, java.lang.Object(x1))
3509_1_div_InvokeMethod(3547_0_div_Return, java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2)) → 3725_0_div_Return(java.lang.Object(DivTernary2.Nats(NULL)))
3509_1_div_InvokeMethod(3550_0_div_InvokeMethod(x0, java.lang.Object(x1)), java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x1)) → 3817_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x1))
3509_1_div_InvokeMethod(3561_0_div_Return(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2)), java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2)) → 3547_0_div_Return
3509_1_div_InvokeMethod(3656_0_div_Return(x0, java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2)), x0, java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2)) → 3694_0_div_Return
3509_1_div_InvokeMethod(3694_0_div_Return, java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x1)))), java.lang.Object(x2)) → 3725_0_div_Return(java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(NULL)))))
3509_1_div_InvokeMethod(3725_0_div_Return(java.lang.Object(DivTernary2.Nats(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x1)))), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x2)))), java.lang.Object(x3)) → 3725_0_div_Return(java.lang.Object(DivTernary2.Nats(x0)))
3509_1_div_InvokeMethod(3746_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(x1)), NULL, java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(x1)) → 3789_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(x1))
3509_1_div_InvokeMethod(3789_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(x1)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x0)))), java.lang.Object(x1)) → 3817_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x0)))), java.lang.Object(x1))
3509_1_div_InvokeMethod(3817_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2)), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x0)))), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x1)))), java.lang.Object(x2)) → 3817_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x0)))), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x1)))), java.lang.Object(x2))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2922_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 2998_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2963_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3101_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2941_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3063_0_isZero_Return

The set Q consists of the following terms:

2255_0_isZero_Load(java.lang.Object(x0))
3336_1_div_InvokeMethod(2760_0_div_Return(x0, java.lang.Object(x1), java.lang.Object(x1)), java.lang.Object(DivTernary2.Nats(x2)), x0, java.lang.Object(x1))
3509_1_div_InvokeMethod(2760_0_div_Return(x0, x1, java.lang.Object(x2)), x0, x1, java.lang.Object(x2))
3509_1_div_InvokeMethod(3422_0_div_InvokeMethod(x0, java.lang.Object(x1)), x0, NULL, java.lang.Object(x1))
3509_1_div_InvokeMethod(3547_0_div_Return, java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2))
3509_1_div_InvokeMethod(3550_0_div_InvokeMethod(x0, java.lang.Object(x1)), java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x1))
3509_1_div_InvokeMethod(3561_0_div_Return(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2)), java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2))
3509_1_div_InvokeMethod(3656_0_div_Return(x0, java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2)), x0, java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2))
3509_1_div_InvokeMethod(3694_0_div_Return, java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x1)))), java.lang.Object(x2))
3509_1_div_InvokeMethod(3725_0_div_Return(java.lang.Object(DivTernary2.Nats(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x1)))), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x2)))), java.lang.Object(x3))
3509_1_div_InvokeMethod(3746_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(x1)), NULL, java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(x1))
3509_1_div_InvokeMethod(3789_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(x1)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x0)))), java.lang.Object(x1))
3509_1_div_InvokeMethod(3817_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2)), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x0)))), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x1)))), java.lang.Object(x2))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL)))

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

(10) 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.

(11) Obligation:

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

2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
3191_0_DIV_EQ(x0[9], java.lang.Object(DivTernary2.Nats(x1[9])), java.lang.Object(x2[9]), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x2[9])), x0[9], java.lang.Object(x2[9]), java.lang.Object(x2[9]))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[0], java.lang.Object(x2[0]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[0])))) → 2681_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x2[0])), x1[0], java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[0]))), java.lang.Object(x2[0]))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
3191_0_DIV_EQ(java.lang.Object(x0[10]), java.lang.Object(DivTernary2.Nats(x1[10])), java.lang.Object(x2[10]), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x0[10])), java.lang.Object(DivTernary2.Nats(x1[10])), java.lang.Object(x2[10]), java.lang.Object(x0[10]))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[11])), java.lang.Object(x3[11]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[11])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[11])), java.lang.Object(x1[11]), x2[11], java.lang.Object(x3[11]))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[1], java.lang.Object(x2[1]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[1])))) → 2681_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x2[1])), x1[1], java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[1]))), java.lang.Object(x2[1]))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[2], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2])))) → 2681_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2])))), x1[2], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[12])), java.lang.Object(x3[12]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[12])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[12])), java.lang.Object(x1[12]), x2[12], java.lang.Object(x3[12]))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[13])), java.lang.Object(x3[13]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[13])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[13])), java.lang.Object(x1[13]), x2[13], java.lang.Object(x3[13]))

The TRS R consists of the following rules:

2255_0_isZero_Load(java.lang.Object(x0)) → 2711_0_isZero_FieldAccess(java.lang.Object(x0))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2922_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 2998_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2963_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3101_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2941_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3063_0_isZero_Return

The set Q consists of the following terms:

2255_0_isZero_Load(java.lang.Object(x0))
3336_1_div_InvokeMethod(2760_0_div_Return(x0, java.lang.Object(x1), java.lang.Object(x1)), java.lang.Object(DivTernary2.Nats(x2)), x0, java.lang.Object(x1))
3509_1_div_InvokeMethod(2760_0_div_Return(x0, x1, java.lang.Object(x2)), x0, x1, java.lang.Object(x2))
3509_1_div_InvokeMethod(3422_0_div_InvokeMethod(x0, java.lang.Object(x1)), x0, NULL, java.lang.Object(x1))
3509_1_div_InvokeMethod(3547_0_div_Return, java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2))
3509_1_div_InvokeMethod(3550_0_div_InvokeMethod(x0, java.lang.Object(x1)), java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x1))
3509_1_div_InvokeMethod(3561_0_div_Return(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2)), java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2))
3509_1_div_InvokeMethod(3656_0_div_Return(x0, java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2)), x0, java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2))
3509_1_div_InvokeMethod(3694_0_div_Return, java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x1)))), java.lang.Object(x2))
3509_1_div_InvokeMethod(3725_0_div_Return(java.lang.Object(DivTernary2.Nats(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x1)))), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x2)))), java.lang.Object(x3))
3509_1_div_InvokeMethod(3746_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(x1)), NULL, java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(x1))
3509_1_div_InvokeMethod(3789_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(x1)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x0)))), java.lang.Object(x1))
3509_1_div_InvokeMethod(3817_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2)), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x0)))), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x1)))), java.lang.Object(x2))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL)))

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

(12) 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].

3336_1_div_InvokeMethod(2760_0_div_Return(x0, java.lang.Object(x1), java.lang.Object(x1)), java.lang.Object(DivTernary2.Nats(x2)), x0, java.lang.Object(x1))
3509_1_div_InvokeMethod(2760_0_div_Return(x0, x1, java.lang.Object(x2)), x0, x1, java.lang.Object(x2))
3509_1_div_InvokeMethod(3422_0_div_InvokeMethod(x0, java.lang.Object(x1)), x0, NULL, java.lang.Object(x1))
3509_1_div_InvokeMethod(3547_0_div_Return, java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2))
3509_1_div_InvokeMethod(3550_0_div_InvokeMethod(x0, java.lang.Object(x1)), java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x1))
3509_1_div_InvokeMethod(3561_0_div_Return(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2)), java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2))
3509_1_div_InvokeMethod(3656_0_div_Return(x0, java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2)), x0, java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2))
3509_1_div_InvokeMethod(3694_0_div_Return, java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x1)))), java.lang.Object(x2))
3509_1_div_InvokeMethod(3725_0_div_Return(java.lang.Object(DivTernary2.Nats(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x1)))), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x2)))), java.lang.Object(x3))
3509_1_div_InvokeMethod(3746_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(x1)), NULL, java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(x1))
3509_1_div_InvokeMethod(3789_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(x1)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x0)))), java.lang.Object(x1))
3509_1_div_InvokeMethod(3817_0_div_InvokeMethod(java.lang.Object(DivTernary2.Nats(x0)), java.lang.Object(DivTernary2.Nats(x1)), java.lang.Object(x2)), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x0)))), java.lang.Object(DivTernary2.Nats(java.lang.Object(DivTernary2.Nats(x1)))), java.lang.Object(x2))

(13) Obligation:

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

2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
3191_0_DIV_EQ(x0[9], java.lang.Object(DivTernary2.Nats(x1[9])), java.lang.Object(x2[9]), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x2[9])), x0[9], java.lang.Object(x2[9]), java.lang.Object(x2[9]))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[0], java.lang.Object(x2[0]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[0])))) → 2681_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x2[0])), x1[0], java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[0]))), java.lang.Object(x2[0]))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
3191_0_DIV_EQ(java.lang.Object(x0[10]), java.lang.Object(DivTernary2.Nats(x1[10])), java.lang.Object(x2[10]), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x0[10])), java.lang.Object(DivTernary2.Nats(x1[10])), java.lang.Object(x2[10]), java.lang.Object(x0[10]))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[11])), java.lang.Object(x3[11]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[11])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[11])), java.lang.Object(x1[11]), x2[11], java.lang.Object(x3[11]))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[1], java.lang.Object(x2[1]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[1])))) → 2681_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x2[1])), x1[1], java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[1]))), java.lang.Object(x2[1]))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[2], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2])))) → 2681_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2])))), x1[2], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[12])), java.lang.Object(x3[12]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[12])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[12])), java.lang.Object(x1[12]), x2[12], java.lang.Object(x3[12]))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[13])), java.lang.Object(x3[13]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[13])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[13])), java.lang.Object(x1[13]), x2[13], java.lang.Object(x3[13]))

The TRS R consists of the following rules:

2255_0_isZero_Load(java.lang.Object(x0)) → 2711_0_isZero_FieldAccess(java.lang.Object(x0))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2922_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 2998_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2963_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3101_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2941_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3063_0_isZero_Return

The set Q consists of the following terms:

2255_0_isZero_Load(java.lang.Object(x0))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL)))

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

(14) Narrowing (EQUIVALENT transformation)

By narrowing [LPAR04] the rule 3191_0_DIV_EQ(x0[9], java.lang.Object(DivTernary2.Nats(x1[9])), java.lang.Object(x2[9]), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x2[9])), x0[9], java.lang.Object(x2[9]), java.lang.Object(x2[9])) at position [0] we obtained the following new rules [LPAR04]:

3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(x0), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(x0), java.lang.Object(x0))

(15) Obligation:

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

2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[0], java.lang.Object(x2[0]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[0])))) → 2681_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x2[0])), x1[0], java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[0]))), java.lang.Object(x2[0]))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
3191_0_DIV_EQ(java.lang.Object(x0[10]), java.lang.Object(DivTernary2.Nats(x1[10])), java.lang.Object(x2[10]), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x0[10])), java.lang.Object(DivTernary2.Nats(x1[10])), java.lang.Object(x2[10]), java.lang.Object(x0[10]))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[11])), java.lang.Object(x3[11]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[11])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[11])), java.lang.Object(x1[11]), x2[11], java.lang.Object(x3[11]))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[1], java.lang.Object(x2[1]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[1])))) → 2681_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x2[1])), x1[1], java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[1]))), java.lang.Object(x2[1]))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[2], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2])))) → 2681_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2])))), x1[2], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[12])), java.lang.Object(x3[12]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[12])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[12])), java.lang.Object(x1[12]), x2[12], java.lang.Object(x3[12]))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[13])), java.lang.Object(x3[13]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[13])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[13])), java.lang.Object(x1[13]), x2[13], java.lang.Object(x3[13]))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(x0), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(x0), java.lang.Object(x0))

The TRS R consists of the following rules:

2255_0_isZero_Load(java.lang.Object(x0)) → 2711_0_isZero_FieldAccess(java.lang.Object(x0))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2922_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 2998_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2963_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3101_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2941_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3063_0_isZero_Return

The set Q consists of the following terms:

2255_0_isZero_Load(java.lang.Object(x0))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL)))

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

(16) Narrowing (EQUIVALENT transformation)

By narrowing [LPAR04] the rule 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[0], java.lang.Object(x2[0]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[0])))) → 2681_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x2[0])), x1[0], java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[0]))), java.lang.Object(x2[0])) at position [0] we obtained the following new rules [LPAR04]:

2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0))

(17) Obligation:

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

2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
3191_0_DIV_EQ(java.lang.Object(x0[10]), java.lang.Object(DivTernary2.Nats(x1[10])), java.lang.Object(x2[10]), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x0[10])), java.lang.Object(DivTernary2.Nats(x1[10])), java.lang.Object(x2[10]), java.lang.Object(x0[10]))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[11])), java.lang.Object(x3[11]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[11])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[11])), java.lang.Object(x1[11]), x2[11], java.lang.Object(x3[11]))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[1], java.lang.Object(x2[1]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[1])))) → 2681_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x2[1])), x1[1], java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[1]))), java.lang.Object(x2[1]))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[2], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2])))) → 2681_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2])))), x1[2], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[12])), java.lang.Object(x3[12]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[12])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[12])), java.lang.Object(x1[12]), x2[12], java.lang.Object(x3[12]))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[13])), java.lang.Object(x3[13]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[13])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[13])), java.lang.Object(x1[13]), x2[13], java.lang.Object(x3[13]))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(x0), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(x0), java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0))

The TRS R consists of the following rules:

2255_0_isZero_Load(java.lang.Object(x0)) → 2711_0_isZero_FieldAccess(java.lang.Object(x0))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2922_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 2998_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2963_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3101_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2941_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3063_0_isZero_Return

The set Q consists of the following terms:

2255_0_isZero_Load(java.lang.Object(x0))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL)))

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

(18) Narrowing (EQUIVALENT transformation)

By narrowing [LPAR04] the rule 3191_0_DIV_EQ(java.lang.Object(x0[10]), java.lang.Object(DivTernary2.Nats(x1[10])), java.lang.Object(x2[10]), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x0[10])), java.lang.Object(DivTernary2.Nats(x1[10])), java.lang.Object(x2[10]), java.lang.Object(x0[10])) at position [0] we obtained the following new rules [LPAR04]:

3191_0_DIV_EQ(java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(x0))

(19) Obligation:

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

2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[11])), java.lang.Object(x3[11]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[11])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[11])), java.lang.Object(x1[11]), x2[11], java.lang.Object(x3[11]))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[1], java.lang.Object(x2[1]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[1])))) → 2681_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x2[1])), x1[1], java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[1]))), java.lang.Object(x2[1]))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[2], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2])))) → 2681_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2])))), x1[2], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[12])), java.lang.Object(x3[12]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[12])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[12])), java.lang.Object(x1[12]), x2[12], java.lang.Object(x3[12]))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[13])), java.lang.Object(x3[13]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[13])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[13])), java.lang.Object(x1[13]), x2[13], java.lang.Object(x3[13]))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(x0), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(x0), java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0))
3191_0_DIV_EQ(java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(x0))

The TRS R consists of the following rules:

2255_0_isZero_Load(java.lang.Object(x0)) → 2711_0_isZero_FieldAccess(java.lang.Object(x0))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2922_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 2998_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2963_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3101_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2941_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3063_0_isZero_Return

The set Q consists of the following terms:

2255_0_isZero_Load(java.lang.Object(x0))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL)))

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

(20) Narrowing (EQUIVALENT transformation)

By narrowing [LPAR04] the rule 3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[11])), java.lang.Object(x3[11]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[11])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[11])), java.lang.Object(x1[11]), x2[11], java.lang.Object(x3[11])) at position [0] we obtained the following new rules [LPAR04]:

3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))

(21) Obligation:

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

2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[1], java.lang.Object(x2[1]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[1])))) → 2681_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x2[1])), x1[1], java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[1]))), java.lang.Object(x2[1]))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[2], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2])))) → 2681_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2])))), x1[2], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[12])), java.lang.Object(x3[12]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[12])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[12])), java.lang.Object(x1[12]), x2[12], java.lang.Object(x3[12]))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[13])), java.lang.Object(x3[13]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[13])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[13])), java.lang.Object(x1[13]), x2[13], java.lang.Object(x3[13]))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(x0), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(x0), java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0))
3191_0_DIV_EQ(java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(x0))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))

The TRS R consists of the following rules:

2255_0_isZero_Load(java.lang.Object(x0)) → 2711_0_isZero_FieldAccess(java.lang.Object(x0))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2922_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 2998_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2963_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3101_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2941_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3063_0_isZero_Return

The set Q consists of the following terms:

2255_0_isZero_Load(java.lang.Object(x0))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL)))

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

(22) Narrowing (EQUIVALENT transformation)

By narrowing [LPAR04] the rule 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[1], java.lang.Object(x2[1]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[1])))) → 2681_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x2[1])), x1[1], java.lang.Object(DivTernary2.Nats(java.lang.Object(x3[1]))), java.lang.Object(x2[1])) at position [0] we obtained the following new rules [LPAR04]:

2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0))

(23) Obligation:

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

2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[2], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2])))) → 2681_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2])))), x1[2], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[12])), java.lang.Object(x3[12]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[12])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[12])), java.lang.Object(x1[12]), x2[12], java.lang.Object(x3[12]))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[13])), java.lang.Object(x3[13]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[13])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[13])), java.lang.Object(x1[13]), x2[13], java.lang.Object(x3[13]))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(x0), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(x0), java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0))
3191_0_DIV_EQ(java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(x0))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0))

The TRS R consists of the following rules:

2255_0_isZero_Load(java.lang.Object(x0)) → 2711_0_isZero_FieldAccess(java.lang.Object(x0))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2922_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 2998_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2963_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3101_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2941_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3063_0_isZero_Return

The set Q consists of the following terms:

2255_0_isZero_Load(java.lang.Object(x0))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL)))

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

(24) Narrowing (EQUIVALENT transformation)

By narrowing [LPAR04] the rule 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[2], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2])))) → 2681_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2])))), x1[2], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[2])))) at position [0] we obtained the following new rules [LPAR04]:

2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))))

(25) Obligation:

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

2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[12])), java.lang.Object(x3[12]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[12])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[12])), java.lang.Object(x1[12]), x2[12], java.lang.Object(x3[12]))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[13])), java.lang.Object(x3[13]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[13])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[13])), java.lang.Object(x1[13]), x2[13], java.lang.Object(x3[13]))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(x0), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(x0), java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0))
3191_0_DIV_EQ(java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(x0))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))))

The TRS R consists of the following rules:

2255_0_isZero_Load(java.lang.Object(x0)) → 2711_0_isZero_FieldAccess(java.lang.Object(x0))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2922_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 2998_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2963_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3101_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2941_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3063_0_isZero_Return

The set Q consists of the following terms:

2255_0_isZero_Load(java.lang.Object(x0))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL)))

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

(26) Narrowing (EQUIVALENT transformation)

By narrowing [LPAR04] the rule 3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[12])), java.lang.Object(x3[12]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[12])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[12])), java.lang.Object(x1[12]), x2[12], java.lang.Object(x3[12])) at position [0] we obtained the following new rules [LPAR04]:

3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))

(27) Obligation:

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

2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[13])), java.lang.Object(x3[13]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[13])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[13])), java.lang.Object(x1[13]), x2[13], java.lang.Object(x3[13]))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(x0), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(x0), java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0))
3191_0_DIV_EQ(java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(x0))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))

The TRS R consists of the following rules:

2255_0_isZero_Load(java.lang.Object(x0)) → 2711_0_isZero_FieldAccess(java.lang.Object(x0))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2922_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 2998_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2963_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3101_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2941_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3063_0_isZero_Return

The set Q consists of the following terms:

2255_0_isZero_Load(java.lang.Object(x0))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL)))

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

(28) Narrowing (EQUIVALENT transformation)

By narrowing [LPAR04] the rule 3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(x2[13])), java.lang.Object(x3[13]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x1[13])))) → 2255_1_DIV_INVOKEMETHOD(2255_0_isZero_Load(java.lang.Object(x3[13])), java.lang.Object(x1[13]), x2[13], java.lang.Object(x3[13])) at position [0] we obtained the following new rules [LPAR04]:

3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))

(29) Obligation:

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

2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(x0), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(x0), java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0))
3191_0_DIV_EQ(java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(x0))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))

The TRS R consists of the following rules:

2255_0_isZero_Load(java.lang.Object(x0)) → 2711_0_isZero_FieldAccess(java.lang.Object(x0))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2922_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 2998_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2963_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3101_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2941_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3063_0_isZero_Return

The set Q consists of the following terms:

2255_0_isZero_Load(java.lang.Object(x0))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL)))

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

(30) 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.

(31) Obligation:

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

2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(x0), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(x0), java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0))
3191_0_DIV_EQ(java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(x0))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))

The TRS R consists of the following rules:

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2922_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 2998_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2963_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3101_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2941_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3063_0_isZero_Return

The set Q consists of the following terms:

2255_0_isZero_Load(java.lang.Object(x0))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL)))

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

(32) 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].

2255_0_isZero_Load(java.lang.Object(x0))

(33) Obligation:

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

2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(x0), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(x0), java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0))
3191_0_DIV_EQ(java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(x0))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))

The TRS R consists of the following rules:

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2922_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 2998_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2963_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3101_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2941_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3063_0_isZero_Return

The set Q consists of the following terms:

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL)))

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

(34) Narrowing (EQUIVALENT transformation)

By narrowing [LPAR04] the rule 3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(x0), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(x0), java.lang.Object(x0)) at position [0] we obtained the following new rules [LPAR04]:

3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(NULL)), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2998_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(NULL)))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(NULL)), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(NULL)))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(NULL)), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(NULL)))

(35) Obligation:

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

2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0))
3191_0_DIV_EQ(java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(x0))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(NULL)), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2998_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(NULL)))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(NULL)), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(NULL)))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(NULL)), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(NULL)))

The TRS R consists of the following rules:

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2922_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 2998_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2963_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3101_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2941_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3063_0_isZero_Return

The set Q consists of the following terms:

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL)))

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

(36) DependencyGraphProof (EQUIVALENT transformation)

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

(37) Obligation:

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

3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0))
2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))))
2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
3191_0_DIV_EQ(java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(x0))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))

The TRS R consists of the following rules:

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2922_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 2998_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2963_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3101_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2941_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3063_0_isZero_Return

The set Q consists of the following terms:

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL)))

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

(38) Narrowing (EQUIVALENT transformation)

By narrowing [LPAR04] the rule 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0)) at position [0] we obtained the following new rules [LPAR04]:

2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2998_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))

(39) Obligation:

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

3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))))
2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
3191_0_DIV_EQ(java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(x0))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2998_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))

The TRS R consists of the following rules:

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2922_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 2998_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2963_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3101_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2941_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3063_0_isZero_Return

The set Q consists of the following terms:

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL)))

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

(40) DependencyGraphProof (EQUIVALENT transformation)

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

(41) Obligation:

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

2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
3191_0_DIV_EQ(java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(x0))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0))
2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))

The TRS R consists of the following rules:

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2922_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 2998_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2963_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3101_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2941_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3063_0_isZero_Return

The set Q consists of the following terms:

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL)))

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

(42) Narrowing (EQUIVALENT transformation)

By narrowing [LPAR04] the rule 3191_0_DIV_EQ(java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(x0)) at position [0] we obtained the following new rules [LPAR04]:

3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2998_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(NULL)))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(NULL)))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(NULL)))

(43) Obligation:

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

2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0))
2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2998_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(NULL)))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(NULL)))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(NULL)))

The TRS R consists of the following rules:

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2922_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 2998_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2963_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3101_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2941_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3063_0_isZero_Return

The set Q consists of the following terms:

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL)))

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

(44) DependencyGraphProof (EQUIVALENT transformation)

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

(45) Obligation:

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

2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0))
2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))

The TRS R consists of the following rules:

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2922_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 2998_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2963_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3101_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2941_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3063_0_isZero_Return

The set Q consists of the following terms:

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL)))

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

(46) Narrowing (EQUIVALENT transformation)

By narrowing [LPAR04] the rule 3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0)) at position [0] we obtained the following new rules [LPAR04]:

3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2998_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(NULL)))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(NULL)))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(NULL)))

(47) Obligation:

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

2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0))
2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2998_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(NULL)))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(NULL)))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(NULL)))

The TRS R consists of the following rules:

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2922_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 2998_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2963_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3101_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2941_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3063_0_isZero_Return

The set Q consists of the following terms:

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL)))

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

(48) DependencyGraphProof (EQUIVALENT transformation)

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

(49) Obligation:

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

3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0))
2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))

The TRS R consists of the following rules:

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2922_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 2998_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2963_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3101_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2941_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3063_0_isZero_Return

The set Q consists of the following terms:

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL)))

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

(50) Narrowing (EQUIVALENT transformation)

By narrowing [LPAR04] the rule 3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0)) at position [0] we obtained the following new rules [LPAR04]:

3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2998_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(NULL)))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(NULL)))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(NULL)))

(51) Obligation:

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

3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0))
2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2998_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(NULL)))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(NULL)))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(NULL)))

The TRS R consists of the following rules:

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2922_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 2998_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2963_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3101_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2941_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3063_0_isZero_Return

The set Q consists of the following terms:

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL)))

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

(52) DependencyGraphProof (EQUIVALENT transformation)

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

(53) Obligation:

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

3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0))
2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))

The TRS R consists of the following rules:

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2922_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 2998_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2963_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3101_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2941_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3063_0_isZero_Return

The set Q consists of the following terms:

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL)))

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

(54) Narrowing (EQUIVALENT transformation)

By narrowing [LPAR04] the rule 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y1))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y1)))) at position [0] we obtained the following new rules [LPAR04]:

2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))

(55) Obligation:

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

3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0))
2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))

The TRS R consists of the following rules:

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2922_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 2998_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2963_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3101_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2941_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3063_0_isZero_Return

The set Q consists of the following terms:

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL)))

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

(56) Narrowing (EQUIVALENT transformation)

By narrowing [LPAR04] the rule 3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), java.lang.Object(y2), y0, java.lang.Object(x0)) at position [0] we obtained the following new rules [LPAR04]:

3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2998_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(NULL)))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(NULL)))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(NULL)))

(57) Obligation:

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

3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0))
2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2998_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(NULL)))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(NULL)))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(NULL)))

The TRS R consists of the following rules:

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2922_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 2998_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2963_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3101_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2941_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3063_0_isZero_Return

The set Q consists of the following terms:

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL)))

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

(58) DependencyGraphProof (EQUIVALENT transformation)

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

(59) Obligation:

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

2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))

The TRS R consists of the following rules:

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2922_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 2998_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2963_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3101_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2941_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3063_0_isZero_Return

The set Q consists of the following terms:

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL)))

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

(60) Narrowing (EQUIVALENT transformation)

By narrowing [LPAR04] the rule 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(x0), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2711_0_isZero_FieldAccess(java.lang.Object(x0)), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(x0)) at position [0] we obtained the following new rules [LPAR04]:

2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2998_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))

(61) Obligation:

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

2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2998_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))

The TRS R consists of the following rules:

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2922_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 2998_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2963_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3101_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2941_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3063_0_isZero_Return

The set Q consists of the following terms:

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL)))

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

(62) DependencyGraphProof (EQUIVALENT transformation)

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

(63) Obligation:

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

2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))

The TRS R consists of the following rules:

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2922_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 2998_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2963_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3101_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2941_0_isZero_Return
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL))) → 3063_0_isZero_Return

The set Q consists of the following terms:

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL)))

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

(64) 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.

(65) Obligation:

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

2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))

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

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL)))

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

(66) 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].

2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2711_0_isZero_FieldAccess(java.lang.Object(DivTernary2.Nats(NULL)))

(67) Obligation:

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

2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))

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

(68) Instantiation (EQUIVALENT transformation)

By instantiating [LPAR04] the rule 3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) we obtained the following new rules [LPAR04]:

3191_0_DIV_EQ(z0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, z0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))))

(69) Obligation:

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

2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3191_0_DIV_EQ(z0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, z0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))))

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

(70) Instantiation (EQUIVALENT transformation)

By instantiating [LPAR04] the rule 3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) we obtained the following new rules [LPAR04]:

3191_0_DIV_EQ(z0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, z0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))))

(71) Obligation:

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

2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3191_0_DIV_EQ(z0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, z0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))))
3191_0_DIV_EQ(z0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, z0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))))

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

(72) Instantiation (EQUIVALENT transformation)

By instantiating [LPAR04] the rule 3191_0_DIV_EQ(y0, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) we obtained the following new rules [LPAR04]:

3191_0_DIV_EQ(z0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, z0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))))

(73) Obligation:

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

2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
3191_0_DIV_EQ(z0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, z0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))))
3191_0_DIV_EQ(z0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, z0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))))
3191_0_DIV_EQ(z0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, z0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))))

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

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

  • 3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
    The graph contains the following edges 2 >= 2, 3 >= 3, 1 >= 4

  • 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
    The graph contains the following edges 1 >= 1, 2 >= 2, 4 >= 3, 3 >= 4

  • 3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
    The graph contains the following edges 1 >= 1, 4 > 2, 2 > 3, 3 >= 4

  • 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6])))) → 3191_0_DIV_EQ(x1[6], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[6]))), pos(01))
    The graph contains the following edges 2 >= 1, 3 >= 2, 4 >= 2, 3 >= 3, 4 >= 3

  • 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, x1[8], java.lang.Object(x3[8]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8])))) → 3191_0_DIV_EQ(x1[8], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[8]))), java.lang.Object(x3[8]), pos(01))
    The graph contains the following edges 2 >= 1, 4 >= 2, 3 >= 3

  • 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, x1[7], java.lang.Object(x3[7]), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7])))) → 3191_0_DIV_EQ(x1[7], java.lang.Object(DivTernary2.Nats(java.lang.Object(x2[7]))), java.lang.Object(x3[7]), pos(01))
    The graph contains the following edges 2 >= 1, 4 >= 2, 3 >= 3

  • 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
    The graph contains the following edges 2 >= 2, 4 >= 3, 3 >= 4

  • 3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
    The graph contains the following edges 4 > 2, 2 > 3, 3 >= 4

  • 3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
    The graph contains the following edges 2 >= 2, 3 >= 3, 1 >= 4

  • 3191_0_DIV_EQ(java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), pos(01)) → 3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y1)), java.lang.Object(y2), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
    The graph contains the following edges 2 >= 2, 3 >= 3, 1 >= 4

  • 3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
    The graph contains the following edges 4 > 2, 2 > 3, 3 >= 4

  • 3191_0_DIV_EQ(z0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, z0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))))
    The graph contains the following edges 1 >= 2, 3 >= 3, 3 >= 4

  • 2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, x1[5], java.lang.Object(x2[5]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[5], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[5]), pos(s(01)))
    The graph contains the following edges 2 >= 1, 4 >= 2, 3 >= 3

  • 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
    The graph contains the following edges 2 >= 2, 4 >= 3, 3 >= 4

  • 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3101_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
    The graph contains the following edges 2 >= 2, 4 >= 3, 3 >= 4

  • 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
    The graph contains the following edges 2 >= 2, 4 >= 3, 3 >= 4

  • 2255_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
    The graph contains the following edges 2 >= 2, 4 >= 3, 3 >= 4

  • 2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, x1[4], java.lang.Object(x2[4]), java.lang.Object(DivTernary2.Nats(NULL))) → 3191_0_DIV_EQ(x1[4], java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(x2[4]), pos(s(01)))
    The graph contains the following edges 2 >= 1, 4 >= 2, 3 >= 3

  • 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(3063_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(NULL)))
    The graph contains the following edges 2 >= 2, 4 >= 3, 3 >= 4

  • 3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
    The graph contains the following edges 4 > 2, 2 > 3, 3 >= 4

  • 3240_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
    The graph contains the following edges 4 > 2, 2 > 3, 3 >= 4

  • 3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
    The graph contains the following edges 1 >= 1, 4 > 2, 2 > 3, 3 >= 4

  • 3240_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
    The graph contains the following edges 4 > 2, 2 > 3, 3 >= 4

  • 3191_0_DIV_EQ(z0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, z0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))))
    The graph contains the following edges 1 >= 2, 3 >= 3, 3 >= 4

  • 3191_0_DIV_EQ(z0, java.lang.Object(DivTernary2.Nats(NULL)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))), pos(s(01))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, z0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x2))))
    The graph contains the following edges 1 >= 2, 3 >= 3, 3 >= 4

  • 3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
    The graph contains the following edges 4 > 2, 2 > 3, 3 >= 4

  • 3240_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(DivTernary2.Nats(y0)), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, java.lang.Object(y2), y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
    The graph contains the following edges 1 >= 1, 4 > 2, 2 > 3, 3 >= 4

  • 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
    The graph contains the following edges 2 >= 2, 3 >= 3, 4 >= 3, 3 >= 4, 4 >= 4

  • 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2922_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
    The graph contains the following edges 2 >= 2, 4 >= 3, 3 >= 4

  • 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
    The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3, 4 >= 3, 3 >= 4, 4 >= 4

  • 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
    The graph contains the following edges 2 >= 2, 4 >= 3, 3 >= 4

  • 2255_1_DIV_INVOKEMETHOD(2963_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
    The graph contains the following edges 2 >= 2, 3 >= 3, 4 >= 3, 3 >= 4, 4 >= 4

  • 2255_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))), java.lang.Object(DivTernary2.Nats(java.lang.Object(y2)))) → 2681_1_DIV_INVOKEMETHOD(2941_0_isZero_Return, y0, java.lang.Object(DivTernary2.Nats(java.lang.Object(y2))), java.lang.Object(DivTernary2.Nats(java.lang.Object(x0))))
    The graph contains the following edges 1 >= 1, 2 >= 2, 4 >= 3, 3 >= 4

(75) YES

(76) 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:
258_1_<init>_InvokeMethod(211_0_<init>_Return, 0) → 339_0_<init>_Return
258_1_<init>_InvokeMethod(339_0_<init>_Return, x0) → 339_0_<init>_Return

The integer pair graph contains the following rules and edges:
(0): 87_0_<INIT>_INVOKEMETHOD(x0[0]) → COND_87_0_<INIT>_INVOKEMETHOD(x0[0] > 0, x0[0])
(1): COND_87_0_<INIT>_INVOKEMETHOD(TRUE, x0[1]) → 87_0_<INIT>_INVOKEMETHOD(x0[1] - 1)

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


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



The set Q consists of the following terms:
258_1_<init>_InvokeMethod(211_0_<init>_Return, 0)
258_1_<init>_InvokeMethod(339_0_<init>_Return, x0)

(77) 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 87_0_<INIT>_INVOKEMETHOD(x0) → COND_87_0_<INIT>_INVOKEMETHOD(>(x0, 0), x0) the following chains were created:
  • We consider the chain 87_0_<INIT>_INVOKEMETHOD(x0[0]) → COND_87_0_<INIT>_INVOKEMETHOD(>(x0[0], 0), x0[0]), COND_87_0_<INIT>_INVOKEMETHOD(TRUE, x0[1]) → 87_0_<INIT>_INVOKEMETHOD(-(x0[1], 1)) which results in the following constraint:

    (1)    (>(x0[0], 0)=TRUEx0[0]=x0[1]87_0_<INIT>_INVOKEMETHOD(x0[0])≥NonInfC∧87_0_<INIT>_INVOKEMETHOD(x0[0])≥COND_87_0_<INIT>_INVOKEMETHOD(>(x0[0], 0), x0[0])∧(UIncreasing(COND_87_0_<INIT>_INVOKEMETHOD(>(x0[0], 0), x0[0])), ≥))



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

    (2)    (>(x0[0], 0)=TRUE87_0_<INIT>_INVOKEMETHOD(x0[0])≥NonInfC∧87_0_<INIT>_INVOKEMETHOD(x0[0])≥COND_87_0_<INIT>_INVOKEMETHOD(>(x0[0], 0), x0[0])∧(UIncreasing(COND_87_0_<INIT>_INVOKEMETHOD(>(x0[0], 0), x0[0])), ≥))



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

    (3)    (x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_87_0_<INIT>_INVOKEMETHOD(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_11] + [(2)bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 0)



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

    (4)    (x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_87_0_<INIT>_INVOKEMETHOD(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_11] + [(2)bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 0)



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

    (5)    (x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_87_0_<INIT>_INVOKEMETHOD(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_11] + [(2)bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 0)



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

    (6)    (x0[0] ≥ 0 ⇒ (UIncreasing(COND_87_0_<INIT>_INVOKEMETHOD(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_11 + (2)bni_11] + [(2)bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 0)







For Pair COND_87_0_<INIT>_INVOKEMETHOD(TRUE, x0) → 87_0_<INIT>_INVOKEMETHOD(-(x0, 1)) the following chains were created:
  • We consider the chain COND_87_0_<INIT>_INVOKEMETHOD(TRUE, x0[1]) → 87_0_<INIT>_INVOKEMETHOD(-(x0[1], 1)) which results in the following constraint:

    (7)    (COND_87_0_<INIT>_INVOKEMETHOD(TRUE, x0[1])≥NonInfC∧COND_87_0_<INIT>_INVOKEMETHOD(TRUE, x0[1])≥87_0_<INIT>_INVOKEMETHOD(-(x0[1], 1))∧(UIncreasing(87_0_<INIT>_INVOKEMETHOD(-(x0[1], 1))), ≥))



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

    (8)    ((UIncreasing(87_0_<INIT>_INVOKEMETHOD(-(x0[1], 1))), ≥)∧[2 + (-1)bso_14] ≥ 0)



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

    (9)    ((UIncreasing(87_0_<INIT>_INVOKEMETHOD(-(x0[1], 1))), ≥)∧[2 + (-1)bso_14] ≥ 0)



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

    (10)    ((UIncreasing(87_0_<INIT>_INVOKEMETHOD(-(x0[1], 1))), ≥)∧[2 + (-1)bso_14] ≥ 0)



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

    (11)    ((UIncreasing(87_0_<INIT>_INVOKEMETHOD(-(x0[1], 1))), ≥)∧0 = 0∧[2 + (-1)bso_14] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • 87_0_<INIT>_INVOKEMETHOD(x0) → COND_87_0_<INIT>_INVOKEMETHOD(>(x0, 0), x0)
    • (x0[0] ≥ 0 ⇒ (UIncreasing(COND_87_0_<INIT>_INVOKEMETHOD(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_11 + (2)bni_11] + [(2)bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 0)

  • COND_87_0_<INIT>_INVOKEMETHOD(TRUE, x0) → 87_0_<INIT>_INVOKEMETHOD(-(x0, 1))
    • ((UIncreasing(87_0_<INIT>_INVOKEMETHOD(-(x0[1], 1))), ≥)∧0 = 0∧[2 + (-1)bso_14] ≥ 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(258_1_<init>_InvokeMethod(x1, x2)) = [-1]   
POL(211_0_<init>_Return) = [-1]   
POL(0) = 0   
POL(339_0_<init>_Return) = [-1]   
POL(87_0_<INIT>_INVOKEMETHOD(x1)) = [2]x1   
POL(COND_87_0_<INIT>_INVOKEMETHOD(x1, x2)) = [2]x2   
POL(>(x1, x2)) = [-1]   
POL(-(x1, x2)) = x1 + [-1]x2   
POL(1) = [1]   

The following pairs are in P>:

COND_87_0_<INIT>_INVOKEMETHOD(TRUE, x0[1]) → 87_0_<INIT>_INVOKEMETHOD(-(x0[1], 1))

The following pairs are in Pbound:

87_0_<INIT>_INVOKEMETHOD(x0[0]) → COND_87_0_<INIT>_INVOKEMETHOD(>(x0[0], 0), x0[0])

The following pairs are in P:

87_0_<INIT>_INVOKEMETHOD(x0[0]) → COND_87_0_<INIT>_INVOKEMETHOD(>(x0[0], 0), x0[0])

There are no usable rules.

(78) Complex Obligation (AND)

(79) 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:
258_1_<init>_InvokeMethod(211_0_<init>_Return, 0) → 339_0_<init>_Return
258_1_<init>_InvokeMethod(339_0_<init>_Return, x0) → 339_0_<init>_Return

The integer pair graph contains the following rules and edges:
(0): 87_0_<INIT>_INVOKEMETHOD(x0[0]) → COND_87_0_<INIT>_INVOKEMETHOD(x0[0] > 0, x0[0])


The set Q consists of the following terms:
258_1_<init>_InvokeMethod(211_0_<init>_Return, 0)
258_1_<init>_InvokeMethod(339_0_<init>_Return, x0)

(80) IDependencyGraphProof (EQUIVALENT transformation)

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

(81) TRUE

(82) 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:
258_1_<init>_InvokeMethod(211_0_<init>_Return, 0) → 339_0_<init>_Return
258_1_<init>_InvokeMethod(339_0_<init>_Return, x0) → 339_0_<init>_Return

The integer pair graph contains the following rules and edges:
(1): COND_87_0_<INIT>_INVOKEMETHOD(TRUE, x0[1]) → 87_0_<INIT>_INVOKEMETHOD(x0[1] - 1)


The set Q consists of the following terms:
258_1_<init>_InvokeMethod(211_0_<init>_Return, 0)
258_1_<init>_InvokeMethod(339_0_<init>_Return, x0)

(83) IDependencyGraphProof (EQUIVALENT transformation)

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

(84) TRUE