Term Rewriting System R:
[f, x, l, r]
app(app(mapbt, f), app(leaf, x)) -> app(leaf, app(f, x))
app(app(mapbt, f), app(app(app(branch, x), l), r)) -> app(app(app(branch, app(f, x)), app(app(mapbt, f), l)), app(app(mapbt, f), r))

Innermost Termination of R to be shown.



   R
Dependency Pair Analysis



R contains the following Dependency Pairs:

APP(app(mapbt, f), app(leaf, x)) -> APP(leaf, app(f, x))
APP(app(mapbt, f), app(leaf, x)) -> APP(f, x)
APP(app(mapbt, f), app(app(app(branch, x), l), r)) -> APP(app(app(branch, app(f, x)), app(app(mapbt, f), l)), app(app(mapbt, f), r))
APP(app(mapbt, f), app(app(app(branch, x), l), r)) -> APP(app(branch, app(f, x)), app(app(mapbt, f), l))
APP(app(mapbt, f), app(app(app(branch, x), l), r)) -> APP(branch, app(f, x))
APP(app(mapbt, f), app(app(app(branch, x), l), r)) -> APP(f, x)
APP(app(mapbt, f), app(app(app(branch, x), l), r)) -> APP(app(mapbt, f), l)
APP(app(mapbt, f), app(app(app(branch, x), l), r)) -> APP(app(mapbt, f), r)

Furthermore, R contains one SCC.


   R
DPs
       →DP Problem 1
Narrowing Transformation


Dependency Pairs:

APP(app(mapbt, f), app(app(app(branch, x), l), r)) -> APP(app(mapbt, f), r)
APP(app(mapbt, f), app(app(app(branch, x), l), r)) -> APP(app(mapbt, f), l)
APP(app(mapbt, f), app(app(app(branch, x), l), r)) -> APP(f, x)
APP(app(mapbt, f), app(app(app(branch, x), l), r)) -> APP(app(branch, app(f, x)), app(app(mapbt, f), l))
APP(app(mapbt, f), app(app(app(branch, x), l), r)) -> APP(app(app(branch, app(f, x)), app(app(mapbt, f), l)), app(app(mapbt, f), r))
APP(app(mapbt, f), app(leaf, x)) -> APP(f, x)


Rules:


app(app(mapbt, f), app(leaf, x)) -> app(leaf, app(f, x))
app(app(mapbt, f), app(app(app(branch, x), l), r)) -> app(app(app(branch, app(f, x)), app(app(mapbt, f), l)), app(app(mapbt, f), r))


Strategy:

innermost




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

APP(app(mapbt, f), app(app(app(branch, x), l), r)) -> APP(app(app(branch, app(f, x)), app(app(mapbt, f), l)), app(app(mapbt, f), r))
six new Dependency Pairs are created:

APP(app(mapbt, app(mapbt, f'')), app(app(app(branch, app(leaf, x'')), l), r)) -> APP(app(app(branch, app(leaf, app(f'', x''))), app(app(mapbt, app(mapbt, f'')), l)), app(app(mapbt, app(mapbt, f'')), r))
APP(app(mapbt, app(mapbt, f'')), app(app(app(branch, app(app(app(branch, x''), l''), r'')), l), r)) -> APP(app(app(branch, app(app(app(branch, app(f'', x'')), app(app(mapbt, f''), l'')), app(app(mapbt, f''), r''))), app(app(mapbt, app(mapbt, f'')), l)), app(app(mapbt, app(mapbt, f'')), r))
APP(app(mapbt, f''), app(app(app(branch, x), app(leaf, x'')), r)) -> APP(app(app(branch, app(f'', x)), app(leaf, app(f'', x''))), app(app(mapbt, f''), r))
APP(app(mapbt, f''), app(app(app(branch, x), app(app(app(branch, x''), l''), r'')), r)) -> APP(app(app(branch, app(f'', x)), app(app(app(branch, app(f'', x'')), app(app(mapbt, f''), l'')), app(app(mapbt, f''), r''))), app(app(mapbt, f''), r))
APP(app(mapbt, f''), app(app(app(branch, x), l), app(leaf, x''))) -> APP(app(app(branch, app(f'', x)), app(app(mapbt, f''), l)), app(leaf, app(f'', x'')))
APP(app(mapbt, f''), app(app(app(branch, x), l), app(app(app(branch, x''), l''), r''))) -> APP(app(app(branch, app(f'', x)), app(app(mapbt, f''), l)), app(app(app(branch, app(f'', x'')), app(app(mapbt, f''), l'')), app(app(mapbt, f''), r'')))

The transformation is resulting in one new DP problem:



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


Dependency Pairs:

APP(app(mapbt, f''), app(app(app(branch, x), l), app(app(app(branch, x''), l''), r''))) -> APP(app(app(branch, app(f'', x)), app(app(mapbt, f''), l)), app(app(app(branch, app(f'', x'')), app(app(mapbt, f''), l'')), app(app(mapbt, f''), r'')))
APP(app(mapbt, f''), app(app(app(branch, x), l), app(leaf, x''))) -> APP(app(app(branch, app(f'', x)), app(app(mapbt, f''), l)), app(leaf, app(f'', x'')))
APP(app(mapbt, f''), app(app(app(branch, x), app(app(app(branch, x''), l''), r'')), r)) -> APP(app(app(branch, app(f'', x)), app(app(app(branch, app(f'', x'')), app(app(mapbt, f''), l'')), app(app(mapbt, f''), r''))), app(app(mapbt, f''), r))
APP(app(mapbt, f''), app(app(app(branch, x), app(leaf, x'')), r)) -> APP(app(app(branch, app(f'', x)), app(leaf, app(f'', x''))), app(app(mapbt, f''), r))
APP(app(mapbt, app(mapbt, f'')), app(app(app(branch, app(app(app(branch, x''), l''), r'')), l), r)) -> APP(app(app(branch, app(app(app(branch, app(f'', x'')), app(app(mapbt, f''), l'')), app(app(mapbt, f''), r''))), app(app(mapbt, app(mapbt, f'')), l)), app(app(mapbt, app(mapbt, f'')), r))
APP(app(mapbt, app(mapbt, f'')), app(app(app(branch, app(leaf, x'')), l), r)) -> APP(app(app(branch, app(leaf, app(f'', x''))), app(app(mapbt, app(mapbt, f'')), l)), app(app(mapbt, app(mapbt, f'')), r))
APP(app(mapbt, f), app(app(app(branch, x), l), r)) -> APP(app(mapbt, f), l)
APP(app(mapbt, f), app(app(app(branch, x), l), r)) -> APP(f, x)
APP(app(mapbt, f), app(app(app(branch, x), l), r)) -> APP(app(branch, app(f, x)), app(app(mapbt, f), l))
APP(app(mapbt, f), app(leaf, x)) -> APP(f, x)
APP(app(mapbt, f), app(app(app(branch, x), l), r)) -> APP(app(mapbt, f), r)


