/export/starexec/sandbox/solver/bin/starexec_run_FirstOrder /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- MAYBE We consider the system theBenchmark. We are asked to determine termination of the following first-order TRS. 0 : [] --> o U11 : [o * o * o] --> o U12 : [o * o * o] --> o U13 : [o * o * o] --> o U14 : [o * o * o] --> o U15 : [o * o] --> o U16 : [o] --> o U21 : [o * o] --> o U22 : [o * o] --> o U23 : [o] --> o U31 : [o * o] --> o U32 : [o] --> o U41 : [o] --> o U51 : [o * o] --> o U52 : [o * o] --> o U61 : [o * o * o] --> o U62 : [o * o * o] --> o U63 : [o * o * o] --> o U64 : [o * o * o] --> o active : [o] --> o isNat : [o] --> o isNatKind : [o] --> o mark : [o] --> o ok : [o] --> o plus : [o * o] --> o proper : [o] --> o s : [o] --> o top : [o] --> o tt : [] --> o active(U11(tt, X, Y)) => mark(U12(isNatKind(X), X, Y)) active(U12(tt, X, Y)) => mark(U13(isNatKind(Y), X, Y)) active(U13(tt, X, Y)) => mark(U14(isNatKind(Y), X, Y)) active(U14(tt, X, Y)) => mark(U15(isNat(X), Y)) active(U15(tt, X)) => mark(U16(isNat(X))) active(U16(tt)) => mark(tt) active(U21(tt, X)) => mark(U22(isNatKind(X), X)) active(U22(tt, X)) => mark(U23(isNat(X))) active(U23(tt)) => mark(tt) active(U31(tt, X)) => mark(U32(isNatKind(X))) active(U32(tt)) => mark(tt) active(U41(tt)) => mark(tt) active(U51(tt, X)) => mark(U52(isNatKind(X), X)) active(U52(tt, X)) => mark(X) active(U61(tt, X, Y)) => mark(U62(isNatKind(X), X, Y)) active(U62(tt, X, Y)) => mark(U63(isNat(Y), X, Y)) active(U63(tt, X, Y)) => mark(U64(isNatKind(Y), X, Y)) active(U64(tt, X, Y)) => mark(s(plus(Y, X))) active(isNat(0)) => mark(tt) active(isNat(plus(X, Y))) => mark(U11(isNatKind(X), X, Y)) active(isNat(s(X))) => mark(U21(isNatKind(X), X)) active(isNatKind(0)) => mark(tt) active(isNatKind(plus(X, Y))) => mark(U31(isNatKind(X), Y)) active(isNatKind(s(X))) => mark(U41(isNatKind(X))) active(plus(X, 0)) => mark(U51(isNat(X), X)) active(plus(X, s(Y))) => mark(U61(isNat(Y), Y, X)) active(U11(X, Y, Z)) => U11(active(X), Y, Z) active(U12(X, Y, Z)) => U12(active(X), Y, Z) active(U13(X, Y, Z)) => U13(active(X), Y, Z) active(U14(X, Y, Z)) => U14(active(X), Y, Z) active(U15(X, Y)) => U15(active(X), Y) active(U16(X)) => U16(active(X)) active(U21(X, Y)) => U21(active(X), Y) active(U22(X, Y)) => U22(active(X), Y) active(U23(X)) => U23(active(X)) active(U31(X, Y)) => U31(active(X), Y) active(U32(X)) => U32(active(X)) active(U41(X)) => U41(active(X)) active(U51(X, Y)) => U51(active(X), Y) active(U52(X, Y)) => U52(active(X), Y) active(U61(X, Y, Z)) => U61(active(X), Y, Z) active(U62(X, Y, Z)) => U62(active(X), Y, Z) active(U63(X, Y, Z)) => U63(active(X), Y, Z) active(U64(X, Y, Z)) => U64(active(X), Y, Z) active(s(X)) => s(active(X)) active(plus(X, Y)) => plus(active(X), Y) active(plus(X, Y)) => plus(X, active(Y)) U11(mark(X), Y, Z) => mark(U11(X, Y, Z)) U12(mark(X), Y, Z) => mark(U12(X, Y, Z)) U13(mark(X), Y, Z) => mark(U13(X, Y, Z)) U14(mark(X), Y, Z) => mark(U14(X, Y, Z)) U15(mark(X), Y) => mark(U15(X, Y)) U16(mark(X)) => mark(U16(X)) U21(mark(X), Y) => mark(U21(X, Y)) U22(mark(X), Y) => mark(U22(X, Y)) U23(mark(X)) => mark(U23(X)) U31(mark(X), Y) => mark(U31(X, Y)) U32(mark(X)) => mark(U32(X)) U41(mark(X)) => mark(U41(X)) U51(mark(X), Y) => mark(U51(X, Y)) U52(mark(X), Y) => mark(U52(X, Y)) U61(mark(X), Y, Z) => mark(U61(X, Y, Z)) U62(mark(X), Y, Z) => mark(U62(X, Y, Z)) U63(mark(X), Y, Z) => mark(U63(X, Y, Z)) U64(mark(X), Y, Z) => mark(U64(X, Y, Z)) s(mark(X)) => mark(s(X)) plus(mark(X), Y) => mark(plus(X, Y)) plus(X, mark(Y)) => mark(plus(X, Y)) proper(U11(X, Y, Z)) => U11(proper(X), proper(Y), proper(Z)) proper(tt) => ok(tt) proper(U12(X, Y, Z)) => U12(proper(X), proper(Y), proper(Z)) proper(isNatKind(X)) => isNatKind(proper(X)) proper(U13(X, Y, Z)) => U13(proper(X), proper(Y), proper(Z)) proper(U14(X, Y, Z)) => U14(proper(X), proper(Y), proper(Z)) proper(U15(X, Y)) => U15(proper(X), proper(Y)) proper(isNat(X)) => isNat(proper(X)) proper(U16(X)) => U16(proper(X)) proper(U21(X, Y)) => U21(proper(X), proper(Y)) proper(U22(X, Y)) => U22(proper(X), proper(Y)) proper(U23(X)) => U23(proper(X)) proper(U31(X, Y)) => U31(proper(X), proper(Y)) proper(U32(X)) => U32(proper(X)) proper(U41(X)) => U41(proper(X)) proper(U51(X, Y)) => U51(proper(X), proper(Y)) proper(U52(X, Y)) => U52(proper(X), proper(Y)) proper(U61(X, Y, Z)) => U61(proper(X), proper(Y), proper(Z)) proper(U62(X, Y, Z)) => U62(proper(X), proper(Y), proper(Z)) proper(U63(X, Y, Z)) => U63(proper(X), proper(Y), proper(Z)) proper(U64(X, Y, Z)) => U64(proper(X), proper(Y), proper(Z)) proper(s(X)) => s(proper(X)) proper(plus(X, Y)) => plus(proper(X), proper(Y)) proper(0) => ok(0) U11(ok(X), ok(Y), ok(Z)) => ok(U11(X, Y, Z)) U12(ok(X), ok(Y), ok(Z)) => ok(U12(X, Y, Z)) isNatKind(ok(X)) => ok(isNatKind(X)) U13(ok(X), ok(Y), ok(Z)) => ok(U13(X, Y, Z)) U14(ok(X), ok(Y), ok(Z)) => ok(U14(X, Y, Z)) U15(ok(X), ok(Y)) => ok(U15(X, Y)) isNat(ok(X)) => ok(isNat(X)) U16(ok(X)) => ok(U16(X)) U21(ok(X), ok(Y)) => ok(U21(X, Y)) U22(ok(X), ok(Y)) => ok(U22(X, Y)) U23(ok(X)) => ok(U23(X)) U31(ok(X), ok(Y)) => ok(U31(X, Y)) U32(ok(X)) => ok(U32(X)) U41(ok(X)) => ok(U41(X)) U51(ok(X), ok(Y)) => ok(U51(X, Y)) U52(ok(X), ok(Y)) => ok(U52(X, Y)) U61(ok(X), ok(Y), ok(Z)) => ok(U61(X, Y, Z)) U62(ok(X), ok(Y), ok(Z)) => ok(U62(X, Y, Z)) U63(ok(X), ok(Y), ok(Z)) => ok(U63(X, Y, Z)) U64(ok(X), ok(Y), ok(Z)) => ok(U64(X, Y, Z)) s(ok(X)) => ok(s(X)) plus(ok(X), ok(Y)) => ok(plus(X, Y)) top(mark(X)) => top(proper(X)) top(ok(X)) => top(active(X))