YES Termination w.r.t. Q proof of /home/cern_httpd/provide/research/cycsrs/tpdb/TPDB-d9b80194f163/SRS_Standard/ICFP_2010/4181.srs

(0) Obligation:

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

0(1(0(x))) → 2(3(3(2(2(3(2(4(2(4(x))))))))))
0(0(0(4(0(x))))) → 3(4(4(4(1(2(2(0(3(4(x))))))))))
0(4(4(1(1(x))))) → 0(4(2(3(2(2(2(2(2(2(x))))))))))
0(5(4(1(2(x))))) → 3(2(1(3(3(4(2(3(2(1(x))))))))))
1(0(0(3(0(x))))) → 1(1(2(3(2(3(2(4(3(0(x))))))))))
0(0(0(0(4(5(x)))))) → 0(2(3(2(4(1(5(2(3(5(x))))))))))
0(0(0(2(0(4(x)))))) → 3(2(2(1(2(4(1(1(0(4(x))))))))))
0(0(4(5(3(0(x)))))) → 1(2(2(3(5(2(2(1(1(4(x))))))))))
0(1(5(3(1(1(x)))))) → 3(2(1(3(2(1(2(5(5(3(x))))))))))
0(2(0(0(1(1(x)))))) → 3(4(2(3(1(2(3(2(3(3(x))))))))))
0(5(0(0(0(2(x)))))) → 2(3(2(0(5(4(3(1(2(1(x))))))))))
1(4(0(3(0(4(x)))))) → 3(2(2(5(3(3(2(1(4(4(x))))))))))
3(0(0(1(3(5(x)))))) → 2(1(3(3(2(0(5(3(1(5(x))))))))))
3(1(4(0(1(2(x)))))) → 2(3(2(2(1(0(3(1(1(2(x))))))))))
4(0(0(1(3(1(x)))))) → 3(2(2(1(2(0(5(4(4(1(x))))))))))
4(5(0(2(4(1(x)))))) → 2(1(4(2(3(2(2(3(4(1(x))))))))))
5(4(3(0(1(5(x)))))) → 5(2(3(3(3(2(1(5(3(2(x))))))))))
0(0(1(2(3(0(5(x))))))) → 3(2(1(3(2(1(4(3(5(5(x))))))))))
0(0(5(1(5(1(3(x))))))) → 3(3(1(3(3(5(0(3(2(2(x))))))))))
0(0(5(2(5(2(1(x))))))) → 2(3(5(3(4(2(2(1(2(0(x))))))))))
0(0(5(4(2(0(2(x))))))) → 3(2(3(2(2(0(0(3(1(3(x))))))))))
0(1(0(5(5(2(0(x))))))) → 3(2(2(4(3(3(3(0(2(0(x))))))))))
0(2(0(3(0(0(2(x))))))) → 3(2(3(1(3(4(4(5(2(3(x))))))))))
0(2(2(5(0(4(3(x))))))) → 0(4(1(1(2(2(3(2(5(3(x))))))))))
0(2(4(0(1(5(4(x))))))) → 3(2(0(1(3(2(1(5(3(4(x))))))))))
0(3(0(0(0(0(0(x))))))) → 2(0(5(2(3(1(0(2(4(4(x))))))))))
0(4(0(0(0(4(3(x))))))) → 0(5(5(2(1(3(2(3(3(3(x))))))))))
0(4(5(5(5(0(4(x))))))) → 2(3(5(1(2(3(0(2(4(4(x))))))))))
0(5(1(1(5(0(0(x))))))) → 3(2(1(0(5(2(0(3(3(4(x))))))))))
0(5(2(2(4(1(0(x))))))) → 2(3(3(1(2(3(2(3(0(4(x))))))))))
0(5(3(1(4(3(1(x))))))) → 2(3(2(1(3(4(4(1(0(1(x))))))))))
1(0(3(1(0(0(0(x))))))) → 2(4(2(2(5(3(2(4(4(4(x))))))))))
1(1(2(4(4(0(2(x))))))) → 1(1(2(2(3(2(1(5(2(2(x))))))))))
1(2(4(4(0(5(1(x))))))) → 1(3(3(2(2(3(5(1(0(3(x))))))))))
1(3(0(0(3(3(5(x))))))) → 3(2(2(1(2(4(5(4(3(5(x))))))))))
1(4(1(3(0(4(3(x))))))) → 1(3(5(1(2(3(2(2(5(1(x))))))))))
1(4(4(0(0(0(0(x))))))) → 2(1(2(4(3(3(5(3(1(0(x))))))))))
1(5(0(0(5(3(3(x))))))) → 1(5(4(3(2(1(1(3(2(1(x))))))))))
4(0(0(0(4(0(2(x))))))) → 4(4(2(2(3(2(4(1(2(2(x))))))))))
4(0(0(0(4(1(4(x))))))) → 4(4(3(2(1(1(2(1(0(0(x))))))))))
4(0(0(4(0(0(2(x))))))) → 3(0(3(2(3(3(5(4(1(5(x))))))))))
4(0(0(4(5(2(4(x))))))) → 3(3(5(2(2(2(3(4(4(0(x))))))))))
4(0(3(0(2(5(1(x))))))) → 4(3(3(2(3(4(3(1(0(3(x))))))))))
4(0(4(0(1(1(2(x))))))) → 2(2(0(3(1(4(3(2(2(2(x))))))))))
4(0(4(1(4(0(0(x))))))) → 3(1(2(2(0(0(2(1(1(4(x))))))))))
4(1(0(5(4(1(4(x))))))) → 2(5(1(2(1(3(2(4(3(4(x))))))))))
4(1(2(5(4(0(0(x))))))) → 2(4(5(1(3(0(3(2(0(4(x))))))))))
4(1(4(0(3(1(0(x))))))) → 5(3(2(0(2(2(2(5(1(4(x))))))))))
4(3(0(5(5(0(2(x))))))) → 3(0(3(2(3(2(2(4(5(2(x))))))))))
4(3(5(5(4(1(0(x))))))) → 3(5(1(3(4(5(2(3(3(4(x))))))))))
5(0(0(0(1(4(0(x))))))) → 5(2(5(3(2(2(3(0(5(4(x))))))))))
5(0(2(1(5(1(5(x))))))) → 5(3(2(3(3(3(4(3(3(2(x))))))))))
5(0(2(5(4(4(0(x))))))) → 5(4(0(3(2(2(1(1(3(4(x))))))))))
5(0(5(0(1(5(2(x))))))) → 5(3(2(3(2(4(3(2(0(2(x))))))))))
5(0(5(5(5(4(5(x))))))) → 5(2(3(3(2(3(3(0(3(2(x))))))))))
5(3(0(1(4(3(1(x))))))) → 3(2(2(1(2(1(0(0(3(1(x))))))))))
5(3(5(0(1(0(1(x))))))) → 5(3(2(2(1(5(5(3(5(1(x))))))))))
5(4(0(4(1(0(3(x))))))) → 5(3(2(2(4(4(3(2(4(3(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:

0(1(0(x))) → 4(2(4(2(3(2(2(3(3(2(x))))))))))
0(4(0(0(0(x))))) → 4(3(0(2(2(1(4(4(4(3(x))))))))))
1(1(4(4(0(x))))) → 2(2(2(2(2(2(3(2(4(0(x))))))))))
2(1(4(5(0(x))))) → 1(2(3(2(4(3(3(1(2(3(x))))))))))
0(3(0(0(1(x))))) → 0(3(4(2(3(2(3(2(1(1(x))))))))))
5(4(0(0(0(0(x)))))) → 5(3(2(5(1(4(2(3(2(0(x))))))))))
4(0(2(0(0(0(x)))))) → 4(0(1(1(4(2(1(2(2(3(x))))))))))
0(3(5(4(0(0(x)))))) → 4(1(1(2(2(5(3(2(2(1(x))))))))))
1(1(3(5(1(0(x)))))) → 3(5(5(2(1(2(3(1(2(3(x))))))))))
1(1(0(0(2(0(x)))))) → 3(3(2(3(2(1(3(2(4(3(x))))))))))
2(0(0(0(5(0(x)))))) → 1(2(1(3(4(5(0(2(3(2(x))))))))))
4(0(3(0(4(1(x)))))) → 4(4(1(2(3(3(5(2(2(3(x))))))))))
5(3(1(0(0(3(x)))))) → 5(1(3(5(0(2(3(3(1(2(x))))))))))
2(1(0(4(1(3(x)))))) → 2(1(1(3(0(1(2(2(3(2(x))))))))))
1(3(1(0(0(4(x)))))) → 1(4(4(5(0(2(1(2(2(3(x))))))))))
1(4(2(0(5(4(x)))))) → 1(4(3(2(2(3(2(4(1(2(x))))))))))
5(1(0(3(4(5(x)))))) → 2(3(5(1(2(3(3(3(2(5(x))))))))))
5(0(3(2(1(0(0(x))))))) → 5(5(3(4(1(2(3(1(2(3(x))))))))))
3(1(5(1(5(0(0(x))))))) → 2(2(3(0(5(3(3(1(3(3(x))))))))))
1(2(5(2(5(0(0(x))))))) → 0(2(1(2(2(4(3(5(3(2(x))))))))))
2(0(2(4(5(0(0(x))))))) → 3(1(3(0(0(2(2(3(2(3(x))))))))))
0(2(5(5(0(1(0(x))))))) → 0(2(0(3(3(3(4(2(2(3(x))))))))))
2(0(0(3(0(2(0(x))))))) → 3(2(5(4(4(3(1(3(2(3(x))))))))))
3(4(0(5(2(2(0(x))))))) → 3(5(2(3(2(2(1(1(4(0(x))))))))))
4(5(1(0(4(2(0(x))))))) → 4(3(5(1(2(3(1(0(2(3(x))))))))))
0(0(0(0(0(3(0(x))))))) → 4(4(2(0(1(3(2(5(0(2(x))))))))))
3(4(0(0(0(4(0(x))))))) → 3(3(3(2(3(1(2(5(5(0(x))))))))))
4(0(5(5(5(4(0(x))))))) → 4(4(2(0(3(2(1(5(3(2(x))))))))))
0(0(5(1(1(5(0(x))))))) → 4(3(3(0(2(5(0(1(2(3(x))))))))))
0(1(4(2(2(5(0(x))))))) → 4(0(3(2(3(2(1(3(3(2(x))))))))))
1(3(4(1(3(5(0(x))))))) → 1(0(1(4(4(3(1(2(3(2(x))))))))))
0(0(0(1(3(0(1(x))))))) → 4(4(4(2(3(5(2(2(4(2(x))))))))))
2(0(4(4(2(1(1(x))))))) → 2(2(5(1(2(3(2(2(1(1(x))))))))))
1(5(0(4(4(2(1(x))))))) → 3(0(1(5(3(2(2(3(3(1(x))))))))))
5(3(3(0(0(3(1(x))))))) → 5(3(4(5(4(2(1(2(2(3(x))))))))))
3(4(0(3(1(4(1(x))))))) → 1(5(2(2(3(2(1(5(3(1(x))))))))))
0(0(0(0(4(4(1(x))))))) → 0(1(3(5(3(3(4(2(1(2(x))))))))))
3(3(5(0(0(5(1(x))))))) → 1(2(3(1(1(2(3(4(5(1(x))))))))))
2(0(4(0(0(0(4(x))))))) → 2(2(1(4(2(3(2(2(4(4(x))))))))))
4(1(4(0(0(0(4(x))))))) → 0(0(1(2(1(1(2(3(4(4(x))))))))))
2(0(0(4(0(0(4(x))))))) → 5(1(4(5(3(3(2(3(0(3(x))))))))))
4(2(5(4(0(0(4(x))))))) → 0(4(4(3(2(2(2(5(3(3(x))))))))))
1(5(2(0(3(0(4(x))))))) → 3(0(1(3(4(3(2(3(3(4(x))))))))))
2(1(1(0(4(0(4(x))))))) → 2(2(2(3(4(1(3(0(2(2(x))))))))))
0(0(4(1(4(0(4(x))))))) → 4(1(1(2(0(0(2(2(1(3(x))))))))))
4(1(4(5(0(1(4(x))))))) → 4(3(4(2(3(1(2(1(5(2(x))))))))))
0(0(4(5(2(1(4(x))))))) → 4(0(2(3(0(3(1(5(4(2(x))))))))))
0(1(3(0(4(1(4(x))))))) → 4(1(5(2(2(2(0(2(3(5(x))))))))))
2(0(5(5(0(3(4(x))))))) → 2(5(4(2(2(3(2(3(0(3(x))))))))))
0(1(4(5(5(3(4(x))))))) → 4(3(3(2(5(4(3(1(5(3(x))))))))))
0(4(1(0(0(0(5(x))))))) → 4(5(0(3(2(2(3(5(2(5(x))))))))))
5(1(5(1(2(0(5(x))))))) → 2(3(3(4(3(3(3(2(3(5(x))))))))))
0(4(4(5(2(0(5(x))))))) → 4(3(1(1(2(2(3(0(4(5(x))))))))))
2(5(1(0(5(0(5(x))))))) → 2(0(2(3(4(2(3(2(3(5(x))))))))))
5(4(5(5(5(0(5(x))))))) → 2(3(0(3(3(2(3(3(2(5(x))))))))))
1(3(4(1(0(3(5(x))))))) → 1(3(0(0(1(2(1(2(2(3(x))))))))))
1(0(1(0(5(3(5(x))))))) → 1(5(3(5(5(1(2(2(3(5(x))))))))))
3(0(1(4(0(4(5(x))))))) → 3(4(2(3(4(4(2(2(3(5(x))))))))))

Q is empty.

(3) QTRSRRRProof (EQUIVALENT transformation)

Used ordering:
Polynomial interpretation [POLO]:

POL(0(x1)) = 5 + x1   
POL(1(x1)) = x1   
POL(2(x1)) = x1   
POL(3(x1)) = x1   
POL(4(x1)) = 2 + x1   
POL(5(x1)) = 3 + x1   
With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:

0(1(0(x))) → 4(2(4(2(3(2(2(3(3(2(x))))))))))
0(4(0(0(0(x))))) → 4(3(0(2(2(1(4(4(4(3(x))))))))))
1(1(4(4(0(x))))) → 2(2(2(2(2(2(3(2(4(0(x))))))))))
2(1(4(5(0(x))))) → 1(2(3(2(4(3(3(1(2(3(x))))))))))
0(3(0(0(1(x))))) → 0(3(4(2(3(2(3(2(1(1(x))))))))))
5(4(0(0(0(0(x)))))) → 5(3(2(5(1(4(2(3(2(0(x))))))))))
4(0(2(0(0(0(x)))))) → 4(0(1(1(4(2(1(2(2(3(x))))))))))
0(3(5(4(0(0(x)))))) → 4(1(1(2(2(5(3(2(2(1(x))))))))))
1(1(3(5(1(0(x)))))) → 3(5(5(2(1(2(3(1(2(3(x))))))))))
1(1(0(0(2(0(x)))))) → 3(3(2(3(2(1(3(2(4(3(x))))))))))
2(0(0(0(5(0(x)))))) → 1(2(1(3(4(5(0(2(3(2(x))))))))))
4(0(3(0(4(1(x)))))) → 4(4(1(2(3(3(5(2(2(3(x))))))))))
5(3(1(0(0(3(x)))))) → 5(1(3(5(0(2(3(3(1(2(x))))))))))
2(1(0(4(1(3(x)))))) → 2(1(1(3(0(1(2(2(3(2(x))))))))))
1(4(2(0(5(4(x)))))) → 1(4(3(2(2(3(2(4(1(2(x))))))))))
5(1(0(3(4(5(x)))))) → 2(3(5(1(2(3(3(3(2(5(x))))))))))
5(0(3(2(1(0(0(x))))))) → 5(5(3(4(1(2(3(1(2(3(x))))))))))
3(1(5(1(5(0(0(x))))))) → 2(2(3(0(5(3(3(1(3(3(x))))))))))
1(2(5(2(5(0(0(x))))))) → 0(2(1(2(2(4(3(5(3(2(x))))))))))
2(0(2(4(5(0(0(x))))))) → 3(1(3(0(0(2(2(3(2(3(x))))))))))
0(2(5(5(0(1(0(x))))))) → 0(2(0(3(3(3(4(2(2(3(x))))))))))
2(0(0(3(0(2(0(x))))))) → 3(2(5(4(4(3(1(3(2(3(x))))))))))
3(4(0(5(2(2(0(x))))))) → 3(5(2(3(2(2(1(1(4(0(x))))))))))
4(5(1(0(4(2(0(x))))))) → 4(3(5(1(2(3(1(0(2(3(x))))))))))
0(0(0(0(0(3(0(x))))))) → 4(4(2(0(1(3(2(5(0(2(x))))))))))
3(4(0(0(0(4(0(x))))))) → 3(3(3(2(3(1(2(5(5(0(x))))))))))
4(0(5(5(5(4(0(x))))))) → 4(4(2(0(3(2(1(5(3(2(x))))))))))
0(0(5(1(1(5(0(x))))))) → 4(3(3(0(2(5(0(1(2(3(x))))))))))
0(1(4(2(2(5(0(x))))))) → 4(0(3(2(3(2(1(3(3(2(x))))))))))
1(3(4(1(3(5(0(x))))))) → 1(0(1(4(4(3(1(2(3(2(x))))))))))
0(0(0(1(3(0(1(x))))))) → 4(4(4(2(3(5(2(2(4(2(x))))))))))
2(0(4(4(2(1(1(x))))))) → 2(2(5(1(2(3(2(2(1(1(x))))))))))
1(5(0(4(4(2(1(x))))))) → 3(0(1(5(3(2(2(3(3(1(x))))))))))
5(3(3(0(0(3(1(x))))))) → 5(3(4(5(4(2(1(2(2(3(x))))))))))
3(4(0(3(1(4(1(x))))))) → 1(5(2(2(3(2(1(5(3(1(x))))))))))
0(0(0(0(4(4(1(x))))))) → 0(1(3(5(3(3(4(2(1(2(x))))))))))
3(3(5(0(0(5(1(x))))))) → 1(2(3(1(1(2(3(4(5(1(x))))))))))
2(0(4(0(0(0(4(x))))))) → 2(2(1(4(2(3(2(2(4(4(x))))))))))
4(1(4(0(0(0(4(x))))))) → 0(0(1(2(1(1(2(3(4(4(x))))))))))
2(0(0(4(0(0(4(x))))))) → 5(1(4(5(3(3(2(3(0(3(x))))))))))
4(2(5(4(0(0(4(x))))))) → 0(4(4(3(2(2(2(5(3(3(x))))))))))
1(5(2(0(3(0(4(x))))))) → 3(0(1(3(4(3(2(3(3(4(x))))))))))
2(1(1(0(4(0(4(x))))))) → 2(2(2(3(4(1(3(0(2(2(x))))))))))
0(0(4(1(4(0(4(x))))))) → 4(1(1(2(0(0(2(2(1(3(x))))))))))
4(1(4(5(0(1(4(x))))))) → 4(3(4(2(3(1(2(1(5(2(x))))))))))
0(1(3(0(4(1(4(x))))))) → 4(1(5(2(2(2(0(2(3(5(x))))))))))
2(0(5(5(0(3(4(x))))))) → 2(5(4(2(2(3(2(3(0(3(x))))))))))
0(1(4(5(5(3(4(x))))))) → 4(3(3(2(5(4(3(1(5(3(x))))))))))
0(4(1(0(0(0(5(x))))))) → 4(5(0(3(2(2(3(5(2(5(x))))))))))
5(1(5(1(2(0(5(x))))))) → 2(3(3(4(3(3(3(2(3(5(x))))))))))
0(4(4(5(2(0(5(x))))))) → 4(3(1(1(2(2(3(0(4(5(x))))))))))
2(5(1(0(5(0(5(x))))))) → 2(0(2(3(4(2(3(2(3(5(x))))))))))
5(4(5(5(5(0(5(x))))))) → 2(3(0(3(3(2(3(3(2(5(x))))))))))
1(0(1(0(5(3(5(x))))))) → 1(5(3(5(5(1(2(2(3(5(x))))))))))
3(0(1(4(0(4(5(x))))))) → 3(4(2(3(4(4(2(2(3(5(x))))))))))


(4) Obligation:

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

1(3(1(0(0(4(x)))))) → 1(4(4(5(0(2(1(2(2(3(x))))))))))
0(0(4(5(2(1(4(x))))))) → 4(0(2(3(0(3(1(5(4(2(x))))))))))
1(3(4(1(0(3(5(x))))))) → 1(3(0(0(1(2(1(2(2(3(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:

11(3(1(0(0(4(x)))))) → 11(4(4(5(0(2(1(2(2(3(x))))))))))
11(3(1(0(0(4(x)))))) → 01(2(1(2(2(3(x))))))
11(3(1(0(0(4(x)))))) → 11(2(2(3(x))))
01(0(4(5(2(1(4(x))))))) → 01(2(3(0(3(1(5(4(2(x)))))))))
01(0(4(5(2(1(4(x))))))) → 01(3(1(5(4(2(x))))))
01(0(4(5(2(1(4(x))))))) → 11(5(4(2(x))))
11(3(4(1(0(3(5(x))))))) → 11(3(0(0(1(2(1(2(2(3(x))))))))))
11(3(4(1(0(3(5(x))))))) → 01(0(1(2(1(2(2(3(x))))))))
11(3(4(1(0(3(5(x))))))) → 01(1(2(1(2(2(3(x)))))))
11(3(4(1(0(3(5(x))))))) → 11(2(1(2(2(3(x))))))
11(3(4(1(0(3(5(x))))))) → 11(2(2(3(x))))

The TRS R consists of the following rules:

1(3(1(0(0(4(x)))))) → 1(4(4(5(0(2(1(2(2(3(x))))))))))
0(0(4(5(2(1(4(x))))))) → 4(0(2(3(0(3(1(5(4(2(x))))))))))
1(3(4(1(0(3(5(x))))))) → 1(3(0(0(1(2(1(2(2(3(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 0 SCCs with 11 less nodes.

(8) TRUE