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