YES We show the termination of the TRS R: le(|0|(),y) -> true() le(s(x),|0|()) -> false() le(s(x),s(y)) -> le(x,y) minus(|0|(),y) -> |0|() minus(s(x),y) -> if_minus(le(s(x),y),s(x),y) if_minus(true(),s(x),y) -> |0|() if_minus(false(),s(x),y) -> s(minus(x,y)) gcd(|0|(),y) -> y gcd(s(x),|0|()) -> s(x) gcd(s(x),s(y)) -> if_gcd(le(y,x),s(x),s(y)) if_gcd(true(),s(x),s(y)) -> gcd(minus(x,y),s(y)) if_gcd(false(),s(x),s(y)) -> gcd(minus(y,x),s(x)) -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: le#(s(x),s(y)) -> le#(x,y) p2: minus#(s(x),y) -> if_minus#(le(s(x),y),s(x),y) p3: minus#(s(x),y) -> le#(s(x),y) p4: if_minus#(false(),s(x),y) -> minus#(x,y) p5: gcd#(s(x),s(y)) -> if_gcd#(le(y,x),s(x),s(y)) p6: gcd#(s(x),s(y)) -> le#(y,x) p7: if_gcd#(true(),s(x),s(y)) -> gcd#(minus(x,y),s(y)) p8: if_gcd#(true(),s(x),s(y)) -> minus#(x,y) p9: if_gcd#(false(),s(x),s(y)) -> gcd#(minus(y,x),s(x)) p10: if_gcd#(false(),s(x),s(y)) -> minus#(y,x) and R consists of: r1: le(|0|(),y) -> true() r2: le(s(x),|0|()) -> false() r3: le(s(x),s(y)) -> le(x,y) r4: minus(|0|(),y) -> |0|() r5: minus(s(x),y) -> if_minus(le(s(x),y),s(x),y) r6: if_minus(true(),s(x),y) -> |0|() r7: if_minus(false(),s(x),y) -> s(minus(x,y)) r8: gcd(|0|(),y) -> y r9: gcd(s(x),|0|()) -> s(x) r10: gcd(s(x),s(y)) -> if_gcd(le(y,x),s(x),s(y)) r11: if_gcd(true(),s(x),s(y)) -> gcd(minus(x,y),s(y)) r12: if_gcd(false(),s(x),s(y)) -> gcd(minus(y,x),s(x)) The estimated dependency graph contains the following SCCs: {p5, p7, p9} {p2, p4} {p1} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: if_gcd#(false(),s(x),s(y)) -> gcd#(minus(y,x),s(x)) p2: gcd#(s(x),s(y)) -> if_gcd#(le(y,x),s(x),s(y)) p3: if_gcd#(true(),s(x),s(y)) -> gcd#(minus(x,y),s(y)) and R consists of: r1: le(|0|(),y) -> true() r2: le(s(x),|0|()) -> false() r3: le(s(x),s(y)) -> le(x,y) r4: minus(|0|(),y) -> |0|() r5: minus(s(x),y) -> if_minus(le(s(x),y),s(x),y) r6: if_minus(true(),s(x),y) -> |0|() r7: if_minus(false(),s(x),y) -> s(minus(x,y)) r8: gcd(|0|(),y) -> y r9: gcd(s(x),|0|()) -> s(x) r10: gcd(s(x),s(y)) -> if_gcd(le(y,x),s(x),s(y)) r11: if_gcd(true(),s(x),s(y)) -> gcd(minus(x,y),s(y)) r12: if_gcd(false(),s(x),s(y)) -> gcd(minus(y,x),s(x)) The set of usable rules consists of r1, r2, r3, r4, r5, r6, r7 Take the reduction pair: matrix interpretations: carrier: N^4 order: lexicographic order interpretations: if_gcd#_A(x1,x2,x3) = ((0,0,0,0),(0,0,0,0),(0,0,0,0),(1,0,0,0)) x1 + ((1,0,0,0),(0,1,0,0),(0,0,1,0),(0,1,1,0)) x2 + x3 false_A() = (0,4,1,5) s_A(x1) = ((1,0,0,0),(1,1,0,0),(1,0,1,0),(1,1,0,1)) x1 + (3,1,1,1) gcd#_A(x1,x2) = ((1,0,0,0),(0,1,0,0),(0,1,0,0),(1,0,0,0)) x1 + ((1,0,0,0),(0,1,0,0),(1,0,1,0),(0,0,1,0)) x2 + (1,0,0,2) minus_A(x1,x2) = ((1,0,0,0),(1,1,0,0),(0,0,0,0),(0,0,0,0)) x1 + (1,1,2,1) le_A(x1,x2) = x1 + ((0,0,0,0),(1,0,0,0),(1,1,0,0),(1,0,1,0)) x2 + (5,1,1,1) true_A() = (1,7,3,1) if_minus_A(x1,x2,x3) = ((0,0,0,0),(0,0,0,0),(1,0,0,0),(0,0,0,0)) x1 + ((1,0,0,0),(1,1,0,0),(0,0,1,0),(1,0,0,1)) x2 + ((0,0,0,0),(0,0,0,0),(1,0,0,0),(1,1,0,0)) x3 + (1,0,4,1) |0|_A() = (1,5,1,6) The next rules are strictly ordered: p1, p2, p3 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: if_minus#(false(),s(x),y) -> minus#(x,y) p2: minus#(s(x),y) -> if_minus#(le(s(x),y),s(x),y) and R consists of: r1: le(|0|(),y) -> true() r2: le(s(x),|0|()) -> false() r3: le(s(x),s(y)) -> le(x,y) r4: minus(|0|(),y) -> |0|() r5: minus(s(x),y) -> if_minus(le(s(x),y),s(x),y) r6: if_minus(true(),s(x),y) -> |0|() r7: if_minus(false(),s(x),y) -> s(minus(x,y)) r8: gcd(|0|(),y) -> y r9: gcd(s(x),|0|()) -> s(x) r10: gcd(s(x),s(y)) -> if_gcd(le(y,x),s(x),s(y)) r11: if_gcd(true(),s(x),s(y)) -> gcd(minus(x,y),s(y)) r12: if_gcd(false(),s(x),s(y)) -> gcd(minus(y,x),s(x)) The set of usable rules consists of r1, r2, r3 Take the reduction pair: matrix interpretations: carrier: N^4 order: lexicographic order interpretations: if_minus#_A(x1,x2,x3) = ((0,0,0,0),(1,0,0,0),(1,0,0,0),(1,0,0,0)) x1 + ((1,0,0,0),(1,1,0,0),(1,0,1,0),(0,1,1,1)) x2 + ((0,0,0,0),(0,0,0,0),(1,0,0,0),(0,0,0,0)) x3 false_A() = (1,4,7,6) s_A(x1) = ((1,0,0,0),(1,1,0,0),(1,1,1,0),(1,1,1,1)) x1 + (2,1,1,1) minus#_A(x1,x2) = ((1,0,0,0),(1,1,0,0),(1,1,1,0),(0,0,1,1)) x1 + (1,3,2,5) le_A(x1,x2) = ((1,0,0,0),(0,1,0,0),(1,0,1,0),(0,0,0,1)) x1 + ((1,0,0,0),(1,1,0,0),(1,1,1,0),(1,1,1,1)) x2 |0|_A() = (1,1,1,1) true_A() = (0,2,3,2) The next rules are strictly ordered: p1, p2 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: le#(s(x),s(y)) -> le#(x,y) and R consists of: r1: le(|0|(),y) -> true() r2: le(s(x),|0|()) -> false() r3: le(s(x),s(y)) -> le(x,y) r4: minus(|0|(),y) -> |0|() r5: minus(s(x),y) -> if_minus(le(s(x),y),s(x),y) r6: if_minus(true(),s(x),y) -> |0|() r7: if_minus(false(),s(x),y) -> s(minus(x,y)) r8: gcd(|0|(),y) -> y r9: gcd(s(x),|0|()) -> s(x) r10: gcd(s(x),s(y)) -> if_gcd(le(y,x),s(x),s(y)) r11: if_gcd(true(),s(x),s(y)) -> gcd(minus(x,y),s(y)) r12: if_gcd(false(),s(x),s(y)) -> gcd(minus(y,x),s(x)) The set of usable rules consists of (no rules) Take the monotone reduction pair: matrix interpretations: carrier: N^4 order: lexicographic order interpretations: le#_A(x1,x2) = ((1,0,0,0),(0,1,0,0),(0,0,1,0),(1,1,0,1)) x1 + ((1,0,0,0),(1,1,0,0),(1,1,1,0),(1,0,1,1)) x2 s_A(x1) = ((1,0,0,0),(1,1,0,0),(1,0,1,0),(1,1,1,1)) x1 + (1,1,1,1) The next rules are strictly ordered: p1 r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12 We remove them from the problem. Then no dependency pair remains.