YES Problem: min(x,0()) -> 0() min(0(),y) -> 0() min(s(x),s(y)) -> s(min(x,y)) max(x,0()) -> x max(0(),y) -> y max(s(x),s(y)) -> s(max(x,y)) minus(x,0()) -> x minus(s(x),s(y)) -> s(minus(x,y)) gcd(s(x),s(y)) -> gcd(minus(max(x,y),min(x,transform(y))),s(min(x,y))) transform(x) -> s(s(x)) transform(cons(x,y)) -> cons(cons(x,x),x) transform(cons(x,y)) -> y transform(s(x)) -> s(s(transform(x))) cons(x,y) -> y cons(x,cons(y,s(z))) -> cons(y,x) cons(cons(x,z),s(y)) -> transform(x) Proof: DP Processor: DPs: min#(s(x),s(y)) -> min#(x,y) max#(s(x),s(y)) -> max#(x,y) minus#(s(x),s(y)) -> minus#(x,y) gcd#(s(x),s(y)) -> min#(x,y) gcd#(s(x),s(y)) -> transform#(y) gcd#(s(x),s(y)) -> min#(x,transform(y)) gcd#(s(x),s(y)) -> max#(x,y) gcd#(s(x),s(y)) -> minus#(max(x,y),min(x,transform(y))) gcd#(s(x),s(y)) -> gcd#(minus(max(x,y),min(x,transform(y))),s(min(x,y))) transform#(cons(x,y)) -> cons#(x,x) transform#(cons(x,y)) -> cons#(cons(x,x),x) transform#(s(x)) -> transform#(x) cons#(x,cons(y,s(z))) -> cons#(y,x) cons#(cons(x,z),s(y)) -> transform#(x) TRS: min(x,0()) -> 0() min(0(),y) -> 0() min(s(x),s(y)) -> s(min(x,y)) max(x,0()) -> x max(0(),y) -> y max(s(x),s(y)) -> s(max(x,y)) minus(x,0()) -> x minus(s(x),s(y)) -> s(minus(x,y)) gcd(s(x),s(y)) -> gcd(minus(max(x,y),min(x,transform(y))),s(min(x,y))) transform(x) -> s(s(x)) transform(cons(x,y)) -> cons(cons(x,x),x) transform(cons(x,y)) -> y transform(s(x)) -> s(s(transform(x))) cons(x,y) -> y cons(x,cons(y,s(z))) -> cons(y,x) cons(cons(x,z),s(y)) -> transform(x) TDG Processor: DPs: min#(s(x),s(y)) -> min#(x,y) max#(s(x),s(y)) -> max#(x,y) minus#(s(x),s(y)) -> minus#(x,y) gcd#(s(x),s(y)) -> min#(x,y) gcd#(s(x),s(y)) -> transform#(y) gcd#(s(x),s(y)) -> min#(x,transform(y)) gcd#(s(x),s(y)) -> max#(x,y) gcd#(s(x),s(y)) -> minus#(max(x,y),min(x,transform(y))) gcd#(s(x),s(y)) -> gcd#(minus(max(x,y),min(x,transform(y))),s(min(x,y))) transform#(cons(x,y)) -> cons#(x,x) transform#(cons(x,y)) -> cons#(cons(x,x),x) transform#(s(x)) -> transform#(x) cons#(x,cons(y,s(z))) -> cons#(y,x) cons#(cons(x,z),s(y)) -> transform#(x) TRS: min(x,0()) -> 0() min(0(),y) -> 0() min(s(x),s(y)) -> s(min(x,y)) max(x,0()) -> x max(0(),y) -> y max(s(x),s(y)) -> s(max(x,y)) minus(x,0()) -> x minus(s(x),s(y)) -> s(minus(x,y)) gcd(s(x),s(y)) -> gcd(minus(max(x,y),min(x,transform(y))),s(min(x,y))) transform(x) -> s(s(x)) transform(cons(x,y)) -> cons(cons(x,x),x) transform(cons(x,y)) -> y transform(s(x)) -> s(s(transform(x))) cons(x,y) -> y cons(x,cons(y,s(z))) -> cons(y,x) cons(cons(x,z),s(y)) -> transform(x) graph: cons#(cons(x,z),s(y)) -> transform#(x) -> transform#(s(x)) -> transform#(x) cons#(cons(x,z),s(y)) -> transform#(x) -> transform#(cons(x,y)) -> cons#(cons(x,x),x) cons#(cons(x,z),s(y)) -> transform#(x) -> transform#(cons(x,y)) -> cons#(x,x) cons#(x,cons(y,s(z))) -> cons#(y,x) -> cons#(cons(x,z),s(y)) -> transform#(x) cons#(x,cons(y,s(z))) -> cons#(y,x) -> cons#(x,cons(y,s(z))) -> cons#(y,x) transform#(cons(x,y)) -> cons#(cons(x,x),x) -> cons#(cons(x,z),s(y)) -> transform#(x) transform#(cons(x,y)) -> cons#(cons(x,x),x) -> cons#(x,cons(y,s(z))) -> cons#(y,x) transform#(cons(x,y)) -> cons#(x,x) -> cons#(cons(x,z),s(y)) -> transform#(x) transform#(cons(x,y)) -> cons#(x,x) -> cons#(x,cons(y,s(z))) -> cons#(y,x) transform#(s(x)) -> transform#(x) -> transform#(s(x)) -> transform#(x) transform#(s(x)) -> transform#(x) -> transform#(cons(x,y)) -> cons#(cons(x,x),x) transform#(s(x)) -> transform#(x) -> transform#(cons(x,y)) -> cons#(x,x) gcd#(s(x),s(y)) -> transform#(y) -> transform#(s(x)) -> transform#(x) gcd#(s(x),s(y)) -> transform#(y) -> transform#(cons(x,y)) -> cons#(cons(x,x),x) gcd#(s(x),s(y)) -> transform#(y) -> transform#(cons(x,y)) -> cons#(x,x) gcd#(s(x),s(y)) -> gcd#(minus(max(x,y),min(x,transform(y))),s(min(x,y))) -> gcd#(s(x),s(y)) -> gcd#(minus(max(x,y),min(x,transform(y))),s(min(x,y))) gcd#(s(x),s(y)) -> gcd#(minus(max(x,y),min(x,transform(y))),s(min(x,y))) -> gcd#(s(x),s(y)) -> minus#(max(x,y),min(x,transform(y))) gcd#(s(x),s(y)) -> gcd#(minus(max(x,y),min(x,transform(y))),s(min(x,y))) -> gcd#(s(x),s(y)) -> max#(x,y) gcd#(s(x),s(y)) -> gcd#(minus(max(x,y),min(x,transform(y))),s(min(x,y))) -> gcd#(s(x),s(y)) -> min#(x,transform(y)) gcd#(s(x),s(y)) -> gcd#(minus(max(x,y),min(x,transform(y))),s(min(x,y))) -> gcd#(s(x),s(y)) -> transform#(y) gcd#(s(x),s(y)) -> gcd#(minus(max(x,y),min(x,transform(y))),s(min(x,y))) -> gcd#(s(x),s(y)) -> min#(x,y) gcd#(s(x),s(y)) -> minus#(max(x,y),min(x,transform(y))) -> minus#(s(x),s(y)) -> minus#(x,y) gcd#(s(x),s(y)) -> max#(x,y) -> max#(s(x),s(y)) -> max#(x,y) gcd#(s(x),s(y)) -> min#(x,transform(y)) -> min#(s(x),s(y)) -> min#(x,y) gcd#(s(x),s(y)) -> min#(x,y) -> min#(s(x),s(y)) -> min#(x,y) minus#(s(x),s(y)) -> minus#(x,y) -> minus#(s(x),s(y)) -> minus#(x,y) max#(s(x),s(y)) -> max#(x,y) -> max#(s(x),s(y)) -> max#(x,y) min#(s(x),s(y)) -> min#(x,y) -> min#(s(x),s(y)) -> min#(x,y) SCC Processor: #sccs: 5 #rules: 9 #arcs: 28/196 DPs: gcd#(s(x),s(y)) -> gcd#(minus(max(x,y),min(x,transform(y))),s(min(x,y))) TRS: min(x,0()) -> 0() min(0(),y) -> 0() min(s(x),s(y)) -> s(min(x,y)) max(x,0()) -> x max(0(),y) -> y max(s(x),s(y)) -> s(max(x,y)) minus(x,0()) -> x minus(s(x),s(y)) -> s(minus(x,y)) gcd(s(x),s(y)) -> gcd(minus(max(x,y),min(x,transform(y))),s(min(x,y))) transform(x) -> s(s(x)) transform(cons(x,y)) -> cons(cons(x,x),x) transform(cons(x,y)) -> y transform(s(x)) -> s(s(transform(x))) cons(x,y) -> y cons(x,cons(y,s(z))) -> cons(y,x) cons(cons(x,z),s(y)) -> transform(x) Usable Rule Processor: DPs: gcd#(s(x),s(y)) -> gcd#(minus(max(x,y),min(x,transform(y))),s(min(x,y))) TRS: min(x,0()) -> 0() min(0(),y) -> 0() min(s(x),s(y)) -> s(min(x,y)) transform(x) -> s(s(x)) transform(cons(x,y)) -> cons(cons(x,x),x) transform(cons(x,y)) -> y transform(s(x)) -> s(s(transform(x))) cons(x,y) -> y cons(x,cons(y,s(z))) -> cons(y,x) cons(cons(x,z),s(y)) -> transform(x) max(x,0()) -> x max(0(),y) -> y max(s(x),s(y)) -> s(max(x,y)) minus(x,0()) -> x minus(s(x),s(y)) -> s(minus(x,y)) Matrix Interpretation Processor: dim=1 usable rules: min(x,0()) -> 0() min(0(),y) -> 0() min(s(x),s(y)) -> s(min(x,y)) max(x,0()) -> x max(0(),y) -> y max(s(x),s(y)) -> s(max(x,y)) minus(x,0()) -> x minus(s(x),s(y)) -> s(minus(x,y)) interpretation: [gcd#](x0, x1) = 4x0 + 2x1 + 1, [cons](x0, x1) = 2x0, [transform](x0) = 0, [minus](x0, x1) = 2x0, [max](x0, x1) = x0 + x1, [s](x0) = 4x0 + 4, [min](x0, x1) = x0, [0] = 0 orientation: gcd#(s(x),s(y)) = 16x + 8y + 25 >= 16x + 8y + 9 = gcd#(minus(max(x,y),min(x,transform(y))),s(min(x,y))) min(x,0()) = x >= 0 = 0() min(0(),y) = 0 >= 0 = 0() min(s(x),s(y)) = 4x + 4 >= 4x + 4 = s(min(x,y)) transform(x) = 0 >= 16x + 20 = s(s(x)) transform(cons(x,y)) = 0 >= 4x = cons(cons(x,x),x) transform(cons(x,y)) = 0 >= y = y transform(s(x)) = 0 >= 20 = s(s(transform(x))) cons(x,y) = 2x >= y = y cons(x,cons(y,s(z))) = 2x >= 2y = cons(y,x) cons(cons(x,z),s(y)) = 4x >= 0 = transform(x) max(x,0()) = x >= x = x max(0(),y) = y >= y = y max(s(x),s(y)) = 4x + 4y + 8 >= 4x + 4y + 4 = s(max(x,y)) minus(x,0()) = 2x >= x = x minus(s(x),s(y)) = 8x + 8 >= 8x + 4 = s(minus(x,y)) problem: DPs: TRS: min(x,0()) -> 0() min(0(),y) -> 0() min(s(x),s(y)) -> s(min(x,y)) transform(x) -> s(s(x)) transform(cons(x,y)) -> cons(cons(x,x),x) transform(cons(x,y)) -> y transform(s(x)) -> s(s(transform(x))) cons(x,y) -> y cons(x,cons(y,s(z))) -> cons(y,x) cons(cons(x,z),s(y)) -> transform(x) max(x,0()) -> x max(0(),y) -> y max(s(x),s(y)) -> s(max(x,y)) minus(x,0()) -> x minus(s(x),s(y)) -> s(minus(x,y)) Qed DPs: minus#(s(x),s(y)) -> minus#(x,y) TRS: min(x,0()) -> 0() min(0(),y) -> 0() min(s(x),s(y)) -> s(min(x,y)) max(x,0()) -> x max(0(),y) -> y max(s(x),s(y)) -> s(max(x,y)) minus(x,0()) -> x minus(s(x),s(y)) -> s(minus(x,y)) gcd(s(x),s(y)) -> gcd(minus(max(x,y),min(x,transform(y))),s(min(x,y))) transform(x) -> s(s(x)) transform(cons(x,y)) -> cons(cons(x,x),x) transform(cons(x,y)) -> y transform(s(x)) -> s(s(transform(x))) cons(x,y) -> y cons(x,cons(y,s(z))) -> cons(y,x) cons(cons(x,z),s(y)) -> transform(x) Subterm Criterion Processor: simple projection: pi(minus#) = 0 problem: DPs: TRS: min(x,0()) -> 0() min(0(),y) -> 0() min(s(x),s(y)) -> s(min(x,y)) max(x,0()) -> x max(0(),y) -> y max(s(x),s(y)) -> s(max(x,y)) minus(x,0()) -> x minus(s(x),s(y)) -> s(minus(x,y)) gcd(s(x),s(y)) -> gcd(minus(max(x,y),min(x,transform(y))),s(min(x,y))) transform(x) -> s(s(x)) transform(cons(x,y)) -> cons(cons(x,x),x) transform(cons(x,y)) -> y transform(s(x)) -> s(s(transform(x))) cons(x,y) -> y cons(x,cons(y,s(z))) -> cons(y,x) cons(cons(x,z),s(y)) -> transform(x) Qed DPs: max#(s(x),s(y)) -> max#(x,y) TRS: min(x,0()) -> 0() min(0(),y) -> 0() min(s(x),s(y)) -> s(min(x,y)) max(x,0()) -> x max(0(),y) -> y max(s(x),s(y)) -> s(max(x,y)) minus(x,0()) -> x minus(s(x),s(y)) -> s(minus(x,y)) gcd(s(x),s(y)) -> gcd(minus(max(x,y),min(x,transform(y))),s(min(x,y))) transform(x) -> s(s(x)) transform(cons(x,y)) -> cons(cons(x,x),x) transform(cons(x,y)) -> y transform(s(x)) -> s(s(transform(x))) cons(x,y) -> y cons(x,cons(y,s(z))) -> cons(y,x) cons(cons(x,z),s(y)) -> transform(x) Subterm Criterion Processor: simple projection: pi(max#) = 0 problem: DPs: TRS: min(x,0()) -> 0() min(0(),y) -> 0() min(s(x),s(y)) -> s(min(x,y)) max(x,0()) -> x max(0(),y) -> y max(s(x),s(y)) -> s(max(x,y)) minus(x,0()) -> x minus(s(x),s(y)) -> s(minus(x,y)) gcd(s(x),s(y)) -> gcd(minus(max(x,y),min(x,transform(y))),s(min(x,y))) transform(x) -> s(s(x)) transform(cons(x,y)) -> cons(cons(x,x),x) transform(cons(x,y)) -> y transform(s(x)) -> s(s(transform(x))) cons(x,y) -> y cons(x,cons(y,s(z))) -> cons(y,x) cons(cons(x,z),s(y)) -> transform(x) Qed DPs: min#(s(x),s(y)) -> min#(x,y) TRS: min(x,0()) -> 0() min(0(),y) -> 0() min(s(x),s(y)) -> s(min(x,y)) max(x,0()) -> x max(0(),y) -> y max(s(x),s(y)) -> s(max(x,y)) minus(x,0()) -> x minus(s(x),s(y)) -> s(minus(x,y)) gcd(s(x),s(y)) -> gcd(minus(max(x,y),min(x,transform(y))),s(min(x,y))) transform(x) -> s(s(x)) transform(cons(x,y)) -> cons(cons(x,x),x) transform(cons(x,y)) -> y transform(s(x)) -> s(s(transform(x))) cons(x,y) -> y cons(x,cons(y,s(z))) -> cons(y,x) cons(cons(x,z),s(y)) -> transform(x) Subterm Criterion Processor: simple projection: pi(min#) = 0 problem: DPs: TRS: min(x,0()) -> 0() min(0(),y) -> 0() min(s(x),s(y)) -> s(min(x,y)) max(x,0()) -> x max(0(),y) -> y max(s(x),s(y)) -> s(max(x,y)) minus(x,0()) -> x minus(s(x),s(y)) -> s(minus(x,y)) gcd(s(x),s(y)) -> gcd(minus(max(x,y),min(x,transform(y))),s(min(x,y))) transform(x) -> s(s(x)) transform(cons(x,y)) -> cons(cons(x,x),x) transform(cons(x,y)) -> y transform(s(x)) -> s(s(transform(x))) cons(x,y) -> y cons(x,cons(y,s(z))) -> cons(y,x) cons(cons(x,z),s(y)) -> transform(x) Qed DPs: cons#(cons(x,z),s(y)) -> transform#(x) transform#(cons(x,y)) -> cons#(x,x) cons#(x,cons(y,s(z))) -> cons#(y,x) transform#(cons(x,y)) -> cons#(cons(x,x),x) transform#(s(x)) -> transform#(x) TRS: min(x,0()) -> 0() min(0(),y) -> 0() min(s(x),s(y)) -> s(min(x,y)) max(x,0()) -> x max(0(),y) -> y max(s(x),s(y)) -> s(max(x,y)) minus(x,0()) -> x minus(s(x),s(y)) -> s(minus(x,y)) gcd(s(x),s(y)) -> gcd(minus(max(x,y),min(x,transform(y))),s(min(x,y))) transform(x) -> s(s(x)) transform(cons(x,y)) -> cons(cons(x,x),x) transform(cons(x,y)) -> y transform(s(x)) -> s(s(transform(x))) cons(x,y) -> y cons(x,cons(y,s(z))) -> cons(y,x) cons(cons(x,z),s(y)) -> transform(x) Usable Rule Processor: DPs: cons#(cons(x,z),s(y)) -> transform#(x) transform#(cons(x,y)) -> cons#(x,x) cons#(x,cons(y,s(z))) -> cons#(y,x) transform#(cons(x,y)) -> cons#(cons(x,x),x) transform#(s(x)) -> transform#(x) TRS: cons(x,y) -> y cons(x,cons(y,s(z))) -> cons(y,x) cons(cons(x,z),s(y)) -> transform(x) transform(x) -> s(s(x)) transform(cons(x,y)) -> cons(cons(x,x),x) transform(cons(x,y)) -> y transform(s(x)) -> s(s(transform(x))) Arctic Interpretation Processor: dimension: 1 usable rules: cons(x,y) -> y cons(x,cons(y,s(z))) -> cons(y,x) cons(cons(x,z),s(y)) -> transform(x) transform(x) -> s(s(x)) transform(cons(x,y)) -> cons(cons(x,x),x) transform(cons(x,y)) -> y transform(s(x)) -> s(s(transform(x))) interpretation: [cons#](x0, x1) = x0 + -2x1 + 2, [transform#](x0) = x0 + -16, [cons](x0, x1) = 2x0 + 2x1 + 4, [transform](x0) = 3x0 + 0, [s](x0) = x0 orientation: cons#(cons(x,z),s(y)) = 2x + -2y + 2z + 4 >= x + -16 = transform#(x) transform#(cons(x,y)) = 2x + 2y + 4 >= x + 2 = cons#(x,x) cons#(x,cons(y,s(z))) = x + y + z + 2 >= -2x + y + 2 = cons#(y,x) transform#(cons(x,y)) = 2x + 2y + 4 >= 2x + 4 = cons#(cons(x,x),x) transform#(s(x)) = x + -16 >= x + -16 = transform#(x) cons(x,y) = 2x + 2y + 4 >= y = y cons(x,cons(y,s(z))) = 2x + 4y + 4z + 6 >= 2x + 2y + 4 = cons(y,x) cons(cons(x,z),s(y)) = 4x + 2y + 4z + 6 >= 3x + 0 = transform(x) transform(x) = 3x + 0 >= x = s(s(x)) transform(cons(x,y)) = 5x + 5y + 7 >= 4x + 6 = cons(cons(x,x),x) transform(cons(x,y)) = 5x + 5y + 7 >= y = y transform(s(x)) = 3x + 0 >= 3x + 0 = s(s(transform(x))) problem: DPs: cons#(x,cons(y,s(z))) -> cons#(y,x) transform#(cons(x,y)) -> cons#(cons(x,x),x) transform#(s(x)) -> transform#(x) TRS: cons(x,y) -> y cons(x,cons(y,s(z))) -> cons(y,x) cons(cons(x,z),s(y)) -> transform(x) transform(x) -> s(s(x)) transform(cons(x,y)) -> cons(cons(x,x),x) transform(cons(x,y)) -> y transform(s(x)) -> s(s(transform(x))) Restore Modifier: DPs: cons#(x,cons(y,s(z))) -> cons#(y,x) transform#(cons(x,y)) -> cons#(cons(x,x),x) transform#(s(x)) -> transform#(x) TRS: min(x,0()) -> 0() min(0(),y) -> 0() min(s(x),s(y)) -> s(min(x,y)) max(x,0()) -> x max(0(),y) -> y max(s(x),s(y)) -> s(max(x,y)) minus(x,0()) -> x minus(s(x),s(y)) -> s(minus(x,y)) gcd(s(x),s(y)) -> gcd(minus(max(x,y),min(x,transform(y))),s(min(x,y))) transform(x) -> s(s(x)) transform(cons(x,y)) -> cons(cons(x,x),x) transform(cons(x,y)) -> y transform(s(x)) -> s(s(transform(x))) cons(x,y) -> y cons(x,cons(y,s(z))) -> cons(y,x) cons(cons(x,z),s(y)) -> transform(x) SCC Processor: #sccs: 2 #rules: 2 #arcs: 12/9 DPs: transform#(s(x)) -> transform#(x) TRS: min(x,0()) -> 0() min(0(),y) -> 0() min(s(x),s(y)) -> s(min(x,y)) max(x,0()) -> x max(0(),y) -> y max(s(x),s(y)) -> s(max(x,y)) minus(x,0()) -> x minus(s(x),s(y)) -> s(minus(x,y)) gcd(s(x),s(y)) -> gcd(minus(max(x,y),min(x,transform(y))),s(min(x,y))) transform(x) -> s(s(x)) transform(cons(x,y)) -> cons(cons(x,x),x) transform(cons(x,y)) -> y transform(s(x)) -> s(s(transform(x))) cons(x,y) -> y cons(x,cons(y,s(z))) -> cons(y,x) cons(cons(x,z),s(y)) -> transform(x) Size-Change Termination Processor: DPs: TRS: min(x,0()) -> 0() min(0(),y) -> 0() min(s(x),s(y)) -> s(min(x,y)) max(x,0()) -> x max(0(),y) -> y max(s(x),s(y)) -> s(max(x,y)) minus(x,0()) -> x minus(s(x),s(y)) -> s(minus(x,y)) gcd(s(x),s(y)) -> gcd(minus(max(x,y),min(x,transform(y))),s(min(x,y))) transform(x) -> s(s(x)) transform(cons(x,y)) -> cons(cons(x,x),x) transform(cons(x,y)) -> y transform(s(x)) -> s(s(transform(x))) cons(x,y) -> y cons(x,cons(y,s(z))) -> cons(y,x) cons(cons(x,z),s(y)) -> transform(x) The DP: transform#(s(x)) -> transform#(x) has the edges: 0 > 0 Qed DPs: cons#(x,cons(y,s(z))) -> cons#(y,x) TRS: min(x,0()) -> 0() min(0(),y) -> 0() min(s(x),s(y)) -> s(min(x,y)) max(x,0()) -> x max(0(),y) -> y max(s(x),s(y)) -> s(max(x,y)) minus(x,0()) -> x minus(s(x),s(y)) -> s(minus(x,y)) gcd(s(x),s(y)) -> gcd(minus(max(x,y),min(x,transform(y))),s(min(x,y))) transform(x) -> s(s(x)) transform(cons(x,y)) -> cons(cons(x,x),x) transform(cons(x,y)) -> y transform(s(x)) -> s(s(transform(x))) cons(x,y) -> y cons(x,cons(y,s(z))) -> cons(y,x) cons(cons(x,z),s(y)) -> transform(x) Size-Change Termination Processor: DPs: TRS: min(x,0()) -> 0() min(0(),y) -> 0() min(s(x),s(y)) -> s(min(x,y)) max(x,0()) -> x max(0(),y) -> y max(s(x),s(y)) -> s(max(x,y)) minus(x,0()) -> x minus(s(x),s(y)) -> s(minus(x,y)) gcd(s(x),s(y)) -> gcd(minus(max(x,y),min(x,transform(y))),s(min(x,y))) transform(x) -> s(s(x)) transform(cons(x,y)) -> cons(cons(x,x),x) transform(cons(x,y)) -> y transform(s(x)) -> s(s(transform(x))) cons(x,y) -> y cons(x,cons(y,s(z))) -> cons(y,x) cons(cons(x,z),s(y)) -> transform(x) The DP: cons#(x,cons(y,s(z))) -> cons#(y,x) has the edges: 0 >= 1 1 > 0 Qed