R
↳Dependency Pair Analysis
EQ(s(X), s(Y)) -> EQ(X, Y)
RM(N, add(M, X)) -> IFRM(eq(N, M), N, add(M, X))
RM(N, add(M, X)) -> EQ(N, M)
IFRM(true, N, add(M, X)) -> RM(N, X)
IFRM(false, N, add(M, X)) -> RM(N, X)
PURGE(add(N, X)) -> PURGE(rm(N, X))
PURGE(add(N, X)) -> RM(N, X)
R
↳DPs
→DP Problem 1
↳Argument Filtering and Ordering
→DP Problem 2
↳Nar
→DP Problem 3
↳Remaining
EQ(s(X), s(Y)) -> EQ(X, Y)
eq(0, 0) -> true
eq(0, s(X)) -> false
eq(s(X), 0) -> false
eq(s(X), s(Y)) -> eq(X, Y)
rm(N, nil) -> nil
rm(N, add(M, X)) -> ifrm(eq(N, M), N, add(M, X))
ifrm(true, N, add(M, X)) -> rm(N, X)
ifrm(false, N, add(M, X)) -> add(M, rm(N, X))
purge(nil) -> nil
purge(add(N, X)) -> add(N, purge(rm(N, X)))
innermost
EQ(s(X), s(Y)) -> EQ(X, Y)
EQ(x1, x2) -> EQ(x1, x2)
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 4
↳Dependency Graph
→DP Problem 2
↳Nar
→DP Problem 3
↳Remaining
eq(0, 0) -> true
eq(0, s(X)) -> false
eq(s(X), 0) -> false
eq(s(X), s(Y)) -> eq(X, Y)
rm(N, nil) -> nil
rm(N, add(M, X)) -> ifrm(eq(N, M), N, add(M, X))
ifrm(true, N, add(M, X)) -> rm(N, X)
ifrm(false, N, add(M, X)) -> add(M, rm(N, X))
purge(nil) -> nil
purge(add(N, X)) -> add(N, purge(rm(N, X)))
innermost
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳Narrowing Transformation
→DP Problem 3
↳Remaining
IFRM(false, N, add(M, X)) -> RM(N, X)
IFRM(true, N, add(M, X)) -> RM(N, X)
RM(N, add(M, X)) -> IFRM(eq(N, M), N, add(M, X))
eq(0, 0) -> true
eq(0, s(X)) -> false
eq(s(X), 0) -> false
eq(s(X), s(Y)) -> eq(X, Y)
rm(N, nil) -> nil
rm(N, add(M, X)) -> ifrm(eq(N, M), N, add(M, X))
ifrm(true, N, add(M, X)) -> rm(N, X)
ifrm(false, N, add(M, X)) -> add(M, rm(N, X))
purge(nil) -> nil
purge(add(N, X)) -> add(N, purge(rm(N, X)))
innermost
four new Dependency Pairs are created:
RM(N, add(M, X)) -> IFRM(eq(N, M), N, add(M, X))
RM(0, add(0, X)) -> IFRM(true, 0, add(0, X))
RM(0, add(s(X''), X)) -> IFRM(false, 0, add(s(X''), X))
RM(s(X''), add(0, X)) -> IFRM(false, s(X''), add(0, X))
RM(s(X''), add(s(Y'), X)) -> IFRM(eq(X'', Y'), s(X''), add(s(Y'), X))
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳Nar
→DP Problem 5
↳Instantiation Transformation
→DP Problem 3
↳Remaining
RM(s(X''), add(s(Y'), X)) -> IFRM(eq(X'', Y'), s(X''), add(s(Y'), X))
RM(s(X''), add(0, X)) -> IFRM(false, s(X''), add(0, X))
RM(0, add(s(X''), X)) -> IFRM(false, 0, add(s(X''), X))
IFRM(true, N, add(M, X)) -> RM(N, X)
RM(0, add(0, X)) -> IFRM(true, 0, add(0, X))
IFRM(false, N, add(M, X)) -> RM(N, X)
eq(0, 0) -> true
eq(0, s(X)) -> false
eq(s(X), 0) -> false
eq(s(X), s(Y)) -> eq(X, Y)
rm(N, nil) -> nil
rm(N, add(M, X)) -> ifrm(eq(N, M), N, add(M, X))
ifrm(true, N, add(M, X)) -> rm(N, X)
ifrm(false, N, add(M, X)) -> add(M, rm(N, X))
purge(nil) -> nil
purge(add(N, X)) -> add(N, purge(rm(N, X)))
innermost
two new Dependency Pairs are created:
IFRM(true, N, add(M, X)) -> RM(N, X)
IFRM(true, 0, add(0, X'')) -> RM(0, X'')
IFRM(true, s(X''''), add(s(Y'''), X'')) -> RM(s(X''''), X'')
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳Nar
→DP Problem 5
↳Inst
...
→DP Problem 6
↳Instantiation Transformation
→DP Problem 3
↳Remaining
IFRM(true, s(X''''), add(s(Y'''), X'')) -> RM(s(X''''), X'')
RM(s(X''), add(0, X)) -> IFRM(false, s(X''), add(0, X))
RM(0, add(s(X''), X)) -> IFRM(false, 0, add(s(X''), X))
IFRM(true, 0, add(0, X'')) -> RM(0, X'')
RM(0, add(0, X)) -> IFRM(true, 0, add(0, X))
IFRM(false, N, add(M, X)) -> RM(N, X)
RM(s(X''), add(s(Y'), X)) -> IFRM(eq(X'', Y'), s(X''), add(s(Y'), X))
eq(0, 0) -> true
eq(0, s(X)) -> false
eq(s(X), 0) -> false
eq(s(X), s(Y)) -> eq(X, Y)
rm(N, nil) -> nil
rm(N, add(M, X)) -> ifrm(eq(N, M), N, add(M, X))
ifrm(true, N, add(M, X)) -> rm(N, X)
ifrm(false, N, add(M, X)) -> add(M, rm(N, X))
purge(nil) -> nil
purge(add(N, X)) -> add(N, purge(rm(N, X)))
innermost
three new Dependency Pairs are created:
IFRM(false, N, add(M, X)) -> RM(N, X)
IFRM(false, 0, add(s(X''''), X'')) -> RM(0, X'')
IFRM(false, s(X''''), add(0, X'')) -> RM(s(X''''), X'')
IFRM(false, s(X''''), add(s(Y'''), X'')) -> RM(s(X''''), X'')
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳Nar
→DP Problem 3
↳Remaining Obligation(s)
IFRM(false, s(X''''), add(s(Y'''), X'')) -> RM(s(X''''), X'')
RM(s(X''), add(s(Y'), X)) -> IFRM(eq(X'', Y'), s(X''), add(s(Y'), X))
IFRM(false, s(X''''), add(0, X'')) -> RM(s(X''''), X'')
RM(s(X''), add(0, X)) -> IFRM(false, s(X''), add(0, X))
IFRM(true, s(X''''), add(s(Y'''), X'')) -> RM(s(X''''), X'')
eq(0, 0) -> true
eq(0, s(X)) -> false
eq(s(X), 0) -> false
eq(s(X), s(Y)) -> eq(X, Y)
rm(N, nil) -> nil
rm(N, add(M, X)) -> ifrm(eq(N, M), N, add(M, X))
ifrm(true, N, add(M, X)) -> rm(N, X)
ifrm(false, N, add(M, X)) -> add(M, rm(N, X))
purge(nil) -> nil
purge(add(N, X)) -> add(N, purge(rm(N, X)))
innermost
PURGE(add(N, X)) -> PURGE(rm(N, X))
eq(0, 0) -> true
eq(0, s(X)) -> false
eq(s(X), 0) -> false
eq(s(X), s(Y)) -> eq(X, Y)
rm(N, nil) -> nil
rm(N, add(M, X)) -> ifrm(eq(N, M), N, add(M, X))
ifrm(true, N, add(M, X)) -> rm(N, X)
ifrm(false, N, add(M, X)) -> add(M, rm(N, X))
purge(nil) -> nil
purge(add(N, X)) -> add(N, purge(rm(N, X)))
innermost
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳Nar
→DP Problem 5
↳Inst
...
→DP Problem 8
↳Argument Filtering and Ordering
→DP Problem 3
↳Remaining
IFRM(true, 0, add(0, X'')) -> RM(0, X'')
RM(0, add(0, X)) -> IFRM(true, 0, add(0, X))
IFRM(false, 0, add(s(X''''), X'')) -> RM(0, X'')
RM(0, add(s(X''), X)) -> IFRM(false, 0, add(s(X''), X))
eq(0, 0) -> true
eq(0, s(X)) -> false
eq(s(X), 0) -> false
eq(s(X), s(Y)) -> eq(X, Y)
rm(N, nil) -> nil
rm(N, add(M, X)) -> ifrm(eq(N, M), N, add(M, X))
ifrm(true, N, add(M, X)) -> rm(N, X)
ifrm(false, N, add(M, X)) -> add(M, rm(N, X))
purge(nil) -> nil
purge(add(N, X)) -> add(N, purge(rm(N, X)))
innermost
IFRM(true, 0, add(0, X'')) -> RM(0, X'')
IFRM(false, 0, add(s(X''''), X'')) -> RM(0, X'')
RM(x1, x2) -> x2
add(x1, x2) -> add(x1, x2)
IFRM(x1, x2, x3) -> x3
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳Nar
→DP Problem 5
↳Inst
...
→DP Problem 9
↳Dependency Graph
→DP Problem 3
↳Remaining
RM(0, add(0, X)) -> IFRM(true, 0, add(0, X))
RM(0, add(s(X''), X)) -> IFRM(false, 0, add(s(X''), X))
eq(0, 0) -> true
eq(0, s(X)) -> false
eq(s(X), 0) -> false
eq(s(X), s(Y)) -> eq(X, Y)
rm(N, nil) -> nil
rm(N, add(M, X)) -> ifrm(eq(N, M), N, add(M, X))
ifrm(true, N, add(M, X)) -> rm(N, X)
ifrm(false, N, add(M, X)) -> add(M, rm(N, X))
purge(nil) -> nil
purge(add(N, X)) -> add(N, purge(rm(N, X)))
innermost
R
↳DPs
→DP Problem 1
↳AFS
→DP Problem 2
↳Nar
→DP Problem 3
↳Remaining Obligation(s)
IFRM(false, s(X''''), add(s(Y'''), X'')) -> RM(s(X''''), X'')
RM(s(X''), add(s(Y'), X)) -> IFRM(eq(X'', Y'), s(X''), add(s(Y'), X))
IFRM(false, s(X''''), add(0, X'')) -> RM(s(X''''), X'')
RM(s(X''), add(0, X)) -> IFRM(false, s(X''), add(0, X))
IFRM(true, s(X''''), add(s(Y'''), X'')) -> RM(s(X''''), X'')
eq(0, 0) -> true
eq(0, s(X)) -> false
eq(s(X), 0) -> false
eq(s(X), s(Y)) -> eq(X, Y)
rm(N, nil) -> nil
rm(N, add(M, X)) -> ifrm(eq(N, M), N, add(M, X))
ifrm(true, N, add(M, X)) -> rm(N, X)
ifrm(false, N, add(M, X)) -> add(M, rm(N, X))
purge(nil) -> nil
purge(add(N, X)) -> add(N, purge(rm(N, X)))
innermost
PURGE(add(N, X)) -> PURGE(rm(N, X))
eq(0, 0) -> true
eq(0, s(X)) -> false
eq(s(X), 0) -> false
eq(s(X), s(Y)) -> eq(X, Y)
rm(N, nil) -> nil
rm(N, add(M, X)) -> ifrm(eq(N, M), N, add(M, X))
ifrm(true, N, add(M, X)) -> rm(N, X)
ifrm(false, N, add(M, X)) -> add(M, rm(N, X))
purge(nil) -> nil
purge(add(N, X)) -> add(N, purge(rm(N, X)))
innermost