Term Rewriting System R:
[y, x]
f(y, f(x, f(a, x))) -> f(f(f(a, x), f(x, a)), f(a, y))
f(x, f(x, y)) -> f(f(f(x, a), a), a)

Termination of R to be shown.



   R
Dependency Pair Analysis



R contains the following Dependency Pairs:

F(y, f(x, f(a, x))) -> F(f(f(a, x), f(x, a)), f(a, y))
F(y, f(x, f(a, x))) -> F(f(a, x), f(x, a))
F(y, f(x, f(a, x))) -> F(x, a)
F(y, f(x, f(a, x))) -> F(a, y)
F(x, f(x, y)) -> F(f(f(x, a), a), a)
F(x, f(x, y)) -> F(f(x, a), a)
F(x, f(x, y)) -> F(x, a)

Furthermore, R contains one SCC.


   R
DPs
       →DP Problem 1
Semantic Labelling


Dependency Pairs:

F(y, f(x, f(a, x))) -> F(a, y)
F(y, f(x, f(a, x))) -> F(f(f(a, x), f(x, a)), f(a, y))


Rules:


f(y, f(x, f(a, x))) -> f(f(f(a, x), f(x, a)), f(a, y))
f(x, f(x, y)) -> f(f(f(x, a), a), a)





Using Semantic Labelling, the DP problem could be transformed. The following model was found:
F(x0, x1)=  1
f(x0, x1)=  0
a=  1

From the dependency graph we obtain 1 (labeled) SCCs which each result in correspondingDP problem.


   R
DPs
       →DP Problem 1
SemLab
           →DP Problem 2
Modular Removal of Rules


Dependency Pairs:

F00(y, f10(x, f11(a, x))) -> F00(f00(f11(a, x), f11(x, a)), f10(a, y))
F00(y, f00(x, f10(a, x))) -> F00(f00(f10(a, x), f01(x, a)), f10(a, y))


Rules:


f00(y, f00(x, f10(a, x))) -> f00(f00(f10(a, x), f01(x, a)), f10(a, y))
f00(y, f10(x, f11(a, x))) -> f00(f00(f11(a, x), f11(x, a)), f10(a, y))
f00(x, f00(x, y)) -> f01(f01(f01(x, a), a), a)
f00(x, f01(x, y)) -> f01(f01(f01(x, a), a), a)
f10(y, f00(x, f10(a, x))) -> f00(f00(f10(a, x), f01(x, a)), f11(a, y))
f10(y, f10(x, f11(a, x))) -> f00(f00(f11(a, x), f11(x, a)), f11(a, y))
f10(x, f10(x, y)) -> f01(f01(f11(x, a), a), a)
f10(x, f11(x, y)) -> f01(f01(f11(x, a), a), a)





We have the following set of usable rules:

f10(y, f00(x, f10(a, x))) -> f00(f00(f10(a, x), f01(x, a)), f11(a, y))
f10(y, f10(x, f11(a, x))) -> f00(f00(f11(a, x), f11(x, a)), f11(a, y))
f10(x, f10(x, y)) -> f01(f01(f11(x, a), a), a)
f10(x, f11(x, y)) -> f01(f01(f11(x, a), a), a)
f00(x, f01(x, y)) -> f01(f01(f01(x, a), a), a)
To remove rules and DPs from this DP problem we used the following monotonic and CE-compatible order: Polynomial ordering.
Polynomial interpretation:
  POL(f_11(x1, x2))=  x1 + x2  
  POL(F_00(x1, x2))=  x1 + x2  
  POL(f_00(x1, x2))=  x1 + x2  
  POL(f_10(x1, x2))=  x1 + x2  
  POL(f_01(x1, x2))=  x1 + x2  
  POL(a)=  0  

We have the following set D of usable symbols: {f11, F00, f00, f10, f01, a}
No Dependency Pairs can be deleted.
3 non usable rules have been deleted.

The result of this processor delivers one new DP problem.



   R
DPs
       →DP Problem 1
SemLab
           →DP Problem 2
MRR
             ...
               →DP Problem 3
Modular Removal of Rules


Dependency Pair:

F00(y, f10(x, f11(a, x))) -> F00(f00(f11(a, x), f11(x, a)), f10(a, y))


Rules:


f10(y, f00(x, f10(a, x))) -> f00(f00(f10(a, x), f01(x, a)), f11(a, y))
f10(y, f10(x, f11(a, x))) -> f00(f00(f11(a, x), f11(x, a)), f11(a, y))
f10(x, f10(x, y)) -> f01(f01(f11(x, a), a), a)
f10(x, f11(x, y)) -> f01(f01(f11(x, a), a), a)
f00(x, f01(x, y)) -> f01(f01(f01(x, a), a), a)





