YES Termination w.r.t. Q proof of Transformed_CSR_04_Ex25_Luc06_iGM.ari

(0) Obligation:

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

active(f(f(X))) → mark(c(f(g(f(X)))))
active(c(X)) → mark(d(X))
active(h(X)) → mark(c(d(X)))
mark(f(X)) → active(f(mark(X)))
mark(c(X)) → active(c(X))
mark(g(X)) → active(g(X))
mark(d(X)) → active(d(X))
mark(h(X)) → active(h(mark(X)))
f(mark(X)) → f(X)
f(active(X)) → f(X)
c(mark(X)) → c(X)
c(active(X)) → c(X)
g(mark(X)) → g(X)
g(active(X)) → g(X)
d(mark(X)) → d(X)
d(active(X)) → d(X)
h(mark(X)) → h(X)
h(active(X)) → h(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(active(X))) → f(g(f(c(mark(X)))))
c(active(X)) → d(mark(X))
h(active(X)) → d(c(mark(X)))
f(mark(X)) → mark(f(active(X)))
c(mark(X)) → c(active(X))
g(mark(X)) → g(active(X))
d(mark(X)) → d(active(X))
h(mark(X)) → mark(h(active(X)))
mark(f(X)) → f(X)
active(f(X)) → f(X)
mark(c(X)) → c(X)
active(c(X)) → c(X)
mark(g(X)) → g(X)
active(g(X)) → g(X)
mark(d(X)) → d(X)
active(d(X)) → d(X)
mark(h(X)) → h(X)
active(h(X)) → h(X)

Q is empty.

(3) QTRSRRRProof (EQUIVALENT transformation)

Used ordering:
Polynomial interpretation [POLO]:

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

h(active(X)) → d(c(mark(X)))


(4) Obligation:

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

f(f(active(X))) → f(g(f(c(mark(X)))))
c(active(X)) → d(mark(X))
f(mark(X)) → mark(f(active(X)))
c(mark(X)) → c(active(X))
g(mark(X)) → g(active(X))
d(mark(X)) → d(active(X))
h(mark(X)) → mark(h(active(X)))
mark(f(X)) → f(X)
active(f(X)) → f(X)
mark(c(X)) → c(X)
active(c(X)) → c(X)
mark(g(X)) → g(X)
active(g(X)) → g(X)
mark(d(X)) → d(X)
active(d(X)) → d(X)
mark(h(X)) → h(X)
active(h(X)) → h(X)

Q is empty.

(5) DependencyPairsProof (EQUIVALENT transformation)

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

(6) Obligation:

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

F(f(active(X))) → F(g(f(c(mark(X)))))
F(f(active(X))) → G(f(c(mark(X))))
F(f(active(X))) → F(c(mark(X)))
F(f(active(X))) → C(mark(X))
F(f(active(X))) → MARK(X)
C(active(X)) → D(mark(X))
C(active(X)) → MARK(X)
F(mark(X)) → MARK(f(active(X)))
F(mark(X)) → F(active(X))
F(mark(X)) → ACTIVE(X)
C(mark(X)) → C(active(X))
C(mark(X)) → ACTIVE(X)
G(mark(X)) → G(active(X))
G(mark(X)) → ACTIVE(X)
D(mark(X)) → D(active(X))
D(mark(X)) → ACTIVE(X)
H(mark(X)) → MARK(h(active(X)))
H(mark(X)) → H(active(X))
H(mark(X)) → ACTIVE(X)

The TRS R consists of the following rules:

f(f(active(X))) → f(g(f(c(mark(X)))))
c(active(X)) → d(mark(X))
f(mark(X)) → mark(f(active(X)))
c(mark(X)) → c(active(X))
g(mark(X)) → g(active(X))
d(mark(X)) → d(active(X))
h(mark(X)) → mark(h(active(X)))
mark(f(X)) → f(X)
active(f(X)) → f(X)
mark(c(X)) → c(X)
active(c(X)) → c(X)
mark(g(X)) → g(X)
active(g(X)) → g(X)
mark(d(X)) → d(X)
active(d(X)) → d(X)
mark(h(X)) → h(X)
active(h(X)) → h(X)

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

(7) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 5 SCCs with 12 less nodes.

(8) Complex Obligation (AND)

(9) Obligation:

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

H(mark(X)) → H(active(X))

The TRS R consists of the following rules:

