YES (ignored inputs)COMMENT from the collection of \cite{AT2012} Rewrite Rules: [ +(?x,0) -> ?x, +(?x,s(?y)) -> s(+(?x,?y)), *(?x,0) -> 0, *(?x,s(?y)) -> +(*(?x,?y),?x), +(?x,?y) -> +(?y,?x) ] Apply Direct Methods... Inner CPs: [ ] Outer CPs: [ ?x = +(0,?x), s(+(?x_1,?y_1)) = +(s(?y_1),?x_1) ] Overlay, check Innermost Termination... unknown Innermost Terminating unknown Knuth & Bendix Left-Linear, not Right-Linear unknown Development Closed unknown Weakly-Non-Overlapping & Non-Collapsing & Shallow unknown Upside-Parallel-Closed/Outside-Closed (inner) Parallel CPs: (not computed) unknown Toyama (Parallel CPs) Simultaneous CPs: [ +(0,?x) = ?x, +(s(?y),?x) = s(+(?x,?y)), ?x = +(0,?x), s(+(?x,?y_2)) = +(s(?y_2),?x) ] unknown Okui (Simultaneous CPs) unknown Strongly Depth-Preserving & Root-E-Closed/Non-E-Overlapping unknown Strongly Weight-Preserving & Root-E-Closed/Non-E-Overlapping check Locally Decreasing Diagrams by Rule Labelling... Critical Pair <+(0,?x_4), ?x_4> by Rules <4, 0> preceded by [] joinable by a reduction of rules <[([],4),([],0)], []> Critical Pair <+(s(?y_1),?x_4), s(+(?x_4,?y_1))> by Rules <4, 1> preceded by [] joinable by a reduction of rules <[([],4),([],1)], []> unknown Diagram Decreasing [ +(?x,0) -> ?x, +(?x_1,s(?y_1)) -> s(+(?x_1,?y_1)), *(?x_2,0) -> 0, *(?x_3,s(?y_3)) -> +(*(?x_3,?y_3),?x_3), +(?x_4,?y_4) -> +(?y_4,?x_4) ] Sort Assignment: * : 18*18=>18 + : 18*18=>18 0 : =>18 s : 18=>18 non-linear variables: {?x_3} non-linear types: {18} types leq non-linear types: {18} rules applicable to terms of non-linear types: [ +(?x,0) -> ?x, +(?x_1,s(?y_1)) -> s(+(?x_1,?y_1)), *(?x_2,0) -> 0, *(?x_3,s(?y_3)) -> +(*(?x_3,?y_3),?x_3), +(?x_4,?y_4) -> +(?y_4,?x_4) ] NLR: 0: {} 1: {} 2: {} 3: {0,1,2,3,4} 4: {} unknown innermost-termination for terms of non-linear types unknown Quasi-Linear & Linearized-Decreasing [ +(?x,0) -> ?x, +(?x_1,s(?y_1)) -> s(+(?x_1,?y_1)), *(?x_2,0) -> 0, *(?x_3,s(?y_3)) -> +(*(?x_3,?y_3),?x_3), +(?x_4,?y_4) -> +(?y_4,?x_4) ] Sort Assignment: * : 18*18=>18 + : 18*18=>18 0 : =>18 s : 18=>18 non-linear variables: {?x_3} non-linear types: {18} types leq non-linear types: {18} rules applicable to terms of non-linear types: [ +(?x,0) -> ?x, +(?x_1,s(?y_1)) -> s(+(?x_1,?y_1)), *(?x_2,0) -> 0, *(?x_3,s(?y_3)) -> +(*(?x_3,?y_3),?x_3), +(?x_4,?y_4) -> +(?y_4,?x_4) ] unknown innermost-termination for terms of non-linear types unknown Strongly Quasi-Linear & Hierarchically Decreasing check Non-Confluence... obtain 15 rules by 3 steps unfolding strenghten +(?x_8,0) and ?x_8 strenghten +(0,?x_4) and ?x_4 strenghten +(?x_13,?y_13) and +(?y_13,?x_13) strenghten s(+(0,?y_1)) and s(?y_1) strenghten +(*(?x_10,0),?x_10) and ?x_10 strenghten +(*(0,0),0) and 0 strenghten s(+(?x_4,?y_1)) and +(s(?y_1),?x_4) strenghten s(+(?x_12,?y_1)) and +(?x_12,s(?y_1)) obtain 16 candidates for checking non-joinability check by TCAP-Approximation (failure) check by Root-Approximation (failure) check by Ordering(rpo), check by Tree-Automata Approximation (failure) check by Interpretation(mod2) (failure) check by Descendants-Approximation, check by Ordering(poly) (failure) unknown Non-Confluence Check relative termination: [ +(?x,0) -> ?x, +(?x,s(?y)) -> s(+(?x,?y)), *(?x,0) -> 0, *(?x,s(?y)) -> +(*(?x,?y),?x) ] [ +(?x,?y) -> +(?y,?x) ] Polynomial Interpretation: *:= (3)*x1+(2)*x1*x1+(1)*x1*x2+(1)*x2*x2 +:= (2)+(1)*x1+(1)*x2 0:= (11) s:= (8)+(1)*x1 retract +(?x,0) -> ?x Polynomial Interpretation: *:= (3)*x1+(1)*x1*x2+(1)*x2+(1)*x2*x2 +:= (1)*x1+(1)*x2 0:= (13) s:= (8)+(1)*x1 retract +(?x,0) -> ?x retract *(?x,s(?y)) -> +(*(?x,?y),?x) Polynomial Interpretation: *:= (1)+(1)*x1+(2)*x2 +:= (1)*x1+(1)*x1*x2+(1)*x2 0:= 0 s:= (8)+(5)*x1 retract +(?x,0) -> ?x retract *(?x,0) -> 0 retract *(?x,s(?y)) -> +(*(?x,?y),?x) Polynomial Interpretation: *:= (1)*x1+(2)*x2 +:= (1)+(2)*x1+(2)*x2 0:= 0 s:= (1)+(1)*x1 relatively terminating unknown Huet (modulo AC) check by Reduction-Preserving Completion... STEP: 1 (parallel) S: [ +(?x,0) -> ?x, +(?x,s(?y)) -> s(+(?x,?y)), *(?x,0) -> 0, *(?x,s(?y)) -> +(*(?x,?y),?x) ] P: [ +(?x,?y) -> +(?y,?x) ] S: terminating CP(S,S): PCP_in(symP,S): CP(S,symP): --> => no --> => no check joinability condition: check modulo reachablity from ?x to +(0,?x): maybe not reachable check modulo reachablity from s(+(?x,?y)) to +(s(?y),?x): maybe not reachable failed failure(Step 1) [ +(0,?x) -> ?x, +(s(?y),?x) -> s(+(?x,?y)) ] Added S-Rules: [ +(0,?x) -> ?x, +(s(?y),?x) -> s(+(?x,?y)) ] Added P-Rules: [ ] replace: +(?x,s(?y)) -> s(+(?x,?y)) => +(?x,s(?y)) -> s(+(?y,?x)) STEP: 2 (linear) S: [ +(?x,0) -> ?x, +(?x,s(?y)) -> s(+(?x,?y)), *(?x,0) -> 0, *(?x,s(?y)) -> +(*(?x,?y),?x) ] P: [ +(?x,?y) -> +(?y,?x) ] S: not linear failure(Step 2) STEP: 3 (relative) S: [ +(?x,0) -> ?x, +(?x,s(?y)) -> s(+(?x,?y)), *(?x,0) -> 0, *(?x,s(?y)) -> +(*(?x,?y),?x) ] P: [ +(?x,?y) -> +(?y,?x) ] Check relative termination: [ +(?x,0) -> ?x, +(?x,s(?y)) -> s(+(?x,?y)), *(?x,0) -> 0, *(?x,s(?y)) -> +(*(?x,?y),?x) ] [ +(?x,?y) -> +(?y,?x) ] Polynomial Interpretation: *:= (3)*x1+(2)*x1*x1+(1)*x1*x2+(1)*x2*x2 +:= (2)+(1)*x1+(1)*x2 0:= (11) s:= (8)+(1)*x1 retract +(?x,0) -> ?x Polynomial Interpretation: *:= (3)*x1+(1)*x1*x2+(1)*x2+(1)*x2*x2 +:= (1)*x1+(1)*x2 0:= (13) s:= (8)+(1)*x1 retract +(?x,0) -> ?x retract *(?x,s(?y)) -> +(*(?x,?y),?x) Polynomial Interpretation: *:= (1)+(1)*x1+(2)*x2 +:= (1)*x1+(1)*x1*x2+(1)*x2 0:= 0 s:= (8)+(5)*x1 retract +(?x,0) -> ?x retract *(?x,0) -> 0 retract *(?x,s(?y)) -> +(*(?x,?y),?x) Polynomial Interpretation: *:= (1)*x1+(2)*x2 +:= (1)+(2)*x1+(2)*x2 0:= 0 s:= (1)+(1)*x1 relatively terminating S/P: relatively terminating check CP condition: failed failure(Step 3) STEP: 4 (parallel) S: [ +(?x,0) -> ?x, +(?x,s(?y)) -> s(+(?x,?y)), *(?x,0) -> 0, *(?x,s(?y)) -> +(*(?x,?y),?x), +(0,?x) -> ?x, +(s(?y),?x) -> s(+(?x,?y)) ] P: [ +(?x,?y) -> +(?y,?x) ] S: terminating CP(S,S): <0, 0> --> <0, 0> => yes --> => yes --> => yes --> => yes PCP_in(symP,S): CP(S,symP): --> => yes --> => yes --> => yes --> => yes S: [ +(?x,0) -> ?x, +(?x,s(?y)) -> s(+(?x,?y)), *(?x,0) -> 0, *(?x,s(?y)) -> +(*(?x,?y),?x), +(0,?x) -> ?x, +(s(?y),?x) -> s(+(?x,?y)) ] P: [ +(?x,?y) -> +(?y,?x) ] Success Reduction-Preserving Completion Direct Methods: CR Final result: CR 194.trs: Success(CR) (613 msec.)