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),?z) -> +(?x,+(?y,?z)), +(?x,?y) -> +(?y,?x) ] Apply Direct Methods... Inner CPs: [ +(?x,?z_4) = +(?x,+(0,?z_4)), +(s(+(?x_1,?y_1)),?z_4) = +(?x_1,+(s(?y_1),?z_4)), +(+(?y_5,?x_5),?z_4) = +(?x_5,+(?y_5,?z_4)), +(+(?x,+(?y,?z)),?z_1) = +(+(?x,?y),+(?z,?z_1)) ] Outer CPs: [ +(?x_4,?y_4) = +(?x_4,+(?y_4,0)), ?x = +(0,?x), s(+(+(?x_4,?y_4),?y_1)) = +(?x_4,+(?y_4,s(?y_1))), s(+(?x_1,?y_1)) = +(s(?y_1),?x_1), +(?x_4,+(?y_4,?z_4)) = +(?z_4,+(?x_4,?y_4)) ] 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: [ +(?x_4,+(?y_4,0)) = +(?x_4,?y_4), +(0,?x) = ?x, +(?x,+(0,?z_5)) = +(?x,?z_5), +(?x_4,+(?y_4,s(?y))) = s(+(+(?x_4,?y_4),?y)), +(s(?y),?x) = s(+(?x,?y)), +(?x,+(s(?y),?z_5)) = +(s(+(?x,?y)),?z_5), +(?x_1,+(?y_1,?y)) = +(+(?x_1,?y_1),+(?y,0)), ?x = +(?x,+(0,0)), s(+(?x,?y_3)) = +(?x,+(s(?y_3),0)), +(?y,?x) = +(?x,+(?y,0)), s(+(+(?x_3,+(?y_3,?y)),?y_2)) = +(+(?x_3,?y_3),+(?y,s(?y_2))), s(+(?x,?y_2)) = +(?x,+(0,s(?y_2))), s(+(s(+(?x,?y_5)),?y_2)) = +(?x,+(s(?y_5),s(?y_2))), s(+(+(?y,?x),?y_2)) = +(?x,+(?y,s(?y_2))), +(?z,+(?x_1,+(?y_1,?y))) = +(+(?x_1,?y_1),+(?y,?z)), +(?z,?x) = +(?x,+(0,?z)), +(?z,s(+(?x,?y_3))) = +(?x,+(s(?y_3),?z)), +(?z,+(?y,?x)) = +(?x,+(?y,?z)), +(?x,?y) = +(?x,+(?y,0)), s(+(+(?x,?y),?y_2)) = +(?x,+(?y,s(?y_2))), +(?z,+(?x,?y)) = +(?x,+(?y,?z)), +(+(?x_1,+(?y_1,?y)),?z) = +(+(?x_1,?y_1),+(?y,?z)), +(?x,?z) = +(?x,+(0,?z)), +(s(+(?x,?y_3)),?z) = +(?x,+(s(?y_3),?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(+(?x,?y_4)),+(?z,?z_1)) = +(+(?x,+(s(?y_4),?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(+(?x,?y_2)) = +(s(?y_2),?x), +(?x_5,+(?y_5,?y)) = +(?y,+(?x_5,?y_5)), +(?x,+(?y,?z_6)) = +(+(?y,?x),?z_6) ] 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_4), +(?x,+(0,?z_4))> by Rules <0, 4> preceded by [(+,1)] joinable by a reduction of rules <[], [([(+,2)],5),([(+,2)],0)]> Critical Pair <+(s(+(?x_1,?y_1)),?z_4), +(?x_1,+(s(?y_1),?z_4))> by Rules <1, 4> preceded by [(+,1)] joinable by a reduction of rules <[([],5),([],1),([(s,1)],5),([(s,1)],4)], [([(+,2)],5),([(+,2)],1),([(+,2),(s,1)],5),([],1)]> joinable by a reduction of rules <[([],5),([],1),([(s,1)],5),([(s,1)],4)], [([(+,2)],5),([(+,2)],1),([],1),([(s,1),(+,2)],5)]> Critical Pair <+(+(?y_5,?x_5),?z_4), +(?x_5,+(?y_5,?z_4))> by Rules <5, 4> preceded by [(+,1)] joinable by a reduction of rules <[([(+,1)],5),([],4)], []> joinable by a reduction of rules <[([],4),([(+,2)],5)], [([],5),([],4)]> Critical Pair <+(+(?x,+(?y,?z)),?z_1), +(+(?x,?y),+(?z,?z_1))> by Rules <4, 4> preceded by [(+,1)] joinable by a reduction of rules <[([],4),([(+,2)],4)], [([],4)]> Critical Pair <+(?x_4,+(?y_4,0)), +(?x_4,?y_4)> by Rules <4, 0> preceded by [] joinable by a reduction of rules <[([(+,2)],0)], []> Critical Pair <+(0,?x_5), ?x_5> by Rules <5, 0> preceded by [] joinable by a reduction of rules <[([],5),([],0)], []> Critical Pair <+(?x_4,+(?y_4,s(?y_1))), s(+(+(?x_4,?y_4),?y_1))> by Rules <4, 1> preceded by [] joinable by a reduction of rules <[([(+,2)],1),([],1)], [([(s,1)],4)]> Critical Pair <+(s(?y_1),?x_5), s(+(?x_5,?y_1))> by Rules <5, 1> preceded by [] joinable by a reduction of rules <[([],5),([],1)], []> Critical Pair <+(?y_5,+(?x_4,?y_4)), +(?x_4,+(?y_4,?y_5))> by Rules <5, 4> preceded by [] joinable by a reduction of rules <[([],5),([],4)], []> 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),?z_4) -> +(?x_4,+(?y_4,?z_4)), +(?x_5,?y_5) -> +(?y_5,?x_5) ] Sort Assignment: * : 21*21=>21 + : 21*21=>21 0 : =>21 s : 21=>21 non-linear variables: {?x_3} non-linear types: {21} types leq non-linear types: {21} 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),?z_4) -> +(?x_4,+(?y_4,?z_4)), +(?x_5,?y_5) -> +(?y_5,?x_5) ] NLR: 0: {} 1: {} 2: {} 3: {0,1,2,3,4,5} 4: {} 5: {} 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),?z_4) -> +(?x_4,+(?y_4,?z_4)), +(?x_5,?y_5) -> +(?y_5,?x_5) ] Sort Assignment: * : 21*21=>21 + : 21*21=>21 0 : =>21 s : 21=>21 non-linear variables: {?x_3} non-linear types: {21} types leq non-linear types: {21} 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),?z_4) -> +(?x_4,+(?y_4,?z_4)), +(?x_5,?y_5) -> +(?y_5,?x_5) ] unknown innermost-termination for terms of non-linear types unknown Strongly Quasi-Linear & Hierarchically Decreasing check Non-Confluence... obtain 16 rules by 3 steps unfolding strenghten +(?x_9,0) and ?x_9 strenghten +(0,?x_5) and ?x_5 strenghten +(?x_14,?y_14) and +(?y_14,?x_14) strenghten s(+(0,?y_1)) and s(?y_1) strenghten +(*(?x_11,0),?x_11) and ?x_11 strenghten +(*(0,0),0) and 0 strenghten s(+(?x_5,?y_1)) and +(s(?y_1),?x_5) strenghten s(+(?x_13,?y_1)) and +(?x_13,s(?y_1)) strenghten +(?x,+(0,?z_4)) and +(?x,?z_4) strenghten +(?x_4,+(?y_4,0)) and +(?x_4,?y_4) strenghten +(0,+(?x_9,?z_4)) and +(?x_9,?z_4) strenghten +(?x_4,+(?y_4,?y_5)) and +(?y_5,+(?x_4,?y_4)) strenghten +(?x_4,+(?y_4,?y_13)) and +(+(?x_4,?y_4),?y_13) strenghten +(?x_5,+(?y_5,?z_4)) and +(+(?y_5,?x_5),?z_4) strenghten +(?x_1,+(s(?y_1),?z_4)) and +(s(+(?x_1,?y_1)),?z_4) strenghten s(+(+(?x_4,?y_4),?y_1)) and +(?x_4,+(?y_4,s(?y_1))) 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, +(?x,s(?y)) -> s(+(?x,?y)), *(?x,0) -> 0, *(?x,s(?y)) -> +(*(?x,?y),?x) ] [ +(+(?x,?y),?z) -> +(?x,+(?y,?z)), +(?x,?y) -> +(?y,?x) ] Polynomial Interpretation: *:= (1)*x1*x1+(2)*x1*x2+(2)*x2 +:= (2)+(1)*x1+(1)*x2 0:= (2) s:= (6)+(1)*x1 retract +(?x,0) -> ?x retract *(?x,0) -> 0 retract *(?x,s(?y)) -> +(*(?x,?y),?x) Polynomial Interpretation: *:= (2)+(1)*x1*x1+(2)*x2 +:= (1)+(2)*x1+(2)*x1*x2+(2)*x2 0:= (3) s:= (6)+(3)*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),?z) -> +(?x,+(?y,?z)), +(?x,?y) -> +(?y,?x) ] S: terminating CP(S,S): 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 --> => yes <+(s(+(?x,?y)),?z_1), +(?x,+(s(?y),?z_1))> --> <+(s(+(?x,?y)),?z_1), +(?x,+(s(?y),?z_1))> => no <+(?x_1,s(+(?x,?y))), +(+(?x_1,?x),s(?y))> --> => yes --> => no check joinability condition: 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 reachablity from +(s(+(?x,?y)),?z_1) to +(?x,+(s(?y),?z_1)): 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),?z) -> +(?x,+(?y,?z)), +(?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),?z) -> +(?x,+(?y,?z)), +(?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),?z) -> +(?x,+(?y,?z)), +(?x,?y) -> +(?y,?x) ] Polynomial Interpretation: *:= (1)*x1*x1+(2)*x1*x2+(2)*x2 +:= (2)+(1)*x1+(1)*x2 0:= (2) s:= (6)+(1)*x1 retract +(?x,0) -> ?x retract *(?x,0) -> 0 retract *(?x,s(?y)) -> +(*(?x,?y),?x) Polynomial Interpretation: *:= (2)+(1)*x1*x1+(2)*x2 +:= (1)+(2)*x1+(2)*x1*x2+(2)*x2 0:= (3) s:= (6)+(3)*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),?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): <+(?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 --> => yes <+(s(+(?x,?y)),?z_1), +(?x,+(s(?y),?z_1))> --> => no <+(?x_1,s(+(?x,?y))), +(+(?x_1,?x),s(?y))> --> => yes --> => 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 <+(s(+(?x,?y)),?z_1), +(s(?y),+(?x,?z_1))> --> => no --> => no <+(?x_1,s(+(?x,?y))), +(+(?x_1,s(?y)),?x)> --> => no --> => yes check joinability condition: check modulo joinability of s(+(?z_1,+(?x,?y))) and s(+(?x,+(?z_1,?y))): joinable by {1} check modulo joinability of s(+(?z_1,+(?x,?y))) and s(+(+(?x,?z_1),?y)): joinable by {1} check modulo joinability of s(+(+(?y_1,?z_1),?y)) and s(+(?z_1,+(?y_1,?y))): joinable by {1} check modulo joinability of s(+(?x_1,+(?x,?y))) and s(+(?x,+(?x_1,?y))): joinable by {1} success P': [ +(?x,+(?y,?z)) -> +(+(?x,?y),?z) ] Check relative termination: [ +(?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)) ] [ +(?x,+(?y,?z)) -> +(+(?x,?y),?z) ] Polynomial Interpretation: *:= (1)+(1)*x1+(1)*x1*x1+(1)*x1*x2+(2)*x2 +:= (1)*x1+(1)*x2 0:= 0 s:= (8)+(1)*x1 retract *(?x,0) -> 0 Polynomial Interpretation: *:= (1)+(1)*x1+(2)*x1*x2+(2)*x2 +:= (1)*x1+(1)*x2 0:= (12) s:= (15)+(1)*x1 retract +(?x,0) -> ?x retract *(?x,0) -> 0 retract *(?x,s(?y)) -> +(*(?x,?y),?x) retract +(0,?x) -> ?x Polynomial Interpretation: *:= (2)*x1+(1)*x2 +:= (1)+(2)*x1+(2)*x1*x2+(2)*x2 0:= (4) s:= (2)+(1)*x1 relatively terminating S/P': relatively terminating 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),?z) -> +(?x,+(?y,?z)), +(?x,?y) -> +(?y,?x) ] Success Reduction-Preserving Completion Direct Methods: CR Final result: CR 157.trs: Success(CR) (5558 msec.)