f(f(active(X))) → f(g(f(c(mark(X)))))
c(active(X)) → d(mark(X))
f(mark(X)) → mark(f(active(X)))
c(mark(X)) → c(active(X))
g(mark(X)) → g(active(X))
d(mark(X)) → d(active(X))
h(mark(X)) → mark(h(active(X)))
mark(f(X)) → f(X)
active(f(X)) → f(X)
mark(c(X)) → c(X)
active(c(X)) → c(X)
mark(g(X)) → g(X)
active(g(X)) → g(X)
mark(d(X)) → d(X)
active(d(X)) → d(X)
mark(h(X)) → h(X)
active(h(X)) → h(X)

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

(10) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04,JAR06].


The following pairs can be oriented strictly and are deleted.


H(mark(X)) → H(active(X))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(H(x1)) = x1   
POL(active(x1)) = x1   
POL(c(x1)) = 0   
POL(d(x1)) = 0   
POL(f(x1)) = 1 + x1   
POL(g(x1)) = 0   
POL(h(x1)) = x1   
POL(mark(x1)) = 1 + x1   

The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented:

active(f(X)) → f(X)
active(c(X)) → c(X)
active(g(X)) → g(X)
active(d(X)) → d(X)
active(h(X)) → h(X)
f(mark(X)) → mark(f(active(X)))
mark(f(X)) → f(X)
f(f(active(X))) → f(g(f(c(mark(X)))))
mark(h(X)) → h(X)
h(mark(X)) → mark(h(active(X)))
c(active(X)) → d(mark(X))
c(mark(X)) → c(active(X))
g(mark(X)) → g(active(X))
d(mark(X)) → d(active(X))
mark(c(X)) → c(X)
mark(g(X)) → g(X)
mark(d(X)) → d(X)

(11) Obligation:

Q DP problem:
P is empty.
The TRS R consists of the following rules:

f(f(active(X))) → f(g(f(c(mark(X)))))
c(active(X)) → d(mark(X))
f(mark(X)) → mark(f(active(X)))
c(mark(X)) → c(active(X))
g(mark(X)) → g(active(X))
d(mark(X)) → d(active(X))
h(mark(X)) → mark(h(active(X)))
mark(f(X)) → f(X)
active(f(X)) → f(X)
mark(c(X)) → c(X)
active(c(X)) → c(X)
mark(g(X)) → g(X)
active(g(X)) → g(X)
mark(d(X)) → d(X)
active(d(X)) → d(X)
mark(h(X)) → h(X)
active(h(X)) → h(X)

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

(12) PisEmptyProof (EQUIVALENT transformation)

The TRS P is empty. Hence, there is no (P,Q,R) chain.

(13) YES

(14) Obligation:

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

D(mark(X)) → D(active(X))

The TRS R consists of the following rules:

f(f(active(X))) → f(g(f(c(mark(X)))))
c(active(X)) → d(mark(X))
f(mark(X)) → mark(f(active(X)))
c(mark(X)) → c(active(X))
g(mark(X)) → g(active(X))
d(mark(X)) → d(active(X))
h(mark(X)) → mark(h(active(X)))
mark(f(X)) → f(X)
active(f(X)) → f(X)
mark(c(X)) → c(X)
active(c(X)) → c(X)
mark(g(X)) → g(X)
active(g(X)) → g(X)
mark(d(X)) → d(X)
active(d(X)) → d(X)
mark(h(X)) → h(X)
active(h(X)) → h(X)

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

(15) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04,JAR06].


The following pairs can be oriented strictly and are deleted.


D(mark(X)) → D(active(X))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(D(x1)) = x1   
POL(active(x1)) = x1   
POL(c(x1)) = 0   
POL(d(x1)) = 0   
POL(f(x1)) = 1 + x1   
POL(g(x1)) = 0   
POL(h(x1)) = x1   
POL(mark(x1)) = 1 + x1   

The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented:

active(f(X)) → f(X)
active(c(X)) → c(X)
active(g(X)) → g(X)
active(d(X)) → d(X)
active(h(X)) → h(X)
f(mark(X)) → mark(f(active(X)))
mark(f(X)) → f(X)
f(f(active(X))) → f(g(f(c(mark(X)))))
mark(h(X)) → h(X)
h(mark(X)) → mark(h(active(X)))
c(active(X)) → d(mark(X))
c(mark(X)) → c(active(X))
g(mark(X)) → g(active(X))
d(mark(X)) → d(active(X))
mark(c(X)) → c(X)
mark(g(X)) → g(X)
mark(d(X)) → d(X)

