(0) Obligation:

Q restricted rewrite system:
The TRS R consists of the following rules:

f(f(X)) → c(n__f(n__g(n__f(X))))
c(X) → d(activate(X))
h(X) → c(n__d(X))
f(X) → n__f(X)
g(X) → n__g(X)
d(X) → n__d(X)
activate(n__f(X)) → f(activate(X))
activate(n__g(X)) → g(X)
activate(n__d(X)) → d(X)
activate(X) → X

Q is empty.

(1) QTRS Reverse (EQUIVALENT transformation)

We applied the QTRS Reverse Processor [REVERSE].

(2) Obligation:

Q restricted rewrite system:
The TRS R consists of the following rules:

f(f(x)) → n__f(n__g(n__f(c(x))))
c(x) → activate(d(x))
h(x) → n__d(c(x))
f(x) → n__f(x)
g(x) → n__g(x)
d(x) → n__d(x)
n__f(activate(x)) → activate(f(x))
n__g(activate(x)) → g(x)
n__d(activate(x)) → d(x)
activate(x) → x

Q is empty.

(3) QTRS Reverse (EQUIVALENT transformation)

We applied the QTRS Reverse Processor [REVERSE].

(4) Obligation:

Q restricted rewrite system:
The TRS R consists of the following rules:

f(f(x)) → n__f(n__g(n__f(c(x))))
c(x) → activate(d(x))
h(x) → n__d(c(x))
f(x) → n__f(x)
g(x) → n__g(x)
d(x) → n__d(x)
n__f(activate(x)) → activate(f(x))
n__g(activate(x)) → g(x)
n__d(activate(x)) → d(x)
activate(x) → x

Q is empty.

(5) QTRSRRRProof (EQUIVALENT transformation)

Used ordering:
Polynomial interpretation [POLO]:

POL(activate(x1)) = x1   
POL(c(x1)) = x1   
POL(d(x1)) = x1   
POL(f(x1)) = x1   
POL(g(x1)) = x1   
POL(h(x1)) = 1 + x1   
POL(n__d(x1)) = x1   
POL(n__f(x1)) = x1   
POL(n__g(x1)) = x1   
With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:

h(X) → c(n__d(X))


(6) Obligation:

Q restricted rewrite system:
The TRS R consists of the following rules:

f(f(X)) → c(n__f(n__g(n__f(X))))
c(X) → d(activate(X))
f(X) → n__f(X)
g(X) → n__g(X)
d(X) → n__d(X)
activate(n__f(X)) → f(activate(X))
activate(n__g(X)) → g(X)
activate(n__d(X)) → d(X)
activate(X) → X

Q is empty.

(7) DependencyPairsProof (EQUIVALENT transformation)

Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem.

(8) Obligation:

Q DP problem:
The TRS P consists of the following rules:

F(f(X)) → C(n__f(n__g(n__f(X))))
C(X) → D(activate(X))
C(X) → ACTIVATE(X)
ACTIVATE(n__f(X)) → F(activate(X))
ACTIVATE(n__f(X)) → ACTIVATE(X)
ACTIVATE(n__g(X)) → G(X)
ACTIVATE(n__d(X)) → D(X)

The TRS R consists of the following rules:

f(f(X)) → c(n__f(n__g(n__f(X))))
c(X) → d(activate(X))
f(X) → n__f(X)
g(X) → n__g(X)
d(X) → n__d(X)
activate(n__f(X)) → f(activate(X))
activate(n__g(X)) → g(X)
activate(n__d(X)) → d(X)
activate(X) → X

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(9) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes.

(10) Obligation:

Q DP problem:
The TRS P consists of the following rules:

C(X) → ACTIVATE(X)
ACTIVATE(n__f(X)) → F(activate(X))
F(f(X)) → C(n__f(n__g(n__f(X))))
ACTIVATE(n__f(X)) → ACTIVATE(X)

The TRS R consists of the following rules:

