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

le(0, y) → true
le(s(x), 0) → false
le(s(x), s(y)) → le(x, y)
eq(0, 0) → true
eq(0, s(y)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
if(true, x, y) → x
if(false, x, y) → y
minsort(nil) → nil
minsort(cons(x, y)) → cons(min(x, y), minsort(del(min(x, y), cons(x, y))))
min(x, nil) → x
min(x, cons(y, z)) → if(le(x, y), min(x, z), min(y, z))
del(x, nil) → nil
del(x, cons(y, z)) → if(eq(x, y), z, cons(y, del(x, z)))

Rewrite Strategy: INNERMOST


Renamed function symbols to avoid clashes with predefined symbol.


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


le'(0', y) → true'
le'(s'(x), 0') → false'
le'(s'(x), s'(y)) → le'(x, y)
eq'(0', 0') → true'
eq'(0', s'(y)) → false'
eq'(s'(x), 0') → false'
eq'(s'(x), s'(y)) → eq'(x, y)
if'(true', x, y) → x
if'(false', x, y) → y
minsort'(nil') → nil'
minsort'(cons'(x, y)) → cons'(min'(x, y), minsort'(del'(min'(x, y), cons'(x, y))))
min'(x, nil') → x
min'(x, cons'(y, z)) → if'(le'(x, y), min'(x, z), min'(y, z))
del'(x, nil') → nil'
del'(x, cons'(y, z)) → if'(eq'(x, y), z, cons'(y, del'(x, z)))

Rewrite Strategy: INNERMOST


Infered types.


Rules:
le'(0', y) → true'
le'(s'(x), 0') → false'
le'(s'(x), s'(y)) → le'(x, y)
eq'(0', 0') → true'
eq'(0', s'(y)) → false'
eq'(s'(x), 0') → false'
eq'(s'(x), s'(y)) → eq'(x, y)
if'(true', x, y) → x
if'(false', x, y) → y
minsort'(nil') → nil'
minsort'(cons'(x, y)) → cons'(min'(x, y), minsort'(del'(min'(x, y), cons'(x, y))))
min'(x, nil') → x
min'(x, cons'(y, z)) → if'(le'(x, y), min'(x, z), min'(y, z))
del'(x, nil') → nil'
del'(x, cons'(y, z)) → if'(eq'(x, y), z, cons'(y, del'(x, z)))

Types:
le' :: 0':s':nil':cons' → 0':s':nil':cons' → true':false'
0' :: 0':s':nil':cons'
true' :: true':false'
s' :: 0':s':nil':cons' → 0':s':nil':cons'
false' :: true':false'
eq' :: 0':s':nil':cons' → 0':s':nil':cons' → true':false'
if' :: true':false' → 0':s':nil':cons' → 0':s':nil':cons' → 0':s':nil':cons'
minsort' :: 0':s':nil':cons' → 0':s':nil':cons'
nil' :: 0':s':nil':cons'
cons' :: 0':s':nil':cons' → 0':s':nil':cons' → 0':s':nil':cons'
min' :: 0':s':nil':cons' → 0':s':nil':cons' → 0':s':nil':cons'
del' :: 0':s':nil':cons' → 0':s':nil':cons' → 0':s':nil':cons'
_hole_true':false'1 :: true':false'
_hole_0':s':nil':cons'2 :: 0':s':nil':cons'
_gen_0':s':nil':cons'3 :: Nat → 0':s':nil':cons'


Heuristically decided to analyse the following defined symbols:
le', eq', minsort', min', del'

They will be analysed ascendingly in the following order:
le' < min'
eq' < del'
min' < minsort'
del' < minsort'


