R
↳Dependency Pair Analysis
AF(s(0)) -> AF(ap(s(0)))
AF(s(0)) -> AP(s(0))
MARK(f(X)) -> AF(mark(X))
MARK(f(X)) -> MARK(X)
MARK(p(X)) -> AP(mark(X))
MARK(p(X)) -> MARK(X)
MARK(cons(X1, X2)) -> MARK(X1)
MARK(s(X)) -> MARK(X)
R
↳DPs
→DP Problem 1
↳Narrowing Transformation
→DP Problem 2
↳Polo
AF(s(0)) -> AF(ap(s(0)))
af(0) -> cons(0, f(s(0)))
af(s(0)) -> af(ap(s(0)))
af(X) -> f(X)
ap(s(0)) -> 0
ap(X) -> p(X)
mark(f(X)) -> af(mark(X))
mark(p(X)) -> ap(mark(X))
mark(0) -> 0
mark(cons(X1, X2)) -> cons(mark(X1), X2)
mark(s(X)) -> s(mark(X))
innermost
two new Dependency Pairs are created:
AF(s(0)) -> AF(ap(s(0)))
AF(s(0)) -> AF(0)
AF(s(0)) -> AF(p(s(0)))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Polynomial Ordering
MARK(s(X)) -> MARK(X)
MARK(cons(X1, X2)) -> MARK(X1)
MARK(p(X)) -> MARK(X)
MARK(f(X)) -> MARK(X)
af(0) -> cons(0, f(s(0)))
af(s(0)) -> af(ap(s(0)))
af(X) -> f(X)
ap(s(0)) -> 0
ap(X) -> p(X)
mark(f(X)) -> af(mark(X))
mark(p(X)) -> ap(mark(X))
mark(0) -> 0
mark(cons(X1, X2)) -> cons(mark(X1), X2)
mark(s(X)) -> s(mark(X))
innermost
MARK(f(X)) -> MARK(X)
POL(MARK(x1)) = x1 POL(cons(x1, x2)) = x1 POL(s(x1)) = x1 POL(f(x1)) = 1 + x1 POL(p(x1)) = x1
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Polo
→DP Problem 3
↳Polynomial Ordering
MARK(s(X)) -> MARK(X)
MARK(cons(X1, X2)) -> MARK(X1)
MARK(p(X)) -> MARK(X)
af(0) -> cons(0, f(s(0)))
af(s(0)) -> af(ap(s(0)))
af(X) -> f(X)
ap(s(0)) -> 0
ap(X) -> p(X)
mark(f(X)) -> af(mark(X))
mark(p(X)) -> ap(mark(X))
mark(0) -> 0
mark(cons(X1, X2)) -> cons(mark(X1), X2)
mark(s(X)) -> s(mark(X))
innermost
MARK(s(X)) -> MARK(X)
POL(MARK(x1)) = x1 POL(cons(x1, x2)) = x1 POL(s(x1)) = 1 + x1 POL(p(x1)) = x1
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Polo
→DP Problem 3
↳Polo
...
→DP Problem 4
↳Polynomial Ordering
MARK(cons(X1, X2)) -> MARK(X1)
MARK(p(X)) -> MARK(X)
af(0) -> cons(0, f(s(0)))
af(s(0)) -> af(ap(s(0)))
af(X) -> f(X)
ap(s(0)) -> 0
ap(X) -> p(X)
mark(f(X)) -> af(mark(X))
mark(p(X)) -> ap(mark(X))
mark(0) -> 0
mark(cons(X1, X2)) -> cons(mark(X1), X2)
mark(s(X)) -> s(mark(X))
innermost
MARK(cons(X1, X2)) -> MARK(X1)
POL(MARK(x1)) = x1 POL(cons(x1, x2)) = 1 + x1 POL(p(x1)) = x1
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Polo
→DP Problem 3
↳Polo
...
→DP Problem 5
↳Polynomial Ordering
MARK(p(X)) -> MARK(X)
af(0) -> cons(0, f(s(0)))
af(s(0)) -> af(ap(s(0)))
af(X) -> f(X)
ap(s(0)) -> 0
ap(X) -> p(X)
mark(f(X)) -> af(mark(X))
mark(p(X)) -> ap(mark(X))
mark(0) -> 0
mark(cons(X1, X2)) -> cons(mark(X1), X2)
mark(s(X)) -> s(mark(X))
innermost
MARK(p(X)) -> MARK(X)
POL(MARK(x1)) = x1 POL(p(x1)) = 1 + x1
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Polo
→DP Problem 3
↳Polo
...
→DP Problem 6
↳Dependency Graph
af(0) -> cons(0, f(s(0)))
af(s(0)) -> af(ap(s(0)))
af(X) -> f(X)
ap(s(0)) -> 0
ap(X) -> p(X)
mark(f(X)) -> af(mark(X))
mark(p(X)) -> ap(mark(X))
mark(0) -> 0
mark(cons(X1, X2)) -> cons(mark(X1), X2)
mark(s(X)) -> s(mark(X))
innermost