YES (ignored inputs)COMMENT from the collection of \cite{AT2012} Rewrite Rules: [ +(0,?y) -> ?y, +(s(?x),?y) -> s(+(?x,?y)), dbl(?x) -> +(?x,?x), +(+(?x,?y),?z) -> +(?x,+(?y,?z)), +(?x,?y) -> +(?y,?x) ] Apply Direct Methods... Inner CPs: [ +(?y,?z_3) = +(0,+(?y,?z_3)), +(s(+(?x_1,?y_1)),?z_3) = +(s(?x_1),+(?y_1,?z_3)), +(+(?y_4,?x_4),?z_3) = +(?x_4,+(?y_4,?z_3)), +(+(?x,+(?y,?z)),?z_1) = +(+(?x,?y),+(?z,?z_1)) ] Outer CPs: [ ?y = +(?y,0), s(+(?x_1,?y_1)) = +(?y_1,s(?x_1)), +(?x_3,+(?y_3,?z_3)) = +(?z_3,+(?x_3,?y_3)) ] not Overlay, check Termination... unknown/not 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: [ +(?y,0) = ?y, +(0,+(?y,?z_4)) = +(?y,?z_4), +(?y,s(?x)) = s(+(?x,?y)), +(s(?x),+(?y,?z_4)) = +(s(+(?x,?y)),?z_4), +(?z,+(?x_1,+(?y_1,?y))) = +(+(?x_1,?y_1),+(?y,?z)), +(?z,?y) = +(0,+(?y,?z)), +(?z,s(+(?x_3,?y))) = +(s(?x_3),+(?y,?z)), +(?z,+(?y,?x)) = +(?x,+(?y,?z)), +(?z,+(?x,?y)) = +(?x,+(?y,?z)), +(+(?x_1,+(?y_1,?y)),?z) = +(+(?x_1,?y_1),+(?y,?z)), +(?y,?z) = +(0,+(?y,?z)), +(s(+(?x_3,?y)),?z) = +(s(?x_3),+(?y,?z)), +(+(?y,?x),?z) = +(?x,+(?y,?z)), +(+(?x_2,+(?y_2,?y)),+(?z,?z_1)) = +(+(+(?x_2,?y_2),+(?y,?z)),?z_1), +(?y,+(?z,?z_1)) = +(+(0,+(?y,?z)),?z_1), +(s(+(?x_4,?y)),+(?z,?z_1)) = +(+(s(?x_4),+(?y,?z)),?z_1), +(+(?y,?x),+(?z,?z_1)) = +(+(?x,+(?y,?z)),?z_1), +(+(?x,?y),+(?z,?z_1)) = +(+(?x,+(?y,?z)),?z_1), ?y = +(?y,0), s(+(?x_2,?y)) = +(?y,s(?x_2)), +(?x_4,+(?y_4,?y)) = +(?y,+(?x_4,?y_4)), +(?x,+(?y,?z_5)) = +(+(?y,?x),?z_5) ] 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 <+(?y,?z_3), +(0,+(?y,?z_3))> by Rules <0, 3> preceded by [(+,1)] joinable by a reduction of rules <[], [([],0)]> Critical Pair <+(s(+(?x_1,?y_1)),?z_3), +(s(?x_1),+(?y_1,?z_3))> by Rules <1, 3> preceded by [(+,1)] joinable by a reduction of rules <[([],1),([(s,1)],3)], [([],1)]> Critical Pair <+(+(?y_4,?x_4),?z_3), +(?x_4,+(?y_4,?z_3))> by Rules <4, 3> preceded by [(+,1)] joinable by a reduction of rules <[([(+,1)],4),([],3)], []> joinable by a reduction of rules <[([],3),([(+,2)],4)], [([],4),([],3)]> Critical Pair <+(+(?x,+(?y,?z)),?z_1), +(+(?x,?y),+(?z,?z_1))> by Rules <3, 3> preceded by [(+,1)] joinable by a reduction of rules <[([],3),([(+,2)],3)], [([],3)]> Critical Pair <+(?y_4,0), ?y_4> by Rules <4, 0> preceded by [] joinable by a reduction of rules <[([],4),([],0)], []> Critical Pair <+(?y_4,s(?x_1)), s(+(?x_1,?y_4))> by Rules <4, 1> preceded by [] joinable by a reduction of rules <[([],4),([],1)], []> Critical Pair <+(?y_4,+(?x_3,?y_3)), +(?x_3,+(?y_3,?y_4))> by Rules <4, 3> preceded by [] joinable by a reduction of rules <[([],4),([],3)], []> unknown Diagram Decreasing [ +(0,?y) -> ?y, +(s(?x_1),?y_1) -> s(+(?x_1,?y_1)), dbl(?x_2) -> +(?x_2,?x_2), +(+(?x_3,?y_3),?z_3) -> +(?x_3,+(?y_3,?z_3)), +(?x_4,?y_4) -> +(?y_4,?x_4) ] Sort Assignment: + : 18*18=>18 0 : =>18 s : 18=>18 dbl : 18=>18 non-linear variables: {?x_2} non-linear types: {18} types leq non-linear types: {18} rules applicable to terms of non-linear types: [ +(0,?y) -> ?y, +(s(?x_1),?y_1) -> s(+(?x_1,?y_1)), dbl(?x_2) -> +(?x_2,?x_2), +(+(?x_3,?y_3),?z_3) -> +(?x_3,+(?y_3,?z_3)), +(?x_4,?y_4) -> +(?y_4,?x_4) ] NLR: 0: {} 1: {} 2: {0,1,2,3,4} 3: {} 4: {} unknown innermost-termination for terms of non-linear types unknown Quasi-Linear & Linearized-Decreasing [ +(0,?y) -> ?y, +(s(?x_1),?y_1) -> s(+(?x_1,?y_1)), dbl(?x_2) -> +(?x_2,?x_2), +(+(?x_3,?y_3),?z_3) -> +(?x_3,+(?y_3,?z_3)), +(?x_4,?y_4) -> +(?y_4,?x_4) ] Sort Assignment: + : 18*18=>18 0 : =>18 s : 18=>18 dbl : 18=>18 non-linear variables: {?x_2} non-linear types: {18} types leq non-linear types: {18} rules applicable to terms of non-linear types: [ +(0,?y) -> ?y, +(s(?x_1),?y_1) -> s(+(?x_1,?y_1)), dbl(?x_2) -> +(?x_2,?x_2), +(+(?x_3,?y_3),?z_3) -> +(?x_3,+(?y_3,?z_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 dbl(0) and 0 strenghten +(?x_7,0) and ?x_7 strenghten +(0,?x_5) and ?x_5 strenghten +(0,0) and 0 strenghten +(dbl(0),?x_11) and ?x_11 strenghten dbl(+(0,0)) and 0 strenghten s(+(?x_1,0)) and s(?x_1) strenghten dbl(+(0,0)) and dbl(0) strenghten +(?x_11,+(0,0)) and ?x_11 strenghten +(dbl(0),dbl(0)) and 0 strenghten +(dbl(0),dbl(0)) and dbl(0) strenghten s(+(?x_1,dbl(0))) and s(?x_1) strenghten s(+(?x_1,?y_4)) and +(?y_4,s(?x_1)) strenghten +(?x_3,+(?y_3,0)) and +(?x_3,?y_3) strenghten +(?x_5,+(0,?z_3)) and +(?x_5,?z_3) strenghten +(0,+(?x_7,?z_3)) and +(?x_7,?z_3) strenghten +(?x_3,+(?y_3,dbl(0))) and +(?x_3,?y_3) strenghten +(?x_11,+(dbl(0),?z_3)) and +(?x_11,?z_3) strenghten +(?x_3,+(?y_3,?y_4)) and +(?y_4,+(?x_3,?y_3)) strenghten +(?x_4,+(?y_4,?z_3)) and +(+(?y_4,?x_4),?z_3) strenghten +(s(?x_1),+(?y_1,?z_3)) and +(s(+(?x_1,?y_1)),?z_3) strenghten +(+(?x,?y),+(?z,?z_1)) and +(+(?x,+(?y,?z)),?z_1) obtain 100 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: [ +(0,?y) -> ?y, +(s(?x),?y) -> s(+(?x,?y)), dbl(?x) -> +(?x,?x) ] [ +(+(?x,?y),?z) -> +(?x,+(?y,?z)), +(?x,?y) -> +(?y,?x) ] Polynomial Interpretation: +:= (1)*x1+(1)*x2 0:= (15) s:= (1)*x1 dbl:= (13)+(4)*x1+(6)*x1*x1 retract +(0,?y) -> ?y retract dbl(?x) -> +(?x,?x) Polynomial Interpretation: +:= (2)+(2)*x1+(1)*x1*x2+(2)*x2 0:= (10) s:= (6)+(3)*x1 dbl:= (4)+(3)*x1+(15)*x1*x1 relatively terminating unknown Huet (modulo AC) check by Reduction-Preserving Completion... STEP: 1 (parallel) S: [ +(0,?y) -> ?y, +(s(?x),?y) -> s(+(?x,?y)), dbl(?x) -> +(?x,?x) ] P: [ +(+(?x,?y),?z) -> +(?x,+(?y,?z)), +(?x,?y) -> +(?y,?x) ] S: terminating CP(S,S): PCP_in(symP,S): CP(S,symP): <+(?y,?z_1), +(0,+(?y,?z_1))> --> <+(?y,?z_1), +(?y,?z_1)> => yes <+(?y_1,?z_1), +(+(0,?y_1),?z_1)> --> <+(?y_1,?z_1), +(?y_1,?z_1)> => yes <+(?x_1,?y), +(+(?x_1,0),?y)> --> <+(?x_1,?y), +(+(?x_1,0),?y)> => no --> => no <+(s(+(?x,?y)),?z_1), +(s(?x),+(?y,?z_1))> --> => yes --> => yes <+(?x_1,s(+(?x,?y))), +(+(?x_1,s(?x)),?y)> --> <+(?x_1,s(+(?x,?y))), +(+(?x_1,s(?x)),?y)> => no --> => no check joinability condition: check modulo reachablity from +(?x_1,?y) to +(+(?x_1,0),?y): maybe not reachable check modulo reachablity from ?y to +(?y,0): maybe not reachable check modulo reachablity from +(?x_1,s(+(?x,?y))) to +(+(?x_1,s(?x)),?y): maybe not reachable check modulo reachablity from s(+(?x,?y)) to +(?y,s(?x)): maybe not reachable failed failure(Step 1) [ +(?y,0) -> ?y, +(?y,s(?x)) -> s(+(?x,?y)) ] Added S-Rules: [ +(?y,0) -> ?y, +(?y,s(?x)) -> s(+(?x,?y)) ] Added P-Rules: [ ] replace: +(s(?x),?y) -> s(+(?x,?y)) => +(s(?x),?y) -> s(+(?y,?x)) STEP: 2 (linear) S: [ +(0,?y) -> ?y, +(s(?x),?y) -> s(+(?x,?y)), dbl(?x) -> +(?x,?x) ] P: [ +(+(?x,?y),?z) -> +(?x,+(?y,?z)), +(?x,?y) -> +(?y,?x) ] S: not linear failure(Step 2) STEP: 3 (relative) S: [ +(0,?y) -> ?y, +(s(?x),?y) -> s(+(?x,?y)), dbl(?x) -> +(?x,?x) ] P: [ +(+(?x,?y),?z) -> +(?x,+(?y,?z)), +(?x,?y) -> +(?y,?x) ] Check relative termination: [ +(0,?y) -> ?y, +(s(?x),?y) -> s(+(?x,?y)), dbl(?x) -> +(?x,?x) ] [ +(+(?x,?y),?z) -> +(?x,+(?y,?z)), +(?x,?y) -> +(?y,?x) ] Polynomial Interpretation: +:= (1)*x1+(1)*x2 0:= (15) s:= (1)*x1 dbl:= (13)+(4)*x1+(6)*x1*x1 retract +(0,?y) -> ?y retract dbl(?x) -> +(?x,?x) Polynomial Interpretation: +:= (2)+(2)*x1+(1)*x1*x2+(2)*x2 0:= (10) s:= (6)+(3)*x1 dbl:= (4)+(3)*x1+(15)*x1*x1 relatively terminating S/P: relatively terminating check CP condition: failed failure(Step 3) STEP: 4 (parallel) S: [ +(0,?y) -> ?y, +(s(?x),?y) -> s(+(?x,?y)), dbl(?x) -> +(?x,?x), +(?y,0) -> ?y, +(?y,s(?x)) -> s(+(?x,?y)) ] P: [ +(+(?x,?y),?z) -> +(?x,+(?y,?z)), +(?x,?y) -> +(?y,?x) ] S: terminating CP(S,S): <0, 0> --> <0, 0> => yes --> => yes --> => yes --> => yes PCP_in(symP,S): CP(S,symP): <+(?y,?z_1), +(0,+(?y,?z_1))> --> <+(?y,?z_1), +(?y,?z_1)> => yes <+(?y_1,?z_1), +(+(0,?y_1),?z_1)> --> <+(?y_1,?z_1), +(?y_1,?z_1)> => yes <+(?x_1,?y), +(+(?x_1,0),?y)> --> <+(?x_1,?y), +(?x_1,?y)> => yes --> => yes <+(s(+(?x,?y)),?z_1), +(s(?x),+(?y,?z_1))> --> => yes --> => yes <+(?x_1,s(+(?x,?y))), +(+(?x_1,s(?x)),?y)> --> => no --> => yes <+(?x_1,?y_1), +(?x_1,+(?y_1,0))> --> <+(?x_1,?y_1), +(?x_1,?y_1)> => yes <+(?y,?z_1), +(?y,+(0,?z_1))> --> <+(?y,?z_1), +(?y,?z_1)> => yes <+(?x_1,?y), +(+(?x_1,?y),0)> --> <+(?x_1,?y), +(?x_1,?y)> => yes --> => yes --> => no <+(s(+(?x,?y)),?z_1), +(?y,+(s(?x),?z_1))> --> => no <+(?x_1,s(+(?x,?y))), +(+(?x_1,?y),s(?x))> --> => no --> => yes check joinability condition: check modulo joinability of s(+(+(?x,?y),?x_1)) and s(+(+(?x,?x_1),?y)): joinable by {2} check modulo joinability of s(+(?x,+(?x_1,?y_1))) and s(+(+(?x,?y_1),?x_1)): joinable by {2} check modulo joinability of s(+(+(?x,?y),?z_1)) and s(+(+(?x,?z_1),?y)): joinable by {2} check modulo joinability of s(+(+(?x,?y),?x_1)) and s(+(?x,+(?x_1,?y))): joinable by {2} success P': [ +(+(?x,?y),?z) -> +(?x,+(?y,?z)) ] Check relative termination: [ +(0,?y) -> ?y, +(s(?x),?y) -> s(+(?x,?y)), dbl(?x) -> +(?x,?x), +(?y,0) -> ?y, +(?y,s(?x)) -> s(+(?x,?y)) ] [ +(+(?x,?y),?z) -> +(?x,+(?y,?z)) ] Polynomial Interpretation: +:= (1)*x1+(1)*x1*x2+(1)*x2 0:= (14) s:= (8)+(8)*x1 dbl:= (6)+(8)*x1+(4)*x1*x1 retract +(0,?y) -> ?y retract dbl(?x) -> +(?x,?x) retract +(?y,0) -> ?y Polynomial Interpretation: +:= (1)+(2)*x1+(2)*x1*x2+(2)*x2 0:= (15) s:= (4)+(1)*x1 dbl:= (2)*x1+(4)*x1*x1 relatively terminating S/P': relatively terminating S: [ +(0,?y) -> ?y, +(s(?x),?y) -> s(+(?x,?y)), dbl(?x) -> +(?x,?x), +(?y,0) -> ?y, +(?y,s(?x)) -> s(+(?x,?y)) ] P: [ +(+(?x,?y),?z) -> +(?x,+(?y,?z)), +(?x,?y) -> +(?y,?x) ] Success Reduction-Preserving Completion Direct Methods: CR Final result: CR 192.trs: Success(CR) (2531 msec.)