(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, +, *, >=, >) :
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