0.00/0.00 YES 0.00/0.00 0.00/0.00 0.00/0.00 Succeeded in reading "/export/starexec/sandbox/benchmark/theBenchmark.trs". 0.00/0.00 (CONDITIONTYPE ORIENTED) 0.00/0.00 (VAR x y ys xs zs) 0.00/0.00 (RULES 0.00/0.00 le(0,x) -> true 0.00/0.00 le(s(x),0) -> false 0.00/0.00 le(s(x),s(y)) -> le(x,y) 0.00/0.00 app(nil,x) -> x 0.00/0.00 app(cons(x,xs),ys) -> cons(x,app(xs,ys)) 0.00/0.00 split(x,nil) -> pair(nil,nil) 0.00/0.00 qsort(nil) -> nil 0.00/0.00 split(x,cons(y,ys)) -> pair(xs,cons(y,zs)) | split(x,ys) == pair(xs,zs), le(x,y) == true 0.00/0.00 split(x,cons(y,ys)) -> pair(cons(y,xs),zs) | split(x,ys) == pair(xs,zs), le(x,y) == false 0.00/0.00 qsort(cons(x,xs)) -> app(qsort(ys),cons(x,qsort(zs))) | split(x,xs) == pair(ys,zs) 0.00/0.00 ) 0.00/0.00 (COMMENT doi:10.1007/978-1-4757-3661-8 [18] p. 205 submitted by: Thomas Sternagel and Aart Middeldorp) 0.00/0.00 0.00/0.00 No "->="-rules. 0.00/0.00 0.00/0.00 Decomposed conditions if possible. 0.00/0.00 (CONDITIONTYPE ORIENTED) 0.00/0.00 (VAR x y ys xs zs) 0.00/0.00 (RULES 0.00/0.00 le(0,x) -> true 0.00/0.00 le(s(x),0) -> false 0.00/0.00 le(s(x),s(y)) -> le(x,y) 0.00/0.00 app(nil,x) -> x 0.00/0.00 app(cons(x,xs),ys) -> cons(x,app(xs,ys)) 0.00/0.00 split(x,nil) -> pair(nil,nil) 0.00/0.00 qsort(nil) -> nil 0.00/0.00 split(x,cons(y,ys)) -> pair(xs,cons(y,zs)) | split(x,ys) == pair(xs,zs), le(x,y) == true 0.00/0.00 split(x,cons(y,ys)) -> pair(cons(y,xs),zs) | split(x,ys) == pair(xs,zs), le(x,y) == false 0.00/0.00 qsort(cons(x,xs)) -> app(qsort(ys),cons(x,qsort(zs))) | split(x,xs) == pair(ys,zs) 0.00/0.00 ) 0.00/0.00 (COMMENT doi:10.1007/978-1-4757-3661-8 [18] p. 205 submitted by: Thomas Sternagel and Aart Middeldorp) 0.00/0.00 0.00/0.00 Removed infeasible rules as much as possible. 0.00/0.00 (CONDITIONTYPE ORIENTED) 0.00/0.00 (VAR x y ys xs zs) 0.00/0.00 (RULES 0.00/0.00 le(0,x) -> true 0.00/0.00 le(s(x),0) -> false 0.00/0.00 le(s(x),s(y)) -> le(x,y) 0.00/0.00 app(nil,x) -> x 0.00/0.00 app(cons(x,xs),ys) -> cons(x,app(xs,ys)) 0.00/0.00 split(x,nil) -> pair(nil,nil) 0.00/0.00 qsort(nil) -> nil 0.00/0.00 split(x,cons(y,ys)) -> pair(xs,cons(y,zs)) | split(x,ys) == pair(xs,zs), le(x,y) == true 0.00/0.00 split(x,cons(y,ys)) -> pair(cons(y,xs),zs) | split(x,ys) == pair(xs,zs), le(x,y) == false 0.00/0.00 qsort(cons(x,xs)) -> app(qsort(ys),cons(x,qsort(zs))) | split(x,xs) == pair(ys,zs) 0.00/0.00 ) 0.00/0.00 (COMMENT doi:10.1007/978-1-4757-3661-8 [18] p. 205 submitted by: Thomas Sternagel and Aart Middeldorp) 0.00/0.00 0.00/0.00 Try to disprove confluence of the following (C)TRS: 0.00/0.00 (CONDITIONTYPE ORIENTED) 0.00/0.00 (VAR x y ys xs zs) 0.00/0.00 (RULES 0.00/0.00 le(0,x) -> true 0.00/0.00 le(s(x),0) -> false 0.00/0.00 le(s(x),s(y)) -> le(x,y) 0.00/0.00 app(nil,x) -> x 0.00/0.00 app(cons(x,xs),ys) -> cons(x,app(xs,ys)) 0.00/0.00 split(x,nil) -> pair(nil,nil) 0.00/0.00 qsort(nil) -> nil 0.00/0.00 split(x,cons(y,ys)) -> pair(xs,cons(y,zs)) | split(x,ys) == pair(xs,zs), le(x,y) == true 0.00/0.00 split(x,cons(y,ys)) -> pair(cons(y,xs),zs) | split(x,ys) == pair(xs,zs), le(x,y) == false 0.00/0.00 qsort(cons(x,xs)) -> app(qsort(ys),cons(x,qsort(zs))) | split(x,xs) == pair(ys,zs) 0.00/0.00 ) 0.00/0.00 (COMMENT doi:10.1007/978-1-4757-3661-8 [18] p. 205 submitted by: Thomas Sternagel and Aart Middeldorp) 0.00/0.00 0.00/0.00 Failed either to apply SR and U for normal 1CTRSs to the above CTRS or to prove confluence of any converted TRSs. 0.00/0.00 0.00/0.00 Try to apply SR and U for 3DCTRSs to the above CTRS. 0.00/0.00 0.00/0.00 Succeeded in applying U for 3DCTRSs to the above CTRS. 0.00/0.00 U(R) = 0.00/0.00 (VAR x1 x2 x3 x5 x4) 0.00/0.00 (RULES 0.00/0.00 le(0,x1) -> true 0.00/0.00 le(s(x1),0) -> false 0.00/0.00 le(s(x1),s(x2)) -> le(x1,x2) 0.00/0.00 app(nil,x1) -> x1 0.00/0.00 app(cons(x1,x2),x3) -> cons(x1,app(x2,x3)) 0.00/0.00 split(x1,nil) -> pair(nil,nil) 0.00/0.00 split(x1,cons(x2,x3)) -> u1(split(x1,x3),x1,x2,x3) 0.00/0.00 u1(pair(x4,x5),x1,x2,x3) -> u2(le(x1,x2),x4,x5,x1,x2,x3) 0.00/0.00 u2(true,x4,x5,x1,x2,x3) -> pair(x4,cons(x2,x5)) 0.00/0.00 u2(false,x4,x5,x1,x2,x3) -> pair(cons(x2,x4),x5) 0.00/0.00 qsort(nil) -> nil 0.00/0.00 qsort(cons(x1,x2)) -> u3(split(x1,x2),x1,x2) 0.00/0.00 u3(pair(x3,x4),x1,x2) -> app(qsort(x3),cons(x1,qsort(x4))) 0.00/0.00 ) 0.00/0.00 0.00/0.00 U for 3DCTRSs is sound for the above CTRS. 0.00/0.00 0.00/0.00 U(R) is confluent. 0.00/0.00 0.00/0.00 YES 0.00/0.00 EOF