YES (ignored inputs)COMMENT the following rules are removed from the original TRS * ( x , 0 ( ) ) -> 0 ( ) * ( x , s ( y ) ) -> + ( * ( x , y ) , x ) Rewrite Rules: [ +(?x,?y) -> +(?y,?x), +(?x,0) -> ?x, +(?x,s(?y)) -> s(+(?x,?y)), +(+(?x,?y),?z) -> +(?x,+(?y,?z)) ] Apply Direct Methods... Inner CPs: [ +(+(?y,?x),?z_3) = +(?x,+(?y,?z_3)), +(?x_1,?z_3) = +(?x_1,+(0,?z_3)), +(s(+(?x_2,?y_2)),?z_3) = +(?x_2,+(s(?y_2),?z_3)), +(+(?x,+(?y,?z)),?z_1) = +(+(?x,?y),+(?z,?z_1)) ] Outer CPs: [ +(0,?x) = ?x, +(s(?y_2),?x) = s(+(?x,?y_2)), +(?y,+(?x_3,?y_3)) = +(?x_3,+(?y_3,?y)), +(?x_3,?y_3) = +(?x_3,+(?y_3,0)), s(+(+(?x_3,?y_3),?y_2)) = +(?x_3,+(?y_3,s(?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: [ ?x = +(0,?x), s(+(?x,?y_2)) = +(s(?y_2),?x), +(?x_3,+(?y_3,?y)) = +(?y,+(?x_3,?y_3)), +(?x,+(?y,?z_4)) = +(+(?y,?x),?z_4), +(0,?x) = ?x, +(?x_3,+(?y_3,0)) = +(?x_3,?y_3), +(?x,+(0,?z_4)) = +(?x,?z_4), +(s(?y),?x) = s(+(?x,?y)), +(?x_3,+(?y_3,s(?y))) = s(+(+(?x_3,?y_3),?y)), +(?x,+(s(?y),?z_4)) = +(s(+(?x,?y)),?z_4), +(?z,+(?x_1,+(?y_1,?y))) = +(+(?x_1,?y_1),+(?y,?z)), +(?z,+(?y,?x)) = +(?x,+(?y,?z)), +(?z,?x) = +(?x,+(0,?z)), +(?z,s(+(?x,?y_4))) = +(?x,+(s(?y_4),?z)), +(?x_1,+(?y_1,?y)) = +(+(?x_1,?y_1),+(?y,0)), +(?y,?x) = +(?x,+(?y,0)), ?x = +(?x,+(0,0)), s(+(?x,?y_4)) = +(?x,+(s(?y_4),0)), s(+(+(?x_4,+(?y_4,?y)),?y_3)) = +(+(?x_4,?y_4),+(?y,s(?y_3))), s(+(+(?y,?x),?y_3)) = +(?x,+(?y,s(?y_3))), s(+(?x,?y_3)) = +(?x,+(0,s(?y_3))), s(+(s(+(?x,?y_7)),?y_3)) = +(?x,+(s(?y_7),s(?y_3))), +(?z,+(?x,?y)) = +(?x,+(?y,?z)), +(?x,?y) = +(?x,+(?y,0)), s(+(+(?x,?y),?y_3)) = +(?x,+(?y,s(?y_3))), +(+(?x_1,+(?y_1,?y)),?z) = +(+(?x_1,?y_1),+(?y,?z)), +(+(?y,?x),?z) = +(?x,+(?y,?z)), +(?x,?z) = +(?x,+(0,?z)), +(s(+(?x,?y_4)),?z) = +(?x,+(s(?y_4),?z)), +(+(?x_2,+(?y_2,?y)),+(?z,?z_1)) = +(+(+(?x_2,?y_2),+(?y,?z)),?z_1), +(+(?y,?x),+(?z,?z_1)) = +(+(?x,+(?y,?z)),?z_1), +(?x,+(?z,?z_1)) = +(+(?x,+(0,?z)),?z_1), +(s(+(?x,?y_5)),+(?z,?z_1)) = +(+(?x,+(s(?y_5),?z)),?z_1), +(+(?x,?y),+(?z,?z_1)) = +(+(?x,+(?y,?z)),?z_1) ] 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,?x),?z_3), +(?x,+(?y,?z_3))> by Rules <0, 3> preceded by [(+,1)] joinable by a reduction of rules <[([(+,1)],0),([],3)], []> joinable by a reduction of rules <[([],3),([(+,2)],0)], [([],0),([],3)]> Critical Pair <+(?x_1,?z_3), +(?x_1,+(0,?z_3))> by Rules <1, 3> preceded by [(+,1)] joinable by a reduction of rules <[], [([(+,2)],0),([(+,2)],1)]> Critical Pair <+(s(+(?x_2,?y_2)),?z_3), +(?x_2,+(s(?y_2),?z_3))> by Rules <2, 3> preceded by [(+,1)] joinable by a reduction of rules <[([],0),([],2),([(s,1)],0),([(s,1)],3)], [([(+,2)],0),([(+,2)],2),([(+,2),(s,1)],0),([],2)]> joinable by a reduction of rules <[([],0),([],2),([(s,1)],0),([(s,1)],3)], [([(+,2)],0),([(+,2)],2),([],2),([(s,1),(+,2)],0)]> 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 by Rules <1, 0> preceded by [] joinable by a reduction of rules <[], [([],0),([],1)]> Critical Pair by Rules <2, 0> preceded by [] joinable by a reduction of rules <[], [([],0),([],2)]> Critical Pair <+(?x_3,+(?y_3,?z_3)), +(?z_3,+(?x_3,?y_3))> by Rules <3, 0> preceded by [] joinable by a reduction of rules <[], [([],0),([],3)]> Critical Pair <+(?x_3,+(?y_3,0)), +(?x_3,?y_3)> by Rules <3, 1> preceded by [] joinable by a reduction of rules <[([(+,2)],1)], []> Critical Pair <+(?x_3,+(?y_3,s(?y_2))), s(+(+(?x_3,?y_3),?y_2))> by Rules <3, 2> preceded by [] joinable by a reduction of rules <[([(+,2)],2),([],2)], [([(s,1)],3)]> unknown Diagram Decreasing check Non-Confluence... obtain 7 rules by 3 steps unfolding obtain 100 candidates for checking non-joinability check by TCAP-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,?y) -> +(?y,?x), +(+(?x,?y),?z) -> +(?x,+(?y,?z)) ] Polynomial Interpretation: +:= (1)*x1+(1)*x2 0:= (8) s:= (1)*x1 retract +(?x,0) -> ?x Polynomial Interpretation: +:= (2)+(2)*x1+(1)*x1*x2+(2)*x2 0:= (8) s:= (5)+(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)) ] P: [ +(?x,?y) -> +(?y,?x), +(+(?x,?y),?z) -> +(?x,+(?y,?z)) ] 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 --> => no <+(?x_1,?x), +(+(?x_1,?x),0)> --> <+(?x_1,?x), +(?x_1,?x)> => yes --> => yes <+(s(+(?x,?y)),?z_1), +(?x,+(s(?y),?z_1))> --> <+(s(+(?x,?y)),?z_1), +(?x,+(s(?y),?z_1))> => no --> => no <+(?x_1,s(+(?x,?y))), +(+(?x_1,?x),s(?y))> --> => yes 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)) ] P: [ +(?x,?y) -> +(?y,?x), +(+(?x,?y),?z) -> +(?x,+(?y,?z)) ] S: terminating CP(S,S): 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 --> => no <+(?x_1,?x), +(+(?x_1,?x),0)> --> <+(?x_1,?x), +(?x_1,?x)> => yes --> => yes <+(s(+(?x,?y)),?z_1), +(?x,+(s(?y),?z_1))> --> <+(s(+(?x,?y)),?z_1), +(?x,+(s(?y),?z_1))> => no --> => no <+(?x_1,s(+(?x,?y))), +(+(?x_1,?x),s(?y))> --> => yes 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 2) [ +(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: 3 (relative) S: [ +(?x,0) -> ?x, +(?x,s(?y)) -> s(+(?x,?y)) ] P: [ +(?x,?y) -> +(?y,?x), +(+(?x,?y),?z) -> +(?x,+(?y,?z)) ] Check relative termination: [ +(?x,0) -> ?x, +(?x,s(?y)) -> s(+(?x,?y)) ] [ +(?x,?y) -> +(?y,?x), +(+(?x,?y),?z) -> +(?x,+(?y,?z)) ] Polynomial Interpretation: +:= (1)*x1+(1)*x2 0:= (8) s:= (1)*x1 retract +(?x,0) -> ?x Polynomial Interpretation: +:= (2)+(2)*x1+(1)*x1*x2+(2)*x2 0:= (8) s:= (5)+(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)), +(0,?x) -> ?x, +(s(?y),?x) -> s(+(?x,?y)) ] P: [ +(?x,?y) -> +(?y,?x), +(+(?x,?y),?z) -> +(?x,+(?y,?z)) ] S: terminating CP(S,S): <0, 0> --> <0, 0> => yes --> => yes --> => yes --> => yes <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 --> => yes <+(?x_1,?x), +(+(?x_1,?x),0)> --> <+(?x_1,?x), +(?x_1,?x)> => yes --> => yes <+(s(+(?x,?y)),?z_1), +(?x,+(s(?y),?z_1))> --> => no --> => yes <+(?x_1,s(+(?x,?y))), +(+(?x_1,?x),s(?y))> --> => yes <+(?x,?z_1), +(0,+(?x,?z_1))> --> <+(?x,?z_1), +(?x,?z_1)> => yes --> => 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 <+(s(+(?x,?y)),?z_1), +(s(?y),+(?x,?z_1))> --> => no --> => yes --> => no <+(?x_1,s(+(?x,?y))), +(+(?x_1,s(?y)),?x)> --> => no check joinability condition: check modulo joinability of s(+(?z_1,+(?x,?y))) and s(+(?x,+(?z_1,?y))): joinable by {2} check modulo joinability of s(+(?z_1,+(?x,?y))) and s(+(+(?x,?z_1),?y)): joinable by {2} check modulo joinability of s(+(+(?y_1,?z_1),?y)) and s(+(?z_1,+(?y_1,?y))): joinable by {2} check modulo joinability of s(+(?x_1,+(?x,?y))) and s(+(?x,+(?x_1,?y))): joinable by {2} success P': [ +(?x,+(?y,?z)) -> +(+(?x,?y),?z) ] Check relative termination: [ +(?x,0) -> ?x, +(?x,s(?y)) -> s(+(?x,?y)), +(0,?x) -> ?x, +(s(?y),?x) -> s(+(?x,?y)) ] [ +(?x,+(?y,?z)) -> +(+(?x,?y),?z) ] Polynomial Interpretation: +:= (2)+(2)*x1+(1)*x1*x2+(2)*x2 0:= 0 s:= (6)+(4)*x1 retract +(?x,0) -> ?x retract +(0,?x) -> ?x Polynomial Interpretation: +:= (2)+(2)*x1+(1)*x1*x2+(2)*x2 0:= (14) s:= (2)+(1)*x1 relatively terminating S/P': relatively terminating S: [ +(?x,0) -> ?x, +(?x,s(?y)) -> s(+(?x,?y)), +(0,?x) -> ?x, +(s(?y),?x) -> s(+(?x,?y)) ] P: [ +(?x,?y) -> +(?y,?x), +(+(?x,?y),?z) -> +(?x,+(?y,?z)) ] Success Reduction-Preserving Completion Direct Methods: CR Combined result: CR /tmp/fileFMmXmn.trs: Success(CR) (1532 msec.)