R
↳Dependency Pair Analysis
-'(s(x), s(y)) -> -'(x, y)
LT(s(x), s(y)) -> LT(x, y)
DIV(s(x), s(y)) -> IF(lt(x, y), 0, s(div(-(x, y), s(y))))
DIV(s(x), s(y)) -> LT(x, y)
DIV(s(x), s(y)) -> DIV(-(x, y), s(y))
DIV(s(x), s(y)) -> -'(x, y)
R
↳DPs
→DP Problem 1
↳Forward Instantiation Transformation
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
-'(s(x), s(y)) -> -'(x, y)
-(x, 0) -> x
-(0, s(y)) -> 0
-(s(x), s(y)) -> -(x, y)
lt(x, 0) -> false
lt(0, s(y)) -> true
lt(s(x), s(y)) -> lt(x, y)
if(true, x, y) -> x
if(false, x, y) -> y
div(x, 0) -> 0
div(0, y) -> 0
div(s(x), s(y)) -> if(lt(x, y), 0, s(div(-(x, y), s(y))))
innermost
one new Dependency Pair is created:
-'(s(x), s(y)) -> -'(x, y)
-'(s(s(x'')), s(s(y''))) -> -'(s(x''), s(y''))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 4
↳Forward Instantiation Transformation
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
-'(s(s(x'')), s(s(y''))) -> -'(s(x''), s(y''))
-(x, 0) -> x
-(0, s(y)) -> 0
-(s(x), s(y)) -> -(x, y)
lt(x, 0) -> false
lt(0, s(y)) -> true
lt(s(x), s(y)) -> lt(x, y)
if(true, x, y) -> x
if(false, x, y) -> y
div(x, 0) -> 0
div(0, y) -> 0
div(s(x), s(y)) -> if(lt(x, y), 0, s(div(-(x, y), s(y))))
innermost
one new Dependency Pair is created:
-'(s(s(x'')), s(s(y''))) -> -'(s(x''), s(y''))
-'(s(s(s(x''''))), s(s(s(y'''')))) -> -'(s(s(x'''')), s(s(y'''')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 4
↳FwdInst
...
→DP Problem 5
↳Argument Filtering and Ordering
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
-'(s(s(s(x''''))), s(s(s(y'''')))) -> -'(s(s(x'''')), s(s(y'''')))
-(x, 0) -> x
-(0, s(y)) -> 0
-(s(x), s(y)) -> -(x, y)
lt(x, 0) -> false
lt(0, s(y)) -> true
lt(s(x), s(y)) -> lt(x, y)
if(true, x, y) -> x
if(false, x, y) -> y
div(x, 0) -> 0
div(0, y) -> 0
div(s(x), s(y)) -> if(lt(x, y), 0, s(div(-(x, y), s(y))))
innermost
-'(s(s(s(x''''))), s(s(s(y'''')))) -> -'(s(s(x'''')), s(s(y'''')))
POL(-'(x1, x2)) = 1 + x1 + x2 POL(s(x1)) = 1 + x1
-'(x1, x2) -> -'(x1, x2)
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 4
↳FwdInst
...
→DP Problem 6
↳Dependency Graph
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
-(x, 0) -> x
-(0, s(y)) -> 0
-(s(x), s(y)) -> -(x, y)
lt(x, 0) -> false
lt(0, s(y)) -> true
lt(s(x), s(y)) -> lt(x, y)
if(true, x, y) -> x
if(false, x, y) -> y
div(x, 0) -> 0
div(0, y) -> 0
div(s(x), s(y)) -> if(lt(x, y), 0, s(div(-(x, y), s(y))))
innermost
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳Forward Instantiation Transformation
→DP Problem 3
↳Nar
LT(s(x), s(y)) -> LT(x, y)
-(x, 0) -> x
-(0, s(y)) -> 0
-(s(x), s(y)) -> -(x, y)
lt(x, 0) -> false
lt(0, s(y)) -> true
lt(s(x), s(y)) -> lt(x, y)
if(true, x, y) -> x
if(false, x, y) -> y
div(x, 0) -> 0
div(0, y) -> 0
div(s(x), s(y)) -> if(lt(x, y), 0, s(div(-(x, y), s(y))))
innermost
one new Dependency Pair is created:
LT(s(x), s(y)) -> LT(x, y)
LT(s(s(x'')), s(s(y''))) -> LT(s(x''), s(y''))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 7
↳Forward Instantiation Transformation
→DP Problem 3
↳Nar
LT(s(s(x'')), s(s(y''))) -> LT(s(x''), s(y''))
-(x, 0) -> x
-(0, s(y)) -> 0
-(s(x), s(y)) -> -(x, y)
lt(x, 0) -> false
lt(0, s(y)) -> true
lt(s(x), s(y)) -> lt(x, y)
if(true, x, y) -> x
if(false, x, y) -> y
div(x, 0) -> 0
div(0, y) -> 0
div(s(x), s(y)) -> if(lt(x, y), 0, s(div(-(x, y), s(y))))
innermost
one new Dependency Pair is created:
LT(s(s(x'')), s(s(y''))) -> LT(s(x''), s(y''))
LT(s(s(s(x''''))), s(s(s(y'''')))) -> LT(s(s(x'''')), s(s(y'''')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 7
↳FwdInst
...
→DP Problem 8
↳Argument Filtering and Ordering
→DP Problem 3
↳Nar
LT(s(s(s(x''''))), s(s(s(y'''')))) -> LT(s(s(x'''')), s(s(y'''')))
-(x, 0) -> x
-(0, s(y)) -> 0
-(s(x), s(y)) -> -(x, y)
lt(x, 0) -> false
lt(0, s(y)) -> true
lt(s(x), s(y)) -> lt(x, y)
if(true, x, y) -> x
if(false, x, y) -> y
div(x, 0) -> 0
div(0, y) -> 0
div(s(x), s(y)) -> if(lt(x, y), 0, s(div(-(x, y), s(y))))
innermost
LT(s(s(s(x''''))), s(s(s(y'''')))) -> LT(s(s(x'''')), s(s(y'''')))
POL(LT(x1, x2)) = 1 + x1 + x2 POL(s(x1)) = 1 + x1
LT(x1, x2) -> LT(x1, x2)
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 7
↳FwdInst
...
→DP Problem 9
↳Dependency Graph
→DP Problem 3
↳Nar
-(x, 0) -> x
-(0, s(y)) -> 0
-(s(x), s(y)) -> -(x, y)
lt(x, 0) -> false
lt(0, s(y)) -> true
lt(s(x), s(y)) -> lt(x, y)
if(true, x, y) -> x
if(false, x, y) -> y
div(x, 0) -> 0
div(0, y) -> 0
div(s(x), s(y)) -> if(lt(x, y), 0, s(div(-(x, y), s(y))))
innermost
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Narrowing Transformation
DIV(s(x), s(y)) -> DIV(-(x, y), s(y))
-(x, 0) -> x
-(0, s(y)) -> 0
-(s(x), s(y)) -> -(x, y)
lt(x, 0) -> false
lt(0, s(y)) -> true
lt(s(x), s(y)) -> lt(x, y)
if(true, x, y) -> x
if(false, x, y) -> y
div(x, 0) -> 0
div(0, y) -> 0
div(s(x), s(y)) -> if(lt(x, y), 0, s(div(-(x, y), s(y))))
innermost
three new Dependency Pairs are created:
DIV(s(x), s(y)) -> DIV(-(x, y), s(y))
DIV(s(x''), s(0)) -> DIV(x'', s(0))
DIV(s(0), s(s(y''))) -> DIV(0, s(s(y'')))
DIV(s(s(x'')), s(s(y''))) -> DIV(-(x'', y''), s(s(y'')))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳Forward Instantiation Transformation
→DP Problem 11
↳Nar
DIV(s(x''), s(0)) -> DIV(x'', s(0))
-(x, 0) -> x
-(0, s(y)) -> 0
-(s(x), s(y)) -> -(x, y)
lt(x, 0) -> false
lt(0, s(y)) -> true
lt(s(x), s(y)) -> lt(x, y)
if(true, x, y) -> x
if(false, x, y) -> y
div(x, 0) -> 0
div(0, y) -> 0
div(s(x), s(y)) -> if(lt(x, y), 0, s(div(-(x, y), s(y))))
innermost
one new Dependency Pair is created:
DIV(s(x''), s(0)) -> DIV(x'', s(0))
DIV(s(s(x'''')), s(0)) -> DIV(s(x''''), s(0))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳FwdInst
...
→DP Problem 12
↳Argument Filtering and Ordering
→DP Problem 11
↳Nar
DIV(s(s(x'''')), s(0)) -> DIV(s(x''''), s(0))
-(x, 0) -> x
-(0, s(y)) -> 0
-(s(x), s(y)) -> -(x, y)
lt(x, 0) -> false
lt(0, s(y)) -> true
lt(s(x), s(y)) -> lt(x, y)
if(true, x, y) -> x
if(false, x, y) -> y
div(x, 0) -> 0
div(0, y) -> 0
div(s(x), s(y)) -> if(lt(x, y), 0, s(div(-(x, y), s(y))))
innermost
DIV(s(s(x'''')), s(0)) -> DIV(s(x''''), s(0))
POL(0) = 0 POL(DIV(x1, x2)) = 1 + x1 + x2 POL(s(x1)) = 1 + x1
DIV(x1, x2) -> DIV(x1, x2)
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳FwdInst
...
→DP Problem 15
↳Dependency Graph
→DP Problem 11
↳Nar
-(x, 0) -> x
-(0, s(y)) -> 0
-(s(x), s(y)) -> -(x, y)
lt(x, 0) -> false
lt(0, s(y)) -> true
lt(s(x), s(y)) -> lt(x, y)
if(true, x, y) -> x
if(false, x, y) -> y
div(x, 0) -> 0
div(0, y) -> 0
div(s(x), s(y)) -> if(lt(x, y), 0, s(div(-(x, y), s(y))))
innermost
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳FwdInst
→DP Problem 11
↳Narrowing Transformation
DIV(s(s(x'')), s(s(y''))) -> DIV(-(x'', y''), s(s(y'')))
-(x, 0) -> x
-(0, s(y)) -> 0
-(s(x), s(y)) -> -(x, y)
lt(x, 0) -> false
lt(0, s(y)) -> true
lt(s(x), s(y)) -> lt(x, y)
if(true, x, y) -> x
if(false, x, y) -> y
div(x, 0) -> 0
div(0, y) -> 0
div(s(x), s(y)) -> if(lt(x, y), 0, s(div(-(x, y), s(y))))
innermost
three new Dependency Pairs are created:
DIV(s(s(x'')), s(s(y''))) -> DIV(-(x'', y''), s(s(y'')))
DIV(s(s(x''')), s(s(0))) -> DIV(x''', s(s(0)))
DIV(s(s(0)), s(s(s(y')))) -> DIV(0, s(s(s(y'))))
DIV(s(s(s(x'))), s(s(s(y')))) -> DIV(-(x', y'), s(s(s(y'))))
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳FwdInst
→DP Problem 11
↳Nar
...
→DP Problem 13
↳Argument Filtering and Ordering
DIV(s(s(x''')), s(s(0))) -> DIV(x''', s(s(0)))
-(x, 0) -> x
-(0, s(y)) -> 0
-(s(x), s(y)) -> -(x, y)
lt(x, 0) -> false
lt(0, s(y)) -> true
lt(s(x), s(y)) -> lt(x, y)
if(true, x, y) -> x
if(false, x, y) -> y
div(x, 0) -> 0
div(0, y) -> 0
div(s(x), s(y)) -> if(lt(x, y), 0, s(div(-(x, y), s(y))))
innermost
DIV(s(s(x''')), s(s(0))) -> DIV(x''', s(s(0)))
POL(0) = 0 POL(DIV(x1, x2)) = 1 + x1 + x2 POL(s(x1)) = 1 + x1
DIV(x1, x2) -> DIV(x1, x2)
s(x1) -> s(x1)
R
↳DPs
→DP Problem 1
↳FwdInst
→DP Problem 2
↳FwdInst
→DP Problem 3
↳Nar
→DP Problem 10
↳FwdInst
→DP Problem 11
↳Nar
...
→DP Problem 14
↳Argument Filtering and Ordering
DIV(s(s(s(x'))), s(s(s(y')))) -> DIV(-(x', y'), s(s(s(y'))))
-(x, 0) -> x
-(0, s(y)) -> 0
-(s(x), s(y)) -> -(x, y)
lt(x, 0) -> false
lt(0, s(y)) -> true
lt(s(x), s(y)) -> lt(x, y)
if(true, x, y) -> x
if(false, x, y) -> y
div(x, 0) -> 0
div(0, y) -> 0
div(s(x), s(y)) -> if(lt(x, y), 0, s(div(-(x, y), s(y))))
innermost
DIV(s(s(s(x'))), s(s(s(y')))) -> DIV(-(x', y'), s(s(s(y'))))
-(x, 0) -> x
-(0, s(y)) -> 0
-(s(x), s(y)) -> -(x, y)
POL(0) = 1 POL(DIV(x1, x2)) = 1 + x1 + x2 POL(s(x1)) = 1 + x1
DIV(x1, x2) -> DIV(x1, x2)
s(x1) -> s(x1)
-(x1, x2) -> x1