0 QTRS
↳1 DependencyPairsProof (⇔)
↳2 QDP
↳3 DependencyGraphProof (⇔)
↳4 AND
↳5 QDP
↳6 QDPSizeChangeProof (⇔)
↳7 TRUE
↳8 QDP
↳9 QDPSizeChangeProof (⇔)
↳10 TRUE
↳11 QDP
↳12 QDPSizeChangeProof (⇔)
↳13 TRUE
app(app(plus, 0), y) → y
app(app(plus, app(s, x)), y) → app(s, app(app(plus, x), y))
app(app(times, 0), y) → 0
app(app(times, app(s, x)), y) → app(app(plus, app(app(times, x), y)), y)
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, x), xs)) → app(app(cons, app(f, x)), app(app(map, f), xs))
inc → app(map, app(plus, app(s, 0)))
double → app(map, app(times, app(s, app(s, 0))))
APP(app(plus, app(s, x)), y) → APP(s, app(app(plus, x), y))
APP(app(plus, app(s, x)), y) → APP(app(plus, x), y)
APP(app(plus, app(s, x)), y) → APP(plus, x)
APP(app(times, app(s, x)), y) → APP(app(plus, app(app(times, x), y)), y)
APP(app(times, app(s, x)), y) → APP(plus, app(app(times, x), y))
APP(app(times, app(s, x)), y) → APP(app(times, x), y)
APP(app(times, app(s, x)), y) → APP(times, x)
APP(app(map, f), app(app(cons, x), xs)) → APP(app(cons, app(f, x)), app(app(map, f), xs))
APP(app(map, f), app(app(cons, x), xs)) → APP(cons, app(f, x))
APP(app(map, f), app(app(cons, x), xs)) → APP(f, x)
APP(app(map, f), app(app(cons, x), xs)) → APP(app(map, f), xs)
INC → APP(map, app(plus, app(s, 0)))
INC → APP(plus, app(s, 0))
INC → APP(s, 0)
DOUBLE → APP(map, app(times, app(s, app(s, 0))))
DOUBLE → APP(times, app(s, app(s, 0)))
DOUBLE → APP(s, app(s, 0))
DOUBLE → APP(s, 0)
app(app(plus, 0), y) → y
app(app(plus, app(s, x)), y) → app(s, app(app(plus, x), y))
app(app(times, 0), y) → 0
app(app(times, app(s, x)), y) → app(app(plus, app(app(times, x), y)), y)
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, x), xs)) → app(app(cons, app(f, x)), app(app(map, f), xs))
inc → app(map, app(plus, app(s, 0)))
double → app(map, app(times, app(s, app(s, 0))))
APP(app(plus, app(s, x)), y) → APP(app(plus, x), y)
app(app(plus, 0), y) → y
app(app(plus, app(s, x)), y) → app(s, app(app(plus, x), y))
app(app(times, 0), y) → 0
app(app(times, app(s, x)), y) → app(app(plus, app(app(times, x), y)), y)
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, x), xs)) → app(app(cons, app(f, x)), app(app(map, f), xs))
inc → app(map, app(plus, app(s, 0)))
double → app(map, app(times, app(s, app(s, 0))))
Order:Homeomorphic Embedding Order
AFS:
plus = plus
s = s
app(x1, x2) = app(x2)
From the DPs we obtained the following set of size-change graphs:
We oriented the following set of usable rules [AAECC05,FROCOS05].
none
APP(app(times, app(s, x)), y) → APP(app(times, x), y)
app(app(plus, 0), y) → y
app(app(plus, app(s, x)), y) → app(s, app(app(plus, x), y))
app(app(times, 0), y) → 0
app(app(times, app(s, x)), y) → app(app(plus, app(app(times, x), y)), y)
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, x), xs)) → app(app(cons, app(f, x)), app(app(map, f), xs))
inc → app(map, app(plus, app(s, 0)))
double → app(map, app(times, app(s, app(s, 0))))
Order:Homeomorphic Embedding Order
AFS:
times = times
s = s
app(x1, x2) = app(x2)
From the DPs we obtained the following set of size-change graphs:
We oriented the following set of usable rules [AAECC05,FROCOS05].
none
APP(app(map, f), app(app(cons, x), xs)) → APP(app(map, f), xs)
APP(app(map, f), app(app(cons, x), xs)) → APP(f, x)
app(app(plus, 0), y) → y
app(app(plus, app(s, x)), y) → app(s, app(app(plus, x), y))
app(app(times, 0), y) → 0
app(app(times, app(s, x)), y) → app(app(plus, app(app(times, x), y)), y)
app(app(map, f), nil) → nil
app(app(map, f), app(app(cons, x), xs)) → app(app(cons, app(f, x)), app(app(map, f), xs))
inc → app(map, app(plus, app(s, 0)))
double → app(map, app(times, app(s, app(s, 0))))
Order:Homeomorphic Embedding Order
AFS:
map = map
cons = cons
app(x1, x2) = app(x2)
From the DPs we obtained the following set of size-change graphs:
We oriented the following set of usable rules [AAECC05,FROCOS05].
none