R
↳Dependency Pair Analysis
AND(x, or(y, z)) -> OR(and(x, y), and(x, z))
AND(x, or(y, z)) -> AND(x, y)
AND(x, or(y, z)) -> AND(x, z)
AND(x, and(y, y)) -> AND(x, y)
OR(x, or(y, y)) -> OR(x, y)
R
↳DPs
→DP Problem 1
↳Forward Instantiation Transformation
AND(x, or(y, z)) -> AND(x, z)
AND(x, or(y, z)) -> AND(x, y)
and(x, or(y, z)) -> or(and(x, y), and(x, z))
and(x, and(y, y)) -> and(x, y)
and(x, true) -> x
and(false, y) -> false
and(x, x) -> x
or(or(x, y), and(y, z)) -> or(x, y)
or(x, and(x, y)) -> x
or(true, y) -> true
or(x, false) -> x
or(x, x) -> x
or(x, or(y, y)) -> or(x, y)
innermost
one new Dependency Pair is created:
AND(x, or(y, z)) -> AND(x, y)
AND(x'', or(or(y'', z''), z)) -> AND(x'', or(y'', z''))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Forward Instantiation Transformation
AND(x'', or(or(y'', z''), z)) -> AND(x'', or(y'', z''))
AND(x, or(y, z)) -> AND(x, z)
and(x, or(y, z)) -> or(and(x, y), and(x, z))
and(x, and(y, y)) -> and(x, y)
and(x, true) -> x
and(false, y) -> false
and(x, x) -> x
or(or(x, y), and(y, z)) -> or(x, y)
or(x, and(x, y)) -> x
or(true, y) -> true
or(x, false) -> x
or(x, x) -> x
or(x, or(y, y)) -> or(x, y)
innermost
two new Dependency Pairs are created:
AND(x, or(y, z)) -> AND(x, z)
AND(x'', or(y, or(y'', z''))) -> AND(x'', or(y'', z''))
AND(x', or(y, or(or(y'''', z''''), z''))) -> AND(x', or(or(y'''', z''''), z''))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
...
→DP Problem 3
↳Argument Filtering and Ordering
AND(x', or(y, or(or(y'''', z''''), z''))) -> AND(x', or(or(y'''', z''''), z''))
AND(x'', or(y, or(y'', z''))) -> AND(x'', or(y'', z''))
AND(x'', or(or(y'', z''), z)) -> AND(x'', or(y'', z''))
and(x, or(y, z)) -> or(and(x, y), and(x, z))
and(x, and(y, y)) -> and(x, y)
and(x, true) -> x
and(false, y) -> false
and(x, x) -> x
or(or(x, y), and(y, z)) -> or(x, y)
or(x, and(x, y)) -> x
or(true, y) -> true
or(x, false) -> x
or(x, x) -> x
or(x, or(y, y)) -> or(x, y)
innermost
AND(x', or(y, or(or(y'''', z''''), z''))) -> AND(x', or(or(y'''', z''''), z''))
AND(x'', or(y, or(y'', z''))) -> AND(x'', or(y'', z''))
AND(x'', or(or(y'', z''), z)) -> AND(x'', or(y'', z''))
or(or(x, y), and(y, z)) -> or(x, y)
or(x, and(x, y)) -> x
or(true, y) -> true
or(x, false) -> x
or(x, x) -> x
or(x, or(y, y)) -> or(x, y)
POL(and(x1, x2)) = 1 + x1 + x2 POL(false) = 1 POL(or(x1, x2)) = 1 + x1 + x2 POL(true) = 0 POL(AND(x1, x2)) = 1 + x1 + x2
AND(x1, x2) -> AND(x1, x2)
or(x1, x2) -> or(x1, x2)
and(x1, x2) -> and(x1, x2)
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
...
→DP Problem 4
↳Dependency Graph
and(x, or(y, z)) -> or(and(x, y), and(x, z))
and(x, and(y, y)) -> and(x, y)
and(x, true) -> x
and(false, y) -> false
and(x, x) -> x
or(or(x, y), and(y, z)) -> or(x, y)
or(x, and(x, y)) -> x
or(true, y) -> true
or(x, false) -> x
or(x, x) -> x
or(x, or(y, y)) -> or(x, y)
innermost