(0) Obligation:
Runtime Complexity Relative TRS:
The TRS R consists of the following rules:
m2(S(0), b, res, True) → False
m2(S(S(x)), b, res, True) → True
m2(0, b, res, True) → False
m3(S(0), b, res, t) → False
m3(S(S(x)), b, res, t) → True
m3(0, b, res, t) → False
l8(res, y, res', True, mtmp, t) → res
l5(x, y, res, tmp, mtmp, True) → 0
help1(S(0)) → False
help1(S(S(x))) → True
e4(a, b, res, False) → False
e4(a, b, res, True) → True
e2(a, b, res, False) → False
l15(x, y, res, tmp, False, t) → l16(x, y, gcd(y, 0), tmp, False, t)
l15(x, y, res, tmp, True, t) → l16(x, y, gcd(y, S(0)), tmp, True, t)
l13(x, y, res, tmp, False, t) → l16(x, y, gcd(0, y), tmp, False, t)
l13(x, y, res, tmp, True, t) → l16(x, y, gcd(S(0), y), tmp, True, t)
m4(S(x'), S(x), res, t) → m5(S(x'), S(x), monus(x', x), t)
m2(a, b, res, False) → m4(a, b, res, False)
l8(x, y, res, False, mtmp, t) → l10(x, y, res, False, mtmp, t)
l5(x, y, res, tmp, mtmp, False) → l7(x, y, res, tmp, mtmp, False)
l2(x, y, res, tmp, mtmp, False) → l3(x, y, res, tmp, mtmp, False)
l2(x, y, res, tmp, mtmp, True) → res
l11(x, y, res, tmp, mtmp, False) → l14(x, y, res, tmp, mtmp, False)
l11(x, y, res, tmp, mtmp, True) → l12(x, y, res, tmp, mtmp, True)
help1(0) → False
e2(a, b, res, True) → e3(a, b, res, True)
bool2Nat(False) → 0
bool2Nat(True) → S(0)
m1(a, x, res, t) → m2(a, x, res, False)
l9(res, y, res', tmp, mtmp, t) → res
l6(x, y, res, tmp, mtmp, t) → 0
l4(x', x, res, tmp, mtmp, t) → l5(x', x, res, tmp, mtmp, False)
l1(x, y, res, tmp, mtmp, t) → l2(x, y, res, tmp, mtmp, False)
e7(a, b, res, t) → False
e6(a, b, res, t) → False
e5(a, b, res, t) → True
monus(a, b) → m1(a, b, False, False)
m5(a, b, res, t) → res
l7(x, y, res, tmp, mtmp, t) → l8(x, y, res, equal0(x, y), mtmp, t)
l3(x, y, res, tmp, mtmp, t) → l4(x, y, 0, tmp, mtmp, t)
l16(x, y, res, tmp, mtmp, t) → res
l14(x, y, res, tmp, mtmp, t) → l15(x, y, res, tmp, monus(x, y), t)
l12(x, y, res, tmp, mtmp, t) → l13(x, y, res, tmp, monus(x, y), t)
l10(x, y, res, tmp, mtmp, t) → l11(x, y, res, tmp, mtmp, <(x, y))
gcd(x, y) → l1(x, y, 0, False, False, False)
equal0(a, b) → e1(a, b, False, False)
e8(a, b, res, t) → res
e3(a, b, res, t) → e4(a, b, res, <(b, a))
e1(a, b, res, t) → e2(a, b, res, <(a, b))
The (relative) TRS S consists of the following rules:
<(S(x), S(y)) → <(x, y)
<(0, S(y)) → True
<(x, 0) → False
Rewrite Strategy: INNERMOST
(1) RenamingProof (EQUIVALENT transformation)
Renamed function symbols to avoid clashes with predefined symbol.
(2) Obligation:
Runtime Complexity Relative TRS:
The TRS R consists of the following rules:
m2(S(0'), b, res, True) → False
m2(S(S(x)), b, res, True) → True
m2(0', b, res, True) → False
m3(S(0'), b, res, t) → False
m3(S(S(x)), b, res, t) → True
m3(0', b, res, t) → False
l8(res, y, res', True, mtmp, t) → res
l5(x, y, res, tmp, mtmp, True) → 0'
help1(S(0')) → False
help1(S(S(x))) → True
e4(a, b, res, False) → False
e4(a, b, res, True) → True
e2(a, b, res, False) → False
l15(x, y, res, tmp, False, t) → l16(x, y, gcd(y, 0'), tmp, False, t)
l15(x, y, res, tmp, True, t) → l16(x, y, gcd(y, S(0')), tmp, True, t)
l13(x, y, res, tmp, False, t) → l16(x, y, gcd(0', y), tmp, False, t)
l13(x, y, res, tmp, True, t) → l16(x, y, gcd(S(0'), y), tmp, True, t)
m4(S(x'), S(x), res, t) → m5(S(x'), S(x), monus(x', x), t)
m2(a, b, res, False) → m4(a, b, res, False)
l8(x, y, res, False, mtmp, t) → l10(x, y, res, False, mtmp, t)
l5(x, y, res, tmp, mtmp, False) → l7(x, y, res, tmp, mtmp, False)
l2(x, y, res, tmp, mtmp, False) → l3(x, y, res, tmp, mtmp, False)
l2(x, y, res, tmp, mtmp, True) → res
l11(x, y, res, tmp, mtmp, False) → l14(x, y, res, tmp, mtmp, False)
l11(x, y, res, tmp, mtmp, True) → l12(x, y, res, tmp, mtmp, True)
help1(0') → False
e2(a, b, res, True) → e3(a, b, res, True)
bool2Nat(False) → 0'
bool2Nat(True) → S(0')
m1(a, x, res, t) → m2(a, x, res, False)
l9(res, y, res', tmp, mtmp, t) → res
l6(x, y, res, tmp, mtmp, t) → 0'
l4(x', x, res, tmp, mtmp, t) → l5(x', x, res, tmp, mtmp, False)
l1(x, y, res, tmp, mtmp, t) → l2(x, y, res, tmp, mtmp, False)
e7(a, b, res, t) → False
e6(a, b, res, t) → False
e5(a, b, res, t) → True
monus(a, b) → m1(a, b, False, False)
m5(a, b, res, t) → res
l7(x, y, res, tmp, mtmp, t) → l8(x, y, res, equal0(x, y), mtmp, t)
l3(x, y, res, tmp, mtmp, t) → l4(x, y, 0', tmp, mtmp, t)
l16(x, y, res, tmp, mtmp, t) → res
l14(x, y, res, tmp, mtmp, t) → l15(x, y, res, tmp, monus(x, y), t)
l12(x, y, res, tmp, mtmp, t) → l13(x, y, res, tmp, monus(x, y), t)
l10(x, y, res, tmp, mtmp, t) → l11(x, y, res, tmp, mtmp, <(x, y))
gcd(x, y) → l1(x, y, 0', False, False, False)
equal0(a, b) → e1(a, b, False, False)
e8(a, b, res, t) → res
e3(a, b, res, t) → e4(a, b, res, <(b, a))
e1(a, b, res, t) → e2(a, b, res, <(a, b))
The (relative) TRS S consists of the following rules:
<(S(x), S(y)) → <(x, y)
<(0', S(y)) → True
<(x, 0') → False
Rewrite Strategy: INNERMOST
(3) SlicingProof (LOWER BOUND(ID) transformation)
Sliced the following arguments:
m2/2
m3/1
m3/2
m3/3
l8/2
l8/4
l8/5
l5/2
l5/3
l5/4
e4/0
e4/1
e4/2
e2/2
l15/0
l15/2
l15/3
l15/5
l16/0
l16/1
l16/3
l16/4
l16/5
l13/0
l13/2
l13/3
l13/5
m4/2
m4/3
m5/0
m5/1
m5/3
l10/2
l10/3
l10/4
l10/5
l7/2
l7/3
l7/4
l7/5
l2/3
l2/4
l3/2
l3/3
l3/4
l3/5
l11/2
l11/3
l11/4
l14/2
l14/3
l14/4
l14/5
l12/2
l12/3
l12/4
l12/5
e3/2
e3/3
m1/2
m1/3
l9/1
l9/2
l9/3
l9/4
l9/5
l6/0
l6/1
l6/2
l6/3
l6/4
l6/5
l4/2
l4/3
l4/4
l4/5
l1/3
l1/4
l1/5
e7/0
e7/1
e7/2
e7/3
e6/0
e6/1
e6/2
e6/3
e5/0
e5/1
e5/2
e5/3
e1/2
e1/3
e8/0
e8/1
e8/3
(4) Obligation:
Runtime Complexity Relative TRS:
The TRS R consists of the following rules:
m2(S(0'), b, True) → False
m2(S(S(x)), b, True) → True
m2(0', b, True) → False
m3(S(0')) → False
m3(S(S(x))) → True
m3(0') → False
l8(res, y, True) → res
l5(x, y, True) → 0'
help1(S(0')) → False
help1(S(S(x))) → True
e4(False) → False
e4(True) → True
e2(a, b, False) → False
l15(y, False) → l16(gcd(y, 0'))
l15(y, True) → l16(gcd(y, S(0')))
l13(y, False) → l16(gcd(0', y))
l13(y, True) → l16(gcd(S(0'), y))
m4(S(x'), S(x)) → m5(monus(x', x))
m2(a, b, False) → m4(a, b)
l8(x, y, False) → l10(x, y)
l5(x, y, False) → l7(x, y)
l2(x, y, res, False) → l3(x, y)
l2(x, y, res, True) → res
l11(x, y, False) → l14(x, y)
l11(x, y, True) → l12(x, y)
help1(0') → False
e2(a, b, True) → e3(a, b)
bool2Nat(False) → 0'
bool2Nat(True) → S(0')
m1(a, x) → m2(a, x, False)
l9(res) → res
l6 → 0'
l4(x', x) → l5(x', x, False)
l1(x, y, res) → l2(x, y, res, False)
e7 → False
e6 → False
e5 → True
monus(a, b) → m1(a, b)
m5(res) → res
l7(x, y) → l8(x, y, equal0(x, y))
l3(x, y) → l4(x, y)
l16(res) → res
l14(x, y) → l15(y, monus(x, y))
l12(x, y) → l13(y, monus(x, y))
l10(x, y) → l11(x, y, <(x, y))
gcd(x, y) → l1(x, y, 0')
equal0(a, b) → e1(a, b)
e8(res) → res
e3(a, b) → e4(<(b, a))
e1(a, b) → e2(a, b, <(a, b))
The (relative) TRS S consists of the following rules:
<(S(x), S(y)) → <(x, y)
<(0', S(y)) → True
<(x, 0') → False
Rewrite Strategy: INNERMOST
(5) TypeInferenceProof (BOTH BOUNDS(ID, ID) transformation)
Infered types.
(6) Obligation:
Innermost TRS:
Rules:
m2(S(0'), b, True) → False
m2(S(S(x)), b, True) → True
m2(0', b, True) → False
m3(S(0')) → False
m3(S(S(x))) → True
m3(0') → False
l8(res, y, True) → res
l5(x, y, True) → 0'
help1(S(0')) → False
help1(S(S(x))) → True
e4(False) → False
e4(True) → True
e2(a, b, False) → False
l15(y, False) → l16(gcd(y, 0'))
l15(y, True) → l16(gcd(y, S(0')))
l13(y, False) → l16(gcd(0', y))
l13(y, True) → l16(gcd(S(0'), y))
m4(S(x'), S(x)) → m5(monus(x', x))
m2(a, b, False) → m4(a, b)
l8(x, y, False) → l10(x, y)
l5(x, y, False) → l7(x, y)
l2(x, y, res, False) → l3(x, y)
l2(x, y, res, True) → res
l11(x, y, False) → l14(x, y)
l11(x, y, True) → l12(x, y)
help1(0') → False
e2(a, b, True) → e3(a, b)
bool2Nat(False) → 0'
bool2Nat(True) → S(0')
m1(a, x) → m2(a, x, False)
l9(res) → res
l6 → 0'
l4(x', x) → l5(x', x, False)
l1(x, y, res) → l2(x, y, res, False)
e7 → False
e6 → False
e5 → True
monus(a, b) → m1(a, b)
m5(res) → res
l7(x, y) → l8(x, y, equal0(x, y))
l3(x, y) → l4(x, y)
l16(res) → res
l14(x, y) → l15(y, monus(x, y))
l12(x, y) → l13(y, monus(x, y))
l10(x, y) → l11(x, y, <(x, y))
gcd(x, y) → l1(x, y, 0')
equal0(a, b) → e1(a, b)
e8(res) → res
e3(a, b) → e4(<(b, a))
e1(a, b) → e2(a, b, <(a, b))
<(S(x), S(y)) → <(x, y)
<(0', S(y)) → True
<(x, 0') → False
Types:
m2 :: 0':S → 0':S → True:False → True:False
S :: 0':S → 0':S
0' :: 0':S
True :: True:False
False :: True:False
m3 :: 0':S → True:False
l8 :: 0':S → 0':S → True:False → 0':S
l5 :: 0':S → 0':S → True:False → 0':S
help1 :: 0':S → True:False
e4 :: True:False → True:False
e2 :: 0':S → 0':S → True:False → True:False
l15 :: 0':S → True:False → 0':S
l16 :: 0':S → 0':S
gcd :: 0':S → 0':S → 0':S
l13 :: 0':S → True:False → 0':S
m4 :: 0':S → 0':S → True:False
m5 :: True:False → True:False
monus :: 0':S → 0':S → True:False
l10 :: 0':S → 0':S → 0':S
l7 :: 0':S → 0':S → 0':S
l2 :: 0':S → 0':S → 0':S → True:False → 0':S
l3 :: 0':S → 0':S → 0':S
l11 :: 0':S → 0':S → True:False → 0':S
l14 :: 0':S → 0':S → 0':S
l12 :: 0':S → 0':S → 0':S
e3 :: 0':S → 0':S → True:False
bool2Nat :: True:False → 0':S
m1 :: 0':S → 0':S → True:False
l9 :: l9 → l9
l6 :: 0':S
l4 :: 0':S → 0':S → 0':S
l1 :: 0':S → 0':S → 0':S → 0':S
e7 :: True:False
e6 :: True:False
e5 :: True:False
equal0 :: 0':S → 0':S → True:False
< :: 0':S → 0':S → True:False
e1 :: 0':S → 0':S → True:False
e8 :: e8 → e8
hole_True:False1_17 :: True:False
hole_0':S2_17 :: 0':S
hole_l93_17 :: l9
hole_e84_17 :: e8
gen_0':S5_17 :: Nat → 0':S
(7) OrderProof (LOWER BOUND(ID) transformation)
Heuristically decided to analyse the following defined symbols:
l15,
gcd,
l13,
m4,
monus,
l10,
l7,
l3,
l14,
l12,
m1,
l4,
<They will be analysed ascendingly in the following order:
l15 = gcd
l15 = l13
l15 = l10
l15 = l7
l15 = l3
l15 = l14
l15 = l12
l15 = l4
gcd = l13
gcd = l10
gcd = l7
gcd = l3
gcd = l14
gcd = l12
gcd = l4
l13 = l10
l13 = l7
l13 = l3
l13 = l14
l13 = l12
l13 = l4
m4 = monus
m4 = m1
monus < l14
monus < l12
monus = m1
l10 = l7
l10 = l3
l10 = l14
l10 = l12
l10 = l4
< < l10
l7 = l3
l7 = l14
l7 = l12
l7 = l4
l3 = l14
l3 = l12
l3 = l4
l14 = l12
l14 = l4
l12 = l4
(8) Obligation:
Innermost TRS:
Rules:
m2(
S(
0'),
b,
True) →
Falsem2(
S(
S(
x)),
b,
True) →
Truem2(
0',
b,
True) →
Falsem3(
S(
0')) →
Falsem3(
S(
S(
x))) →
Truem3(
0') →
Falsel8(
res,
y,
True) →
resl5(
x,
y,
True) →
0'help1(
S(
0')) →
Falsehelp1(
S(
S(
x))) →
Truee4(
False) →
Falsee4(
True) →
Truee2(
a,
b,
False) →
Falsel15(
y,
False) →
l16(
gcd(
y,
0'))
l15(
y,
True) →
l16(
gcd(
y,
S(
0')))
l13(
y,
False) →
l16(
gcd(
0',
y))
l13(
y,
True) →
l16(
gcd(
S(
0'),
y))
m4(
S(
x'),
S(
x)) →
m5(
monus(
x',
x))
m2(
a,
b,
False) →
m4(
a,
b)
l8(
x,
y,
False) →
l10(
x,
y)
l5(
x,
y,
False) →
l7(
x,
y)
l2(
x,
y,
res,
False) →
l3(
x,
y)
l2(
x,
y,
res,
True) →
resl11(
x,
y,
False) →
l14(
x,
y)
l11(
x,
y,
True) →
l12(
x,
y)
help1(
0') →
Falsee2(
a,
b,
True) →
e3(
a,
b)
bool2Nat(
False) →
0'bool2Nat(
True) →
S(
0')
m1(
a,
x) →
m2(
a,
x,
False)
l9(
res) →
resl6 →
0'l4(
x',
x) →
l5(
x',
x,
False)
l1(
x,
y,
res) →
l2(
x,
y,
res,
False)
e7 →
Falsee6 →
Falsee5 →
Truemonus(
a,
b) →
m1(
a,
b)
m5(
res) →
resl7(
x,
y) →
l8(
x,
y,
equal0(
x,
y))
l3(
x,
y) →
l4(
x,
y)
l16(
res) →
resl14(
x,
y) →
l15(
y,
monus(
x,
y))
l12(
x,
y) →
l13(
y,
monus(
x,
y))
l10(
x,
y) →
l11(
x,
y,
<(
x,
y))
gcd(
x,
y) →
l1(
x,
y,
0')
equal0(
a,
b) →
e1(
a,
b)
e8(
res) →
rese3(
a,
b) →
e4(
<(
b,
a))
e1(
a,
b) →
e2(
a,
b,
<(
a,
b))
<(
S(
x),
S(
y)) →
<(
x,
y)
<(
0',
S(
y)) →
True<(
x,
0') →
FalseTypes:
m2 :: 0':S → 0':S → True:False → True:False
S :: 0':S → 0':S
0' :: 0':S
True :: True:False
False :: True:False
m3 :: 0':S → True:False
l8 :: 0':S → 0':S → True:False → 0':S
l5 :: 0':S → 0':S → True:False → 0':S
help1 :: 0':S → True:False
e4 :: True:False → True:False
e2 :: 0':S → 0':S → True:False → True:False
l15 :: 0':S → True:False → 0':S
l16 :: 0':S → 0':S
gcd :: 0':S → 0':S → 0':S
l13 :: 0':S → True:False → 0':S
m4 :: 0':S → 0':S → True:False
m5 :: True:False → True:False
monus :: 0':S → 0':S → True:False
l10 :: 0':S → 0':S → 0':S
l7 :: 0':S → 0':S → 0':S
l2 :: 0':S → 0':S → 0':S → True:False → 0':S
l3 :: 0':S → 0':S → 0':S
l11 :: 0':S → 0':S → True:False → 0':S
l14 :: 0':S → 0':S → 0':S
l12 :: 0':S → 0':S → 0':S
e3 :: 0':S → 0':S → True:False
bool2Nat :: True:False → 0':S
m1 :: 0':S → 0':S → True:False
l9 :: l9 → l9
l6 :: 0':S
l4 :: 0':S → 0':S → 0':S
l1 :: 0':S → 0':S → 0':S → 0':S
e7 :: True:False
e6 :: True:False
e5 :: True:False
equal0 :: 0':S → 0':S → True:False
< :: 0':S → 0':S → True:False
e1 :: 0':S → 0':S → True:False
e8 :: e8 → e8
hole_True:False1_17 :: True:False
hole_0':S2_17 :: 0':S
hole_l93_17 :: l9
hole_e84_17 :: e8
gen_0':S5_17 :: Nat → 0':S
Generator Equations:
gen_0':S5_17(0) ⇔ 0'
gen_0':S5_17(+(x, 1)) ⇔ S(gen_0':S5_17(x))
The following defined symbols remain to be analysed:
<, l15, gcd, l13, m4, monus, l10, l7, l3, l14, l12, m1, l4
They will be analysed ascendingly in the following order:
l15 = gcd
l15 = l13
l15 = l10
l15 = l7
l15 = l3
l15 = l14
l15 = l12
l15 = l4
gcd = l13
gcd = l10
gcd = l7
gcd = l3
gcd = l14
gcd = l12
gcd = l4
l13 = l10
l13 = l7
l13 = l3
l13 = l14
l13 = l12
l13 = l4
m4 = monus
m4 = m1
monus < l14
monus < l12
monus = m1
l10 = l7
l10 = l3
l10 = l14
l10 = l12
l10 = l4
< < l10
l7 = l3
l7 = l14
l7 = l12
l7 = l4
l3 = l14
l3 = l12
l3 = l4
l14 = l12
l14 = l4
l12 = l4
(9) RewriteLemmaProof (LOWER BOUND(ID) transformation)
Proved the following rewrite lemma:
<(
gen_0':S5_17(
n7_17),
gen_0':S5_17(
+(
1,
n7_17))) →
True, rt ∈ Ω(0)
Induction Base:
<(gen_0':S5_17(0), gen_0':S5_17(+(1, 0))) →RΩ(0)
True
Induction Step:
<(gen_0':S5_17(+(n7_17, 1)), gen_0':S5_17(+(1, +(n7_17, 1)))) →RΩ(0)
<(gen_0':S5_17(n7_17), gen_0':S5_17(+(1, n7_17))) →IH
True
We have rt ∈ Ω(1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n0).
(10) Complex Obligation (BEST)
(11) Obligation:
Innermost TRS:
Rules:
m2(
S(
0'),
b,
True) →
Falsem2(
S(
S(
x)),
b,
True) →
Truem2(
0',
b,
True) →
Falsem3(
S(
0')) →
Falsem3(
S(
S(
x))) →
Truem3(
0') →
Falsel8(
res,
y,
True) →
resl5(
x,
y,
True) →
0'help1(
S(
0')) →
Falsehelp1(
S(
S(
x))) →
Truee4(
False) →
Falsee4(
True) →
Truee2(
a,
b,
False) →
Falsel15(
y,
False) →
l16(
gcd(
y,
0'))
l15(
y,
True) →
l16(
gcd(
y,
S(
0')))
l13(
y,
False) →
l16(
gcd(
0',
y))
l13(
y,
True) →
l16(
gcd(
S(
0'),
y))
m4(
S(
x'),
S(
x)) →
m5(
monus(
x',
x))
m2(
a,
b,
False) →
m4(
a,
b)
l8(
x,
y,
False) →
l10(
x,
y)
l5(
x,
y,
False) →
l7(
x,
y)
l2(
x,
y,
res,
False) →
l3(
x,
y)
l2(
x,
y,
res,
True) →
resl11(
x,
y,
False) →
l14(
x,
y)
l11(
x,
y,
True) →
l12(
x,
y)
help1(
0') →
Falsee2(
a,
b,
True) →
e3(
a,
b)
bool2Nat(
False) →
0'bool2Nat(
True) →
S(
0')
m1(
a,
x) →
m2(
a,
x,
False)
l9(
res) →
resl6 →
0'l4(
x',
x) →
l5(
x',
x,
False)
l1(
x,
y,
res) →
l2(
x,
y,
res,
False)
e7 →
Falsee6 →
Falsee5 →
Truemonus(
a,
b) →
m1(
a,
b)
m5(
res) →
resl7(
x,
y) →
l8(
x,
y,
equal0(
x,
y))
l3(
x,
y) →
l4(
x,
y)
l16(
res) →
resl14(
x,
y) →
l15(
y,
monus(
x,
y))
l12(
x,
y) →
l13(
y,
monus(
x,
y))
l10(
x,
y) →
l11(
x,
y,
<(
x,
y))
gcd(
x,
y) →
l1(
x,
y,
0')
equal0(
a,
b) →
e1(
a,
b)
e8(
res) →
rese3(
a,
b) →
e4(
<(
b,
a))
e1(
a,
b) →
e2(
a,
b,
<(
a,
b))
<(
S(
x),
S(
y)) →
<(
x,
y)
<(
0',
S(
y)) →
True<(
x,
0') →
FalseTypes:
m2 :: 0':S → 0':S → True:False → True:False
S :: 0':S → 0':S
0' :: 0':S
True :: True:False
False :: True:False
m3 :: 0':S → True:False
l8 :: 0':S → 0':S → True:False → 0':S
l5 :: 0':S → 0':S → True:False → 0':S
help1 :: 0':S → True:False
e4 :: True:False → True:False
e2 :: 0':S → 0':S → True:False → True:False
l15 :: 0':S → True:False → 0':S
l16 :: 0':S → 0':S
gcd :: 0':S → 0':S → 0':S
l13 :: 0':S → True:False → 0':S
m4 :: 0':S → 0':S → True:False
m5 :: True:False → True:False
monus :: 0':S → 0':S → True:False
l10 :: 0':S → 0':S → 0':S
l7 :: 0':S → 0':S → 0':S
l2 :: 0':S → 0':S → 0':S → True:False → 0':S
l3 :: 0':S → 0':S → 0':S
l11 :: 0':S → 0':S → True:False → 0':S
l14 :: 0':S → 0':S → 0':S
l12 :: 0':S → 0':S → 0':S
e3 :: 0':S → 0':S → True:False
bool2Nat :: True:False → 0':S
m1 :: 0':S → 0':S → True:False
l9 :: l9 → l9
l6 :: 0':S
l4 :: 0':S → 0':S → 0':S
l1 :: 0':S → 0':S → 0':S → 0':S
e7 :: True:False
e6 :: True:False
e5 :: True:False
equal0 :: 0':S → 0':S → True:False
< :: 0':S → 0':S → True:False
e1 :: 0':S → 0':S → True:False
e8 :: e8 → e8
hole_True:False1_17 :: True:False
hole_0':S2_17 :: 0':S
hole_l93_17 :: l9
hole_e84_17 :: e8
gen_0':S5_17 :: Nat → 0':S
Lemmas:
<(gen_0':S5_17(n7_17), gen_0':S5_17(+(1, n7_17))) → True, rt ∈ Ω(0)
Generator Equations:
gen_0':S5_17(0) ⇔ 0'
gen_0':S5_17(+(x, 1)) ⇔ S(gen_0':S5_17(x))
The following defined symbols remain to be analysed:
monus, l15, gcd, l13, m4, l10, l7, l3, l14, l12, m1, l4
They will be analysed ascendingly in the following order:
l15 = gcd
l15 = l13
l15 = l10
l15 = l7
l15 = l3
l15 = l14
l15 = l12
l15 = l4
gcd = l13
gcd = l10
gcd = l7
gcd = l3
gcd = l14
gcd = l12
gcd = l4
l13 = l10
l13 = l7
l13 = l3
l13 = l14
l13 = l12
l13 = l4
m4 = monus
m4 = m1
monus < l14
monus < l12
monus = m1
l10 = l7
l10 = l3
l10 = l14
l10 = l12
l10 = l4
l7 = l3
l7 = l14
l7 = l12
l7 = l4
l3 = l14
l3 = l12
l3 = l4
l14 = l12
l14 = l4
l12 = l4
(12) RewriteLemmaProof (LOWER BOUND(ID) transformation)
Proved the following rewrite lemma:
monus(
gen_0':S5_17(
n644_17),
gen_0':S5_17(
n644_17)) →
*6_17, rt ∈ Ω(n644
17)
Induction Base:
monus(gen_0':S5_17(0), gen_0':S5_17(0))
Induction Step:
monus(gen_0':S5_17(+(n644_17, 1)), gen_0':S5_17(+(n644_17, 1))) →RΩ(1)
m1(gen_0':S5_17(+(n644_17, 1)), gen_0':S5_17(+(n644_17, 1))) →RΩ(1)
m2(gen_0':S5_17(+(1, n644_17)), gen_0':S5_17(+(1, n644_17)), False) →RΩ(1)
m4(gen_0':S5_17(+(1, n644_17)), gen_0':S5_17(+(1, n644_17))) →RΩ(1)
m5(monus(gen_0':S5_17(n644_17), gen_0':S5_17(n644_17))) →IH
m5(*6_17)
We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).
(13) Complex Obligation (BEST)
(14) Obligation:
Innermost TRS:
Rules:
m2(
S(
0'),
b,
True) →
Falsem2(
S(
S(
x)),
b,
True) →
Truem2(
0',
b,
True) →
Falsem3(
S(
0')) →
Falsem3(
S(
S(
x))) →
Truem3(
0') →
Falsel8(
res,
y,
True) →
resl5(
x,
y,
True) →
0'help1(
S(
0')) →
Falsehelp1(
S(
S(
x))) →
Truee4(
False) →
Falsee4(
True) →
Truee2(
a,
b,
False) →
Falsel15(
y,
False) →
l16(
gcd(
y,
0'))
l15(
y,
True) →
l16(
gcd(
y,
S(
0')))
l13(
y,
False) →
l16(
gcd(
0',
y))
l13(
y,
True) →
l16(
gcd(
S(
0'),
y))
m4(
S(
x'),
S(
x)) →
m5(
monus(
x',
x))
m2(
a,
b,
False) →
m4(
a,
b)
l8(
x,
y,
False) →
l10(
x,
y)
l5(
x,
y,
False) →
l7(
x,
y)
l2(
x,
y,
res,
False) →
l3(
x,
y)
l2(
x,
y,
res,
True) →
resl11(
x,
y,
False) →
l14(
x,
y)
l11(
x,
y,
True) →
l12(
x,
y)
help1(
0') →
Falsee2(
a,
b,
True) →
e3(
a,
b)
bool2Nat(
False) →
0'bool2Nat(
True) →
S(
0')
m1(
a,
x) →
m2(
a,
x,
False)
l9(
res) →
resl6 →
0'l4(
x',
x) →
l5(
x',
x,
False)
l1(
x,
y,
res) →
l2(
x,
y,
res,
False)
e7 →
Falsee6 →
Falsee5 →
Truemonus(
a,
b) →
m1(
a,
b)
m5(
res) →
resl7(
x,
y) →
l8(
x,
y,
equal0(
x,
y))
l3(
x,
y) →
l4(
x,
y)
l16(
res) →
resl14(
x,
y) →
l15(
y,
monus(
x,
y))
l12(
x,
y) →
l13(
y,
monus(
x,
y))
l10(
x,
y) →
l11(
x,
y,
<(
x,
y))
gcd(
x,
y) →
l1(
x,
y,
0')
equal0(
a,
b) →
e1(
a,
b)
e8(
res) →
rese3(
a,
b) →
e4(
<(
b,
a))
e1(
a,
b) →
e2(
a,
b,
<(
a,
b))
<(
S(
x),
S(
y)) →
<(
x,
y)
<(
0',
S(
y)) →
True<(
x,
0') →
FalseTypes:
m2 :: 0':S → 0':S → True:False → True:False
S :: 0':S → 0':S
0' :: 0':S
True :: True:False
False :: True:False
m3 :: 0':S → True:False
l8 :: 0':S → 0':S → True:False → 0':S
l5 :: 0':S → 0':S → True:False → 0':S
help1 :: 0':S → True:False
e4 :: True:False → True:False
e2 :: 0':S → 0':S → True:False → True:False
l15 :: 0':S → True:False → 0':S
l16 :: 0':S → 0':S
gcd :: 0':S → 0':S → 0':S
l13 :: 0':S → True:False → 0':S
m4 :: 0':S → 0':S → True:False
m5 :: True:False → True:False
monus :: 0':S → 0':S → True:False
l10 :: 0':S → 0':S → 0':S
l7 :: 0':S → 0':S → 0':S
l2 :: 0':S → 0':S → 0':S → True:False → 0':S
l3 :: 0':S → 0':S → 0':S
l11 :: 0':S → 0':S → True:False → 0':S
l14 :: 0':S → 0':S → 0':S
l12 :: 0':S → 0':S → 0':S
e3 :: 0':S → 0':S → True:False
bool2Nat :: True:False → 0':S
m1 :: 0':S → 0':S → True:False
l9 :: l9 → l9
l6 :: 0':S
l4 :: 0':S → 0':S → 0':S
l1 :: 0':S → 0':S → 0':S → 0':S
e7 :: True:False
e6 :: True:False
e5 :: True:False
equal0 :: 0':S → 0':S → True:False
< :: 0':S → 0':S → True:False
e1 :: 0':S → 0':S → True:False
e8 :: e8 → e8
hole_True:False1_17 :: True:False
hole_0':S2_17 :: 0':S
hole_l93_17 :: l9
hole_e84_17 :: e8
gen_0':S5_17 :: Nat → 0':S
Lemmas:
<(gen_0':S5_17(n7_17), gen_0':S5_17(+(1, n7_17))) → True, rt ∈ Ω(0)
monus(gen_0':S5_17(n644_17), gen_0':S5_17(n644_17)) → *6_17, rt ∈ Ω(n64417)
Generator Equations:
gen_0':S5_17(0) ⇔ 0'
gen_0':S5_17(+(x, 1)) ⇔ S(gen_0':S5_17(x))
The following defined symbols remain to be analysed:
m1, l15, gcd, l13, m4, l10, l7, l3, l14, l12, l4
They will be analysed ascendingly in the following order:
l15 = gcd
l15 = l13
l15 = l10
l15 = l7
l15 = l3
l15 = l14
l15 = l12
l15 = l4
gcd = l13
gcd = l10
gcd = l7
gcd = l3
gcd = l14
gcd = l12
gcd = l4
l13 = l10
l13 = l7
l13 = l3
l13 = l14
l13 = l12
l13 = l4
m4 = monus
m4 = m1
monus < l14
monus < l12
monus = m1
l10 = l7
l10 = l3
l10 = l14
l10 = l12
l10 = l4
l7 = l3
l7 = l14
l7 = l12
l7 = l4
l3 = l14
l3 = l12
l3 = l4
l14 = l12
l14 = l4
l12 = l4
(15) RewriteLemmaProof (LOWER BOUND(ID) transformation)
Proved the following rewrite lemma:
m1(
gen_0':S5_17(
n2564_17),
gen_0':S5_17(
n2564_17)) →
*6_17, rt ∈ Ω(n2564
17)
Induction Base:
m1(gen_0':S5_17(0), gen_0':S5_17(0))
Induction Step:
m1(gen_0':S5_17(+(n2564_17, 1)), gen_0':S5_17(+(n2564_17, 1))) →RΩ(1)
m2(gen_0':S5_17(+(n2564_17, 1)), gen_0':S5_17(+(n2564_17, 1)), False) →RΩ(1)
m4(gen_0':S5_17(+(1, n2564_17)), gen_0':S5_17(+(1, n2564_17))) →RΩ(1)
m5(monus(gen_0':S5_17(n2564_17), gen_0':S5_17(n2564_17))) →RΩ(1)
m5(m1(gen_0':S5_17(n2564_17), gen_0':S5_17(n2564_17))) →IH
m5(*6_17)
We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).
(16) Complex Obligation (BEST)
(17) Obligation:
Innermost TRS:
Rules:
m2(
S(
0'),
b,
True) →
Falsem2(
S(
S(
x)),
b,
True) →
Truem2(
0',
b,
True) →
Falsem3(
S(
0')) →
Falsem3(
S(
S(
x))) →
Truem3(
0') →
Falsel8(
res,
y,
True) →
resl5(
x,
y,
True) →
0'help1(
S(
0')) →
Falsehelp1(
S(
S(
x))) →
Truee4(
False) →
Falsee4(
True) →
Truee2(
a,
b,
False) →
Falsel15(
y,
False) →
l16(
gcd(
y,
0'))
l15(
y,
True) →
l16(
gcd(
y,
S(
0')))
l13(
y,
False) →
l16(
gcd(
0',
y))
l13(
y,
True) →
l16(
gcd(
S(
0'),
y))
m4(
S(
x'),
S(
x)) →
m5(
monus(
x',
x))
m2(
a,
b,
False) →
m4(
a,
b)
l8(
x,
y,
False) →
l10(
x,
y)
l5(
x,
y,
False) →
l7(
x,
y)
l2(
x,
y,
res,
False) →
l3(
x,
y)
l2(
x,
y,
res,
True) →
resl11(
x,
y,
False) →
l14(
x,
y)
l11(
x,
y,
True) →
l12(
x,
y)
help1(
0') →
Falsee2(
a,
b,
True) →
e3(
a,
b)
bool2Nat(
False) →
0'bool2Nat(
True) →
S(
0')
m1(
a,
x) →
m2(
a,
x,
False)
l9(
res) →
resl6 →
0'l4(
x',
x) →
l5(
x',
x,
False)
l1(
x,
y,
res) →
l2(
x,
y,
res,
False)
e7 →
Falsee6 →
Falsee5 →
Truemonus(
a,
b) →
m1(
a,
b)
m5(
res) →
resl7(
x,
y) →
l8(
x,
y,
equal0(
x,
y))
l3(
x,
y) →
l4(
x,
y)
l16(
res) →
resl14(
x,
y) →
l15(
y,
monus(
x,
y))
l12(
x,
y) →
l13(
y,
monus(
x,
y))
l10(
x,
y) →
l11(
x,
y,
<(
x,
y))
gcd(
x,
y) →
l1(
x,
y,
0')
equal0(
a,
b) →
e1(
a,
b)
e8(
res) →
rese3(
a,
b) →
e4(
<(
b,
a))
e1(
a,
b) →
e2(
a,
b,
<(
a,
b))
<(
S(
x),
S(
y)) →
<(
x,
y)
<(
0',
S(
y)) →
True<(
x,
0') →
FalseTypes:
m2 :: 0':S → 0':S → True:False → True:False
S :: 0':S → 0':S
0' :: 0':S
True :: True:False
False :: True:False
m3 :: 0':S → True:False
l8 :: 0':S → 0':S → True:False → 0':S
l5 :: 0':S → 0':S → True:False → 0':S
help1 :: 0':S → True:False
e4 :: True:False → True:False
e2 :: 0':S → 0':S → True:False → True:False
l15 :: 0':S → True:False → 0':S
l16 :: 0':S → 0':S
gcd :: 0':S → 0':S → 0':S
l13 :: 0':S → True:False → 0':S
m4 :: 0':S → 0':S → True:False
m5 :: True:False → True:False
monus :: 0':S → 0':S → True:False
l10 :: 0':S → 0':S → 0':S
l7 :: 0':S → 0':S → 0':S
l2 :: 0':S → 0':S → 0':S → True:False → 0':S
l3 :: 0':S → 0':S → 0':S
l11 :: 0':S → 0':S → True:False → 0':S
l14 :: 0':S → 0':S → 0':S
l12 :: 0':S → 0':S → 0':S
e3 :: 0':S → 0':S → True:False
bool2Nat :: True:False → 0':S
m1 :: 0':S → 0':S → True:False
l9 :: l9 → l9
l6 :: 0':S
l4 :: 0':S → 0':S → 0':S
l1 :: 0':S → 0':S → 0':S → 0':S
e7 :: True:False
e6 :: True:False
e5 :: True:False
equal0 :: 0':S → 0':S → True:False
< :: 0':S → 0':S → True:False
e1 :: 0':S → 0':S → True:False
e8 :: e8 → e8
hole_True:False1_17 :: True:False
hole_0':S2_17 :: 0':S
hole_l93_17 :: l9
hole_e84_17 :: e8
gen_0':S5_17 :: Nat → 0':S
Lemmas:
<(gen_0':S5_17(n7_17), gen_0':S5_17(+(1, n7_17))) → True, rt ∈ Ω(0)
monus(gen_0':S5_17(n644_17), gen_0':S5_17(n644_17)) → *6_17, rt ∈ Ω(n64417)
m1(gen_0':S5_17(n2564_17), gen_0':S5_17(n2564_17)) → *6_17, rt ∈ Ω(n256417)
Generator Equations:
gen_0':S5_17(0) ⇔ 0'
gen_0':S5_17(+(x, 1)) ⇔ S(gen_0':S5_17(x))
The following defined symbols remain to be analysed:
m4, l15, gcd, l13, monus, l10, l7, l3, l14, l12, l4
They will be analysed ascendingly in the following order:
l15 = gcd
l15 = l13
l15 = l10
l15 = l7
l15 = l3
l15 = l14
l15 = l12
l15 = l4
gcd = l13
gcd = l10
gcd = l7
gcd = l3
gcd = l14
gcd = l12
gcd = l4
l13 = l10
l13 = l7
l13 = l3
l13 = l14
l13 = l12
l13 = l4
m4 = monus
m4 = m1
monus < l14
monus < l12
monus = m1
l10 = l7
l10 = l3
l10 = l14
l10 = l12
l10 = l4
l7 = l3
l7 = l14
l7 = l12
l7 = l4
l3 = l14
l3 = l12
l3 = l4
l14 = l12
l14 = l4
l12 = l4
(18) RewriteLemmaProof (LOWER BOUND(ID) transformation)
Proved the following rewrite lemma:
m4(
gen_0':S5_17(
+(
1,
n4548_17)),
gen_0':S5_17(
+(
1,
n4548_17))) →
*6_17, rt ∈ Ω(n4548
17)
Induction Base:
m4(gen_0':S5_17(+(1, 0)), gen_0':S5_17(+(1, 0)))
Induction Step:
m4(gen_0':S5_17(+(1, +(n4548_17, 1))), gen_0':S5_17(+(1, +(n4548_17, 1)))) →RΩ(1)
m5(monus(gen_0':S5_17(+(1, n4548_17)), gen_0':S5_17(+(1, n4548_17)))) →RΩ(1)
m5(m1(gen_0':S5_17(+(1, n4548_17)), gen_0':S5_17(+(1, n4548_17)))) →RΩ(1)
m5(m2(gen_0':S5_17(+(1, n4548_17)), gen_0':S5_17(+(1, n4548_17)), False)) →RΩ(1)
m5(m4(gen_0':S5_17(+(1, n4548_17)), gen_0':S5_17(+(1, n4548_17)))) →IH
m5(*6_17)
We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).
(19) Complex Obligation (BEST)
(20) Obligation:
Innermost TRS:
Rules:
m2(
S(
0'),
b,
True) →
Falsem2(
S(
S(
x)),
b,
True) →
Truem2(
0',
b,
True) →
Falsem3(
S(
0')) →
Falsem3(
S(
S(
x))) →
Truem3(
0') →
Falsel8(
res,
y,
True) →
resl5(
x,
y,
True) →
0'help1(
S(
0')) →
Falsehelp1(
S(
S(
x))) →
Truee4(
False) →
Falsee4(
True) →
Truee2(
a,
b,
False) →
Falsel15(
y,
False) →
l16(
gcd(
y,
0'))
l15(
y,
True) →
l16(
gcd(
y,
S(
0')))
l13(
y,
False) →
l16(
gcd(
0',
y))
l13(
y,
True) →
l16(
gcd(
S(
0'),
y))
m4(
S(
x'),
S(
x)) →
m5(
monus(
x',
x))
m2(
a,
b,
False) →
m4(
a,
b)
l8(
x,
y,
False) →
l10(
x,
y)
l5(
x,
y,
False) →
l7(
x,
y)
l2(
x,
y,
res,
False) →
l3(
x,
y)
l2(
x,
y,
res,
True) →
resl11(
x,
y,
False) →
l14(
x,
y)
l11(
x,
y,
True) →
l12(
x,
y)
help1(
0') →
Falsee2(
a,
b,
True) →
e3(
a,
b)
bool2Nat(
False) →
0'bool2Nat(
True) →
S(
0')
m1(
a,
x) →
m2(
a,
x,
False)
l9(
res) →
resl6 →
0'l4(
x',
x) →
l5(
x',
x,
False)
l1(
x,
y,
res) →
l2(
x,
y,
res,
False)
e7 →
Falsee6 →
Falsee5 →
Truemonus(
a,
b) →
m1(
a,
b)
m5(
res) →
resl7(
x,
y) →
l8(
x,
y,
equal0(
x,
y))
l3(
x,
y) →
l4(
x,
y)
l16(
res) →
resl14(
x,
y) →
l15(
y,
monus(
x,
y))
l12(
x,
y) →
l13(
y,
monus(
x,
y))
l10(
x,
y) →
l11(
x,
y,
<(
x,
y))
gcd(
x,
y) →
l1(
x,
y,
0')
equal0(
a,
b) →
e1(
a,
b)
e8(
res) →
rese3(
a,
b) →
e4(
<(
b,
a))
e1(
a,
b) →
e2(
a,
b,
<(
a,
b))
<(
S(
x),
S(
y)) →
<(
x,
y)
<(
0',
S(
y)) →
True<(
x,
0') →
FalseTypes:
m2 :: 0':S → 0':S → True:False → True:False
S :: 0':S → 0':S
0' :: 0':S
True :: True:False
False :: True:False
m3 :: 0':S → True:False
l8 :: 0':S → 0':S → True:False → 0':S
l5 :: 0':S → 0':S → True:False → 0':S
help1 :: 0':S → True:False
e4 :: True:False → True:False
e2 :: 0':S → 0':S → True:False → True:False
l15 :: 0':S → True:False → 0':S
l16 :: 0':S → 0':S
gcd :: 0':S → 0':S → 0':S
l13 :: 0':S → True:False → 0':S
m4 :: 0':S → 0':S → True:False
m5 :: True:False → True:False
monus :: 0':S → 0':S → True:False
l10 :: 0':S → 0':S → 0':S
l7 :: 0':S → 0':S → 0':S
l2 :: 0':S → 0':S → 0':S → True:False → 0':S
l3 :: 0':S → 0':S → 0':S
l11 :: 0':S → 0':S → True:False → 0':S
l14 :: 0':S → 0':S → 0':S
l12 :: 0':S → 0':S → 0':S
e3 :: 0':S → 0':S → True:False
bool2Nat :: True:False → 0':S
m1 :: 0':S → 0':S → True:False
l9 :: l9 → l9
l6 :: 0':S
l4 :: 0':S → 0':S → 0':S
l1 :: 0':S → 0':S → 0':S → 0':S
e7 :: True:False
e6 :: True:False
e5 :: True:False
equal0 :: 0':S → 0':S → True:False
< :: 0':S → 0':S → True:False
e1 :: 0':S → 0':S → True:False
e8 :: e8 → e8
hole_True:False1_17 :: True:False
hole_0':S2_17 :: 0':S
hole_l93_17 :: l9
hole_e84_17 :: e8
gen_0':S5_17 :: Nat → 0':S
Lemmas:
<(gen_0':S5_17(n7_17), gen_0':S5_17(+(1, n7_17))) → True, rt ∈ Ω(0)
monus(gen_0':S5_17(n644_17), gen_0':S5_17(n644_17)) → *6_17, rt ∈ Ω(n64417)
m1(gen_0':S5_17(n2564_17), gen_0':S5_17(n2564_17)) → *6_17, rt ∈ Ω(n256417)
m4(gen_0':S5_17(+(1, n4548_17)), gen_0':S5_17(+(1, n4548_17))) → *6_17, rt ∈ Ω(n454817)
Generator Equations:
gen_0':S5_17(0) ⇔ 0'
gen_0':S5_17(+(x, 1)) ⇔ S(gen_0':S5_17(x))
The following defined symbols remain to be analysed:
monus, l15, gcd, l13, l10, l7, l3, l14, l12, m1, l4
They will be analysed ascendingly in the following order:
l15 = gcd
l15 = l13
l15 = l10
l15 = l7
l15 = l3
l15 = l14
l15 = l12
l15 = l4
gcd = l13
gcd = l10
gcd = l7
gcd = l3
gcd = l14
gcd = l12
gcd = l4
l13 = l10
l13 = l7
l13 = l3
l13 = l14
l13 = l12
l13 = l4
m4 = monus
m4 = m1
monus < l14
monus < l12
monus = m1
l10 = l7
l10 = l3
l10 = l14
l10 = l12
l10 = l4
l7 = l3
l7 = l14
l7 = l12
l7 = l4
l3 = l14
l3 = l12
l3 = l4
l14 = l12
l14 = l4
l12 = l4
(21) RewriteLemmaProof (LOWER BOUND(ID) transformation)
Proved the following rewrite lemma:
monus(
gen_0':S5_17(
n7092_17),
gen_0':S5_17(
n7092_17)) →
*6_17, rt ∈ Ω(n7092
17)
Induction Base:
monus(gen_0':S5_17(0), gen_0':S5_17(0))
Induction Step:
monus(gen_0':S5_17(+(n7092_17, 1)), gen_0':S5_17(+(n7092_17, 1))) →RΩ(1)
m1(gen_0':S5_17(+(n7092_17, 1)), gen_0':S5_17(+(n7092_17, 1))) →RΩ(1)
m2(gen_0':S5_17(+(1, n7092_17)), gen_0':S5_17(+(1, n7092_17)), False) →RΩ(1)
m4(gen_0':S5_17(+(1, n7092_17)), gen_0':S5_17(+(1, n7092_17))) →RΩ(1)
m5(monus(gen_0':S5_17(n7092_17), gen_0':S5_17(n7092_17))) →IH
m5(*6_17)
We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).
(22) Complex Obligation (BEST)
(23) Obligation:
Innermost TRS:
Rules:
m2(
S(
0'),
b,
True) →
Falsem2(
S(
S(
x)),
b,
True) →
Truem2(
0',
b,
True) →
Falsem3(
S(
0')) →
Falsem3(
S(
S(
x))) →
Truem3(
0') →
Falsel8(
res,
y,
True) →
resl5(
x,
y,
True) →
0'help1(
S(
0')) →
Falsehelp1(
S(
S(
x))) →
Truee4(
False) →
Falsee4(
True) →
Truee2(
a,
b,
False) →
Falsel15(
y,
False) →
l16(
gcd(
y,
0'))
l15(
y,
True) →
l16(
gcd(
y,
S(
0')))
l13(
y,
False) →
l16(
gcd(
0',
y))
l13(
y,
True) →
l16(
gcd(
S(
0'),
y))
m4(
S(
x'),
S(
x)) →
m5(
monus(
x',
x))
m2(
a,
b,
False) →
m4(
a,
b)
l8(
x,
y,
False) →
l10(
x,
y)
l5(
x,
y,
False) →
l7(
x,
y)
l2(
x,
y,
res,
False) →
l3(
x,
y)
l2(
x,
y,
res,
True) →
resl11(
x,
y,
False) →
l14(
x,
y)
l11(
x,
y,
True) →
l12(
x,
y)
help1(
0') →
Falsee2(
a,
b,
True) →
e3(
a,
b)
bool2Nat(
False) →
0'bool2Nat(
True) →
S(
0')
m1(
a,
x) →
m2(
a,
x,
False)
l9(
res) →
resl6 →
0'l4(
x',
x) →
l5(
x',
x,
False)
l1(
x,
y,
res) →
l2(
x,
y,
res,
False)
e7 →
Falsee6 →
Falsee5 →
Truemonus(
a,
b) →
m1(
a,
b)
m5(
res) →
resl7(
x,
y) →
l8(
x,
y,
equal0(
x,
y))
l3(
x,
y) →
l4(
x,
y)
l16(
res) →
resl14(
x,
y) →
l15(
y,
monus(
x,
y))
l12(
x,
y) →
l13(
y,
monus(
x,
y))
l10(
x,
y) →
l11(
x,
y,
<(
x,
y))
gcd(
x,
y) →
l1(
x,
y,
0')
equal0(
a,
b) →
e1(
a,
b)
e8(
res) →
rese3(
a,
b) →
e4(
<(
b,
a))
e1(
a,
b) →
e2(
a,
b,
<(
a,
b))
<(
S(
x),
S(
y)) →
<(
x,
y)
<(
0',
S(
y)) →
True<(
x,
0') →
FalseTypes:
m2 :: 0':S → 0':S → True:False → True:False
S :: 0':S → 0':S
0' :: 0':S
True :: True:False
False :: True:False
m3 :: 0':S → True:False
l8 :: 0':S → 0':S → True:False → 0':S
l5 :: 0':S → 0':S → True:False → 0':S
help1 :: 0':S → True:False
e4 :: True:False → True:False
e2 :: 0':S → 0':S → True:False → True:False
l15 :: 0':S → True:False → 0':S
l16 :: 0':S → 0':S
gcd :: 0':S → 0':S → 0':S
l13 :: 0':S → True:False → 0':S
m4 :: 0':S → 0':S → True:False
m5 :: True:False → True:False
monus :: 0':S → 0':S → True:False
l10 :: 0':S → 0':S → 0':S
l7 :: 0':S → 0':S → 0':S
l2 :: 0':S → 0':S → 0':S → True:False → 0':S
l3 :: 0':S → 0':S → 0':S
l11 :: 0':S → 0':S → True:False → 0':S
l14 :: 0':S → 0':S → 0':S
l12 :: 0':S → 0':S → 0':S
e3 :: 0':S → 0':S → True:False
bool2Nat :: True:False → 0':S
m1 :: 0':S → 0':S → True:False
l9 :: l9 → l9
l6 :: 0':S
l4 :: 0':S → 0':S → 0':S
l1 :: 0':S → 0':S → 0':S → 0':S
e7 :: True:False
e6 :: True:False
e5 :: True:False
equal0 :: 0':S → 0':S → True:False
< :: 0':S → 0':S → True:False
e1 :: 0':S → 0':S → True:False
e8 :: e8 → e8
hole_True:False1_17 :: True:False
hole_0':S2_17 :: 0':S
hole_l93_17 :: l9
hole_e84_17 :: e8
gen_0':S5_17 :: Nat → 0':S
Lemmas:
<(gen_0':S5_17(n7_17), gen_0':S5_17(+(1, n7_17))) → True, rt ∈ Ω(0)
monus(gen_0':S5_17(n7092_17), gen_0':S5_17(n7092_17)) → *6_17, rt ∈ Ω(n709217)
m1(gen_0':S5_17(n2564_17), gen_0':S5_17(n2564_17)) → *6_17, rt ∈ Ω(n256417)
m4(gen_0':S5_17(+(1, n4548_17)), gen_0':S5_17(+(1, n4548_17))) → *6_17, rt ∈ Ω(n454817)
Generator Equations:
gen_0':S5_17(0) ⇔ 0'
gen_0':S5_17(+(x, 1)) ⇔ S(gen_0':S5_17(x))
The following defined symbols remain to be analysed:
m1, l15, gcd, l13, l10, l7, l3, l14, l12, l4
They will be analysed ascendingly in the following order:
l15 = gcd
l15 = l13
l15 = l10
l15 = l7
l15 = l3
l15 = l14
l15 = l12
l15 = l4
gcd = l13
gcd = l10
gcd = l7
gcd = l3
gcd = l14
gcd = l12
gcd = l4
l13 = l10
l13 = l7
l13 = l3
l13 = l14
l13 = l12
l13 = l4
m4 = monus
m4 = m1
monus < l14
monus < l12
monus = m1
l10 = l7
l10 = l3
l10 = l14
l10 = l12
l10 = l4
l7 = l3
l7 = l14
l7 = l12
l7 = l4
l3 = l14
l3 = l12
l3 = l4
l14 = l12
l14 = l4
l12 = l4
(24) RewriteLemmaProof (LOWER BOUND(ID) transformation)
Proved the following rewrite lemma:
m1(
gen_0':S5_17(
n9684_17),
gen_0':S5_17(
n9684_17)) →
*6_17, rt ∈ Ω(n9684
17)
Induction Base:
m1(gen_0':S5_17(0), gen_0':S5_17(0))
Induction Step:
m1(gen_0':S5_17(+(n9684_17, 1)), gen_0':S5_17(+(n9684_17, 1))) →RΩ(1)
m2(gen_0':S5_17(+(n9684_17, 1)), gen_0':S5_17(+(n9684_17, 1)), False) →RΩ(1)
m4(gen_0':S5_17(+(1, n9684_17)), gen_0':S5_17(+(1, n9684_17))) →RΩ(1)
m5(monus(gen_0':S5_17(n9684_17), gen_0':S5_17(n9684_17))) →RΩ(1)
m5(m1(gen_0':S5_17(n9684_17), gen_0':S5_17(n9684_17))) →IH
m5(*6_17)
We have rt ∈ Ω(n1) and sz ∈ O(n). Thus, we have ircR ∈ Ω(n).
(25) Complex Obligation (BEST)
(26) Obligation:
Innermost TRS:
Rules:
m2(
S(
0'),
b,
True) →
Falsem2(
S(
S(
x)),
b,
True) →
Truem2(
0',
b,
True) →
Falsem3(
S(
0')) →
Falsem3(
S(
S(
x))) →
Truem3(
0') →
Falsel8(
res,
y,
True) →
resl5(
x,
y,
True) →
0'help1(
S(
0')) →
Falsehelp1(
S(
S(
x))) →
Truee4(
False) →
Falsee4(
True) →
Truee2(
a,
b,
False) →
Falsel15(
y,
False) →
l16(
gcd(
y,
0'))
l15(
y,
True) →
l16(
gcd(
y,
S(
0')))
l13(
y,
False) →
l16(
gcd(
0',
y))
l13(
y,
True) →
l16(
gcd(
S(
0'),
y))
m4(
S(
x'),
S(
x)) →
m5(
monus(
x',
x))
m2(
a,
b,
False) →
m4(
a,
b)
l8(
x,
y,
False) →
l10(
x,
y)
l5(
x,
y,
False) →
l7(
x,
y)
l2(
x,
y,
res,
False) →
l3(
x,
y)
l2(
x,
y,
res,
True) →
resl11(
x,
y,
False) →
l14(
x,
y)
l11(
x,
y,
True) →
l12(
x,
y)
help1(
0') →
Falsee2(
a,
b,
True) →
e3(
a,
b)
bool2Nat(
False) →
0'bool2Nat(
True) →
S(
0')
m1(
a,
x) →
m2(
a,
x,
False)
l9(
res) →
resl6 →
0'l4(
x',
x) →
l5(
x',
x,
False)
l1(
x,
y,
res) →
l2(
x,
y,
res,
False)
e7 →
Falsee6 →
Falsee5 →
Truemonus(
a,
b) →
m1(
a,
b)
m5(
res) →
resl7(
x,
y) →
l8(
x,
y,
equal0(
x,
y))
l3(
x,
y) →
l4(
x,
y)
l16(
res) →
resl14(
x,
y) →
l15(
y,
monus(
x,
y))
l12(
x,
y) →
l13(
y,
monus(
x,
y))
l10(
x,
y) →
l11(
x,
y,
<(
x,
y))
gcd(
x,
y) →
l1(
x,
y,
0')
equal0(
a,
b) →
e1(
a,
b)
e8(
res) →
rese3(
a,
b) →
e4(
<(
b,
a))
e1(
a,
b) →
e2(
a,
b,
<(
a,
b))
<(
S(
x),
S(
y)) →
<(
x,
y)
<(
0',
S(
y)) →
True<(
x,
0') →
FalseTypes:
m2 :: 0':S → 0':S → True:False → True:False
S :: 0':S → 0':S
0' :: 0':S
True :: True:False
False :: True:False
m3 :: 0':S → True:False
l8 :: 0':S → 0':S → True:False → 0':S
l5 :: 0':S → 0':S → True:False → 0':S
help1 :: 0':S → True:False
e4 :: True:False → True:False
e2 :: 0':S → 0':S → True:False → True:False
l15 :: 0':S → True:False → 0':S
l16 :: 0':S → 0':S
gcd :: 0':S → 0':S → 0':S
l13 :: 0':S → True:False → 0':S
m4 :: 0':S → 0':S → True:False
m5 :: True:False → True:False
monus :: 0':S → 0':S → True:False
l10 :: 0':S → 0':S → 0':S
l7 :: 0':S → 0':S → 0':S
l2 :: 0':S → 0':S → 0':S → True:False → 0':S
l3 :: 0':S → 0':S → 0':S
l11 :: 0':S → 0':S → True:False → 0':S
l14 :: 0':S → 0':S → 0':S
l12 :: 0':S → 0':S → 0':S
e3 :: 0':S → 0':S → True:False
bool2Nat :: True:False → 0':S
m1 :: 0':S → 0':S → True:False
l9 :: l9 → l9
l6 :: 0':S
l4 :: 0':S → 0':S → 0':S
l1 :: 0':S → 0':S → 0':S → 0':S
e7 :: True:False
e6 :: True:False
e5 :: True:False
equal0 :: 0':S → 0':S → True:False
< :: 0':S → 0':S → True:False
e1 :: 0':S → 0':S → True:False
e8 :: e8 → e8
hole_True:False1_17 :: True:False
hole_0':S2_17 :: 0':S
hole_l93_17 :: l9
hole_e84_17 :: e8
gen_0':S5_17 :: Nat → 0':S
Lemmas:
<(gen_0':S5_17(n7_17), gen_0':S5_17(+(1, n7_17))) → True, rt ∈ Ω(0)
monus(gen_0':S5_17(n7092_17), gen_0':S5_17(n7092_17)) → *6_17, rt ∈ Ω(n709217)
m1(gen_0':S5_17(n9684_17), gen_0':S5_17(n9684_17)) → *6_17, rt ∈ Ω(n968417)
m4(gen_0':S5_17(+(1, n4548_17)), gen_0':S5_17(+(1, n4548_17))) → *6_17, rt ∈ Ω(n454817)
Generator Equations:
gen_0':S5_17(0) ⇔ 0'
gen_0':S5_17(+(x, 1)) ⇔ S(gen_0':S5_17(x))
The following defined symbols remain to be analysed:
gcd, l15, l13, l10, l7, l3, l14, l12, l4
They will be analysed ascendingly in the following order:
l15 = gcd
l15 = l13
l15 = l10
l15 = l7
l15 = l3
l15 = l14
l15 = l12
l15 = l4
gcd = l13
gcd = l10
gcd = l7
gcd = l3
gcd = l14
gcd = l12
gcd = l4
l13 = l10
l13 = l7
l13 = l3
l13 = l14
l13 = l12
l13 = l4
l10 = l7
l10 = l3
l10 = l14
l10 = l12
l10 = l4
l7 = l3
l7 = l14
l7 = l12
l7 = l4
l3 = l14
l3 = l12
l3 = l4
l14 = l12
l14 = l4
l12 = l4
(27) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol gcd.
(28) Obligation:
Innermost TRS:
Rules:
m2(
S(
0'),
b,
True) →
Falsem2(
S(
S(
x)),
b,
True) →
Truem2(
0',
b,
True) →
Falsem3(
S(
0')) →
Falsem3(
S(
S(
x))) →
Truem3(
0') →
Falsel8(
res,
y,
True) →
resl5(
x,
y,
True) →
0'help1(
S(
0')) →
Falsehelp1(
S(
S(
x))) →
Truee4(
False) →
Falsee4(
True) →
Truee2(
a,
b,
False) →
Falsel15(
y,
False) →
l16(
gcd(
y,
0'))
l15(
y,
True) →
l16(
gcd(
y,
S(
0')))
l13(
y,
False) →
l16(
gcd(
0',
y))
l13(
y,
True) →
l16(
gcd(
S(
0'),
y))
m4(
S(
x'),
S(
x)) →
m5(
monus(
x',
x))
m2(
a,
b,
False) →
m4(
a,
b)
l8(
x,
y,
False) →
l10(
x,
y)
l5(
x,
y,
False) →
l7(
x,
y)
l2(
x,
y,
res,
False) →
l3(
x,
y)
l2(
x,
y,
res,
True) →
resl11(
x,
y,
False) →
l14(
x,
y)
l11(
x,
y,
True) →
l12(
x,
y)
help1(
0') →
Falsee2(
a,
b,
True) →
e3(
a,
b)
bool2Nat(
False) →
0'bool2Nat(
True) →
S(
0')
m1(
a,
x) →
m2(
a,
x,
False)
l9(
res) →
resl6 →
0'l4(
x',
x) →
l5(
x',
x,
False)
l1(
x,
y,
res) →
l2(
x,
y,
res,
False)
e7 →
Falsee6 →
Falsee5 →
Truemonus(
a,
b) →
m1(
a,
b)
m5(
res) →
resl7(
x,
y) →
l8(
x,
y,
equal0(
x,
y))
l3(
x,
y) →
l4(
x,
y)
l16(
res) →
resl14(
x,
y) →
l15(
y,
monus(
x,
y))
l12(
x,
y) →
l13(
y,
monus(
x,
y))
l10(
x,
y) →
l11(
x,
y,
<(
x,
y))
gcd(
x,
y) →
l1(
x,
y,
0')
equal0(
a,
b) →
e1(
a,
b)
e8(
res) →
rese3(
a,
b) →
e4(
<(
b,
a))
e1(
a,
b) →
e2(
a,
b,
<(
a,
b))
<(
S(
x),
S(
y)) →
<(
x,
y)
<(
0',
S(
y)) →
True<(
x,
0') →
FalseTypes:
m2 :: 0':S → 0':S → True:False → True:False
S :: 0':S → 0':S
0' :: 0':S
True :: True:False
False :: True:False
m3 :: 0':S → True:False
l8 :: 0':S → 0':S → True:False → 0':S
l5 :: 0':S → 0':S → True:False → 0':S
help1 :: 0':S → True:False
e4 :: True:False → True:False
e2 :: 0':S → 0':S → True:False → True:False
l15 :: 0':S → True:False → 0':S
l16 :: 0':S → 0':S
gcd :: 0':S → 0':S → 0':S
l13 :: 0':S → True:False → 0':S
m4 :: 0':S → 0':S → True:False
m5 :: True:False → True:False
monus :: 0':S → 0':S → True:False
l10 :: 0':S → 0':S → 0':S
l7 :: 0':S → 0':S → 0':S
l2 :: 0':S → 0':S → 0':S → True:False → 0':S
l3 :: 0':S → 0':S → 0':S
l11 :: 0':S → 0':S → True:False → 0':S
l14 :: 0':S → 0':S → 0':S
l12 :: 0':S → 0':S → 0':S
e3 :: 0':S → 0':S → True:False
bool2Nat :: True:False → 0':S
m1 :: 0':S → 0':S → True:False
l9 :: l9 → l9
l6 :: 0':S
l4 :: 0':S → 0':S → 0':S
l1 :: 0':S → 0':S → 0':S → 0':S
e7 :: True:False
e6 :: True:False
e5 :: True:False
equal0 :: 0':S → 0':S → True:False
< :: 0':S → 0':S → True:False
e1 :: 0':S → 0':S → True:False
e8 :: e8 → e8
hole_True:False1_17 :: True:False
hole_0':S2_17 :: 0':S
hole_l93_17 :: l9
hole_e84_17 :: e8
gen_0':S5_17 :: Nat → 0':S
Lemmas:
<(gen_0':S5_17(n7_17), gen_0':S5_17(+(1, n7_17))) → True, rt ∈ Ω(0)
monus(gen_0':S5_17(n7092_17), gen_0':S5_17(n7092_17)) → *6_17, rt ∈ Ω(n709217)
m1(gen_0':S5_17(n9684_17), gen_0':S5_17(n9684_17)) → *6_17, rt ∈ Ω(n968417)
m4(gen_0':S5_17(+(1, n4548_17)), gen_0':S5_17(+(1, n4548_17))) → *6_17, rt ∈ Ω(n454817)
Generator Equations:
gen_0':S5_17(0) ⇔ 0'
gen_0':S5_17(+(x, 1)) ⇔ S(gen_0':S5_17(x))
The following defined symbols remain to be analysed:
l3, l15, l13, l10, l7, l14, l12, l4
They will be analysed ascendingly in the following order:
l15 = gcd
l15 = l13
l15 = l10
l15 = l7
l15 = l3
l15 = l14
l15 = l12
l15 = l4
gcd = l13
gcd = l10
gcd = l7
gcd = l3
gcd = l14
gcd = l12
gcd = l4
l13 = l10
l13 = l7
l13 = l3
l13 = l14
l13 = l12
l13 = l4
l10 = l7
l10 = l3
l10 = l14
l10 = l12
l10 = l4
l7 = l3
l7 = l14
l7 = l12
l7 = l4
l3 = l14
l3 = l12
l3 = l4
l14 = l12
l14 = l4
l12 = l4
(29) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol l3.
(30) Obligation:
Innermost TRS:
Rules:
m2(
S(
0'),
b,
True) →
Falsem2(
S(
S(
x)),
b,
True) →
Truem2(
0',
b,
True) →
Falsem3(
S(
0')) →
Falsem3(
S(
S(
x))) →
Truem3(
0') →
Falsel8(
res,
y,
True) →
resl5(
x,
y,
True) →
0'help1(
S(
0')) →
Falsehelp1(
S(
S(
x))) →
Truee4(
False) →
Falsee4(
True) →
Truee2(
a,
b,
False) →
Falsel15(
y,
False) →
l16(
gcd(
y,
0'))
l15(
y,
True) →
l16(
gcd(
y,
S(
0')))
l13(
y,
False) →
l16(
gcd(
0',
y))
l13(
y,
True) →
l16(
gcd(
S(
0'),
y))
m4(
S(
x'),
S(
x)) →
m5(
monus(
x',
x))
m2(
a,
b,
False) →
m4(
a,
b)
l8(
x,
y,
False) →
l10(
x,
y)
l5(
x,
y,
False) →
l7(
x,
y)
l2(
x,
y,
res,
False) →
l3(
x,
y)
l2(
x,
y,
res,
True) →
resl11(
x,
y,
False) →
l14(
x,
y)
l11(
x,
y,
True) →
l12(
x,
y)
help1(
0') →
Falsee2(
a,
b,
True) →
e3(
a,
b)
bool2Nat(
False) →
0'bool2Nat(
True) →
S(
0')
m1(
a,
x) →
m2(
a,
x,
False)
l9(
res) →
resl6 →
0'l4(
x',
x) →
l5(
x',
x,
False)
l1(
x,
y,
res) →
l2(
x,
y,
res,
False)
e7 →
Falsee6 →
Falsee5 →
Truemonus(
a,
b) →
m1(
a,
b)
m5(
res) →
resl7(
x,
y) →
l8(
x,
y,
equal0(
x,
y))
l3(
x,
y) →
l4(
x,
y)
l16(
res) →
resl14(
x,
y) →
l15(
y,
monus(
x,
y))
l12(
x,
y) →
l13(
y,
monus(
x,
y))
l10(
x,
y) →
l11(
x,
y,
<(
x,
y))
gcd(
x,
y) →
l1(
x,
y,
0')
equal0(
a,
b) →
e1(
a,
b)
e8(
res) →
rese3(
a,
b) →
e4(
<(
b,
a))
e1(
a,
b) →
e2(
a,
b,
<(
a,
b))
<(
S(
x),
S(
y)) →
<(
x,
y)
<(
0',
S(
y)) →
True<(
x,
0') →
FalseTypes:
m2 :: 0':S → 0':S → True:False → True:False
S :: 0':S → 0':S
0' :: 0':S
True :: True:False
False :: True:False
m3 :: 0':S → True:False
l8 :: 0':S → 0':S → True:False → 0':S
l5 :: 0':S → 0':S → True:False → 0':S
help1 :: 0':S → True:False
e4 :: True:False → True:False
e2 :: 0':S → 0':S → True:False → True:False
l15 :: 0':S → True:False → 0':S
l16 :: 0':S → 0':S
gcd :: 0':S → 0':S → 0':S
l13 :: 0':S → True:False → 0':S
m4 :: 0':S → 0':S → True:False
m5 :: True:False → True:False
monus :: 0':S → 0':S → True:False
l10 :: 0':S → 0':S → 0':S
l7 :: 0':S → 0':S → 0':S
l2 :: 0':S → 0':S → 0':S → True:False → 0':S
l3 :: 0':S → 0':S → 0':S
l11 :: 0':S → 0':S → True:False → 0':S
l14 :: 0':S → 0':S → 0':S
l12 :: 0':S → 0':S → 0':S
e3 :: 0':S → 0':S → True:False
bool2Nat :: True:False → 0':S
m1 :: 0':S → 0':S → True:False
l9 :: l9 → l9
l6 :: 0':S
l4 :: 0':S → 0':S → 0':S
l1 :: 0':S → 0':S → 0':S → 0':S
e7 :: True:False
e6 :: True:False
e5 :: True:False
equal0 :: 0':S → 0':S → True:False
< :: 0':S → 0':S → True:False
e1 :: 0':S → 0':S → True:False
e8 :: e8 → e8
hole_True:False1_17 :: True:False
hole_0':S2_17 :: 0':S
hole_l93_17 :: l9
hole_e84_17 :: e8
gen_0':S5_17 :: Nat → 0':S
Lemmas:
<(gen_0':S5_17(n7_17), gen_0':S5_17(+(1, n7_17))) → True, rt ∈ Ω(0)
monus(gen_0':S5_17(n7092_17), gen_0':S5_17(n7092_17)) → *6_17, rt ∈ Ω(n709217)
m1(gen_0':S5_17(n9684_17), gen_0':S5_17(n9684_17)) → *6_17, rt ∈ Ω(n968417)
m4(gen_0':S5_17(+(1, n4548_17)), gen_0':S5_17(+(1, n4548_17))) → *6_17, rt ∈ Ω(n454817)
Generator Equations:
gen_0':S5_17(0) ⇔ 0'
gen_0':S5_17(+(x, 1)) ⇔ S(gen_0':S5_17(x))
The following defined symbols remain to be analysed:
l4, l15, l13, l10, l7, l14, l12
They will be analysed ascendingly in the following order:
l15 = gcd
l15 = l13
l15 = l10
l15 = l7
l15 = l3
l15 = l14
l15 = l12
l15 = l4
gcd = l13
gcd = l10
gcd = l7
gcd = l3
gcd = l14
gcd = l12
gcd = l4
l13 = l10
l13 = l7
l13 = l3
l13 = l14
l13 = l12
l13 = l4
l10 = l7
l10 = l3
l10 = l14
l10 = l12
l10 = l4
l7 = l3
l7 = l14
l7 = l12
l7 = l4
l3 = l14
l3 = l12
l3 = l4
l14 = l12
l14 = l4
l12 = l4
(31) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol l4.
(32) Obligation:
Innermost TRS:
Rules:
m2(
S(
0'),
b,
True) →
Falsem2(
S(
S(
x)),
b,
True) →
Truem2(
0',
b,
True) →
Falsem3(
S(
0')) →
Falsem3(
S(
S(
x))) →
Truem3(
0') →
Falsel8(
res,
y,
True) →
resl5(
x,
y,
True) →
0'help1(
S(
0')) →
Falsehelp1(
S(
S(
x))) →
Truee4(
False) →
Falsee4(
True) →
Truee2(
a,
b,
False) →
Falsel15(
y,
False) →
l16(
gcd(
y,
0'))
l15(
y,
True) →
l16(
gcd(
y,
S(
0')))
l13(
y,
False) →
l16(
gcd(
0',
y))
l13(
y,
True) →
l16(
gcd(
S(
0'),
y))
m4(
S(
x'),
S(
x)) →
m5(
monus(
x',
x))
m2(
a,
b,
False) →
m4(
a,
b)
l8(
x,
y,
False) →
l10(
x,
y)
l5(
x,
y,
False) →
l7(
x,
y)
l2(
x,
y,
res,
False) →
l3(
x,
y)
l2(
x,
y,
res,
True) →
resl11(
x,
y,
False) →
l14(
x,
y)
l11(
x,
y,
True) →
l12(
x,
y)
help1(
0') →
Falsee2(
a,
b,
True) →
e3(
a,
b)
bool2Nat(
False) →
0'bool2Nat(
True) →
S(
0')
m1(
a,
x) →
m2(
a,
x,
False)
l9(
res) →
resl6 →
0'l4(
x',
x) →
l5(
x',
x,
False)
l1(
x,
y,
res) →
l2(
x,
y,
res,
False)
e7 →
Falsee6 →
Falsee5 →
Truemonus(
a,
b) →
m1(
a,
b)
m5(
res) →
resl7(
x,
y) →
l8(
x,
y,
equal0(
x,
y))
l3(
x,
y) →
l4(
x,
y)
l16(
res) →
resl14(
x,
y) →
l15(
y,
monus(
x,
y))
l12(
x,
y) →
l13(
y,
monus(
x,
y))
l10(
x,
y) →
l11(
x,
y,
<(
x,
y))
gcd(
x,
y) →
l1(
x,
y,
0')
equal0(
a,
b) →
e1(
a,
b)
e8(
res) →
rese3(
a,
b) →
e4(
<(
b,
a))
e1(
a,
b) →
e2(
a,
b,
<(
a,
b))
<(
S(
x),
S(
y)) →
<(
x,
y)
<(
0',
S(
y)) →
True<(
x,
0') →
FalseTypes:
m2 :: 0':S → 0':S → True:False → True:False
S :: 0':S → 0':S
0' :: 0':S
True :: True:False
False :: True:False
m3 :: 0':S → True:False
l8 :: 0':S → 0':S → True:False → 0':S
l5 :: 0':S → 0':S → True:False → 0':S
help1 :: 0':S → True:False
e4 :: True:False → True:False
e2 :: 0':S → 0':S → True:False → True:False
l15 :: 0':S → True:False → 0':S
l16 :: 0':S → 0':S
gcd :: 0':S → 0':S → 0':S
l13 :: 0':S → True:False → 0':S
m4 :: 0':S → 0':S → True:False
m5 :: True:False → True:False
monus :: 0':S → 0':S → True:False
l10 :: 0':S → 0':S → 0':S
l7 :: 0':S → 0':S → 0':S
l2 :: 0':S → 0':S → 0':S → True:False → 0':S
l3 :: 0':S → 0':S → 0':S
l11 :: 0':S → 0':S → True:False → 0':S
l14 :: 0':S → 0':S → 0':S
l12 :: 0':S → 0':S → 0':S
e3 :: 0':S → 0':S → True:False
bool2Nat :: True:False → 0':S
m1 :: 0':S → 0':S → True:False
l9 :: l9 → l9
l6 :: 0':S
l4 :: 0':S → 0':S → 0':S
l1 :: 0':S → 0':S → 0':S → 0':S
e7 :: True:False
e6 :: True:False
e5 :: True:False
equal0 :: 0':S → 0':S → True:False
< :: 0':S → 0':S → True:False
e1 :: 0':S → 0':S → True:False
e8 :: e8 → e8
hole_True:False1_17 :: True:False
hole_0':S2_17 :: 0':S
hole_l93_17 :: l9
hole_e84_17 :: e8
gen_0':S5_17 :: Nat → 0':S
Lemmas:
<(gen_0':S5_17(n7_17), gen_0':S5_17(+(1, n7_17))) → True, rt ∈ Ω(0)
monus(gen_0':S5_17(n7092_17), gen_0':S5_17(n7092_17)) → *6_17, rt ∈ Ω(n709217)
m1(gen_0':S5_17(n9684_17), gen_0':S5_17(n9684_17)) → *6_17, rt ∈ Ω(n968417)
m4(gen_0':S5_17(+(1, n4548_17)), gen_0':S5_17(+(1, n4548_17))) → *6_17, rt ∈ Ω(n454817)
Generator Equations:
gen_0':S5_17(0) ⇔ 0'
gen_0':S5_17(+(x, 1)) ⇔ S(gen_0':S5_17(x))
The following defined symbols remain to be analysed:
l7, l15, l13, l10, l14, l12
They will be analysed ascendingly in the following order:
l15 = gcd
l15 = l13
l15 = l10
l15 = l7
l15 = l3
l15 = l14
l15 = l12
l15 = l4
gcd = l13
gcd = l10
gcd = l7
gcd = l3
gcd = l14
gcd = l12
gcd = l4
l13 = l10
l13 = l7
l13 = l3
l13 = l14
l13 = l12
l13 = l4
l10 = l7
l10 = l3
l10 = l14
l10 = l12
l10 = l4
l7 = l3
l7 = l14
l7 = l12
l7 = l4
l3 = l14
l3 = l12
l3 = l4
l14 = l12
l14 = l4
l12 = l4
(33) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol l7.
(34) Obligation:
Innermost TRS:
Rules:
m2(
S(
0'),
b,
True) →
Falsem2(
S(
S(
x)),
b,
True) →
Truem2(
0',
b,
True) →
Falsem3(
S(
0')) →
Falsem3(
S(
S(
x))) →
Truem3(
0') →
Falsel8(
res,
y,
True) →
resl5(
x,
y,
True) →
0'help1(
S(
0')) →
Falsehelp1(
S(
S(
x))) →
Truee4(
False) →
Falsee4(
True) →
Truee2(
a,
b,
False) →
Falsel15(
y,
False) →
l16(
gcd(
y,
0'))
l15(
y,
True) →
l16(
gcd(
y,
S(
0')))
l13(
y,
False) →
l16(
gcd(
0',
y))
l13(
y,
True) →
l16(
gcd(
S(
0'),
y))
m4(
S(
x'),
S(
x)) →
m5(
monus(
x',
x))
m2(
a,
b,
False) →
m4(
a,
b)
l8(
x,
y,
False) →
l10(
x,
y)
l5(
x,
y,
False) →
l7(
x,
y)
l2(
x,
y,
res,
False) →
l3(
x,
y)
l2(
x,
y,
res,
True) →
resl11(
x,
y,
False) →
l14(
x,
y)
l11(
x,
y,
True) →
l12(
x,
y)
help1(
0') →
Falsee2(
a,
b,
True) →
e3(
a,
b)
bool2Nat(
False) →
0'bool2Nat(
True) →
S(
0')
m1(
a,
x) →
m2(
a,
x,
False)
l9(
res) →
resl6 →
0'l4(
x',
x) →
l5(
x',
x,
False)
l1(
x,
y,
res) →
l2(
x,
y,
res,
False)
e7 →
Falsee6 →
Falsee5 →
Truemonus(
a,
b) →
m1(
a,
b)
m5(
res) →
resl7(
x,
y) →
l8(
x,
y,
equal0(
x,
y))
l3(
x,
y) →
l4(
x,
y)
l16(
res) →
resl14(
x,
y) →
l15(
y,
monus(
x,
y))
l12(
x,
y) →
l13(
y,
monus(
x,
y))
l10(
x,
y) →
l11(
x,
y,
<(
x,
y))
gcd(
x,
y) →
l1(
x,
y,
0')
equal0(
a,
b) →
e1(
a,
b)
e8(
res) →
rese3(
a,
b) →
e4(
<(
b,
a))
e1(
a,
b) →
e2(
a,
b,
<(
a,
b))
<(
S(
x),
S(
y)) →
<(
x,
y)
<(
0',
S(
y)) →
True<(
x,
0') →
FalseTypes:
m2 :: 0':S → 0':S → True:False → True:False
S :: 0':S → 0':S
0' :: 0':S
True :: True:False
False :: True:False
m3 :: 0':S → True:False
l8 :: 0':S → 0':S → True:False → 0':S
l5 :: 0':S → 0':S → True:False → 0':S
help1 :: 0':S → True:False
e4 :: True:False → True:False
e2 :: 0':S → 0':S → True:False → True:False
l15 :: 0':S → True:False → 0':S
l16 :: 0':S → 0':S
gcd :: 0':S → 0':S → 0':S
l13 :: 0':S → True:False → 0':S
m4 :: 0':S → 0':S → True:False
m5 :: True:False → True:False
monus :: 0':S → 0':S → True:False
l10 :: 0':S → 0':S → 0':S
l7 :: 0':S → 0':S → 0':S
l2 :: 0':S → 0':S → 0':S → True:False → 0':S
l3 :: 0':S → 0':S → 0':S
l11 :: 0':S → 0':S → True:False → 0':S
l14 :: 0':S → 0':S → 0':S
l12 :: 0':S → 0':S → 0':S
e3 :: 0':S → 0':S → True:False
bool2Nat :: True:False → 0':S
m1 :: 0':S → 0':S → True:False
l9 :: l9 → l9
l6 :: 0':S
l4 :: 0':S → 0':S → 0':S
l1 :: 0':S → 0':S → 0':S → 0':S
e7 :: True:False
e6 :: True:False
e5 :: True:False
equal0 :: 0':S → 0':S → True:False
< :: 0':S → 0':S → True:False
e1 :: 0':S → 0':S → True:False
e8 :: e8 → e8
hole_True:False1_17 :: True:False
hole_0':S2_17 :: 0':S
hole_l93_17 :: l9
hole_e84_17 :: e8
gen_0':S5_17 :: Nat → 0':S
Lemmas:
<(gen_0':S5_17(n7_17), gen_0':S5_17(+(1, n7_17))) → True, rt ∈ Ω(0)
monus(gen_0':S5_17(n7092_17), gen_0':S5_17(n7092_17)) → *6_17, rt ∈ Ω(n709217)
m1(gen_0':S5_17(n9684_17), gen_0':S5_17(n9684_17)) → *6_17, rt ∈ Ω(n968417)
m4(gen_0':S5_17(+(1, n4548_17)), gen_0':S5_17(+(1, n4548_17))) → *6_17, rt ∈ Ω(n454817)
Generator Equations:
gen_0':S5_17(0) ⇔ 0'
gen_0':S5_17(+(x, 1)) ⇔ S(gen_0':S5_17(x))
The following defined symbols remain to be analysed:
l10, l15, l13, l14, l12
They will be analysed ascendingly in the following order:
l15 = gcd
l15 = l13
l15 = l10
l15 = l7
l15 = l3
l15 = l14
l15 = l12
l15 = l4
gcd = l13
gcd = l10
gcd = l7
gcd = l3
gcd = l14
gcd = l12
gcd = l4
l13 = l10
l13 = l7
l13 = l3
l13 = l14
l13 = l12
l13 = l4
l10 = l7
l10 = l3
l10 = l14
l10 = l12
l10 = l4
l7 = l3
l7 = l14
l7 = l12
l7 = l4
l3 = l14
l3 = l12
l3 = l4
l14 = l12
l14 = l4
l12 = l4
(35) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol l10.
(36) Obligation:
Innermost TRS:
Rules:
m2(
S(
0'),
b,
True) →
Falsem2(
S(
S(
x)),
b,
True) →
Truem2(
0',
b,
True) →
Falsem3(
S(
0')) →
Falsem3(
S(
S(
x))) →
Truem3(
0') →
Falsel8(
res,
y,
True) →
resl5(
x,
y,
True) →
0'help1(
S(
0')) →
Falsehelp1(
S(
S(
x))) →
Truee4(
False) →
Falsee4(
True) →
Truee2(
a,
b,
False) →
Falsel15(
y,
False) →
l16(
gcd(
y,
0'))
l15(
y,
True) →
l16(
gcd(
y,
S(
0')))
l13(
y,
False) →
l16(
gcd(
0',
y))
l13(
y,
True) →
l16(
gcd(
S(
0'),
y))
m4(
S(
x'),
S(
x)) →
m5(
monus(
x',
x))
m2(
a,
b,
False) →
m4(
a,
b)
l8(
x,
y,
False) →
l10(
x,
y)
l5(
x,
y,
False) →
l7(
x,
y)
l2(
x,
y,
res,
False) →
l3(
x,
y)
l2(
x,
y,
res,
True) →
resl11(
x,
y,
False) →
l14(
x,
y)
l11(
x,
y,
True) →
l12(
x,
y)
help1(
0') →
Falsee2(
a,
b,
True) →
e3(
a,
b)
bool2Nat(
False) →
0'bool2Nat(
True) →
S(
0')
m1(
a,
x) →
m2(
a,
x,
False)
l9(
res) →
resl6 →
0'l4(
x',
x) →
l5(
x',
x,
False)
l1(
x,
y,
res) →
l2(
x,
y,
res,
False)
e7 →
Falsee6 →
Falsee5 →
Truemonus(
a,
b) →
m1(
a,
b)
m5(
res) →
resl7(
x,
y) →
l8(
x,
y,
equal0(
x,
y))
l3(
x,
y) →
l4(
x,
y)
l16(
res) →
resl14(
x,
y) →
l15(
y,
monus(
x,
y))
l12(
x,
y) →
l13(
y,
monus(
x,
y))
l10(
x,
y) →
l11(
x,
y,
<(
x,
y))
gcd(
x,
y) →
l1(
x,
y,
0')
equal0(
a,
b) →
e1(
a,
b)
e8(
res) →
rese3(
a,
b) →
e4(
<(
b,
a))
e1(
a,
b) →
e2(
a,
b,
<(
a,
b))
<(
S(
x),
S(
y)) →
<(
x,
y)
<(
0',
S(
y)) →
True<(
x,
0') →
FalseTypes:
m2 :: 0':S → 0':S → True:False → True:False
S :: 0':S → 0':S
0' :: 0':S
True :: True:False
False :: True:False
m3 :: 0':S → True:False
l8 :: 0':S → 0':S → True:False → 0':S
l5 :: 0':S → 0':S → True:False → 0':S
help1 :: 0':S → True:False
e4 :: True:False → True:False
e2 :: 0':S → 0':S → True:False → True:False
l15 :: 0':S → True:False → 0':S
l16 :: 0':S → 0':S
gcd :: 0':S → 0':S → 0':S
l13 :: 0':S → True:False → 0':S
m4 :: 0':S → 0':S → True:False
m5 :: True:False → True:False
monus :: 0':S → 0':S → True:False
l10 :: 0':S → 0':S → 0':S
l7 :: 0':S → 0':S → 0':S
l2 :: 0':S → 0':S → 0':S → True:False → 0':S
l3 :: 0':S → 0':S → 0':S
l11 :: 0':S → 0':S → True:False → 0':S
l14 :: 0':S → 0':S → 0':S
l12 :: 0':S → 0':S → 0':S
e3 :: 0':S → 0':S → True:False
bool2Nat :: True:False → 0':S
m1 :: 0':S → 0':S → True:False
l9 :: l9 → l9
l6 :: 0':S
l4 :: 0':S → 0':S → 0':S
l1 :: 0':S → 0':S → 0':S → 0':S
e7 :: True:False
e6 :: True:False
e5 :: True:False
equal0 :: 0':S → 0':S → True:False
< :: 0':S → 0':S → True:False
e1 :: 0':S → 0':S → True:False
e8 :: e8 → e8
hole_True:False1_17 :: True:False
hole_0':S2_17 :: 0':S
hole_l93_17 :: l9
hole_e84_17 :: e8
gen_0':S5_17 :: Nat → 0':S
Lemmas:
<(gen_0':S5_17(n7_17), gen_0':S5_17(+(1, n7_17))) → True, rt ∈ Ω(0)
monus(gen_0':S5_17(n7092_17), gen_0':S5_17(n7092_17)) → *6_17, rt ∈ Ω(n709217)
m1(gen_0':S5_17(n9684_17), gen_0':S5_17(n9684_17)) → *6_17, rt ∈ Ω(n968417)
m4(gen_0':S5_17(+(1, n4548_17)), gen_0':S5_17(+(1, n4548_17))) → *6_17, rt ∈ Ω(n454817)
Generator Equations:
gen_0':S5_17(0) ⇔ 0'
gen_0':S5_17(+(x, 1)) ⇔ S(gen_0':S5_17(x))
The following defined symbols remain to be analysed:
l14, l15, l13, l12
They will be analysed ascendingly in the following order:
l15 = gcd
l15 = l13
l15 = l10
l15 = l7
l15 = l3
l15 = l14
l15 = l12
l15 = l4
gcd = l13
gcd = l10
gcd = l7
gcd = l3
gcd = l14
gcd = l12
gcd = l4
l13 = l10
l13 = l7
l13 = l3
l13 = l14
l13 = l12
l13 = l4
l10 = l7
l10 = l3
l10 = l14
l10 = l12
l10 = l4
l7 = l3
l7 = l14
l7 = l12
l7 = l4
l3 = l14
l3 = l12
l3 = l4
l14 = l12
l14 = l4
l12 = l4
(37) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol l14.
(38) Obligation:
Innermost TRS:
Rules:
m2(
S(
0'),
b,
True) →
Falsem2(
S(
S(
x)),
b,
True) →
Truem2(
0',
b,
True) →
Falsem3(
S(
0')) →
Falsem3(
S(
S(
x))) →
Truem3(
0') →
Falsel8(
res,
y,
True) →
resl5(
x,
y,
True) →
0'help1(
S(
0')) →
Falsehelp1(
S(
S(
x))) →
Truee4(
False) →
Falsee4(
True) →
Truee2(
a,
b,
False) →
Falsel15(
y,
False) →
l16(
gcd(
y,
0'))
l15(
y,
True) →
l16(
gcd(
y,
S(
0')))
l13(
y,
False) →
l16(
gcd(
0',
y))
l13(
y,
True) →
l16(
gcd(
S(
0'),
y))
m4(
S(
x'),
S(
x)) →
m5(
monus(
x',
x))
m2(
a,
b,
False) →
m4(
a,
b)
l8(
x,
y,
False) →
l10(
x,
y)
l5(
x,
y,
False) →
l7(
x,
y)
l2(
x,
y,
res,
False) →
l3(
x,
y)
l2(
x,
y,
res,
True) →
resl11(
x,
y,
False) →
l14(
x,
y)
l11(
x,
y,
True) →
l12(
x,
y)
help1(
0') →
Falsee2(
a,
b,
True) →
e3(
a,
b)
bool2Nat(
False) →
0'bool2Nat(
True) →
S(
0')
m1(
a,
x) →
m2(
a,
x,
False)
l9(
res) →
resl6 →
0'l4(
x',
x) →
l5(
x',
x,
False)
l1(
x,
y,
res) →
l2(
x,
y,
res,
False)
e7 →
Falsee6 →
Falsee5 →
Truemonus(
a,
b) →
m1(
a,
b)
m5(
res) →
resl7(
x,
y) →
l8(
x,
y,
equal0(
x,
y))
l3(
x,
y) →
l4(
x,
y)
l16(
res) →
resl14(
x,
y) →
l15(
y,
monus(
x,
y))
l12(
x,
y) →
l13(
y,
monus(
x,
y))
l10(
x,
y) →
l11(
x,
y,
<(
x,
y))
gcd(
x,
y) →
l1(
x,
y,
0')
equal0(
a,
b) →
e1(
a,
b)
e8(
res) →
rese3(
a,
b) →
e4(
<(
b,
a))
e1(
a,
b) →
e2(
a,
b,
<(
a,
b))
<(
S(
x),
S(
y)) →
<(
x,
y)
<(
0',
S(
y)) →
True<(
x,
0') →
FalseTypes:
m2 :: 0':S → 0':S → True:False → True:False
S :: 0':S → 0':S
0' :: 0':S
True :: True:False
False :: True:False
m3 :: 0':S → True:False
l8 :: 0':S → 0':S → True:False → 0':S
l5 :: 0':S → 0':S → True:False → 0':S
help1 :: 0':S → True:False
e4 :: True:False → True:False
e2 :: 0':S → 0':S → True:False → True:False
l15 :: 0':S → True:False → 0':S
l16 :: 0':S → 0':S
gcd :: 0':S → 0':S → 0':S
l13 :: 0':S → True:False → 0':S
m4 :: 0':S → 0':S → True:False
m5 :: True:False → True:False
monus :: 0':S → 0':S → True:False
l10 :: 0':S → 0':S → 0':S
l7 :: 0':S → 0':S → 0':S
l2 :: 0':S → 0':S → 0':S → True:False → 0':S
l3 :: 0':S → 0':S → 0':S
l11 :: 0':S → 0':S → True:False → 0':S
l14 :: 0':S → 0':S → 0':S
l12 :: 0':S → 0':S → 0':S
e3 :: 0':S → 0':S → True:False
bool2Nat :: True:False → 0':S
m1 :: 0':S → 0':S → True:False
l9 :: l9 → l9
l6 :: 0':S
l4 :: 0':S → 0':S → 0':S
l1 :: 0':S → 0':S → 0':S → 0':S
e7 :: True:False
e6 :: True:False
e5 :: True:False
equal0 :: 0':S → 0':S → True:False
< :: 0':S → 0':S → True:False
e1 :: 0':S → 0':S → True:False
e8 :: e8 → e8
hole_True:False1_17 :: True:False
hole_0':S2_17 :: 0':S
hole_l93_17 :: l9
hole_e84_17 :: e8
gen_0':S5_17 :: Nat → 0':S
Lemmas:
<(gen_0':S5_17(n7_17), gen_0':S5_17(+(1, n7_17))) → True, rt ∈ Ω(0)
monus(gen_0':S5_17(n7092_17), gen_0':S5_17(n7092_17)) → *6_17, rt ∈ Ω(n709217)
m1(gen_0':S5_17(n9684_17), gen_0':S5_17(n9684_17)) → *6_17, rt ∈ Ω(n968417)
m4(gen_0':S5_17(+(1, n4548_17)), gen_0':S5_17(+(1, n4548_17))) → *6_17, rt ∈ Ω(n454817)
Generator Equations:
gen_0':S5_17(0) ⇔ 0'
gen_0':S5_17(+(x, 1)) ⇔ S(gen_0':S5_17(x))
The following defined symbols remain to be analysed:
l15, l13, l12
They will be analysed ascendingly in the following order:
l15 = gcd
l15 = l13
l15 = l10
l15 = l7
l15 = l3
l15 = l14
l15 = l12
l15 = l4
gcd = l13
gcd = l10
gcd = l7
gcd = l3
gcd = l14
gcd = l12
gcd = l4
l13 = l10
l13 = l7
l13 = l3
l13 = l14
l13 = l12
l13 = l4
l10 = l7
l10 = l3
l10 = l14
l10 = l12
l10 = l4
l7 = l3
l7 = l14
l7 = l12
l7 = l4
l3 = l14
l3 = l12
l3 = l4
l14 = l12
l14 = l4
l12 = l4
(39) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol l15.
(40) Obligation:
Innermost TRS:
Rules:
m2(
S(
0'),
b,
True) →
Falsem2(
S(
S(
x)),
b,
True) →
Truem2(
0',
b,
True) →
Falsem3(
S(
0')) →
Falsem3(
S(
S(
x))) →
Truem3(
0') →
Falsel8(
res,
y,
True) →
resl5(
x,
y,
True) →
0'help1(
S(
0')) →
Falsehelp1(
S(
S(
x))) →
Truee4(
False) →
Falsee4(
True) →
Truee2(
a,
b,
False) →
Falsel15(
y,
False) →
l16(
gcd(
y,
0'))
l15(
y,
True) →
l16(
gcd(
y,
S(
0')))
l13(
y,
False) →
l16(
gcd(
0',
y))
l13(
y,
True) →
l16(
gcd(
S(
0'),
y))
m4(
S(
x'),
S(
x)) →
m5(
monus(
x',
x))
m2(
a,
b,
False) →
m4(
a,
b)
l8(
x,
y,
False) →
l10(
x,
y)
l5(
x,
y,
False) →
l7(
x,
y)
l2(
x,
y,
res,
False) →
l3(
x,
y)
l2(
x,
y,
res,
True) →
resl11(
x,
y,
False) →
l14(
x,
y)
l11(
x,
y,
True) →
l12(
x,
y)
help1(
0') →
Falsee2(
a,
b,
True) →
e3(
a,
b)
bool2Nat(
False) →
0'bool2Nat(
True) →
S(
0')
m1(
a,
x) →
m2(
a,
x,
False)
l9(
res) →
resl6 →
0'l4(
x',
x) →
l5(
x',
x,
False)
l1(
x,
y,
res) →
l2(
x,
y,
res,
False)
e7 →
Falsee6 →
Falsee5 →
Truemonus(
a,
b) →
m1(
a,
b)
m5(
res) →
resl7(
x,
y) →
l8(
x,
y,
equal0(
x,
y))
l3(
x,
y) →
l4(
x,
y)
l16(
res) →
resl14(
x,
y) →
l15(
y,
monus(
x,
y))
l12(
x,
y) →
l13(
y,
monus(
x,
y))
l10(
x,
y) →
l11(
x,
y,
<(
x,
y))
gcd(
x,
y) →
l1(
x,
y,
0')
equal0(
a,
b) →
e1(
a,
b)
e8(
res) →
rese3(
a,
b) →
e4(
<(
b,
a))
e1(
a,
b) →
e2(
a,
b,
<(
a,
b))
<(
S(
x),
S(
y)) →
<(
x,
y)
<(
0',
S(
y)) →
True<(
x,
0') →
FalseTypes:
m2 :: 0':S → 0':S → True:False → True:False
S :: 0':S → 0':S
0' :: 0':S
True :: True:False
False :: True:False
m3 :: 0':S → True:False
l8 :: 0':S → 0':S → True:False → 0':S
l5 :: 0':S → 0':S → True:False → 0':S
help1 :: 0':S → True:False
e4 :: True:False → True:False
e2 :: 0':S → 0':S → True:False → True:False
l15 :: 0':S → True:False → 0':S
l16 :: 0':S → 0':S
gcd :: 0':S → 0':S → 0':S
l13 :: 0':S → True:False → 0':S
m4 :: 0':S → 0':S → True:False
m5 :: True:False → True:False
monus :: 0':S → 0':S → True:False
l10 :: 0':S → 0':S → 0':S
l7 :: 0':S → 0':S → 0':S
l2 :: 0':S → 0':S → 0':S → True:False → 0':S
l3 :: 0':S → 0':S → 0':S
l11 :: 0':S → 0':S → True:False → 0':S
l14 :: 0':S → 0':S → 0':S
l12 :: 0':S → 0':S → 0':S
e3 :: 0':S → 0':S → True:False
bool2Nat :: True:False → 0':S
m1 :: 0':S → 0':S → True:False
l9 :: l9 → l9
l6 :: 0':S
l4 :: 0':S → 0':S → 0':S
l1 :: 0':S → 0':S → 0':S → 0':S
e7 :: True:False
e6 :: True:False
e5 :: True:False
equal0 :: 0':S → 0':S → True:False
< :: 0':S → 0':S → True:False
e1 :: 0':S → 0':S → True:False
e8 :: e8 → e8
hole_True:False1_17 :: True:False
hole_0':S2_17 :: 0':S
hole_l93_17 :: l9
hole_e84_17 :: e8
gen_0':S5_17 :: Nat → 0':S
Lemmas:
<(gen_0':S5_17(n7_17), gen_0':S5_17(+(1, n7_17))) → True, rt ∈ Ω(0)
monus(gen_0':S5_17(n7092_17), gen_0':S5_17(n7092_17)) → *6_17, rt ∈ Ω(n709217)
m1(gen_0':S5_17(n9684_17), gen_0':S5_17(n9684_17)) → *6_17, rt ∈ Ω(n968417)
m4(gen_0':S5_17(+(1, n4548_17)), gen_0':S5_17(+(1, n4548_17))) → *6_17, rt ∈ Ω(n454817)
Generator Equations:
gen_0':S5_17(0) ⇔ 0'
gen_0':S5_17(+(x, 1)) ⇔ S(gen_0':S5_17(x))
The following defined symbols remain to be analysed:
l12, l13
They will be analysed ascendingly in the following order:
l15 = gcd
l15 = l13
l15 = l10
l15 = l7
l15 = l3
l15 = l14
l15 = l12
l15 = l4
gcd = l13
gcd = l10
gcd = l7
gcd = l3
gcd = l14
gcd = l12
gcd = l4
l13 = l10
l13 = l7
l13 = l3
l13 = l14
l13 = l12
l13 = l4
l10 = l7
l10 = l3
l10 = l14
l10 = l12
l10 = l4
l7 = l3
l7 = l14
l7 = l12
l7 = l4
l3 = l14
l3 = l12
l3 = l4
l14 = l12
l14 = l4
l12 = l4
(41) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol l12.
(42) Obligation:
Innermost TRS:
Rules:
m2(
S(
0'),
b,
True) →
Falsem2(
S(
S(
x)),
b,
True) →
Truem2(
0',
b,
True) →
Falsem3(
S(
0')) →
Falsem3(
S(
S(
x))) →
Truem3(
0') →
Falsel8(
res,
y,
True) →
resl5(
x,
y,
True) →
0'help1(
S(
0')) →
Falsehelp1(
S(
S(
x))) →
Truee4(
False) →
Falsee4(
True) →
Truee2(
a,
b,
False) →
Falsel15(
y,
False) →
l16(
gcd(
y,
0'))
l15(
y,
True) →
l16(
gcd(
y,
S(
0')))
l13(
y,
False) →
l16(
gcd(
0',
y))
l13(
y,
True) →
l16(
gcd(
S(
0'),
y))
m4(
S(
x'),
S(
x)) →
m5(
monus(
x',
x))
m2(
a,
b,
False) →
m4(
a,
b)
l8(
x,
y,
False) →
l10(
x,
y)
l5(
x,
y,
False) →
l7(
x,
y)
l2(
x,
y,
res,
False) →
l3(
x,
y)
l2(
x,
y,
res,
True) →
resl11(
x,
y,
False) →
l14(
x,
y)
l11(
x,
y,
True) →
l12(
x,
y)
help1(
0') →
Falsee2(
a,
b,
True) →
e3(
a,
b)
bool2Nat(
False) →
0'bool2Nat(
True) →
S(
0')
m1(
a,
x) →
m2(
a,
x,
False)
l9(
res) →
resl6 →
0'l4(
x',
x) →
l5(
x',
x,
False)
l1(
x,
y,
res) →
l2(
x,
y,
res,
False)
e7 →
Falsee6 →
Falsee5 →
Truemonus(
a,
b) →
m1(
a,
b)
m5(
res) →
resl7(
x,
y) →
l8(
x,
y,
equal0(
x,
y))
l3(
x,
y) →
l4(
x,
y)
l16(
res) →
resl14(
x,
y) →
l15(
y,
monus(
x,
y))
l12(
x,
y) →
l13(
y,
monus(
x,
y))
l10(
x,
y) →
l11(
x,
y,
<(
x,
y))
gcd(
x,
y) →
l1(
x,
y,
0')
equal0(
a,
b) →
e1(
a,
b)
e8(
res) →
rese3(
a,
b) →
e4(
<(
b,
a))
e1(
a,
b) →
e2(
a,
b,
<(
a,
b))
<(
S(
x),
S(
y)) →
<(
x,
y)
<(
0',
S(
y)) →
True<(
x,
0') →
FalseTypes:
m2 :: 0':S → 0':S → True:False → True:False
S :: 0':S → 0':S
0' :: 0':S
True :: True:False
False :: True:False
m3 :: 0':S → True:False
l8 :: 0':S → 0':S → True:False → 0':S
l5 :: 0':S → 0':S → True:False → 0':S
help1 :: 0':S → True:False
e4 :: True:False → True:False
e2 :: 0':S → 0':S → True:False → True:False
l15 :: 0':S → True:False → 0':S
l16 :: 0':S → 0':S
gcd :: 0':S → 0':S → 0':S
l13 :: 0':S → True:False → 0':S
m4 :: 0':S → 0':S → True:False
m5 :: True:False → True:False
monus :: 0':S → 0':S → True:False
l10 :: 0':S → 0':S → 0':S
l7 :: 0':S → 0':S → 0':S
l2 :: 0':S → 0':S → 0':S → True:False → 0':S
l3 :: 0':S → 0':S → 0':S
l11 :: 0':S → 0':S → True:False → 0':S
l14 :: 0':S → 0':S → 0':S
l12 :: 0':S → 0':S → 0':S
e3 :: 0':S → 0':S → True:False
bool2Nat :: True:False → 0':S
m1 :: 0':S → 0':S → True:False
l9 :: l9 → l9
l6 :: 0':S
l4 :: 0':S → 0':S → 0':S
l1 :: 0':S → 0':S → 0':S → 0':S
e7 :: True:False
e6 :: True:False
e5 :: True:False
equal0 :: 0':S → 0':S → True:False
< :: 0':S → 0':S → True:False
e1 :: 0':S → 0':S → True:False
e8 :: e8 → e8
hole_True:False1_17 :: True:False
hole_0':S2_17 :: 0':S
hole_l93_17 :: l9
hole_e84_17 :: e8
gen_0':S5_17 :: Nat → 0':S
Lemmas:
<(gen_0':S5_17(n7_17), gen_0':S5_17(+(1, n7_17))) → True, rt ∈ Ω(0)
monus(gen_0':S5_17(n7092_17), gen_0':S5_17(n7092_17)) → *6_17, rt ∈ Ω(n709217)
m1(gen_0':S5_17(n9684_17), gen_0':S5_17(n9684_17)) → *6_17, rt ∈ Ω(n968417)
m4(gen_0':S5_17(+(1, n4548_17)), gen_0':S5_17(+(1, n4548_17))) → *6_17, rt ∈ Ω(n454817)
Generator Equations:
gen_0':S5_17(0) ⇔ 0'
gen_0':S5_17(+(x, 1)) ⇔ S(gen_0':S5_17(x))
The following defined symbols remain to be analysed:
l13
They will be analysed ascendingly in the following order:
l15 = gcd
l15 = l13
l15 = l10
l15 = l7
l15 = l3
l15 = l14
l15 = l12
l15 = l4
gcd = l13
gcd = l10
gcd = l7
gcd = l3
gcd = l14
gcd = l12
gcd = l4
l13 = l10
l13 = l7
l13 = l3
l13 = l14
l13 = l12
l13 = l4
l10 = l7
l10 = l3
l10 = l14
l10 = l12
l10 = l4
l7 = l3
l7 = l14
l7 = l12
l7 = l4
l3 = l14
l3 = l12
l3 = l4
l14 = l12
l14 = l4
l12 = l4
(43) NoRewriteLemmaProof (LOWER BOUND(ID) transformation)
Could not prove a rewrite lemma for the defined symbol l13.
(44) Obligation:
Innermost TRS:
Rules:
m2(
S(
0'),
b,
True) →
Falsem2(
S(
S(
x)),
b,
True) →
Truem2(
0',
b,
True) →
Falsem3(
S(
0')) →
Falsem3(
S(
S(
x))) →
Truem3(
0') →
Falsel8(
res,
y,
True) →
resl5(
x,
y,
True) →
0'help1(
S(
0')) →
Falsehelp1(
S(
S(
x))) →
Truee4(
False) →
Falsee4(
True) →
Truee2(
a,
b,
False) →
Falsel15(
y,
False) →
l16(
gcd(
y,
0'))
l15(
y,
True) →
l16(
gcd(
y,
S(
0')))
l13(
y,
False) →
l16(
gcd(
0',
y))
l13(
y,
True) →
l16(
gcd(
S(
0'),
y))
m4(
S(
x'),
S(
x)) →
m5(
monus(
x',
x))
m2(
a,
b,
False) →
m4(
a,
b)
l8(
x,
y,
False) →
l10(
x,
y)
l5(
x,
y,
False) →
l7(
x,
y)
l2(
x,
y,
res,
False) →
l3(
x,
y)
l2(
x,
y,
res,
True) →
resl11(
x,
y,
False) →
l14(
x,
y)
l11(
x,
y,
True) →
l12(
x,
y)
help1(
0') →
Falsee2(
a,
b,
True) →
e3(
a,
b)
bool2Nat(
False) →
0'bool2Nat(
True) →
S(
0')
m1(
a,
x) →
m2(
a,
x,
False)
l9(
res) →
resl6 →
0'l4(
x',
x) →
l5(
x',
x,
False)
l1(
x,
y,
res) →
l2(
x,
y,
res,
False)
e7 →
Falsee6 →
Falsee5 →
Truemonus(
a,
b) →
m1(
a,
b)
m5(
res) →
resl7(
x,
y) →
l8(
x,
y,
equal0(
x,
y))
l3(
x,
y) →
l4(
x,
y)
l16(
res) →
resl14(
x,
y) →
l15(
y,
monus(
x,
y))
l12(
x,
y) →
l13(
y,
monus(
x,
y))
l10(
x,
y) →
l11(
x,
y,
<(
x,
y))
gcd(
x,
y) →
l1(
x,
y,
0')
equal0(
a,
b) →
e1(
a,
b)
e8(
res) →
rese3(
a,
b) →
e4(
<(
b,
a))
e1(
a,
b) →
e2(
a,
b,
<(
a,
b))
<(
S(
x),
S(
y)) →
<(
x,
y)
<(
0',
S(
y)) →
True<(
x,
0') →
FalseTypes:
m2 :: 0':S → 0':S → True:False → True:False
S :: 0':S → 0':S
0' :: 0':S
True :: True:False
False :: True:False
m3 :: 0':S → True:False
l8 :: 0':S → 0':S → True:False → 0':S
l5 :: 0':S → 0':S → True:False → 0':S
help1 :: 0':S → True:False
e4 :: True:False → True:False
e2 :: 0':S → 0':S → True:False → True:False
l15 :: 0':S → True:False → 0':S
l16 :: 0':S → 0':S
gcd :: 0':S → 0':S → 0':S
l13 :: 0':S → True:False → 0':S
m4 :: 0':S → 0':S → True:False
m5 :: True:False → True:False
monus :: 0':S → 0':S → True:False
l10 :: 0':S → 0':S → 0':S
l7 :: 0':S → 0':S → 0':S
l2 :: 0':S → 0':S → 0':S → True:False → 0':S
l3 :: 0':S → 0':S → 0':S
l11 :: 0':S → 0':S → True:False → 0':S
l14 :: 0':S → 0':S → 0':S
l12 :: 0':S → 0':S → 0':S
e3 :: 0':S → 0':S → True:False
bool2Nat :: True:False → 0':S
m1 :: 0':S → 0':S → True:False
l9 :: l9 → l9
l6 :: 0':S
l4 :: 0':S → 0':S → 0':S
l1 :: 0':S → 0':S → 0':S → 0':S
e7 :: True:False
e6 :: True:False
e5 :: True:False
equal0 :: 0':S → 0':S → True:False
< :: 0':S → 0':S → True:False
e1 :: 0':S → 0':S → True:False
e8 :: e8 → e8
hole_True:False1_17 :: True:False
hole_0':S2_17 :: 0':S
hole_l93_17 :: l9
hole_e84_17 :: e8
gen_0':S5_17 :: Nat → 0':S
Lemmas:
<(gen_0':S5_17(n7_17), gen_0':S5_17(+(1, n7_17))) → True, rt ∈ Ω(0)
monus(gen_0':S5_17(n7092_17), gen_0':S5_17(n7092_17)) → *6_17, rt ∈ Ω(n709217)
m1(gen_0':S5_17(n9684_17), gen_0':S5_17(n9684_17)) → *6_17, rt ∈ Ω(n968417)
m4(gen_0':S5_17(+(1, n4548_17)), gen_0':S5_17(+(1, n4548_17))) → *6_17, rt ∈ Ω(n454817)
Generator Equations:
gen_0':S5_17(0) ⇔ 0'
gen_0':S5_17(+(x, 1)) ⇔ S(gen_0':S5_17(x))
No more defined symbols left to analyse.
(45) LowerBoundsProof (EQUIVALENT transformation)
The lowerbound Ω(n1) was proven with the following lemma:
monus(gen_0':S5_17(n7092_17), gen_0':S5_17(n7092_17)) → *6_17, rt ∈ Ω(n709217)
(46) BOUNDS(n^1, INF)
(47) Obligation:
Innermost TRS:
Rules:
m2(
S(
0'),
b,
True) →
Falsem2(
S(
S(
x)),
b,
True) →
Truem2(
0',
b,
True) →
Falsem3(
S(
0')) →
Falsem3(
S(
S(
x))) →
Truem3(
0') →
Falsel8(
res,
y,
True) →
resl5(
x,
y,
True) →
0'help1(
S(
0')) →
Falsehelp1(
S(
S(
x))) →
Truee4(
False) →
Falsee4(
True) →
Truee2(
a,
b,
False) →
Falsel15(
y,
False) →
l16(
gcd(
y,
0'))
l15(
y,
True) →
l16(
gcd(
y,
S(
0')))
l13(
y,
False) →
l16(
gcd(
0',
y))
l13(
y,
True) →
l16(
gcd(
S(
0'),
y))
m4(
S(
x'),
S(
x)) →
m5(
monus(
x',
x))
m2(
a,
b,
False) →
m4(
a,
b)
l8(
x,
y,
False) →
l10(
x,
y)
l5(
x,
y,
False) →
l7(
x,
y)
l2(
x,
y,
res,
False) →
l3(
x,
y)
l2(
x,
y,
res,
True) →
resl11(
x,
y,
False) →
l14(
x,
y)
l11(
x,
y,
True) →
l12(
x,
y)
help1(
0') →
Falsee2(
a,
b,
True) →
e3(
a,
b)
bool2Nat(
False) →
0'bool2Nat(
True) →
S(
0')
m1(
a,
x) →
m2(
a,
x,
False)
l9(
res) →
resl6 →
0'l4(
x',
x) →
l5(
x',
x,
False)
l1(
x,
y,
res) →
l2(
x,
y,
res,
False)
e7 →
Falsee6 →
Falsee5 →
Truemonus(
a,
b) →
m1(
a,
b)
m5(
res) →
resl7(
x,
y) →
l8(
x,
y,
equal0(
x,
y))
l3(
x,
y) →
l4(
x,
y)
l16(
res) →
resl14(
x,
y) →
l15(
y,
monus(
x,
y))
l12(
x,
y) →
l13(
y,
monus(
x,
y))
l10(
x,
y) →
l11(
x,
y,
<(
x,
y))
gcd(
x,
y) →
l1(
x,
y,
0')
equal0(
a,
b) →
e1(
a,
b)
e8(
res) →
rese3(
a,
b) →
e4(
<(
b,
a))
e1(
a,
b) →
e2(
a,
b,
<(
a,
b))
<(
S(
x),
S(
y)) →
<(
x,
y)
<(
0',
S(
y)) →
True<(
x,
0') →
FalseTypes:
m2 :: 0':S → 0':S → True:False → True:False
S :: 0':S → 0':S
0' :: 0':S
True :: True:False
False :: True:False
m3 :: 0':S → True:False
l8 :: 0':S → 0':S → True:False → 0':S
l5 :: 0':S → 0':S → True:False → 0':S
help1 :: 0':S → True:False
e4 :: True:False → True:False
e2 :: 0':S → 0':S → True:False → True:False
l15 :: 0':S → True:False → 0':S
l16 :: 0':S → 0':S
gcd :: 0':S → 0':S → 0':S
l13 :: 0':S → True:False → 0':S
m4 :: 0':S → 0':S → True:False
m5 :: True:False → True:False
monus :: 0':S → 0':S → True:False
l10 :: 0':S → 0':S → 0':S
l7 :: 0':S → 0':S → 0':S
l2 :: 0':S → 0':S → 0':S → True:False → 0':S
l3 :: 0':S → 0':S → 0':S
l11 :: 0':S → 0':S → True:False → 0':S
l14 :: 0':S → 0':S → 0':S
l12 :: 0':S → 0':S → 0':S
e3 :: 0':S → 0':S → True:False
bool2Nat :: True:False → 0':S
m1 :: 0':S → 0':S → True:False
l9 :: l9 → l9
l6 :: 0':S
l4 :: 0':S → 0':S → 0':S
l1 :: 0':S → 0':S → 0':S → 0':S
e7 :: True:False
e6 :: True:False
e5 :: True:False
equal0 :: 0':S → 0':S → True:False
< :: 0':S → 0':S → True:False
e1 :: 0':S → 0':S → True:False
e8 :: e8 → e8
hole_True:False1_17 :: True:False
hole_0':S2_17 :: 0':S
hole_l93_17 :: l9
hole_e84_17 :: e8
gen_0':S5_17 :: Nat → 0':S
Lemmas:
<(gen_0':S5_17(n7_17), gen_0':S5_17(+(1, n7_17))) → True, rt ∈ Ω(0)
monus(gen_0':S5_17(n7092_17), gen_0':S5_17(n7092_17)) → *6_17, rt ∈ Ω(n709217)
m1(gen_0':S5_17(n9684_17), gen_0':S5_17(n9684_17)) → *6_17, rt ∈ Ω(n968417)
m4(gen_0':S5_17(+(1, n4548_17)), gen_0':S5_17(+(1, n4548_17))) → *6_17, rt ∈ Ω(n454817)
Generator Equations:
gen_0':S5_17(0) ⇔ 0'
gen_0':S5_17(+(x, 1)) ⇔ S(gen_0':S5_17(x))
No more defined symbols left to analyse.
(48) LowerBoundsProof (EQUIVALENT transformation)
The lowerbound Ω(n1) was proven with the following lemma:
monus(gen_0':S5_17(n7092_17), gen_0':S5_17(n7092_17)) → *6_17, rt ∈ Ω(n709217)
(49) BOUNDS(n^1, INF)
(50) Obligation:
Innermost TRS:
Rules:
m2(
S(
0'),
b,
True) →
Falsem2(
S(
S(
x)),
b,
True) →
Truem2(
0',
b,
True) →
Falsem3(
S(
0')) →
Falsem3(
S(
S(
x))) →
Truem3(
0') →
Falsel8(
res,
y,
True) →
resl5(
x,
y,
True) →
0'help1(
S(
0')) →
Falsehelp1(
S(
S(
x))) →
Truee4(
False) →
Falsee4(
True) →
Truee2(
a,
b,
False) →
Falsel15(
y,
False) →
l16(
gcd(
y,
0'))
l15(
y,
True) →
l16(
gcd(
y,
S(
0')))
l13(
y,
False) →
l16(
gcd(
0',
y))
l13(
y,
True) →
l16(
gcd(
S(
0'),
y))
m4(
S(
x'),
S(
x)) →
m5(
monus(
x',
x))
m2(
a,
b,
False) →
m4(
a,
b)
l8(
x,
y,
False) →
l10(
x,
y)
l5(
x,
y,
False) →
l7(
x,
y)
l2(
x,
y,
res,
False) →
l3(
x,
y)
l2(
x,
y,
res,
True) →
resl11(
x,
y,
False) →
l14(
x,
y)
l11(
x,
y,
True) →
l12(
x,
y)
help1(
0') →
Falsee2(
a,
b,
True) →
e3(
a,
b)
bool2Nat(
False) →
0'bool2Nat(
True) →
S(
0')
m1(
a,
x) →
m2(
a,
x,
False)
l9(
res) →
resl6 →
0'l4(
x',
x) →
l5(
x',
x,
False)
l1(
x,
y,
res) →
l2(
x,
y,
res,
False)
e7 →
Falsee6 →
Falsee5 →
Truemonus(
a,
b) →
m1(
a,
b)
m5(
res) →
resl7(
x,
y) →
l8(
x,
y,
equal0(
x,
y))
l3(
x,
y) →
l4(
x,
y)
l16(
res) →
resl14(
x,
y) →
l15(
y,
monus(
x,
y))
l12(
x,
y) →
l13(
y,
monus(
x,
y))
l10(
x,
y) →
l11(
x,
y,
<(
x,
y))
gcd(
x,
y) →
l1(
x,
y,
0')
equal0(
a,
b) →
e1(
a,
b)
e8(
res) →
rese3(
a,
b) →
e4(
<(
b,
a))
e1(
a,
b) →
e2(
a,
b,
<(
a,
b))
<(
S(
x),
S(
y)) →
<(
x,
y)
<(
0',
S(
y)) →
True<(
x,
0') →
FalseTypes:
m2 :: 0':S → 0':S → True:False → True:False
S :: 0':S → 0':S
0' :: 0':S
True :: True:False
False :: True:False
m3 :: 0':S → True:False
l8 :: 0':S → 0':S → True:False → 0':S
l5 :: 0':S → 0':S → True:False → 0':S
help1 :: 0':S → True:False
e4 :: True:False → True:False
e2 :: 0':S → 0':S → True:False → True:False
l15 :: 0':S → True:False → 0':S
l16 :: 0':S → 0':S
gcd :: 0':S → 0':S → 0':S
l13 :: 0':S → True:False → 0':S
m4 :: 0':S → 0':S → True:False
m5 :: True:False → True:False
monus :: 0':S → 0':S → True:False
l10 :: 0':S → 0':S → 0':S
l7 :: 0':S → 0':S → 0':S
l2 :: 0':S → 0':S → 0':S → True:False → 0':S
l3 :: 0':S → 0':S → 0':S
l11 :: 0':S → 0':S → True:False → 0':S
l14 :: 0':S → 0':S → 0':S
l12 :: 0':S → 0':S → 0':S
e3 :: 0':S → 0':S → True:False
bool2Nat :: True:False → 0':S
m1 :: 0':S → 0':S → True:False
l9 :: l9 → l9
l6 :: 0':S
l4 :: 0':S → 0':S → 0':S
l1 :: 0':S → 0':S → 0':S → 0':S
e7 :: True:False
e6 :: True:False
e5 :: True:False
equal0 :: 0':S → 0':S → True:False
< :: 0':S → 0':S → True:False
e1 :: 0':S → 0':S → True:False
e8 :: e8 → e8
hole_True:False1_17 :: True:False
hole_0':S2_17 :: 0':S
hole_l93_17 :: l9
hole_e84_17 :: e8
gen_0':S5_17 :: Nat → 0':S
Lemmas:
<(gen_0':S5_17(n7_17), gen_0':S5_17(+(1, n7_17))) → True, rt ∈ Ω(0)
monus(gen_0':S5_17(n7092_17), gen_0':S5_17(n7092_17)) → *6_17, rt ∈ Ω(n709217)
m1(gen_0':S5_17(n2564_17), gen_0':S5_17(n2564_17)) → *6_17, rt ∈ Ω(n256417)
m4(gen_0':S5_17(+(1, n4548_17)), gen_0':S5_17(+(1, n4548_17))) → *6_17, rt ∈ Ω(n454817)
Generator Equations:
gen_0':S5_17(0) ⇔ 0'
gen_0':S5_17(+(x, 1)) ⇔ S(gen_0':S5_17(x))
No more defined symbols left to analyse.
(51) LowerBoundsProof (EQUIVALENT transformation)
The lowerbound Ω(n1) was proven with the following lemma:
monus(gen_0':S5_17(n7092_17), gen_0':S5_17(n7092_17)) → *6_17, rt ∈ Ω(n709217)
(52) BOUNDS(n^1, INF)
(53) Obligation:
Innermost TRS:
Rules:
m2(
S(
0'),
b,
True) →
Falsem2(
S(
S(
x)),
b,
True) →
Truem2(
0',
b,
True) →
Falsem3(
S(
0')) →
Falsem3(
S(
S(
x))) →
Truem3(
0') →
Falsel8(
res,
y,
True) →
resl5(
x,
y,
True) →
0'help1(
S(
0')) →
Falsehelp1(
S(
S(
x))) →
Truee4(
False) →
Falsee4(
True) →
Truee2(
a,
b,
False) →
Falsel15(
y,
False) →
l16(
gcd(
y,
0'))
l15(
y,
True) →
l16(
gcd(
y,
S(
0')))
l13(
y,
False) →
l16(
gcd(
0',
y))
l13(
y,
True) →
l16(
gcd(
S(
0'),
y))
m4(
S(
x'),
S(
x)) →
m5(
monus(
x',
x))
m2(
a,
b,
False) →
m4(
a,
b)
l8(
x,
y,
False) →
l10(
x,
y)
l5(
x,
y,
False) →
l7(
x,
y)
l2(
x,
y,
res,
False) →
l3(
x,
y)
l2(
x,
y,
res,
True) →
resl11(
x,
y,
False) →
l14(
x,
y)
l11(
x,
y,
True) →
l12(
x,
y)
help1(
0') →
Falsee2(
a,
b,
True) →
e3(
a,
b)
bool2Nat(
False) →
0'bool2Nat(
True) →
S(
0')
m1(
a,
x) →
m2(
a,
x,
False)
l9(
res) →
resl6 →
0'l4(
x',
x) →
l5(
x',
x,
False)
l1(
x,
y,
res) →
l2(
x,
y,
res,
False)
e7 →
Falsee6 →
Falsee5 →
Truemonus(
a,
b) →
m1(
a,
b)
m5(
res) →
resl7(
x,
y) →
l8(
x,
y,
equal0(
x,
y))
l3(
x,
y) →
l4(
x,
y)
l16(
res) →
resl14(
x,
y) →
l15(
y,
monus(
x,
y))
l12(
x,
y) →
l13(
y,
monus(
x,
y))
l10(
x,
y) →
l11(
x,
y,
<(
x,
y))
gcd(
x,
y) →
l1(
x,
y,
0')
equal0(
a,
b) →
e1(
a,
b)
e8(
res) →
rese3(
a,
b) →
e4(
<(
b,
a))
e1(
a,
b) →
e2(
a,
b,
<(
a,
b))
<(
S(
x),
S(
y)) →
<(
x,
y)
<(
0',
S(
y)) →
True<(
x,
0') →
FalseTypes:
m2 :: 0':S → 0':S → True:False → True:False
S :: 0':S → 0':S
0' :: 0':S
True :: True:False
False :: True:False
m3 :: 0':S → True:False
l8 :: 0':S → 0':S → True:False → 0':S
l5 :: 0':S → 0':S → True:False → 0':S
help1 :: 0':S → True:False
e4 :: True:False → True:False
e2 :: 0':S → 0':S → True:False → True:False
l15 :: 0':S → True:False → 0':S
l16 :: 0':S → 0':S
gcd :: 0':S → 0':S → 0':S
l13 :: 0':S → True:False → 0':S
m4 :: 0':S → 0':S → True:False
m5 :: True:False → True:False
monus :: 0':S → 0':S → True:False
l10 :: 0':S → 0':S → 0':S
l7 :: 0':S → 0':S → 0':S
l2 :: 0':S → 0':S → 0':S → True:False → 0':S
l3 :: 0':S → 0':S → 0':S
l11 :: 0':S → 0':S → True:False → 0':S
l14 :: 0':S → 0':S → 0':S
l12 :: 0':S → 0':S → 0':S
e3 :: 0':S → 0':S → True:False
bool2Nat :: True:False → 0':S
m1 :: 0':S → 0':S → True:False
l9 :: l9 → l9
l6 :: 0':S
l4 :: 0':S → 0':S → 0':S
l1 :: 0':S → 0':S → 0':S → 0':S
e7 :: True:False
e6 :: True:False
e5 :: True:False
equal0 :: 0':S → 0':S → True:False
< :: 0':S → 0':S → True:False
e1 :: 0':S → 0':S → True:False
e8 :: e8 → e8
hole_True:False1_17 :: True:False
hole_0':S2_17 :: 0':S
hole_l93_17 :: l9
hole_e84_17 :: e8
gen_0':S5_17 :: Nat → 0':S
Lemmas:
<(gen_0':S5_17(n7_17), gen_0':S5_17(+(1, n7_17))) → True, rt ∈ Ω(0)
monus(gen_0':S5_17(n644_17), gen_0':S5_17(n644_17)) → *6_17, rt ∈ Ω(n64417)
m1(gen_0':S5_17(n2564_17), gen_0':S5_17(n2564_17)) → *6_17, rt ∈ Ω(n256417)
m4(gen_0':S5_17(+(1, n4548_17)), gen_0':S5_17(+(1, n4548_17))) → *6_17, rt ∈ Ω(n454817)
Generator Equations:
gen_0':S5_17(0) ⇔ 0'
gen_0':S5_17(+(x, 1)) ⇔ S(gen_0':S5_17(x))
No more defined symbols left to analyse.
(54) LowerBoundsProof (EQUIVALENT transformation)
The lowerbound Ω(n1) was proven with the following lemma:
monus(gen_0':S5_17(n644_17), gen_0':S5_17(n644_17)) → *6_17, rt ∈ Ω(n64417)
(55) BOUNDS(n^1, INF)
(56) Obligation:
Innermost TRS:
Rules:
m2(
S(
0'),
b,
True) →
Falsem2(
S(
S(
x)),
b,
True) →
Truem2(
0',
b,
True) →
Falsem3(
S(
0')) →
Falsem3(
S(
S(
x))) →
Truem3(
0') →
Falsel8(
res,
y,
True) →
resl5(
x,
y,
True) →
0'help1(
S(
0')) →
Falsehelp1(
S(
S(
x))) →
Truee4(
False) →
Falsee4(
True) →
Truee2(
a,
b,
False) →
Falsel15(
y,
False) →
l16(
gcd(
y,
0'))
l15(
y,
True) →
l16(
gcd(
y,
S(
0')))
l13(
y,
False) →
l16(
gcd(
0',
y))
l13(
y,
True) →
l16(
gcd(
S(
0'),
y))
m4(
S(
x'),
S(
x)) →
m5(
monus(
x',
x))
m2(
a,
b,
False) →
m4(
a,
b)
l8(
x,
y,
False) →
l10(
x,
y)
l5(
x,
y,
False) →
l7(
x,
y)
l2(
x,
y,
res,
False) →
l3(
x,
y)
l2(
x,
y,
res,
True) →
resl11(
x,
y,
False) →
l14(
x,
y)
l11(
x,
y,
True) →
l12(
x,
y)
help1(
0') →
Falsee2(
a,
b,
True) →
e3(
a,
b)
bool2Nat(
False) →
0'bool2Nat(
True) →
S(
0')
m1(
a,
x) →
m2(
a,
x,
False)
l9(
res) →
resl6 →
0'l4(
x',
x) →
l5(
x',
x,
False)
l1(
x,
y,
res) →
l2(
x,
y,
res,
False)
e7 →
Falsee6 →
Falsee5 →
Truemonus(
a,
b) →
m1(
a,
b)
m5(
res) →
resl7(
x,
y) →
l8(
x,
y,
equal0(
x,
y))
l3(
x,
y) →
l4(
x,
y)
l16(
res) →
resl14(
x,
y) →
l15(
y,
monus(
x,
y))
l12(
x,
y) →
l13(
y,
monus(
x,
y))
l10(
x,
y) →
l11(
x,
y,
<(
x,
y))
gcd(
x,
y) →
l1(
x,
y,
0')
equal0(
a,
b) →
e1(
a,
b)
e8(
res) →
rese3(
a,
b) →
e4(
<(
b,
a))
e1(
a,
b) →
e2(
a,
b,
<(
a,
b))
<(
S(
x),
S(
y)) →
<(
x,
y)
<(
0',
S(
y)) →
True<(
x,
0') →
FalseTypes:
m2 :: 0':S → 0':S → True:False → True:False
S :: 0':S → 0':S
0' :: 0':S
True :: True:False
False :: True:False
m3 :: 0':S → True:False
l8 :: 0':S → 0':S → True:False → 0':S
l5 :: 0':S → 0':S → True:False → 0':S
help1 :: 0':S → True:False
e4 :: True:False → True:False
e2 :: 0':S → 0':S → True:False → True:False
l15 :: 0':S → True:False → 0':S
l16 :: 0':S → 0':S
gcd :: 0':S → 0':S → 0':S
l13 :: 0':S → True:False → 0':S
m4 :: 0':S → 0':S → True:False
m5 :: True:False → True:False
monus :: 0':S → 0':S → True:False
l10 :: 0':S → 0':S → 0':S
l7 :: 0':S → 0':S → 0':S
l2 :: 0':S → 0':S → 0':S → True:False → 0':S
l3 :: 0':S → 0':S → 0':S
l11 :: 0':S → 0':S → True:False → 0':S
l14 :: 0':S → 0':S → 0':S
l12 :: 0':S → 0':S → 0':S
e3 :: 0':S → 0':S → True:False
bool2Nat :: True:False → 0':S
m1 :: 0':S → 0':S → True:False
l9 :: l9 → l9
l6 :: 0':S
l4 :: 0':S → 0':S → 0':S
l1 :: 0':S → 0':S → 0':S → 0':S
e7 :: True:False
e6 :: True:False
e5 :: True:False
equal0 :: 0':S → 0':S → True:False
< :: 0':S → 0':S → True:False
e1 :: 0':S → 0':S → True:False
e8 :: e8 → e8
hole_True:False1_17 :: True:False
hole_0':S2_17 :: 0':S
hole_l93_17 :: l9
hole_e84_17 :: e8
gen_0':S5_17 :: Nat → 0':S
Lemmas:
<(gen_0':S5_17(n7_17), gen_0':S5_17(+(1, n7_17))) → True, rt ∈ Ω(0)
monus(gen_0':S5_17(n644_17), gen_0':S5_17(n644_17)) → *6_17, rt ∈ Ω(n64417)
m1(gen_0':S5_17(n2564_17), gen_0':S5_17(n2564_17)) → *6_17, rt ∈ Ω(n256417)
Generator Equations:
gen_0':S5_17(0) ⇔ 0'
gen_0':S5_17(+(x, 1)) ⇔ S(gen_0':S5_17(x))
No more defined symbols left to analyse.
(57) LowerBoundsProof (EQUIVALENT transformation)
The lowerbound Ω(n1) was proven with the following lemma:
monus(gen_0':S5_17(n644_17), gen_0':S5_17(n644_17)) → *6_17, rt ∈ Ω(n64417)
(58) BOUNDS(n^1, INF)
(59) Obligation:
Innermost TRS:
Rules:
m2(
S(
0'),
b,
True) →
Falsem2(
S(
S(
x)),
b,
True) →
Truem2(
0',
b,
True) →
Falsem3(
S(
0')) →
Falsem3(
S(
S(
x))) →
Truem3(
0') →
Falsel8(
res,
y,
True) →
resl5(
x,
y,
True) →
0'help1(
S(
0')) →
Falsehelp1(
S(
S(
x))) →
Truee4(
False) →
Falsee4(
True) →
Truee2(
a,
b,
False) →
Falsel15(
y,
False) →
l16(
gcd(
y,
0'))
l15(
y,
True) →
l16(
gcd(
y,
S(
0')))
l13(
y,
False) →
l16(
gcd(
0',
y))
l13(
y,
True) →
l16(
gcd(
S(
0'),
y))
m4(
S(
x'),
S(
x)) →
m5(
monus(
x',
x))
m2(
a,
b,
False) →
m4(
a,
b)
l8(
x,
y,
False) →
l10(
x,
y)
l5(
x,
y,
False) →
l7(
x,
y)
l2(
x,
y,
res,
False) →
l3(
x,
y)
l2(
x,
y,
res,
True) →
resl11(
x,
y,
False) →
l14(
x,
y)
l11(
x,
y,
True) →
l12(
x,
y)
help1(
0') →
Falsee2(
a,
b,
True) →
e3(
a,
b)
bool2Nat(
False) →
0'bool2Nat(
True) →
S(
0')
m1(
a,
x) →
m2(
a,
x,
False)
l9(
res) →
resl6 →
0'l4(
x',
x) →
l5(
x',
x,
False)
l1(
x,
y,
res) →
l2(
x,
y,
res,
False)
e7 →
Falsee6 →
Falsee5 →
Truemonus(
a,
b) →
m1(
a,
b)
m5(
res) →
resl7(
x,
y) →
l8(
x,
y,
equal0(
x,
y))
l3(
x,
y) →
l4(
x,
y)
l16(
res) →
resl14(
x,
y) →
l15(
y,
monus(
x,
y))
l12(
x,
y) →
l13(
y,
monus(
x,
y))
l10(
x,
y) →
l11(
x,
y,
<(
x,
y))
gcd(
x,
y) →
l1(
x,
y,
0')
equal0(
a,
b) →
e1(
a,
b)
e8(
res) →
rese3(
a,
b) →
e4(
<(
b,
a))
e1(
a,
b) →
e2(
a,
b,
<(
a,
b))
<(
S(
x),
S(
y)) →
<(
x,
y)
<(
0',
S(
y)) →
True<(
x,
0') →
FalseTypes:
m2 :: 0':S → 0':S → True:False → True:False
S :: 0':S → 0':S
0' :: 0':S
True :: True:False
False :: True:False
m3 :: 0':S → True:False
l8 :: 0':S → 0':S → True:False → 0':S
l5 :: 0':S → 0':S → True:False → 0':S
help1 :: 0':S → True:False
e4 :: True:False → True:False
e2 :: 0':S → 0':S → True:False → True:False
l15 :: 0':S → True:False → 0':S
l16 :: 0':S → 0':S
gcd :: 0':S → 0':S → 0':S
l13 :: 0':S → True:False → 0':S
m4 :: 0':S → 0':S → True:False
m5 :: True:False → True:False
monus :: 0':S → 0':S → True:False
l10 :: 0':S → 0':S → 0':S
l7 :: 0':S → 0':S → 0':S
l2 :: 0':S → 0':S → 0':S → True:False → 0':S
l3 :: 0':S → 0':S → 0':S
l11 :: 0':S → 0':S → True:False → 0':S
l14 :: 0':S → 0':S → 0':S
l12 :: 0':S → 0':S → 0':S
e3 :: 0':S → 0':S → True:False
bool2Nat :: True:False → 0':S
m1 :: 0':S → 0':S → True:False
l9 :: l9 → l9
l6 :: 0':S
l4 :: 0':S → 0':S → 0':S
l1 :: 0':S → 0':S → 0':S → 0':S
e7 :: True:False
e6 :: True:False
e5 :: True:False
equal0 :: 0':S → 0':S → True:False
< :: 0':S → 0':S → True:False
e1 :: 0':S → 0':S → True:False
e8 :: e8 → e8
hole_True:False1_17 :: True:False
hole_0':S2_17 :: 0':S
hole_l93_17 :: l9
hole_e84_17 :: e8
gen_0':S5_17 :: Nat → 0':S
Lemmas:
<(gen_0':S5_17(n7_17), gen_0':S5_17(+(1, n7_17))) → True, rt ∈ Ω(0)
monus(gen_0':S5_17(n644_17), gen_0':S5_17(n644_17)) → *6_17, rt ∈ Ω(n64417)
Generator Equations:
gen_0':S5_17(0) ⇔ 0'
gen_0':S5_17(+(x, 1)) ⇔ S(gen_0':S5_17(x))
No more defined symbols left to analyse.
(60) LowerBoundsProof (EQUIVALENT transformation)
The lowerbound Ω(n1) was proven with the following lemma:
monus(gen_0':S5_17(n644_17), gen_0':S5_17(n644_17)) → *6_17, rt ∈ Ω(n64417)
(61) BOUNDS(n^1, INF)
(62) Obligation:
Innermost TRS:
Rules:
m2(
S(
0'),
b,
True) →
Falsem2(
S(
S(
x)),
b,
True) →
Truem2(
0',
b,
True) →
Falsem3(
S(
0')) →
Falsem3(
S(
S(
x))) →
Truem3(
0') →
Falsel8(
res,
y,
True) →
resl5(
x,
y,
True) →
0'help1(
S(
0')) →
Falsehelp1(
S(
S(
x))) →
Truee4(
False) →
Falsee4(
True) →
Truee2(
a,
b,
False) →
Falsel15(
y,
False) →
l16(
gcd(
y,
0'))
l15(
y,
True) →
l16(
gcd(
y,
S(
0')))
l13(
y,
False) →
l16(
gcd(
0',
y))
l13(
y,
True) →
l16(
gcd(
S(
0'),
y))
m4(
S(
x'),
S(
x)) →
m5(
monus(
x',
x))
m2(
a,
b,
False) →
m4(
a,
b)
l8(
x,
y,
False) →
l10(
x,
y)
l5(
x,
y,
False) →
l7(
x,
y)
l2(
x,
y,
res,
False) →
l3(
x,
y)
l2(
x,
y,
res,
True) →
resl11(
x,
y,
False) →
l14(
x,
y)
l11(
x,
y,
True) →
l12(
x,
y)
help1(
0') →
Falsee2(
a,
b,
True) →
e3(
a,
b)
bool2Nat(
False) →
0'bool2Nat(
True) →
S(
0')
m1(
a,
x) →
m2(
a,
x,
False)
l9(
res) →
resl6 →
0'l4(
x',
x) →
l5(
x',
x,
False)
l1(
x,
y,
res) →
l2(
x,
y,
res,
False)
e7 →
Falsee6 →
Falsee5 →
Truemonus(
a,
b) →
m1(
a,
b)
m5(
res) →
resl7(
x,
y) →
l8(
x,
y,
equal0(
x,
y))
l3(
x,
y) →
l4(
x,
y)
l16(
res) →
resl14(
x,
y) →
l15(
y,
monus(
x,
y))
l12(
x,
y) →
l13(
y,
monus(
x,
y))
l10(
x,
y) →
l11(
x,
y,
<(
x,
y))
gcd(
x,
y) →
l1(
x,
y,
0')
equal0(
a,
b) →
e1(
a,
b)
e8(
res) →
rese3(
a,
b) →
e4(
<(
b,
a))
e1(
a,
b) →
e2(
a,
b,
<(
a,
b))
<(
S(
x),
S(
y)) →
<(
x,
y)
<(
0',
S(
y)) →
True<(
x,
0') →
FalseTypes:
m2 :: 0':S → 0':S → True:False → True:False
S :: 0':S → 0':S
0' :: 0':S
True :: True:False
False :: True:False
m3 :: 0':S → True:False
l8 :: 0':S → 0':S → True:False → 0':S
l5 :: 0':S → 0':S → True:False → 0':S
help1 :: 0':S → True:False
e4 :: True:False → True:False
e2 :: 0':S → 0':S → True:False → True:False
l15 :: 0':S → True:False → 0':S
l16 :: 0':S → 0':S
gcd :: 0':S → 0':S → 0':S
l13 :: 0':S → True:False → 0':S
m4 :: 0':S → 0':S → True:False
m5 :: True:False → True:False
monus :: 0':S → 0':S → True:False
l10 :: 0':S → 0':S → 0':S
l7 :: 0':S → 0':S → 0':S
l2 :: 0':S → 0':S → 0':S → True:False → 0':S
l3 :: 0':S → 0':S → 0':S
l11 :: 0':S → 0':S → True:False → 0':S
l14 :: 0':S → 0':S → 0':S
l12 :: 0':S → 0':S → 0':S
e3 :: 0':S → 0':S → True:False
bool2Nat :: True:False → 0':S
m1 :: 0':S → 0':S → True:False
l9 :: l9 → l9
l6 :: 0':S
l4 :: 0':S → 0':S → 0':S
l1 :: 0':S → 0':S → 0':S → 0':S
e7 :: True:False
e6 :: True:False
e5 :: True:False
equal0 :: 0':S → 0':S → True:False
< :: 0':S → 0':S → True:False
e1 :: 0':S → 0':S → True:False
e8 :: e8 → e8
hole_True:False1_17 :: True:False
hole_0':S2_17 :: 0':S
hole_l93_17 :: l9
hole_e84_17 :: e8
gen_0':S5_17 :: Nat → 0':S
Lemmas:
<(gen_0':S5_17(n7_17), gen_0':S5_17(+(1, n7_17))) → True, rt ∈ Ω(0)
Generator Equations:
gen_0':S5_17(0) ⇔ 0'
gen_0':S5_17(+(x, 1)) ⇔ S(gen_0':S5_17(x))
No more defined symbols left to analyse.
(63) LowerBoundsProof (EQUIVALENT transformation)
The lowerbound Ω(1) was proven with the following lemma:
<(gen_0':S5_17(n7_17), gen_0':S5_17(+(1, n7_17))) → True, rt ∈ Ω(0)
(64) BOUNDS(1, INF)