Runtime Complexity TRS:
The TRS R consists of the following rules:

a__and(tt, X) → mark(X)
a__plus(N, 0) → mark(N)
a__plus(N, s(M)) → s(a__plus(mark(N), mark(M)))
a__x(N, 0) → 0
a__x(N, s(M)) → a__plus(a__x(mark(N), mark(M)), mark(N))
mark(and(X1, X2)) → a__and(mark(X1), X2)
mark(plus(X1, X2)) → a__plus(mark(X1), mark(X2))
mark(x(X1, X2)) → a__x(mark(X1), mark(X2))
mark(tt) → tt
mark(0) → 0
mark(s(X)) → s(mark(X))
a__and(X1, X2) → and(X1, X2)
a__plus(X1, X2) → plus(X1, X2)
a__x(X1, X2) → x(X1, X2)

Rewrite Strategy: INNERMOST


Renamed function symbols to avoid clashes with predefined symbol.


Runtime Complexity TRS:
The TRS R consists of the following rules:


a__and'(tt', X) → mark'(X)
a__plus'(N, 0') → mark'(N)
a__plus'(N, s'(M)) → s'(a__plus'(mark'(N), mark'(M)))
a__x'(N, 0') → 0'
a__x'(N, s'(M)) → a__plus'(a__x'(mark'(N), mark'(M)), mark'(N))
mark'(and'(X1, X2)) → a__and'(mark'(X1), X2)
mark'(plus'(X1, X2)) → a__plus'(mark'(X1), mark'(X2))
mark'(x'(X1, X2)) → a__x'(mark'(X1), mark'(X2))
mark'(tt') → tt'
mark'(0') → 0'
mark'(s'(X)) → s'(mark'(X))
a__and'(X1, X2) → and'(X1, X2)
a__plus'(X1, X2) → plus'(X1, X2)
a__x'(X1, X2) → x'(X1, X2)

Rewrite Strategy: INNERMOST


Infered types.


Rules:
a__and'(tt', X) → mark'(X)
a__plus'(N, 0') → mark'(N)
a__plus'(N, s'(M)) → s'(a__plus'(mark'(N), mark'(M)))
a__x'(N, 0') → 0'
a__x'(N, s'(M)) → a__plus'(a__x'(mark'(N), mark'(M)), mark'(N))
mark'(and'(X1, X2)) → a__and'(mark'(X1), X2)
mark'(plus'(X1, X2)) → a__plus'(mark'(X1), mark'(X2))
mark'(x'(X1, X2)) → a__x'(mark'(X1), mark'(X2))
mark'(tt') → tt'
mark'(0') → 0'
mark'(s'(X)) → s'(mark'(X))
a__and'(X1, X2) → and'(X1, X2)
a__plus'(X1, X2) → plus'(X1, X2)
a__x'(X1, X2) → x'(X1, X2)

Types:
a__and' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
tt' :: tt':0':s':and':plus':x'
mark' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
a__plus' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
0' :: tt':0':s':and':plus':x'
s' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
a__x' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
and' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
plus' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
x' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
_hole_tt':0':s':and':plus':x'1 :: tt':0':s':and':plus':x'
_gen_tt':0':s':and':plus':x'2 :: Nat → tt':0':s':and':plus':x'


Heuristically decided to analyse the following defined symbols:
mark', a__plus', a__x'

They will be analysed ascendingly in the following order:
mark' = a__plus'
mark' = a__x'
a__plus' = a__x'


Rules:
a__and'(tt', X) → mark'(X)
a__plus'(N, 0') → mark'(N)
a__plus'(N, s'(M)) → s'(a__plus'(mark'(N), mark'(M)))
a__x'(N, 0') → 0'
a__x'(N, s'(M)) → a__plus'(a__x'(mark'(N), mark'(M)), mark'(N))
mark'(and'(X1, X2)) → a__and'(mark'(X1), X2)
mark'(plus'(X1, X2)) → a__plus'(mark'(X1), mark'(X2))
mark'(x'(X1, X2)) → a__x'(mark'(X1), mark'(X2))
mark'(tt') → tt'
mark'(0') → 0'
mark'(s'(X)) → s'(mark'(X))
a__and'(X1, X2) → and'(X1, X2)
a__plus'(X1, X2) → plus'(X1, X2)
a__x'(X1, X2) → x'(X1, X2)

