3.87/4.07 YES 3.87/4.07 3.87/4.07 Problem 1: 3.87/4.07 3.87/4.07 (VAR v_NonEmpty:S X:S X1:S X2:S X3:S Y:S) 3.87/4.07 (RULES 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 ) 3.87/4.07 (STRATEGY INNERMOST) 3.87/4.07 3.87/4.07 Problem 1: 3.87/4.07 3.87/4.07 Dependency Pairs Processor: 3.87/4.07 -> Pairs: 3.87/4.07 ACTIVE(f(X:S)) -> IF(X:S,c,f(ttrue)) 3.87/4.07 ACTIVE(f(X:S)) -> MARK(if(X:S,c,f(ttrue))) 3.87/4.07 ACTIVE(if(ffalse,X:S,Y:S)) -> MARK(Y:S) 3.87/4.07 ACTIVE(if(ttrue,X:S,Y:S)) -> MARK(X:S) 3.87/4.07 F(active(X:S)) -> F(X:S) 3.87/4.07 F(mark(X:S)) -> F(X:S) 3.87/4.07 IF(active(X1:S),X2:S,X3:S) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 IF(mark(X1:S),X2:S,X3:S) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 IF(X1:S,active(X2:S),X3:S) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 IF(X1:S,mark(X2:S),X3:S) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 IF(X1:S,X2:S,active(X3:S)) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 IF(X1:S,X2:S,mark(X3:S)) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 MARK(f(X:S)) -> ACTIVE(f(mark(X:S))) 3.87/4.07 MARK(f(X:S)) -> F(mark(X:S)) 3.87/4.07 MARK(f(X:S)) -> MARK(X:S) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> ACTIVE(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> IF(mark(X1:S),mark(X2:S),X3:S) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X1:S) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X2:S) 3.87/4.07 -> Rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 3.87/4.07 Problem 1: 3.87/4.07 3.87/4.07 SCC Processor: 3.87/4.07 -> Pairs: 3.87/4.07 ACTIVE(f(X:S)) -> IF(X:S,c,f(ttrue)) 3.87/4.07 ACTIVE(f(X:S)) -> MARK(if(X:S,c,f(ttrue))) 3.87/4.07 ACTIVE(if(ffalse,X:S,Y:S)) -> MARK(Y:S) 3.87/4.07 ACTIVE(if(ttrue,X:S,Y:S)) -> MARK(X:S) 3.87/4.07 F(active(X:S)) -> F(X:S) 3.87/4.07 F(mark(X:S)) -> F(X:S) 3.87/4.07 IF(active(X1:S),X2:S,X3:S) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 IF(mark(X1:S),X2:S,X3:S) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 IF(X1:S,active(X2:S),X3:S) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 IF(X1:S,mark(X2:S),X3:S) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 IF(X1:S,X2:S,active(X3:S)) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 IF(X1:S,X2:S,mark(X3:S)) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 MARK(f(X:S)) -> ACTIVE(f(mark(X:S))) 3.87/4.07 MARK(f(X:S)) -> F(mark(X:S)) 3.87/4.07 MARK(f(X:S)) -> MARK(X:S) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> ACTIVE(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> IF(mark(X1:S),mark(X2:S),X3:S) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X1:S) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X2:S) 3.87/4.07 -> Rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 ->Strongly Connected Components: 3.87/4.07 ->->Cycle: 3.87/4.07 ->->-> Pairs: 3.87/4.07 IF(active(X1:S),X2:S,X3:S) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 IF(mark(X1:S),X2:S,X3:S) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 IF(X1:S,active(X2:S),X3:S) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 IF(X1:S,mark(X2:S),X3:S) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 IF(X1:S,X2:S,active(X3:S)) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 IF(X1:S,X2:S,mark(X3:S)) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 ->->-> Rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 ->->Cycle: 3.87/4.07 ->->-> Pairs: 3.87/4.07 F(active(X:S)) -> F(X:S) 3.87/4.07 F(mark(X:S)) -> F(X:S) 3.87/4.07 ->->-> Rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 ->->Cycle: 3.87/4.07 ->->-> Pairs: 3.87/4.07 ACTIVE(f(X:S)) -> MARK(if(X:S,c,f(ttrue))) 3.87/4.07 ACTIVE(if(ffalse,X:S,Y:S)) -> MARK(Y:S) 3.87/4.07 ACTIVE(if(ttrue,X:S,Y:S)) -> MARK(X:S) 3.87/4.07 MARK(f(X:S)) -> ACTIVE(f(mark(X:S))) 3.87/4.07 MARK(f(X:S)) -> MARK(X:S) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> ACTIVE(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X1:S) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X2:S) 3.87/4.07 ->->-> Rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 3.87/4.07 3.87/4.07 The problem is decomposed in 3 subproblems. 3.87/4.07 3.87/4.07 Problem 1.1: 3.87/4.07 3.87/4.07 Subterm Processor: 3.87/4.07 -> Pairs: 3.87/4.07 IF(active(X1:S),X2:S,X3:S) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 IF(mark(X1:S),X2:S,X3:S) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 IF(X1:S,active(X2:S),X3:S) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 IF(X1:S,mark(X2:S),X3:S) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 IF(X1:S,X2:S,active(X3:S)) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 IF(X1:S,X2:S,mark(X3:S)) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 -> Rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 ->Projection: 3.87/4.07 pi(IF) = 1 3.87/4.07 3.87/4.07 Problem 1.1: 3.87/4.07 3.87/4.07 SCC Processor: 3.87/4.07 -> Pairs: 3.87/4.07 IF(X1:S,active(X2:S),X3:S) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 IF(X1:S,mark(X2:S),X3:S) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 IF(X1:S,X2:S,active(X3:S)) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 IF(X1:S,X2:S,mark(X3:S)) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 -> Rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 ->Strongly Connected Components: 3.87/4.07 ->->Cycle: 3.87/4.07 ->->-> Pairs: 3.87/4.07 IF(X1:S,active(X2:S),X3:S) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 IF(X1:S,mark(X2:S),X3:S) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 IF(X1:S,X2:S,active(X3:S)) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 IF(X1:S,X2:S,mark(X3:S)) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 ->->-> Rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 3.87/4.07 Problem 1.1: 3.87/4.07 3.87/4.07 Subterm Processor: 3.87/4.07 -> Pairs: 3.87/4.07 IF(X1:S,active(X2:S),X3:S) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 IF(X1:S,mark(X2:S),X3:S) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 IF(X1:S,X2:S,active(X3:S)) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 IF(X1:S,X2:S,mark(X3:S)) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 -> Rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 ->Projection: 3.87/4.07 pi(IF) = 2 3.87/4.07 3.87/4.07 Problem 1.1: 3.87/4.07 3.87/4.07 SCC Processor: 3.87/4.07 -> Pairs: 3.87/4.07 IF(X1:S,X2:S,active(X3:S)) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 IF(X1:S,X2:S,mark(X3:S)) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 -> Rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 ->Strongly Connected Components: 3.87/4.07 ->->Cycle: 3.87/4.07 ->->-> Pairs: 3.87/4.07 IF(X1:S,X2:S,active(X3:S)) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 IF(X1:S,X2:S,mark(X3:S)) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 ->->-> Rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 3.87/4.07 Problem 1.1: 3.87/4.07 3.87/4.07 Subterm Processor: 3.87/4.07 -> Pairs: 3.87/4.07 IF(X1:S,X2:S,active(X3:S)) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 IF(X1:S,X2:S,mark(X3:S)) -> IF(X1:S,X2:S,X3:S) 3.87/4.07 -> Rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 ->Projection: 3.87/4.07 pi(IF) = 3 3.87/4.07 3.87/4.07 Problem 1.1: 3.87/4.07 3.87/4.07 SCC Processor: 3.87/4.07 -> Pairs: 3.87/4.07 Empty 3.87/4.07 -> Rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 ->Strongly Connected Components: 3.87/4.07 There is no strongly connected component 3.87/4.07 3.87/4.07 The problem is finite. 3.87/4.07 3.87/4.07 Problem 1.2: 3.87/4.07 3.87/4.07 Subterm Processor: 3.87/4.07 -> Pairs: 3.87/4.07 F(active(X:S)) -> F(X:S) 3.87/4.07 F(mark(X:S)) -> F(X:S) 3.87/4.07 -> Rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 ->Projection: 3.87/4.07 pi(F) = 1 3.87/4.07 3.87/4.07 Problem 1.2: 3.87/4.07 3.87/4.07 SCC Processor: 3.87/4.07 -> Pairs: 3.87/4.07 Empty 3.87/4.07 -> Rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 ->Strongly Connected Components: 3.87/4.07 There is no strongly connected component 3.87/4.07 3.87/4.07 The problem is finite. 3.87/4.07 3.87/4.07 Problem 1.3: 3.87/4.07 3.87/4.07 Reduction Pairs Processor: 3.87/4.07 -> Pairs: 3.87/4.07 ACTIVE(f(X:S)) -> MARK(if(X:S,c,f(ttrue))) 3.87/4.07 ACTIVE(if(ffalse,X:S,Y:S)) -> MARK(Y:S) 3.87/4.07 ACTIVE(if(ttrue,X:S,Y:S)) -> MARK(X:S) 3.87/4.07 MARK(f(X:S)) -> ACTIVE(f(mark(X:S))) 3.87/4.07 MARK(f(X:S)) -> MARK(X:S) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> ACTIVE(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X1:S) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X2:S) 3.87/4.07 -> Rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 -> Usable rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 ->Interpretation type: 3.87/4.07 Linear 3.87/4.07 ->Coefficients: 3.87/4.07 Natural Numbers 3.87/4.07 ->Dimension: 3.87/4.07 1 3.87/4.07 ->Bound: 3.87/4.07 2 3.87/4.07 ->Interpretation: 3.87/4.07 3.87/4.07 [active](X) = X 3.87/4.07 [f](X) = 2.X 3.87/4.07 [if](X1,X2,X3) = 2.X1 + 2.X2 + 2.X3 3.87/4.07 [mark](X) = X 3.87/4.07 [c] = 0 3.87/4.07 [fSNonEmpty] = 0 3.87/4.07 [false] = 1 3.87/4.07 [true] = 0 3.87/4.07 [ACTIVE](X) = X + 2 3.87/4.07 [F](X) = 0 3.87/4.07 [IF](X1,X2,X3) = 0 3.87/4.07 [MARK](X) = X + 2 3.87/4.07 3.87/4.07 Problem 1.3: 3.87/4.07 3.87/4.07 SCC Processor: 3.87/4.07 -> Pairs: 3.87/4.07 ACTIVE(f(X:S)) -> MARK(if(X:S,c,f(ttrue))) 3.87/4.07 ACTIVE(if(ttrue,X:S,Y:S)) -> MARK(X:S) 3.87/4.07 MARK(f(X:S)) -> ACTIVE(f(mark(X:S))) 3.87/4.07 MARK(f(X:S)) -> MARK(X:S) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> ACTIVE(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X1:S) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X2:S) 3.87/4.07 -> Rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 ->Strongly Connected Components: 3.87/4.07 ->->Cycle: 3.87/4.07 ->->-> Pairs: 3.87/4.07 ACTIVE(f(X:S)) -> MARK(if(X:S,c,f(ttrue))) 3.87/4.07 ACTIVE(if(ttrue,X:S,Y:S)) -> MARK(X:S) 3.87/4.07 MARK(f(X:S)) -> ACTIVE(f(mark(X:S))) 3.87/4.07 MARK(f(X:S)) -> MARK(X:S) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> ACTIVE(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X1:S) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X2:S) 3.87/4.07 ->->-> Rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 3.87/4.07 Problem 1.3: 3.87/4.07 3.87/4.07 Reduction Pairs Processor: 3.87/4.07 -> Pairs: 3.87/4.07 ACTIVE(f(X:S)) -> MARK(if(X:S,c,f(ttrue))) 3.87/4.07 ACTIVE(if(ttrue,X:S,Y:S)) -> MARK(X:S) 3.87/4.07 MARK(f(X:S)) -> ACTIVE(f(mark(X:S))) 3.87/4.07 MARK(f(X:S)) -> MARK(X:S) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> ACTIVE(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X1:S) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X2:S) 3.87/4.07 -> Rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 -> Usable rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 ->Interpretation type: 3.87/4.07 Linear 3.87/4.07 ->Coefficients: 3.87/4.07 Natural Numbers 3.87/4.07 ->Dimension: 3.87/4.07 1 3.87/4.07 ->Bound: 3.87/4.07 2 3.87/4.07 ->Interpretation: 3.87/4.07 3.87/4.07 [active](X) = X 3.87/4.07 [f](X) = 2.X + 2 3.87/4.07 [if](X1,X2,X3) = 2.X1 + 2.X2 + X3 3.87/4.07 [mark](X) = X 3.87/4.07 [c] = 0 3.87/4.07 [fSNonEmpty] = 0 3.87/4.07 [false] = 2 3.87/4.07 [true] = 0 3.87/4.07 [ACTIVE](X) = 2.X + 2 3.87/4.07 [F](X) = 0 3.87/4.07 [IF](X1,X2,X3) = 0 3.87/4.07 [MARK](X) = 2.X + 2 3.87/4.07 3.87/4.07 Problem 1.3: 3.87/4.07 3.87/4.07 SCC Processor: 3.87/4.07 -> Pairs: 3.87/4.07 ACTIVE(f(X:S)) -> MARK(if(X:S,c,f(ttrue))) 3.87/4.07 ACTIVE(if(ttrue,X:S,Y:S)) -> MARK(X:S) 3.87/4.07 MARK(f(X:S)) -> ACTIVE(f(mark(X:S))) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> ACTIVE(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X1:S) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X2:S) 3.87/4.07 -> Rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 ->Strongly Connected Components: 3.87/4.07 ->->Cycle: 3.87/4.07 ->->-> Pairs: 3.87/4.07 ACTIVE(f(X:S)) -> MARK(if(X:S,c,f(ttrue))) 3.87/4.07 ACTIVE(if(ttrue,X:S,Y:S)) -> MARK(X:S) 3.87/4.07 MARK(f(X:S)) -> ACTIVE(f(mark(X:S))) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> ACTIVE(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X1:S) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X2:S) 3.87/4.07 ->->-> Rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 3.87/4.07 Problem 1.3: 3.87/4.07 3.87/4.07 Reduction Pairs Processor: 3.87/4.07 -> Pairs: 3.87/4.07 ACTIVE(f(X:S)) -> MARK(if(X:S,c,f(ttrue))) 3.87/4.07 ACTIVE(if(ttrue,X:S,Y:S)) -> MARK(X:S) 3.87/4.07 MARK(f(X:S)) -> ACTIVE(f(mark(X:S))) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> ACTIVE(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X1:S) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X2:S) 3.87/4.07 -> Rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 -> Usable rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 ->Interpretation type: 3.87/4.07 Simple mixed 3.87/4.07 ->Coefficients: 3.87/4.07 Natural Numbers 3.87/4.07 ->Dimension: 3.87/4.07 1 3.87/4.07 ->Bound: 3.87/4.07 2 3.87/4.07 ->Interpretation: 3.87/4.07 3.87/4.07 [active](X) = X 3.87/4.07 [f](X) = 2.X.X + 2.X + 1 3.87/4.07 [if](X1,X2,X3) = 2.X1.X2.X3 + 2.X1.X2 + X1.X3 + 2.X2.X3 + X1 + X2 3.87/4.07 [mark](X) = X 3.87/4.07 [c] = 0 3.87/4.07 [fSNonEmpty] = 0 3.87/4.07 [false] = 2 3.87/4.07 [true] = 0 3.87/4.07 [ACTIVE](X) = 2.X.X + 2.X + 2 3.87/4.07 [F](X) = 0 3.87/4.07 [IF](X1,X2,X3) = 0 3.87/4.07 [MARK](X) = 2.X.X + 2.X + 2 3.87/4.07 3.87/4.07 Problem 1.3: 3.87/4.07 3.87/4.07 SCC Processor: 3.87/4.07 -> Pairs: 3.87/4.07 ACTIVE(if(ttrue,X:S,Y:S)) -> MARK(X:S) 3.87/4.07 MARK(f(X:S)) -> ACTIVE(f(mark(X:S))) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> ACTIVE(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X1:S) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X2:S) 3.87/4.07 -> Rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 ->Strongly Connected Components: 3.87/4.07 ->->Cycle: 3.87/4.07 ->->-> Pairs: 3.87/4.07 ACTIVE(if(ttrue,X:S,Y:S)) -> MARK(X:S) 3.87/4.07 MARK(f(X:S)) -> ACTIVE(f(mark(X:S))) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> ACTIVE(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X1:S) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X2:S) 3.87/4.07 ->->-> Rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 3.87/4.07 Problem 1.3: 3.87/4.07 3.87/4.07 Reduction Pairs Processor: 3.87/4.07 -> Pairs: 3.87/4.07 ACTIVE(if(ttrue,X:S,Y:S)) -> MARK(X:S) 3.87/4.07 MARK(f(X:S)) -> ACTIVE(f(mark(X:S))) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> ACTIVE(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X1:S) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X2:S) 3.87/4.07 -> Rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 -> Usable rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 ->Interpretation type: 3.87/4.07 Linear 3.87/4.07 ->Coefficients: 3.87/4.07 Natural Numbers 3.87/4.07 ->Dimension: 3.87/4.07 1 3.87/4.07 ->Bound: 3.87/4.07 2 3.87/4.07 ->Interpretation: 3.87/4.07 3.87/4.07 [active](X) = X 3.87/4.07 [f](X) = 2.X + 2 3.87/4.07 [if](X1,X2,X3) = 2.X1 + 2.X2 + X3 3.87/4.07 [mark](X) = X 3.87/4.07 [c] = 0 3.87/4.07 [fSNonEmpty] = 0 3.87/4.07 [false] = 1 3.87/4.07 [true] = 0 3.87/4.07 [ACTIVE](X) = X + 2 3.87/4.07 [F](X) = 0 3.87/4.07 [IF](X1,X2,X3) = 0 3.87/4.07 [MARK](X) = 2.X + 2 3.87/4.07 3.87/4.07 Problem 1.3: 3.87/4.07 3.87/4.07 SCC Processor: 3.87/4.07 -> Pairs: 3.87/4.07 ACTIVE(if(ttrue,X:S,Y:S)) -> MARK(X:S) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> ACTIVE(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X1:S) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X2:S) 3.87/4.07 -> Rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 ->Strongly Connected Components: 3.87/4.07 ->->Cycle: 3.87/4.07 ->->-> Pairs: 3.87/4.07 ACTIVE(if(ttrue,X:S,Y:S)) -> MARK(X:S) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> ACTIVE(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X1:S) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X2:S) 3.87/4.07 ->->-> Rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 3.87/4.07 Problem 1.3: 3.87/4.07 3.87/4.07 Reduction Pairs Processor: 3.87/4.07 -> Pairs: 3.87/4.07 ACTIVE(if(ttrue,X:S,Y:S)) -> MARK(X:S) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> ACTIVE(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X1:S) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X2:S) 3.87/4.07 -> Rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 -> Usable rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 ->Interpretation type: 3.87/4.07 Simple mixed 3.87/4.07 ->Coefficients: 3.87/4.07 Natural Numbers 3.87/4.07 ->Dimension: 3.87/4.07 1 3.87/4.07 ->Bound: 3.87/4.07 2 3.87/4.07 ->Interpretation: 3.87/4.07 3.87/4.07 [active](X) = X 3.87/4.07 [f](X) = 2.X.X + 2.X + 1 3.87/4.07 [if](X1,X2,X3) = 2.X1.X2.X3 + 2.X1.X2 + X1.X3 + X2.X3 + X1 + 2.X2 + 1 3.87/4.07 [mark](X) = X 3.87/4.07 [c] = 0 3.87/4.07 [fSNonEmpty] = 0 3.87/4.07 [false] = 1 3.87/4.07 [true] = 0 3.87/4.07 [ACTIVE](X) = X.X + 2.X + 1 3.87/4.07 [F](X) = 0 3.87/4.07 [IF](X1,X2,X3) = 0 3.87/4.07 [MARK](X) = 2.X.X + 2.X + 2 3.87/4.07 3.87/4.07 Problem 1.3: 3.87/4.07 3.87/4.07 SCC Processor: 3.87/4.07 -> Pairs: 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> ACTIVE(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X1:S) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X2:S) 3.87/4.07 -> Rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 ->Strongly Connected Components: 3.87/4.07 ->->Cycle: 3.87/4.07 ->->-> Pairs: 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X1:S) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X2:S) 3.87/4.07 ->->-> Rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 3.87/4.07 Problem 1.3: 3.87/4.07 3.87/4.07 Subterm Processor: 3.87/4.07 -> Pairs: 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X1:S) 3.87/4.07 MARK(if(X1:S,X2:S,X3:S)) -> MARK(X2:S) 3.87/4.07 -> Rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 ->Projection: 3.87/4.07 pi(MARK) = 1 3.87/4.07 3.87/4.07 Problem 1.3: 3.87/4.07 3.87/4.07 SCC Processor: 3.87/4.07 -> Pairs: 3.87/4.07 Empty 3.87/4.07 -> Rules: 3.87/4.07 active(f(X:S)) -> mark(if(X:S,c,f(ttrue))) 3.87/4.07 active(if(ffalse,X:S,Y:S)) -> mark(Y:S) 3.87/4.07 active(if(ttrue,X:S,Y:S)) -> mark(X:S) 3.87/4.07 f(active(X:S)) -> f(X:S) 3.87/4.07 f(mark(X:S)) -> f(X:S) 3.87/4.07 if(active(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(mark(X1:S),X2:S,X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,active(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,mark(X2:S),X3:S) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,active(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 if(X1:S,X2:S,mark(X3:S)) -> if(X1:S,X2:S,X3:S) 3.87/4.07 mark(f(X:S)) -> active(f(mark(X:S))) 3.87/4.07 mark(if(X1:S,X2:S,X3:S)) -> active(if(mark(X1:S),mark(X2:S),X3:S)) 3.87/4.07 mark(c) -> active(c) 3.87/4.07 mark(ffalse) -> active(ffalse) 3.87/4.07 mark(ttrue) -> active(ttrue) 3.87/4.07 ->Strongly Connected Components: 3.87/4.07 There is no strongly connected component 3.87/4.07 3.87/4.07 The problem is finite. 3.87/4.07 EOF