Term Rewriting System R:
[f, x]
app(app(F, app(app(F, f), x)), x) -> app(app(F, app(G, app(app(F, f), x))), app(f, x))

Innermost Termination of R to be shown.



   R
Dependency Pair Analysis



R contains the following Dependency Pairs:

APP(app(F, app(app(F, f), x)), x) -> APP(app(F, app(G, app(app(F, f), x))), app(f, x))
APP(app(F, app(app(F, f), x)), x) -> APP(F, app(G, app(app(F, f), x)))
APP(app(F, app(app(F, f), x)), x) -> APP(G, app(app(F, f), x))
APP(app(F, app(app(F, f), x)), x) -> APP(f, x)

Furthermore, R contains one SCC.


   R
DPs
       →DP Problem 1
Narrowing Transformation


Dependency Pairs:

APP(app(F, app(app(F, f), x)), x) -> APP(f, x)
APP(app(F, app(app(F, f), x)), x) -> APP(app(F, app(G, app(app(F, f), x))), app(f, x))


Rule:


app(app(F, app(app(F, f), x)), x) -> app(app(F, app(G, app(app(F, f), x))), app(f, x))


Strategy:

innermost




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

APP(app(F, app(app(F, f), x)), x) -> APP(app(F, app(G, app(app(F, f), x))), app(f, x))
one new Dependency Pair is created:

APP(app(F, app(app(F, app(F, app(app(F, f''), x''))), x'')), x'') -> APP(app(F, app(G, app(app(F, app(F, app(app(F, f''), x''))), x''))), app(app(F, app(G, app(app(F, f''), x''))), app(f'', x'')))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
Nar
           →DP Problem 2
Narrowing Transformation


Dependency Pairs:

APP(app(F, app(app(F, app(F, app(app(F, f''), x''))), x'')), x'') -> APP(app(F, app(G, app(app(F, app(F, app(app(F, f''), x''))), x''))), app(app(F, app(G, app(app(F, f''), x''))), app(f'', x'')))
APP(app(F, app(app(F, f), x)), x) -> APP(f, x)


Rule:


app(app(F, app(app(F, f), x)), x) -> app(app(F, app(G, app(app(F, f), x))), app(f, x))


Strategy:

innermost




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

APP(app(F, app(app(F, app(F, app(app(F, f''), x''))), x'')), x'') -> APP(app(F, app(G, app(app(F, app(F, app(app(F, f''), x''))), x''))), app(app(F, app(G, app(app(F, f''), x''))), app(f'', x'')))
one new Dependency Pair is created:

APP(app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f'), x'''))), x'''))), x''')), x''') -> APP(app(F, app(G, app(app(F, app(F, app(app(F, app(F, app(app(F, f'), x'''))), x'''))), x'''))), app(app(F, app(G, app(app(F, app(F, app(app(F, f'), x'''))), x'''))), app(app(F, app(G, app(app(F, f'), x'''))), app(f', x'''))))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
Nar
           →DP Problem 2
Nar
             ...
               →DP Problem 3
Forward Instantiation Transformation


Dependency Pairs:

APP(app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f'), x'''))), x'''))), x''')), x''') -> APP(app(F, app(G, app(app(F, app(F, app(app(F, app(F, app(app(F, f'), x'''))), x'''))), x'''))), app(app(F, app(G, app(app(F, app(F, app(app(F, f'), x'''))), x'''))), app(app(F, app(G, app(app(F, f'), x'''))), app(f', x'''))))
APP(app(F, app(app(F, f), x)), x) -> APP(f, x)


Rule:


app(app(F, app(app(F, f), x)), x) -> app(app(F, app(G, app(app(F, f), x))), app(f, x))


Strategy:

innermost




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

APP(app(F, app(app(F, f), x)), x) -> APP(f, x)
two new Dependency Pairs are created:

APP(app(F, app(app(F, app(F, app(app(F, f''), x'''))), x0)), x0) -> APP(app(F, app(app(F, f''), x''')), x0)
APP(app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f'''), x''''0))), x''''''))), x'''0'))), x')), x') -> APP(app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f'''), x''''0))), x''''''))), x'''0')), x')

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
Nar
           →DP Problem 2
Nar
             ...
               →DP Problem 4
Narrowing Transformation


