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

(0) Obligation:

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

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

Q is empty.

(1) DependencyPairsProof (EQUIVALENT transformation)

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

(2) Obligation:

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

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

The TRS R consists of the following rules:

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

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

(3) DependencyGraphProof (EQUIVALENT transformation)

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

(4) Complex Obligation (AND)

(5) Obligation:

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

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

The TRS R consists of the following rules:

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

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

(6) UsableRulesProof (EQUIVALENT transformation)

We can use the usable rules and reduction pair processor [LPAR04] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its arguments. Then, we can delete all non-usable rules [FROCOS05] from R.

(7) Obligation:

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

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

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

(8) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • 01(5(5(2(x)))) → 01(x)
    The graph contains the following edges 1 > 1

  • 01(1(2(x))) → 01(x)
    The graph contains the following edges 1 > 1

  • 01(2(4(3(1(x))))) → 01(x)
    The graph contains the following edges 1 > 1

(9) YES

(10) Obligation:

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

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

The TRS R consists of the following rules:

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

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

(11) UsableRulesProof (EQUIVALENT transformation)

We can use the usable rules and reduction pair processor [LPAR04] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its arguments. Then, we can delete all non-usable rules [FROCOS05] from R.

(12) Obligation:

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

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

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

(13) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • 21(4(0(5(1(x))))) → 21(x)
    The graph contains the following edges 1 > 1

  • 21(5(1(x))) → 21(x)
    The graph contains the following edges 1 > 1

  • 21(5(2(0(1(x))))) → 21(x)
    The graph contains the following edges 1 > 1

(14) YES