YES
U11(tt, V1, V2) → U12(isNat(V1), V2)
U12(tt, V2) → U13(isNat(V2))
U13(tt) → tt
U21(tt, V1) → U22(isNat(V1))
U22(tt) → tt
U31(tt, V1, V2) → U32(isNat(V1), V2)
U32(tt, V2) → U33(isNat(V2))
U33(tt) → tt
U41(tt, N) → N
U51(tt, M, N) → s(plus(N, M))
U61(tt) → 0
U71(tt, M, N) → plus(x(N, M), N)
and(tt, X) → X
isNat(0) → tt
isNat(plus(V1, V2)) → U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)
isNat(s(V1)) → U21(isNatKind(V1), V1)
isNat(x(V1, V2)) → U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)
isNatKind(0) → tt
isNatKind(plus(V1, V2)) → and(isNatKind(V1), isNatKind(V2))
isNatKind(s(V1)) → isNatKind(V1)
isNatKind(x(V1, V2)) → and(isNatKind(V1), isNatKind(V2))
plus(N, 0) → U41(and(isNat(N), isNatKind(N)), N)
plus(N, s(M)) → U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
x(N, 0) → U61(and(isNat(N), isNatKind(N)))
x(N, s(M)) → U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
U11: {1}
tt: empty set
U12: {1}
isNat: empty set
U13: {1}
U21: {1}
U22: {1}
U31: {1}
U32: {1}
U33: {1}
U41: {1}
U51: {1}
s: {1}
plus: {1, 2}
U61: {1}
0: empty set
U71: {1}
x: {1, 2}
and: {1}
isNatKind: empty set
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ Improved Ferreira Ribeiro-Transformation
U11(tt, V1, V2) → U12(isNat(V1), V2)
U12(tt, V2) → U13(isNat(V2))
U13(tt) → tt
U21(tt, V1) → U22(isNat(V1))
U22(tt) → tt
U31(tt, V1, V2) → U32(isNat(V1), V2)
U32(tt, V2) → U33(isNat(V2))
U33(tt) → tt
U41(tt, N) → N
U51(tt, M, N) → s(plus(N, M))
U61(tt) → 0
U71(tt, M, N) → plus(x(N, M), N)
and(tt, X) → X
isNat(0) → tt
isNat(plus(V1, V2)) → U11(and(isNatKind(V1), isNatKind(V2)), V1, V2)
isNat(s(V1)) → U21(isNatKind(V1), V1)
isNat(x(V1, V2)) → U31(and(isNatKind(V1), isNatKind(V2)), V1, V2)
isNatKind(0) → tt
isNatKind(plus(V1, V2)) → and(isNatKind(V1), isNatKind(V2))
isNatKind(s(V1)) → isNatKind(V1)
isNatKind(x(V1, V2)) → and(isNatKind(V1), isNatKind(V2))
plus(N, 0) → U41(and(isNat(N), isNatKind(N)), N)
plus(N, s(M)) → U51(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
x(N, 0) → U61(and(isNat(N), isNatKind(N)))
x(N, s(M)) → U71(and(and(isNat(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
U11: {1}
tt: empty set
U12: {1}
isNat: empty set
U13: {1}
U21: {1}
U22: {1}
U31: {1}
U32: {1}
U33: {1}
U41: {1}
U51: {1}
s: {1}
plus: {1, 2}
U61: {1}
0: empty set
U71: {1}
x: {1, 2}
and: {1}
isNatKind: empty set
We applied the Zantema [34] to transform the context-sensitive TRS to an usual TRS.
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ DependencyPairsProof
↳ Incomplete Giesl Middeldorp-Transformation
↳ Improved Ferreira Ribeiro-Transformation
U11(tt, V1, V2) → U12(isNat(a(V1)), a(V2))
U12(tt, V2) → U13(isNat(a(V2)))
U13(tt) → tt
U21(tt, V1) → U22(isNat(a(V1)))
U22(tt) → tt
U31(tt, V1, V2) → U32(isNat(a(V1)), a(V2))
U32(tt, V2) → U33(isNat(a(V2)))
U33(tt) → tt
U41(tt, N) → a(N)
U51(tt, M, N) → s(plus(a(N), a(M)))
U61(tt) → 0
U71(tt, M, N) → plus(x(a(N), a(M)), a(N))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(plusInact(V1, V2)) → U11(and(isNatKind(a(V1)), isNatKindInact(a(V2))), a(V1), a(V2))
isNat(sInact(V1)) → U21(isNatKind(a(V1)), a(V1))
isNat(xInact(V1, V2)) → U31(and(isNatKind(a(V1)), isNatKindInact(a(V2))), a(V1), a(V2))
isNatKind(0Inact) → tt
isNatKind(plusInact(V1, V2)) → and(isNatKind(a(V1)), isNatKindInact(a(V2)))
isNatKind(sInact(V1)) → isNatKind(a(V1))
isNatKind(xInact(V1, V2)) → and(isNatKind(a(V1)), isNatKindInact(a(V2)))
plus(N, 0) → U41(and(isNat(N), isNatKindInact(N)), N)
plus(N, s(M)) → U51(and(and(isNat(M), isNatKindInact(M)), andInact(isNat(N), isNatKindInact(N))), M, N)
x(N, 0) → U61(and(isNat(N), isNatKindInact(N)))
x(N, s(M)) → U71(and(and(isNat(M), isNatKindInact(M)), andInact(isNat(N), isNatKindInact(N))), M, N)
a(x) → x
isNatKind(x1) → isNatKindInact(x1)
a(isNatKindInact(x1)) → isNatKind(x1)
0 → 0Inact
a(0Inact) → 0
x(x1, x2) → xInact(x1, x2)
a(xInact(x1, x2)) → x(x1, x2)
and(x1, x2) → andInact(x1, x2)
a(andInact(x1, x2)) → and(x1, x2)
plus(x1, x2) → plusInact(x1, x2)
a(plusInact(x1, x2)) → plus(x1, x2)
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
A(isNatKindInact(x1)) → ISNATKIND(x1)
U311(tt, V1, V2) → ISNAT(a(V1))
U111(tt, V1, V2) → ISNAT(a(V1))
A(plusInact(x1, x2)) → PLUS(x1, x2)
ISNAT(plusInact(V1, V2)) → A(V1)
X(N, 0) → AND(isNat(N), isNatKindInact(N))
PLUS(N, 0) → ISNAT(N)
ISNAT(xInact(V1, V2)) → U311(and(isNatKind(a(V1)), isNatKindInact(a(V2))), a(V1), a(V2))
U111(tt, V1, V2) → U121(isNat(a(V1)), a(V2))
PLUS(N, s(M)) → ISNAT(M)
U611(tt) → 01
U121(tt, V2) → A(V2)
A(andInact(x1, x2)) → AND(x1, x2)
ISNATKIND(xInact(V1, V2)) → A(V2)
PLUS(N, s(M)) → U511(and(and(isNat(M), isNatKindInact(M)), andInact(isNat(N), isNatKindInact(N))), M, N)
U511(tt, M, N) → PLUS(a(N), a(M))
U211(tt, V1) → U221(isNat(a(V1)))
U711(tt, M, N) → A(N)
AND(tt, X) → A(X)
ISNAT(xInact(V1, V2)) → A(V2)
ISNAT(sInact(V1)) → U211(isNatKind(a(V1)), a(V1))
U711(tt, M, N) → A(M)
A(sInact(x1)) → S(x1)
U111(tt, V1, V2) → A(V1)
U211(tt, V1) → A(V1)
ISNAT(sInact(V1)) → A(V1)
X(N, s(M)) → AND(and(isNat(M), isNatKindInact(M)), andInact(isNat(N), isNatKindInact(N)))
U511(tt, M, N) → A(N)
ISNATKIND(xInact(V1, V2)) → AND(isNatKind(a(V1)), isNatKindInact(a(V2)))
PLUS(N, 0) → AND(isNat(N), isNatKindInact(N))
ISNAT(sInact(V1)) → ISNATKIND(a(V1))
PLUS(N, s(M)) → AND(and(isNat(M), isNatKindInact(M)), andInact(isNat(N), isNatKindInact(N)))
U121(tt, V2) → U131(isNat(a(V2)))
U411(tt, N) → A(N)
ISNATKIND(plusInact(V1, V2)) → ISNATKIND(a(V1))
U311(tt, V1, V2) → A(V1)
ISNATKIND(plusInact(V1, V2)) → A(V1)
U321(tt, V2) → ISNAT(a(V2))
U711(tt, M, N) → X(a(N), a(M))
ISNAT(plusInact(V1, V2)) → U111(and(isNatKind(a(V1)), isNatKindInact(a(V2))), a(V1), a(V2))
ISNATKIND(sInact(V1)) → A(V1)
PLUS(N, 0) → U411(and(isNat(N), isNatKindInact(N)), N)
PLUS(N, s(M)) → AND(isNat(M), isNatKindInact(M))
ISNATKIND(plusInact(V1, V2)) → AND(isNatKind(a(V1)), isNatKindInact(a(V2)))
U321(tt, V2) → U331(isNat(a(V2)))
X(N, s(M)) → AND(isNat(M), isNatKindInact(M))
ISNATKIND(xInact(V1, V2)) → A(V1)
ISNAT(xInact(V1, V2)) → A(V1)
ISNATKIND(xInact(V1, V2)) → ISNATKIND(a(V1))
U211(tt, V1) → ISNAT(a(V1))
ISNAT(plusInact(V1, V2)) → ISNATKIND(a(V1))
U311(tt, V1, V2) → U321(isNat(a(V1)), a(V2))
ISNAT(xInact(V1, V2)) → ISNATKIND(a(V1))
X(N, s(M)) → U711(and(and(isNat(M), isNatKindInact(M)), andInact(isNat(N), isNatKindInact(N))), M, N)
ISNATKIND(sInact(V1)) → ISNATKIND(a(V1))
A(0Inact) → 01
ISNAT(plusInact(V1, V2)) → A(V2)
ISNAT(plusInact(V1, V2)) → AND(isNatKind(a(V1)), isNatKindInact(a(V2)))
U511(tt, M, N) → S(plus(a(N), a(M)))
A(xInact(x1, x2)) → X(x1, x2)
X(N, s(M)) → ISNAT(M)
X(N, 0) → U611(and(isNat(N), isNatKindInact(N)))
U121(tt, V2) → ISNAT(a(V2))
X(N, 0) → ISNAT(N)
U511(tt, M, N) → A(M)
ISNATKIND(plusInact(V1, V2)) → A(V2)
U111(tt, V1, V2) → A(V2)
U711(tt, M, N) → PLUS(x(a(N), a(M)), a(N))
ISNAT(xInact(V1, V2)) → AND(isNatKind(a(V1)), isNatKindInact(a(V2)))
X(N, s(M)) → ISNAT(N)
U311(tt, V1, V2) → A(V2)
PLUS(N, s(M)) → ISNAT(N)
U321(tt, V2) → A(V2)
U11(tt, V1, V2) → U12(isNat(a(V1)), a(V2))
U12(tt, V2) → U13(isNat(a(V2)))
U13(tt) → tt
U21(tt, V1) → U22(isNat(a(V1)))
U22(tt) → tt
U31(tt, V1, V2) → U32(isNat(a(V1)), a(V2))
U32(tt, V2) → U33(isNat(a(V2)))
U33(tt) → tt
U41(tt, N) → a(N)
U51(tt, M, N) → s(plus(a(N), a(M)))
U61(tt) → 0
U71(tt, M, N) → plus(x(a(N), a(M)), a(N))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(plusInact(V1, V2)) → U11(and(isNatKind(a(V1)), isNatKindInact(a(V2))), a(V1), a(V2))
isNat(sInact(V1)) → U21(isNatKind(a(V1)), a(V1))
isNat(xInact(V1, V2)) → U31(and(isNatKind(a(V1)), isNatKindInact(a(V2))), a(V1), a(V2))
isNatKind(0Inact) → tt
isNatKind(plusInact(V1, V2)) → and(isNatKind(a(V1)), isNatKindInact(a(V2)))
isNatKind(sInact(V1)) → isNatKind(a(V1))
isNatKind(xInact(V1, V2)) → and(isNatKind(a(V1)), isNatKindInact(a(V2)))
plus(N, 0) → U41(and(isNat(N), isNatKindInact(N)), N)
plus(N, s(M)) → U51(and(and(isNat(M), isNatKindInact(M)), andInact(isNat(N), isNatKindInact(N))), M, N)
x(N, 0) → U61(and(isNat(N), isNatKindInact(N)))
x(N, s(M)) → U71(and(and(isNat(M), isNatKindInact(M)), andInact(isNat(N), isNatKindInact(N))), M, N)
a(x) → x
isNatKind(x1) → isNatKindInact(x1)
a(isNatKindInact(x1)) → isNatKind(x1)
0 → 0Inact
a(0Inact) → 0
x(x1, x2) → xInact(x1, x2)
a(xInact(x1, x2)) → x(x1, x2)
and(x1, x2) → andInact(x1, x2)
a(andInact(x1, x2)) → and(x1, x2)
plus(x1, x2) → plusInact(x1, x2)
a(plusInact(x1, x2)) → plus(x1, x2)
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ Incomplete Giesl Middeldorp-Transformation
↳ Improved Ferreira Ribeiro-Transformation
A(isNatKindInact(x1)) → ISNATKIND(x1)
U311(tt, V1, V2) → ISNAT(a(V1))
U111(tt, V1, V2) → ISNAT(a(V1))
A(plusInact(x1, x2)) → PLUS(x1, x2)
ISNAT(plusInact(V1, V2)) → A(V1)
X(N, 0) → AND(isNat(N), isNatKindInact(N))
PLUS(N, 0) → ISNAT(N)
ISNAT(xInact(V1, V2)) → U311(and(isNatKind(a(V1)), isNatKindInact(a(V2))), a(V1), a(V2))
U111(tt, V1, V2) → U121(isNat(a(V1)), a(V2))
PLUS(N, s(M)) → ISNAT(M)
U611(tt) → 01
U121(tt, V2) → A(V2)
A(andInact(x1, x2)) → AND(x1, x2)
ISNATKIND(xInact(V1, V2)) → A(V2)
PLUS(N, s(M)) → U511(and(and(isNat(M), isNatKindInact(M)), andInact(isNat(N), isNatKindInact(N))), M, N)
U511(tt, M, N) → PLUS(a(N), a(M))
U211(tt, V1) → U221(isNat(a(V1)))
U711(tt, M, N) → A(N)
AND(tt, X) → A(X)
ISNAT(xInact(V1, V2)) → A(V2)
ISNAT(sInact(V1)) → U211(isNatKind(a(V1)), a(V1))
U711(tt, M, N) → A(M)
A(sInact(x1)) → S(x1)
U111(tt, V1, V2) → A(V1)
U211(tt, V1) → A(V1)
ISNAT(sInact(V1)) → A(V1)
X(N, s(M)) → AND(and(isNat(M), isNatKindInact(M)), andInact(isNat(N), isNatKindInact(N)))
U511(tt, M, N) → A(N)
ISNATKIND(xInact(V1, V2)) → AND(isNatKind(a(V1)), isNatKindInact(a(V2)))
PLUS(N, 0) → AND(isNat(N), isNatKindInact(N))
ISNAT(sInact(V1)) → ISNATKIND(a(V1))
PLUS(N, s(M)) → AND(and(isNat(M), isNatKindInact(M)), andInact(isNat(N), isNatKindInact(N)))
U121(tt, V2) → U131(isNat(a(V2)))
U411(tt, N) → A(N)
ISNATKIND(plusInact(V1, V2)) → ISNATKIND(a(V1))
U311(tt, V1, V2) → A(V1)
ISNATKIND(plusInact(V1, V2)) → A(V1)
U321(tt, V2) → ISNAT(a(V2))
U711(tt, M, N) → X(a(N), a(M))
ISNAT(plusInact(V1, V2)) → U111(and(isNatKind(a(V1)), isNatKindInact(a(V2))), a(V1), a(V2))
ISNATKIND(sInact(V1)) → A(V1)
PLUS(N, 0) → U411(and(isNat(N), isNatKindInact(N)), N)
PLUS(N, s(M)) → AND(isNat(M), isNatKindInact(M))
ISNATKIND(plusInact(V1, V2)) → AND(isNatKind(a(V1)), isNatKindInact(a(V2)))
U321(tt, V2) → U331(isNat(a(V2)))
X(N, s(M)) → AND(isNat(M), isNatKindInact(M))
ISNATKIND(xInact(V1, V2)) → A(V1)
ISNAT(xInact(V1, V2)) → A(V1)
ISNATKIND(xInact(V1, V2)) → ISNATKIND(a(V1))
U211(tt, V1) → ISNAT(a(V1))
ISNAT(plusInact(V1, V2)) → ISNATKIND(a(V1))
U311(tt, V1, V2) → U321(isNat(a(V1)), a(V2))
ISNAT(xInact(V1, V2)) → ISNATKIND(a(V1))
X(N, s(M)) → U711(and(and(isNat(M), isNatKindInact(M)), andInact(isNat(N), isNatKindInact(N))), M, N)
ISNATKIND(sInact(V1)) → ISNATKIND(a(V1))
A(0Inact) → 01
ISNAT(plusInact(V1, V2)) → A(V2)
ISNAT(plusInact(V1, V2)) → AND(isNatKind(a(V1)), isNatKindInact(a(V2)))
U511(tt, M, N) → S(plus(a(N), a(M)))
A(xInact(x1, x2)) → X(x1, x2)
X(N, s(M)) → ISNAT(M)
X(N, 0) → U611(and(isNat(N), isNatKindInact(N)))
U121(tt, V2) → ISNAT(a(V2))
X(N, 0) → ISNAT(N)
U511(tt, M, N) → A(M)
ISNATKIND(plusInact(V1, V2)) → A(V2)
U111(tt, V1, V2) → A(V2)
U711(tt, M, N) → PLUS(x(a(N), a(M)), a(N))
ISNAT(xInact(V1, V2)) → AND(isNatKind(a(V1)), isNatKindInact(a(V2)))
X(N, s(M)) → ISNAT(N)
U311(tt, V1, V2) → A(V2)
PLUS(N, s(M)) → ISNAT(N)
U321(tt, V2) → A(V2)
U11(tt, V1, V2) → U12(isNat(a(V1)), a(V2))
U12(tt, V2) → U13(isNat(a(V2)))
U13(tt) → tt
U21(tt, V1) → U22(isNat(a(V1)))
U22(tt) → tt
U31(tt, V1, V2) → U32(isNat(a(V1)), a(V2))
U32(tt, V2) → U33(isNat(a(V2)))
U33(tt) → tt
U41(tt, N) → a(N)
U51(tt, M, N) → s(plus(a(N), a(M)))
U61(tt) → 0
U71(tt, M, N) → plus(x(a(N), a(M)), a(N))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(plusInact(V1, V2)) → U11(and(isNatKind(a(V1)), isNatKindInact(a(V2))), a(V1), a(V2))
isNat(sInact(V1)) → U21(isNatKind(a(V1)), a(V1))
isNat(xInact(V1, V2)) → U31(and(isNatKind(a(V1)), isNatKindInact(a(V2))), a(V1), a(V2))
isNatKind(0Inact) → tt
isNatKind(plusInact(V1, V2)) → and(isNatKind(a(V1)), isNatKindInact(a(V2)))
isNatKind(sInact(V1)) → isNatKind(a(V1))
isNatKind(xInact(V1, V2)) → and(isNatKind(a(V1)), isNatKindInact(a(V2)))
plus(N, 0) → U41(and(isNat(N), isNatKindInact(N)), N)
plus(N, s(M)) → U51(and(and(isNat(M), isNatKindInact(M)), andInact(isNat(N), isNatKindInact(N))), M, N)
x(N, 0) → U61(and(isNat(N), isNatKindInact(N)))
x(N, s(M)) → U71(and(and(isNat(M), isNatKindInact(M)), andInact(isNat(N), isNatKindInact(N))), M, N)
a(x) → x
isNatKind(x1) → isNatKindInact(x1)
a(isNatKindInact(x1)) → isNatKind(x1)
0 → 0Inact
a(0Inact) → 0
x(x1, x2) → xInact(x1, x2)
a(xInact(x1, x2)) → x(x1, x2)
and(x1, x2) → andInact(x1, x2)
a(andInact(x1, x2)) → and(x1, x2)
plus(x1, x2) → plusInact(x1, x2)
a(plusInact(x1, x2)) → plus(x1, x2)
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ Incomplete Giesl Middeldorp-Transformation
↳ Improved Ferreira Ribeiro-Transformation
A(isNatKindInact(x1)) → ISNATKIND(x1)
U311(tt, V1, V2) → ISNAT(a(V1))
U111(tt, V1, V2) → ISNAT(a(V1))
ISNAT(plusInact(V1, V2)) → A(V1)
A(plusInact(x1, x2)) → PLUS(x1, x2)
PLUS(N, 0) → ISNAT(N)
X(N, 0) → AND(isNat(N), isNatKindInact(N))
ISNAT(xInact(V1, V2)) → U311(and(isNatKind(a(V1)), isNatKindInact(a(V2))), a(V1), a(V2))
U111(tt, V1, V2) → U121(isNat(a(V1)), a(V2))
PLUS(N, s(M)) → ISNAT(M)
U121(tt, V2) → A(V2)
A(andInact(x1, x2)) → AND(x1, x2)
ISNATKIND(xInact(V1, V2)) → A(V2)
PLUS(N, s(M)) → U511(and(and(isNat(M), isNatKindInact(M)), andInact(isNat(N), isNatKindInact(N))), M, N)
U511(tt, M, N) → PLUS(a(N), a(M))
U711(tt, M, N) → A(N)
AND(tt, X) → A(X)
ISNAT(xInact(V1, V2)) → A(V2)
ISNAT(sInact(V1)) → U211(isNatKind(a(V1)), a(V1))
U711(tt, M, N) → A(M)
U111(tt, V1, V2) → A(V1)
ISNAT(sInact(V1)) → A(V1)
U211(tt, V1) → A(V1)
X(N, s(M)) → AND(and(isNat(M), isNatKindInact(M)), andInact(isNat(N), isNatKindInact(N)))
U511(tt, M, N) → A(N)
ISNATKIND(xInact(V1, V2)) → AND(isNatKind(a(V1)), isNatKindInact(a(V2)))
PLUS(N, 0) → AND(isNat(N), isNatKindInact(N))
ISNAT(sInact(V1)) → ISNATKIND(a(V1))
PLUS(N, s(M)) → AND(and(isNat(M), isNatKindInact(M)), andInact(isNat(N), isNatKindInact(N)))
U411(tt, N) → A(N)
ISNATKIND(plusInact(V1, V2)) → ISNATKIND(a(V1))
U311(tt, V1, V2) → A(V1)
ISNATKIND(plusInact(V1, V2)) → A(V1)
U321(tt, V2) → ISNAT(a(V2))
U711(tt, M, N) → X(a(N), a(M))
ISNAT(plusInact(V1, V2)) → U111(and(isNatKind(a(V1)), isNatKindInact(a(V2))), a(V1), a(V2))
ISNATKIND(sInact(V1)) → A(V1)
PLUS(N, 0) → U411(and(isNat(N), isNatKindInact(N)), N)
PLUS(N, s(M)) → AND(isNat(M), isNatKindInact(M))
ISNATKIND(plusInact(V1, V2)) → AND(isNatKind(a(V1)), isNatKindInact(a(V2)))
X(N, s(M)) → AND(isNat(M), isNatKindInact(M))
ISNATKIND(xInact(V1, V2)) → A(V1)
ISNAT(xInact(V1, V2)) → A(V1)
ISNATKIND(xInact(V1, V2)) → ISNATKIND(a(V1))
U211(tt, V1) → ISNAT(a(V1))
ISNAT(plusInact(V1, V2)) → ISNATKIND(a(V1))
U311(tt, V1, V2) → U321(isNat(a(V1)), a(V2))
ISNAT(xInact(V1, V2)) → ISNATKIND(a(V1))
X(N, s(M)) → U711(and(and(isNat(M), isNatKindInact(M)), andInact(isNat(N), isNatKindInact(N))), M, N)
ISNATKIND(sInact(V1)) → ISNATKIND(a(V1))
ISNAT(plusInact(V1, V2)) → A(V2)
ISNAT(plusInact(V1, V2)) → AND(isNatKind(a(V1)), isNatKindInact(a(V2)))
A(xInact(x1, x2)) → X(x1, x2)
X(N, s(M)) → ISNAT(M)
U121(tt, V2) → ISNAT(a(V2))
X(N, 0) → ISNAT(N)
U511(tt, M, N) → A(M)
ISNATKIND(plusInact(V1, V2)) → A(V2)
U111(tt, V1, V2) → A(V2)
U711(tt, M, N) → PLUS(x(a(N), a(M)), a(N))
ISNAT(xInact(V1, V2)) → AND(isNatKind(a(V1)), isNatKindInact(a(V2)))
X(N, s(M)) → ISNAT(N)
U311(tt, V1, V2) → A(V2)
PLUS(N, s(M)) → ISNAT(N)
U321(tt, V2) → A(V2)
U11(tt, V1, V2) → U12(isNat(a(V1)), a(V2))
U12(tt, V2) → U13(isNat(a(V2)))
U13(tt) → tt
U21(tt, V1) → U22(isNat(a(V1)))
U22(tt) → tt
U31(tt, V1, V2) → U32(isNat(a(V1)), a(V2))
U32(tt, V2) → U33(isNat(a(V2)))
U33(tt) → tt
U41(tt, N) → a(N)
U51(tt, M, N) → s(plus(a(N), a(M)))
U61(tt) → 0
U71(tt, M, N) → plus(x(a(N), a(M)), a(N))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(plusInact(V1, V2)) → U11(and(isNatKind(a(V1)), isNatKindInact(a(V2))), a(V1), a(V2))
isNat(sInact(V1)) → U21(isNatKind(a(V1)), a(V1))
isNat(xInact(V1, V2)) → U31(and(isNatKind(a(V1)), isNatKindInact(a(V2))), a(V1), a(V2))
isNatKind(0Inact) → tt
isNatKind(plusInact(V1, V2)) → and(isNatKind(a(V1)), isNatKindInact(a(V2)))
isNatKind(sInact(V1)) → isNatKind(a(V1))
isNatKind(xInact(V1, V2)) → and(isNatKind(a(V1)), isNatKindInact(a(V2)))
plus(N, 0) → U41(and(isNat(N), isNatKindInact(N)), N)
plus(N, s(M)) → U51(and(and(isNat(M), isNatKindInact(M)), andInact(isNat(N), isNatKindInact(N))), M, N)
x(N, 0) → U61(and(isNat(N), isNatKindInact(N)))
x(N, s(M)) → U71(and(and(isNat(M), isNatKindInact(M)), andInact(isNat(N), isNatKindInact(N))), M, N)
a(x) → x
isNatKind(x1) → isNatKindInact(x1)
a(isNatKindInact(x1)) → isNatKind(x1)
0 → 0Inact
a(0Inact) → 0
x(x1, x2) → xInact(x1, x2)
a(xInact(x1, x2)) → x(x1, x2)
and(x1, x2) → andInact(x1, x2)
a(andInact(x1, x2)) → and(x1, x2)
plus(x1, x2) → plusInact(x1, x2)
a(plusInact(x1, x2)) → plus(x1, x2)
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
A(isNatKindInact(x1)) → ISNATKIND(x1)
U311(tt, V1, V2) → ISNAT(a(V1))
U111(tt, V1, V2) → ISNAT(a(V1))
ISNAT(plusInact(V1, V2)) → A(V1)
A(plusInact(x1, x2)) → PLUS(x1, x2)
PLUS(N, 0) → ISNAT(N)
X(N, 0) → AND(isNat(N), isNatKindInact(N))
ISNAT(xInact(V1, V2)) → U311(and(isNatKind(a(V1)), isNatKindInact(a(V2))), a(V1), a(V2))
U111(tt, V1, V2) → U121(isNat(a(V1)), a(V2))
PLUS(N, s(M)) → ISNAT(M)
U121(tt, V2) → A(V2)
A(andInact(x1, x2)) → AND(x1, x2)
ISNATKIND(xInact(V1, V2)) → A(V2)
PLUS(N, s(M)) → U511(and(and(isNat(M), isNatKindInact(M)), andInact(isNat(N), isNatKindInact(N))), M, N)
U711(tt, M, N) → A(N)
ISNAT(xInact(V1, V2)) → A(V2)
ISNAT(sInact(V1)) → U211(isNatKind(a(V1)), a(V1))
U711(tt, M, N) → A(M)
U111(tt, V1, V2) → A(V1)
ISNAT(sInact(V1)) → A(V1)
X(N, s(M)) → AND(and(isNat(M), isNatKindInact(M)), andInact(isNat(N), isNatKindInact(N)))
U511(tt, M, N) → A(N)
ISNATKIND(xInact(V1, V2)) → AND(isNatKind(a(V1)), isNatKindInact(a(V2)))
PLUS(N, 0) → AND(isNat(N), isNatKindInact(N))
ISNAT(sInact(V1)) → ISNATKIND(a(V1))
PLUS(N, s(M)) → AND(and(isNat(M), isNatKindInact(M)), andInact(isNat(N), isNatKindInact(N)))
U411(tt, N) → A(N)
ISNATKIND(plusInact(V1, V2)) → ISNATKIND(a(V1))
U311(tt, V1, V2) → A(V1)
ISNATKIND(plusInact(V1, V2)) → A(V1)
U321(tt, V2) → ISNAT(a(V2))
U711(tt, M, N) → X(a(N), a(M))
ISNAT(plusInact(V1, V2)) → U111(and(isNatKind(a(V1)), isNatKindInact(a(V2))), a(V1), a(V2))
ISNATKIND(sInact(V1)) → A(V1)
PLUS(N, 0) → U411(and(isNat(N), isNatKindInact(N)), N)
PLUS(N, s(M)) → AND(isNat(M), isNatKindInact(M))
ISNATKIND(plusInact(V1, V2)) → AND(isNatKind(a(V1)), isNatKindInact(a(V2)))
X(N, s(M)) → AND(isNat(M), isNatKindInact(M))
ISNATKIND(xInact(V1, V2)) → A(V1)
ISNAT(xInact(V1, V2)) → A(V1)
ISNATKIND(xInact(V1, V2)) → ISNATKIND(a(V1))
ISNAT(plusInact(V1, V2)) → ISNATKIND(a(V1))
U311(tt, V1, V2) → U321(isNat(a(V1)), a(V2))
ISNAT(xInact(V1, V2)) → ISNATKIND(a(V1))
X(N, s(M)) → U711(and(and(isNat(M), isNatKindInact(M)), andInact(isNat(N), isNatKindInact(N))), M, N)
ISNATKIND(sInact(V1)) → ISNATKIND(a(V1))
ISNAT(plusInact(V1, V2)) → A(V2)
ISNAT(plusInact(V1, V2)) → AND(isNatKind(a(V1)), isNatKindInact(a(V2)))
A(xInact(x1, x2)) → X(x1, x2)
X(N, s(M)) → ISNAT(M)
U121(tt, V2) → ISNAT(a(V2))
X(N, 0) → ISNAT(N)
U511(tt, M, N) → A(M)
ISNATKIND(plusInact(V1, V2)) → A(V2)
U111(tt, V1, V2) → A(V2)
U711(tt, M, N) → PLUS(x(a(N), a(M)), a(N))
ISNAT(xInact(V1, V2)) → AND(isNatKind(a(V1)), isNatKindInact(a(V2)))
X(N, s(M)) → ISNAT(N)
U311(tt, V1, V2) → A(V2)
PLUS(N, s(M)) → ISNAT(N)
U321(tt, V2) → A(V2)
Used ordering: Combined order from the following AFS and order.
U511(tt, M, N) → PLUS(a(N), a(M))
AND(tt, X) → A(X)
U211(tt, V1) → A(V1)
U211(tt, V1) → ISNAT(a(V1))
[X2, xInact2, U71^13, x2, U713] > U31^13 > U32^11 > [A1, ISNATKIND1, ISNAT1, AND1, s1, sInact1, U21^11] > [isNatKindInact1, isNatKind1] > [tt, U13]
[X2, xInact2, U71^13, x2, U713] > U31^13 > U32^11 > [A1, ISNATKIND1, ISNAT1, AND1, s1, sInact1, U21^11] > [and1, andInact1]
[X2, xInact2, U71^13, x2, U713] > [plusInact2, plus2, U513] > U11^13 > U12^11 > [A1, ISNATKIND1, ISNAT1, AND1, s1, sInact1, U21^11] > [isNatKindInact1, isNatKind1] > [tt, U13]
[X2, xInact2, U71^13, x2, U713] > [plusInact2, plus2, U513] > U11^13 > U12^11 > [A1, ISNATKIND1, ISNAT1, AND1, s1, sInact1, U21^11] > [and1, andInact1]
[X2, xInact2, U71^13, x2, U713] > [plusInact2, plus2, U513] > [PLUS2, U51^12, U41^11] > [A1, ISNATKIND1, ISNAT1, AND1, s1, sInact1, U21^11] > [isNatKindInact1, isNatKind1] > [tt, U13]
[X2, xInact2, U71^13, x2, U713] > [plusInact2, plus2, U513] > [PLUS2, U51^12, U41^11] > [A1, ISNATKIND1, ISNAT1, AND1, s1, sInact1, U21^11] > [and1, andInact1]
[X2, xInact2, U71^13, x2, U713] > [plusInact2, plus2, U513] > U412
[X2, xInact2, U71^13, x2, U713] > [isNat, U11, U21] > [isNatKindInact1, isNatKind1] > [tt, U13]
[X2, xInact2, U71^13, x2, U713] > [isNat, U11, U21] > [and1, andInact1]
[X2, xInact2, U71^13, x2, U713] > [isNat, U11, U21] > U31 > [U32, U33] > [tt, U13]
[X2, xInact2, U71^13, x2, U713] > U61 > [0, 0Inact] > [PLUS2, U51^12, U41^11] > [A1, ISNATKIND1, ISNAT1, AND1, s1, sInact1, U21^11] > [isNatKindInact1, isNatKind1] > [tt, U13]
[X2, xInact2, U71^13, x2, U713] > U61 > [0, 0Inact] > [PLUS2, U51^12, U41^11] > [A1, ISNATKIND1, ISNAT1, AND1, s1, sInact1, U21^11] > [and1, andInact1]
isNatKind1: [1]
U21^11: [1]
U33: []
U21: []
0: multiset
0Inact: multiset
U11: []
U31^13: multiset
ISNAT1: [1]
U71^13: [3,2,1]
U31: multiset
ISNATKIND1: [1]
U13: multiset
U41^11: [1]
X2: [1,2]
s1: multiset
isNatKindInact1: [1]
xInact2: [1,2]
U713: [3,2,1]
isNat: []
U11^13: multiset
U412: multiset
U32: []
A1: [1]
PLUS2: [1,2]
x2: [1,2]
tt: multiset
U61: multiset
AND1: [1]
U51^12: [2,1]
plus2: [2,1]
andInact1: multiset
sInact1: multiset
U513: [2,3,1]
U12^11: [1]
and1: multiset
U32^11: [1]
plusInact2: [2,1]
isNatKind(plusInact(V1, V2)) → and(isNatKind(a(V1)), isNatKindInact(a(V2)))
plus(N, 0) → U41(and(isNat(N), isNatKindInact(N)), N)
isNatKind(xInact(V1, V2)) → and(isNatKind(a(V1)), isNatKindInact(a(V2)))
and(tt, X) → a(X)
U41(tt, N) → a(N)
a(xInact(x1, x2)) → x(x1, x2)
isNatKind(sInact(V1)) → isNatKind(a(V1))
a(andInact(x1, x2)) → and(x1, x2)
x(N, s(M)) → U71(and(and(isNat(M), isNatKindInact(M)), andInact(isNat(N), isNatKindInact(N))), M, N)
U71(tt, M, N) → plus(x(a(N), a(M)), a(N))
a(plusInact(x1, x2)) → plus(x1, x2)
a(isNatKindInact(x1)) → isNatKind(x1)
0 → 0Inact
isNat(0Inact) → tt
a(0Inact) → 0
isNatKind(x1) → isNatKindInact(x1)
U11(tt, V1, V2) → U12(isNat(a(V1)), a(V2))
isNat(sInact(V1)) → U21(isNatKind(a(V1)), a(V1))
isNat(plusInact(V1, V2)) → U11(and(isNatKind(a(V1)), isNatKindInact(a(V2))), a(V1), a(V2))
U51(tt, M, N) → s(plus(a(N), a(M)))
U61(tt) → 0
a(x) → x
plus(x1, x2) → plusInact(x1, x2)
and(x1, x2) → andInact(x1, x2)
U31(tt, V1, V2) → U32(isNat(a(V1)), a(V2))
a(sInact(x1)) → s(x1)
U22(tt) → tt
x(x1, x2) → xInact(x1, x2)
U21(tt, V1) → U22(isNat(a(V1)))
U32(tt, V2) → U33(isNat(a(V2)))
U12(tt, V2) → U13(isNat(a(V2)))
isNat(xInact(V1, V2)) → U31(and(isNatKind(a(V1)), isNatKindInact(a(V2))), a(V1), a(V2))
x(N, 0) → U61(and(isNat(N), isNatKindInact(N)))
s(x1) → sInact(x1)
isNatKind(0Inact) → tt
U13(tt) → tt
plus(N, s(M)) → U51(and(and(isNat(M), isNatKindInact(M)), andInact(isNat(N), isNatKindInact(N))), M, N)
U33(tt) → tt
↳ CSR
↳ Zantema-Transformation
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ Incomplete Giesl Middeldorp-Transformation
↳ Improved Ferreira Ribeiro-Transformation
U211(tt, V1) → A(V1)
U211(tt, V1) → ISNAT(a(V1))
U511(tt, M, N) → PLUS(a(N), a(M))
AND(tt, X) → A(X)
U11(tt, V1, V2) → U12(isNat(a(V1)), a(V2))
U12(tt, V2) → U13(isNat(a(V2)))
U13(tt) → tt
U21(tt, V1) → U22(isNat(a(V1)))
U22(tt) → tt
U31(tt, V1, V2) → U32(isNat(a(V1)), a(V2))
U32(tt, V2) → U33(isNat(a(V2)))
U33(tt) → tt
U41(tt, N) → a(N)
U51(tt, M, N) → s(plus(a(N), a(M)))
U61(tt) → 0
U71(tt, M, N) → plus(x(a(N), a(M)), a(N))
and(tt, X) → a(X)
isNat(0Inact) → tt
isNat(plusInact(V1, V2)) → U11(and(isNatKind(a(V1)), isNatKindInact(a(V2))), a(V1), a(V2))
isNat(sInact(V1)) → U21(isNatKind(a(V1)), a(V1))
isNat(xInact(V1, V2)) → U31(and(isNatKind(a(V1)), isNatKindInact(a(V2))), a(V1), a(V2))
isNatKind(0Inact) → tt
isNatKind(plusInact(V1, V2)) → and(isNatKind(a(V1)), isNatKindInact(a(V2)))
isNatKind(sInact(V1)) → isNatKind(a(V1))
isNatKind(xInact(V1, V2)) → and(isNatKind(a(V1)), isNatKindInact(a(V2)))
plus(N, 0) → U41(and(isNat(N), isNatKindInact(N)), N)
plus(N, s(M)) → U51(and(and(isNat(M), isNatKindInact(M)), andInact(isNat(N), isNatKindInact(N))), M, N)
x(N, 0) → U61(and(isNat(N), isNatKindInact(N)))
x(N, s(M)) → U71(and(and(isNat(M), isNatKindInact(M)), andInact(isNat(N), isNatKindInact(N))), M, N)
a(x) → x
isNatKind(x1) → isNatKindInact(x1)
a(isNatKindInact(x1)) → isNatKind(x1)
0 → 0Inact
a(0Inact) → 0
x(x1, x2) → xInact(x1, x2)
a(xInact(x1, x2)) → x(x1, x2)
and(x1, x2) → andInact(x1, x2)
a(andInact(x1, x2)) → and(x1, x2)
plus(x1, x2) → plusInact(x1, x2)
a(plusInact(x1, x2)) → plus(x1, x2)
s(x1) → sInact(x1)
a(sInact(x1)) → s(x1)
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ DependencyPairsProof
↳ Improved Ferreira Ribeiro-Transformation
mark(U11(x1, x2, x3)) → U11Active(mark(x1), x2, x3)
U11Active(x1, x2, x3) → U11(x1, x2, x3)
mark(U12(x1, x2)) → U12Active(mark(x1), x2)
U12Active(x1, x2) → U12(x1, x2)
mark(U13(x1)) → U13Active(mark(x1))
U13Active(x1) → U13(x1)
mark(U21(x1, x2)) → U21Active(mark(x1), x2)
U21Active(x1, x2) → U21(x1, x2)
mark(U22(x1)) → U22Active(mark(x1))
U22Active(x1) → U22(x1)
mark(U31(x1, x2, x3)) → U31Active(mark(x1), x2, x3)
U31Active(x1, x2, x3) → U31(x1, x2, x3)
mark(U32(x1, x2)) → U32Active(mark(x1), x2)
U32Active(x1, x2) → U32(x1, x2)
mark(U33(x1)) → U33Active(mark(x1))
U33Active(x1) → U33(x1)
mark(U41(x1, x2)) → U41Active(mark(x1), x2)
U41Active(x1, x2) → U41(x1, x2)
mark(U51(x1, x2, x3)) → U51Active(mark(x1), x2, x3)
U51Active(x1, x2, x3) → U51(x1, x2, x3)
mark(U61(x1)) → U61Active(mark(x1))
U61Active(x1) → U61(x1)
mark(U71(x1, x2, x3)) → U71Active(mark(x1), x2, x3)
U71Active(x1, x2, x3) → U71(x1, x2, x3)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatKind(x1)) → isNatKindActive(x1)
isNatKindActive(x1) → isNatKind(x1)
mark(plus(x1, x2)) → plusActive(mark(x1), mark(x2))
plusActive(x1, x2) → plus(x1, x2)
mark(x(x1, x2)) → xActive(mark(x1), mark(x2))
xActive(x1, x2) → x(x1, x2)
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(0) → 0
U11Active(tt, V1, V2) → U12Active(isNatActive(V1), V2)
U12Active(tt, V2) → U13Active(isNatActive(V2))
U13Active(tt) → tt
U21Active(tt, V1) → U22Active(isNatActive(V1))
U22Active(tt) → tt
U31Active(tt, V1, V2) → U32Active(isNatActive(V1), V2)
U32Active(tt, V2) → U33Active(isNatActive(V2))
U33Active(tt) → tt
U41Active(tt, N) → mark(N)
U51Active(tt, M, N) → s(plusActive(mark(N), mark(M)))
U61Active(tt) → 0
U71Active(tt, M, N) → plusActive(xActive(mark(N), mark(M)), mark(N))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(plus(V1, V2)) → U11Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatActive(s(V1)) → U21Active(isNatKindActive(V1), V1)
isNatActive(x(V1, V2)) → U31Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatKindActive(0) → tt
isNatKindActive(plus(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
isNatKindActive(s(V1)) → isNatKindActive(V1)
isNatKindActive(x(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
plusActive(N, 0) → U41Active(andActive(isNatActive(N), isNatKind(N)), N)
plusActive(N, s(M)) → U51Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
xActive(N, 0) → U61Active(andActive(isNatActive(N), isNatKind(N)))
xActive(N, s(M)) → U71Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
XACTIVE(N, s(M)) → ISNATACTIVE(M)
MARK(U33(x1)) → U33ACTIVE(mark(x1))
MARK(U12(x1, x2)) → U12ACTIVE(mark(x1), x2)
U41ACTIVE(tt, N) → MARK(N)
U51ACTIVE(tt, M, N) → MARK(M)
ISNATKINDACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
XACTIVE(N, 0) → ISNATACTIVE(N)
U71ACTIVE(tt, M, N) → MARK(M)
ISNATACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
U11ACTIVE(tt, V1, V2) → U12ACTIVE(isNatActive(V1), V2)
U32ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(U12(x1, x2)) → MARK(x1)
MARK(plus(x1, x2)) → MARK(x2)
MARK(U71(x1, x2, x3)) → MARK(x1)
MARK(U11(x1, x2, x3)) → MARK(x1)
MARK(U31(x1, x2, x3)) → U31ACTIVE(mark(x1), x2, x3)
MARK(x(x1, x2)) → MARK(x2)
ISNATACTIVE(plus(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(U11(x1, x2, x3)) → U11ACTIVE(mark(x1), x2, x3)
PLUSACTIVE(N, s(M)) → ISNATACTIVE(M)
U71ACTIVE(tt, M, N) → PLUSACTIVE(xActive(mark(N), mark(M)), mark(N))
ANDACTIVE(tt, X) → MARK(X)
MARK(U21(x1, x2)) → MARK(x1)
U51ACTIVE(tt, M, N) → MARK(N)
XACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
MARK(U61(x1)) → U61ACTIVE(mark(x1))
PLUSACTIVE(N, 0) → U41ACTIVE(andActive(isNatActive(N), isNatKind(N)), N)
U51ACTIVE(tt, M, N) → PLUSACTIVE(mark(N), mark(M))
MARK(U41(x1, x2)) → U41ACTIVE(mark(x1), x2)
MARK(x(x1, x2)) → XACTIVE(mark(x1), mark(x2))
MARK(U51(x1, x2, x3)) → MARK(x1)
U71ACTIVE(tt, M, N) → XACTIVE(mark(N), mark(M))
MARK(U71(x1, x2, x3)) → U71ACTIVE(mark(x1), x2, x3)
MARK(U32(x1, x2)) → U32ACTIVE(mark(x1), x2)
PLUSACTIVE(N, s(M)) → U51ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(and(x1, x2)) → ANDACTIVE(mark(x1), x2)
MARK(U22(x1)) → U22ACTIVE(mark(x1))
U12ACTIVE(tt, V2) → U13ACTIVE(isNatActive(V2))
ISNATKINDACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(s(x1)) → MARK(x1)
U71ACTIVE(tt, M, N) → MARK(N)
MARK(isNatKind(x1)) → ISNATKINDACTIVE(x1)
ISNATACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
U11ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(isNat(x1)) → ISNATACTIVE(x1)
MARK(plus(x1, x2)) → MARK(x1)
U12ACTIVE(tt, V2) → ISNATACTIVE(V2)
ISNATACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
U21ACTIVE(tt, V1) → ISNATACTIVE(V1)
ISNATKINDACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
XACTIVE(N, 0) → U61ACTIVE(andActive(isNatActive(N), isNatKind(N)))
MARK(plus(x1, x2)) → PLUSACTIVE(mark(x1), mark(x2))
PLUSACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U51(x1, x2, x3)) → U51ACTIVE(mark(x1), x2, x3)
U31ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(U33(x1)) → MARK(x1)
ISNATACTIVE(x(V1, V2)) → U31ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
ISNATACTIVE(plus(V1, V2)) → U11ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U41(x1, x2)) → MARK(x1)
ISNATACTIVE(s(V1)) → U21ACTIVE(isNatKindActive(V1), V1)
MARK(and(x1, x2)) → MARK(x1)
PLUSACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
PLUSACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
MARK(U13(x1)) → U13ACTIVE(mark(x1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
ISNATACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
MARK(U61(x1)) → MARK(x1)
MARK(U22(x1)) → MARK(x1)
U32ACTIVE(tt, V2) → U33ACTIVE(isNatActive(V2))
MARK(x(x1, x2)) → MARK(x1)
XACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
U21ACTIVE(tt, V1) → U22ACTIVE(isNatActive(V1))
U31ACTIVE(tt, V1, V2) → U32ACTIVE(isNatActive(V1), V2)
MARK(U31(x1, x2, x3)) → MARK(x1)
MARK(U21(x1, x2)) → U21ACTIVE(mark(x1), x2)
XACTIVE(N, s(M)) → U71ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(U13(x1)) → MARK(x1)
XACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
ISNATKINDACTIVE(plus(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(U32(x1, x2)) → MARK(x1)
ISNATKINDACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
mark(U11(x1, x2, x3)) → U11Active(mark(x1), x2, x3)
U11Active(x1, x2, x3) → U11(x1, x2, x3)
mark(U12(x1, x2)) → U12Active(mark(x1), x2)
U12Active(x1, x2) → U12(x1, x2)
mark(U13(x1)) → U13Active(mark(x1))
U13Active(x1) → U13(x1)
mark(U21(x1, x2)) → U21Active(mark(x1), x2)
U21Active(x1, x2) → U21(x1, x2)
mark(U22(x1)) → U22Active(mark(x1))
U22Active(x1) → U22(x1)
mark(U31(x1, x2, x3)) → U31Active(mark(x1), x2, x3)
U31Active(x1, x2, x3) → U31(x1, x2, x3)
mark(U32(x1, x2)) → U32Active(mark(x1), x2)
U32Active(x1, x2) → U32(x1, x2)
mark(U33(x1)) → U33Active(mark(x1))
U33Active(x1) → U33(x1)
mark(U41(x1, x2)) → U41Active(mark(x1), x2)
U41Active(x1, x2) → U41(x1, x2)
mark(U51(x1, x2, x3)) → U51Active(mark(x1), x2, x3)
U51Active(x1, x2, x3) → U51(x1, x2, x3)
mark(U61(x1)) → U61Active(mark(x1))
U61Active(x1) → U61(x1)
mark(U71(x1, x2, x3)) → U71Active(mark(x1), x2, x3)
U71Active(x1, x2, x3) → U71(x1, x2, x3)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatKind(x1)) → isNatKindActive(x1)
isNatKindActive(x1) → isNatKind(x1)
mark(plus(x1, x2)) → plusActive(mark(x1), mark(x2))
plusActive(x1, x2) → plus(x1, x2)
mark(x(x1, x2)) → xActive(mark(x1), mark(x2))
xActive(x1, x2) → x(x1, x2)
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(0) → 0
U11Active(tt, V1, V2) → U12Active(isNatActive(V1), V2)
U12Active(tt, V2) → U13Active(isNatActive(V2))
U13Active(tt) → tt
U21Active(tt, V1) → U22Active(isNatActive(V1))
U22Active(tt) → tt
U31Active(tt, V1, V2) → U32Active(isNatActive(V1), V2)
U32Active(tt, V2) → U33Active(isNatActive(V2))
U33Active(tt) → tt
U41Active(tt, N) → mark(N)
U51Active(tt, M, N) → s(plusActive(mark(N), mark(M)))
U61Active(tt) → 0
U71Active(tt, M, N) → plusActive(xActive(mark(N), mark(M)), mark(N))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(plus(V1, V2)) → U11Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatActive(s(V1)) → U21Active(isNatKindActive(V1), V1)
isNatActive(x(V1, V2)) → U31Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatKindActive(0) → tt
isNatKindActive(plus(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
isNatKindActive(s(V1)) → isNatKindActive(V1)
isNatKindActive(x(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
plusActive(N, 0) → U41Active(andActive(isNatActive(N), isNatKind(N)), N)
plusActive(N, s(M)) → U51Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
xActive(N, 0) → U61Active(andActive(isNatActive(N), isNatKind(N)))
xActive(N, s(M)) → U71Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ Improved Ferreira Ribeiro-Transformation
XACTIVE(N, s(M)) → ISNATACTIVE(M)
MARK(U33(x1)) → U33ACTIVE(mark(x1))
MARK(U12(x1, x2)) → U12ACTIVE(mark(x1), x2)
U41ACTIVE(tt, N) → MARK(N)
U51ACTIVE(tt, M, N) → MARK(M)
ISNATKINDACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
XACTIVE(N, 0) → ISNATACTIVE(N)
U71ACTIVE(tt, M, N) → MARK(M)
ISNATACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
U11ACTIVE(tt, V1, V2) → U12ACTIVE(isNatActive(V1), V2)
U32ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(U12(x1, x2)) → MARK(x1)
MARK(plus(x1, x2)) → MARK(x2)
MARK(U71(x1, x2, x3)) → MARK(x1)
MARK(U11(x1, x2, x3)) → MARK(x1)
MARK(U31(x1, x2, x3)) → U31ACTIVE(mark(x1), x2, x3)
MARK(x(x1, x2)) → MARK(x2)
ISNATACTIVE(plus(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(U11(x1, x2, x3)) → U11ACTIVE(mark(x1), x2, x3)
PLUSACTIVE(N, s(M)) → ISNATACTIVE(M)
U71ACTIVE(tt, M, N) → PLUSACTIVE(xActive(mark(N), mark(M)), mark(N))
ANDACTIVE(tt, X) → MARK(X)
MARK(U21(x1, x2)) → MARK(x1)
U51ACTIVE(tt, M, N) → MARK(N)
XACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
MARK(U61(x1)) → U61ACTIVE(mark(x1))
PLUSACTIVE(N, 0) → U41ACTIVE(andActive(isNatActive(N), isNatKind(N)), N)
U51ACTIVE(tt, M, N) → PLUSACTIVE(mark(N), mark(M))
MARK(U41(x1, x2)) → U41ACTIVE(mark(x1), x2)
MARK(x(x1, x2)) → XACTIVE(mark(x1), mark(x2))
MARK(U51(x1, x2, x3)) → MARK(x1)
U71ACTIVE(tt, M, N) → XACTIVE(mark(N), mark(M))
MARK(U71(x1, x2, x3)) → U71ACTIVE(mark(x1), x2, x3)
MARK(U32(x1, x2)) → U32ACTIVE(mark(x1), x2)
PLUSACTIVE(N, s(M)) → U51ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(and(x1, x2)) → ANDACTIVE(mark(x1), x2)
MARK(U22(x1)) → U22ACTIVE(mark(x1))
U12ACTIVE(tt, V2) → U13ACTIVE(isNatActive(V2))
ISNATKINDACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(s(x1)) → MARK(x1)
U71ACTIVE(tt, M, N) → MARK(N)
MARK(isNatKind(x1)) → ISNATKINDACTIVE(x1)
ISNATACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
U11ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(isNat(x1)) → ISNATACTIVE(x1)
MARK(plus(x1, x2)) → MARK(x1)
U12ACTIVE(tt, V2) → ISNATACTIVE(V2)
ISNATACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
U21ACTIVE(tt, V1) → ISNATACTIVE(V1)
ISNATKINDACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
XACTIVE(N, 0) → U61ACTIVE(andActive(isNatActive(N), isNatKind(N)))
MARK(plus(x1, x2)) → PLUSACTIVE(mark(x1), mark(x2))
PLUSACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U51(x1, x2, x3)) → U51ACTIVE(mark(x1), x2, x3)
U31ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(U33(x1)) → MARK(x1)
ISNATACTIVE(x(V1, V2)) → U31ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
ISNATACTIVE(plus(V1, V2)) → U11ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U41(x1, x2)) → MARK(x1)
ISNATACTIVE(s(V1)) → U21ACTIVE(isNatKindActive(V1), V1)
MARK(and(x1, x2)) → MARK(x1)
PLUSACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
PLUSACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
MARK(U13(x1)) → U13ACTIVE(mark(x1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
ISNATACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
MARK(U61(x1)) → MARK(x1)
MARK(U22(x1)) → MARK(x1)
U32ACTIVE(tt, V2) → U33ACTIVE(isNatActive(V2))
MARK(x(x1, x2)) → MARK(x1)
XACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
U21ACTIVE(tt, V1) → U22ACTIVE(isNatActive(V1))
U31ACTIVE(tt, V1, V2) → U32ACTIVE(isNatActive(V1), V2)
MARK(U31(x1, x2, x3)) → MARK(x1)
MARK(U21(x1, x2)) → U21ACTIVE(mark(x1), x2)
XACTIVE(N, s(M)) → U71ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(U13(x1)) → MARK(x1)
XACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
ISNATKINDACTIVE(plus(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(U32(x1, x2)) → MARK(x1)
ISNATKINDACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
mark(U11(x1, x2, x3)) → U11Active(mark(x1), x2, x3)
U11Active(x1, x2, x3) → U11(x1, x2, x3)
mark(U12(x1, x2)) → U12Active(mark(x1), x2)
U12Active(x1, x2) → U12(x1, x2)
mark(U13(x1)) → U13Active(mark(x1))
U13Active(x1) → U13(x1)
mark(U21(x1, x2)) → U21Active(mark(x1), x2)
U21Active(x1, x2) → U21(x1, x2)
mark(U22(x1)) → U22Active(mark(x1))
U22Active(x1) → U22(x1)
mark(U31(x1, x2, x3)) → U31Active(mark(x1), x2, x3)
U31Active(x1, x2, x3) → U31(x1, x2, x3)
mark(U32(x1, x2)) → U32Active(mark(x1), x2)
U32Active(x1, x2) → U32(x1, x2)
mark(U33(x1)) → U33Active(mark(x1))
U33Active(x1) → U33(x1)
mark(U41(x1, x2)) → U41Active(mark(x1), x2)
U41Active(x1, x2) → U41(x1, x2)
mark(U51(x1, x2, x3)) → U51Active(mark(x1), x2, x3)
U51Active(x1, x2, x3) → U51(x1, x2, x3)
mark(U61(x1)) → U61Active(mark(x1))
U61Active(x1) → U61(x1)
mark(U71(x1, x2, x3)) → U71Active(mark(x1), x2, x3)
U71Active(x1, x2, x3) → U71(x1, x2, x3)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatKind(x1)) → isNatKindActive(x1)
isNatKindActive(x1) → isNatKind(x1)
mark(plus(x1, x2)) → plusActive(mark(x1), mark(x2))
plusActive(x1, x2) → plus(x1, x2)
mark(x(x1, x2)) → xActive(mark(x1), mark(x2))
xActive(x1, x2) → x(x1, x2)
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(0) → 0
U11Active(tt, V1, V2) → U12Active(isNatActive(V1), V2)
U12Active(tt, V2) → U13Active(isNatActive(V2))
U13Active(tt) → tt
U21Active(tt, V1) → U22Active(isNatActive(V1))
U22Active(tt) → tt
U31Active(tt, V1, V2) → U32Active(isNatActive(V1), V2)
U32Active(tt, V2) → U33Active(isNatActive(V2))
U33Active(tt) → tt
U41Active(tt, N) → mark(N)
U51Active(tt, M, N) → s(plusActive(mark(N), mark(M)))
U61Active(tt) → 0
U71Active(tt, M, N) → plusActive(xActive(mark(N), mark(M)), mark(N))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(plus(V1, V2)) → U11Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatActive(s(V1)) → U21Active(isNatKindActive(V1), V1)
isNatActive(x(V1, V2)) → U31Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatKindActive(0) → tt
isNatKindActive(plus(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
isNatKindActive(s(V1)) → isNatKindActive(V1)
isNatKindActive(x(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
plusActive(N, 0) → U41Active(andActive(isNatActive(N), isNatKind(N)), N)
plusActive(N, s(M)) → U51Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
xActive(N, 0) → U61Active(andActive(isNatActive(N), isNatKind(N)))
xActive(N, s(M)) → U71Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ Improved Ferreira Ribeiro-Transformation
XACTIVE(N, s(M)) → ISNATACTIVE(M)
MARK(U12(x1, x2)) → U12ACTIVE(mark(x1), x2)
U41ACTIVE(tt, N) → MARK(N)
U51ACTIVE(tt, M, N) → MARK(M)
ISNATKINDACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
XACTIVE(N, 0) → ISNATACTIVE(N)
U71ACTIVE(tt, M, N) → MARK(M)
ISNATACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
U11ACTIVE(tt, V1, V2) → U12ACTIVE(isNatActive(V1), V2)
U32ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(plus(x1, x2)) → MARK(x2)
MARK(U12(x1, x2)) → MARK(x1)
MARK(x(x1, x2)) → MARK(x2)
MARK(U71(x1, x2, x3)) → MARK(x1)
MARK(U11(x1, x2, x3)) → MARK(x1)
MARK(U31(x1, x2, x3)) → U31ACTIVE(mark(x1), x2, x3)
ISNATACTIVE(plus(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(U11(x1, x2, x3)) → U11ACTIVE(mark(x1), x2, x3)
PLUSACTIVE(N, s(M)) → ISNATACTIVE(M)
U71ACTIVE(tt, M, N) → PLUSACTIVE(xActive(mark(N), mark(M)), mark(N))
ANDACTIVE(tt, X) → MARK(X)
MARK(U21(x1, x2)) → MARK(x1)
U51ACTIVE(tt, M, N) → MARK(N)
XACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
PLUSACTIVE(N, 0) → U41ACTIVE(andActive(isNatActive(N), isNatKind(N)), N)
U51ACTIVE(tt, M, N) → PLUSACTIVE(mark(N), mark(M))
MARK(U41(x1, x2)) → U41ACTIVE(mark(x1), x2)
MARK(x(x1, x2)) → XACTIVE(mark(x1), mark(x2))
MARK(U51(x1, x2, x3)) → MARK(x1)
U71ACTIVE(tt, M, N) → XACTIVE(mark(N), mark(M))
MARK(U71(x1, x2, x3)) → U71ACTIVE(mark(x1), x2, x3)
MARK(U32(x1, x2)) → U32ACTIVE(mark(x1), x2)
MARK(and(x1, x2)) → ANDACTIVE(mark(x1), x2)
PLUSACTIVE(N, s(M)) → U51ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(s(x1)) → MARK(x1)
ISNATKINDACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(isNatKind(x1)) → ISNATKINDACTIVE(x1)
U71ACTIVE(tt, M, N) → MARK(N)
ISNATACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
U11ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(isNat(x1)) → ISNATACTIVE(x1)
MARK(plus(x1, x2)) → MARK(x1)
U12ACTIVE(tt, V2) → ISNATACTIVE(V2)
U21ACTIVE(tt, V1) → ISNATACTIVE(V1)
ISNATACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
ISNATKINDACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(plus(x1, x2)) → PLUSACTIVE(mark(x1), mark(x2))
U31ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(U51(x1, x2, x3)) → U51ACTIVE(mark(x1), x2, x3)
PLUSACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U33(x1)) → MARK(x1)
ISNATACTIVE(x(V1, V2)) → U31ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
ISNATACTIVE(plus(V1, V2)) → U11ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U41(x1, x2)) → MARK(x1)
ISNATACTIVE(s(V1)) → U21ACTIVE(isNatKindActive(V1), V1)
MARK(and(x1, x2)) → MARK(x1)
PLUSACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
PLUSACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
PLUSACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
ISNATACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
MARK(U61(x1)) → MARK(x1)
MARK(U22(x1)) → MARK(x1)
MARK(x(x1, x2)) → MARK(x1)
XACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
U31ACTIVE(tt, V1, V2) → U32ACTIVE(isNatActive(V1), V2)
MARK(U31(x1, x2, x3)) → MARK(x1)
MARK(U21(x1, x2)) → U21ACTIVE(mark(x1), x2)
XACTIVE(N, s(M)) → U71ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(U13(x1)) → MARK(x1)
XACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
ISNATKINDACTIVE(plus(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(U32(x1, x2)) → MARK(x1)
ISNATKINDACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
mark(U11(x1, x2, x3)) → U11Active(mark(x1), x2, x3)
U11Active(x1, x2, x3) → U11(x1, x2, x3)
mark(U12(x1, x2)) → U12Active(mark(x1), x2)
U12Active(x1, x2) → U12(x1, x2)
mark(U13(x1)) → U13Active(mark(x1))
U13Active(x1) → U13(x1)
mark(U21(x1, x2)) → U21Active(mark(x1), x2)
U21Active(x1, x2) → U21(x1, x2)
mark(U22(x1)) → U22Active(mark(x1))
U22Active(x1) → U22(x1)
mark(U31(x1, x2, x3)) → U31Active(mark(x1), x2, x3)
U31Active(x1, x2, x3) → U31(x1, x2, x3)
mark(U32(x1, x2)) → U32Active(mark(x1), x2)
U32Active(x1, x2) → U32(x1, x2)
mark(U33(x1)) → U33Active(mark(x1))
U33Active(x1) → U33(x1)
mark(U41(x1, x2)) → U41Active(mark(x1), x2)
U41Active(x1, x2) → U41(x1, x2)
mark(U51(x1, x2, x3)) → U51Active(mark(x1), x2, x3)
U51Active(x1, x2, x3) → U51(x1, x2, x3)
mark(U61(x1)) → U61Active(mark(x1))
U61Active(x1) → U61(x1)
mark(U71(x1, x2, x3)) → U71Active(mark(x1), x2, x3)
U71Active(x1, x2, x3) → U71(x1, x2, x3)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatKind(x1)) → isNatKindActive(x1)
isNatKindActive(x1) → isNatKind(x1)
mark(plus(x1, x2)) → plusActive(mark(x1), mark(x2))
plusActive(x1, x2) → plus(x1, x2)
mark(x(x1, x2)) → xActive(mark(x1), mark(x2))
xActive(x1, x2) → x(x1, x2)
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(0) → 0
U11Active(tt, V1, V2) → U12Active(isNatActive(V1), V2)
U12Active(tt, V2) → U13Active(isNatActive(V2))
U13Active(tt) → tt
U21Active(tt, V1) → U22Active(isNatActive(V1))
U22Active(tt) → tt
U31Active(tt, V1, V2) → U32Active(isNatActive(V1), V2)
U32Active(tt, V2) → U33Active(isNatActive(V2))
U33Active(tt) → tt
U41Active(tt, N) → mark(N)
U51Active(tt, M, N) → s(plusActive(mark(N), mark(M)))
U61Active(tt) → 0
U71Active(tt, M, N) → plusActive(xActive(mark(N), mark(M)), mark(N))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(plus(V1, V2)) → U11Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatActive(s(V1)) → U21Active(isNatKindActive(V1), V1)
isNatActive(x(V1, V2)) → U31Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatKindActive(0) → tt
isNatKindActive(plus(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
isNatKindActive(s(V1)) → isNatKindActive(V1)
isNatKindActive(x(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
plusActive(N, 0) → U41Active(andActive(isNatActive(N), isNatKind(N)), N)
plusActive(N, s(M)) → U51Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
xActive(N, 0) → U61Active(andActive(isNatActive(N), isNatKind(N)))
xActive(N, s(M)) → U71Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
U11ACTIVE(tt, s(x0), y1) → U12ACTIVE(U21Active(isNatKindActive(x0), x0), y1)
U11ACTIVE(tt, 0, y1) → U12ACTIVE(tt, y1)
U11ACTIVE(tt, x0, y1) → U12ACTIVE(isNat(x0), y1)
U11ACTIVE(tt, plus(x0, x1), y1) → U12ACTIVE(U11Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
U11ACTIVE(tt, x(x0, x1), y1) → U12ACTIVE(U31Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ Improved Ferreira Ribeiro-Transformation
MARK(U12(x1, x2)) → U12ACTIVE(mark(x1), x2)
XACTIVE(N, s(M)) → ISNATACTIVE(M)
U41ACTIVE(tt, N) → MARK(N)
U51ACTIVE(tt, M, N) → MARK(M)
ISNATKINDACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
XACTIVE(N, 0) → ISNATACTIVE(N)
U71ACTIVE(tt, M, N) → MARK(M)
ISNATACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
U32ACTIVE(tt, V2) → ISNATACTIVE(V2)
U11ACTIVE(tt, x(x0, x1), y1) → U12ACTIVE(U31Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U12(x1, x2)) → MARK(x1)
MARK(plus(x1, x2)) → MARK(x2)
MARK(U31(x1, x2, x3)) → U31ACTIVE(mark(x1), x2, x3)
MARK(U11(x1, x2, x3)) → MARK(x1)
MARK(U71(x1, x2, x3)) → MARK(x1)
MARK(x(x1, x2)) → MARK(x2)
MARK(U11(x1, x2, x3)) → U11ACTIVE(mark(x1), x2, x3)
ISNATACTIVE(plus(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
PLUSACTIVE(N, s(M)) → ISNATACTIVE(M)
U71ACTIVE(tt, M, N) → PLUSACTIVE(xActive(mark(N), mark(M)), mark(N))
MARK(U21(x1, x2)) → MARK(x1)
ANDACTIVE(tt, X) → MARK(X)
U51ACTIVE(tt, M, N) → MARK(N)
XACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
PLUSACTIVE(N, 0) → U41ACTIVE(andActive(isNatActive(N), isNatKind(N)), N)
U51ACTIVE(tt, M, N) → PLUSACTIVE(mark(N), mark(M))
MARK(U41(x1, x2)) → U41ACTIVE(mark(x1), x2)
MARK(x(x1, x2)) → XACTIVE(mark(x1), mark(x2))
MARK(U51(x1, x2, x3)) → MARK(x1)
U71ACTIVE(tt, M, N) → XACTIVE(mark(N), mark(M))
MARK(U71(x1, x2, x3)) → U71ACTIVE(mark(x1), x2, x3)
MARK(U32(x1, x2)) → U32ACTIVE(mark(x1), x2)
PLUSACTIVE(N, s(M)) → U51ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(and(x1, x2)) → ANDACTIVE(mark(x1), x2)
U11ACTIVE(tt, s(x0), y1) → U12ACTIVE(U21Active(isNatKindActive(x0), x0), y1)
ISNATKINDACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(s(x1)) → MARK(x1)
U71ACTIVE(tt, M, N) → MARK(N)
MARK(isNatKind(x1)) → ISNATKINDACTIVE(x1)
ISNATACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
U11ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(isNat(x1)) → ISNATACTIVE(x1)
U12ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(plus(x1, x2)) → MARK(x1)
ISNATACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
U21ACTIVE(tt, V1) → ISNATACTIVE(V1)
ISNATKINDACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(plus(x1, x2)) → PLUSACTIVE(mark(x1), mark(x2))
PLUSACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U51(x1, x2, x3)) → U51ACTIVE(mark(x1), x2, x3)
U31ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(U33(x1)) → MARK(x1)
U11ACTIVE(tt, plus(x0, x1), y1) → U12ACTIVE(U11Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
ISNATACTIVE(plus(V1, V2)) → U11ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
ISNATACTIVE(x(V1, V2)) → U31ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U41(x1, x2)) → MARK(x1)
U11ACTIVE(tt, x0, y1) → U12ACTIVE(isNat(x0), y1)
ISNATACTIVE(s(V1)) → U21ACTIVE(isNatKindActive(V1), V1)
MARK(and(x1, x2)) → MARK(x1)
PLUSACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
PLUSACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
MARK(U61(x1)) → MARK(x1)
ISNATACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
PLUSACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U22(x1)) → MARK(x1)
U11ACTIVE(tt, 0, y1) → U12ACTIVE(tt, y1)
MARK(x(x1, x2)) → MARK(x1)
XACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
U31ACTIVE(tt, V1, V2) → U32ACTIVE(isNatActive(V1), V2)
MARK(U31(x1, x2, x3)) → MARK(x1)
MARK(U21(x1, x2)) → U21ACTIVE(mark(x1), x2)
MARK(U13(x1)) → MARK(x1)
XACTIVE(N, s(M)) → U71ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(U32(x1, x2)) → MARK(x1)
ISNATKINDACTIVE(plus(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
XACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
ISNATKINDACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
mark(U11(x1, x2, x3)) → U11Active(mark(x1), x2, x3)
U11Active(x1, x2, x3) → U11(x1, x2, x3)
mark(U12(x1, x2)) → U12Active(mark(x1), x2)
U12Active(x1, x2) → U12(x1, x2)
mark(U13(x1)) → U13Active(mark(x1))
U13Active(x1) → U13(x1)
mark(U21(x1, x2)) → U21Active(mark(x1), x2)
U21Active(x1, x2) → U21(x1, x2)
mark(U22(x1)) → U22Active(mark(x1))
U22Active(x1) → U22(x1)
mark(U31(x1, x2, x3)) → U31Active(mark(x1), x2, x3)
U31Active(x1, x2, x3) → U31(x1, x2, x3)
mark(U32(x1, x2)) → U32Active(mark(x1), x2)
U32Active(x1, x2) → U32(x1, x2)
mark(U33(x1)) → U33Active(mark(x1))
U33Active(x1) → U33(x1)
mark(U41(x1, x2)) → U41Active(mark(x1), x2)
U41Active(x1, x2) → U41(x1, x2)
mark(U51(x1, x2, x3)) → U51Active(mark(x1), x2, x3)
U51Active(x1, x2, x3) → U51(x1, x2, x3)
mark(U61(x1)) → U61Active(mark(x1))
U61Active(x1) → U61(x1)
mark(U71(x1, x2, x3)) → U71Active(mark(x1), x2, x3)
U71Active(x1, x2, x3) → U71(x1, x2, x3)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatKind(x1)) → isNatKindActive(x1)
isNatKindActive(x1) → isNatKind(x1)
mark(plus(x1, x2)) → plusActive(mark(x1), mark(x2))
plusActive(x1, x2) → plus(x1, x2)
mark(x(x1, x2)) → xActive(mark(x1), mark(x2))
xActive(x1, x2) → x(x1, x2)
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(0) → 0
U11Active(tt, V1, V2) → U12Active(isNatActive(V1), V2)
U12Active(tt, V2) → U13Active(isNatActive(V2))
U13Active(tt) → tt
U21Active(tt, V1) → U22Active(isNatActive(V1))
U22Active(tt) → tt
U31Active(tt, V1, V2) → U32Active(isNatActive(V1), V2)
U32Active(tt, V2) → U33Active(isNatActive(V2))
U33Active(tt) → tt
U41Active(tt, N) → mark(N)
U51Active(tt, M, N) → s(plusActive(mark(N), mark(M)))
U61Active(tt) → 0
U71Active(tt, M, N) → plusActive(xActive(mark(N), mark(M)), mark(N))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(plus(V1, V2)) → U11Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatActive(s(V1)) → U21Active(isNatKindActive(V1), V1)
isNatActive(x(V1, V2)) → U31Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatKindActive(0) → tt
isNatKindActive(plus(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
isNatKindActive(s(V1)) → isNatKindActive(V1)
isNatKindActive(x(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
plusActive(N, 0) → U41Active(andActive(isNatActive(N), isNatKind(N)), N)
plusActive(N, s(M)) → U51Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
xActive(N, 0) → U61Active(andActive(isNatActive(N), isNatKind(N)))
xActive(N, s(M)) → U71Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ Improved Ferreira Ribeiro-Transformation
XACTIVE(N, s(M)) → ISNATACTIVE(M)
MARK(U12(x1, x2)) → U12ACTIVE(mark(x1), x2)
U41ACTIVE(tt, N) → MARK(N)
U51ACTIVE(tt, M, N) → MARK(M)
ISNATKINDACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
XACTIVE(N, 0) → ISNATACTIVE(N)
U71ACTIVE(tt, M, N) → MARK(M)
ISNATACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
U32ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(plus(x1, x2)) → MARK(x2)
U11ACTIVE(tt, x(x0, x1), y1) → U12ACTIVE(U31Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U12(x1, x2)) → MARK(x1)
MARK(x(x1, x2)) → MARK(x2)
MARK(U71(x1, x2, x3)) → MARK(x1)
MARK(U11(x1, x2, x3)) → MARK(x1)
MARK(U31(x1, x2, x3)) → U31ACTIVE(mark(x1), x2, x3)
ISNATACTIVE(plus(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(U11(x1, x2, x3)) → U11ACTIVE(mark(x1), x2, x3)
PLUSACTIVE(N, s(M)) → ISNATACTIVE(M)
U71ACTIVE(tt, M, N) → PLUSACTIVE(xActive(mark(N), mark(M)), mark(N))
ANDACTIVE(tt, X) → MARK(X)
MARK(U21(x1, x2)) → MARK(x1)
U51ACTIVE(tt, M, N) → MARK(N)
XACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
PLUSACTIVE(N, 0) → U41ACTIVE(andActive(isNatActive(N), isNatKind(N)), N)
U51ACTIVE(tt, M, N) → PLUSACTIVE(mark(N), mark(M))
MARK(U41(x1, x2)) → U41ACTIVE(mark(x1), x2)
MARK(x(x1, x2)) → XACTIVE(mark(x1), mark(x2))
MARK(U51(x1, x2, x3)) → MARK(x1)
U71ACTIVE(tt, M, N) → XACTIVE(mark(N), mark(M))
MARK(U71(x1, x2, x3)) → U71ACTIVE(mark(x1), x2, x3)
MARK(U32(x1, x2)) → U32ACTIVE(mark(x1), x2)
MARK(and(x1, x2)) → ANDACTIVE(mark(x1), x2)
PLUSACTIVE(N, s(M)) → U51ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
U11ACTIVE(tt, s(x0), y1) → U12ACTIVE(U21Active(isNatKindActive(x0), x0), y1)
MARK(s(x1)) → MARK(x1)
ISNATKINDACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(isNatKind(x1)) → ISNATKINDACTIVE(x1)
U71ACTIVE(tt, M, N) → MARK(N)
ISNATACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
U11ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(isNat(x1)) → ISNATACTIVE(x1)
MARK(plus(x1, x2)) → MARK(x1)
U12ACTIVE(tt, V2) → ISNATACTIVE(V2)
ISNATACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
U21ACTIVE(tt, V1) → ISNATACTIVE(V1)
ISNATKINDACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(plus(x1, x2)) → PLUSACTIVE(mark(x1), mark(x2))
U31ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(U51(x1, x2, x3)) → U51ACTIVE(mark(x1), x2, x3)
PLUSACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U33(x1)) → MARK(x1)
U11ACTIVE(tt, plus(x0, x1), y1) → U12ACTIVE(U11Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
ISNATACTIVE(x(V1, V2)) → U31ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
ISNATACTIVE(plus(V1, V2)) → U11ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U41(x1, x2)) → MARK(x1)
ISNATACTIVE(s(V1)) → U21ACTIVE(isNatKindActive(V1), V1)
MARK(and(x1, x2)) → MARK(x1)
PLUSACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
PLUSACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
PLUSACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
ISNATACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
MARK(U61(x1)) → MARK(x1)
MARK(U22(x1)) → MARK(x1)
U11ACTIVE(tt, 0, y1) → U12ACTIVE(tt, y1)
MARK(x(x1, x2)) → MARK(x1)
XACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
U31ACTIVE(tt, V1, V2) → U32ACTIVE(isNatActive(V1), V2)
MARK(U31(x1, x2, x3)) → MARK(x1)
MARK(U21(x1, x2)) → U21ACTIVE(mark(x1), x2)
XACTIVE(N, s(M)) → U71ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(U13(x1)) → MARK(x1)
XACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
ISNATKINDACTIVE(plus(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(U32(x1, x2)) → MARK(x1)
ISNATKINDACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
mark(U11(x1, x2, x3)) → U11Active(mark(x1), x2, x3)
U11Active(x1, x2, x3) → U11(x1, x2, x3)
mark(U12(x1, x2)) → U12Active(mark(x1), x2)
U12Active(x1, x2) → U12(x1, x2)
mark(U13(x1)) → U13Active(mark(x1))
U13Active(x1) → U13(x1)
mark(U21(x1, x2)) → U21Active(mark(x1), x2)
U21Active(x1, x2) → U21(x1, x2)
mark(U22(x1)) → U22Active(mark(x1))
U22Active(x1) → U22(x1)
mark(U31(x1, x2, x3)) → U31Active(mark(x1), x2, x3)
U31Active(x1, x2, x3) → U31(x1, x2, x3)
mark(U32(x1, x2)) → U32Active(mark(x1), x2)
U32Active(x1, x2) → U32(x1, x2)
mark(U33(x1)) → U33Active(mark(x1))
U33Active(x1) → U33(x1)
mark(U41(x1, x2)) → U41Active(mark(x1), x2)
U41Active(x1, x2) → U41(x1, x2)
mark(U51(x1, x2, x3)) → U51Active(mark(x1), x2, x3)
U51Active(x1, x2, x3) → U51(x1, x2, x3)
mark(U61(x1)) → U61Active(mark(x1))
U61Active(x1) → U61(x1)
mark(U71(x1, x2, x3)) → U71Active(mark(x1), x2, x3)
U71Active(x1, x2, x3) → U71(x1, x2, x3)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatKind(x1)) → isNatKindActive(x1)
isNatKindActive(x1) → isNatKind(x1)
mark(plus(x1, x2)) → plusActive(mark(x1), mark(x2))
plusActive(x1, x2) → plus(x1, x2)
mark(x(x1, x2)) → xActive(mark(x1), mark(x2))
xActive(x1, x2) → x(x1, x2)
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(0) → 0
U11Active(tt, V1, V2) → U12Active(isNatActive(V1), V2)
U12Active(tt, V2) → U13Active(isNatActive(V2))
U13Active(tt) → tt
U21Active(tt, V1) → U22Active(isNatActive(V1))
U22Active(tt) → tt
U31Active(tt, V1, V2) → U32Active(isNatActive(V1), V2)
U32Active(tt, V2) → U33Active(isNatActive(V2))
U33Active(tt) → tt
U41Active(tt, N) → mark(N)
U51Active(tt, M, N) → s(plusActive(mark(N), mark(M)))
U61Active(tt) → 0
U71Active(tt, M, N) → plusActive(xActive(mark(N), mark(M)), mark(N))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(plus(V1, V2)) → U11Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatActive(s(V1)) → U21Active(isNatKindActive(V1), V1)
isNatActive(x(V1, V2)) → U31Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatKindActive(0) → tt
isNatKindActive(plus(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
isNatKindActive(s(V1)) → isNatKindActive(V1)
isNatKindActive(x(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
plusActive(N, 0) → U41Active(andActive(isNatActive(N), isNatKind(N)), N)
plusActive(N, s(M)) → U51Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
xActive(N, 0) → U61Active(andActive(isNatActive(N), isNatKind(N)))
xActive(N, s(M)) → U71Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
ISNATACTIVE(plus(x0, y1)) → ANDACTIVE(isNatKind(x0), isNatKind(y1))
ISNATACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ISNATACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
ISNATACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ISNATACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ Improved Ferreira Ribeiro-Transformation
MARK(U12(x1, x2)) → U12ACTIVE(mark(x1), x2)
XACTIVE(N, s(M)) → ISNATACTIVE(M)
U41ACTIVE(tt, N) → MARK(N)
U51ACTIVE(tt, M, N) → MARK(M)
ISNATKINDACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
XACTIVE(N, 0) → ISNATACTIVE(N)
U71ACTIVE(tt, M, N) → MARK(M)
ISNATACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
U32ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(U12(x1, x2)) → MARK(x1)
U11ACTIVE(tt, x(x0, x1), y1) → U12ACTIVE(U31Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(plus(x1, x2)) → MARK(x2)
MARK(U31(x1, x2, x3)) → U31ACTIVE(mark(x1), x2, x3)
MARK(U11(x1, x2, x3)) → MARK(x1)
MARK(U71(x1, x2, x3)) → MARK(x1)
MARK(x(x1, x2)) → MARK(x2)
ISNATACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U11(x1, x2, x3)) → U11ACTIVE(mark(x1), x2, x3)
PLUSACTIVE(N, s(M)) → ISNATACTIVE(M)
ISNATACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
U71ACTIVE(tt, M, N) → PLUSACTIVE(xActive(mark(N), mark(M)), mark(N))
MARK(U21(x1, x2)) → MARK(x1)
ANDACTIVE(tt, X) → MARK(X)
U51ACTIVE(tt, M, N) → MARK(N)
XACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
PLUSACTIVE(N, 0) → U41ACTIVE(andActive(isNatActive(N), isNatKind(N)), N)
U51ACTIVE(tt, M, N) → PLUSACTIVE(mark(N), mark(M))
MARK(U41(x1, x2)) → U41ACTIVE(mark(x1), x2)
MARK(x(x1, x2)) → XACTIVE(mark(x1), mark(x2))
MARK(U51(x1, x2, x3)) → MARK(x1)
U71ACTIVE(tt, M, N) → XACTIVE(mark(N), mark(M))
MARK(U71(x1, x2, x3)) → U71ACTIVE(mark(x1), x2, x3)
MARK(U32(x1, x2)) → U32ACTIVE(mark(x1), x2)
PLUSACTIVE(N, s(M)) → U51ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(and(x1, x2)) → ANDACTIVE(mark(x1), x2)
U11ACTIVE(tt, s(x0), y1) → U12ACTIVE(U21Active(isNatKindActive(x0), x0), y1)
ISNATKINDACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(s(x1)) → MARK(x1)
U71ACTIVE(tt, M, N) → MARK(N)
MARK(isNatKind(x1)) → ISNATKINDACTIVE(x1)
ISNATACTIVE(plus(x0, y1)) → ANDACTIVE(isNatKind(x0), isNatKind(y1))
ISNATACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
U11ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(isNat(x1)) → ISNATACTIVE(x1)
U12ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(plus(x1, x2)) → MARK(x1)
U21ACTIVE(tt, V1) → ISNATACTIVE(V1)
ISNATACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
ISNATKINDACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(plus(x1, x2)) → PLUSACTIVE(mark(x1), mark(x2))
PLUSACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U51(x1, x2, x3)) → U51ACTIVE(mark(x1), x2, x3)
U31ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(U33(x1)) → MARK(x1)
U11ACTIVE(tt, plus(x0, x1), y1) → U12ACTIVE(U11Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
ISNATACTIVE(plus(V1, V2)) → U11ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
ISNATACTIVE(x(V1, V2)) → U31ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U41(x1, x2)) → MARK(x1)
ISNATACTIVE(s(V1)) → U21ACTIVE(isNatKindActive(V1), V1)
MARK(and(x1, x2)) → MARK(x1)
PLUSACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
ISNATACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
ISNATACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
MARK(U61(x1)) → MARK(x1)
ISNATACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
PLUSACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U22(x1)) → MARK(x1)
U11ACTIVE(tt, 0, y1) → U12ACTIVE(tt, y1)
MARK(x(x1, x2)) → MARK(x1)
XACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
U31ACTIVE(tt, V1, V2) → U32ACTIVE(isNatActive(V1), V2)
MARK(U31(x1, x2, x3)) → MARK(x1)
MARK(U21(x1, x2)) → U21ACTIVE(mark(x1), x2)
MARK(U13(x1)) → MARK(x1)
XACTIVE(N, s(M)) → U71ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(U32(x1, x2)) → MARK(x1)
ISNATKINDACTIVE(plus(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
XACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
ISNATKINDACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
mark(U11(x1, x2, x3)) → U11Active(mark(x1), x2, x3)
U11Active(x1, x2, x3) → U11(x1, x2, x3)
mark(U12(x1, x2)) → U12Active(mark(x1), x2)
U12Active(x1, x2) → U12(x1, x2)
mark(U13(x1)) → U13Active(mark(x1))
U13Active(x1) → U13(x1)
mark(U21(x1, x2)) → U21Active(mark(x1), x2)
U21Active(x1, x2) → U21(x1, x2)
mark(U22(x1)) → U22Active(mark(x1))
U22Active(x1) → U22(x1)
mark(U31(x1, x2, x3)) → U31Active(mark(x1), x2, x3)
U31Active(x1, x2, x3) → U31(x1, x2, x3)
mark(U32(x1, x2)) → U32Active(mark(x1), x2)
U32Active(x1, x2) → U32(x1, x2)
mark(U33(x1)) → U33Active(mark(x1))
U33Active(x1) → U33(x1)
mark(U41(x1, x2)) → U41Active(mark(x1), x2)
U41Active(x1, x2) → U41(x1, x2)
mark(U51(x1, x2, x3)) → U51Active(mark(x1), x2, x3)
U51Active(x1, x2, x3) → U51(x1, x2, x3)
mark(U61(x1)) → U61Active(mark(x1))
U61Active(x1) → U61(x1)
mark(U71(x1, x2, x3)) → U71Active(mark(x1), x2, x3)
U71Active(x1, x2, x3) → U71(x1, x2, x3)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatKind(x1)) → isNatKindActive(x1)
isNatKindActive(x1) → isNatKind(x1)
mark(plus(x1, x2)) → plusActive(mark(x1), mark(x2))
plusActive(x1, x2) → plus(x1, x2)
mark(x(x1, x2)) → xActive(mark(x1), mark(x2))
xActive(x1, x2) → x(x1, x2)
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(0) → 0
U11Active(tt, V1, V2) → U12Active(isNatActive(V1), V2)
U12Active(tt, V2) → U13Active(isNatActive(V2))
U13Active(tt) → tt
U21Active(tt, V1) → U22Active(isNatActive(V1))
U22Active(tt) → tt
U31Active(tt, V1, V2) → U32Active(isNatActive(V1), V2)
U32Active(tt, V2) → U33Active(isNatActive(V2))
U33Active(tt) → tt
U41Active(tt, N) → mark(N)
U51Active(tt, M, N) → s(plusActive(mark(N), mark(M)))
U61Active(tt) → 0
U71Active(tt, M, N) → plusActive(xActive(mark(N), mark(M)), mark(N))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(plus(V1, V2)) → U11Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatActive(s(V1)) → U21Active(isNatKindActive(V1), V1)
isNatActive(x(V1, V2)) → U31Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatKindActive(0) → tt
isNatKindActive(plus(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
isNatKindActive(s(V1)) → isNatKindActive(V1)
isNatKindActive(x(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
plusActive(N, 0) → U41Active(andActive(isNatActive(N), isNatKind(N)), N)
plusActive(N, s(M)) → U51Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
xActive(N, 0) → U61Active(andActive(isNatActive(N), isNatKind(N)))
xActive(N, s(M)) → U71Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ Improved Ferreira Ribeiro-Transformation
XACTIVE(N, s(M)) → ISNATACTIVE(M)
MARK(U12(x1, x2)) → U12ACTIVE(mark(x1), x2)
U41ACTIVE(tt, N) → MARK(N)
U51ACTIVE(tt, M, N) → MARK(M)
ISNATKINDACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
XACTIVE(N, 0) → ISNATACTIVE(N)
U71ACTIVE(tt, M, N) → MARK(M)
ISNATACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
U32ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(plus(x1, x2)) → MARK(x2)
MARK(U12(x1, x2)) → MARK(x1)
U11ACTIVE(tt, x(x0, x1), y1) → U12ACTIVE(U31Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(x(x1, x2)) → MARK(x2)
MARK(U71(x1, x2, x3)) → MARK(x1)
MARK(U11(x1, x2, x3)) → MARK(x1)
MARK(U31(x1, x2, x3)) → U31ACTIVE(mark(x1), x2, x3)
MARK(U11(x1, x2, x3)) → U11ACTIVE(mark(x1), x2, x3)
ISNATACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ISNATACTIVE(M)
ISNATACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
U71ACTIVE(tt, M, N) → PLUSACTIVE(xActive(mark(N), mark(M)), mark(N))
ANDACTIVE(tt, X) → MARK(X)
MARK(U21(x1, x2)) → MARK(x1)
U51ACTIVE(tt, M, N) → MARK(N)
XACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
PLUSACTIVE(N, 0) → U41ACTIVE(andActive(isNatActive(N), isNatKind(N)), N)
U51ACTIVE(tt, M, N) → PLUSACTIVE(mark(N), mark(M))
MARK(U41(x1, x2)) → U41ACTIVE(mark(x1), x2)
MARK(x(x1, x2)) → XACTIVE(mark(x1), mark(x2))
MARK(U51(x1, x2, x3)) → MARK(x1)
U71ACTIVE(tt, M, N) → XACTIVE(mark(N), mark(M))
MARK(U71(x1, x2, x3)) → U71ACTIVE(mark(x1), x2, x3)
MARK(U32(x1, x2)) → U32ACTIVE(mark(x1), x2)
MARK(and(x1, x2)) → ANDACTIVE(mark(x1), x2)
PLUSACTIVE(N, s(M)) → U51ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
U11ACTIVE(tt, s(x0), y1) → U12ACTIVE(U21Active(isNatKindActive(x0), x0), y1)
MARK(s(x1)) → MARK(x1)
ISNATKINDACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(isNatKind(x1)) → ISNATKINDACTIVE(x1)
U71ACTIVE(tt, M, N) → MARK(N)
ISNATACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
U11ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(isNat(x1)) → ISNATACTIVE(x1)
MARK(plus(x1, x2)) → MARK(x1)
U12ACTIVE(tt, V2) → ISNATACTIVE(V2)
U21ACTIVE(tt, V1) → ISNATACTIVE(V1)
ISNATACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
ISNATKINDACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(plus(x1, x2)) → PLUSACTIVE(mark(x1), mark(x2))
U31ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(U51(x1, x2, x3)) → U51ACTIVE(mark(x1), x2, x3)
PLUSACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U33(x1)) → MARK(x1)
U11ACTIVE(tt, plus(x0, x1), y1) → U12ACTIVE(U11Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
ISNATACTIVE(x(V1, V2)) → U31ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
ISNATACTIVE(plus(V1, V2)) → U11ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U41(x1, x2)) → MARK(x1)
ISNATACTIVE(s(V1)) → U21ACTIVE(isNatKindActive(V1), V1)
MARK(and(x1, x2)) → MARK(x1)
PLUSACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
PLUSACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
ISNATACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ISNATACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U61(x1)) → MARK(x1)
ISNATACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
MARK(U22(x1)) → MARK(x1)
U11ACTIVE(tt, 0, y1) → U12ACTIVE(tt, y1)
MARK(x(x1, x2)) → MARK(x1)
XACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
U31ACTIVE(tt, V1, V2) → U32ACTIVE(isNatActive(V1), V2)
MARK(U31(x1, x2, x3)) → MARK(x1)
MARK(U21(x1, x2)) → U21ACTIVE(mark(x1), x2)
XACTIVE(N, s(M)) → U71ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(U13(x1)) → MARK(x1)
XACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
ISNATKINDACTIVE(plus(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(U32(x1, x2)) → MARK(x1)
ISNATKINDACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
mark(U11(x1, x2, x3)) → U11Active(mark(x1), x2, x3)
U11Active(x1, x2, x3) → U11(x1, x2, x3)
mark(U12(x1, x2)) → U12Active(mark(x1), x2)
U12Active(x1, x2) → U12(x1, x2)
mark(U13(x1)) → U13Active(mark(x1))
U13Active(x1) → U13(x1)
mark(U21(x1, x2)) → U21Active(mark(x1), x2)
U21Active(x1, x2) → U21(x1, x2)
mark(U22(x1)) → U22Active(mark(x1))
U22Active(x1) → U22(x1)
mark(U31(x1, x2, x3)) → U31Active(mark(x1), x2, x3)
U31Active(x1, x2, x3) → U31(x1, x2, x3)
mark(U32(x1, x2)) → U32Active(mark(x1), x2)
U32Active(x1, x2) → U32(x1, x2)
mark(U33(x1)) → U33Active(mark(x1))
U33Active(x1) → U33(x1)
mark(U41(x1, x2)) → U41Active(mark(x1), x2)
U41Active(x1, x2) → U41(x1, x2)
mark(U51(x1, x2, x3)) → U51Active(mark(x1), x2, x3)
U51Active(x1, x2, x3) → U51(x1, x2, x3)
mark(U61(x1)) → U61Active(mark(x1))
U61Active(x1) → U61(x1)
mark(U71(x1, x2, x3)) → U71Active(mark(x1), x2, x3)
U71Active(x1, x2, x3) → U71(x1, x2, x3)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatKind(x1)) → isNatKindActive(x1)
isNatKindActive(x1) → isNatKind(x1)
mark(plus(x1, x2)) → plusActive(mark(x1), mark(x2))
plusActive(x1, x2) → plus(x1, x2)
mark(x(x1, x2)) → xActive(mark(x1), mark(x2))
xActive(x1, x2) → x(x1, x2)
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(0) → 0
U11Active(tt, V1, V2) → U12Active(isNatActive(V1), V2)
U12Active(tt, V2) → U13Active(isNatActive(V2))
U13Active(tt) → tt
U21Active(tt, V1) → U22Active(isNatActive(V1))
U22Active(tt) → tt
U31Active(tt, V1, V2) → U32Active(isNatActive(V1), V2)
U32Active(tt, V2) → U33Active(isNatActive(V2))
U33Active(tt) → tt
U41Active(tt, N) → mark(N)
U51Active(tt, M, N) → s(plusActive(mark(N), mark(M)))
U61Active(tt) → 0
U71Active(tt, M, N) → plusActive(xActive(mark(N), mark(M)), mark(N))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(plus(V1, V2)) → U11Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatActive(s(V1)) → U21Active(isNatKindActive(V1), V1)
isNatActive(x(V1, V2)) → U31Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatKindActive(0) → tt
isNatKindActive(plus(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
isNatKindActive(s(V1)) → isNatKindActive(V1)
isNatKindActive(x(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
plusActive(N, 0) → U41Active(andActive(isNatActive(N), isNatKind(N)), N)
plusActive(N, s(M)) → U51Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
xActive(N, 0) → U61Active(andActive(isNatActive(N), isNatKind(N)))
xActive(N, s(M)) → U71Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
ISNATKINDACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
ISNATKINDACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ISNATKINDACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
ISNATKINDACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ISNATKINDACTIVE(plus(x0, y1)) → ANDACTIVE(isNatKind(x0), isNatKind(y1))
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ Improved Ferreira Ribeiro-Transformation
MARK(U12(x1, x2)) → U12ACTIVE(mark(x1), x2)
XACTIVE(N, s(M)) → ISNATACTIVE(M)
U41ACTIVE(tt, N) → MARK(N)
U51ACTIVE(tt, M, N) → MARK(M)
ISNATKINDACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
XACTIVE(N, 0) → ISNATACTIVE(N)
U71ACTIVE(tt, M, N) → MARK(M)
ISNATACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
U32ACTIVE(tt, V2) → ISNATACTIVE(V2)
U11ACTIVE(tt, x(x0, x1), y1) → U12ACTIVE(U31Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U12(x1, x2)) → MARK(x1)
MARK(plus(x1, x2)) → MARK(x2)
MARK(U31(x1, x2, x3)) → U31ACTIVE(mark(x1), x2, x3)
MARK(U11(x1, x2, x3)) → MARK(x1)
MARK(U71(x1, x2, x3)) → MARK(x1)
MARK(x(x1, x2)) → MARK(x2)
ISNATACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U11(x1, x2, x3)) → U11ACTIVE(mark(x1), x2, x3)
PLUSACTIVE(N, s(M)) → ISNATACTIVE(M)
ISNATACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
U71ACTIVE(tt, M, N) → PLUSACTIVE(xActive(mark(N), mark(M)), mark(N))
MARK(U21(x1, x2)) → MARK(x1)
ANDACTIVE(tt, X) → MARK(X)
U51ACTIVE(tt, M, N) → MARK(N)
XACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
PLUSACTIVE(N, 0) → U41ACTIVE(andActive(isNatActive(N), isNatKind(N)), N)
U51ACTIVE(tt, M, N) → PLUSACTIVE(mark(N), mark(M))
ISNATKINDACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U41(x1, x2)) → U41ACTIVE(mark(x1), x2)
MARK(x(x1, x2)) → XACTIVE(mark(x1), mark(x2))
MARK(U51(x1, x2, x3)) → MARK(x1)
U71ACTIVE(tt, M, N) → XACTIVE(mark(N), mark(M))
MARK(U71(x1, x2, x3)) → U71ACTIVE(mark(x1), x2, x3)
MARK(U32(x1, x2)) → U32ACTIVE(mark(x1), x2)
PLUSACTIVE(N, s(M)) → U51ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(and(x1, x2)) → ANDACTIVE(mark(x1), x2)
U11ACTIVE(tt, s(x0), y1) → U12ACTIVE(U21Active(isNatKindActive(x0), x0), y1)
ISNATKINDACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(s(x1)) → MARK(x1)
U71ACTIVE(tt, M, N) → MARK(N)
MARK(isNatKind(x1)) → ISNATKINDACTIVE(x1)
ISNATACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
U11ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(isNat(x1)) → ISNATACTIVE(x1)
ISNATKINDACTIVE(plus(x0, y1)) → ANDACTIVE(isNatKind(x0), isNatKind(y1))
U12ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(plus(x1, x2)) → MARK(x1)
ISNATACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
U21ACTIVE(tt, V1) → ISNATACTIVE(V1)
ISNATKINDACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(plus(x1, x2)) → PLUSACTIVE(mark(x1), mark(x2))
ISNATKINDACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
PLUSACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U51(x1, x2, x3)) → U51ACTIVE(mark(x1), x2, x3)
U31ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(U33(x1)) → MARK(x1)
ISNATKINDACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
U11ACTIVE(tt, plus(x0, x1), y1) → U12ACTIVE(U11Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
ISNATACTIVE(plus(V1, V2)) → U11ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
ISNATACTIVE(x(V1, V2)) → U31ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U41(x1, x2)) → MARK(x1)
ISNATACTIVE(s(V1)) → U21ACTIVE(isNatKindActive(V1), V1)
ISNATKINDACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(and(x1, x2)) → MARK(x1)
PLUSACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
ISNATACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
ISNATACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
ISNATACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
MARK(U61(x1)) → MARK(x1)
PLUSACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U22(x1)) → MARK(x1)
U11ACTIVE(tt, 0, y1) → U12ACTIVE(tt, y1)
MARK(x(x1, x2)) → MARK(x1)
XACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
U31ACTIVE(tt, V1, V2) → U32ACTIVE(isNatActive(V1), V2)
MARK(U31(x1, x2, x3)) → MARK(x1)
MARK(U21(x1, x2)) → U21ACTIVE(mark(x1), x2)
MARK(U13(x1)) → MARK(x1)
XACTIVE(N, s(M)) → U71ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(U32(x1, x2)) → MARK(x1)
XACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
ISNATKINDACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
mark(U11(x1, x2, x3)) → U11Active(mark(x1), x2, x3)
U11Active(x1, x2, x3) → U11(x1, x2, x3)
mark(U12(x1, x2)) → U12Active(mark(x1), x2)
U12Active(x1, x2) → U12(x1, x2)
mark(U13(x1)) → U13Active(mark(x1))
U13Active(x1) → U13(x1)
mark(U21(x1, x2)) → U21Active(mark(x1), x2)
U21Active(x1, x2) → U21(x1, x2)
mark(U22(x1)) → U22Active(mark(x1))
U22Active(x1) → U22(x1)
mark(U31(x1, x2, x3)) → U31Active(mark(x1), x2, x3)
U31Active(x1, x2, x3) → U31(x1, x2, x3)
mark(U32(x1, x2)) → U32Active(mark(x1), x2)
U32Active(x1, x2) → U32(x1, x2)
mark(U33(x1)) → U33Active(mark(x1))
U33Active(x1) → U33(x1)
mark(U41(x1, x2)) → U41Active(mark(x1), x2)
U41Active(x1, x2) → U41(x1, x2)
mark(U51(x1, x2, x3)) → U51Active(mark(x1), x2, x3)
U51Active(x1, x2, x3) → U51(x1, x2, x3)
mark(U61(x1)) → U61Active(mark(x1))
U61Active(x1) → U61(x1)
mark(U71(x1, x2, x3)) → U71Active(mark(x1), x2, x3)
U71Active(x1, x2, x3) → U71(x1, x2, x3)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatKind(x1)) → isNatKindActive(x1)
isNatKindActive(x1) → isNatKind(x1)
mark(plus(x1, x2)) → plusActive(mark(x1), mark(x2))
plusActive(x1, x2) → plus(x1, x2)
mark(x(x1, x2)) → xActive(mark(x1), mark(x2))
xActive(x1, x2) → x(x1, x2)
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(0) → 0
U11Active(tt, V1, V2) → U12Active(isNatActive(V1), V2)
U12Active(tt, V2) → U13Active(isNatActive(V2))
U13Active(tt) → tt
U21Active(tt, V1) → U22Active(isNatActive(V1))
U22Active(tt) → tt
U31Active(tt, V1, V2) → U32Active(isNatActive(V1), V2)
U32Active(tt, V2) → U33Active(isNatActive(V2))
U33Active(tt) → tt
U41Active(tt, N) → mark(N)
U51Active(tt, M, N) → s(plusActive(mark(N), mark(M)))
U61Active(tt) → 0
U71Active(tt, M, N) → plusActive(xActive(mark(N), mark(M)), mark(N))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(plus(V1, V2)) → U11Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatActive(s(V1)) → U21Active(isNatKindActive(V1), V1)
isNatActive(x(V1, V2)) → U31Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatKindActive(0) → tt
isNatKindActive(plus(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
isNatKindActive(s(V1)) → isNatKindActive(V1)
isNatKindActive(x(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
plusActive(N, 0) → U41Active(andActive(isNatActive(N), isNatKind(N)), N)
plusActive(N, s(M)) → U51Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
xActive(N, 0) → U61Active(andActive(isNatActive(N), isNatKind(N)))
xActive(N, s(M)) → U71Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ Improved Ferreira Ribeiro-Transformation
XACTIVE(N, s(M)) → ISNATACTIVE(M)
MARK(U12(x1, x2)) → U12ACTIVE(mark(x1), x2)
U41ACTIVE(tt, N) → MARK(N)
U51ACTIVE(tt, M, N) → MARK(M)
ISNATKINDACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
XACTIVE(N, 0) → ISNATACTIVE(N)
U71ACTIVE(tt, M, N) → MARK(M)
ISNATACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
U32ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(plus(x1, x2)) → MARK(x2)
U11ACTIVE(tt, x(x0, x1), y1) → U12ACTIVE(U31Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U12(x1, x2)) → MARK(x1)
MARK(x(x1, x2)) → MARK(x2)
MARK(U71(x1, x2, x3)) → MARK(x1)
MARK(U11(x1, x2, x3)) → MARK(x1)
MARK(U31(x1, x2, x3)) → U31ACTIVE(mark(x1), x2, x3)
ISNATACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U11(x1, x2, x3)) → U11ACTIVE(mark(x1), x2, x3)
PLUSACTIVE(N, s(M)) → ISNATACTIVE(M)
ISNATACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
U71ACTIVE(tt, M, N) → PLUSACTIVE(xActive(mark(N), mark(M)), mark(N))
ANDACTIVE(tt, X) → MARK(X)
MARK(U21(x1, x2)) → MARK(x1)
U51ACTIVE(tt, M, N) → MARK(N)
XACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
PLUSACTIVE(N, 0) → U41ACTIVE(andActive(isNatActive(N), isNatKind(N)), N)
U51ACTIVE(tt, M, N) → PLUSACTIVE(mark(N), mark(M))
ISNATKINDACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U41(x1, x2)) → U41ACTIVE(mark(x1), x2)
MARK(x(x1, x2)) → XACTIVE(mark(x1), mark(x2))
MARK(U51(x1, x2, x3)) → MARK(x1)
U71ACTIVE(tt, M, N) → XACTIVE(mark(N), mark(M))
MARK(U71(x1, x2, x3)) → U71ACTIVE(mark(x1), x2, x3)
MARK(U32(x1, x2)) → U32ACTIVE(mark(x1), x2)
MARK(and(x1, x2)) → ANDACTIVE(mark(x1), x2)
PLUSACTIVE(N, s(M)) → U51ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
U11ACTIVE(tt, s(x0), y1) → U12ACTIVE(U21Active(isNatKindActive(x0), x0), y1)
MARK(s(x1)) → MARK(x1)
ISNATKINDACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(isNatKind(x1)) → ISNATKINDACTIVE(x1)
U71ACTIVE(tt, M, N) → MARK(N)
ISNATACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
U11ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(isNat(x1)) → ISNATACTIVE(x1)
MARK(plus(x1, x2)) → MARK(x1)
U12ACTIVE(tt, V2) → ISNATACTIVE(V2)
ISNATACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
U21ACTIVE(tt, V1) → ISNATACTIVE(V1)
ISNATKINDACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(plus(x1, x2)) → PLUSACTIVE(mark(x1), mark(x2))
PLUSACTIVE(N, 0) → ISNATACTIVE(N)
ISNATKINDACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
U31ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(U51(x1, x2, x3)) → U51ACTIVE(mark(x1), x2, x3)
MARK(U33(x1)) → MARK(x1)
ISNATKINDACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
U11ACTIVE(tt, plus(x0, x1), y1) → U12ACTIVE(U11Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
ISNATACTIVE(x(V1, V2)) → U31ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
ISNATACTIVE(plus(V1, V2)) → U11ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U41(x1, x2)) → MARK(x1)
ISNATACTIVE(s(V1)) → U21ACTIVE(isNatKindActive(V1), V1)
ISNATKINDACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(and(x1, x2)) → MARK(x1)
PLUSACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
PLUSACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
ISNATACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ISNATACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U61(x1)) → MARK(x1)
ISNATACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
MARK(U22(x1)) → MARK(x1)
U11ACTIVE(tt, 0, y1) → U12ACTIVE(tt, y1)
MARK(x(x1, x2)) → MARK(x1)
XACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
U31ACTIVE(tt, V1, V2) → U32ACTIVE(isNatActive(V1), V2)
MARK(U31(x1, x2, x3)) → MARK(x1)
MARK(U21(x1, x2)) → U21ACTIVE(mark(x1), x2)
XACTIVE(N, s(M)) → U71ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(U13(x1)) → MARK(x1)
XACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
MARK(U32(x1, x2)) → MARK(x1)
ISNATKINDACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
mark(U11(x1, x2, x3)) → U11Active(mark(x1), x2, x3)
U11Active(x1, x2, x3) → U11(x1, x2, x3)
mark(U12(x1, x2)) → U12Active(mark(x1), x2)
U12Active(x1, x2) → U12(x1, x2)
mark(U13(x1)) → U13Active(mark(x1))
U13Active(x1) → U13(x1)
mark(U21(x1, x2)) → U21Active(mark(x1), x2)
U21Active(x1, x2) → U21(x1, x2)
mark(U22(x1)) → U22Active(mark(x1))
U22Active(x1) → U22(x1)
mark(U31(x1, x2, x3)) → U31Active(mark(x1), x2, x3)
U31Active(x1, x2, x3) → U31(x1, x2, x3)
mark(U32(x1, x2)) → U32Active(mark(x1), x2)
U32Active(x1, x2) → U32(x1, x2)
mark(U33(x1)) → U33Active(mark(x1))
U33Active(x1) → U33(x1)
mark(U41(x1, x2)) → U41Active(mark(x1), x2)
U41Active(x1, x2) → U41(x1, x2)
mark(U51(x1, x2, x3)) → U51Active(mark(x1), x2, x3)
U51Active(x1, x2, x3) → U51(x1, x2, x3)
mark(U61(x1)) → U61Active(mark(x1))
U61Active(x1) → U61(x1)
mark(U71(x1, x2, x3)) → U71Active(mark(x1), x2, x3)
U71Active(x1, x2, x3) → U71(x1, x2, x3)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatKind(x1)) → isNatKindActive(x1)
isNatKindActive(x1) → isNatKind(x1)
mark(plus(x1, x2)) → plusActive(mark(x1), mark(x2))
plusActive(x1, x2) → plus(x1, x2)
mark(x(x1, x2)) → xActive(mark(x1), mark(x2))
xActive(x1, x2) → x(x1, x2)
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(0) → 0
U11Active(tt, V1, V2) → U12Active(isNatActive(V1), V2)
U12Active(tt, V2) → U13Active(isNatActive(V2))
U13Active(tt) → tt
U21Active(tt, V1) → U22Active(isNatActive(V1))
U22Active(tt) → tt
U31Active(tt, V1, V2) → U32Active(isNatActive(V1), V2)
U32Active(tt, V2) → U33Active(isNatActive(V2))
U33Active(tt) → tt
U41Active(tt, N) → mark(N)
U51Active(tt, M, N) → s(plusActive(mark(N), mark(M)))
U61Active(tt) → 0
U71Active(tt, M, N) → plusActive(xActive(mark(N), mark(M)), mark(N))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(plus(V1, V2)) → U11Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatActive(s(V1)) → U21Active(isNatKindActive(V1), V1)
isNatActive(x(V1, V2)) → U31Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatKindActive(0) → tt
isNatKindActive(plus(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
isNatKindActive(s(V1)) → isNatKindActive(V1)
isNatKindActive(x(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
plusActive(N, 0) → U41Active(andActive(isNatActive(N), isNatKind(N)), N)
plusActive(N, s(M)) → U51Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
xActive(N, 0) → U61Active(andActive(isNatActive(N), isNatKind(N)))
xActive(N, s(M)) → U71Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
ISNATKINDACTIVE(x(x0, y1)) → ANDACTIVE(isNatKind(x0), isNatKind(y1))
ISNATKINDACTIVE(x(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
ISNATKINDACTIVE(x(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ISNATKINDACTIVE(x(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
ISNATKINDACTIVE(x(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ Improved Ferreira Ribeiro-Transformation
MARK(U12(x1, x2)) → U12ACTIVE(mark(x1), x2)
XACTIVE(N, s(M)) → ISNATACTIVE(M)
U41ACTIVE(tt, N) → MARK(N)
U51ACTIVE(tt, M, N) → MARK(M)
ISNATKINDACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
XACTIVE(N, 0) → ISNATACTIVE(N)
U71ACTIVE(tt, M, N) → MARK(M)
ISNATACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
U32ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(U12(x1, x2)) → MARK(x1)
U11ACTIVE(tt, x(x0, x1), y1) → U12ACTIVE(U31Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(plus(x1, x2)) → MARK(x2)
MARK(U31(x1, x2, x3)) → U31ACTIVE(mark(x1), x2, x3)
MARK(U11(x1, x2, x3)) → MARK(x1)
MARK(U71(x1, x2, x3)) → MARK(x1)
MARK(x(x1, x2)) → MARK(x2)
MARK(U11(x1, x2, x3)) → U11ACTIVE(mark(x1), x2, x3)
ISNATACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ISNATACTIVE(M)
ISNATACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
U71ACTIVE(tt, M, N) → PLUSACTIVE(xActive(mark(N), mark(M)), mark(N))
ISNATKINDACTIVE(x(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U21(x1, x2)) → MARK(x1)
ANDACTIVE(tt, X) → MARK(X)
U51ACTIVE(tt, M, N) → MARK(N)
XACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
PLUSACTIVE(N, 0) → U41ACTIVE(andActive(isNatActive(N), isNatKind(N)), N)
U51ACTIVE(tt, M, N) → PLUSACTIVE(mark(N), mark(M))
ISNATKINDACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U41(x1, x2)) → U41ACTIVE(mark(x1), x2)
MARK(x(x1, x2)) → XACTIVE(mark(x1), mark(x2))
MARK(U51(x1, x2, x3)) → MARK(x1)
ISNATKINDACTIVE(x(x0, y1)) → ANDACTIVE(isNatKind(x0), isNatKind(y1))
U71ACTIVE(tt, M, N) → XACTIVE(mark(N), mark(M))
MARK(U71(x1, x2, x3)) → U71ACTIVE(mark(x1), x2, x3)
MARK(U32(x1, x2)) → U32ACTIVE(mark(x1), x2)
PLUSACTIVE(N, s(M)) → U51ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(and(x1, x2)) → ANDACTIVE(mark(x1), x2)
U11ACTIVE(tt, s(x0), y1) → U12ACTIVE(U21Active(isNatKindActive(x0), x0), y1)
MARK(s(x1)) → MARK(x1)
U71ACTIVE(tt, M, N) → MARK(N)
MARK(isNatKind(x1)) → ISNATKINDACTIVE(x1)
ISNATACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
U11ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(isNat(x1)) → ISNATACTIVE(x1)
U12ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(plus(x1, x2)) → MARK(x1)
U21ACTIVE(tt, V1) → ISNATACTIVE(V1)
ISNATACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
ISNATKINDACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(plus(x1, x2)) → PLUSACTIVE(mark(x1), mark(x2))
MARK(U51(x1, x2, x3)) → U51ACTIVE(mark(x1), x2, x3)
U31ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
ISNATKINDACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
PLUSACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U33(x1)) → MARK(x1)
ISNATKINDACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
ISNATKINDACTIVE(x(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ISNATKINDACTIVE(x(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
U11ACTIVE(tt, plus(x0, x1), y1) → U12ACTIVE(U11Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
ISNATACTIVE(plus(V1, V2)) → U11ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
ISNATACTIVE(x(V1, V2)) → U31ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U41(x1, x2)) → MARK(x1)
ISNATACTIVE(s(V1)) → U21ACTIVE(isNatKindActive(V1), V1)
ISNATKINDACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(and(x1, x2)) → MARK(x1)
PLUSACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
ISNATACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
ISNATACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
ISNATACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
MARK(U61(x1)) → MARK(x1)
PLUSACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U22(x1)) → MARK(x1)
U11ACTIVE(tt, 0, y1) → U12ACTIVE(tt, y1)
MARK(x(x1, x2)) → MARK(x1)
XACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
U31ACTIVE(tt, V1, V2) → U32ACTIVE(isNatActive(V1), V2)
MARK(U31(x1, x2, x3)) → MARK(x1)
MARK(U21(x1, x2)) → U21ACTIVE(mark(x1), x2)
MARK(U13(x1)) → MARK(x1)
XACTIVE(N, s(M)) → U71ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(U32(x1, x2)) → MARK(x1)
XACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
ISNATKINDACTIVE(x(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
ISNATKINDACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
mark(U11(x1, x2, x3)) → U11Active(mark(x1), x2, x3)
U11Active(x1, x2, x3) → U11(x1, x2, x3)
mark(U12(x1, x2)) → U12Active(mark(x1), x2)
U12Active(x1, x2) → U12(x1, x2)
mark(U13(x1)) → U13Active(mark(x1))
U13Active(x1) → U13(x1)
mark(U21(x1, x2)) → U21Active(mark(x1), x2)
U21Active(x1, x2) → U21(x1, x2)
mark(U22(x1)) → U22Active(mark(x1))
U22Active(x1) → U22(x1)
mark(U31(x1, x2, x3)) → U31Active(mark(x1), x2, x3)
U31Active(x1, x2, x3) → U31(x1, x2, x3)
mark(U32(x1, x2)) → U32Active(mark(x1), x2)
U32Active(x1, x2) → U32(x1, x2)
mark(U33(x1)) → U33Active(mark(x1))
U33Active(x1) → U33(x1)
mark(U41(x1, x2)) → U41Active(mark(x1), x2)
U41Active(x1, x2) → U41(x1, x2)
mark(U51(x1, x2, x3)) → U51Active(mark(x1), x2, x3)
U51Active(x1, x2, x3) → U51(x1, x2, x3)
mark(U61(x1)) → U61Active(mark(x1))
U61Active(x1) → U61(x1)
mark(U71(x1, x2, x3)) → U71Active(mark(x1), x2, x3)
U71Active(x1, x2, x3) → U71(x1, x2, x3)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatKind(x1)) → isNatKindActive(x1)
isNatKindActive(x1) → isNatKind(x1)
mark(plus(x1, x2)) → plusActive(mark(x1), mark(x2))
plusActive(x1, x2) → plus(x1, x2)
mark(x(x1, x2)) → xActive(mark(x1), mark(x2))
xActive(x1, x2) → x(x1, x2)
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(0) → 0
U11Active(tt, V1, V2) → U12Active(isNatActive(V1), V2)
U12Active(tt, V2) → U13Active(isNatActive(V2))
U13Active(tt) → tt
U21Active(tt, V1) → U22Active(isNatActive(V1))
U22Active(tt) → tt
U31Active(tt, V1, V2) → U32Active(isNatActive(V1), V2)
U32Active(tt, V2) → U33Active(isNatActive(V2))
U33Active(tt) → tt
U41Active(tt, N) → mark(N)
U51Active(tt, M, N) → s(plusActive(mark(N), mark(M)))
U61Active(tt) → 0
U71Active(tt, M, N) → plusActive(xActive(mark(N), mark(M)), mark(N))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(plus(V1, V2)) → U11Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatActive(s(V1)) → U21Active(isNatKindActive(V1), V1)
isNatActive(x(V1, V2)) → U31Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatKindActive(0) → tt
isNatKindActive(plus(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
isNatKindActive(s(V1)) → isNatKindActive(V1)
isNatKindActive(x(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
plusActive(N, 0) → U41Active(andActive(isNatActive(N), isNatKind(N)), N)
plusActive(N, s(M)) → U51Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
xActive(N, 0) → U61Active(andActive(isNatActive(N), isNatKind(N)))
xActive(N, s(M)) → U71Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ Improved Ferreira Ribeiro-Transformation
XACTIVE(N, s(M)) → ISNATACTIVE(M)
MARK(U12(x1, x2)) → U12ACTIVE(mark(x1), x2)
U41ACTIVE(tt, N) → MARK(N)
U51ACTIVE(tt, M, N) → MARK(M)
ISNATKINDACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
XACTIVE(N, 0) → ISNATACTIVE(N)
U71ACTIVE(tt, M, N) → MARK(M)
ISNATACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
U32ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(plus(x1, x2)) → MARK(x2)
MARK(U12(x1, x2)) → MARK(x1)
U11ACTIVE(tt, x(x0, x1), y1) → U12ACTIVE(U31Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(x(x1, x2)) → MARK(x2)
MARK(U71(x1, x2, x3)) → MARK(x1)
MARK(U11(x1, x2, x3)) → MARK(x1)
MARK(U31(x1, x2, x3)) → U31ACTIVE(mark(x1), x2, x3)
MARK(U11(x1, x2, x3)) → U11ACTIVE(mark(x1), x2, x3)
ISNATACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ISNATACTIVE(M)
ISNATACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
U71ACTIVE(tt, M, N) → PLUSACTIVE(xActive(mark(N), mark(M)), mark(N))
ANDACTIVE(tt, X) → MARK(X)
ISNATKINDACTIVE(x(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U21(x1, x2)) → MARK(x1)
U51ACTIVE(tt, M, N) → MARK(N)
XACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
PLUSACTIVE(N, 0) → U41ACTIVE(andActive(isNatActive(N), isNatKind(N)), N)
U51ACTIVE(tt, M, N) → PLUSACTIVE(mark(N), mark(M))
ISNATKINDACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U41(x1, x2)) → U41ACTIVE(mark(x1), x2)
MARK(x(x1, x2)) → XACTIVE(mark(x1), mark(x2))
MARK(U51(x1, x2, x3)) → MARK(x1)
U71ACTIVE(tt, M, N) → XACTIVE(mark(N), mark(M))
MARK(U71(x1, x2, x3)) → U71ACTIVE(mark(x1), x2, x3)
MARK(U32(x1, x2)) → U32ACTIVE(mark(x1), x2)
MARK(and(x1, x2)) → ANDACTIVE(mark(x1), x2)
PLUSACTIVE(N, s(M)) → U51ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
U11ACTIVE(tt, s(x0), y1) → U12ACTIVE(U21Active(isNatKindActive(x0), x0), y1)
MARK(s(x1)) → MARK(x1)
MARK(isNatKind(x1)) → ISNATKINDACTIVE(x1)
U71ACTIVE(tt, M, N) → MARK(N)
ISNATACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
U11ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(isNat(x1)) → ISNATACTIVE(x1)
MARK(plus(x1, x2)) → MARK(x1)
U12ACTIVE(tt, V2) → ISNATACTIVE(V2)
U21ACTIVE(tt, V1) → ISNATACTIVE(V1)
ISNATACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
ISNATKINDACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(plus(x1, x2)) → PLUSACTIVE(mark(x1), mark(x2))
PLUSACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U51(x1, x2, x3)) → U51ACTIVE(mark(x1), x2, x3)
ISNATKINDACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
U31ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(U33(x1)) → MARK(x1)
ISNATKINDACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
ISNATKINDACTIVE(x(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
ISNATKINDACTIVE(x(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
U11ACTIVE(tt, plus(x0, x1), y1) → U12ACTIVE(U11Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
ISNATACTIVE(plus(V1, V2)) → U11ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
ISNATACTIVE(x(V1, V2)) → U31ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U41(x1, x2)) → MARK(x1)
ISNATACTIVE(s(V1)) → U21ACTIVE(isNatKindActive(V1), V1)
ISNATKINDACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(and(x1, x2)) → MARK(x1)
PLUSACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
PLUSACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
ISNATACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ISNATACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U61(x1)) → MARK(x1)
ISNATACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
MARK(U22(x1)) → MARK(x1)
U11ACTIVE(tt, 0, y1) → U12ACTIVE(tt, y1)
MARK(x(x1, x2)) → MARK(x1)
XACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
U31ACTIVE(tt, V1, V2) → U32ACTIVE(isNatActive(V1), V2)
MARK(U31(x1, x2, x3)) → MARK(x1)
MARK(U21(x1, x2)) → U21ACTIVE(mark(x1), x2)
XACTIVE(N, s(M)) → U71ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(U13(x1)) → MARK(x1)
XACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
MARK(U32(x1, x2)) → MARK(x1)
ISNATKINDACTIVE(x(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
ISNATKINDACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
mark(U11(x1, x2, x3)) → U11Active(mark(x1), x2, x3)
U11Active(x1, x2, x3) → U11(x1, x2, x3)
mark(U12(x1, x2)) → U12Active(mark(x1), x2)
U12Active(x1, x2) → U12(x1, x2)
mark(U13(x1)) → U13Active(mark(x1))
U13Active(x1) → U13(x1)
mark(U21(x1, x2)) → U21Active(mark(x1), x2)
U21Active(x1, x2) → U21(x1, x2)
mark(U22(x1)) → U22Active(mark(x1))
U22Active(x1) → U22(x1)
mark(U31(x1, x2, x3)) → U31Active(mark(x1), x2, x3)
U31Active(x1, x2, x3) → U31(x1, x2, x3)
mark(U32(x1, x2)) → U32Active(mark(x1), x2)
U32Active(x1, x2) → U32(x1, x2)
mark(U33(x1)) → U33Active(mark(x1))
U33Active(x1) → U33(x1)
mark(U41(x1, x2)) → U41Active(mark(x1), x2)
U41Active(x1, x2) → U41(x1, x2)
mark(U51(x1, x2, x3)) → U51Active(mark(x1), x2, x3)
U51Active(x1, x2, x3) → U51(x1, x2, x3)
mark(U61(x1)) → U61Active(mark(x1))
U61Active(x1) → U61(x1)
mark(U71(x1, x2, x3)) → U71Active(mark(x1), x2, x3)
U71Active(x1, x2, x3) → U71(x1, x2, x3)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatKind(x1)) → isNatKindActive(x1)
isNatKindActive(x1) → isNatKind(x1)
mark(plus(x1, x2)) → plusActive(mark(x1), mark(x2))
plusActive(x1, x2) → plus(x1, x2)
mark(x(x1, x2)) → xActive(mark(x1), mark(x2))
xActive(x1, x2) → x(x1, x2)
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(0) → 0
U11Active(tt, V1, V2) → U12Active(isNatActive(V1), V2)
U12Active(tt, V2) → U13Active(isNatActive(V2))
U13Active(tt) → tt
U21Active(tt, V1) → U22Active(isNatActive(V1))
U22Active(tt) → tt
U31Active(tt, V1, V2) → U32Active(isNatActive(V1), V2)
U32Active(tt, V2) → U33Active(isNatActive(V2))
U33Active(tt) → tt
U41Active(tt, N) → mark(N)
U51Active(tt, M, N) → s(plusActive(mark(N), mark(M)))
U61Active(tt) → 0
U71Active(tt, M, N) → plusActive(xActive(mark(N), mark(M)), mark(N))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(plus(V1, V2)) → U11Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatActive(s(V1)) → U21Active(isNatKindActive(V1), V1)
isNatActive(x(V1, V2)) → U31Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatKindActive(0) → tt
isNatKindActive(plus(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
isNatKindActive(s(V1)) → isNatKindActive(V1)
isNatKindActive(x(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
plusActive(N, 0) → U41Active(andActive(isNatActive(N), isNatKind(N)), N)
plusActive(N, s(M)) → U51Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
xActive(N, 0) → U61Active(andActive(isNatActive(N), isNatKind(N)))
xActive(N, s(M)) → U71Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(U11(isNat(x0), y1, y2)) → U11ACTIVE(isNatActive(x0), y1, y2)
MARK(U11(U12(x0, x1), y1, y2)) → U11ACTIVE(U12Active(mark(x0), x1), y1, y2)
MARK(U11(U41(x0, x1), y1, y2)) → U11ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(U11(tt, y1, y2)) → U11ACTIVE(tt, y1, y2)
MARK(U11(plus(x0, x1), y1, y2)) → U11ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
MARK(U11(U13(x0), y1, y2)) → U11ACTIVE(U13Active(mark(x0)), y1, y2)
MARK(U11(U31(x0, x1, x2), y1, y2)) → U11ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U11(U32(x0, x1), y1, y2)) → U11ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(U11(U21(x0, x1), y1, y2)) → U11ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(U11(U71(x0, x1, x2), y1, y2)) → U11ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
MARK(U11(U33(x0), y1, y2)) → U11ACTIVE(U33Active(mark(x0)), y1, y2)
MARK(U11(and(x0, x1), y1, y2)) → U11ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(U11(U11(x0, x1, x2), y1, y2)) → U11ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(U11(0, y1, y2)) → U11ACTIVE(0, y1, y2)
MARK(U11(x(x0, x1), y1, y2)) → U11ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
MARK(U11(U51(x0, x1, x2), y1, y2)) → U11ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
MARK(U11(s(x0), y1, y2)) → U11ACTIVE(s(mark(x0)), y1, y2)
MARK(U11(U22(x0), y1, y2)) → U11ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(U11(isNatKind(x0), y1, y2)) → U11ACTIVE(isNatKindActive(x0), y1, y2)
MARK(U11(U61(x0), y1, y2)) → U11ACTIVE(U61Active(mark(x0)), y1, y2)
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ Improved Ferreira Ribeiro-Transformation
U51ACTIVE(tt, M, N) → MARK(M)
MARK(U11(U31(x0, x1, x2), y1, y2)) → U11ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
XACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U11(and(x0, x1), y1, y2)) → U11ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(U11(U11(x0, x1, x2), y1, y2)) → U11ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(x(x1, x2)) → MARK(x2)
MARK(U11(x1, x2, x3)) → MARK(x1)
MARK(U31(x1, x2, x3)) → U31ACTIVE(mark(x1), x2, x3)
ISNATACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ISNATACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
U71ACTIVE(tt, M, N) → PLUSACTIVE(xActive(mark(N), mark(M)), mark(N))
ANDACTIVE(tt, X) → MARK(X)
ISNATKINDACTIVE(x(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
U51ACTIVE(tt, M, N) → MARK(N)
MARK(U11(U61(x0), y1, y2)) → U11ACTIVE(U61Active(mark(x0)), y1, y2)
MARK(U51(x1, x2, x3)) → MARK(x1)
MARK(U71(x1, x2, x3)) → U71ACTIVE(mark(x1), x2, x3)
MARK(U32(x1, x2)) → U32ACTIVE(mark(x1), x2)
MARK(and(x1, x2)) → ANDACTIVE(mark(x1), x2)
PLUSACTIVE(N, s(M)) → U51ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
U11ACTIVE(tt, s(x0), y1) → U12ACTIVE(U21Active(isNatKindActive(x0), x0), y1)
MARK(s(x1)) → MARK(x1)
ISNATACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
U11ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(plus(x1, x2)) → MARK(x1)
ISNATACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U11(U32(x0, x1), y1, y2)) → U11ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(U11(U33(x0), y1, y2)) → U11ACTIVE(U33Active(mark(x0)), y1, y2)
MARK(U51(x1, x2, x3)) → U51ACTIVE(mark(x1), x2, x3)
U31ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
ISNATKINDACTIVE(x(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
ISNATACTIVE(plus(V1, V2)) → U11ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
ISNATACTIVE(x(V1, V2)) → U31ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U11(s(x0), y1, y2)) → U11ACTIVE(s(mark(x0)), y1, y2)
MARK(U11(U41(x0, x1), y1, y2)) → U11ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(and(x1, x2)) → MARK(x1)
PLUSACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
MARK(U11(plus(x0, x1), y1, y2)) → U11ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
PLUSACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
ISNATACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U11(U21(x0, x1), y1, y2)) → U11ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(U61(x1)) → MARK(x1)
ISNATACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
MARK(U22(x1)) → MARK(x1)
MARK(U11(0, y1, y2)) → U11ACTIVE(0, y1, y2)
U11ACTIVE(tt, 0, y1) → U12ACTIVE(tt, y1)
MARK(x(x1, x2)) → MARK(x1)
XACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
XACTIVE(N, s(M)) → U71ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(U13(x1)) → MARK(x1)
ISNATKINDACTIVE(x(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
XACTIVE(N, s(M)) → ISNATACTIVE(M)
MARK(U12(x1, x2)) → U12ACTIVE(mark(x1), x2)
U41ACTIVE(tt, N) → MARK(N)
ISNATKINDACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
U71ACTIVE(tt, M, N) → MARK(M)
ISNATACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
U32ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(plus(x1, x2)) → MARK(x2)
MARK(U12(x1, x2)) → MARK(x1)
U11ACTIVE(tt, x(x0, x1), y1) → U12ACTIVE(U31Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U71(x1, x2, x3)) → MARK(x1)
PLUSACTIVE(N, s(M)) → ISNATACTIVE(M)
MARK(U21(x1, x2)) → MARK(x1)
XACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
PLUSACTIVE(N, 0) → U41ACTIVE(andActive(isNatActive(N), isNatKind(N)), N)
U51ACTIVE(tt, M, N) → PLUSACTIVE(mark(N), mark(M))
ISNATKINDACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U41(x1, x2)) → U41ACTIVE(mark(x1), x2)
MARK(U11(U12(x0, x1), y1, y2)) → U11ACTIVE(U12Active(mark(x0), x1), y1, y2)
MARK(x(x1, x2)) → XACTIVE(mark(x1), mark(x2))
MARK(U11(tt, y1, y2)) → U11ACTIVE(tt, y1, y2)
MARK(U11(U13(x0), y1, y2)) → U11ACTIVE(U13Active(mark(x0)), y1, y2)
U71ACTIVE(tt, M, N) → XACTIVE(mark(N), mark(M))
MARK(isNatKind(x1)) → ISNATKINDACTIVE(x1)
U71ACTIVE(tt, M, N) → MARK(N)
MARK(U11(U22(x0), y1, y2)) → U11ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(isNat(x1)) → ISNATACTIVE(x1)
U12ACTIVE(tt, V2) → ISNATACTIVE(V2)
U21ACTIVE(tt, V1) → ISNATACTIVE(V1)
ISNATKINDACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U11(U71(x0, x1, x2), y1, y2)) → U11ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
MARK(plus(x1, x2)) → PLUSACTIVE(mark(x1), mark(x2))
PLUSACTIVE(N, 0) → ISNATACTIVE(N)
ISNATKINDACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U33(x1)) → MARK(x1)
MARK(U11(x(x0, x1), y1, y2)) → U11ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
ISNATKINDACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
MARK(U11(U51(x0, x1, x2), y1, y2)) → U11ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
ISNATKINDACTIVE(x(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
U11ACTIVE(tt, plus(x0, x1), y1) → U12ACTIVE(U11Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U41(x1, x2)) → MARK(x1)
ISNATACTIVE(s(V1)) → U21ACTIVE(isNatKindActive(V1), V1)
MARK(U11(isNat(x0), y1, y2)) → U11ACTIVE(isNatActive(x0), y1, y2)
ISNATKINDACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ISNATACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
U31ACTIVE(tt, V1, V2) → U32ACTIVE(isNatActive(V1), V2)
MARK(U31(x1, x2, x3)) → MARK(x1)
MARK(U21(x1, x2)) → U21ACTIVE(mark(x1), x2)
MARK(U11(isNatKind(x0), y1, y2)) → U11ACTIVE(isNatKindActive(x0), y1, y2)
XACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
MARK(U32(x1, x2)) → MARK(x1)
ISNATKINDACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
mark(U11(x1, x2, x3)) → U11Active(mark(x1), x2, x3)
U11Active(x1, x2, x3) → U11(x1, x2, x3)
mark(U12(x1, x2)) → U12Active(mark(x1), x2)
U12Active(x1, x2) → U12(x1, x2)
mark(U13(x1)) → U13Active(mark(x1))
U13Active(x1) → U13(x1)
mark(U21(x1, x2)) → U21Active(mark(x1), x2)
U21Active(x1, x2) → U21(x1, x2)
mark(U22(x1)) → U22Active(mark(x1))
U22Active(x1) → U22(x1)
mark(U31(x1, x2, x3)) → U31Active(mark(x1), x2, x3)
U31Active(x1, x2, x3) → U31(x1, x2, x3)
mark(U32(x1, x2)) → U32Active(mark(x1), x2)
U32Active(x1, x2) → U32(x1, x2)
mark(U33(x1)) → U33Active(mark(x1))
U33Active(x1) → U33(x1)
mark(U41(x1, x2)) → U41Active(mark(x1), x2)
U41Active(x1, x2) → U41(x1, x2)
mark(U51(x1, x2, x3)) → U51Active(mark(x1), x2, x3)
U51Active(x1, x2, x3) → U51(x1, x2, x3)
mark(U61(x1)) → U61Active(mark(x1))
U61Active(x1) → U61(x1)
mark(U71(x1, x2, x3)) → U71Active(mark(x1), x2, x3)
U71Active(x1, x2, x3) → U71(x1, x2, x3)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatKind(x1)) → isNatKindActive(x1)
isNatKindActive(x1) → isNatKind(x1)
mark(plus(x1, x2)) → plusActive(mark(x1), mark(x2))
plusActive(x1, x2) → plus(x1, x2)
mark(x(x1, x2)) → xActive(mark(x1), mark(x2))
xActive(x1, x2) → x(x1, x2)
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(0) → 0
U11Active(tt, V1, V2) → U12Active(isNatActive(V1), V2)
U12Active(tt, V2) → U13Active(isNatActive(V2))
U13Active(tt) → tt
U21Active(tt, V1) → U22Active(isNatActive(V1))
U22Active(tt) → tt
U31Active(tt, V1, V2) → U32Active(isNatActive(V1), V2)
U32Active(tt, V2) → U33Active(isNatActive(V2))
U33Active(tt) → tt
U41Active(tt, N) → mark(N)
U51Active(tt, M, N) → s(plusActive(mark(N), mark(M)))
U61Active(tt) → 0
U71Active(tt, M, N) → plusActive(xActive(mark(N), mark(M)), mark(N))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(plus(V1, V2)) → U11Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatActive(s(V1)) → U21Active(isNatKindActive(V1), V1)
isNatActive(x(V1, V2)) → U31Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatKindActive(0) → tt
isNatKindActive(plus(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
isNatKindActive(s(V1)) → isNatKindActive(V1)
isNatKindActive(x(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
plusActive(N, 0) → U41Active(andActive(isNatActive(N), isNatKind(N)), N)
plusActive(N, s(M)) → U51Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
xActive(N, 0) → U61Active(andActive(isNatActive(N), isNatKind(N)))
xActive(N, s(M)) → U71Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ Improved Ferreira Ribeiro-Transformation
U51ACTIVE(tt, M, N) → MARK(M)
MARK(U11(U31(x0, x1, x2), y1, y2)) → U11ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
XACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U11(and(x0, x1), y1, y2)) → U11ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(U11(U11(x0, x1, x2), y1, y2)) → U11ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(U31(x1, x2, x3)) → U31ACTIVE(mark(x1), x2, x3)
MARK(U11(x1, x2, x3)) → MARK(x1)
MARK(x(x1, x2)) → MARK(x2)
ISNATACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ISNATACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
U71ACTIVE(tt, M, N) → PLUSACTIVE(xActive(mark(N), mark(M)), mark(N))
ANDACTIVE(tt, X) → MARK(X)
ISNATKINDACTIVE(x(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
U51ACTIVE(tt, M, N) → MARK(N)
MARK(U11(U61(x0), y1, y2)) → U11ACTIVE(U61Active(mark(x0)), y1, y2)
MARK(U51(x1, x2, x3)) → MARK(x1)
MARK(U71(x1, x2, x3)) → U71ACTIVE(mark(x1), x2, x3)
MARK(U32(x1, x2)) → U32ACTIVE(mark(x1), x2)
PLUSACTIVE(N, s(M)) → U51ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(and(x1, x2)) → ANDACTIVE(mark(x1), x2)
U11ACTIVE(tt, s(x0), y1) → U12ACTIVE(U21Active(isNatKindActive(x0), x0), y1)
MARK(s(x1)) → MARK(x1)
ISNATACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
U11ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(plus(x1, x2)) → MARK(x1)
ISNATACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U11(U32(x0, x1), y1, y2)) → U11ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(U11(U33(x0), y1, y2)) → U11ACTIVE(U33Active(mark(x0)), y1, y2)
MARK(U51(x1, x2, x3)) → U51ACTIVE(mark(x1), x2, x3)
U31ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
ISNATKINDACTIVE(x(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
ISNATACTIVE(plus(V1, V2)) → U11ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
ISNATACTIVE(x(V1, V2)) → U31ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U11(U41(x0, x1), y1, y2)) → U11ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(and(x1, x2)) → MARK(x1)
PLUSACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
MARK(U11(plus(x0, x1), y1, y2)) → U11ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
ISNATACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
MARK(U11(U21(x0, x1), y1, y2)) → U11ACTIVE(U21Active(mark(x0), x1), y1, y2)
ISNATACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
MARK(U61(x1)) → MARK(x1)
MARK(U22(x1)) → MARK(x1)
U11ACTIVE(tt, 0, y1) → U12ACTIVE(tt, y1)
MARK(x(x1, x2)) → MARK(x1)
XACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U13(x1)) → MARK(x1)
XACTIVE(N, s(M)) → U71ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
ISNATKINDACTIVE(x(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U12(x1, x2)) → U12ACTIVE(mark(x1), x2)
XACTIVE(N, s(M)) → ISNATACTIVE(M)
U41ACTIVE(tt, N) → MARK(N)
ISNATKINDACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
U71ACTIVE(tt, M, N) → MARK(M)
ISNATACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
U32ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(U12(x1, x2)) → MARK(x1)
MARK(plus(x1, x2)) → MARK(x2)
U11ACTIVE(tt, x(x0, x1), y1) → U12ACTIVE(U31Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U71(x1, x2, x3)) → MARK(x1)
PLUSACTIVE(N, s(M)) → ISNATACTIVE(M)
MARK(U21(x1, x2)) → MARK(x1)
XACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
PLUSACTIVE(N, 0) → U41ACTIVE(andActive(isNatActive(N), isNatKind(N)), N)
U51ACTIVE(tt, M, N) → PLUSACTIVE(mark(N), mark(M))
ISNATKINDACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U41(x1, x2)) → U41ACTIVE(mark(x1), x2)
MARK(U11(U12(x0, x1), y1, y2)) → U11ACTIVE(U12Active(mark(x0), x1), y1, y2)
MARK(x(x1, x2)) → XACTIVE(mark(x1), mark(x2))
MARK(U11(tt, y1, y2)) → U11ACTIVE(tt, y1, y2)
MARK(U11(U13(x0), y1, y2)) → U11ACTIVE(U13Active(mark(x0)), y1, y2)
U71ACTIVE(tt, M, N) → XACTIVE(mark(N), mark(M))
U71ACTIVE(tt, M, N) → MARK(N)
MARK(isNatKind(x1)) → ISNATKINDACTIVE(x1)
MARK(U11(U22(x0), y1, y2)) → U11ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(isNat(x1)) → ISNATACTIVE(x1)
U12ACTIVE(tt, V2) → ISNATACTIVE(V2)
U21ACTIVE(tt, V1) → ISNATACTIVE(V1)
ISNATKINDACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U11(U71(x0, x1, x2), y1, y2)) → U11ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
MARK(plus(x1, x2)) → PLUSACTIVE(mark(x1), mark(x2))
PLUSACTIVE(N, 0) → ISNATACTIVE(N)
ISNATKINDACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U33(x1)) → MARK(x1)
MARK(U11(x(x0, x1), y1, y2)) → U11ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
ISNATKINDACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
ISNATKINDACTIVE(x(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U11(U51(x0, x1, x2), y1, y2)) → U11ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
U11ACTIVE(tt, plus(x0, x1), y1) → U12ACTIVE(U11Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U41(x1, x2)) → MARK(x1)
ISNATACTIVE(s(V1)) → U21ACTIVE(isNatKindActive(V1), V1)
MARK(U11(isNat(x0), y1, y2)) → U11ACTIVE(isNatActive(x0), y1, y2)
ISNATKINDACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ISNATACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
U31ACTIVE(tt, V1, V2) → U32ACTIVE(isNatActive(V1), V2)
MARK(U31(x1, x2, x3)) → MARK(x1)
MARK(U21(x1, x2)) → U21ACTIVE(mark(x1), x2)
MARK(U11(isNatKind(x0), y1, y2)) → U11ACTIVE(isNatKindActive(x0), y1, y2)
MARK(U32(x1, x2)) → MARK(x1)
XACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
ISNATKINDACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
mark(U11(x1, x2, x3)) → U11Active(mark(x1), x2, x3)
U11Active(x1, x2, x3) → U11(x1, x2, x3)
mark(U12(x1, x2)) → U12Active(mark(x1), x2)
U12Active(x1, x2) → U12(x1, x2)
mark(U13(x1)) → U13Active(mark(x1))
U13Active(x1) → U13(x1)
mark(U21(x1, x2)) → U21Active(mark(x1), x2)
U21Active(x1, x2) → U21(x1, x2)
mark(U22(x1)) → U22Active(mark(x1))
U22Active(x1) → U22(x1)
mark(U31(x1, x2, x3)) → U31Active(mark(x1), x2, x3)
U31Active(x1, x2, x3) → U31(x1, x2, x3)
mark(U32(x1, x2)) → U32Active(mark(x1), x2)
U32Active(x1, x2) → U32(x1, x2)
mark(U33(x1)) → U33Active(mark(x1))
U33Active(x1) → U33(x1)
mark(U41(x1, x2)) → U41Active(mark(x1), x2)
U41Active(x1, x2) → U41(x1, x2)
mark(U51(x1, x2, x3)) → U51Active(mark(x1), x2, x3)
U51Active(x1, x2, x3) → U51(x1, x2, x3)
mark(U61(x1)) → U61Active(mark(x1))
U61Active(x1) → U61(x1)
mark(U71(x1, x2, x3)) → U71Active(mark(x1), x2, x3)
U71Active(x1, x2, x3) → U71(x1, x2, x3)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatKind(x1)) → isNatKindActive(x1)
isNatKindActive(x1) → isNatKind(x1)
mark(plus(x1, x2)) → plusActive(mark(x1), mark(x2))
plusActive(x1, x2) → plus(x1, x2)
mark(x(x1, x2)) → xActive(mark(x1), mark(x2))
xActive(x1, x2) → x(x1, x2)
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(0) → 0
U11Active(tt, V1, V2) → U12Active(isNatActive(V1), V2)
U12Active(tt, V2) → U13Active(isNatActive(V2))
U13Active(tt) → tt
U21Active(tt, V1) → U22Active(isNatActive(V1))
U22Active(tt) → tt
U31Active(tt, V1, V2) → U32Active(isNatActive(V1), V2)
U32Active(tt, V2) → U33Active(isNatActive(V2))
U33Active(tt) → tt
U41Active(tt, N) → mark(N)
U51Active(tt, M, N) → s(plusActive(mark(N), mark(M)))
U61Active(tt) → 0
U71Active(tt, M, N) → plusActive(xActive(mark(N), mark(M)), mark(N))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(plus(V1, V2)) → U11Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatActive(s(V1)) → U21Active(isNatKindActive(V1), V1)
isNatActive(x(V1, V2)) → U31Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatKindActive(0) → tt
isNatKindActive(plus(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
isNatKindActive(s(V1)) → isNatKindActive(V1)
isNatKindActive(x(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
plusActive(N, 0) → U41Active(andActive(isNatActive(N), isNatKind(N)), N)
plusActive(N, s(M)) → U51Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
xActive(N, 0) → U61Active(andActive(isNatActive(N), isNatKind(N)))
xActive(N, s(M)) → U71Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(U12(U31(x0, x1, x2), y1)) → U12ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U12(U33(x0), y1)) → U12ACTIVE(U33Active(mark(x0)), y1)
MARK(U12(isNatKind(x0), y1)) → U12ACTIVE(isNatKindActive(x0), y1)
MARK(U12(U51(x0, x1, x2), y1)) → U12ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U12(tt, y1)) → U12ACTIVE(tt, y1)
MARK(U12(U21(x0, x1), y1)) → U12ACTIVE(U21Active(mark(x0), x1), y1)
MARK(U12(s(x0), y1)) → U12ACTIVE(s(mark(x0)), y1)
MARK(U12(U13(x0), y1)) → U12ACTIVE(U13Active(mark(x0)), y1)
MARK(U12(U61(x0), y1)) → U12ACTIVE(U61Active(mark(x0)), y1)
MARK(U12(and(x0, x1), y1)) → U12ACTIVE(andActive(mark(x0), x1), y1)
MARK(U12(U41(x0, x1), y1)) → U12ACTIVE(U41Active(mark(x0), x1), y1)
MARK(U12(U11(x0, x1, x2), y1)) → U12ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U12(0, y1)) → U12ACTIVE(0, y1)
MARK(U12(plus(x0, x1), y1)) → U12ACTIVE(plusActive(mark(x0), mark(x1)), y1)
MARK(U12(U71(x0, x1, x2), y1)) → U12ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U12(x(x0, x1), y1)) → U12ACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(U12(U22(x0), y1)) → U12ACTIVE(U22Active(mark(x0)), y1)
MARK(U12(isNat(x0), y1)) → U12ACTIVE(isNatActive(x0), y1)
MARK(U12(U32(x0, x1), y1)) → U12ACTIVE(U32Active(mark(x0), x1), y1)
MARK(U12(U12(x0, x1), y1)) → U12ACTIVE(U12Active(mark(x0), x1), y1)
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ Improved Ferreira Ribeiro-Transformation
U51ACTIVE(tt, M, N) → MARK(M)
MARK(U11(U31(x0, x1, x2), y1, y2)) → U11ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
XACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U11(and(x0, x1), y1, y2)) → U11ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(U12(s(x0), y1)) → U12ACTIVE(s(mark(x0)), y1)
MARK(U11(U11(x0, x1, x2), y1, y2)) → U11ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(x(x1, x2)) → MARK(x2)
MARK(U11(x1, x2, x3)) → MARK(x1)
MARK(U31(x1, x2, x3)) → U31ACTIVE(mark(x1), x2, x3)
ISNATACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ISNATACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
U71ACTIVE(tt, M, N) → PLUSACTIVE(xActive(mark(N), mark(M)), mark(N))
ISNATKINDACTIVE(x(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ANDACTIVE(tt, X) → MARK(X)
MARK(U12(U71(x0, x1, x2), y1)) → U12ACTIVE(U71Active(mark(x0), x1, x2), y1)
U51ACTIVE(tt, M, N) → MARK(N)
MARK(U12(U22(x0), y1)) → U12ACTIVE(U22Active(mark(x0)), y1)
MARK(U11(U61(x0), y1, y2)) → U11ACTIVE(U61Active(mark(x0)), y1, y2)
MARK(U12(U12(x0, x1), y1)) → U12ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U51(x1, x2, x3)) → MARK(x1)
MARK(U12(isNatKind(x0), y1)) → U12ACTIVE(isNatKindActive(x0), y1)
MARK(U71(x1, x2, x3)) → U71ACTIVE(mark(x1), x2, x3)
MARK(U32(x1, x2)) → U32ACTIVE(mark(x1), x2)
MARK(and(x1, x2)) → ANDACTIVE(mark(x1), x2)
PLUSACTIVE(N, s(M)) → U51ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
U11ACTIVE(tt, s(x0), y1) → U12ACTIVE(U21Active(isNatKindActive(x0), x0), y1)
MARK(s(x1)) → MARK(x1)
MARK(U12(plus(x0, x1), y1)) → U12ACTIVE(plusActive(mark(x0), mark(x1)), y1)
MARK(U12(0, y1)) → U12ACTIVE(0, y1)
ISNATACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
U11ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(plus(x1, x2)) → MARK(x1)
ISNATACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U12(U31(x0, x1, x2), y1)) → U12ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U11(U32(x0, x1), y1, y2)) → U11ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(U12(U51(x0, x1, x2), y1)) → U12ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U12(tt, y1)) → U12ACTIVE(tt, y1)
MARK(U11(U33(x0), y1, y2)) → U11ACTIVE(U33Active(mark(x0)), y1, y2)
U31ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(U51(x1, x2, x3)) → U51ACTIVE(mark(x1), x2, x3)
MARK(U12(U61(x0), y1)) → U12ACTIVE(U61Active(mark(x0)), y1)
ISNATKINDACTIVE(x(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
MARK(U12(U41(x0, x1), y1)) → U12ACTIVE(U41Active(mark(x0), x1), y1)
ISNATACTIVE(x(V1, V2)) → U31ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
ISNATACTIVE(plus(V1, V2)) → U11ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U12(isNat(x0), y1)) → U12ACTIVE(isNatActive(x0), y1)
MARK(U11(U41(x0, x1), y1, y2)) → U11ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(and(x1, x2)) → MARK(x1)
MARK(U11(plus(x0, x1), y1, y2)) → U11ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
PLUSACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
PLUSACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
ISNATACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U11(U21(x0, x1), y1, y2)) → U11ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(U61(x1)) → MARK(x1)
ISNATACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
MARK(U22(x1)) → MARK(x1)
U11ACTIVE(tt, 0, y1) → U12ACTIVE(tt, y1)
MARK(x(x1, x2)) → MARK(x1)
MARK(U12(and(x0, x1), y1)) → U12ACTIVE(andActive(mark(x0), x1), y1)
XACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
XACTIVE(N, s(M)) → U71ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(U13(x1)) → MARK(x1)
ISNATKINDACTIVE(x(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
XACTIVE(N, s(M)) → ISNATACTIVE(M)
U41ACTIVE(tt, N) → MARK(N)
ISNATKINDACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
U71ACTIVE(tt, M, N) → MARK(M)
ISNATACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(U12(U21(x0, x1), y1)) → U12ACTIVE(U21Active(mark(x0), x1), y1)
U32ACTIVE(tt, V2) → ISNATACTIVE(V2)
U11ACTIVE(tt, x(x0, x1), y1) → U12ACTIVE(U31Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(plus(x1, x2)) → MARK(x2)
MARK(U12(x1, x2)) → MARK(x1)
MARK(U71(x1, x2, x3)) → MARK(x1)
PLUSACTIVE(N, s(M)) → ISNATACTIVE(M)
MARK(U12(U11(x0, x1, x2), y1)) → U12ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U21(x1, x2)) → MARK(x1)
XACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
PLUSACTIVE(N, 0) → U41ACTIVE(andActive(isNatActive(N), isNatKind(N)), N)
U51ACTIVE(tt, M, N) → PLUSACTIVE(mark(N), mark(M))
ISNATKINDACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U11(U12(x0, x1), y1, y2)) → U11ACTIVE(U12Active(mark(x0), x1), y1, y2)
MARK(U41(x1, x2)) → U41ACTIVE(mark(x1), x2)
MARK(x(x1, x2)) → XACTIVE(mark(x1), mark(x2))
MARK(U11(tt, y1, y2)) → U11ACTIVE(tt, y1, y2)
MARK(U11(U13(x0), y1, y2)) → U11ACTIVE(U13Active(mark(x0)), y1, y2)
U71ACTIVE(tt, M, N) → XACTIVE(mark(N), mark(M))
MARK(isNatKind(x1)) → ISNATKINDACTIVE(x1)
U71ACTIVE(tt, M, N) → MARK(N)
MARK(U11(U22(x0), y1, y2)) → U11ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(isNat(x1)) → ISNATACTIVE(x1)
MARK(U12(x(x0, x1), y1)) → U12ACTIVE(xActive(mark(x0), mark(x1)), y1)
U12ACTIVE(tt, V2) → ISNATACTIVE(V2)
U21ACTIVE(tt, V1) → ISNATACTIVE(V1)
MARK(U11(U71(x0, x1, x2), y1, y2)) → U11ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
ISNATKINDACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(plus(x1, x2)) → PLUSACTIVE(mark(x1), mark(x2))
ISNATKINDACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
PLUSACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U33(x1)) → MARK(x1)
MARK(U11(x(x0, x1), y1, y2)) → U11ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
ISNATKINDACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
MARK(U11(U51(x0, x1, x2), y1, y2)) → U11ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
ISNATKINDACTIVE(x(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
U11ACTIVE(tt, plus(x0, x1), y1) → U12ACTIVE(U11Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U41(x1, x2)) → MARK(x1)
ISNATACTIVE(s(V1)) → U21ACTIVE(isNatKindActive(V1), V1)
MARK(U11(isNat(x0), y1, y2)) → U11ACTIVE(isNatActive(x0), y1, y2)
ISNATKINDACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U12(U33(x0), y1)) → U12ACTIVE(U33Active(mark(x0)), y1)
ISNATACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U12(U13(x0), y1)) → U12ACTIVE(U13Active(mark(x0)), y1)
U31ACTIVE(tt, V1, V2) → U32ACTIVE(isNatActive(V1), V2)
MARK(U31(x1, x2, x3)) → MARK(x1)
MARK(U21(x1, x2)) → U21ACTIVE(mark(x1), x2)
MARK(U11(isNatKind(x0), y1, y2)) → U11ACTIVE(isNatKindActive(x0), y1, y2)
XACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
MARK(U32(x1, x2)) → MARK(x1)
MARK(U12(U32(x0, x1), y1)) → U12ACTIVE(U32Active(mark(x0), x1), y1)
ISNATKINDACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
mark(U11(x1, x2, x3)) → U11Active(mark(x1), x2, x3)
U11Active(x1, x2, x3) → U11(x1, x2, x3)
mark(U12(x1, x2)) → U12Active(mark(x1), x2)
U12Active(x1, x2) → U12(x1, x2)
mark(U13(x1)) → U13Active(mark(x1))
U13Active(x1) → U13(x1)
mark(U21(x1, x2)) → U21Active(mark(x1), x2)
U21Active(x1, x2) → U21(x1, x2)
mark(U22(x1)) → U22Active(mark(x1))
U22Active(x1) → U22(x1)
mark(U31(x1, x2, x3)) → U31Active(mark(x1), x2, x3)
U31Active(x1, x2, x3) → U31(x1, x2, x3)
mark(U32(x1, x2)) → U32Active(mark(x1), x2)
U32Active(x1, x2) → U32(x1, x2)
mark(U33(x1)) → U33Active(mark(x1))
U33Active(x1) → U33(x1)
mark(U41(x1, x2)) → U41Active(mark(x1), x2)
U41Active(x1, x2) → U41(x1, x2)
mark(U51(x1, x2, x3)) → U51Active(mark(x1), x2, x3)
U51Active(x1, x2, x3) → U51(x1, x2, x3)
mark(U61(x1)) → U61Active(mark(x1))
U61Active(x1) → U61(x1)
mark(U71(x1, x2, x3)) → U71Active(mark(x1), x2, x3)
U71Active(x1, x2, x3) → U71(x1, x2, x3)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatKind(x1)) → isNatKindActive(x1)
isNatKindActive(x1) → isNatKind(x1)
mark(plus(x1, x2)) → plusActive(mark(x1), mark(x2))
plusActive(x1, x2) → plus(x1, x2)
mark(x(x1, x2)) → xActive(mark(x1), mark(x2))
xActive(x1, x2) → x(x1, x2)
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(0) → 0
U11Active(tt, V1, V2) → U12Active(isNatActive(V1), V2)
U12Active(tt, V2) → U13Active(isNatActive(V2))
U13Active(tt) → tt
U21Active(tt, V1) → U22Active(isNatActive(V1))
U22Active(tt) → tt
U31Active(tt, V1, V2) → U32Active(isNatActive(V1), V2)
U32Active(tt, V2) → U33Active(isNatActive(V2))
U33Active(tt) → tt
U41Active(tt, N) → mark(N)
U51Active(tt, M, N) → s(plusActive(mark(N), mark(M)))
U61Active(tt) → 0
U71Active(tt, M, N) → plusActive(xActive(mark(N), mark(M)), mark(N))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(plus(V1, V2)) → U11Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatActive(s(V1)) → U21Active(isNatKindActive(V1), V1)
isNatActive(x(V1, V2)) → U31Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatKindActive(0) → tt
isNatKindActive(plus(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
isNatKindActive(s(V1)) → isNatKindActive(V1)
isNatKindActive(x(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
plusActive(N, 0) → U41Active(andActive(isNatActive(N), isNatKind(N)), N)
plusActive(N, s(M)) → U51Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
xActive(N, 0) → U61Active(andActive(isNatActive(N), isNatKind(N)))
xActive(N, s(M)) → U71Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ Improved Ferreira Ribeiro-Transformation
U51ACTIVE(tt, M, N) → MARK(M)
MARK(U11(U31(x0, x1, x2), y1, y2)) → U11ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
XACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U11(and(x0, x1), y1, y2)) → U11ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(U11(U11(x0, x1, x2), y1, y2)) → U11ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(U31(x1, x2, x3)) → U31ACTIVE(mark(x1), x2, x3)
MARK(U11(x1, x2, x3)) → MARK(x1)
MARK(x(x1, x2)) → MARK(x2)
ISNATACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ISNATACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
U71ACTIVE(tt, M, N) → PLUSACTIVE(xActive(mark(N), mark(M)), mark(N))
ANDACTIVE(tt, X) → MARK(X)
ISNATKINDACTIVE(x(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U12(U71(x0, x1, x2), y1)) → U12ACTIVE(U71Active(mark(x0), x1, x2), y1)
U51ACTIVE(tt, M, N) → MARK(N)
MARK(U12(U22(x0), y1)) → U12ACTIVE(U22Active(mark(x0)), y1)
MARK(U11(U61(x0), y1, y2)) → U11ACTIVE(U61Active(mark(x0)), y1, y2)
MARK(U12(U12(x0, x1), y1)) → U12ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U51(x1, x2, x3)) → MARK(x1)
MARK(U12(isNatKind(x0), y1)) → U12ACTIVE(isNatKindActive(x0), y1)
MARK(U71(x1, x2, x3)) → U71ACTIVE(mark(x1), x2, x3)
MARK(U32(x1, x2)) → U32ACTIVE(mark(x1), x2)
PLUSACTIVE(N, s(M)) → U51ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(and(x1, x2)) → ANDACTIVE(mark(x1), x2)
U11ACTIVE(tt, s(x0), y1) → U12ACTIVE(U21Active(isNatKindActive(x0), x0), y1)
MARK(s(x1)) → MARK(x1)
MARK(U12(plus(x0, x1), y1)) → U12ACTIVE(plusActive(mark(x0), mark(x1)), y1)
ISNATACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
U11ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(plus(x1, x2)) → MARK(x1)
ISNATACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U12(U31(x0, x1, x2), y1)) → U12ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U11(U32(x0, x1), y1, y2)) → U11ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(U12(U51(x0, x1, x2), y1)) → U12ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U12(tt, y1)) → U12ACTIVE(tt, y1)
MARK(U11(U33(x0), y1, y2)) → U11ACTIVE(U33Active(mark(x0)), y1, y2)
MARK(U51(x1, x2, x3)) → U51ACTIVE(mark(x1), x2, x3)
U31ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(U12(U61(x0), y1)) → U12ACTIVE(U61Active(mark(x0)), y1)
ISNATKINDACTIVE(x(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
MARK(U12(U41(x0, x1), y1)) → U12ACTIVE(U41Active(mark(x0), x1), y1)
ISNATACTIVE(plus(V1, V2)) → U11ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
ISNATACTIVE(x(V1, V2)) → U31ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U12(isNat(x0), y1)) → U12ACTIVE(isNatActive(x0), y1)
MARK(U11(U41(x0, x1), y1, y2)) → U11ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(and(x1, x2)) → MARK(x1)
PLUSACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
MARK(U11(plus(x0, x1), y1, y2)) → U11ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
ISNATACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
MARK(U11(U21(x0, x1), y1, y2)) → U11ACTIVE(U21Active(mark(x0), x1), y1, y2)
ISNATACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
MARK(U61(x1)) → MARK(x1)
MARK(U22(x1)) → MARK(x1)
U11ACTIVE(tt, 0, y1) → U12ACTIVE(tt, y1)
MARK(x(x1, x2)) → MARK(x1)
MARK(U12(and(x0, x1), y1)) → U12ACTIVE(andActive(mark(x0), x1), y1)
XACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U13(x1)) → MARK(x1)
XACTIVE(N, s(M)) → U71ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
ISNATKINDACTIVE(x(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
XACTIVE(N, s(M)) → ISNATACTIVE(M)
U41ACTIVE(tt, N) → MARK(N)
ISNATKINDACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
U71ACTIVE(tt, M, N) → MARK(M)
ISNATACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(U12(U21(x0, x1), y1)) → U12ACTIVE(U21Active(mark(x0), x1), y1)
U32ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(U12(x1, x2)) → MARK(x1)
MARK(plus(x1, x2)) → MARK(x2)
U11ACTIVE(tt, x(x0, x1), y1) → U12ACTIVE(U31Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U71(x1, x2, x3)) → MARK(x1)
PLUSACTIVE(N, s(M)) → ISNATACTIVE(M)
MARK(U12(U11(x0, x1, x2), y1)) → U12ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U21(x1, x2)) → MARK(x1)
XACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
PLUSACTIVE(N, 0) → U41ACTIVE(andActive(isNatActive(N), isNatKind(N)), N)
U51ACTIVE(tt, M, N) → PLUSACTIVE(mark(N), mark(M))
ISNATKINDACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U41(x1, x2)) → U41ACTIVE(mark(x1), x2)
MARK(U11(U12(x0, x1), y1, y2)) → U11ACTIVE(U12Active(mark(x0), x1), y1, y2)
MARK(x(x1, x2)) → XACTIVE(mark(x1), mark(x2))
MARK(U11(tt, y1, y2)) → U11ACTIVE(tt, y1, y2)
MARK(U11(U13(x0), y1, y2)) → U11ACTIVE(U13Active(mark(x0)), y1, y2)
U71ACTIVE(tt, M, N) → XACTIVE(mark(N), mark(M))
U71ACTIVE(tt, M, N) → MARK(N)
MARK(isNatKind(x1)) → ISNATKINDACTIVE(x1)
MARK(U11(U22(x0), y1, y2)) → U11ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(isNat(x1)) → ISNATACTIVE(x1)
MARK(U12(x(x0, x1), y1)) → U12ACTIVE(xActive(mark(x0), mark(x1)), y1)
U12ACTIVE(tt, V2) → ISNATACTIVE(V2)
U21ACTIVE(tt, V1) → ISNATACTIVE(V1)
ISNATKINDACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U11(U71(x0, x1, x2), y1, y2)) → U11ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
MARK(plus(x1, x2)) → PLUSACTIVE(mark(x1), mark(x2))
PLUSACTIVE(N, 0) → ISNATACTIVE(N)
ISNATKINDACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U33(x1)) → MARK(x1)
MARK(U11(x(x0, x1), y1, y2)) → U11ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
ISNATKINDACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
ISNATKINDACTIVE(x(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U11(U51(x0, x1, x2), y1, y2)) → U11ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
U11ACTIVE(tt, plus(x0, x1), y1) → U12ACTIVE(U11Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U41(x1, x2)) → MARK(x1)
ISNATACTIVE(s(V1)) → U21ACTIVE(isNatKindActive(V1), V1)
MARK(U11(isNat(x0), y1, y2)) → U11ACTIVE(isNatActive(x0), y1, y2)
ISNATKINDACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U12(U33(x0), y1)) → U12ACTIVE(U33Active(mark(x0)), y1)
ISNATACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U12(U13(x0), y1)) → U12ACTIVE(U13Active(mark(x0)), y1)
U31ACTIVE(tt, V1, V2) → U32ACTIVE(isNatActive(V1), V2)
MARK(U31(x1, x2, x3)) → MARK(x1)
MARK(U21(x1, x2)) → U21ACTIVE(mark(x1), x2)
MARK(U11(isNatKind(x0), y1, y2)) → U11ACTIVE(isNatKindActive(x0), y1, y2)
MARK(U32(x1, x2)) → MARK(x1)
XACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
MARK(U12(U32(x0, x1), y1)) → U12ACTIVE(U32Active(mark(x0), x1), y1)
ISNATKINDACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
mark(U11(x1, x2, x3)) → U11Active(mark(x1), x2, x3)
U11Active(x1, x2, x3) → U11(x1, x2, x3)
mark(U12(x1, x2)) → U12Active(mark(x1), x2)
U12Active(x1, x2) → U12(x1, x2)
mark(U13(x1)) → U13Active(mark(x1))
U13Active(x1) → U13(x1)
mark(U21(x1, x2)) → U21Active(mark(x1), x2)
U21Active(x1, x2) → U21(x1, x2)
mark(U22(x1)) → U22Active(mark(x1))
U22Active(x1) → U22(x1)
mark(U31(x1, x2, x3)) → U31Active(mark(x1), x2, x3)
U31Active(x1, x2, x3) → U31(x1, x2, x3)
mark(U32(x1, x2)) → U32Active(mark(x1), x2)
U32Active(x1, x2) → U32(x1, x2)
mark(U33(x1)) → U33Active(mark(x1))
U33Active(x1) → U33(x1)
mark(U41(x1, x2)) → U41Active(mark(x1), x2)
U41Active(x1, x2) → U41(x1, x2)
mark(U51(x1, x2, x3)) → U51Active(mark(x1), x2, x3)
U51Active(x1, x2, x3) → U51(x1, x2, x3)
mark(U61(x1)) → U61Active(mark(x1))
U61Active(x1) → U61(x1)
mark(U71(x1, x2, x3)) → U71Active(mark(x1), x2, x3)
U71Active(x1, x2, x3) → U71(x1, x2, x3)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatKind(x1)) → isNatKindActive(x1)
isNatKindActive(x1) → isNatKind(x1)
mark(plus(x1, x2)) → plusActive(mark(x1), mark(x2))
plusActive(x1, x2) → plus(x1, x2)
mark(x(x1, x2)) → xActive(mark(x1), mark(x2))
xActive(x1, x2) → x(x1, x2)
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(0) → 0
U11Active(tt, V1, V2) → U12Active(isNatActive(V1), V2)
U12Active(tt, V2) → U13Active(isNatActive(V2))
U13Active(tt) → tt
U21Active(tt, V1) → U22Active(isNatActive(V1))
U22Active(tt) → tt
U31Active(tt, V1, V2) → U32Active(isNatActive(V1), V2)
U32Active(tt, V2) → U33Active(isNatActive(V2))
U33Active(tt) → tt
U41Active(tt, N) → mark(N)
U51Active(tt, M, N) → s(plusActive(mark(N), mark(M)))
U61Active(tt) → 0
U71Active(tt, M, N) → plusActive(xActive(mark(N), mark(M)), mark(N))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(plus(V1, V2)) → U11Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatActive(s(V1)) → U21Active(isNatKindActive(V1), V1)
isNatActive(x(V1, V2)) → U31Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatKindActive(0) → tt
isNatKindActive(plus(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
isNatKindActive(s(V1)) → isNatKindActive(V1)
isNatKindActive(x(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
plusActive(N, 0) → U41Active(andActive(isNatActive(N), isNatKind(N)), N)
plusActive(N, s(M)) → U51Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
xActive(N, 0) → U61Active(andActive(isNatActive(N), isNatKind(N)))
xActive(N, s(M)) → U71Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(U21(U32(x0, x1), y1)) → U21ACTIVE(U32Active(mark(x0), x1), y1)
MARK(U21(and(x0, x1), y1)) → U21ACTIVE(andActive(mark(x0), x1), y1)
MARK(U21(U61(x0), y1)) → U21ACTIVE(U61Active(mark(x0)), y1)
MARK(U21(isNatKind(x0), y1)) → U21ACTIVE(isNatKindActive(x0), y1)
MARK(U21(U21(x0, x1), y1)) → U21ACTIVE(U21Active(mark(x0), x1), y1)
MARK(U21(U12(x0, x1), y1)) → U21ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U21(isNat(x0), y1)) → U21ACTIVE(isNatActive(x0), y1)
MARK(U21(s(x0), y1)) → U21ACTIVE(s(mark(x0)), y1)
MARK(U21(U71(x0, x1, x2), y1)) → U21ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U21(x(x0, x1), y1)) → U21ACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(U21(plus(x0, x1), y1)) → U21ACTIVE(plusActive(mark(x0), mark(x1)), y1)
MARK(U21(tt, y1)) → U21ACTIVE(tt, y1)
MARK(U21(U22(x0), y1)) → U21ACTIVE(U22Active(mark(x0)), y1)
MARK(U21(U33(x0), y1)) → U21ACTIVE(U33Active(mark(x0)), y1)
MARK(U21(0, y1)) → U21ACTIVE(0, y1)
MARK(U21(U11(x0, x1, x2), y1)) → U21ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U21(U41(x0, x1), y1)) → U21ACTIVE(U41Active(mark(x0), x1), y1)
MARK(U21(U51(x0, x1, x2), y1)) → U21ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U21(U31(x0, x1, x2), y1)) → U21ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U21(U13(x0), y1)) → U21ACTIVE(U13Active(mark(x0)), y1)
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ Improved Ferreira Ribeiro-Transformation
U51ACTIVE(tt, M, N) → MARK(M)
MARK(U21(isNatKind(x0), y1)) → U21ACTIVE(isNatKindActive(x0), y1)
MARK(U11(U31(x0, x1, x2), y1, y2)) → U11ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
XACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U11(and(x0, x1), y1, y2)) → U11ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(U11(U11(x0, x1, x2), y1, y2)) → U11ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(x(x1, x2)) → MARK(x2)
MARK(U11(x1, x2, x3)) → MARK(x1)
MARK(U31(x1, x2, x3)) → U31ACTIVE(mark(x1), x2, x3)
ISNATACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ISNATACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
U71ACTIVE(tt, M, N) → PLUSACTIVE(xActive(mark(N), mark(M)), mark(N))
ISNATKINDACTIVE(x(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ANDACTIVE(tt, X) → MARK(X)
U51ACTIVE(tt, M, N) → MARK(N)
MARK(U12(U71(x0, x1, x2), y1)) → U12ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U11(U61(x0), y1, y2)) → U11ACTIVE(U61Active(mark(x0)), y1, y2)
MARK(U12(U22(x0), y1)) → U12ACTIVE(U22Active(mark(x0)), y1)
MARK(U12(U12(x0, x1), y1)) → U12ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U21(U32(x0, x1), y1)) → U21ACTIVE(U32Active(mark(x0), x1), y1)
MARK(U51(x1, x2, x3)) → MARK(x1)
MARK(U12(isNatKind(x0), y1)) → U12ACTIVE(isNatKindActive(x0), y1)
MARK(U71(x1, x2, x3)) → U71ACTIVE(mark(x1), x2, x3)
MARK(U32(x1, x2)) → U32ACTIVE(mark(x1), x2)
MARK(U21(x(x0, x1), y1)) → U21ACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(and(x1, x2)) → ANDACTIVE(mark(x1), x2)
PLUSACTIVE(N, s(M)) → U51ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
U11ACTIVE(tt, s(x0), y1) → U12ACTIVE(U21Active(isNatKindActive(x0), x0), y1)
MARK(s(x1)) → MARK(x1)
MARK(U21(U51(x0, x1, x2), y1)) → U21ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U12(plus(x0, x1), y1)) → U12ACTIVE(plusActive(mark(x0), mark(x1)), y1)
ISNATACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
U11ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(plus(x1, x2)) → MARK(x1)
ISNATACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U12(U31(x0, x1, x2), y1)) → U12ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U21(and(x0, x1), y1)) → U21ACTIVE(andActive(mark(x0), x1), y1)
MARK(U21(U12(x0, x1), y1)) → U21ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U11(U32(x0, x1), y1, y2)) → U11ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(U12(U51(x0, x1, x2), y1)) → U12ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U11(U33(x0), y1, y2)) → U11ACTIVE(U33Active(mark(x0)), y1, y2)
MARK(U12(tt, y1)) → U12ACTIVE(tt, y1)
U31ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(U51(x1, x2, x3)) → U51ACTIVE(mark(x1), x2, x3)
MARK(U12(U61(x0), y1)) → U12ACTIVE(U61Active(mark(x0)), y1)
ISNATKINDACTIVE(x(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
MARK(U12(U41(x0, x1), y1)) → U12ACTIVE(U41Active(mark(x0), x1), y1)
ISNATACTIVE(x(V1, V2)) → U31ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
ISNATACTIVE(plus(V1, V2)) → U11ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U12(isNat(x0), y1)) → U12ACTIVE(isNatActive(x0), y1)
MARK(U11(U41(x0, x1), y1, y2)) → U11ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(and(x1, x2)) → MARK(x1)
MARK(U21(U61(x0), y1)) → U21ACTIVE(U61Active(mark(x0)), y1)
MARK(U11(plus(x0, x1), y1, y2)) → U11ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
PLUSACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
PLUSACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
ISNATACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U11(U21(x0, x1), y1, y2)) → U11ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(U61(x1)) → MARK(x1)
ISNATACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
MARK(U21(U71(x0, x1, x2), y1)) → U21ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U22(x1)) → MARK(x1)
U11ACTIVE(tt, 0, y1) → U12ACTIVE(tt, y1)
MARK(x(x1, x2)) → MARK(x1)
XACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U12(and(x0, x1), y1)) → U12ACTIVE(andActive(mark(x0), x1), y1)
MARK(U21(U11(x0, x1, x2), y1)) → U21ACTIVE(U11Active(mark(x0), x1, x2), y1)
XACTIVE(N, s(M)) → U71ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(U13(x1)) → MARK(x1)
ISNATKINDACTIVE(x(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
XACTIVE(N, s(M)) → ISNATACTIVE(M)
U41ACTIVE(tt, N) → MARK(N)
ISNATKINDACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
U71ACTIVE(tt, M, N) → MARK(M)
MARK(U21(s(x0), y1)) → U21ACTIVE(s(mark(x0)), y1)
ISNATACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(U12(U21(x0, x1), y1)) → U12ACTIVE(U21Active(mark(x0), x1), y1)
MARK(U21(plus(x0, x1), y1)) → U21ACTIVE(plusActive(mark(x0), mark(x1)), y1)
U32ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(U21(U33(x0), y1)) → U21ACTIVE(U33Active(mark(x0)), y1)
MARK(U21(tt, y1)) → U21ACTIVE(tt, y1)
U11ACTIVE(tt, x(x0, x1), y1) → U12ACTIVE(U31Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(plus(x1, x2)) → MARK(x2)
MARK(U12(x1, x2)) → MARK(x1)
MARK(U21(0, y1)) → U21ACTIVE(0, y1)
MARK(U71(x1, x2, x3)) → MARK(x1)
PLUSACTIVE(N, s(M)) → ISNATACTIVE(M)
MARK(U21(x1, x2)) → MARK(x1)
MARK(U12(U11(x0, x1, x2), y1)) → U12ACTIVE(U11Active(mark(x0), x1, x2), y1)
XACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
PLUSACTIVE(N, 0) → U41ACTIVE(andActive(isNatActive(N), isNatKind(N)), N)
U51ACTIVE(tt, M, N) → PLUSACTIVE(mark(N), mark(M))
ISNATKINDACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U11(U12(x0, x1), y1, y2)) → U11ACTIVE(U12Active(mark(x0), x1), y1, y2)
MARK(U41(x1, x2)) → U41ACTIVE(mark(x1), x2)
MARK(x(x1, x2)) → XACTIVE(mark(x1), mark(x2))
MARK(U11(tt, y1, y2)) → U11ACTIVE(tt, y1, y2)
MARK(U11(U13(x0), y1, y2)) → U11ACTIVE(U13Active(mark(x0)), y1, y2)
MARK(U21(U21(x0, x1), y1)) → U21ACTIVE(U21Active(mark(x0), x1), y1)
U71ACTIVE(tt, M, N) → XACTIVE(mark(N), mark(M))
MARK(isNatKind(x1)) → ISNATKINDACTIVE(x1)
U71ACTIVE(tt, M, N) → MARK(N)
MARK(U21(U41(x0, x1), y1)) → U21ACTIVE(U41Active(mark(x0), x1), y1)
MARK(U11(U22(x0), y1, y2)) → U11ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(isNat(x1)) → ISNATACTIVE(x1)
MARK(U12(x(x0, x1), y1)) → U12ACTIVE(xActive(mark(x0), mark(x1)), y1)
U12ACTIVE(tt, V2) → ISNATACTIVE(V2)
U21ACTIVE(tt, V1) → ISNATACTIVE(V1)
MARK(U11(U71(x0, x1, x2), y1, y2)) → U11ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
ISNATKINDACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U21(isNat(x0), y1)) → U21ACTIVE(isNatActive(x0), y1)
MARK(plus(x1, x2)) → PLUSACTIVE(mark(x1), mark(x2))
ISNATKINDACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
PLUSACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U33(x1)) → MARK(x1)
MARK(U11(x(x0, x1), y1, y2)) → U11ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
ISNATKINDACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
MARK(U11(U51(x0, x1, x2), y1, y2)) → U11ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
ISNATKINDACTIVE(x(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
U11ACTIVE(tt, plus(x0, x1), y1) → U12ACTIVE(U11Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U21(U31(x0, x1, x2), y1)) → U21ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U41(x1, x2)) → MARK(x1)
ISNATACTIVE(s(V1)) → U21ACTIVE(isNatKindActive(V1), V1)
MARK(U11(isNat(x0), y1, y2)) → U11ACTIVE(isNatActive(x0), y1, y2)
ISNATKINDACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U12(U33(x0), y1)) → U12ACTIVE(U33Active(mark(x0)), y1)
ISNATACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U21(U22(x0), y1)) → U21ACTIVE(U22Active(mark(x0)), y1)
MARK(U12(U13(x0), y1)) → U12ACTIVE(U13Active(mark(x0)), y1)
U31ACTIVE(tt, V1, V2) → U32ACTIVE(isNatActive(V1), V2)
MARK(U31(x1, x2, x3)) → MARK(x1)
MARK(U21(U13(x0), y1)) → U21ACTIVE(U13Active(mark(x0)), y1)
MARK(U11(isNatKind(x0), y1, y2)) → U11ACTIVE(isNatKindActive(x0), y1, y2)
XACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
MARK(U32(x1, x2)) → MARK(x1)
ISNATKINDACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
MARK(U12(U32(x0, x1), y1)) → U12ACTIVE(U32Active(mark(x0), x1), y1)
mark(U11(x1, x2, x3)) → U11Active(mark(x1), x2, x3)
U11Active(x1, x2, x3) → U11(x1, x2, x3)
mark(U12(x1, x2)) → U12Active(mark(x1), x2)
U12Active(x1, x2) → U12(x1, x2)
mark(U13(x1)) → U13Active(mark(x1))
U13Active(x1) → U13(x1)
mark(U21(x1, x2)) → U21Active(mark(x1), x2)
U21Active(x1, x2) → U21(x1, x2)
mark(U22(x1)) → U22Active(mark(x1))
U22Active(x1) → U22(x1)
mark(U31(x1, x2, x3)) → U31Active(mark(x1), x2, x3)
U31Active(x1, x2, x3) → U31(x1, x2, x3)
mark(U32(x1, x2)) → U32Active(mark(x1), x2)
U32Active(x1, x2) → U32(x1, x2)
mark(U33(x1)) → U33Active(mark(x1))
U33Active(x1) → U33(x1)
mark(U41(x1, x2)) → U41Active(mark(x1), x2)
U41Active(x1, x2) → U41(x1, x2)
mark(U51(x1, x2, x3)) → U51Active(mark(x1), x2, x3)
U51Active(x1, x2, x3) → U51(x1, x2, x3)
mark(U61(x1)) → U61Active(mark(x1))
U61Active(x1) → U61(x1)
mark(U71(x1, x2, x3)) → U71Active(mark(x1), x2, x3)
U71Active(x1, x2, x3) → U71(x1, x2, x3)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatKind(x1)) → isNatKindActive(x1)
isNatKindActive(x1) → isNatKind(x1)
mark(plus(x1, x2)) → plusActive(mark(x1), mark(x2))
plusActive(x1, x2) → plus(x1, x2)
mark(x(x1, x2)) → xActive(mark(x1), mark(x2))
xActive(x1, x2) → x(x1, x2)
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(0) → 0
U11Active(tt, V1, V2) → U12Active(isNatActive(V1), V2)
U12Active(tt, V2) → U13Active(isNatActive(V2))
U13Active(tt) → tt
U21Active(tt, V1) → U22Active(isNatActive(V1))
U22Active(tt) → tt
U31Active(tt, V1, V2) → U32Active(isNatActive(V1), V2)
U32Active(tt, V2) → U33Active(isNatActive(V2))
U33Active(tt) → tt
U41Active(tt, N) → mark(N)
U51Active(tt, M, N) → s(plusActive(mark(N), mark(M)))
U61Active(tt) → 0
U71Active(tt, M, N) → plusActive(xActive(mark(N), mark(M)), mark(N))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(plus(V1, V2)) → U11Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatActive(s(V1)) → U21Active(isNatKindActive(V1), V1)
isNatActive(x(V1, V2)) → U31Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatKindActive(0) → tt
isNatKindActive(plus(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
isNatKindActive(s(V1)) → isNatKindActive(V1)
isNatKindActive(x(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
plusActive(N, 0) → U41Active(andActive(isNatActive(N), isNatKind(N)), N)
plusActive(N, s(M)) → U51Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
xActive(N, 0) → U61Active(andActive(isNatActive(N), isNatKind(N)))
xActive(N, s(M)) → U71Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ Improved Ferreira Ribeiro-Transformation
U51ACTIVE(tt, M, N) → MARK(M)
MARK(U21(isNatKind(x0), y1)) → U21ACTIVE(isNatKindActive(x0), y1)
MARK(U11(U31(x0, x1, x2), y1, y2)) → U11ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
XACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U11(and(x0, x1), y1, y2)) → U11ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(U11(U11(x0, x1, x2), y1, y2)) → U11ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(U11(x1, x2, x3)) → MARK(x1)
MARK(U31(x1, x2, x3)) → U31ACTIVE(mark(x1), x2, x3)
MARK(x(x1, x2)) → MARK(x2)
ISNATACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ISNATACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
U71ACTIVE(tt, M, N) → PLUSACTIVE(xActive(mark(N), mark(M)), mark(N))
ISNATKINDACTIVE(x(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ANDACTIVE(tt, X) → MARK(X)
MARK(U12(U71(x0, x1, x2), y1)) → U12ACTIVE(U71Active(mark(x0), x1, x2), y1)
U51ACTIVE(tt, M, N) → MARK(N)
MARK(U12(U22(x0), y1)) → U12ACTIVE(U22Active(mark(x0)), y1)
MARK(U11(U61(x0), y1, y2)) → U11ACTIVE(U61Active(mark(x0)), y1, y2)
MARK(U12(U12(x0, x1), y1)) → U12ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U21(U32(x0, x1), y1)) → U21ACTIVE(U32Active(mark(x0), x1), y1)
MARK(U51(x1, x2, x3)) → MARK(x1)
MARK(U12(isNatKind(x0), y1)) → U12ACTIVE(isNatKindActive(x0), y1)
MARK(U71(x1, x2, x3)) → U71ACTIVE(mark(x1), x2, x3)
MARK(U32(x1, x2)) → U32ACTIVE(mark(x1), x2)
MARK(U21(x(x0, x1), y1)) → U21ACTIVE(xActive(mark(x0), mark(x1)), y1)
PLUSACTIVE(N, s(M)) → U51ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(and(x1, x2)) → ANDACTIVE(mark(x1), x2)
U11ACTIVE(tt, s(x0), y1) → U12ACTIVE(U21Active(isNatKindActive(x0), x0), y1)
MARK(s(x1)) → MARK(x1)
MARK(U21(U51(x0, x1, x2), y1)) → U21ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U12(plus(x0, x1), y1)) → U12ACTIVE(plusActive(mark(x0), mark(x1)), y1)
ISNATACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
U11ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(plus(x1, x2)) → MARK(x1)
ISNATACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U12(U31(x0, x1, x2), y1)) → U12ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U21(and(x0, x1), y1)) → U21ACTIVE(andActive(mark(x0), x1), y1)
MARK(U21(U12(x0, x1), y1)) → U21ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U11(U32(x0, x1), y1, y2)) → U11ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(U12(U51(x0, x1, x2), y1)) → U12ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U12(tt, y1)) → U12ACTIVE(tt, y1)
MARK(U11(U33(x0), y1, y2)) → U11ACTIVE(U33Active(mark(x0)), y1, y2)
MARK(U51(x1, x2, x3)) → U51ACTIVE(mark(x1), x2, x3)
U31ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(U12(U61(x0), y1)) → U12ACTIVE(U61Active(mark(x0)), y1)
ISNATKINDACTIVE(x(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
MARK(U12(U41(x0, x1), y1)) → U12ACTIVE(U41Active(mark(x0), x1), y1)
ISNATACTIVE(x(V1, V2)) → U31ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
ISNATACTIVE(plus(V1, V2)) → U11ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U12(isNat(x0), y1)) → U12ACTIVE(isNatActive(x0), y1)
MARK(U11(U41(x0, x1), y1, y2)) → U11ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(and(x1, x2)) → MARK(x1)
MARK(U21(U61(x0), y1)) → U21ACTIVE(U61Active(mark(x0)), y1)
PLUSACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
MARK(U11(plus(x0, x1), y1, y2)) → U11ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
ISNATACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
MARK(U11(U21(x0, x1), y1, y2)) → U11ACTIVE(U21Active(mark(x0), x1), y1, y2)
ISNATACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
MARK(U61(x1)) → MARK(x1)
MARK(U21(U71(x0, x1, x2), y1)) → U21ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U22(x1)) → MARK(x1)
U11ACTIVE(tt, 0, y1) → U12ACTIVE(tt, y1)
MARK(x(x1, x2)) → MARK(x1)
MARK(U12(and(x0, x1), y1)) → U12ACTIVE(andActive(mark(x0), x1), y1)
XACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U21(U11(x0, x1, x2), y1)) → U21ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U13(x1)) → MARK(x1)
XACTIVE(N, s(M)) → U71ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
ISNATKINDACTIVE(x(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
XACTIVE(N, s(M)) → ISNATACTIVE(M)
U41ACTIVE(tt, N) → MARK(N)
ISNATKINDACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
U71ACTIVE(tt, M, N) → MARK(M)
ISNATACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(U12(U21(x0, x1), y1)) → U12ACTIVE(U21Active(mark(x0), x1), y1)
MARK(U21(plus(x0, x1), y1)) → U21ACTIVE(plusActive(mark(x0), mark(x1)), y1)
U32ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(U21(U33(x0), y1)) → U21ACTIVE(U33Active(mark(x0)), y1)
MARK(U21(tt, y1)) → U21ACTIVE(tt, y1)
MARK(U12(x1, x2)) → MARK(x1)
MARK(plus(x1, x2)) → MARK(x2)
U11ACTIVE(tt, x(x0, x1), y1) → U12ACTIVE(U31Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U71(x1, x2, x3)) → MARK(x1)
PLUSACTIVE(N, s(M)) → ISNATACTIVE(M)
MARK(U12(U11(x0, x1, x2), y1)) → U12ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U21(x1, x2)) → MARK(x1)
XACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
PLUSACTIVE(N, 0) → U41ACTIVE(andActive(isNatActive(N), isNatKind(N)), N)
U51ACTIVE(tt, M, N) → PLUSACTIVE(mark(N), mark(M))
ISNATKINDACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U41(x1, x2)) → U41ACTIVE(mark(x1), x2)
MARK(U11(U12(x0, x1), y1, y2)) → U11ACTIVE(U12Active(mark(x0), x1), y1, y2)
MARK(x(x1, x2)) → XACTIVE(mark(x1), mark(x2))
MARK(U11(tt, y1, y2)) → U11ACTIVE(tt, y1, y2)
MARK(U11(U13(x0), y1, y2)) → U11ACTIVE(U13Active(mark(x0)), y1, y2)
MARK(U21(U21(x0, x1), y1)) → U21ACTIVE(U21Active(mark(x0), x1), y1)
U71ACTIVE(tt, M, N) → XACTIVE(mark(N), mark(M))
U71ACTIVE(tt, M, N) → MARK(N)
MARK(isNatKind(x1)) → ISNATKINDACTIVE(x1)
MARK(U21(U41(x0, x1), y1)) → U21ACTIVE(U41Active(mark(x0), x1), y1)
MARK(U11(U22(x0), y1, y2)) → U11ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(isNat(x1)) → ISNATACTIVE(x1)
MARK(U12(x(x0, x1), y1)) → U12ACTIVE(xActive(mark(x0), mark(x1)), y1)
U12ACTIVE(tt, V2) → ISNATACTIVE(V2)
U21ACTIVE(tt, V1) → ISNATACTIVE(V1)
ISNATKINDACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U11(U71(x0, x1, x2), y1, y2)) → U11ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
MARK(U21(isNat(x0), y1)) → U21ACTIVE(isNatActive(x0), y1)
MARK(plus(x1, x2)) → PLUSACTIVE(mark(x1), mark(x2))
PLUSACTIVE(N, 0) → ISNATACTIVE(N)
ISNATKINDACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U33(x1)) → MARK(x1)
MARK(U11(x(x0, x1), y1, y2)) → U11ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
ISNATKINDACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
ISNATKINDACTIVE(x(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U11(U51(x0, x1, x2), y1, y2)) → U11ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
U11ACTIVE(tt, plus(x0, x1), y1) → U12ACTIVE(U11Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U21(U31(x0, x1, x2), y1)) → U21ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U41(x1, x2)) → MARK(x1)
ISNATACTIVE(s(V1)) → U21ACTIVE(isNatKindActive(V1), V1)
MARK(U11(isNat(x0), y1, y2)) → U11ACTIVE(isNatActive(x0), y1, y2)
ISNATKINDACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U12(U33(x0), y1)) → U12ACTIVE(U33Active(mark(x0)), y1)
ISNATACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U21(U22(x0), y1)) → U21ACTIVE(U22Active(mark(x0)), y1)
MARK(U12(U13(x0), y1)) → U12ACTIVE(U13Active(mark(x0)), y1)
U31ACTIVE(tt, V1, V2) → U32ACTIVE(isNatActive(V1), V2)
MARK(U31(x1, x2, x3)) → MARK(x1)
MARK(U21(U13(x0), y1)) → U21ACTIVE(U13Active(mark(x0)), y1)
MARK(U11(isNatKind(x0), y1, y2)) → U11ACTIVE(isNatKindActive(x0), y1, y2)
MARK(U32(x1, x2)) → MARK(x1)
XACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
MARK(U12(U32(x0, x1), y1)) → U12ACTIVE(U32Active(mark(x0), x1), y1)
ISNATKINDACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
mark(U11(x1, x2, x3)) → U11Active(mark(x1), x2, x3)
U11Active(x1, x2, x3) → U11(x1, x2, x3)
mark(U12(x1, x2)) → U12Active(mark(x1), x2)
U12Active(x1, x2) → U12(x1, x2)
mark(U13(x1)) → U13Active(mark(x1))
U13Active(x1) → U13(x1)
mark(U21(x1, x2)) → U21Active(mark(x1), x2)
U21Active(x1, x2) → U21(x1, x2)
mark(U22(x1)) → U22Active(mark(x1))
U22Active(x1) → U22(x1)
mark(U31(x1, x2, x3)) → U31Active(mark(x1), x2, x3)
U31Active(x1, x2, x3) → U31(x1, x2, x3)
mark(U32(x1, x2)) → U32Active(mark(x1), x2)
U32Active(x1, x2) → U32(x1, x2)
mark(U33(x1)) → U33Active(mark(x1))
U33Active(x1) → U33(x1)
mark(U41(x1, x2)) → U41Active(mark(x1), x2)
U41Active(x1, x2) → U41(x1, x2)
mark(U51(x1, x2, x3)) → U51Active(mark(x1), x2, x3)
U51Active(x1, x2, x3) → U51(x1, x2, x3)
mark(U61(x1)) → U61Active(mark(x1))
U61Active(x1) → U61(x1)
mark(U71(x1, x2, x3)) → U71Active(mark(x1), x2, x3)
U71Active(x1, x2, x3) → U71(x1, x2, x3)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatKind(x1)) → isNatKindActive(x1)
isNatKindActive(x1) → isNatKind(x1)
mark(plus(x1, x2)) → plusActive(mark(x1), mark(x2))
plusActive(x1, x2) → plus(x1, x2)
mark(x(x1, x2)) → xActive(mark(x1), mark(x2))
xActive(x1, x2) → x(x1, x2)
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(0) → 0
U11Active(tt, V1, V2) → U12Active(isNatActive(V1), V2)
U12Active(tt, V2) → U13Active(isNatActive(V2))
U13Active(tt) → tt
U21Active(tt, V1) → U22Active(isNatActive(V1))
U22Active(tt) → tt
U31Active(tt, V1, V2) → U32Active(isNatActive(V1), V2)
U32Active(tt, V2) → U33Active(isNatActive(V2))
U33Active(tt) → tt
U41Active(tt, N) → mark(N)
U51Active(tt, M, N) → s(plusActive(mark(N), mark(M)))
U61Active(tt) → 0
U71Active(tt, M, N) → plusActive(xActive(mark(N), mark(M)), mark(N))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(plus(V1, V2)) → U11Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatActive(s(V1)) → U21Active(isNatKindActive(V1), V1)
isNatActive(x(V1, V2)) → U31Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatKindActive(0) → tt
isNatKindActive(plus(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
isNatKindActive(s(V1)) → isNatKindActive(V1)
isNatKindActive(x(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
plusActive(N, 0) → U41Active(andActive(isNatActive(N), isNatKind(N)), N)
plusActive(N, s(M)) → U51Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
xActive(N, 0) → U61Active(andActive(isNatActive(N), isNatKind(N)))
xActive(N, s(M)) → U71Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(U31(U32(x0, x1), y1, y2)) → U31ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(U31(isNat(x0), y1, y2)) → U31ACTIVE(isNatActive(x0), y1, y2)
MARK(U31(U71(x0, x1, x2), y1, y2)) → U31ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
MARK(U31(and(x0, x1), y1, y2)) → U31ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(U31(x(x0, x1), y1, y2)) → U31ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
MARK(U31(tt, y1, y2)) → U31ACTIVE(tt, y1, y2)
MARK(U31(0, y1, y2)) → U31ACTIVE(0, y1, y2)
MARK(U31(U31(x0, x1, x2), y1, y2)) → U31ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U31(isNatKind(x0), y1, y2)) → U31ACTIVE(isNatKindActive(x0), y1, y2)
MARK(U31(U21(x0, x1), y1, y2)) → U31ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(U31(U41(x0, x1), y1, y2)) → U31ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(U31(s(x0), y1, y2)) → U31ACTIVE(s(mark(x0)), y1, y2)
MARK(U31(U33(x0), y1, y2)) → U31ACTIVE(U33Active(mark(x0)), y1, y2)
MARK(U31(U13(x0), y1, y2)) → U31ACTIVE(U13Active(mark(x0)), y1, y2)
MARK(U31(plus(x0, x1), y1, y2)) → U31ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
MARK(U31(U12(x0, x1), y1, y2)) → U31ACTIVE(U12Active(mark(x0), x1), y1, y2)
MARK(U31(U61(x0), y1, y2)) → U31ACTIVE(U61Active(mark(x0)), y1, y2)
MARK(U31(U22(x0), y1, y2)) → U31ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(U31(U11(x0, x1, x2), y1, y2)) → U31ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(U31(U51(x0, x1, x2), y1, y2)) → U31ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ Improved Ferreira Ribeiro-Transformation
U51ACTIVE(tt, M, N) → MARK(M)
MARK(U11(U31(x0, x1, x2), y1, y2)) → U11ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U21(isNatKind(x0), y1)) → U21ACTIVE(isNatKindActive(x0), y1)
MARK(U31(U71(x0, x1, x2), y1, y2)) → U31ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
XACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U11(and(x0, x1), y1, y2)) → U11ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(U11(U11(x0, x1, x2), y1, y2)) → U11ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(x(x1, x2)) → MARK(x2)
MARK(U11(x1, x2, x3)) → MARK(x1)
ISNATACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ISNATACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
U71ACTIVE(tt, M, N) → PLUSACTIVE(xActive(mark(N), mark(M)), mark(N))
ANDACTIVE(tt, X) → MARK(X)
ISNATKINDACTIVE(x(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
U51ACTIVE(tt, M, N) → MARK(N)
MARK(U12(U71(x0, x1, x2), y1)) → U12ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U11(U61(x0), y1, y2)) → U11ACTIVE(U61Active(mark(x0)), y1, y2)
MARK(U12(U22(x0), y1)) → U12ACTIVE(U22Active(mark(x0)), y1)
MARK(U12(U12(x0, x1), y1)) → U12ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U21(U32(x0, x1), y1)) → U21ACTIVE(U32Active(mark(x0), x1), y1)
MARK(U51(x1, x2, x3)) → MARK(x1)
MARK(U12(isNatKind(x0), y1)) → U12ACTIVE(isNatKindActive(x0), y1)
MARK(U31(x(x0, x1), y1, y2)) → U31ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
MARK(U71(x1, x2, x3)) → U71ACTIVE(mark(x1), x2, x3)
MARK(U32(x1, x2)) → U32ACTIVE(mark(x1), x2)
MARK(U21(x(x0, x1), y1)) → U21ACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(and(x1, x2)) → ANDACTIVE(mark(x1), x2)
PLUSACTIVE(N, s(M)) → U51ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
U11ACTIVE(tt, s(x0), y1) → U12ACTIVE(U21Active(isNatKindActive(x0), x0), y1)
MARK(U31(U41(x0, x1), y1, y2)) → U31ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(s(x1)) → MARK(x1)
MARK(U31(U12(x0, x1), y1, y2)) → U31ACTIVE(U12Active(mark(x0), x1), y1, y2)
MARK(U12(plus(x0, x1), y1)) → U12ACTIVE(plusActive(mark(x0), mark(x1)), y1)
MARK(U21(U51(x0, x1, x2), y1)) → U21ACTIVE(U51Active(mark(x0), x1, x2), y1)
ISNATACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
U11ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(plus(x1, x2)) → MARK(x1)
ISNATACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U12(U31(x0, x1, x2), y1)) → U12ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U21(and(x0, x1), y1)) → U21ACTIVE(andActive(mark(x0), x1), y1)
MARK(U21(U12(x0, x1), y1)) → U21ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U11(U32(x0, x1), y1, y2)) → U11ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(U12(U51(x0, x1, x2), y1)) → U12ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U11(U33(x0), y1, y2)) → U11ACTIVE(U33Active(mark(x0)), y1, y2)
MARK(U12(tt, y1)) → U12ACTIVE(tt, y1)
U31ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(U51(x1, x2, x3)) → U51ACTIVE(mark(x1), x2, x3)
MARK(U31(0, y1, y2)) → U31ACTIVE(0, y1, y2)
MARK(U12(U61(x0), y1)) → U12ACTIVE(U61Active(mark(x0)), y1)
ISNATKINDACTIVE(x(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
MARK(U12(U41(x0, x1), y1)) → U12ACTIVE(U41Active(mark(x0), x1), y1)
ISNATACTIVE(plus(V1, V2)) → U11ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
ISNATACTIVE(x(V1, V2)) → U31ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U12(isNat(x0), y1)) → U12ACTIVE(isNatActive(x0), y1)
MARK(U11(U41(x0, x1), y1, y2)) → U11ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(and(x1, x2)) → MARK(x1)
MARK(U11(plus(x0, x1), y1, y2)) → U11ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
PLUSACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
MARK(U21(U61(x0), y1)) → U21ACTIVE(U61Active(mark(x0)), y1)
PLUSACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
ISNATACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U11(U21(x0, x1), y1, y2)) → U11ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(U61(x1)) → MARK(x1)
ISNATACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
MARK(U21(U71(x0, x1, x2), y1)) → U21ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U22(x1)) → MARK(x1)
U11ACTIVE(tt, 0, y1) → U12ACTIVE(tt, y1)
MARK(x(x1, x2)) → MARK(x1)
MARK(U31(U33(x0), y1, y2)) → U31ACTIVE(U33Active(mark(x0)), y1, y2)
MARK(U31(s(x0), y1, y2)) → U31ACTIVE(s(mark(x0)), y1, y2)
XACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U12(and(x0, x1), y1)) → U12ACTIVE(andActive(mark(x0), x1), y1)
MARK(U31(U13(x0), y1, y2)) → U31ACTIVE(U13Active(mark(x0)), y1, y2)
MARK(U21(U11(x0, x1, x2), y1)) → U21ACTIVE(U11Active(mark(x0), x1, x2), y1)
XACTIVE(N, s(M)) → U71ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(U13(x1)) → MARK(x1)
ISNATKINDACTIVE(x(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U31(U51(x0, x1, x2), y1, y2)) → U31ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
MARK(U31(U11(x0, x1, x2), y1, y2)) → U31ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
XACTIVE(N, s(M)) → ISNATACTIVE(M)
U41ACTIVE(tt, N) → MARK(N)
ISNATKINDACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
U71ACTIVE(tt, M, N) → MARK(M)
ISNATACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(U12(U21(x0, x1), y1)) → U12ACTIVE(U21Active(mark(x0), x1), y1)
U32ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(U21(plus(x0, x1), y1)) → U21ACTIVE(plusActive(mark(x0), mark(x1)), y1)
U11ACTIVE(tt, x(x0, x1), y1) → U12ACTIVE(U31Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(plus(x1, x2)) → MARK(x2)
MARK(U12(x1, x2)) → MARK(x1)
MARK(U21(tt, y1)) → U21ACTIVE(tt, y1)
MARK(U21(U33(x0), y1)) → U21ACTIVE(U33Active(mark(x0)), y1)
MARK(U71(x1, x2, x3)) → MARK(x1)
PLUSACTIVE(N, s(M)) → ISNATACTIVE(M)
MARK(U21(x1, x2)) → MARK(x1)
MARK(U12(U11(x0, x1, x2), y1)) → U12ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U31(U61(x0), y1, y2)) → U31ACTIVE(U61Active(mark(x0)), y1, y2)
XACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
PLUSACTIVE(N, 0) → U41ACTIVE(andActive(isNatActive(N), isNatKind(N)), N)
U51ACTIVE(tt, M, N) → PLUSACTIVE(mark(N), mark(M))
ISNATKINDACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U11(U12(x0, x1), y1, y2)) → U11ACTIVE(U12Active(mark(x0), x1), y1, y2)
MARK(U41(x1, x2)) → U41ACTIVE(mark(x1), x2)
MARK(x(x1, x2)) → XACTIVE(mark(x1), mark(x2))
MARK(U11(tt, y1, y2)) → U11ACTIVE(tt, y1, y2)
MARK(U11(U13(x0), y1, y2)) → U11ACTIVE(U13Active(mark(x0)), y1, y2)
MARK(U21(U21(x0, x1), y1)) → U21ACTIVE(U21Active(mark(x0), x1), y1)
U71ACTIVE(tt, M, N) → XACTIVE(mark(N), mark(M))
MARK(U31(U21(x0, x1), y1, y2)) → U31ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(isNatKind(x1)) → ISNATKINDACTIVE(x1)
U71ACTIVE(tt, M, N) → MARK(N)
MARK(U31(plus(x0, x1), y1, y2)) → U31ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
MARK(U21(U41(x0, x1), y1)) → U21ACTIVE(U41Active(mark(x0), x1), y1)
MARK(U11(U22(x0), y1, y2)) → U11ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(isNat(x1)) → ISNATACTIVE(x1)
MARK(U12(x(x0, x1), y1)) → U12ACTIVE(xActive(mark(x0), mark(x1)), y1)
U12ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(U31(U22(x0), y1, y2)) → U31ACTIVE(U22Active(mark(x0)), y1, y2)
U21ACTIVE(tt, V1) → ISNATACTIVE(V1)
MARK(U31(U32(x0, x1), y1, y2)) → U31ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(U31(isNat(x0), y1, y2)) → U31ACTIVE(isNatActive(x0), y1, y2)
MARK(U11(U71(x0, x1, x2), y1, y2)) → U11ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
ISNATKINDACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U31(and(x0, x1), y1, y2)) → U31ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(U21(isNat(x0), y1)) → U21ACTIVE(isNatActive(x0), y1)
MARK(plus(x1, x2)) → PLUSACTIVE(mark(x1), mark(x2))
ISNATKINDACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
PLUSACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U33(x1)) → MARK(x1)
MARK(U11(x(x0, x1), y1, y2)) → U11ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
ISNATKINDACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
MARK(U11(U51(x0, x1, x2), y1, y2)) → U11ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
ISNATKINDACTIVE(x(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
U11ACTIVE(tt, plus(x0, x1), y1) → U12ACTIVE(U11Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U21(U31(x0, x1, x2), y1)) → U21ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U41(x1, x2)) → MARK(x1)
ISNATACTIVE(s(V1)) → U21ACTIVE(isNatKindActive(V1), V1)
MARK(U11(isNat(x0), y1, y2)) → U11ACTIVE(isNatActive(x0), y1, y2)
ISNATKINDACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U12(U33(x0), y1)) → U12ACTIVE(U33Active(mark(x0)), y1)
ISNATACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U31(tt, y1, y2)) → U31ACTIVE(tt, y1, y2)
MARK(U31(U31(x0, x1, x2), y1, y2)) → U31ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U21(U22(x0), y1)) → U21ACTIVE(U22Active(mark(x0)), y1)
MARK(U12(U13(x0), y1)) → U12ACTIVE(U13Active(mark(x0)), y1)
MARK(U31(isNatKind(x0), y1, y2)) → U31ACTIVE(isNatKindActive(x0), y1, y2)
U31ACTIVE(tt, V1, V2) → U32ACTIVE(isNatActive(V1), V2)
MARK(U31(x1, x2, x3)) → MARK(x1)
MARK(U11(isNatKind(x0), y1, y2)) → U11ACTIVE(isNatKindActive(x0), y1, y2)
MARK(U21(U13(x0), y1)) → U21ACTIVE(U13Active(mark(x0)), y1)
XACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
MARK(U32(x1, x2)) → MARK(x1)
ISNATKINDACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
MARK(U12(U32(x0, x1), y1)) → U12ACTIVE(U32Active(mark(x0), x1), y1)
mark(U11(x1, x2, x3)) → U11Active(mark(x1), x2, x3)
U11Active(x1, x2, x3) → U11(x1, x2, x3)
mark(U12(x1, x2)) → U12Active(mark(x1), x2)
U12Active(x1, x2) → U12(x1, x2)
mark(U13(x1)) → U13Active(mark(x1))
U13Active(x1) → U13(x1)
mark(U21(x1, x2)) → U21Active(mark(x1), x2)
U21Active(x1, x2) → U21(x1, x2)
mark(U22(x1)) → U22Active(mark(x1))
U22Active(x1) → U22(x1)
mark(U31(x1, x2, x3)) → U31Active(mark(x1), x2, x3)
U31Active(x1, x2, x3) → U31(x1, x2, x3)
mark(U32(x1, x2)) → U32Active(mark(x1), x2)
U32Active(x1, x2) → U32(x1, x2)
mark(U33(x1)) → U33Active(mark(x1))
U33Active(x1) → U33(x1)
mark(U41(x1, x2)) → U41Active(mark(x1), x2)
U41Active(x1, x2) → U41(x1, x2)
mark(U51(x1, x2, x3)) → U51Active(mark(x1), x2, x3)
U51Active(x1, x2, x3) → U51(x1, x2, x3)
mark(U61(x1)) → U61Active(mark(x1))
U61Active(x1) → U61(x1)
mark(U71(x1, x2, x3)) → U71Active(mark(x1), x2, x3)
U71Active(x1, x2, x3) → U71(x1, x2, x3)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatKind(x1)) → isNatKindActive(x1)
isNatKindActive(x1) → isNatKind(x1)
mark(plus(x1, x2)) → plusActive(mark(x1), mark(x2))
plusActive(x1, x2) → plus(x1, x2)
mark(x(x1, x2)) → xActive(mark(x1), mark(x2))
xActive(x1, x2) → x(x1, x2)
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(0) → 0
U11Active(tt, V1, V2) → U12Active(isNatActive(V1), V2)
U12Active(tt, V2) → U13Active(isNatActive(V2))
U13Active(tt) → tt
U21Active(tt, V1) → U22Active(isNatActive(V1))
U22Active(tt) → tt
U31Active(tt, V1, V2) → U32Active(isNatActive(V1), V2)
U32Active(tt, V2) → U33Active(isNatActive(V2))
U33Active(tt) → tt
U41Active(tt, N) → mark(N)
U51Active(tt, M, N) → s(plusActive(mark(N), mark(M)))
U61Active(tt) → 0
U71Active(tt, M, N) → plusActive(xActive(mark(N), mark(M)), mark(N))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(plus(V1, V2)) → U11Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatActive(s(V1)) → U21Active(isNatKindActive(V1), V1)
isNatActive(x(V1, V2)) → U31Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatKindActive(0) → tt
isNatKindActive(plus(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
isNatKindActive(s(V1)) → isNatKindActive(V1)
isNatKindActive(x(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
plusActive(N, 0) → U41Active(andActive(isNatActive(N), isNatKind(N)), N)
plusActive(N, s(M)) → U51Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
xActive(N, 0) → U61Active(andActive(isNatActive(N), isNatKind(N)))
xActive(N, s(M)) → U71Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ Improved Ferreira Ribeiro-Transformation
U51ACTIVE(tt, M, N) → MARK(M)
MARK(U21(isNatKind(x0), y1)) → U21ACTIVE(isNatKindActive(x0), y1)
MARK(U11(U31(x0, x1, x2), y1, y2)) → U11ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U31(U71(x0, x1, x2), y1, y2)) → U31ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
XACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U11(and(x0, x1), y1, y2)) → U11ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(U11(U11(x0, x1, x2), y1, y2)) → U11ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(U11(x1, x2, x3)) → MARK(x1)
MARK(x(x1, x2)) → MARK(x2)
ISNATACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ISNATACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
U71ACTIVE(tt, M, N) → PLUSACTIVE(xActive(mark(N), mark(M)), mark(N))
ISNATKINDACTIVE(x(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ANDACTIVE(tt, X) → MARK(X)
MARK(U12(U71(x0, x1, x2), y1)) → U12ACTIVE(U71Active(mark(x0), x1, x2), y1)
U51ACTIVE(tt, M, N) → MARK(N)
MARK(U12(U22(x0), y1)) → U12ACTIVE(U22Active(mark(x0)), y1)
MARK(U11(U61(x0), y1, y2)) → U11ACTIVE(U61Active(mark(x0)), y1, y2)
MARK(U12(U12(x0, x1), y1)) → U12ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U21(U32(x0, x1), y1)) → U21ACTIVE(U32Active(mark(x0), x1), y1)
MARK(U51(x1, x2, x3)) → MARK(x1)
MARK(U12(isNatKind(x0), y1)) → U12ACTIVE(isNatKindActive(x0), y1)
MARK(U31(x(x0, x1), y1, y2)) → U31ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
MARK(U71(x1, x2, x3)) → U71ACTIVE(mark(x1), x2, x3)
MARK(U32(x1, x2)) → U32ACTIVE(mark(x1), x2)
MARK(U21(x(x0, x1), y1)) → U21ACTIVE(xActive(mark(x0), mark(x1)), y1)
PLUSACTIVE(N, s(M)) → U51ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(and(x1, x2)) → ANDACTIVE(mark(x1), x2)
U11ACTIVE(tt, s(x0), y1) → U12ACTIVE(U21Active(isNatKindActive(x0), x0), y1)
MARK(U31(U41(x0, x1), y1, y2)) → U31ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(s(x1)) → MARK(x1)
MARK(U31(U12(x0, x1), y1, y2)) → U31ACTIVE(U12Active(mark(x0), x1), y1, y2)
MARK(U21(U51(x0, x1, x2), y1)) → U21ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U12(plus(x0, x1), y1)) → U12ACTIVE(plusActive(mark(x0), mark(x1)), y1)
ISNATACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
U11ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(plus(x1, x2)) → MARK(x1)
ISNATACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U12(U31(x0, x1, x2), y1)) → U12ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U21(and(x0, x1), y1)) → U21ACTIVE(andActive(mark(x0), x1), y1)
MARK(U21(U12(x0, x1), y1)) → U21ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U11(U32(x0, x1), y1, y2)) → U11ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(U12(U51(x0, x1, x2), y1)) → U12ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U12(tt, y1)) → U12ACTIVE(tt, y1)
MARK(U11(U33(x0), y1, y2)) → U11ACTIVE(U33Active(mark(x0)), y1, y2)
MARK(U51(x1, x2, x3)) → U51ACTIVE(mark(x1), x2, x3)
U31ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(U12(U61(x0), y1)) → U12ACTIVE(U61Active(mark(x0)), y1)
ISNATKINDACTIVE(x(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
MARK(U12(U41(x0, x1), y1)) → U12ACTIVE(U41Active(mark(x0), x1), y1)
ISNATACTIVE(x(V1, V2)) → U31ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
ISNATACTIVE(plus(V1, V2)) → U11ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U12(isNat(x0), y1)) → U12ACTIVE(isNatActive(x0), y1)
MARK(U11(U41(x0, x1), y1, y2)) → U11ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(and(x1, x2)) → MARK(x1)
MARK(U21(U61(x0), y1)) → U21ACTIVE(U61Active(mark(x0)), y1)
PLUSACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
MARK(U11(plus(x0, x1), y1, y2)) → U11ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
ISNATACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
MARK(U11(U21(x0, x1), y1, y2)) → U11ACTIVE(U21Active(mark(x0), x1), y1, y2)
ISNATACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
MARK(U61(x1)) → MARK(x1)
MARK(U21(U71(x0, x1, x2), y1)) → U21ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U22(x1)) → MARK(x1)
U11ACTIVE(tt, 0, y1) → U12ACTIVE(tt, y1)
MARK(x(x1, x2)) → MARK(x1)
MARK(U31(U33(x0), y1, y2)) → U31ACTIVE(U33Active(mark(x0)), y1, y2)
MARK(U12(and(x0, x1), y1)) → U12ACTIVE(andActive(mark(x0), x1), y1)
XACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U31(U13(x0), y1, y2)) → U31ACTIVE(U13Active(mark(x0)), y1, y2)
MARK(U21(U11(x0, x1, x2), y1)) → U21ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U13(x1)) → MARK(x1)
XACTIVE(N, s(M)) → U71ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
ISNATKINDACTIVE(x(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U31(U51(x0, x1, x2), y1, y2)) → U31ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
MARK(U31(U11(x0, x1, x2), y1, y2)) → U31ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
XACTIVE(N, s(M)) → ISNATACTIVE(M)
U41ACTIVE(tt, N) → MARK(N)
ISNATKINDACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
U71ACTIVE(tt, M, N) → MARK(M)
ISNATACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(U12(U21(x0, x1), y1)) → U12ACTIVE(U21Active(mark(x0), x1), y1)
MARK(U21(plus(x0, x1), y1)) → U21ACTIVE(plusActive(mark(x0), mark(x1)), y1)
U32ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(U21(U33(x0), y1)) → U21ACTIVE(U33Active(mark(x0)), y1)
MARK(U21(tt, y1)) → U21ACTIVE(tt, y1)
MARK(U12(x1, x2)) → MARK(x1)
MARK(plus(x1, x2)) → MARK(x2)
U11ACTIVE(tt, x(x0, x1), y1) → U12ACTIVE(U31Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U71(x1, x2, x3)) → MARK(x1)
PLUSACTIVE(N, s(M)) → ISNATACTIVE(M)
MARK(U12(U11(x0, x1, x2), y1)) → U12ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U21(x1, x2)) → MARK(x1)
MARK(U31(U61(x0), y1, y2)) → U31ACTIVE(U61Active(mark(x0)), y1, y2)
XACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
PLUSACTIVE(N, 0) → U41ACTIVE(andActive(isNatActive(N), isNatKind(N)), N)
U51ACTIVE(tt, M, N) → PLUSACTIVE(mark(N), mark(M))
ISNATKINDACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U41(x1, x2)) → U41ACTIVE(mark(x1), x2)
MARK(U11(U12(x0, x1), y1, y2)) → U11ACTIVE(U12Active(mark(x0), x1), y1, y2)
MARK(x(x1, x2)) → XACTIVE(mark(x1), mark(x2))
MARK(U11(tt, y1, y2)) → U11ACTIVE(tt, y1, y2)
MARK(U11(U13(x0), y1, y2)) → U11ACTIVE(U13Active(mark(x0)), y1, y2)
MARK(U21(U21(x0, x1), y1)) → U21ACTIVE(U21Active(mark(x0), x1), y1)
U71ACTIVE(tt, M, N) → XACTIVE(mark(N), mark(M))
MARK(U31(U21(x0, x1), y1, y2)) → U31ACTIVE(U21Active(mark(x0), x1), y1, y2)
U71ACTIVE(tt, M, N) → MARK(N)
MARK(isNatKind(x1)) → ISNATKINDACTIVE(x1)
MARK(U31(plus(x0, x1), y1, y2)) → U31ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
MARK(U21(U41(x0, x1), y1)) → U21ACTIVE(U41Active(mark(x0), x1), y1)
MARK(U11(U22(x0), y1, y2)) → U11ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(isNat(x1)) → ISNATACTIVE(x1)
MARK(U12(x(x0, x1), y1)) → U12ACTIVE(xActive(mark(x0), mark(x1)), y1)
U12ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(U31(U22(x0), y1, y2)) → U31ACTIVE(U22Active(mark(x0)), y1, y2)
U21ACTIVE(tt, V1) → ISNATACTIVE(V1)
MARK(U31(U32(x0, x1), y1, y2)) → U31ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(U31(isNat(x0), y1, y2)) → U31ACTIVE(isNatActive(x0), y1, y2)
ISNATKINDACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U11(U71(x0, x1, x2), y1, y2)) → U11ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
MARK(U31(and(x0, x1), y1, y2)) → U31ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(U21(isNat(x0), y1)) → U21ACTIVE(isNatActive(x0), y1)
MARK(plus(x1, x2)) → PLUSACTIVE(mark(x1), mark(x2))
PLUSACTIVE(N, 0) → ISNATACTIVE(N)
ISNATKINDACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U33(x1)) → MARK(x1)
MARK(U11(x(x0, x1), y1, y2)) → U11ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
ISNATKINDACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
ISNATKINDACTIVE(x(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U11(U51(x0, x1, x2), y1, y2)) → U11ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
U11ACTIVE(tt, plus(x0, x1), y1) → U12ACTIVE(U11Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U21(U31(x0, x1, x2), y1)) → U21ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U41(x1, x2)) → MARK(x1)
ISNATACTIVE(s(V1)) → U21ACTIVE(isNatKindActive(V1), V1)
MARK(U11(isNat(x0), y1, y2)) → U11ACTIVE(isNatActive(x0), y1, y2)
ISNATKINDACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U12(U33(x0), y1)) → U12ACTIVE(U33Active(mark(x0)), y1)
ISNATACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U31(tt, y1, y2)) → U31ACTIVE(tt, y1, y2)
MARK(U31(U31(x0, x1, x2), y1, y2)) → U31ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U21(U22(x0), y1)) → U21ACTIVE(U22Active(mark(x0)), y1)
MARK(U12(U13(x0), y1)) → U12ACTIVE(U13Active(mark(x0)), y1)
MARK(U31(isNatKind(x0), y1, y2)) → U31ACTIVE(isNatKindActive(x0), y1, y2)
U31ACTIVE(tt, V1, V2) → U32ACTIVE(isNatActive(V1), V2)
MARK(U31(x1, x2, x3)) → MARK(x1)
MARK(U21(U13(x0), y1)) → U21ACTIVE(U13Active(mark(x0)), y1)
MARK(U11(isNatKind(x0), y1, y2)) → U11ACTIVE(isNatKindActive(x0), y1, y2)
MARK(U32(x1, x2)) → MARK(x1)
XACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
MARK(U12(U32(x0, x1), y1)) → U12ACTIVE(U32Active(mark(x0), x1), y1)
ISNATKINDACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
mark(U11(x1, x2, x3)) → U11Active(mark(x1), x2, x3)
U11Active(x1, x2, x3) → U11(x1, x2, x3)
mark(U12(x1, x2)) → U12Active(mark(x1), x2)
U12Active(x1, x2) → U12(x1, x2)
mark(U13(x1)) → U13Active(mark(x1))
U13Active(x1) → U13(x1)
mark(U21(x1, x2)) → U21Active(mark(x1), x2)
U21Active(x1, x2) → U21(x1, x2)
mark(U22(x1)) → U22Active(mark(x1))
U22Active(x1) → U22(x1)
mark(U31(x1, x2, x3)) → U31Active(mark(x1), x2, x3)
U31Active(x1, x2, x3) → U31(x1, x2, x3)
mark(U32(x1, x2)) → U32Active(mark(x1), x2)
U32Active(x1, x2) → U32(x1, x2)
mark(U33(x1)) → U33Active(mark(x1))
U33Active(x1) → U33(x1)
mark(U41(x1, x2)) → U41Active(mark(x1), x2)
U41Active(x1, x2) → U41(x1, x2)
mark(U51(x1, x2, x3)) → U51Active(mark(x1), x2, x3)
U51Active(x1, x2, x3) → U51(x1, x2, x3)
mark(U61(x1)) → U61Active(mark(x1))
U61Active(x1) → U61(x1)
mark(U71(x1, x2, x3)) → U71Active(mark(x1), x2, x3)
U71Active(x1, x2, x3) → U71(x1, x2, x3)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatKind(x1)) → isNatKindActive(x1)
isNatKindActive(x1) → isNatKind(x1)
mark(plus(x1, x2)) → plusActive(mark(x1), mark(x2))
plusActive(x1, x2) → plus(x1, x2)
mark(x(x1, x2)) → xActive(mark(x1), mark(x2))
xActive(x1, x2) → x(x1, x2)
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(0) → 0
U11Active(tt, V1, V2) → U12Active(isNatActive(V1), V2)
U12Active(tt, V2) → U13Active(isNatActive(V2))
U13Active(tt) → tt
U21Active(tt, V1) → U22Active(isNatActive(V1))
U22Active(tt) → tt
U31Active(tt, V1, V2) → U32Active(isNatActive(V1), V2)
U32Active(tt, V2) → U33Active(isNatActive(V2))
U33Active(tt) → tt
U41Active(tt, N) → mark(N)
U51Active(tt, M, N) → s(plusActive(mark(N), mark(M)))
U61Active(tt) → 0
U71Active(tt, M, N) → plusActive(xActive(mark(N), mark(M)), mark(N))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(plus(V1, V2)) → U11Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatActive(s(V1)) → U21Active(isNatKindActive(V1), V1)
isNatActive(x(V1, V2)) → U31Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatKindActive(0) → tt
isNatKindActive(plus(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
isNatKindActive(s(V1)) → isNatKindActive(V1)
isNatKindActive(x(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
plusActive(N, 0) → U41Active(andActive(isNatActive(N), isNatKind(N)), N)
plusActive(N, s(M)) → U51Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
xActive(N, 0) → U61Active(andActive(isNatActive(N), isNatKind(N)))
xActive(N, s(M)) → U71Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(U32(U32(x0, x1), y1)) → U32ACTIVE(U32Active(mark(x0), x1), y1)
MARK(U32(U41(x0, x1), y1)) → U32ACTIVE(U41Active(mark(x0), x1), y1)
MARK(U32(tt, y1)) → U32ACTIVE(tt, y1)
MARK(U32(U22(x0), y1)) → U32ACTIVE(U22Active(mark(x0)), y1)
MARK(U32(U71(x0, x1, x2), y1)) → U32ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U32(x(x0, x1), y1)) → U32ACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(U32(plus(x0, x1), y1)) → U32ACTIVE(plusActive(mark(x0), mark(x1)), y1)
MARK(U32(isNatKind(x0), y1)) → U32ACTIVE(isNatKindActive(x0), y1)
MARK(U32(isNat(x0), y1)) → U32ACTIVE(isNatActive(x0), y1)
MARK(U32(U13(x0), y1)) → U32ACTIVE(U13Active(mark(x0)), y1)
MARK(U32(U21(x0, x1), y1)) → U32ACTIVE(U21Active(mark(x0), x1), y1)
MARK(U32(U33(x0), y1)) → U32ACTIVE(U33Active(mark(x0)), y1)
MARK(U32(U51(x0, x1, x2), y1)) → U32ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U32(s(x0), y1)) → U32ACTIVE(s(mark(x0)), y1)
MARK(U32(U61(x0), y1)) → U32ACTIVE(U61Active(mark(x0)), y1)
MARK(U32(U31(x0, x1, x2), y1)) → U32ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U32(0, y1)) → U32ACTIVE(0, y1)
MARK(U32(U12(x0, x1), y1)) → U32ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U32(U11(x0, x1, x2), y1)) → U32ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U32(and(x0, x1), y1)) → U32ACTIVE(andActive(mark(x0), x1), y1)
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ Improved Ferreira Ribeiro-Transformation
U51ACTIVE(tt, M, N) → MARK(M)
MARK(U11(U31(x0, x1, x2), y1, y2)) → U11ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U21(isNatKind(x0), y1)) → U21ACTIVE(isNatKindActive(x0), y1)
XACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U31(U71(x0, x1, x2), y1, y2)) → U31ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
MARK(U11(and(x0, x1), y1, y2)) → U11ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(U32(isNat(x0), y1)) → U32ACTIVE(isNatActive(x0), y1)
MARK(U11(U11(x0, x1, x2), y1, y2)) → U11ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(x(x1, x2)) → MARK(x2)
MARK(U11(x1, x2, x3)) → MARK(x1)
ISNATACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ISNATACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
U71ACTIVE(tt, M, N) → PLUSACTIVE(xActive(mark(N), mark(M)), mark(N))
ANDACTIVE(tt, X) → MARK(X)
ISNATKINDACTIVE(x(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
U51ACTIVE(tt, M, N) → MARK(N)
MARK(U12(U71(x0, x1, x2), y1)) → U12ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U32(0, y1)) → U32ACTIVE(0, y1)
MARK(U11(U61(x0), y1, y2)) → U11ACTIVE(U61Active(mark(x0)), y1, y2)
MARK(U12(U22(x0), y1)) → U12ACTIVE(U22Active(mark(x0)), y1)
MARK(U32(U11(x0, x1, x2), y1)) → U32ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U12(U12(x0, x1), y1)) → U12ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U21(U32(x0, x1), y1)) → U21ACTIVE(U32Active(mark(x0), x1), y1)
MARK(U32(tt, y1)) → U32ACTIVE(tt, y1)
MARK(U51(x1, x2, x3)) → MARK(x1)
MARK(U12(isNatKind(x0), y1)) → U12ACTIVE(isNatKindActive(x0), y1)
MARK(U32(x(x0, x1), y1)) → U32ACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(U71(x1, x2, x3)) → U71ACTIVE(mark(x1), x2, x3)
MARK(U31(x(x0, x1), y1, y2)) → U31ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
MARK(U32(U13(x0), y1)) → U32ACTIVE(U13Active(mark(x0)), y1)
MARK(U21(x(x0, x1), y1)) → U21ACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(and(x1, x2)) → ANDACTIVE(mark(x1), x2)
PLUSACTIVE(N, s(M)) → U51ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
U11ACTIVE(tt, s(x0), y1) → U12ACTIVE(U21Active(isNatKindActive(x0), x0), y1)
MARK(U31(U41(x0, x1), y1, y2)) → U31ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(s(x1)) → MARK(x1)
MARK(U12(plus(x0, x1), y1)) → U12ACTIVE(plusActive(mark(x0), mark(x1)), y1)
MARK(U21(U51(x0, x1, x2), y1)) → U21ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U31(U12(x0, x1), y1, y2)) → U31ACTIVE(U12Active(mark(x0), x1), y1, y2)
ISNATACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
U11ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(plus(x1, x2)) → MARK(x1)
ISNATACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U32(U41(x0, x1), y1)) → U32ACTIVE(U41Active(mark(x0), x1), y1)
MARK(U12(U31(x0, x1, x2), y1)) → U12ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U21(and(x0, x1), y1)) → U21ACTIVE(andActive(mark(x0), x1), y1)
MARK(U21(U12(x0, x1), y1)) → U21ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U32(U22(x0), y1)) → U32ACTIVE(U22Active(mark(x0)), y1)
MARK(U11(U32(x0, x1), y1, y2)) → U11ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(U12(U51(x0, x1, x2), y1)) → U12ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U11(U33(x0), y1, y2)) → U11ACTIVE(U33Active(mark(x0)), y1, y2)
MARK(U12(tt, y1)) → U12ACTIVE(tt, y1)
U31ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(U51(x1, x2, x3)) → U51ACTIVE(mark(x1), x2, x3)
MARK(U12(U61(x0), y1)) → U12ACTIVE(U61Active(mark(x0)), y1)
ISNATKINDACTIVE(x(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
MARK(U12(U41(x0, x1), y1)) → U12ACTIVE(U41Active(mark(x0), x1), y1)
ISNATACTIVE(plus(V1, V2)) → U11ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
ISNATACTIVE(x(V1, V2)) → U31ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U12(isNat(x0), y1)) → U12ACTIVE(isNatActive(x0), y1)
MARK(U11(U41(x0, x1), y1, y2)) → U11ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(and(x1, x2)) → MARK(x1)
MARK(U11(plus(x0, x1), y1, y2)) → U11ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
PLUSACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
MARK(U21(U61(x0), y1)) → U21ACTIVE(U61Active(mark(x0)), y1)
PLUSACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
ISNATACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U11(U21(x0, x1), y1, y2)) → U11ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(U61(x1)) → MARK(x1)
ISNATACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
MARK(U21(U71(x0, x1, x2), y1)) → U21ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U22(x1)) → MARK(x1)
U11ACTIVE(tt, 0, y1) → U12ACTIVE(tt, y1)
MARK(x(x1, x2)) → MARK(x1)
MARK(U31(U33(x0), y1, y2)) → U31ACTIVE(U33Active(mark(x0)), y1, y2)
XACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U12(and(x0, x1), y1)) → U12ACTIVE(andActive(mark(x0), x1), y1)
MARK(U31(U13(x0), y1, y2)) → U31ACTIVE(U13Active(mark(x0)), y1, y2)
MARK(U21(U11(x0, x1, x2), y1)) → U21ACTIVE(U11Active(mark(x0), x1, x2), y1)
XACTIVE(N, s(M)) → U71ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(U13(x1)) → MARK(x1)
ISNATKINDACTIVE(x(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U31(U11(x0, x1, x2), y1, y2)) → U31ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(U31(U51(x0, x1, x2), y1, y2)) → U31ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
MARK(U32(U32(x0, x1), y1)) → U32ACTIVE(U32Active(mark(x0), x1), y1)
XACTIVE(N, s(M)) → ISNATACTIVE(M)
U41ACTIVE(tt, N) → MARK(N)
ISNATKINDACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
U71ACTIVE(tt, M, N) → MARK(M)
ISNATACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(U32(plus(x0, x1), y1)) → U32ACTIVE(plusActive(mark(x0), mark(x1)), y1)
MARK(U12(U21(x0, x1), y1)) → U12ACTIVE(U21Active(mark(x0), x1), y1)
MARK(U32(U21(x0, x1), y1)) → U32ACTIVE(U21Active(mark(x0), x1), y1)
U32ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(U21(plus(x0, x1), y1)) → U21ACTIVE(plusActive(mark(x0), mark(x1)), y1)
U11ACTIVE(tt, x(x0, x1), y1) → U12ACTIVE(U31Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(plus(x1, x2)) → MARK(x2)
MARK(U12(x1, x2)) → MARK(x1)
MARK(U21(tt, y1)) → U21ACTIVE(tt, y1)
MARK(U21(U33(x0), y1)) → U21ACTIVE(U33Active(mark(x0)), y1)
MARK(U71(x1, x2, x3)) → MARK(x1)
MARK(U32(U61(x0), y1)) → U32ACTIVE(U61Active(mark(x0)), y1)
PLUSACTIVE(N, s(M)) → ISNATACTIVE(M)
MARK(U21(x1, x2)) → MARK(x1)
MARK(U12(U11(x0, x1, x2), y1)) → U12ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U31(U61(x0), y1, y2)) → U31ACTIVE(U61Active(mark(x0)), y1, y2)
XACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
PLUSACTIVE(N, 0) → U41ACTIVE(andActive(isNatActive(N), isNatKind(N)), N)
U51ACTIVE(tt, M, N) → PLUSACTIVE(mark(N), mark(M))
MARK(U32(and(x0, x1), y1)) → U32ACTIVE(andActive(mark(x0), x1), y1)
ISNATKINDACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U11(U12(x0, x1), y1, y2)) → U11ACTIVE(U12Active(mark(x0), x1), y1, y2)
MARK(U41(x1, x2)) → U41ACTIVE(mark(x1), x2)
MARK(x(x1, x2)) → XACTIVE(mark(x1), mark(x2))
MARK(U11(tt, y1, y2)) → U11ACTIVE(tt, y1, y2)
MARK(U11(U13(x0), y1, y2)) → U11ACTIVE(U13Active(mark(x0)), y1, y2)
MARK(U21(U21(x0, x1), y1)) → U21ACTIVE(U21Active(mark(x0), x1), y1)
U71ACTIVE(tt, M, N) → XACTIVE(mark(N), mark(M))
MARK(U31(U21(x0, x1), y1, y2)) → U31ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(isNatKind(x1)) → ISNATKINDACTIVE(x1)
U71ACTIVE(tt, M, N) → MARK(N)
MARK(U21(U41(x0, x1), y1)) → U21ACTIVE(U41Active(mark(x0), x1), y1)
MARK(U31(plus(x0, x1), y1, y2)) → U31ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
MARK(U11(U22(x0), y1, y2)) → U11ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(isNat(x1)) → ISNATACTIVE(x1)
MARK(U32(U12(x0, x1), y1)) → U32ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U12(x(x0, x1), y1)) → U12ACTIVE(xActive(mark(x0), mark(x1)), y1)
U12ACTIVE(tt, V2) → ISNATACTIVE(V2)
U21ACTIVE(tt, V1) → ISNATACTIVE(V1)
MARK(U31(U22(x0), y1, y2)) → U31ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(U31(U32(x0, x1), y1, y2)) → U31ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(U31(isNat(x0), y1, y2)) → U31ACTIVE(isNatActive(x0), y1, y2)
MARK(U11(U71(x0, x1, x2), y1, y2)) → U11ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
ISNATKINDACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U32(U71(x0, x1, x2), y1)) → U32ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U21(isNat(x0), y1)) → U21ACTIVE(isNatActive(x0), y1)
MARK(U31(and(x0, x1), y1, y2)) → U31ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(plus(x1, x2)) → PLUSACTIVE(mark(x1), mark(x2))
ISNATKINDACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
PLUSACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U32(U33(x0), y1)) → U32ACTIVE(U33Active(mark(x0)), y1)
MARK(U33(x1)) → MARK(x1)
MARK(U11(x(x0, x1), y1, y2)) → U11ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
ISNATKINDACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
MARK(U11(U51(x0, x1, x2), y1, y2)) → U11ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
ISNATKINDACTIVE(x(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
U11ACTIVE(tt, plus(x0, x1), y1) → U12ACTIVE(U11Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U21(U31(x0, x1, x2), y1)) → U21ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U41(x1, x2)) → MARK(x1)
ISNATACTIVE(s(V1)) → U21ACTIVE(isNatKindActive(V1), V1)
MARK(U11(isNat(x0), y1, y2)) → U11ACTIVE(isNatActive(x0), y1, y2)
ISNATKINDACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U12(U33(x0), y1)) → U12ACTIVE(U33Active(mark(x0)), y1)
ISNATACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U32(isNatKind(x0), y1)) → U32ACTIVE(isNatKindActive(x0), y1)
MARK(U31(tt, y1, y2)) → U31ACTIVE(tt, y1, y2)
MARK(U21(U22(x0), y1)) → U21ACTIVE(U22Active(mark(x0)), y1)
MARK(U31(U31(x0, x1, x2), y1, y2)) → U31ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U32(U51(x0, x1, x2), y1)) → U32ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U12(U13(x0), y1)) → U12ACTIVE(U13Active(mark(x0)), y1)
MARK(U31(isNatKind(x0), y1, y2)) → U31ACTIVE(isNatKindActive(x0), y1, y2)
MARK(U32(s(x0), y1)) → U32ACTIVE(s(mark(x0)), y1)
U31ACTIVE(tt, V1, V2) → U32ACTIVE(isNatActive(V1), V2)
MARK(U32(U31(x0, x1, x2), y1)) → U32ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U31(x1, x2, x3)) → MARK(x1)
MARK(U11(isNatKind(x0), y1, y2)) → U11ACTIVE(isNatKindActive(x0), y1, y2)
MARK(U21(U13(x0), y1)) → U21ACTIVE(U13Active(mark(x0)), y1)
XACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
MARK(U32(x1, x2)) → MARK(x1)
ISNATKINDACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
MARK(U12(U32(x0, x1), y1)) → U12ACTIVE(U32Active(mark(x0), x1), y1)
mark(U11(x1, x2, x3)) → U11Active(mark(x1), x2, x3)
U11Active(x1, x2, x3) → U11(x1, x2, x3)
mark(U12(x1, x2)) → U12Active(mark(x1), x2)
U12Active(x1, x2) → U12(x1, x2)
mark(U13(x1)) → U13Active(mark(x1))
U13Active(x1) → U13(x1)
mark(U21(x1, x2)) → U21Active(mark(x1), x2)
U21Active(x1, x2) → U21(x1, x2)
mark(U22(x1)) → U22Active(mark(x1))
U22Active(x1) → U22(x1)
mark(U31(x1, x2, x3)) → U31Active(mark(x1), x2, x3)
U31Active(x1, x2, x3) → U31(x1, x2, x3)
mark(U32(x1, x2)) → U32Active(mark(x1), x2)
U32Active(x1, x2) → U32(x1, x2)
mark(U33(x1)) → U33Active(mark(x1))
U33Active(x1) → U33(x1)
mark(U41(x1, x2)) → U41Active(mark(x1), x2)
U41Active(x1, x2) → U41(x1, x2)
mark(U51(x1, x2, x3)) → U51Active(mark(x1), x2, x3)
U51Active(x1, x2, x3) → U51(x1, x2, x3)
mark(U61(x1)) → U61Active(mark(x1))
U61Active(x1) → U61(x1)
mark(U71(x1, x2, x3)) → U71Active(mark(x1), x2, x3)
U71Active(x1, x2, x3) → U71(x1, x2, x3)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatKind(x1)) → isNatKindActive(x1)
isNatKindActive(x1) → isNatKind(x1)
mark(plus(x1, x2)) → plusActive(mark(x1), mark(x2))
plusActive(x1, x2) → plus(x1, x2)
mark(x(x1, x2)) → xActive(mark(x1), mark(x2))
xActive(x1, x2) → x(x1, x2)
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(0) → 0
U11Active(tt, V1, V2) → U12Active(isNatActive(V1), V2)
U12Active(tt, V2) → U13Active(isNatActive(V2))
U13Active(tt) → tt
U21Active(tt, V1) → U22Active(isNatActive(V1))
U22Active(tt) → tt
U31Active(tt, V1, V2) → U32Active(isNatActive(V1), V2)
U32Active(tt, V2) → U33Active(isNatActive(V2))
U33Active(tt) → tt
U41Active(tt, N) → mark(N)
U51Active(tt, M, N) → s(plusActive(mark(N), mark(M)))
U61Active(tt) → 0
U71Active(tt, M, N) → plusActive(xActive(mark(N), mark(M)), mark(N))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(plus(V1, V2)) → U11Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatActive(s(V1)) → U21Active(isNatKindActive(V1), V1)
isNatActive(x(V1, V2)) → U31Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatKindActive(0) → tt
isNatKindActive(plus(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
isNatKindActive(s(V1)) → isNatKindActive(V1)
isNatKindActive(x(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
plusActive(N, 0) → U41Active(andActive(isNatActive(N), isNatKind(N)), N)
plusActive(N, s(M)) → U51Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
xActive(N, 0) → U61Active(andActive(isNatActive(N), isNatKind(N)))
xActive(N, s(M)) → U71Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ Improved Ferreira Ribeiro-Transformation
U51ACTIVE(tt, M, N) → MARK(M)
MARK(U21(isNatKind(x0), y1)) → U21ACTIVE(isNatKindActive(x0), y1)
MARK(U11(U31(x0, x1, x2), y1, y2)) → U11ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U31(U71(x0, x1, x2), y1, y2)) → U31ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
XACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U11(and(x0, x1), y1, y2)) → U11ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(U32(isNat(x0), y1)) → U32ACTIVE(isNatActive(x0), y1)
MARK(U11(U11(x0, x1, x2), y1, y2)) → U11ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(U11(x1, x2, x3)) → MARK(x1)
MARK(x(x1, x2)) → MARK(x2)
ISNATACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ISNATACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
U71ACTIVE(tt, M, N) → PLUSACTIVE(xActive(mark(N), mark(M)), mark(N))
ISNATKINDACTIVE(x(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ANDACTIVE(tt, X) → MARK(X)
MARK(U12(U71(x0, x1, x2), y1)) → U12ACTIVE(U71Active(mark(x0), x1, x2), y1)
U51ACTIVE(tt, M, N) → MARK(N)
MARK(U12(U22(x0), y1)) → U12ACTIVE(U22Active(mark(x0)), y1)
MARK(U11(U61(x0), y1, y2)) → U11ACTIVE(U61Active(mark(x0)), y1, y2)
MARK(U32(U11(x0, x1, x2), y1)) → U32ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U12(U12(x0, x1), y1)) → U12ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U21(U32(x0, x1), y1)) → U21ACTIVE(U32Active(mark(x0), x1), y1)
MARK(U32(tt, y1)) → U32ACTIVE(tt, y1)
MARK(U51(x1, x2, x3)) → MARK(x1)
MARK(U12(isNatKind(x0), y1)) → U12ACTIVE(isNatKindActive(x0), y1)
MARK(U32(x(x0, x1), y1)) → U32ACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(U31(x(x0, x1), y1, y2)) → U31ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
MARK(U71(x1, x2, x3)) → U71ACTIVE(mark(x1), x2, x3)
MARK(U32(U13(x0), y1)) → U32ACTIVE(U13Active(mark(x0)), y1)
MARK(U21(x(x0, x1), y1)) → U21ACTIVE(xActive(mark(x0), mark(x1)), y1)
PLUSACTIVE(N, s(M)) → U51ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(and(x1, x2)) → ANDACTIVE(mark(x1), x2)
U11ACTIVE(tt, s(x0), y1) → U12ACTIVE(U21Active(isNatKindActive(x0), x0), y1)
MARK(U31(U41(x0, x1), y1, y2)) → U31ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(s(x1)) → MARK(x1)
MARK(U31(U12(x0, x1), y1, y2)) → U31ACTIVE(U12Active(mark(x0), x1), y1, y2)
MARK(U21(U51(x0, x1, x2), y1)) → U21ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U12(plus(x0, x1), y1)) → U12ACTIVE(plusActive(mark(x0), mark(x1)), y1)
ISNATACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
U11ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(plus(x1, x2)) → MARK(x1)
ISNATACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U32(U41(x0, x1), y1)) → U32ACTIVE(U41Active(mark(x0), x1), y1)
MARK(U12(U31(x0, x1, x2), y1)) → U12ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U21(and(x0, x1), y1)) → U21ACTIVE(andActive(mark(x0), x1), y1)
MARK(U21(U12(x0, x1), y1)) → U21ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U32(U22(x0), y1)) → U32ACTIVE(U22Active(mark(x0)), y1)
MARK(U11(U32(x0, x1), y1, y2)) → U11ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(U12(U51(x0, x1, x2), y1)) → U12ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U12(tt, y1)) → U12ACTIVE(tt, y1)
MARK(U11(U33(x0), y1, y2)) → U11ACTIVE(U33Active(mark(x0)), y1, y2)
U31ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(U51(x1, x2, x3)) → U51ACTIVE(mark(x1), x2, x3)
MARK(U12(U61(x0), y1)) → U12ACTIVE(U61Active(mark(x0)), y1)
ISNATKINDACTIVE(x(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
MARK(U12(U41(x0, x1), y1)) → U12ACTIVE(U41Active(mark(x0), x1), y1)
ISNATACTIVE(x(V1, V2)) → U31ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
ISNATACTIVE(plus(V1, V2)) → U11ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U12(isNat(x0), y1)) → U12ACTIVE(isNatActive(x0), y1)
MARK(U11(U41(x0, x1), y1, y2)) → U11ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(and(x1, x2)) → MARK(x1)
MARK(U21(U61(x0), y1)) → U21ACTIVE(U61Active(mark(x0)), y1)
PLUSACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
MARK(U11(plus(x0, x1), y1, y2)) → U11ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
ISNATACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
MARK(U11(U21(x0, x1), y1, y2)) → U11ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(U61(x1)) → MARK(x1)
ISNATACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
MARK(U21(U71(x0, x1, x2), y1)) → U21ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U22(x1)) → MARK(x1)
U11ACTIVE(tt, 0, y1) → U12ACTIVE(tt, y1)
MARK(x(x1, x2)) → MARK(x1)
MARK(U31(U33(x0), y1, y2)) → U31ACTIVE(U33Active(mark(x0)), y1, y2)
MARK(U12(and(x0, x1), y1)) → U12ACTIVE(andActive(mark(x0), x1), y1)
XACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U31(U13(x0), y1, y2)) → U31ACTIVE(U13Active(mark(x0)), y1, y2)
MARK(U21(U11(x0, x1, x2), y1)) → U21ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U13(x1)) → MARK(x1)
XACTIVE(N, s(M)) → U71ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
ISNATKINDACTIVE(x(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U31(U51(x0, x1, x2), y1, y2)) → U31ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
MARK(U31(U11(x0, x1, x2), y1, y2)) → U31ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(U32(U32(x0, x1), y1)) → U32ACTIVE(U32Active(mark(x0), x1), y1)
XACTIVE(N, s(M)) → ISNATACTIVE(M)
U41ACTIVE(tt, N) → MARK(N)
ISNATKINDACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
U71ACTIVE(tt, M, N) → MARK(M)
ISNATACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(U32(plus(x0, x1), y1)) → U32ACTIVE(plusActive(mark(x0), mark(x1)), y1)
MARK(U12(U21(x0, x1), y1)) → U12ACTIVE(U21Active(mark(x0), x1), y1)
MARK(U32(U21(x0, x1), y1)) → U32ACTIVE(U21Active(mark(x0), x1), y1)
MARK(U21(plus(x0, x1), y1)) → U21ACTIVE(plusActive(mark(x0), mark(x1)), y1)
U32ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(U21(U33(x0), y1)) → U21ACTIVE(U33Active(mark(x0)), y1)
MARK(U21(tt, y1)) → U21ACTIVE(tt, y1)
MARK(U12(x1, x2)) → MARK(x1)
MARK(plus(x1, x2)) → MARK(x2)
U11ACTIVE(tt, x(x0, x1), y1) → U12ACTIVE(U31Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U71(x1, x2, x3)) → MARK(x1)
MARK(U32(U61(x0), y1)) → U32ACTIVE(U61Active(mark(x0)), y1)
PLUSACTIVE(N, s(M)) → ISNATACTIVE(M)
MARK(U12(U11(x0, x1, x2), y1)) → U12ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U21(x1, x2)) → MARK(x1)
MARK(U31(U61(x0), y1, y2)) → U31ACTIVE(U61Active(mark(x0)), y1, y2)
XACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
PLUSACTIVE(N, 0) → U41ACTIVE(andActive(isNatActive(N), isNatKind(N)), N)
U51ACTIVE(tt, M, N) → PLUSACTIVE(mark(N), mark(M))
MARK(U32(and(x0, x1), y1)) → U32ACTIVE(andActive(mark(x0), x1), y1)
ISNATKINDACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U41(x1, x2)) → U41ACTIVE(mark(x1), x2)
MARK(U11(U12(x0, x1), y1, y2)) → U11ACTIVE(U12Active(mark(x0), x1), y1, y2)
MARK(x(x1, x2)) → XACTIVE(mark(x1), mark(x2))
MARK(U11(tt, y1, y2)) → U11ACTIVE(tt, y1, y2)
MARK(U11(U13(x0), y1, y2)) → U11ACTIVE(U13Active(mark(x0)), y1, y2)
MARK(U21(U21(x0, x1), y1)) → U21ACTIVE(U21Active(mark(x0), x1), y1)
U71ACTIVE(tt, M, N) → XACTIVE(mark(N), mark(M))
MARK(U31(U21(x0, x1), y1, y2)) → U31ACTIVE(U21Active(mark(x0), x1), y1, y2)
U71ACTIVE(tt, M, N) → MARK(N)
MARK(isNatKind(x1)) → ISNATKINDACTIVE(x1)
MARK(U31(plus(x0, x1), y1, y2)) → U31ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
MARK(U21(U41(x0, x1), y1)) → U21ACTIVE(U41Active(mark(x0), x1), y1)
MARK(U11(U22(x0), y1, y2)) → U11ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(isNat(x1)) → ISNATACTIVE(x1)
MARK(U32(U12(x0, x1), y1)) → U32ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U12(x(x0, x1), y1)) → U12ACTIVE(xActive(mark(x0), mark(x1)), y1)
U12ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(U31(U22(x0), y1, y2)) → U31ACTIVE(U22Active(mark(x0)), y1, y2)
U21ACTIVE(tt, V1) → ISNATACTIVE(V1)
MARK(U31(U32(x0, x1), y1, y2)) → U31ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(U31(isNat(x0), y1, y2)) → U31ACTIVE(isNatActive(x0), y1, y2)
ISNATKINDACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U11(U71(x0, x1, x2), y1, y2)) → U11ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
MARK(U32(U71(x0, x1, x2), y1)) → U32ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U31(and(x0, x1), y1, y2)) → U31ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(U21(isNat(x0), y1)) → U21ACTIVE(isNatActive(x0), y1)
MARK(plus(x1, x2)) → PLUSACTIVE(mark(x1), mark(x2))
ISNATKINDACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
PLUSACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U32(U33(x0), y1)) → U32ACTIVE(U33Active(mark(x0)), y1)
MARK(U33(x1)) → MARK(x1)
MARK(U11(x(x0, x1), y1, y2)) → U11ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
ISNATKINDACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
ISNATKINDACTIVE(x(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U11(U51(x0, x1, x2), y1, y2)) → U11ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
U11ACTIVE(tt, plus(x0, x1), y1) → U12ACTIVE(U11Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U21(U31(x0, x1, x2), y1)) → U21ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U41(x1, x2)) → MARK(x1)
ISNATACTIVE(s(V1)) → U21ACTIVE(isNatKindActive(V1), V1)
MARK(U11(isNat(x0), y1, y2)) → U11ACTIVE(isNatActive(x0), y1, y2)
ISNATKINDACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U12(U33(x0), y1)) → U12ACTIVE(U33Active(mark(x0)), y1)
ISNATACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U32(isNatKind(x0), y1)) → U32ACTIVE(isNatKindActive(x0), y1)
MARK(U31(tt, y1, y2)) → U31ACTIVE(tt, y1, y2)
MARK(U31(U31(x0, x1, x2), y1, y2)) → U31ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U21(U22(x0), y1)) → U21ACTIVE(U22Active(mark(x0)), y1)
MARK(U32(U51(x0, x1, x2), y1)) → U32ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U12(U13(x0), y1)) → U12ACTIVE(U13Active(mark(x0)), y1)
MARK(U31(isNatKind(x0), y1, y2)) → U31ACTIVE(isNatKindActive(x0), y1, y2)
U31ACTIVE(tt, V1, V2) → U32ACTIVE(isNatActive(V1), V2)
MARK(U32(U31(x0, x1, x2), y1)) → U32ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U31(x1, x2, x3)) → MARK(x1)
MARK(U21(U13(x0), y1)) → U21ACTIVE(U13Active(mark(x0)), y1)
MARK(U11(isNatKind(x0), y1, y2)) → U11ACTIVE(isNatKindActive(x0), y1, y2)
MARK(U32(x1, x2)) → MARK(x1)
XACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
MARK(U12(U32(x0, x1), y1)) → U12ACTIVE(U32Active(mark(x0), x1), y1)
ISNATKINDACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
mark(U11(x1, x2, x3)) → U11Active(mark(x1), x2, x3)
U11Active(x1, x2, x3) → U11(x1, x2, x3)
mark(U12(x1, x2)) → U12Active(mark(x1), x2)
U12Active(x1, x2) → U12(x1, x2)
mark(U13(x1)) → U13Active(mark(x1))
U13Active(x1) → U13(x1)
mark(U21(x1, x2)) → U21Active(mark(x1), x2)
U21Active(x1, x2) → U21(x1, x2)
mark(U22(x1)) → U22Active(mark(x1))
U22Active(x1) → U22(x1)
mark(U31(x1, x2, x3)) → U31Active(mark(x1), x2, x3)
U31Active(x1, x2, x3) → U31(x1, x2, x3)
mark(U32(x1, x2)) → U32Active(mark(x1), x2)
U32Active(x1, x2) → U32(x1, x2)
mark(U33(x1)) → U33Active(mark(x1))
U33Active(x1) → U33(x1)
mark(U41(x1, x2)) → U41Active(mark(x1), x2)
U41Active(x1, x2) → U41(x1, x2)
mark(U51(x1, x2, x3)) → U51Active(mark(x1), x2, x3)
U51Active(x1, x2, x3) → U51(x1, x2, x3)
mark(U61(x1)) → U61Active(mark(x1))
U61Active(x1) → U61(x1)
mark(U71(x1, x2, x3)) → U71Active(mark(x1), x2, x3)
U71Active(x1, x2, x3) → U71(x1, x2, x3)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatKind(x1)) → isNatKindActive(x1)
isNatKindActive(x1) → isNatKind(x1)
mark(plus(x1, x2)) → plusActive(mark(x1), mark(x2))
plusActive(x1, x2) → plus(x1, x2)
mark(x(x1, x2)) → xActive(mark(x1), mark(x2))
xActive(x1, x2) → x(x1, x2)
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(0) → 0
U11Active(tt, V1, V2) → U12Active(isNatActive(V1), V2)
U12Active(tt, V2) → U13Active(isNatActive(V2))
U13Active(tt) → tt
U21Active(tt, V1) → U22Active(isNatActive(V1))
U22Active(tt) → tt
U31Active(tt, V1, V2) → U32Active(isNatActive(V1), V2)
U32Active(tt, V2) → U33Active(isNatActive(V2))
U33Active(tt) → tt
U41Active(tt, N) → mark(N)
U51Active(tt, M, N) → s(plusActive(mark(N), mark(M)))
U61Active(tt) → 0
U71Active(tt, M, N) → plusActive(xActive(mark(N), mark(M)), mark(N))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(plus(V1, V2)) → U11Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatActive(s(V1)) → U21Active(isNatKindActive(V1), V1)
isNatActive(x(V1, V2)) → U31Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatKindActive(0) → tt
isNatKindActive(plus(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
isNatKindActive(s(V1)) → isNatKindActive(V1)
isNatKindActive(x(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
plusActive(N, 0) → U41Active(andActive(isNatActive(N), isNatKind(N)), N)
plusActive(N, s(M)) → U51Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
xActive(N, 0) → U61Active(andActive(isNatActive(N), isNatKind(N)))
xActive(N, s(M)) → U71Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(U41(plus(x0, x1), y1)) → U41ACTIVE(plusActive(mark(x0), mark(x1)), y1)
MARK(U41(x(x0, x1), y1)) → U41ACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(U41(U71(x0, x1, x2), y1)) → U41ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U41(isNatKind(x0), y1)) → U41ACTIVE(isNatKindActive(x0), y1)
MARK(U41(U22(x0), y1)) → U41ACTIVE(U22Active(mark(x0)), y1)
MARK(U41(U51(x0, x1, x2), y1)) → U41ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U41(U12(x0, x1), y1)) → U41ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U41(and(x0, x1), y1)) → U41ACTIVE(andActive(mark(x0), x1), y1)
MARK(U41(U61(x0), y1)) → U41ACTIVE(U61Active(mark(x0)), y1)
MARK(U41(U13(x0), y1)) → U41ACTIVE(U13Active(mark(x0)), y1)
MARK(U41(0, y1)) → U41ACTIVE(0, y1)
MARK(U41(U32(x0, x1), y1)) → U41ACTIVE(U32Active(mark(x0), x1), y1)
MARK(U41(U31(x0, x1, x2), y1)) → U41ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U41(tt, y1)) → U41ACTIVE(tt, y1)
MARK(U41(U33(x0), y1)) → U41ACTIVE(U33Active(mark(x0)), y1)
MARK(U41(U21(x0, x1), y1)) → U41ACTIVE(U21Active(mark(x0), x1), y1)
MARK(U41(U41(x0, x1), y1)) → U41ACTIVE(U41Active(mark(x0), x1), y1)
MARK(U41(s(x0), y1)) → U41ACTIVE(s(mark(x0)), y1)
MARK(U41(isNat(x0), y1)) → U41ACTIVE(isNatActive(x0), y1)
MARK(U41(U11(x0, x1, x2), y1)) → U41ACTIVE(U11Active(mark(x0), x1, x2), y1)
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ Improved Ferreira Ribeiro-Transformation
U51ACTIVE(tt, M, N) → MARK(M)
MARK(U11(U31(x0, x1, x2), y1, y2)) → U11ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U21(isNatKind(x0), y1)) → U21ACTIVE(isNatKindActive(x0), y1)
XACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U31(U71(x0, x1, x2), y1, y2)) → U31ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
MARK(U11(and(x0, x1), y1, y2)) → U11ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(U32(isNat(x0), y1)) → U32ACTIVE(isNatActive(x0), y1)
MARK(U41(U51(x0, x1, x2), y1)) → U41ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U11(U11(x0, x1, x2), y1, y2)) → U11ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(x(x1, x2)) → MARK(x2)
MARK(U11(x1, x2, x3)) → MARK(x1)
ISNATACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ISNATACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
U71ACTIVE(tt, M, N) → PLUSACTIVE(xActive(mark(N), mark(M)), mark(N))
ANDACTIVE(tt, X) → MARK(X)
ISNATKINDACTIVE(x(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
U51ACTIVE(tt, M, N) → MARK(N)
MARK(U12(U71(x0, x1, x2), y1)) → U12ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U41(0, y1)) → U41ACTIVE(0, y1)
MARK(U41(tt, y1)) → U41ACTIVE(tt, y1)
MARK(U11(U61(x0), y1, y2)) → U11ACTIVE(U61Active(mark(x0)), y1, y2)
MARK(U12(U22(x0), y1)) → U12ACTIVE(U22Active(mark(x0)), y1)
MARK(U32(U11(x0, x1, x2), y1)) → U32ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U12(U12(x0, x1), y1)) → U12ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U21(U32(x0, x1), y1)) → U21ACTIVE(U32Active(mark(x0), x1), y1)
MARK(U32(tt, y1)) → U32ACTIVE(tt, y1)
MARK(U51(x1, x2, x3)) → MARK(x1)
MARK(U12(isNatKind(x0), y1)) → U12ACTIVE(isNatKindActive(x0), y1)
MARK(U32(x(x0, x1), y1)) → U32ACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(U71(x1, x2, x3)) → U71ACTIVE(mark(x1), x2, x3)
MARK(U31(x(x0, x1), y1, y2)) → U31ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
MARK(U32(U13(x0), y1)) → U32ACTIVE(U13Active(mark(x0)), y1)
MARK(U21(x(x0, x1), y1)) → U21ACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(and(x1, x2)) → ANDACTIVE(mark(x1), x2)
PLUSACTIVE(N, s(M)) → U51ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
U11ACTIVE(tt, s(x0), y1) → U12ACTIVE(U21Active(isNatKindActive(x0), x0), y1)
MARK(U31(U41(x0, x1), y1, y2)) → U31ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(s(x1)) → MARK(x1)
MARK(U12(plus(x0, x1), y1)) → U12ACTIVE(plusActive(mark(x0), mark(x1)), y1)
MARK(U21(U51(x0, x1, x2), y1)) → U21ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U31(U12(x0, x1), y1, y2)) → U31ACTIVE(U12Active(mark(x0), x1), y1, y2)
ISNATACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
U11ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(plus(x1, x2)) → MARK(x1)
ISNATACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U32(U41(x0, x1), y1)) → U32ACTIVE(U41Active(mark(x0), x1), y1)
MARK(U12(U31(x0, x1, x2), y1)) → U12ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U21(and(x0, x1), y1)) → U21ACTIVE(andActive(mark(x0), x1), y1)
MARK(U21(U12(x0, x1), y1)) → U21ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U41(U71(x0, x1, x2), y1)) → U41ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U11(U32(x0, x1), y1, y2)) → U11ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(U32(U22(x0), y1)) → U32ACTIVE(U22Active(mark(x0)), y1)
MARK(U12(U51(x0, x1, x2), y1)) → U12ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U11(U33(x0), y1, y2)) → U11ACTIVE(U33Active(mark(x0)), y1, y2)
MARK(U12(tt, y1)) → U12ACTIVE(tt, y1)
MARK(U51(x1, x2, x3)) → U51ACTIVE(mark(x1), x2, x3)
U31ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(U12(U61(x0), y1)) → U12ACTIVE(U61Active(mark(x0)), y1)
ISNATKINDACTIVE(x(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
MARK(U12(U41(x0, x1), y1)) → U12ACTIVE(U41Active(mark(x0), x1), y1)
ISNATACTIVE(plus(V1, V2)) → U11ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
ISNATACTIVE(x(V1, V2)) → U31ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U12(isNat(x0), y1)) → U12ACTIVE(isNatActive(x0), y1)
MARK(U11(U41(x0, x1), y1, y2)) → U11ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(and(x1, x2)) → MARK(x1)
MARK(U11(plus(x0, x1), y1, y2)) → U11ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
PLUSACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
MARK(U21(U61(x0), y1)) → U21ACTIVE(U61Active(mark(x0)), y1)
PLUSACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
ISNATACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U11(U21(x0, x1), y1, y2)) → U11ACTIVE(U21Active(mark(x0), x1), y1, y2)
ISNATACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
MARK(U61(x1)) → MARK(x1)
MARK(U41(isNatKind(x0), y1)) → U41ACTIVE(isNatKindActive(x0), y1)
MARK(U21(U71(x0, x1, x2), y1)) → U21ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U22(x1)) → MARK(x1)
MARK(U41(U12(x0, x1), y1)) → U41ACTIVE(U12Active(mark(x0), x1), y1)
U11ACTIVE(tt, 0, y1) → U12ACTIVE(tt, y1)
MARK(x(x1, x2)) → MARK(x1)
MARK(U31(U33(x0), y1, y2)) → U31ACTIVE(U33Active(mark(x0)), y1, y2)
XACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U12(and(x0, x1), y1)) → U12ACTIVE(andActive(mark(x0), x1), y1)
MARK(U31(U13(x0), y1, y2)) → U31ACTIVE(U13Active(mark(x0)), y1, y2)
MARK(U21(U11(x0, x1, x2), y1)) → U21ACTIVE(U11Active(mark(x0), x1, x2), y1)
XACTIVE(N, s(M)) → U71ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(U13(x1)) → MARK(x1)
MARK(U41(U13(x0), y1)) → U41ACTIVE(U13Active(mark(x0)), y1)
ISNATKINDACTIVE(x(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U31(U11(x0, x1, x2), y1, y2)) → U31ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(U31(U51(x0, x1, x2), y1, y2)) → U31ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
XACTIVE(N, s(M)) → ISNATACTIVE(M)
MARK(U32(U32(x0, x1), y1)) → U32ACTIVE(U32Active(mark(x0), x1), y1)
U41ACTIVE(tt, N) → MARK(N)
ISNATKINDACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U41(x(x0, x1), y1)) → U41ACTIVE(xActive(mark(x0), mark(x1)), y1)
U71ACTIVE(tt, M, N) → MARK(M)
ISNATACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(U12(U21(x0, x1), y1)) → U12ACTIVE(U21Active(mark(x0), x1), y1)
MARK(U32(plus(x0, x1), y1)) → U32ACTIVE(plusActive(mark(x0), mark(x1)), y1)
U32ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(U21(plus(x0, x1), y1)) → U21ACTIVE(plusActive(mark(x0), mark(x1)), y1)
MARK(U32(U21(x0, x1), y1)) → U32ACTIVE(U21Active(mark(x0), x1), y1)
U11ACTIVE(tt, x(x0, x1), y1) → U12ACTIVE(U31Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(plus(x1, x2)) → MARK(x2)
MARK(U12(x1, x2)) → MARK(x1)
MARK(U21(tt, y1)) → U21ACTIVE(tt, y1)
MARK(U21(U33(x0), y1)) → U21ACTIVE(U33Active(mark(x0)), y1)
MARK(U71(x1, x2, x3)) → MARK(x1)
MARK(U32(U61(x0), y1)) → U32ACTIVE(U61Active(mark(x0)), y1)
MARK(U41(and(x0, x1), y1)) → U41ACTIVE(andActive(mark(x0), x1), y1)
PLUSACTIVE(N, s(M)) → ISNATACTIVE(M)
MARK(U21(x1, x2)) → MARK(x1)
MARK(U12(U11(x0, x1, x2), y1)) → U12ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U31(U61(x0), y1, y2)) → U31ACTIVE(U61Active(mark(x0)), y1, y2)
XACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
PLUSACTIVE(N, 0) → U41ACTIVE(andActive(isNatActive(N), isNatKind(N)), N)
MARK(U41(U41(x0, x1), y1)) → U41ACTIVE(U41Active(mark(x0), x1), y1)
U51ACTIVE(tt, M, N) → PLUSACTIVE(mark(N), mark(M))
MARK(U41(s(x0), y1)) → U41ACTIVE(s(mark(x0)), y1)
MARK(U41(isNat(x0), y1)) → U41ACTIVE(isNatActive(x0), y1)
MARK(U32(and(x0, x1), y1)) → U32ACTIVE(andActive(mark(x0), x1), y1)
ISNATKINDACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U11(U12(x0, x1), y1, y2)) → U11ACTIVE(U12Active(mark(x0), x1), y1, y2)
MARK(x(x1, x2)) → XACTIVE(mark(x1), mark(x2))
MARK(U11(tt, y1, y2)) → U11ACTIVE(tt, y1, y2)
MARK(U11(U13(x0), y1, y2)) → U11ACTIVE(U13Active(mark(x0)), y1, y2)
MARK(U41(plus(x0, x1), y1)) → U41ACTIVE(plusActive(mark(x0), mark(x1)), y1)
MARK(U21(U21(x0, x1), y1)) → U21ACTIVE(U21Active(mark(x0), x1), y1)
U71ACTIVE(tt, M, N) → XACTIVE(mark(N), mark(M))
MARK(U41(U22(x0), y1)) → U41ACTIVE(U22Active(mark(x0)), y1)
MARK(U31(U21(x0, x1), y1, y2)) → U31ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(isNatKind(x1)) → ISNATKINDACTIVE(x1)
U71ACTIVE(tt, M, N) → MARK(N)
MARK(U21(U41(x0, x1), y1)) → U21ACTIVE(U41Active(mark(x0), x1), y1)
MARK(U31(plus(x0, x1), y1, y2)) → U31ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
MARK(U11(U22(x0), y1, y2)) → U11ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(isNat(x1)) → ISNATACTIVE(x1)
MARK(U41(U31(x0, x1, x2), y1)) → U41ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U12(x(x0, x1), y1)) → U12ACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(U32(U12(x0, x1), y1)) → U32ACTIVE(U12Active(mark(x0), x1), y1)
U12ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(U41(U11(x0, x1, x2), y1)) → U41ACTIVE(U11Active(mark(x0), x1, x2), y1)
U21ACTIVE(tt, V1) → ISNATACTIVE(V1)
MARK(U31(U22(x0), y1, y2)) → U31ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(U31(U32(x0, x1), y1, y2)) → U31ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(U31(isNat(x0), y1, y2)) → U31ACTIVE(isNatActive(x0), y1, y2)
MARK(U11(U71(x0, x1, x2), y1, y2)) → U11ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
ISNATKINDACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U32(U71(x0, x1, x2), y1)) → U32ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U21(isNat(x0), y1)) → U21ACTIVE(isNatActive(x0), y1)
MARK(U31(and(x0, x1), y1, y2)) → U31ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(plus(x1, x2)) → PLUSACTIVE(mark(x1), mark(x2))
PLUSACTIVE(N, 0) → ISNATACTIVE(N)
ISNATKINDACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U33(x1)) → MARK(x1)
MARK(U32(U33(x0), y1)) → U32ACTIVE(U33Active(mark(x0)), y1)
MARK(U11(x(x0, x1), y1, y2)) → U11ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
ISNATKINDACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
MARK(U11(U51(x0, x1, x2), y1, y2)) → U11ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
ISNATKINDACTIVE(x(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
U11ACTIVE(tt, plus(x0, x1), y1) → U12ACTIVE(U11Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U21(U31(x0, x1, x2), y1)) → U21ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U41(x1, x2)) → MARK(x1)
MARK(U41(U32(x0, x1), y1)) → U41ACTIVE(U32Active(mark(x0), x1), y1)
ISNATACTIVE(s(V1)) → U21ACTIVE(isNatKindActive(V1), V1)
MARK(U41(U21(x0, x1), y1)) → U41ACTIVE(U21Active(mark(x0), x1), y1)
MARK(U11(isNat(x0), y1, y2)) → U11ACTIVE(isNatActive(x0), y1, y2)
ISNATKINDACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U12(U33(x0), y1)) → U12ACTIVE(U33Active(mark(x0)), y1)
ISNATACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U32(isNatKind(x0), y1)) → U32ACTIVE(isNatKindActive(x0), y1)
MARK(U31(tt, y1, y2)) → U31ACTIVE(tt, y1, y2)
MARK(U21(U22(x0), y1)) → U21ACTIVE(U22Active(mark(x0)), y1)
MARK(U31(U31(x0, x1, x2), y1, y2)) → U31ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U12(U13(x0), y1)) → U12ACTIVE(U13Active(mark(x0)), y1)
MARK(U32(U51(x0, x1, x2), y1)) → U32ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U31(isNatKind(x0), y1, y2)) → U31ACTIVE(isNatKindActive(x0), y1, y2)
U31ACTIVE(tt, V1, V2) → U32ACTIVE(isNatActive(V1), V2)
MARK(U31(x1, x2, x3)) → MARK(x1)
MARK(U32(U31(x0, x1, x2), y1)) → U32ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U41(U61(x0), y1)) → U41ACTIVE(U61Active(mark(x0)), y1)
MARK(U11(isNatKind(x0), y1, y2)) → U11ACTIVE(isNatKindActive(x0), y1, y2)
MARK(U21(U13(x0), y1)) → U21ACTIVE(U13Active(mark(x0)), y1)
MARK(U41(U33(x0), y1)) → U41ACTIVE(U33Active(mark(x0)), y1)
XACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
MARK(U32(x1, x2)) → MARK(x1)
ISNATKINDACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
MARK(U12(U32(x0, x1), y1)) → U12ACTIVE(U32Active(mark(x0), x1), y1)
mark(U11(x1, x2, x3)) → U11Active(mark(x1), x2, x3)
U11Active(x1, x2, x3) → U11(x1, x2, x3)
mark(U12(x1, x2)) → U12Active(mark(x1), x2)
U12Active(x1, x2) → U12(x1, x2)
mark(U13(x1)) → U13Active(mark(x1))
U13Active(x1) → U13(x1)
mark(U21(x1, x2)) → U21Active(mark(x1), x2)
U21Active(x1, x2) → U21(x1, x2)
mark(U22(x1)) → U22Active(mark(x1))
U22Active(x1) → U22(x1)
mark(U31(x1, x2, x3)) → U31Active(mark(x1), x2, x3)
U31Active(x1, x2, x3) → U31(x1, x2, x3)
mark(U32(x1, x2)) → U32Active(mark(x1), x2)
U32Active(x1, x2) → U32(x1, x2)
mark(U33(x1)) → U33Active(mark(x1))
U33Active(x1) → U33(x1)
mark(U41(x1, x2)) → U41Active(mark(x1), x2)
U41Active(x1, x2) → U41(x1, x2)
mark(U51(x1, x2, x3)) → U51Active(mark(x1), x2, x3)
U51Active(x1, x2, x3) → U51(x1, x2, x3)
mark(U61(x1)) → U61Active(mark(x1))
U61Active(x1) → U61(x1)
mark(U71(x1, x2, x3)) → U71Active(mark(x1), x2, x3)
U71Active(x1, x2, x3) → U71(x1, x2, x3)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatKind(x1)) → isNatKindActive(x1)
isNatKindActive(x1) → isNatKind(x1)
mark(plus(x1, x2)) → plusActive(mark(x1), mark(x2))
plusActive(x1, x2) → plus(x1, x2)
mark(x(x1, x2)) → xActive(mark(x1), mark(x2))
xActive(x1, x2) → x(x1, x2)
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(0) → 0
U11Active(tt, V1, V2) → U12Active(isNatActive(V1), V2)
U12Active(tt, V2) → U13Active(isNatActive(V2))
U13Active(tt) → tt
U21Active(tt, V1) → U22Active(isNatActive(V1))
U22Active(tt) → tt
U31Active(tt, V1, V2) → U32Active(isNatActive(V1), V2)
U32Active(tt, V2) → U33Active(isNatActive(V2))
U33Active(tt) → tt
U41Active(tt, N) → mark(N)
U51Active(tt, M, N) → s(plusActive(mark(N), mark(M)))
U61Active(tt) → 0
U71Active(tt, M, N) → plusActive(xActive(mark(N), mark(M)), mark(N))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(plus(V1, V2)) → U11Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatActive(s(V1)) → U21Active(isNatKindActive(V1), V1)
isNatActive(x(V1, V2)) → U31Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatKindActive(0) → tt
isNatKindActive(plus(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
isNatKindActive(s(V1)) → isNatKindActive(V1)
isNatKindActive(x(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
plusActive(N, 0) → U41Active(andActive(isNatActive(N), isNatKind(N)), N)
plusActive(N, s(M)) → U51Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
xActive(N, 0) → U61Active(andActive(isNatActive(N), isNatKind(N)))
xActive(N, s(M)) → U71Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ Improved Ferreira Ribeiro-Transformation
U51ACTIVE(tt, M, N) → MARK(M)
MARK(U21(isNatKind(x0), y1)) → U21ACTIVE(isNatKindActive(x0), y1)
MARK(U11(U31(x0, x1, x2), y1, y2)) → U11ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U31(U71(x0, x1, x2), y1, y2)) → U31ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
XACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U11(and(x0, x1), y1, y2)) → U11ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(U32(isNat(x0), y1)) → U32ACTIVE(isNatActive(x0), y1)
MARK(U41(U51(x0, x1, x2), y1)) → U41ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U11(U11(x0, x1, x2), y1, y2)) → U11ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(U11(x1, x2, x3)) → MARK(x1)
MARK(x(x1, x2)) → MARK(x2)
ISNATACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ISNATACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
U71ACTIVE(tt, M, N) → PLUSACTIVE(xActive(mark(N), mark(M)), mark(N))
ISNATKINDACTIVE(x(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ANDACTIVE(tt, X) → MARK(X)
MARK(U12(U71(x0, x1, x2), y1)) → U12ACTIVE(U71Active(mark(x0), x1, x2), y1)
U51ACTIVE(tt, M, N) → MARK(N)
MARK(U41(tt, y1)) → U41ACTIVE(tt, y1)
MARK(U12(U22(x0), y1)) → U12ACTIVE(U22Active(mark(x0)), y1)
MARK(U11(U61(x0), y1, y2)) → U11ACTIVE(U61Active(mark(x0)), y1, y2)
MARK(U32(U11(x0, x1, x2), y1)) → U32ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U12(U12(x0, x1), y1)) → U12ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U21(U32(x0, x1), y1)) → U21ACTIVE(U32Active(mark(x0), x1), y1)
MARK(U32(tt, y1)) → U32ACTIVE(tt, y1)
MARK(U51(x1, x2, x3)) → MARK(x1)
MARK(U12(isNatKind(x0), y1)) → U12ACTIVE(isNatKindActive(x0), y1)
MARK(U32(x(x0, x1), y1)) → U32ACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(U31(x(x0, x1), y1, y2)) → U31ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
MARK(U71(x1, x2, x3)) → U71ACTIVE(mark(x1), x2, x3)
MARK(U32(U13(x0), y1)) → U32ACTIVE(U13Active(mark(x0)), y1)
MARK(U21(x(x0, x1), y1)) → U21ACTIVE(xActive(mark(x0), mark(x1)), y1)
PLUSACTIVE(N, s(M)) → U51ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(and(x1, x2)) → ANDACTIVE(mark(x1), x2)
U11ACTIVE(tt, s(x0), y1) → U12ACTIVE(U21Active(isNatKindActive(x0), x0), y1)
MARK(U31(U41(x0, x1), y1, y2)) → U31ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(s(x1)) → MARK(x1)
MARK(U31(U12(x0, x1), y1, y2)) → U31ACTIVE(U12Active(mark(x0), x1), y1, y2)
MARK(U21(U51(x0, x1, x2), y1)) → U21ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U12(plus(x0, x1), y1)) → U12ACTIVE(plusActive(mark(x0), mark(x1)), y1)
ISNATACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
U11ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(plus(x1, x2)) → MARK(x1)
ISNATACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U32(U41(x0, x1), y1)) → U32ACTIVE(U41Active(mark(x0), x1), y1)
MARK(U12(U31(x0, x1, x2), y1)) → U12ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U21(and(x0, x1), y1)) → U21ACTIVE(andActive(mark(x0), x1), y1)
MARK(U21(U12(x0, x1), y1)) → U21ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U41(U71(x0, x1, x2), y1)) → U41ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U32(U22(x0), y1)) → U32ACTIVE(U22Active(mark(x0)), y1)
MARK(U11(U32(x0, x1), y1, y2)) → U11ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(U12(U51(x0, x1, x2), y1)) → U12ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U12(tt, y1)) → U12ACTIVE(tt, y1)
MARK(U11(U33(x0), y1, y2)) → U11ACTIVE(U33Active(mark(x0)), y1, y2)
U31ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(U51(x1, x2, x3)) → U51ACTIVE(mark(x1), x2, x3)
MARK(U12(U61(x0), y1)) → U12ACTIVE(U61Active(mark(x0)), y1)
ISNATKINDACTIVE(x(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
MARK(U12(U41(x0, x1), y1)) → U12ACTIVE(U41Active(mark(x0), x1), y1)
ISNATACTIVE(x(V1, V2)) → U31ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
ISNATACTIVE(plus(V1, V2)) → U11ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U12(isNat(x0), y1)) → U12ACTIVE(isNatActive(x0), y1)
MARK(U11(U41(x0, x1), y1, y2)) → U11ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(and(x1, x2)) → MARK(x1)
MARK(U21(U61(x0), y1)) → U21ACTIVE(U61Active(mark(x0)), y1)
PLUSACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
MARK(U11(plus(x0, x1), y1, y2)) → U11ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
ISNATACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
MARK(U11(U21(x0, x1), y1, y2)) → U11ACTIVE(U21Active(mark(x0), x1), y1, y2)
ISNATACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
MARK(U61(x1)) → MARK(x1)
MARK(U41(isNatKind(x0), y1)) → U41ACTIVE(isNatKindActive(x0), y1)
MARK(U21(U71(x0, x1, x2), y1)) → U21ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U22(x1)) → MARK(x1)
MARK(U41(U12(x0, x1), y1)) → U41ACTIVE(U12Active(mark(x0), x1), y1)
U11ACTIVE(tt, 0, y1) → U12ACTIVE(tt, y1)
MARK(x(x1, x2)) → MARK(x1)
MARK(U31(U33(x0), y1, y2)) → U31ACTIVE(U33Active(mark(x0)), y1, y2)
MARK(U12(and(x0, x1), y1)) → U12ACTIVE(andActive(mark(x0), x1), y1)
XACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U31(U13(x0), y1, y2)) → U31ACTIVE(U13Active(mark(x0)), y1, y2)
MARK(U21(U11(x0, x1, x2), y1)) → U21ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U13(x1)) → MARK(x1)
XACTIVE(N, s(M)) → U71ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(U41(U13(x0), y1)) → U41ACTIVE(U13Active(mark(x0)), y1)
ISNATKINDACTIVE(x(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U31(U51(x0, x1, x2), y1, y2)) → U31ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
MARK(U31(U11(x0, x1, x2), y1, y2)) → U31ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(U32(U32(x0, x1), y1)) → U32ACTIVE(U32Active(mark(x0), x1), y1)
XACTIVE(N, s(M)) → ISNATACTIVE(M)
U41ACTIVE(tt, N) → MARK(N)
ISNATKINDACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U41(x(x0, x1), y1)) → U41ACTIVE(xActive(mark(x0), mark(x1)), y1)
U71ACTIVE(tt, M, N) → MARK(M)
ISNATACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(U32(plus(x0, x1), y1)) → U32ACTIVE(plusActive(mark(x0), mark(x1)), y1)
MARK(U12(U21(x0, x1), y1)) → U12ACTIVE(U21Active(mark(x0), x1), y1)
MARK(U32(U21(x0, x1), y1)) → U32ACTIVE(U21Active(mark(x0), x1), y1)
MARK(U21(plus(x0, x1), y1)) → U21ACTIVE(plusActive(mark(x0), mark(x1)), y1)
U32ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(U21(U33(x0), y1)) → U21ACTIVE(U33Active(mark(x0)), y1)
MARK(U21(tt, y1)) → U21ACTIVE(tt, y1)
MARK(U12(x1, x2)) → MARK(x1)
MARK(plus(x1, x2)) → MARK(x2)
U11ACTIVE(tt, x(x0, x1), y1) → U12ACTIVE(U31Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U71(x1, x2, x3)) → MARK(x1)
MARK(U32(U61(x0), y1)) → U32ACTIVE(U61Active(mark(x0)), y1)
MARK(U41(and(x0, x1), y1)) → U41ACTIVE(andActive(mark(x0), x1), y1)
PLUSACTIVE(N, s(M)) → ISNATACTIVE(M)
MARK(U12(U11(x0, x1, x2), y1)) → U12ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U21(x1, x2)) → MARK(x1)
MARK(U31(U61(x0), y1, y2)) → U31ACTIVE(U61Active(mark(x0)), y1, y2)
XACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
PLUSACTIVE(N, 0) → U41ACTIVE(andActive(isNatActive(N), isNatKind(N)), N)
MARK(U41(U41(x0, x1), y1)) → U41ACTIVE(U41Active(mark(x0), x1), y1)
U51ACTIVE(tt, M, N) → PLUSACTIVE(mark(N), mark(M))
MARK(U41(isNat(x0), y1)) → U41ACTIVE(isNatActive(x0), y1)
MARK(U32(and(x0, x1), y1)) → U32ACTIVE(andActive(mark(x0), x1), y1)
ISNATKINDACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U11(U12(x0, x1), y1, y2)) → U11ACTIVE(U12Active(mark(x0), x1), y1, y2)
MARK(x(x1, x2)) → XACTIVE(mark(x1), mark(x2))
MARK(U11(tt, y1, y2)) → U11ACTIVE(tt, y1, y2)
MARK(U11(U13(x0), y1, y2)) → U11ACTIVE(U13Active(mark(x0)), y1, y2)
MARK(U41(plus(x0, x1), y1)) → U41ACTIVE(plusActive(mark(x0), mark(x1)), y1)
MARK(U21(U21(x0, x1), y1)) → U21ACTIVE(U21Active(mark(x0), x1), y1)
U71ACTIVE(tt, M, N) → XACTIVE(mark(N), mark(M))
MARK(U41(U22(x0), y1)) → U41ACTIVE(U22Active(mark(x0)), y1)
MARK(U31(U21(x0, x1), y1, y2)) → U31ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(isNatKind(x1)) → ISNATKINDACTIVE(x1)
U71ACTIVE(tt, M, N) → MARK(N)
MARK(U31(plus(x0, x1), y1, y2)) → U31ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
MARK(U21(U41(x0, x1), y1)) → U21ACTIVE(U41Active(mark(x0), x1), y1)
MARK(U11(U22(x0), y1, y2)) → U11ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(isNat(x1)) → ISNATACTIVE(x1)
MARK(U41(U31(x0, x1, x2), y1)) → U41ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U32(U12(x0, x1), y1)) → U32ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U12(x(x0, x1), y1)) → U12ACTIVE(xActive(mark(x0), mark(x1)), y1)
U12ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(U41(U11(x0, x1, x2), y1)) → U41ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U31(U22(x0), y1, y2)) → U31ACTIVE(U22Active(mark(x0)), y1, y2)
U21ACTIVE(tt, V1) → ISNATACTIVE(V1)
MARK(U31(U32(x0, x1), y1, y2)) → U31ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(U31(isNat(x0), y1, y2)) → U31ACTIVE(isNatActive(x0), y1, y2)
ISNATKINDACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U11(U71(x0, x1, x2), y1, y2)) → U11ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
MARK(U32(U71(x0, x1, x2), y1)) → U32ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U31(and(x0, x1), y1, y2)) → U31ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(U21(isNat(x0), y1)) → U21ACTIVE(isNatActive(x0), y1)
MARK(plus(x1, x2)) → PLUSACTIVE(mark(x1), mark(x2))
ISNATKINDACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
PLUSACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U32(U33(x0), y1)) → U32ACTIVE(U33Active(mark(x0)), y1)
MARK(U33(x1)) → MARK(x1)
MARK(U11(x(x0, x1), y1, y2)) → U11ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
ISNATKINDACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
ISNATKINDACTIVE(x(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U11(U51(x0, x1, x2), y1, y2)) → U11ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
U11ACTIVE(tt, plus(x0, x1), y1) → U12ACTIVE(U11Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U21(U31(x0, x1, x2), y1)) → U21ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U41(x1, x2)) → MARK(x1)
MARK(U41(U32(x0, x1), y1)) → U41ACTIVE(U32Active(mark(x0), x1), y1)
ISNATACTIVE(s(V1)) → U21ACTIVE(isNatKindActive(V1), V1)
MARK(U41(U21(x0, x1), y1)) → U41ACTIVE(U21Active(mark(x0), x1), y1)
MARK(U11(isNat(x0), y1, y2)) → U11ACTIVE(isNatActive(x0), y1, y2)
ISNATKINDACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U12(U33(x0), y1)) → U12ACTIVE(U33Active(mark(x0)), y1)
ISNATACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U32(isNatKind(x0), y1)) → U32ACTIVE(isNatKindActive(x0), y1)
MARK(U31(tt, y1, y2)) → U31ACTIVE(tt, y1, y2)
MARK(U31(U31(x0, x1, x2), y1, y2)) → U31ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U21(U22(x0), y1)) → U21ACTIVE(U22Active(mark(x0)), y1)
MARK(U32(U51(x0, x1, x2), y1)) → U32ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U12(U13(x0), y1)) → U12ACTIVE(U13Active(mark(x0)), y1)
MARK(U31(isNatKind(x0), y1, y2)) → U31ACTIVE(isNatKindActive(x0), y1, y2)
U31ACTIVE(tt, V1, V2) → U32ACTIVE(isNatActive(V1), V2)
MARK(U32(U31(x0, x1, x2), y1)) → U32ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U31(x1, x2, x3)) → MARK(x1)
MARK(U41(U61(x0), y1)) → U41ACTIVE(U61Active(mark(x0)), y1)
MARK(U21(U13(x0), y1)) → U21ACTIVE(U13Active(mark(x0)), y1)
MARK(U11(isNatKind(x0), y1, y2)) → U11ACTIVE(isNatKindActive(x0), y1, y2)
MARK(U41(U33(x0), y1)) → U41ACTIVE(U33Active(mark(x0)), y1)
MARK(U32(x1, x2)) → MARK(x1)
XACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
MARK(U12(U32(x0, x1), y1)) → U12ACTIVE(U32Active(mark(x0), x1), y1)
ISNATKINDACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
mark(U11(x1, x2, x3)) → U11Active(mark(x1), x2, x3)
U11Active(x1, x2, x3) → U11(x1, x2, x3)
mark(U12(x1, x2)) → U12Active(mark(x1), x2)
U12Active(x1, x2) → U12(x1, x2)
mark(U13(x1)) → U13Active(mark(x1))
U13Active(x1) → U13(x1)
mark(U21(x1, x2)) → U21Active(mark(x1), x2)
U21Active(x1, x2) → U21(x1, x2)
mark(U22(x1)) → U22Active(mark(x1))
U22Active(x1) → U22(x1)
mark(U31(x1, x2, x3)) → U31Active(mark(x1), x2, x3)
U31Active(x1, x2, x3) → U31(x1, x2, x3)
mark(U32(x1, x2)) → U32Active(mark(x1), x2)
U32Active(x1, x2) → U32(x1, x2)
mark(U33(x1)) → U33Active(mark(x1))
U33Active(x1) → U33(x1)
mark(U41(x1, x2)) → U41Active(mark(x1), x2)
U41Active(x1, x2) → U41(x1, x2)
mark(U51(x1, x2, x3)) → U51Active(mark(x1), x2, x3)
U51Active(x1, x2, x3) → U51(x1, x2, x3)
mark(U61(x1)) → U61Active(mark(x1))
U61Active(x1) → U61(x1)
mark(U71(x1, x2, x3)) → U71Active(mark(x1), x2, x3)
U71Active(x1, x2, x3) → U71(x1, x2, x3)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatKind(x1)) → isNatKindActive(x1)
isNatKindActive(x1) → isNatKind(x1)
mark(plus(x1, x2)) → plusActive(mark(x1), mark(x2))
plusActive(x1, x2) → plus(x1, x2)
mark(x(x1, x2)) → xActive(mark(x1), mark(x2))
xActive(x1, x2) → x(x1, x2)
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(0) → 0
U11Active(tt, V1, V2) → U12Active(isNatActive(V1), V2)
U12Active(tt, V2) → U13Active(isNatActive(V2))
U13Active(tt) → tt
U21Active(tt, V1) → U22Active(isNatActive(V1))
U22Active(tt) → tt
U31Active(tt, V1, V2) → U32Active(isNatActive(V1), V2)
U32Active(tt, V2) → U33Active(isNatActive(V2))
U33Active(tt) → tt
U41Active(tt, N) → mark(N)
U51Active(tt, M, N) → s(plusActive(mark(N), mark(M)))
U61Active(tt) → 0
U71Active(tt, M, N) → plusActive(xActive(mark(N), mark(M)), mark(N))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(plus(V1, V2)) → U11Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatActive(s(V1)) → U21Active(isNatKindActive(V1), V1)
isNatActive(x(V1, V2)) → U31Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatKindActive(0) → tt
isNatKindActive(plus(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
isNatKindActive(s(V1)) → isNatKindActive(V1)
isNatKindActive(x(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
plusActive(N, 0) → U41Active(andActive(isNatActive(N), isNatKind(N)), N)
plusActive(N, s(M)) → U51Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
xActive(N, 0) → U61Active(andActive(isNatActive(N), isNatKind(N)))
xActive(N, s(M)) → U71Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(U51(U12(x0, x1), y1, y2)) → U51ACTIVE(U12Active(mark(x0), x1), y1, y2)
MARK(U51(U71(x0, x1, x2), y1, y2)) → U51ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
MARK(U51(U22(x0), y1, y2)) → U51ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(U51(s(x0), y1, y2)) → U51ACTIVE(s(mark(x0)), y1, y2)
MARK(U51(x(x0, x1), y1, y2)) → U51ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
MARK(U51(U41(x0, x1), y1, y2)) → U51ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(U51(isNatKind(x0), y1, y2)) → U51ACTIVE(isNatKindActive(x0), y1, y2)
MARK(U51(plus(x0, x1), y1, y2)) → U51ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
MARK(U51(U33(x0), y1, y2)) → U51ACTIVE(U33Active(mark(x0)), y1, y2)
MARK(U51(U13(x0), y1, y2)) → U51ACTIVE(U13Active(mark(x0)), y1, y2)
MARK(U51(isNat(x0), y1, y2)) → U51ACTIVE(isNatActive(x0), y1, y2)
MARK(U51(U11(x0, x1, x2), y1, y2)) → U51ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(U51(U31(x0, x1, x2), y1, y2)) → U51ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U51(U21(x0, x1), y1, y2)) → U51ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(U51(tt, y1, y2)) → U51ACTIVE(tt, y1, y2)
MARK(U51(U32(x0, x1), y1, y2)) → U51ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(U51(U61(x0), y1, y2)) → U51ACTIVE(U61Active(mark(x0)), y1, y2)
MARK(U51(0, y1, y2)) → U51ACTIVE(0, y1, y2)
MARK(U51(U51(x0, x1, x2), y1, y2)) → U51ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
MARK(U51(and(x0, x1), y1, y2)) → U51ACTIVE(andActive(mark(x0), x1), y1, y2)
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ Improved Ferreira Ribeiro-Transformation
U51ACTIVE(tt, M, N) → MARK(M)
MARK(U21(isNatKind(x0), y1)) → U21ACTIVE(isNatKindActive(x0), y1)
MARK(U11(U31(x0, x1, x2), y1, y2)) → U11ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U32(isNat(x0), y1)) → U32ACTIVE(isNatActive(x0), y1)
ISNATACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ISNATACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
ISNATKINDACTIVE(x(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ANDACTIVE(tt, X) → MARK(X)
MARK(U12(U71(x0, x1, x2), y1)) → U12ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U51(U31(x0, x1, x2), y1, y2)) → U51ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U12(U22(x0), y1)) → U12ACTIVE(U22Active(mark(x0)), y1)
MARK(U11(U61(x0), y1, y2)) → U11ACTIVE(U61Active(mark(x0)), y1, y2)
MARK(U21(U32(x0, x1), y1)) → U21ACTIVE(U32Active(mark(x0), x1), y1)
MARK(U12(isNatKind(x0), y1)) → U12ACTIVE(isNatKindActive(x0), y1)
MARK(U51(U71(x0, x1, x2), y1, y2)) → U51ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
MARK(U31(x(x0, x1), y1, y2)) → U31ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
MARK(U71(x1, x2, x3)) → U71ACTIVE(mark(x1), x2, x3)
MARK(U21(x(x0, x1), y1)) → U21ACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(U31(U41(x0, x1), y1, y2)) → U31ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(U21(U51(x0, x1, x2), y1)) → U21ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U12(plus(x0, x1), y1)) → U12ACTIVE(plusActive(mark(x0), mark(x1)), y1)
ISNATACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U51(U51(x0, x1, x2), y1, y2)) → U51ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
MARK(plus(x1, x2)) → MARK(x1)
MARK(U21(and(x0, x1), y1)) → U21ACTIVE(andActive(mark(x0), x1), y1)
MARK(U21(U12(x0, x1), y1)) → U21ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U41(U71(x0, x1, x2), y1)) → U41ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U12(tt, y1)) → U12ACTIVE(tt, y1)
MARK(U11(U33(x0), y1, y2)) → U11ACTIVE(U33Active(mark(x0)), y1, y2)
U31ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(U12(U41(x0, x1), y1)) → U12ACTIVE(U41Active(mark(x0), x1), y1)
ISNATACTIVE(plus(V1, V2)) → U11ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U11(U41(x0, x1), y1, y2)) → U11ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(and(x1, x2)) → MARK(x1)
ISNATACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
MARK(U41(isNatKind(x0), y1)) → U41ACTIVE(isNatKindActive(x0), y1)
MARK(U22(x1)) → MARK(x1)
MARK(U41(U12(x0, x1), y1)) → U41ACTIVE(U12Active(mark(x0), x1), y1)
U11ACTIVE(tt, 0, y1) → U12ACTIVE(tt, y1)
MARK(x(x1, x2)) → MARK(x1)
MARK(U12(and(x0, x1), y1)) → U12ACTIVE(andActive(mark(x0), x1), y1)
MARK(U21(U11(x0, x1, x2), y1)) → U21ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U13(x1)) → MARK(x1)
MARK(U41(U13(x0), y1)) → U41ACTIVE(U13Active(mark(x0)), y1)
MARK(U51(and(x0, x1), y1, y2)) → U51ACTIVE(andActive(mark(x0), x1), y1, y2)
XACTIVE(N, s(M)) → ISNATACTIVE(M)
MARK(U51(U12(x0, x1), y1, y2)) → U51ACTIVE(U12Active(mark(x0), x1), y1, y2)
MARK(U41(x(x0, x1), y1)) → U41ACTIVE(xActive(mark(x0), mark(x1)), y1)
U71ACTIVE(tt, M, N) → MARK(M)
ISNATACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(U12(U21(x0, x1), y1)) → U12ACTIVE(U21Active(mark(x0), x1), y1)
MARK(U12(x1, x2)) → MARK(x1)
MARK(plus(x1, x2)) → MARK(x2)
MARK(U32(U61(x0), y1)) → U32ACTIVE(U61Active(mark(x0)), y1)
MARK(U12(U11(x0, x1, x2), y1)) → U12ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U51(isNat(x0), y1, y2)) → U51ACTIVE(isNatActive(x0), y1, y2)
XACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
MARK(U41(isNat(x0), y1)) → U41ACTIVE(isNatActive(x0), y1)
MARK(x(x1, x2)) → XACTIVE(mark(x1), mark(x2))
MARK(U11(tt, y1, y2)) → U11ACTIVE(tt, y1, y2)
MARK(U41(plus(x0, x1), y1)) → U41ACTIVE(plusActive(mark(x0), mark(x1)), y1)
MARK(U21(U21(x0, x1), y1)) → U21ACTIVE(U21Active(mark(x0), x1), y1)
MARK(U31(U21(x0, x1), y1, y2)) → U31ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(isNatKind(x1)) → ISNATKINDACTIVE(x1)
MARK(U21(U41(x0, x1), y1)) → U21ACTIVE(U41Active(mark(x0), x1), y1)
MARK(U51(U11(x0, x1, x2), y1, y2)) → U51ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(U51(tt, y1, y2)) → U51ACTIVE(tt, y1, y2)
MARK(U41(U31(x0, x1, x2), y1)) → U41ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U51(0, y1, y2)) → U51ACTIVE(0, y1, y2)
MARK(U32(U12(x0, x1), y1)) → U32ACTIVE(U12Active(mark(x0), x1), y1)
U12ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(U31(U22(x0), y1, y2)) → U31ACTIVE(U22Active(mark(x0)), y1, y2)
U21ACTIVE(tt, V1) → ISNATACTIVE(V1)
MARK(U31(isNat(x0), y1, y2)) → U31ACTIVE(isNatActive(x0), y1, y2)
MARK(U32(U71(x0, x1, x2), y1)) → U32ACTIVE(U71Active(mark(x0), x1, x2), y1)
ISNATKINDACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
PLUSACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U33(x1)) → MARK(x1)
MARK(U11(x(x0, x1), y1, y2)) → U11ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
ISNATKINDACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
ISNATKINDACTIVE(x(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U21(U31(x0, x1, x2), y1)) → U21ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U41(x1, x2)) → MARK(x1)
MARK(U11(isNat(x0), y1, y2)) → U11ACTIVE(isNatActive(x0), y1, y2)
MARK(U12(U33(x0), y1)) → U12ACTIVE(U33Active(mark(x0)), y1)
ISNATACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U32(isNatKind(x0), y1)) → U32ACTIVE(isNatKindActive(x0), y1)
MARK(U31(tt, y1, y2)) → U31ACTIVE(tt, y1, y2)
MARK(U21(U22(x0), y1)) → U21ACTIVE(U22Active(mark(x0)), y1)
MARK(U32(U51(x0, x1, x2), y1)) → U32ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U31(isNatKind(x0), y1, y2)) → U31ACTIVE(isNatKindActive(x0), y1, y2)
MARK(U32(U31(x0, x1, x2), y1)) → U32ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U31(x1, x2, x3)) → MARK(x1)
MARK(U51(U61(x0), y1, y2)) → U51ACTIVE(U61Active(mark(x0)), y1, y2)
MARK(U41(U33(x0), y1)) → U41ACTIVE(U33Active(mark(x0)), y1)
MARK(U32(x1, x2)) → MARK(x1)
XACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
MARK(U12(U32(x0, x1), y1)) → U12ACTIVE(U32Active(mark(x0), x1), y1)
MARK(U31(U71(x0, x1, x2), y1, y2)) → U31ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
XACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U11(and(x0, x1), y1, y2)) → U11ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(U41(U51(x0, x1, x2), y1)) → U41ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U11(U11(x0, x1, x2), y1, y2)) → U11ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(U11(x1, x2, x3)) → MARK(x1)
MARK(x(x1, x2)) → MARK(x2)
U71ACTIVE(tt, M, N) → PLUSACTIVE(xActive(mark(N), mark(M)), mark(N))
U51ACTIVE(tt, M, N) → MARK(N)
MARK(U41(tt, y1)) → U41ACTIVE(tt, y1)
MARK(U32(U11(x0, x1, x2), y1)) → U32ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U12(U12(x0, x1), y1)) → U12ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U32(tt, y1)) → U32ACTIVE(tt, y1)
MARK(U51(x1, x2, x3)) → MARK(x1)
MARK(U32(x(x0, x1), y1)) → U32ACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(U51(U22(x0), y1, y2)) → U51ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(U32(U13(x0), y1)) → U32ACTIVE(U13Active(mark(x0)), y1)
MARK(U51(x(x0, x1), y1, y2)) → U51ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
PLUSACTIVE(N, s(M)) → U51ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(and(x1, x2)) → ANDACTIVE(mark(x1), x2)
U11ACTIVE(tt, s(x0), y1) → U12ACTIVE(U21Active(isNatKindActive(x0), x0), y1)
MARK(U51(plus(x0, x1), y1, y2)) → U51ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
MARK(s(x1)) → MARK(x1)
MARK(U31(U12(x0, x1), y1, y2)) → U31ACTIVE(U12Active(mark(x0), x1), y1, y2)
U11ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
ISNATACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U32(U41(x0, x1), y1)) → U32ACTIVE(U41Active(mark(x0), x1), y1)
MARK(U12(U31(x0, x1, x2), y1)) → U12ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U32(U22(x0), y1)) → U32ACTIVE(U22Active(mark(x0)), y1)
MARK(U11(U32(x0, x1), y1, y2)) → U11ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(U12(U51(x0, x1, x2), y1)) → U12ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U51(s(x0), y1, y2)) → U51ACTIVE(s(mark(x0)), y1, y2)
MARK(U12(U61(x0), y1)) → U12ACTIVE(U61Active(mark(x0)), y1)
MARK(U51(U33(x0), y1, y2)) → U51ACTIVE(U33Active(mark(x0)), y1, y2)
ISNATKINDACTIVE(x(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
ISNATACTIVE(x(V1, V2)) → U31ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U12(isNat(x0), y1)) → U12ACTIVE(isNatActive(x0), y1)
MARK(U21(U61(x0), y1)) → U21ACTIVE(U61Active(mark(x0)), y1)
PLUSACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
MARK(U11(plus(x0, x1), y1, y2)) → U11ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
MARK(U11(U21(x0, x1), y1, y2)) → U11ACTIVE(U21Active(mark(x0), x1), y1, y2)
ISNATACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
MARK(U61(x1)) → MARK(x1)
MARK(U21(U71(x0, x1, x2), y1)) → U21ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U31(U33(x0), y1, y2)) → U31ACTIVE(U33Active(mark(x0)), y1, y2)
XACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U31(U13(x0), y1, y2)) → U31ACTIVE(U13Active(mark(x0)), y1, y2)
XACTIVE(N, s(M)) → U71ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(U51(U32(x0, x1), y1, y2)) → U51ACTIVE(U32Active(mark(x0), x1), y1, y2)
ISNATKINDACTIVE(x(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U31(U51(x0, x1, x2), y1, y2)) → U31ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
MARK(U31(U11(x0, x1, x2), y1, y2)) → U31ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(U32(U32(x0, x1), y1)) → U32ACTIVE(U32Active(mark(x0), x1), y1)
U41ACTIVE(tt, N) → MARK(N)
ISNATKINDACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U32(plus(x0, x1), y1)) → U32ACTIVE(plusActive(mark(x0), mark(x1)), y1)
MARK(U32(U21(x0, x1), y1)) → U32ACTIVE(U21Active(mark(x0), x1), y1)
MARK(U21(plus(x0, x1), y1)) → U21ACTIVE(plusActive(mark(x0), mark(x1)), y1)
U32ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(U21(U33(x0), y1)) → U21ACTIVE(U33Active(mark(x0)), y1)
MARK(U21(tt, y1)) → U21ACTIVE(tt, y1)
U11ACTIVE(tt, x(x0, x1), y1) → U12ACTIVE(U31Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U71(x1, x2, x3)) → MARK(x1)
MARK(U41(and(x0, x1), y1)) → U41ACTIVE(andActive(mark(x0), x1), y1)
PLUSACTIVE(N, s(M)) → ISNATACTIVE(M)
MARK(U21(x1, x2)) → MARK(x1)
MARK(U31(U61(x0), y1, y2)) → U31ACTIVE(U61Active(mark(x0)), y1, y2)
PLUSACTIVE(N, 0) → U41ACTIVE(andActive(isNatActive(N), isNatKind(N)), N)
MARK(U41(U41(x0, x1), y1)) → U41ACTIVE(U41Active(mark(x0), x1), y1)
U51ACTIVE(tt, M, N) → PLUSACTIVE(mark(N), mark(M))
MARK(U32(and(x0, x1), y1)) → U32ACTIVE(andActive(mark(x0), x1), y1)
ISNATKINDACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U11(U12(x0, x1), y1, y2)) → U11ACTIVE(U12Active(mark(x0), x1), y1, y2)
MARK(U11(U13(x0), y1, y2)) → U11ACTIVE(U13Active(mark(x0)), y1, y2)
U71ACTIVE(tt, M, N) → XACTIVE(mark(N), mark(M))
MARK(U41(U22(x0), y1)) → U41ACTIVE(U22Active(mark(x0)), y1)
U71ACTIVE(tt, M, N) → MARK(N)
MARK(U31(plus(x0, x1), y1, y2)) → U31ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
MARK(U11(U22(x0), y1, y2)) → U11ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(U51(U21(x0, x1), y1, y2)) → U51ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(isNat(x1)) → ISNATACTIVE(x1)
MARK(U12(x(x0, x1), y1)) → U12ACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(U41(U11(x0, x1, x2), y1)) → U41ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U31(U32(x0, x1), y1, y2)) → U31ACTIVE(U32Active(mark(x0), x1), y1, y2)
ISNATKINDACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U11(U71(x0, x1, x2), y1, y2)) → U11ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
MARK(U31(and(x0, x1), y1, y2)) → U31ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(U21(isNat(x0), y1)) → U21ACTIVE(isNatActive(x0), y1)
MARK(plus(x1, x2)) → PLUSACTIVE(mark(x1), mark(x2))
MARK(U51(U41(x0, x1), y1, y2)) → U51ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(U32(U33(x0), y1)) → U32ACTIVE(U33Active(mark(x0)), y1)
MARK(U11(U51(x0, x1, x2), y1, y2)) → U11ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
U11ACTIVE(tt, plus(x0, x1), y1) → U12ACTIVE(U11Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U41(U32(x0, x1), y1)) → U41ACTIVE(U32Active(mark(x0), x1), y1)
ISNATACTIVE(s(V1)) → U21ACTIVE(isNatKindActive(V1), V1)
MARK(U41(U21(x0, x1), y1)) → U41ACTIVE(U21Active(mark(x0), x1), y1)
ISNATKINDACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U51(isNatKind(x0), y1, y2)) → U51ACTIVE(isNatKindActive(x0), y1, y2)
MARK(U31(U31(x0, x1, x2), y1, y2)) → U31ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U12(U13(x0), y1)) → U12ACTIVE(U13Active(mark(x0)), y1)
MARK(U51(U13(x0), y1, y2)) → U51ACTIVE(U13Active(mark(x0)), y1, y2)
U31ACTIVE(tt, V1, V2) → U32ACTIVE(isNatActive(V1), V2)
MARK(U41(U61(x0), y1)) → U41ACTIVE(U61Active(mark(x0)), y1)
MARK(U21(U13(x0), y1)) → U21ACTIVE(U13Active(mark(x0)), y1)
MARK(U11(isNatKind(x0), y1, y2)) → U11ACTIVE(isNatKindActive(x0), y1, y2)
ISNATKINDACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
mark(U11(x1, x2, x3)) → U11Active(mark(x1), x2, x3)
U11Active(x1, x2, x3) → U11(x1, x2, x3)
mark(U12(x1, x2)) → U12Active(mark(x1), x2)
U12Active(x1, x2) → U12(x1, x2)
mark(U13(x1)) → U13Active(mark(x1))
U13Active(x1) → U13(x1)
mark(U21(x1, x2)) → U21Active(mark(x1), x2)
U21Active(x1, x2) → U21(x1, x2)
mark(U22(x1)) → U22Active(mark(x1))
U22Active(x1) → U22(x1)
mark(U31(x1, x2, x3)) → U31Active(mark(x1), x2, x3)
U31Active(x1, x2, x3) → U31(x1, x2, x3)
mark(U32(x1, x2)) → U32Active(mark(x1), x2)
U32Active(x1, x2) → U32(x1, x2)
mark(U33(x1)) → U33Active(mark(x1))
U33Active(x1) → U33(x1)
mark(U41(x1, x2)) → U41Active(mark(x1), x2)
U41Active(x1, x2) → U41(x1, x2)
mark(U51(x1, x2, x3)) → U51Active(mark(x1), x2, x3)
U51Active(x1, x2, x3) → U51(x1, x2, x3)
mark(U61(x1)) → U61Active(mark(x1))
U61Active(x1) → U61(x1)
mark(U71(x1, x2, x3)) → U71Active(mark(x1), x2, x3)
U71Active(x1, x2, x3) → U71(x1, x2, x3)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatKind(x1)) → isNatKindActive(x1)
isNatKindActive(x1) → isNatKind(x1)
mark(plus(x1, x2)) → plusActive(mark(x1), mark(x2))
plusActive(x1, x2) → plus(x1, x2)
mark(x(x1, x2)) → xActive(mark(x1), mark(x2))
xActive(x1, x2) → x(x1, x2)
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(0) → 0
U11Active(tt, V1, V2) → U12Active(isNatActive(V1), V2)
U12Active(tt, V2) → U13Active(isNatActive(V2))
U13Active(tt) → tt
U21Active(tt, V1) → U22Active(isNatActive(V1))
U22Active(tt) → tt
U31Active(tt, V1, V2) → U32Active(isNatActive(V1), V2)
U32Active(tt, V2) → U33Active(isNatActive(V2))
U33Active(tt) → tt
U41Active(tt, N) → mark(N)
U51Active(tt, M, N) → s(plusActive(mark(N), mark(M)))
U61Active(tt) → 0
U71Active(tt, M, N) → plusActive(xActive(mark(N), mark(M)), mark(N))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(plus(V1, V2)) → U11Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatActive(s(V1)) → U21Active(isNatKindActive(V1), V1)
isNatActive(x(V1, V2)) → U31Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatKindActive(0) → tt
isNatKindActive(plus(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
isNatKindActive(s(V1)) → isNatKindActive(V1)
isNatKindActive(x(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
plusActive(N, 0) → U41Active(andActive(isNatActive(N), isNatKind(N)), N)
plusActive(N, s(M)) → U51Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
xActive(N, 0) → U61Active(andActive(isNatActive(N), isNatKind(N)))
xActive(N, s(M)) → U71Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ Improved Ferreira Ribeiro-Transformation
U51ACTIVE(tt, M, N) → MARK(M)
MARK(U11(U31(x0, x1, x2), y1, y2)) → U11ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U21(isNatKind(x0), y1)) → U21ACTIVE(isNatKindActive(x0), y1)
MARK(U32(isNat(x0), y1)) → U32ACTIVE(isNatActive(x0), y1)
ISNATACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ISNATACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
ANDACTIVE(tt, X) → MARK(X)
ISNATKINDACTIVE(x(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U12(U71(x0, x1, x2), y1)) → U12ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U51(U31(x0, x1, x2), y1, y2)) → U51ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U11(U61(x0), y1, y2)) → U11ACTIVE(U61Active(mark(x0)), y1, y2)
MARK(U12(U22(x0), y1)) → U12ACTIVE(U22Active(mark(x0)), y1)
MARK(U21(U32(x0, x1), y1)) → U21ACTIVE(U32Active(mark(x0), x1), y1)
MARK(U12(isNatKind(x0), y1)) → U12ACTIVE(isNatKindActive(x0), y1)
MARK(U51(U71(x0, x1, x2), y1, y2)) → U51ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
MARK(U71(x1, x2, x3)) → U71ACTIVE(mark(x1), x2, x3)
MARK(U31(x(x0, x1), y1, y2)) → U31ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
MARK(U21(x(x0, x1), y1)) → U21ACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(U31(U41(x0, x1), y1, y2)) → U31ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(U12(plus(x0, x1), y1)) → U12ACTIVE(plusActive(mark(x0), mark(x1)), y1)
MARK(U21(U51(x0, x1, x2), y1)) → U21ACTIVE(U51Active(mark(x0), x1, x2), y1)
ISNATACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U51(U51(x0, x1, x2), y1, y2)) → U51ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
MARK(plus(x1, x2)) → MARK(x1)
MARK(U21(and(x0, x1), y1)) → U21ACTIVE(andActive(mark(x0), x1), y1)
MARK(U21(U12(x0, x1), y1)) → U21ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U41(U71(x0, x1, x2), y1)) → U41ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U11(U33(x0), y1, y2)) → U11ACTIVE(U33Active(mark(x0)), y1, y2)
MARK(U12(tt, y1)) → U12ACTIVE(tt, y1)
U31ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(U12(U41(x0, x1), y1)) → U12ACTIVE(U41Active(mark(x0), x1), y1)
ISNATACTIVE(plus(V1, V2)) → U11ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U11(U41(x0, x1), y1, y2)) → U11ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(and(x1, x2)) → MARK(x1)
PLUSACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
ISNATACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U41(isNatKind(x0), y1)) → U41ACTIVE(isNatKindActive(x0), y1)
MARK(U22(x1)) → MARK(x1)
U11ACTIVE(tt, 0, y1) → U12ACTIVE(tt, y1)
MARK(U41(U12(x0, x1), y1)) → U41ACTIVE(U12Active(mark(x0), x1), y1)
MARK(x(x1, x2)) → MARK(x1)
MARK(U12(and(x0, x1), y1)) → U12ACTIVE(andActive(mark(x0), x1), y1)
MARK(U21(U11(x0, x1, x2), y1)) → U21ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U13(x1)) → MARK(x1)
MARK(U41(U13(x0), y1)) → U41ACTIVE(U13Active(mark(x0)), y1)
MARK(U51(and(x0, x1), y1, y2)) → U51ACTIVE(andActive(mark(x0), x1), y1, y2)
XACTIVE(N, s(M)) → ISNATACTIVE(M)
MARK(U51(U12(x0, x1), y1, y2)) → U51ACTIVE(U12Active(mark(x0), x1), y1, y2)
MARK(U41(x(x0, x1), y1)) → U41ACTIVE(xActive(mark(x0), mark(x1)), y1)
U71ACTIVE(tt, M, N) → MARK(M)
ISNATACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(U12(U21(x0, x1), y1)) → U12ACTIVE(U21Active(mark(x0), x1), y1)
MARK(plus(x1, x2)) → MARK(x2)
MARK(U12(x1, x2)) → MARK(x1)
MARK(U32(U61(x0), y1)) → U32ACTIVE(U61Active(mark(x0)), y1)
MARK(U12(U11(x0, x1, x2), y1)) → U12ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U51(isNat(x0), y1, y2)) → U51ACTIVE(isNatActive(x0), y1, y2)
XACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
MARK(U41(isNat(x0), y1)) → U41ACTIVE(isNatActive(x0), y1)
MARK(x(x1, x2)) → XACTIVE(mark(x1), mark(x2))
MARK(U11(tt, y1, y2)) → U11ACTIVE(tt, y1, y2)
MARK(U21(U21(x0, x1), y1)) → U21ACTIVE(U21Active(mark(x0), x1), y1)
MARK(U41(plus(x0, x1), y1)) → U41ACTIVE(plusActive(mark(x0), mark(x1)), y1)
MARK(U31(U21(x0, x1), y1, y2)) → U31ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(isNatKind(x1)) → ISNATKINDACTIVE(x1)
MARK(U21(U41(x0, x1), y1)) → U21ACTIVE(U41Active(mark(x0), x1), y1)
MARK(U51(U11(x0, x1, x2), y1, y2)) → U51ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(U51(tt, y1, y2)) → U51ACTIVE(tt, y1, y2)
MARK(U41(U31(x0, x1, x2), y1)) → U41ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U32(U12(x0, x1), y1)) → U32ACTIVE(U12Active(mark(x0), x1), y1)
U12ACTIVE(tt, V2) → ISNATACTIVE(V2)
U21ACTIVE(tt, V1) → ISNATACTIVE(V1)
MARK(U31(U22(x0), y1, y2)) → U31ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(U31(isNat(x0), y1, y2)) → U31ACTIVE(isNatActive(x0), y1, y2)
MARK(U32(U71(x0, x1, x2), y1)) → U32ACTIVE(U71Active(mark(x0), x1, x2), y1)
PLUSACTIVE(N, 0) → ISNATACTIVE(N)
ISNATKINDACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U33(x1)) → MARK(x1)
MARK(U11(x(x0, x1), y1, y2)) → U11ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
ISNATKINDACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
ISNATKINDACTIVE(x(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U21(U31(x0, x1, x2), y1)) → U21ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U41(x1, x2)) → MARK(x1)
MARK(U11(isNat(x0), y1, y2)) → U11ACTIVE(isNatActive(x0), y1, y2)
MARK(U12(U33(x0), y1)) → U12ACTIVE(U33Active(mark(x0)), y1)
ISNATACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U32(isNatKind(x0), y1)) → U32ACTIVE(isNatKindActive(x0), y1)
MARK(U31(tt, y1, y2)) → U31ACTIVE(tt, y1, y2)
MARK(U21(U22(x0), y1)) → U21ACTIVE(U22Active(mark(x0)), y1)
MARK(U32(U51(x0, x1, x2), y1)) → U32ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U31(isNatKind(x0), y1, y2)) → U31ACTIVE(isNatKindActive(x0), y1, y2)
MARK(U31(x1, x2, x3)) → MARK(x1)
MARK(U32(U31(x0, x1, x2), y1)) → U32ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U51(U61(x0), y1, y2)) → U51ACTIVE(U61Active(mark(x0)), y1, y2)
XACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
MARK(U32(x1, x2)) → MARK(x1)
MARK(U41(U33(x0), y1)) → U41ACTIVE(U33Active(mark(x0)), y1)
MARK(U12(U32(x0, x1), y1)) → U12ACTIVE(U32Active(mark(x0), x1), y1)
XACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U31(U71(x0, x1, x2), y1, y2)) → U31ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
MARK(U11(and(x0, x1), y1, y2)) → U11ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(U41(U51(x0, x1, x2), y1)) → U41ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U11(U11(x0, x1, x2), y1, y2)) → U11ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(x(x1, x2)) → MARK(x2)
MARK(U11(x1, x2, x3)) → MARK(x1)
U71ACTIVE(tt, M, N) → PLUSACTIVE(xActive(mark(N), mark(M)), mark(N))
U51ACTIVE(tt, M, N) → MARK(N)
MARK(U41(tt, y1)) → U41ACTIVE(tt, y1)
MARK(U32(U11(x0, x1, x2), y1)) → U32ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U12(U12(x0, x1), y1)) → U12ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U32(tt, y1)) → U32ACTIVE(tt, y1)
MARK(U51(x1, x2, x3)) → MARK(x1)
MARK(U32(x(x0, x1), y1)) → U32ACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(U51(U22(x0), y1, y2)) → U51ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(U32(U13(x0), y1)) → U32ACTIVE(U13Active(mark(x0)), y1)
MARK(U51(x(x0, x1), y1, y2)) → U51ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
PLUSACTIVE(N, s(M)) → U51ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(and(x1, x2)) → ANDACTIVE(mark(x1), x2)
U11ACTIVE(tt, s(x0), y1) → U12ACTIVE(U21Active(isNatKindActive(x0), x0), y1)
MARK(s(x1)) → MARK(x1)
MARK(U51(plus(x0, x1), y1, y2)) → U51ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
MARK(U31(U12(x0, x1), y1, y2)) → U31ACTIVE(U12Active(mark(x0), x1), y1, y2)
U11ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
ISNATACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U32(U41(x0, x1), y1)) → U32ACTIVE(U41Active(mark(x0), x1), y1)
MARK(U12(U31(x0, x1, x2), y1)) → U12ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U11(U32(x0, x1), y1, y2)) → U11ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(U32(U22(x0), y1)) → U32ACTIVE(U22Active(mark(x0)), y1)
MARK(U12(U51(x0, x1, x2), y1)) → U12ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U12(U61(x0), y1)) → U12ACTIVE(U61Active(mark(x0)), y1)
ISNATKINDACTIVE(x(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
MARK(U51(U33(x0), y1, y2)) → U51ACTIVE(U33Active(mark(x0)), y1, y2)
ISNATACTIVE(x(V1, V2)) → U31ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U12(isNat(x0), y1)) → U12ACTIVE(isNatActive(x0), y1)
MARK(U11(plus(x0, x1), y1, y2)) → U11ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
PLUSACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
MARK(U21(U61(x0), y1)) → U21ACTIVE(U61Active(mark(x0)), y1)
MARK(U11(U21(x0, x1), y1, y2)) → U11ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(U61(x1)) → MARK(x1)
ISNATACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
MARK(U21(U71(x0, x1, x2), y1)) → U21ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U31(U33(x0), y1, y2)) → U31ACTIVE(U33Active(mark(x0)), y1, y2)
XACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U31(U13(x0), y1, y2)) → U31ACTIVE(U13Active(mark(x0)), y1, y2)
XACTIVE(N, s(M)) → U71ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(U51(U32(x0, x1), y1, y2)) → U51ACTIVE(U32Active(mark(x0), x1), y1, y2)
ISNATKINDACTIVE(x(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U31(U11(x0, x1, x2), y1, y2)) → U31ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(U31(U51(x0, x1, x2), y1, y2)) → U31ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
MARK(U32(U32(x0, x1), y1)) → U32ACTIVE(U32Active(mark(x0), x1), y1)
U41ACTIVE(tt, N) → MARK(N)
ISNATKINDACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U32(plus(x0, x1), y1)) → U32ACTIVE(plusActive(mark(x0), mark(x1)), y1)
U32ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(U21(plus(x0, x1), y1)) → U21ACTIVE(plusActive(mark(x0), mark(x1)), y1)
MARK(U32(U21(x0, x1), y1)) → U32ACTIVE(U21Active(mark(x0), x1), y1)
U11ACTIVE(tt, x(x0, x1), y1) → U12ACTIVE(U31Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U21(tt, y1)) → U21ACTIVE(tt, y1)
MARK(U21(U33(x0), y1)) → U21ACTIVE(U33Active(mark(x0)), y1)
MARK(U71(x1, x2, x3)) → MARK(x1)
PLUSACTIVE(N, s(M)) → ISNATACTIVE(M)
MARK(U41(and(x0, x1), y1)) → U41ACTIVE(andActive(mark(x0), x1), y1)
MARK(U21(x1, x2)) → MARK(x1)
MARK(U31(U61(x0), y1, y2)) → U31ACTIVE(U61Active(mark(x0)), y1, y2)
PLUSACTIVE(N, 0) → U41ACTIVE(andActive(isNatActive(N), isNatKind(N)), N)
U51ACTIVE(tt, M, N) → PLUSACTIVE(mark(N), mark(M))
MARK(U41(U41(x0, x1), y1)) → U41ACTIVE(U41Active(mark(x0), x1), y1)
MARK(U32(and(x0, x1), y1)) → U32ACTIVE(andActive(mark(x0), x1), y1)
ISNATKINDACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U11(U12(x0, x1), y1, y2)) → U11ACTIVE(U12Active(mark(x0), x1), y1, y2)
MARK(U11(U13(x0), y1, y2)) → U11ACTIVE(U13Active(mark(x0)), y1, y2)
U71ACTIVE(tt, M, N) → XACTIVE(mark(N), mark(M))
MARK(U41(U22(x0), y1)) → U41ACTIVE(U22Active(mark(x0)), y1)
U71ACTIVE(tt, M, N) → MARK(N)
MARK(U31(plus(x0, x1), y1, y2)) → U31ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
MARK(U11(U22(x0), y1, y2)) → U11ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(U51(U21(x0, x1), y1, y2)) → U51ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(isNat(x1)) → ISNATACTIVE(x1)
MARK(U12(x(x0, x1), y1)) → U12ACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(U41(U11(x0, x1, x2), y1)) → U41ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U31(U32(x0, x1), y1, y2)) → U31ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(U11(U71(x0, x1, x2), y1, y2)) → U11ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
ISNATKINDACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U21(isNat(x0), y1)) → U21ACTIVE(isNatActive(x0), y1)
MARK(U31(and(x0, x1), y1, y2)) → U31ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(plus(x1, x2)) → PLUSACTIVE(mark(x1), mark(x2))
MARK(U51(U41(x0, x1), y1, y2)) → U51ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(U32(U33(x0), y1)) → U32ACTIVE(U33Active(mark(x0)), y1)
MARK(U11(U51(x0, x1, x2), y1, y2)) → U11ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
U11ACTIVE(tt, plus(x0, x1), y1) → U12ACTIVE(U11Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U41(U32(x0, x1), y1)) → U41ACTIVE(U32Active(mark(x0), x1), y1)
ISNATACTIVE(s(V1)) → U21ACTIVE(isNatKindActive(V1), V1)
MARK(U41(U21(x0, x1), y1)) → U41ACTIVE(U21Active(mark(x0), x1), y1)
ISNATKINDACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U31(U31(x0, x1, x2), y1, y2)) → U31ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U51(isNatKind(x0), y1, y2)) → U51ACTIVE(isNatKindActive(x0), y1, y2)
MARK(U12(U13(x0), y1)) → U12ACTIVE(U13Active(mark(x0)), y1)
MARK(U51(U13(x0), y1, y2)) → U51ACTIVE(U13Active(mark(x0)), y1, y2)
U31ACTIVE(tt, V1, V2) → U32ACTIVE(isNatActive(V1), V2)
MARK(U11(isNatKind(x0), y1, y2)) → U11ACTIVE(isNatKindActive(x0), y1, y2)
MARK(U21(U13(x0), y1)) → U21ACTIVE(U13Active(mark(x0)), y1)
MARK(U41(U61(x0), y1)) → U41ACTIVE(U61Active(mark(x0)), y1)
ISNATKINDACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
mark(U11(x1, x2, x3)) → U11Active(mark(x1), x2, x3)
U11Active(x1, x2, x3) → U11(x1, x2, x3)
mark(U12(x1, x2)) → U12Active(mark(x1), x2)
U12Active(x1, x2) → U12(x1, x2)
mark(U13(x1)) → U13Active(mark(x1))
U13Active(x1) → U13(x1)
mark(U21(x1, x2)) → U21Active(mark(x1), x2)
U21Active(x1, x2) → U21(x1, x2)
mark(U22(x1)) → U22Active(mark(x1))
U22Active(x1) → U22(x1)
mark(U31(x1, x2, x3)) → U31Active(mark(x1), x2, x3)
U31Active(x1, x2, x3) → U31(x1, x2, x3)
mark(U32(x1, x2)) → U32Active(mark(x1), x2)
U32Active(x1, x2) → U32(x1, x2)
mark(U33(x1)) → U33Active(mark(x1))
U33Active(x1) → U33(x1)
mark(U41(x1, x2)) → U41Active(mark(x1), x2)
U41Active(x1, x2) → U41(x1, x2)
mark(U51(x1, x2, x3)) → U51Active(mark(x1), x2, x3)
U51Active(x1, x2, x3) → U51(x1, x2, x3)
mark(U61(x1)) → U61Active(mark(x1))
U61Active(x1) → U61(x1)
mark(U71(x1, x2, x3)) → U71Active(mark(x1), x2, x3)
U71Active(x1, x2, x3) → U71(x1, x2, x3)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatKind(x1)) → isNatKindActive(x1)
isNatKindActive(x1) → isNatKind(x1)
mark(plus(x1, x2)) → plusActive(mark(x1), mark(x2))
plusActive(x1, x2) → plus(x1, x2)
mark(x(x1, x2)) → xActive(mark(x1), mark(x2))
xActive(x1, x2) → x(x1, x2)
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(0) → 0
U11Active(tt, V1, V2) → U12Active(isNatActive(V1), V2)
U12Active(tt, V2) → U13Active(isNatActive(V2))
U13Active(tt) → tt
U21Active(tt, V1) → U22Active(isNatActive(V1))
U22Active(tt) → tt
U31Active(tt, V1, V2) → U32Active(isNatActive(V1), V2)
U32Active(tt, V2) → U33Active(isNatActive(V2))
U33Active(tt) → tt
U41Active(tt, N) → mark(N)
U51Active(tt, M, N) → s(plusActive(mark(N), mark(M)))
U61Active(tt) → 0
U71Active(tt, M, N) → plusActive(xActive(mark(N), mark(M)), mark(N))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(plus(V1, V2)) → U11Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatActive(s(V1)) → U21Active(isNatKindActive(V1), V1)
isNatActive(x(V1, V2)) → U31Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatKindActive(0) → tt
isNatKindActive(plus(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
isNatKindActive(s(V1)) → isNatKindActive(V1)
isNatKindActive(x(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
plusActive(N, 0) → U41Active(andActive(isNatActive(N), isNatKind(N)), N)
plusActive(N, s(M)) → U51Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
xActive(N, 0) → U61Active(andActive(isNatActive(N), isNatKind(N)))
xActive(N, s(M)) → U71Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(U71(U32(x0, x1), y1, y2)) → U71ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(U71(U21(x0, x1), y1, y2)) → U71ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(U71(U71(x0, x1, x2), y1, y2)) → U71ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
MARK(U71(s(x0), y1, y2)) → U71ACTIVE(s(mark(x0)), y1, y2)
MARK(U71(U22(x0), y1, y2)) → U71ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(U71(U41(x0, x1), y1, y2)) → U71ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(U71(tt, y1, y2)) → U71ACTIVE(tt, y1, y2)
MARK(U71(U11(x0, x1, x2), y1, y2)) → U71ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(U71(U33(x0), y1, y2)) → U71ACTIVE(U33Active(mark(x0)), y1, y2)
MARK(U71(U61(x0), y1, y2)) → U71ACTIVE(U61Active(mark(x0)), y1, y2)
MARK(U71(isNatKind(x0), y1, y2)) → U71ACTIVE(isNatKindActive(x0), y1, y2)
MARK(U71(isNat(x0), y1, y2)) → U71ACTIVE(isNatActive(x0), y1, y2)
MARK(U71(U31(x0, x1, x2), y1, y2)) → U71ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U71(0, y1, y2)) → U71ACTIVE(0, y1, y2)
MARK(U71(and(x0, x1), y1, y2)) → U71ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(U71(U13(x0), y1, y2)) → U71ACTIVE(U13Active(mark(x0)), y1, y2)
MARK(U71(U12(x0, x1), y1, y2)) → U71ACTIVE(U12Active(mark(x0), x1), y1, y2)
MARK(U71(plus(x0, x1), y1, y2)) → U71ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
MARK(U71(x(x0, x1), y1, y2)) → U71ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
MARK(U71(U51(x0, x1, x2), y1, y2)) → U71ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ Improved Ferreira Ribeiro-Transformation
U51ACTIVE(tt, M, N) → MARK(M)
MARK(U21(isNatKind(x0), y1)) → U21ACTIVE(isNatKindActive(x0), y1)
MARK(U11(U31(x0, x1, x2), y1, y2)) → U11ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U32(isNat(x0), y1)) → U32ACTIVE(isNatActive(x0), y1)
MARK(U71(U31(x0, x1, x2), y1, y2)) → U71ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
ISNATACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ISNATACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
ISNATKINDACTIVE(x(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ANDACTIVE(tt, X) → MARK(X)
MARK(U12(U71(x0, x1, x2), y1)) → U12ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U51(U31(x0, x1, x2), y1, y2)) → U51ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U12(U22(x0), y1)) → U12ACTIVE(U22Active(mark(x0)), y1)
MARK(U11(U61(x0), y1, y2)) → U11ACTIVE(U61Active(mark(x0)), y1, y2)
MARK(U21(U32(x0, x1), y1)) → U21ACTIVE(U32Active(mark(x0), x1), y1)
MARK(U12(isNatKind(x0), y1)) → U12ACTIVE(isNatKindActive(x0), y1)
MARK(U51(U71(x0, x1, x2), y1, y2)) → U51ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
MARK(U31(x(x0, x1), y1, y2)) → U31ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
MARK(U21(x(x0, x1), y1)) → U21ACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(U31(U41(x0, x1), y1, y2)) → U31ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(U71(0, y1, y2)) → U71ACTIVE(0, y1, y2)
MARK(U21(U51(x0, x1, x2), y1)) → U21ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U12(plus(x0, x1), y1)) → U12ACTIVE(plusActive(mark(x0), mark(x1)), y1)
ISNATACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U51(U51(x0, x1, x2), y1, y2)) → U51ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
MARK(plus(x1, x2)) → MARK(x1)
MARK(U21(and(x0, x1), y1)) → U21ACTIVE(andActive(mark(x0), x1), y1)
MARK(U21(U12(x0, x1), y1)) → U21ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U41(U71(x0, x1, x2), y1)) → U41ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U12(tt, y1)) → U12ACTIVE(tt, y1)
MARK(U11(U33(x0), y1, y2)) → U11ACTIVE(U33Active(mark(x0)), y1, y2)
U31ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(U12(U41(x0, x1), y1)) → U12ACTIVE(U41Active(mark(x0), x1), y1)
ISNATACTIVE(plus(V1, V2)) → U11ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U11(U41(x0, x1), y1, y2)) → U11ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(and(x1, x2)) → MARK(x1)
MARK(U71(s(x0), y1, y2)) → U71ACTIVE(s(mark(x0)), y1, y2)
ISNATACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
MARK(U41(isNatKind(x0), y1)) → U41ACTIVE(isNatKindActive(x0), y1)
MARK(U22(x1)) → MARK(x1)
MARK(U41(U12(x0, x1), y1)) → U41ACTIVE(U12Active(mark(x0), x1), y1)
U11ACTIVE(tt, 0, y1) → U12ACTIVE(tt, y1)
MARK(x(x1, x2)) → MARK(x1)
MARK(U12(and(x0, x1), y1)) → U12ACTIVE(andActive(mark(x0), x1), y1)
MARK(U21(U11(x0, x1, x2), y1)) → U21ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U13(x1)) → MARK(x1)
MARK(U41(U13(x0), y1)) → U41ACTIVE(U13Active(mark(x0)), y1)
MARK(U51(and(x0, x1), y1, y2)) → U51ACTIVE(andActive(mark(x0), x1), y1, y2)
XACTIVE(N, s(M)) → ISNATACTIVE(M)
MARK(U51(U12(x0, x1), y1, y2)) → U51ACTIVE(U12Active(mark(x0), x1), y1, y2)
MARK(U71(U71(x0, x1, x2), y1, y2)) → U71ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
MARK(U41(x(x0, x1), y1)) → U41ACTIVE(xActive(mark(x0), mark(x1)), y1)
U71ACTIVE(tt, M, N) → MARK(M)
ISNATACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(U12(U21(x0, x1), y1)) → U12ACTIVE(U21Active(mark(x0), x1), y1)
MARK(U12(x1, x2)) → MARK(x1)
MARK(plus(x1, x2)) → MARK(x2)
MARK(U32(U61(x0), y1)) → U32ACTIVE(U61Active(mark(x0)), y1)
MARK(U12(U11(x0, x1, x2), y1)) → U12ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U51(isNat(x0), y1, y2)) → U51ACTIVE(isNatActive(x0), y1, y2)
XACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
MARK(U41(isNat(x0), y1)) → U41ACTIVE(isNatActive(x0), y1)
MARK(U71(U32(x0, x1), y1, y2)) → U71ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(x(x1, x2)) → XACTIVE(mark(x1), mark(x2))
MARK(U11(tt, y1, y2)) → U11ACTIVE(tt, y1, y2)
MARK(U41(plus(x0, x1), y1)) → U41ACTIVE(plusActive(mark(x0), mark(x1)), y1)
MARK(U21(U21(x0, x1), y1)) → U21ACTIVE(U21Active(mark(x0), x1), y1)
MARK(U31(U21(x0, x1), y1, y2)) → U31ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(isNatKind(x1)) → ISNATKINDACTIVE(x1)
MARK(U71(U13(x0), y1, y2)) → U71ACTIVE(U13Active(mark(x0)), y1, y2)
MARK(U21(U41(x0, x1), y1)) → U21ACTIVE(U41Active(mark(x0), x1), y1)
MARK(U51(U11(x0, x1, x2), y1, y2)) → U51ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(U41(U31(x0, x1, x2), y1)) → U41ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U51(tt, y1, y2)) → U51ACTIVE(tt, y1, y2)
MARK(U32(U12(x0, x1), y1)) → U32ACTIVE(U12Active(mark(x0), x1), y1)
U12ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(U31(U22(x0), y1, y2)) → U31ACTIVE(U22Active(mark(x0)), y1, y2)
U21ACTIVE(tt, V1) → ISNATACTIVE(V1)
MARK(U31(isNat(x0), y1, y2)) → U31ACTIVE(isNatActive(x0), y1, y2)
MARK(U32(U71(x0, x1, x2), y1)) → U32ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U71(U61(x0), y1, y2)) → U71ACTIVE(U61Active(mark(x0)), y1, y2)
MARK(U71(tt, y1, y2)) → U71ACTIVE(tt, y1, y2)
ISNATKINDACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
PLUSACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U33(x1)) → MARK(x1)
MARK(U11(x(x0, x1), y1, y2)) → U11ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
ISNATKINDACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
ISNATKINDACTIVE(x(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U21(U31(x0, x1, x2), y1)) → U21ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U71(x(x0, x1), y1, y2)) → U71ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
MARK(U41(x1, x2)) → MARK(x1)
MARK(U11(isNat(x0), y1, y2)) → U11ACTIVE(isNatActive(x0), y1, y2)
MARK(U12(U33(x0), y1)) → U12ACTIVE(U33Active(mark(x0)), y1)
ISNATACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U71(U41(x0, x1), y1, y2)) → U71ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(U32(isNatKind(x0), y1)) → U32ACTIVE(isNatKindActive(x0), y1)
MARK(U31(tt, y1, y2)) → U31ACTIVE(tt, y1, y2)
MARK(U21(U22(x0), y1)) → U21ACTIVE(U22Active(mark(x0)), y1)
MARK(U32(U51(x0, x1, x2), y1)) → U32ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U31(isNatKind(x0), y1, y2)) → U31ACTIVE(isNatKindActive(x0), y1, y2)
MARK(U32(U31(x0, x1, x2), y1)) → U32ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U31(x1, x2, x3)) → MARK(x1)
MARK(U51(U61(x0), y1, y2)) → U51ACTIVE(U61Active(mark(x0)), y1, y2)
MARK(U41(U33(x0), y1)) → U41ACTIVE(U33Active(mark(x0)), y1)
MARK(U32(x1, x2)) → MARK(x1)
XACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
MARK(U12(U32(x0, x1), y1)) → U12ACTIVE(U32Active(mark(x0), x1), y1)
MARK(U31(U71(x0, x1, x2), y1, y2)) → U31ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
XACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U11(and(x0, x1), y1, y2)) → U11ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(U41(U51(x0, x1, x2), y1)) → U41ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U11(U11(x0, x1, x2), y1, y2)) → U11ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(U11(x1, x2, x3)) → MARK(x1)
MARK(x(x1, x2)) → MARK(x2)
MARK(U71(and(x0, x1), y1, y2)) → U71ACTIVE(andActive(mark(x0), x1), y1, y2)
U71ACTIVE(tt, M, N) → PLUSACTIVE(xActive(mark(N), mark(M)), mark(N))
U51ACTIVE(tt, M, N) → MARK(N)
MARK(U41(tt, y1)) → U41ACTIVE(tt, y1)
MARK(U32(U11(x0, x1, x2), y1)) → U32ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U12(U12(x0, x1), y1)) → U12ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U32(tt, y1)) → U32ACTIVE(tt, y1)
MARK(U51(x1, x2, x3)) → MARK(x1)
MARK(U51(U22(x0), y1, y2)) → U51ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(U32(x(x0, x1), y1)) → U32ACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(U71(isNatKind(x0), y1, y2)) → U71ACTIVE(isNatKindActive(x0), y1, y2)
MARK(U32(U13(x0), y1)) → U32ACTIVE(U13Active(mark(x0)), y1)
MARK(U51(x(x0, x1), y1, y2)) → U51ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
MARK(and(x1, x2)) → ANDACTIVE(mark(x1), x2)
PLUSACTIVE(N, s(M)) → U51ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
U11ACTIVE(tt, s(x0), y1) → U12ACTIVE(U21Active(isNatKindActive(x0), x0), y1)
MARK(U51(plus(x0, x1), y1, y2)) → U51ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
MARK(s(x1)) → MARK(x1)
MARK(U31(U12(x0, x1), y1, y2)) → U31ACTIVE(U12Active(mark(x0), x1), y1, y2)
U11ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
ISNATACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U32(U41(x0, x1), y1)) → U32ACTIVE(U41Active(mark(x0), x1), y1)
MARK(U12(U31(x0, x1, x2), y1)) → U12ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U32(U22(x0), y1)) → U32ACTIVE(U22Active(mark(x0)), y1)
MARK(U11(U32(x0, x1), y1, y2)) → U11ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(U12(U51(x0, x1, x2), y1)) → U12ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U71(U33(x0), y1, y2)) → U71ACTIVE(U33Active(mark(x0)), y1, y2)
MARK(U12(U61(x0), y1)) → U12ACTIVE(U61Active(mark(x0)), y1)
MARK(U51(U33(x0), y1, y2)) → U51ACTIVE(U33Active(mark(x0)), y1, y2)
ISNATKINDACTIVE(x(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
ISNATACTIVE(x(V1, V2)) → U31ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U71(U51(x0, x1, x2), y1, y2)) → U71ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
MARK(U12(isNat(x0), y1)) → U12ACTIVE(isNatActive(x0), y1)
MARK(U21(U61(x0), y1)) → U21ACTIVE(U61Active(mark(x0)), y1)
PLUSACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
MARK(U11(plus(x0, x1), y1, y2)) → U11ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
MARK(U11(U21(x0, x1), y1, y2)) → U11ACTIVE(U21Active(mark(x0), x1), y1, y2)
ISNATACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
MARK(U61(x1)) → MARK(x1)
MARK(U71(U11(x0, x1, x2), y1, y2)) → U71ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(U21(U71(x0, x1, x2), y1)) → U21ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U31(U33(x0), y1, y2)) → U31ACTIVE(U33Active(mark(x0)), y1, y2)
XACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U31(U13(x0), y1, y2)) → U31ACTIVE(U13Active(mark(x0)), y1, y2)
XACTIVE(N, s(M)) → U71ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(U51(U32(x0, x1), y1, y2)) → U51ACTIVE(U32Active(mark(x0), x1), y1, y2)
ISNATKINDACTIVE(x(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U31(U51(x0, x1, x2), y1, y2)) → U31ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
MARK(U31(U11(x0, x1, x2), y1, y2)) → U31ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(U32(U32(x0, x1), y1)) → U32ACTIVE(U32Active(mark(x0), x1), y1)
U41ACTIVE(tt, N) → MARK(N)
ISNATKINDACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U32(plus(x0, x1), y1)) → U32ACTIVE(plusActive(mark(x0), mark(x1)), y1)
MARK(U32(U21(x0, x1), y1)) → U32ACTIVE(U21Active(mark(x0), x1), y1)
MARK(U21(plus(x0, x1), y1)) → U21ACTIVE(plusActive(mark(x0), mark(x1)), y1)
U32ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(U21(U33(x0), y1)) → U21ACTIVE(U33Active(mark(x0)), y1)
MARK(U21(tt, y1)) → U21ACTIVE(tt, y1)
U11ACTIVE(tt, x(x0, x1), y1) → U12ACTIVE(U31Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U71(x1, x2, x3)) → MARK(x1)
MARK(U41(and(x0, x1), y1)) → U41ACTIVE(andActive(mark(x0), x1), y1)
PLUSACTIVE(N, s(M)) → ISNATACTIVE(M)
MARK(U21(x1, x2)) → MARK(x1)
MARK(U31(U61(x0), y1, y2)) → U31ACTIVE(U61Active(mark(x0)), y1, y2)
PLUSACTIVE(N, 0) → U41ACTIVE(andActive(isNatActive(N), isNatKind(N)), N)
MARK(U41(U41(x0, x1), y1)) → U41ACTIVE(U41Active(mark(x0), x1), y1)
U51ACTIVE(tt, M, N) → PLUSACTIVE(mark(N), mark(M))
MARK(U32(and(x0, x1), y1)) → U32ACTIVE(andActive(mark(x0), x1), y1)
ISNATKINDACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U11(U12(x0, x1), y1, y2)) → U11ACTIVE(U12Active(mark(x0), x1), y1, y2)
MARK(U71(U21(x0, x1), y1, y2)) → U71ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(U11(U13(x0), y1, y2)) → U11ACTIVE(U13Active(mark(x0)), y1, y2)
U71ACTIVE(tt, M, N) → XACTIVE(mark(N), mark(M))
MARK(U41(U22(x0), y1)) → U41ACTIVE(U22Active(mark(x0)), y1)
U71ACTIVE(tt, M, N) → MARK(N)
MARK(U71(plus(x0, x1), y1, y2)) → U71ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
MARK(U31(plus(x0, x1), y1, y2)) → U31ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
MARK(U11(U22(x0), y1, y2)) → U11ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(U51(U21(x0, x1), y1, y2)) → U51ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(isNat(x1)) → ISNATACTIVE(x1)
MARK(U12(x(x0, x1), y1)) → U12ACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(U41(U11(x0, x1, x2), y1)) → U41ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U31(U32(x0, x1), y1, y2)) → U31ACTIVE(U32Active(mark(x0), x1), y1, y2)
ISNATKINDACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U11(U71(x0, x1, x2), y1, y2)) → U11ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
MARK(U31(and(x0, x1), y1, y2)) → U31ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(U21(isNat(x0), y1)) → U21ACTIVE(isNatActive(x0), y1)
MARK(plus(x1, x2)) → PLUSACTIVE(mark(x1), mark(x2))
MARK(U51(U41(x0, x1), y1, y2)) → U51ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(U32(U33(x0), y1)) → U32ACTIVE(U33Active(mark(x0)), y1)
MARK(U71(isNat(x0), y1, y2)) → U71ACTIVE(isNatActive(x0), y1, y2)
MARK(U11(U51(x0, x1, x2), y1, y2)) → U11ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
U11ACTIVE(tt, plus(x0, x1), y1) → U12ACTIVE(U11Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U41(U32(x0, x1), y1)) → U41ACTIVE(U32Active(mark(x0), x1), y1)
ISNATACTIVE(s(V1)) → U21ACTIVE(isNatKindActive(V1), V1)
MARK(U41(U21(x0, x1), y1)) → U41ACTIVE(U21Active(mark(x0), x1), y1)
ISNATKINDACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U71(U22(x0), y1, y2)) → U71ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(U51(isNatKind(x0), y1, y2)) → U51ACTIVE(isNatKindActive(x0), y1, y2)
MARK(U31(U31(x0, x1, x2), y1, y2)) → U31ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U12(U13(x0), y1)) → U12ACTIVE(U13Active(mark(x0)), y1)
MARK(U71(U12(x0, x1), y1, y2)) → U71ACTIVE(U12Active(mark(x0), x1), y1, y2)
U31ACTIVE(tt, V1, V2) → U32ACTIVE(isNatActive(V1), V2)
MARK(U51(U13(x0), y1, y2)) → U51ACTIVE(U13Active(mark(x0)), y1, y2)
MARK(U41(U61(x0), y1)) → U41ACTIVE(U61Active(mark(x0)), y1)
MARK(U21(U13(x0), y1)) → U21ACTIVE(U13Active(mark(x0)), y1)
MARK(U11(isNatKind(x0), y1, y2)) → U11ACTIVE(isNatKindActive(x0), y1, y2)
ISNATKINDACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
mark(U11(x1, x2, x3)) → U11Active(mark(x1), x2, x3)
U11Active(x1, x2, x3) → U11(x1, x2, x3)
mark(U12(x1, x2)) → U12Active(mark(x1), x2)
U12Active(x1, x2) → U12(x1, x2)
mark(U13(x1)) → U13Active(mark(x1))
U13Active(x1) → U13(x1)
mark(U21(x1, x2)) → U21Active(mark(x1), x2)
U21Active(x1, x2) → U21(x1, x2)
mark(U22(x1)) → U22Active(mark(x1))
U22Active(x1) → U22(x1)
mark(U31(x1, x2, x3)) → U31Active(mark(x1), x2, x3)
U31Active(x1, x2, x3) → U31(x1, x2, x3)
mark(U32(x1, x2)) → U32Active(mark(x1), x2)
U32Active(x1, x2) → U32(x1, x2)
mark(U33(x1)) → U33Active(mark(x1))
U33Active(x1) → U33(x1)
mark(U41(x1, x2)) → U41Active(mark(x1), x2)
U41Active(x1, x2) → U41(x1, x2)
mark(U51(x1, x2, x3)) → U51Active(mark(x1), x2, x3)
U51Active(x1, x2, x3) → U51(x1, x2, x3)
mark(U61(x1)) → U61Active(mark(x1))
U61Active(x1) → U61(x1)
mark(U71(x1, x2, x3)) → U71Active(mark(x1), x2, x3)
U71Active(x1, x2, x3) → U71(x1, x2, x3)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatKind(x1)) → isNatKindActive(x1)
isNatKindActive(x1) → isNatKind(x1)
mark(plus(x1, x2)) → plusActive(mark(x1), mark(x2))
plusActive(x1, x2) → plus(x1, x2)
mark(x(x1, x2)) → xActive(mark(x1), mark(x2))
xActive(x1, x2) → x(x1, x2)
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(0) → 0
U11Active(tt, V1, V2) → U12Active(isNatActive(V1), V2)
U12Active(tt, V2) → U13Active(isNatActive(V2))
U13Active(tt) → tt
U21Active(tt, V1) → U22Active(isNatActive(V1))
U22Active(tt) → tt
U31Active(tt, V1, V2) → U32Active(isNatActive(V1), V2)
U32Active(tt, V2) → U33Active(isNatActive(V2))
U33Active(tt) → tt
U41Active(tt, N) → mark(N)
U51Active(tt, M, N) → s(plusActive(mark(N), mark(M)))
U61Active(tt) → 0
U71Active(tt, M, N) → plusActive(xActive(mark(N), mark(M)), mark(N))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(plus(V1, V2)) → U11Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatActive(s(V1)) → U21Active(isNatKindActive(V1), V1)
isNatActive(x(V1, V2)) → U31Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatKindActive(0) → tt
isNatKindActive(plus(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
isNatKindActive(s(V1)) → isNatKindActive(V1)
isNatKindActive(x(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
plusActive(N, 0) → U41Active(andActive(isNatActive(N), isNatKind(N)), N)
plusActive(N, s(M)) → U51Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
xActive(N, 0) → U61Active(andActive(isNatActive(N), isNatKind(N)))
xActive(N, s(M)) → U71Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ Improved Ferreira Ribeiro-Transformation
U51ACTIVE(tt, M, N) → MARK(M)
MARK(U11(U31(x0, x1, x2), y1, y2)) → U11ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U21(isNatKind(x0), y1)) → U21ACTIVE(isNatKindActive(x0), y1)
MARK(U32(isNat(x0), y1)) → U32ACTIVE(isNatActive(x0), y1)
MARK(U71(U31(x0, x1, x2), y1, y2)) → U71ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
ISNATACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ISNATACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
ANDACTIVE(tt, X) → MARK(X)
ISNATKINDACTIVE(x(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U12(U71(x0, x1, x2), y1)) → U12ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U51(U31(x0, x1, x2), y1, y2)) → U51ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U11(U61(x0), y1, y2)) → U11ACTIVE(U61Active(mark(x0)), y1, y2)
MARK(U12(U22(x0), y1)) → U12ACTIVE(U22Active(mark(x0)), y1)
MARK(U21(U32(x0, x1), y1)) → U21ACTIVE(U32Active(mark(x0), x1), y1)
MARK(U12(isNatKind(x0), y1)) → U12ACTIVE(isNatKindActive(x0), y1)
MARK(U51(U71(x0, x1, x2), y1, y2)) → U51ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
MARK(U31(x(x0, x1), y1, y2)) → U31ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
MARK(U21(x(x0, x1), y1)) → U21ACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(U31(U41(x0, x1), y1, y2)) → U31ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(U12(plus(x0, x1), y1)) → U12ACTIVE(plusActive(mark(x0), mark(x1)), y1)
MARK(U21(U51(x0, x1, x2), y1)) → U21ACTIVE(U51Active(mark(x0), x1, x2), y1)
ISNATACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U51(U51(x0, x1, x2), y1, y2)) → U51ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
MARK(plus(x1, x2)) → MARK(x1)
MARK(U21(and(x0, x1), y1)) → U21ACTIVE(andActive(mark(x0), x1), y1)
MARK(U21(U12(x0, x1), y1)) → U21ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U41(U71(x0, x1, x2), y1)) → U41ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U12(tt, y1)) → U12ACTIVE(tt, y1)
MARK(U11(U33(x0), y1, y2)) → U11ACTIVE(U33Active(mark(x0)), y1, y2)
U31ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(U12(U41(x0, x1), y1)) → U12ACTIVE(U41Active(mark(x0), x1), y1)
ISNATACTIVE(plus(V1, V2)) → U11ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U11(U41(x0, x1), y1, y2)) → U11ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(and(x1, x2)) → MARK(x1)
PLUSACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
ISNATACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U41(isNatKind(x0), y1)) → U41ACTIVE(isNatKindActive(x0), y1)
MARK(U22(x1)) → MARK(x1)
U11ACTIVE(tt, 0, y1) → U12ACTIVE(tt, y1)
MARK(U41(U12(x0, x1), y1)) → U41ACTIVE(U12Active(mark(x0), x1), y1)
MARK(x(x1, x2)) → MARK(x1)
MARK(U12(and(x0, x1), y1)) → U12ACTIVE(andActive(mark(x0), x1), y1)
MARK(U21(U11(x0, x1, x2), y1)) → U21ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U13(x1)) → MARK(x1)
MARK(U41(U13(x0), y1)) → U41ACTIVE(U13Active(mark(x0)), y1)
MARK(U51(and(x0, x1), y1, y2)) → U51ACTIVE(andActive(mark(x0), x1), y1, y2)
XACTIVE(N, s(M)) → ISNATACTIVE(M)
MARK(U51(U12(x0, x1), y1, y2)) → U51ACTIVE(U12Active(mark(x0), x1), y1, y2)
MARK(U71(U71(x0, x1, x2), y1, y2)) → U71ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
MARK(U41(x(x0, x1), y1)) → U41ACTIVE(xActive(mark(x0), mark(x1)), y1)
U71ACTIVE(tt, M, N) → MARK(M)
ISNATACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(U12(U21(x0, x1), y1)) → U12ACTIVE(U21Active(mark(x0), x1), y1)
MARK(plus(x1, x2)) → MARK(x2)
MARK(U12(x1, x2)) → MARK(x1)
MARK(U32(U61(x0), y1)) → U32ACTIVE(U61Active(mark(x0)), y1)
MARK(U12(U11(x0, x1, x2), y1)) → U12ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U51(isNat(x0), y1, y2)) → U51ACTIVE(isNatActive(x0), y1, y2)
XACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
MARK(U41(isNat(x0), y1)) → U41ACTIVE(isNatActive(x0), y1)
MARK(U71(U32(x0, x1), y1, y2)) → U71ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(x(x1, x2)) → XACTIVE(mark(x1), mark(x2))
MARK(U11(tt, y1, y2)) → U11ACTIVE(tt, y1, y2)
MARK(U21(U21(x0, x1), y1)) → U21ACTIVE(U21Active(mark(x0), x1), y1)
MARK(U41(plus(x0, x1), y1)) → U41ACTIVE(plusActive(mark(x0), mark(x1)), y1)
MARK(U31(U21(x0, x1), y1, y2)) → U31ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(isNatKind(x1)) → ISNATKINDACTIVE(x1)
MARK(U71(U13(x0), y1, y2)) → U71ACTIVE(U13Active(mark(x0)), y1, y2)
MARK(U21(U41(x0, x1), y1)) → U21ACTIVE(U41Active(mark(x0), x1), y1)
MARK(U51(U11(x0, x1, x2), y1, y2)) → U51ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(U41(U31(x0, x1, x2), y1)) → U41ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U51(tt, y1, y2)) → U51ACTIVE(tt, y1, y2)
MARK(U32(U12(x0, x1), y1)) → U32ACTIVE(U12Active(mark(x0), x1), y1)
U12ACTIVE(tt, V2) → ISNATACTIVE(V2)
U21ACTIVE(tt, V1) → ISNATACTIVE(V1)
MARK(U31(U22(x0), y1, y2)) → U31ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(U31(isNat(x0), y1, y2)) → U31ACTIVE(isNatActive(x0), y1, y2)
MARK(U32(U71(x0, x1, x2), y1)) → U32ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U71(U61(x0), y1, y2)) → U71ACTIVE(U61Active(mark(x0)), y1, y2)
MARK(U71(tt, y1, y2)) → U71ACTIVE(tt, y1, y2)
PLUSACTIVE(N, 0) → ISNATACTIVE(N)
ISNATKINDACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U33(x1)) → MARK(x1)
MARK(U11(x(x0, x1), y1, y2)) → U11ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
ISNATKINDACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
ISNATKINDACTIVE(x(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U21(U31(x0, x1, x2), y1)) → U21ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U71(x(x0, x1), y1, y2)) → U71ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
MARK(U41(x1, x2)) → MARK(x1)
MARK(U11(isNat(x0), y1, y2)) → U11ACTIVE(isNatActive(x0), y1, y2)
MARK(U12(U33(x0), y1)) → U12ACTIVE(U33Active(mark(x0)), y1)
ISNATACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U71(U41(x0, x1), y1, y2)) → U71ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(U32(isNatKind(x0), y1)) → U32ACTIVE(isNatKindActive(x0), y1)
MARK(U31(tt, y1, y2)) → U31ACTIVE(tt, y1, y2)
MARK(U21(U22(x0), y1)) → U21ACTIVE(U22Active(mark(x0)), y1)
MARK(U32(U51(x0, x1, x2), y1)) → U32ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U31(isNatKind(x0), y1, y2)) → U31ACTIVE(isNatKindActive(x0), y1, y2)
MARK(U31(x1, x2, x3)) → MARK(x1)
MARK(U32(U31(x0, x1, x2), y1)) → U32ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U51(U61(x0), y1, y2)) → U51ACTIVE(U61Active(mark(x0)), y1, y2)
XACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
MARK(U32(x1, x2)) → MARK(x1)
MARK(U41(U33(x0), y1)) → U41ACTIVE(U33Active(mark(x0)), y1)
MARK(U12(U32(x0, x1), y1)) → U12ACTIVE(U32Active(mark(x0), x1), y1)
XACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U31(U71(x0, x1, x2), y1, y2)) → U31ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
MARK(U11(and(x0, x1), y1, y2)) → U11ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(U41(U51(x0, x1, x2), y1)) → U41ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U11(U11(x0, x1, x2), y1, y2)) → U11ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(x(x1, x2)) → MARK(x2)
MARK(U11(x1, x2, x3)) → MARK(x1)
MARK(U71(and(x0, x1), y1, y2)) → U71ACTIVE(andActive(mark(x0), x1), y1, y2)
U71ACTIVE(tt, M, N) → PLUSACTIVE(xActive(mark(N), mark(M)), mark(N))
U51ACTIVE(tt, M, N) → MARK(N)
MARK(U41(tt, y1)) → U41ACTIVE(tt, y1)
MARK(U32(U11(x0, x1, x2), y1)) → U32ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U12(U12(x0, x1), y1)) → U12ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U32(tt, y1)) → U32ACTIVE(tt, y1)
MARK(U51(x1, x2, x3)) → MARK(x1)
MARK(U32(x(x0, x1), y1)) → U32ACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(U51(U22(x0), y1, y2)) → U51ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(U71(isNatKind(x0), y1, y2)) → U71ACTIVE(isNatKindActive(x0), y1, y2)
MARK(U32(U13(x0), y1)) → U32ACTIVE(U13Active(mark(x0)), y1)
MARK(U51(x(x0, x1), y1, y2)) → U51ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
PLUSACTIVE(N, s(M)) → U51ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(and(x1, x2)) → ANDACTIVE(mark(x1), x2)
U11ACTIVE(tt, s(x0), y1) → U12ACTIVE(U21Active(isNatKindActive(x0), x0), y1)
MARK(s(x1)) → MARK(x1)
MARK(U51(plus(x0, x1), y1, y2)) → U51ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
MARK(U31(U12(x0, x1), y1, y2)) → U31ACTIVE(U12Active(mark(x0), x1), y1, y2)
U11ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
ISNATACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U32(U41(x0, x1), y1)) → U32ACTIVE(U41Active(mark(x0), x1), y1)
MARK(U12(U31(x0, x1, x2), y1)) → U12ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U11(U32(x0, x1), y1, y2)) → U11ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(U32(U22(x0), y1)) → U32ACTIVE(U22Active(mark(x0)), y1)
MARK(U12(U51(x0, x1, x2), y1)) → U12ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U71(U33(x0), y1, y2)) → U71ACTIVE(U33Active(mark(x0)), y1, y2)
MARK(U12(U61(x0), y1)) → U12ACTIVE(U61Active(mark(x0)), y1)
ISNATKINDACTIVE(x(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
MARK(U51(U33(x0), y1, y2)) → U51ACTIVE(U33Active(mark(x0)), y1, y2)
ISNATACTIVE(x(V1, V2)) → U31ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U71(U51(x0, x1, x2), y1, y2)) → U71ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
MARK(U12(isNat(x0), y1)) → U12ACTIVE(isNatActive(x0), y1)
MARK(U11(plus(x0, x1), y1, y2)) → U11ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
PLUSACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
MARK(U21(U61(x0), y1)) → U21ACTIVE(U61Active(mark(x0)), y1)
MARK(U11(U21(x0, x1), y1, y2)) → U11ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(U61(x1)) → MARK(x1)
ISNATACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
MARK(U71(U11(x0, x1, x2), y1, y2)) → U71ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(U21(U71(x0, x1, x2), y1)) → U21ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U31(U33(x0), y1, y2)) → U31ACTIVE(U33Active(mark(x0)), y1, y2)
XACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U31(U13(x0), y1, y2)) → U31ACTIVE(U13Active(mark(x0)), y1, y2)
XACTIVE(N, s(M)) → U71ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(U51(U32(x0, x1), y1, y2)) → U51ACTIVE(U32Active(mark(x0), x1), y1, y2)
ISNATKINDACTIVE(x(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U31(U11(x0, x1, x2), y1, y2)) → U31ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(U31(U51(x0, x1, x2), y1, y2)) → U31ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
MARK(U32(U32(x0, x1), y1)) → U32ACTIVE(U32Active(mark(x0), x1), y1)
U41ACTIVE(tt, N) → MARK(N)
ISNATKINDACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U32(plus(x0, x1), y1)) → U32ACTIVE(plusActive(mark(x0), mark(x1)), y1)
U32ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(U21(plus(x0, x1), y1)) → U21ACTIVE(plusActive(mark(x0), mark(x1)), y1)
MARK(U32(U21(x0, x1), y1)) → U32ACTIVE(U21Active(mark(x0), x1), y1)
U11ACTIVE(tt, x(x0, x1), y1) → U12ACTIVE(U31Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U21(tt, y1)) → U21ACTIVE(tt, y1)
MARK(U21(U33(x0), y1)) → U21ACTIVE(U33Active(mark(x0)), y1)
MARK(U71(x1, x2, x3)) → MARK(x1)
PLUSACTIVE(N, s(M)) → ISNATACTIVE(M)
MARK(U41(and(x0, x1), y1)) → U41ACTIVE(andActive(mark(x0), x1), y1)
MARK(U21(x1, x2)) → MARK(x1)
MARK(U31(U61(x0), y1, y2)) → U31ACTIVE(U61Active(mark(x0)), y1, y2)
PLUSACTIVE(N, 0) → U41ACTIVE(andActive(isNatActive(N), isNatKind(N)), N)
U51ACTIVE(tt, M, N) → PLUSACTIVE(mark(N), mark(M))
MARK(U41(U41(x0, x1), y1)) → U41ACTIVE(U41Active(mark(x0), x1), y1)
MARK(U32(and(x0, x1), y1)) → U32ACTIVE(andActive(mark(x0), x1), y1)
ISNATKINDACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U11(U12(x0, x1), y1, y2)) → U11ACTIVE(U12Active(mark(x0), x1), y1, y2)
MARK(U71(U21(x0, x1), y1, y2)) → U71ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(U11(U13(x0), y1, y2)) → U11ACTIVE(U13Active(mark(x0)), y1, y2)
U71ACTIVE(tt, M, N) → XACTIVE(mark(N), mark(M))
MARK(U41(U22(x0), y1)) → U41ACTIVE(U22Active(mark(x0)), y1)
U71ACTIVE(tt, M, N) → MARK(N)
MARK(U71(plus(x0, x1), y1, y2)) → U71ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
MARK(U31(plus(x0, x1), y1, y2)) → U31ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
MARK(U11(U22(x0), y1, y2)) → U11ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(U51(U21(x0, x1), y1, y2)) → U51ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(isNat(x1)) → ISNATACTIVE(x1)
MARK(U12(x(x0, x1), y1)) → U12ACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(U41(U11(x0, x1, x2), y1)) → U41ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U31(U32(x0, x1), y1, y2)) → U31ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(U11(U71(x0, x1, x2), y1, y2)) → U11ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
ISNATKINDACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U21(isNat(x0), y1)) → U21ACTIVE(isNatActive(x0), y1)
MARK(U31(and(x0, x1), y1, y2)) → U31ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(plus(x1, x2)) → PLUSACTIVE(mark(x1), mark(x2))
MARK(U51(U41(x0, x1), y1, y2)) → U51ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(U32(U33(x0), y1)) → U32ACTIVE(U33Active(mark(x0)), y1)
MARK(U71(isNat(x0), y1, y2)) → U71ACTIVE(isNatActive(x0), y1, y2)
MARK(U11(U51(x0, x1, x2), y1, y2)) → U11ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
U11ACTIVE(tt, plus(x0, x1), y1) → U12ACTIVE(U11Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U41(U32(x0, x1), y1)) → U41ACTIVE(U32Active(mark(x0), x1), y1)
ISNATACTIVE(s(V1)) → U21ACTIVE(isNatKindActive(V1), V1)
MARK(U41(U21(x0, x1), y1)) → U41ACTIVE(U21Active(mark(x0), x1), y1)
ISNATKINDACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U71(U22(x0), y1, y2)) → U71ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(U31(U31(x0, x1, x2), y1, y2)) → U31ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U51(isNatKind(x0), y1, y2)) → U51ACTIVE(isNatKindActive(x0), y1, y2)
MARK(U12(U13(x0), y1)) → U12ACTIVE(U13Active(mark(x0)), y1)
MARK(U71(U12(x0, x1), y1, y2)) → U71ACTIVE(U12Active(mark(x0), x1), y1, y2)
U31ACTIVE(tt, V1, V2) → U32ACTIVE(isNatActive(V1), V2)
MARK(U51(U13(x0), y1, y2)) → U51ACTIVE(U13Active(mark(x0)), y1, y2)
MARK(U11(isNatKind(x0), y1, y2)) → U11ACTIVE(isNatKindActive(x0), y1, y2)
MARK(U21(U13(x0), y1)) → U21ACTIVE(U13Active(mark(x0)), y1)
MARK(U41(U61(x0), y1)) → U41ACTIVE(U61Active(mark(x0)), y1)
ISNATKINDACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
mark(U11(x1, x2, x3)) → U11Active(mark(x1), x2, x3)
U11Active(x1, x2, x3) → U11(x1, x2, x3)
mark(U12(x1, x2)) → U12Active(mark(x1), x2)
U12Active(x1, x2) → U12(x1, x2)
mark(U13(x1)) → U13Active(mark(x1))
U13Active(x1) → U13(x1)
mark(U21(x1, x2)) → U21Active(mark(x1), x2)
U21Active(x1, x2) → U21(x1, x2)
mark(U22(x1)) → U22Active(mark(x1))
U22Active(x1) → U22(x1)
mark(U31(x1, x2, x3)) → U31Active(mark(x1), x2, x3)
U31Active(x1, x2, x3) → U31(x1, x2, x3)
mark(U32(x1, x2)) → U32Active(mark(x1), x2)
U32Active(x1, x2) → U32(x1, x2)
mark(U33(x1)) → U33Active(mark(x1))
U33Active(x1) → U33(x1)
mark(U41(x1, x2)) → U41Active(mark(x1), x2)
U41Active(x1, x2) → U41(x1, x2)
mark(U51(x1, x2, x3)) → U51Active(mark(x1), x2, x3)
U51Active(x1, x2, x3) → U51(x1, x2, x3)
mark(U61(x1)) → U61Active(mark(x1))
U61Active(x1) → U61(x1)
mark(U71(x1, x2, x3)) → U71Active(mark(x1), x2, x3)
U71Active(x1, x2, x3) → U71(x1, x2, x3)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatKind(x1)) → isNatKindActive(x1)
isNatKindActive(x1) → isNatKind(x1)
mark(plus(x1, x2)) → plusActive(mark(x1), mark(x2))
plusActive(x1, x2) → plus(x1, x2)
mark(x(x1, x2)) → xActive(mark(x1), mark(x2))
xActive(x1, x2) → x(x1, x2)
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(0) → 0
U11Active(tt, V1, V2) → U12Active(isNatActive(V1), V2)
U12Active(tt, V2) → U13Active(isNatActive(V2))
U13Active(tt) → tt
U21Active(tt, V1) → U22Active(isNatActive(V1))
U22Active(tt) → tt
U31Active(tt, V1, V2) → U32Active(isNatActive(V1), V2)
U32Active(tt, V2) → U33Active(isNatActive(V2))
U33Active(tt) → tt
U41Active(tt, N) → mark(N)
U51Active(tt, M, N) → s(plusActive(mark(N), mark(M)))
U61Active(tt) → 0
U71Active(tt, M, N) → plusActive(xActive(mark(N), mark(M)), mark(N))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(plus(V1, V2)) → U11Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatActive(s(V1)) → U21Active(isNatKindActive(V1), V1)
isNatActive(x(V1, V2)) → U31Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatKindActive(0) → tt
isNatKindActive(plus(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
isNatKindActive(s(V1)) → isNatKindActive(V1)
isNatKindActive(x(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
plusActive(N, 0) → U41Active(andActive(isNatActive(N), isNatKind(N)), N)
plusActive(N, s(M)) → U51Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
xActive(N, 0) → U61Active(andActive(isNatActive(N), isNatKind(N)))
xActive(N, s(M)) → U71Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(and(0, y1)) → ANDACTIVE(0, y1)
MARK(and(U61(x0), y1)) → ANDACTIVE(U61Active(mark(x0)), y1)
MARK(and(isNat(x0), y1)) → ANDACTIVE(isNatActive(x0), y1)
MARK(and(U12(x0, x1), y1)) → ANDACTIVE(U12Active(mark(x0), x1), y1)
MARK(and(plus(x0, x1), y1)) → ANDACTIVE(plusActive(mark(x0), mark(x1)), y1)
MARK(and(isNatKind(x0), y1)) → ANDACTIVE(isNatKindActive(x0), y1)
MARK(and(U71(x0, x1, x2), y1)) → ANDACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(and(U13(x0), y1)) → ANDACTIVE(U13Active(mark(x0)), y1)
MARK(and(U22(x0), y1)) → ANDACTIVE(U22Active(mark(x0)), y1)
MARK(and(and(x0, x1), y1)) → ANDACTIVE(andActive(mark(x0), x1), y1)
MARK(and(U11(x0, x1, x2), y1)) → ANDACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(and(U33(x0), y1)) → ANDACTIVE(U33Active(mark(x0)), y1)
MARK(and(tt, y1)) → ANDACTIVE(tt, y1)
MARK(and(U21(x0, x1), y1)) → ANDACTIVE(U21Active(mark(x0), x1), y1)
MARK(and(x(x0, x1), y1)) → ANDACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(and(U51(x0, x1, x2), y1)) → ANDACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(and(s(x0), y1)) → ANDACTIVE(s(mark(x0)), y1)
MARK(and(U32(x0, x1), y1)) → ANDACTIVE(U32Active(mark(x0), x1), y1)
MARK(and(U31(x0, x1, x2), y1)) → ANDACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(and(U41(x0, x1), y1)) → ANDACTIVE(U41Active(mark(x0), x1), y1)
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ Improved Ferreira Ribeiro-Transformation
MARK(and(0, y1)) → ANDACTIVE(0, y1)
U51ACTIVE(tt, M, N) → MARK(M)
MARK(U21(isNatKind(x0), y1)) → U21ACTIVE(isNatKindActive(x0), y1)
MARK(U11(U31(x0, x1, x2), y1, y2)) → U11ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U32(isNat(x0), y1)) → U32ACTIVE(isNatActive(x0), y1)
MARK(U71(U31(x0, x1, x2), y1, y2)) → U71ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
ISNATACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ISNATACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
ISNATKINDACTIVE(x(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ANDACTIVE(tt, X) → MARK(X)
MARK(U12(U71(x0, x1, x2), y1)) → U12ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U51(U31(x0, x1, x2), y1, y2)) → U51ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U12(U22(x0), y1)) → U12ACTIVE(U22Active(mark(x0)), y1)
MARK(U11(U61(x0), y1, y2)) → U11ACTIVE(U61Active(mark(x0)), y1, y2)
MARK(and(U41(x0, x1), y1)) → ANDACTIVE(U41Active(mark(x0), x1), y1)
MARK(U21(U32(x0, x1), y1)) → U21ACTIVE(U32Active(mark(x0), x1), y1)
MARK(U12(isNatKind(x0), y1)) → U12ACTIVE(isNatKindActive(x0), y1)
MARK(U51(U71(x0, x1, x2), y1, y2)) → U51ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
MARK(U31(x(x0, x1), y1, y2)) → U31ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
MARK(U21(x(x0, x1), y1)) → U21ACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(U31(U41(x0, x1), y1, y2)) → U31ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(and(U11(x0, x1, x2), y1)) → ANDACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U21(U51(x0, x1, x2), y1)) → U21ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U12(plus(x0, x1), y1)) → U12ACTIVE(plusActive(mark(x0), mark(x1)), y1)
ISNATACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U51(U51(x0, x1, x2), y1, y2)) → U51ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
MARK(plus(x1, x2)) → MARK(x1)
MARK(U21(and(x0, x1), y1)) → U21ACTIVE(andActive(mark(x0), x1), y1)
MARK(U21(U12(x0, x1), y1)) → U21ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U41(U71(x0, x1, x2), y1)) → U41ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U11(U33(x0), y1, y2)) → U11ACTIVE(U33Active(mark(x0)), y1, y2)
MARK(U12(tt, y1)) → U12ACTIVE(tt, y1)
U31ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(and(U71(x0, x1, x2), y1)) → ANDACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U12(U41(x0, x1), y1)) → U12ACTIVE(U41Active(mark(x0), x1), y1)
ISNATACTIVE(plus(V1, V2)) → U11ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U11(U41(x0, x1), y1, y2)) → U11ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(and(x1, x2)) → MARK(x1)
ISNATACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
MARK(U41(isNatKind(x0), y1)) → U41ACTIVE(isNatKindActive(x0), y1)
MARK(U22(x1)) → MARK(x1)
MARK(and(U13(x0), y1)) → ANDACTIVE(U13Active(mark(x0)), y1)
MARK(U41(U12(x0, x1), y1)) → U41ACTIVE(U12Active(mark(x0), x1), y1)
U11ACTIVE(tt, 0, y1) → U12ACTIVE(tt, y1)
MARK(x(x1, x2)) → MARK(x1)
MARK(U12(and(x0, x1), y1)) → U12ACTIVE(andActive(mark(x0), x1), y1)
MARK(U21(U11(x0, x1, x2), y1)) → U21ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(and(tt, y1)) → ANDACTIVE(tt, y1)
MARK(U13(x1)) → MARK(x1)
MARK(U41(U13(x0), y1)) → U41ACTIVE(U13Active(mark(x0)), y1)
MARK(U51(and(x0, x1), y1, y2)) → U51ACTIVE(andActive(mark(x0), x1), y1, y2)
XACTIVE(N, s(M)) → ISNATACTIVE(M)
MARK(U51(U12(x0, x1), y1, y2)) → U51ACTIVE(U12Active(mark(x0), x1), y1, y2)
MARK(U71(U71(x0, x1, x2), y1, y2)) → U71ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
MARK(U41(x(x0, x1), y1)) → U41ACTIVE(xActive(mark(x0), mark(x1)), y1)
U71ACTIVE(tt, M, N) → MARK(M)
ISNATACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(U12(U21(x0, x1), y1)) → U12ACTIVE(U21Active(mark(x0), x1), y1)
MARK(U12(x1, x2)) → MARK(x1)
MARK(plus(x1, x2)) → MARK(x2)
MARK(U32(U61(x0), y1)) → U32ACTIVE(U61Active(mark(x0)), y1)
MARK(U12(U11(x0, x1, x2), y1)) → U12ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U51(isNat(x0), y1, y2)) → U51ACTIVE(isNatActive(x0), y1, y2)
XACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
MARK(U41(isNat(x0), y1)) → U41ACTIVE(isNatActive(x0), y1)
MARK(x(x1, x2)) → XACTIVE(mark(x1), mark(x2))
MARK(U71(U32(x0, x1), y1, y2)) → U71ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(U11(tt, y1, y2)) → U11ACTIVE(tt, y1, y2)
MARK(U41(plus(x0, x1), y1)) → U41ACTIVE(plusActive(mark(x0), mark(x1)), y1)
MARK(U21(U21(x0, x1), y1)) → U21ACTIVE(U21Active(mark(x0), x1), y1)
MARK(U31(U21(x0, x1), y1, y2)) → U31ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(isNatKind(x1)) → ISNATKINDACTIVE(x1)
MARK(U71(U13(x0), y1, y2)) → U71ACTIVE(U13Active(mark(x0)), y1, y2)
MARK(U21(U41(x0, x1), y1)) → U21ACTIVE(U41Active(mark(x0), x1), y1)
MARK(U51(U11(x0, x1, x2), y1, y2)) → U51ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(U51(tt, y1, y2)) → U51ACTIVE(tt, y1, y2)
MARK(U41(U31(x0, x1, x2), y1)) → U41ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U32(U12(x0, x1), y1)) → U32ACTIVE(U12Active(mark(x0), x1), y1)
U12ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(U31(U22(x0), y1, y2)) → U31ACTIVE(U22Active(mark(x0)), y1, y2)
U21ACTIVE(tt, V1) → ISNATACTIVE(V1)
MARK(U31(isNat(x0), y1, y2)) → U31ACTIVE(isNatActive(x0), y1, y2)
MARK(and(isNat(x0), y1)) → ANDACTIVE(isNatActive(x0), y1)
MARK(U32(U71(x0, x1, x2), y1)) → U32ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U71(tt, y1, y2)) → U71ACTIVE(tt, y1, y2)
MARK(U71(U61(x0), y1, y2)) → U71ACTIVE(U61Active(mark(x0)), y1, y2)
ISNATKINDACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
PLUSACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U33(x1)) → MARK(x1)
MARK(U11(x(x0, x1), y1, y2)) → U11ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
ISNATKINDACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
ISNATKINDACTIVE(x(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U21(U31(x0, x1, x2), y1)) → U21ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U41(x1, x2)) → MARK(x1)
MARK(U71(x(x0, x1), y1, y2)) → U71ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
MARK(U11(isNat(x0), y1, y2)) → U11ACTIVE(isNatActive(x0), y1, y2)
MARK(U12(U33(x0), y1)) → U12ACTIVE(U33Active(mark(x0)), y1)
ISNATACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U71(U41(x0, x1), y1, y2)) → U71ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(U32(isNatKind(x0), y1)) → U32ACTIVE(isNatKindActive(x0), y1)
MARK(U31(tt, y1, y2)) → U31ACTIVE(tt, y1, y2)
MARK(U21(U22(x0), y1)) → U21ACTIVE(U22Active(mark(x0)), y1)
MARK(U32(U51(x0, x1, x2), y1)) → U32ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(and(U22(x0), y1)) → ANDACTIVE(U22Active(mark(x0)), y1)
MARK(U31(isNatKind(x0), y1, y2)) → U31ACTIVE(isNatKindActive(x0), y1, y2)
MARK(U32(U31(x0, x1, x2), y1)) → U32ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U31(x1, x2, x3)) → MARK(x1)
MARK(and(U51(x0, x1, x2), y1)) → ANDACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U51(U61(x0), y1, y2)) → U51ACTIVE(U61Active(mark(x0)), y1, y2)
MARK(U41(U33(x0), y1)) → U41ACTIVE(U33Active(mark(x0)), y1)
MARK(U32(x1, x2)) → MARK(x1)
XACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
MARK(U12(U32(x0, x1), y1)) → U12ACTIVE(U32Active(mark(x0), x1), y1)
MARK(U31(U71(x0, x1, x2), y1, y2)) → U31ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
XACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U11(and(x0, x1), y1, y2)) → U11ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(U41(U51(x0, x1, x2), y1)) → U41ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U11(U11(x0, x1, x2), y1, y2)) → U11ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(U11(x1, x2, x3)) → MARK(x1)
MARK(x(x1, x2)) → MARK(x2)
U71ACTIVE(tt, M, N) → PLUSACTIVE(xActive(mark(N), mark(M)), mark(N))
MARK(U71(and(x0, x1), y1, y2)) → U71ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(and(U21(x0, x1), y1)) → ANDACTIVE(U21Active(mark(x0), x1), y1)
U51ACTIVE(tt, M, N) → MARK(N)
MARK(and(x(x0, x1), y1)) → ANDACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(and(U32(x0, x1), y1)) → ANDACTIVE(U32Active(mark(x0), x1), y1)
MARK(and(s(x0), y1)) → ANDACTIVE(s(mark(x0)), y1)
MARK(U41(tt, y1)) → U41ACTIVE(tt, y1)
MARK(U32(U11(x0, x1, x2), y1)) → U32ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U12(U12(x0, x1), y1)) → U12ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U32(tt, y1)) → U32ACTIVE(tt, y1)
MARK(U51(x1, x2, x3)) → MARK(x1)
MARK(U51(U22(x0), y1, y2)) → U51ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(U32(x(x0, x1), y1)) → U32ACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(U32(U13(x0), y1)) → U32ACTIVE(U13Active(mark(x0)), y1)
MARK(U71(isNatKind(x0), y1, y2)) → U71ACTIVE(isNatKindActive(x0), y1, y2)
MARK(U51(x(x0, x1), y1, y2)) → U51ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
PLUSACTIVE(N, s(M)) → U51ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
U11ACTIVE(tt, s(x0), y1) → U12ACTIVE(U21Active(isNatKindActive(x0), x0), y1)
MARK(U51(plus(x0, x1), y1, y2)) → U51ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
MARK(s(x1)) → MARK(x1)
MARK(U31(U12(x0, x1), y1, y2)) → U31ACTIVE(U12Active(mark(x0), x1), y1, y2)
U11ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(and(U31(x0, x1, x2), y1)) → ANDACTIVE(U31Active(mark(x0), x1, x2), y1)
ISNATACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U32(U41(x0, x1), y1)) → U32ACTIVE(U41Active(mark(x0), x1), y1)
MARK(U12(U31(x0, x1, x2), y1)) → U12ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(and(U61(x0), y1)) → ANDACTIVE(U61Active(mark(x0)), y1)
MARK(U32(U22(x0), y1)) → U32ACTIVE(U22Active(mark(x0)), y1)
MARK(U11(U32(x0, x1), y1, y2)) → U11ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(U12(U51(x0, x1, x2), y1)) → U12ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U71(U33(x0), y1, y2)) → U71ACTIVE(U33Active(mark(x0)), y1, y2)
MARK(and(and(x0, x1), y1)) → ANDACTIVE(andActive(mark(x0), x1), y1)
MARK(U12(U61(x0), y1)) → U12ACTIVE(U61Active(mark(x0)), y1)
MARK(U51(U33(x0), y1, y2)) → U51ACTIVE(U33Active(mark(x0)), y1, y2)
ISNATKINDACTIVE(x(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
ISNATACTIVE(x(V1, V2)) → U31ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U71(U51(x0, x1, x2), y1, y2)) → U71ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
MARK(U12(isNat(x0), y1)) → U12ACTIVE(isNatActive(x0), y1)
MARK(U21(U61(x0), y1)) → U21ACTIVE(U61Active(mark(x0)), y1)
PLUSACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
MARK(U11(plus(x0, x1), y1, y2)) → U11ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
MARK(U11(U21(x0, x1), y1, y2)) → U11ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(and(U12(x0, x1), y1)) → ANDACTIVE(U12Active(mark(x0), x1), y1)
ISNATACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
MARK(U61(x1)) → MARK(x1)
MARK(U71(U11(x0, x1, x2), y1, y2)) → U71ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(U21(U71(x0, x1, x2), y1)) → U21ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U31(U33(x0), y1, y2)) → U31ACTIVE(U33Active(mark(x0)), y1, y2)
XACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U31(U13(x0), y1, y2)) → U31ACTIVE(U13Active(mark(x0)), y1, y2)
MARK(and(U33(x0), y1)) → ANDACTIVE(U33Active(mark(x0)), y1)
XACTIVE(N, s(M)) → U71ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(U51(U32(x0, x1), y1, y2)) → U51ACTIVE(U32Active(mark(x0), x1), y1, y2)
ISNATKINDACTIVE(x(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U31(U51(x0, x1, x2), y1, y2)) → U31ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
MARK(U31(U11(x0, x1, x2), y1, y2)) → U31ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(U32(U32(x0, x1), y1)) → U32ACTIVE(U32Active(mark(x0), x1), y1)
U41ACTIVE(tt, N) → MARK(N)
ISNATKINDACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(and(plus(x0, x1), y1)) → ANDACTIVE(plusActive(mark(x0), mark(x1)), y1)
MARK(U32(plus(x0, x1), y1)) → U32ACTIVE(plusActive(mark(x0), mark(x1)), y1)
MARK(U32(U21(x0, x1), y1)) → U32ACTIVE(U21Active(mark(x0), x1), y1)
MARK(U21(plus(x0, x1), y1)) → U21ACTIVE(plusActive(mark(x0), mark(x1)), y1)
U32ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(U21(U33(x0), y1)) → U21ACTIVE(U33Active(mark(x0)), y1)
MARK(U21(tt, y1)) → U21ACTIVE(tt, y1)
U11ACTIVE(tt, x(x0, x1), y1) → U12ACTIVE(U31Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U71(x1, x2, x3)) → MARK(x1)
MARK(U41(and(x0, x1), y1)) → U41ACTIVE(andActive(mark(x0), x1), y1)
PLUSACTIVE(N, s(M)) → ISNATACTIVE(M)
MARK(U21(x1, x2)) → MARK(x1)
MARK(U31(U61(x0), y1, y2)) → U31ACTIVE(U61Active(mark(x0)), y1, y2)
PLUSACTIVE(N, 0) → U41ACTIVE(andActive(isNatActive(N), isNatKind(N)), N)
MARK(U41(U41(x0, x1), y1)) → U41ACTIVE(U41Active(mark(x0), x1), y1)
U51ACTIVE(tt, M, N) → PLUSACTIVE(mark(N), mark(M))
MARK(U32(and(x0, x1), y1)) → U32ACTIVE(andActive(mark(x0), x1), y1)
ISNATKINDACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U11(U12(x0, x1), y1, y2)) → U11ACTIVE(U12Active(mark(x0), x1), y1, y2)
MARK(U71(U21(x0, x1), y1, y2)) → U71ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(U11(U13(x0), y1, y2)) → U11ACTIVE(U13Active(mark(x0)), y1, y2)
U71ACTIVE(tt, M, N) → XACTIVE(mark(N), mark(M))
MARK(and(isNatKind(x0), y1)) → ANDACTIVE(isNatKindActive(x0), y1)
MARK(U41(U22(x0), y1)) → U41ACTIVE(U22Active(mark(x0)), y1)
U71ACTIVE(tt, M, N) → MARK(N)
MARK(U31(plus(x0, x1), y1, y2)) → U31ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
MARK(U71(plus(x0, x1), y1, y2)) → U71ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
MARK(U11(U22(x0), y1, y2)) → U11ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(U51(U21(x0, x1), y1, y2)) → U51ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(isNat(x1)) → ISNATACTIVE(x1)
MARK(U12(x(x0, x1), y1)) → U12ACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(U41(U11(x0, x1, x2), y1)) → U41ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U31(U32(x0, x1), y1, y2)) → U31ACTIVE(U32Active(mark(x0), x1), y1, y2)
ISNATKINDACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U11(U71(x0, x1, x2), y1, y2)) → U11ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
MARK(U31(and(x0, x1), y1, y2)) → U31ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(U21(isNat(x0), y1)) → U21ACTIVE(isNatActive(x0), y1)
MARK(plus(x1, x2)) → PLUSACTIVE(mark(x1), mark(x2))
MARK(U51(U41(x0, x1), y1, y2)) → U51ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(U32(U33(x0), y1)) → U32ACTIVE(U33Active(mark(x0)), y1)
MARK(U71(isNat(x0), y1, y2)) → U71ACTIVE(isNatActive(x0), y1, y2)
MARK(U11(U51(x0, x1, x2), y1, y2)) → U11ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
U11ACTIVE(tt, plus(x0, x1), y1) → U12ACTIVE(U11Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U41(U32(x0, x1), y1)) → U41ACTIVE(U32Active(mark(x0), x1), y1)
ISNATACTIVE(s(V1)) → U21ACTIVE(isNatKindActive(V1), V1)
MARK(U41(U21(x0, x1), y1)) → U41ACTIVE(U21Active(mark(x0), x1), y1)
ISNATKINDACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U71(U22(x0), y1, y2)) → U71ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(U51(isNatKind(x0), y1, y2)) → U51ACTIVE(isNatKindActive(x0), y1, y2)
MARK(U31(U31(x0, x1, x2), y1, y2)) → U31ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U12(U13(x0), y1)) → U12ACTIVE(U13Active(mark(x0)), y1)
MARK(U51(U13(x0), y1, y2)) → U51ACTIVE(U13Active(mark(x0)), y1, y2)
U31ACTIVE(tt, V1, V2) → U32ACTIVE(isNatActive(V1), V2)
MARK(U71(U12(x0, x1), y1, y2)) → U71ACTIVE(U12Active(mark(x0), x1), y1, y2)
MARK(U41(U61(x0), y1)) → U41ACTIVE(U61Active(mark(x0)), y1)
MARK(U21(U13(x0), y1)) → U21ACTIVE(U13Active(mark(x0)), y1)
MARK(U11(isNatKind(x0), y1, y2)) → U11ACTIVE(isNatKindActive(x0), y1, y2)
ISNATKINDACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
mark(U11(x1, x2, x3)) → U11Active(mark(x1), x2, x3)
U11Active(x1, x2, x3) → U11(x1, x2, x3)
mark(U12(x1, x2)) → U12Active(mark(x1), x2)
U12Active(x1, x2) → U12(x1, x2)
mark(U13(x1)) → U13Active(mark(x1))
U13Active(x1) → U13(x1)
mark(U21(x1, x2)) → U21Active(mark(x1), x2)
U21Active(x1, x2) → U21(x1, x2)
mark(U22(x1)) → U22Active(mark(x1))
U22Active(x1) → U22(x1)
mark(U31(x1, x2, x3)) → U31Active(mark(x1), x2, x3)
U31Active(x1, x2, x3) → U31(x1, x2, x3)
mark(U32(x1, x2)) → U32Active(mark(x1), x2)
U32Active(x1, x2) → U32(x1, x2)
mark(U33(x1)) → U33Active(mark(x1))
U33Active(x1) → U33(x1)
mark(U41(x1, x2)) → U41Active(mark(x1), x2)
U41Active(x1, x2) → U41(x1, x2)
mark(U51(x1, x2, x3)) → U51Active(mark(x1), x2, x3)
U51Active(x1, x2, x3) → U51(x1, x2, x3)
mark(U61(x1)) → U61Active(mark(x1))
U61Active(x1) → U61(x1)
mark(U71(x1, x2, x3)) → U71Active(mark(x1), x2, x3)
U71Active(x1, x2, x3) → U71(x1, x2, x3)
mark(and(x1, x2)) → andActive(mark(x1), x2)
andActive(x1, x2) → and(x1, x2)
mark(isNat(x1)) → isNatActive(x1)
isNatActive(x1) → isNat(x1)
mark(isNatKind(x1)) → isNatKindActive(x1)
isNatKindActive(x1) → isNatKind(x1)
mark(plus(x1, x2)) → plusActive(mark(x1), mark(x2))
plusActive(x1, x2) → plus(x1, x2)
mark(x(x1, x2)) → xActive(mark(x1), mark(x2))
xActive(x1, x2) → x(x1, x2)
mark(tt) → tt
mark(s(x1)) → s(mark(x1))
mark(0) → 0
U11Active(tt, V1, V2) → U12Active(isNatActive(V1), V2)
U12Active(tt, V2) → U13Active(isNatActive(V2))
U13Active(tt) → tt
U21Active(tt, V1) → U22Active(isNatActive(V1))
U22Active(tt) → tt
U31Active(tt, V1, V2) → U32Active(isNatActive(V1), V2)
U32Active(tt, V2) → U33Active(isNatActive(V2))
U33Active(tt) → tt
U41Active(tt, N) → mark(N)
U51Active(tt, M, N) → s(plusActive(mark(N), mark(M)))
U61Active(tt) → 0
U71Active(tt, M, N) → plusActive(xActive(mark(N), mark(M)), mark(N))
andActive(tt, X) → mark(X)
isNatActive(0) → tt
isNatActive(plus(V1, V2)) → U11Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatActive(s(V1)) → U21Active(isNatKindActive(V1), V1)
isNatActive(x(V1, V2)) → U31Active(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
isNatKindActive(0) → tt
isNatKindActive(plus(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
isNatKindActive(s(V1)) → isNatKindActive(V1)
isNatKindActive(x(V1, V2)) → andActive(isNatKindActive(V1), isNatKind(V2))
plusActive(N, 0) → U41Active(andActive(isNatActive(N), isNatKind(N)), N)
plusActive(N, s(M)) → U51Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
xActive(N, 0) → U61Active(andActive(isNatActive(N), isNatKind(N)))
xActive(N, s(M)) → U71Active(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
↳ CSR
↳ Zantema-Transformation
↳ Incomplete Giesl Middeldorp-Transformation
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Narrowing
↳ Improved Ferreira Ribeiro-Transformation
U51ACTIVE(tt, M, N) → MARK(M)
MARK(U11(U31(x0, x1, x2), y1, y2)) → U11ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U21(isNatKind(x0), y1)) → U21ACTIVE(isNatKindActive(x0), y1)
MARK(U32(isNat(x0), y1)) → U32ACTIVE(isNatActive(x0), y1)
MARK(U71(U31(x0, x1, x2), y1, y2)) → U71ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
ISNATACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
ISNATACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
ANDACTIVE(tt, X) → MARK(X)
ISNATKINDACTIVE(x(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U12(U71(x0, x1, x2), y1)) → U12ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U51(U31(x0, x1, x2), y1, y2)) → U51ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U11(U61(x0), y1, y2)) → U11ACTIVE(U61Active(mark(x0)), y1, y2)
MARK(U12(U22(x0), y1)) → U12ACTIVE(U22Active(mark(x0)), y1)
MARK(and(U41(x0, x1), y1)) → ANDACTIVE(U41Active(mark(x0), x1), y1)
MARK(U21(U32(x0, x1), y1)) → U21ACTIVE(U32Active(mark(x0), x1), y1)
MARK(U12(isNatKind(x0), y1)) → U12ACTIVE(isNatKindActive(x0), y1)
MARK(U51(U71(x0, x1, x2), y1, y2)) → U51ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
MARK(U31(x(x0, x1), y1, y2)) → U31ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
MARK(U21(x(x0, x1), y1)) → U21ACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(U31(U41(x0, x1), y1, y2)) → U31ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(and(U11(x0, x1, x2), y1)) → ANDACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U12(plus(x0, x1), y1)) → U12ACTIVE(plusActive(mark(x0), mark(x1)), y1)
MARK(U21(U51(x0, x1, x2), y1)) → U21ACTIVE(U51Active(mark(x0), x1, x2), y1)
ISNATACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U51(U51(x0, x1, x2), y1, y2)) → U51ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
MARK(plus(x1, x2)) → MARK(x1)
MARK(U21(and(x0, x1), y1)) → U21ACTIVE(andActive(mark(x0), x1), y1)
MARK(U21(U12(x0, x1), y1)) → U21ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U41(U71(x0, x1, x2), y1)) → U41ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U12(tt, y1)) → U12ACTIVE(tt, y1)
MARK(U11(U33(x0), y1, y2)) → U11ACTIVE(U33Active(mark(x0)), y1, y2)
U31ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(and(U71(x0, x1, x2), y1)) → ANDACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U12(U41(x0, x1), y1)) → U12ACTIVE(U41Active(mark(x0), x1), y1)
ISNATACTIVE(plus(V1, V2)) → U11ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U11(U41(x0, x1), y1, y2)) → U11ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(and(x1, x2)) → MARK(x1)
PLUSACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
ISNATACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U41(isNatKind(x0), y1)) → U41ACTIVE(isNatKindActive(x0), y1)
MARK(U22(x1)) → MARK(x1)
MARK(and(U13(x0), y1)) → ANDACTIVE(U13Active(mark(x0)), y1)
U11ACTIVE(tt, 0, y1) → U12ACTIVE(tt, y1)
MARK(U41(U12(x0, x1), y1)) → U41ACTIVE(U12Active(mark(x0), x1), y1)
MARK(x(x1, x2)) → MARK(x1)
MARK(U12(and(x0, x1), y1)) → U12ACTIVE(andActive(mark(x0), x1), y1)
MARK(U21(U11(x0, x1, x2), y1)) → U21ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(and(tt, y1)) → ANDACTIVE(tt, y1)
MARK(U13(x1)) → MARK(x1)
MARK(U41(U13(x0), y1)) → U41ACTIVE(U13Active(mark(x0)), y1)
MARK(U51(and(x0, x1), y1, y2)) → U51ACTIVE(andActive(mark(x0), x1), y1, y2)
XACTIVE(N, s(M)) → ISNATACTIVE(M)
MARK(U51(U12(x0, x1), y1, y2)) → U51ACTIVE(U12Active(mark(x0), x1), y1, y2)
MARK(U71(U71(x0, x1, x2), y1, y2)) → U71ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
MARK(U41(x(x0, x1), y1)) → U41ACTIVE(xActive(mark(x0), mark(x1)), y1)
U71ACTIVE(tt, M, N) → MARK(M)
ISNATACTIVE(x(V1, V2)) → ANDACTIVE(isNatKindActive(V1), isNatKind(V2))
MARK(U12(U21(x0, x1), y1)) → U12ACTIVE(U21Active(mark(x0), x1), y1)
MARK(U12(x1, x2)) → MARK(x1)
MARK(plus(x1, x2)) → MARK(x2)
MARK(U32(U61(x0), y1)) → U32ACTIVE(U61Active(mark(x0)), y1)
MARK(U12(U11(x0, x1, x2), y1)) → U12ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U51(isNat(x0), y1, y2)) → U51ACTIVE(isNatActive(x0), y1, y2)
XACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
MARK(U41(isNat(x0), y1)) → U41ACTIVE(isNatActive(x0), y1)
MARK(U71(U32(x0, x1), y1, y2)) → U71ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(x(x1, x2)) → XACTIVE(mark(x1), mark(x2))
MARK(U11(tt, y1, y2)) → U11ACTIVE(tt, y1, y2)
MARK(U21(U21(x0, x1), y1)) → U21ACTIVE(U21Active(mark(x0), x1), y1)
MARK(U41(plus(x0, x1), y1)) → U41ACTIVE(plusActive(mark(x0), mark(x1)), y1)
MARK(U31(U21(x0, x1), y1, y2)) → U31ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(isNatKind(x1)) → ISNATKINDACTIVE(x1)
MARK(U71(U13(x0), y1, y2)) → U71ACTIVE(U13Active(mark(x0)), y1, y2)
MARK(U21(U41(x0, x1), y1)) → U21ACTIVE(U41Active(mark(x0), x1), y1)
MARK(U51(U11(x0, x1, x2), y1, y2)) → U51ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(U41(U31(x0, x1, x2), y1)) → U41ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U51(tt, y1, y2)) → U51ACTIVE(tt, y1, y2)
MARK(U32(U12(x0, x1), y1)) → U32ACTIVE(U12Active(mark(x0), x1), y1)
U12ACTIVE(tt, V2) → ISNATACTIVE(V2)
U21ACTIVE(tt, V1) → ISNATACTIVE(V1)
MARK(U31(U22(x0), y1, y2)) → U31ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(U31(isNat(x0), y1, y2)) → U31ACTIVE(isNatActive(x0), y1, y2)
MARK(and(isNat(x0), y1)) → ANDACTIVE(isNatActive(x0), y1)
MARK(U32(U71(x0, x1, x2), y1)) → U32ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U71(U61(x0), y1, y2)) → U71ACTIVE(U61Active(mark(x0)), y1, y2)
MARK(U71(tt, y1, y2)) → U71ACTIVE(tt, y1, y2)
PLUSACTIVE(N, 0) → ISNATACTIVE(N)
ISNATKINDACTIVE(plus(x(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U33(x1)) → MARK(x1)
MARK(U11(x(x0, x1), y1, y2)) → U11ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
ISNATKINDACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
ISNATKINDACTIVE(x(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U21(U31(x0, x1, x2), y1)) → U21ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(U71(x(x0, x1), y1, y2)) → U71ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
MARK(U41(x1, x2)) → MARK(x1)
MARK(U11(isNat(x0), y1, y2)) → U11ACTIVE(isNatActive(x0), y1, y2)
MARK(U12(U33(x0), y1)) → U12ACTIVE(U33Active(mark(x0)), y1)
ISNATACTIVE(plus(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
PLUSACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U71(U41(x0, x1), y1, y2)) → U71ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(U32(isNatKind(x0), y1)) → U32ACTIVE(isNatKindActive(x0), y1)
MARK(U31(tt, y1, y2)) → U31ACTIVE(tt, y1, y2)
MARK(U21(U22(x0), y1)) → U21ACTIVE(U22Active(mark(x0)), y1)
MARK(U32(U51(x0, x1, x2), y1)) → U32ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(and(U22(x0), y1)) → ANDACTIVE(U22Active(mark(x0)), y1)
MARK(U31(isNatKind(x0), y1, y2)) → U31ACTIVE(isNatKindActive(x0), y1, y2)
MARK(U31(x1, x2, x3)) → MARK(x1)
MARK(U32(U31(x0, x1, x2), y1)) → U32ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(and(U51(x0, x1, x2), y1)) → ANDACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U51(U61(x0), y1, y2)) → U51ACTIVE(U61Active(mark(x0)), y1, y2)
XACTIVE(N, s(M)) → ANDACTIVE(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N)))
MARK(U32(x1, x2)) → MARK(x1)
MARK(U41(U33(x0), y1)) → U41ACTIVE(U33Active(mark(x0)), y1)
MARK(U12(U32(x0, x1), y1)) → U12ACTIVE(U32Active(mark(x0), x1), y1)
XACTIVE(N, 0) → ISNATACTIVE(N)
MARK(U31(U71(x0, x1, x2), y1, y2)) → U31ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
MARK(U11(and(x0, x1), y1, y2)) → U11ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(U41(U51(x0, x1, x2), y1)) → U41ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U11(U11(x0, x1, x2), y1, y2)) → U11ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(x(x1, x2)) → MARK(x2)
MARK(U11(x1, x2, x3)) → MARK(x1)
MARK(U71(and(x0, x1), y1, y2)) → U71ACTIVE(andActive(mark(x0), x1), y1, y2)
U71ACTIVE(tt, M, N) → PLUSACTIVE(xActive(mark(N), mark(M)), mark(N))
MARK(and(U21(x0, x1), y1)) → ANDACTIVE(U21Active(mark(x0), x1), y1)
U51ACTIVE(tt, M, N) → MARK(N)
MARK(and(x(x0, x1), y1)) → ANDACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(and(U32(x0, x1), y1)) → ANDACTIVE(U32Active(mark(x0), x1), y1)
MARK(U41(tt, y1)) → U41ACTIVE(tt, y1)
MARK(U32(U11(x0, x1, x2), y1)) → U32ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U12(U12(x0, x1), y1)) → U12ACTIVE(U12Active(mark(x0), x1), y1)
MARK(U32(tt, y1)) → U32ACTIVE(tt, y1)
MARK(U51(x1, x2, x3)) → MARK(x1)
MARK(U32(x(x0, x1), y1)) → U32ACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(U51(U22(x0), y1, y2)) → U51ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(U71(isNatKind(x0), y1, y2)) → U71ACTIVE(isNatKindActive(x0), y1, y2)
MARK(U32(U13(x0), y1)) → U32ACTIVE(U13Active(mark(x0)), y1)
MARK(U51(x(x0, x1), y1, y2)) → U51ACTIVE(xActive(mark(x0), mark(x1)), y1, y2)
PLUSACTIVE(N, s(M)) → U51ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
U11ACTIVE(tt, s(x0), y1) → U12ACTIVE(U21Active(isNatKindActive(x0), x0), y1)
MARK(s(x1)) → MARK(x1)
MARK(U51(plus(x0, x1), y1, y2)) → U51ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
MARK(U31(U12(x0, x1), y1, y2)) → U31ACTIVE(U12Active(mark(x0), x1), y1, y2)
U11ACTIVE(tt, V1, V2) → ISNATACTIVE(V1)
MARK(and(U31(x0, x1, x2), y1)) → ANDACTIVE(U31Active(mark(x0), x1, x2), y1)
ISNATACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U32(U41(x0, x1), y1)) → U32ACTIVE(U41Active(mark(x0), x1), y1)
MARK(U12(U31(x0, x1, x2), y1)) → U12ACTIVE(U31Active(mark(x0), x1, x2), y1)
MARK(and(U61(x0), y1)) → ANDACTIVE(U61Active(mark(x0)), y1)
MARK(U11(U32(x0, x1), y1, y2)) → U11ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(U32(U22(x0), y1)) → U32ACTIVE(U22Active(mark(x0)), y1)
MARK(U12(U51(x0, x1, x2), y1)) → U12ACTIVE(U51Active(mark(x0), x1, x2), y1)
MARK(U71(U33(x0), y1, y2)) → U71ACTIVE(U33Active(mark(x0)), y1, y2)
MARK(and(and(x0, x1), y1)) → ANDACTIVE(andActive(mark(x0), x1), y1)
MARK(U12(U61(x0), y1)) → U12ACTIVE(U61Active(mark(x0)), y1)
ISNATKINDACTIVE(x(s(x0), y1)) → ANDACTIVE(isNatKindActive(x0), isNatKind(y1))
MARK(U51(U33(x0), y1, y2)) → U51ACTIVE(U33Active(mark(x0)), y1, y2)
ISNATACTIVE(x(V1, V2)) → U31ACTIVE(andActive(isNatKindActive(V1), isNatKind(V2)), V1, V2)
MARK(U71(U51(x0, x1, x2), y1, y2)) → U71ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
MARK(U12(isNat(x0), y1)) → U12ACTIVE(isNatActive(x0), y1)
MARK(U11(plus(x0, x1), y1, y2)) → U11ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
PLUSACTIVE(N, 0) → ANDACTIVE(isNatActive(N), isNatKind(N))
MARK(U21(U61(x0), y1)) → U21ACTIVE(U61Active(mark(x0)), y1)
MARK(U11(U21(x0, x1), y1, y2)) → U11ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(and(U12(x0, x1), y1)) → ANDACTIVE(U12Active(mark(x0), x1), y1)
ISNATACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
MARK(U61(x1)) → MARK(x1)
MARK(U71(U11(x0, x1, x2), y1, y2)) → U71ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(U21(U71(x0, x1, x2), y1)) → U21ACTIVE(U71Active(mark(x0), x1, x2), y1)
MARK(U31(U33(x0), y1, y2)) → U31ACTIVE(U33Active(mark(x0)), y1, y2)
XACTIVE(N, s(M)) → ANDACTIVE(isNatActive(M), isNatKind(M))
MARK(U31(U13(x0), y1, y2)) → U31ACTIVE(U13Active(mark(x0)), y1, y2)
MARK(and(U33(x0), y1)) → ANDACTIVE(U33Active(mark(x0)), y1)
XACTIVE(N, s(M)) → U71ACTIVE(andActive(andActive(isNatActive(M), isNatKind(M)), and(isNat(N), isNatKind(N))), M, N)
MARK(U51(U32(x0, x1), y1, y2)) → U51ACTIVE(U32Active(mark(x0), x1), y1, y2)
ISNATKINDACTIVE(x(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U31(U11(x0, x1, x2), y1, y2)) → U31ACTIVE(U11Active(mark(x0), x1, x2), y1, y2)
MARK(U31(U51(x0, x1, x2), y1, y2)) → U31ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
MARK(U32(U32(x0, x1), y1)) → U32ACTIVE(U32Active(mark(x0), x1), y1)
U41ACTIVE(tt, N) → MARK(N)
ISNATKINDACTIVE(plus(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(and(plus(x0, x1), y1)) → ANDACTIVE(plusActive(mark(x0), mark(x1)), y1)
MARK(U32(plus(x0, x1), y1)) → U32ACTIVE(plusActive(mark(x0), mark(x1)), y1)
U32ACTIVE(tt, V2) → ISNATACTIVE(V2)
MARK(U21(plus(x0, x1), y1)) → U21ACTIVE(plusActive(mark(x0), mark(x1)), y1)
MARK(U32(U21(x0, x1), y1)) → U32ACTIVE(U21Active(mark(x0), x1), y1)
U11ACTIVE(tt, x(x0, x1), y1) → U12ACTIVE(U31Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U21(tt, y1)) → U21ACTIVE(tt, y1)
MARK(U21(U33(x0), y1)) → U21ACTIVE(U33Active(mark(x0)), y1)
MARK(U71(x1, x2, x3)) → MARK(x1)
PLUSACTIVE(N, s(M)) → ISNATACTIVE(M)
MARK(U41(and(x0, x1), y1)) → U41ACTIVE(andActive(mark(x0), x1), y1)
MARK(U21(x1, x2)) → MARK(x1)
MARK(U31(U61(x0), y1, y2)) → U31ACTIVE(U61Active(mark(x0)), y1, y2)
PLUSACTIVE(N, 0) → U41ACTIVE(andActive(isNatActive(N), isNatKind(N)), N)
U51ACTIVE(tt, M, N) → PLUSACTIVE(mark(N), mark(M))
MARK(U41(U41(x0, x1), y1)) → U41ACTIVE(U41Active(mark(x0), x1), y1)
MARK(U32(and(x0, x1), y1)) → U32ACTIVE(andActive(mark(x0), x1), y1)
ISNATKINDACTIVE(plus(0, y1)) → ANDACTIVE(tt, isNatKind(y1))
MARK(U11(U12(x0, x1), y1, y2)) → U11ACTIVE(U12Active(mark(x0), x1), y1, y2)
MARK(U71(U21(x0, x1), y1, y2)) → U71ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(U11(U13(x0), y1, y2)) → U11ACTIVE(U13Active(mark(x0)), y1, y2)
U71ACTIVE(tt, M, N) → XACTIVE(mark(N), mark(M))
MARK(and(isNatKind(x0), y1)) → ANDACTIVE(isNatKindActive(x0), y1)
MARK(U41(U22(x0), y1)) → U41ACTIVE(U22Active(mark(x0)), y1)
U71ACTIVE(tt, M, N) → MARK(N)
MARK(U71(plus(x0, x1), y1, y2)) → U71ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
MARK(U31(plus(x0, x1), y1, y2)) → U31ACTIVE(plusActive(mark(x0), mark(x1)), y1, y2)
MARK(U11(U22(x0), y1, y2)) → U11ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(U51(U21(x0, x1), y1, y2)) → U51ACTIVE(U21Active(mark(x0), x1), y1, y2)
MARK(isNat(x1)) → ISNATACTIVE(x1)
MARK(U12(x(x0, x1), y1)) → U12ACTIVE(xActive(mark(x0), mark(x1)), y1)
MARK(U41(U11(x0, x1, x2), y1)) → U41ACTIVE(U11Active(mark(x0), x1, x2), y1)
MARK(U31(U32(x0, x1), y1, y2)) → U31ACTIVE(U32Active(mark(x0), x1), y1, y2)
MARK(U11(U71(x0, x1, x2), y1, y2)) → U11ACTIVE(U71Active(mark(x0), x1, x2), y1, y2)
ISNATKINDACTIVE(x(V1, V2)) → ISNATKINDACTIVE(V1)
MARK(U21(isNat(x0), y1)) → U21ACTIVE(isNatActive(x0), y1)
MARK(U31(and(x0, x1), y1, y2)) → U31ACTIVE(andActive(mark(x0), x1), y1, y2)
MARK(plus(x1, x2)) → PLUSACTIVE(mark(x1), mark(x2))
MARK(U51(U41(x0, x1), y1, y2)) → U51ACTIVE(U41Active(mark(x0), x1), y1, y2)
MARK(U32(U33(x0), y1)) → U32ACTIVE(U33Active(mark(x0)), y1)
MARK(U71(isNat(x0), y1, y2)) → U71ACTIVE(isNatActive(x0), y1, y2)
MARK(U11(U51(x0, x1, x2), y1, y2)) → U11ACTIVE(U51Active(mark(x0), x1, x2), y1, y2)
U11ACTIVE(tt, plus(x0, x1), y1) → U12ACTIVE(U11Active(andActive(isNatKindActive(x0), isNatKind(x1)), x0, x1), y1)
MARK(U41(U32(x0, x1), y1)) → U41ACTIVE(U32Active(mark(x0), x1), y1)
ISNATACTIVE(s(V1)) → U21ACTIVE(isNatKindActive(V1), V1)
MARK(U41(U21(x0, x1), y1)) → U41ACTIVE(U21Active(mark(x0), x1), y1)
ISNATKINDACTIVE(plus(plus(x0, x1), y1)) → ANDACTIVE(andActive(isNatKindActive(x0), isNatKind(x1)), isNatKind(y1))
MARK(U71(U22(x0), y1, y2)) → U71ACTIVE(U22Active(mark(x0)), y1, y2)
MARK(U31(U31(x0, x1, x2), y1, y2)) → U31ACTIVE(U31Active(mark(x0), x1, x2), y1, y2)
MARK(U51(isNatKind(x0), y1, y2)) → U51ACTIVE(isNatKindActive(x0), y1, y2)
MARK(U12(U13(x0), y1)) → U12ACTIVE(U13Active(mark(x0)), y1)
MARK(U71(U12(x0, x1), y1, y2)) → U71ACTIVE(U12Active(mark(x0), x1), y1, y2)
U31ACTIVE(tt, V1, V2) → U32ACTIVE(isNatActive(V1), V2)
MARK(U51(U13(x0), y1, y2)) → U51ACTIVE(U13Active(mark(x0)), y1, y2)
MARK(U11(isNatKind(x0), y1, y2)) → U11ACTIVE(isNatKindActive(x0), y1, y2)
MARK(U21(U13(x0), y1)) → U21ACTIVE(U13Active(mark(x0)), y1)
MARK(U41(U61(x0), y1)) → U41ACTIVE(U61Active(mark(x0)), y1)
ISNATKINDACTIVE(s(V1)) → ISNATKINDACTIVE(V1)
mark(U11(x1,