/export/starexec/sandbox2/solver/bin/starexec_run_FirstOrder /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- MAYBE We consider the system theBenchmark. We are asked to determine termination of the following first-order TRS. 0 : [] --> o activate : [o] --> o and : [o * o] --> o cons : [o * o] --> o isNat : [o] --> o isNatIList : [o] --> o isNatList : [o] --> o length : [o] --> o n!6220!62200 : [] --> o n!6220!6220cons : [o * o] --> o n!6220!6220length : [o] --> o n!6220!6220nil : [] --> o n!6220!6220s : [o] --> o n!6220!6220take : [o * o] --> o n!6220!6220zeros : [] --> o nil : [] --> o s : [o] --> o take : [o * o] --> o tt : [] --> o uLength : [o * o] --> o uTake1 : [o] --> o uTake2 : [o * o * o * o] --> o zeros : [] --> o and(tt, X) => X isNatIList(X) => isNatList(activate(X)) isNat(n!6220!62200) => tt isNat(n!6220!6220s(X)) => isNat(activate(X)) isNat(n!6220!6220length(X)) => isNatList(activate(X)) isNatIList(n!6220!6220zeros) => tt isNatIList(n!6220!6220cons(X, Y)) => and(isNat(activate(X)), isNatIList(activate(Y))) isNatList(n!6220!6220nil) => tt isNatList(n!6220!6220cons(X, Y)) => and(isNat(activate(X)), isNatList(activate(Y))) isNatList(n!6220!6220take(X, Y)) => and(isNat(activate(X)), isNatIList(activate(Y))) zeros => cons(0, n!6220!6220zeros) take(0, X) => uTake1(isNatIList(X)) uTake1(tt) => nil take(s(X), cons(Y, Z)) => uTake2(and(isNat(X), and(isNat(Y), isNatIList(activate(Z)))), X, Y, activate(Z)) uTake2(tt, X, Y, Z) => cons(activate(Y), n!6220!6220take(activate(X), activate(Z))) length(cons(X, Y)) => uLength(and(isNat(X), isNatList(activate(Y))), activate(Y)) uLength(tt, X) => s(length(activate(X))) 0 => n!6220!62200 s(X) => n!6220!6220s(X) length(X) => n!6220!6220length(X) zeros => n!6220!6220zeros cons(X, Y) => n!6220!6220cons(X, Y) nil => n!6220!6220nil take(X, Y) => n!6220!6220take(X, Y) activate(n!6220!62200) => 0 activate(n!6220!6220s(X)) => s(activate(X)) activate(n!6220!6220length(X)) => length(activate(X)) activate(n!6220!6220zeros) => zeros activate(n!6220!6220cons(X, Y)) => cons(activate(X), Y) activate(n!6220!6220nil) => nil activate(n!6220!6220take(X, Y)) => take(activate(X), activate(Y)) activate(X) => X