Rules:
le'(0', y) → true'
le'(s'(x), 0') → false'
le'(s'(x), s'(y)) → le'(x, y)
eq'(0', 0') → true'
eq'(0', s'(y)) → false'
eq'(s'(x), 0') → false'
eq'(s'(x), s'(y)) → eq'(x, y)
if'(true', x, y) → x
if'(false', x, y) → y
minsort'(nil') → nil'
minsort'(cons'(x, y)) → cons'(min'(x, y), minsort'(del'(min'(x, y), cons'(x, y))))
min'(x, nil') → x
min'(x, cons'(y, z)) → if'(le'(x, y), min'(x, z), min'(y, z))
del'(x, nil') → nil'
del'(x, cons'(y, z)) → if'(eq'(x, y), z, cons'(y, del'(x, z)))

Types:
le' :: 0':s':nil':cons' → 0':s':nil':cons' → true':false'
0' :: 0':s':nil':cons'
true' :: true':false'
s' :: 0':s':nil':cons' → 0':s':nil':cons'
false' :: true':false'
eq' :: 0':s':nil':cons' → 0':s':nil':cons' → true':false'
if' :: true':false' → 0':s':nil':cons' → 0':s':nil':cons' → 0':s':nil':cons'
minsort' :: 0':s':nil':cons' → 0':s':nil':cons'
nil' :: 0':s':nil':cons'
cons' :: 0':s':nil':cons' → 0':s':nil':cons' → 0':s':nil':cons'
min' :: 0':s':nil':cons' → 0':s':nil':cons' → 0':s':nil':cons'
del' :: 0':s':nil':cons' → 0':s':nil':cons' → 0':s':nil':cons'
_hole_true':false'1 :: true':false'
_hole_0':s':nil':cons'2 :: 0':s':nil':cons'
_gen_0':s':nil':cons'3 :: Nat → 0':s':nil':cons'

Generator Equations:
_gen_0':s':nil':cons'3(0) ⇔ 0'
_gen_0':s':nil':cons'3(+(x, 1)) ⇔ s'(_gen_0':s':nil':cons'3(x))

The following defined symbols remain to be analysed:
le', eq', minsort', min', del'

They will be analysed ascendingly in the following order:
le' < min'
eq' < del'
min' < minsort'
del' < minsort'


Proved the following rewrite lemma:
le'(_gen_0':s':nil':cons'3(_n5), _gen_0':s':nil':cons'3(_n5)) → true', rt ∈ Ω(1 + n5)

Induction Base:
le'(_gen_0':s':nil':cons'3(0), _gen_0':s':nil':cons'3(0)) →RΩ(1)
true'

Induction Step:
le'(_gen_0':s':nil':cons'3(+(_$n6, 1)), _gen_0':s':nil':cons'3(+(_$n6, 1))) →RΩ(1)
le'(_gen_0':s':nil':cons'3(_$n6), _gen_0':s':nil':cons'3(_$n6)) →IH
true'

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


Rules:
le'(0', y) → true'
le'(s'(x), 0') → false'
le'(s'(x), s'(y)) → le'(x, y)
eq'(0', 0') → true'
eq'(0', s'(y)) → false'
eq'(s'(x), 0') → false'
eq'(s'(x), s'(y)) → eq'(x, y)
if'(true', x, y) → x
if'(false', x, y) → y
minsort'(nil') → nil'
minsort'(cons'(x, y)) → cons'(min'(x, y), minsort'(del'(min'(x, y), cons'(x, y))))
min'(x, nil') → x
min'(x, cons'(y, z)) → if'(le'(x, y), min'(x, z), min'(y, z))
del'(x, nil') → nil'
del'(x, cons'(y, z)) → if'(eq'(x, y), z, cons'(y, del'(x, z)))

Types:
le' :: 0':s':nil':cons' → 0':s':nil':cons' → true':false'
0' :: 0':s':nil':cons'
true' :: true':false'
s' :: 0':s':nil':cons' → 0':s':nil':cons'
false' :: true':false'
eq' :: 0':s':nil':cons' → 0':s':nil':cons' → true':false'
if' :: true':false' → 0':s':nil':cons' → 0':s':nil':cons' → 0':s':nil':cons'
minsort' :: 0':s':nil':cons' → 0':s':nil':cons'
nil' :: 0':s':nil':cons'
cons' :: 0':s':nil':cons' → 0':s':nil':cons' → 0':s':nil':cons'
min' :: 0':s':nil':cons' → 0':s':nil':cons' → 0':s':nil':cons'
del' :: 0':s':nil':cons' → 0':s':nil':cons' → 0':s':nil':cons'
_hole_true':false'1 :: true':false'
_hole_0':s':nil':cons'2 :: 0':s':nil':cons'
_gen_0':s':nil':cons'3 :: Nat → 0':s':nil':cons'