Types:
a__and' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
tt' :: tt':0':s':and':plus':x'
mark' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
a__plus' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
0' :: tt':0':s':and':plus':x'
s' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
a__x' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
and' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
plus' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
x' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
_hole_tt':0':s':and':plus':x'1 :: tt':0':s':and':plus':x'
_gen_tt':0':s':and':plus':x'2 :: Nat → tt':0':s':and':plus':x'

Generator Equations:
_gen_tt':0':s':and':plus':x'2(0) ⇔ tt'
_gen_tt':0':s':and':plus':x'2(+(x, 1)) ⇔ s'(_gen_tt':0':s':and':plus':x'2(x))

The following defined symbols remain to be analysed:
a__plus', mark', a__x'

They will be analysed ascendingly in the following order:
mark' = a__plus'
mark' = a__x'
a__plus' = a__x'


Could not prove a rewrite lemma for the defined symbol a__plus'.


Rules:
a__and'(tt', X) → mark'(X)
a__plus'(N, 0') → mark'(N)
a__plus'(N, s'(M)) → s'(a__plus'(mark'(N), mark'(M)))
a__x'(N, 0') → 0'
a__x'(N, s'(M)) → a__plus'(a__x'(mark'(N), mark'(M)), mark'(N))
mark'(and'(X1, X2)) → a__and'(mark'(X1), X2)
mark'(plus'(X1, X2)) → a__plus'(mark'(X1), mark'(X2))
mark'(x'(X1, X2)) → a__x'(mark'(X1), mark'(X2))
mark'(tt') → tt'
mark'(0') → 0'
mark'(s'(X)) → s'(mark'(X))
a__and'(X1, X2) → and'(X1, X2)
a__plus'(X1, X2) → plus'(X1, X2)
a__x'(X1, X2) → x'(X1, X2)

Types:
a__and' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
tt' :: tt':0':s':and':plus':x'
mark' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
a__plus' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
0' :: tt':0':s':and':plus':x'
s' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
a__x' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
and' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
plus' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
x' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
_hole_tt':0':s':and':plus':x'1 :: tt':0':s':and':plus':x'
_gen_tt':0':s':and':plus':x'2 :: Nat → tt':0':s':and':plus':x'

Generator Equations:
_gen_tt':0':s':and':plus':x'2(0) ⇔ tt'
_gen_tt':0':s':and':plus':x'2(+(x, 1)) ⇔ s'(_gen_tt':0':s':and':plus':x'2(x))

The following defined symbols remain to be analysed:
mark', a__x'

They will be analysed ascendingly in the following order:
mark' = a__plus'
mark' = a__x'
a__plus' = a__x'


Proved the following rewrite lemma:
mark'(_gen_tt':0':s':and':plus':x'2(_n30693)) → _gen_tt':0':s':and':plus':x'2(_n30693), rt ∈ Ω(1 + n30693)

Induction Base:
mark'(_gen_tt':0':s':and':plus':x'2(0)) →RΩ(1)
tt'

Induction Step:
mark'(_gen_tt':0':s':and':plus':x'2(+(_$n30694, 1))) →RΩ(1)
s'(mark'(_gen_tt':0':s':and':plus':x'2(_$n30694))) →IH
s'(_gen_tt':0':s':and':plus':x'2(_$n30694))

We have rt ∈ Ω(n) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).


Rules:
a__and'(tt', X) → mark'(X)
a__plus'(N, 0') → mark'(N)
a__plus'(N, s'(M)) → s'(a__plus'(mark'(N), mark'(M)))
a__x'(N, 0') → 0'
a__x'(N, s'(M)) → a__plus'(a__x'(mark'(N), mark'(M)), mark'(N))
mark'(and'(X1, X2)) → a__and'(mark'(X1), X2)
mark'(plus'(X1, X2)) → a__plus'(mark'(X1), mark'(X2))
mark'(x'(X1, X2)) → a__x'(mark'(X1), mark'(X2))
mark'(tt') → tt'
mark'(0') → 0'
mark'(s'(X)) → s'(mark'(X))
a__and'(X1, X2) → and'(X1, X2)
a__plus'(X1, X2) → plus'(X1, X2)
a__x'(X1, X2) → x'(X1, X2)

