R
↳Dependency Pair Analysis
F(f(f(a, b), c), x) -> F(b, f(a, f(c, f(b, x))))
F(f(f(a, b), c), x) -> F(a, f(c, f(b, x)))
F(f(f(a, b), c), x) -> F(c, f(b, x))
F(f(f(a, b), c), x) -> F(b, x)
F(x, f(y, z)) -> F(f(x, y), z)
F(x, f(y, z)) -> F(x, y)
R
↳DPs
→DP Problem 1
↳Modular Removal of Rules
F(f(f(a, b), c), x) -> F(b, x)
F(f(f(a, b), c), x) -> F(c, f(b, x))
F(x, f(y, z)) -> F(x, y)
F(f(f(a, b), c), x) -> F(a, f(c, f(b, x)))
F(x, f(y, z)) -> F(f(x, y), z)
F(f(f(a, b), c), x) -> F(b, f(a, f(c, f(b, x))))
f(f(f(a, b), c), x) -> f(b, f(a, f(c, f(b, x))))
f(x, f(y, z)) -> f(f(x, y), z)
innermost
To remove rules and DPs from this DP problem we used the following monotonic and CE-compatible order: Polynomial ordering.
f(f(f(a, b), c), x) -> f(b, f(a, f(c, f(b, x))))
f(x, f(y, z)) -> f(f(x, y), z)
POL(c) = 0 POL(b) = 0 POL(a) = 1 POL(F(x1, x2)) = 1 + x1 + x2 POL(f(x1, x2)) = x1 + x2
F(f(f(a, b), c), x) -> F(b, x)
F(f(f(a, b), c), x) -> F(c, f(b, x))
R
↳DPs
→DP Problem 1
↳MRR
→DP Problem 2
↳Negative Polynomial Order
F(x, f(y, z)) -> F(x, y)
F(f(f(a, b), c), x) -> F(a, f(c, f(b, x)))
F(x, f(y, z)) -> F(f(x, y), z)
F(f(f(a, b), c), x) -> F(b, f(a, f(c, f(b, x))))
f(f(f(a, b), c), x) -> f(b, f(a, f(c, f(b, x))))
f(x, f(y, z)) -> f(f(x, y), z)
innermost
F(f(f(a, b), c), x) -> F(b, f(a, f(c, f(b, x))))
f(f(f(a, b), c), x) -> f(b, f(a, f(c, f(b, x))))
f(x, f(y, z)) -> f(f(x, y), z)
POL( F(x1, x2) ) = x1
POL( f(x1, x2) ) = x1
POL( a ) = 1
POL( b ) = 0
R
↳DPs
→DP Problem 1
↳MRR
→DP Problem 2
↳Neg POLO
...
→DP Problem 3
↳Narrowing Transformation
F(x, f(y, z)) -> F(x, y)
F(f(f(a, b), c), x) -> F(a, f(c, f(b, x)))
F(x, f(y, z)) -> F(f(x, y), z)
f(f(f(a, b), c), x) -> f(b, f(a, f(c, f(b, x))))
f(x, f(y, z)) -> f(f(x, y), z)
innermost
two new Dependency Pairs are created:
F(f(f(a, b), c), x) -> F(a, f(c, f(b, x)))
F(f(f(a, b), c), x'') -> F(a, f(f(c, b), x''))
F(f(f(a, b), c), f(y', z')) -> F(a, f(c, f(f(b, y'), z')))
R
↳DPs
→DP Problem 1
↳MRR
→DP Problem 2
↳Neg POLO
...
→DP Problem 4
↳Semantic Labelling
F(f(f(a, b), c), f(y', z')) -> F(a, f(c, f(f(b, y'), z')))
F(f(f(a, b), c), x'') -> F(a, f(f(c, b), x''))
F(x, f(y, z)) -> F(f(x, y), z)
F(x, f(y, z)) -> F(x, y)
f(f(f(a, b), c), x) -> f(b, f(a, f(c, f(b, x))))
f(x, f(y, z)) -> f(f(x, y), z)
innermost
f(x0, x1) = x1 a = 1 b = 0 c = 0 F(x0, x1) = 1
R
↳DPs
→DP Problem 1
↳MRR
→DP Problem 2
↳Neg POLO
...
→DP Problem 5
↳Modular Removal of Rules
F01(x, f11(y, z)) -> F01(x, y)
F01(x, f01(y, z)) -> F00(x, y)
F00(x, f10(y, z)) -> F01(x, y)
F00(x, f00(y, z)) -> F00(x, y)
f00(f00(f10(a, b), c), x) -> f00(b, f10(a, f00(c, f00(b, x))))
f00(x, f00(y, z)) -> f00(f00(x, y), z)
f00(x, f10(y, z)) -> f10(f01(x, y), z)
f10(x, f00(y, z)) -> f00(f10(x, y), z)
f10(x, f10(y, z)) -> f10(f11(x, y), z)
f01(f00(f10(a, b), c), x) -> f01(b, f11(a, f01(c, f01(b, x))))
f01(x, f01(y, z)) -> f01(f00(x, y), z)
f01(x, f11(y, z)) -> f11(f01(x, y), z)
f11(x, f01(y, z)) -> f01(f10(x, y), z)
f11(x, f11(y, z)) -> f11(f11(x, y), z)
innermost
POL(f_11(x1, x2)) = x1 + x2 POL(F_00(x1, x2)) = x1 + x2 POL(f_00(x1, x2)) = x1 + x2 POL(f_10(x1, x2)) = x1 + x2 POL(F_01(x1, x2)) = x1 + x2 POL(f_01(x1, x2)) = x1 + x2
F01(x, f11(y, z)) -> F01(x, y)
F01(x, f01(y, z)) -> F00(x, y)
F00(x, f10(y, z)) -> F01(x, y)
F00(x, f00(y, z)) -> F00(x, y)
R
↳DPs
→DP Problem 1
↳MRR
→DP Problem 2
↳Neg POLO
...
→DP Problem 6
↳Modular Removal of Rules
F11(x, f11(y, z)) -> F11(x, y)
F11(x, f01(y, z)) -> F10(x, y)
F01(f00(f10(a, b), c), x'') -> F11(a, f01(f00(c, b), x''))
F11(x, f01(y, z)) -> F01(f10(x, y), z)
F10(x, f10(y, z)) -> F11(x, y)
F10(x, f00(y, z)) -> F10(x, y)
F00(f00(f10(a, b), c), x'') -> F10(a, f00(f00(c, b), x''))
F10(x, f00(y, z)) -> F00(f10(x, y), z)
f00(f00(f10(a, b), c), x) -> f00(b, f10(a, f00(c, f00(b, x))))
f00(x, f00(y, z)) -> f00(f00(x, y), z)
f00(x, f10(y, z)) -> f10(f01(x, y), z)
f10(x, f00(y, z)) -> f00(f10(x, y), z)
f10(x, f10(y, z)) -> f10(f11(x, y), z)
f01(f00(f10(a, b), c), x) -> f01(b, f11(a, f01(c, f01(b, x))))
f01(x, f01(y, z)) -> f01(f00(x, y), z)
f01(x, f11(y, z)) -> f11(f01(x, y), z)
f11(x, f01(y, z)) -> f01(f10(x, y), z)
f11(x, f11(y, z)) -> f11(f11(x, y), z)
innermost
To remove rules and DPs from this DP problem we used the following monotonic and CE-compatible order: Polynomial ordering.
f11(x, f11(y, z)) -> f11(f11(x, y), z)
f10(x, f10(y, z)) -> f10(f11(x, y), z)
f01(f00(f10(a, b), c), x) -> f01(b, f11(a, f01(c, f01(b, x))))
f00(x, f10(y, z)) -> f10(f01(x, y), z)
f10(x, f00(y, z)) -> f00(f10(x, y), z)
f01(x, f01(y, z)) -> f01(f00(x, y), z)
f01(x, f11(y, z)) -> f11(f01(x, y), z)
f11(x, f01(y, z)) -> f01(f10(x, y), z)
f00(f00(f10(a, b), c), x) -> f00(b, f10(a, f00(c, f00(b, x))))
f00(x, f00(y, z)) -> f00(f00(x, y), z)
POL(f_11(x1, x2)) = 1 + x1 + x2 POL(c) = 0 POL(f_00(x1, x2)) = x1 + x2 POL(F_00(x1, x2)) = x1 + x2 POL(b) = 0 POL(F_11(x1, x2)) = 1 + x1 + x2 POL(f_10(x1, x2)) = 1 + x1 + x2 POL(f_01(x1, x2)) = x1 + x2 POL(F_01(x1, x2)) = x1 + x2 POL(F_10(x1, x2)) = 1 + x1 + x2 POL(a) = 0
F11(x, f11(y, z)) -> F11(x, y)
F10(x, f10(y, z)) -> F11(x, y)
R
↳DPs
→DP Problem 1
↳MRR
→DP Problem 2
↳Neg POLO
...
→DP Problem 7
↳Unlabel
F10(x, f00(y, z)) -> F10(x, y)
F00(f00(f10(a, b), c), x'') -> F10(a, f00(f00(c, b), x''))
F10(x, f00(y, z)) -> F00(f10(x, y), z)
f00(f00(f10(a, b), c), x) -> f00(b, f10(a, f00(c, f00(b, x))))
f00(x, f00(y, z)) -> f00(f00(x, y), z)
f00(x, f10(y, z)) -> f10(f01(x, y), z)
f10(x, f00(y, z)) -> f00(f10(x, y), z)
f10(x, f10(y, z)) -> f10(f11(x, y), z)
f01(f00(f10(a, b), c), x) -> f01(b, f11(a, f01(c, f01(b, x))))
f01(x, f01(y, z)) -> f01(f00(x, y), z)
f01(x, f11(y, z)) -> f11(f01(x, y), z)
f11(x, f01(y, z)) -> f01(f10(x, y), z)
f11(x, f11(y, z)) -> f11(f11(x, y), z)
innermost
R
↳DPs
→DP Problem 1
↳MRR
→DP Problem 2
↳Neg POLO
...
→DP Problem 10
↳Remaining Obligation(s)
F(x, f(y, z)) -> F(f(x, y), z)
F(f(f(a, b), c), x'') -> F(a, f(f(c, b), x''))
F(x, f(y, z)) -> F(x, y)
f(f(f(a, b), c), x) -> f(b, f(a, f(c, f(b, x))))
f(x, f(y, z)) -> f(f(x, y), z)
innermost
F(x, f(y, z)) -> F(f(x, y), z)
F(f(f(a, b), c), x'') -> F(a, f(f(c, b), x''))
f(f(f(a, b), c), x) -> f(b, f(a, f(c, f(b, x))))
f(x, f(y, z)) -> f(f(x, y), z)
innermost
R
↳DPs
→DP Problem 1
↳MRR
→DP Problem 2
↳Neg POLO
...
→DP Problem 8
↳Unlabel
F11(x, f01(y, z)) -> F01(f10(x, y), z)
F01(f00(f10(a, b), c), x'') -> F11(a, f01(f00(c, b), x''))
f00(f00(f10(a, b), c), x) -> f00(b, f10(a, f00(c, f00(b, x))))
f00(x, f00(y, z)) -> f00(f00(x, y), z)
f00(x, f10(y, z)) -> f10(f01(x, y), z)
f10(x, f00(y, z)) -> f00(f10(x, y), z)
f10(x, f10(y, z)) -> f10(f11(x, y), z)
f01(f00(f10(a, b), c), x) -> f01(b, f11(a, f01(c, f01(b, x))))
f01(x, f01(y, z)) -> f01(f00(x, y), z)
f01(x, f11(y, z)) -> f11(f01(x, y), z)
f11(x, f01(y, z)) -> f01(f10(x, y), z)
f11(x, f11(y, z)) -> f11(f11(x, y), z)
innermost
R
↳DPs
→DP Problem 1
↳MRR
→DP Problem 2
↳Neg POLO
...
→DP Problem 10
↳Remaining Obligation(s)
F(x, f(y, z)) -> F(f(x, y), z)
F(f(f(a, b), c), x'') -> F(a, f(f(c, b), x''))
F(x, f(y, z)) -> F(x, y)
f(f(f(a, b), c), x) -> f(b, f(a, f(c, f(b, x))))
f(x, f(y, z)) -> f(f(x, y), z)
innermost
F(x, f(y, z)) -> F(f(x, y), z)
F(f(f(a, b), c), x'') -> F(a, f(f(c, b), x''))
f(f(f(a, b), c), x) -> f(b, f(a, f(c, f(b, x))))
f(x, f(y, z)) -> f(f(x, y), z)
innermost