YES Proof: This system is quasi-decreasing. By \cite{A14}, Theorem 11.5.9. This system is of type 3 or smaller. This system is deterministic. System R transformed to V(R) + Emb. Call external tool: ttt2 - trs 30 Input: split(x, nil) -> tp2(nil, nil) split(x, cons(y, ys)) -> tp2(split(x, ys), cons(y, split(x, ys))) split(x, cons(y, ys)) -> le(x, y) split(x, cons(y, ys)) -> split(x, ys) split(x, cons(y, ys)) -> tp2(cons(y, split(x, ys)), split(x, ys)) le(0, y) -> true le(s(x), 0) -> false le(s(x), s(y)) -> le(x, y) s(x) -> x split(x, y) -> x split(x, y) -> y tp2(x, y) -> x tp2(x, y) -> y le(x, y) -> x le(x, y) -> y cons(x, y) -> x cons(x, y) -> y DP Processor: DPs: split#(x,nil()) -> tp2#(nil(),nil()) split#(x,cons(y,ys)) -> cons#(y,split(x,ys)) split#(x,cons(y,ys)) -> split#(x,ys) split#(x,cons(y,ys)) -> tp2#(split(x,ys),cons(y,split(x,ys))) split#(x,cons(y,ys)) -> le#(x,y) split#(x,cons(y,ys)) -> tp2#(cons(y,split(x,ys)),split(x,ys)) le#(s(x),s(y)) -> le#(x,y) TRS: split(x,nil()) -> tp2(nil(),nil()) split(x,cons(y,ys)) -> tp2(split(x,ys),cons(y,split(x,ys))) split(x,cons(y,ys)) -> le(x,y) split(x,cons(y,ys)) -> split(x,ys) split(x,cons(y,ys)) -> tp2(cons(y,split(x,ys)),split(x,ys)) le(0(),y) -> true() le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) s(x) -> x split(x,y) -> x split(x,y) -> y tp2(x,y) -> x tp2(x,y) -> y le(x,y) -> x le(x,y) -> y cons(x,y) -> x cons(x,y) -> y TDG Processor: DPs: split#(x,nil()) -> tp2#(nil(),nil()) split#(x,cons(y,ys)) -> cons#(y,split(x,ys)) split#(x,cons(y,ys)) -> split#(x,ys) split#(x,cons(y,ys)) -> tp2#(split(x,ys),cons(y,split(x,ys))) split#(x,cons(y,ys)) -> le#(x,y) split#(x,cons(y,ys)) -> tp2#(cons(y,split(x,ys)),split(x,ys)) le#(s(x),s(y)) -> le#(x,y) TRS: split(x,nil()) -> tp2(nil(),nil()) split(x,cons(y,ys)) -> tp2(split(x,ys),cons(y,split(x,ys))) split(x,cons(y,ys)) -> le(x,y) split(x,cons(y,ys)) -> split(x,ys) split(x,cons(y,ys)) -> tp2(cons(y,split(x,ys)),split(x,ys)) le(0(),y) -> true() le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) s(x) -> x split(x,y) -> x split(x,y) -> y tp2(x,y) -> x tp2(x,y) -> y le(x,y) -> x le(x,y) -> y cons(x,y) -> x cons(x,y) -> y graph: le#(s(x),s(y)) -> le#(x,y) -> le#(s(x),s(y)) -> le#(x,y) split#(x,cons(y,ys)) -> le#(x,y) -> le#(s(x),s(y)) -> le#(x,y) split#(x,cons(y,ys)) -> split#(x,ys) -> split#(x,cons(y,ys)) -> tp2#(cons(y,split(x,ys)),split(x,ys)) split#(x,cons(y,ys)) -> split#(x,ys) -> split#(x,cons(y,ys)) -> le#(x,y) split#(x,cons(y,ys)) -> split#(x,ys) -> split#(x,cons(y,ys)) -> tp2#(split(x,ys),cons(y,split(x,ys))) split#(x,cons(y,ys)) -> split#(x,ys) -> split#(x,cons(y,ys)) -> split#(x,ys) split#(x,cons(y,ys)) -> split#(x,ys) -> split#(x,cons(y,ys)) -> cons#(y,split(x,ys)) split#(x,cons(y,ys)) -> split#(x,ys) -> split#(x,nil()) -> tp2#(nil(),nil()) SCC Processor: #sccs: 2 #rules: 2 #arcs: 8/49 DPs: split#(x,cons(y,ys)) -> split#(x,ys) TRS: split(x,nil()) -> tp2(nil(),nil()) split(x,cons(y,ys)) -> tp2(split(x,ys),cons(y,split(x,ys))) split(x,cons(y,ys)) -> le(x,y) split(x,cons(y,ys)) -> split(x,ys) split(x,cons(y,ys)) -> tp2(cons(y,split(x,ys)),split(x,ys)) le(0(),y) -> true() le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) s(x) -> x split(x,y) -> x split(x,y) -> y tp2(x,y) -> x tp2(x,y) -> y le(x,y) -> x le(x,y) -> y cons(x,y) -> x cons(x,y) -> y Subterm Criterion Processor: simple projection: pi(split#) = 1 problem: DPs: TRS: split(x,nil()) -> tp2(nil(),nil()) split(x,cons(y,ys)) -> tp2(split(x,ys),cons(y,split(x,ys))) split(x,cons(y,ys)) -> le(x,y) split(x,cons(y,ys)) -> split(x,ys) split(x,cons(y,ys)) -> tp2(cons(y,split(x,ys)),split(x,ys)) le(0(),y) -> true() le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) s(x) -> x split(x,y) -> x split(x,y) -> y tp2(x,y) -> x tp2(x,y) -> y le(x,y) -> x le(x,y) -> y cons(x,y) -> x cons(x,y) -> y Qed DPs: le#(s(x),s(y)) -> le#(x,y) TRS: split(x,nil()) -> tp2(nil(),nil()) split(x,cons(y,ys)) -> tp2(split(x,ys),cons(y,split(x,ys))) split(x,cons(y,ys)) -> le(x,y) split(x,cons(y,ys)) -> split(x,ys) split(x,cons(y,ys)) -> tp2(cons(y,split(x,ys)),split(x,ys)) le(0(),y) -> true() le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) s(x) -> x split(x,y) -> x split(x,y) -> y tp2(x,y) -> x tp2(x,y) -> y le(x,y) -> x le(x,y) -> y cons(x,y) -> x cons(x,y) -> y Subterm Criterion Processor: simple projection: pi(le#) = 0 problem: DPs: TRS: split(x,nil()) -> tp2(nil(),nil()) split(x,cons(y,ys)) -> tp2(split(x,ys),cons(y,split(x,ys))) split(x,cons(y,ys)) -> le(x,y) split(x,cons(y,ys)) -> split(x,ys) split(x,cons(y,ys)) -> tp2(cons(y,split(x,ys)),split(x,ys)) le(0(),y) -> true() le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) s(x) -> x split(x,y) -> x split(x,y) -> y tp2(x,y) -> x tp2(x,y) -> y le(x,y) -> x le(x,y) -> y cons(x,y) -> x cons(x,y) -> y Qed