Runtime Complexity TRS:
The TRS R consists of the following rules:
from(X) → cons(X, n__from(s(X)))
head(cons(X, XS)) → X
2nd(cons(X, XS)) → head(activate(XS))
take(0, XS) → nil
take(s(N), cons(X, XS)) → cons(X, n__take(N, activate(XS)))
sel(0, cons(X, XS)) → X
sel(s(N), cons(X, XS)) → sel(N, activate(XS))
from(X) → n__from(X)
take(X1, X2) → n__take(X1, X2)
activate(n__from(X)) → from(X)
activate(n__take(X1, X2)) → take(X1, X2)
activate(X) → X
Renamed function symbols to avoid clashes with predefined symbol.
Runtime Complexity TRS:
The TRS R consists of the following rules:
from'(X) → cons'(X, n__from'(s'(X)))
head'(cons'(X, XS)) → X
2nd'(cons'(X, XS)) → head'(activate'(XS))
take'(0', XS) → nil'
take'(s'(N), cons'(X, XS)) → cons'(X, n__take'(N, activate'(XS)))
sel'(0', cons'(X, XS)) → X
sel'(s'(N), cons'(X, XS)) → sel'(N, activate'(XS))
from'(X) → n__from'(X)
take'(X1, X2) → n__take'(X1, X2)
activate'(n__from'(X)) → from'(X)
activate'(n__take'(X1, X2)) → take'(X1, X2)
activate'(X) → X
Infered types.
Rules:
from'(X) → cons'(X, n__from'(s'(X)))
head'(cons'(X, XS)) → X
2nd'(cons'(X, XS)) → head'(activate'(XS))
take'(0', XS) → nil'
take'(s'(N), cons'(X, XS)) → cons'(X, n__take'(N, activate'(XS)))
sel'(0', cons'(X, XS)) → X
sel'(s'(N), cons'(X, XS)) → sel'(N, activate'(XS))
from'(X) → n__from'(X)
take'(X1, X2) → n__take'(X1, X2)
activate'(n__from'(X)) → from'(X)
activate'(n__take'(X1, X2)) → take'(X1, X2)
activate'(X) → X
Types:
from' :: s':0' → n__from':cons':nil':n__take'
cons' :: s':0' → n__from':cons':nil':n__take' → n__from':cons':nil':n__take'
n__from' :: s':0' → n__from':cons':nil':n__take'
s' :: s':0' → s':0'
head' :: n__from':cons':nil':n__take' → s':0'
2nd' :: n__from':cons':nil':n__take' → s':0'
activate' :: n__from':cons':nil':n__take' → n__from':cons':nil':n__take'
take' :: s':0' → n__from':cons':nil':n__take' → n__from':cons':nil':n__take'
0' :: s':0'
nil' :: n__from':cons':nil':n__take'
n__take' :: s':0' → n__from':cons':nil':n__take' → n__from':cons':nil':n__take'
sel' :: s':0' → n__from':cons':nil':n__take' → s':0'
_hole_n__from':cons':nil':n__take'1 :: n__from':cons':nil':n__take'
_hole_s':0'2 :: s':0'
_gen_n__from':cons':nil':n__take'3 :: Nat → n__from':cons':nil':n__take'
_gen_s':0'4 :: Nat → s':0'
Heuristically decided to analyse the following defined symbols:
activate', sel'
They will be analysed ascendingly in the following order:
activate' < sel'
Rules:
from'(X) → cons'(X, n__from'(s'(X)))
head'(cons'(X, XS)) → X
2nd'(cons'(X, XS)) → head'(activate'(XS))
take'(0', XS) → nil'
take'(s'(N), cons'(X, XS)) → cons'(X, n__take'(N, activate'(XS)))
sel'(0', cons'(X, XS)) → X
sel'(s'(N), cons'(X, XS)) → sel'(N, activate'(XS))
from'(X) → n__from'(X)
take'(X1, X2) → n__take'(X1, X2)
activate'(n__from'(X)) → from'(X)
activate'(n__take'(X1, X2)) → take'(X1, X2)
activate'(X) → X
Types:
from' :: s':0' → n__from':cons':nil':n__take'
cons' :: s':0' → n__from':cons':nil':n__take' → n__from':cons':nil':n__take'
n__from' :: s':0' → n__from':cons':nil':n__take'
s' :: s':0' → s':0'
head' :: n__from':cons':nil':n__take' → s':0'
2nd' :: n__from':cons':nil':n__take' → s':0'
activate' :: n__from':cons':nil':n__take' → n__from':cons':nil':n__take'
take' :: s':0' → n__from':cons':nil':n__take' → n__from':cons':nil':n__take'
0' :: s':0'
nil' :: n__from':cons':nil':n__take'
n__take' :: s':0' → n__from':cons':nil':n__take' → n__from':cons':nil':n__take'
sel' :: s':0' → n__from':cons':nil':n__take' → s':0'
_hole_n__from':cons':nil':n__take'1 :: n__from':cons':nil':n__take'
_hole_s':0'2 :: s':0'
_gen_n__from':cons':nil':n__take'3 :: Nat → n__from':cons':nil':n__take'
_gen_s':0'4 :: Nat → s':0'
Generator Equations:
_gen_n__from':cons':nil':n__take'3(0) ⇔ n__from'(0')
_gen_n__from':cons':nil':n__take'3(+(x, 1)) ⇔ cons'(0', _gen_n__from':cons':nil':n__take'3(x))
_gen_s':0'4(0) ⇔ 0'
_gen_s':0'4(+(x, 1)) ⇔ s'(_gen_s':0'4(x))
The following defined symbols remain to be analysed:
activate', sel'
They will be analysed ascendingly in the following order:
activate' < sel'
Could not prove a rewrite lemma for the defined symbol activate'.
Rules:
from'(X) → cons'(X, n__from'(s'(X)))
head'(cons'(X, XS)) → X
2nd'(cons'(X, XS)) → head'(activate'(XS))
take'(0', XS) → nil'
take'(s'(N), cons'(X, XS)) → cons'(X, n__take'(N, activate'(XS)))
sel'(0', cons'(X, XS)) → X
sel'(s'(N), cons'(X, XS)) → sel'(N, activate'(XS))
from'(X) → n__from'(X)
take'(X1, X2) → n__take'(X1, X2)
activate'(n__from'(X)) → from'(X)
activate'(n__take'(X1, X2)) → take'(X1, X2)
activate'(X) → X
Types:
from' :: s':0' → n__from':cons':nil':n__take'
cons' :: s':0' → n__from':cons':nil':n__take' → n__from':cons':nil':n__take'
n__from' :: s':0' → n__from':cons':nil':n__take'
s' :: s':0' → s':0'
head' :: n__from':cons':nil':n__take' → s':0'
2nd' :: n__from':cons':nil':n__take' → s':0'
activate' :: n__from':cons':nil':n__take' → n__from':cons':nil':n__take'
take' :: s':0' → n__from':cons':nil':n__take' → n__from':cons':nil':n__take'
0' :: s':0'
nil' :: n__from':cons':nil':n__take'
n__take' :: s':0' → n__from':cons':nil':n__take' → n__from':cons':nil':n__take'
sel' :: s':0' → n__from':cons':nil':n__take' → s':0'
_hole_n__from':cons':nil':n__take'1 :: n__from':cons':nil':n__take'
_hole_s':0'2 :: s':0'
_gen_n__from':cons':nil':n__take'3 :: Nat → n__from':cons':nil':n__take'
_gen_s':0'4 :: Nat → s':0'
Generator Equations:
_gen_n__from':cons':nil':n__take'3(0) ⇔ n__from'(0')
_gen_n__from':cons':nil':n__take'3(+(x, 1)) ⇔ cons'(0', _gen_n__from':cons':nil':n__take'3(x))
_gen_s':0'4(0) ⇔ 0'
_gen_s':0'4(+(x, 1)) ⇔ s'(_gen_s':0'4(x))
The following defined symbols remain to be analysed:
sel'
Could not prove a rewrite lemma for the defined symbol sel'.
The following conjecture could not be proven:
sel'(_gen_s':0'4(_n32), _gen_n__from':cons':nil':n__take'3(1)) →? _*5
Rules:
from'(X) → cons'(X, n__from'(s'(X)))
head'(cons'(X, XS)) → X
2nd'(cons'(X, XS)) → head'(activate'(XS))
take'(0', XS) → nil'
take'(s'(N), cons'(X, XS)) → cons'(X, n__take'(N, activate'(XS)))
sel'(0', cons'(X, XS)) → X
sel'(s'(N), cons'(X, XS)) → sel'(N, activate'(XS))
from'(X) → n__from'(X)
take'(X1, X2) → n__take'(X1, X2)
activate'(n__from'(X)) → from'(X)
activate'(n__take'(X1, X2)) → take'(X1, X2)
activate'(X) → X
Types:
from' :: s':0' → n__from':cons':nil':n__take'
cons' :: s':0' → n__from':cons':nil':n__take' → n__from':cons':nil':n__take'
n__from' :: s':0' → n__from':cons':nil':n__take'
s' :: s':0' → s':0'
head' :: n__from':cons':nil':n__take' → s':0'
2nd' :: n__from':cons':nil':n__take' → s':0'
activate' :: n__from':cons':nil':n__take' → n__from':cons':nil':n__take'
take' :: s':0' → n__from':cons':nil':n__take' → n__from':cons':nil':n__take'
0' :: s':0'
nil' :: n__from':cons':nil':n__take'
n__take' :: s':0' → n__from':cons':nil':n__take' → n__from':cons':nil':n__take'
sel' :: s':0' → n__from':cons':nil':n__take' → s':0'
_hole_n__from':cons':nil':n__take'1 :: n__from':cons':nil':n__take'
_hole_s':0'2 :: s':0'
_gen_n__from':cons':nil':n__take'3 :: Nat → n__from':cons':nil':n__take'
_gen_s':0'4 :: Nat → s':0'
Generator Equations:
_gen_n__from':cons':nil':n__take'3(0) ⇔ n__from'(0')
_gen_n__from':cons':nil':n__take'3(+(x, 1)) ⇔ cons'(0', _gen_n__from':cons':nil':n__take'3(x))
_gen_s':0'4(0) ⇔ 0'
_gen_s':0'4(+(x, 1)) ⇔ s'(_gen_s':0'4(x))
No more defined symbols left to analyse.