0.00/0.20 YES 0.00/0.20 0.00/0.20 Problem 1: 0.00/0.20 0.00/0.20 (VAR v_NonEmpty:S X:S X1:S X2:S Y:S Z:S) 0.00/0.20 (RULES 0.00/0.20 a__add(0,X:S) -> mark(X:S) 0.00/0.20 a__add(s(X:S),Y:S) -> s(add(X:S,Y:S)) 0.00/0.20 a__add(X1:S,X2:S) -> add(X1:S,X2:S) 0.00/0.20 a__from(X:S) -> cons(mark(X:S),from(s(X:S))) 0.00/0.20 a__from(X:S) -> from(X:S) 0.00/0.20 a__fst(0,Z:S) -> nil 0.00/0.20 a__fst(s(X:S),cons(Y:S,Z:S)) -> cons(mark(Y:S),fst(X:S,Z:S)) 0.00/0.20 a__fst(X1:S,X2:S) -> fst(X1:S,X2:S) 0.00/0.20 a__len(cons(X:S,Z:S)) -> s(len(Z:S)) 0.00/0.20 a__len(nil) -> 0 0.00/0.20 a__len(X:S) -> len(X:S) 0.00/0.20 mark(0) -> 0 0.00/0.20 mark(add(X1:S,X2:S)) -> a__add(mark(X1:S),mark(X2:S)) 0.00/0.20 mark(cons(X1:S,X2:S)) -> cons(mark(X1:S),X2:S) 0.00/0.20 mark(from(X:S)) -> a__from(mark(X:S)) 0.00/0.20 mark(fst(X1:S,X2:S)) -> a__fst(mark(X1:S),mark(X2:S)) 0.00/0.20 mark(len(X:S)) -> a__len(mark(X:S)) 0.00/0.20 mark(nil) -> nil 0.00/0.20 mark(s(X:S)) -> s(X:S) 0.00/0.20 ) 0.00/0.20 (STRATEGY INNERMOST) 0.00/0.20 0.00/0.20 Problem 1: 0.00/0.20 0.00/0.20 Dependency Pairs Processor: 0.00/0.20 -> Pairs: 0.00/0.20 A__ADD(0,X:S) -> MARK(X:S) 0.00/0.20 A__FROM(X:S) -> MARK(X:S) 0.00/0.20 A__FST(s(X:S),cons(Y:S,Z:S)) -> MARK(Y:S) 0.00/0.20 MARK(add(X1:S,X2:S)) -> A__ADD(mark(X1:S),mark(X2:S)) 0.00/0.20 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.20 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.20 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.20 MARK(from(X:S)) -> A__FROM(mark(X:S)) 0.00/0.20 MARK(from(X:S)) -> MARK(X:S) 0.00/0.20 MARK(fst(X1:S,X2:S)) -> A__FST(mark(X1:S),mark(X2:S)) 0.00/0.20 MARK(fst(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.20 MARK(fst(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.20 MARK(len(X:S)) -> A__LEN(mark(X:S)) 0.00/0.20 MARK(len(X:S)) -> MARK(X:S) 0.00/0.20 -> Rules: 0.00/0.20 a__add(0,X:S) -> mark(X:S) 0.00/0.20 a__add(s(X:S),Y:S) -> s(add(X:S,Y:S)) 0.00/0.20 a__add(X1:S,X2:S) -> add(X1:S,X2:S) 0.00/0.20 a__from(X:S) -> cons(mark(X:S),from(s(X:S))) 0.00/0.20 a__from(X:S) -> from(X:S) 0.00/0.20 a__fst(0,Z:S) -> nil 0.00/0.20 a__fst(s(X:S),cons(Y:S,Z:S)) -> cons(mark(Y:S),fst(X:S,Z:S)) 0.00/0.20 a__fst(X1:S,X2:S) -> fst(X1:S,X2:S) 0.00/0.20 a__len(cons(X:S,Z:S)) -> s(len(Z:S)) 0.00/0.20 a__len(nil) -> 0 0.00/0.20 a__len(X:S) -> len(X:S) 0.00/0.20 mark(0) -> 0 0.00/0.20 mark(add(X1:S,X2:S)) -> a__add(mark(X1:S),mark(X2:S)) 0.00/0.20 mark(cons(X1:S,X2:S)) -> cons(mark(X1:S),X2:S) 0.00/0.20 mark(from(X:S)) -> a__from(mark(X:S)) 0.00/0.20 mark(fst(X1:S,X2:S)) -> a__fst(mark(X1:S),mark(X2:S)) 0.00/0.20 mark(len(X:S)) -> a__len(mark(X:S)) 0.00/0.20 mark(nil) -> nil 0.00/0.20 mark(s(X:S)) -> s(X:S) 0.00/0.20 0.00/0.20 Problem 1: 0.00/0.20 0.00/0.20 SCC Processor: 0.00/0.20 -> Pairs: 0.00/0.20 A__ADD(0,X:S) -> MARK(X:S) 0.00/0.20 A__FROM(X:S) -> MARK(X:S) 0.00/0.20 A__FST(s(X:S),cons(Y:S,Z:S)) -> MARK(Y:S) 0.00/0.20 MARK(add(X1:S,X2:S)) -> A__ADD(mark(X1:S),mark(X2:S)) 0.00/0.20 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.20 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.20 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.20 MARK(from(X:S)) -> A__FROM(mark(X:S)) 0.00/0.20 MARK(from(X:S)) -> MARK(X:S) 0.00/0.20 MARK(fst(X1:S,X2:S)) -> A__FST(mark(X1:S),mark(X2:S)) 0.00/0.20 MARK(fst(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.20 MARK(fst(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.20 MARK(len(X:S)) -> A__LEN(mark(X:S)) 0.00/0.20 MARK(len(X:S)) -> MARK(X:S) 0.00/0.20 -> Rules: 0.00/0.20 a__add(0,X:S) -> mark(X:S) 0.00/0.20 a__add(s(X:S),Y:S) -> s(add(X:S,Y:S)) 0.00/0.20 a__add(X1:S,X2:S) -> add(X1:S,X2:S) 0.00/0.20 a__from(X:S) -> cons(mark(X:S),from(s(X:S))) 0.00/0.20 a__from(X:S) -> from(X:S) 0.00/0.20 a__fst(0,Z:S) -> nil 0.00/0.20 a__fst(s(X:S),cons(Y:S,Z:S)) -> cons(mark(Y:S),fst(X:S,Z:S)) 0.00/0.20 a__fst(X1:S,X2:S) -> fst(X1:S,X2:S) 0.00/0.20 a__len(cons(X:S,Z:S)) -> s(len(Z:S)) 0.00/0.20 a__len(nil) -> 0 0.00/0.20 a__len(X:S) -> len(X:S) 0.00/0.20 mark(0) -> 0 0.00/0.20 mark(add(X1:S,X2:S)) -> a__add(mark(X1:S),mark(X2:S)) 0.00/0.20 mark(cons(X1:S,X2:S)) -> cons(mark(X1:S),X2:S) 0.00/0.20 mark(from(X:S)) -> a__from(mark(X:S)) 0.00/0.20 mark(fst(X1:S,X2:S)) -> a__fst(mark(X1:S),mark(X2:S)) 0.00/0.20 mark(len(X:S)) -> a__len(mark(X:S)) 0.00/0.20 mark(nil) -> nil 0.00/0.20 mark(s(X:S)) -> s(X:S) 0.00/0.20 ->Strongly Connected Components: 0.00/0.20 ->->Cycle: 0.00/0.20 ->->-> Pairs: 0.00/0.20 A__ADD(0,X:S) -> MARK(X:S) 0.00/0.20 A__FROM(X:S) -> MARK(X:S) 0.00/0.20 A__FST(s(X:S),cons(Y:S,Z:S)) -> MARK(Y:S) 0.00/0.20 MARK(add(X1:S,X2:S)) -> A__ADD(mark(X1:S),mark(X2:S)) 0.00/0.20 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.20 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.20 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.20 MARK(from(X:S)) -> A__FROM(mark(X:S)) 0.00/0.20 MARK(from(X:S)) -> MARK(X:S) 0.00/0.20 MARK(fst(X1:S,X2:S)) -> A__FST(mark(X1:S),mark(X2:S)) 0.00/0.20 MARK(fst(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.20 MARK(fst(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.20 MARK(len(X:S)) -> MARK(X:S) 0.00/0.20 ->->-> Rules: 0.00/0.20 a__add(0,X:S) -> mark(X:S) 0.00/0.20 a__add(s(X:S),Y:S) -> s(add(X:S,Y:S)) 0.00/0.20 a__add(X1:S,X2:S) -> add(X1:S,X2:S) 0.00/0.20 a__from(X:S) -> cons(mark(X:S),from(s(X:S))) 0.00/0.20 a__from(X:S) -> from(X:S) 0.00/0.20 a__fst(0,Z:S) -> nil 0.00/0.20 a__fst(s(X:S),cons(Y:S,Z:S)) -> cons(mark(Y:S),fst(X:S,Z:S)) 0.00/0.20 a__fst(X1:S,X2:S) -> fst(X1:S,X2:S) 0.00/0.20 a__len(cons(X:S,Z:S)) -> s(len(Z:S)) 0.00/0.20 a__len(nil) -> 0 0.00/0.20 a__len(X:S) -> len(X:S) 0.00/0.20 mark(0) -> 0 0.00/0.20 mark(add(X1:S,X2:S)) -> a__add(mark(X1:S),mark(X2:S)) 0.00/0.20 mark(cons(X1:S,X2:S)) -> cons(mark(X1:S),X2:S) 0.00/0.20 mark(from(X:S)) -> a__from(mark(X:S)) 0.00/0.20 mark(fst(X1:S,X2:S)) -> a__fst(mark(X1:S),mark(X2:S)) 0.00/0.20 mark(len(X:S)) -> a__len(mark(X:S)) 0.00/0.20 mark(nil) -> nil 0.00/0.20 mark(s(X:S)) -> s(X:S) 0.00/0.20 0.00/0.20 Problem 1: 0.00/0.20 0.00/0.20 Reduction Pairs Processor: 0.00/0.20 -> Pairs: 0.00/0.20 A__ADD(0,X:S) -> MARK(X:S) 0.00/0.20 A__FROM(X:S) -> MARK(X:S) 0.00/0.20 A__FST(s(X:S),cons(Y:S,Z:S)) -> MARK(Y:S) 0.00/0.20 MARK(add(X1:S,X2:S)) -> A__ADD(mark(X1:S),mark(X2:S)) 0.00/0.20 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.20 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.20 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.20 MARK(from(X:S)) -> A__FROM(mark(X:S)) 0.00/0.20 MARK(from(X:S)) -> MARK(X:S) 0.00/0.20 MARK(fst(X1:S,X2:S)) -> A__FST(mark(X1:S),mark(X2:S)) 0.00/0.20 MARK(fst(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.20 MARK(fst(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.20 MARK(len(X:S)) -> MARK(X:S) 0.00/0.20 -> Rules: 0.00/0.20 a__add(0,X:S) -> mark(X:S) 0.00/0.20 a__add(s(X:S),Y:S) -> s(add(X:S,Y:S)) 0.00/0.20 a__add(X1:S,X2:S) -> add(X1:S,X2:S) 0.00/0.20 a__from(X:S) -> cons(mark(X:S),from(s(X:S))) 0.00/0.20 a__from(X:S) -> from(X:S) 0.00/0.20 a__fst(0,Z:S) -> nil 0.00/0.20 a__fst(s(X:S),cons(Y:S,Z:S)) -> cons(mark(Y:S),fst(X:S,Z:S)) 0.00/0.20 a__fst(X1:S,X2:S) -> fst(X1:S,X2:S) 0.00/0.20 a__len(cons(X:S,Z:S)) -> s(len(Z:S)) 0.00/0.20 a__len(nil) -> 0 0.00/0.20 a__len(X:S) -> len(X:S) 0.00/0.20 mark(0) -> 0 0.00/0.20 mark(add(X1:S,X2:S)) -> a__add(mark(X1:S),mark(X2:S)) 0.00/0.20 mark(cons(X1:S,X2:S)) -> cons(mark(X1:S),X2:S) 0.00/0.20 mark(from(X:S)) -> a__from(mark(X:S)) 0.00/0.20 mark(fst(X1:S,X2:S)) -> a__fst(mark(X1:S),mark(X2:S)) 0.00/0.20 mark(len(X:S)) -> a__len(mark(X:S)) 0.00/0.20 mark(nil) -> nil 0.00/0.20 mark(s(X:S)) -> s(X:S) 0.00/0.20 -> Usable rules: 0.00/0.20 a__add(0,X:S) -> mark(X:S) 0.00/0.20 a__add(s(X:S),Y:S) -> s(add(X:S,Y:S)) 0.00/0.20 a__add(X1:S,X2:S) -> add(X1:S,X2:S) 0.00/0.20 a__from(X:S) -> cons(mark(X:S),from(s(X:S))) 0.00/0.20 a__from(X:S) -> from(X:S) 0.00/0.20 a__fst(0,Z:S) -> nil 0.00/0.20 a__fst(s(X:S),cons(Y:S,Z:S)) -> cons(mark(Y:S),fst(X:S,Z:S)) 0.00/0.20 a__fst(X1:S,X2:S) -> fst(X1:S,X2:S) 0.00/0.20 a__len(cons(X:S,Z:S)) -> s(len(Z:S)) 0.00/0.20 a__len(nil) -> 0 0.00/0.20 a__len(X:S) -> len(X:S) 0.00/0.20 mark(0) -> 0 0.00/0.20 mark(add(X1:S,X2:S)) -> a__add(mark(X1:S),mark(X2:S)) 0.00/0.20 mark(cons(X1:S,X2:S)) -> cons(mark(X1:S),X2:S) 0.00/0.20 mark(from(X:S)) -> a__from(mark(X:S)) 0.00/0.20 mark(fst(X1:S,X2:S)) -> a__fst(mark(X1:S),mark(X2:S)) 0.00/0.20 mark(len(X:S)) -> a__len(mark(X:S)) 0.00/0.20 mark(nil) -> nil 0.00/0.20 mark(s(X:S)) -> s(X:S) 0.00/0.20 ->Interpretation type: 0.00/0.20 Linear 0.00/0.20 ->Coefficients: 0.00/0.20 Natural Numbers 0.00/0.20 ->Dimension: 0.00/0.20 1 0.00/0.20 ->Bound: 0.00/0.20 2 0.00/0.20 ->Interpretation: 0.00/0.20 0.00/0.20 [a__add](X1,X2) = X1 + 2.X2 + 2 0.00/0.20 [a__from](X) = 2.X + 2 0.00/0.20 [a__fst](X1,X2) = X1 + 2.X2 + 2 0.00/0.20 [a__len](X) = X + 2 0.00/0.20 [mark](X) = 2.X + 1 0.00/0.20 [0] = 2 0.00/0.20 [add](X1,X2) = X1 + 2.X2 + 2 0.00/0.20 [cons](X1,X2) = X1 + 1 0.00/0.20 [fSNonEmpty] = 0 0.00/0.20 [from](X) = 2.X + 2 0.00/0.20 [fst](X1,X2) = X1 + 2.X2 + 2 0.00/0.20 [len](X) = X + 2 0.00/0.20 [nil] = 0 0.00/0.20 [s](X) = 2 0.00/0.20 [A__ADD](X1,X2) = X1 + 2.X2 + 2 0.00/0.20 [A__FROM](X) = 2.X + 1 0.00/0.20 [A__FST](X1,X2) = X1 + 2.X2 + 2 0.00/0.20 [A__LEN](X) = 0 0.00/0.20 [MARK](X) = 2.X + 1 0.00/0.20 0.00/0.20 Problem 1: 0.00/0.20 0.00/0.20 SCC Processor: 0.00/0.20 -> Pairs: 0.00/0.20 A__FROM(X:S) -> MARK(X:S) 0.00/0.20 A__FST(s(X:S),cons(Y:S,Z:S)) -> MARK(Y:S) 0.00/0.20 MARK(add(X1:S,X2:S)) -> A__ADD(mark(X1:S),mark(X2:S)) 0.00/0.20 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.20 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.20 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.20 MARK(from(X:S)) -> A__FROM(mark(X:S)) 0.00/0.20 MARK(from(X:S)) -> MARK(X:S) 0.00/0.20 MARK(fst(X1:S,X2:S)) -> A__FST(mark(X1:S),mark(X2:S)) 0.00/0.20 MARK(fst(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.20 MARK(fst(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.20 MARK(len(X:S)) -> MARK(X:S) 0.00/0.20 -> Rules: 0.00/0.20 a__add(0,X:S) -> mark(X:S) 0.00/0.20 a__add(s(X:S),Y:S) -> s(add(X:S,Y:S)) 0.00/0.20 a__add(X1:S,X2:S) -> add(X1:S,X2:S) 0.00/0.20 a__from(X:S) -> cons(mark(X:S),from(s(X:S))) 0.00/0.20 a__from(X:S) -> from(X:S) 0.00/0.20 a__fst(0,Z:S) -> nil 0.00/0.20 a__fst(s(X:S),cons(Y:S,Z:S)) -> cons(mark(Y:S),fst(X:S,Z:S)) 0.00/0.20 a__fst(X1:S,X2:S) -> fst(X1:S,X2:S) 0.00/0.20 a__len(cons(X:S,Z:S)) -> s(len(Z:S)) 0.00/0.20 a__len(nil) -> 0 0.00/0.20 a__len(X:S) -> len(X:S) 0.00/0.20 mark(0) -> 0 0.00/0.20 mark(add(X1:S,X2:S)) -> a__add(mark(X1:S),mark(X2:S)) 0.00/0.20 mark(cons(X1:S,X2:S)) -> cons(mark(X1:S),X2:S) 0.00/0.20 mark(from(X:S)) -> a__from(mark(X:S)) 0.00/0.20 mark(fst(X1:S,X2:S)) -> a__fst(mark(X1:S),mark(X2:S)) 0.00/0.20 mark(len(X:S)) -> a__len(mark(X:S)) 0.00/0.20 mark(nil) -> nil 0.00/0.20 mark(s(X:S)) -> s(X:S) 0.00/0.20 ->Strongly Connected Components: 0.00/0.20 ->->Cycle: 0.00/0.20 ->->-> Pairs: 0.00/0.20 A__FROM(X:S) -> MARK(X:S) 0.00/0.20 A__FST(s(X:S),cons(Y:S,Z:S)) -> MARK(Y:S) 0.00/0.20 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.20 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.20 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.20 MARK(from(X:S)) -> A__FROM(mark(X:S)) 0.00/0.20 MARK(from(X:S)) -> MARK(X:S) 0.00/0.20 MARK(fst(X1:S,X2:S)) -> A__FST(mark(X1:S),mark(X2:S)) 0.00/0.20 MARK(fst(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.20 MARK(fst(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.20 MARK(len(X:S)) -> MARK(X:S) 0.00/0.20 ->->-> Rules: 0.00/0.20 a__add(0,X:S) -> mark(X:S) 0.00/0.20 a__add(s(X:S),Y:S) -> s(add(X:S,Y:S)) 0.00/0.20 a__add(X1:S,X2:S) -> add(X1:S,X2:S) 0.00/0.20 a__from(X:S) -> cons(mark(X:S),from(s(X:S))) 0.00/0.20 a__from(X:S) -> from(X:S) 0.00/0.20 a__fst(0,Z:S) -> nil 0.00/0.20 a__fst(s(X:S),cons(Y:S,Z:S)) -> cons(mark(Y:S),fst(X:S,Z:S)) 0.00/0.20 a__fst(X1:S,X2:S) -> fst(X1:S,X2:S) 0.00/0.20 a__len(cons(X:S,Z:S)) -> s(len(Z:S)) 0.00/0.20 a__len(nil) -> 0 0.00/0.20 a__len(X:S) -> len(X:S) 0.00/0.20 mark(0) -> 0 0.00/0.20 mark(add(X1:S,X2:S)) -> a__add(mark(X1:S),mark(X2:S)) 0.00/0.20 mark(cons(X1:S,X2:S)) -> cons(mark(X1:S),X2:S) 0.00/0.20 mark(from(X:S)) -> a__from(mark(X:S)) 0.00/0.20 mark(fst(X1:S,X2:S)) -> a__fst(mark(X1:S),mark(X2:S)) 0.00/0.20 mark(len(X:S)) -> a__len(mark(X:S)) 0.00/0.20 mark(nil) -> nil 0.00/0.20 mark(s(X:S)) -> s(X:S) 0.00/0.20 0.00/0.20 Problem 1: 0.00/0.20 0.00/0.20 Reduction Pairs Processor: 0.00/0.20 -> Pairs: 0.00/0.20 A__FROM(X:S) -> MARK(X:S) 0.00/0.20 A__FST(s(X:S),cons(Y:S,Z:S)) -> MARK(Y:S) 0.00/0.20 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.20 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.20 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.20 MARK(from(X:S)) -> A__FROM(mark(X:S)) 0.00/0.20 MARK(from(X:S)) -> MARK(X:S) 0.00/0.20 MARK(fst(X1:S,X2:S)) -> A__FST(mark(X1:S),mark(X2:S)) 0.00/0.20 MARK(fst(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.20 MARK(fst(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.20 MARK(len(X:S)) -> MARK(X:S) 0.00/0.20 -> Rules: 0.00/0.20 a__add(0,X:S) -> mark(X:S) 0.00/0.20 a__add(s(X:S),Y:S) -> s(add(X:S,Y:S)) 0.00/0.20 a__add(X1:S,X2:S) -> add(X1:S,X2:S) 0.00/0.20 a__from(X:S) -> cons(mark(X:S),from(s(X:S))) 0.00/0.20 a__from(X:S) -> from(X:S) 0.00/0.20 a__fst(0,Z:S) -> nil 0.00/0.20 a__fst(s(X:S),cons(Y:S,Z:S)) -> cons(mark(Y:S),fst(X:S,Z:S)) 0.00/0.20 a__fst(X1:S,X2:S) -> fst(X1:S,X2:S) 0.00/0.20 a__len(cons(X:S,Z:S)) -> s(len(Z:S)) 0.00/0.20 a__len(nil) -> 0 0.00/0.20 a__len(X:S) -> len(X:S) 0.00/0.20 mark(0) -> 0 0.00/0.20 mark(add(X1:S,X2:S)) -> a__add(mark(X1:S),mark(X2:S)) 0.00/0.20 mark(cons(X1:S,X2:S)) -> cons(mark(X1:S),X2:S) 0.00/0.20 mark(from(X:S)) -> a__from(mark(X:S)) 0.00/0.20 mark(fst(X1:S,X2:S)) -> a__fst(mark(X1:S),mark(X2:S)) 0.00/0.20 mark(len(X:S)) -> a__len(mark(X:S)) 0.00/0.20 mark(nil) -> nil 0.00/0.20 mark(s(X:S)) -> s(X:S) 0.00/0.20 -> Usable rules: 0.00/0.20 a__add(0,X:S) -> mark(X:S) 0.00/0.20 a__add(s(X:S),Y:S) -> s(add(X:S,Y:S)) 0.00/0.20 a__add(X1:S,X2:S) -> add(X1:S,X2:S) 0.00/0.20 a__from(X:S) -> cons(mark(X:S),from(s(X:S))) 0.00/0.20 a__from(X:S) -> from(X:S) 0.00/0.20 a__fst(0,Z:S) -> nil 0.00/0.20 a__fst(s(X:S),cons(Y:S,Z:S)) -> cons(mark(Y:S),fst(X:S,Z:S)) 0.00/0.20 a__fst(X1:S,X2:S) -> fst(X1:S,X2:S) 0.00/0.20 a__len(cons(X:S,Z:S)) -> s(len(Z:S)) 0.00/0.20 a__len(nil) -> 0 0.00/0.20 a__len(X:S) -> len(X:S) 0.00/0.20 mark(0) -> 0 0.00/0.20 mark(add(X1:S,X2:S)) -> a__add(mark(X1:S),mark(X2:S)) 0.00/0.20 mark(cons(X1:S,X2:S)) -> cons(mark(X1:S),X2:S) 0.00/0.20 mark(from(X:S)) -> a__from(mark(X:S)) 0.00/0.20 mark(fst(X1:S,X2:S)) -> a__fst(mark(X1:S),mark(X2:S)) 0.00/0.20 mark(len(X:S)) -> a__len(mark(X:S)) 0.00/0.20 mark(nil) -> nil 0.00/0.20 mark(s(X:S)) -> s(X:S) 0.00/0.20 ->Interpretation type: 0.00/0.20 Linear 0.00/0.20 ->Coefficients: 0.00/0.20 Natural Numbers 0.00/0.20 ->Dimension: 0.00/0.20 1 0.00/0.20 ->Bound: 0.00/0.20 2 0.00/0.20 ->Interpretation: 0.00/0.20 0.00/0.20 [a__add](X1,X2) = 2.X1 + 2.X2 + 2 0.00/0.20 [a__from](X) = 2.X + 2 0.00/0.20 [a__fst](X1,X2) = 2.X1 + 2.X2 + 2 0.00/0.20 [a__len](X) = 2.X + 2 0.00/0.20 [mark](X) = 2.X 0.00/0.20 [0] = 2 0.00/0.20 [add](X1,X2) = 2.X1 + 2.X2 + 2 0.00/0.20 [cons](X1,X2) = X1 + 2 0.00/0.20 [fSNonEmpty] = 0 0.00/0.20 [from](X) = 2.X + 2 0.00/0.20 [fst](X1,X2) = 2.X1 + 2.X2 + 2 0.00/0.20 [len](X) = 2.X + 2 0.00/0.20 [nil] = 0 0.00/0.20 [s](X) = 2 0.00/0.20 [A__ADD](X1,X2) = 0 0.00/0.20 [A__FROM](X) = 2.X + 1 0.00/0.20 [A__FST](X1,X2) = X1 + 2.X2 0.00/0.20 [A__LEN](X) = 0 0.00/0.20 [MARK](X) = 2.X 0.00/0.20 0.00/0.20 Problem 1: 0.00/0.20 0.00/0.20 SCC Processor: 0.00/0.20 -> Pairs: 0.00/0.20 A__FST(s(X:S),cons(Y:S,Z:S)) -> MARK(Y:S) 0.00/0.20 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.20 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.20 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.20 MARK(from(X:S)) -> A__FROM(mark(X:S)) 0.00/0.20 MARK(from(X:S)) -> MARK(X:S) 0.00/0.20 MARK(fst(X1:S,X2:S)) -> A__FST(mark(X1:S),mark(X2:S)) 0.00/0.20 MARK(fst(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.20 MARK(fst(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.20 MARK(len(X:S)) -> MARK(X:S) 0.00/0.20 -> Rules: 0.00/0.20 a__add(0,X:S) -> mark(X:S) 0.00/0.20 a__add(s(X:S),Y:S) -> s(add(X:S,Y:S)) 0.00/0.20 a__add(X1:S,X2:S) -> add(X1:S,X2:S) 0.00/0.20 a__from(X:S) -> cons(mark(X:S),from(s(X:S))) 0.00/0.20 a__from(X:S) -> from(X:S) 0.00/0.20 a__fst(0,Z:S) -> nil 0.00/0.20 a__fst(s(X:S),cons(Y:S,Z:S)) -> cons(mark(Y:S),fst(X:S,Z:S)) 0.00/0.20 a__fst(X1:S,X2:S) -> fst(X1:S,X2:S) 0.00/0.20 a__len(cons(X:S,Z:S)) -> s(len(Z:S)) 0.00/0.20 a__len(nil) -> 0 0.00/0.20 a__len(X:S) -> len(X:S) 0.00/0.20 mark(0) -> 0 0.00/0.20 mark(add(X1:S,X2:S)) -> a__add(mark(X1:S),mark(X2:S)) 0.00/0.20 mark(cons(X1:S,X2:S)) -> cons(mark(X1:S),X2:S) 0.00/0.20 mark(from(X:S)) -> a__from(mark(X:S)) 0.00/0.20 mark(fst(X1:S,X2:S)) -> a__fst(mark(X1:S),mark(X2:S)) 0.00/0.20 mark(len(X:S)) -> a__len(mark(X:S)) 0.00/0.20 mark(nil) -> nil 0.00/0.20 mark(s(X:S)) -> s(X:S) 0.00/0.20 ->Strongly Connected Components: 0.00/0.20 ->->Cycle: 0.00/0.20 ->->-> Pairs: 0.00/0.20 A__FST(s(X:S),cons(Y:S,Z:S)) -> MARK(Y:S) 0.00/0.20 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.20 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.20 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.20 MARK(from(X:S)) -> MARK(X:S) 0.00/0.20 MARK(fst(X1:S,X2:S)) -> A__FST(mark(X1:S),mark(X2:S)) 0.00/0.20 MARK(fst(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.20 MARK(fst(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.20 MARK(len(X:S)) -> MARK(X:S) 0.00/0.20 ->->-> Rules: 0.00/0.20 a__add(0,X:S) -> mark(X:S) 0.00/0.20 a__add(s(X:S),Y:S) -> s(add(X:S,Y:S)) 0.00/0.20 a__add(X1:S,X2:S) -> add(X1:S,X2:S) 0.00/0.20 a__from(X:S) -> cons(mark(X:S),from(s(X:S))) 0.00/0.20 a__from(X:S) -> from(X:S) 0.00/0.20 a__fst(0,Z:S) -> nil 0.00/0.20 a__fst(s(X:S),cons(Y:S,Z:S)) -> cons(mark(Y:S),fst(X:S,Z:S)) 0.00/0.20 a__fst(X1:S,X2:S) -> fst(X1:S,X2:S) 0.00/0.20 a__len(cons(X:S,Z:S)) -> s(len(Z:S)) 0.00/0.20 a__len(nil) -> 0 0.00/0.20 a__len(X:S) -> len(X:S) 0.00/0.20 mark(0) -> 0 0.00/0.20 mark(add(X1:S,X2:S)) -> a__add(mark(X1:S),mark(X2:S)) 0.00/0.20 mark(cons(X1:S,X2:S)) -> cons(mark(X1:S),X2:S) 0.00/0.20 mark(from(X:S)) -> a__from(mark(X:S)) 0.00/0.20 mark(fst(X1:S,X2:S)) -> a__fst(mark(X1:S),mark(X2:S)) 0.00/0.20 mark(len(X:S)) -> a__len(mark(X:S)) 0.00/0.20 mark(nil) -> nil 0.00/0.20 mark(s(X:S)) -> s(X:S) 0.00/0.20 0.00/0.20 Problem 1: 0.00/0.20 0.00/0.20 Reduction Pairs Processor: 0.00/0.20 -> Pairs: 0.00/0.20 A__FST(s(X:S),cons(Y:S,Z:S)) -> MARK(Y:S) 0.00/0.20 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.20 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.20 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.20 MARK(from(X:S)) -> MARK(X:S) 0.00/0.20 MARK(fst(X1:S,X2:S)) -> A__FST(mark(X1:S),mark(X2:S)) 0.00/0.20 MARK(fst(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.20 MARK(fst(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.20 MARK(len(X:S)) -> MARK(X:S) 0.00/0.20 -> Rules: 0.00/0.20 a__add(0,X:S) -> mark(X:S) 0.00/0.20 a__add(s(X:S),Y:S) -> s(add(X:S,Y:S)) 0.00/0.20 a__add(X1:S,X2:S) -> add(X1:S,X2:S) 0.00/0.20 a__from(X:S) -> cons(mark(X:S),from(s(X:S))) 0.00/0.20 a__from(X:S) -> from(X:S) 0.00/0.20 a__fst(0,Z:S) -> nil 0.00/0.20 a__fst(s(X:S),cons(Y:S,Z:S)) -> cons(mark(Y:S),fst(X:S,Z:S)) 0.00/0.20 a__fst(X1:S,X2:S) -> fst(X1:S,X2:S) 0.00/0.20 a__len(cons(X:S,Z:S)) -> s(len(Z:S)) 0.00/0.20 a__len(nil) -> 0 0.00/0.20 a__len(X:S) -> len(X:S) 0.00/0.20 mark(0) -> 0 0.00/0.20 mark(add(X1:S,X2:S)) -> a__add(mark(X1:S),mark(X2:S)) 0.00/0.20 mark(cons(X1:S,X2:S)) -> cons(mark(X1:S),X2:S) 0.00/0.20 mark(from(X:S)) -> a__from(mark(X:S)) 0.00/0.20 mark(fst(X1:S,X2:S)) -> a__fst(mark(X1:S),mark(X2:S)) 0.00/0.20 mark(len(X:S)) -> a__len(mark(X:S)) 0.00/0.20 mark(nil) -> nil 0.00/0.20 mark(s(X:S)) -> s(X:S) 0.00/0.20 -> Usable rules: 0.00/0.20 a__add(0,X:S) -> mark(X:S) 0.00/0.20 a__add(s(X:S),Y:S) -> s(add(X:S,Y:S)) 0.00/0.20 a__add(X1:S,X2:S) -> add(X1:S,X2:S) 0.00/0.20 a__from(X:S) -> cons(mark(X:S),from(s(X:S))) 0.00/0.20 a__from(X:S) -> from(X:S) 0.00/0.20 a__fst(0,Z:S) -> nil 0.00/0.20 a__fst(s(X:S),cons(Y:S,Z:S)) -> cons(mark(Y:S),fst(X:S,Z:S)) 0.00/0.20 a__fst(X1:S,X2:S) -> fst(X1:S,X2:S) 0.00/0.20 a__len(cons(X:S,Z:S)) -> s(len(Z:S)) 0.00/0.20 a__len(nil) -> 0 0.00/0.20 a__len(X:S) -> len(X:S) 0.00/0.20 mark(0) -> 0 0.00/0.20 mark(add(X1:S,X2:S)) -> a__add(mark(X1:S),mark(X2:S)) 0.00/0.20 mark(cons(X1:S,X2:S)) -> cons(mark(X1:S),X2:S) 0.00/0.20 mark(from(X:S)) -> a__from(mark(X:S)) 0.00/0.20 mark(fst(X1:S,X2:S)) -> a__fst(mark(X1:S),mark(X2:S)) 0.00/0.20 mark(len(X:S)) -> a__len(mark(X:S)) 0.00/0.20 mark(nil) -> nil 0.00/0.20 mark(s(X:S)) -> s(X:S) 0.00/0.20 ->Interpretation type: 0.00/0.20 Linear 0.00/0.20 ->Coefficients: 0.00/0.20 Natural Numbers 0.00/0.20 ->Dimension: 0.00/0.20 1 0.00/0.20 ->Bound: 0.00/0.20 2 0.00/0.20 ->Interpretation: 0.00/0.20 0.00/0.20 [a__add](X1,X2) = X1 + 2.X2 0.00/0.20 [a__from](X) = 2.X + 2 0.00/0.20 [a__fst](X1,X2) = 2.X1 + 2.X2 + 2 0.00/0.20 [a__len](X) = 2.X + 2 0.00/0.20 [mark](X) = 2.X 0.00/0.20 [0] = 1 0.00/0.20 [add](X1,X2) = X1 + 2.X2 0.00/0.20 [cons](X1,X2) = X1 + 1 0.00/0.20 [fSNonEmpty] = 0 0.00/0.20 [from](X) = 2.X + 2 0.00/0.20 [fst](X1,X2) = 2.X1 + 2.X2 + 2 0.00/0.20 [len](X) = 2.X + 1 0.00/0.20 [nil] = 0 0.00/0.20 [s](X) = 2 0.00/0.20 [A__ADD](X1,X2) = 0 0.00/0.20 [A__FROM](X) = 0 0.00/0.20 [A__FST](X1,X2) = X1 + X2 + 2 0.00/0.20 [A__LEN](X) = 0 0.00/0.20 [MARK](X) = X + 2 0.00/0.20 0.00/0.20 Problem 1: 0.00/0.20 0.00/0.20 SCC Processor: 0.00/0.20 -> Pairs: 0.00/0.20 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.20 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.20 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.20 MARK(from(X:S)) -> MARK(X:S) 0.00/0.20 MARK(fst(X1:S,X2:S)) -> A__FST(mark(X1:S),mark(X2:S)) 0.00/0.21 MARK(fst(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.21 MARK(fst(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.21 MARK(len(X:S)) -> MARK(X:S) 0.00/0.21 -> Rules: 0.00/0.21 a__add(0,X:S) -> mark(X:S) 0.00/0.21 a__add(s(X:S),Y:S) -> s(add(X:S,Y:S)) 0.00/0.21 a__add(X1:S,X2:S) -> add(X1:S,X2:S) 0.00/0.21 a__from(X:S) -> cons(mark(X:S),from(s(X:S))) 0.00/0.21 a__from(X:S) -> from(X:S) 0.00/0.21 a__fst(0,Z:S) -> nil 0.00/0.21 a__fst(s(X:S),cons(Y:S,Z:S)) -> cons(mark(Y:S),fst(X:S,Z:S)) 0.00/0.21 a__fst(X1:S,X2:S) -> fst(X1:S,X2:S) 0.00/0.21 a__len(cons(X:S,Z:S)) -> s(len(Z:S)) 0.00/0.21 a__len(nil) -> 0 0.00/0.21 a__len(X:S) -> len(X:S) 0.00/0.21 mark(0) -> 0 0.00/0.21 mark(add(X1:S,X2:S)) -> a__add(mark(X1:S),mark(X2:S)) 0.00/0.21 mark(cons(X1:S,X2:S)) -> cons(mark(X1:S),X2:S) 0.00/0.21 mark(from(X:S)) -> a__from(mark(X:S)) 0.00/0.21 mark(fst(X1:S,X2:S)) -> a__fst(mark(X1:S),mark(X2:S)) 0.00/0.21 mark(len(X:S)) -> a__len(mark(X:S)) 0.00/0.21 mark(nil) -> nil 0.00/0.21 mark(s(X:S)) -> s(X:S) 0.00/0.21 ->Strongly Connected Components: 0.00/0.21 ->->Cycle: 0.00/0.21 ->->-> Pairs: 0.00/0.21 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.21 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.21 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.21 MARK(from(X:S)) -> MARK(X:S) 0.00/0.21 MARK(fst(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.21 MARK(fst(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.21 MARK(len(X:S)) -> MARK(X:S) 0.00/0.21 ->->-> Rules: 0.00/0.21 a__add(0,X:S) -> mark(X:S) 0.00/0.21 a__add(s(X:S),Y:S) -> s(add(X:S,Y:S)) 0.00/0.21 a__add(X1:S,X2:S) -> add(X1:S,X2:S) 0.00/0.21 a__from(X:S) -> cons(mark(X:S),from(s(X:S))) 0.00/0.21 a__from(X:S) -> from(X:S) 0.00/0.21 a__fst(0,Z:S) -> nil 0.00/0.21 a__fst(s(X:S),cons(Y:S,Z:S)) -> cons(mark(Y:S),fst(X:S,Z:S)) 0.00/0.21 a__fst(X1:S,X2:S) -> fst(X1:S,X2:S) 0.00/0.21 a__len(cons(X:S,Z:S)) -> s(len(Z:S)) 0.00/0.21 a__len(nil) -> 0 0.00/0.21 a__len(X:S) -> len(X:S) 0.00/0.21 mark(0) -> 0 0.00/0.21 mark(add(X1:S,X2:S)) -> a__add(mark(X1:S),mark(X2:S)) 0.00/0.21 mark(cons(X1:S,X2:S)) -> cons(mark(X1:S),X2:S) 0.00/0.21 mark(from(X:S)) -> a__from(mark(X:S)) 0.00/0.21 mark(fst(X1:S,X2:S)) -> a__fst(mark(X1:S),mark(X2:S)) 0.00/0.21 mark(len(X:S)) -> a__len(mark(X:S)) 0.00/0.21 mark(nil) -> nil 0.00/0.21 mark(s(X:S)) -> s(X:S) 0.00/0.21 0.00/0.21 Problem 1: 0.00/0.21 0.00/0.21 Subterm Processor: 0.00/0.21 -> Pairs: 0.00/0.21 MARK(add(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.21 MARK(add(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.21 MARK(cons(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.21 MARK(from(X:S)) -> MARK(X:S) 0.00/0.21 MARK(fst(X1:S,X2:S)) -> MARK(X1:S) 0.00/0.21 MARK(fst(X1:S,X2:S)) -> MARK(X2:S) 0.00/0.21 MARK(len(X:S)) -> MARK(X:S) 0.00/0.21 -> Rules: 0.00/0.21 a__add(0,X:S) -> mark(X:S) 0.00/0.21 a__add(s(X:S),Y:S) -> s(add(X:S,Y:S)) 0.00/0.21 a__add(X1:S,X2:S) -> add(X1:S,X2:S) 0.00/0.21 a__from(X:S) -> cons(mark(X:S),from(s(X:S))) 0.00/0.21 a__from(X:S) -> from(X:S) 0.00/0.21 a__fst(0,Z:S) -> nil 0.00/0.21 a__fst(s(X:S),cons(Y:S,Z:S)) -> cons(mark(Y:S),fst(X:S,Z:S)) 0.00/0.21 a__fst(X1:S,X2:S) -> fst(X1:S,X2:S) 0.00/0.21 a__len(cons(X:S,Z:S)) -> s(len(Z:S)) 0.00/0.21 a__len(nil) -> 0 0.00/0.21 a__len(X:S) -> len(X:S) 0.00/0.21 mark(0) -> 0 0.00/0.21 mark(add(X1:S,X2:S)) -> a__add(mark(X1:S),mark(X2:S)) 0.00/0.21 mark(cons(X1:S,X2:S)) -> cons(mark(X1:S),X2:S) 0.00/0.21 mark(from(X:S)) -> a__from(mark(X:S)) 0.00/0.21 mark(fst(X1:S,X2:S)) -> a__fst(mark(X1:S),mark(X2:S)) 0.00/0.21 mark(len(X:S)) -> a__len(mark(X:S)) 0.00/0.21 mark(nil) -> nil 0.00/0.21 mark(s(X:S)) -> s(X:S) 0.00/0.21 ->Projection: 0.00/0.21 pi(MARK) = 1 0.00/0.21 0.00/0.21 Problem 1: 0.00/0.21 0.00/0.21 SCC Processor: 0.00/0.21 -> Pairs: 0.00/0.21 Empty 0.00/0.21 -> Rules: 0.00/0.21 a__add(0,X:S) -> mark(X:S) 0.00/0.21 a__add(s(X:S),Y:S) -> s(add(X:S,Y:S)) 0.00/0.21 a__add(X1:S,X2:S) -> add(X1:S,X2:S) 0.00/0.21 a__from(X:S) -> cons(mark(X:S),from(s(X:S))) 0.00/0.21 a__from(X:S) -> from(X:S) 0.00/0.21 a__fst(0,Z:S) -> nil 0.00/0.21 a__fst(s(X:S),cons(Y:S,Z:S)) -> cons(mark(Y:S),fst(X:S,Z:S)) 0.00/0.21 a__fst(X1:S,X2:S) -> fst(X1:S,X2:S) 0.00/0.21 a__len(cons(X:S,Z:S)) -> s(len(Z:S)) 0.00/0.21 a__len(nil) -> 0 0.00/0.21 a__len(X:S) -> len(X:S) 0.00/0.21 mark(0) -> 0 0.00/0.21 mark(add(X1:S,X2:S)) -> a__add(mark(X1:S),mark(X2:S)) 0.00/0.21 mark(cons(X1:S,X2:S)) -> cons(mark(X1:S),X2:S) 0.00/0.21 mark(from(X:S)) -> a__from(mark(X:S)) 0.00/0.21 mark(fst(X1:S,X2:S)) -> a__fst(mark(X1:S),mark(X2:S)) 0.00/0.21 mark(len(X:S)) -> a__len(mark(X:S)) 0.00/0.21 mark(nil) -> nil 0.00/0.21 mark(s(X:S)) -> s(X:S) 0.00/0.21 ->Strongly Connected Components: 0.00/0.21 There is no strongly connected component 0.00/0.21 0.00/0.21 The problem is finite. 0.00/0.21 EOF