R
↳Dependency Pair Analysis
IF(if(x, y, z), u, v) -> IF(x, if(y, u, v), if(z, u, v))
IF(if(x, y, z), u, v) -> IF(y, u, v)
IF(if(x, y, z), u, v) -> IF(z, u, v)
R
↳DPs
→DP Problem 1
↳Forward Instantiation Transformation
IF(if(x, y, z), u, v) -> IF(z, u, v)
IF(if(x, y, z), u, v) -> IF(y, u, v)
if(if(x, y, z), u, v) -> if(x, if(y, u, v), if(z, u, v))
innermost
one new Dependency Pair is created:
IF(if(x, y, z), u, v) -> IF(y, u, v)
IF(if(x, if(x'', y'', z''), z), u'', v'') -> IF(if(x'', y'', z''), u'', v'')
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Forward Instantiation Transformation
IF(if(x, if(x'', y'', z''), z), u'', v'') -> IF(if(x'', y'', z''), u'', v'')
IF(if(x, y, z), u, v) -> IF(z, u, v)
if(if(x, y, z), u, v) -> if(x, if(y, u, v), if(z, u, v))
innermost
two new Dependency Pairs are created:
IF(if(x, y, z), u, v) -> IF(z, u, v)
IF(if(x, y, if(x'', y'', z'')), u'', v'') -> IF(if(x'', y'', z''), u'', v'')
IF(if(x, y, if(x'', if(x'''', y'''', z''''), z'')), u', v') -> IF(if(x'', if(x'''', y'''', z''''), z''), u', v')
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
...
→DP Problem 3
↳Argument Filtering and Ordering
IF(if(x, y, if(x'', if(x'''', y'''', z''''), z'')), u', v') -> IF(if(x'', if(x'''', y'''', z''''), z''), u', v')
IF(if(x, y, if(x'', y'', z'')), u'', v'') -> IF(if(x'', y'', z''), u'', v'')
IF(if(x, if(x'', y'', z''), z), u'', v'') -> IF(if(x'', y'', z''), u'', v'')
if(if(x, y, z), u, v) -> if(x, if(y, u, v), if(z, u, v))
innermost
IF(if(x, y, if(x'', if(x'''', y'''', z''''), z'')), u', v') -> IF(if(x'', if(x'''', y'''', z''''), z''), u', v')
IF(if(x, y, if(x'', y'', z'')), u'', v'') -> IF(if(x'', y'', z''), u'', v'')
IF(if(x, if(x'', y'', z''), z), u'', v'') -> IF(if(x'', y'', z''), u'', v'')
if(if(x, y, z), u, v) -> if(x, if(y, u, v), if(z, u, v))
trivial
IF(x1, x2, x3) -> IF(x1, x2, x3)
if(x1, x2, x3) -> if(x1, x2, x3)
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
...
→DP Problem 4
↳Dependency Graph
if(if(x, y, z), u, v) -> if(x, if(y, u, v), if(z, u, v))
innermost