Rules:


app(app(mapbt, f), app(leaf, x)) -> app(leaf, app(f, x))
app(app(mapbt, f), app(app(app(branch, x), l), r)) -> app(app(app(branch, app(f, x)), app(app(mapbt, f), l)), app(app(mapbt, f), r))


Strategy:

innermost




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

APP(app(mapbt, f), app(app(app(branch, x), l), r)) -> APP(app(branch, app(f, x)), app(app(mapbt, f), l))
four new Dependency Pairs are created:

APP(app(mapbt, app(mapbt, f'')), app(app(app(branch, app(leaf, x'')), l), r)) -> APP(app(branch, app(leaf, app(f'', x''))), app(app(mapbt, app(mapbt, f'')), l))
APP(app(mapbt, app(mapbt, f'')), app(app(app(branch, app(app(app(branch, x''), l''), r'')), l), r)) -> APP(app(branch, app(app(app(branch, app(f'', x'')), app(app(mapbt, f''), l'')), app(app(mapbt, f''), r''))), app(app(mapbt, app(mapbt, f'')), l))
APP(app(mapbt, f''), app(app(app(branch, x), app(leaf, x'')), r)) -> APP(app(branch, app(f'', x)), app(leaf, app(f'', x'')))
APP(app(mapbt, f''), app(app(app(branch, x), app(app(app(branch, x''), l''), r'')), r)) -> APP(app(branch, app(f'', x)), app(app(app(branch, app(f'', x'')), app(app(mapbt, f''), l'')), app(app(mapbt, f''), r'')))

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(mapbt, f''), app(app(app(branch, x), app(app(app(branch, x''), l''), r'')), r)) -> APP(app(branch, app(f'', x)), app(app(app(branch, app(f'', x'')), app(app(mapbt, f''), l'')), app(app(mapbt, f''), r'')))
APP(app(mapbt, f''), app(app(app(branch, x), app(leaf, x'')), r)) -> APP(app(branch, app(f'', x)), app(leaf, app(f'', x'')))
APP(app(mapbt, app(mapbt, f'')), app(app(app(branch, app(app(app(branch, x''), l''), r'')), l), r)) -> APP(app(branch, app(app(app(branch, app(f'', x'')), app(app(mapbt, f''), l'')), app(app(mapbt, f''), r''))), app(app(mapbt, app(mapbt, f'')), l))
APP(app(mapbt, app(mapbt, f'')), app(app(app(branch, app(leaf, x'')), l), r)) -> APP(app(branch, app(leaf, app(f'', x''))), app(app(mapbt, app(mapbt, f'')), l))
APP(app(mapbt, f''), app(app(app(branch, x), l), app(leaf, x''))) -> APP(app(app(branch, app(f'', x)), app(app(mapbt, f''), l)), app(leaf, app(f'', x'')))
APP(app(mapbt, f''), app(app(app(branch, x), app(app(app(branch, x''), l''), r'')), r)) -> APP(app(app(branch, app(f'', x)), app(app(app(branch, app(f'', x'')), app(app(mapbt, f''), l'')), app(app(mapbt, f''), r''))), app(app(mapbt, f''), r))
APP(app(mapbt, f''), app(app(app(branch, x), app(leaf, x'')), r)) -> APP(app(app(branch, app(f'', x)), app(leaf, app(f'', x''))), app(app(mapbt, f''), r))
APP(app(mapbt, app(mapbt, f'')), app(app(app(branch, app(app(app(branch, x''), l''), r'')), l), r)) -> APP(app(app(branch, app(app(app(branch, app(f'', x'')), app(app(mapbt, f''), l'')), app(app(mapbt, f''), r''))), app(app(mapbt, app(mapbt, f'')), l)), app(app(mapbt, app(mapbt, f'')), r))
APP(app(mapbt, app(mapbt, f'')), app(app(app(branch, app(leaf, x'')), l), r)) -> APP(app(app(branch, app(leaf, app(f'', x''))), app(app(mapbt, app(mapbt, f'')), l)), app(app(mapbt, app(mapbt, f'')), r))
APP(app(mapbt, f), app(app(app(branch, x), l), r)) -> APP(app(mapbt, f), r)
APP(app(mapbt, f), app(app(app(branch, x), l), r)) -> APP(app(mapbt, f), l)
APP(app(mapbt, f), app(app(app(branch, x), l), r)) -> APP(f, x)
APP(app(mapbt, f), app(leaf, x)) -> APP(f, x)
APP(app(mapbt, f''), app(app(app(branch, x), l), app(app(app(branch, x''), l''), r''))) -> APP(app(app(branch, app(f'', x)), app(app(mapbt, f''), l)), app(app(app(branch, app(f'', x'')), app(app(mapbt, f''), l'')), app(app(mapbt, f''), r'')))


Rules:


app(app(mapbt, f), app(leaf, x)) -> app(leaf, app(f, x))
app(app(mapbt, f), app(app(app(branch, x), l), r)) -> app(app(app(branch, app(f, x)), app(app(mapbt, f), l)), app(app(mapbt, f), r))


Strategy:

innermost




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

APP(app(mapbt, f), app(leaf, x)) -> APP(f, x)
eight new Dependency Pairs are created:

APP(app(mapbt, app(mapbt, f'')), app(leaf, app(leaf, x''))) -> APP(app(mapbt, f''), app(leaf, x''))
APP(app(mapbt, app(mapbt, f'')), app(leaf, app(app(app(branch, x''), l''), r''))) -> APP(app(mapbt, f''), app(app(app(branch, x''), l''), r''))
APP(app(mapbt, app(mapbt, app(mapbt, f''''))), app(leaf, app(app(app(branch, app(leaf, x'''')), l''), r''))) -> APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(leaf, x'''')), l''), r''))
APP(app(mapbt, app(mapbt, app(mapbt, f''''))), app(leaf, app(app(app(branch, app(app(app(branch, x''''), l''''), r'''')), l''), r''))) -> APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(app(app(branch, x''''), l''''), r'''')), l''), r''))
APP(app(mapbt, app(mapbt, f'''')), app(leaf, app(app(app(branch, x''), app(leaf, x'''')), r''))) -> APP(app(mapbt, f''''), app(app(app(branch, x''), app(leaf, x'''')), r''))
APP(app(mapbt, app(mapbt, f'''')), app(leaf, app(app(app(branch, x''), app(app(app(branch, x''''), l''''), r'''')), r''))) -> APP(app(mapbt, f''''), app(app(app(branch, x''), app(app(app(branch, x''''), l''''), r'''')), r''))
APP(app(mapbt, app(mapbt, f'''')), app(leaf, app(app(app(branch, x''), l''), app(leaf, x'''')))) -> APP(app(mapbt, f''''), app(app(app(branch, x''), l''), app(leaf, x'''')))
APP(app(mapbt, app(mapbt, f'''')), app(leaf, app(app(app(branch, x''), l''), app(app(app(branch, x''''), l''''), r'''')))) -> APP(app(mapbt, f''''), app(app(app(branch, x''), l''), app(app(app(branch, x''''), l''''), r'''')))

The transformation is resulting in one new DP problem:



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


Dependency Pairs:

APP(app(mapbt, app(mapbt, f'''')), app(leaf, app(app(app(branch, x''), l''), app(app(app(branch, x''''), l''''), r'''')))) -> APP(app(mapbt, f''''), app(app(app(branch, x''), l''), app(app(app(branch, x''''), l''''), r'''')))
APP(app(mapbt, app(mapbt, f'''')), app(leaf, app(app(app(branch, x''), l''), app(leaf, x'''')))) -> APP(app(mapbt, f''''), app(app(app(branch, x''), l''), app(leaf, x'''')))
APP(app(mapbt, app(mapbt, f'''')), app(leaf, app(app(app(branch, x''), app(app(app(branch, x''''), l''''), r'''')), r''))) -> APP(app(mapbt, f''''), app(app(app(branch, x''), app(app(app(branch, x''''), l''''), r'''')), r''))
APP(app(mapbt, app(mapbt, f'''')), app(leaf, app(app(app(branch, x''), app(leaf, x'''')), r''))) -> APP(app(mapbt, f''''), app(app(app(branch, x''), app(leaf, x'''')), r''))
APP(app(mapbt, app(mapbt, app(mapbt, f''''))), app(leaf, app(app(app(branch, app(app(app(branch, x''''), l''''), r'''')), l''), r''))) -> APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(app(app(branch, x''''), l''''), r'''')), l''), r''))
APP(app(mapbt, app(mapbt, app(mapbt, f''''))), app(leaf, app(app(app(branch, app(leaf, x'''')), l''), r''))) -> APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(leaf, x'''')), l''), r''))
APP(app(mapbt, app(mapbt, f'')), app(leaf, app(app(app(branch, x''), l''), r''))) -> APP(app(mapbt, f''), app(app(app(branch, x''), l''), r''))
APP(app(mapbt, app(mapbt, f'')), app(leaf, app(leaf, x''))) -> APP(app(mapbt, f''), app(leaf, x''))
APP(app(mapbt, f''), app(app(app(branch, x), app(leaf, x'')), r)) -> APP(app(branch, app(f'', x)), app(leaf, app(f'', x'')))
APP(app(mapbt, app(mapbt, f'')), app(app(app(branch, app(app(app(branch, x''), l''), r'')), l), r)) -> APP(app(branch, app(app(app(branch, app(f'', x'')), app(app(mapbt, f''), l'')), app(app(mapbt, f''), r''))), app(app(mapbt, app(mapbt, f'')), l))
APP(app(mapbt, app(mapbt, f'')), app(app(app(branch, app(leaf, x'')), l), r)) -> APP(app(branch, app(leaf, app(f'', x''))), app(app(mapbt, app(mapbt, f'')), l))
APP(app(mapbt, f''), app(app(app(branch, x), l), app(app(app(branch, x''), l''), r''))) -> APP(app(app(branch, app(f'', x)), app(app(mapbt, f''), l)), app(app(app(branch, app(f'', x'')), app(app(mapbt, f''), l'')), app(app(mapbt, f''), r'')))
APP(app(mapbt, f''), app(app(app(branch, x), l), app(leaf, x''))) -> APP(app(app(branch, app(f'', x)), app(app(mapbt, f''), l)), app(leaf, app(f'', x'')))
APP(app(mapbt, f''), app(app(app(branch, x), app(app(app(branch, x''), l''), r'')), r)) -> APP(app(app(branch, app(f'', x)), app(app(app(branch, app(f'', x'')), app(app(mapbt, f''), l'')), app(app(mapbt, f''), r''))), app(app(mapbt, f''), r))
APP(app(mapbt, f''), app(app(app(branch, x), app(leaf, x'')), r)) -> APP(app(app(branch, app(f'', x)), app(leaf, app(f'', x''))), app(app(mapbt, f''), r))
APP(app(mapbt, app(mapbt, f'')), app(app(app(branch, app(app(app(branch, x''), l''), r'')), l), r)) -> APP(app(app(branch, app(app(app(branch, app(f'', x'')), app(app(mapbt, f''), l'')), app(app(mapbt, f''), r''))), app(app(mapbt, app(mapbt, f'')), l)), app(app(mapbt, app(mapbt, f'')), r))
APP(app(mapbt, app(mapbt, f'')), app(app(app(branch, app(leaf, x'')), l), r)) -> APP(app(app(branch, app(leaf, app(f'', x''))), app(app(mapbt, app(mapbt, f'')), l)), app(app(mapbt, app(mapbt, f'')), r))
APP(app(mapbt, f), app(app(app(branch, x), l), r)) -> APP(app(mapbt, f), r)
APP(app(mapbt, f), app(app(app(branch, x), l), r)) -> APP(app(mapbt, f), l)
APP(app(mapbt, f), app(app(app(branch, x), l), r)) -> APP(f, x)
APP(app(mapbt, f''), app(app(app(branch, x), app(app(app(branch, x''), l''), r'')), r)) -> APP(app(branch, app(f'', x)), app(app(app(branch, app(f'', x'')), app(app(mapbt, f''), l'')), app(app(mapbt, f''), r'')))


Rules:


app(app(mapbt, f), app(leaf, x)) -> app(leaf, app(f, x))
app(app(mapbt, f), app(app(app(branch, x), l), r)) -> app(app(app(branch, app(f, x)), app(app(mapbt, f), l)), app(app(mapbt, f), r))


Strategy:

innermost




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

APP(app(mapbt, f), app(app(app(branch, x), l), r)) -> APP(f, x)
15 new Dependency Pairs are created:

APP(app(mapbt, app(mapbt, f'')), app(app(app(branch, app(app(app(branch, x''), l''), r'')), l), r)) -> APP(app(mapbt, f''), app(app(app(branch, x''), l''), r''))
APP(app(mapbt, app(mapbt, app(mapbt, f''''))), app(app(app(branch, app(app(app(branch, app(leaf, x'''')), l''), r'')), l), r)) -> APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(leaf, x'''')), l''), r''))
APP(app(mapbt, app(mapbt, app(mapbt, f''''))), app(app(app(branch, app(app(app(branch, app(app(app(branch, x''''), l''''), r'''')), l''), r'')), l), r)) -> APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(app(app(branch, x''''), l''''), r'''')), l''), r''))
APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(app(app(branch, x''), app(leaf, x'''')), r'')), l), r)) -> APP(app(mapbt, f''''), app(app(app(branch, x''), app(leaf, x'''')), r''))
APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(app(app(branch, x''), app(app(app(branch, x''''), l''''), r'''')), r'')), l), r)) -> APP(app(mapbt, f''''), app(app(app(branch, x''), app(app(app(branch, x''''), l''''), r'''')), r''))
APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(app(app(branch, x''), l''), app(leaf, x''''))), l), r)) -> APP(app(mapbt, f''''), app(app(app(branch, x''), l''), app(leaf, x'''')))
APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(app(app(branch, x''), l''), app(app(app(branch, x''''), l''''), r''''))), l), r)) -> APP(app(mapbt, f''''), app(app(app(branch, x''), l''), app(app(app(branch, x''''), l''''), r'''')))
APP(app(mapbt, app(mapbt, app(mapbt, f''''))), app(app(app(branch, app(leaf, app(leaf, x''''))), l), r)) -> APP(app(mapbt, app(mapbt, f'''')), app(leaf, app(leaf, x'''')))
APP(app(mapbt, app(mapbt, app(mapbt, f''''))), app(app(app(branch, app(leaf, app(app(app(branch, x''''), l''''), r''''))), l), r)) -> APP(app(mapbt, app(mapbt, f'''')), app(leaf, app(app(app(branch, x''''), l''''), r'''')))
APP(app(mapbt, app(mapbt, app(mapbt, app(mapbt, f'''''')))), app(app(app(branch, app(leaf, app(app(app(branch, app(leaf, x'''''')), l''''), r''''))), l), r)) -> APP(app(mapbt, app(mapbt, app(mapbt, f''''''))), app(leaf, app(app(app(branch, app(leaf, x'''''')), l''''), r'''')))
APP(app(mapbt, app(mapbt, app(mapbt, app(mapbt, f'''''')))), app(app(app(branch, app(leaf, app(app(app(branch, app(app(app(branch, x''''''), l''''''), r'''''')), l''''), r''''))), l), r)) -> APP(app(mapbt, app(mapbt, app(mapbt, f''''''))), app(leaf, app(app(app(branch, app(app(app(branch, x''''''), l''''''), r'''''')), l''''), r'''')))
APP(app(mapbt, app(mapbt, app(mapbt, f''''''))), app(app(app(branch, app(leaf, app(app(app(branch, x''''), app(leaf, x'''''')), r''''))), l), r)) -> APP(app(mapbt, app(mapbt, f'''''')), app(leaf, app(app(app(branch, x''''), app(leaf, x'''''')), r'''')))
APP(app(mapbt, app(mapbt, app(mapbt, f''''''))), app(app(app(branch, app(leaf, app(app(app(branch, x''''), app(app(app(branch, x''''''), l''''''), r'''''')), r''''))), l), r)) -> APP(app(mapbt, app(mapbt, f'''''')), app(leaf, app(app(app(branch, x''''), app(app(app(branch, x''''''), l''''''), r'''''')), r'''')))
APP(app(mapbt, app(mapbt, app(mapbt, f''''''))), app(app(app(branch, app(leaf, app(app(app(branch, x''''), l''''), app(leaf, x'''''')))), l), r)) -> APP(app(mapbt, app(mapbt, f'''''')), app(leaf, app(app(app(branch, x''''), l''''), app(leaf, x''''''))))
APP(app(mapbt, app(mapbt, app(mapbt, f''''''))), app(app(app(branch, app(leaf, app(app(app(branch, x''''), l''''), app(app(app(branch, x''''''), l''''''), r'''''')))), l), r)) -> APP(app(mapbt, app(mapbt, f'''''')), app(leaf, app(app(app(branch, x''''), l''''), app(app(app(branch, x''''''), l''''''), r''''''))))

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
Nar
           →DP Problem 2
Nar
             ...
               →DP Problem 5
Polynomial Ordering


Dependency Pairs:

APP(app(mapbt, app(mapbt, app(mapbt, f''''''))), app(app(app(branch, app(leaf, app(app(app(branch, x''''), l''''), app(app(app(branch, x''''''), l''''''), r'''''')))), l), r)) -> APP(app(mapbt, app(mapbt, f'''''')), app(leaf, app(app(app(branch, x''''), l''''), app(app(app(branch, x''''''), l''''''), r''''''))))
APP(app(mapbt, app(mapbt, app(mapbt, f''''''))), app(app(app(branch, app(leaf, app(app(app(branch, x''''), l''''), app(leaf, x'''''')))), l), r)) -> APP(app(mapbt, app(mapbt, f'''''')), app(leaf, app(app(app(branch, x''''), l''''), app(leaf, x''''''))))
APP(app(mapbt, app(mapbt, app(mapbt, f''''''))), app(app(app(branch, app(leaf, app(app(app(branch, x''''), app(app(app(branch, x''''''), l''''''), r'''''')), r''''))), l), r)) -> APP(app(mapbt, app(mapbt, f'''''')), app(leaf, app(app(app(branch, x''''), app(app(app(branch, x''''''), l''''''), r'''''')), r'''')))
APP(app(mapbt, app(mapbt, f'''')), app(leaf, app(app(app(branch, x''), l''), app(leaf, x'''')))) -> APP(app(mapbt, f''''), app(app(app(branch, x''), l''), app(leaf, x'''')))
APP(app(mapbt, app(mapbt, app(mapbt, f''''''))), app(app(app(branch, app(leaf, app(app(app(branch, x''''), app(leaf, x'''''')), r''''))), l), r)) -> APP(app(mapbt, app(mapbt, f'''''')), app(leaf, app(app(app(branch, x''''), app(leaf, x'''''')), r'''')))
APP(app(mapbt, app(mapbt, f'''')), app(leaf, app(app(app(branch, x''), app(app(app(branch, x''''), l''''), r'''')), r''))) -> APP(app(mapbt, f''''), app(app(app(branch, x''), app(app(app(branch, x''''), l''''), r'''')), r''))
APP(app(mapbt, app(mapbt, app(mapbt, f''''))), app(leaf, app(app(app(branch, app(app(app(branch, x''''), l''''), r'''')), l''), r''))) -> APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(app(app(branch, x''''), l''''), r'''')), l''), r''))
APP(app(mapbt, app(mapbt, app(mapbt, app(mapbt, f'''''')))), app(app(app(branch, app(leaf, app(app(app(branch, app(app(app(branch, x''''''), l''''''), r'''''')), l''''), r''''))), l), r)) -> APP(app(mapbt, app(mapbt, app(mapbt, f''''''))), app(leaf, app(app(app(branch, app(app(app(branch, x''''''), l''''''), r'''''')), l''''), r'''')))
APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(app(app(branch, x''), l''), app(app(app(branch, x''''), l''''), r''''))), l), r)) -> APP(app(mapbt, f''''), app(app(app(branch, x''), l''), app(app(app(branch, x''''), l''''), r'''')))
APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(app(app(branch, x''), l''), app(leaf, x''''))), l), r)) -> APP(app(mapbt, f''''), app(app(app(branch, x''), l''), app(leaf, x'''')))
APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(app(app(branch, x''), app(app(app(branch, x''''), l''''), r'''')), r'')), l), r)) -> APP(app(mapbt, f''''), app(app(app(branch, x''), app(app(app(branch, x''''), l''''), r'''')), r''))
APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(app(app(branch, x''), app(leaf, x'''')), r'')), l), r)) -> APP(app(mapbt, f''''), app(app(app(branch, x''), app(leaf, x'''')), r''))
APP(app(mapbt, app(mapbt, app(mapbt, f''''))), app(app(app(branch, app(app(app(branch, app(app(app(branch, x''''), l''''), r'''')), l''), r'')), l), r)) -> APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(app(app(branch, x''''), l''''), r'''')), l''), r''))
APP(app(mapbt, app(mapbt, f'''')), app(leaf, app(app(app(branch, x''), app(leaf, x'''')), r''))) -> APP(app(mapbt, f''''), app(app(app(branch, x''), app(leaf, x'''')), r''))
APP(app(mapbt, app(mapbt, app(mapbt, app(mapbt, f'''''')))), app(app(app(branch, app(leaf, app(app(app(branch, app(leaf, x'''''')), l''''), r''''))), l), r)) -> APP(app(mapbt, app(mapbt, app(mapbt, f''''''))), app(leaf, app(app(app(branch, app(leaf, x'''''')), l''''), r'''')))
APP(app(mapbt, app(mapbt, app(mapbt, f''''))), app(leaf, app(app(app(branch, app(leaf, x'''')), l''), r''))) -> APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(leaf, x'''')), l''), r''))
APP(app(mapbt, app(mapbt, app(mapbt, f''''))), app(app(app(branch, app(leaf, app(app(app(branch, x''''), l''''), r''''))), l), r)) -> APP(app(mapbt, app(mapbt, f'''')), app(leaf, app(app(app(branch, x''''), l''''), r'''')))
APP(app(mapbt, app(mapbt, app(mapbt, f''''))), app(app(app(branch, app(leaf, app(leaf, x''''))), l), r)) -> APP(app(mapbt, app(mapbt, f'''')), app(leaf, app(leaf, x'''')))
APP(app(mapbt, app(mapbt, app(mapbt, f''''))), app(app(app(branch, app(app(app(branch, app(leaf, x'''')), l''), r'')), l), r)) -> APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(leaf, x'''')), l''), r''))
APP(app(mapbt, app(mapbt, f'')), app(app(app(branch, app(app(app(branch, x''), l''), r'')), l), r)) -> APP(app(mapbt, f''), app(app(app(branch, x''), l''), r''))
APP(app(mapbt, app(mapbt, f'')), app(leaf, app(app(app(branch, x''), l''), r''))) -> APP(app(mapbt, f''), app(app(app(branch, x''), l''), r''))
APP(app(mapbt, app(mapbt, f'')), app(leaf, app(leaf, x''))) -> APP(app(mapbt, f''), app(leaf, x''))
APP(app(mapbt, f''), app(app(app(branch, x), app(app(app(branch, x''), l''), r'')), r)) -> APP(app(branch, app(f'', x)), app(app(app(branch, app(f'', x'')), app(app(mapbt, f''), l'')), app(app(mapbt, f''), r'')))
APP(app(mapbt, f''), app(app(app(branch, x), app(leaf, x'')), r)) -> APP(app(branch, app(f'', x)), app(leaf, app(f'', x'')))
APP(app(mapbt, app(mapbt, f'')), app(app(app(branch, app(app(app(branch, x''), l''), r'')), l), r)) -> APP(app(branch, app(app(app(branch, app(f'', x'')), app(app(mapbt, f''), l'')), app(app(mapbt, f''), r''))), app(app(mapbt, app(mapbt, f'')), l))
APP(app(mapbt, app(mapbt, f'')), app(app(app(branch, app(leaf, x'')), l), r)) -> APP(app(branch, app(leaf, app(f'', x''))), app(app(mapbt, app(mapbt, f'')), l))
APP(app(mapbt, f''), app(app(app(branch, x), l), app(app(app(branch, x''), l''), r''))) -> APP(app(app(branch, app(f'', x)), app(app(mapbt, f''), l)), app(app(app(branch, app(f'', x'')), app(app(mapbt, f''), l'')), app(app(mapbt, f''), r'')))
APP(app(mapbt, f''), app(app(app(branch, x), l), app(leaf, x''))) -> APP(app(app(branch, app(f'', x)), app(app(mapbt, f''), l)), app(leaf, app(f'', x'')))
APP(app(mapbt, f''), app(app(app(branch, x), app(app(app(branch, x''), l''), r'')), r)) -> APP(app(app(branch, app(f'', x)), app(app(app(branch, app(f'', x'')), app(app(mapbt, f''), l'')), app(app(mapbt, f''), r''))), app(app(mapbt, f''), r))
APP(app(mapbt, f''), app(app(app(branch, x), app(leaf, x'')), r)) -> APP(app(app(branch, app(f'', x)), app(leaf, app(f'', x''))), app(app(mapbt, f''), r))
APP(app(mapbt, app(mapbt, f'')), app(app(app(branch, app(app(app(branch, x''), l''), r'')), l), r)) -> APP(app(app(branch, app(app(app(branch, app(f'', x'')), app(app(mapbt, f''), l'')), app(app(mapbt, f''), r''))), app(app(mapbt, app(mapbt, f'')), l)), app(app(mapbt, app(mapbt, f'')), r))
APP(app(mapbt, app(mapbt, f'')), app(app(app(branch, app(leaf, x'')), l), r)) -> APP(app(app(branch, app(leaf, app(f'', x''))), app(app(mapbt, app(mapbt, f'')), l)), app(app(mapbt, app(mapbt, f'')), r))
APP(app(mapbt, f), app(app(app(branch, x), l), r)) -> APP(app(mapbt, f), r)
APP(app(mapbt, f), app(app(app(branch, x), l), r)) -> APP(app(mapbt, f), l)
APP(app(mapbt, app(mapbt, f'''')), app(leaf, app(app(app(branch, x''), l''), app(app(app(branch, x''''), l''''), r'''')))) -> APP(app(mapbt, f''''), app(app(app(branch, x''), l''), app(app(app(branch, x''''), l''''), r'''')))


Rules:


app(app(mapbt, f), app(leaf, x)) -> app(leaf, app(f, x))
app(app(mapbt, f), app(app(app(branch, x), l), r)) -> app(app(app(branch, app(f, x)), app(app(mapbt, f), l)), app(app(mapbt, f), r))


Strategy:

innermost




The following dependency pairs can be strictly oriented:

APP(app(mapbt, f''), app(app(app(branch, x), app(app(app(branch, x''), l''), r'')), r)) -> APP(app(branch, app(f'', x)), app(app(app(branch, app(f'', x'')), app(app(mapbt, f''), l'')), app(app(mapbt, f''), r'')))
APP(app(mapbt, f''), app(app(app(branch, x), app(leaf, x'')), r)) -> APP(app(branch, app(f'', x)), app(leaf, app(f'', x'')))
APP(app(mapbt, app(mapbt, f'')), app(app(app(branch, app(app(app(branch, x''), l''), r'')), l), r)) -> APP(app(branch, app(app(app(branch, app(f'', x'')), app(app(mapbt, f''), l'')), app(app(mapbt, f''), r''))), app(app(mapbt, app(mapbt, f'')), l))
APP(app(mapbt, app(mapbt, f'')), app(app(app(branch, app(leaf, x'')), l), r)) -> APP(app(branch, app(leaf, app(f'', x''))), app(app(mapbt, app(mapbt, f'')), l))
APP(app(mapbt, f''), app(app(app(branch, x), l), app(app(app(branch, x''), l''), r''))) -> APP(app(app(branch, app(f'', x)), app(app(mapbt, f''), l)), app(app(app(branch, app(f'', x'')), app(app(mapbt, f''), l'')), app(app(mapbt, f''), r'')))
APP(app(mapbt, f''), app(app(app(branch, x), l), app(leaf, x''))) -> APP(app(app(branch, app(f'', x)), app(app(mapbt, f''), l)), app(leaf, app(f'', x'')))
APP(app(mapbt, f''), app(app(app(branch, x), app(app(app(branch, x''), l''), r'')), r)) -> APP(app(app(branch, app(f'', x)), app(app(app(branch, app(f'', x'')), app(app(mapbt, f''), l'')), app(app(mapbt, f''), r''))), app(app(mapbt, f''), r))
APP(app(mapbt, f''), app(app(app(branch, x), app(leaf, x'')), r)) -> APP(app(app(branch, app(f'', x)), app(leaf, app(f'', x''))), app(app(mapbt, f''), r))
APP(app(mapbt, app(mapbt, f'')), app(app(app(branch, app(app(app(branch, x''), l''), r'')), l), r)) -> APP(app(app(branch, app(app(app(branch, app(f'', x'')), app(app(mapbt, f''), l'')), app(app(mapbt, f''), r''))), app(app(mapbt, app(mapbt, f'')), l)), app(app(mapbt, app(mapbt, f'')), r))
APP(app(mapbt, app(mapbt, f'')), app(app(app(branch, app(leaf, x'')), l), r)) -> APP(app(app(branch, app(leaf, app(f'', x''))), app(app(mapbt, app(mapbt, f'')), l)), app(app(mapbt, app(mapbt, f'')), r))


Additionally, the following usable rules for innermost w.r.t. to the implicit AFS can be oriented:

app(app(mapbt, f), app(leaf, x)) -> app(leaf, app(f, x))
app(app(mapbt, f), app(app(app(branch, x), l), r)) -> app(app(app(branch, app(f, x)), app(app(mapbt, f), l)), app(app(mapbt, f), r))


Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(branch)=  0  
  POL(mapbt)=  1  
  POL(leaf)=  0  
  POL(app(x1, x2))=  x1  
  POL(APP(x1, x2))=  x1  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Nar
           →DP Problem 2
Nar
             ...
               →DP Problem 6
Polynomial Ordering


Dependency Pairs:

APP(app(mapbt, app(mapbt, app(mapbt, f''''''))), app(app(app(branch, app(leaf, app(app(app(branch, x''''), l''''), app(app(app(branch, x''''''), l''''''), r'''''')))), l), r)) -> APP(app(mapbt, app(mapbt, f'''''')), app(leaf, app(app(app(branch, x''''), l''''), app(app(app(branch, x''''''), l''''''), r''''''))))
APP(app(mapbt, app(mapbt, app(mapbt, f''''''))), app(app(app(branch, app(leaf, app(app(app(branch, x''''), l''''), app(leaf, x'''''')))), l), r)) -> APP(app(mapbt, app(mapbt, f'''''')), app(leaf, app(app(app(branch, x''''), l''''), app(leaf, x''''''))))
APP(app(mapbt, app(mapbt, app(mapbt, f''''''))), app(app(app(branch, app(leaf, app(app(app(branch, x''''), app(app(app(branch, x''''''), l''''''), r'''''')), r''''))), l), r)) -> APP(app(mapbt, app(mapbt, f'''''')), app(leaf, app(app(app(branch, x''''), app(app(app(branch, x''''''), l''''''), r'''''')), r'''')))
APP(app(mapbt, app(mapbt, f'''')), app(leaf, app(app(app(branch, x''), l''), app(leaf, x'''')))) -> APP(app(mapbt, f''''), app(app(app(branch, x''), l''), app(leaf, x'''')))
APP(app(mapbt, app(mapbt, app(mapbt, f''''''))), app(app(app(branch, app(leaf, app(app(app(branch, x''''), app(leaf, x'''''')), r''''))), l), r)) -> APP(app(mapbt, app(mapbt, f'''''')), app(leaf, app(app(app(branch, x''''), app(leaf, x'''''')), r'''')))
APP(app(mapbt, app(mapbt, f'''')), app(leaf, app(app(app(branch, x''), app(app(app(branch, x''''), l''''), r'''')), r''))) -> APP(app(mapbt, f''''), app(app(app(branch, x''), app(app(app(branch, x''''), l''''), r'''')), r''))
APP(app(mapbt, app(mapbt, app(mapbt, f''''))), app(leaf, app(app(app(branch, app(app(app(branch, x''''), l''''), r'''')), l''), r''))) -> APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(app(app(branch, x''''), l''''), r'''')), l''), r''))
APP(app(mapbt, app(mapbt, app(mapbt, app(mapbt, f'''''')))), app(app(app(branch, app(leaf, app(app(app(branch, app(app(app(branch, x''''''), l''''''), r'''''')), l''''), r''''))), l), r)) -> APP(app(mapbt, app(mapbt, app(mapbt, f''''''))), app(leaf, app(app(app(branch, app(app(app(branch, x''''''), l''''''), r'''''')), l''''), r'''')))
APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(app(app(branch, x''), l''), app(app(app(branch, x''''), l''''), r''''))), l), r)) -> APP(app(mapbt, f''''), app(app(app(branch, x''), l''), app(app(app(branch, x''''), l''''), r'''')))
APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(app(app(branch, x''), l''), app(leaf, x''''))), l), r)) -> APP(app(mapbt, f''''), app(app(app(branch, x''), l''), app(leaf, x'''')))
APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(app(app(branch, x''), app(app(app(branch, x''''), l''''), r'''')), r'')), l), r)) -> APP(app(mapbt, f''''), app(app(app(branch, x''), app(app(app(branch, x''''), l''''), r'''')), r''))
APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(app(app(branch, x''), app(leaf, x'''')), r'')), l), r)) -> APP(app(mapbt, f''''), app(app(app(branch, x''), app(leaf, x'''')), r''))
APP(app(mapbt, app(mapbt, app(mapbt, f''''))), app(app(app(branch, app(app(app(branch, app(app(app(branch, x''''), l''''), r'''')), l''), r'')), l), r)) -> APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(app(app(branch, x''''), l''''), r'''')), l''), r''))
APP(app(mapbt, app(mapbt, f'''')), app(leaf, app(app(app(branch, x''), app(leaf, x'''')), r''))) -> APP(app(mapbt, f''''), app(app(app(branch, x''), app(leaf, x'''')), r''))
APP(app(mapbt, app(mapbt, app(mapbt, app(mapbt, f'''''')))), app(app(app(branch, app(leaf, app(app(app(branch, app(leaf, x'''''')), l''''), r''''))), l), r)) -> APP(app(mapbt, app(mapbt, app(mapbt, f''''''))), app(leaf, app(app(app(branch, app(leaf, x'''''')), l''''), r'''')))
APP(app(mapbt, app(mapbt, app(mapbt, f''''))), app(leaf, app(app(app(branch, app(leaf, x'''')), l''), r''))) -> APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(leaf, x'''')), l''), r''))
APP(app(mapbt, app(mapbt, app(mapbt, f''''))), app(app(app(branch, app(leaf, app(app(app(branch, x''''), l''''), r''''))), l), r)) -> APP(app(mapbt, app(mapbt, f'''')), app(leaf, app(app(app(branch, x''''), l''''), r'''')))
APP(app(mapbt, app(mapbt, app(mapbt, f''''))), app(app(app(branch, app(leaf, app(leaf, x''''))), l), r)) -> APP(app(mapbt, app(mapbt, f'''')), app(leaf, app(leaf, x'''')))
APP(app(mapbt, app(mapbt, app(mapbt, f''''))), app(app(app(branch, app(app(app(branch, app(leaf, x'''')), l''), r'')), l), r)) -> APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(leaf, x'''')), l''), r''))
APP(app(mapbt, app(mapbt, f'')), app(app(app(branch, app(app(app(branch, x''), l''), r'')), l), r)) -> APP(app(mapbt, f''), app(app(app(branch, x''), l''), r''))
APP(app(mapbt, app(mapbt, f'')), app(leaf, app(app(app(branch, x''), l''), r''))) -> APP(app(mapbt, f''), app(app(app(branch, x''), l''), r''))
APP(app(mapbt, app(mapbt, f'')), app(leaf, app(leaf, x''))) -> APP(app(mapbt, f''), app(leaf, x''))
APP(app(mapbt, f), app(app(app(branch, x), l), r)) -> APP(app(mapbt, f), r)
APP(app(mapbt, f), app(app(app(branch, x), l), r)) -> APP(app(mapbt, f), l)
APP(app(mapbt, app(mapbt, f'''')), app(leaf, app(app(app(branch, x''), l''), app(app(app(branch, x''''), l''''), r'''')))) -> APP(app(mapbt, f''''), app(app(app(branch, x''), l''), app(app(app(branch, x''''), l''''), r'''')))


Rules:


app(app(mapbt, f), app(leaf, x)) -> app(leaf, app(f, x))
app(app(mapbt, f), app(app(app(branch, x), l), r)) -> app(app(app(branch, app(f, x)), app(app(mapbt, f), l)), app(app(mapbt, f), r))


Strategy:

innermost




The following dependency pairs can be strictly oriented:

APP(app(mapbt, app(mapbt, app(mapbt, f''''''))), app(app(app(branch, app(leaf, app(app(app(branch, x''''), l''''), app(app(app(branch, x''''''), l''''''), r'''''')))), l), r)) -> APP(app(mapbt, app(mapbt, f'''''')), app(leaf, app(app(app(branch, x''''), l''''), app(app(app(branch, x''''''), l''''''), r''''''))))
APP(app(mapbt, app(mapbt, app(mapbt, f''''''))), app(app(app(branch, app(leaf, app(app(app(branch, x''''), l''''), app(leaf, x'''''')))), l), r)) -> APP(app(mapbt, app(mapbt, f'''''')), app(leaf, app(app(app(branch, x''''), l''''), app(leaf, x''''''))))
APP(app(mapbt, app(mapbt, app(mapbt, f''''''))), app(app(app(branch, app(leaf, app(app(app(branch, x''''), app(app(app(branch, x''''''), l''''''), r'''''')), r''''))), l), r)) -> APP(app(mapbt, app(mapbt, f'''''')), app(leaf, app(app(app(branch, x''''), app(app(app(branch, x''''''), l''''''), r'''''')), r'''')))
APP(app(mapbt, app(mapbt, f'''')), app(leaf, app(app(app(branch, x''), l''), app(leaf, x'''')))) -> APP(app(mapbt, f''''), app(app(app(branch, x''), l''), app(leaf, x'''')))
APP(app(mapbt, app(mapbt, app(mapbt, f''''''))), app(app(app(branch, app(leaf, app(app(app(branch, x''''), app(leaf, x'''''')), r''''))), l), r)) -> APP(app(mapbt, app(mapbt, f'''''')), app(leaf, app(app(app(branch, x''''), app(leaf, x'''''')), r'''')))
APP(app(mapbt, app(mapbt, f'''')), app(leaf, app(app(app(branch, x''), app(app(app(branch, x''''), l''''), r'''')), r''))) -> APP(app(mapbt, f''''), app(app(app(branch, x''), app(app(app(branch, x''''), l''''), r'''')), r''))
APP(app(mapbt, app(mapbt, app(mapbt, f''''))), app(leaf, app(app(app(branch, app(app(app(branch, x''''), l''''), r'''')), l''), r''))) -> APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(app(app(branch, x''''), l''''), r'''')), l''), r''))
APP(app(mapbt, app(mapbt, app(mapbt, app(mapbt, f'''''')))), app(app(app(branch, app(leaf, app(app(app(branch, app(app(app(branch, x''''''), l''''''), r'''''')), l''''), r''''))), l), r)) -> APP(app(mapbt, app(mapbt, app(mapbt, f''''''))), app(leaf, app(app(app(branch, app(app(app(branch, x''''''), l''''''), r'''''')), l''''), r'''')))
APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(app(app(branch, x''), l''), app(app(app(branch, x''''), l''''), r''''))), l), r)) -> APP(app(mapbt, f''''), app(app(app(branch, x''), l''), app(app(app(branch, x''''), l''''), r'''')))
APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(app(app(branch, x''), l''), app(leaf, x''''))), l), r)) -> APP(app(mapbt, f''''), app(app(app(branch, x''), l''), app(leaf, x'''')))
APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(app(app(branch, x''), app(app(app(branch, x''''), l''''), r'''')), r'')), l), r)) -> APP(app(mapbt, f''''), app(app(app(branch, x''), app(app(app(branch, x''''), l''''), r'''')), r''))
APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(app(app(branch, x''), app(leaf, x'''')), r'')), l), r)) -> APP(app(mapbt, f''''), app(app(app(branch, x''), app(leaf, x'''')), r''))
APP(app(mapbt, app(mapbt, app(mapbt, f''''))), app(app(app(branch, app(app(app(branch, app(app(app(branch, x''''), l''''), r'''')), l''), r'')), l), r)) -> APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(app(app(branch, x''''), l''''), r'''')), l''), r''))
APP(app(mapbt, app(mapbt, f'''')), app(leaf, app(app(app(branch, x''), app(leaf, x'''')), r''))) -> APP(app(mapbt, f''''), app(app(app(branch, x''), app(leaf, x'''')), r''))
APP(app(mapbt, app(mapbt, app(mapbt, app(mapbt, f'''''')))), app(app(app(branch, app(leaf, app(app(app(branch, app(leaf, x'''''')), l''''), r''''))), l), r)) -> APP(app(mapbt, app(mapbt, app(mapbt, f''''''))), app(leaf, app(app(app(branch, app(leaf, x'''''')), l''''), r'''')))
APP(app(mapbt, app(mapbt, app(mapbt, f''''))), app(leaf, app(app(app(branch, app(leaf, x'''')), l''), r''))) -> APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(leaf, x'''')), l''), r''))
APP(app(mapbt, app(mapbt, app(mapbt, f''''))), app(app(app(branch, app(leaf, app(app(app(branch, x''''), l''''), r''''))), l), r)) -> APP(app(mapbt, app(mapbt, f'''')), app(leaf, app(app(app(branch, x''''), l''''), r'''')))
APP(app(mapbt, app(mapbt, app(mapbt, f''''))), app(app(app(branch, app(leaf, app(leaf, x''''))), l), r)) -> APP(app(mapbt, app(mapbt, f'''')), app(leaf, app(leaf, x'''')))
APP(app(mapbt, app(mapbt, app(mapbt, f''''))), app(app(app(branch, app(app(app(branch, app(leaf, x'''')), l''), r'')), l), r)) -> APP(app(mapbt, app(mapbt, f'''')), app(app(app(branch, app(leaf, x'''')), l''), r''))
APP(app(mapbt, app(mapbt, f'')), app(app(app(branch, app(app(app(branch, x''), l''), r'')), l), r)) -> APP(app(mapbt, f''), app(app(app(branch, x''), l''), r''))
APP(app(mapbt, app(mapbt, f'')), app(leaf, app(app(app(branch, x''), l''), r''))) -> APP(app(mapbt, f''), app(app(app(branch, x''), l''), r''))
APP(app(mapbt, app(mapbt, f'')), app(leaf, app(leaf, x''))) -> APP(app(mapbt, f''), app(leaf, x''))
APP(app(mapbt, app(mapbt, f'''')), app(leaf, app(app(app(branch, x''), l''), app(app(app(branch, x''''), l''''), r'''')))) -> APP(app(mapbt, f''''), app(app(app(branch, x''), l''), app(app(app(branch, x''''), l''''), r'''')))


Additionally, the following usable rules for innermost w.r.t. to the implicit AFS can be oriented:

app(app(mapbt, f), app(leaf, x)) -> app(leaf, app(f, x))
app(app(mapbt, f), app(app(app(branch, x), l), r)) -> app(app(app(branch, app(f, x)), app(app(mapbt, f), l)), app(app(mapbt, f), r))


Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(branch)=  0  
  POL(mapbt)=  0  
  POL(leaf)=  0  
  POL(app(x1, x2))=  1 + x2  
  POL(APP(x1, x2))=  x1  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Nar
           →DP Problem 2
Nar
             ...
               →DP Problem 7
Polynomial Ordering


Dependency Pairs:

APP(app(mapbt, f), app(app(app(branch, x), l), r)) -> APP(app(mapbt, f), r)
APP(app(mapbt, f), app(app(app(branch, x), l), r)) -> APP(app(mapbt, f), l)


Rules:


app(app(mapbt, f), app(leaf, x)) -> app(leaf, app(f, x))
app(app(mapbt, f), app(app(app(branch, x), l), r)) -> app(app(app(branch, app(f, x)), app(app(mapbt, f), l)), app(app(mapbt, f), r))


Strategy:

innermost




The following dependency pairs can be strictly oriented:

APP(app(mapbt, f), app(app(app(branch, x), l), r)) -> APP(app(mapbt, f), r)
APP(app(mapbt, f), app(app(app(branch, x), l), r)) -> APP(app(mapbt, f), l)


There are no usable rules for innermost w.r.t. to the implicit AFS that need to be oriented.

Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(branch)=  1  
  POL(mapbt)=  0  
  POL(leaf)=  0  
  POL(app(x1, x2))=  x1 + x2  
  POL(APP(x1, x2))=  x2  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Nar
           →DP Problem 2
Nar
             ...
               →DP Problem 8
Dependency Graph


Dependency Pair:


Rules:


app(app(mapbt, f), app(leaf, x)) -> app(leaf, app(f, x))
app(app(mapbt, f), app(app(app(branch, x), l), r)) -> app(app(app(branch, app(f, x)), app(app(mapbt, f), l)), app(app(mapbt, f), r))


Strategy:

innermost




Using the Dependency Graph resulted in no new DP problems.

Innermost Termination of R successfully shown.
Duration:
0:38 minutes