(16) Obligation:

Q DP problem:
P is empty.
The TRS R consists of the following rules:

f(f(active(X))) → f(g(f(c(mark(X)))))
c(active(X)) → d(mark(X))
f(mark(X)) → mark(f(active(X)))
c(mark(X)) → c(active(X))
g(mark(X)) → g(active(X))
d(mark(X)) → d(active(X))
h(mark(X)) → mark(h(active(X)))
mark(f(X)) → f(X)
active(f(X)) → f(X)
mark(c(X)) → c(X)
active(c(X)) → c(X)
mark(g(X)) → g(X)
active(g(X)) → g(X)
mark(d(X)) → d(X)
active(d(X)) → d(X)
mark(h(X)) → h(X)
active(h(X)) → h(X)

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

(17) PisEmptyProof (EQUIVALENT transformation)

The TRS P is empty. Hence, there is no (P,Q,R) chain.

(18) YES

(19) Obligation:

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

G(mark(X)) → G(active(X))

The TRS R consists of the following rules:

f(f(active(X))) → f(g(f(c(mark(X)))))
c(active(X)) → d(mark(X))
f(mark(X)) → mark(f(active(X)))
c(mark(X)) → c(active(X))
g(mark(X)) → g(active(X))
d(mark(X)) → d(active(X))
h(mark(X)) → mark(h(active(X)))
mark(f(X)) → f(X)
active(f(X)) → f(X)
mark(c(X)) → c(X)
active(c(X)) → c(X)
mark(g(X)) → g(X)
active(g(X)) → g(X)
mark(d(X)) → d(X)
active(d(X)) → d(X)
mark(h(X)) → h(X)
active(h(X)) → h(X)

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

(20) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04,JAR06].


The following pairs can be oriented strictly and are deleted.


G(mark(X)) → G(active(X))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(G(x1)) = x1   
POL(active(x1)) = x1   
POL(c(x1)) = 0   
POL(d(x1)) = 0   
POL(f(x1)) = 1 + x1   
POL(g(x1)) = 0   
POL(h(x1)) = x1   
POL(mark(x1)) = 1 + x1   

The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented:

active(f(X)) → f(X)
active(c(X)) → c(X)
active(g(X)) → g(X)
active(d(X)) → d(X)
active(h(X)) → h(X)
f(mark(X)) → mark(f(active(X)))
mark(f(X)) → f(X)
f(f(active(X))) → f(g(f(c(mark(X)))))
mark(h(X)) → h(X)
h(mark(X)) → mark(h(active(X)))
c(active(X)) → d(mark(X))
c(mark(X)) → c(active(X))
g(mark(X)) → g(active(X))
d(mark(X)) → d(active(X))
mark(c(X)) → c(X)
mark(g(X)) → g(X)
mark(d(X)) → d(X)

(21) Obligation:

Q DP problem:
P is empty.
The TRS R consists of the following rules:

f(f(active(X))) → f(g(f(c(mark(X)))))
c(active(X)) → d(mark(X))
f(mark(X)) → mark(f(active(X)))
c(mark(X)) → c(active(X))
g(mark(X)) → g(active(X))
d(mark(X)) → d(active(X))
h(mark(X)) → mark(h(active(X)))
mark(f(X)) → f(X)
active(f(X)) → f(X)
mark(c(X)) → c(X)
active(c(X)) → c(X)
mark(g(X)) → g(X)
active(g(X)) → g(X)
mark(d(X)) → d(X)
active(d(X)) → d(X)
mark(h(X)) → h(X)
active(h(X)) → h(X)

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

(22) PisEmptyProof (EQUIVALENT transformation)

The TRS P is empty. Hence, there is no (P,Q,R) chain.

(23) YES

(24) Obligation:

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

C(mark(X)) → C(active(X))

The TRS R consists of the following rules:

f(f(active(X))) → f(g(f(c(mark(X)))))
c(active(X)) → d(mark(X))
f(mark(X)) → mark(f(active(X)))
c(mark(X)) → c(active(X))
g(mark(X)) → g(active(X))
d(mark(X)) → d(active(X))
h(mark(X)) → mark(h(active(X)))
mark(f(X)) → f(X)
active(f(X)) → f(X)
mark(c(X)) → c(X)
active(c(X)) → c(X)
mark(g(X)) → g(X)
active(g(X)) → g(X)
mark(d(X)) → d(X)
active(d(X)) → d(X)
mark(h(X)) → h(X)
active(h(X)) → h(X)

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

(25) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04,JAR06].


The following pairs can be oriented strictly and are deleted.


C(mark(X)) → C(active(X))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(C(x1)) = x1   
POL(active(x1)) = x1   
POL(c(x1)) = 0   
POL(d(x1)) = 0   
POL(f(x1)) = 1 + x1   
POL(g(x1)) = 0   
POL(h(x1)) = x1   
POL(mark(x1)) = 1 + x1   

The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented:

active(f(X)) → f(X)
active(c(X)) → c(X)
active(g(X)) → g(X)
active(d(X)) → d(X)
active(h(X)) → h(X)
f(mark(X)) → mark(f(active(X)))
mark(f(X)) → f(X)
f(f(active(X))) → f(g(f(c(mark(X)))))
mark(h(X)) → h(X)
h(mark(X)) → mark(h(active(X)))
c(active(X)) → d(mark(X))
c(mark(X)) → c(active(X))
g(mark(X)) → g(active(X))
d(mark(X)) → d(active(X))
mark(c(X)) → c(X)
mark(g(X)) → g(X)
mark(d(X)) → d(X)

(26) Obligation:

Q DP problem:
P is empty.
The TRS R consists of the following rules:

f(f(active(X))) → f(g(f(c(mark(X)))))
c(active(X)) → d(mark(X))
f(mark(X)) → mark(f(active(X)))
c(mark(X)) → c(active(X))
g(mark(X)) → g(active(X))
d(mark(X)) → d(active(X))
h(mark(X)) → mark(h(active(X)))
mark(f(X)) → f(X)
active(f(X)) → f(X)
mark(c(X)) → c(X)
active(c(X)) → c(X)
mark(g(X)) → g(X)
active(g(X)) → g(X)
mark(d(X)) → d(X)
active(d(X)) → d(X)
mark(h(X)) → h(X)
active(h(X)) → h(X)

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

(27) PisEmptyProof (EQUIVALENT transformation)

The TRS P is empty. Hence, there is no (P,Q,R) chain.

(28) YES

(29) Obligation:

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

F(f(active(X))) → F(c(mark(X)))
F(f(active(X))) → F(g(f(c(mark(X)))))
F(mark(X)) → F(active(X))

The TRS R consists of the following rules:

f(f(active(X))) → f(g(f(c(mark(X)))))
c(active(X)) → d(mark(X))
f(mark(X)) → mark(f(active(X)))
c(mark(X)) → c(active(X))
g(mark(X)) → g(active(X))
d(mark(X)) → d(active(X))
h(mark(X)) → mark(h(active(X)))
mark(f(X)) → f(X)
active(f(X)) → f(X)
mark(c(X)) → c(X)
active(c(X)) → c(X)
mark(g(X)) → g(X)
active(g(X)) → g(X)
mark(d(X)) → d(X)
active(d(X)) → d(X)
mark(h(X)) → h(X)
active(h(X)) → h(X)

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

(30) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04,JAR06].


The following pairs can be oriented strictly and are deleted.


F(f(active(X))) → F(g(f(c(mark(X)))))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(F(x1)) = x1   
POL(active(x1)) = 1   
POL(c(x1)) = 1   
POL(d(x1)) = 0   
POL(f(x1)) = 1   
POL(g(x1)) = 0   
POL(h(x1)) = 1   
POL(mark(x1)) = 1   

The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented:

f(mark(X)) → mark(f(active(X)))
mark(f(X)) → f(X)
f(f(active(X))) → f(g(f(c(mark(X)))))
mark(h(X)) → h(X)
h(mark(X)) → mark(h(active(X)))
mark(c(X)) → c(X)
mark(g(X)) → g(X)
mark(d(X)) → d(X)
c(active(X)) → d(mark(X))
c(mark(X)) → c(active(X))
g(mark(X)) → g(active(X))
active(f(X)) → f(X)
active(c(X)) → c(X)
active(g(X)) → g(X)
active(d(X)) → d(X)
active(h(X)) → h(X)
d(mark(X)) → d(active(X))