f(f(X)) → c(n__f(n__g(n__f(X))))
c(X) → d(activate(X))
f(X) → n__f(X)
g(X) → n__g(X)
d(X) → n__d(X)
activate(n__f(X)) → f(activate(X))
activate(n__g(X)) → g(X)
activate(n__d(X)) → d(X)
activate(X) → X

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(11) MRRProof (EQUIVALENT transformation)

By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented.
Strictly oriented dependency pairs:

ACTIVATE(n__f(X)) → ACTIVATE(X)


Used ordering: Polynomial interpretation [POLO]:

POL(ACTIVATE(x1)) = x1   
POL(C(x1)) = x1   
POL(F(x1)) = 1 + x1   
POL(activate(x1)) = x1   
POL(c(x1)) = x1   
POL(d(x1)) = x1   
POL(f(x1)) = 1 + x1   
POL(g(x1)) = x1   
POL(n__d(x1)) = x1   
POL(n__f(x1)) = 1 + x1   
POL(n__g(x1)) = x1   

(12) Obligation:

Q DP problem:
The TRS P consists of the following rules:

C(X) → ACTIVATE(X)
ACTIVATE(n__f(X)) → F(activate(X))
F(f(X)) → C(n__f(n__g(n__f(X))))

The TRS R consists of the following rules:

f(f(X)) → c(n__f(n__g(n__f(X))))
c(X) → d(activate(X))
f(X) → n__f(X)
g(X) → n__g(X)
d(X) → n__d(X)
activate(n__f(X)) → f(activate(X))
activate(n__g(X)) → g(X)
activate(n__d(X)) → d(X)
activate(X) → X

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(13) RFCMatchBoundsDPProof (EQUIVALENT transformation)

Finiteness of the DP problem can be shown by a matchbound of 4.
As the DP problem is minimal we only have to initialize the certificate graph by the rules of P:

C(X) → ACTIVATE(X)
ACTIVATE(n__f(X)) → F(activate(X))
F(f(X)) → C(n__f(n__g(n__f(X))))

To find matches we regarded all rules of R and P:

f(f(X)) → c(n__f(n__g(n__f(X))))
c(X) → d(activate(X))
f(X) → n__f(X)
g(X) → n__g(X)
d(X) → n__d(X)
activate(n__f(X)) → f(activate(X))
activate(n__g(X)) → g(X)
activate(n__d(X)) → d(X)
activate(X) → X
C(X) → ACTIVATE(X)
ACTIVATE(n__f(X)) → F(activate(X))
F(f(X)) → C(n__f(n__g(n__f(X))))

The certificate found is represented by the following graph.

The certificate consists of the following enumerated nodes:

1750852, 1750853, 1750854, 1750857, 1750855, 1750856, 1750858, 1750859, 1750860, 1750862, 1750861, 1750864, 1750865, 1750863, 1750866, 1750867, 1750868

Node 1750852 is start node and node 1750853 is final node.