Types:
a__and' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
tt' :: tt':0':s':and':plus':x'
mark' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
a__plus' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
0' :: tt':0':s':and':plus':x'
s' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
a__x' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
and' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
plus' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
x' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
_hole_tt':0':s':and':plus':x'1 :: tt':0':s':and':plus':x'
_gen_tt':0':s':and':plus':x'2 :: Nat → tt':0':s':and':plus':x'

Lemmas:
mark'(_gen_tt':0':s':and':plus':x'2(_n30693)) → _gen_tt':0':s':and':plus':x'2(_n30693), rt ∈ Ω(1 + n30693)

Generator Equations:
_gen_tt':0':s':and':plus':x'2(0) ⇔ tt'
_gen_tt':0':s':and':plus':x'2(+(x, 1)) ⇔ s'(_gen_tt':0':s':and':plus':x'2(x))

The following defined symbols remain to be analysed:
a__x', a__plus'

They will be analysed ascendingly in the following order:
mark' = a__plus'
mark' = a__x'
a__plus' = a__x'


Proved the following rewrite lemma:
a__x'(_gen_tt':0':s':and':plus':x'2(a), _gen_tt':0':s':and':plus':x'2(+(1, _n31592))) → _*3, rt ∈ Ω(a32167·n31592 + n31592 + n315922)

Induction Base:
a__x'(_gen_tt':0':s':and':plus':x'2(a), _gen_tt':0':s':and':plus':x'2(+(1, 0)))

Induction Step:
a__x'(_gen_tt':0':s':and':plus':x'2(_a32167), _gen_tt':0':s':and':plus':x'2(+(1, +(_$n31593, 1)))) →RΩ(1)
a__plus'(a__x'(mark'(_gen_tt':0':s':and':plus':x'2(_a32167)), mark'(_gen_tt':0':s':and':plus':x'2(+(1, _$n31593)))), mark'(_gen_tt':0':s':and':plus':x'2(_a32167))) →LΩ(1 + a32167)
a__plus'(a__x'(_gen_tt':0':s':and':plus':x'2(_a32167), mark'(_gen_tt':0':s':and':plus':x'2(+(1, _$n31593)))), mark'(_gen_tt':0':s':and':plus':x'2(_a32167))) →LΩ(2 + $n31593)
a__plus'(a__x'(_gen_tt':0':s':and':plus':x'2(_a32167), _gen_tt':0':s':and':plus':x'2(+(1, _$n31593))), mark'(_gen_tt':0':s':and':plus':x'2(_a32167))) →IH
a__plus'(_*3, mark'(_gen_tt':0':s':and':plus':x'2(_a32167))) →LΩ(1 + a32167)
a__plus'(_*3, _gen_tt':0':s':and':plus':x'2(_a32167))

We have rt ∈ Ω(n2) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n2).


Rules:
a__and'(tt', X) → mark'(X)
a__plus'(N, 0') → mark'(N)
a__plus'(N, s'(M)) → s'(a__plus'(mark'(N), mark'(M)))
a__x'(N, 0') → 0'
a__x'(N, s'(M)) → a__plus'(a__x'(mark'(N), mark'(M)), mark'(N))
mark'(and'(X1, X2)) → a__and'(mark'(X1), X2)
mark'(plus'(X1, X2)) → a__plus'(mark'(X1), mark'(X2))
mark'(x'(X1, X2)) → a__x'(mark'(X1), mark'(X2))
mark'(tt') → tt'
mark'(0') → 0'
mark'(s'(X)) → s'(mark'(X))
a__and'(X1, X2) → and'(X1, X2)
a__plus'(X1, X2) → plus'(X1, X2)
a__x'(X1, X2) → x'(X1, X2)

