/export/starexec/sandbox2/solver/bin/starexec_run_standard /export/starexec/sandbox2/benchmark/theBenchmark.xml /export/starexec/sandbox2/output/output_files
--------------------------------------------------------------------------------
YES
proof of /export/starexec/sandbox2/benchmark/theBenchmark.xml
# AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty
Termination w.r.t. Q of the given QTRS could be proven:
(0) QTRS
(1) DependencyPairsProof [EQUIVALENT, 0 ms]
(2) QDP
(3) DependencyGraphProof [EQUIVALENT, 0 ms]
(4) AND
(5) QDP
(6) UsableRulesProof [EQUIVALENT, 0 ms]
(7) QDP
(8) QDPSizeChangeProof [EQUIVALENT, 0 ms]
(9) YES
(10) QDP
(11) UsableRulesProof [EQUIVALENT, 0 ms]
(12) QDP
(13) QDPSizeChangeProof [EQUIVALENT, 0 ms]
(14) YES
(15) QDP
(16) UsableRulesProof [EQUIVALENT, 0 ms]
(17) QDP
(18) QDPSizeChangeProof [EQUIVALENT, 0 ms]
(19) YES
(20) QDP
(21) UsableRulesReductionPairsProof [EQUIVALENT, 28 ms]
(22) QDP
(23) TransformationProof [EQUIVALENT, 0 ms]
(24) QDP
(25) DependencyGraphProof [EQUIVALENT, 0 ms]
(26) QDP
(27) TransformationProof [EQUIVALENT, 0 ms]
(28) QDP
(29) DependencyGraphProof [EQUIVALENT, 0 ms]
(30) QDP
(31) SemLabProof [SOUND, 13.0 s]
(32) QDP
(33) DependencyGraphProof [EQUIVALENT, 0 ms]
(34) QDP
(35) QDPOrderProof [EQUIVALENT, 0 ms]
(36) QDP
(37) QDPOrderProof [EQUIVALENT, 15 ms]
(38) QDP
(39) QDPOrderProof [EQUIVALENT, 0 ms]
(40) QDP
(41) QDPOrderProof [EQUIVALENT, 18 ms]
(42) QDP
(43) QDPOrderProof [EQUIVALENT, 0 ms]
(44) QDP
(45) QDPOrderProof [EQUIVALENT, 4 ms]
(46) QDP
(47) PisEmptyProof [EQUIVALENT, 0 ms]
(48) YES
----------------------------------------
(0)
Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:
active(f(b, c, x)) -> mark(f(x, x, x))
active(f(x, y, z)) -> f(x, y, active(z))
active(d) -> m(b)
f(x, y, mark(z)) -> mark(f(x, y, z))
active(d) -> mark(c)
proper(b) -> ok(b)
proper(c) -> ok(c)
proper(d) -> ok(d)
proper(f(x, y, z)) -> f(proper(x), proper(y), proper(z))
f(ok(x), ok(y), ok(z)) -> ok(f(x, y, z))
top(mark(x)) -> top(proper(x))
top(ok(x)) -> top(active(x))
Q is empty.
----------------------------------------
(1) DependencyPairsProof (EQUIVALENT)
Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem.
----------------------------------------
(2)
Obligation:
Q DP problem:
The TRS P consists of the following rules:
ACTIVE(f(b, c, x)) -> F(x, x, x)
ACTIVE(f(x, y, z)) -> F(x, y, active(z))
ACTIVE(f(x, y, z)) -> ACTIVE(z)
F(x, y, mark(z)) -> F(x, y, z)
PROPER(f(x, y, z)) -> F(proper(x), proper(y), proper(z))
PROPER(f(x, y, z)) -> PROPER(x)
PROPER(f(x, y, z)) -> PROPER(y)
PROPER(f(x, y, z)) -> PROPER(z)
F(ok(x), ok(y), ok(z)) -> F(x, y, z)
TOP(mark(x)) -> TOP(proper(x))
TOP(mark(x)) -> PROPER(x)
TOP(ok(x)) -> TOP(active(x))
TOP(ok(x)) -> ACTIVE(x)
The TRS R consists of the following rules:
active(f(b, c, x)) -> mark(f(x, x, x))
active(f(x, y, z)) -> f(x, y, active(z))
active(d) -> m(b)
f(x, y, mark(z)) -> mark(f(x, y, z))
active(d) -> mark(c)
proper(b) -> ok(b)
proper(c) -> ok(c)
proper(d) -> ok(d)
proper(f(x, y, z)) -> f(proper(x), proper(y), proper(z))
f(ok(x), ok(y), ok(z)) -> ok(f(x, y, z))
top(mark(x)) -> top(proper(x))
top(ok(x)) -> top(active(x))
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
----------------------------------------
(3) DependencyGraphProof (EQUIVALENT)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 4 SCCs with 5 less nodes.
----------------------------------------
(4)
Complex Obligation (AND)
----------------------------------------
(5)
Obligation:
Q DP problem:
The TRS P consists of the following rules:
F(ok(x), ok(y), ok(z)) -> F(x, y, z)
F(x, y, mark(z)) -> F(x, y, z)
The TRS R consists of the following rules:
active(f(b, c, x)) -> mark(f(x, x, x))
active(f(x, y, z)) -> f(x, y, active(z))
active(d) -> m(b)
f(x, y, mark(z)) -> mark(f(x, y, z))
active(d) -> mark(c)
proper(b) -> ok(b)
proper(c) -> ok(c)
proper(d) -> ok(d)
proper(f(x, y, z)) -> f(proper(x), proper(y), proper(z))
f(ok(x), ok(y), ok(z)) -> ok(f(x, y, z))
top(mark(x)) -> top(proper(x))
top(ok(x)) -> top(active(x))
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
----------------------------------------
(6) UsableRulesProof (EQUIVALENT)
We can use the usable rules and reduction pair processor [LPAR04] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its arguments. Then, we can delete all non-usable rules [FROCOS05] from R.
----------------------------------------
(7)
Obligation:
Q DP problem:
The TRS P consists of the following rules:
F(ok(x), ok(y), ok(z)) -> F(x, y, z)
F(x, y, mark(z)) -> F(x, y, z)
R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
----------------------------------------
(8) QDPSizeChangeProof (EQUIVALENT)
By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.
From the DPs we obtained the following set of size-change graphs:
*F(ok(x), ok(y), ok(z)) -> F(x, y, z)
The graph contains the following edges 1 > 1, 2 > 2, 3 > 3
*F(x, y, mark(z)) -> F(x, y, z)
The graph contains the following edges 1 >= 1, 2 >= 2, 3 > 3
----------------------------------------
(9)
YES
----------------------------------------
(10)
Obligation:
Q DP problem:
The TRS P consists of the following rules:
PROPER(f(x, y, z)) -> PROPER(y)
PROPER(f(x, y, z)) -> PROPER(x)
PROPER(f(x, y, z)) -> PROPER(z)
The TRS R consists of the following rules:
active(f(b, c, x)) -> mark(f(x, x, x))
active(f(x, y, z)) -> f(x, y, active(z))
active(d) -> m(b)
f(x, y, mark(z)) -> mark(f(x, y, z))
active(d) -> mark(c)
proper(b) -> ok(b)
proper(c) -> ok(c)
proper(d) -> ok(d)
proper(f(x, y, z)) -> f(proper(x), proper(y), proper(z))
f(ok(x), ok(y), ok(z)) -> ok(f(x, y, z))
top(mark(x)) -> top(proper(x))
top(ok(x)) -> top(active(x))
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
----------------------------------------
(11) UsableRulesProof (EQUIVALENT)
We can use the usable rules and reduction pair processor [LPAR04] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its arguments. Then, we can delete all non-usable rules [FROCOS05] from R.
----------------------------------------
(12)
Obligation:
Q DP problem:
The TRS P consists of the following rules:
PROPER(f(x, y, z)) -> PROPER(y)
PROPER(f(x, y, z)) -> PROPER(x)
PROPER(f(x, y, z)) -> PROPER(z)
R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
----------------------------------------
(13) QDPSizeChangeProof (EQUIVALENT)
By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.
From the DPs we obtained the following set of size-change graphs:
*PROPER(f(x, y, z)) -> PROPER(y)
The graph contains the following edges 1 > 1
*PROPER(f(x, y, z)) -> PROPER(x)
The graph contains the following edges 1 > 1
*PROPER(f(x, y, z)) -> PROPER(z)
The graph contains the following edges 1 > 1
----------------------------------------
(14)
YES
----------------------------------------
(15)
Obligation:
Q DP problem:
The TRS P consists of the following rules:
ACTIVE(f(x, y, z)) -> ACTIVE(z)
The TRS R consists of the following rules:
active(f(b, c, x)) -> mark(f(x, x, x))
active(f(x, y, z)) -> f(x, y, active(z))
active(d) -> m(b)
f(x, y, mark(z)) -> mark(f(x, y, z))
active(d) -> mark(c)
proper(b) -> ok(b)
proper(c) -> ok(c)
proper(d) -> ok(d)
proper(f(x, y, z)) -> f(proper(x), proper(y), proper(z))
f(ok(x), ok(y), ok(z)) -> ok(f(x, y, z))
top(mark(x)) -> top(proper(x))
top(ok(x)) -> top(active(x))
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
----------------------------------------
(16) UsableRulesProof (EQUIVALENT)
We can use the usable rules and reduction pair processor [LPAR04] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its arguments. Then, we can delete all non-usable rules [FROCOS05] from R.
----------------------------------------
(17)
Obligation:
Q DP problem:
The TRS P consists of the following rules:
ACTIVE(f(x, y, z)) -> ACTIVE(z)
R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
----------------------------------------
(18) QDPSizeChangeProof (EQUIVALENT)
By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.
From the DPs we obtained the following set of size-change graphs:
*ACTIVE(f(x, y, z)) -> ACTIVE(z)
The graph contains the following edges 1 > 1
----------------------------------------
(19)
YES
----------------------------------------
(20)
Obligation:
Q DP problem:
The TRS P consists of the following rules:
TOP(ok(x)) -> TOP(active(x))
TOP(mark(x)) -> TOP(proper(x))
The TRS R consists of the following rules:
active(f(b, c, x)) -> mark(f(x, x, x))
active(f(x, y, z)) -> f(x, y, active(z))
active(d) -> m(b)
f(x, y, mark(z)) -> mark(f(x, y, z))
active(d) -> mark(c)
proper(b) -> ok(b)
proper(c) -> ok(c)
proper(d) -> ok(d)
proper(f(x, y, z)) -> f(proper(x), proper(y), proper(z))
f(ok(x), ok(y), ok(z)) -> ok(f(x, y, z))
top(mark(x)) -> top(proper(x))
top(ok(x)) -> top(active(x))
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
----------------------------------------
(21) UsableRulesReductionPairsProof (EQUIVALENT)
By using the usable rules with reduction pair processor [LPAR04] with a polynomial ordering [POLO], all dependency pairs and the corresponding usable rules [FROCOS05] can be oriented non-strictly. All non-usable rules are removed, and those dependency pairs and usable rules that have been oriented strictly or contain non-usable symbols in their left-hand side are removed as well.
No dependency pairs are removed.
The following rules are removed from R:
top(mark(x)) -> top(proper(x))
top(ok(x)) -> top(active(x))
Used ordering: POLO with Polynomial interpretation [POLO]:
POL(TOP(x_1)) = x_1
POL(active(x_1)) = 2*x_1
POL(b) = 0
POL(c) = 0
POL(d) = 0
POL(f(x_1, x_2, x_3)) = x_1 + x_2 + 2*x_3
POL(m(x_1)) = 2*x_1
POL(mark(x_1)) = x_1
POL(ok(x_1)) = 2*x_1
POL(proper(x_1)) = x_1
----------------------------------------
(22)
Obligation:
Q DP problem:
The TRS P consists of the following rules:
TOP(ok(x)) -> TOP(active(x))
TOP(mark(x)) -> TOP(proper(x))
The TRS R consists of the following rules:
proper(b) -> ok(b)
proper(c) -> ok(c)
proper(d) -> ok(d)
proper(f(x, y, z)) -> f(proper(x), proper(y), proper(z))
f(x, y, mark(z)) -> mark(f(x, y, z))
f(ok(x), ok(y), ok(z)) -> ok(f(x, y, z))
active(f(b, c, x)) -> mark(f(x, x, x))
active(f(x, y, z)) -> f(x, y, active(z))
active(d) -> m(b)
active(d) -> mark(c)
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
----------------------------------------
(23) TransformationProof (EQUIVALENT)
By narrowing [LPAR04] the rule TOP(ok(x)) -> TOP(active(x)) at position [0] we obtained the following new rules [LPAR04]:
(TOP(ok(f(b, c, x0))) -> TOP(mark(f(x0, x0, x0))),TOP(ok(f(b, c, x0))) -> TOP(mark(f(x0, x0, x0))))
(TOP(ok(f(x0, x1, x2))) -> TOP(f(x0, x1, active(x2))),TOP(ok(f(x0, x1, x2))) -> TOP(f(x0, x1, active(x2))))
(TOP(ok(d)) -> TOP(m(b)),TOP(ok(d)) -> TOP(m(b)))
(TOP(ok(d)) -> TOP(mark(c)),TOP(ok(d)) -> TOP(mark(c)))
----------------------------------------
(24)
Obligation:
Q DP problem:
The TRS P consists of the following rules:
TOP(mark(x)) -> TOP(proper(x))
TOP(ok(f(b, c, x0))) -> TOP(mark(f(x0, x0, x0)))
TOP(ok(f(x0, x1, x2))) -> TOP(f(x0, x1, active(x2)))
TOP(ok(d)) -> TOP(m(b))
TOP(ok(d)) -> TOP(mark(c))
The TRS R consists of the following rules:
proper(b) -> ok(b)
proper(c) -> ok(c)
proper(d) -> ok(d)
proper(f(x, y, z)) -> f(proper(x), proper(y), proper(z))
f(x, y, mark(z)) -> mark(f(x, y, z))
f(ok(x), ok(y), ok(z)) -> ok(f(x, y, z))
active(f(b, c, x)) -> mark(f(x, x, x))
active(f(x, y, z)) -> f(x, y, active(z))
active(d) -> m(b)
active(d) -> mark(c)
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
----------------------------------------
(25) DependencyGraphProof (EQUIVALENT)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node.
----------------------------------------
(26)
Obligation:
Q DP problem:
The TRS P consists of the following rules:
TOP(mark(x)) -> TOP(proper(x))
TOP(ok(f(b, c, x0))) -> TOP(mark(f(x0, x0, x0)))
TOP(ok(f(x0, x1, x2))) -> TOP(f(x0, x1, active(x2)))
TOP(ok(d)) -> TOP(mark(c))
The TRS R consists of the following rules:
proper(b) -> ok(b)
proper(c) -> ok(c)
proper(d) -> ok(d)
proper(f(x, y, z)) -> f(proper(x), proper(y), proper(z))
f(x, y, mark(z)) -> mark(f(x, y, z))
f(ok(x), ok(y), ok(z)) -> ok(f(x, y, z))
active(f(b, c, x)) -> mark(f(x, x, x))
active(f(x, y, z)) -> f(x, y, active(z))
active(d) -> m(b)
active(d) -> mark(c)
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
----------------------------------------
(27) TransformationProof (EQUIVALENT)
By narrowing [LPAR04] the rule TOP(mark(x)) -> TOP(proper(x)) at position [0] we obtained the following new rules [LPAR04]:
(TOP(mark(b)) -> TOP(ok(b)),TOP(mark(b)) -> TOP(ok(b)))
(TOP(mark(c)) -> TOP(ok(c)),TOP(mark(c)) -> TOP(ok(c)))
(TOP(mark(d)) -> TOP(ok(d)),TOP(mark(d)) -> TOP(ok(d)))
(TOP(mark(f(x0, x1, x2))) -> TOP(f(proper(x0), proper(x1), proper(x2))),TOP(mark(f(x0, x1, x2))) -> TOP(f(proper(x0), proper(x1), proper(x2))))
----------------------------------------
(28)
Obligation:
Q DP problem:
The TRS P consists of the following rules:
TOP(ok(f(b, c, x0))) -> TOP(mark(f(x0, x0, x0)))
TOP(ok(f(x0, x1, x2))) -> TOP(f(x0, x1, active(x2)))
TOP(ok(d)) -> TOP(mark(c))
TOP(mark(b)) -> TOP(ok(b))
TOP(mark(c)) -> TOP(ok(c))
TOP(mark(d)) -> TOP(ok(d))
TOP(mark(f(x0, x1, x2))) -> TOP(f(proper(x0), proper(x1), proper(x2)))
The TRS R consists of the following rules:
proper(b) -> ok(b)
proper(c) -> ok(c)
proper(d) -> ok(d)
proper(f(x, y, z)) -> f(proper(x), proper(y), proper(z))
f(x, y, mark(z)) -> mark(f(x, y, z))
f(ok(x), ok(y), ok(z)) -> ok(f(x, y, z))
active(f(b, c, x)) -> mark(f(x, x, x))
active(f(x, y, z)) -> f(x, y, active(z))
active(d) -> m(b)
active(d) -> mark(c)
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
----------------------------------------
(29) DependencyGraphProof (EQUIVALENT)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 4 less nodes.
----------------------------------------
(30)
Obligation:
Q DP problem:
The TRS P consists of the following rules:
TOP(mark(f(x0, x1, x2))) -> TOP(f(proper(x0), proper(x1), proper(x2)))
TOP(ok(f(b, c, x0))) -> TOP(mark(f(x0, x0, x0)))
TOP(ok(f(x0, x1, x2))) -> TOP(f(x0, x1, active(x2)))
The TRS R consists of the following rules:
proper(b) -> ok(b)
proper(c) -> ok(c)
proper(d) -> ok(d)
proper(f(x, y, z)) -> f(proper(x), proper(y), proper(z))
f(x, y, mark(z)) -> mark(f(x, y, z))
f(ok(x), ok(y), ok(z)) -> ok(f(x, y, z))
active(f(b, c, x)) -> mark(f(x, x, x))
active(f(x, y, z)) -> f(x, y, active(z))
active(d) -> m(b)
active(d) -> mark(c)
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
----------------------------------------
(31) SemLabProof (SOUND)
We found the following model for the rules of the TRSs R and P.
Interpretation over the domain with elements from 0 to 1.
active: 0
b: 1
c: 0
d: 0
proper: x0
f: 0
m: 0
TOP: 0
ok: x0
mark: 0
By semantic labelling [SEMLAB] we obtain the following labelled QDP problem.
----------------------------------------
(32)
Obligation:
Q DP problem:
The TRS P consists of the following rules:
TOP.0(mark.0(f.0-0-0(x0, x1, x2))) -> TOP.0(f.0-0-0(proper.0(x0), proper.0(x1), proper.0(x2)))
TOP.0(ok.0(f.1-0-0(b., c., x0))) -> TOP.0(mark.0(f.0-0-0(x0, x0, x0)))
TOP.0(ok.0(f.1-0-1(b., c., x0))) -> TOP.0(mark.0(f.1-1-1(x0, x0, x0)))
TOP.0(mark.0(f.0-0-1(x0, x1, x2))) -> TOP.0(f.0-0-1(proper.0(x0), proper.0(x1), proper.1(x2)))
TOP.0(mark.0(f.0-1-0(x0, x1, x2))) -> TOP.0(f.0-1-0(proper.0(x0), proper.1(x1), proper.0(x2)))
TOP.0(mark.0(f.0-1-1(x0, x1, x2))) -> TOP.0(f.0-1-1(proper.0(x0), proper.1(x1), proper.1(x2)))
TOP.0(mark.0(f.1-0-0(x0, x1, x2))) -> TOP.0(f.1-0-0(proper.1(x0), proper.0(x1), proper.0(x2)))
TOP.0(mark.0(f.1-0-1(x0, x1, x2))) -> TOP.0(f.1-0-1(proper.1(x0), proper.0(x1), proper.1(x2)))
TOP.0(mark.0(f.1-1-0(x0, x1, x2))) -> TOP.0(f.1-1-0(proper.1(x0), proper.1(x1), proper.0(x2)))
TOP.0(mark.0(f.1-1-1(x0, x1, x2))) -> TOP.0(f.1-1-1(proper.1(x0), proper.1(x1), proper.1(x2)))
TOP.0(ok.0(f.0-0-0(x0, x1, x2))) -> TOP.0(f.0-0-0(x0, x1, active.0(x2)))
TOP.0(ok.0(f.0-0-1(x0, x1, x2))) -> TOP.0(f.0-0-0(x0, x1, active.1(x2)))
TOP.0(ok.0(f.0-1-0(x0, x1, x2))) -> TOP.0(f.0-1-0(x0, x1, active.0(x2)))
TOP.0(ok.0(f.0-1-1(x0, x1, x2))) -> TOP.0(f.0-1-0(x0, x1, active.1(x2)))
TOP.0(ok.0(f.1-0-0(x0, x1, x2))) -> TOP.0(f.1-0-0(x0, x1, active.0(x2)))
TOP.0(ok.0(f.1-0-1(x0, x1, x2))) -> TOP.0(f.1-0-0(x0, x1, active.1(x2)))
TOP.0(ok.0(f.1-1-0(x0, x1, x2))) -> TOP.0(f.1-1-0(x0, x1, active.0(x2)))
TOP.0(ok.0(f.1-1-1(x0, x1, x2))) -> TOP.0(f.1-1-0(x0, x1, active.1(x2)))
The TRS R consists of the following rules:
proper.1(b.) -> ok.1(b.)
proper.0(c.) -> ok.0(c.)
proper.0(d.) -> ok.0(d.)
proper.0(f.0-0-0(x, y, z)) -> f.0-0-0(proper.0(x), proper.0(y), proper.0(z))
proper.0(f.0-0-1(x, y, z)) -> f.0-0-1(proper.0(x), proper.0(y), proper.1(z))
proper.0(f.0-1-0(x, y, z)) -> f.0-1-0(proper.0(x), proper.1(y), proper.0(z))
proper.0(f.0-1-1(x, y, z)) -> f.0-1-1(proper.0(x), proper.1(y), proper.1(z))
proper.0(f.1-0-0(x, y, z)) -> f.1-0-0(proper.1(x), proper.0(y), proper.0(z))
proper.0(f.1-0-1(x, y, z)) -> f.1-0-1(proper.1(x), proper.0(y), proper.1(z))
proper.0(f.1-1-0(x, y, z)) -> f.1-1-0(proper.1(x), proper.1(y), proper.0(z))
proper.0(f.1-1-1(x, y, z)) -> f.1-1-1(proper.1(x), proper.1(y), proper.1(z))
f.0-0-0(x, y, mark.0(z)) -> mark.0(f.0-0-0(x, y, z))
f.0-0-0(x, y, mark.1(z)) -> mark.0(f.0-0-1(x, y, z))
f.0-1-0(x, y, mark.0(z)) -> mark.0(f.0-1-0(x, y, z))
f.0-1-0(x, y, mark.1(z)) -> mark.0(f.0-1-1(x, y, z))
f.1-0-0(x, y, mark.0(z)) -> mark.0(f.1-0-0(x, y, z))
f.1-0-0(x, y, mark.1(z)) -> mark.0(f.1-0-1(x, y, z))
f.1-1-0(x, y, mark.0(z)) -> mark.0(f.1-1-0(x, y, z))
f.1-1-0(x, y, mark.1(z)) -> mark.0(f.1-1-1(x, y, z))
f.0-0-0(ok.0(x), ok.0(y), ok.0(z)) -> ok.0(f.0-0-0(x, y, z))
f.0-0-1(ok.0(x), ok.0(y), ok.1(z)) -> ok.0(f.0-0-1(x, y, z))
f.0-1-0(ok.0(x), ok.1(y), ok.0(z)) -> ok.0(f.0-1-0(x, y, z))
f.0-1-1(ok.0(x), ok.1(y), ok.1(z)) -> ok.0(f.0-1-1(x, y, z))
f.1-0-0(ok.1(x), ok.0(y), ok.0(z)) -> ok.0(f.1-0-0(x, y, z))
f.1-0-1(ok.1(x), ok.0(y), ok.1(z)) -> ok.0(f.1-0-1(x, y, z))
f.1-1-0(ok.1(x), ok.1(y), ok.0(z)) -> ok.0(f.1-1-0(x, y, z))
f.1-1-1(ok.1(x), ok.1(y), ok.1(z)) -> ok.0(f.1-1-1(x, y, z))
active.0(f.1-0-0(b., c., x)) -> mark.0(f.0-0-0(x, x, x))
active.0(f.1-0-1(b., c., x)) -> mark.0(f.1-1-1(x, x, x))
active.0(f.0-0-0(x, y, z)) -> f.0-0-0(x, y, active.0(z))
active.0(f.0-0-1(x, y, z)) -> f.0-0-0(x, y, active.1(z))
active.0(f.0-1-0(x, y, z)) -> f.0-1-0(x, y, active.0(z))
active.0(f.0-1-1(x, y, z)) -> f.0-1-0(x, y, active.1(z))
active.0(f.1-0-0(x, y, z)) -> f.1-0-0(x, y, active.0(z))
active.0(f.1-0-1(x, y, z)) -> f.1-0-0(x, y, active.1(z))
active.0(f.1-1-0(x, y, z)) -> f.1-1-0(x, y, active.0(z))
active.0(f.1-1-1(x, y, z)) -> f.1-1-0(x, y, active.1(z))
active.0(d.) -> m.1(b.)
active.0(d.) -> mark.0(c.)
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
----------------------------------------
(33) DependencyGraphProof (EQUIVALENT)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 4 less nodes.
----------------------------------------
(34)
Obligation:
Q DP problem:
The TRS P consists of the following rules:
TOP.0(ok.0(f.1-0-0(b., c., x0))) -> TOP.0(mark.0(f.0-0-0(x0, x0, x0)))
TOP.0(mark.0(f.0-0-0(x0, x1, x2))) -> TOP.0(f.0-0-0(proper.0(x0), proper.0(x1), proper.0(x2)))
TOP.0(ok.0(f.1-0-1(b., c., x0))) -> TOP.0(mark.0(f.1-1-1(x0, x0, x0)))
TOP.0(mark.0(f.0-0-1(x0, x1, x2))) -> TOP.0(f.0-0-1(proper.0(x0), proper.0(x1), proper.1(x2)))
TOP.0(ok.0(f.0-0-0(x0, x1, x2))) -> TOP.0(f.0-0-0(x0, x1, active.0(x2)))
TOP.0(ok.0(f.0-1-0(x0, x1, x2))) -> TOP.0(f.0-1-0(x0, x1, active.0(x2)))
TOP.0(ok.0(f.1-0-0(x0, x1, x2))) -> TOP.0(f.1-0-0(x0, x1, active.0(x2)))
TOP.0(ok.0(f.1-1-0(x0, x1, x2))) -> TOP.0(f.1-1-0(x0, x1, active.0(x2)))
TOP.0(mark.0(f.0-1-0(x0, x1, x2))) -> TOP.0(f.0-1-0(proper.0(x0), proper.1(x1), proper.0(x2)))
TOP.0(mark.0(f.0-1-1(x0, x1, x2))) -> TOP.0(f.0-1-1(proper.0(x0), proper.1(x1), proper.1(x2)))
TOP.0(mark.0(f.1-0-0(x0, x1, x2))) -> TOP.0(f.1-0-0(proper.1(x0), proper.0(x1), proper.0(x2)))
TOP.0(mark.0(f.1-0-1(x0, x1, x2))) -> TOP.0(f.1-0-1(proper.1(x0), proper.0(x1), proper.1(x2)))
TOP.0(mark.0(f.1-1-0(x0, x1, x2))) -> TOP.0(f.1-1-0(proper.1(x0), proper.1(x1), proper.0(x2)))
TOP.0(mark.0(f.1-1-1(x0, x1, x2))) -> TOP.0(f.1-1-1(proper.1(x0), proper.1(x1), proper.1(x2)))
The TRS R consists of the following rules:
proper.1(b.) -> ok.1(b.)
proper.0(c.) -> ok.0(c.)
proper.0(d.) -> ok.0(d.)
proper.0(f.0-0-0(x, y, z)) -> f.0-0-0(proper.0(x), proper.0(y), proper.0(z))
proper.0(f.0-0-1(x, y, z)) -> f.0-0-1(proper.0(x), proper.0(y), proper.1(z))
proper.0(f.0-1-0(x, y, z)) -> f.0-1-0(proper.0(x), proper.1(y), proper.0(z))
proper.0(f.0-1-1(x, y, z)) -> f.0-1-1(proper.0(x), proper.1(y), proper.1(z))
proper.0(f.1-0-0(x, y, z)) -> f.1-0-0(proper.1(x), proper.0(y), proper.0(z))
proper.0(f.1-0-1(x, y, z)) -> f.1-0-1(proper.1(x), proper.0(y), proper.1(z))
proper.0(f.1-1-0(x, y, z)) -> f.1-1-0(proper.1(x), proper.1(y), proper.0(z))
proper.0(f.1-1-1(x, y, z)) -> f.1-1-1(proper.1(x), proper.1(y), proper.1(z))
f.0-0-0(x, y, mark.0(z)) -> mark.0(f.0-0-0(x, y, z))
f.0-0-0(x, y, mark.1(z)) -> mark.0(f.0-0-1(x, y, z))
f.0-1-0(x, y, mark.0(z)) -> mark.0(f.0-1-0(x, y, z))
f.0-1-0(x, y, mark.1(z)) -> mark.0(f.0-1-1(x, y, z))
f.1-0-0(x, y, mark.0(z)) -> mark.0(f.1-0-0(x, y, z))
f.1-0-0(x, y, mark.1(z)) -> mark.0(f.1-0-1(x, y, z))
f.1-1-0(x, y, mark.0(z)) -> mark.0(f.1-1-0(x, y, z))
f.1-1-0(x, y, mark.1(z)) -> mark.0(f.1-1-1(x, y, z))
f.0-0-0(ok.0(x), ok.0(y), ok.0(z)) -> ok.0(f.0-0-0(x, y, z))
f.0-0-1(ok.0(x), ok.0(y), ok.1(z)) -> ok.0(f.0-0-1(x, y, z))
f.0-1-0(ok.0(x), ok.1(y), ok.0(z)) -> ok.0(f.0-1-0(x, y, z))
f.0-1-1(ok.0(x), ok.1(y), ok.1(z)) -> ok.0(f.0-1-1(x, y, z))
f.1-0-0(ok.1(x), ok.0(y), ok.0(z)) -> ok.0(f.1-0-0(x, y, z))
f.1-0-1(ok.1(x), ok.0(y), ok.1(z)) -> ok.0(f.1-0-1(x, y, z))
f.1-1-0(ok.1(x), ok.1(y), ok.0(z)) -> ok.0(f.1-1-0(x, y, z))
f.1-1-1(ok.1(x), ok.1(y), ok.1(z)) -> ok.0(f.1-1-1(x, y, z))
active.0(f.1-0-0(b., c., x)) -> mark.0(f.0-0-0(x, x, x))
active.0(f.1-0-1(b., c., x)) -> mark.0(f.1-1-1(x, x, x))
active.0(f.0-0-0(x, y, z)) -> f.0-0-0(x, y, active.0(z))
active.0(f.0-0-1(x, y, z)) -> f.0-0-0(x, y, active.1(z))
active.0(f.0-1-0(x, y, z)) -> f.0-1-0(x, y, active.0(z))
active.0(f.0-1-1(x, y, z)) -> f.0-1-0(x, y, active.1(z))
active.0(f.1-0-0(x, y, z)) -> f.1-0-0(x, y, active.0(z))
active.0(f.1-0-1(x, y, z)) -> f.1-0-0(x, y, active.1(z))
active.0(f.1-1-0(x, y, z)) -> f.1-1-0(x, y, active.0(z))
active.0(f.1-1-1(x, y, z)) -> f.1-1-0(x, y, active.1(z))
active.0(d.) -> m.1(b.)
active.0(d.) -> mark.0(c.)
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
----------------------------------------
(35) QDPOrderProof (EQUIVALENT)
We use the reduction pair processor [LPAR04,JAR06].
The following pairs can be oriented strictly and are deleted.
TOP.0(ok.0(f.1-0-0(b., c., x0))) -> TOP.0(mark.0(f.0-0-0(x0, x0, x0)))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:
POL(TOP.0(x_1)) = x_1
POL(active.0(x_1)) = 0
POL(active.1(x_1)) = x_1
POL(b.) = 0
POL(c.) = 1
POL(d.) = 0
POL(f.0-0-0(x_1, x_2, x_3)) = 0
POL(f.0-0-1(x_1, x_2, x_3)) = 0
POL(f.0-1-0(x_1, x_2, x_3)) = 0
POL(f.0-1-1(x_1, x_2, x_3)) = 0
POL(f.1-0-0(x_1, x_2, x_3)) = 1 + x_2
POL(f.1-0-1(x_1, x_2, x_3)) = 0
POL(f.1-1-0(x_1, x_2, x_3)) = 0
POL(f.1-1-1(x_1, x_2, x_3)) = 0
POL(m.1(x_1)) = 1 + x_1
POL(mark.0(x_1)) = x_1
POL(mark.1(x_1)) = x_1
POL(ok.0(x_1)) = x_1
POL(ok.1(x_1)) = 0
POL(proper.0(x_1)) = x_1
POL(proper.1(x_1)) = 0
The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented:
f.0-0-0(x, y, mark.0(z)) -> mark.0(f.0-0-0(x, y, z))
f.0-0-0(x, y, mark.1(z)) -> mark.0(f.0-0-1(x, y, z))
f.0-0-0(ok.0(x), ok.0(y), ok.0(z)) -> ok.0(f.0-0-0(x, y, z))
proper.0(c.) -> ok.0(c.)
proper.0(d.) -> ok.0(d.)
proper.0(f.0-0-0(x, y, z)) -> f.0-0-0(proper.0(x), proper.0(y), proper.0(z))
proper.0(f.0-0-1(x, y, z)) -> f.0-0-1(proper.0(x), proper.0(y), proper.1(z))
proper.0(f.0-1-0(x, y, z)) -> f.0-1-0(proper.0(x), proper.1(y), proper.0(z))
proper.0(f.0-1-1(x, y, z)) -> f.0-1-1(proper.0(x), proper.1(y), proper.1(z))
proper.0(f.1-0-0(x, y, z)) -> f.1-0-0(proper.1(x), proper.0(y), proper.0(z))
proper.0(f.1-0-1(x, y, z)) -> f.1-0-1(proper.1(x), proper.0(y), proper.1(z))
proper.0(f.1-1-0(x, y, z)) -> f.1-1-0(proper.1(x), proper.1(y), proper.0(z))
proper.0(f.1-1-1(x, y, z)) -> f.1-1-1(proper.1(x), proper.1(y), proper.1(z))
f.1-1-1(ok.1(x), ok.1(y), ok.1(z)) -> ok.0(f.1-1-1(x, y, z))
f.0-0-1(ok.0(x), ok.0(y), ok.1(z)) -> ok.0(f.0-0-1(x, y, z))
f.0-1-0(x, y, mark.0(z)) -> mark.0(f.0-1-0(x, y, z))
f.0-1-0(x, y, mark.1(z)) -> mark.0(f.0-1-1(x, y, z))
f.0-1-0(ok.0(x), ok.1(y), ok.0(z)) -> ok.0(f.0-1-0(x, y, z))
f.1-0-0(x, y, mark.0(z)) -> mark.0(f.1-0-0(x, y, z))
f.1-0-0(x, y, mark.1(z)) -> mark.0(f.1-0-1(x, y, z))
f.1-0-0(ok.1(x), ok.0(y), ok.0(z)) -> ok.0(f.1-0-0(x, y, z))
f.1-1-0(x, y, mark.0(z)) -> mark.0(f.1-1-0(x, y, z))
f.1-1-0(x, y, mark.1(z)) -> mark.0(f.1-1-1(x, y, z))
f.1-1-0(ok.1(x), ok.1(y), ok.0(z)) -> ok.0(f.1-1-0(x, y, z))
f.0-1-1(ok.0(x), ok.1(y), ok.1(z)) -> ok.0(f.0-1-1(x, y, z))
f.1-0-1(ok.1(x), ok.0(y), ok.1(z)) -> ok.0(f.1-0-1(x, y, z))
----------------------------------------
(36)
Obligation:
Q DP problem:
The TRS P consists of the following rules:
TOP.0(mark.0(f.0-0-0(x0, x1, x2))) -> TOP.0(f.0-0-0(proper.0(x0), proper.0(x1), proper.0(x2)))
TOP.0(ok.0(f.1-0-1(b., c., x0))) -> TOP.0(mark.0(f.1-1-1(x0, x0, x0)))
TOP.0(mark.0(f.0-0-1(x0, x1, x2))) -> TOP.0(f.0-0-1(proper.0(x0), proper.0(x1), proper.1(x2)))
TOP.0(ok.0(f.0-0-0(x0, x1, x2))) -> TOP.0(f.0-0-0(x0, x1, active.0(x2)))
TOP.0(ok.0(f.0-1-0(x0, x1, x2))) -> TOP.0(f.0-1-0(x0, x1, active.0(x2)))
TOP.0(ok.0(f.1-0-0(x0, x1, x2))) -> TOP.0(f.1-0-0(x0, x1, active.0(x2)))
TOP.0(ok.0(f.1-1-0(x0, x1, x2))) -> TOP.0(f.1-1-0(x0, x1, active.0(x2)))
TOP.0(mark.0(f.0-1-0(x0, x1, x2))) -> TOP.0(f.0-1-0(proper.0(x0), proper.1(x1), proper.0(x2)))
TOP.0(mark.0(f.0-1-1(x0, x1, x2))) -> TOP.0(f.0-1-1(proper.0(x0), proper.1(x1), proper.1(x2)))
TOP.0(mark.0(f.1-0-0(x0, x1, x2))) -> TOP.0(f.1-0-0(proper.1(x0), proper.0(x1), proper.0(x2)))
TOP.0(mark.0(f.1-0-1(x0, x1, x2))) -> TOP.0(f.1-0-1(proper.1(x0), proper.0(x1), proper.1(x2)))
TOP.0(mark.0(f.1-1-0(x0, x1, x2))) -> TOP.0(f.1-1-0(proper.1(x0), proper.1(x1), proper.0(x2)))
TOP.0(mark.0(f.1-1-1(x0, x1, x2))) -> TOP.0(f.1-1-1(proper.1(x0), proper.1(x1), proper.1(x2)))
The TRS R consists of the following rules:
proper.1(b.) -> ok.1(b.)
proper.0(c.) -> ok.0(c.)
proper.0(d.) -> ok.0(d.)
proper.0(f.0-0-0(x, y, z)) -> f.0-0-0(proper.0(x), proper.0(y), proper.0(z))
proper.0(f.0-0-1(x, y, z)) -> f.0-0-1(proper.0(x), proper.0(y), proper.1(z))
proper.0(f.0-1-0(x, y, z)) -> f.0-1-0(proper.0(x), proper.1(y), proper.0(z))
proper.0(f.0-1-1(x, y, z)) -> f.0-1-1(proper.0(x), proper.1(y), proper.1(z))
proper.0(f.1-0-0(x, y, z)) -> f.1-0-0(proper.1(x), proper.0(y), proper.0(z))
proper.0(f.1-0-1(x, y, z)) -> f.1-0-1(proper.1(x), proper.0(y), proper.1(z))
proper.0(f.1-1-0(x, y, z)) -> f.1-1-0(proper.1(x), proper.1(y), proper.0(z))
proper.0(f.1-1-1(x, y, z)) -> f.1-1-1(proper.1(x), proper.1(y), proper.1(z))
f.0-0-0(x, y, mark.0(z)) -> mark.0(f.0-0-0(x, y, z))
f.0-0-0(x, y, mark.1(z)) -> mark.0(f.0-0-1(x, y, z))
f.0-1-0(x, y, mark.0(z)) -> mark.0(f.0-1-0(x, y, z))
f.0-1-0(x, y, mark.1(z)) -> mark.0(f.0-1-1(x, y, z))
f.1-0-0(x, y, mark.0(z)) -> mark.0(f.1-0-0(x, y, z))
f.1-0-0(x, y, mark.1(z)) -> mark.0(f.1-0-1(x, y, z))
f.1-1-0(x, y, mark.0(z)) -> mark.0(f.1-1-0(x, y, z))
f.1-1-0(x, y, mark.1(z)) -> mark.0(f.1-1-1(x, y, z))
f.0-0-0(ok.0(x), ok.0(y), ok.0(z)) -> ok.0(f.0-0-0(x, y, z))
f.0-0-1(ok.0(x), ok.0(y), ok.1(z)) -> ok.0(f.0-0-1(x, y, z))
f.0-1-0(ok.0(x), ok.1(y), ok.0(z)) -> ok.0(f.0-1-0(x, y, z))
f.0-1-1(ok.0(x), ok.1(y), ok.1(z)) -> ok.0(f.0-1-1(x, y, z))
f.1-0-0(ok.1(x), ok.0(y), ok.0(z)) -> ok.0(f.1-0-0(x, y, z))
f.1-0-1(ok.1(x), ok.0(y), ok.1(z)) -> ok.0(f.1-0-1(x, y, z))
f.1-1-0(ok.1(x), ok.1(y), ok.0(z)) -> ok.0(f.1-1-0(x, y, z))
f.1-1-1(ok.1(x), ok.1(y), ok.1(z)) -> ok.0(f.1-1-1(x, y, z))
active.0(f.1-0-0(b., c., x)) -> mark.0(f.0-0-0(x, x, x))
active.0(f.1-0-1(b., c., x)) -> mark.0(f.1-1-1(x, x, x))
active.0(f.0-0-0(x, y, z)) -> f.0-0-0(x, y, active.0(z))
active.0(f.0-0-1(x, y, z)) -> f.0-0-0(x, y, active.1(z))
active.0(f.0-1-0(x, y, z)) -> f.0-1-0(x, y, active.0(z))
active.0(f.0-1-1(x, y, z)) -> f.0-1-0(x, y, active.1(z))
active.0(f.1-0-0(x, y, z)) -> f.1-0-0(x, y, active.0(z))
active.0(f.1-0-1(x, y, z)) -> f.1-0-0(x, y, active.1(z))
active.0(f.1-1-0(x, y, z)) -> f.1-1-0(x, y, active.0(z))
active.0(f.1-1-1(x, y, z)) -> f.1-1-0(x, y, active.1(z))
active.0(d.) -> m.1(b.)
active.0(d.) -> mark.0(c.)
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
----------------------------------------
(37) QDPOrderProof (EQUIVALENT)
We use the reduction pair processor [LPAR04,JAR06].
The following pairs can be oriented strictly and are deleted.
TOP.0(mark.0(f.0-0-1(x0, x1, x2))) -> TOP.0(f.0-0-1(proper.0(x0), proper.0(x1), proper.1(x2)))
TOP.0(mark.0(f.0-1-1(x0, x1, x2))) -> TOP.0(f.0-1-1(proper.0(x0), proper.1(x1), proper.1(x2)))
TOP.0(mark.0(f.1-1-1(x0, x1, x2))) -> TOP.0(f.1-1-1(proper.1(x0), proper.1(x1), proper.1(x2)))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:
POL(TOP.0(x_1)) = x_1
POL(active.0(x_1)) = 0
POL(active.1(x_1)) = x_1
POL(b.) = 0
POL(c.) = 0
POL(d.) = 0
POL(f.0-0-0(x_1, x_2, x_3)) = 1
POL(f.0-0-1(x_1, x_2, x_3)) = 0
POL(f.0-1-0(x_1, x_2, x_3)) = 1
POL(f.0-1-1(x_1, x_2, x_3)) = 0
POL(f.1-0-0(x_1, x_2, x_3)) = 1
POL(f.1-0-1(x_1, x_2, x_3)) = 1
POL(f.1-1-0(x_1, x_2, x_3)) = 1
POL(f.1-1-1(x_1, x_2, x_3)) = 0
POL(m.1(x_1)) = 1 + x_1
POL(mark.0(x_1)) = 1
POL(mark.1(x_1)) = x_1
POL(ok.0(x_1)) = x_1
POL(ok.1(x_1)) = 0
POL(proper.0(x_1)) = 0
POL(proper.1(x_1)) = 0
The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented:
f.0-0-0(x, y, mark.0(z)) -> mark.0(f.0-0-0(x, y, z))
f.0-0-0(x, y, mark.1(z)) -> mark.0(f.0-0-1(x, y, z))
f.0-0-0(ok.0(x), ok.0(y), ok.0(z)) -> ok.0(f.0-0-0(x, y, z))
f.1-1-1(ok.1(x), ok.1(y), ok.1(z)) -> ok.0(f.1-1-1(x, y, z))
f.0-0-1(ok.0(x), ok.0(y), ok.1(z)) -> ok.0(f.0-0-1(x, y, z))
f.0-1-0(x, y, mark.0(z)) -> mark.0(f.0-1-0(x, y, z))
f.0-1-0(x, y, mark.1(z)) -> mark.0(f.0-1-1(x, y, z))
f.0-1-0(ok.0(x), ok.1(y), ok.0(z)) -> ok.0(f.0-1-0(x, y, z))
f.1-0-0(x, y, mark.0(z)) -> mark.0(f.1-0-0(x, y, z))
f.1-0-0(x, y, mark.1(z)) -> mark.0(f.1-0-1(x, y, z))
f.1-0-0(ok.1(x), ok.0(y), ok.0(z)) -> ok.0(f.1-0-0(x, y, z))
f.1-1-0(x, y, mark.0(z)) -> mark.0(f.1-1-0(x, y, z))
f.1-1-0(x, y, mark.1(z)) -> mark.0(f.1-1-1(x, y, z))
f.1-1-0(ok.1(x), ok.1(y), ok.0(z)) -> ok.0(f.1-1-0(x, y, z))
f.0-1-1(ok.0(x), ok.1(y), ok.1(z)) -> ok.0(f.0-1-1(x, y, z))
f.1-0-1(ok.1(x), ok.0(y), ok.1(z)) -> ok.0(f.1-0-1(x, y, z))
----------------------------------------
(38)
Obligation:
Q DP problem:
The TRS P consists of the following rules:
TOP.0(mark.0(f.0-0-0(x0, x1, x2))) -> TOP.0(f.0-0-0(proper.0(x0), proper.0(x1), proper.0(x2)))
TOP.0(ok.0(f.1-0-1(b., c., x0))) -> TOP.0(mark.0(f.1-1-1(x0, x0, x0)))
TOP.0(ok.0(f.0-0-0(x0, x1, x2))) -> TOP.0(f.0-0-0(x0, x1, active.0(x2)))
TOP.0(ok.0(f.0-1-0(x0, x1, x2))) -> TOP.0(f.0-1-0(x0, x1, active.0(x2)))
TOP.0(ok.0(f.1-0-0(x0, x1, x2))) -> TOP.0(f.1-0-0(x0, x1, active.0(x2)))
TOP.0(ok.0(f.1-1-0(x0, x1, x2))) -> TOP.0(f.1-1-0(x0, x1, active.0(x2)))
TOP.0(mark.0(f.0-1-0(x0, x1, x2))) -> TOP.0(f.0-1-0(proper.0(x0), proper.1(x1), proper.0(x2)))
TOP.0(mark.0(f.1-0-0(x0, x1, x2))) -> TOP.0(f.1-0-0(proper.1(x0), proper.0(x1), proper.0(x2)))
TOP.0(mark.0(f.1-0-1(x0, x1, x2))) -> TOP.0(f.1-0-1(proper.1(x0), proper.0(x1), proper.1(x2)))
TOP.0(mark.0(f.1-1-0(x0, x1, x2))) -> TOP.0(f.1-1-0(proper.1(x0), proper.1(x1), proper.0(x2)))
The TRS R consists of the following rules:
proper.1(b.) -> ok.1(b.)
proper.0(c.) -> ok.0(c.)
proper.0(d.) -> ok.0(d.)
proper.0(f.0-0-0(x, y, z)) -> f.0-0-0(proper.0(x), proper.0(y), proper.0(z))
proper.0(f.0-0-1(x, y, z)) -> f.0-0-1(proper.0(x), proper.0(y), proper.1(z))
proper.0(f.0-1-0(x, y, z)) -> f.0-1-0(proper.0(x), proper.1(y), proper.0(z))
proper.0(f.0-1-1(x, y, z)) -> f.0-1-1(proper.0(x), proper.1(y), proper.1(z))
proper.0(f.1-0-0(x, y, z)) -> f.1-0-0(proper.1(x), proper.0(y), proper.0(z))
proper.0(f.1-0-1(x, y, z)) -> f.1-0-1(proper.1(x), proper.0(y), proper.1(z))
proper.0(f.1-1-0(x, y, z)) -> f.1-1-0(proper.1(x), proper.1(y), proper.0(z))
proper.0(f.1-1-1(x, y, z)) -> f.1-1-1(proper.1(x), proper.1(y), proper.1(z))
f.0-0-0(x, y, mark.0(z)) -> mark.0(f.0-0-0(x, y, z))
f.0-0-0(x, y, mark.1(z)) -> mark.0(f.0-0-1(x, y, z))
f.0-1-0(x, y, mark.0(z)) -> mark.0(f.0-1-0(x, y, z))
f.0-1-0(x, y, mark.1(z)) -> mark.0(f.0-1-1(x, y, z))
f.1-0-0(x, y, mark.0(z)) -> mark.0(f.1-0-0(x, y, z))
f.1-0-0(x, y, mark.1(z)) -> mark.0(f.1-0-1(x, y, z))
f.1-1-0(x, y, mark.0(z)) -> mark.0(f.1-1-0(x, y, z))
f.1-1-0(x, y, mark.1(z)) -> mark.0(f.1-1-1(x, y, z))
f.0-0-0(ok.0(x), ok.0(y), ok.0(z)) -> ok.0(f.0-0-0(x, y, z))
f.0-0-1(ok.0(x), ok.0(y), ok.1(z)) -> ok.0(f.0-0-1(x, y, z))
f.0-1-0(ok.0(x), ok.1(y), ok.0(z)) -> ok.0(f.0-1-0(x, y, z))
f.0-1-1(ok.0(x), ok.1(y), ok.1(z)) -> ok.0(f.0-1-1(x, y, z))
f.1-0-0(ok.1(x), ok.0(y), ok.0(z)) -> ok.0(f.1-0-0(x, y, z))
f.1-0-1(ok.1(x), ok.0(y), ok.1(z)) -> ok.0(f.1-0-1(x, y, z))
f.1-1-0(ok.1(x), ok.1(y), ok.0(z)) -> ok.0(f.1-1-0(x, y, z))
f.1-1-1(ok.1(x), ok.1(y), ok.1(z)) -> ok.0(f.1-1-1(x, y, z))
active.0(f.1-0-0(b., c., x)) -> mark.0(f.0-0-0(x, x, x))
active.0(f.1-0-1(b., c., x)) -> mark.0(f.1-1-1(x, x, x))
active.0(f.0-0-0(x, y, z)) -> f.0-0-0(x, y, active.0(z))
active.0(f.0-0-1(x, y, z)) -> f.0-0-0(x, y, active.1(z))
active.0(f.0-1-0(x, y, z)) -> f.0-1-0(x, y, active.0(z))
active.0(f.0-1-1(x, y, z)) -> f.0-1-0(x, y, active.1(z))
active.0(f.1-0-0(x, y, z)) -> f.1-0-0(x, y, active.0(z))
active.0(f.1-0-1(x, y, z)) -> f.1-0-0(x, y, active.1(z))
active.0(f.1-1-0(x, y, z)) -> f.1-1-0(x, y, active.0(z))
active.0(f.1-1-1(x, y, z)) -> f.1-1-0(x, y, active.1(z))
active.0(d.) -> m.1(b.)
active.0(d.) -> mark.0(c.)
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
----------------------------------------
(39) QDPOrderProof (EQUIVALENT)
We use the reduction pair processor [LPAR04,JAR06].
The following pairs can be oriented strictly and are deleted.
TOP.0(ok.0(f.1-0-1(b., c., x0))) -> TOP.0(mark.0(f.1-1-1(x0, x0, x0)))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:
POL(TOP.0(x_1)) = x_1
POL(active.0(x_1)) = 0
POL(active.1(x_1)) = x_1
POL(b.) = 1
POL(c.) = 0
POL(d.) = 0
POL(f.0-0-0(x_1, x_2, x_3)) = 0
POL(f.0-0-1(x_1, x_2, x_3)) = 0
POL(f.0-1-0(x_1, x_2, x_3)) = 0
POL(f.0-1-1(x_1, x_2, x_3)) = 0
POL(f.1-0-0(x_1, x_2, x_3)) = 1 + x_1
POL(f.1-0-1(x_1, x_2, x_3)) = 1 + x_1
POL(f.1-1-0(x_1, x_2, x_3)) = 0
POL(f.1-1-1(x_1, x_2, x_3)) = 0
POL(m.1(x_1)) = 1 + x_1
POL(mark.0(x_1)) = x_1
POL(mark.1(x_1)) = x_1
POL(ok.0(x_1)) = x_1
POL(ok.1(x_1)) = x_1
POL(proper.0(x_1)) = 0
POL(proper.1(x_1)) = x_1
The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented:
f.0-0-0(x, y, mark.0(z)) -> mark.0(f.0-0-0(x, y, z))
f.0-0-0(x, y, mark.1(z)) -> mark.0(f.0-0-1(x, y, z))
f.0-0-0(ok.0(x), ok.0(y), ok.0(z)) -> ok.0(f.0-0-0(x, y, z))
f.1-1-1(ok.1(x), ok.1(y), ok.1(z)) -> ok.0(f.1-1-1(x, y, z))
f.0-1-0(x, y, mark.0(z)) -> mark.0(f.0-1-0(x, y, z))
f.0-1-0(x, y, mark.1(z)) -> mark.0(f.0-1-1(x, y, z))
f.0-1-0(ok.0(x), ok.1(y), ok.0(z)) -> ok.0(f.0-1-0(x, y, z))
f.1-0-0(x, y, mark.0(z)) -> mark.0(f.1-0-0(x, y, z))
f.1-0-0(x, y, mark.1(z)) -> mark.0(f.1-0-1(x, y, z))
f.1-0-0(ok.1(x), ok.0(y), ok.0(z)) -> ok.0(f.1-0-0(x, y, z))
f.1-1-0(x, y, mark.0(z)) -> mark.0(f.1-1-0(x, y, z))
f.1-1-0(x, y, mark.1(z)) -> mark.0(f.1-1-1(x, y, z))
f.1-1-0(ok.1(x), ok.1(y), ok.0(z)) -> ok.0(f.1-1-0(x, y, z))
proper.1(b.) -> ok.1(b.)
f.1-0-1(ok.1(x), ok.0(y), ok.1(z)) -> ok.0(f.1-0-1(x, y, z))
f.0-0-1(ok.0(x), ok.0(y), ok.1(z)) -> ok.0(f.0-0-1(x, y, z))
f.0-1-1(ok.0(x), ok.1(y), ok.1(z)) -> ok.0(f.0-1-1(x, y, z))
----------------------------------------
(40)
Obligation:
Q DP problem:
The TRS P consists of the following rules:
TOP.0(mark.0(f.0-0-0(x0, x1, x2))) -> TOP.0(f.0-0-0(proper.0(x0), proper.0(x1), proper.0(x2)))
TOP.0(ok.0(f.0-0-0(x0, x1, x2))) -> TOP.0(f.0-0-0(x0, x1, active.0(x2)))
TOP.0(ok.0(f.0-1-0(x0, x1, x2))) -> TOP.0(f.0-1-0(x0, x1, active.0(x2)))
TOP.0(ok.0(f.1-0-0(x0, x1, x2))) -> TOP.0(f.1-0-0(x0, x1, active.0(x2)))
TOP.0(ok.0(f.1-1-0(x0, x1, x2))) -> TOP.0(f.1-1-0(x0, x1, active.0(x2)))
TOP.0(mark.0(f.0-1-0(x0, x1, x2))) -> TOP.0(f.0-1-0(proper.0(x0), proper.1(x1), proper.0(x2)))
TOP.0(mark.0(f.1-0-0(x0, x1, x2))) -> TOP.0(f.1-0-0(proper.1(x0), proper.0(x1), proper.0(x2)))
TOP.0(mark.0(f.1-0-1(x0, x1, x2))) -> TOP.0(f.1-0-1(proper.1(x0), proper.0(x1), proper.1(x2)))
TOP.0(mark.0(f.1-1-0(x0, x1, x2))) -> TOP.0(f.1-1-0(proper.1(x0), proper.1(x1), proper.0(x2)))
The TRS R consists of the following rules:
proper.1(b.) -> ok.1(b.)
proper.0(c.) -> ok.0(c.)
proper.0(d.) -> ok.0(d.)
proper.0(f.0-0-0(x, y, z)) -> f.0-0-0(proper.0(x), proper.0(y), proper.0(z))
proper.0(f.0-0-1(x, y, z)) -> f.0-0-1(proper.0(x), proper.0(y), proper.1(z))
proper.0(f.0-1-0(x, y, z)) -> f.0-1-0(proper.0(x), proper.1(y), proper.0(z))
proper.0(f.0-1-1(x, y, z)) -> f.0-1-1(proper.0(x), proper.1(y), proper.1(z))
proper.0(f.1-0-0(x, y, z)) -> f.1-0-0(proper.1(x), proper.0(y), proper.0(z))
proper.0(f.1-0-1(x, y, z)) -> f.1-0-1(proper.1(x), proper.0(y), proper.1(z))
proper.0(f.1-1-0(x, y, z)) -> f.1-1-0(proper.1(x), proper.1(y), proper.0(z))
proper.0(f.1-1-1(x, y, z)) -> f.1-1-1(proper.1(x), proper.1(y), proper.1(z))
f.0-0-0(x, y, mark.0(z)) -> mark.0(f.0-0-0(x, y, z))
f.0-0-0(x, y, mark.1(z)) -> mark.0(f.0-0-1(x, y, z))
f.0-1-0(x, y, mark.0(z)) -> mark.0(f.0-1-0(x, y, z))
f.0-1-0(x, y, mark.1(z)) -> mark.0(f.0-1-1(x, y, z))
f.1-0-0(x, y, mark.0(z)) -> mark.0(f.1-0-0(x, y, z))
f.1-0-0(x, y, mark.1(z)) -> mark.0(f.1-0-1(x, y, z))
f.1-1-0(x, y, mark.0(z)) -> mark.0(f.1-1-0(x, y, z))
f.1-1-0(x, y, mark.1(z)) -> mark.0(f.1-1-1(x, y, z))
f.0-0-0(ok.0(x), ok.0(y), ok.0(z)) -> ok.0(f.0-0-0(x, y, z))
f.0-0-1(ok.0(x), ok.0(y), ok.1(z)) -> ok.0(f.0-0-1(x, y, z))
f.0-1-0(ok.0(x), ok.1(y), ok.0(z)) -> ok.0(f.0-1-0(x, y, z))
f.0-1-1(ok.0(x), ok.1(y), ok.1(z)) -> ok.0(f.0-1-1(x, y, z))
f.1-0-0(ok.1(x), ok.0(y), ok.0(z)) -> ok.0(f.1-0-0(x, y, z))
f.1-0-1(ok.1(x), ok.0(y), ok.1(z)) -> ok.0(f.1-0-1(x, y, z))
f.1-1-0(ok.1(x), ok.1(y), ok.0(z)) -> ok.0(f.1-1-0(x, y, z))
f.1-1-1(ok.1(x), ok.1(y), ok.1(z)) -> ok.0(f.1-1-1(x, y, z))
active.0(f.1-0-0(b., c., x)) -> mark.0(f.0-0-0(x, x, x))
active.0(f.1-0-1(b., c., x)) -> mark.0(f.1-1-1(x, x, x))
active.0(f.0-0-0(x, y, z)) -> f.0-0-0(x, y, active.0(z))
active.0(f.0-0-1(x, y, z)) -> f.0-0-0(x, y, active.1(z))
active.0(f.0-1-0(x, y, z)) -> f.0-1-0(x, y, active.0(z))
active.0(f.0-1-1(x, y, z)) -> f.0-1-0(x, y, active.1(z))
active.0(f.1-0-0(x, y, z)) -> f.1-0-0(x, y, active.0(z))
active.0(f.1-0-1(x, y, z)) -> f.1-0-0(x, y, active.1(z))
active.0(f.1-1-0(x, y, z)) -> f.1-1-0(x, y, active.0(z))
active.0(f.1-1-1(x, y, z)) -> f.1-1-0(x, y, active.1(z))
active.0(d.) -> m.1(b.)
active.0(d.) -> mark.0(c.)
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
----------------------------------------
(41) QDPOrderProof (EQUIVALENT)
We use the reduction pair processor [LPAR04,JAR06].
The following pairs can be oriented strictly and are deleted.
TOP.0(mark.0(f.1-0-1(x0, x1, x2))) -> TOP.0(f.1-0-1(proper.1(x0), proper.0(x1), proper.1(x2)))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:
POL(TOP.0(x_1)) = x_1
POL(active.0(x_1)) = 0
POL(active.1(x_1)) = x_1
POL(b.) = 0
POL(c.) = 0
POL(d.) = 0
POL(f.0-0-0(x_1, x_2, x_3)) = 1
POL(f.0-0-1(x_1, x_2, x_3)) = 0
POL(f.0-1-0(x_1, x_2, x_3)) = 1
POL(f.0-1-1(x_1, x_2, x_3)) = 0
POL(f.1-0-0(x_1, x_2, x_3)) = 1
POL(f.1-0-1(x_1, x_2, x_3)) = 0
POL(f.1-1-0(x_1, x_2, x_3)) = 1
POL(f.1-1-1(x_1, x_2, x_3)) = 0
POL(m.1(x_1)) = 1 + x_1
POL(mark.0(x_1)) = 1
POL(mark.1(x_1)) = x_1
POL(ok.0(x_1)) = x_1
POL(ok.1(x_1)) = 0
POL(proper.0(x_1)) = 0
POL(proper.1(x_1)) = 0
The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented:
f.0-0-0(x, y, mark.0(z)) -> mark.0(f.0-0-0(x, y, z))
f.0-0-0(x, y, mark.1(z)) -> mark.0(f.0-0-1(x, y, z))
f.0-0-0(ok.0(x), ok.0(y), ok.0(z)) -> ok.0(f.0-0-0(x, y, z))
f.0-1-0(x, y, mark.0(z)) -> mark.0(f.0-1-0(x, y, z))
f.0-1-0(x, y, mark.1(z)) -> mark.0(f.0-1-1(x, y, z))
f.0-1-0(ok.0(x), ok.1(y), ok.0(z)) -> ok.0(f.0-1-0(x, y, z))
f.1-0-0(x, y, mark.0(z)) -> mark.0(f.1-0-0(x, y, z))
f.1-0-0(x, y, mark.1(z)) -> mark.0(f.1-0-1(x, y, z))
f.1-0-0(ok.1(x), ok.0(y), ok.0(z)) -> ok.0(f.1-0-0(x, y, z))
f.1-1-0(x, y, mark.0(z)) -> mark.0(f.1-1-0(x, y, z))
f.1-1-0(x, y, mark.1(z)) -> mark.0(f.1-1-1(x, y, z))
f.1-1-0(ok.1(x), ok.1(y), ok.0(z)) -> ok.0(f.1-1-0(x, y, z))
f.1-0-1(ok.1(x), ok.0(y), ok.1(z)) -> ok.0(f.1-0-1(x, y, z))
----------------------------------------
(42)
Obligation:
Q DP problem:
The TRS P consists of the following rules:
TOP.0(mark.0(f.0-0-0(x0, x1, x2))) -> TOP.0(f.0-0-0(proper.0(x0), proper.0(x1), proper.0(x2)))
TOP.0(ok.0(f.0-0-0(x0, x1, x2))) -> TOP.0(f.0-0-0(x0, x1, active.0(x2)))
TOP.0(ok.0(f.0-1-0(x0, x1, x2))) -> TOP.0(f.0-1-0(x0, x1, active.0(x2)))
TOP.0(ok.0(f.1-0-0(x0, x1, x2))) -> TOP.0(f.1-0-0(x0, x1, active.0(x2)))
TOP.0(ok.0(f.1-1-0(x0, x1, x2))) -> TOP.0(f.1-1-0(x0, x1, active.0(x2)))
TOP.0(mark.0(f.0-1-0(x0, x1, x2))) -> TOP.0(f.0-1-0(proper.0(x0), proper.1(x1), proper.0(x2)))
TOP.0(mark.0(f.1-0-0(x0, x1, x2))) -> TOP.0(f.1-0-0(proper.1(x0), proper.0(x1), proper.0(x2)))
TOP.0(mark.0(f.1-1-0(x0, x1, x2))) -> TOP.0(f.1-1-0(proper.1(x0), proper.1(x1), proper.0(x2)))
The TRS R consists of the following rules:
proper.1(b.) -> ok.1(b.)
proper.0(c.) -> ok.0(c.)
proper.0(d.) -> ok.0(d.)
proper.0(f.0-0-0(x, y, z)) -> f.0-0-0(proper.0(x), proper.0(y), proper.0(z))
proper.0(f.0-0-1(x, y, z)) -> f.0-0-1(proper.0(x), proper.0(y), proper.1(z))
proper.0(f.0-1-0(x, y, z)) -> f.0-1-0(proper.0(x), proper.1(y), proper.0(z))
proper.0(f.0-1-1(x, y, z)) -> f.0-1-1(proper.0(x), proper.1(y), proper.1(z))
proper.0(f.1-0-0(x, y, z)) -> f.1-0-0(proper.1(x), proper.0(y), proper.0(z))
proper.0(f.1-0-1(x, y, z)) -> f.1-0-1(proper.1(x), proper.0(y), proper.1(z))
proper.0(f.1-1-0(x, y, z)) -> f.1-1-0(proper.1(x), proper.1(y), proper.0(z))
proper.0(f.1-1-1(x, y, z)) -> f.1-1-1(proper.1(x), proper.1(y), proper.1(z))
f.0-0-0(x, y, mark.0(z)) -> mark.0(f.0-0-0(x, y, z))
f.0-0-0(x, y, mark.1(z)) -> mark.0(f.0-0-1(x, y, z))
f.0-1-0(x, y, mark.0(z)) -> mark.0(f.0-1-0(x, y, z))
f.0-1-0(x, y, mark.1(z)) -> mark.0(f.0-1-1(x, y, z))
f.1-0-0(x, y, mark.0(z)) -> mark.0(f.1-0-0(x, y, z))
f.1-0-0(x, y, mark.1(z)) -> mark.0(f.1-0-1(x, y, z))
f.1-1-0(x, y, mark.0(z)) -> mark.0(f.1-1-0(x, y, z))
f.1-1-0(x, y, mark.1(z)) -> mark.0(f.1-1-1(x, y, z))
f.0-0-0(ok.0(x), ok.0(y), ok.0(z)) -> ok.0(f.0-0-0(x, y, z))
f.0-0-1(ok.0(x), ok.0(y), ok.1(z)) -> ok.0(f.0-0-1(x, y, z))
f.0-1-0(ok.0(x), ok.1(y), ok.0(z)) -> ok.0(f.0-1-0(x, y, z))
f.0-1-1(ok.0(x), ok.1(y), ok.1(z)) -> ok.0(f.0-1-1(x, y, z))
f.1-0-0(ok.1(x), ok.0(y), ok.0(z)) -> ok.0(f.1-0-0(x, y, z))
f.1-0-1(ok.1(x), ok.0(y), ok.1(z)) -> ok.0(f.1-0-1(x, y, z))
f.1-1-0(ok.1(x), ok.1(y), ok.0(z)) -> ok.0(f.1-1-0(x, y, z))
f.1-1-1(ok.1(x), ok.1(y), ok.1(z)) -> ok.0(f.1-1-1(x, y, z))
active.0(f.1-0-0(b., c., x)) -> mark.0(f.0-0-0(x, x, x))
active.0(f.1-0-1(b., c., x)) -> mark.0(f.1-1-1(x, x, x))
active.0(f.0-0-0(x, y, z)) -> f.0-0-0(x, y, active.0(z))
active.0(f.0-0-1(x, y, z)) -> f.0-0-0(x, y, active.1(z))
active.0(f.0-1-0(x, y, z)) -> f.0-1-0(x, y, active.0(z))
active.0(f.0-1-1(x, y, z)) -> f.0-1-0(x, y, active.1(z))
active.0(f.1-0-0(x, y, z)) -> f.1-0-0(x, y, active.0(z))
active.0(f.1-0-1(x, y, z)) -> f.1-0-0(x, y, active.1(z))
active.0(f.1-1-0(x, y, z)) -> f.1-1-0(x, y, active.0(z))
active.0(f.1-1-1(x, y, z)) -> f.1-1-0(x, y, active.1(z))
active.0(d.) -> m.1(b.)
active.0(d.) -> mark.0(c.)
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
----------------------------------------
(43) QDPOrderProof (EQUIVALENT)
We use the reduction pair processor [LPAR04,JAR06].
The following pairs can be oriented strictly and are deleted.
TOP.0(mark.0(f.0-0-0(x0, x1, x2))) -> TOP.0(f.0-0-0(proper.0(x0), proper.0(x1), proper.0(x2)))
TOP.0(mark.0(f.0-1-0(x0, x1, x2))) -> TOP.0(f.0-1-0(proper.0(x0), proper.1(x1), proper.0(x2)))
TOP.0(mark.0(f.1-0-0(x0, x1, x2))) -> TOP.0(f.1-0-0(proper.1(x0), proper.0(x1), proper.0(x2)))
TOP.0(mark.0(f.1-1-0(x0, x1, x2))) -> TOP.0(f.1-1-0(proper.1(x0), proper.1(x1), proper.0(x2)))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:
POL(TOP.0(x_1)) = x_1
POL(active.0(x_1)) = x_1
POL(active.1(x_1)) = 0
POL(b.) = 1
POL(c.) = 0
POL(d.) = 1
POL(f.0-0-0(x_1, x_2, x_3)) = x_3
POL(f.0-0-1(x_1, x_2, x_3)) = 0
POL(f.0-1-0(x_1, x_2, x_3)) = 1 + x_3
POL(f.0-1-1(x_1, x_2, x_3)) = 1
POL(f.1-0-0(x_1, x_2, x_3)) = 1 + x_1 + x_3
POL(f.1-0-1(x_1, x_2, x_3)) = 1 + x_1
POL(f.1-1-0(x_1, x_2, x_3)) = 1 + x_3
POL(f.1-1-1(x_1, x_2, x_3)) = 1
POL(m.1(x_1)) = x_1
POL(mark.0(x_1)) = 1 + x_1
POL(mark.1(x_1)) = 1 + x_1
POL(ok.0(x_1)) = x_1
POL(ok.1(x_1)) = x_1
POL(proper.0(x_1)) = x_1
POL(proper.1(x_1)) = x_1
The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented:
proper.0(c.) -> ok.0(c.)
proper.0(d.) -> ok.0(d.)
proper.0(f.0-0-0(x, y, z)) -> f.0-0-0(proper.0(x), proper.0(y), proper.0(z))
proper.0(f.0-0-1(x, y, z)) -> f.0-0-1(proper.0(x), proper.0(y), proper.1(z))
proper.0(f.0-1-0(x, y, z)) -> f.0-1-0(proper.0(x), proper.1(y), proper.0(z))
proper.0(f.0-1-1(x, y, z)) -> f.0-1-1(proper.0(x), proper.1(y), proper.1(z))
proper.0(f.1-0-0(x, y, z)) -> f.1-0-0(proper.1(x), proper.0(y), proper.0(z))
proper.0(f.1-0-1(x, y, z)) -> f.1-0-1(proper.1(x), proper.0(y), proper.1(z))
proper.0(f.1-1-0(x, y, z)) -> f.1-1-0(proper.1(x), proper.1(y), proper.0(z))
proper.0(f.1-1-1(x, y, z)) -> f.1-1-1(proper.1(x), proper.1(y), proper.1(z))
f.0-0-0(x, y, mark.0(z)) -> mark.0(f.0-0-0(x, y, z))
f.0-0-0(x, y, mark.1(z)) -> mark.0(f.0-0-1(x, y, z))
f.0-0-0(ok.0(x), ok.0(y), ok.0(z)) -> ok.0(f.0-0-0(x, y, z))
active.0(f.1-0-0(b., c., x)) -> mark.0(f.0-0-0(x, x, x))
active.0(f.1-0-1(b., c., x)) -> mark.0(f.1-1-1(x, x, x))
active.0(f.0-0-0(x, y, z)) -> f.0-0-0(x, y, active.0(z))
active.0(f.0-0-1(x, y, z)) -> f.0-0-0(x, y, active.1(z))
active.0(f.0-1-0(x, y, z)) -> f.0-1-0(x, y, active.0(z))
active.0(f.0-1-1(x, y, z)) -> f.0-1-0(x, y, active.1(z))
active.0(f.1-0-0(x, y, z)) -> f.1-0-0(x, y, active.0(z))
active.0(f.1-0-1(x, y, z)) -> f.1-0-0(x, y, active.1(z))
active.0(f.1-1-0(x, y, z)) -> f.1-1-0(x, y, active.0(z))
active.0(f.1-1-1(x, y, z)) -> f.1-1-0(x, y, active.1(z))
active.0(d.) -> m.1(b.)
active.0(d.) -> mark.0(c.)
f.0-1-0(x, y, mark.0(z)) -> mark.0(f.0-1-0(x, y, z))
f.0-1-0(x, y, mark.1(z)) -> mark.0(f.0-1-1(x, y, z))
f.0-1-0(ok.0(x), ok.1(y), ok.0(z)) -> ok.0(f.0-1-0(x, y, z))
f.1-0-0(x, y, mark.0(z)) -> mark.0(f.1-0-0(x, y, z))
f.1-0-0(x, y, mark.1(z)) -> mark.0(f.1-0-1(x, y, z))
f.1-0-0(ok.1(x), ok.0(y), ok.0(z)) -> ok.0(f.1-0-0(x, y, z))
f.1-1-0(x, y, mark.0(z)) -> mark.0(f.1-1-0(x, y, z))
f.1-1-0(x, y, mark.1(z)) -> mark.0(f.1-1-1(x, y, z))
f.1-1-0(ok.1(x), ok.1(y), ok.0(z)) -> ok.0(f.1-1-0(x, y, z))
proper.1(b.) -> ok.1(b.)
f.0-0-1(ok.0(x), ok.0(y), ok.1(z)) -> ok.0(f.0-0-1(x, y, z))
f.0-1-1(ok.0(x), ok.1(y), ok.1(z)) -> ok.0(f.0-1-1(x, y, z))
f.1-0-1(ok.1(x), ok.0(y), ok.1(z)) -> ok.0(f.1-0-1(x, y, z))
f.1-1-1(ok.1(x), ok.1(y), ok.1(z)) -> ok.0(f.1-1-1(x, y, z))
----------------------------------------
(44)
Obligation:
Q DP problem:
The TRS P consists of the following rules:
TOP.0(ok.0(f.0-0-0(x0, x1, x2))) -> TOP.0(f.0-0-0(x0, x1, active.0(x2)))
TOP.0(ok.0(f.0-1-0(x0, x1, x2))) -> TOP.0(f.0-1-0(x0, x1, active.0(x2)))
TOP.0(ok.0(f.1-0-0(x0, x1, x2))) -> TOP.0(f.1-0-0(x0, x1, active.0(x2)))
TOP.0(ok.0(f.1-1-0(x0, x1, x2))) -> TOP.0(f.1-1-0(x0, x1, active.0(x2)))
The TRS R consists of the following rules:
proper.1(b.) -> ok.1(b.)
proper.0(c.) -> ok.0(c.)
proper.0(d.) -> ok.0(d.)
proper.0(f.0-0-0(x, y, z)) -> f.0-0-0(proper.0(x), proper.0(y), proper.0(z))
proper.0(f.0-0-1(x, y, z)) -> f.0-0-1(proper.0(x), proper.0(y), proper.1(z))
proper.0(f.0-1-0(x, y, z)) -> f.0-1-0(proper.0(x), proper.1(y), proper.0(z))
proper.0(f.0-1-1(x, y, z)) -> f.0-1-1(proper.0(x), proper.1(y), proper.1(z))
proper.0(f.1-0-0(x, y, z)) -> f.1-0-0(proper.1(x), proper.0(y), proper.0(z))
proper.0(f.1-0-1(x, y, z)) -> f.1-0-1(proper.1(x), proper.0(y), proper.1(z))
proper.0(f.1-1-0(x, y, z)) -> f.1-1-0(proper.1(x), proper.1(y), proper.0(z))
proper.0(f.1-1-1(x, y, z)) -> f.1-1-1(proper.1(x), proper.1(y), proper.1(z))
f.0-0-0(x, y, mark.0(z)) -> mark.0(f.0-0-0(x, y, z))
f.0-0-0(x, y, mark.1(z)) -> mark.0(f.0-0-1(x, y, z))
f.0-1-0(x, y, mark.0(z)) -> mark.0(f.0-1-0(x, y, z))
f.0-1-0(x, y, mark.1(z)) -> mark.0(f.0-1-1(x, y, z))
f.1-0-0(x, y, mark.0(z)) -> mark.0(f.1-0-0(x, y, z))
f.1-0-0(x, y, mark.1(z)) -> mark.0(f.1-0-1(x, y, z))
f.1-1-0(x, y, mark.0(z)) -> mark.0(f.1-1-0(x, y, z))
f.1-1-0(x, y, mark.1(z)) -> mark.0(f.1-1-1(x, y, z))
f.0-0-0(ok.0(x), ok.0(y), ok.0(z)) -> ok.0(f.0-0-0(x, y, z))
f.0-0-1(ok.0(x), ok.0(y), ok.1(z)) -> ok.0(f.0-0-1(x, y, z))
f.0-1-0(ok.0(x), ok.1(y), ok.0(z)) -> ok.0(f.0-1-0(x, y, z))
f.0-1-1(ok.0(x), ok.1(y), ok.1(z)) -> ok.0(f.0-1-1(x, y, z))
f.1-0-0(ok.1(x), ok.0(y), ok.0(z)) -> ok.0(f.1-0-0(x, y, z))
f.1-0-1(ok.1(x), ok.0(y), ok.1(z)) -> ok.0(f.1-0-1(x, y, z))
f.1-1-0(ok.1(x), ok.1(y), ok.0(z)) -> ok.0(f.1-1-0(x, y, z))
f.1-1-1(ok.1(x), ok.1(y), ok.1(z)) -> ok.0(f.1-1-1(x, y, z))
active.0(f.1-0-0(b., c., x)) -> mark.0(f.0-0-0(x, x, x))
active.0(f.1-0-1(b., c., x)) -> mark.0(f.1-1-1(x, x, x))
active.0(f.0-0-0(x, y, z)) -> f.0-0-0(x, y, active.0(z))
active.0(f.0-0-1(x, y, z)) -> f.0-0-0(x, y, active.1(z))
active.0(f.0-1-0(x, y, z)) -> f.0-1-0(x, y, active.0(z))
active.0(f.0-1-1(x, y, z)) -> f.0-1-0(x, y, active.1(z))
active.0(f.1-0-0(x, y, z)) -> f.1-0-0(x, y, active.0(z))
active.0(f.1-0-1(x, y, z)) -> f.1-0-0(x, y, active.1(z))
active.0(f.1-1-0(x, y, z)) -> f.1-1-0(x, y, active.0(z))
active.0(f.1-1-1(x, y, z)) -> f.1-1-0(x, y, active.1(z))
active.0(d.) -> m.1(b.)
active.0(d.) -> mark.0(c.)
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
----------------------------------------
(45) QDPOrderProof (EQUIVALENT)
We use the reduction pair processor [LPAR04,JAR06].
The following pairs can be oriented strictly and are deleted.
TOP.0(ok.0(f.0-0-0(x0, x1, x2))) -> TOP.0(f.0-0-0(x0, x1, active.0(x2)))
TOP.0(ok.0(f.0-1-0(x0, x1, x2))) -> TOP.0(f.0-1-0(x0, x1, active.0(x2)))
TOP.0(ok.0(f.1-0-0(x0, x1, x2))) -> TOP.0(f.1-0-0(x0, x1, active.0(x2)))
TOP.0(ok.0(f.1-1-0(x0, x1, x2))) -> TOP.0(f.1-1-0(x0, x1, active.0(x2)))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:
POL(TOP.0(x_1)) = x_1
POL(active.0(x_1)) = 0
POL(active.1(x_1)) = x_1
POL(b.) = 0
POL(c.) = 0
POL(d.) = 1
POL(f.0-0-0(x_1, x_2, x_3)) = x_1
POL(f.0-0-1(x_1, x_2, x_3)) = x_1 + x_3
POL(f.0-1-0(x_1, x_2, x_3)) = x_1
POL(f.0-1-1(x_1, x_2, x_3)) = x_1 + x_3
POL(f.1-0-0(x_1, x_2, x_3)) = x_1
POL(f.1-0-1(x_1, x_2, x_3)) = 0
POL(f.1-1-0(x_1, x_2, x_3)) = x_1
POL(f.1-1-1(x_1, x_2, x_3)) = 0
POL(m.1(x_1)) = 1 + x_1
POL(mark.0(x_1)) = 0
POL(mark.1(x_1)) = x_1
POL(ok.0(x_1)) = 1 + x_1
POL(ok.1(x_1)) = 1 + x_1
The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented:
f.0-0-0(x, y, mark.0(z)) -> mark.0(f.0-0-0(x, y, z))
f.0-0-0(x, y, mark.1(z)) -> mark.0(f.0-0-1(x, y, z))
f.0-0-0(ok.0(x), ok.0(y), ok.0(z)) -> ok.0(f.0-0-0(x, y, z))
f.0-1-0(x, y, mark.0(z)) -> mark.0(f.0-1-0(x, y, z))
f.0-1-0(x, y, mark.1(z)) -> mark.0(f.0-1-1(x, y, z))
f.0-1-0(ok.0(x), ok.1(y), ok.0(z)) -> ok.0(f.0-1-0(x, y, z))
f.1-0-0(x, y, mark.0(z)) -> mark.0(f.1-0-0(x, y, z))
f.1-0-0(x, y, mark.1(z)) -> mark.0(f.1-0-1(x, y, z))
f.1-0-0(ok.1(x), ok.0(y), ok.0(z)) -> ok.0(f.1-0-0(x, y, z))
f.1-1-0(x, y, mark.0(z)) -> mark.0(f.1-1-0(x, y, z))
f.1-1-0(x, y, mark.1(z)) -> mark.0(f.1-1-1(x, y, z))
f.1-1-0(ok.1(x), ok.1(y), ok.0(z)) -> ok.0(f.1-1-0(x, y, z))
----------------------------------------
(46)
Obligation:
Q DP problem:
P is empty.
The TRS R consists of the following rules:
proper.1(b.) -> ok.1(b.)
proper.0(c.) -> ok.0(c.)
proper.0(d.) -> ok.0(d.)
proper.0(f.0-0-0(x, y, z)) -> f.0-0-0(proper.0(x), proper.0(y), proper.0(z))
proper.0(f.0-0-1(x, y, z)) -> f.0-0-1(proper.0(x), proper.0(y), proper.1(z))
proper.0(f.0-1-0(x, y, z)) -> f.0-1-0(proper.0(x), proper.1(y), proper.0(z))
proper.0(f.0-1-1(x, y, z)) -> f.0-1-1(proper.0(x), proper.1(y), proper.1(z))
proper.0(f.1-0-0(x, y, z)) -> f.1-0-0(proper.1(x), proper.0(y), proper.0(z))
proper.0(f.1-0-1(x, y, z)) -> f.1-0-1(proper.1(x), proper.0(y), proper.1(z))
proper.0(f.1-1-0(x, y, z)) -> f.1-1-0(proper.1(x), proper.1(y), proper.0(z))
proper.0(f.1-1-1(x, y, z)) -> f.1-1-1(proper.1(x), proper.1(y), proper.1(z))
f.0-0-0(x, y, mark.0(z)) -> mark.0(f.0-0-0(x, y, z))
f.0-0-0(x, y, mark.1(z)) -> mark.0(f.0-0-1(x, y, z))
f.0-1-0(x, y, mark.0(z)) -> mark.0(f.0-1-0(x, y, z))
f.0-1-0(x, y, mark.1(z)) -> mark.0(f.0-1-1(x, y, z))
f.1-0-0(x, y, mark.0(z)) -> mark.0(f.1-0-0(x, y, z))
f.1-0-0(x, y, mark.1(z)) -> mark.0(f.1-0-1(x, y, z))
f.1-1-0(x, y, mark.0(z)) -> mark.0(f.1-1-0(x, y, z))
f.1-1-0(x, y, mark.1(z)) -> mark.0(f.1-1-1(x, y, z))
f.0-0-0(ok.0(x), ok.0(y), ok.0(z)) -> ok.0(f.0-0-0(x, y, z))
f.0-0-1(ok.0(x), ok.0(y), ok.1(z)) -> ok.0(f.0-0-1(x, y, z))
f.0-1-0(ok.0(x), ok.1(y), ok.0(z)) -> ok.0(f.0-1-0(x, y, z))
f.0-1-1(ok.0(x), ok.1(y), ok.1(z)) -> ok.0(f.0-1-1(x, y, z))
f.1-0-0(ok.1(x), ok.0(y), ok.0(z)) -> ok.0(f.1-0-0(x, y, z))
f.1-0-1(ok.1(x), ok.0(y), ok.1(z)) -> ok.0(f.1-0-1(x, y, z))
f.1-1-0(ok.1(x), ok.1(y), ok.0(z)) -> ok.0(f.1-1-0(x, y, z))
f.1-1-1(ok.1(x), ok.1(y), ok.1(z)) -> ok.0(f.1-1-1(x, y, z))
active.0(f.1-0-0(b., c., x)) -> mark.0(f.0-0-0(x, x, x))
active.0(f.1-0-1(b., c., x)) -> mark.0(f.1-1-1(x, x, x))
active.0(f.0-0-0(x, y, z)) -> f.0-0-0(x, y, active.0(z))
active.0(f.0-0-1(x, y, z)) -> f.0-0-0(x, y, active.1(z))
active.0(f.0-1-0(x, y, z)) -> f.0-1-0(x, y, active.0(z))
active.0(f.0-1-1(x, y, z)) -> f.0-1-0(x, y, active.1(z))
active.0(f.1-0-0(x, y, z)) -> f.1-0-0(x, y, active.0(z))
active.0(f.1-0-1(x, y, z)) -> f.1-0-0(x, y, active.1(z))
active.0(f.1-1-0(x, y, z)) -> f.1-1-0(x, y, active.0(z))
active.0(f.1-1-1(x, y, z)) -> f.1-1-0(x, y, active.1(z))
active.0(d.) -> m.1(b.)
active.0(d.) -> mark.0(c.)
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
----------------------------------------
(47) PisEmptyProof (EQUIVALENT)
The TRS P is empty. Hence, there is no (P,Q,R) chain.
----------------------------------------
(48)
YES