R
↳Dependency Pair Analysis
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(eq, app(s, x)), app(s, y)) -> APP(eq, x)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(app(edge, x), y), app(app(union, i), h))
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(union, i)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(ifreach1, app(app(eq, x), u))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(eq, x)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach2, app(app(eq, y), v)), x)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(ifreach2, app(app(eq, y), v))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(eq, y)
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(reach, x), y), i)
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(reach, x), y)
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(reach, x)
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(edge, u), v), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(or, app(app(app(app(reach, x), y), i), h))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(reach, x), y), i)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(reach, x), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(reach, x)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, v), y), app(app(union, i), h)), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(reach, v), y), app(app(union, i), h))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(reach, v), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(reach, v)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(union, i)
R
↳DPs
→DP Problem 1
↳Narrowing Transformation
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(reach, v), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(reach, v), y), app(app(union, i), h))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, v), y), app(app(union, i), h)), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(reach, x), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(reach, x), y), i)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(edge, u), v), h)
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(reach, x), y)
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(reach, x), y), i)
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach2, app(app(eq, y), v)), x)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(app(edge, x), y), app(app(union, i), h))
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
two new Dependency Pairs are created:
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(app(edge, x), y), app(app(union, i), h))
APP(app(union, app(app(app(edge, x), y), empty)), h'') -> APP(app(app(edge, x), y), h'')
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(union, i''), h'')))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Narrowing Transformation
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(union, i''), h'')))
APP(app(union, app(app(app(edge, x), y), empty)), h'') -> APP(app(app(edge, x), y), h'')
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(reach, v), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(reach, v), y), app(app(union, i), h))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, v), y), app(app(union, i), h)), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(reach, x), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(reach, x), y), i)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(edge, u), v), h)
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(reach, x), y)
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(reach, x), y), i)
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach2, app(app(eq, y), v)), x)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
four new Dependency Pairs are created:
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach2, app(app(eq, y), v)), x)
APP(app(app(app(app(ifreach1, true), x), 0), app(app(app(edge, u), 0), i)), h) -> APP(app(ifreach2, true), x)
APP(app(app(app(app(ifreach1, true), x), 0), app(app(app(edge, u), app(s, x'')), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, x'')), app(app(app(edge, u), 0), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, x'')), app(app(app(edge, u), app(s, y'')), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 3
↳Narrowing Transformation
APP(app(app(app(app(ifreach1, true), x), app(s, x'')), app(app(app(edge, u), app(s, y'')), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
APP(app(app(app(app(ifreach1, true), x), app(s, x'')), app(app(app(edge, u), 0), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), 0), app(app(app(edge, u), app(s, x'')), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), 0), app(app(app(edge, u), 0), i)), h) -> APP(app(ifreach2, true), x)
APP(app(union, app(app(app(edge, x), y), empty)), h'') -> APP(app(app(edge, x), y), h'')
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(reach, v), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(reach, v), y), app(app(union, i), h))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, v), y), app(app(union, i), h)), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(reach, x), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(reach, x), y), i)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(edge, u), v), h)
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(reach, x), y)
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(reach, x), y), i)
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(union, i''), h'')))
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
no new Dependency Pairs are created.
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(reach, x), y), i)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 4
↳Narrowing Transformation
APP(app(app(app(app(ifreach1, true), x), app(s, x'')), app(app(app(edge, u), 0), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), 0), app(app(app(edge, u), app(s, x'')), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), 0), app(app(app(edge, u), 0), i)), h) -> APP(app(ifreach2, true), x)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(union, i''), h'')))
APP(app(union, app(app(app(edge, x), y), empty)), h'') -> APP(app(app(edge, x), y), h'')
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(reach, v), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(reach, v), y), app(app(union, i), h))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, v), y), app(app(union, i), h)), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(reach, x), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(reach, x), y), i)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(edge, u), v), h)
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(reach, x), y)
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(app(app(app(ifreach1, true), x), app(s, x'')), app(app(app(edge, u), app(s, y'')), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
no new Dependency Pairs are created.
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(reach, x), y)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 5
↳Narrowing Transformation
APP(app(app(app(app(ifreach1, true), x), app(s, x'')), app(app(app(edge, u), app(s, y'')), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
APP(app(app(app(app(ifreach1, true), x), 0), app(app(app(edge, u), app(s, x'')), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), 0), app(app(app(edge, u), 0), i)), h) -> APP(app(ifreach2, true), x)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(union, i''), h'')))
APP(app(union, app(app(app(edge, x), y), empty)), h'') -> APP(app(app(edge, x), y), h'')
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(reach, v), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(reach, v), y), app(app(union, i), h))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, v), y), app(app(union, i), h)), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(reach, x), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(reach, x), y), i)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(edge, u), v), h)
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(app(app(app(ifreach1, true), x), app(s, x'')), app(app(app(edge, u), 0), i)), h) -> APP(app(ifreach2, false), x)
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
no new Dependency Pairs are created.
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(edge, u), v), h)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 6
↳Narrowing Transformation
APP(app(app(app(app(ifreach1, true), x), app(s, x'')), app(app(app(edge, u), 0), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), 0), app(app(app(edge, u), app(s, x'')), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), 0), app(app(app(edge, u), 0), i)), h) -> APP(app(ifreach2, true), x)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(union, i''), h'')))
APP(app(union, app(app(app(edge, x), y), empty)), h'') -> APP(app(app(edge, x), y), h'')
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(reach, v), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(reach, v), y), app(app(union, i), h))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, v), y), app(app(union, i), h)), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(reach, x), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(reach, x), y), i)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(app(app(app(ifreach1, true), x), app(s, x'')), app(app(app(edge, u), app(s, y'')), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
no new Dependency Pairs are created.
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(reach, x), y), i)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 7
↳Narrowing Transformation
APP(app(app(app(app(ifreach1, true), x), app(s, x'')), app(app(app(edge, u), app(s, y'')), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
APP(app(app(app(app(ifreach1, true), x), 0), app(app(app(edge, u), app(s, x'')), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), 0), app(app(app(edge, u), 0), i)), h) -> APP(app(ifreach2, true), x)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(union, i''), h'')))
APP(app(union, app(app(app(edge, x), y), empty)), h'') -> APP(app(app(edge, x), y), h'')
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(reach, v), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(reach, v), y), app(app(union, i), h))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, v), y), app(app(union, i), h)), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(reach, x), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(app(app(app(ifreach1, true), x), app(s, x'')), app(app(app(edge, u), 0), i)), h) -> APP(app(ifreach2, false), x)
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
no new Dependency Pairs are created.
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(reach, x), y)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 8
↳Narrowing Transformation
APP(app(app(app(app(ifreach1, true), x), app(s, x'')), app(app(app(edge, u), 0), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), 0), app(app(app(edge, u), app(s, x'')), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), 0), app(app(app(edge, u), 0), i)), h) -> APP(app(ifreach2, true), x)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(union, i''), h'')))
APP(app(union, app(app(app(edge, x), y), empty)), h'') -> APP(app(app(edge, x), y), h'')
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(reach, v), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(reach, v), y), app(app(union, i), h))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, v), y), app(app(union, i), h)), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(app(app(app(ifreach1, true), x), app(s, x'')), app(app(app(edge, u), app(s, y'')), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
two new Dependency Pairs are created:
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, v), y), app(app(union, i), h)), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 9
↳Narrowing Transformation
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach1, true), x), app(s, x'')), app(app(app(edge, u), app(s, y'')), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
APP(app(app(app(app(ifreach1, true), x), 0), app(app(app(edge, u), app(s, x'')), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), 0), app(app(app(edge, u), 0), i)), h) -> APP(app(ifreach2, true), x)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(union, i''), h'')))
APP(app(union, app(app(app(edge, x), y), empty)), h'') -> APP(app(app(edge, x), y), h'')
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(reach, v), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(reach, v), y), app(app(union, i), h))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(app(app(app(ifreach1, true), x), app(s, x'')), app(app(app(edge, u), 0), i)), h) -> APP(app(ifreach2, false), x)
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
two new Dependency Pairs are created:
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(reach, v), y), app(app(union, i), h))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(reach, v), y), h'')
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h'')))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 10
↳Narrowing Transformation
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h'')))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(reach, v), y), h'')
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach1, true), x), app(s, x'')), app(app(app(edge, u), app(s, y'')), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
APP(app(app(app(app(ifreach1, true), x), app(s, x'')), app(app(app(edge, u), 0), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), 0), app(app(app(edge, u), app(s, x'')), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), 0), app(app(app(edge, u), 0), i)), h) -> APP(app(ifreach2, true), x)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(union, i''), h'')))
APP(app(union, app(app(app(edge, x), y), empty)), h'') -> APP(app(app(edge, x), y), h'')
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(reach, v), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
no new Dependency Pairs are created.
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(reach, v), y)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 11
↳Narrowing Transformation
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(reach, v), y), h'')
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach1, true), x), app(s, x'')), app(app(app(edge, u), app(s, y'')), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
APP(app(app(app(app(ifreach1, true), x), app(s, x'')), app(app(app(edge, u), 0), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), 0), app(app(app(edge, u), app(s, x'')), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), 0), app(app(app(edge, u), 0), i)), h) -> APP(app(ifreach2, true), x)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(union, i''), h'')))
APP(app(union, app(app(app(edge, x), y), empty)), h'') -> APP(app(app(edge, x), y), h'')
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h'')))
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
no new Dependency Pairs are created.
APP(app(union, app(app(app(edge, x), y), empty)), h'') -> APP(app(app(edge, x), y), h'')
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 12
↳Narrowing Transformation
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h'')))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach1, true), x), app(s, x'')), app(app(app(edge, u), app(s, y'')), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
APP(app(app(app(app(ifreach1, true), x), app(s, x'')), app(app(app(edge, u), 0), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), 0), app(app(app(edge, u), app(s, x'')), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), 0), app(app(app(edge, u), 0), i)), h) -> APP(app(ifreach2, true), x)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(union, i''), h'')))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(reach, v), y), h'')
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
two new Dependency Pairs are created:
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(union, i''), h'')))
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), empty))), h''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), h'''))
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), i')))), h''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(union, i'), h'''))))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 13
↳Narrowing Transformation
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), i')))), h''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(union, i'), h'''))))
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), empty))), h''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), h'''))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(reach, v), y), h'')
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach1, true), x), app(s, x'')), app(app(app(edge, u), app(s, y'')), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
APP(app(app(app(app(ifreach1, true), x), app(s, x'')), app(app(app(edge, u), 0), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), 0), app(app(app(edge, u), app(s, x'')), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), 0), app(app(app(edge, u), 0), i)), h) -> APP(app(ifreach2, true), x)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h'')))
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
no new Dependency Pairs are created.
APP(app(app(app(app(ifreach1, true), x), 0), app(app(app(edge, u), 0), i)), h) -> APP(app(ifreach2, true), x)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 14
↳Narrowing Transformation
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), empty))), h''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), h'''))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h'')))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(reach, v), y), h'')
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach1, true), x), app(s, x'')), app(app(app(edge, u), app(s, y'')), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
APP(app(app(app(app(ifreach1, true), x), app(s, x'')), app(app(app(edge, u), 0), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), 0), app(app(app(edge, u), app(s, x'')), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), i')))), h''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(union, i'), h'''))))
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
no new Dependency Pairs are created.
APP(app(app(app(app(ifreach1, true), x), 0), app(app(app(edge, u), app(s, x'')), i)), h) -> APP(app(ifreach2, false), x)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 15
↳Narrowing Transformation
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), i')))), h''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(union, i'), h'''))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h'')))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(reach, v), y), h'')
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach1, true), x), app(s, x'')), app(app(app(edge, u), app(s, y'')), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
APP(app(app(app(app(ifreach1, true), x), app(s, x'')), app(app(app(edge, u), 0), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), empty))), h''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), h'''))
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
no new Dependency Pairs are created.
APP(app(app(app(app(ifreach1, true), x), app(s, x'')), app(app(app(edge, u), 0), i)), h) -> APP(app(ifreach2, false), x)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 16
↳Narrowing Transformation
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), empty))), h''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), h'''))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h'')))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(reach, v), y), h'')
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach1, true), x), app(s, x'')), app(app(app(edge, u), app(s, y'')), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), i')))), h''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(union, i'), h'''))))
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
four new Dependency Pairs are created:
APP(app(app(app(app(ifreach1, true), x), app(s, x'')), app(app(app(edge, u), app(s, y'')), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
APP(app(app(app(app(ifreach1, true), x), app(s, 0)), app(app(app(edge, u), app(s, 0)), i)), h) -> APP(app(ifreach2, true), x)
APP(app(app(app(app(ifreach1, true), x), app(s, 0)), app(app(app(edge, u), app(s, app(s, x'''))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, x'''))), app(app(app(edge, u), app(s, 0)), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, x'''))), app(app(app(edge, u), app(s, app(s, y'))), i)), h) -> APP(app(ifreach2, app(app(eq, x'''), y')), x)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 17
↳Narrowing Transformation
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, x'''))), app(app(app(edge, u), app(s, app(s, y'))), i)), h) -> APP(app(ifreach2, app(app(eq, x'''), y')), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, x'''))), app(app(app(edge, u), app(s, 0)), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, 0)), app(app(app(edge, u), app(s, app(s, x'''))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, 0)), app(app(app(edge, u), app(s, 0)), i)), h) -> APP(app(ifreach2, true), x)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), i')))), h''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(union, i'), h'''))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h'')))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(reach, v), y), h'')
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), empty))), h''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), h'''))
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
no new Dependency Pairs are created.
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(reach, v), y), h'')
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 18
↳Narrowing Transformation
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, x'''))), app(app(app(edge, u), app(s, 0)), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, 0)), app(app(app(edge, u), app(s, app(s, x'''))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, 0)), app(app(app(edge, u), app(s, 0)), i)), h) -> APP(app(ifreach2, true), x)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), i')))), h''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(union, i'), h'''))))
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), empty))), h''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), h'''))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h'')))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, x'''))), app(app(app(edge, u), app(s, app(s, y'))), i)), h) -> APP(app(ifreach2, app(app(eq, x'''), y')), x)
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
two new Dependency Pairs are created:
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h'')))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), empty))), h''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), h'''))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), i')))), h''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(union, i'), h'''))))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 19
↳Narrowing Transformation
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), i')))), h''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(union, i'), h'''))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), empty))), h''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), h'''))
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, x'''))), app(app(app(edge, u), app(s, app(s, y'))), i)), h) -> APP(app(ifreach2, app(app(eq, x'''), y')), x)
APP(app(app(app(app(ifreach1, true), x), app(s, 0)), app(app(app(edge, u), app(s, app(s, x'''))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, 0)), app(app(app(edge, u), app(s, 0)), i)), h) -> APP(app(ifreach2, true), x)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), i')))), h''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(union, i'), h'''))))
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), empty))), h''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), h'''))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, x'''))), app(app(app(edge, u), app(s, 0)), i)), h) -> APP(app(ifreach2, false), x)
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
no new Dependency Pairs are created.
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), empty))), h''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), h'''))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 20
↳Narrowing Transformation
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), empty))), h''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), h'''))
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, x'''))), app(app(app(edge, u), app(s, app(s, y'))), i)), h) -> APP(app(ifreach2, app(app(eq, x'''), y')), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, x'''))), app(app(app(edge, u), app(s, 0)), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, 0)), app(app(app(edge, u), app(s, app(s, x'''))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, 0)), app(app(app(edge, u), app(s, 0)), i)), h) -> APP(app(ifreach2, true), x)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), i')))), h''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(union, i'), h'''))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), i')))), h''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(union, i'), h'''))))
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
no new Dependency Pairs are created.
APP(app(app(app(app(ifreach1, true), x), app(s, 0)), app(app(app(edge, u), app(s, 0)), i)), h) -> APP(app(ifreach2, true), x)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 21
↳Narrowing Transformation
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), i')))), h''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(union, i'), h'''))))
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, x'''))), app(app(app(edge, u), app(s, app(s, y'))), i)), h) -> APP(app(ifreach2, app(app(eq, x'''), y')), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, x'''))), app(app(app(edge, u), app(s, 0)), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, 0)), app(app(app(edge, u), app(s, app(s, x'''))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), i')))), h''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(union, i'), h'''))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), empty))), h''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), h'''))
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
no new Dependency Pairs are created.
APP(app(app(app(app(ifreach1, true), x), app(s, 0)), app(app(app(edge, u), app(s, app(s, x'''))), i)), h) -> APP(app(ifreach2, false), x)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 22
↳Narrowing Transformation
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), empty))), h''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), h'''))
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, x'''))), app(app(app(edge, u), app(s, app(s, y'))), i)), h) -> APP(app(ifreach2, app(app(eq, x'''), y')), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, x'''))), app(app(app(edge, u), app(s, 0)), i)), h) -> APP(app(ifreach2, false), x)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), i')))), h''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(union, i'), h'''))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), i')))), h''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(union, i'), h'''))))
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
no new Dependency Pairs are created.
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, x'''))), app(app(app(edge, u), app(s, 0)), i)), h) -> APP(app(ifreach2, false), x)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 23
↳Narrowing Transformation
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), i')))), h''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(union, i'), h'''))))
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, x'''))), app(app(app(edge, u), app(s, app(s, y'))), i)), h) -> APP(app(ifreach2, app(app(eq, x'''), y')), x)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), i')))), h''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(union, i'), h'''))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), empty))), h''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), h'''))
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
no new Dependency Pairs are created.
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), empty))), h''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), h'''))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 24
↳Narrowing Transformation
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, x'''))), app(app(app(edge, u), app(s, app(s, y'))), i)), h) -> APP(app(ifreach2, app(app(eq, x'''), y')), x)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), i')))), h''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(union, i'), h'''))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), i')))), h''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(union, i'), h'''))))
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
two new Dependency Pairs are created:
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), i')))), h''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(union, i'), h'''))))
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), empty)))), h'''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), h'''')))
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), i''))))), h'''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(union, i''), h'''')))))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 25
↳Narrowing Transformation
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), i''))))), h'''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(union, i''), h'''')))))
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), empty)))), h'''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), h'''')))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), i')))), h''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(union, i'), h'''))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, x'''))), app(app(app(edge, u), app(s, app(s, y'))), i)), h) -> APP(app(ifreach2, app(app(eq, x'''), y')), x)
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
four new Dependency Pairs are created:
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, x'''))), app(app(app(edge, u), app(s, app(s, y'))), i)), h) -> APP(app(ifreach2, app(app(eq, x'''), y')), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, 0))), app(app(app(edge, u), app(s, app(s, 0))), i)), h) -> APP(app(ifreach2, true), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, 0))), app(app(app(edge, u), app(s, app(s, app(s, x'')))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, x'')))), app(app(app(edge, u), app(s, app(s, 0))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, x'')))), app(app(app(edge, u), app(s, app(s, app(s, y'')))), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 26
↳Narrowing Transformation
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, x'')))), app(app(app(edge, u), app(s, app(s, app(s, y'')))), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, x'')))), app(app(app(edge, u), app(s, app(s, 0))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, 0))), app(app(app(edge, u), app(s, app(s, app(s, x'')))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, 0))), app(app(app(edge, u), app(s, app(s, 0))), i)), h) -> APP(app(ifreach2, true), x)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), empty)))), h'''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), h'''')))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), i')))), h''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(union, i'), h'''))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), i''))))), h'''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(union, i''), h'''')))))
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
two new Dependency Pairs are created:
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), i')))), h''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(union, i'), h'''))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), empty)))), h'''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), h'''')))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), i''))))), h'''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(union, i''), h'''')))))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 27
↳Narrowing Transformation
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), i''))))), h'''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(union, i''), h'''')))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), empty)))), h'''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), h'''')))
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, x'')))), app(app(app(edge, u), app(s, app(s, 0))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, 0))), app(app(app(edge, u), app(s, app(s, app(s, x'')))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, 0))), app(app(app(edge, u), app(s, app(s, 0))), i)), h) -> APP(app(ifreach2, true), x)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), i''))))), h'''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(union, i''), h'''')))))
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), empty)))), h'''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), h'''')))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, x'')))), app(app(app(edge, u), app(s, app(s, app(s, y'')))), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
no new Dependency Pairs are created.
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), empty)))), h'''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), h'''')))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 28
↳Narrowing Transformation
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), empty)))), h'''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), h'''')))
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, x'')))), app(app(app(edge, u), app(s, app(s, app(s, y'')))), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, x'')))), app(app(app(edge, u), app(s, app(s, 0))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, 0))), app(app(app(edge, u), app(s, app(s, app(s, x'')))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, 0))), app(app(app(edge, u), app(s, app(s, 0))), i)), h) -> APP(app(ifreach2, true), x)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), i''))))), h'''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(union, i''), h'''')))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), i''))))), h'''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(union, i''), h'''')))))
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
two new Dependency Pairs are created:
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), i''))))), h'''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(union, i''), h'''')))))
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), empty))))), h''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), h'''''))))
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), i')))))), h''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(union, i'), h'''''))))))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 29
↳Narrowing Transformation
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), i')))))), h''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(union, i'), h'''''))))))
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), empty))))), h''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), h'''''))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), i''))))), h'''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(union, i''), h'''')))))
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, x'')))), app(app(app(edge, u), app(s, app(s, app(s, y'')))), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, x'')))), app(app(app(edge, u), app(s, app(s, 0))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, 0))), app(app(app(edge, u), app(s, app(s, app(s, x'')))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, 0))), app(app(app(edge, u), app(s, app(s, 0))), i)), h) -> APP(app(ifreach2, true), x)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), empty)))), h'''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), h'''')))
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
no new Dependency Pairs are created.
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, 0))), app(app(app(edge, u), app(s, app(s, 0))), i)), h) -> APP(app(ifreach2, true), x)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 30
↳Narrowing Transformation
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), empty))))), h''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), h'''''))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), i''))))), h'''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(union, i''), h'''')))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), empty)))), h'''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), h'''')))
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, x'')))), app(app(app(edge, u), app(s, app(s, app(s, y'')))), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, x'')))), app(app(app(edge, u), app(s, app(s, 0))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, 0))), app(app(app(edge, u), app(s, app(s, app(s, x'')))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), i')))))), h''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(union, i'), h'''''))))))
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
no new Dependency Pairs are created.
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, 0))), app(app(app(edge, u), app(s, app(s, app(s, x'')))), i)), h) -> APP(app(ifreach2, false), x)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 31
↳Narrowing Transformation
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), i')))))), h''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(union, i'), h'''''))))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), i''))))), h'''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(union, i''), h'''')))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), empty)))), h'''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), h'''')))
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, x'')))), app(app(app(edge, u), app(s, app(s, app(s, y'')))), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, x'')))), app(app(app(edge, u), app(s, app(s, 0))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), empty))))), h''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), h'''''))))
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
no new Dependency Pairs are created.
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, x'')))), app(app(app(edge, u), app(s, app(s, 0))), i)), h) -> APP(app(ifreach2, false), x)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 32
↳Narrowing Transformation
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), empty))))), h''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), h'''''))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), i''))))), h'''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(union, i''), h'''')))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), empty)))), h'''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), h'''')))
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, x'')))), app(app(app(edge, u), app(s, app(s, app(s, y'')))), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), i')))))), h''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(union, i'), h'''''))))))
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
four new Dependency Pairs are created:
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, x'')))), app(app(app(edge, u), app(s, app(s, app(s, y'')))), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, 0)))), app(app(app(edge, u), app(s, app(s, app(s, 0)))), i)), h) -> APP(app(ifreach2, true), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, 0)))), app(app(app(edge, u), app(s, app(s, app(s, app(s, x'''))))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, x'''))))), app(app(app(edge, u), app(s, app(s, app(s, 0)))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, x'''))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, y'))))), i)), h) -> APP(app(ifreach2, app(app(eq, x'''), y')), x)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 33
↳Narrowing Transformation
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, x'''))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, y'))))), i)), h) -> APP(app(ifreach2, app(app(eq, x'''), y')), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, x'''))))), app(app(app(edge, u), app(s, app(s, app(s, 0)))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, 0)))), app(app(app(edge, u), app(s, app(s, app(s, app(s, x'''))))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, 0)))), app(app(app(edge, u), app(s, app(s, app(s, 0)))), i)), h) -> APP(app(ifreach2, true), x)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), i')))))), h''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(union, i'), h'''''))))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), i''))))), h'''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(union, i''), h'''')))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), empty)))), h'''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), h'''')))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), empty))))), h''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), h'''''))))
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
no new Dependency Pairs are created.
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), empty)))), h'''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), h'''')))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 34
↳Narrowing Transformation
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, x'''))))), app(app(app(edge, u), app(s, app(s, app(s, 0)))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, 0)))), app(app(app(edge, u), app(s, app(s, app(s, app(s, x'''))))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, 0)))), app(app(app(edge, u), app(s, app(s, app(s, 0)))), i)), h) -> APP(app(ifreach2, true), x)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), i')))))), h''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(union, i'), h'''''))))))
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), empty))))), h''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), h'''''))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), i''))))), h'''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(union, i''), h'''')))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, x'''))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, y'))))), i)), h) -> APP(app(ifreach2, app(app(eq, x'''), y')), x)
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
two new Dependency Pairs are created:
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), i''))))), h'''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(union, i''), h'''')))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), empty))))), h''''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), h'''''))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), i')))))), h''''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(union, i'), h'''''))))))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 35
↳Narrowing Transformation
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), i')))))), h''''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(union, i'), h'''''))))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), empty))))), h''''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), h'''''))))
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, x'''))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, y'))))), i)), h) -> APP(app(ifreach2, app(app(eq, x'''), y')), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, 0)))), app(app(app(edge, u), app(s, app(s, app(s, app(s, x'''))))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, 0)))), app(app(app(edge, u), app(s, app(s, app(s, 0)))), i)), h) -> APP(app(ifreach2, true), x)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), i')))))), h''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(union, i'), h'''''))))))
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), empty))))), h''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), h'''''))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, x'''))))), app(app(app(edge, u), app(s, app(s, app(s, 0)))), i)), h) -> APP(app(ifreach2, false), x)
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
no new Dependency Pairs are created.
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), empty))))), h''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), h'''''))))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 36
↳Narrowing Transformation
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), empty))))), h''''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), h'''''))))
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, x'''))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, y'))))), i)), h) -> APP(app(ifreach2, app(app(eq, x'''), y')), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, x'''))))), app(app(app(edge, u), app(s, app(s, app(s, 0)))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, 0)))), app(app(app(edge, u), app(s, app(s, app(s, app(s, x'''))))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, 0)))), app(app(app(edge, u), app(s, app(s, app(s, 0)))), i)), h) -> APP(app(ifreach2, true), x)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), i')))))), h''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(union, i'), h'''''))))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), i')))))), h''''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(union, i'), h'''''))))))
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
two new Dependency Pairs are created:
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), i')))))), h''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(union, i'), h'''''))))))
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), empty)))))), h'''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), h'''''')))))
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), i''))))))), h'''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), app(app(union, i''), h'''''')))))))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 37
↳Narrowing Transformation
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), i''))))))), h'''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), app(app(union, i''), h'''''')))))))
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), empty)))))), h'''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), h'''''')))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), i')))))), h''''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(union, i'), h'''''))))))
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, x'''))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, y'))))), i)), h) -> APP(app(ifreach2, app(app(eq, x'''), y')), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, x'''))))), app(app(app(edge, u), app(s, app(s, app(s, 0)))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, 0)))), app(app(app(edge, u), app(s, app(s, app(s, app(s, x'''))))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, 0)))), app(app(app(edge, u), app(s, app(s, app(s, 0)))), i)), h) -> APP(app(ifreach2, true), x)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), empty))))), h''''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), h'''''))))
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
no new Dependency Pairs are created.
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, 0)))), app(app(app(edge, u), app(s, app(s, app(s, 0)))), i)), h) -> APP(app(ifreach2, true), x)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 38
↳Narrowing Transformation
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), empty)))))), h'''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), h'''''')))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), i')))))), h''''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(union, i'), h'''''))))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), empty))))), h''''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), h'''''))))
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, x'''))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, y'))))), i)), h) -> APP(app(ifreach2, app(app(eq, x'''), y')), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, x'''))))), app(app(app(edge, u), app(s, app(s, app(s, 0)))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, 0)))), app(app(app(edge, u), app(s, app(s, app(s, app(s, x'''))))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), i''))))))), h'''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), app(app(union, i''), h'''''')))))))
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
no new Dependency Pairs are created.
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, 0)))), app(app(app(edge, u), app(s, app(s, app(s, app(s, x'''))))), i)), h) -> APP(app(ifreach2, false), x)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 39
↳Narrowing Transformation
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), i''))))))), h'''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), app(app(union, i''), h'''''')))))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), i')))))), h''''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(union, i'), h'''''))))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), empty))))), h''''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), h'''''))))
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, x'''))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, y'))))), i)), h) -> APP(app(ifreach2, app(app(eq, x'''), y')), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, x'''))))), app(app(app(edge, u), app(s, app(s, app(s, 0)))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), empty)))))), h'''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), h'''''')))))
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
no new Dependency Pairs are created.
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, x'''))))), app(app(app(edge, u), app(s, app(s, app(s, 0)))), i)), h) -> APP(app(ifreach2, false), x)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 40
↳Narrowing Transformation
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), empty)))))), h'''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), h'''''')))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), i')))))), h''''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(union, i'), h'''''))))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), empty))))), h''''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), h'''''))))
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, x'''))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, y'))))), i)), h) -> APP(app(ifreach2, app(app(eq, x'''), y')), x)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), i''))))))), h'''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), app(app(union, i''), h'''''')))))))
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
four new Dependency Pairs are created:
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, x'''))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, y'))))), i)), h) -> APP(app(ifreach2, app(app(eq, x'''), y')), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, 0))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, 0))))), i)), h) -> APP(app(ifreach2, true), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, 0))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, app(s, x'')))))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, app(s, x'')))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, 0))))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, app(s, x'')))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, app(s, y'')))))), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 41
↳Narrowing Transformation
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, app(s, x'')))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, app(s, y'')))))), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, app(s, x'')))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, 0))))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, 0))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, app(s, x'')))))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, 0))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, 0))))), i)), h) -> APP(app(ifreach2, true), x)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), i''))))))), h'''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), app(app(union, i''), h'''''')))))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), i')))))), h''''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(union, i'), h'''''))))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), empty))))), h''''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), h'''''))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), empty)))))), h'''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), h'''''')))))
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
no new Dependency Pairs are created.
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), empty))))), h''''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), h'''''))))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 42
↳Narrowing Transformation
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, app(s, x'')))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, 0))))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, 0))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, app(s, x'')))))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, 0))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, 0))))), i)), h) -> APP(app(ifreach2, true), x)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), i''))))))), h'''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), app(app(union, i''), h'''''')))))))
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), empty)))))), h'''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), h'''''')))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), i')))))), h''''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(union, i'), h'''''))))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, app(s, x'')))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, app(s, y'')))))), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
two new Dependency Pairs are created:
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), i')))))), h''''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(union, i'), h'''''))))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), empty)))))), h'''''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), h'''''')))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), i''))))))), h'''''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), app(app(union, i''), h'''''')))))))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 43
↳Narrowing Transformation
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), i''))))))), h'''''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), app(app(union, i''), h'''''')))))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), empty)))))), h'''''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), h'''''')))))
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, app(s, x'')))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, app(s, y'')))))), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, 0))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, app(s, x'')))))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, 0))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, 0))))), i)), h) -> APP(app(ifreach2, true), x)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), i''))))))), h'''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), app(app(union, i''), h'''''')))))))
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), empty)))))), h'''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), h'''''')))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, app(s, x'')))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, 0))))), i)), h) -> APP(app(ifreach2, false), x)
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
no new Dependency Pairs are created.
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), empty)))))), h'''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), h'''''')))))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 44
↳Narrowing Transformation
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), empty)))))), h'''''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), h'''''')))))
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, app(s, x'')))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, app(s, y'')))))), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, app(s, x'')))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, 0))))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, 0))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, app(s, x'')))))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, 0))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, 0))))), i)), h) -> APP(app(ifreach2, true), x)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), i''))))))), h'''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), app(app(union, i''), h'''''')))))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), i''))))))), h'''''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), app(app(union, i''), h'''''')))))))
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
no new Dependency Pairs are created.
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, 0))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, 0))))), i)), h) -> APP(app(ifreach2, true), x)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 45
↳Narrowing Transformation
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), i''))))))), h'''''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), app(app(union, i''), h'''''')))))))
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, app(s, x'')))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, app(s, y'')))))), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, app(s, x'')))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, 0))))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, 0))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, app(s, x'')))))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), i''))))))), h'''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), app(app(union, i''), h'''''')))))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), empty)))))), h'''''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), h'''''')))))
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
no new Dependency Pairs are created.
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, 0))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, app(s, x'')))))), i)), h) -> APP(app(ifreach2, false), x)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 46
↳Narrowing Transformation
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), empty)))))), h'''''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), h'''''')))))
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, app(s, x'')))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, app(s, y'')))))), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, app(s, x'')))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, 0))))), i)), h) -> APP(app(ifreach2, false), x)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), i''))))))), h'''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), app(app(union, i''), h'''''')))))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), i''))))))), h'''''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), app(app(union, i''), h'''''')))))))
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
no new Dependency Pairs are created.
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, app(s, x'')))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, 0))))), i)), h) -> APP(app(ifreach2, false), x)
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 47
↳Narrowing Transformation
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), i''))))))), h'''''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), app(app(union, i''), h'''''')))))))
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, app(s, x'')))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, app(s, y'')))))), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), i''))))))), h'''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), app(app(union, i''), h'''''')))))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), empty)))))), h'''''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), h'''''')))))
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
no new Dependency Pairs are created.
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), empty)))))), h'''''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), h'''''')))))
R
↳DPs
→DP Problem 1
↳Nar
→DP Problem 2
↳Nar
...
→DP Problem 48
↳Remaining Obligation(s)
APP(app(app(app(app(ifreach1, true), x), app(s, app(s, app(s, app(s, app(s, x'')))))), app(app(app(edge, u), app(s, app(s, app(s, app(s, app(s, y'')))))), i)), h) -> APP(app(ifreach2, app(app(eq, x''), y'')), x)
APP(app(union, app(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), i''))))))), h'''''') -> APP(app(app(edge, x), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), app(app(union, i''), h'''''')))))))
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), i''))), h'') -> APP(app(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(union, i''), h''))), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), empty)), h'') -> APP(app(app(app(reach, v), y), h''), empty)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(union, i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), h)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))
APP(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, y), v)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach2, app(app(eq, y), v)), x), y)
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(eq, x), u)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(ifreach1, app(app(eq, x), u)), x)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(ifreach1, app(app(eq, x), u)), x), y)
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i))
APP(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> APP(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
APP(app(union, app(app(app(edge, x), y), i)), h) -> APP(app(union, i), h)
APP(app(eq, app(s, x)), app(s, y)) -> APP(app(eq, x), y)
APP(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), i''))))))), h'''''') -> APP(app(app(reach, v), y), app(app(app(edge, x''), y''), app(app(app(edge, x'''), y'''), app(app(app(edge, x'0), y'0), app(app(app(edge, x'1), y'1), app(app(app(edge, x'2), y'2), app(app(union, i''), h'''''')))))))
app(app(eq, 0), 0) -> true
app(app(eq, 0), app(s, x)) -> false
app(app(eq, app(s, x)), 0) -> false
app(app(eq, app(s, x)), app(s, y)) -> app(app(eq, x), y)
app(app(or, true), y) -> true
app(app(or, false), y) -> y
app(app(union, empty), h) -> h
app(app(union, app(app(app(edge, x), y), i)), h) -> app(app(app(edge, x), y), app(app(union, i), h))
app(app(app(app(reach, x), y), empty), h) -> false
app(app(app(app(reach, x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach1, app(app(eq, x), u)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, true), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(app(ifreach2, app(app(eq, y), v)), x), y), app(app(app(edge, u), v), i)), h)
app(app(app(app(app(ifreach1, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(app(app(reach, x), y), i), app(app(app(edge, u), v), h))
app(app(app(app(app(ifreach2, true), x), y), app(app(app(edge, u), v), i)), h) -> true
app(app(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> app(app(or, app(app(app(app(reach, x), y), i), h)), app(app(app(app(reach, v), y), app(app(union, i), h)), empty))