YES Termination proof of rt3-5.trs

(0) Obligation:

Relative term rewrite system:
The relative TRS consists of the following R rules:

f(g(f(x))) → f(g(g(g(f(x)))))

The relative TRS consists of the following S rules:

f(x) → g(g(f(g(g(x)))))
g(x) → g(g(f(g(g(x)))))
g(x) → g(g(x))

(1) FlatCCProof (EQUIVALENT transformation)

We used flat context closure [ROOTLAB]

(2) Obligation:

Relative term rewrite system:
The relative TRS consists of the following R rules:

f(g(f(x))) → f(g(g(g(f(x)))))

The relative TRS consists of the following S rules:

g(x) → g(g(f(g(g(x)))))
g(x) → g(g(x))
f(f(x)) → f(g(g(f(g(g(x))))))
g(f(x)) → g(g(g(f(g(g(x))))))

(3) RootLabelingProof (EQUIVALENT transformation)

We used plain root labeling [ROOTLAB] with the following heuristic: LabelAll: All function symbols get labeled

(4) Obligation:

Relative term rewrite system:
The relative TRS consists of the following R rules:

f_{g_1}(g_{f_1}(f_{f_1}(x))) → f_{g_1}(g_{g_1}(g_{g_1}(g_{f_1}(f_{f_1}(x)))))
f_{g_1}(g_{f_1}(f_{g_1}(x))) → f_{g_1}(g_{g_1}(g_{g_1}(g_{f_1}(f_{g_1}(x)))))

The relative TRS consists of the following S rules:

g_{f_1}(x) → g_{g_1}(g_{f_1}(f_{g_1}(g_{g_1}(g_{f_1}(x)))))
g_{g_1}(x) → g_{g_1}(g_{f_1}(f_{g_1}(g_{g_1}(g_{g_1}(x)))))
g_{f_1}(x) → g_{g_1}(g_{f_1}(x))
g_{g_1}(x) → g_{g_1}(g_{g_1}(x))
f_{f_1}(f_{f_1}(x)) → f_{g_1}(g_{g_1}(g_{f_1}(f_{g_1}(g_{g_1}(g_{f_1}(x))))))
f_{f_1}(f_{g_1}(x)) → f_{g_1}(g_{g_1}(g_{f_1}(f_{g_1}(g_{g_1}(g_{g_1}(x))))))
g_{f_1}(f_{f_1}(x)) → g_{g_1}(g_{g_1}(g_{f_1}(f_{g_1}(g_{g_1}(g_{f_1}(x))))))
g_{f_1}(f_{g_1}(x)) → g_{g_1}(g_{g_1}(g_{f_1}(f_{g_1}(g_{g_1}(g_{g_1}(x))))))

(5) RelTRSRRRProof (EQUIVALENT transformation)

We used the following monotonic ordering for rule removal:
Polynomial interpretation [POLO]:

POL(f_{f_1}(x1)) = 1 + x1   
POL(f_{g_1}(x1)) = x1   
POL(g_{f_1}(x1)) = x1   
POL(g_{g_1}(x1)) = x1   
With this ordering the following rules can be removed [MATRO] because they are oriented strictly:
Rules from R:
none
Rules from S:

f_{f_1}(f_{f_1}(x)) → f_{g_1}(g_{g_1}(g_{f_1}(f_{g_1}(g_{g_1}(g_{f_1}(x))))))
f_{f_1}(f_{g_1}(x)) → f_{g_1}(g_{g_1}(g_{f_1}(f_{g_1}(g_{g_1}(g_{g_1}(x))))))
g_{f_1}(f_{f_1}(x)) → g_{g_1}(g_{g_1}(g_{f_1}(f_{g_1}(g_{g_1}(g_{f_1}(x))))))


(6) Obligation:

Relative term rewrite system:
The relative TRS consists of the following R rules:

f_{g_1}(g_{f_1}(f_{f_1}(x))) → f_{g_1}(g_{g_1}(g_{g_1}(g_{f_1}(f_{f_1}(x)))))
f_{g_1}(g_{f_1}(f_{g_1}(x))) → f_{g_1}(g_{g_1}(g_{g_1}(g_{f_1}(f_{g_1}(x)))))

The relative TRS consists of the following S rules:

g_{f_1}(x) → g_{g_1}(g_{f_1}(f_{g_1}(g_{g_1}(g_{f_1}(x)))))
g_{g_1}(x) → g_{g_1}(g_{f_1}(f_{g_1}(g_{g_1}(g_{g_1}(x)))))
g_{f_1}(x) → g_{g_1}(g_{f_1}(x))
g_{g_1}(x) → g_{g_1}(g_{g_1}(x))
g_{f_1}(f_{g_1}(x)) → g_{g_1}(g_{g_1}(g_{f_1}(f_{g_1}(g_{g_1}(g_{g_1}(x))))))

(7) RelTRSRRRProof (EQUIVALENT transformation)

We used the following monotonic ordering for rule removal:
Matrix interpretation [MATRO] to (N^2, +, *, >=, >) :

POL(f_{g_1}(x1)) =
/0\
\0/
+
/12\
\01/
·x1

POL(g_{f_1}(x1)) =
/0\
\1/
+
/12\
\21/
·x1

POL(f_{f_1}(x1)) =
/1\
\1/
+
/10\
\00/
·x1

POL(g_{g_1}(x1)) =
/0\
\0/
+
/10\
\00/
·x1
With this ordering the following rules can be removed [MATRO] because they are oriented strictly:
Rules from R:

f_{g_1}(g_{f_1}(f_{f_1}(x))) → f_{g_1}(g_{g_1}(g_{g_1}(g_{f_1}(f_{f_1}(x)))))
f_{g_1}(g_{f_1}(f_{g_1}(x))) → f_{g_1}(g_{g_1}(g_{g_1}(g_{f_1}(f_{g_1}(x)))))
Rules from S:
none


(8) Obligation:

Relative term rewrite system:
R is empty.
The relative TRS consists of the following S rules:

g_{f_1}(x) → g_{g_1}(g_{f_1}(f_{g_1}(g_{g_1}(g_{f_1}(x)))))
g_{g_1}(x) → g_{g_1}(g_{f_1}(f_{g_1}(g_{g_1}(g_{g_1}(x)))))
g_{f_1}(x) → g_{g_1}(g_{f_1}(x))
g_{g_1}(x) → g_{g_1}(g_{g_1}(x))
g_{f_1}(f_{g_1}(x)) → g_{g_1}(g_{g_1}(g_{f_1}(f_{g_1}(g_{g_1}(g_{g_1}(x))))))

(9) RIsEmptyProof (EQUIVALENT transformation)

The TRS R is empty. Hence, termination is trivially proven.

(10) YES