YES (VAR y x) (RULES 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)) ) The TRS is an overlay system and all critical pairs are trivial, thus termination of innermost rewriting is equivalent to termination of rewriting. Proving termination of innermost rewriting for _3_6b: -> Dependency pairs: nF_le(s(x),s(y)) -> nF_le(x,y) nF_minus(s(x),y) -> nF_if_minus(le(s(x),y),s(x),y) nF_minus(s(x),y) -> nF_le(s(x),y) nF_if_minus(false,s(x),y) -> nF_minus(x,y) nF_gcd(s(x),s(y)) -> nF_if_gcd(le(y,x),s(x),s(y)) nF_gcd(s(x),s(y)) -> nF_le(y,x) nF_if_gcd(true,s(x),s(y)) -> nF_gcd(minus(x,y),s(y)) nF_if_gcd(true,s(x),s(y)) -> nF_minus(x,y) nF_if_gcd(false,s(x),s(y)) -> nF_gcd(minus(y,x),s(x)) nF_if_gcd(false,s(x),s(y)) -> nF_minus(y,x) -> Proof of termination for _3_6b_1_1: -> -> Dependency pairs in cycle: nF_gcd(s(x),s(y)) -> nF_if_gcd(le(y,x),s(x),s(y)) nF_if_gcd(false,s(x),s(y)) -> nF_gcd(minus(y,x),s(x)) nF_if_gcd(true,s(x),s(y)) -> nF_gcd(minus(x,y),s(y)) UsableRules: 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)) Polynomial Interpretation: [le](X1,X2) = X1 + X2 [0] = 1 [true] = 0 [s](X) = X + 1 [false] = 0 [minus](X1,X2) = X1 [if_minus](X1,X2,X3) = X2 [gcd](X1,X2) = 0 [if_gcd](X1,X2,X3) = 0 [nF_gcd](X1,X2) = X1 + X2 [nF_if_gcd](X1,X2,X3) = X2 + X3 TIME: 5.5320000000000036e-2 -> -> Dependency pairs in cycle: nF_gcd(s(x),s(y)) -> nF_if_gcd(le(y,x),s(x),s(y)) nF_if_gcd(false,s(x),s(y)) -> nF_gcd(minus(y,x),s(x)) UsableRules: 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)) Polynomial Interpretation: [le](X1,X2) = X1 [0] = 0 [true] = 0 [s](X) = X + 1 [false] = 0 [minus](X1,X2) = X1 [if_minus](X1,X2,X3) = X2 [gcd](X1,X2) = 0 [if_gcd](X1,X2,X3) = 0 [nF_gcd](X1,X2) = X1 + X2 [nF_if_gcd](X1,X2,X3) = X2 + X3 TIME: 4.9542e-2 -> Proof of termination for _3_6b_1_2: -> -> Dependency pairs in cycle: nF_minus(s(x),y) -> nF_if_minus(le(s(x),y),s(x),y) nF_if_minus(false,s(x),y) -> nF_minus(x,y) Termination proved: Cycles verify subterm criterion. -> Proof of termination for _3_6b_1_3: -> -> Dependency pairs in cycle: nF_le(s(x),s(y)) -> nF_le(x,y) Termination proved: Cycles verify subterm criterion. SETTINGS: Base ordering: Polynomial ordering Proof mode: SCCs in DG + base ordering Upper bound for coeffs: 1 Rationals below 1 for all non-replacing args: No Polynomial interpretation: Linear Coeffs in polynomials: No rationals Delta: automatic Termination was proved succesfully.