Dependency Pairs:

APP(app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f'''), x''''0))), x''''''))), x'''0'))), x')), x') -> APP(app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f'''), x''''0))), x''''''))), x'''0')), x')
APP(app(F, app(app(F, app(F, app(app(F, f''), x'''))), x0)), x0) -> APP(app(F, app(app(F, f''), x''')), x0)
APP(app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f'), x'''))), x'''))), x''')), x''') -> APP(app(F, app(G, app(app(F, app(F, app(app(F, app(F, app(app(F, f'), x'''))), x'''))), x'''))), app(app(F, app(G, app(app(F, app(F, app(app(F, f'), x'''))), x'''))), app(app(F, app(G, app(app(F, f'), x'''))), app(f', x'''))))


Rule:


app(app(F, app(app(F, f), x)), x) -> app(app(F, app(G, app(app(F, f), x))), app(f, x))


Strategy:

innermost




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

APP(app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f'), x'''))), x'''))), x''')), x''') -> APP(app(F, app(G, app(app(F, app(F, app(app(F, app(F, app(app(F, f'), x'''))), x'''))), x'''))), app(app(F, app(G, app(app(F, app(F, app(app(F, f'), x'''))), x'''))), app(app(F, app(G, app(app(F, f'), x'''))), app(f', x'''))))
one new Dependency Pair is created:

APP(app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f''), x''''))), x''''))), x''''))), x'''')), x'''') -> APP(app(F, app(G, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f''), x''''))), x''''))), x''''))), x''''))), app(app(F, app(G, app(app(F, app(F, app(app(F, app(F, app(app(F, f''), x''''))), x''''))), x''''))), app(app(F, app(G, app(app(F, app(F, app(app(F, f''), x''''))), x''''))), app(app(F, app(G, app(app(F, f''), x''''))), app(f'', x'''')))))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
Nar
           →DP Problem 2
Nar
             ...
               →DP Problem 5
Narrowing Transformation


Dependency Pairs:

APP(app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f''), x''''))), x''''))), x''''))), x'''')), x'''') -> APP(app(F, app(G, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f''), x''''))), x''''))), x''''))), x''''))), app(app(F, app(G, app(app(F, app(F, app(app(F, app(F, app(app(F, f''), x''''))), x''''))), x''''))), app(app(F, app(G, app(app(F, app(F, app(app(F, f''), x''''))), x''''))), app(app(F, app(G, app(app(F, f''), x''''))), app(f'', x'''')))))
APP(app(F, app(app(F, app(F, app(app(F, f''), x'''))), x0)), x0) -> APP(app(F, app(app(F, f''), x''')), x0)
APP(app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f'''), x''''0))), x''''''))), x'''0'))), x')), x') -> APP(app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f'''), x''''0))), x''''''))), x'''0')), x')


Rule:


app(app(F, app(app(F, f), x)), x) -> app(app(F, app(G, app(app(F, f), x))), app(f, x))


Strategy:

innermost




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

APP(app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f''), x''''))), x''''))), x''''))), x'''')), x'''') -> APP(app(F, app(G, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f''), x''''))), x''''))), x''''))), x''''))), app(app(F, app(G, app(app(F, app(F, app(app(F, app(F, app(app(F, f''), x''''))), x''''))), x''''))), app(app(F, app(G, app(app(F, app(F, app(app(F, f''), x''''))), x''''))), app(app(F, app(G, app(app(F, f''), x''''))), app(f'', x'''')))))
one new Dependency Pair is created:

APP(app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f'), x'''''))), x'''''))), x'''''))), x'''''))), x''''')), x''''') -> APP(app(F, app(G, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f'), x'''''))), x'''''))), x'''''))), x'''''))), x'''''))), app(app(F, app(G, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f'), x'''''))), x'''''))), x'''''))), x'''''))), app(app(F, app(G, app(app(F, app(F, app(app(F, app(F, app(app(F, f'), x'''''))), x'''''))), x'''''))), app(app(F, app(G, app(app(F, app(F, app(app(F, f'), x'''''))), x'''''))), app(app(F, app(G, app(app(F, f'), x'''''))), app(f', x'''''))))))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
Nar
           →DP Problem 2
Nar
             ...
               →DP Problem 6
Narrowing Transformation


Dependency Pairs:

APP(app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f'), x'''''))), x'''''))), x'''''))), x'''''))), x''''')), x''''') -> APP(app(F, app(G, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f'), x'''''))), x'''''))), x'''''))), x'''''))), x'''''))), app(app(F, app(G, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f'), x'''''))), x'''''))), x'''''))), x'''''))), app(app(F, app(G, app(app(F, app(F, app(app(F, app(F, app(app(F, f'), x'''''))), x'''''))), x'''''))), app(app(F, app(G, app(app(F, app(F, app(app(F, f'), x'''''))), x'''''))), app(app(F, app(G, app(app(F, f'), x'''''))), app(f', x'''''))))))
APP(app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f'''), x''''0))), x''''''))), x'''0'))), x')), x') -> APP(app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f'''), x''''0))), x''''''))), x'''0')), x')
APP(app(F, app(app(F, app(F, app(app(F, f''), x'''))), x0)), x0) -> APP(app(F, app(app(F, f''), x''')), x0)


Rule:


app(app(F, app(app(F, f), x)), x) -> app(app(F, app(G, app(app(F, f), x))), app(f, x))


Strategy:

innermost




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

APP(app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f'), x'''''))), x'''''))), x'''''))), x'''''))), x''''')), x''''') -> APP(app(F, app(G, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f'), x'''''))), x'''''))), x'''''))), x'''''))), x'''''))), app(app(F, app(G, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f'), x'''''))), x'''''))), x'''''))), x'''''))), app(app(F, app(G, app(app(F, app(F, app(app(F, app(F, app(app(F, f'), x'''''))), x'''''))), x'''''))), app(app(F, app(G, app(app(F, app(F, app(app(F, f'), x'''''))), x'''''))), app(app(F, app(G, app(app(F, f'), x'''''))), app(f', x'''''))))))
one new Dependency Pair is created:

APP(app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f''), x''''''))), x''''''))), x''''''))), x''''''))), x''''''))), x'''''')), x'''''') -> APP(app(F, app(G, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f''), x''''''))), x''''''))), x''''''))), x''''''))), x''''''))), x''''''))), app(app(F, app(G, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f''), x''''''))), x''''''))), x''''''))), x''''''))), x''''''))), app(app(F, app(G, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f''), x''''''))), x''''''))), x''''''))), x''''''))), app(app(F, app(G, app(app(F, app(F, app(app(F, app(F, app(app(F, f''), x''''''))), x''''''))), x''''''))), app(app(F, app(G, app(app(F, app(F, app(app(F, f''), x''''''))), x''''''))), app(app(F, app(G, app(app(F, f''), x''''''))), app(f'', x'''''')))))))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
Nar
           →DP Problem 2
Nar
             ...
               →DP Problem 7
Remaining Obligation(s)




The following remains to be proven:
Dependency Pairs:

APP(app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f''), x''''''))), x''''''))), x''''''))), x''''''))), x''''''))), x'''''')), x'''''') -> APP(app(F, app(G, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f''), x''''''))), x''''''))), x''''''))), x''''''))), x''''''))), x''''''))), app(app(F, app(G, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f''), x''''''))), x''''''))), x''''''))), x''''''))), x''''''))), app(app(F, app(G, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f''), x''''''))), x''''''))), x''''''))), x''''''))), app(app(F, app(G, app(app(F, app(F, app(app(F, app(F, app(app(F, f''), x''''''))), x''''''))), x''''''))), app(app(F, app(G, app(app(F, app(F, app(app(F, f''), x''''''))), x''''''))), app(app(F, app(G, app(app(F, f''), x''''''))), app(f'', x'''''')))))))
APP(app(F, app(app(F, app(F, app(app(F, f''), x'''))), x0)), x0) -> APP(app(F, app(app(F, f''), x''')), x0)
APP(app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f'''), x''''0))), x''''''))), x'''0'))), x')), x') -> APP(app(F, app(app(F, app(F, app(app(F, app(F, app(app(F, f'''), x''''0))), x''''''))), x'''0')), x')


Rule:


app(app(F, app(app(F, f), x)), x) -> app(app(F, app(G, app(app(F, f), x))), app(f, x))


Strategy:

innermost



Innermost Termination of R could not be shown.
Duration:
0:03 minutes