/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 U12 : [o] --> o U21 : [o * o] --> o U22 : [o] --> o U31 : [o * o] --> o U32 : [o] --> o U41 : [o * o * o] --> o U42 : [o * o] --> o U43 : [o] --> o U51 : [o * o * o] --> o U52 : [o * o] --> o U53 : [o] --> o U61 : [o * o] --> o activate : [o] --> o and : [o * o] --> o cons : [o * o] --> o isNat : [o] --> o isNatIList : [o] --> o isNatIListKind : [o] --> o isNatKind : [o] --> o isNatList : [o] --> o length : [o] --> o n!6220!62200 : [] --> o n!6220!6220and : [o * o] --> o n!6220!6220cons : [o * o] --> o n!6220!6220isNatIListKind : [o] --> o n!6220!6220isNatKind : [o] --> o n!6220!6220length : [o] --> o n!6220!6220nil : [] --> o n!6220!6220s : [o] --> o n!6220!6220zeros : [] --> o nil : [] --> o s : [o] --> o tt : [] --> o zeros : [] --> o zeros => cons(0, n!6220!6220zeros) U11(tt, X) => U12(isNatList(activate(X))) U12(tt) => tt U21(tt, X) => U22(isNat(activate(X))) U22(tt) => tt U31(tt, X) => U32(isNatList(activate(X))) U32(tt) => tt U41(tt, X, Y) => U42(isNat(activate(X)), activate(Y)) U42(tt, X) => U43(isNatIList(activate(X))) U43(tt) => tt U51(tt, X, Y) => U52(isNat(activate(X)), activate(Y)) U52(tt, X) => U53(isNatList(activate(X))) U53(tt) => tt U61(tt, X) => s(length(activate(X))) and(tt, X) => activate(X) isNat(n!6220!62200) => tt isNat(n!6220!6220length(X)) => U11(isNatIListKind(activate(X)), activate(X)) isNat(n!6220!6220s(X)) => U21(isNatKind(activate(X)), activate(X)) isNatIList(X) => U31(isNatIListKind(activate(X)), activate(X)) isNatIList(n!6220!6220zeros) => tt isNatIList(n!6220!6220cons(X, Y)) => U41(and(isNatKind(activate(X)), n!6220!6220isNatIListKind(activate(Y))), activate(X), activate(Y)) isNatIListKind(n!6220!6220nil) => tt isNatIListKind(n!6220!6220zeros) => tt isNatIListKind(n!6220!6220cons(X, Y)) => and(isNatKind(activate(X)), n!6220!6220isNatIListKind(activate(Y))) isNatKind(n!6220!62200) => tt isNatKind(n!6220!6220length(X)) => isNatIListKind(activate(X)) isNatKind(n!6220!6220s(X)) => isNatKind(activate(X)) isNatList(n!6220!6220nil) => tt isNatList(n!6220!6220cons(X, Y)) => U51(and(isNatKind(activate(X)), n!6220!6220isNatIListKind(activate(Y))), activate(X), activate(Y)) length(nil) => 0 length(cons(X, Y)) => U61(and(and(isNatList(activate(Y)), n!6220!6220isNatIListKind(activate(Y))), n!6220!6220and(isNat(X), n!6220!6220isNatKind(X))), activate(Y)) zeros => n!6220!6220zeros 0 => n!6220!62200 length(X) => n!6220!6220length(X) s(X) => n!6220!6220s(X) cons(X, Y) => n!6220!6220cons(X, Y) isNatIListKind(X) => n!6220!6220isNatIListKind(X) nil => n!6220!6220nil and(X, Y) => n!6220!6220and(X, Y) isNatKind(X) => n!6220!6220isNatKind(X) activate(n!6220!6220zeros) => zeros activate(n!6220!62200) => 0 activate(n!6220!6220length(X)) => length(X) activate(n!6220!6220s(X)) => s(X) activate(n!6220!6220cons(X, Y)) => cons(X, Y) activate(n!6220!6220isNatIListKind(X)) => isNatIListKind(X) activate(n!6220!6220nil) => nil activate(n!6220!6220and(X, Y)) => and(X, Y) activate(n!6220!6220isNatKind(X)) => isNatKind(X) activate(X) => X