0.00/0.45 YES 0.00/0.45 0.00/0.45 Problem 1: 0.00/0.45 0.00/0.45 (VAR v_NonEmpty:S X:S X1:S X2:S X3:S Y:S) 0.00/0.45 (RULES 0.00/0.45 a__div(0,s(Y:S)) -> 0 0.00/0.45 a__div(s(X:S),s(Y:S)) -> a__if(a__geq(X:S,Y:S),s(div(minus(X:S,Y:S),s(Y:S))),0) 0.00/0.45 a__div(X1:S,X2:S) -> div(X1:S,X2:S) 0.00/0.45 a__geq(0,s(Y:S)) -> ffalse 0.00/0.45 a__geq(s(X:S),s(Y:S)) -> a__geq(X:S,Y:S) 0.00/0.45 a__geq(X:S,0) -> ttrue 0.00/0.45 a__geq(X1:S,X2:S) -> geq(X1:S,X2:S) 0.00/0.45 a__if(ffalse,X:S,Y:S) -> mark(Y:S) 0.00/0.45 a__if(ttrue,X:S,Y:S) -> mark(X:S) 0.00/0.45 a__if(X1:S,X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 0.00/0.45 a__minus(0,Y:S) -> 0 0.00/0.45 a__minus(s(X:S),s(Y:S)) -> a__minus(X:S,Y:S) 0.00/0.45 a__minus(X1:S,X2:S) -> minus(X1:S,X2:S) 0.00/0.45 mark(0) -> 0 0.00/0.45 mark(div(X1:S,X2:S)) -> a__div(mark(X1:S),X2:S) 0.00/0.45 mark(ffalse) -> ffalse 0.00/0.45 mark(geq(X1:S,X2:S)) -> a__geq(X1:S,X2:S) 0.00/0.45 mark(if(X1:S,X2:S,X3:S)) -> a__if(mark(X1:S),X2:S,X3:S) 0.00/0.45 mark(minus(X1:S,X2:S)) -> a__minus(X1:S,X2:S) 0.00/0.45 mark(s(X:S)) -> s(mark(X:S)) 0.00/0.45 mark(ttrue) -> ttrue 0.00/0.45 ) 0.00/0.45 (STRATEGY INNERMOST) 0.00/0.45 0.00/0.45 Problem 1: 0.00/0.45 0.00/0.45 Dependency Pairs Processor: 0.00/0.45 -> Pairs: 0.00/0.45 A__DIV(s(X:S),s(Y:S)) -> A__GEQ(X:S,Y:S) 0.00/0.45 A__DIV(s(X:S),s(Y:S)) -> A__IF(a__geq(X:S,Y:S),s(div(minus(X:S,Y:S),s(Y:S))),0) 0.00/0.45 A__GEQ(s(X:S),s(Y:S)) -> A__GEQ(X:S,Y:S) 0.00/0.45 A__IF(ffalse,X:S,Y:S) -> MARK(Y:S) 0.00/0.45 A__IF(ttrue,X:S,Y:S) -> MARK(X:S) 0.00/0.45 A__MINUS(s(X:S),s(Y:S)) -> A__MINUS(X:S,Y:S) 0.00/0.45 MARK(div(X1:S,X2:S)) -> A__DIV(mark(X1:S),X2:S) 0.00/0.45 MARK(div(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.45 MARK(geq(X1:S,X2:S)) -> A__GEQ(X1:S,X2:S) 0.00/0.45 MARK(if(X1:S,X2:S,X3:S)) -> A__IF(mark(X1:S),X2:S,X3:S) 0.00/0.45 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X1:S) 0.00/0.45 MARK(minus(X1:S,X2:S)) -> A__MINUS(X1:S,X2:S) 0.00/0.45 MARK(s(X:S)) -> MARK(X:S) 0.00/0.45 -> Rules: 0.00/0.45 a__div(0,s(Y:S)) -> 0 0.00/0.45 a__div(s(X:S),s(Y:S)) -> a__if(a__geq(X:S,Y:S),s(div(minus(X:S,Y:S),s(Y:S))),0) 0.00/0.45 a__div(X1:S,X2:S) -> div(X1:S,X2:S) 0.00/0.45 a__geq(0,s(Y:S)) -> ffalse 0.00/0.45 a__geq(s(X:S),s(Y:S)) -> a__geq(X:S,Y:S) 0.00/0.45 a__geq(X:S,0) -> ttrue 0.00/0.45 a__geq(X1:S,X2:S) -> geq(X1:S,X2:S) 0.00/0.45 a__if(ffalse,X:S,Y:S) -> mark(Y:S) 0.00/0.45 a__if(ttrue,X:S,Y:S) -> mark(X:S) 0.00/0.45 a__if(X1:S,X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 0.00/0.45 a__minus(0,Y:S) -> 0 0.00/0.45 a__minus(s(X:S),s(Y:S)) -> a__minus(X:S,Y:S) 0.00/0.45 a__minus(X1:S,X2:S) -> minus(X1:S,X2:S) 0.00/0.45 mark(0) -> 0 0.00/0.45 mark(div(X1:S,X2:S)) -> a__div(mark(X1:S),X2:S) 0.00/0.45 mark(ffalse) -> ffalse 0.00/0.45 mark(geq(X1:S,X2:S)) -> a__geq(X1:S,X2:S) 0.00/0.45 mark(if(X1:S,X2:S,X3:S)) -> a__if(mark(X1:S),X2:S,X3:S) 0.00/0.45 mark(minus(X1:S,X2:S)) -> a__minus(X1:S,X2:S) 0.00/0.45 mark(s(X:S)) -> s(mark(X:S)) 0.00/0.45 mark(ttrue) -> ttrue 0.00/0.45 0.00/0.45 Problem 1: 0.00/0.45 0.00/0.45 SCC Processor: 0.00/0.45 -> Pairs: 0.00/0.45 A__DIV(s(X:S),s(Y:S)) -> A__GEQ(X:S,Y:S) 0.00/0.45 A__DIV(s(X:S),s(Y:S)) -> A__IF(a__geq(X:S,Y:S),s(div(minus(X:S,Y:S),s(Y:S))),0) 0.00/0.45 A__GEQ(s(X:S),s(Y:S)) -> A__GEQ(X:S,Y:S) 0.00/0.45 A__IF(ffalse,X:S,Y:S) -> MARK(Y:S) 0.00/0.45 A__IF(ttrue,X:S,Y:S) -> MARK(X:S) 0.00/0.45 A__MINUS(s(X:S),s(Y:S)) -> A__MINUS(X:S,Y:S) 0.00/0.45 MARK(div(X1:S,X2:S)) -> A__DIV(mark(X1:S),X2:S) 0.00/0.45 MARK(div(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.45 MARK(geq(X1:S,X2:S)) -> A__GEQ(X1:S,X2:S) 0.00/0.45 MARK(if(X1:S,X2:S,X3:S)) -> A__IF(mark(X1:S),X2:S,X3:S) 0.00/0.45 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X1:S) 0.00/0.45 MARK(minus(X1:S,X2:S)) -> A__MINUS(X1:S,X2:S) 0.00/0.45 MARK(s(X:S)) -> MARK(X:S) 0.00/0.45 -> Rules: 0.00/0.45 a__div(0,s(Y:S)) -> 0 0.00/0.45 a__div(s(X:S),s(Y:S)) -> a__if(a__geq(X:S,Y:S),s(div(minus(X:S,Y:S),s(Y:S))),0) 0.00/0.45 a__div(X1:S,X2:S) -> div(X1:S,X2:S) 0.00/0.45 a__geq(0,s(Y:S)) -> ffalse 0.00/0.45 a__geq(s(X:S),s(Y:S)) -> a__geq(X:S,Y:S) 0.00/0.45 a__geq(X:S,0) -> ttrue 0.00/0.45 a__geq(X1:S,X2:S) -> geq(X1:S,X2:S) 0.00/0.45 a__if(ffalse,X:S,Y:S) -> mark(Y:S) 0.00/0.45 a__if(ttrue,X:S,Y:S) -> mark(X:S) 0.00/0.45 a__if(X1:S,X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 0.00/0.45 a__minus(0,Y:S) -> 0 0.00/0.45 a__minus(s(X:S),s(Y:S)) -> a__minus(X:S,Y:S) 0.00/0.45 a__minus(X1:S,X2:S) -> minus(X1:S,X2:S) 0.00/0.45 mark(0) -> 0 0.00/0.45 mark(div(X1:S,X2:S)) -> a__div(mark(X1:S),X2:S) 0.00/0.45 mark(ffalse) -> ffalse 0.00/0.45 mark(geq(X1:S,X2:S)) -> a__geq(X1:S,X2:S) 0.00/0.45 mark(if(X1:S,X2:S,X3:S)) -> a__if(mark(X1:S),X2:S,X3:S) 0.00/0.45 mark(minus(X1:S,X2:S)) -> a__minus(X1:S,X2:S) 0.00/0.45 mark(s(X:S)) -> s(mark(X:S)) 0.00/0.45 mark(ttrue) -> ttrue 0.00/0.45 ->Strongly Connected Components: 0.00/0.45 ->->Cycle: 0.00/0.45 ->->-> Pairs: 0.00/0.45 A__MINUS(s(X:S),s(Y:S)) -> A__MINUS(X:S,Y:S) 0.00/0.45 ->->-> Rules: 0.00/0.45 a__div(0,s(Y:S)) -> 0 0.00/0.45 a__div(s(X:S),s(Y:S)) -> a__if(a__geq(X:S,Y:S),s(div(minus(X:S,Y:S),s(Y:S))),0) 0.00/0.45 a__div(X1:S,X2:S) -> div(X1:S,X2:S) 0.00/0.45 a__geq(0,s(Y:S)) -> ffalse 0.00/0.45 a__geq(s(X:S),s(Y:S)) -> a__geq(X:S,Y:S) 0.00/0.45 a__geq(X:S,0) -> ttrue 0.00/0.45 a__geq(X1:S,X2:S) -> geq(X1:S,X2:S) 0.00/0.45 a__if(ffalse,X:S,Y:S) -> mark(Y:S) 0.00/0.45 a__if(ttrue,X:S,Y:S) -> mark(X:S) 0.00/0.45 a__if(X1:S,X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 0.00/0.45 a__minus(0,Y:S) -> 0 0.00/0.45 a__minus(s(X:S),s(Y:S)) -> a__minus(X:S,Y:S) 0.00/0.45 a__minus(X1:S,X2:S) -> minus(X1:S,X2:S) 0.00/0.45 mark(0) -> 0 0.00/0.45 mark(div(X1:S,X2:S)) -> a__div(mark(X1:S),X2:S) 0.00/0.45 mark(ffalse) -> ffalse 0.00/0.45 mark(geq(X1:S,X2:S)) -> a__geq(X1:S,X2:S) 0.00/0.45 mark(if(X1:S,X2:S,X3:S)) -> a__if(mark(X1:S),X2:S,X3:S) 0.00/0.45 mark(minus(X1:S,X2:S)) -> a__minus(X1:S,X2:S) 0.00/0.45 mark(s(X:S)) -> s(mark(X:S)) 0.00/0.45 mark(ttrue) -> ttrue 0.00/0.45 ->->Cycle: 0.00/0.45 ->->-> Pairs: 0.00/0.45 A__GEQ(s(X:S),s(Y:S)) -> A__GEQ(X:S,Y:S) 0.00/0.45 ->->-> Rules: 0.00/0.45 a__div(0,s(Y:S)) -> 0 0.00/0.45 a__div(s(X:S),s(Y:S)) -> a__if(a__geq(X:S,Y:S),s(div(minus(X:S,Y:S),s(Y:S))),0) 0.00/0.45 a__div(X1:S,X2:S) -> div(X1:S,X2:S) 0.00/0.45 a__geq(0,s(Y:S)) -> ffalse 0.00/0.45 a__geq(s(X:S),s(Y:S)) -> a__geq(X:S,Y:S) 0.00/0.45 a__geq(X:S,0) -> ttrue 0.00/0.45 a__geq(X1:S,X2:S) -> geq(X1:S,X2:S) 0.00/0.45 a__if(ffalse,X:S,Y:S) -> mark(Y:S) 0.00/0.45 a__if(ttrue,X:S,Y:S) -> mark(X:S) 0.00/0.45 a__if(X1:S,X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 0.00/0.45 a__minus(0,Y:S) -> 0 0.00/0.45 a__minus(s(X:S),s(Y:S)) -> a__minus(X:S,Y:S) 0.00/0.45 a__minus(X1:S,X2:S) -> minus(X1:S,X2:S) 0.00/0.45 mark(0) -> 0 0.00/0.45 mark(div(X1:S,X2:S)) -> a__div(mark(X1:S),X2:S) 0.00/0.45 mark(ffalse) -> ffalse 0.00/0.45 mark(geq(X1:S,X2:S)) -> a__geq(X1:S,X2:S) 0.00/0.45 mark(if(X1:S,X2:S,X3:S)) -> a__if(mark(X1:S),X2:S,X3:S) 0.00/0.45 mark(minus(X1:S,X2:S)) -> a__minus(X1:S,X2:S) 0.00/0.45 mark(s(X:S)) -> s(mark(X:S)) 0.00/0.45 mark(ttrue) -> ttrue 0.00/0.45 ->->Cycle: 0.00/0.45 ->->-> Pairs: 0.00/0.45 A__DIV(s(X:S),s(Y:S)) -> A__IF(a__geq(X:S,Y:S),s(div(minus(X:S,Y:S),s(Y:S))),0) 0.00/0.45 A__IF(ffalse,X:S,Y:S) -> MARK(Y:S) 0.00/0.45 A__IF(ttrue,X:S,Y:S) -> MARK(X:S) 0.00/0.45 MARK(div(X1:S,X2:S)) -> A__DIV(mark(X1:S),X2:S) 0.00/0.45 MARK(div(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.45 MARK(if(X1:S,X2:S,X3:S)) -> A__IF(mark(X1:S),X2:S,X3:S) 0.00/0.45 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X1:S) 0.00/0.45 MARK(s(X:S)) -> MARK(X:S) 0.00/0.45 ->->-> Rules: 0.00/0.45 a__div(0,s(Y:S)) -> 0 0.00/0.45 a__div(s(X:S),s(Y:S)) -> a__if(a__geq(X:S,Y:S),s(div(minus(X:S,Y:S),s(Y:S))),0) 0.00/0.45 a__div(X1:S,X2:S) -> div(X1:S,X2:S) 0.00/0.45 a__geq(0,s(Y:S)) -> ffalse 0.00/0.45 a__geq(s(X:S),s(Y:S)) -> a__geq(X:S,Y:S) 0.00/0.45 a__geq(X:S,0) -> ttrue 0.00/0.45 a__geq(X1:S,X2:S) -> geq(X1:S,X2:S) 0.00/0.45 a__if(ffalse,X:S,Y:S) -> mark(Y:S) 0.00/0.45 a__if(ttrue,X:S,Y:S) -> mark(X:S) 0.00/0.45 a__if(X1:S,X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 0.00/0.45 a__minus(0,Y:S) -> 0 0.00/0.45 a__minus(s(X:S),s(Y:S)) -> a__minus(X:S,Y:S) 0.00/0.45 a__minus(X1:S,X2:S) -> minus(X1:S,X2:S) 0.00/0.45 mark(0) -> 0 0.00/0.45 mark(div(X1:S,X2:S)) -> a__div(mark(X1:S),X2:S) 0.00/0.45 mark(ffalse) -> ffalse 0.00/0.45 mark(geq(X1:S,X2:S)) -> a__geq(X1:S,X2:S) 0.00/0.45 mark(if(X1:S,X2:S,X3:S)) -> a__if(mark(X1:S),X2:S,X3:S) 0.00/0.45 mark(minus(X1:S,X2:S)) -> a__minus(X1:S,X2:S) 0.00/0.45 mark(s(X:S)) -> s(mark(X:S)) 0.00/0.45 mark(ttrue) -> ttrue 0.00/0.45 0.00/0.45 0.00/0.45 The problem is decomposed in 3 subproblems. 0.00/0.45 0.00/0.45 Problem 1.1: 0.00/0.45 0.00/0.45 Subterm Processor: 0.00/0.45 -> Pairs: 0.00/0.45 A__MINUS(s(X:S),s(Y:S)) -> A__MINUS(X:S,Y:S) 0.00/0.45 -> Rules: 0.00/0.45 a__div(0,s(Y:S)) -> 0 0.00/0.45 a__div(s(X:S),s(Y:S)) -> a__if(a__geq(X:S,Y:S),s(div(minus(X:S,Y:S),s(Y:S))),0) 0.00/0.45 a__div(X1:S,X2:S) -> div(X1:S,X2:S) 0.00/0.45 a__geq(0,s(Y:S)) -> ffalse 0.00/0.45 a__geq(s(X:S),s(Y:S)) -> a__geq(X:S,Y:S) 0.00/0.45 a__geq(X:S,0) -> ttrue 0.00/0.45 a__geq(X1:S,X2:S) -> geq(X1:S,X2:S) 0.00/0.45 a__if(ffalse,X:S,Y:S) -> mark(Y:S) 0.00/0.45 a__if(ttrue,X:S,Y:S) -> mark(X:S) 0.00/0.45 a__if(X1:S,X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 0.00/0.45 a__minus(0,Y:S) -> 0 0.00/0.45 a__minus(s(X:S),s(Y:S)) -> a__minus(X:S,Y:S) 0.00/0.45 a__minus(X1:S,X2:S) -> minus(X1:S,X2:S) 0.00/0.45 mark(0) -> 0 0.00/0.45 mark(div(X1:S,X2:S)) -> a__div(mark(X1:S),X2:S) 0.00/0.45 mark(ffalse) -> ffalse 0.00/0.45 mark(geq(X1:S,X2:S)) -> a__geq(X1:S,X2:S) 0.00/0.45 mark(if(X1:S,X2:S,X3:S)) -> a__if(mark(X1:S),X2:S,X3:S) 0.00/0.45 mark(minus(X1:S,X2:S)) -> a__minus(X1:S,X2:S) 0.00/0.45 mark(s(X:S)) -> s(mark(X:S)) 0.00/0.45 mark(ttrue) -> ttrue 0.00/0.45 ->Projection: 0.00/0.45 pi(A__MINUS) = 1 0.00/0.45 0.00/0.45 Problem 1.1: 0.00/0.45 0.00/0.45 SCC Processor: 0.00/0.45 -> Pairs: 0.00/0.45 Empty 0.00/0.45 -> Rules: 0.00/0.45 a__div(0,s(Y:S)) -> 0 0.00/0.45 a__div(s(X:S),s(Y:S)) -> a__if(a__geq(X:S,Y:S),s(div(minus(X:S,Y:S),s(Y:S))),0) 0.00/0.45 a__div(X1:S,X2:S) -> div(X1:S,X2:S) 0.00/0.45 a__geq(0,s(Y:S)) -> ffalse 0.00/0.45 a__geq(s(X:S),s(Y:S)) -> a__geq(X:S,Y:S) 0.00/0.45 a__geq(X:S,0) -> ttrue 0.00/0.45 a__geq(X1:S,X2:S) -> geq(X1:S,X2:S) 0.00/0.45 a__if(ffalse,X:S,Y:S) -> mark(Y:S) 0.00/0.45 a__if(ttrue,X:S,Y:S) -> mark(X:S) 0.00/0.45 a__if(X1:S,X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 0.00/0.45 a__minus(0,Y:S) -> 0 0.00/0.45 a__minus(s(X:S),s(Y:S)) -> a__minus(X:S,Y:S) 0.00/0.45 a__minus(X1:S,X2:S) -> minus(X1:S,X2:S) 0.00/0.45 mark(0) -> 0 0.00/0.45 mark(div(X1:S,X2:S)) -> a__div(mark(X1:S),X2:S) 0.00/0.45 mark(ffalse) -> ffalse 0.00/0.45 mark(geq(X1:S,X2:S)) -> a__geq(X1:S,X2:S) 0.00/0.45 mark(if(X1:S,X2:S,X3:S)) -> a__if(mark(X1:S),X2:S,X3:S) 0.00/0.45 mark(minus(X1:S,X2:S)) -> a__minus(X1:S,X2:S) 0.00/0.45 mark(s(X:S)) -> s(mark(X:S)) 0.00/0.45 mark(ttrue) -> ttrue 0.00/0.45 ->Strongly Connected Components: 0.00/0.45 There is no strongly connected component 0.00/0.45 0.00/0.45 The problem is finite. 0.00/0.45 0.00/0.45 Problem 1.2: 0.00/0.45 0.00/0.45 Subterm Processor: 0.00/0.45 -> Pairs: 0.00/0.45 A__GEQ(s(X:S),s(Y:S)) -> A__GEQ(X:S,Y:S) 0.00/0.45 -> Rules: 0.00/0.45 a__div(0,s(Y:S)) -> 0 0.00/0.45 a__div(s(X:S),s(Y:S)) -> a__if(a__geq(X:S,Y:S),s(div(minus(X:S,Y:S),s(Y:S))),0) 0.00/0.45 a__div(X1:S,X2:S) -> div(X1:S,X2:S) 0.00/0.45 a__geq(0,s(Y:S)) -> ffalse 0.00/0.45 a__geq(s(X:S),s(Y:S)) -> a__geq(X:S,Y:S) 0.00/0.45 a__geq(X:S,0) -> ttrue 0.00/0.45 a__geq(X1:S,X2:S) -> geq(X1:S,X2:S) 0.00/0.45 a__if(ffalse,X:S,Y:S) -> mark(Y:S) 0.00/0.45 a__if(ttrue,X:S,Y:S) -> mark(X:S) 0.00/0.45 a__if(X1:S,X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 0.00/0.45 a__minus(0,Y:S) -> 0 0.00/0.45 a__minus(s(X:S),s(Y:S)) -> a__minus(X:S,Y:S) 0.00/0.45 a__minus(X1:S,X2:S) -> minus(X1:S,X2:S) 0.00/0.45 mark(0) -> 0 0.00/0.45 mark(div(X1:S,X2:S)) -> a__div(mark(X1:S),X2:S) 0.00/0.45 mark(ffalse) -> ffalse 0.00/0.45 mark(geq(X1:S,X2:S)) -> a__geq(X1:S,X2:S) 0.00/0.45 mark(if(X1:S,X2:S,X3:S)) -> a__if(mark(X1:S),X2:S,X3:S) 0.00/0.45 mark(minus(X1:S,X2:S)) -> a__minus(X1:S,X2:S) 0.00/0.45 mark(s(X:S)) -> s(mark(X:S)) 0.00/0.45 mark(ttrue) -> ttrue 0.00/0.45 ->Projection: 0.00/0.45 pi(A__GEQ) = 1 0.00/0.45 0.00/0.45 Problem 1.2: 0.00/0.45 0.00/0.45 SCC Processor: 0.00/0.45 -> Pairs: 0.00/0.45 Empty 0.00/0.45 -> Rules: 0.00/0.45 a__div(0,s(Y:S)) -> 0 0.00/0.45 a__div(s(X:S),s(Y:S)) -> a__if(a__geq(X:S,Y:S),s(div(minus(X:S,Y:S),s(Y:S))),0) 0.00/0.45 a__div(X1:S,X2:S) -> div(X1:S,X2:S) 0.00/0.45 a__geq(0,s(Y:S)) -> ffalse 0.00/0.45 a__geq(s(X:S),s(Y:S)) -> a__geq(X:S,Y:S) 0.00/0.45 a__geq(X:S,0) -> ttrue 0.00/0.45 a__geq(X1:S,X2:S) -> geq(X1:S,X2:S) 0.00/0.45 a__if(ffalse,X:S,Y:S) -> mark(Y:S) 0.00/0.45 a__if(ttrue,X:S,Y:S) -> mark(X:S) 0.00/0.45 a__if(X1:S,X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 0.00/0.45 a__minus(0,Y:S) -> 0 0.00/0.45 a__minus(s(X:S),s(Y:S)) -> a__minus(X:S,Y:S) 0.00/0.45 a__minus(X1:S,X2:S) -> minus(X1:S,X2:S) 0.00/0.45 mark(0) -> 0 0.00/0.45 mark(div(X1:S,X2:S)) -> a__div(mark(X1:S),X2:S) 0.00/0.45 mark(ffalse) -> ffalse 0.00/0.45 mark(geq(X1:S,X2:S)) -> a__geq(X1:S,X2:S) 0.00/0.45 mark(if(X1:S,X2:S,X3:S)) -> a__if(mark(X1:S),X2:S,X3:S) 0.00/0.45 mark(minus(X1:S,X2:S)) -> a__minus(X1:S,X2:S) 0.00/0.45 mark(s(X:S)) -> s(mark(X:S)) 0.00/0.45 mark(ttrue) -> ttrue 0.00/0.45 ->Strongly Connected Components: 0.00/0.45 There is no strongly connected component 0.00/0.45 0.00/0.45 The problem is finite. 0.00/0.45 0.00/0.45 Problem 1.3: 0.00/0.45 0.00/0.45 Reduction Pairs Processor: 0.00/0.45 -> Pairs: 0.00/0.45 A__DIV(s(X:S),s(Y:S)) -> A__IF(a__geq(X:S,Y:S),s(div(minus(X:S,Y:S),s(Y:S))),0) 0.00/0.45 A__IF(ffalse,X:S,Y:S) -> MARK(Y:S) 0.00/0.45 A__IF(ttrue,X:S,Y:S) -> MARK(X:S) 0.00/0.45 MARK(div(X1:S,X2:S)) -> A__DIV(mark(X1:S),X2:S) 0.00/0.45 MARK(div(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.45 MARK(if(X1:S,X2:S,X3:S)) -> A__IF(mark(X1:S),X2:S,X3:S) 0.00/0.45 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X1:S) 0.00/0.45 MARK(s(X:S)) -> MARK(X:S) 0.00/0.45 -> Rules: 0.00/0.45 a__div(0,s(Y:S)) -> 0 0.00/0.45 a__div(s(X:S),s(Y:S)) -> a__if(a__geq(X:S,Y:S),s(div(minus(X:S,Y:S),s(Y:S))),0) 0.00/0.45 a__div(X1:S,X2:S) -> div(X1:S,X2:S) 0.00/0.45 a__geq(0,s(Y:S)) -> ffalse 0.00/0.45 a__geq(s(X:S),s(Y:S)) -> a__geq(X:S,Y:S) 0.00/0.45 a__geq(X:S,0) -> ttrue 0.00/0.45 a__geq(X1:S,X2:S) -> geq(X1:S,X2:S) 0.00/0.45 a__if(ffalse,X:S,Y:S) -> mark(Y:S) 0.00/0.45 a__if(ttrue,X:S,Y:S) -> mark(X:S) 0.00/0.45 a__if(X1:S,X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 0.00/0.45 a__minus(0,Y:S) -> 0 0.00/0.45 a__minus(s(X:S),s(Y:S)) -> a__minus(X:S,Y:S) 0.00/0.45 a__minus(X1:S,X2:S) -> minus(X1:S,X2:S) 0.00/0.45 mark(0) -> 0 0.00/0.45 mark(div(X1:S,X2:S)) -> a__div(mark(X1:S),X2:S) 0.00/0.45 mark(ffalse) -> ffalse 0.00/0.45 mark(geq(X1:S,X2:S)) -> a__geq(X1:S,X2:S) 0.00/0.45 mark(if(X1:S,X2:S,X3:S)) -> a__if(mark(X1:S),X2:S,X3:S) 0.00/0.45 mark(minus(X1:S,X2:S)) -> a__minus(X1:S,X2:S) 0.00/0.45 mark(s(X:S)) -> s(mark(X:S)) 0.00/0.45 mark(ttrue) -> ttrue 0.00/0.45 -> Usable rules: 0.00/0.45 a__div(0,s(Y:S)) -> 0 0.00/0.45 a__div(s(X:S),s(Y:S)) -> a__if(a__geq(X:S,Y:S),s(div(minus(X:S,Y:S),s(Y:S))),0) 0.00/0.45 a__div(X1:S,X2:S) -> div(X1:S,X2:S) 0.00/0.45 a__geq(0,s(Y:S)) -> ffalse 0.00/0.45 a__geq(s(X:S),s(Y:S)) -> a__geq(X:S,Y:S) 0.00/0.45 a__geq(X:S,0) -> ttrue 0.00/0.45 a__geq(X1:S,X2:S) -> geq(X1:S,X2:S) 0.00/0.45 a__if(ffalse,X:S,Y:S) -> mark(Y:S) 0.00/0.45 a__if(ttrue,X:S,Y:S) -> mark(X:S) 0.00/0.45 a__if(X1:S,X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 0.00/0.45 a__minus(0,Y:S) -> 0 0.00/0.45 a__minus(s(X:S),s(Y:S)) -> a__minus(X:S,Y:S) 0.00/0.45 a__minus(X1:S,X2:S) -> minus(X1:S,X2:S) 0.00/0.45 mark(0) -> 0 0.00/0.45 mark(div(X1:S,X2:S)) -> a__div(mark(X1:S),X2:S) 0.00/0.45 mark(ffalse) -> ffalse 0.00/0.45 mark(geq(X1:S,X2:S)) -> a__geq(X1:S,X2:S) 0.00/0.45 mark(if(X1:S,X2:S,X3:S)) -> a__if(mark(X1:S),X2:S,X3:S) 0.00/0.45 mark(minus(X1:S,X2:S)) -> a__minus(X1:S,X2:S) 0.00/0.45 mark(s(X:S)) -> s(mark(X:S)) 0.00/0.45 mark(ttrue) -> ttrue 0.00/0.45 ->Interpretation type: 0.00/0.45 Linear 0.00/0.45 ->Coefficients: 0.00/0.45 Natural Numbers 0.00/0.45 ->Dimension: 0.00/0.45 1 0.00/0.45 ->Bound: 0.00/0.45 2 0.00/0.45 ->Interpretation: 0.00/0.45 0.00/0.45 [a__div](X1,X2) = 2.X1 + 2.X2 + 2 0.00/0.45 [a__geq](X1,X2) = 1 0.00/0.45 [a__if](X1,X2,X3) = 2.X1 + X2 + 2.X3 0.00/0.45 [a__minus](X1,X2) = 0 0.00/0.45 [mark](X) = X 0.00/0.45 [0] = 0 0.00/0.45 [div](X1,X2) = 2.X1 + 2.X2 + 2 0.00/0.45 [fSNonEmpty] = 0 0.00/0.45 [false] = 1 0.00/0.45 [geq](X1,X2) = 1 0.00/0.45 [if](X1,X2,X3) = 2.X1 + X2 + 2.X3 0.00/0.45 [minus](X1,X2) = 0 0.00/0.45 [s](X) = X + 2 0.00/0.45 [true] = 1 0.00/0.45 [A__DIV](X1,X2) = 2.X1 + 2.X2 + 2 0.00/0.45 [A__GEQ](X1,X2) = 0 0.00/0.45 [A__IF](X1,X2,X3) = X2 + 2.X3 + 1 0.00/0.45 [A__MINUS](X1,X2) = 0 0.00/0.45 [MARK](X) = X + 1 0.00/0.45 0.00/0.45 Problem 1.3: 0.00/0.45 0.00/0.45 SCC Processor: 0.00/0.45 -> Pairs: 0.00/0.45 A__IF(ffalse,X:S,Y:S) -> MARK(Y:S) 0.00/0.45 A__IF(ttrue,X:S,Y:S) -> MARK(X:S) 0.00/0.45 MARK(div(X1:S,X2:S)) -> A__DIV(mark(X1:S),X2:S) 0.00/0.45 MARK(div(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.45 MARK(if(X1:S,X2:S,X3:S)) -> A__IF(mark(X1:S),X2:S,X3:S) 0.00/0.45 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X1:S) 0.00/0.45 MARK(s(X:S)) -> MARK(X:S) 0.00/0.45 -> Rules: 0.00/0.45 a__div(0,s(Y:S)) -> 0 0.00/0.45 a__div(s(X:S),s(Y:S)) -> a__if(a__geq(X:S,Y:S),s(div(minus(X:S,Y:S),s(Y:S))),0) 0.00/0.45 a__div(X1:S,X2:S) -> div(X1:S,X2:S) 0.00/0.45 a__geq(0,s(Y:S)) -> ffalse 0.00/0.45 a__geq(s(X:S),s(Y:S)) -> a__geq(X:S,Y:S) 0.00/0.45 a__geq(X:S,0) -> ttrue 0.00/0.45 a__geq(X1:S,X2:S) -> geq(X1:S,X2:S) 0.00/0.45 a__if(ffalse,X:S,Y:S) -> mark(Y:S) 0.00/0.45 a__if(ttrue,X:S,Y:S) -> mark(X:S) 0.00/0.45 a__if(X1:S,X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 0.00/0.45 a__minus(0,Y:S) -> 0 0.00/0.45 a__minus(s(X:S),s(Y:S)) -> a__minus(X:S,Y:S) 0.00/0.45 a__minus(X1:S,X2:S) -> minus(X1:S,X2:S) 0.00/0.45 mark(0) -> 0 0.00/0.45 mark(div(X1:S,X2:S)) -> a__div(mark(X1:S),X2:S) 0.00/0.45 mark(ffalse) -> ffalse 0.00/0.45 mark(geq(X1:S,X2:S)) -> a__geq(X1:S,X2:S) 0.00/0.45 mark(if(X1:S,X2:S,X3:S)) -> a__if(mark(X1:S),X2:S,X3:S) 0.00/0.45 mark(minus(X1:S,X2:S)) -> a__minus(X1:S,X2:S) 0.00/0.45 mark(s(X:S)) -> s(mark(X:S)) 0.00/0.45 mark(ttrue) -> ttrue 0.00/0.45 ->Strongly Connected Components: 0.00/0.45 ->->Cycle: 0.00/0.45 ->->-> Pairs: 0.00/0.45 A__IF(ffalse,X:S,Y:S) -> MARK(Y:S) 0.00/0.45 A__IF(ttrue,X:S,Y:S) -> MARK(X:S) 0.00/0.45 MARK(div(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.45 MARK(if(X1:S,X2:S,X3:S)) -> A__IF(mark(X1:S),X2:S,X3:S) 0.00/0.45 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X1:S) 0.00/0.45 MARK(s(X:S)) -> MARK(X:S) 0.00/0.45 ->->-> Rules: 0.00/0.45 a__div(0,s(Y:S)) -> 0 0.00/0.45 a__div(s(X:S),s(Y:S)) -> a__if(a__geq(X:S,Y:S),s(div(minus(X:S,Y:S),s(Y:S))),0) 0.00/0.45 a__div(X1:S,X2:S) -> div(X1:S,X2:S) 0.00/0.45 a__geq(0,s(Y:S)) -> ffalse 0.00/0.45 a__geq(s(X:S),s(Y:S)) -> a__geq(X:S,Y:S) 0.00/0.45 a__geq(X:S,0) -> ttrue 0.00/0.45 a__geq(X1:S,X2:S) -> geq(X1:S,X2:S) 0.00/0.45 a__if(ffalse,X:S,Y:S) -> mark(Y:S) 0.00/0.45 a__if(ttrue,X:S,Y:S) -> mark(X:S) 0.00/0.45 a__if(X1:S,X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 0.00/0.45 a__minus(0,Y:S) -> 0 0.00/0.45 a__minus(s(X:S),s(Y:S)) -> a__minus(X:S,Y:S) 0.00/0.45 a__minus(X1:S,X2:S) -> minus(X1:S,X2:S) 0.00/0.45 mark(0) -> 0 0.00/0.45 mark(div(X1:S,X2:S)) -> a__div(mark(X1:S),X2:S) 0.00/0.45 mark(ffalse) -> ffalse 0.00/0.45 mark(geq(X1:S,X2:S)) -> a__geq(X1:S,X2:S) 0.00/0.45 mark(if(X1:S,X2:S,X3:S)) -> a__if(mark(X1:S),X2:S,X3:S) 0.00/0.45 mark(minus(X1:S,X2:S)) -> a__minus(X1:S,X2:S) 0.00/0.45 mark(s(X:S)) -> s(mark(X:S)) 0.00/0.45 mark(ttrue) -> ttrue 0.00/0.45 0.00/0.45 Problem 1.3: 0.00/0.45 0.00/0.45 Reduction Pairs Processor: 0.00/0.45 -> Pairs: 0.00/0.45 A__IF(ffalse,X:S,Y:S) -> MARK(Y:S) 0.00/0.45 A__IF(ttrue,X:S,Y:S) -> MARK(X:S) 0.00/0.45 MARK(div(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.45 MARK(if(X1:S,X2:S,X3:S)) -> A__IF(mark(X1:S),X2:S,X3:S) 0.00/0.45 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X1:S) 0.00/0.45 MARK(s(X:S)) -> MARK(X:S) 0.00/0.45 -> Rules: 0.00/0.45 a__div(0,s(Y:S)) -> 0 0.00/0.45 a__div(s(X:S),s(Y:S)) -> a__if(a__geq(X:S,Y:S),s(div(minus(X:S,Y:S),s(Y:S))),0) 0.00/0.45 a__div(X1:S,X2:S) -> div(X1:S,X2:S) 0.00/0.45 a__geq(0,s(Y:S)) -> ffalse 0.00/0.45 a__geq(s(X:S),s(Y:S)) -> a__geq(X:S,Y:S) 0.00/0.45 a__geq(X:S,0) -> ttrue 0.00/0.45 a__geq(X1:S,X2:S) -> geq(X1:S,X2:S) 0.00/0.45 a__if(ffalse,X:S,Y:S) -> mark(Y:S) 0.00/0.45 a__if(ttrue,X:S,Y:S) -> mark(X:S) 0.00/0.45 a__if(X1:S,X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 0.00/0.45 a__minus(0,Y:S) -> 0 0.00/0.45 a__minus(s(X:S),s(Y:S)) -> a__minus(X:S,Y:S) 0.00/0.45 a__minus(X1:S,X2:S) -> minus(X1:S,X2:S) 0.00/0.45 mark(0) -> 0 0.00/0.45 mark(div(X1:S,X2:S)) -> a__div(mark(X1:S),X2:S) 0.00/0.45 mark(ffalse) -> ffalse 0.00/0.45 mark(geq(X1:S,X2:S)) -> a__geq(X1:S,X2:S) 0.00/0.45 mark(if(X1:S,X2:S,X3:S)) -> a__if(mark(X1:S),X2:S,X3:S) 0.00/0.45 mark(minus(X1:S,X2:S)) -> a__minus(X1:S,X2:S) 0.00/0.45 mark(s(X:S)) -> s(mark(X:S)) 0.00/0.45 mark(ttrue) -> ttrue 0.00/0.45 -> Usable rules: 0.00/0.45 a__div(0,s(Y:S)) -> 0 0.00/0.45 a__div(s(X:S),s(Y:S)) -> a__if(a__geq(X:S,Y:S),s(div(minus(X:S,Y:S),s(Y:S))),0) 0.00/0.45 a__div(X1:S,X2:S) -> div(X1:S,X2:S) 0.00/0.45 a__geq(0,s(Y:S)) -> ffalse 0.00/0.45 a__geq(s(X:S),s(Y:S)) -> a__geq(X:S,Y:S) 0.00/0.45 a__geq(X:S,0) -> ttrue 0.00/0.45 a__geq(X1:S,X2:S) -> geq(X1:S,X2:S) 0.00/0.45 a__if(ffalse,X:S,Y:S) -> mark(Y:S) 0.00/0.45 a__if(ttrue,X:S,Y:S) -> mark(X:S) 0.00/0.45 a__if(X1:S,X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 0.00/0.45 a__minus(0,Y:S) -> 0 0.00/0.45 a__minus(s(X:S),s(Y:S)) -> a__minus(X:S,Y:S) 0.00/0.45 a__minus(X1:S,X2:S) -> minus(X1:S,X2:S) 0.00/0.45 mark(0) -> 0 0.00/0.45 mark(div(X1:S,X2:S)) -> a__div(mark(X1:S),X2:S) 0.00/0.45 mark(ffalse) -> ffalse 0.00/0.45 mark(geq(X1:S,X2:S)) -> a__geq(X1:S,X2:S) 0.00/0.45 mark(if(X1:S,X2:S,X3:S)) -> a__if(mark(X1:S),X2:S,X3:S) 0.00/0.45 mark(minus(X1:S,X2:S)) -> a__minus(X1:S,X2:S) 0.00/0.45 mark(s(X:S)) -> s(mark(X:S)) 0.00/0.45 mark(ttrue) -> ttrue 0.00/0.45 ->Interpretation type: 0.00/0.45 Linear 0.00/0.45 ->Coefficients: 0.00/0.45 Natural Numbers 0.00/0.45 ->Dimension: 0.00/0.45 1 0.00/0.45 ->Bound: 0.00/0.45 2 0.00/0.45 ->Interpretation: 0.00/0.45 0.00/0.45 [a__div](X1,X2) = 2.X1 + 2.X2 + 2 0.00/0.45 [a__geq](X1,X2) = 0 0.00/0.45 [a__if](X1,X2,X3) = 2.X1 + X2 + X3 + 1 0.00/0.45 [a__minus](X1,X2) = X1 0.00/0.45 [mark](X) = X 0.00/0.45 [0] = 1 0.00/0.45 [div](X1,X2) = 2.X1 + 2.X2 + 2 0.00/0.45 [fSNonEmpty] = 0 0.00/0.45 [false] = 0 0.00/0.45 [geq](X1,X2) = 0 0.00/0.45 [if](X1,X2,X3) = 2.X1 + X2 + X3 + 1 0.00/0.45 [minus](X1,X2) = X1 0.00/0.45 [s](X) = X + 2 0.00/0.45 [true] = 0 0.00/0.45 [A__DIV](X1,X2) = 0 0.00/0.45 [A__GEQ](X1,X2) = 0 0.00/0.45 [A__IF](X1,X2,X3) = 2.X2 + 2.X3 + 2 0.00/0.45 [A__MINUS](X1,X2) = 0 0.00/0.45 [MARK](X) = 2.X + 1 0.00/0.45 0.00/0.45 Problem 1.3: 0.00/0.45 0.00/0.45 SCC Processor: 0.00/0.45 -> Pairs: 0.00/0.45 A__IF(ttrue,X:S,Y:S) -> MARK(X:S) 0.00/0.45 MARK(div(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.45 MARK(if(X1:S,X2:S,X3:S)) -> A__IF(mark(X1:S),X2:S,X3:S) 0.00/0.45 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X1:S) 0.00/0.45 MARK(s(X:S)) -> MARK(X:S) 0.00/0.45 -> Rules: 0.00/0.45 a__div(0,s(Y:S)) -> 0 0.00/0.45 a__div(s(X:S),s(Y:S)) -> a__if(a__geq(X:S,Y:S),s(div(minus(X:S,Y:S),s(Y:S))),0) 0.00/0.45 a__div(X1:S,X2:S) -> div(X1:S,X2:S) 0.00/0.45 a__geq(0,s(Y:S)) -> ffalse 0.00/0.45 a__geq(s(X:S),s(Y:S)) -> a__geq(X:S,Y:S) 0.00/0.45 a__geq(X:S,0) -> ttrue 0.00/0.45 a__geq(X1:S,X2:S) -> geq(X1:S,X2:S) 0.00/0.45 a__if(ffalse,X:S,Y:S) -> mark(Y:S) 0.00/0.45 a__if(ttrue,X:S,Y:S) -> mark(X:S) 0.00/0.45 a__if(X1:S,X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 0.00/0.45 a__minus(0,Y:S) -> 0 0.00/0.45 a__minus(s(X:S),s(Y:S)) -> a__minus(X:S,Y:S) 0.00/0.45 a__minus(X1:S,X2:S) -> minus(X1:S,X2:S) 0.00/0.45 mark(0) -> 0 0.00/0.45 mark(div(X1:S,X2:S)) -> a__div(mark(X1:S),X2:S) 0.00/0.45 mark(ffalse) -> ffalse 0.00/0.45 mark(geq(X1:S,X2:S)) -> a__geq(X1:S,X2:S) 0.00/0.45 mark(if(X1:S,X2:S,X3:S)) -> a__if(mark(X1:S),X2:S,X3:S) 0.00/0.45 mark(minus(X1:S,X2:S)) -> a__minus(X1:S,X2:S) 0.00/0.45 mark(s(X:S)) -> s(mark(X:S)) 0.00/0.45 mark(ttrue) -> ttrue 0.00/0.45 ->Strongly Connected Components: 0.00/0.45 ->->Cycle: 0.00/0.45 ->->-> Pairs: 0.00/0.45 A__IF(ttrue,X:S,Y:S) -> MARK(X:S) 0.00/0.45 MARK(div(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.45 MARK(if(X1:S,X2:S,X3:S)) -> A__IF(mark(X1:S),X2:S,X3:S) 0.00/0.45 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X1:S) 0.00/0.45 MARK(s(X:S)) -> MARK(X:S) 0.00/0.45 ->->-> Rules: 0.00/0.45 a__div(0,s(Y:S)) -> 0 0.00/0.45 a__div(s(X:S),s(Y:S)) -> a__if(a__geq(X:S,Y:S),s(div(minus(X:S,Y:S),s(Y:S))),0) 0.00/0.45 a__div(X1:S,X2:S) -> div(X1:S,X2:S) 0.00/0.45 a__geq(0,s(Y:S)) -> ffalse 0.00/0.45 a__geq(s(X:S),s(Y:S)) -> a__geq(X:S,Y:S) 0.00/0.45 a__geq(X:S,0) -> ttrue 0.00/0.45 a__geq(X1:S,X2:S) -> geq(X1:S,X2:S) 0.00/0.45 a__if(ffalse,X:S,Y:S) -> mark(Y:S) 0.00/0.45 a__if(ttrue,X:S,Y:S) -> mark(X:S) 0.00/0.45 a__if(X1:S,X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 0.00/0.45 a__minus(0,Y:S) -> 0 0.00/0.45 a__minus(s(X:S),s(Y:S)) -> a__minus(X:S,Y:S) 0.00/0.45 a__minus(X1:S,X2:S) -> minus(X1:S,X2:S) 0.00/0.45 mark(0) -> 0 0.00/0.45 mark(div(X1:S,X2:S)) -> a__div(mark(X1:S),X2:S) 0.00/0.45 mark(ffalse) -> ffalse 0.00/0.45 mark(geq(X1:S,X2:S)) -> a__geq(X1:S,X2:S) 0.00/0.45 mark(if(X1:S,X2:S,X3:S)) -> a__if(mark(X1:S),X2:S,X3:S) 0.00/0.45 mark(minus(X1:S,X2:S)) -> a__minus(X1:S,X2:S) 0.00/0.45 mark(s(X:S)) -> s(mark(X:S)) 0.00/0.45 mark(ttrue) -> ttrue 0.00/0.45 0.00/0.45 Problem 1.3: 0.00/0.45 0.00/0.45 Subterm Processor: 0.00/0.45 -> Pairs: 0.00/0.45 A__IF(ttrue,X:S,Y:S) -> MARK(X:S) 0.00/0.45 MARK(div(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.45 MARK(if(X1:S,X2:S,X3:S)) -> A__IF(mark(X1:S),X2:S,X3:S) 0.00/0.45 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X1:S) 0.00/0.45 MARK(s(X:S)) -> MARK(X:S) 0.00/0.45 -> Rules: 0.00/0.45 a__div(0,s(Y:S)) -> 0 0.00/0.45 a__div(s(X:S),s(Y:S)) -> a__if(a__geq(X:S,Y:S),s(div(minus(X:S,Y:S),s(Y:S))),0) 0.00/0.45 a__div(X1:S,X2:S) -> div(X1:S,X2:S) 0.00/0.45 a__geq(0,s(Y:S)) -> ffalse 0.00/0.45 a__geq(s(X:S),s(Y:S)) -> a__geq(X:S,Y:S) 0.00/0.45 a__geq(X:S,0) -> ttrue 0.00/0.45 a__geq(X1:S,X2:S) -> geq(X1:S,X2:S) 0.00/0.45 a__if(ffalse,X:S,Y:S) -> mark(Y:S) 0.00/0.45 a__if(ttrue,X:S,Y:S) -> mark(X:S) 0.00/0.45 a__if(X1:S,X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 0.00/0.45 a__minus(0,Y:S) -> 0 0.00/0.45 a__minus(s(X:S),s(Y:S)) -> a__minus(X:S,Y:S) 0.00/0.45 a__minus(X1:S,X2:S) -> minus(X1:S,X2:S) 0.00/0.45 mark(0) -> 0 0.00/0.45 mark(div(X1:S,X2:S)) -> a__div(mark(X1:S),X2:S) 0.00/0.45 mark(ffalse) -> ffalse 0.00/0.45 mark(geq(X1:S,X2:S)) -> a__geq(X1:S,X2:S) 0.00/0.45 mark(if(X1:S,X2:S,X3:S)) -> a__if(mark(X1:S),X2:S,X3:S) 0.00/0.45 mark(minus(X1:S,X2:S)) -> a__minus(X1:S,X2:S) 0.00/0.45 mark(s(X:S)) -> s(mark(X:S)) 0.00/0.45 mark(ttrue) -> ttrue 0.00/0.45 ->Projection: 0.00/0.45 pi(A__IF) = 2 0.00/0.45 pi(MARK) = 1 0.00/0.45 0.00/0.45 Problem 1.3: 0.00/0.45 0.00/0.45 SCC Processor: 0.00/0.45 -> Pairs: 0.00/0.45 A__IF(ttrue,X:S,Y:S) -> MARK(X:S) 0.00/0.45 -> Rules: 0.00/0.45 a__div(0,s(Y:S)) -> 0 0.00/0.45 a__div(s(X:S),s(Y:S)) -> a__if(a__geq(X:S,Y:S),s(div(minus(X:S,Y:S),s(Y:S))),0) 0.00/0.45 a__div(X1:S,X2:S) -> div(X1:S,X2:S) 0.00/0.45 a__geq(0,s(Y:S)) -> ffalse 0.00/0.45 a__geq(s(X:S),s(Y:S)) -> a__geq(X:S,Y:S) 0.00/0.45 a__geq(X:S,0) -> ttrue 0.00/0.45 a__geq(X1:S,X2:S) -> geq(X1:S,X2:S) 0.00/0.45 a__if(ffalse,X:S,Y:S) -> mark(Y:S) 0.00/0.45 a__if(ttrue,X:S,Y:S) -> mark(X:S) 0.00/0.45 a__if(X1:S,X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 0.00/0.45 a__minus(0,Y:S) -> 0 0.00/0.45 a__minus(s(X:S),s(Y:S)) -> a__minus(X:S,Y:S) 0.00/0.45 a__minus(X1:S,X2:S) -> minus(X1:S,X2:S) 0.00/0.45 mark(0) -> 0 0.00/0.45 mark(div(X1:S,X2:S)) -> a__div(mark(X1:S),X2:S) 0.00/0.45 mark(ffalse) -> ffalse 0.00/0.45 mark(geq(X1:S,X2:S)) -> a__geq(X1:S,X2:S) 0.00/0.45 mark(if(X1:S,X2:S,X3:S)) -> a__if(mark(X1:S),X2:S,X3:S) 0.00/0.45 mark(minus(X1:S,X2:S)) -> a__minus(X1:S,X2:S) 0.00/0.45 mark(s(X:S)) -> s(mark(X:S)) 0.00/0.45 mark(ttrue) -> ttrue 0.00/0.45 ->Strongly Connected Components: 0.00/0.45 There is no strongly connected component 0.00/0.45 0.00/0.45 The problem is finite. 0.00/0.45 EOF