101.47/101.60 NO 101.47/101.60 101.47/101.60 Problem 1: 101.47/101.60 101.47/101.60 (VAR v_NonEmpty:S q:S r:S x:S y:S) 101.47/101.60 (RULES 101.47/101.60 div(x:S,y:S) -> pair(0,y:S) | greater(y:S,x:S) ->* ttrue 101.47/101.60 div(x:S,y:S) -> pair(s(q:S),r:S) | leq(y:S,x:S) ->* ttrue, div(m(x:S,y:S),y:S) ->* pair(q:S,r:S) 101.47/101.60 greater(s(x:S),0) -> ttrue 101.47/101.60 greater(s(x:S),s(y:S)) -> greater(x:S,y:S) 101.47/101.60 leq(0,x:S) -> ttrue 101.47/101.60 leq(s(x:S),s(y:S)) -> leq(x:S,y:S) 101.47/101.60 m(0,y:S) -> 0 101.47/101.60 m(s(x:S),s(y:S)) -> m(x:S,y:S) 101.47/101.60 m(x:S,0) -> x:S 101.47/101.60 ) 101.47/101.60 101.47/101.60 Problem 1: 101.47/101.60 Valid CTRS Processor: 101.47/101.60 -> Rules: 101.47/101.60 div(x:S,y:S) -> pair(0,y:S) | greater(y:S,x:S) ->* ttrue 101.47/101.60 div(x:S,y:S) -> pair(s(q:S),r:S) | leq(y:S,x:S) ->* ttrue, div(m(x:S,y:S),y:S) ->* pair(q:S,r:S) 101.47/101.60 greater(s(x:S),0) -> ttrue 101.47/101.60 greater(s(x:S),s(y:S)) -> greater(x:S,y:S) 101.47/101.60 leq(0,x:S) -> ttrue 101.47/101.60 leq(s(x:S),s(y:S)) -> leq(x:S,y:S) 101.47/101.60 m(0,y:S) -> 0 101.47/101.60 m(s(x:S),s(y:S)) -> m(x:S,y:S) 101.47/101.60 m(x:S,0) -> x:S 101.47/101.60 -> The system is a deterministic 3-CTRS. 101.47/101.60 101.47/101.60 Problem 1: 101.47/101.60 101.47/101.60 Dependency Pairs Processor: 101.47/101.60 101.47/101.60 Conditional Termination Problem 1: 101.47/101.60 -> Pairs: 101.47/101.60 GREATER(s(x:S),s(y:S)) -> GREATER(x:S,y:S) 101.47/101.60 LEQ(s(x:S),s(y:S)) -> LEQ(x:S,y:S) 101.47/101.60 M(s(x:S),s(y:S)) -> M(x:S,y:S) 101.47/101.60 -> QPairs: 101.47/101.60 Empty 101.47/101.60 -> Rules: 101.47/101.60 div(x:S,y:S) -> pair(0,y:S) | greater(y:S,x:S) ->* ttrue 101.47/101.60 div(x:S,y:S) -> pair(s(q:S),r:S) | leq(y:S,x:S) ->* ttrue, div(m(x:S,y:S),y:S) ->* pair(q:S,r:S) 101.47/101.60 greater(s(x:S),0) -> ttrue 101.47/101.60 greater(s(x:S),s(y:S)) -> greater(x:S,y:S) 101.47/101.60 leq(0,x:S) -> ttrue 101.47/101.60 leq(s(x:S),s(y:S)) -> leq(x:S,y:S) 101.47/101.60 m(0,y:S) -> 0 101.47/101.60 m(s(x:S),s(y:S)) -> m(x:S,y:S) 101.47/101.60 m(x:S,0) -> x:S 101.47/101.60 101.47/101.60 Conditional Termination Problem 2: 101.47/101.60 -> Pairs: 101.47/101.60 DIV(x:S,y:S) -> DIV(m(x:S,y:S),y:S) | leq(y:S,x:S) ->* ttrue 101.47/101.60 DIV(x:S,y:S) -> GREATER(y:S,x:S) 101.47/101.60 DIV(x:S,y:S) -> LEQ(y:S,x:S) 101.47/101.60 DIV(x:S,y:S) -> M(x:S,y:S) | leq(y:S,x:S) ->* ttrue 101.47/101.60 -> QPairs: 101.47/101.60 GREATER(s(x:S),s(y:S)) -> GREATER(x:S,y:S) 101.47/101.60 LEQ(s(x:S),s(y:S)) -> LEQ(x:S,y:S) 101.47/101.60 M(s(x:S),s(y:S)) -> M(x:S,y:S) 101.47/101.60 -> Rules: 101.47/101.60 div(x:S,y:S) -> pair(0,y:S) | greater(y:S,x:S) ->* ttrue 101.47/101.60 div(x:S,y:S) -> pair(s(q:S),r:S) | leq(y:S,x:S) ->* ttrue, div(m(x:S,y:S),y:S) ->* pair(q:S,r:S) 101.47/101.60 greater(s(x:S),0) -> ttrue 101.47/101.60 greater(s(x:S),s(y:S)) -> greater(x:S,y:S) 101.47/101.60 leq(0,x:S) -> ttrue 101.47/101.60 leq(s(x:S),s(y:S)) -> leq(x:S,y:S) 101.47/101.60 m(0,y:S) -> 0 101.47/101.60 m(s(x:S),s(y:S)) -> m(x:S,y:S) 101.47/101.60 m(x:S,0) -> x:S 101.47/101.60 101.47/101.60 Problem 1: 101.47/101.60 101.47/101.60 SCC Processor: 101.47/101.60 -> Pairs: 101.47/101.60 DIV(x:S,y:S) -> DIV(m(x:S,y:S),y:S) | leq(y:S,x:S) ->* ttrue 101.47/101.60 DIV(x:S,y:S) -> GREATER(y:S,x:S) 101.47/101.60 DIV(x:S,y:S) -> LEQ(y:S,x:S) 101.47/101.60 DIV(x:S,y:S) -> M(x:S,y:S) | leq(y:S,x:S) ->* ttrue 101.47/101.60 -> QPairs: 101.47/101.60 GREATER(s(x:S),s(y:S)) -> GREATER(x:S,y:S) 101.47/101.60 LEQ(s(x:S),s(y:S)) -> LEQ(x:S,y:S) 101.47/101.60 M(s(x:S),s(y:S)) -> M(x:S,y:S) 101.47/101.60 -> Rules: 101.47/101.60 div(x:S,y:S) -> pair(0,y:S) | greater(y:S,x:S) ->* ttrue 101.47/101.60 div(x:S,y:S) -> pair(s(q:S),r:S) | leq(y:S,x:S) ->* ttrue, div(m(x:S,y:S),y:S) ->* pair(q:S,r:S) 101.47/101.60 greater(s(x:S),0) -> ttrue 101.47/101.60 greater(s(x:S),s(y:S)) -> greater(x:S,y:S) 101.47/101.60 leq(0,x:S) -> ttrue 101.47/101.60 leq(s(x:S),s(y:S)) -> leq(x:S,y:S) 101.47/101.60 m(0,y:S) -> 0 101.47/101.60 m(s(x:S),s(y:S)) -> m(x:S,y:S) 101.47/101.60 m(x:S,0) -> x:S 101.47/101.60 ->Strongly Connected Components: 101.47/101.60 ->->Cycle: 101.47/101.60 ->->-> Pairs: 101.47/101.60 DIV(x:S,y:S) -> DIV(m(x:S,y:S),y:S) | leq(y:S,x:S) ->* ttrue 101.47/101.60 -> QPairs: 101.47/101.60 Empty 101.47/101.60 ->->-> Rules: 101.47/101.60 div(x:S,y:S) -> pair(0,y:S) | greater(y:S,x:S) ->* ttrue 101.47/101.60 div(x:S,y:S) -> pair(s(q:S),r:S) | leq(y:S,x:S) ->* ttrue, div(m(x:S,y:S),y:S) ->* pair(q:S,r:S) 101.47/101.60 greater(s(x:S),0) -> ttrue 101.47/101.60 greater(s(x:S),s(y:S)) -> greater(x:S,y:S) 101.47/101.60 leq(0,x:S) -> ttrue 101.47/101.60 leq(s(x:S),s(y:S)) -> leq(x:S,y:S) 101.47/101.60 m(0,y:S) -> 0 101.47/101.60 m(s(x:S),s(y:S)) -> m(x:S,y:S) 101.47/101.60 m(x:S,0) -> x:S 101.47/101.60 101.47/101.60 Problem 1: 101.47/101.60 101.47/101.60 Narrowing on Condition Processor: 101.47/101.60 -> Pairs: 101.47/101.60 DIV(x:S,y:S) -> DIV(m(x:S,y:S),y:S) | leq(y:S,x:S) ->* ttrue 101.47/101.60 -> QPairs: 101.47/101.60 Empty 101.47/101.60 -> Rules: 101.47/101.60 div(x:S,y:S) -> pair(0,y:S) | greater(y:S,x:S) ->* ttrue 101.47/101.60 div(x:S,y:S) -> pair(s(q:S),r:S) | leq(y:S,x:S) ->* ttrue, div(m(x:S,y:S),y:S) ->* pair(q:S,r:S) 101.47/101.60 greater(s(x:S),0) -> ttrue 101.47/101.60 greater(s(x:S),s(y:S)) -> greater(x:S,y:S) 101.47/101.60 leq(0,x:S) -> ttrue 101.47/101.60 leq(s(x:S),s(y:S)) -> leq(x:S,y:S) 101.47/101.60 m(0,y:S) -> 0 101.47/101.60 m(s(x:S),s(y:S)) -> m(x:S,y:S) 101.47/101.60 m(x:S,0) -> x:S 101.47/101.60 ->Narrowed Pairs: 101.47/101.60 ->->Original Pair: 101.47/101.60 DIV(x:S,y:S) -> DIV(m(x:S,y:S),y:S) | leq(y:S,x:S) ->* ttrue 101.47/101.60 ->-> Narrowed pairs: 101.47/101.60 DIV(x5:S,x6:S) -> DIV(m(x5:S,x6:S),x6:S) | x5:S ->* s(y:S), x6:S ->* s(x:S), leq(x:S,y:S) ->* ttrue 101.47/101.60 DIV(x5:S,x6:S) -> DIV(m(x5:S,x6:S),x6:S) | x5:S ->* x5:S, x6:S ->* 0, ttrue ->* ttrue 101.47/101.61 101.47/101.61 Problem 1: 101.47/101.61 101.47/101.61 Infinite Processor: 101.47/101.61 -> Pairs: 101.47/101.61 DIV(x5:S,x6:S) -> DIV(m(x5:S,x6:S),x6:S) | x5:S ->* s(y:S), x6:S ->* s(x:S), leq(x:S,y:S) ->* ttrue 101.47/101.61 DIV(x5:S,x6:S) -> DIV(m(x5:S,x6:S),x6:S) | x5:S ->* x5:S, x6:S ->* 0, ttrue ->* ttrue 101.47/101.61 -> QPairs: 101.47/101.61 Empty 101.47/101.61 -> Rules: 101.47/101.61 div(x:S,y:S) -> pair(0,y:S) | greater(y:S,x:S) ->* ttrue 101.47/101.61 div(x:S,y:S) -> pair(s(q:S),r:S) | leq(y:S,x:S) ->* ttrue, div(m(x:S,y:S),y:S) ->* pair(q:S,r:S) 101.47/101.61 greater(s(x:S),0) -> ttrue 101.47/101.61 greater(s(x:S),s(y:S)) -> greater(x:S,y:S) 101.47/101.61 leq(0,x:S) -> ttrue 101.47/101.61 leq(s(x:S),s(y:S)) -> leq(x:S,y:S) 101.47/101.61 m(0,y:S) -> 0 101.47/101.61 m(s(x:S),s(y:S)) -> m(x:S,y:S) 101.47/101.61 m(x:S,0) -> x:S 101.47/101.61 -> Pairs in cycle: 101.47/101.61 DIV(x5:S,x6:S) -> DIV(m(x5:S,x6:S),x6:S) | x5:S ->* x5:S, x6:S ->* 0, ttrue ->* ttrue 101.47/101.61 101.47/101.61 The problem is infinite. 101.47/101.61 EOF