Term Rewriting System R:
[X, Y, X1, X2]
f(g(X), Y) -> f(X, nf(ng(X), activate(Y)))
f(X1, X2) -> nf(X1, X2)
g(X) -> ng(X)
activate(nf(X1, X2)) -> f(activate(X1), X2)
activate(ng(X)) -> g(activate(X))
activate(X) -> X

Termination of R to be shown.

`   R`
`     ↳Dependency Pair Analysis`

R contains the following Dependency Pairs:

F(g(X), Y) -> F(X, nf(ng(X), activate(Y)))
F(g(X), Y) -> ACTIVATE(Y)
ACTIVATE(nf(X1, X2)) -> F(activate(X1), X2)
ACTIVATE(nf(X1, X2)) -> ACTIVATE(X1)
ACTIVATE(ng(X)) -> G(activate(X))
ACTIVATE(ng(X)) -> ACTIVATE(X)

Furthermore, R contains one SCC.

`   R`
`     ↳DPs`
`       →DP Problem 1`
`         ↳Narrowing Transformation`

Dependency Pairs:

ACTIVATE(ng(X)) -> ACTIVATE(X)
ACTIVATE(nf(X1, X2)) -> ACTIVATE(X1)
ACTIVATE(nf(X1, X2)) -> F(activate(X1), X2)
F(g(X), Y) -> ACTIVATE(Y)
F(g(X), Y) -> F(X, nf(ng(X), activate(Y)))

Rules:

f(g(X), Y) -> f(X, nf(ng(X), activate(Y)))
f(X1, X2) -> nf(X1, X2)
g(X) -> ng(X)
activate(nf(X1, X2)) -> f(activate(X1), X2)
activate(ng(X)) -> g(activate(X))
activate(X) -> X

On this DP problem, a Narrowing SCC transformation can be performed.
As a result of transforming the rule

ACTIVATE(nf(X1, X2)) -> F(activate(X1), X2)
three new Dependency Pairs are created:

ACTIVATE(nf(nf(X1'', X2''), X2)) -> F(f(activate(X1''), X2''), X2)
ACTIVATE(nf(ng(X'), X2)) -> F(g(activate(X')), X2)
ACTIVATE(nf(X1', X2)) -> F(X1', X2)

The transformation is resulting in one new DP problem:

`   R`
`     ↳DPs`
`       →DP Problem 1`
`         ↳Nar`
`           →DP Problem 2`
`             ↳Remaining Obligation(s)`

The following remains to be proven:
Dependency Pairs:

ACTIVATE(nf(X1', X2)) -> F(X1', X2)
ACTIVATE(nf(ng(X'), X2)) -> F(g(activate(X')), X2)
F(g(X), Y) -> ACTIVATE(Y)
F(g(X), Y) -> F(X, nf(ng(X), activate(Y)))
ACTIVATE(nf(nf(X1'', X2''), X2)) -> F(f(activate(X1''), X2''), X2)
ACTIVATE(nf(X1, X2)) -> ACTIVATE(X1)
ACTIVATE(ng(X)) -> ACTIVATE(X)

Rules:

f(g(X), Y) -> f(X, nf(ng(X), activate(Y)))
f(X1, X2) -> nf(X1, X2)
g(X) -> ng(X)
activate(nf(X1, X2)) -> f(activate(X1), X2)
activate(ng(X)) -> g(activate(X))
activate(X) -> X

Termination of R could not be shown.
Duration:
0:00 minutes