81.83/82.14 YES 81.83/82.14 81.83/82.14 Problem 1: 81.83/82.14 81.83/82.14 (VAR v_NonEmpty:S x:S y:S) 81.83/82.14 (RULES 81.83/82.14 if_mod(ffalse,s(x:S),s(y:S)) -> s(x:S) 81.83/82.14 if_mod(ttrue,x:S,y:S) -> mod(minus(x:S,y:S),y:S) 81.83/82.14 le(0,y:S) -> ttrue 81.83/82.14 le(s(x:S),0) -> ffalse 81.83/82.14 le(s(x:S),s(y:S)) -> le(x:S,y:S) 81.83/82.14 minus(s(x:S),s(y:S)) -> minus(x:S,y:S) 81.83/82.14 minus(x:S,0) -> x:S 81.83/82.14 mod(0,y:S) -> 0 81.83/82.14 mod(s(x:S),0) -> 0 81.83/82.14 mod(s(x:S),s(y:S)) -> if_mod(le(y:S,x:S),s(x:S),s(y:S)) 81.83/82.14 ) 81.83/82.14 (STRATEGY INNERMOST) 81.83/82.14 81.83/82.14 Problem 1: 81.83/82.14 81.83/82.14 Dependency Pairs Processor: 81.83/82.14 -> Pairs: 81.83/82.14 IF_MOD(ttrue,x:S,y:S) -> MINUS(x:S,y:S) 81.83/82.14 IF_MOD(ttrue,x:S,y:S) -> MOD(minus(x:S,y:S),y:S) 81.83/82.14 LE(s(x:S),s(y:S)) -> LE(x:S,y:S) 81.83/82.14 MINUS(s(x:S),s(y:S)) -> MINUS(x:S,y:S) 81.83/82.14 MOD(s(x:S),s(y:S)) -> IF_MOD(le(y:S,x:S),s(x:S),s(y:S)) 81.83/82.14 MOD(s(x:S),s(y:S)) -> LE(y:S,x:S) 81.83/82.14 -> Rules: 81.83/82.14 if_mod(ffalse,s(x:S),s(y:S)) -> s(x:S) 81.83/82.14 if_mod(ttrue,x:S,y:S) -> mod(minus(x:S,y:S),y:S) 81.83/82.14 le(0,y:S) -> ttrue 81.83/82.14 le(s(x:S),0) -> ffalse 81.83/82.14 le(s(x:S),s(y:S)) -> le(x:S,y:S) 81.83/82.14 minus(s(x:S),s(y:S)) -> minus(x:S,y:S) 81.83/82.14 minus(x:S,0) -> x:S 81.83/82.14 mod(0,y:S) -> 0 81.83/82.14 mod(s(x:S),0) -> 0 81.83/82.14 mod(s(x:S),s(y:S)) -> if_mod(le(y:S,x:S),s(x:S),s(y:S)) 81.83/82.14 81.83/82.14 Problem 1: 81.83/82.14 81.83/82.14 SCC Processor: 81.83/82.14 -> Pairs: 81.83/82.14 IF_MOD(ttrue,x:S,y:S) -> MINUS(x:S,y:S) 81.83/82.14 IF_MOD(ttrue,x:S,y:S) -> MOD(minus(x:S,y:S),y:S) 81.83/82.14 LE(s(x:S),s(y:S)) -> LE(x:S,y:S) 81.83/82.14 MINUS(s(x:S),s(y:S)) -> MINUS(x:S,y:S) 81.83/82.14 MOD(s(x:S),s(y:S)) -> IF_MOD(le(y:S,x:S),s(x:S),s(y:S)) 81.83/82.14 MOD(s(x:S),s(y:S)) -> LE(y:S,x:S) 81.83/82.14 -> Rules: 81.83/82.14 if_mod(ffalse,s(x:S),s(y:S)) -> s(x:S) 81.83/82.14 if_mod(ttrue,x:S,y:S) -> mod(minus(x:S,y:S),y:S) 81.83/82.14 le(0,y:S) -> ttrue 81.83/82.14 le(s(x:S),0) -> ffalse 81.83/82.14 le(s(x:S),s(y:S)) -> le(x:S,y:S) 81.83/82.14 minus(s(x:S),s(y:S)) -> minus(x:S,y:S) 81.83/82.14 minus(x:S,0) -> x:S 81.83/82.14 mod(0,y:S) -> 0 81.83/82.14 mod(s(x:S),0) -> 0 81.83/82.14 mod(s(x:S),s(y:S)) -> if_mod(le(y:S,x:S),s(x:S),s(y:S)) 81.83/82.14 ->Strongly Connected Components: 81.83/82.14 ->->Cycle: 81.83/82.14 ->->-> Pairs: 81.83/82.14 MINUS(s(x:S),s(y:S)) -> MINUS(x:S,y:S) 81.83/82.14 ->->-> Rules: 81.83/82.14 if_mod(ffalse,s(x:S),s(y:S)) -> s(x:S) 81.83/82.14 if_mod(ttrue,x:S,y:S) -> mod(minus(x:S,y:S),y:S) 81.83/82.14 le(0,y:S) -> ttrue 81.83/82.14 le(s(x:S),0) -> ffalse 81.83/82.14 le(s(x:S),s(y:S)) -> le(x:S,y:S) 81.83/82.14 minus(s(x:S),s(y:S)) -> minus(x:S,y:S) 81.83/82.14 minus(x:S,0) -> x:S 81.83/82.14 mod(0,y:S) -> 0 81.83/82.14 mod(s(x:S),0) -> 0 81.83/82.14 mod(s(x:S),s(y:S)) -> if_mod(le(y:S,x:S),s(x:S),s(y:S)) 81.83/82.14 ->->Cycle: 81.83/82.14 ->->-> Pairs: 81.83/82.14 LE(s(x:S),s(y:S)) -> LE(x:S,y:S) 81.83/82.14 ->->-> Rules: 81.83/82.14 if_mod(ffalse,s(x:S),s(y:S)) -> s(x:S) 81.83/82.14 if_mod(ttrue,x:S,y:S) -> mod(minus(x:S,y:S),y:S) 81.83/82.14 le(0,y:S) -> ttrue 81.83/82.14 le(s(x:S),0) -> ffalse 81.83/82.14 le(s(x:S),s(y:S)) -> le(x:S,y:S) 81.83/82.14 minus(s(x:S),s(y:S)) -> minus(x:S,y:S) 81.83/82.14 minus(x:S,0) -> x:S 81.83/82.14 mod(0,y:S) -> 0 81.83/82.14 mod(s(x:S),0) -> 0 81.83/82.14 mod(s(x:S),s(y:S)) -> if_mod(le(y:S,x:S),s(x:S),s(y:S)) 81.83/82.14 ->->Cycle: 81.83/82.14 ->->-> Pairs: 81.83/82.14 IF_MOD(ttrue,x:S,y:S) -> MOD(minus(x:S,y:S),y:S) 81.83/82.14 MOD(s(x:S),s(y:S)) -> IF_MOD(le(y:S,x:S),s(x:S),s(y:S)) 81.83/82.14 ->->-> Rules: 81.83/82.14 if_mod(ffalse,s(x:S),s(y:S)) -> s(x:S) 81.83/82.14 if_mod(ttrue,x:S,y:S) -> mod(minus(x:S,y:S),y:S) 81.83/82.14 le(0,y:S) -> ttrue 81.83/82.14 le(s(x:S),0) -> ffalse 81.83/82.14 le(s(x:S),s(y:S)) -> le(x:S,y:S) 81.83/82.14 minus(s(x:S),s(y:S)) -> minus(x:S,y:S) 81.83/82.14 minus(x:S,0) -> x:S 81.83/82.14 mod(0,y:S) -> 0 81.83/82.14 mod(s(x:S),0) -> 0 81.83/82.14 mod(s(x:S),s(y:S)) -> if_mod(le(y:S,x:S),s(x:S),s(y:S)) 81.83/82.14 81.83/82.14 81.83/82.14 The problem is decomposed in 3 subproblems. 81.83/82.14 81.83/82.14 Problem 1.1: 81.83/82.14 81.83/82.14 Subterm Processor: 81.83/82.14 -> Pairs: 81.83/82.14 MINUS(s(x:S),s(y:S)) -> MINUS(x:S,y:S) 81.83/82.14 -> Rules: 81.83/82.14 if_mod(ffalse,s(x:S),s(y:S)) -> s(x:S) 81.83/82.14 if_mod(ttrue,x:S,y:S) -> mod(minus(x:S,y:S),y:S) 81.83/82.14 le(0,y:S) -> ttrue 81.83/82.14 le(s(x:S),0) -> ffalse 81.83/82.14 le(s(x:S),s(y:S)) -> le(x:S,y:S) 81.83/82.14 minus(s(x:S),s(y:S)) -> minus(x:S,y:S) 81.83/82.14 minus(x:S,0) -> x:S 81.83/82.14 mod(0,y:S) -> 0 81.83/82.14 mod(s(x:S),0) -> 0 81.83/82.14 mod(s(x:S),s(y:S)) -> if_mod(le(y:S,x:S),s(x:S),s(y:S)) 81.83/82.14 ->Projection: 81.83/82.14 pi(MINUS) = 1 81.83/82.14 81.83/82.14 Problem 1.1: 81.83/82.14 81.83/82.14 SCC Processor: 81.83/82.14 -> Pairs: 81.83/82.14 Empty 81.83/82.14 -> Rules: 81.83/82.14 if_mod(ffalse,s(x:S),s(y:S)) -> s(x:S) 81.83/82.14 if_mod(ttrue,x:S,y:S) -> mod(minus(x:S,y:S),y:S) 81.83/82.14 le(0,y:S) -> ttrue 81.83/82.14 le(s(x:S),0) -> ffalse 81.83/82.14 le(s(x:S),s(y:S)) -> le(x:S,y:S) 81.83/82.14 minus(s(x:S),s(y:S)) -> minus(x:S,y:S) 81.83/82.14 minus(x:S,0) -> x:S 81.83/82.14 mod(0,y:S) -> 0 81.83/82.14 mod(s(x:S),0) -> 0 81.83/82.14 mod(s(x:S),s(y:S)) -> if_mod(le(y:S,x:S),s(x:S),s(y:S)) 81.83/82.14 ->Strongly Connected Components: 81.83/82.14 There is no strongly connected component 81.83/82.14 81.83/82.14 The problem is finite. 81.83/82.14 81.83/82.14 Problem 1.2: 81.83/82.14 81.83/82.14 Subterm Processor: 81.83/82.14 -> Pairs: 81.83/82.14 LE(s(x:S),s(y:S)) -> LE(x:S,y:S) 81.83/82.14 -> Rules: 81.83/82.14 if_mod(ffalse,s(x:S),s(y:S)) -> s(x:S) 81.83/82.14 if_mod(ttrue,x:S,y:S) -> mod(minus(x:S,y:S),y:S) 81.83/82.14 le(0,y:S) -> ttrue 81.83/82.14 le(s(x:S),0) -> ffalse 81.83/82.14 le(s(x:S),s(y:S)) -> le(x:S,y:S) 81.83/82.14 minus(s(x:S),s(y:S)) -> minus(x:S,y:S) 81.83/82.14 minus(x:S,0) -> x:S 81.83/82.14 mod(0,y:S) -> 0 81.83/82.14 mod(s(x:S),0) -> 0 81.83/82.14 mod(s(x:S),s(y:S)) -> if_mod(le(y:S,x:S),s(x:S),s(y:S)) 81.83/82.14 ->Projection: 81.83/82.14 pi(LE) = 1 81.83/82.14 81.83/82.14 Problem 1.2: 81.83/82.14 81.83/82.14 SCC Processor: 81.83/82.14 -> Pairs: 81.83/82.14 Empty 81.83/82.14 -> Rules: 81.83/82.14 if_mod(ffalse,s(x:S),s(y:S)) -> s(x:S) 81.83/82.14 if_mod(ttrue,x:S,y:S) -> mod(minus(x:S,y:S),y:S) 81.83/82.14 le(0,y:S) -> ttrue 81.83/82.14 le(s(x:S),0) -> ffalse 81.83/82.14 le(s(x:S),s(y:S)) -> le(x:S,y:S) 81.83/82.14 minus(s(x:S),s(y:S)) -> minus(x:S,y:S) 81.83/82.14 minus(x:S,0) -> x:S 81.83/82.14 mod(0,y:S) -> 0 81.83/82.14 mod(s(x:S),0) -> 0 81.83/82.14 mod(s(x:S),s(y:S)) -> if_mod(le(y:S,x:S),s(x:S),s(y:S)) 81.83/82.14 ->Strongly Connected Components: 81.83/82.14 There is no strongly connected component 81.83/82.14 81.83/82.14 The problem is finite. 81.83/82.14 81.83/82.14 Problem 1.3: 81.83/82.14 81.83/82.14 Instantiation Processor: 81.83/82.14 -> Pairs: 81.83/82.14 IF_MOD(ttrue,x:S,y:S) -> MOD(minus(x:S,y:S),y:S) 81.83/82.14 MOD(s(x:S),s(y:S)) -> IF_MOD(le(y:S,x:S),s(x:S),s(y:S)) 81.83/82.14 -> Rules: 81.83/82.14 if_mod(ffalse,s(x:S),s(y:S)) -> s(x:S) 81.83/82.14 if_mod(ttrue,x:S,y:S) -> mod(minus(x:S,y:S),y:S) 81.83/82.14 le(0,y:S) -> ttrue 81.83/82.14 le(s(x:S),0) -> ffalse 81.83/82.14 le(s(x:S),s(y:S)) -> le(x:S,y:S) 81.83/82.14 minus(s(x:S),s(y:S)) -> minus(x:S,y:S) 81.83/82.14 minus(x:S,0) -> x:S 81.83/82.14 mod(0,y:S) -> 0 81.83/82.14 mod(s(x:S),0) -> 0 81.83/82.14 mod(s(x:S),s(y:S)) -> if_mod(le(y:S,x:S),s(x:S),s(y:S)) 81.83/82.14 ->Instantiated Pairs: 81.83/82.14 ->->Original Pair: 81.83/82.14 IF_MOD(ttrue,x:S,y:S) -> MOD(minus(x:S,y:S),y:S) 81.83/82.14 ->-> Instantiated pairs: 81.83/82.14 IF_MOD(ttrue,s(x7:S),s(x8:S)) -> MOD(minus(s(x7:S),s(x8:S)),s(x8:S)) 81.83/82.14 81.83/82.14 Problem 1.3: 81.83/82.14 81.83/82.14 SCC Processor: 81.83/82.14 -> Pairs: 81.83/82.14 IF_MOD(ttrue,s(x7:S),s(x8:S)) -> MOD(minus(s(x7:S),s(x8:S)),s(x8:S)) 81.83/82.14 MOD(s(x:S),s(y:S)) -> IF_MOD(le(y:S,x:S),s(x:S),s(y:S)) 81.83/82.14 -> Rules: 81.83/82.14 if_mod(ffalse,s(x:S),s(y:S)) -> s(x:S) 81.83/82.14 if_mod(ttrue,x:S,y:S) -> mod(minus(x:S,y:S),y:S) 81.83/82.14 le(0,y:S) -> ttrue 81.83/82.14 le(s(x:S),0) -> ffalse 81.83/82.14 le(s(x:S),s(y:S)) -> le(x:S,y:S) 81.83/82.14 minus(s(x:S),s(y:S)) -> minus(x:S,y:S) 81.83/82.14 minus(x:S,0) -> x:S 81.83/82.14 mod(0,y:S) -> 0 81.83/82.14 mod(s(x:S),0) -> 0 81.83/82.14 mod(s(x:S),s(y:S)) -> if_mod(le(y:S,x:S),s(x:S),s(y:S)) 81.83/82.14 ->Strongly Connected Components: 81.83/82.14 ->->Cycle: 81.83/82.14 ->->-> Pairs: 81.83/82.14 IF_MOD(ttrue,s(x7:S),s(x8:S)) -> MOD(minus(s(x7:S),s(x8:S)),s(x8:S)) 81.83/82.14 MOD(s(x:S),s(y:S)) -> IF_MOD(le(y:S,x:S),s(x:S),s(y:S)) 81.83/82.14 ->->-> Rules: 81.83/82.14 if_mod(ffalse,s(x:S),s(y:S)) -> s(x:S) 81.83/82.14 if_mod(ttrue,x:S,y:S) -> mod(minus(x:S,y:S),y:S) 81.83/82.14 le(0,y:S) -> ttrue 81.83/82.14 le(s(x:S),0) -> ffalse 81.83/82.14 le(s(x:S),s(y:S)) -> le(x:S,y:S) 81.83/82.14 minus(s(x:S),s(y:S)) -> minus(x:S,y:S) 81.83/82.14 minus(x:S,0) -> x:S 81.83/82.14 mod(0,y:S) -> 0 81.83/82.14 mod(s(x:S),0) -> 0 81.83/82.14 mod(s(x:S),s(y:S)) -> if_mod(le(y:S,x:S),s(x:S),s(y:S)) 81.83/82.14 81.83/82.14 Problem 1.3: 81.83/82.14 81.83/82.14 Narrowing Processor: 81.83/82.14 -> Pairs: 81.83/82.14 IF_MOD(ttrue,s(x7:S),s(x8:S)) -> MOD(minus(s(x7:S),s(x8:S)),s(x8:S)) 81.83/82.14 MOD(s(x:S),s(y:S)) -> IF_MOD(le(y:S,x:S),s(x:S),s(y:S)) 81.83/82.14 -> Rules: 81.83/82.14 if_mod(ffalse,s(x:S),s(y:S)) -> s(x:S) 81.83/82.14 if_mod(ttrue,x:S,y:S) -> mod(minus(x:S,y:S),y:S) 81.83/82.14 le(0,y:S) -> ttrue 81.83/82.14 le(s(x:S),0) -> ffalse 81.83/82.14 le(s(x:S),s(y:S)) -> le(x:S,y:S) 81.83/82.14 minus(s(x:S),s(y:S)) -> minus(x:S,y:S) 81.83/82.14 minus(x:S,0) -> x:S 81.83/82.14 mod(0,y:S) -> 0 81.83/82.14 mod(s(x:S),0) -> 0 81.83/82.14 mod(s(x:S),s(y:S)) -> if_mod(le(y:S,x:S),s(x:S),s(y:S)) 81.83/82.14 ->Narrowed Pairs: 81.83/82.14 ->->Original Pair: 81.83/82.14 IF_MOD(ttrue,s(x7:S),s(x8:S)) -> MOD(minus(s(x7:S),s(x8:S)),s(x8:S)) 81.83/82.14 ->-> Narrowed pairs: 81.83/82.14 IF_MOD(ttrue,s(x:S),s(y:S)) -> MOD(minus(x:S,y:S),s(y:S)) 81.83/82.14 ->->Original Pair: 81.83/82.14 MOD(s(x:S),s(y:S)) -> IF_MOD(le(y:S,x:S),s(x:S),s(y:S)) 81.83/82.14 ->-> Narrowed pairs: 81.83/82.14 MOD(s(0),s(s(x:S))) -> IF_MOD(ffalse,s(0),s(s(x:S))) 81.83/82.14 MOD(s(s(y:S)),s(s(x:S))) -> IF_MOD(le(x:S,y:S),s(s(y:S)),s(s(x:S))) 81.83/82.14 MOD(s(y:S),s(0)) -> IF_MOD(ttrue,s(y:S),s(0)) 81.83/82.14 81.83/82.14 Problem 1.3: 81.83/82.14 81.83/82.14 SCC Processor: 81.83/82.14 -> Pairs: 81.83/82.14 IF_MOD(ttrue,s(x:S),s(y:S)) -> MOD(minus(x:S,y:S),s(y:S)) 81.83/82.14 MOD(s(0),s(s(x:S))) -> IF_MOD(ffalse,s(0),s(s(x:S))) 81.83/82.14 MOD(s(s(y:S)),s(s(x:S))) -> IF_MOD(le(x:S,y:S),s(s(y:S)),s(s(x:S))) 81.83/82.14 MOD(s(y:S),s(0)) -> IF_MOD(ttrue,s(y:S),s(0)) 81.83/82.14 -> Rules: 81.83/82.14 if_mod(ffalse,s(x:S),s(y:S)) -> s(x:S) 81.83/82.14 if_mod(ttrue,x:S,y:S) -> mod(minus(x:S,y:S),y:S) 81.83/82.14 le(0,y:S) -> ttrue 81.83/82.14 le(s(x:S),0) -> ffalse 81.83/82.14 le(s(x:S),s(y:S)) -> le(x:S,y:S) 81.83/82.14 minus(s(x:S),s(y:S)) -> minus(x:S,y:S) 81.83/82.14 minus(x:S,0) -> x:S 81.83/82.14 mod(0,y:S) -> 0 81.83/82.14 mod(s(x:S),0) -> 0 81.83/82.14 mod(s(x:S),s(y:S)) -> if_mod(le(y:S,x:S),s(x:S),s(y:S)) 81.83/82.16 ->Strongly Connected Components: 81.83/82.16 ->->Cycle: 81.83/82.16 ->->-> Pairs: 81.83/82.16 IF_MOD(ttrue,s(x:S),s(y:S)) -> MOD(minus(x:S,y:S),s(y:S)) 81.83/82.16 MOD(s(s(y:S)),s(s(x:S))) -> IF_MOD(le(x:S,y:S),s(s(y:S)),s(s(x:S))) 81.83/82.16 MOD(s(y:S),s(0)) -> IF_MOD(ttrue,s(y:S),s(0)) 81.83/82.16 ->->-> Rules: 81.83/82.16 if_mod(ffalse,s(x:S),s(y:S)) -> s(x:S) 81.83/82.16 if_mod(ttrue,x:S,y:S) -> mod(minus(x:S,y:S),y:S) 81.83/82.16 le(0,y:S) -> ttrue 81.83/82.16 le(s(x:S),0) -> ffalse 81.83/82.16 le(s(x:S),s(y:S)) -> le(x:S,y:S) 81.83/82.16 minus(s(x:S),s(y:S)) -> minus(x:S,y:S) 81.83/82.16 minus(x:S,0) -> x:S 81.83/82.16 mod(0,y:S) -> 0 81.83/82.16 mod(s(x:S),0) -> 0 81.83/82.16 mod(s(x:S),s(y:S)) -> if_mod(le(y:S,x:S),s(x:S),s(y:S)) 81.83/82.16 81.83/82.16 Problem 1.3: 81.83/82.16 81.83/82.16 Reduction Pairs Processor: 81.83/82.16 -> Pairs: 81.83/82.16 IF_MOD(ttrue,s(x:S),s(y:S)) -> MOD(minus(x:S,y:S),s(y:S)) 81.83/82.16 MOD(s(s(y:S)),s(s(x:S))) -> IF_MOD(le(x:S,y:S),s(s(y:S)),s(s(x:S))) 81.83/82.16 MOD(s(y:S),s(0)) -> IF_MOD(ttrue,s(y:S),s(0)) 81.83/82.16 -> Rules: 81.83/82.16 if_mod(ffalse,s(x:S),s(y:S)) -> s(x:S) 81.83/82.16 if_mod(ttrue,x:S,y:S) -> mod(minus(x:S,y:S),y:S) 81.83/82.16 le(0,y:S) -> ttrue 81.83/82.16 le(s(x:S),0) -> ffalse 81.83/82.16 le(s(x:S),s(y:S)) -> le(x:S,y:S) 81.83/82.16 minus(s(x:S),s(y:S)) -> minus(x:S,y:S) 81.83/82.16 minus(x:S,0) -> x:S 81.83/82.16 mod(0,y:S) -> 0 81.83/82.16 mod(s(x:S),0) -> 0 81.83/82.16 mod(s(x:S),s(y:S)) -> if_mod(le(y:S,x:S),s(x:S),s(y:S)) 81.83/82.16 -> Usable rules: 81.83/82.16 le(0,y:S) -> ttrue 81.83/82.16 le(s(x:S),0) -> ffalse 81.83/82.16 le(s(x:S),s(y:S)) -> le(x:S,y:S) 81.83/82.16 minus(s(x:S),s(y:S)) -> minus(x:S,y:S) 81.83/82.16 minus(x:S,0) -> x:S 81.83/82.16 ->Interpretation type: 81.83/82.16 Linear 81.83/82.16 ->Coefficients: 81.83/82.16 Natural Numbers 81.83/82.16 ->Dimension: 81.83/82.16 1 81.83/82.16 ->Bound: 81.83/82.16 2 81.83/82.16 ->Interpretation: 81.83/82.16 81.83/82.16 [if_mod](X1,X2,X3) = 0 81.83/82.16 [le](X1,X2) = 0 81.83/82.16 [minus](X1,X2) = 2.X1 + 1 81.83/82.16 [mod](X1,X2) = 0 81.83/82.16 [0] = 2 81.83/82.16 [fSNonEmpty] = 0 81.83/82.16 [false] = 0 81.83/82.16 [s](X) = 2.X + 2 81.83/82.16 [true] = 0 81.83/82.16 [IF_MOD](X1,X2,X3) = 2.X1 + 2.X2 81.83/82.16 [LE](X1,X2) = 0 81.83/82.16 [MINUS](X1,X2) = 0 81.83/82.16 [MOD](X1,X2) = 2.X1 81.83/82.16 81.83/82.16 Problem 1.3: 81.83/82.16 81.83/82.16 SCC Processor: 81.83/82.16 -> Pairs: 81.83/82.16 MOD(s(s(y:S)),s(s(x:S))) -> IF_MOD(le(x:S,y:S),s(s(y:S)),s(s(x:S))) 81.83/82.16 MOD(s(y:S),s(0)) -> IF_MOD(ttrue,s(y:S),s(0)) 81.83/82.16 -> Rules: 81.83/82.16 if_mod(ffalse,s(x:S),s(y:S)) -> s(x:S) 81.83/82.16 if_mod(ttrue,x:S,y:S) -> mod(minus(x:S,y:S),y:S) 81.83/82.16 le(0,y:S) -> ttrue 81.83/82.16 le(s(x:S),0) -> ffalse 81.83/82.16 le(s(x:S),s(y:S)) -> le(x:S,y:S) 81.83/82.16 minus(s(x:S),s(y:S)) -> minus(x:S,y:S) 81.83/82.16 minus(x:S,0) -> x:S 81.83/82.16 mod(0,y:S) -> 0 81.83/82.16 mod(s(x:S),0) -> 0 81.83/82.16 mod(s(x:S),s(y:S)) -> if_mod(le(y:S,x:S),s(x:S),s(y:S)) 81.83/82.16 ->Strongly Connected Components: 81.83/82.16 There is no strongly connected component 81.83/82.16 81.83/82.16 The problem is finite. 81.83/82.16 EOF