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
↳Narrowing 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))
if(true, x, y) -> x
if(false, x, y) -> y
if(x, y, y) -> y
if(if(x, y, z), u, v) -> if(x, if(y, u, v), if(z, u, v))
innermost
six new Dependency Pairs are created:
IF(if(x, y, z), u, v) -> IF(x, if(y, u, v), if(z, u, v))
IF(if(x, true, z), u, v) -> IF(x, u, if(z, u, v))
IF(if(x, false, z), u, v) -> IF(x, v, if(z, u, v))
IF(if(x, if(x'', y'', z''), z), u, v) -> IF(x, if(x'', if(y'', u, v), if(z'', u, v)), if(z, u, v))
IF(if(x, y, true), u, v) -> IF(x, if(y, u, v), u)
IF(if(x, y, false), u, v) -> IF(x, if(y, u, v), v)
IF(if(x, y, if(x'', y'', z'')), u, v) -> IF(x, if(y, u, v), if(x'', if(y'', u, v), if(z'', u, v)))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Forward Instantiation Transformation
IF(if(x, y, if(x'', y'', z'')), u, v) -> IF(x, if(y, u, v), if(x'', if(y'', u, v), if(z'', u, v)))
IF(if(x, y, false), u, v) -> IF(x, if(y, u, v), v)
IF(if(x, if(x'', y'', z''), z), u, v) -> IF(x, if(x'', if(y'', u, v), if(z'', u, v)), if(z, u, v))
IF(if(x, true, z), u, v) -> IF(x, u, 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)
if(true, x, y) -> x
if(false, x, y) -> y
if(x, y, y) -> y
if(if(x, y, z), u, v) -> if(x, if(y, u, v), if(z, u, v))
innermost
five new Dependency Pairs are 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)
IF(if(x, if(x'', true, z''), z), u, v) -> IF(if(x'', true, z''), u, v)
IF(if(x, if(x'', if(x'''', y'''', z''''), z''), z), u, v) -> IF(if(x'', if(x'''', y'''', z''''), z''), u, v)
IF(if(x, if(x'', y'', false), z), u, v) -> IF(if(x'', y'', false), u, v)
IF(if(x, if(x'', y'', if(x'''', y'''', z'''')), z), u, v) -> IF(if(x'', y'', if(x'''', y'''', z'''')), u, v)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳FwdInst
...
→DP Problem 3
↳Forward Instantiation Transformation
IF(if(x, if(x'', y'', if(x'''', y'''', z'''')), z), u, v) -> IF(if(x'', y'', if(x'''', y'''', z'''')), u, v)
IF(if(x, if(x'', y'', false), z), u, v) -> IF(if(x'', y'', false), u, v)
IF(if(x, if(x'', if(x'''', y'''', z''''), z''), z), u, v) -> IF(if(x'', if(x'''', y'''', z''''), z''), u, v)
IF(if(x, if(x'', true, z''), z), u, v) -> IF(if(x'', true, z''), u, v)
IF(if(x, if(x'', y'', z''), z), u, v) -> IF(if(x'', y'', z''), u, v)
IF(if(x, y, false), u, v) -> IF(x, if(y, u, v), v)
IF(if(x, if(x'', y'', z''), z), u, v) -> IF(x, if(x'', if(y'', u, v), if(z'', u, v)), if(z, u, v))
IF(if(x, true, z), u, v) -> IF(x, u, if(z, u, v))
IF(if(x, y, z), u, v) -> IF(z, u, v)
IF(if(x, y, if(x'', y'', z'')), u, v) -> IF(x, if(y, u, v), if(x'', if(y'', u, v), if(z'', u, v)))
if(true, x, y) -> x
if(false, x, y) -> y
if(x, y, y) -> y
if(if(x, y, z), u, v) -> if(x, if(y, u, v), if(z, u, v))
innermost
nine 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'', true, z'')), u, v) -> IF(if(x'', true, 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)
IF(if(x, y, if(x'', y'', false)), u, v) -> IF(if(x'', y'', false), u, v)
IF(if(x, y, if(x'', y'', if(x'''', y'''', z''''))), u, v) -> IF(if(x'', y'', if(x'''', y'''', z'''')), u, v)
IF(if(x, y, if(x'', if(x'''', true, z''''), z'')), u, v) -> IF(if(x'', if(x'''', true, z''''), z''), u, v)
IF(if(x, y, if(x'', if(x'''', if(x'''''', y'''''', z''''''), z''''), z'')), u, v) -> IF(if(x'', if(x'''', if(x'''''', y'''''', z''''''), z''''), z''), u, v)
IF(if(x, y, if(x'', if(x'''', y'''', false), z'')), u, v) -> IF(if(x'', if(x'''', y'''', false), z''), u, v)
IF(if(x, y, if(x'', if(x'''', y'''', if(x'''''', y'''''', z'''''')), z'')), u, v) -> IF(if(x'', if(x'''', y'''', if(x'''''', y'''''', z'''''')), z''), u, v)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳FwdInst
...
→DP Problem 4
↳Polynomial Ordering
IF(if(x, y, if(x'', if(x'''', y'''', if(x'''''', y'''''', z'''''')), z'')), u, v) -> IF(if(x'', if(x'''', y'''', if(x'''''', y'''''', z'''''')), z''), u, v)
IF(if(x, y, if(x'', if(x'''', y'''', false), z'')), u, v) -> IF(if(x'', if(x'''', y'''', false), z''), u, v)
IF(if(x, y, if(x'', if(x'''', if(x'''''', y'''''', z''''''), z''''), z'')), u, v) -> IF(if(x'', if(x'''', if(x'''''', y'''''', z''''''), z''''), z''), u, v)
IF(if(x, y, if(x'', if(x'''', true, z''''), z'')), u, v) -> IF(if(x'', if(x'''', true, z''''), z''), u, v)
IF(if(x, y, if(x'', y'', if(x'''', y'''', z''''))), u, v) -> IF(if(x'', y'', if(x'''', y'''', z'''')), u, v)
IF(if(x, y, if(x'', y'', false)), u, v) -> IF(if(x'', y'', false), 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)
IF(if(x, y, if(x'', true, z'')), u, v) -> IF(if(x'', true, z''), u, v)
IF(if(x, if(x'', y'', false), z), u, v) -> IF(if(x'', y'', false), u, v)
IF(if(x, if(x'', if(x'''', y'''', z''''), 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'', true, z''), z), u, v) -> IF(if(x'', true, z''), u, v)
IF(if(x, if(x'', y'', z''), z), u, v) -> IF(if(x'', y'', z''), u, v)
IF(if(x, y, if(x'', y'', z'')), u, v) -> IF(x, if(y, u, v), if(x'', if(y'', u, v), if(z'', u, v)))
IF(if(x, y, false), u, v) -> IF(x, if(y, u, v), v)
IF(if(x, if(x'', y'', z''), z), u, v) -> IF(x, if(x'', if(y'', u, v), if(z'', u, v)), if(z, u, v))
IF(if(x, true, z), u, v) -> IF(x, u, if(z, u, v))
IF(if(x, if(x'', y'', if(x'''', y'''', z'''')), z), u, v) -> IF(if(x'', y'', if(x'''', y'''', z'''')), u, v)
if(true, x, y) -> x
if(false, x, y) -> y
if(x, y, y) -> y
if(if(x, y, z), u, v) -> if(x, if(y, u, v), if(z, u, v))
innermost
IF(if(x, y, false), u, v) -> IF(x, if(y, u, v), v)
if(true, x, y) -> x
if(false, x, y) -> y
if(x, y, y) -> y
if(if(x, y, z), u, v) -> if(x, if(y, u, v), if(z, u, v))
POL(if(x1, x2, x3)) = x1 + x2 + x3 POL(v) = 0 POL(false) = 1 POL(true) = 0 POL(u) = 0 POL(IF(x1, x2, x3)) = 1 + x1
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳FwdInst
...
→DP Problem 5
↳Polynomial Ordering
IF(if(x, y, if(x'', if(x'''', y'''', if(x'''''', y'''''', z'''''')), z'')), u, v) -> IF(if(x'', if(x'''', y'''', if(x'''''', y'''''', z'''''')), z''), u, v)
IF(if(x, y, if(x'', if(x'''', y'''', false), z'')), u, v) -> IF(if(x'', if(x'''', y'''', false), z''), u, v)
IF(if(x, y, if(x'', if(x'''', if(x'''''', y'''''', z''''''), z''''), z'')), u, v) -> IF(if(x'', if(x'''', if(x'''''', y'''''', z''''''), z''''), z''), u, v)
IF(if(x, y, if(x'', if(x'''', true, z''''), z'')), u, v) -> IF(if(x'', if(x'''', true, z''''), z''), u, v)
IF(if(x, y, if(x'', y'', if(x'''', y'''', z''''))), u, v) -> IF(if(x'', y'', if(x'''', y'''', z'''')), u, v)
IF(if(x, y, if(x'', y'', false)), u, v) -> IF(if(x'', y'', false), 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)
IF(if(x, y, if(x'', true, z'')), u, v) -> IF(if(x'', true, z''), u, v)
IF(if(x, if(x'', y'', false), z), u, v) -> IF(if(x'', y'', false), u, v)
IF(if(x, if(x'', if(x'''', y'''', z''''), 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'', true, z''), z), u, v) -> IF(if(x'', true, z''), u, v)
IF(if(x, if(x'', y'', z''), z), u, v) -> IF(if(x'', y'', z''), u, v)
IF(if(x, y, if(x'', y'', z'')), u, v) -> IF(x, if(y, u, v), if(x'', if(y'', u, v), if(z'', u, v)))
IF(if(x, if(x'', y'', z''), z), u, v) -> IF(x, if(x'', if(y'', u, v), if(z'', u, v)), if(z, u, v))
IF(if(x, true, z), u, v) -> IF(x, u, if(z, u, v))
IF(if(x, if(x'', y'', if(x'''', y'''', z'''')), z), u, v) -> IF(if(x'', y'', if(x'''', y'''', z'''')), u, v)
if(true, x, y) -> x
if(false, x, y) -> y
if(x, y, y) -> y
if(if(x, y, z), u, v) -> if(x, if(y, u, v), if(z, u, v))
innermost
IF(if(x, true, z), u, v) -> IF(x, u, if(z, u, v))
if(true, x, y) -> x
if(false, x, y) -> y
if(x, y, y) -> y
if(if(x, y, z), u, v) -> if(x, if(y, u, v), if(z, u, v))
POL(if(x1, x2, x3)) = x1 + x2 + x3 POL(v) = 0 POL(false) = 0 POL(true) = 1 POL(u) = 0 POL(IF(x1, x2, x3)) = 1 + x1
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳FwdInst
...
→DP Problem 6
↳Remaining Obligation(s)
IF(if(x, y, if(x'', if(x'''', y'''', if(x'''''', y'''''', z'''''')), z'')), u, v) -> IF(if(x'', if(x'''', y'''', if(x'''''', y'''''', z'''''')), z''), u, v)
IF(if(x, y, if(x'', if(x'''', y'''', false), z'')), u, v) -> IF(if(x'', if(x'''', y'''', false), z''), u, v)
IF(if(x, y, if(x'', if(x'''', if(x'''''', y'''''', z''''''), z''''), z'')), u, v) -> IF(if(x'', if(x'''', if(x'''''', y'''''', z''''''), z''''), z''), u, v)
IF(if(x, y, if(x'', if(x'''', true, z''''), z'')), u, v) -> IF(if(x'', if(x'''', true, z''''), z''), u, v)
IF(if(x, y, if(x'', y'', if(x'''', y'''', z''''))), u, v) -> IF(if(x'', y'', if(x'''', y'''', z'''')), u, v)
IF(if(x, y, if(x'', y'', false)), u, v) -> IF(if(x'', y'', false), 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)
IF(if(x, y, if(x'', true, z'')), u, v) -> IF(if(x'', true, z''), u, v)
IF(if(x, if(x'', y'', false), z), u, v) -> IF(if(x'', y'', false), u, v)
IF(if(x, if(x'', if(x'''', y'''', z''''), 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'', true, z''), z), u, v) -> IF(if(x'', true, z''), u, v)
IF(if(x, if(x'', y'', z''), z), u, v) -> IF(if(x'', y'', z''), u, v)
IF(if(x, y, if(x'', y'', z'')), u, v) -> IF(x, if(y, u, v), if(x'', if(y'', u, v), if(z'', u, v)))
IF(if(x, if(x'', y'', z''), z), u, v) -> IF(x, if(x'', if(y'', u, v), if(z'', u, v)), if(z, u, v))
IF(if(x, if(x'', y'', if(x'''', y'''', z'''')), z), u, v) -> IF(if(x'', y'', if(x'''', y'''', z'''')), u, v)
if(true, x, y) -> x
if(false, x, y) -> y
if(x, y, y) -> y
if(if(x, y, z), u, v) -> if(x, if(y, u, v), if(z, u, v))
innermost