We have the following set of usable rules:

f10(y, f00(x, f10(a, x))) -> f00(f00(f10(a, x), f01(x, a)), f11(a, y))
f10(y, f10(x, f11(a, x))) -> f00(f00(f11(a, x), f11(x, a)), f11(a, y))
f10(x, f10(x, y)) -> f01(f01(f11(x, a), a), a)
f10(x, f11(x, y)) -> f01(f01(f11(x, a), a), a)
f00(x, f01(x, y)) -> f01(f01(f01(x, a), a), a)
To remove rules and DPs from this DP problem we used the following monotonic and CE-compatible order: Polynomial ordering.
Polynomial interpretation:
  POL(f_11(x1, x2))=  x1 + x2  
  POL(F_00(x1, x2))=  1 + x1 + x2  
  POL(f_00(x1, x2))=  x1 + x2  
  POL(f_10(x1, x2))=  1 + x1 + x2  
  POL(f_01(x1, x2))=  x1 + x2  
  POL(a)=  0  

We have the following set D of usable symbols: {f11, F00, f00, f10, f01, a}
No Dependency Pairs can be deleted.
The following rules can be deleted as the lhs is strictly greater than the corresponding rhs:

f10(y, f00(x, f10(a, x))) -> f00(f00(f10(a, x), f01(x, a)), f11(a, y))
f10(y, f10(x, f11(a, x))) -> f00(f00(f11(a, x), f11(x, a)), f11(a, y))
f10(x, f10(x, y)) -> f01(f01(f11(x, a), a), a)
f10(x, f11(x, y)) -> f01(f01(f11(x, a), a), a)


The result of this processor delivers one new DP problem.



   R
DPs
       →DP Problem 1
SemLab
           →DP Problem 2
MRR
             ...
               →DP Problem 4
Modular Removal of Rules


Dependency Pair:

F00(y, f10(x, f11(a, x))) -> F00(f00(f11(a, x), f11(x, a)), f10(a, y))


Rule:


f00(x, f01(x, y)) -> f01(f01(f01(x, a), a), a)





We have the following set of usable rules: none
To remove rules and DPs from this DP problem we used the following monotonic and CE-compatible order: Polynomial ordering.
Polynomial interpretation:
  POL(f_11(x1, x2))=  x1 + x2  
  POL(F_00(x1, x2))=  1 + x1 + x2  
  POL(f_00(x1, x2))=  x1 + x2  
  POL(f_10(x1, x2))=  1 + x1 + x2  
  POL(a)=  0  

We have the following set D of usable symbols: {f11, F00, f00, f10, a}
No Dependency Pairs can be deleted.
1 non usable rules have been deleted.

The result of this processor delivers one new DP problem.



   R
DPs
       →DP Problem 1
SemLab
           →DP Problem 2
MRR
             ...
               →DP Problem 5
Unlabel


Dependency Pair:

F00(y, f10(x, f11(a, x))) -> F00(f00(f11(a, x), f11(x, a)), f10(a, y))


Rule:

none





Removed all semantic labels.

   R
DPs
       →DP Problem 1
SemLab
           →DP Problem 2
MRR
             ...
               →DP Problem 6
Non-Overlappingness Check


Dependency Pair:

F(y, f(x, f(a, x))) -> F(f(f(a, x), f(x, a)), f(a, y))


Rule:

none





R does not overlap into P. Moreover, R is locally confluent (all critical pairs are trivially joinable).Hence we can switch to innermost.
The transformation is resulting in one subcycle:


   R
DPs
       →DP Problem 1
SemLab
           →DP Problem 2
MRR
             ...
               →DP Problem 7
Instantiation Transformation


Dependency Pair:

F(y, f(x, f(a, x))) -> F(f(f(a, x), f(x, a)), f(a, y))


Rule:

none


Strategy:

innermost




On this DP problem, an Instantiation SCC transformation can be performed.
As a result of transforming the rule

F(y, f(x, f(a, x))) -> F(f(f(a, x), f(x, a)), f(a, y))
one new Dependency Pair is created:

F(f(f(a, x''), f(x'', a)), f(a, f(a, a))) -> F(f(f(a, a), f(a, a)), f(a, f(f(a, x''), f(x'', a))))

The transformation is resulting in no new DP problems.


Termination of R successfully shown.
Duration:
0:12 minutes