0 QTRS
↳1 Overlay + Local Confluence (⇔)
↳2 QTRS
↳3 DependencyPairsProof (⇔)
↳4 QDP
↳5 DependencyGraphProof (⇔)
↳6 AND
↳7 QDP
↳8 UsableRulesProof (⇔)
↳9 QDP
↳10 QReductionProof (⇔)
↳11 QDP
↳12 QDPSizeChangeProof (⇔)
↳13 TRUE
↳14 QDP
↳15 UsableRulesProof (⇔)
↳16 QDP
↳17 QReductionProof (⇔)
↳18 QDP
↳19 QDPSizeChangeProof (⇔)
↳20 TRUE
↳21 QDP
↳22 UsableRulesProof (⇔)
↳23 QDP
↳24 QReductionProof (⇔)
↳25 QDP
↳26 QDPSizeChangeProof (⇔)
↳27 TRUE
↳28 QDP
↳29 UsableRulesProof (⇔)
↳30 QDP
↳31 QReductionProof (⇔)
↳32 QDP
↳33 QDPSizeChangeProof (⇔)
↳34 TRUE
↳35 QDP
↳36 UsableRulesProof (⇔)
↳37 QDP
↳38 QReductionProof (⇔)
↳39 QDP
↳40 QDPOrderProof (⇔)
↳41 QDP
↳42 DependencyGraphProof (⇔)
↳43 TRUE
↳44 QDP
↳45 UsableRulesProof (⇔)
↳46 QDP
↳47 QReductionProof (⇔)
↳48 QDP
↳49 Induction-Processor (⇐)
↳50 AND
↳51 QDP
↳52 PisEmptyProof (⇔)
↳53 TRUE
↳54 QTRS
↳55 Overlay + Local Confluence (⇔)
↳56 QTRS
↳57 DependencyPairsProof (⇔)
↳58 QDP
↳59 DependencyGraphProof (⇔)
↳60 AND
↳61 QDP
↳62 UsableRulesProof (⇔)
↳63 QDP
↳64 QReductionProof (⇔)
↳65 QDP
↳66 QDPSizeChangeProof (⇔)
↳67 TRUE
↳68 QDP
↳69 UsableRulesProof (⇔)
↳70 QDP
↳71 QReductionProof (⇔)
↳72 QDP
↳73 QDPSizeChangeProof (⇔)
↳74 TRUE
↳75 QDP
↳76 UsableRulesProof (⇔)
↳77 QDP
↳78 QReductionProof (⇔)
↳79 QDP
↳80 QDPSizeChangeProof (⇔)
↳81 TRUE
↳82 QDP
↳83 UsableRulesProof (⇔)
↳84 QDP
↳85 QReductionProof (⇔)
↳86 QDP
↳87 QDPSizeChangeProof (⇔)
↳88 TRUE
↳89 QDP
↳90 UsableRulesProof (⇔)
↳91 QDP
↳92 QReductionProof (⇔)
↳93 QDP
↳94 QDPSizeChangeProof (⇔)
↳95 TRUE
↳96 QDP
↳97 UsableRulesProof (⇔)
↳98 QDP
↳99 QReductionProof (⇔)
↳100 QDP
↳101 QDPSizeChangeProof (⇔)
↳102 TRUE
↳103 QDP
↳104 UsableRulesProof (⇔)
↳105 QDP
↳106 QReductionProof (⇔)
↳107 QDP
↳108 QDPOrderProof (⇔)
↳109 QDP
↳110 DependencyGraphProof (⇔)
↳111 TRUE
↳112 QDP
↳113 UsableRulesProof (⇔)
↳114 QDP
↳115 QReductionProof (⇔)
↳116 QDP
↳117 QDPSizeChangeProof (⇔)
↳118 TRUE
max(nil) → 0
max(cons(x, nil)) → x
max(cons(x, cons(y, xs))) → if1(ge(x, y), x, y, xs)
if1(true, x, y, xs) → max(cons(x, xs))
if1(false, x, y, xs) → max(cons(y, xs))
del(x, nil) → nil
del(x, cons(y, xs)) → if2(eq(x, y), x, y, xs)
if2(true, x, y, xs) → xs
if2(false, x, y, xs) → cons(y, del(x, xs))
eq(0, 0) → true
eq(0, s(y)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
sort(nil) → nil
sort(cons(x, xs)) → cons(max(cons(x, xs)), sort(h(del(max(cons(x, xs)), cons(x, xs)))))
ge(0, 0) → true
ge(s(x), 0) → true
ge(0, s(x)) → false
ge(s(x), s(y)) → ge(x, y)
h(nil) → nil
h(cons(x, xs)) → cons(x, h(xs))
max(nil) → 0
max(cons(x, nil)) → x
max(cons(x, cons(y, xs))) → if1(ge(x, y), x, y, xs)
if1(true, x, y, xs) → max(cons(x, xs))
if1(false, x, y, xs) → max(cons(y, xs))
del(x, nil) → nil
del(x, cons(y, xs)) → if2(eq(x, y), x, y, xs)
if2(true, x, y, xs) → xs
if2(false, x, y, xs) → cons(y, del(x, xs))
eq(0, 0) → true
eq(0, s(y)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
sort(nil) → nil
sort(cons(x, xs)) → cons(max(cons(x, xs)), sort(h(del(max(cons(x, xs)), cons(x, xs)))))
ge(0, 0) → true
ge(s(x), 0) → true
ge(0, s(x)) → false
ge(s(x), s(y)) → ge(x, y)
h(nil) → nil
h(cons(x, xs)) → cons(x, h(xs))
max(nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, nil)
del(x0, cons(x1, x2))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
sort(nil)
sort(cons(x0, x1))
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
h(nil)
h(cons(x0, x1))
MAX(cons(x, cons(y, xs))) → IF1(ge(x, y), x, y, xs)
MAX(cons(x, cons(y, xs))) → GE(x, y)
IF1(true, x, y, xs) → MAX(cons(x, xs))
IF1(false, x, y, xs) → MAX(cons(y, xs))
DEL(x, cons(y, xs)) → IF2(eq(x, y), x, y, xs)
DEL(x, cons(y, xs)) → EQ(x, y)
IF2(false, x, y, xs) → DEL(x, xs)
EQ(s(x), s(y)) → EQ(x, y)
SORT(cons(x, xs)) → MAX(cons(x, xs))
SORT(cons(x, xs)) → SORT(h(del(max(cons(x, xs)), cons(x, xs))))
SORT(cons(x, xs)) → H(del(max(cons(x, xs)), cons(x, xs)))
SORT(cons(x, xs)) → DEL(max(cons(x, xs)), cons(x, xs))
GE(s(x), s(y)) → GE(x, y)
H(cons(x, xs)) → H(xs)
max(nil) → 0
max(cons(x, nil)) → x
max(cons(x, cons(y, xs))) → if1(ge(x, y), x, y, xs)
if1(true, x, y, xs) → max(cons(x, xs))
if1(false, x, y, xs) → max(cons(y, xs))
del(x, nil) → nil
del(x, cons(y, xs)) → if2(eq(x, y), x, y, xs)
if2(true, x, y, xs) → xs
if2(false, x, y, xs) → cons(y, del(x, xs))
eq(0, 0) → true
eq(0, s(y)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
sort(nil) → nil
sort(cons(x, xs)) → cons(max(cons(x, xs)), sort(h(del(max(cons(x, xs)), cons(x, xs)))))
ge(0, 0) → true
ge(s(x), 0) → true
ge(0, s(x)) → false
ge(s(x), s(y)) → ge(x, y)
h(nil) → nil
h(cons(x, xs)) → cons(x, h(xs))
max(nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, nil)
del(x0, cons(x1, x2))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
sort(nil)
sort(cons(x0, x1))
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
h(nil)
h(cons(x0, x1))
H(cons(x, xs)) → H(xs)
max(nil) → 0
max(cons(x, nil)) → x
max(cons(x, cons(y, xs))) → if1(ge(x, y), x, y, xs)
if1(true, x, y, xs) → max(cons(x, xs))
if1(false, x, y, xs) → max(cons(y, xs))
del(x, nil) → nil
del(x, cons(y, xs)) → if2(eq(x, y), x, y, xs)
if2(true, x, y, xs) → xs
if2(false, x, y, xs) → cons(y, del(x, xs))
eq(0, 0) → true
eq(0, s(y)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
sort(nil) → nil
sort(cons(x, xs)) → cons(max(cons(x, xs)), sort(h(del(max(cons(x, xs)), cons(x, xs)))))
ge(0, 0) → true
ge(s(x), 0) → true
ge(0, s(x)) → false
ge(s(x), s(y)) → ge(x, y)
h(nil) → nil
h(cons(x, xs)) → cons(x, h(xs))
max(nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, nil)
del(x0, cons(x1, x2))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
sort(nil)
sort(cons(x0, x1))
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
h(nil)
h(cons(x0, x1))
H(cons(x, xs)) → H(xs)
max(nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, nil)
del(x0, cons(x1, x2))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
sort(nil)
sort(cons(x0, x1))
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
h(nil)
h(cons(x0, x1))
max(nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, nil)
del(x0, cons(x1, x2))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
sort(nil)
sort(cons(x0, x1))
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
h(nil)
h(cons(x0, x1))
H(cons(x, xs)) → H(xs)
From the DPs we obtained the following set of size-change graphs:
GE(s(x), s(y)) → GE(x, y)
max(nil) → 0
max(cons(x, nil)) → x
max(cons(x, cons(y, xs))) → if1(ge(x, y), x, y, xs)
if1(true, x, y, xs) → max(cons(x, xs))
if1(false, x, y, xs) → max(cons(y, xs))
del(x, nil) → nil
del(x, cons(y, xs)) → if2(eq(x, y), x, y, xs)
if2(true, x, y, xs) → xs
if2(false, x, y, xs) → cons(y, del(x, xs))
eq(0, 0) → true
eq(0, s(y)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
sort(nil) → nil
sort(cons(x, xs)) → cons(max(cons(x, xs)), sort(h(del(max(cons(x, xs)), cons(x, xs)))))
ge(0, 0) → true
ge(s(x), 0) → true
ge(0, s(x)) → false
ge(s(x), s(y)) → ge(x, y)
h(nil) → nil
h(cons(x, xs)) → cons(x, h(xs))
max(nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, nil)
del(x0, cons(x1, x2))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
sort(nil)
sort(cons(x0, x1))
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
h(nil)
h(cons(x0, x1))
GE(s(x), s(y)) → GE(x, y)
max(nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, nil)
del(x0, cons(x1, x2))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
sort(nil)
sort(cons(x0, x1))
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
h(nil)
h(cons(x0, x1))
max(nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, nil)
del(x0, cons(x1, x2))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
sort(nil)
sort(cons(x0, x1))
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
h(nil)
h(cons(x0, x1))
GE(s(x), s(y)) → GE(x, y)
From the DPs we obtained the following set of size-change graphs:
EQ(s(x), s(y)) → EQ(x, y)
max(nil) → 0
max(cons(x, nil)) → x
max(cons(x, cons(y, xs))) → if1(ge(x, y), x, y, xs)
if1(true, x, y, xs) → max(cons(x, xs))
if1(false, x, y, xs) → max(cons(y, xs))
del(x, nil) → nil
del(x, cons(y, xs)) → if2(eq(x, y), x, y, xs)
if2(true, x, y, xs) → xs
if2(false, x, y, xs) → cons(y, del(x, xs))
eq(0, 0) → true
eq(0, s(y)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
sort(nil) → nil
sort(cons(x, xs)) → cons(max(cons(x, xs)), sort(h(del(max(cons(x, xs)), cons(x, xs)))))
ge(0, 0) → true
ge(s(x), 0) → true
ge(0, s(x)) → false
ge(s(x), s(y)) → ge(x, y)
h(nil) → nil
h(cons(x, xs)) → cons(x, h(xs))
max(nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, nil)
del(x0, cons(x1, x2))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
sort(nil)
sort(cons(x0, x1))
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
h(nil)
h(cons(x0, x1))
EQ(s(x), s(y)) → EQ(x, y)
max(nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, nil)
del(x0, cons(x1, x2))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
sort(nil)
sort(cons(x0, x1))
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
h(nil)
h(cons(x0, x1))
max(nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, nil)
del(x0, cons(x1, x2))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
sort(nil)
sort(cons(x0, x1))
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
h(nil)
h(cons(x0, x1))
EQ(s(x), s(y)) → EQ(x, y)
From the DPs we obtained the following set of size-change graphs:
IF2(false, x, y, xs) → DEL(x, xs)
DEL(x, cons(y, xs)) → IF2(eq(x, y), x, y, xs)
max(nil) → 0
max(cons(x, nil)) → x
max(cons(x, cons(y, xs))) → if1(ge(x, y), x, y, xs)
if1(true, x, y, xs) → max(cons(x, xs))
if1(false, x, y, xs) → max(cons(y, xs))
del(x, nil) → nil
del(x, cons(y, xs)) → if2(eq(x, y), x, y, xs)
if2(true, x, y, xs) → xs
if2(false, x, y, xs) → cons(y, del(x, xs))
eq(0, 0) → true
eq(0, s(y)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
sort(nil) → nil
sort(cons(x, xs)) → cons(max(cons(x, xs)), sort(h(del(max(cons(x, xs)), cons(x, xs)))))
ge(0, 0) → true
ge(s(x), 0) → true
ge(0, s(x)) → false
ge(s(x), s(y)) → ge(x, y)
h(nil) → nil
h(cons(x, xs)) → cons(x, h(xs))
max(nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, nil)
del(x0, cons(x1, x2))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
sort(nil)
sort(cons(x0, x1))
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
h(nil)
h(cons(x0, x1))
IF2(false, x, y, xs) → DEL(x, xs)
DEL(x, cons(y, xs)) → IF2(eq(x, y), x, y, xs)
eq(0, 0) → true
eq(0, s(y)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
max(nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, nil)
del(x0, cons(x1, x2))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
sort(nil)
sort(cons(x0, x1))
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
h(nil)
h(cons(x0, x1))
max(nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, nil)
del(x0, cons(x1, x2))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
sort(nil)
sort(cons(x0, x1))
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
h(nil)
h(cons(x0, x1))
IF2(false, x, y, xs) → DEL(x, xs)
DEL(x, cons(y, xs)) → IF2(eq(x, y), x, y, xs)
eq(0, 0) → true
eq(0, s(y)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
From the DPs we obtained the following set of size-change graphs:
IF1(true, x, y, xs) → MAX(cons(x, xs))
MAX(cons(x, cons(y, xs))) → IF1(ge(x, y), x, y, xs)
IF1(false, x, y, xs) → MAX(cons(y, xs))
max(nil) → 0
max(cons(x, nil)) → x
max(cons(x, cons(y, xs))) → if1(ge(x, y), x, y, xs)
if1(true, x, y, xs) → max(cons(x, xs))
if1(false, x, y, xs) → max(cons(y, xs))
del(x, nil) → nil
del(x, cons(y, xs)) → if2(eq(x, y), x, y, xs)
if2(true, x, y, xs) → xs
if2(false, x, y, xs) → cons(y, del(x, xs))
eq(0, 0) → true
eq(0, s(y)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
sort(nil) → nil
sort(cons(x, xs)) → cons(max(cons(x, xs)), sort(h(del(max(cons(x, xs)), cons(x, xs)))))
ge(0, 0) → true
ge(s(x), 0) → true
ge(0, s(x)) → false
ge(s(x), s(y)) → ge(x, y)
h(nil) → nil
h(cons(x, xs)) → cons(x, h(xs))
max(nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, nil)
del(x0, cons(x1, x2))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
sort(nil)
sort(cons(x0, x1))
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
h(nil)
h(cons(x0, x1))
IF1(true, x, y, xs) → MAX(cons(x, xs))
MAX(cons(x, cons(y, xs))) → IF1(ge(x, y), x, y, xs)
IF1(false, x, y, xs) → MAX(cons(y, xs))
ge(0, 0) → true
ge(s(x), 0) → true
ge(0, s(x)) → false
ge(s(x), s(y)) → ge(x, y)
max(nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, nil)
del(x0, cons(x1, x2))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
sort(nil)
sort(cons(x0, x1))
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
h(nil)
h(cons(x0, x1))
max(nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, nil)
del(x0, cons(x1, x2))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
sort(nil)
sort(cons(x0, x1))
h(nil)
h(cons(x0, x1))
IF1(true, x, y, xs) → MAX(cons(x, xs))
MAX(cons(x, cons(y, xs))) → IF1(ge(x, y), x, y, xs)
IF1(false, x, y, xs) → MAX(cons(y, xs))
ge(0, 0) → true
ge(s(x), 0) → true
ge(0, s(x)) → false
ge(s(x), s(y)) → ge(x, y)
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MAX(cons(x, cons(y, xs))) → IF1(ge(x, y), x, y, xs)
POL(0) = 0
POL(IF1(x1, x2, x3, x4)) = 1 + x2 + x3 + x4
POL(MAX(x1)) = x1
POL(cons(x1, x2)) = 1 + x1 + x2
POL(false) = 0
POL(ge(x1, x2)) = 0
POL(s(x1)) = 0
POL(true) = 0
IF1(true, x, y, xs) → MAX(cons(x, xs))
IF1(false, x, y, xs) → MAX(cons(y, xs))
ge(0, 0) → true
ge(s(x), 0) → true
ge(0, s(x)) → false
ge(s(x), s(y)) → ge(x, y)
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
SORT(cons(x, xs)) → SORT(h(del(max(cons(x, xs)), cons(x, xs))))
max(nil) → 0
max(cons(x, nil)) → x
max(cons(x, cons(y, xs))) → if1(ge(x, y), x, y, xs)
if1(true, x, y, xs) → max(cons(x, xs))
if1(false, x, y, xs) → max(cons(y, xs))
del(x, nil) → nil
del(x, cons(y, xs)) → if2(eq(x, y), x, y, xs)
if2(true, x, y, xs) → xs
if2(false, x, y, xs) → cons(y, del(x, xs))
eq(0, 0) → true
eq(0, s(y)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
sort(nil) → nil
sort(cons(x, xs)) → cons(max(cons(x, xs)), sort(h(del(max(cons(x, xs)), cons(x, xs)))))
ge(0, 0) → true
ge(s(x), 0) → true
ge(0, s(x)) → false
ge(s(x), s(y)) → ge(x, y)
h(nil) → nil
h(cons(x, xs)) → cons(x, h(xs))
max(nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, nil)
del(x0, cons(x1, x2))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
sort(nil)
sort(cons(x0, x1))
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
h(nil)
h(cons(x0, x1))
SORT(cons(x, xs)) → SORT(h(del(max(cons(x, xs)), cons(x, xs))))
max(cons(x, nil)) → x
max(cons(x, cons(y, xs))) → if1(ge(x, y), x, y, xs)
if1(true, x, y, xs) → max(cons(x, xs))
if1(false, x, y, xs) → max(cons(y, xs))
del(x, cons(y, xs)) → if2(eq(x, y), x, y, xs)
h(nil) → nil
h(cons(x, xs)) → cons(x, h(xs))
eq(0, 0) → true
eq(0, s(y)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
if2(true, x, y, xs) → xs
if2(false, x, y, xs) → cons(y, del(x, xs))
del(x, nil) → nil
ge(0, 0) → true
ge(s(x), 0) → true
ge(0, s(x)) → false
ge(s(x), s(y)) → ge(x, y)
max(nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, nil)
del(x0, cons(x1, x2))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
sort(nil)
sort(cons(x0, x1))
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
h(nil)
h(cons(x0, x1))
sort(nil)
sort(cons(x0, x1))
SORT(cons(x, xs)) → SORT(h(del(max(cons(x, xs)), cons(x, xs))))
max(cons(x, nil)) → x
max(cons(x, cons(y, xs))) → if1(ge(x, y), x, y, xs)
if1(true, x, y, xs) → max(cons(x, xs))
if1(false, x, y, xs) → max(cons(y, xs))
del(x, cons(y, xs)) → if2(eq(x, y), x, y, xs)
h(nil) → nil
h(cons(x, xs)) → cons(x, h(xs))
eq(0, 0) → true
eq(0, s(y)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
if2(true, x, y, xs) → xs
if2(false, x, y, xs) → cons(y, del(x, xs))
del(x, nil) → nil
ge(0, 0) → true
ge(s(x), 0) → true
ge(0, s(x)) → false
ge(s(x), s(y)) → ge(x, y)
max(nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, nil)
del(x0, cons(x1, x2))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
h(nil)
h(cons(x0, x1))
POL(0) = 0
POL(SORT(x1)) = x1
POL(cons(x1, x2)) = 1 + 2·x1 + 2·x2
POL(del(x1, x2)) = x2
POL(eq(x1, x2)) = 1
POL(false) = 0
POL(ge(x1, x2)) = 1
POL(h(x1)) = x1
POL(if1(x1, x2, x3, x4)) = 1 + 2·x1 + 2·x2 + 2·x3 + 3·x4
POL(if2(x1, x2, x3, x4)) = 1 + 2·x3 + 2·x4
POL(max(x1)) = x1
POL(nil) = 0
POL(s(x1)) = 0
POL(true) = 1
max(cons(x, nil)) → x
max(cons(x, cons(y, xs))) → if1(ge(x, y), x, y, xs)
if1(true, x, y, xs) → max(cons(x, xs))
if1(false, x, y, xs) → max(cons(y, xs))
del(x, cons(y, xs)) → if2(eq(x, y), x, y, xs)
h(nil) → nil
h(cons(x, xs)) → cons(x, h(xs))
eq(0, 0) → true
eq(0, s(y)) → false
eq(s(x), 0) → false
eq(s(x), s(y)) → eq(x, y)
if2(true, x, y, xs) → xs
if2(false, x, y, xs) → cons(y, del(x, xs))
del(x, nil) → nil
ge(0, 0) → true
ge(s(x), 0) → true
ge(0, s(x)) → false
ge(s(x), s(y)) → ge(x, y)
max(nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, nil)
del(x0, cons(x1, x2))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
h(nil)
h(cons(x0, x1))
del'(x58, cons(y37, xs29)) → if2'(eq(x58, y37), x58, y37, xs29)
if2'(true, x160, y103, xs80) → true
if2'(false, x175, y113, xs88) → del'(x175, xs88)
del'(x190, nil) → false
max(cons(x, nil)) → x
max(cons(x13, cons(y7, xs5))) → if1(ge(x13, y7), x13, y7, xs5)
if1(true, x28, y17, xs13) → max(cons(x28, xs13))
if1(false, x43, y27, xs21) → max(cons(y27, xs21))
del(x58, cons(y37, xs29)) → if2(eq(x58, y37), x58, y37, xs29)
h(nil) → nil
h(cons(x87, xs44)) → cons(x87, h(xs44))
eq(0, 0) → true
eq(0, s(y74)) → false
eq(s(x130), 0) → false
eq(s(x145), s(y93)) → eq(x145, y93)
if2(true, x160, y103, xs80) → xs80
if2(false, x175, y113, xs88) → cons(y113, del(x175, xs88))
del(x190, nil) → nil
ge(0, 0) → true
ge(s(x219), 0) → true
ge(0, s(x234)) → false
ge(s(x249), s(y159)) → ge(x249, y159)
max(nil) → 0
equal_bool(true, false) → false
equal_bool(false, true) → false
equal_bool(true, true) → true
equal_bool(false, false) → true
and(true, x) → x
and(false, x) → false
or(true, x) → true
or(false, x) → x
not(false) → true
not(true) → false
isa_true(true) → true
isa_true(false) → false
isa_false(true) → false
isa_false(false) → true
equal_sort[a0](0, 0) → true
equal_sort[a0](0, s(x0)) → false
equal_sort[a0](s(x0), 0) → false
equal_sort[a0](s(x0), s(x1)) → equal_sort[a0](x0, x1)
equal_sort[a36](cons(x0, x1), cons(x2, x3)) → and(equal_sort[a36](x0, x2), equal_sort[a36](x1, x3))
equal_sort[a36](cons(x0, x1), nil) → false
equal_sort[a36](nil, cons(x0, x1)) → false
equal_sort[a36](nil, nil) → true
equal_sort[a64](witness_sort[a64], witness_sort[a64]) → true
del'(x58, cons(y37, xs29)) → if2'(eq(x58, y37), x58, y37, xs29)
if2'(true, x160, y103, xs80) → true
if2'(false, x175, y113, xs88) → del'(x175, xs88)
del'(x190, nil) → false
max(cons(x, nil)) → x
max(cons(x13, cons(y7, xs5))) → if1(ge(x13, y7), x13, y7, xs5)
if1(true, x28, y17, xs13) → max(cons(x28, xs13))
if1(false, x43, y27, xs21) → max(cons(y27, xs21))
del(x58, cons(y37, xs29)) → if2(eq(x58, y37), x58, y37, xs29)
h(nil) → nil
h(cons(x87, xs44)) → cons(x87, h(xs44))
eq(0, 0) → true
eq(0, s(y74)) → false
eq(s(x130), 0) → false
eq(s(x145), s(y93)) → eq(x145, y93)
if2(true, x160, y103, xs80) → xs80
if2(false, x175, y113, xs88) → cons(y113, del(x175, xs88))
del(x190, nil) → nil
ge(0, 0) → true
ge(s(x219), 0) → true
ge(0, s(x234)) → false
ge(s(x249), s(y159)) → ge(x249, y159)
max(nil) → 0
equal_bool(true, false) → false
equal_bool(false, true) → false
equal_bool(true, true) → true
equal_bool(false, false) → true
and(true, x) → x
and(false, x) → false
or(true, x) → true
or(false, x) → x
not(false) → true
not(true) → false
isa_true(true) → true
isa_true(false) → false
isa_false(true) → false
isa_false(false) → true
equal_sort[a0](0, 0) → true
equal_sort[a0](0, s(x0)) → false
equal_sort[a0](s(x0), 0) → false
equal_sort[a0](s(x0), s(x1)) → equal_sort[a0](x0, x1)
equal_sort[a36](cons(x0, x1), cons(x2, x3)) → and(equal_sort[a36](x0, x2), equal_sort[a36](x1, x3))
equal_sort[a36](cons(x0, x1), nil) → false
equal_sort[a36](nil, cons(x0, x1)) → false
equal_sort[a36](nil, nil) → true
equal_sort[a64](witness_sort[a64], witness_sort[a64]) → true
del'(x0, cons(x1, x2))
if2'(true, x0, x1, x2)
if2'(false, x0, x1, x2)
del'(x0, nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, cons(x1, x2))
h(nil)
h(cons(x0, x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
del(x0, nil)
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
max(nil)
equal_bool(true, false)
equal_bool(false, true)
equal_bool(true, true)
equal_bool(false, false)
and(true, x0)
and(false, x0)
or(true, x0)
or(false, x0)
not(false)
not(true)
isa_true(true)
isa_true(false)
isa_false(true)
isa_false(false)
equal_sort[a0](0, 0)
equal_sort[a0](0, s(x0))
equal_sort[a0](s(x0), 0)
equal_sort[a0](s(x0), s(x1))
equal_sort[a36](cons(x0, x1), cons(x2, x3))
equal_sort[a36](cons(x0, x1), nil)
equal_sort[a36](nil, cons(x0, x1))
equal_sort[a36](nil, nil)
equal_sort[a64](witness_sort[a64], witness_sort[a64])
DEL'(x58, cons(y37, xs29)) → IF2'(eq(x58, y37), x58, y37, xs29)
DEL'(x58, cons(y37, xs29)) → EQ(x58, y37)
IF2'(false, x175, y113, xs88) → DEL'(x175, xs88)
MAX(cons(x13, cons(y7, xs5))) → IF1(ge(x13, y7), x13, y7, xs5)
MAX(cons(x13, cons(y7, xs5))) → GE(x13, y7)
IF1(true, x28, y17, xs13) → MAX(cons(x28, xs13))
IF1(false, x43, y27, xs21) → MAX(cons(y27, xs21))
DEL(x58, cons(y37, xs29)) → IF2(eq(x58, y37), x58, y37, xs29)
DEL(x58, cons(y37, xs29)) → EQ(x58, y37)
H(cons(x87, xs44)) → H(xs44)
EQ(s(x145), s(y93)) → EQ(x145, y93)
IF2(false, x175, y113, xs88) → DEL(x175, xs88)
GE(s(x249), s(y159)) → GE(x249, y159)
EQUAL_SORT[A0](s(x0), s(x1)) → EQUAL_SORT[A0](x0, x1)
EQUAL_SORT[A36](cons(x0, x1), cons(x2, x3)) → AND(equal_sort[a36](x0, x2), equal_sort[a36](x1, x3))
EQUAL_SORT[A36](cons(x0, x1), cons(x2, x3)) → EQUAL_SORT[A36](x0, x2)
EQUAL_SORT[A36](cons(x0, x1), cons(x2, x3)) → EQUAL_SORT[A36](x1, x3)
del'(x58, cons(y37, xs29)) → if2'(eq(x58, y37), x58, y37, xs29)
if2'(true, x160, y103, xs80) → true
if2'(false, x175, y113, xs88) → del'(x175, xs88)
del'(x190, nil) → false
max(cons(x, nil)) → x
max(cons(x13, cons(y7, xs5))) → if1(ge(x13, y7), x13, y7, xs5)
if1(true, x28, y17, xs13) → max(cons(x28, xs13))
if1(false, x43, y27, xs21) → max(cons(y27, xs21))
del(x58, cons(y37, xs29)) → if2(eq(x58, y37), x58, y37, xs29)
h(nil) → nil
h(cons(x87, xs44)) → cons(x87, h(xs44))
eq(0, 0) → true
eq(0, s(y74)) → false
eq(s(x130), 0) → false
eq(s(x145), s(y93)) → eq(x145, y93)
if2(true, x160, y103, xs80) → xs80
if2(false, x175, y113, xs88) → cons(y113, del(x175, xs88))
del(x190, nil) → nil
ge(0, 0) → true
ge(s(x219), 0) → true
ge(0, s(x234)) → false
ge(s(x249), s(y159)) → ge(x249, y159)
max(nil) → 0
equal_bool(true, false) → false
equal_bool(false, true) → false
equal_bool(true, true) → true
equal_bool(false, false) → true
and(true, x) → x
and(false, x) → false
or(true, x) → true
or(false, x) → x
not(false) → true
not(true) → false
isa_true(true) → true
isa_true(false) → false
isa_false(true) → false
isa_false(false) → true
equal_sort[a0](0, 0) → true
equal_sort[a0](0, s(x0)) → false
equal_sort[a0](s(x0), 0) → false
equal_sort[a0](s(x0), s(x1)) → equal_sort[a0](x0, x1)
equal_sort[a36](cons(x0, x1), cons(x2, x3)) → and(equal_sort[a36](x0, x2), equal_sort[a36](x1, x3))
equal_sort[a36](cons(x0, x1), nil) → false
equal_sort[a36](nil, cons(x0, x1)) → false
equal_sort[a36](nil, nil) → true
equal_sort[a64](witness_sort[a64], witness_sort[a64]) → true
del'(x0, cons(x1, x2))
if2'(true, x0, x1, x2)
if2'(false, x0, x1, x2)
del'(x0, nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, cons(x1, x2))
h(nil)
h(cons(x0, x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
del(x0, nil)
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
max(nil)
equal_bool(true, false)
equal_bool(false, true)
equal_bool(true, true)
equal_bool(false, false)
and(true, x0)
and(false, x0)
or(true, x0)
or(false, x0)
not(false)
not(true)
isa_true(true)
isa_true(false)
isa_false(true)
isa_false(false)
equal_sort[a0](0, 0)
equal_sort[a0](0, s(x0))
equal_sort[a0](s(x0), 0)
equal_sort[a0](s(x0), s(x1))
equal_sort[a36](cons(x0, x1), cons(x2, x3))
equal_sort[a36](cons(x0, x1), nil)
equal_sort[a36](nil, cons(x0, x1))
equal_sort[a36](nil, nil)
equal_sort[a64](witness_sort[a64], witness_sort[a64])
EQUAL_SORT[A36](cons(x0, x1), cons(x2, x3)) → EQUAL_SORT[A36](x1, x3)
EQUAL_SORT[A36](cons(x0, x1), cons(x2, x3)) → EQUAL_SORT[A36](x0, x2)
del'(x58, cons(y37, xs29)) → if2'(eq(x58, y37), x58, y37, xs29)
if2'(true, x160, y103, xs80) → true
if2'(false, x175, y113, xs88) → del'(x175, xs88)
del'(x190, nil) → false
max(cons(x, nil)) → x
max(cons(x13, cons(y7, xs5))) → if1(ge(x13, y7), x13, y7, xs5)
if1(true, x28, y17, xs13) → max(cons(x28, xs13))
if1(false, x43, y27, xs21) → max(cons(y27, xs21))
del(x58, cons(y37, xs29)) → if2(eq(x58, y37), x58, y37, xs29)
h(nil) → nil
h(cons(x87, xs44)) → cons(x87, h(xs44))
eq(0, 0) → true
eq(0, s(y74)) → false
eq(s(x130), 0) → false
eq(s(x145), s(y93)) → eq(x145, y93)
if2(true, x160, y103, xs80) → xs80
if2(false, x175, y113, xs88) → cons(y113, del(x175, xs88))
del(x190, nil) → nil
ge(0, 0) → true
ge(s(x219), 0) → true
ge(0, s(x234)) → false
ge(s(x249), s(y159)) → ge(x249, y159)
max(nil) → 0
equal_bool(true, false) → false
equal_bool(false, true) → false
equal_bool(true, true) → true
equal_bool(false, false) → true
and(true, x) → x
and(false, x) → false
or(true, x) → true
or(false, x) → x
not(false) → true
not(true) → false
isa_true(true) → true
isa_true(false) → false
isa_false(true) → false
isa_false(false) → true
equal_sort[a0](0, 0) → true
equal_sort[a0](0, s(x0)) → false
equal_sort[a0](s(x0), 0) → false
equal_sort[a0](s(x0), s(x1)) → equal_sort[a0](x0, x1)
equal_sort[a36](cons(x0, x1), cons(x2, x3)) → and(equal_sort[a36](x0, x2), equal_sort[a36](x1, x3))
equal_sort[a36](cons(x0, x1), nil) → false
equal_sort[a36](nil, cons(x0, x1)) → false
equal_sort[a36](nil, nil) → true
equal_sort[a64](witness_sort[a64], witness_sort[a64]) → true
del'(x0, cons(x1, x2))
if2'(true, x0, x1, x2)
if2'(false, x0, x1, x2)
del'(x0, nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, cons(x1, x2))
h(nil)
h(cons(x0, x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
del(x0, nil)
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
max(nil)
equal_bool(true, false)
equal_bool(false, true)
equal_bool(true, true)
equal_bool(false, false)
and(true, x0)
and(false, x0)
or(true, x0)
or(false, x0)
not(false)
not(true)
isa_true(true)
isa_true(false)
isa_false(true)
isa_false(false)
equal_sort[a0](0, 0)
equal_sort[a0](0, s(x0))
equal_sort[a0](s(x0), 0)
equal_sort[a0](s(x0), s(x1))
equal_sort[a36](cons(x0, x1), cons(x2, x3))
equal_sort[a36](cons(x0, x1), nil)
equal_sort[a36](nil, cons(x0, x1))
equal_sort[a36](nil, nil)
equal_sort[a64](witness_sort[a64], witness_sort[a64])
EQUAL_SORT[A36](cons(x0, x1), cons(x2, x3)) → EQUAL_SORT[A36](x1, x3)
EQUAL_SORT[A36](cons(x0, x1), cons(x2, x3)) → EQUAL_SORT[A36](x0, x2)
del'(x0, cons(x1, x2))
if2'(true, x0, x1, x2)
if2'(false, x0, x1, x2)
del'(x0, nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, cons(x1, x2))
h(nil)
h(cons(x0, x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
del(x0, nil)
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
max(nil)
equal_bool(true, false)
equal_bool(false, true)
equal_bool(true, true)
equal_bool(false, false)
and(true, x0)
and(false, x0)
or(true, x0)
or(false, x0)
not(false)
not(true)
isa_true(true)
isa_true(false)
isa_false(true)
isa_false(false)
equal_sort[a0](0, 0)
equal_sort[a0](0, s(x0))
equal_sort[a0](s(x0), 0)
equal_sort[a0](s(x0), s(x1))
equal_sort[a36](cons(x0, x1), cons(x2, x3))
equal_sort[a36](cons(x0, x1), nil)
equal_sort[a36](nil, cons(x0, x1))
equal_sort[a36](nil, nil)
equal_sort[a64](witness_sort[a64], witness_sort[a64])
del'(x0, cons(x1, x2))
if2'(true, x0, x1, x2)
if2'(false, x0, x1, x2)
del'(x0, nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, cons(x1, x2))
h(nil)
h(cons(x0, x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
del(x0, nil)
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
max(nil)
equal_bool(true, false)
equal_bool(false, true)
equal_bool(true, true)
equal_bool(false, false)
and(true, x0)
and(false, x0)
or(true, x0)
or(false, x0)
not(false)
not(true)
isa_true(true)
isa_true(false)
isa_false(true)
isa_false(false)
equal_sort[a0](0, 0)
equal_sort[a0](0, s(x0))
equal_sort[a0](s(x0), 0)
equal_sort[a0](s(x0), s(x1))
equal_sort[a36](cons(x0, x1), cons(x2, x3))
equal_sort[a36](cons(x0, x1), nil)
equal_sort[a36](nil, cons(x0, x1))
equal_sort[a36](nil, nil)
equal_sort[a64](witness_sort[a64], witness_sort[a64])
EQUAL_SORT[A36](cons(x0, x1), cons(x2, x3)) → EQUAL_SORT[A36](x1, x3)
EQUAL_SORT[A36](cons(x0, x1), cons(x2, x3)) → EQUAL_SORT[A36](x0, x2)
From the DPs we obtained the following set of size-change graphs:
EQUAL_SORT[A0](s(x0), s(x1)) → EQUAL_SORT[A0](x0, x1)
del'(x58, cons(y37, xs29)) → if2'(eq(x58, y37), x58, y37, xs29)
if2'(true, x160, y103, xs80) → true
if2'(false, x175, y113, xs88) → del'(x175, xs88)
del'(x190, nil) → false
max(cons(x, nil)) → x
max(cons(x13, cons(y7, xs5))) → if1(ge(x13, y7), x13, y7, xs5)
if1(true, x28, y17, xs13) → max(cons(x28, xs13))
if1(false, x43, y27, xs21) → max(cons(y27, xs21))
del(x58, cons(y37, xs29)) → if2(eq(x58, y37), x58, y37, xs29)
h(nil) → nil
h(cons(x87, xs44)) → cons(x87, h(xs44))
eq(0, 0) → true
eq(0, s(y74)) → false
eq(s(x130), 0) → false
eq(s(x145), s(y93)) → eq(x145, y93)
if2(true, x160, y103, xs80) → xs80
if2(false, x175, y113, xs88) → cons(y113, del(x175, xs88))
del(x190, nil) → nil
ge(0, 0) → true
ge(s(x219), 0) → true
ge(0, s(x234)) → false
ge(s(x249), s(y159)) → ge(x249, y159)
max(nil) → 0
equal_bool(true, false) → false
equal_bool(false, true) → false
equal_bool(true, true) → true
equal_bool(false, false) → true
and(true, x) → x
and(false, x) → false
or(true, x) → true
or(false, x) → x
not(false) → true
not(true) → false
isa_true(true) → true
isa_true(false) → false
isa_false(true) → false
isa_false(false) → true
equal_sort[a0](0, 0) → true
equal_sort[a0](0, s(x0)) → false
equal_sort[a0](s(x0), 0) → false
equal_sort[a0](s(x0), s(x1)) → equal_sort[a0](x0, x1)
equal_sort[a36](cons(x0, x1), cons(x2, x3)) → and(equal_sort[a36](x0, x2), equal_sort[a36](x1, x3))
equal_sort[a36](cons(x0, x1), nil) → false
equal_sort[a36](nil, cons(x0, x1)) → false
equal_sort[a36](nil, nil) → true
equal_sort[a64](witness_sort[a64], witness_sort[a64]) → true
del'(x0, cons(x1, x2))
if2'(true, x0, x1, x2)
if2'(false, x0, x1, x2)
del'(x0, nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, cons(x1, x2))
h(nil)
h(cons(x0, x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
del(x0, nil)
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
max(nil)
equal_bool(true, false)
equal_bool(false, true)
equal_bool(true, true)
equal_bool(false, false)
and(true, x0)
and(false, x0)
or(true, x0)
or(false, x0)
not(false)
not(true)
isa_true(true)
isa_true(false)
isa_false(true)
isa_false(false)
equal_sort[a0](0, 0)
equal_sort[a0](0, s(x0))
equal_sort[a0](s(x0), 0)
equal_sort[a0](s(x0), s(x1))
equal_sort[a36](cons(x0, x1), cons(x2, x3))
equal_sort[a36](cons(x0, x1), nil)
equal_sort[a36](nil, cons(x0, x1))
equal_sort[a36](nil, nil)
equal_sort[a64](witness_sort[a64], witness_sort[a64])
EQUAL_SORT[A0](s(x0), s(x1)) → EQUAL_SORT[A0](x0, x1)
del'(x0, cons(x1, x2))
if2'(true, x0, x1, x2)
if2'(false, x0, x1, x2)
del'(x0, nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, cons(x1, x2))
h(nil)
h(cons(x0, x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
del(x0, nil)
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
max(nil)
equal_bool(true, false)
equal_bool(false, true)
equal_bool(true, true)
equal_bool(false, false)
and(true, x0)
and(false, x0)
or(true, x0)
or(false, x0)
not(false)
not(true)
isa_true(true)
isa_true(false)
isa_false(true)
isa_false(false)
equal_sort[a0](0, 0)
equal_sort[a0](0, s(x0))
equal_sort[a0](s(x0), 0)
equal_sort[a0](s(x0), s(x1))
equal_sort[a36](cons(x0, x1), cons(x2, x3))
equal_sort[a36](cons(x0, x1), nil)
equal_sort[a36](nil, cons(x0, x1))
equal_sort[a36](nil, nil)
equal_sort[a64](witness_sort[a64], witness_sort[a64])
del'(x0, cons(x1, x2))
if2'(true, x0, x1, x2)
if2'(false, x0, x1, x2)
del'(x0, nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, cons(x1, x2))
h(nil)
h(cons(x0, x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
del(x0, nil)
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
max(nil)
equal_bool(true, false)
equal_bool(false, true)
equal_bool(true, true)
equal_bool(false, false)
and(true, x0)
and(false, x0)
or(true, x0)
or(false, x0)
not(false)
not(true)
isa_true(true)
isa_true(false)
isa_false(true)
isa_false(false)
equal_sort[a0](0, 0)
equal_sort[a0](0, s(x0))
equal_sort[a0](s(x0), 0)
equal_sort[a0](s(x0), s(x1))
equal_sort[a36](cons(x0, x1), cons(x2, x3))
equal_sort[a36](cons(x0, x1), nil)
equal_sort[a36](nil, cons(x0, x1))
equal_sort[a36](nil, nil)
equal_sort[a64](witness_sort[a64], witness_sort[a64])
EQUAL_SORT[A0](s(x0), s(x1)) → EQUAL_SORT[A0](x0, x1)
From the DPs we obtained the following set of size-change graphs:
GE(s(x249), s(y159)) → GE(x249, y159)
del'(x58, cons(y37, xs29)) → if2'(eq(x58, y37), x58, y37, xs29)
if2'(true, x160, y103, xs80) → true
if2'(false, x175, y113, xs88) → del'(x175, xs88)
del'(x190, nil) → false
max(cons(x, nil)) → x
max(cons(x13, cons(y7, xs5))) → if1(ge(x13, y7), x13, y7, xs5)
if1(true, x28, y17, xs13) → max(cons(x28, xs13))
if1(false, x43, y27, xs21) → max(cons(y27, xs21))
del(x58, cons(y37, xs29)) → if2(eq(x58, y37), x58, y37, xs29)
h(nil) → nil
h(cons(x87, xs44)) → cons(x87, h(xs44))
eq(0, 0) → true
eq(0, s(y74)) → false
eq(s(x130), 0) → false
eq(s(x145), s(y93)) → eq(x145, y93)
if2(true, x160, y103, xs80) → xs80
if2(false, x175, y113, xs88) → cons(y113, del(x175, xs88))
del(x190, nil) → nil
ge(0, 0) → true
ge(s(x219), 0) → true
ge(0, s(x234)) → false
ge(s(x249), s(y159)) → ge(x249, y159)
max(nil) → 0
equal_bool(true, false) → false
equal_bool(false, true) → false
equal_bool(true, true) → true
equal_bool(false, false) → true
and(true, x) → x
and(false, x) → false
or(true, x) → true
or(false, x) → x
not(false) → true
not(true) → false
isa_true(true) → true
isa_true(false) → false
isa_false(true) → false
isa_false(false) → true
equal_sort[a0](0, 0) → true
equal_sort[a0](0, s(x0)) → false
equal_sort[a0](s(x0), 0) → false
equal_sort[a0](s(x0), s(x1)) → equal_sort[a0](x0, x1)
equal_sort[a36](cons(x0, x1), cons(x2, x3)) → and(equal_sort[a36](x0, x2), equal_sort[a36](x1, x3))
equal_sort[a36](cons(x0, x1), nil) → false
equal_sort[a36](nil, cons(x0, x1)) → false
equal_sort[a36](nil, nil) → true
equal_sort[a64](witness_sort[a64], witness_sort[a64]) → true
del'(x0, cons(x1, x2))
if2'(true, x0, x1, x2)
if2'(false, x0, x1, x2)
del'(x0, nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, cons(x1, x2))
h(nil)
h(cons(x0, x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
del(x0, nil)
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
max(nil)
equal_bool(true, false)
equal_bool(false, true)
equal_bool(true, true)
equal_bool(false, false)
and(true, x0)
and(false, x0)
or(true, x0)
or(false, x0)
not(false)
not(true)
isa_true(true)
isa_true(false)
isa_false(true)
isa_false(false)
equal_sort[a0](0, 0)
equal_sort[a0](0, s(x0))
equal_sort[a0](s(x0), 0)
equal_sort[a0](s(x0), s(x1))
equal_sort[a36](cons(x0, x1), cons(x2, x3))
equal_sort[a36](cons(x0, x1), nil)
equal_sort[a36](nil, cons(x0, x1))
equal_sort[a36](nil, nil)
equal_sort[a64](witness_sort[a64], witness_sort[a64])
GE(s(x249), s(y159)) → GE(x249, y159)
del'(x0, cons(x1, x2))
if2'(true, x0, x1, x2)
if2'(false, x0, x1, x2)
del'(x0, nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, cons(x1, x2))
h(nil)
h(cons(x0, x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
del(x0, nil)
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
max(nil)
equal_bool(true, false)
equal_bool(false, true)
equal_bool(true, true)
equal_bool(false, false)
and(true, x0)
and(false, x0)
or(true, x0)
or(false, x0)
not(false)
not(true)
isa_true(true)
isa_true(false)
isa_false(true)
isa_false(false)
equal_sort[a0](0, 0)
equal_sort[a0](0, s(x0))
equal_sort[a0](s(x0), 0)
equal_sort[a0](s(x0), s(x1))
equal_sort[a36](cons(x0, x1), cons(x2, x3))
equal_sort[a36](cons(x0, x1), nil)
equal_sort[a36](nil, cons(x0, x1))
equal_sort[a36](nil, nil)
equal_sort[a64](witness_sort[a64], witness_sort[a64])
del'(x0, cons(x1, x2))
if2'(true, x0, x1, x2)
if2'(false, x0, x1, x2)
del'(x0, nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, cons(x1, x2))
h(nil)
h(cons(x0, x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
del(x0, nil)
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
max(nil)
equal_bool(true, false)
equal_bool(false, true)
equal_bool(true, true)
equal_bool(false, false)
and(true, x0)
and(false, x0)
or(true, x0)
or(false, x0)
not(false)
not(true)
isa_true(true)
isa_true(false)
isa_false(true)
isa_false(false)
equal_sort[a0](0, 0)
equal_sort[a0](0, s(x0))
equal_sort[a0](s(x0), 0)
equal_sort[a0](s(x0), s(x1))
equal_sort[a36](cons(x0, x1), cons(x2, x3))
equal_sort[a36](cons(x0, x1), nil)
equal_sort[a36](nil, cons(x0, x1))
equal_sort[a36](nil, nil)
equal_sort[a64](witness_sort[a64], witness_sort[a64])
GE(s(x249), s(y159)) → GE(x249, y159)
From the DPs we obtained the following set of size-change graphs:
EQ(s(x145), s(y93)) → EQ(x145, y93)
del'(x58, cons(y37, xs29)) → if2'(eq(x58, y37), x58, y37, xs29)
if2'(true, x160, y103, xs80) → true
if2'(false, x175, y113, xs88) → del'(x175, xs88)
del'(x190, nil) → false
max(cons(x, nil)) → x
max(cons(x13, cons(y7, xs5))) → if1(ge(x13, y7), x13, y7, xs5)
if1(true, x28, y17, xs13) → max(cons(x28, xs13))
if1(false, x43, y27, xs21) → max(cons(y27, xs21))
del(x58, cons(y37, xs29)) → if2(eq(x58, y37), x58, y37, xs29)
h(nil) → nil
h(cons(x87, xs44)) → cons(x87, h(xs44))
eq(0, 0) → true
eq(0, s(y74)) → false
eq(s(x130), 0) → false
eq(s(x145), s(y93)) → eq(x145, y93)
if2(true, x160, y103, xs80) → xs80
if2(false, x175, y113, xs88) → cons(y113, del(x175, xs88))
del(x190, nil) → nil
ge(0, 0) → true
ge(s(x219), 0) → true
ge(0, s(x234)) → false
ge(s(x249), s(y159)) → ge(x249, y159)
max(nil) → 0
equal_bool(true, false) → false
equal_bool(false, true) → false
equal_bool(true, true) → true
equal_bool(false, false) → true
and(true, x) → x
and(false, x) → false
or(true, x) → true
or(false, x) → x
not(false) → true
not(true) → false
isa_true(true) → true
isa_true(false) → false
isa_false(true) → false
isa_false(false) → true
equal_sort[a0](0, 0) → true
equal_sort[a0](0, s(x0)) → false
equal_sort[a0](s(x0), 0) → false
equal_sort[a0](s(x0), s(x1)) → equal_sort[a0](x0, x1)
equal_sort[a36](cons(x0, x1), cons(x2, x3)) → and(equal_sort[a36](x0, x2), equal_sort[a36](x1, x3))
equal_sort[a36](cons(x0, x1), nil) → false
equal_sort[a36](nil, cons(x0, x1)) → false
equal_sort[a36](nil, nil) → true
equal_sort[a64](witness_sort[a64], witness_sort[a64]) → true
del'(x0, cons(x1, x2))
if2'(true, x0, x1, x2)
if2'(false, x0, x1, x2)
del'(x0, nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, cons(x1, x2))
h(nil)
h(cons(x0, x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
del(x0, nil)
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
max(nil)
equal_bool(true, false)
equal_bool(false, true)
equal_bool(true, true)
equal_bool(false, false)
and(true, x0)
and(false, x0)
or(true, x0)
or(false, x0)
not(false)
not(true)
isa_true(true)
isa_true(false)
isa_false(true)
isa_false(false)
equal_sort[a0](0, 0)
equal_sort[a0](0, s(x0))
equal_sort[a0](s(x0), 0)
equal_sort[a0](s(x0), s(x1))
equal_sort[a36](cons(x0, x1), cons(x2, x3))
equal_sort[a36](cons(x0, x1), nil)
equal_sort[a36](nil, cons(x0, x1))
equal_sort[a36](nil, nil)
equal_sort[a64](witness_sort[a64], witness_sort[a64])
EQ(s(x145), s(y93)) → EQ(x145, y93)
del'(x0, cons(x1, x2))
if2'(true, x0, x1, x2)
if2'(false, x0, x1, x2)
del'(x0, nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, cons(x1, x2))
h(nil)
h(cons(x0, x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
del(x0, nil)
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
max(nil)
equal_bool(true, false)
equal_bool(false, true)
equal_bool(true, true)
equal_bool(false, false)
and(true, x0)
and(false, x0)
or(true, x0)
or(false, x0)
not(false)
not(true)
isa_true(true)
isa_true(false)
isa_false(true)
isa_false(false)
equal_sort[a0](0, 0)
equal_sort[a0](0, s(x0))
equal_sort[a0](s(x0), 0)
equal_sort[a0](s(x0), s(x1))
equal_sort[a36](cons(x0, x1), cons(x2, x3))
equal_sort[a36](cons(x0, x1), nil)
equal_sort[a36](nil, cons(x0, x1))
equal_sort[a36](nil, nil)
equal_sort[a64](witness_sort[a64], witness_sort[a64])
del'(x0, cons(x1, x2))
if2'(true, x0, x1, x2)
if2'(false, x0, x1, x2)
del'(x0, nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, cons(x1, x2))
h(nil)
h(cons(x0, x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
del(x0, nil)
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
max(nil)
equal_bool(true, false)
equal_bool(false, true)
equal_bool(true, true)
equal_bool(false, false)
and(true, x0)
and(false, x0)
or(true, x0)
or(false, x0)
not(false)
not(true)
isa_true(true)
isa_true(false)
isa_false(true)
isa_false(false)
equal_sort[a0](0, 0)
equal_sort[a0](0, s(x0))
equal_sort[a0](s(x0), 0)
equal_sort[a0](s(x0), s(x1))
equal_sort[a36](cons(x0, x1), cons(x2, x3))
equal_sort[a36](cons(x0, x1), nil)
equal_sort[a36](nil, cons(x0, x1))
equal_sort[a36](nil, nil)
equal_sort[a64](witness_sort[a64], witness_sort[a64])
EQ(s(x145), s(y93)) → EQ(x145, y93)
From the DPs we obtained the following set of size-change graphs:
H(cons(x87, xs44)) → H(xs44)
del'(x58, cons(y37, xs29)) → if2'(eq(x58, y37), x58, y37, xs29)
if2'(true, x160, y103, xs80) → true
if2'(false, x175, y113, xs88) → del'(x175, xs88)
del'(x190, nil) → false
max(cons(x, nil)) → x
max(cons(x13, cons(y7, xs5))) → if1(ge(x13, y7), x13, y7, xs5)
if1(true, x28, y17, xs13) → max(cons(x28, xs13))
if1(false, x43, y27, xs21) → max(cons(y27, xs21))
del(x58, cons(y37, xs29)) → if2(eq(x58, y37), x58, y37, xs29)
h(nil) → nil
h(cons(x87, xs44)) → cons(x87, h(xs44))
eq(0, 0) → true
eq(0, s(y74)) → false
eq(s(x130), 0) → false
eq(s(x145), s(y93)) → eq(x145, y93)
if2(true, x160, y103, xs80) → xs80
if2(false, x175, y113, xs88) → cons(y113, del(x175, xs88))
del(x190, nil) → nil
ge(0, 0) → true
ge(s(x219), 0) → true
ge(0, s(x234)) → false
ge(s(x249), s(y159)) → ge(x249, y159)
max(nil) → 0
equal_bool(true, false) → false
equal_bool(false, true) → false
equal_bool(true, true) → true
equal_bool(false, false) → true
and(true, x) → x
and(false, x) → false
or(true, x) → true
or(false, x) → x
not(false) → true
not(true) → false
isa_true(true) → true
isa_true(false) → false
isa_false(true) → false
isa_false(false) → true
equal_sort[a0](0, 0) → true
equal_sort[a0](0, s(x0)) → false
equal_sort[a0](s(x0), 0) → false
equal_sort[a0](s(x0), s(x1)) → equal_sort[a0](x0, x1)
equal_sort[a36](cons(x0, x1), cons(x2, x3)) → and(equal_sort[a36](x0, x2), equal_sort[a36](x1, x3))
equal_sort[a36](cons(x0, x1), nil) → false
equal_sort[a36](nil, cons(x0, x1)) → false
equal_sort[a36](nil, nil) → true
equal_sort[a64](witness_sort[a64], witness_sort[a64]) → true
del'(x0, cons(x1, x2))
if2'(true, x0, x1, x2)
if2'(false, x0, x1, x2)
del'(x0, nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, cons(x1, x2))
h(nil)
h(cons(x0, x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
del(x0, nil)
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
max(nil)
equal_bool(true, false)
equal_bool(false, true)
equal_bool(true, true)
equal_bool(false, false)
and(true, x0)
and(false, x0)
or(true, x0)
or(false, x0)
not(false)
not(true)
isa_true(true)
isa_true(false)
isa_false(true)
isa_false(false)
equal_sort[a0](0, 0)
equal_sort[a0](0, s(x0))
equal_sort[a0](s(x0), 0)
equal_sort[a0](s(x0), s(x1))
equal_sort[a36](cons(x0, x1), cons(x2, x3))
equal_sort[a36](cons(x0, x1), nil)
equal_sort[a36](nil, cons(x0, x1))
equal_sort[a36](nil, nil)
equal_sort[a64](witness_sort[a64], witness_sort[a64])
H(cons(x87, xs44)) → H(xs44)
del'(x0, cons(x1, x2))
if2'(true, x0, x1, x2)
if2'(false, x0, x1, x2)
del'(x0, nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, cons(x1, x2))
h(nil)
h(cons(x0, x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
del(x0, nil)
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
max(nil)
equal_bool(true, false)
equal_bool(false, true)
equal_bool(true, true)
equal_bool(false, false)
and(true, x0)
and(false, x0)
or(true, x0)
or(false, x0)
not(false)
not(true)
isa_true(true)
isa_true(false)
isa_false(true)
isa_false(false)
equal_sort[a0](0, 0)
equal_sort[a0](0, s(x0))
equal_sort[a0](s(x0), 0)
equal_sort[a0](s(x0), s(x1))
equal_sort[a36](cons(x0, x1), cons(x2, x3))
equal_sort[a36](cons(x0, x1), nil)
equal_sort[a36](nil, cons(x0, x1))
equal_sort[a36](nil, nil)
equal_sort[a64](witness_sort[a64], witness_sort[a64])
del'(x0, cons(x1, x2))
if2'(true, x0, x1, x2)
if2'(false, x0, x1, x2)
del'(x0, nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, cons(x1, x2))
h(nil)
h(cons(x0, x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
del(x0, nil)
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
max(nil)
equal_bool(true, false)
equal_bool(false, true)
equal_bool(true, true)
equal_bool(false, false)
and(true, x0)
and(false, x0)
or(true, x0)
or(false, x0)
not(false)
not(true)
isa_true(true)
isa_true(false)
isa_false(true)
isa_false(false)
equal_sort[a0](0, 0)
equal_sort[a0](0, s(x0))
equal_sort[a0](s(x0), 0)
equal_sort[a0](s(x0), s(x1))
equal_sort[a36](cons(x0, x1), cons(x2, x3))
equal_sort[a36](cons(x0, x1), nil)
equal_sort[a36](nil, cons(x0, x1))
equal_sort[a36](nil, nil)
equal_sort[a64](witness_sort[a64], witness_sort[a64])
H(cons(x87, xs44)) → H(xs44)
From the DPs we obtained the following set of size-change graphs:
IF2(false, x175, y113, xs88) → DEL(x175, xs88)
DEL(x58, cons(y37, xs29)) → IF2(eq(x58, y37), x58, y37, xs29)
del'(x58, cons(y37, xs29)) → if2'(eq(x58, y37), x58, y37, xs29)
if2'(true, x160, y103, xs80) → true
if2'(false, x175, y113, xs88) → del'(x175, xs88)
del'(x190, nil) → false
max(cons(x, nil)) → x
max(cons(x13, cons(y7, xs5))) → if1(ge(x13, y7), x13, y7, xs5)
if1(true, x28, y17, xs13) → max(cons(x28, xs13))
if1(false, x43, y27, xs21) → max(cons(y27, xs21))
del(x58, cons(y37, xs29)) → if2(eq(x58, y37), x58, y37, xs29)
h(nil) → nil
h(cons(x87, xs44)) → cons(x87, h(xs44))
eq(0, 0) → true
eq(0, s(y74)) → false
eq(s(x130), 0) → false
eq(s(x145), s(y93)) → eq(x145, y93)
if2(true, x160, y103, xs80) → xs80
if2(false, x175, y113, xs88) → cons(y113, del(x175, xs88))
del(x190, nil) → nil
ge(0, 0) → true
ge(s(x219), 0) → true
ge(0, s(x234)) → false
ge(s(x249), s(y159)) → ge(x249, y159)
max(nil) → 0
equal_bool(true, false) → false
equal_bool(false, true) → false
equal_bool(true, true) → true
equal_bool(false, false) → true
and(true, x) → x
and(false, x) → false
or(true, x) → true
or(false, x) → x
not(false) → true
not(true) → false
isa_true(true) → true
isa_true(false) → false
isa_false(true) → false
isa_false(false) → true
equal_sort[a0](0, 0) → true
equal_sort[a0](0, s(x0)) → false
equal_sort[a0](s(x0), 0) → false
equal_sort[a0](s(x0), s(x1)) → equal_sort[a0](x0, x1)
equal_sort[a36](cons(x0, x1), cons(x2, x3)) → and(equal_sort[a36](x0, x2), equal_sort[a36](x1, x3))
equal_sort[a36](cons(x0, x1), nil) → false
equal_sort[a36](nil, cons(x0, x1)) → false
equal_sort[a36](nil, nil) → true
equal_sort[a64](witness_sort[a64], witness_sort[a64]) → true
del'(x0, cons(x1, x2))
if2'(true, x0, x1, x2)
if2'(false, x0, x1, x2)
del'(x0, nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, cons(x1, x2))
h(nil)
h(cons(x0, x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
del(x0, nil)
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
max(nil)
equal_bool(true, false)
equal_bool(false, true)
equal_bool(true, true)
equal_bool(false, false)
and(true, x0)
and(false, x0)
or(true, x0)
or(false, x0)
not(false)
not(true)
isa_true(true)
isa_true(false)
isa_false(true)
isa_false(false)
equal_sort[a0](0, 0)
equal_sort[a0](0, s(x0))
equal_sort[a0](s(x0), 0)
equal_sort[a0](s(x0), s(x1))
equal_sort[a36](cons(x0, x1), cons(x2, x3))
equal_sort[a36](cons(x0, x1), nil)
equal_sort[a36](nil, cons(x0, x1))
equal_sort[a36](nil, nil)
equal_sort[a64](witness_sort[a64], witness_sort[a64])
IF2(false, x175, y113, xs88) → DEL(x175, xs88)
DEL(x58, cons(y37, xs29)) → IF2(eq(x58, y37), x58, y37, xs29)
eq(0, 0) → true
eq(0, s(y74)) → false
eq(s(x130), 0) → false
eq(s(x145), s(y93)) → eq(x145, y93)
del'(x0, cons(x1, x2))
if2'(true, x0, x1, x2)
if2'(false, x0, x1, x2)
del'(x0, nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, cons(x1, x2))
h(nil)
h(cons(x0, x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
del(x0, nil)
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
max(nil)
equal_bool(true, false)
equal_bool(false, true)
equal_bool(true, true)
equal_bool(false, false)
and(true, x0)
and(false, x0)
or(true, x0)
or(false, x0)
not(false)
not(true)
isa_true(true)
isa_true(false)
isa_false(true)
isa_false(false)
equal_sort[a0](0, 0)
equal_sort[a0](0, s(x0))
equal_sort[a0](s(x0), 0)
equal_sort[a0](s(x0), s(x1))
equal_sort[a36](cons(x0, x1), cons(x2, x3))
equal_sort[a36](cons(x0, x1), nil)
equal_sort[a36](nil, cons(x0, x1))
equal_sort[a36](nil, nil)
equal_sort[a64](witness_sort[a64], witness_sort[a64])
del'(x0, cons(x1, x2))
if2'(true, x0, x1, x2)
if2'(false, x0, x1, x2)
del'(x0, nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, cons(x1, x2))
h(nil)
h(cons(x0, x1))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
del(x0, nil)
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
max(nil)
equal_bool(true, false)
equal_bool(false, true)
equal_bool(true, true)
equal_bool(false, false)
and(true, x0)
and(false, x0)
or(true, x0)
or(false, x0)
not(false)
not(true)
isa_true(true)
isa_true(false)
isa_false(true)
isa_false(false)
equal_sort[a0](0, 0)
equal_sort[a0](0, s(x0))
equal_sort[a0](s(x0), 0)
equal_sort[a0](s(x0), s(x1))
equal_sort[a36](cons(x0, x1), cons(x2, x3))
equal_sort[a36](cons(x0, x1), nil)
equal_sort[a36](nil, cons(x0, x1))
equal_sort[a36](nil, nil)
equal_sort[a64](witness_sort[a64], witness_sort[a64])
IF2(false, x175, y113, xs88) → DEL(x175, xs88)
DEL(x58, cons(y37, xs29)) → IF2(eq(x58, y37), x58, y37, xs29)
eq(0, 0) → true
eq(0, s(y74)) → false
eq(s(x130), 0) → false
eq(s(x145), s(y93)) → eq(x145, y93)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
From the DPs we obtained the following set of size-change graphs:
IF1(true, x28, y17, xs13) → MAX(cons(x28, xs13))
MAX(cons(x13, cons(y7, xs5))) → IF1(ge(x13, y7), x13, y7, xs5)
IF1(false, x43, y27, xs21) → MAX(cons(y27, xs21))
del'(x58, cons(y37, xs29)) → if2'(eq(x58, y37), x58, y37, xs29)
if2'(true, x160, y103, xs80) → true
if2'(false, x175, y113, xs88) → del'(x175, xs88)
del'(x190, nil) → false
max(cons(x, nil)) → x
max(cons(x13, cons(y7, xs5))) → if1(ge(x13, y7), x13, y7, xs5)
if1(true, x28, y17, xs13) → max(cons(x28, xs13))
if1(false, x43, y27, xs21) → max(cons(y27, xs21))
del(x58, cons(y37, xs29)) → if2(eq(x58, y37), x58, y37, xs29)
h(nil) → nil
h(cons(x87, xs44)) → cons(x87, h(xs44))
eq(0, 0) → true
eq(0, s(y74)) → false
eq(s(x130), 0) → false
eq(s(x145), s(y93)) → eq(x145, y93)
if2(true, x160, y103, xs80) → xs80
if2(false, x175, y113, xs88) → cons(y113, del(x175, xs88))
del(x190, nil) → nil
ge(0, 0) → true
ge(s(x219), 0) → true
ge(0, s(x234)) → false
ge(s(x249), s(y159)) → ge(x249, y159)
max(nil) → 0
equal_bool(true, false) → false
equal_bool(false, true) → false
equal_bool(true, true) → true
equal_bool(false, false) → true
and(true, x) → x
and(false, x) → false
or(true, x) → true
or(false, x) → x
not(false) → true
not(true) → false
isa_true(true) → true
isa_true(false) → false
isa_false(true) → false
isa_false(false) → true
equal_sort[a0](0, 0) → true
equal_sort[a0](0, s(x0)) → false
equal_sort[a0](s(x0), 0) → false
equal_sort[a0](s(x0), s(x1)) → equal_sort[a0](x0, x1)
equal_sort[a36](cons(x0, x1), cons(x2, x3)) → and(equal_sort[a36](x0, x2), equal_sort[a36](x1, x3))
equal_sort[a36](cons(x0, x1), nil) → false
equal_sort[a36](nil, cons(x0, x1)) → false
equal_sort[a36](nil, nil) → true
equal_sort[a64](witness_sort[a64], witness_sort[a64]) → true
del'(x0, cons(x1, x2))
if2'(true, x0, x1, x2)
if2'(false, x0, x1, x2)
del'(x0, nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, cons(x1, x2))
h(nil)
h(cons(x0, x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
del(x0, nil)
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
max(nil)
equal_bool(true, false)
equal_bool(false, true)
equal_bool(true, true)
equal_bool(false, false)
and(true, x0)
and(false, x0)
or(true, x0)
or(false, x0)
not(false)
not(true)
isa_true(true)
isa_true(false)
isa_false(true)
isa_false(false)
equal_sort[a0](0, 0)
equal_sort[a0](0, s(x0))
equal_sort[a0](s(x0), 0)
equal_sort[a0](s(x0), s(x1))
equal_sort[a36](cons(x0, x1), cons(x2, x3))
equal_sort[a36](cons(x0, x1), nil)
equal_sort[a36](nil, cons(x0, x1))
equal_sort[a36](nil, nil)
equal_sort[a64](witness_sort[a64], witness_sort[a64])
IF1(true, x28, y17, xs13) → MAX(cons(x28, xs13))
MAX(cons(x13, cons(y7, xs5))) → IF1(ge(x13, y7), x13, y7, xs5)
IF1(false, x43, y27, xs21) → MAX(cons(y27, xs21))
ge(0, 0) → true
ge(s(x219), 0) → true
ge(0, s(x234)) → false
ge(s(x249), s(y159)) → ge(x249, y159)
del'(x0, cons(x1, x2))
if2'(true, x0, x1, x2)
if2'(false, x0, x1, x2)
del'(x0, nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, cons(x1, x2))
h(nil)
h(cons(x0, x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
del(x0, nil)
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
max(nil)
equal_bool(true, false)
equal_bool(false, true)
equal_bool(true, true)
equal_bool(false, false)
and(true, x0)
and(false, x0)
or(true, x0)
or(false, x0)
not(false)
not(true)
isa_true(true)
isa_true(false)
isa_false(true)
isa_false(false)
equal_sort[a0](0, 0)
equal_sort[a0](0, s(x0))
equal_sort[a0](s(x0), 0)
equal_sort[a0](s(x0), s(x1))
equal_sort[a36](cons(x0, x1), cons(x2, x3))
equal_sort[a36](cons(x0, x1), nil)
equal_sort[a36](nil, cons(x0, x1))
equal_sort[a36](nil, nil)
equal_sort[a64](witness_sort[a64], witness_sort[a64])
del'(x0, cons(x1, x2))
if2'(true, x0, x1, x2)
if2'(false, x0, x1, x2)
del'(x0, nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, cons(x1, x2))
h(nil)
h(cons(x0, x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
del(x0, nil)
max(nil)
equal_bool(true, false)
equal_bool(false, true)
equal_bool(true, true)
equal_bool(false, false)
and(true, x0)
and(false, x0)
or(true, x0)
or(false, x0)
not(false)
not(true)
isa_true(true)
isa_true(false)
isa_false(true)
isa_false(false)
equal_sort[a0](0, 0)
equal_sort[a0](0, s(x0))
equal_sort[a0](s(x0), 0)
equal_sort[a0](s(x0), s(x1))
equal_sort[a36](cons(x0, x1), cons(x2, x3))
equal_sort[a36](cons(x0, x1), nil)
equal_sort[a36](nil, cons(x0, x1))
equal_sort[a36](nil, nil)
equal_sort[a64](witness_sort[a64], witness_sort[a64])
IF1(true, x28, y17, xs13) → MAX(cons(x28, xs13))
MAX(cons(x13, cons(y7, xs5))) → IF1(ge(x13, y7), x13, y7, xs5)
IF1(false, x43, y27, xs21) → MAX(cons(y27, xs21))
ge(0, 0) → true
ge(s(x219), 0) → true
ge(0, s(x234)) → false
ge(s(x249), s(y159)) → ge(x249, y159)
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MAX(cons(x13, cons(y7, xs5))) → IF1(ge(x13, y7), x13, y7, xs5)
POL(0) = 0
POL(IF1(x1, x2, x3, x4)) = 1 + x2 + x3 + x4
POL(MAX(x1)) = x1
POL(cons(x1, x2)) = 1 + x1 + x2
POL(false) = 0
POL(ge(x1, x2)) = 0
POL(s(x1)) = 0
POL(true) = 0
IF1(true, x28, y17, xs13) → MAX(cons(x28, xs13))
IF1(false, x43, y27, xs21) → MAX(cons(y27, xs21))
ge(0, 0) → true
ge(s(x219), 0) → true
ge(0, s(x234)) → false
ge(s(x249), s(y159)) → ge(x249, y159)
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
IF2'(false, x175, y113, xs88) → DEL'(x175, xs88)
DEL'(x58, cons(y37, xs29)) → IF2'(eq(x58, y37), x58, y37, xs29)
del'(x58, cons(y37, xs29)) → if2'(eq(x58, y37), x58, y37, xs29)
if2'(true, x160, y103, xs80) → true
if2'(false, x175, y113, xs88) → del'(x175, xs88)
del'(x190, nil) → false
max(cons(x, nil)) → x
max(cons(x13, cons(y7, xs5))) → if1(ge(x13, y7), x13, y7, xs5)
if1(true, x28, y17, xs13) → max(cons(x28, xs13))
if1(false, x43, y27, xs21) → max(cons(y27, xs21))
del(x58, cons(y37, xs29)) → if2(eq(x58, y37), x58, y37, xs29)
h(nil) → nil
h(cons(x87, xs44)) → cons(x87, h(xs44))
eq(0, 0) → true
eq(0, s(y74)) → false
eq(s(x130), 0) → false
eq(s(x145), s(y93)) → eq(x145, y93)
if2(true, x160, y103, xs80) → xs80
if2(false, x175, y113, xs88) → cons(y113, del(x175, xs88))
del(x190, nil) → nil
ge(0, 0) → true
ge(s(x219), 0) → true
ge(0, s(x234)) → false
ge(s(x249), s(y159)) → ge(x249, y159)
max(nil) → 0
equal_bool(true, false) → false
equal_bool(false, true) → false
equal_bool(true, true) → true
equal_bool(false, false) → true
and(true, x) → x
and(false, x) → false
or(true, x) → true
or(false, x) → x
not(false) → true
not(true) → false
isa_true(true) → true
isa_true(false) → false
isa_false(true) → false
isa_false(false) → true
equal_sort[a0](0, 0) → true
equal_sort[a0](0, s(x0)) → false
equal_sort[a0](s(x0), 0) → false
equal_sort[a0](s(x0), s(x1)) → equal_sort[a0](x0, x1)
equal_sort[a36](cons(x0, x1), cons(x2, x3)) → and(equal_sort[a36](x0, x2), equal_sort[a36](x1, x3))
equal_sort[a36](cons(x0, x1), nil) → false
equal_sort[a36](nil, cons(x0, x1)) → false
equal_sort[a36](nil, nil) → true
equal_sort[a64](witness_sort[a64], witness_sort[a64]) → true
del'(x0, cons(x1, x2))
if2'(true, x0, x1, x2)
if2'(false, x0, x1, x2)
del'(x0, nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, cons(x1, x2))
h(nil)
h(cons(x0, x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
del(x0, nil)
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
max(nil)
equal_bool(true, false)
equal_bool(false, true)
equal_bool(true, true)
equal_bool(false, false)
and(true, x0)
and(false, x0)
or(true, x0)
or(false, x0)
not(false)
not(true)
isa_true(true)
isa_true(false)
isa_false(true)
isa_false(false)
equal_sort[a0](0, 0)
equal_sort[a0](0, s(x0))
equal_sort[a0](s(x0), 0)
equal_sort[a0](s(x0), s(x1))
equal_sort[a36](cons(x0, x1), cons(x2, x3))
equal_sort[a36](cons(x0, x1), nil)
equal_sort[a36](nil, cons(x0, x1))
equal_sort[a36](nil, nil)
equal_sort[a64](witness_sort[a64], witness_sort[a64])
IF2'(false, x175, y113, xs88) → DEL'(x175, xs88)
DEL'(x58, cons(y37, xs29)) → IF2'(eq(x58, y37), x58, y37, xs29)
eq(0, 0) → true
eq(0, s(y74)) → false
eq(s(x130), 0) → false
eq(s(x145), s(y93)) → eq(x145, y93)
del'(x0, cons(x1, x2))
if2'(true, x0, x1, x2)
if2'(false, x0, x1, x2)
del'(x0, nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, cons(x1, x2))
h(nil)
h(cons(x0, x1))
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
del(x0, nil)
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
max(nil)
equal_bool(true, false)
equal_bool(false, true)
equal_bool(true, true)
equal_bool(false, false)
and(true, x0)
and(false, x0)
or(true, x0)
or(false, x0)
not(false)
not(true)
isa_true(true)
isa_true(false)
isa_false(true)
isa_false(false)
equal_sort[a0](0, 0)
equal_sort[a0](0, s(x0))
equal_sort[a0](s(x0), 0)
equal_sort[a0](s(x0), s(x1))
equal_sort[a36](cons(x0, x1), cons(x2, x3))
equal_sort[a36](cons(x0, x1), nil)
equal_sort[a36](nil, cons(x0, x1))
equal_sort[a36](nil, nil)
equal_sort[a64](witness_sort[a64], witness_sort[a64])
del'(x0, cons(x1, x2))
if2'(true, x0, x1, x2)
if2'(false, x0, x1, x2)
del'(x0, nil)
max(cons(x0, nil))
max(cons(x0, cons(x1, x2)))
if1(true, x0, x1, x2)
if1(false, x0, x1, x2)
del(x0, cons(x1, x2))
h(nil)
h(cons(x0, x1))
if2(true, x0, x1, x2)
if2(false, x0, x1, x2)
del(x0, nil)
ge(0, 0)
ge(s(x0), 0)
ge(0, s(x0))
ge(s(x0), s(x1))
max(nil)
equal_bool(true, false)
equal_bool(false, true)
equal_bool(true, true)
equal_bool(false, false)
and(true, x0)
and(false, x0)
or(true, x0)
or(false, x0)
not(false)
not(true)
isa_true(true)
isa_true(false)
isa_false(true)
isa_false(false)
equal_sort[a0](0, 0)
equal_sort[a0](0, s(x0))
equal_sort[a0](s(x0), 0)
equal_sort[a0](s(x0), s(x1))
equal_sort[a36](cons(x0, x1), cons(x2, x3))
equal_sort[a36](cons(x0, x1), nil)
equal_sort[a36](nil, cons(x0, x1))
equal_sort[a36](nil, nil)
equal_sort[a64](witness_sort[a64], witness_sort[a64])
IF2'(false, x175, y113, xs88) → DEL'(x175, xs88)
DEL'(x58, cons(y37, xs29)) → IF2'(eq(x58, y37), x58, y37, xs29)
eq(0, 0) → true
eq(0, s(y74)) → false
eq(s(x130), 0) → false
eq(s(x145), s(y93)) → eq(x145, y93)
eq(0, 0)
eq(0, s(x0))
eq(s(x0), 0)
eq(s(x0), s(x1))
From the DPs we obtained the following set of size-change graphs: