R
↳Dependency Pair Analysis
F(X) -> IF(X, c, nf(ntrue))
IF(false, X, Y) -> ACTIVATE(Y)
ACTIVATE(nf(X)) -> F(activate(X))
ACTIVATE(nf(X)) -> ACTIVATE(X)
ACTIVATE(ntrue) -> TRUE
R
↳DPs
→DP Problem 1
↳Narrowing Transformation
ACTIVATE(nf(X)) -> ACTIVATE(X)
ACTIVATE(nf(X)) -> F(activate(X))
IF(false, X, Y) -> ACTIVATE(Y)
F(X) -> IF(X, c, nf(ntrue))
f(X) -> if(X, c, nf(ntrue))
f(X) -> nf(X)
if(true, X, Y) -> X
if(false, X, Y) -> activate(Y)
true -> ntrue
activate(nf(X)) -> f(activate(X))
activate(ntrue) -> true
activate(X) -> X
innermost
three new Dependency Pairs are created:
ACTIVATE(nf(X)) -> F(activate(X))
ACTIVATE(nf(nf(X''))) -> F(f(activate(X'')))
ACTIVATE(nf(ntrue)) -> F(true)
ACTIVATE(nf(X'')) -> F(X'')
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Rewriting Transformation
ACTIVATE(nf(X'')) -> F(X'')
ACTIVATE(nf(ntrue)) -> F(true)
IF(false, X, Y) -> ACTIVATE(Y)
F(X) -> IF(X, c, nf(ntrue))
ACTIVATE(nf(nf(X''))) -> F(f(activate(X'')))
ACTIVATE(nf(X)) -> ACTIVATE(X)
f(X) -> if(X, c, nf(ntrue))
f(X) -> nf(X)
if(true, X, Y) -> X
if(false, X, Y) -> activate(Y)
true -> ntrue
activate(nf(X)) -> f(activate(X))
activate(ntrue) -> true
activate(X) -> X
innermost
one new Dependency Pair is created:
ACTIVATE(nf(ntrue)) -> F(true)
ACTIVATE(nf(ntrue)) -> F(ntrue)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Rw
...
→DP Problem 3
↳Instantiation Transformation
ACTIVATE(nf(ntrue)) -> F(ntrue)
ACTIVATE(nf(nf(X''))) -> F(f(activate(X'')))
ACTIVATE(nf(X)) -> ACTIVATE(X)
IF(false, X, Y) -> ACTIVATE(Y)
F(X) -> IF(X, c, nf(ntrue))
ACTIVATE(nf(X'')) -> F(X'')
f(X) -> if(X, c, nf(ntrue))
f(X) -> nf(X)
if(true, X, Y) -> X
if(false, X, Y) -> activate(Y)
true -> ntrue
activate(nf(X)) -> f(activate(X))
activate(ntrue) -> true
activate(X) -> X
innermost
one new Dependency Pair is created:
IF(false, X, Y) -> ACTIVATE(Y)
IF(false, c, nf(ntrue)) -> ACTIVATE(nf(ntrue))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Rw
...
→DP Problem 4
↳Remaining Obligation(s)
ACTIVATE(nf(X'')) -> F(X'')
ACTIVATE(nf(nf(X''))) -> F(f(activate(X'')))
ACTIVATE(nf(X)) -> ACTIVATE(X)
IF(false, c, nf(ntrue)) -> ACTIVATE(nf(ntrue))
F(X) -> IF(X, c, nf(ntrue))
ACTIVATE(nf(ntrue)) -> F(ntrue)
f(X) -> if(X, c, nf(ntrue))
f(X) -> nf(X)
if(true, X, Y) -> X
if(false, X, Y) -> activate(Y)
true -> ntrue
activate(nf(X)) -> f(activate(X))
activate(ntrue) -> true
activate(X) -> X
innermost