Lemmas:
le'(_gen_0':s':nil':cons'3(_n5), _gen_0':s':nil':cons'3(_n5)) → true', rt ∈ Ω(1 + n5)

Generator Equations:
_gen_0':s':nil':cons'3(0) ⇔ 0'
_gen_0':s':nil':cons'3(+(x, 1)) ⇔ s'(_gen_0':s':nil':cons'3(x))

The following defined symbols remain to be analysed:
eq', minsort', min', del'

They will be analysed ascendingly in the following order:
eq' < del'
min' < minsort'
del' < minsort'


Proved the following rewrite lemma:
eq'(_gen_0':s':nil':cons'3(_n716), _gen_0':s':nil':cons'3(_n716)) → true', rt ∈ Ω(1 + n716)

Induction Base:
eq'(_gen_0':s':nil':cons'3(0), _gen_0':s':nil':cons'3(0)) →RΩ(1)
true'

Induction Step:
eq'(_gen_0':s':nil':cons'3(+(_$n717, 1)), _gen_0':s':nil':cons'3(+(_$n717, 1))) →RΩ(1)
eq'(_gen_0':s':nil':cons'3(_$n717), _gen_0':s':nil':cons'3(_$n717)) →IH
true'

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


Rules:
le'(0', y) → true'
le'(s'(x), 0') → false'
le'(s'(x), s'(y)) → le'(x, y)
eq'(0', 0') → true'
eq'(0', s'(y)) → false'
eq'(s'(x), 0') → false'
eq'(s'(x), s'(y)) → eq'(x, y)
if'(true', x, y) → x
if'(false', x, y) → y
minsort'(nil') → nil'
minsort'(cons'(x, y)) → cons'(min'(x, y), minsort'(del'(min'(x, y), cons'(x, y))))
min'(x, nil') → x
min'(x, cons'(y, z)) → if'(le'(x, y), min'(x, z), min'(y, z))
del'(x, nil') → nil'
del'(x, cons'(y, z)) → if'(eq'(x, y), z, cons'(y, del'(x, z)))

Types:
le' :: 0':s':nil':cons' → 0':s':nil':cons' → true':false'
0' :: 0':s':nil':cons'
true' :: true':false'
s' :: 0':s':nil':cons' → 0':s':nil':cons'
false' :: true':false'
eq' :: 0':s':nil':cons' → 0':s':nil':cons' → true':false'
if' :: true':false' → 0':s':nil':cons' → 0':s':nil':cons' → 0':s':nil':cons'
minsort' :: 0':s':nil':cons' → 0':s':nil':cons'
nil' :: 0':s':nil':cons'
cons' :: 0':s':nil':cons' → 0':s':nil':cons' → 0':s':nil':cons'
min' :: 0':s':nil':cons' → 0':s':nil':cons' → 0':s':nil':cons'
del' :: 0':s':nil':cons' → 0':s':nil':cons' → 0':s':nil':cons'
_hole_true':false'1 :: true':false'
_hole_0':s':nil':cons'2 :: 0':s':nil':cons'
_gen_0':s':nil':cons'3 :: Nat → 0':s':nil':cons'

Lemmas:
le'(_gen_0':s':nil':cons'3(_n5), _gen_0':s':nil':cons'3(_n5)) → true', rt ∈ Ω(1 + n5)
eq'(_gen_0':s':nil':cons'3(_n716), _gen_0':s':nil':cons'3(_n716)) → true', rt ∈ Ω(1 + n716)

