111.06/30.91 WORST_CASE(NON_POLY, ?) 111.06/30.92 proof of /export/starexec/sandbox/benchmark/theBenchmark.xml 111.06/30.92 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 111.06/30.92 111.06/30.92 111.06/30.92 The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(INF, INF). 111.06/30.92 111.06/30.92 (0) CpxTRS 111.06/30.92 (1) RelTrsToDecreasingLoopProblemProof [LOWER BOUND(ID), 0 ms] 111.06/30.92 (2) TRS for Loop Detection 111.06/30.92 (3) DecreasingLoopProof [LOWER BOUND(ID), 0 ms] 111.06/30.92 (4) BEST 111.06/30.92 (5) proven lower bound 111.06/30.92 (6) LowerBoundPropagationProof [FINISHED, 0 ms] 111.06/30.92 (7) BOUNDS(n^1, INF) 111.06/30.92 (8) TRS for Loop Detection 111.06/30.92 (9) InfiniteLowerBoundProof [FINISHED, 20.2 s] 111.06/30.92 (10) BOUNDS(INF, INF) 111.06/30.92 111.06/30.92 111.06/30.92 ---------------------------------------- 111.06/30.92 111.06/30.92 (0) 111.06/30.92 Obligation: 111.06/30.92 The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(INF, INF). 111.06/30.92 111.06/30.92 111.06/30.92 The TRS R consists of the following rules: 111.06/30.92 111.06/30.92 a__zeros -> cons(0, zeros) 111.06/30.92 a__U11(tt, L) -> a__U12(tt, L) 111.06/30.92 a__U12(tt, L) -> s(a__length(mark(L))) 111.06/30.92 a__U21(tt, IL, M, N) -> a__U22(tt, IL, M, N) 111.06/30.92 a__U22(tt, IL, M, N) -> a__U23(tt, IL, M, N) 111.06/30.92 a__U23(tt, IL, M, N) -> cons(mark(N), take(M, IL)) 111.06/30.92 a__length(nil) -> 0 111.06/30.92 a__length(cons(N, L)) -> a__U11(tt, L) 111.06/30.92 a__take(0, IL) -> nil 111.06/30.92 a__take(s(M), cons(N, IL)) -> a__U21(tt, IL, M, N) 111.06/30.92 mark(zeros) -> a__zeros 111.06/30.92 mark(U11(X1, X2)) -> a__U11(mark(X1), X2) 111.06/30.92 mark(U12(X1, X2)) -> a__U12(mark(X1), X2) 111.06/30.92 mark(length(X)) -> a__length(mark(X)) 111.06/30.92 mark(U21(X1, X2, X3, X4)) -> a__U21(mark(X1), X2, X3, X4) 111.06/30.92 mark(U22(X1, X2, X3, X4)) -> a__U22(mark(X1), X2, X3, X4) 111.06/30.92 mark(U23(X1, X2, X3, X4)) -> a__U23(mark(X1), X2, X3, X4) 111.06/30.92 mark(take(X1, X2)) -> a__take(mark(X1), mark(X2)) 111.06/30.92 mark(cons(X1, X2)) -> cons(mark(X1), X2) 111.06/30.92 mark(0) -> 0 111.06/30.92 mark(tt) -> tt 111.06/30.92 mark(s(X)) -> s(mark(X)) 111.06/30.92 mark(nil) -> nil 111.06/30.92 a__zeros -> zeros 111.06/30.92 a__U11(X1, X2) -> U11(X1, X2) 111.06/30.92 a__U12(X1, X2) -> U12(X1, X2) 111.06/30.92 a__length(X) -> length(X) 111.06/30.92 a__U21(X1, X2, X3, X4) -> U21(X1, X2, X3, X4) 111.06/30.92 a__U22(X1, X2, X3, X4) -> U22(X1, X2, X3, X4) 111.06/30.92 a__U23(X1, X2, X3, X4) -> U23(X1, X2, X3, X4) 111.06/30.92 a__take(X1, X2) -> take(X1, X2) 111.06/30.92 111.06/30.92 S is empty. 111.06/30.92 Rewrite Strategy: INNERMOST 111.06/30.92 ---------------------------------------- 111.06/30.92 111.06/30.92 (1) RelTrsToDecreasingLoopProblemProof (LOWER BOUND(ID)) 111.06/30.92 Transformed a relative TRS into a decreasing-loop problem. 111.06/30.92 ---------------------------------------- 111.06/30.92 111.06/30.92 (2) 111.06/30.92 Obligation: 111.06/30.92 Analyzing the following TRS for decreasing loops: 111.06/30.92 111.06/30.92 The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(INF, INF). 111.06/30.92 111.06/30.92 111.06/30.92 The TRS R consists of the following rules: 111.06/30.92 111.06/30.92 a__zeros -> cons(0, zeros) 111.06/30.92 a__U11(tt, L) -> a__U12(tt, L) 111.06/30.92 a__U12(tt, L) -> s(a__length(mark(L))) 111.06/30.92 a__U21(tt, IL, M, N) -> a__U22(tt, IL, M, N) 111.06/30.92 a__U22(tt, IL, M, N) -> a__U23(tt, IL, M, N) 111.06/30.92 a__U23(tt, IL, M, N) -> cons(mark(N), take(M, IL)) 111.06/30.92 a__length(nil) -> 0 111.06/30.92 a__length(cons(N, L)) -> a__U11(tt, L) 111.06/30.92 a__take(0, IL) -> nil 111.06/30.92 a__take(s(M), cons(N, IL)) -> a__U21(tt, IL, M, N) 111.06/30.92 mark(zeros) -> a__zeros 111.06/30.92 mark(U11(X1, X2)) -> a__U11(mark(X1), X2) 111.06/30.92 mark(U12(X1, X2)) -> a__U12(mark(X1), X2) 111.06/30.92 mark(length(X)) -> a__length(mark(X)) 111.06/30.92 mark(U21(X1, X2, X3, X4)) -> a__U21(mark(X1), X2, X3, X4) 111.06/30.92 mark(U22(X1, X2, X3, X4)) -> a__U22(mark(X1), X2, X3, X4) 111.06/30.92 mark(U23(X1, X2, X3, X4)) -> a__U23(mark(X1), X2, X3, X4) 111.06/30.92 mark(take(X1, X2)) -> a__take(mark(X1), mark(X2)) 111.06/30.92 mark(cons(X1, X2)) -> cons(mark(X1), X2) 111.06/30.92 mark(0) -> 0 111.06/30.92 mark(tt) -> tt 111.06/30.92 mark(s(X)) -> s(mark(X)) 111.06/30.92 mark(nil) -> nil 111.06/30.92 a__zeros -> zeros 111.06/30.92 a__U11(X1, X2) -> U11(X1, X2) 111.06/30.92 a__U12(X1, X2) -> U12(X1, X2) 111.06/30.92 a__length(X) -> length(X) 111.06/30.92 a__U21(X1, X2, X3, X4) -> U21(X1, X2, X3, X4) 111.06/30.92 a__U22(X1, X2, X3, X4) -> U22(X1, X2, X3, X4) 111.06/30.92 a__U23(X1, X2, X3, X4) -> U23(X1, X2, X3, X4) 111.06/30.92 a__take(X1, X2) -> take(X1, X2) 111.06/30.92 111.06/30.92 S is empty. 111.06/30.92 Rewrite Strategy: INNERMOST 111.06/30.92 ---------------------------------------- 111.06/30.92 111.06/30.92 (3) DecreasingLoopProof (LOWER BOUND(ID)) 111.06/30.92 The following loop(s) give(s) rise to the lower bound Omega(n^1): 111.06/30.92 111.06/30.92 The rewrite sequence 111.06/30.92 111.06/30.92 mark(U21(X1, X2, X3, X4)) ->^+ a__U21(mark(X1), X2, X3, X4) 111.06/30.92 111.06/30.92 gives rise to a decreasing loop by considering the right hand sides subterm at position [0]. 111.06/30.92 111.06/30.92 The pumping substitution is [X1 / U21(X1, X2, X3, X4)]. 111.06/30.92 111.06/30.92 The result substitution is [ ]. 111.06/30.92 111.06/30.92 111.06/30.92 111.06/30.92 111.06/30.92 ---------------------------------------- 111.06/30.92 111.06/30.92 (4) 111.06/30.92 Complex Obligation (BEST) 111.06/30.92 111.06/30.92 ---------------------------------------- 111.06/30.92 111.06/30.92 (5) 111.06/30.92 Obligation: 111.06/30.92 Proved the lower bound n^1 for the following obligation: 111.06/30.92 111.06/30.92 The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(INF, INF). 111.06/30.92 111.06/30.92 111.06/30.92 The TRS R consists of the following rules: 111.06/30.92 111.06/30.92 a__zeros -> cons(0, zeros) 111.06/30.92 a__U11(tt, L) -> a__U12(tt, L) 111.06/30.92 a__U12(tt, L) -> s(a__length(mark(L))) 111.06/30.92 a__U21(tt, IL, M, N) -> a__U22(tt, IL, M, N) 111.06/30.92 a__U22(tt, IL, M, N) -> a__U23(tt, IL, M, N) 111.06/30.92 a__U23(tt, IL, M, N) -> cons(mark(N), take(M, IL)) 111.06/30.92 a__length(nil) -> 0 111.06/30.92 a__length(cons(N, L)) -> a__U11(tt, L) 111.06/30.92 a__take(0, IL) -> nil 111.06/30.92 a__take(s(M), cons(N, IL)) -> a__U21(tt, IL, M, N) 111.06/30.92 mark(zeros) -> a__zeros 111.06/30.92 mark(U11(X1, X2)) -> a__U11(mark(X1), X2) 111.06/30.92 mark(U12(X1, X2)) -> a__U12(mark(X1), X2) 111.06/30.92 mark(length(X)) -> a__length(mark(X)) 111.06/30.92 mark(U21(X1, X2, X3, X4)) -> a__U21(mark(X1), X2, X3, X4) 111.06/30.92 mark(U22(X1, X2, X3, X4)) -> a__U22(mark(X1), X2, X3, X4) 111.06/30.92 mark(U23(X1, X2, X3, X4)) -> a__U23(mark(X1), X2, X3, X4) 111.06/30.92 mark(take(X1, X2)) -> a__take(mark(X1), mark(X2)) 111.06/30.92 mark(cons(X1, X2)) -> cons(mark(X1), X2) 111.06/30.92 mark(0) -> 0 111.06/30.92 mark(tt) -> tt 111.06/30.92 mark(s(X)) -> s(mark(X)) 111.06/30.92 mark(nil) -> nil 111.06/30.92 a__zeros -> zeros 111.06/30.92 a__U11(X1, X2) -> U11(X1, X2) 111.06/30.92 a__U12(X1, X2) -> U12(X1, X2) 111.06/30.92 a__length(X) -> length(X) 111.06/30.92 a__U21(X1, X2, X3, X4) -> U21(X1, X2, X3, X4) 111.06/30.92 a__U22(X1, X2, X3, X4) -> U22(X1, X2, X3, X4) 111.06/30.92 a__U23(X1, X2, X3, X4) -> U23(X1, X2, X3, X4) 111.06/30.92 a__take(X1, X2) -> take(X1, X2) 111.06/30.92 111.06/30.92 S is empty. 111.06/30.92 Rewrite Strategy: INNERMOST 111.06/30.92 ---------------------------------------- 111.06/30.92 111.06/30.92 (6) LowerBoundPropagationProof (FINISHED) 111.06/30.92 Propagated lower bound. 111.06/30.92 ---------------------------------------- 111.06/30.92 111.06/30.92 (7) 111.06/30.92 BOUNDS(n^1, INF) 111.06/30.92 111.06/30.92 ---------------------------------------- 111.06/30.92 111.06/30.92 (8) 111.06/30.92 Obligation: 111.06/30.92 Analyzing the following TRS for decreasing loops: 111.06/30.92 111.06/30.92 The Runtime Complexity (innermost) of the given CpxTRS could be proven to be BOUNDS(INF, INF). 111.06/30.92 111.06/30.92 111.06/30.92 The TRS R consists of the following rules: 111.06/30.92 111.06/30.92 a__zeros -> cons(0, zeros) 111.06/30.92 a__U11(tt, L) -> a__U12(tt, L) 111.06/30.92 a__U12(tt, L) -> s(a__length(mark(L))) 111.06/30.92 a__U21(tt, IL, M, N) -> a__U22(tt, IL, M, N) 111.06/30.92 a__U22(tt, IL, M, N) -> a__U23(tt, IL, M, N) 111.06/30.92 a__U23(tt, IL, M, N) -> cons(mark(N), take(M, IL)) 111.06/30.92 a__length(nil) -> 0 111.06/30.92 a__length(cons(N, L)) -> a__U11(tt, L) 111.06/30.92 a__take(0, IL) -> nil 111.06/30.92 a__take(s(M), cons(N, IL)) -> a__U21(tt, IL, M, N) 111.06/30.92 mark(zeros) -> a__zeros 111.06/30.92 mark(U11(X1, X2)) -> a__U11(mark(X1), X2) 111.06/30.92 mark(U12(X1, X2)) -> a__U12(mark(X1), X2) 111.06/30.92 mark(length(X)) -> a__length(mark(X)) 111.06/30.92 mark(U21(X1, X2, X3, X4)) -> a__U21(mark(X1), X2, X3, X4) 111.06/30.92 mark(U22(X1, X2, X3, X4)) -> a__U22(mark(X1), X2, X3, X4) 111.06/30.92 mark(U23(X1, X2, X3, X4)) -> a__U23(mark(X1), X2, X3, X4) 111.06/30.92 mark(take(X1, X2)) -> a__take(mark(X1), mark(X2)) 111.06/30.92 mark(cons(X1, X2)) -> cons(mark(X1), X2) 111.06/30.92 mark(0) -> 0 111.06/30.92 mark(tt) -> tt 111.06/30.92 mark(s(X)) -> s(mark(X)) 111.06/30.92 mark(nil) -> nil 111.06/30.92 a__zeros -> zeros 111.06/30.92 a__U11(X1, X2) -> U11(X1, X2) 111.06/30.92 a__U12(X1, X2) -> U12(X1, X2) 111.06/30.92 a__length(X) -> length(X) 111.06/30.92 a__U21(X1, X2, X3, X4) -> U21(X1, X2, X3, X4) 111.06/30.92 a__U22(X1, X2, X3, X4) -> U22(X1, X2, X3, X4) 111.06/30.92 a__U23(X1, X2, X3, X4) -> U23(X1, X2, X3, X4) 111.06/30.92 a__take(X1, X2) -> take(X1, X2) 111.06/30.92 111.06/30.92 S is empty. 111.06/30.92 Rewrite Strategy: INNERMOST 111.06/30.92 ---------------------------------------- 111.06/30.92 111.06/30.92 (9) InfiniteLowerBoundProof (FINISHED) 111.06/30.92 The following loop proves infinite runtime complexity: 111.06/30.92 111.06/30.92 The rewrite sequence 111.06/30.92 111.06/30.92 a__U11(tt, zeros) ->^+ s(a__U11(tt, zeros)) 111.06/30.92 111.06/30.92 gives rise to a decreasing loop by considering the right hand sides subterm at position [0]. 111.06/30.92 111.06/30.92 The pumping substitution is [ ]. 111.06/30.92 111.06/30.92 The result substitution is [ ]. 111.06/30.92 111.06/30.92 111.06/30.92 111.06/30.92 111.06/30.92 ---------------------------------------- 111.06/30.92 111.06/30.92 (10) 111.06/30.92 BOUNDS(INF, INF) 111.32/30.98 EOF