(31) Obligation:

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

F(f(active(X))) → F(c(mark(X)))
F(mark(X)) → F(active(X))

The TRS R consists of the following rules:

f(f(active(X))) → f(g(f(c(mark(X)))))
c(active(X)) → d(mark(X))
f(mark(X)) → mark(f(active(X)))
c(mark(X)) → c(active(X))
g(mark(X)) → g(active(X))
d(mark(X)) → d(active(X))
h(mark(X)) → mark(h(active(X)))
mark(f(X)) → f(X)
active(f(X)) → f(X)
mark(c(X)) → c(X)
active(c(X)) → c(X)
mark(g(X)) → g(X)
active(g(X)) → g(X)
mark(d(X)) → d(X)
active(d(X)) → d(X)
mark(h(X)) → h(X)
active(h(X)) → h(X)

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

(32) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04,JAR06].


The following pairs can be oriented strictly and are deleted.


F(mark(X)) → F(active(X))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(F(x1)) = x1   
POL(active(x1)) = x1   
POL(c(x1)) = 0   
POL(d(x1)) = 0   
POL(f(x1)) = x1   
POL(g(x1)) = 0   
POL(h(x1)) = x1   
POL(mark(x1)) = 1 + x1   

The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented:

f(mark(X)) → mark(f(active(X)))
mark(f(X)) → f(X)
f(f(active(X))) → f(g(f(c(mark(X)))))
mark(h(X)) → h(X)
h(mark(X)) → mark(h(active(X)))
mark(c(X)) → c(X)
mark(g(X)) → g(X)
mark(d(X)) → d(X)
c(active(X)) → d(mark(X))
c(mark(X)) → c(active(X))
active(f(X)) → f(X)
active(c(X)) → c(X)
active(g(X)) → g(X)
active(d(X)) → d(X)
active(h(X)) → h(X)
d(mark(X)) → d(active(X))
g(mark(X)) → g(active(X))

(33) Obligation:

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

F(f(active(X))) → F(c(mark(X)))

The TRS R consists of the following rules:

f(f(active(X))) → f(g(f(c(mark(X)))))
c(active(X)) → d(mark(X))
f(mark(X)) → mark(f(active(X)))
c(mark(X)) → c(active(X))
g(mark(X)) → g(active(X))
d(mark(X)) → d(active(X))
h(mark(X)) → mark(h(active(X)))
mark(f(X)) → f(X)
active(f(X)) → f(X)
mark(c(X)) → c(X)
active(c(X)) → c(X)
mark(g(X)) → g(X)
active(g(X)) → g(X)
mark(d(X)) → d(X)
active(d(X)) → d(X)
mark(h(X)) → h(X)
active(h(X)) → h(X)

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

(34) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04,JAR06].


The following pairs can be oriented strictly and are deleted.


F(f(active(X))) → F(c(mark(X)))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(F(x1)) = x1   
POL(active(x1)) = x1   
POL(c(x1)) = 0   
POL(d(x1)) = 0   
POL(f(x1)) = 1   
POL(g(x1)) = 1   
POL(h(x1)) = 0   
POL(mark(x1)) = 0   

The following usable rules [FROCOS05] with respect to the argument filtering of the ordering [JAR06] were oriented:

c(active(X)) → d(mark(X))
c(mark(X)) → c(active(X))
d(mark(X)) → d(active(X))

(35) Obligation:

Q DP problem:
P is empty.
The TRS R consists of the following rules:

f(f(active(X))) → f(g(f(c(mark(X)))))
c(active(X)) → d(mark(X))
f(mark(X)) → mark(f(active(X)))
c(mark(X)) → c(active(X))
g(mark(X)) → g(active(X))
d(mark(X)) → d(active(X))
h(mark(X)) → mark(h(active(X)))
mark(f(X)) → f(X)
active(f(X)) → f(X)
mark(c(X)) → c(X)
active(c(X)) → c(X)
mark(g(X)) → g(X)
active(g(X)) → g(X)
mark(d(X)) → d(X)
active(d(X)) → d(X)
mark(h(X)) → h(X)
active(h(X)) → h(X)

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

(36) PisEmptyProof (EQUIVALENT transformation)

The TRS P is empty. Hence, there is no (P,Q,R) chain.

(37) YES