YES Problem: gcd(x,0()) -> x gcd(0(),y) -> y gcd(s(x),s(y)) -> if(<(x,y),gcd(s(x),-(y,x)),gcd(-(x,y),s(y))) Proof: DP Processor: DPs: gcd#(s(x),s(y)) -> gcd#(-(x,y),s(y)) gcd#(s(x),s(y)) -> gcd#(s(x),-(y,x)) TRS: gcd(x,0()) -> x gcd(0(),y) -> y gcd(s(x),s(y)) -> if(<(x,y),gcd(s(x),-(y,x)),gcd(-(x,y),s(y))) Matrix Interpretation Processor: dim=1 interpretation: [gcd#](x0, x1) = 3x0 + x1 + 3, [if](x0, x1, x2) = x2 + 1, [-](x0, x1) = 3, [<](x0, x1) = 0, [s](x0) = 4, [gcd](x0, x1) = x0 + x1, [0] = 0 orientation: gcd#(s(x),s(y)) = 19 >= 16 = gcd#(-(x,y),s(y)) gcd#(s(x),s(y)) = 19 >= 18 = gcd#(s(x),-(y,x)) gcd(x,0()) = x >= x = x gcd(0(),y) = y >= y = y gcd(s(x),s(y)) = 8 >= 8 = if(<(x,y),gcd(s(x),-(y,x)),gcd(-(x,y),s(y))) problem: DPs: TRS: gcd(x,0()) -> x gcd(0(),y) -> y gcd(s(x),s(y)) -> if(<(x,y),gcd(s(x),-(y,x)),gcd(-(x,y),s(y))) Qed