Types:
a__and' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
tt' :: tt':0':s':and':plus':x'
mark' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
a__plus' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
0' :: tt':0':s':and':plus':x'
s' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
a__x' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
and' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
plus' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
x' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
_hole_tt':0':s':and':plus':x'1 :: tt':0':s':and':plus':x'
_gen_tt':0':s':and':plus':x'2 :: Nat → tt':0':s':and':plus':x'

Lemmas:
mark'(_gen_tt':0':s':and':plus':x'2(_n30693)) → _gen_tt':0':s':and':plus':x'2(_n30693), rt ∈ Ω(1 + n30693)
a__x'(_gen_tt':0':s':and':plus':x'2(a), _gen_tt':0':s':and':plus':x'2(+(1, _n31592))) → _*3, rt ∈ Ω(a32167·n31592 + n31592 + n315922)

Generator Equations:
_gen_tt':0':s':and':plus':x'2(0) ⇔ tt'
_gen_tt':0':s':and':plus':x'2(+(x, 1)) ⇔ s'(_gen_tt':0':s':and':plus':x'2(x))

The following defined symbols remain to be analysed:
a__plus', mark'

They will be analysed ascendingly in the following order:
mark' = a__plus'
mark' = a__x'
a__plus' = a__x'


Proved the following rewrite lemma:
a__plus'(_gen_tt':0':s':and':plus':x'2(a), _gen_tt':0':s':and':plus':x'2(+(1, _n39644))) → _*3, rt ∈ Ω(a40455·n39644 + n39644 + n396442)

Induction Base:
a__plus'(_gen_tt':0':s':and':plus':x'2(a), _gen_tt':0':s':and':plus':x'2(+(1, 0)))

Induction Step:
a__plus'(_gen_tt':0':s':and':plus':x'2(_a40455), _gen_tt':0':s':and':plus':x'2(+(1, +(_$n39645, 1)))) →RΩ(1)
s'(a__plus'(mark'(_gen_tt':0':s':and':plus':x'2(_a40455)), mark'(_gen_tt':0':s':and':plus':x'2(+(1, _$n39645))))) →LΩ(1 + a40455)
s'(a__plus'(_gen_tt':0':s':and':plus':x'2(_a40455), mark'(_gen_tt':0':s':and':plus':x'2(+(1, _$n39645))))) →LΩ(2 + $n39645)
s'(a__plus'(_gen_tt':0':s':and':plus':x'2(_a40455), _gen_tt':0':s':and':plus':x'2(+(1, _$n39645)))) →IH
s'(_*3)

We have rt ∈ Ω(n2) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n2).


Rules:
a__and'(tt', X) → mark'(X)
a__plus'(N, 0') → mark'(N)
a__plus'(N, s'(M)) → s'(a__plus'(mark'(N), mark'(M)))
a__x'(N, 0') → 0'
a__x'(N, s'(M)) → a__plus'(a__x'(mark'(N), mark'(M)), mark'(N))
mark'(and'(X1, X2)) → a__and'(mark'(X1), X2)
mark'(plus'(X1, X2)) → a__plus'(mark'(X1), mark'(X2))
mark'(x'(X1, X2)) → a__x'(mark'(X1), mark'(X2))
mark'(tt') → tt'
mark'(0') → 0'
mark'(s'(X)) → s'(mark'(X))
a__and'(X1, X2) → and'(X1, X2)
a__plus'(X1, X2) → plus'(X1, X2)
a__x'(X1, X2) → x'(X1, X2)

Types:
a__and' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
tt' :: tt':0':s':and':plus':x'
mark' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
a__plus' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
0' :: tt':0':s':and':plus':x'
s' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
a__x' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
and' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
plus' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
x' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
_hole_tt':0':s':and':plus':x'1 :: tt':0':s':and':plus':x'
_gen_tt':0':s':and':plus':x'2 :: Nat → tt':0':s':and':plus':x'

