/export/starexec/sandbox/solver/bin/starexec_run_ttt2-1.17+nonreach /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES Problem: rev1(0(),nil()) -> 0() rev1(s(X),nil()) -> s(X) rev1(X,cons(Y,L)) -> rev1(Y,L) rev(nil()) -> nil() rev(cons(X,L)) -> cons(rev1(X,L),rev2(X,L)) rev2(X,nil()) -> nil() rev2(X,cons(Y,L)) -> rev(cons(X,rev(rev2(Y,L)))) Proof: DP Processor: DPs: rev1#(X,cons(Y,L)) -> rev1#(Y,L) rev#(cons(X,L)) -> rev2#(X,L) rev#(cons(X,L)) -> rev1#(X,L) rev2#(X,cons(Y,L)) -> rev2#(Y,L) rev2#(X,cons(Y,L)) -> rev#(rev2(Y,L)) rev2#(X,cons(Y,L)) -> rev#(cons(X,rev(rev2(Y,L)))) TRS: rev1(0(),nil()) -> 0() rev1(s(X),nil()) -> s(X) rev1(X,cons(Y,L)) -> rev1(Y,L) rev(nil()) -> nil() rev(cons(X,L)) -> cons(rev1(X,L),rev2(X,L)) rev2(X,nil()) -> nil() rev2(X,cons(Y,L)) -> rev(cons(X,rev(rev2(Y,L)))) TDG Processor: DPs: rev1#(X,cons(Y,L)) -> rev1#(Y,L) rev#(cons(X,L)) -> rev2#(X,L) rev#(cons(X,L)) -> rev1#(X,L) rev2#(X,cons(Y,L)) -> rev2#(Y,L) rev2#(X,cons(Y,L)) -> rev#(rev2(Y,L)) rev2#(X,cons(Y,L)) -> rev#(cons(X,rev(rev2(Y,L)))) TRS: rev1(0(),nil()) -> 0() rev1(s(X),nil()) -> s(X) rev1(X,cons(Y,L)) -> rev1(Y,L) rev(nil()) -> nil() rev(cons(X,L)) -> cons(rev1(X,L),rev2(X,L)) rev2(X,nil()) -> nil() rev2(X,cons(Y,L)) -> rev(cons(X,rev(rev2(Y,L)))) graph: rev2#(X,cons(Y,L)) -> rev2#(Y,L) -> rev2#(X,cons(Y,L)) -> rev#(cons(X,rev(rev2(Y,L)))) rev2#(X,cons(Y,L)) -> rev2#(Y,L) -> rev2#(X,cons(Y,L)) -> rev#(rev2(Y,L)) rev2#(X,cons(Y,L)) -> rev2#(Y,L) -> rev2#(X,cons(Y,L)) -> rev2#(Y,L) rev2#(X,cons(Y,L)) -> rev#(rev2(Y,L)) -> rev#(cons(X,L)) -> rev1#(X,L) rev2#(X,cons(Y,L)) -> rev#(rev2(Y,L)) -> rev#(cons(X,L)) -> rev2#(X,L) rev2#(X,cons(Y,L)) -> rev#(cons(X,rev(rev2(Y,L)))) -> rev#(cons(X,L)) -> rev1#(X,L) rev2#(X,cons(Y,L)) -> rev#(cons(X,rev(rev2(Y,L)))) -> rev#(cons(X,L)) -> rev2#(X,L) rev#(cons(X,L)) -> rev2#(X,L) -> rev2#(X,cons(Y,L)) -> rev#(cons(X,rev(rev2(Y,L)))) rev#(cons(X,L)) -> rev2#(X,L) -> rev2#(X,cons(Y,L)) -> rev#(rev2(Y,L)) rev#(cons(X,L)) -> rev2#(X,L) -> rev2#(X,cons(Y,L)) -> rev2#(Y,L) rev#(cons(X,L)) -> rev1#(X,L) -> rev1#(X,cons(Y,L)) -> rev1#(Y,L) rev1#(X,cons(Y,L)) -> rev1#(Y,L) -> rev1#(X,cons(Y,L)) -> rev1#(Y,L) SCC Processor: #sccs: 2 #rules: 5 #arcs: 12/36 DPs: rev2#(X,cons(Y,L)) -> rev2#(Y,L) rev2#(X,cons(Y,L)) -> rev#(rev2(Y,L)) rev#(cons(X,L)) -> rev2#(X,L) rev2#(X,cons(Y,L)) -> rev#(cons(X,rev(rev2(Y,L)))) TRS: rev1(0(),nil()) -> 0() rev1(s(X),nil()) -> s(X) rev1(X,cons(Y,L)) -> rev1(Y,L) rev(nil()) -> nil() rev(cons(X,L)) -> cons(rev1(X,L),rev2(X,L)) rev2(X,nil()) -> nil() rev2(X,cons(Y,L)) -> rev(cons(X,rev(rev2(Y,L)))) Subterm Criterion Processor: simple projection: pi(cons) = [1,1] pi(rev) = 0 pi(rev2) = 1 pi(rev#) = [0,0] pi(rev2#) = [1,1] problem: DPs: rev2#(X,cons(Y,L)) -> rev#(cons(X,rev(rev2(Y,L)))) TRS: rev1(0(),nil()) -> 0() rev1(s(X),nil()) -> s(X) rev1(X,cons(Y,L)) -> rev1(Y,L) rev(nil()) -> nil() rev(cons(X,L)) -> cons(rev1(X,L),rev2(X,L)) rev2(X,nil()) -> nil() rev2(X,cons(Y,L)) -> rev(cons(X,rev(rev2(Y,L)))) SCC Processor: #sccs: 0 #rules: 0 #arcs: 8/1 DPs: rev1#(X,cons(Y,L)) -> rev1#(Y,L) TRS: rev1(0(),nil()) -> 0() rev1(s(X),nil()) -> s(X) rev1(X,cons(Y,L)) -> rev1(Y,L) rev(nil()) -> nil() rev(cons(X,L)) -> cons(rev1(X,L),rev2(X,L)) rev2(X,nil()) -> nil() rev2(X,cons(Y,L)) -> rev(cons(X,rev(rev2(Y,L)))) Subterm Criterion Processor: simple projection: pi(rev1#) = 1 problem: DPs: TRS: rev1(0(),nil()) -> 0() rev1(s(X),nil()) -> s(X) rev1(X,cons(Y,L)) -> rev1(Y,L) rev(nil()) -> nil() rev(cons(X,L)) -> cons(rev1(X,L),rev2(X,L)) rev2(X,nil()) -> nil() rev2(X,cons(Y,L)) -> rev(cons(X,rev(rev2(Y,L)))) Qed