/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: le(0(),Y) -> true() le(s(X),0()) -> false() le(s(X),s(Y)) -> le(X,Y) minus(0(),Y) -> 0() minus(s(X),Y) -> ifMinus(le(s(X),Y),s(X),Y) ifMinus(true(),s(X),Y) -> 0() ifMinus(false(),s(X),Y) -> s(minus(X,Y)) quot(0(),s(Y)) -> 0() quot(s(X),s(Y)) -> s(quot(minus(X,Y),s(Y))) Proof: DP Processor: DPs: le#(s(X),s(Y)) -> le#(X,Y) minus#(s(X),Y) -> le#(s(X),Y) minus#(s(X),Y) -> ifMinus#(le(s(X),Y),s(X),Y) ifMinus#(false(),s(X),Y) -> minus#(X,Y) quot#(s(X),s(Y)) -> minus#(X,Y) quot#(s(X),s(Y)) -> quot#(minus(X,Y),s(Y)) TRS: le(0(),Y) -> true() le(s(X),0()) -> false() le(s(X),s(Y)) -> le(X,Y) minus(0(),Y) -> 0() minus(s(X),Y) -> ifMinus(le(s(X),Y),s(X),Y) ifMinus(true(),s(X),Y) -> 0() ifMinus(false(),s(X),Y) -> s(minus(X,Y)) quot(0(),s(Y)) -> 0() quot(s(X),s(Y)) -> s(quot(minus(X,Y),s(Y))) TDG Processor: DPs: le#(s(X),s(Y)) -> le#(X,Y) minus#(s(X),Y) -> le#(s(X),Y) minus#(s(X),Y) -> ifMinus#(le(s(X),Y),s(X),Y) ifMinus#(false(),s(X),Y) -> minus#(X,Y) quot#(s(X),s(Y)) -> minus#(X,Y) quot#(s(X),s(Y)) -> quot#(minus(X,Y),s(Y)) TRS: le(0(),Y) -> true() le(s(X),0()) -> false() le(s(X),s(Y)) -> le(X,Y) minus(0(),Y) -> 0() minus(s(X),Y) -> ifMinus(le(s(X),Y),s(X),Y) ifMinus(true(),s(X),Y) -> 0() ifMinus(false(),s(X),Y) -> s(minus(X,Y)) quot(0(),s(Y)) -> 0() quot(s(X),s(Y)) -> s(quot(minus(X,Y),s(Y))) graph: quot#(s(X),s(Y)) -> quot#(minus(X,Y),s(Y)) -> quot#(s(X),s(Y)) -> quot#(minus(X,Y),s(Y)) quot#(s(X),s(Y)) -> quot#(minus(X,Y),s(Y)) -> quot#(s(X),s(Y)) -> minus#(X,Y) quot#(s(X),s(Y)) -> minus#(X,Y) -> minus#(s(X),Y) -> ifMinus#(le(s(X),Y),s(X),Y) quot#(s(X),s(Y)) -> minus#(X,Y) -> minus#(s(X),Y) -> le#(s(X),Y) ifMinus#(false(),s(X),Y) -> minus#(X,Y) -> minus#(s(X),Y) -> ifMinus#(le(s(X),Y),s(X),Y) ifMinus#(false(),s(X),Y) -> minus#(X,Y) -> minus#(s(X),Y) -> le#(s(X),Y) minus#(s(X),Y) -> ifMinus#(le(s(X),Y),s(X),Y) -> ifMinus#(false(),s(X),Y) -> minus#(X,Y) minus#(s(X),Y) -> le#(s(X),Y) -> le#(s(X),s(Y)) -> le#(X,Y) le#(s(X),s(Y)) -> le#(X,Y) -> le#(s(X),s(Y)) -> le#(X,Y) SCC Processor: #sccs: 3 #rules: 4 #arcs: 9/36 DPs: quot#(s(X),s(Y)) -> quot#(minus(X,Y),s(Y)) TRS: le(0(),Y) -> true() le(s(X),0()) -> false() le(s(X),s(Y)) -> le(X,Y) minus(0(),Y) -> 0() minus(s(X),Y) -> ifMinus(le(s(X),Y),s(X),Y) ifMinus(true(),s(X),Y) -> 0() ifMinus(false(),s(X),Y) -> s(minus(X,Y)) quot(0(),s(Y)) -> 0() quot(s(X),s(Y)) -> s(quot(minus(X,Y),s(Y))) Usable Rule Processor: DPs: quot#(s(X),s(Y)) -> quot#(minus(X,Y),s(Y)) TRS: minus(0(),Y) -> 0() minus(s(X),Y) -> ifMinus(le(s(X),Y),s(X),Y) ifMinus(true(),s(X),Y) -> 0() ifMinus(false(),s(X),Y) -> s(minus(X,Y)) le(s(X),0()) -> false() le(s(X),s(Y)) -> le(X,Y) le(0(),Y) -> true() Arctic Interpretation Processor: dimension: 1 usable rules: minus(0(),Y) -> 0() minus(s(X),Y) -> ifMinus(le(s(X),Y),s(X),Y) ifMinus(true(),s(X),Y) -> 0() ifMinus(false(),s(X),Y) -> s(minus(X,Y)) interpretation: [quot#](x0, x1) = x0, [ifMinus](x0, x1, x2) = x1, [minus](x0, x1) = x0 + -8, [false] = 8, [s](x0) = 1x0 + 0, [true] = 13, [le](x0, x1) = 3x0 + 3x1 + -16, [0] = 0 orientation: quot#(s(X),s(Y)) = 1X + 0 >= X + -8 = quot#(minus(X,Y),s(Y)) minus(0(),Y) = 0 >= 0 = 0() minus(s(X),Y) = 1X + 0 >= 1X + 0 = ifMinus(le(s(X),Y),s(X),Y) ifMinus(true(),s(X),Y) = 1X + 0 >= 0 = 0() ifMinus(false(),s(X),Y) = 1X + 0 >= 1X + 0 = s(minus(X,Y)) le(s(X),0()) = 4X + 3 >= 8 = false() le(s(X),s(Y)) = 4X + 4Y + 3 >= 3X + 3Y + -16 = le(X,Y) le(0(),Y) = 3Y + 3 >= 13 = true() problem: DPs: TRS: minus(0(),Y) -> 0() minus(s(X),Y) -> ifMinus(le(s(X),Y),s(X),Y) ifMinus(true(),s(X),Y) -> 0() ifMinus(false(),s(X),Y) -> s(minus(X,Y)) le(s(X),0()) -> false() le(s(X),s(Y)) -> le(X,Y) le(0(),Y) -> true() Qed DPs: minus#(s(X),Y) -> ifMinus#(le(s(X),Y),s(X),Y) ifMinus#(false(),s(X),Y) -> minus#(X,Y) TRS: le(0(),Y) -> true() le(s(X),0()) -> false() le(s(X),s(Y)) -> le(X,Y) minus(0(),Y) -> 0() minus(s(X),Y) -> ifMinus(le(s(X),Y),s(X),Y) ifMinus(true(),s(X),Y) -> 0() ifMinus(false(),s(X),Y) -> s(minus(X,Y)) quot(0(),s(Y)) -> 0() quot(s(X),s(Y)) -> s(quot(minus(X,Y),s(Y))) Subterm Criterion Processor: simple projection: pi(minus#) = 0 pi(ifMinus#) = 1 problem: DPs: minus#(s(X),Y) -> ifMinus#(le(s(X),Y),s(X),Y) TRS: le(0(),Y) -> true() le(s(X),0()) -> false() le(s(X),s(Y)) -> le(X,Y) minus(0(),Y) -> 0() minus(s(X),Y) -> ifMinus(le(s(X),Y),s(X),Y) ifMinus(true(),s(X),Y) -> 0() ifMinus(false(),s(X),Y) -> s(minus(X,Y)) quot(0(),s(Y)) -> 0() quot(s(X),s(Y)) -> s(quot(minus(X,Y),s(Y))) SCC Processor: #sccs: 0 #rules: 0 #arcs: 2/1 DPs: le#(s(X),s(Y)) -> le#(X,Y) TRS: le(0(),Y) -> true() le(s(X),0()) -> false() le(s(X),s(Y)) -> le(X,Y) minus(0(),Y) -> 0() minus(s(X),Y) -> ifMinus(le(s(X),Y),s(X),Y) ifMinus(true(),s(X),Y) -> 0() ifMinus(false(),s(X),Y) -> s(minus(X,Y)) quot(0(),s(Y)) -> 0() quot(s(X),s(Y)) -> s(quot(minus(X,Y),s(Y))) Subterm Criterion Processor: simple projection: pi(le#) = 0 problem: DPs: TRS: le(0(),Y) -> true() le(s(X),0()) -> false() le(s(X),s(Y)) -> le(X,Y) minus(0(),Y) -> 0() minus(s(X),Y) -> ifMinus(le(s(X),Y),s(X),Y) ifMinus(true(),s(X),Y) -> 0() ifMinus(false(),s(X),Y) -> s(minus(X,Y)) quot(0(),s(Y)) -> 0() quot(s(X),s(Y)) -> s(quot(minus(X,Y),s(Y))) Qed