Those nodes are connect through the following edges:

  • 1750852 to 1750854 labelled F_1(0)
  • 1750852 to 1750855 labelled C_1(0), ACTIVATE_1(1)
  • 1750852 to 1750853 labelled ACTIVATE_1(0)
  • 1750852 to 1750858 labelled F_1(1)
  • 1750852 to 1750860 labelled C_1(1), ACTIVATE_1(2)
  • 1750852 to 1750863 labelled C_1(2), ACTIVATE_1(3)
  • 1750852 to 1750867 labelled F_1(2)
  • 1750852 to 1750868 labelled F_1(3)
  • 1750853 to 1750853 labelled #_1(0)
  • 1750854 to 1750853 labelled activate_1(0), g_1(1), ACTIVATE_1(1), n__d_1(1), f_1(1), c_1(1), n__f_1(1), n__g_1(1), C_1(1), d_1(1), F_1(1), activate_1(1), ACTIVATE_1(2), n__g_1(2), n__f_1(2), n__d_1(2)
  • 1750854 to 1750858 labelled f_1(1), n__f_1(2)
  • 1750854 to 1750859 labelled d_1(2), n__d_1(3)
  • 1750854 to 1750854 labelled F_1(1), f_1(1), n__f_1(2)
  • 1750854 to 1750860 labelled C_1(1), c_1(1), ACTIVATE_1(2)
  • 1750854 to 1750863 labelled C_1(2), c_1(2), ACTIVATE_1(3)
  • 1750854 to 1750866 labelled d_1(3), n__d_1(4)
  • 1750854 to 1750867 labelled F_1(2)
  • 1750854 to 1750868 labelled F_1(3)
  • 1750857 to 1750853 labelled n__f_1(0)
  • 1750855 to 1750856 labelled n__f_1(0)
  • 1750856 to 1750857 labelled n__g_1(0)
  • 1750858 to 1750853 labelled activate_1(1), g_1(1), ACTIVATE_1(1), n__d_1(1), f_1(1), c_1(1), n__f_1(1), n__g_1(1), C_1(1), d_1(1), F_1(1), n__g_1(2), ACTIVATE_1(2), n__f_1(2), n__d_1(2)
  • 1750858 to 1750854 labelled f_1(1), n__f_1(2), F_1(1)
  • 1750858 to 1750856 labelled activate_1(1)
  • 1750858 to 1750859 labelled d_1(2), n__d_1(3)
  • 1750858 to 1750863 labelled c_1(2), C_1(2), ACTIVATE_1(3)
  • 1750858 to 1750860 labelled C_1(1), c_1(1), ACTIVATE_1(2)
  • 1750858 to 1750857 labelled g_1(1), n__g_1(1), n__g_1(2)
  • 1750858 to 1750866 labelled d_1(3), n__d_1(4)
  • 1750858 to 1750867 labelled F_1(2)
  • 1750858 to 1750868 labelled F_1(3)
  • 1750859 to 1750853 labelled activate_1(2), g_1(1), ACTIVATE_1(1), n__d_1(1), f_1(1), c_1(1), n__f_1(1), n__g_1(1), C_1(1), d_1(1), F_1(1), activate_1(1), n__g_1(2), ACTIVATE_1(2), n__f_1(2), n__d_1(2)
  • 1750859 to 1750860 labelled activate_1(2), C_1(1), c_1(1), ACTIVATE_1(2)
  • 1750859 to 1750854 labelled f_1(1), n__f_1(2), F_1(1)
  • 1750859 to 1750859 labelled d_1(2), n__d_1(3)
  • 1750859 to 1750863 labelled c_1(2), C_1(2), ACTIVATE_1(3)
  • 1750859 to 1750861 labelled n__f_1(2)
  • 1750859 to 1750867 labelled f_1(2), n__f_1(3), F_1(2)
  • 1750859 to 1750866 labelled d_1(3), n__d_1(4)
  • 1750859 to 1750868 labelled F_1(3)
  • 1750860 to 1750861 labelled n__f_1(1)
  • 1750862 to 1750853 labelled n__f_1(1)
  • 1750862 to 1750858 labelled n__f_1(1)
  • 1750862 to 1750854 labelled n__f_1(1)
  • 1750861 to 1750862 labelled n__g_1(1)
  • 1750864 to 1750865 labelled n__g_1(2)
  • 1750865 to 1750853 labelled n__f_1(2)
  • 1750865 to 1750858 labelled n__f_1(2)
  • 1750865 to 1750854 labelled n__f_1(2)
  • 1750863 to 1750864 labelled n__f_1(2)
  • 1750866 to 1750863 labelled activate_1(3)
  • 1750866 to 1750864 labelled n__f_1(3)
  • 1750866 to 1750868 labelled f_1(3), n__f_1(4)
  • 1750867 to 1750861 labelled activate_1(2)
  • 1750867 to 1750862 labelled g_1(2), n__g_1(2), n__g_1(3)
  • 1750868 to 1750864 labelled activate_1(3)
  • 1750868 to 1750865 labelled g_1(3), n__g_1(3), n__g_1(4)

(14) TRUE