Lemmas:
mark'(_gen_tt':0':s':and':plus':x'2(_n30693)) → _gen_tt':0':s':and':plus':x'2(_n30693), rt ∈ Ω(1 + n30693)
a__x'(_gen_tt':0':s':and':plus':x'2(a), _gen_tt':0':s':and':plus':x'2(+(1, _n31592))) → _*3, rt ∈ Ω(a32167·n31592 + n31592 + n315922)
a__plus'(_gen_tt':0':s':and':plus':x'2(a), _gen_tt':0':s':and':plus':x'2(+(1, _n39644))) → _*3, rt ∈ Ω(a40455·n39644 + n39644 + n396442)

Generator Equations:
_gen_tt':0':s':and':plus':x'2(0) ⇔ tt'
_gen_tt':0':s':and':plus':x'2(+(x, 1)) ⇔ s'(_gen_tt':0':s':and':plus':x'2(x))

The following defined symbols remain to be analysed:
mark', a__x'

They will be analysed ascendingly in the following order:
mark' = a__plus'
mark' = a__x'
a__plus' = a__x'


Proved the following rewrite lemma:
mark'(_gen_tt':0':s':and':plus':x'2(_n43721)) → _gen_tt':0':s':and':plus':x'2(_n43721), rt ∈ Ω(1 + n43721)

Induction Base:
mark'(_gen_tt':0':s':and':plus':x'2(0)) →RΩ(1)
tt'

Induction Step:
mark'(_gen_tt':0':s':and':plus':x'2(+(_$n43722, 1))) →RΩ(1)
s'(mark'(_gen_tt':0':s':and':plus':x'2(_$n43722))) →IH
s'(_gen_tt':0':s':and':plus':x'2(_$n43722))

We have rt ∈ Ω(n) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).


Rules:
a__and'(tt', X) → mark'(X)
a__plus'(N, 0') → mark'(N)
a__plus'(N, s'(M)) → s'(a__plus'(mark'(N), mark'(M)))
a__x'(N, 0') → 0'
a__x'(N, s'(M)) → a__plus'(a__x'(mark'(N), mark'(M)), mark'(N))
mark'(and'(X1, X2)) → a__and'(mark'(X1), X2)
mark'(plus'(X1, X2)) → a__plus'(mark'(X1), mark'(X2))
mark'(x'(X1, X2)) → a__x'(mark'(X1), mark'(X2))
mark'(tt') → tt'
mark'(0') → 0'
mark'(s'(X)) → s'(mark'(X))
a__and'(X1, X2) → and'(X1, X2)
a__plus'(X1, X2) → plus'(X1, X2)
a__x'(X1, X2) → x'(X1, X2)

Types:
a__and' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
tt' :: tt':0':s':and':plus':x'
mark' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
a__plus' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
0' :: tt':0':s':and':plus':x'
s' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
a__x' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
and' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
plus' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
x' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
_hole_tt':0':s':and':plus':x'1 :: tt':0':s':and':plus':x'
_gen_tt':0':s':and':plus':x'2 :: Nat → tt':0':s':and':plus':x'

Lemmas:
mark'(_gen_tt':0':s':and':plus':x'2(_n43721)) → _gen_tt':0':s':and':plus':x'2(_n43721), rt ∈ Ω(1 + n43721)
a__x'(_gen_tt':0':s':and':plus':x'2(a), _gen_tt':0':s':and':plus':x'2(+(1, _n31592))) → _*3, rt ∈ Ω(a32167·n31592 + n31592 + n315922)
a__plus'(_gen_tt':0':s':and':plus':x'2(a), _gen_tt':0':s':and':plus':x'2(+(1, _n39644))) → _*3, rt ∈ Ω(a40455·n39644 + n39644 + n396442)

Generator Equations:
_gen_tt':0':s':and':plus':x'2(0) ⇔ tt'
_gen_tt':0':s':and':plus':x'2(+(x, 1)) ⇔ s'(_gen_tt':0':s':and':plus':x'2(x))

The following defined symbols remain to be analysed:
a__x'

They will be analysed ascendingly in the following order:
mark' = a__plus'
mark' = a__x'
a__plus' = a__x'


Proved the following rewrite lemma:
a__x'(_gen_tt':0':s':and':plus':x'2(a), _gen_tt':0':s':and':plus':x'2(+(1, _n44740))) → _*3, rt ∈ Ω(a45921·n44740 + n44740 + n447402)

