YES (ignored inputs)COMMENT from the collection of \cite{AT2012} Rewrite Rules: [ +(?x,0) -> ?x, +(s(?x),?y) -> s(+(?y,?x)), +(+(?x,?y),?z) -> +(?x,+(?y,?z)), +(?x,?y) -> +(?y,?x) ] Apply Direct Methods... Inner CPs: [ +(?x,?z_2) = +(?x,+(0,?z_2)), +(s(+(?y_1,?x_1)),?z_2) = +(s(?x_1),+(?y_1,?z_2)), +(+(?y_3,?x_3),?z_2) = +(?x_3,+(?y_3,?z_2)), +(+(?x,+(?y,?z)),?z_1) = +(+(?x,?y),+(?z,?z_1)) ] Outer CPs: [ s(?x_1) = s(+(0,?x_1)), +(?x_2,?y_2) = +(?x_2,+(?y_2,0)), ?x = +(0,?x), s(+(?y_1,?x_1)) = +(?y_1,s(?x_1)), +(?x_2,+(?y_2,?z_2)) = +(?z_2,+(?x_2,?y_2)) ] not Overlay, check Termination... unknown/not Terminating unknown Knuth & Bendix Linear unknown Development Closed unknown Strongly 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: [ s(+(0,?x_1)) = s(?x_1), +(?x_2,+(?y_2,0)) = +(?x_2,?y_2), +(0,?x) = ?x, +(?x,+(0,?z_3)) = +(?x,?z_3), s(?x) = s(+(0,?x)), +(?y,s(?x)) = s(+(?y,?x)), +(s(?x),+(?y,?z_3)) = +(s(+(?y,?x)),?z_3), +(?x_1,+(?y_1,?y)) = +(+(?x_1,?y_1),+(?y,0)), ?x = +(?x,+(0,0)), s(+(?y,?x_3)) = +(s(?x_3),+(?y,0)), +(?y,?x) = +(?x,+(?y,0)), +(?z,+(?x_1,+(?y_1,?y))) = +(+(?x_1,?y_1),+(?y,?z)), +(?z,?x) = +(?x,+(0,?z)), +(?z,s(+(?y,?x_3))) = +(s(?x_3),+(?y,?z)), +(?z,+(?y,?x)) = +(?x,+(?y,?z)), +(?x,?y) = +(?x,+(?y,0)), +(?z,+(?x,?y)) = +(?x,+(?y,?z)), +(+(?x_1,+(?y_1,?y)),?z) = +(+(?x_1,?y_1),+(?y,?z)), +(?x,?z) = +(?x,+(0,?z)), +(s(+(?y,?x_3)),?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), +(?x,+(?z,?z_1)) = +(+(?x,+(0,?z)),?z_1), +(s(+(?y,?x_4)),+(?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), ?x = +(0,?x), s(+(?y,?x_2)) = +(?y,s(?x_2)), +(?x_3,+(?y_3,?y)) = +(?y,+(?x_3,?y_3)), +(?x,+(?y,?z_4)) = +(+(?y,?x),?z_4) ] 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 <+(?x,?z_2), +(?x,+(0,?z_2))> by Rules <0, 2> preceded by [(+,1)] joinable by a reduction of rules <[], [([(+,2)],3),([(+,2)],0)]> Critical Pair <+(s(+(?y_1,?x_1)),?z_2), +(s(?x_1),+(?y_1,?z_2))> by Rules <1, 2> preceded by [(+,1)] joinable by a reduction of rules <[([],1)], [([(+,2)],3),([],1),([(s,1)],2)]> joinable by a reduction of rules <[([],1)], [([],1),([(s,1),(+,1)],3),([(s,1)],2)]> joinable by a reduction of rules <[([(+,1),(s,1)],3),([],1),([(s,1),(+,2)],3)], [([(+,2)],3),([],1),([(s,1)],2)]> joinable by a reduction of rules <[([(+,1),(s,1)],3),([],1),([(s,1),(+,2)],3)], [([],1),([(s,1),(+,1)],3),([(s,1)],2)]> joinable by a reduction of rules <[([],1),([(s,1)],3),([(s,1)],2)], [([],1),([(s,1)],2),([(s,1),(+,2)],3)]> Critical Pair <+(+(?y_3,?x_3),?z_2), +(?x_3,+(?y_3,?z_2))> by Rules <3, 2> preceded by [(+,1)] joinable by a reduction of rules <[([(+,1)],3),([],2)], []> joinable by a reduction of rules <[([],2),([(+,2)],3)], [([],3),([],2)]> Critical Pair <+(+(?x,+(?y,?z)),?z_1), +(+(?x,?y),+(?z,?z_1))> by Rules <2, 2> preceded by [(+,1)] joinable by a reduction of rules <[([],2),([(+,2)],2)], [([],2)]> Critical Pair by Rules <1, 0> preceded by [] joinable by a reduction of rules <[([(s,1)],3),([(s,1)],0)], []> Critical Pair <+(?x_2,+(?y_2,0)), +(?x_2,?y_2)> by Rules <2, 0> preceded by [] joinable by a reduction of rules <[([(+,2)],0)], []> Critical Pair <+(0,?x_3), ?x_3> by Rules <3, 0> preceded by [] joinable by a reduction of rules <[([],3),([],0)], []> Critical Pair <+(?y_3,s(?x_1)), s(+(?y_3,?x_1))> by Rules <3, 1> preceded by [] joinable by a reduction of rules <[([],3),([],1)], []> Critical Pair <+(?y_3,+(?x_2,?y_2)), +(?x_2,+(?y_2,?y_3))> by Rules <3, 2> preceded by [] joinable by a reduction of rules <[([],3),([],2)], []> unknown Diagram Decreasing check Non-Confluence... obtain 14 rules by 3 steps unfolding strenghten +(?x_6,0) and ?x_6 strenghten +(0,?x_3) and ?x_3 strenghten +(?x_9,?y_9) and +(?y_9,?x_9) strenghten +(?x_12,s(0)) and s(?x_12) strenghten +(s(0),?x_12) and s(?x_12) strenghten s(+(0,?x_1)) and s(?x_1) strenghten s(+(?x_10,?x_1)) and +(?x_10,s(?x_1)) strenghten s(+(?x_11,?x_1)) and +(s(?x_1),?x_11) strenghten +(?x,+(0,?z_2)) and +(?x,?z_2) strenghten +(?x_2,+(?y_2,0)) and +(?x_2,?y_2) strenghten +(0,+(?x_6,?z_2)) and +(?x_6,?z_2) strenghten s(+(s(0),?x_1)) and s(s(?x_1)) strenghten +(?x_2,+(?y_2,?x_10)) and +(?x_10,+(?x_2,?y_2)) strenghten +(?x_2,+(?y_2,?x_11)) and +(+(?x_2,?y_2),?x_11) strenghten +(?x_3,+(?y_3,?z_2)) and +(+(?y_3,?x_3),?z_2) strenghten +(?x_2,+(?y_2,s(0))) and s(+(?x_2,?y_2)) strenghten +(?x_12,+(s(0),?z_2)) and +(s(?x_12),?z_2) strenghten +(s(?x_1),+(?y_1,?z_2)) and +(s(+(?y_1,?x_1)),?z_2) 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: [ +(?x,0) -> ?x, +(s(?x),?y) -> s(+(?y,?x)) ] [ +(+(?x,?y),?z) -> +(?x,+(?y,?z)), +(?x,?y) -> +(?y,?x) ] Polynomial Interpretation: +:= (1)*x1+(1)*x2 0:= (5) s:= (1)*x1 retract +(?x,0) -> ?x Polynomial Interpretation: +:= (1)+(2)*x1+(2)*x1*x2+(2)*x2 0:= 0 s:= (4)+(1)*x1 relatively terminating unknown Huet (modulo AC) check by Reduction-Preserving Completion... STEP: 1 (parallel) S: [ +(?x,0) -> ?x, +(s(?x),?y) -> s(+(?y,?x)) ] P: [ +(+(?x,?y),?z) -> +(?x,+(?y,?z)), +(?x,?y) -> +(?y,?x) ] S: terminating CP(S,S): --> => no PCP_in(symP,S): CP(S,symP): <+(?x_1,?y_1), +(?x_1,+(?y_1,0))> --> <+(?x_1,?y_1), +(?x_1,?y_1)> => yes <+(?x,?z_1), +(?x,+(0,?z_1))> --> <+(?x,?z_1), +(?x,+(0,?z_1))> => no <+(?x_1,?x), +(+(?x_1,?x),0)> --> <+(?x_1,?x), +(?x_1,?x)> => yes --> => no <+(s(+(?y,?x)),?z_1), +(s(?x),+(?y,?z_1))> --> => no --> => no <+(?x_1,s(+(?y,?x))), +(+(?x_1,s(?x)),?y)> --> <+(?x_1,s(+(?y,?x))), +(+(?x_1,s(?x)),?y)> => no --> => no check joinability condition: check modulo joinability of s(+(0,?x_1)) and s(?x_1): joinable by {0} check modulo reachablity from +(?x,?z_1) to +(?x,+(0,?z_1)): maybe not reachable check modulo reachablity from ?x to +(0,?x): maybe not reachable check modulo joinability of s(+(?z_1,+(?y,?x))) and s(+(+(?y,?z_1),?x)): joinable by {1} check modulo joinability of s(+(+(?y_1,?z_1),?x)) and s(+(?z_1,+(?y_1,?x))): joinable by {1} check modulo reachablity from +(?x_1,s(+(?y,?x))) to +(+(?x_1,s(?x)),?y): maybe not reachable check modulo reachablity from s(+(?y,?x)) to +(?y,s(?x)): maybe not reachable failed failure(Step 1) [ +(0,?x) -> ?x, +(?y,s(?x)) -> s(+(?y,?x)) ] Added S-Rules: [ +(0,?x) -> ?x, +(?y,s(?x)) -> s(+(?y,?x)) ] Added P-Rules: [ ] replace: +(s(?x),?y) -> s(+(?y,?x)) => +(s(?x),?y) -> s(+(?x,?y)) STEP: 2 (linear) S: [ +(?x,0) -> ?x, +(s(?x),?y) -> s(+(?y,?x)) ] P: [ +(+(?x,?y),?z) -> +(?x,+(?y,?z)), +(?x,?y) -> +(?y,?x) ] S: terminating CP(S,S): --> => no CP_in(symP,S): CP(S,symP): <+(?x_1,?y_1), +(?x_1,+(?y_1,0))> --> <+(?x_1,?y_1), +(?x_1,?y_1)> => yes <+(?x,?z_1), +(?x,+(0,?z_1))> --> <+(?x,?z_1), +(?x,+(0,?z_1))> => no <+(?x_1,?x), +(+(?x_1,?x),0)> --> <+(?x_1,?x), +(?x_1,?x)> => yes --> => no <+(s(+(?y,?x)),?z_1), +(s(?x),+(?y,?z_1))> --> => no --> => no <+(?x_1,s(+(?y,?x))), +(+(?x_1,s(?x)),?y)> --> <+(?x_1,s(+(?y,?x))), +(+(?x_1,s(?x)),?y)> => no --> => no check joinability condition: check modulo joinability of s(+(0,?x_1)) and s(?x_1): maybe not joinable check modulo reachablity from +(?x,?z_1) to +(?x,+(0,?z_1)): maybe not reachable check modulo reachablity from ?x to +(0,?x): maybe not reachable check modulo joinability of s(+(?z_1,+(?y,?x))) and s(+(+(?y,?z_1),?x)): joinable by {1} check modulo joinability of s(+(+(?y_1,?z_1),?x)) and s(+(?z_1,+(?y_1,?x))): joinable by {1} check modulo reachablity from +(?x_1,s(+(?y,?x))) to +(+(?x_1,s(?x)),?y): maybe not reachable check modulo reachablity from s(+(?y,?x)) to +(?y,s(?x)): maybe not reachable failed failure(Step 2) [ +(0,?x) -> ?x, +(?y,s(?x)) -> s(+(?y,?x)) ] Added S-Rules: [ +(0,?x) -> ?x, +(?y,s(?x)) -> s(+(?y,?x)) ] Added P-Rules: [ ] replace: +(s(?x),?y) -> s(+(?y,?x)) => +(s(?x),?y) -> s(+(?x,?y)) STEP: 3 (relative) S: [ +(?x,0) -> ?x, +(s(?x),?y) -> s(+(?y,?x)) ] P: [ +(+(?x,?y),?z) -> +(?x,+(?y,?z)), +(?x,?y) -> +(?y,?x) ] Check relative termination: [ +(?x,0) -> ?x, +(s(?x),?y) -> s(+(?y,?x)) ] [ +(+(?x,?y),?z) -> +(?x,+(?y,?z)), +(?x,?y) -> +(?y,?x) ] Polynomial Interpretation: +:= (1)*x1+(1)*x2 0:= (5) s:= (1)*x1 retract +(?x,0) -> ?x Polynomial Interpretation: +:= (1)+(2)*x1+(2)*x1*x2+(2)*x2 0:= 0 s:= (4)+(1)*x1 relatively terminating S/P: relatively terminating check CP condition: failed failure(Step 3) STEP: 4 (parallel) S: [ +(?x,0) -> ?x, +(s(?x),?y) -> s(+(?y,?x)), +(0,?x) -> ?x, +(?y,s(?x)) -> s(+(?y,?x)) ] P: [ +(+(?x,?y),?z) -> +(?x,+(?y,?z)), +(?x,?y) -> +(?y,?x) ] S: terminating CP(S,S): --> => yes <0, 0> --> <0, 0> => yes --> => yes --> => yes PCP_in(symP,S): CP(S,symP): <+(?x_1,?y_1), +(?x_1,+(?y_1,0))> --> <+(?x_1,?y_1), +(?x_1,?y_1)> => yes <+(?x,?z_1), +(?x,+(0,?z_1))> --> <+(?x,?z_1), +(?x,?z_1)> => yes <+(?x_1,?x), +(+(?x_1,?x),0)> --> <+(?x_1,?x), +(?x_1,?x)> => yes --> => yes <+(s(+(?y,?x)),?z_1), +(s(?x),+(?y,?z_1))> --> => no --> => no <+(?x_1,s(+(?y,?x))), +(+(?x_1,s(?x)),?y)> --> => no --> => yes <+(?x,?z_1), +(0,+(?x,?z_1))> --> <+(?x,?z_1), +(?x,?z_1)> => yes <+(?y_1,?z_1), +(+(0,?y_1),?z_1)> --> <+(?y_1,?z_1), +(?y_1,?z_1)> => yes <+(?x_1,?x), +(+(?x_1,0),?x)> --> <+(?x_1,?x), +(?x_1,?x)> => yes --> => yes --> => yes <+(s(+(?y,?x)),?z_1), +(?y,+(s(?x),?z_1))> --> => no <+(?x_1,s(+(?y,?x))), +(+(?x_1,?y),s(?x))> --> => yes --> => yes check joinability condition: check modulo joinability of s(+(?z_1,+(?y,?x))) and s(+(+(?y,?z_1),?x)): joinable by {1} check modulo joinability of s(+(+(?y_1,?z_1),?x)) and s(+(?z_1,+(?y_1,?x))): joinable by {1} check modulo joinability of s(+(?x_1,+(?y,?x))) and s(+(?y,+(?x_1,?x))): joinable by {1} check modulo joinability of s(+(?z_1,+(?y,?x))) and s(+(?y,+(?z_1,?x))): joinable by {1} success P': [ +(?x,+(?y,?z)) -> +(+(?x,?y),?z) ] Check relative termination: [ +(?x,0) -> ?x, +(s(?x),?y) -> s(+(?y,?x)), +(0,?x) -> ?x, +(?y,s(?x)) -> s(+(?y,?x)) ] [ +(?x,+(?y,?z)) -> +(+(?x,?y),?z) ] Polynomial Interpretation: +:= (1)*x1+(2)*x1*x2+(1)*x2 0:= (1) s:= (4)+(8)*x1 retract +(?x,0) -> ?x retract +(0,?x) -> ?x Polynomial Interpretation: +:= (1)+(2)*x1+(2)*x1*x2+(2)*x2 0:= 0 s:= (4)+(1)*x1 relatively terminating S/P': relatively terminating S: [ +(?x,0) -> ?x, +(s(?x),?y) -> s(+(?y,?x)), +(0,?x) -> ?x, +(?y,s(?x)) -> s(+(?y,?x)) ] P: [ +(+(?x,?y),?z) -> +(?x,+(?y,?z)), +(?x,?y) -> +(?y,?x) ] Success Reduction-Preserving Completion Direct Methods: CR Final result: CR 174.trs: Success(CR) (3393 msec.)