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))
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
↳Narrowing Transformation
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(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(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))
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 3
↳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(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(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(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(reach, v), 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))
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 4
↳Narrowing Transformation
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(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(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))
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 5
↳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(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(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(app(app(app(ifreach2, false), x), y), app(app(app(edge, u), v), i)), h) -> APP(app(reach, v), 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))
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 6
↳Narrowing Transformation
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(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(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))
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 7
↳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(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(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(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(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
↳Nar
...
→DP Problem 8
↳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(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(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 9
↳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(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(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))
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 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(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), 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(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), 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(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 11
↳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(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(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), 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(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 13
↳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(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))
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 14
↳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(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), 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), 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 15
↳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(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))
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 16
↳Remaining Obligation(s)
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(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), 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))