Generator Equations:
_gen_0':s':nil':cons'3(0) ⇔ 0'
_gen_0':s':nil':cons'3(+(x, 1)) ⇔ s'(_gen_0':s':nil':cons'3(x))

The following defined symbols remain to be analysed:
min', minsort', del'

They will be analysed ascendingly in the following order:
min' < minsort'
del' < minsort'


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


Rules:
le'(0', y) → true'
le'(s'(x), 0') → false'
le'(s'(x), s'(y)) → le'(x, y)
eq'(0', 0') → true'
eq'(0', s'(y)) → false'
eq'(s'(x), 0') → false'
eq'(s'(x), s'(y)) → eq'(x, y)
if'(true', x, y) → x
if'(false', x, y) → y
minsort'(nil') → nil'
minsort'(cons'(x, y)) → cons'(min'(x, y), minsort'(del'(min'(x, y), cons'(x, y))))
min'(x, nil') → x
min'(x, cons'(y, z)) → if'(le'(x, y), min'(x, z), min'(y, z))
del'(x, nil') → nil'
del'(x, cons'(y, z)) → if'(eq'(x, y), z, cons'(y, del'(x, z)))

Types:
le' :: 0':s':nil':cons' → 0':s':nil':cons' → true':false'
0' :: 0':s':nil':cons'
true' :: true':false'
s' :: 0':s':nil':cons' → 0':s':nil':cons'
false' :: true':false'
eq' :: 0':s':nil':cons' → 0':s':nil':cons' → true':false'
if' :: true':false' → 0':s':nil':cons' → 0':s':nil':cons' → 0':s':nil':cons'
minsort' :: 0':s':nil':cons' → 0':s':nil':cons'
nil' :: 0':s':nil':cons'
cons' :: 0':s':nil':cons' → 0':s':nil':cons' → 0':s':nil':cons'
min' :: 0':s':nil':cons' → 0':s':nil':cons' → 0':s':nil':cons'
del' :: 0':s':nil':cons' → 0':s':nil':cons' → 0':s':nil':cons'
_hole_true':false'1 :: true':false'
_hole_0':s':nil':cons'2 :: 0':s':nil':cons'
_gen_0':s':nil':cons'3 :: Nat → 0':s':nil':cons'

Lemmas:
le'(_gen_0':s':nil':cons'3(_n5), _gen_0':s':nil':cons'3(_n5)) → true', rt ∈ Ω(1 + n5)
eq'(_gen_0':s':nil':cons'3(_n716), _gen_0':s':nil':cons'3(_n716)) → true', rt ∈ Ω(1 + n716)

Generator Equations:
_gen_0':s':nil':cons'3(0) ⇔ 0'
_gen_0':s':nil':cons'3(+(x, 1)) ⇔ s'(_gen_0':s':nil':cons'3(x))

The following defined symbols remain to be analysed:
del', minsort'

They will be analysed ascendingly in the following order:
del' < minsort'


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


Rules:
le'(0', y) → true'
le'(s'(x), 0') → false'
le'(s'(x), s'(y)) → le'(x, y)
eq'(0', 0') → true'
eq'(0', s'(y)) → false'
eq'(s'(x), 0') → false'
eq'(s'(x), s'(y)) → eq'(x, y)
if'(true', x, y) → x
if'(false', x, y) → y
minsort'(nil') → nil'
minsort'(cons'(x, y)) → cons'(min'(x, y), minsort'(del'(min'(x, y), cons'(x, y))))
min'(x, nil') → x
min'(x, cons'(y, z)) → if'(le'(x, y), min'(x, z), min'(y, z))
del'(x, nil') → nil'
del'(x, cons'(y, z)) → if'(eq'(x, y), z, cons'(y, del'(x, z)))

