/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: rev(nil()) -> nil() rev(++(x,y)) -> ++(rev1(x,y),rev2(x,y)) rev1(x,nil()) -> x rev1(x,++(y,z)) -> rev1(y,z) rev2(x,nil()) -> nil() rev2(x,++(y,z)) -> rev(++(x,rev(rev2(y,z)))) Proof: DP Processor: DPs: rev#(++(x,y)) -> rev2#(x,y) rev#(++(x,y)) -> rev1#(x,y) rev1#(x,++(y,z)) -> rev1#(y,z) rev2#(x,++(y,z)) -> rev2#(y,z) rev2#(x,++(y,z)) -> rev#(rev2(y,z)) rev2#(x,++(y,z)) -> rev#(++(x,rev(rev2(y,z)))) TRS: rev(nil()) -> nil() rev(++(x,y)) -> ++(rev1(x,y),rev2(x,y)) rev1(x,nil()) -> x rev1(x,++(y,z)) -> rev1(y,z) rev2(x,nil()) -> nil() rev2(x,++(y,z)) -> rev(++(x,rev(rev2(y,z)))) TDG Processor: DPs: rev#(++(x,y)) -> rev2#(x,y) rev#(++(x,y)) -> rev1#(x,y) rev1#(x,++(y,z)) -> rev1#(y,z) rev2#(x,++(y,z)) -> rev2#(y,z) rev2#(x,++(y,z)) -> rev#(rev2(y,z)) rev2#(x,++(y,z)) -> rev#(++(x,rev(rev2(y,z)))) TRS: rev(nil()) -> nil() rev(++(x,y)) -> ++(rev1(x,y),rev2(x,y)) rev1(x,nil()) -> x rev1(x,++(y,z)) -> rev1(y,z) rev2(x,nil()) -> nil() rev2(x,++(y,z)) -> rev(++(x,rev(rev2(y,z)))) graph: rev1#(x,++(y,z)) -> rev1#(y,z) -> rev1#(x,++(y,z)) -> rev1#(y,z) rev2#(x,++(y,z)) -> rev2#(y,z) -> rev2#(x,++(y,z)) -> rev#(++(x,rev(rev2(y,z)))) rev2#(x,++(y,z)) -> rev2#(y,z) -> rev2#(x,++(y,z)) -> rev#(rev2(y,z)) rev2#(x,++(y,z)) -> rev2#(y,z) -> rev2#(x,++(y,z)) -> rev2#(y,z) rev2#(x,++(y,z)) -> rev#(rev2(y,z)) -> rev#(++(x,y)) -> rev1#(x,y) rev2#(x,++(y,z)) -> rev#(rev2(y,z)) -> rev#(++(x,y)) -> rev2#(x,y) rev2#(x,++(y,z)) -> rev#(++(x,rev(rev2(y,z)))) -> rev#(++(x,y)) -> rev1#(x,y) rev2#(x,++(y,z)) -> rev#(++(x,rev(rev2(y,z)))) -> rev#(++(x,y)) -> rev2#(x,y) rev#(++(x,y)) -> rev1#(x,y) -> rev1#(x,++(y,z)) -> rev1#(y,z) rev#(++(x,y)) -> rev2#(x,y) -> rev2#(x,++(y,z)) -> rev#(++(x,rev(rev2(y,z)))) rev#(++(x,y)) -> rev2#(x,y) -> rev2#(x,++(y,z)) -> rev#(rev2(y,z)) rev#(++(x,y)) -> rev2#(x,y) -> rev2#(x,++(y,z)) -> rev2#(y,z) SCC Processor: #sccs: 2 #rules: 5 #arcs: 12/36 DPs: rev2#(x,++(y,z)) -> rev2#(y,z) rev2#(x,++(y,z)) -> rev#(rev2(y,z)) rev#(++(x,y)) -> rev2#(x,y) rev2#(x,++(y,z)) -> rev#(++(x,rev(rev2(y,z)))) TRS: rev(nil()) -> nil() rev(++(x,y)) -> ++(rev1(x,y),rev2(x,y)) rev1(x,nil()) -> x rev1(x,++(y,z)) -> rev1(y,z) rev2(x,nil()) -> nil() rev2(x,++(y,z)) -> rev(++(x,rev(rev2(y,z)))) Subterm Criterion Processor: simple projection: pi(rev) = 0 pi(++) = [1,1] pi(rev2) = 1 pi(rev#) = 0 pi(rev2#) = 1 problem: DPs: rev2#(x,++(y,z)) -> rev#(++(x,rev(rev2(y,z)))) TRS: rev(nil()) -> nil() rev(++(x,y)) -> ++(rev1(x,y),rev2(x,y)) rev1(x,nil()) -> x rev1(x,++(y,z)) -> rev1(y,z) rev2(x,nil()) -> nil() rev2(x,++(y,z)) -> rev(++(x,rev(rev2(y,z)))) SCC Processor: #sccs: 0 #rules: 0 #arcs: 8/1 DPs: rev1#(x,++(y,z)) -> rev1#(y,z) TRS: rev(nil()) -> nil() rev(++(x,y)) -> ++(rev1(x,y),rev2(x,y)) rev1(x,nil()) -> x rev1(x,++(y,z)) -> rev1(y,z) rev2(x,nil()) -> nil() rev2(x,++(y,z)) -> rev(++(x,rev(rev2(y,z)))) Subterm Criterion Processor: simple projection: pi(rev1#) = 1 problem: DPs: TRS: rev(nil()) -> nil() rev(++(x,y)) -> ++(rev1(x,y),rev2(x,y)) rev1(x,nil()) -> x rev1(x,++(y,z)) -> rev1(y,z) rev2(x,nil()) -> nil() rev2(x,++(y,z)) -> rev(++(x,rev(rev2(y,z)))) Qed