YES(?,O(1)) 0.00/0.13 YES(?,O(1)) 0.00/0.13 0.00/0.13 We are left with following problem, upon which TcT provides the 0.00/0.13 certificate YES(?,O(1)). 0.00/0.13 0.00/0.13 Strict Trs: 0.00/0.13 { fst(0(), Z) -> nil() 0.00/0.13 , fst(s(), cons(Y)) -> cons(Y) 0.00/0.13 , from(X) -> cons(X) 0.00/0.13 , add(0(), X) -> X 0.00/0.13 , add(s(), Y) -> s() 0.00/0.13 , len(nil()) -> 0() 0.00/0.13 , len(cons(X)) -> s() } 0.00/0.13 Obligation: 0.00/0.13 innermost runtime complexity 0.00/0.13 Answer: 0.00/0.13 YES(?,O(1)) 0.00/0.13 0.00/0.13 The input was oriented with the instance of 'Small Polynomial Path 0.00/0.13 Order (PS)' as induced by the safe mapping 0.00/0.13 0.00/0.13 safe(fst) = {1, 2}, safe(0) = {}, safe(nil) = {}, safe(s) = {}, 0.00/0.13 safe(cons) = {1}, safe(from) = {}, safe(add) = {}, safe(len) = {} 0.00/0.13 0.00/0.13 and precedence 0.00/0.13 0.00/0.13 fst > from, add > from, len > from, fst ~ add, fst ~ len, 0.00/0.13 add ~ len . 0.00/0.13 0.00/0.13 Following symbols are considered recursive: 0.00/0.13 0.00/0.13 {} 0.00/0.13 0.00/0.13 The recursion depth is 0. 0.00/0.13 0.00/0.13 For your convenience, here are the satisfied ordering constraints: 0.00/0.13 0.00/0.13 fst(; 0(), Z) > nil() 0.00/0.13 0.00/0.13 fst(; s(), cons(; Y)) > cons(; Y) 0.00/0.13 0.00/0.13 from(X;) > cons(; X) 0.00/0.13 0.00/0.13 add(0(), X;) > X 0.00/0.13 0.00/0.13 add(s(), Y;) > s() 0.00/0.13 0.00/0.13 len(nil();) > 0() 0.00/0.13 0.00/0.13 len(cons(; X);) > s() 0.00/0.13 0.00/0.13 0.00/0.13 Hurray, we answered YES(?,O(1)) 0.00/0.13 EOF