Types:
le' :: 0':s':nil':cons' → 0':s':nil':cons' → true':false'
0' :: 0':s':nil':cons'
true' :: true':false'
s' :: 0':s':nil':cons' → 0':s':nil':cons'
false' :: true':false'
eq' :: 0':s':nil':cons' → 0':s':nil':cons' → true':false'
if' :: true':false' → 0':s':nil':cons' → 0':s':nil':cons' → 0':s':nil':cons'
minsort' :: 0':s':nil':cons' → 0':s':nil':cons'
nil' :: 0':s':nil':cons'
cons' :: 0':s':nil':cons' → 0':s':nil':cons' → 0':s':nil':cons'
min' :: 0':s':nil':cons' → 0':s':nil':cons' → 0':s':nil':cons'
del' :: 0':s':nil':cons' → 0':s':nil':cons' → 0':s':nil':cons'
_hole_true':false'1 :: true':false'
_hole_0':s':nil':cons'2 :: 0':s':nil':cons'
_gen_0':s':nil':cons'3 :: Nat → 0':s':nil':cons'

Lemmas:
le'(_gen_0':s':nil':cons'3(_n5), _gen_0':s':nil':cons'3(_n5)) → true', rt ∈ Ω(1 + n5)
eq'(_gen_0':s':nil':cons'3(_n716), _gen_0':s':nil':cons'3(_n716)) → true', rt ∈ Ω(1 + n716)

Generator Equations:
_gen_0':s':nil':cons'3(0) ⇔ 0'
_gen_0':s':nil':cons'3(+(x, 1)) ⇔ s'(_gen_0':s':nil':cons'3(x))

The following defined symbols remain to be analysed:
minsort'


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


Rules:
le'(0', y) → true'
le'(s'(x), 0') → false'
le'(s'(x), s'(y)) → le'(x, y)
eq'(0', 0') → true'
eq'(0', s'(y)) → false'
eq'(s'(x), 0') → false'
eq'(s'(x), s'(y)) → eq'(x, y)
if'(true', x, y) → x
if'(false', x, y) → y
minsort'(nil') → nil'
minsort'(cons'(x, y)) → cons'(min'(x, y), minsort'(del'(min'(x, y), cons'(x, y))))
min'(x, nil') → x
min'(x, cons'(y, z)) → if'(le'(x, y), min'(x, z), min'(y, z))
del'(x, nil') → nil'
del'(x, cons'(y, z)) → if'(eq'(x, y), z, cons'(y, del'(x, z)))

Types:
le' :: 0':s':nil':cons' → 0':s':nil':cons' → true':false'
0' :: 0':s':nil':cons'
true' :: true':false'
s' :: 0':s':nil':cons' → 0':s':nil':cons'
false' :: true':false'
eq' :: 0':s':nil':cons' → 0':s':nil':cons' → true':false'
if' :: true':false' → 0':s':nil':cons' → 0':s':nil':cons' → 0':s':nil':cons'
minsort' :: 0':s':nil':cons' → 0':s':nil':cons'
nil' :: 0':s':nil':cons'
cons' :: 0':s':nil':cons' → 0':s':nil':cons' → 0':s':nil':cons'
min' :: 0':s':nil':cons' → 0':s':nil':cons' → 0':s':nil':cons'
del' :: 0':s':nil':cons' → 0':s':nil':cons' → 0':s':nil':cons'
_hole_true':false'1 :: true':false'
_hole_0':s':nil':cons'2 :: 0':s':nil':cons'
_gen_0':s':nil':cons'3 :: Nat → 0':s':nil':cons'

Lemmas:
le'(_gen_0':s':nil':cons'3(_n5), _gen_0':s':nil':cons'3(_n5)) → true', rt ∈ Ω(1 + n5)
eq'(_gen_0':s':nil':cons'3(_n716), _gen_0':s':nil':cons'3(_n716)) → true', rt ∈ Ω(1 + n716)

Generator Equations:
_gen_0':s':nil':cons'3(0) ⇔ 0'
_gen_0':s':nil':cons'3(+(x, 1)) ⇔ s'(_gen_0':s':nil':cons'3(x))

No more defined symbols left to analyse.


The lowerbound Ω(n) was proven with the following lemma:
le'(_gen_0':s':nil':cons'3(_n5), _gen_0':s':nil':cons'3(_n5)) → true', rt ∈ Ω(1 + n5)