YES(O(1), O(n^2)) 10.13/3.06 YES(O(1), O(n^2)) 10.66/3.10 10.66/3.10 10.66/3.10 10.66/3.10 10.66/3.10 10.66/3.10 Runtime Complexity (innermost) proof of /export/starexec/sandbox/benchmark/theBenchmark.xml.xml 10.66/3.10 10.66/3.10 10.66/3.10
10.66/3.10 10.66/3.10 10.66/3.10
10.66/3.10
10.66/3.10

(0) Obligation:

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

pred(s(x)) → x 10.66/3.10
minus(x, 0) → x 10.66/3.10
minus(x, s(y)) → pred(minus(x, y)) 10.66/3.10
quot(0, s(y)) → 0 10.66/3.10
quot(s(x), s(y)) → s(quot(minus(x, y), s(y))) 10.66/3.10
log(s(0)) → 0 10.66/3.10
log(s(s(x))) → s(log(s(quot(x, s(s(0))))))

Rewrite Strategy: INNERMOST
10.66/3.10
10.66/3.10

(1) CpxTrsToCdtProof (BOTH BOUNDS(ID, ID) transformation)

Converted CpxTRS to CDT
10.66/3.10
10.66/3.10

(2) Obligation:

Complexity Dependency Tuples Problem
Rules:

pred(s(z0)) → z0 10.66/3.10
minus(z0, 0) → z0 10.66/3.10
minus(z0, s(z1)) → pred(minus(z0, z1)) 10.66/3.10
quot(0, s(z0)) → 0 10.66/3.10
quot(s(z0), s(z1)) → s(quot(minus(z0, z1), s(z1))) 10.66/3.10
log(s(0)) → 0 10.66/3.10
log(s(s(z0))) → s(log(s(quot(z0, s(s(0))))))
Tuples:

MINUS(z0, s(z1)) → c2(PRED(minus(z0, z1)), MINUS(z0, z1)) 10.66/3.10
QUOT(s(z0), s(z1)) → c4(QUOT(minus(z0, z1), s(z1)), MINUS(z0, z1)) 10.66/3.10
LOG(s(s(z0))) → c6(LOG(s(quot(z0, s(s(0))))), QUOT(z0, s(s(0))))
S tuples:

MINUS(z0, s(z1)) → c2(PRED(minus(z0, z1)), MINUS(z0, z1)) 10.66/3.10
QUOT(s(z0), s(z1)) → c4(QUOT(minus(z0, z1), s(z1)), MINUS(z0, z1)) 10.66/3.10
LOG(s(s(z0))) → c6(LOG(s(quot(z0, s(s(0))))), QUOT(z0, s(s(0))))
K tuples:none
Defined Rule Symbols:

pred, minus, quot, log

Defined Pair Symbols:

MINUS, QUOT, LOG

Compound Symbols:

c2, c4, c6

10.66/3.10
10.66/3.10

(3) CdtRhsSimplificationProcessorProof (BOTH BOUNDS(ID, ID) transformation)

Removed 1 trailing tuple parts
10.66/3.10
10.66/3.10

(4) Obligation:

Complexity Dependency Tuples Problem
Rules:

pred(s(z0)) → z0 10.66/3.10
minus(z0, 0) → z0 10.66/3.10
minus(z0, s(z1)) → pred(minus(z0, z1)) 10.66/3.10
quot(0, s(z0)) → 0 10.66/3.10
quot(s(z0), s(z1)) → s(quot(minus(z0, z1), s(z1))) 10.66/3.10
log(s(0)) → 0 10.66/3.10
log(s(s(z0))) → s(log(s(quot(z0, s(s(0))))))
Tuples:

QUOT(s(z0), s(z1)) → c4(QUOT(minus(z0, z1), s(z1)), MINUS(z0, z1)) 10.66/3.10
LOG(s(s(z0))) → c6(LOG(s(quot(z0, s(s(0))))), QUOT(z0, s(s(0)))) 10.66/3.10
MINUS(z0, s(z1)) → c2(MINUS(z0, z1))
S tuples:

QUOT(s(z0), s(z1)) → c4(QUOT(minus(z0, z1), s(z1)), MINUS(z0, z1)) 10.66/3.10
LOG(s(s(z0))) → c6(LOG(s(quot(z0, s(s(0))))), QUOT(z0, s(s(0)))) 10.66/3.10
MINUS(z0, s(z1)) → c2(MINUS(z0, z1))
K tuples:none
Defined Rule Symbols:

pred, minus, quot, log

Defined Pair Symbols:

QUOT, LOG, MINUS

Compound Symbols:

c4, c6, c2

10.66/3.10
10.66/3.10

(5) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^1))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

LOG(s(s(z0))) → c6(LOG(s(quot(z0, s(s(0))))), QUOT(z0, s(s(0))))
We considered the (Usable) Rules:

quot(0, s(z0)) → 0 10.66/3.10
quot(s(z0), s(z1)) → s(quot(minus(z0, z1), s(z1))) 10.66/3.10
minus(z0, 0) → z0 10.66/3.10
minus(z0, s(z1)) → pred(minus(z0, z1)) 10.66/3.10
pred(s(z0)) → z0
And the Tuples:

QUOT(s(z0), s(z1)) → c4(QUOT(minus(z0, z1), s(z1)), MINUS(z0, z1)) 10.66/3.10
LOG(s(s(z0))) → c6(LOG(s(quot(z0, s(s(0))))), QUOT(z0, s(s(0)))) 10.66/3.10
MINUS(z0, s(z1)) → c2(MINUS(z0, z1))
The order we found is given by the following interpretation:
Polynomial interpretation : 10.66/3.10

POL(0) = 0    10.66/3.10
POL(LOG(x1)) = [4]x1    10.66/3.10
POL(MINUS(x1, x2)) = 0    10.66/3.10
POL(QUOT(x1, x2)) = 0    10.66/3.10
POL(c2(x1)) = x1    10.66/3.10
POL(c4(x1, x2)) = x1 + x2    10.66/3.10
POL(c6(x1, x2)) = x1 + x2    10.66/3.10
POL(minus(x1, x2)) = x1    10.66/3.10
POL(pred(x1)) = x1    10.66/3.10
POL(quot(x1, x2)) = x1    10.66/3.10
POL(s(x1)) = [1] + x1   
10.66/3.10
10.66/3.10

(6) Obligation:

Complexity Dependency Tuples Problem
Rules:

pred(s(z0)) → z0 10.66/3.10
minus(z0, 0) → z0 10.66/3.10
minus(z0, s(z1)) → pred(minus(z0, z1)) 10.66/3.10
quot(0, s(z0)) → 0 10.66/3.10
quot(s(z0), s(z1)) → s(quot(minus(z0, z1), s(z1))) 10.66/3.10
log(s(0)) → 0 10.66/3.10
log(s(s(z0))) → s(log(s(quot(z0, s(s(0))))))
Tuples:

QUOT(s(z0), s(z1)) → c4(QUOT(minus(z0, z1), s(z1)), MINUS(z0, z1)) 10.66/3.10
LOG(s(s(z0))) → c6(LOG(s(quot(z0, s(s(0))))), QUOT(z0, s(s(0)))) 10.66/3.10
MINUS(z0, s(z1)) → c2(MINUS(z0, z1))
S tuples:

QUOT(s(z0), s(z1)) → c4(QUOT(minus(z0, z1), s(z1)), MINUS(z0, z1)) 10.66/3.10
MINUS(z0, s(z1)) → c2(MINUS(z0, z1))
K tuples:

LOG(s(s(z0))) → c6(LOG(s(quot(z0, s(s(0))))), QUOT(z0, s(s(0))))
Defined Rule Symbols:

pred, minus, quot, log

Defined Pair Symbols:

QUOT, LOG, MINUS

Compound Symbols:

c4, c6, c2

10.66/3.10
10.66/3.10

(7) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^2))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

QUOT(s(z0), s(z1)) → c4(QUOT(minus(z0, z1), s(z1)), MINUS(z0, z1))
We considered the (Usable) Rules:

quot(0, s(z0)) → 0 10.66/3.10
quot(s(z0), s(z1)) → s(quot(minus(z0, z1), s(z1))) 10.66/3.10
minus(z0, 0) → z0 10.66/3.10
minus(z0, s(z1)) → pred(minus(z0, z1)) 10.66/3.10
pred(s(z0)) → z0
And the Tuples:

QUOT(s(z0), s(z1)) → c4(QUOT(minus(z0, z1), s(z1)), MINUS(z0, z1)) 10.66/3.10
LOG(s(s(z0))) → c6(LOG(s(quot(z0, s(s(0))))), QUOT(z0, s(s(0)))) 10.66/3.10
MINUS(z0, s(z1)) → c2(MINUS(z0, z1))
The order we found is given by the following interpretation:
Polynomial interpretation : 10.66/3.10

POL(0) = 0    10.66/3.10
POL(LOG(x1)) = [3]x1 + x12    10.66/3.10
POL(MINUS(x1, x2)) = 0    10.66/3.10
POL(QUOT(x1, x2)) = x1    10.66/3.10
POL(c2(x1)) = x1    10.66/3.10
POL(c4(x1, x2)) = x1 + x2    10.66/3.10
POL(c6(x1, x2)) = x1 + x2    10.66/3.10
POL(minus(x1, x2)) = x1    10.66/3.10
POL(pred(x1)) = x1    10.66/3.10
POL(quot(x1, x2)) = x1    10.66/3.10
POL(s(x1)) = [1] + x1   
10.66/3.10
10.66/3.10

(8) Obligation:

Complexity Dependency Tuples Problem
Rules:

pred(s(z0)) → z0 10.66/3.10
minus(z0, 0) → z0 10.66/3.10
minus(z0, s(z1)) → pred(minus(z0, z1)) 10.66/3.10
quot(0, s(z0)) → 0 10.66/3.10
quot(s(z0), s(z1)) → s(quot(minus(z0, z1), s(z1))) 10.66/3.10
log(s(0)) → 0 10.66/3.10
log(s(s(z0))) → s(log(s(quot(z0, s(s(0))))))
Tuples:

QUOT(s(z0), s(z1)) → c4(QUOT(minus(z0, z1), s(z1)), MINUS(z0, z1)) 10.66/3.10
LOG(s(s(z0))) → c6(LOG(s(quot(z0, s(s(0))))), QUOT(z0, s(s(0)))) 10.66/3.10
MINUS(z0, s(z1)) → c2(MINUS(z0, z1))
S tuples:

MINUS(z0, s(z1)) → c2(MINUS(z0, z1))
K tuples:

LOG(s(s(z0))) → c6(LOG(s(quot(z0, s(s(0))))), QUOT(z0, s(s(0)))) 10.66/3.10
QUOT(s(z0), s(z1)) → c4(QUOT(minus(z0, z1), s(z1)), MINUS(z0, z1))
Defined Rule Symbols:

pred, minus, quot, log

Defined Pair Symbols:

QUOT, LOG, MINUS

Compound Symbols:

c4, c6, c2

10.66/3.10
10.66/3.10

(9) CdtPolyRedPairProof (UPPER BOUND (ADD(O(n^2))) transformation)

Found a reduction pair which oriented the following tuples strictly. Hence they can be removed from S.

MINUS(z0, s(z1)) → c2(MINUS(z0, z1))
We considered the (Usable) Rules:

quot(0, s(z0)) → 0 10.66/3.10
quot(s(z0), s(z1)) → s(quot(minus(z0, z1), s(z1))) 10.66/3.10
minus(z0, 0) → z0 10.66/3.10
minus(z0, s(z1)) → pred(minus(z0, z1)) 10.66/3.10
pred(s(z0)) → z0
And the Tuples:

QUOT(s(z0), s(z1)) → c4(QUOT(minus(z0, z1), s(z1)), MINUS(z0, z1)) 10.66/3.10
LOG(s(s(z0))) → c6(LOG(s(quot(z0, s(s(0))))), QUOT(z0, s(s(0)))) 10.66/3.10
MINUS(z0, s(z1)) → c2(MINUS(z0, z1))
The order we found is given by the following interpretation:
Polynomial interpretation : 10.66/3.10

POL(0) = 0    10.66/3.10
POL(LOG(x1)) = [2]x12    10.66/3.10
POL(MINUS(x1, x2)) = x2    10.66/3.10
POL(QUOT(x1, x2)) = x22 + x1·x2    10.66/3.10
POL(c2(x1)) = x1    10.66/3.10
POL(c4(x1, x2)) = x1 + x2    10.66/3.10
POL(c6(x1, x2)) = x1 + x2    10.66/3.10
POL(minus(x1, x2)) = x1    10.66/3.10
POL(pred(x1)) = x1    10.66/3.10
POL(quot(x1, x2)) = x1    10.66/3.10
POL(s(x1)) = [1] + x1   
10.66/3.10
10.66/3.10

(10) Obligation:

Complexity Dependency Tuples Problem
Rules:

pred(s(z0)) → z0 10.66/3.10
minus(z0, 0) → z0 10.66/3.10
minus(z0, s(z1)) → pred(minus(z0, z1)) 10.66/3.10
quot(0, s(z0)) → 0 10.66/3.10
quot(s(z0), s(z1)) → s(quot(minus(z0, z1), s(z1))) 10.66/3.10
log(s(0)) → 0 10.66/3.10
log(s(s(z0))) → s(log(s(quot(z0, s(s(0))))))
Tuples:

QUOT(s(z0), s(z1)) → c4(QUOT(minus(z0, z1), s(z1)), MINUS(z0, z1)) 10.66/3.10
LOG(s(s(z0))) → c6(LOG(s(quot(z0, s(s(0))))), QUOT(z0, s(s(0)))) 10.66/3.10
MINUS(z0, s(z1)) → c2(MINUS(z0, z1))
S tuples:none
K tuples:

LOG(s(s(z0))) → c6(LOG(s(quot(z0, s(s(0))))), QUOT(z0, s(s(0)))) 10.66/3.10
QUOT(s(z0), s(z1)) → c4(QUOT(minus(z0, z1), s(z1)), MINUS(z0, z1)) 10.66/3.10
MINUS(z0, s(z1)) → c2(MINUS(z0, z1))
Defined Rule Symbols:

pred, minus, quot, log

Defined Pair Symbols:

QUOT, LOG, MINUS

Compound Symbols:

c4, c6, c2

10.66/3.10
10.66/3.10

(11) SIsEmptyProof (BOTH BOUNDS(ID, ID) transformation)

The set S is empty
10.66/3.10
10.66/3.10

(12) BOUNDS(O(1), O(1))

10.66/3.10
10.66/3.10
10.66/3.20 EOF