Induction Base:
a__x'(_gen_tt':0':s':and':plus':x'2(a), _gen_tt':0':s':and':plus':x'2(+(1, 0)))

Induction Step:
a__x'(_gen_tt':0':s':and':plus':x'2(_a45921), _gen_tt':0':s':and':plus':x'2(+(1, +(_$n44741, 1)))) →RΩ(1)
a__plus'(a__x'(mark'(_gen_tt':0':s':and':plus':x'2(_a45921)), mark'(_gen_tt':0':s':and':plus':x'2(+(1, _$n44741)))), mark'(_gen_tt':0':s':and':plus':x'2(_a45921))) →LΩ(1 + a45921)
a__plus'(a__x'(_gen_tt':0':s':and':plus':x'2(_a45921), mark'(_gen_tt':0':s':and':plus':x'2(+(1, _$n44741)))), mark'(_gen_tt':0':s':and':plus':x'2(_a45921))) →LΩ(2 + $n44741)
a__plus'(a__x'(_gen_tt':0':s':and':plus':x'2(_a45921), _gen_tt':0':s':and':plus':x'2(+(1, _$n44741))), mark'(_gen_tt':0':s':and':plus':x'2(_a45921))) →IH
a__plus'(_*3, mark'(_gen_tt':0':s':and':plus':x'2(_a45921))) →LΩ(1 + a45921)
a__plus'(_*3, _gen_tt':0':s':and':plus':x'2(_a45921))

We have rt ∈ Ω(n2) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n2).


Rules:
a__and'(tt', X) → mark'(X)
a__plus'(N, 0') → mark'(N)
a__plus'(N, s'(M)) → s'(a__plus'(mark'(N), mark'(M)))
a__x'(N, 0') → 0'
a__x'(N, s'(M)) → a__plus'(a__x'(mark'(N), mark'(M)), mark'(N))
mark'(and'(X1, X2)) → a__and'(mark'(X1), X2)
mark'(plus'(X1, X2)) → a__plus'(mark'(X1), mark'(X2))
mark'(x'(X1, X2)) → a__x'(mark'(X1), mark'(X2))
mark'(tt') → tt'
mark'(0') → 0'
mark'(s'(X)) → s'(mark'(X))
a__and'(X1, X2) → and'(X1, X2)
a__plus'(X1, X2) → plus'(X1, X2)
a__x'(X1, X2) → x'(X1, X2)

Types:
a__and' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
tt' :: tt':0':s':and':plus':x'
mark' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
a__plus' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
0' :: tt':0':s':and':plus':x'
s' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
a__x' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
and' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
plus' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
x' :: tt':0':s':and':plus':x' → tt':0':s':and':plus':x' → tt':0':s':and':plus':x'
_hole_tt':0':s':and':plus':x'1 :: tt':0':s':and':plus':x'
_gen_tt':0':s':and':plus':x'2 :: Nat → tt':0':s':and':plus':x'

Lemmas:
mark'(_gen_tt':0':s':and':plus':x'2(_n43721)) → _gen_tt':0':s':and':plus':x'2(_n43721), rt ∈ Ω(1 + n43721)
a__x'(_gen_tt':0':s':and':plus':x'2(a), _gen_tt':0':s':and':plus':x'2(+(1, _n44740))) → _*3, rt ∈ Ω(a45921·n44740 + n44740 + n447402)
a__plus'(_gen_tt':0':s':and':plus':x'2(a), _gen_tt':0':s':and':plus':x'2(+(1, _n39644))) → _*3, rt ∈ Ω(a40455·n39644 + n39644 + n396442)

Generator Equations:
_gen_tt':0':s':and':plus':x'2(0) ⇔ tt'
_gen_tt':0':s':and':plus':x'2(+(x, 1)) ⇔ s'(_gen_tt':0':s':and':plus':x'2(x))

No more defined symbols left to analyse.


The lowerbound Ω(n2) was proven with the following lemma:
a__x'(_gen_tt':0':s':and':plus':x'2(a), _gen_tt':0':s':and':plus':x'2(+(1, _n44740))) → _*3, rt ∈ Ω(a45921·n44740 + n44740 + n447402)