(0) Obligation:
Runtime Complexity TRS:
The TRS R consists of the following rules:
.(1, x) → x
.(x, 1) → x
.(i(x), x) → 1
.(x, i(x)) → 1
i(1) → 1
i(i(x)) → x
.(i(y), .(y, z)) → z
.(y, .(i(y), z)) → z
.(.(x, y), z) → .(x, .(y, z))
i(.(x, y)) → .(i(y), i(x))
Rewrite Strategy: INNERMOST
(1) CpxTrsToCdtProof (BOTH BOUNDS(ID, ID) transformation)
Converted CpxTRS to CDT
(2) Obligation:
Complexity Dependency Tuples Problem
Rules:
.(1, z0) → z0
.(z0, 1) → z0
.(i(z0), z0) → 1
.(z0, i(z0)) → 1
.(i(z0), .(z0, z1)) → z1
.(z0, .(i(z0), z1)) → z1
.(.(z0, z1), z2) → .(z0, .(z1, z2))
i(1) → 1
i(i(z0)) → z0
i(.(z0, z1)) → .(i(z1), i(z0))
Tuples:
.'(.(z0, z1), z2) → c6(.'(z0, .(z1, z2)), .'(z1, z2))
I(.(z0, z1)) → c9(.'(i(z1), i(z0)), I(z1), I(z0))
S tuples:
.'(.(z0, z1), z2) → c6(.'(z0, .(z1, z2)), .'(z1, z2))
I(.(z0, z1)) → c9(.'(i(z1), i(z0)), I(z1), I(z0))
K tuples:none
Defined Rule Symbols:
., i
Defined Pair Symbols:
.', I
Compound Symbols:
c6, c9
(3) 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.
I(.(z0, z1)) → c9(.'(i(z1), i(z0)), I(z1), I(z0))
We considered the (Usable) Rules:
i(i(z0)) → z0
i(.(z0, z1)) → .(i(z1), i(z0))
.(1, z0) → z0
.(z0, 1) → z0
.(i(z0), z0) → 1
.(z0, i(z0)) → 1
.(i(z0), .(z0, z1)) → z1
.(z0, .(i(z0), z1)) → z1
.(.(z0, z1), z2) → .(z0, .(z1, z2))
And the Tuples:
.'(.(z0, z1), z2) → c6(.'(z0, .(z1, z2)), .'(z1, z2))
I(.(z0, z1)) → c9(.'(i(z1), i(z0)), I(z1), I(z0))
The order we found is given by the following interpretation:
Polynomial interpretation :
POL(.(x1, x2)) = [3] + [4]x1 + [4]x2
POL(.'(x1, x2)) = 0
POL(1) = [2]
POL(I(x1)) = x1
POL(c6(x1, x2)) = x1 + x2
POL(c9(x1, x2, x3)) = x1 + x2 + x3
POL(i(x1)) = [1] + [5]x1
(4) Obligation:
Complexity Dependency Tuples Problem
Rules:
.(1, z0) → z0
.(z0, 1) → z0
.(i(z0), z0) → 1
.(z0, i(z0)) → 1
.(i(z0), .(z0, z1)) → z1
.(z0, .(i(z0), z1)) → z1
.(.(z0, z1), z2) → .(z0, .(z1, z2))
i(1) → 1
i(i(z0)) → z0
i(.(z0, z1)) → .(i(z1), i(z0))
Tuples:
.'(.(z0, z1), z2) → c6(.'(z0, .(z1, z2)), .'(z1, z2))
I(.(z0, z1)) → c9(.'(i(z1), i(z0)), I(z1), I(z0))
S tuples:
.'(.(z0, z1), z2) → c6(.'(z0, .(z1, z2)), .'(z1, z2))
K tuples:
I(.(z0, z1)) → c9(.'(i(z1), i(z0)), I(z1), I(z0))
Defined Rule Symbols:
., i
Defined Pair Symbols:
.', I
Compound Symbols:
c6, c9
(5) 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.
.'(.(z0, z1), z2) → c6(.'(z0, .(z1, z2)), .'(z1, z2))
We considered the (Usable) Rules:
i(i(z0)) → z0
i(.(z0, z1)) → .(i(z1), i(z0))
.(1, z0) → z0
.(z0, 1) → z0
.(i(z0), z0) → 1
.(z0, i(z0)) → 1
.(i(z0), .(z0, z1)) → z1
.(z0, .(i(z0), z1)) → z1
.(.(z0, z1), z2) → .(z0, .(z1, z2))
And the Tuples:
.'(.(z0, z1), z2) → c6(.'(z0, .(z1, z2)), .'(z1, z2))
I(.(z0, z1)) → c9(.'(i(z1), i(z0)), I(z1), I(z0))
The order we found is given by the following interpretation:
Polynomial interpretation :
POL(.(x1, x2)) = [2] + [2]x1 + [2]x2 + x1·x2
POL(.'(x1, x2)) = [2]x12
POL(1) = 0
POL(I(x1)) = [1] + x12
POL(c6(x1, x2)) = x1 + x2
POL(c9(x1, x2, x3)) = x1 + x2 + x3
POL(i(x1)) = x1
(6) Obligation:
Complexity Dependency Tuples Problem
Rules:
.(1, z0) → z0
.(z0, 1) → z0
.(i(z0), z0) → 1
.(z0, i(z0)) → 1
.(i(z0), .(z0, z1)) → z1
.(z0, .(i(z0), z1)) → z1
.(.(z0, z1), z2) → .(z0, .(z1, z2))
i(1) → 1
i(i(z0)) → z0
i(.(z0, z1)) → .(i(z1), i(z0))
Tuples:
.'(.(z0, z1), z2) → c6(.'(z0, .(z1, z2)), .'(z1, z2))
I(.(z0, z1)) → c9(.'(i(z1), i(z0)), I(z1), I(z0))
S tuples:none
K tuples:
I(.(z0, z1)) → c9(.'(i(z1), i(z0)), I(z1), I(z0))
.'(.(z0, z1), z2) → c6(.'(z0, .(z1, z2)), .'(z1, z2))
Defined Rule Symbols:
., i
Defined Pair Symbols:
.', I
Compound Symbols:
c6, c9
(7) SIsEmptyProof (EQUIVALENT transformation)
The set S is empty
(8) BOUNDS(O(1), O(1))