NO Rewrite Rules: [ size(leaf) -> s(0), size(node(?x,?y)) -> +(size(?x),size(?y)), +(0,?y) -> ?y, +(s(?x),?y) -> s(+(?x,?y)), node(?x,?y) -> node(?y,?x) ] Apply Direct Methods... Inner CPs: [ size(node(?y_3,?x_3)) = +(size(?x_3),size(?y_3)) ] Outer CPs: [ ] not Overlay, check Termination... unknown/not Terminating unknown Knuth & Bendix Linear unknown Development Closed unknown Strongly Closed unknown Weakly-Non-Overlapping & Non-Collapsing & Shallow inner CP cond (upside-parallel) innter CP Cond (outside) unknown Upside-Parallel-Closed/Outside-Closed (inner) Parallel CPs: (not computed) unknown Toyama (Parallel CPs) Simultaneous CPs: [ size(node(?y,?x)) = +(size(?x),size(?y)), +(size(?x),size(?y)) = size(node(?y,?x)) ] 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 by Rules <4, 1> preceded by [(size,1)] joinable by a reduction of rules <[([(size,1)],4),([],1)], []> unknown Diagram Decreasing check Non-Confluence... obtain 9 rules by 3 steps unfolding obtain 9 candidates for checking non-joinability check by TCAP-Approximation [ size(leaf) -> s(0), size(node(?x:Tree,?y:Tree)) -> +(size(?x:Tree),size(?y:Tree)), +(0,?y:Nat) -> ?y:Nat, +(s(?x:Nat),?y:Nat) -> s(+(?x:Nat,?y:Nat)), node(?x:Tree,?y:Tree) -> node(?y:Tree,?x:Tree) ] [ size(leaf) -> s(0), size(node(?x:Tree,?y:Tree)) -> +(size(?x:Tree),size(?y:Tree)), +(0,?y:Nat) -> ?y:Nat, +(s(?x:Nat),?y:Nat) -> s(+(?x:Nat,?y:Nat)), node(?x:Tree,?y:Tree) -> node(?y:Tree,?x:Tree) ] [ size(leaf) -> s(0), size(node(?x:Tree,?y:Tree)) -> +(size(?x:Tree),size(?y:Tree)), +(0,?y:Nat) -> ?y:Nat, +(s(?x:Nat),?y:Nat) -> s(+(?x:Nat,?y:Nat)), node(?x:Tree,?y:Tree) -> node(?y:Tree,?x:Tree) ] [ size(leaf) -> s(0), size(node(?x:Tree,?y:Tree)) -> +(size(?x:Tree),size(?y:Tree)), +(0,?y:Nat) -> ?y:Nat, +(s(?x:Nat),?y:Nat) -> s(+(?x:Nat,?y:Nat)), node(?x:Tree,?y:Tree) -> node(?y:Tree,?x:Tree) ] [ size(leaf) -> s(0), size(node(?x:Tree,?y:Tree)) -> +(size(?x:Tree),size(?y:Tree)), +(0,?y:Nat) -> ?y:Nat, +(s(?x:Nat),?y:Nat) -> s(+(?x:Nat,?y:Nat)), node(?x:Tree,?y:Tree) -> node(?y:Tree,?x:Tree) ] [ size(leaf) -> s(0), size(node(?x:Tree,?y:Tree)) -> +(size(?x:Tree),size(?y:Tree)), +(0,?y:Nat) -> ?y:Nat, +(s(?x:Nat),?y:Nat) -> s(+(?x:Nat,?y:Nat)), node(?x:Tree,?y:Tree) -> node(?y:Tree,?x:Tree) ] [ size(leaf) -> s(0), size(node(?x:Tree,?y:Tree)) -> +(size(?x:Tree),size(?y:Tree)), +(0,?y:Nat) -> ?y:Nat, +(s(?x:Nat),?y:Nat) -> s(+(?x:Nat,?y:Nat)), node(?x:Tree,?y:Tree) -> node(?y:Tree,?x:Tree) ] [ size(leaf) -> s(0), size(node(?x:Tree,?y:Tree)) -> +(size(?x:Tree),size(?y:Tree)), +(0,?y:Nat) -> ?y:Nat, +(s(?x:Nat),?y:Nat) -> s(+(?x:Nat,?y:Nat)), node(?x:Tree,?y:Tree) -> node(?y:Tree,?x:Tree) ] [ size(leaf) -> s(0), size(node(?x:Tree,?y:Tree)) -> +(size(?x:Tree),size(?y:Tree)), +(0,?y:Nat) -> ?y:Nat, +(s(?x:Nat),?y:Nat) -> s(+(?x:Nat,?y:Nat)), node(?x:Tree,?y:Tree) -> node(?y:Tree,?x:Tree) ] [ size(leaf) -> s(0), size(node(?x:Tree,?y:Tree)) -> +(size(?x:Tree),size(?y:Tree)), +(0,?y:Nat) -> ?y:Nat, +(s(?x:Nat),?y:Nat) -> s(+(?x:Nat,?y:Nat)), node(?x:Tree,?y:Tree) -> node(?y:Tree,?x:Tree) ] [ size(leaf) -> s(0), size(node(?x:Tree,?y:Tree)) -> +(size(?x:Tree),size(?y:Tree)), +(0,?y:Nat) -> ?y:Nat, +(s(?x:Nat),?y:Nat) -> s(+(?x:Nat,?y:Nat)), node(?x:Tree,?y:Tree) -> node(?y:Tree,?x:Tree) ] [ size(leaf) -> s(0), size(node(?x:Tree,?y:Tree)) -> +(size(?x:Tree),size(?y:Tree)), +(0,?y:Nat) -> ?y:Nat, +(s(?x:Nat),?y:Nat) -> s(+(?x:Nat,?y:Nat)), node(?x:Tree,?y:Tree) -> node(?y:Tree,?x:Tree) ] [ size(leaf) -> s(0), size(node(?x:Tree,?y:Tree)) -> +(size(?x:Tree),size(?y:Tree)), +(0,?y:Nat) -> ?y:Nat, +(s(?x:Nat),?y:Nat) -> s(+(?x:Nat,?y:Nat)), node(?x:Tree,?y:Tree) -> node(?y:Tree,?x:Tree) ] [ size(leaf) -> s(0), size(node(?x:Tree,?y:Tree)) -> +(size(?x:Tree),size(?y:Tree)), +(0,?y:Nat) -> ?y:Nat, +(s(?x:Nat),?y:Nat) -> s(+(?x:Nat,?y:Nat)), node(?x:Tree,?y:Tree) -> node(?y:Tree,?x:Tree) ] [ size(leaf) -> s(0), size(node(?x:Tree,?y:Tree)) -> +(size(?x:Tree),size(?y:Tree)), +(0,?y:Nat) -> ?y:Nat, +(s(?x:Nat),?y:Nat) -> s(+(?x:Nat,?y:Nat)), node(?x:Tree,?y:Tree) -> node(?y:Tree,?x:Tree) ] [ size(leaf) -> s(0), size(node(?x:Tree,?y:Tree)) -> +(size(?x:Tree),size(?y:Tree)), +(0,?y:Nat) -> ?y:Nat, +(s(?x:Nat),?y:Nat) -> s(+(?x:Nat,?y:Nat)), node(?x:Tree,?y:Tree) -> node(?y:Tree,?x:Tree) ] [ size(leaf) -> s(0), size(node(?x:Tree,?y:Tree)) -> +(size(?x:Tree),size(?y:Tree)), +(0,?y:Nat) -> ?y:Nat, +(s(?x:Nat),?y:Nat) -> s(+(?x:Nat,?y:Nat)), node(?x:Tree,?y:Tree) -> node(?y:Tree,?x:Tree) ] [ size(leaf) -> s(0), size(node(?x:Tree,?y:Tree)) -> +(size(?x:Tree),size(?y:Tree)), +(0,?y:Nat) -> ?y:Nat, +(s(?x:Nat),?y:Nat) -> s(+(?x:Nat,?y:Nat)), node(?x:Tree,?y:Tree) -> node(?y:Tree,?x:Tree) ] (success) Witness for Non-Confluence: <+(size(c_1),size(c_2)) <- size(node(c_1,c_2)) -> +(size(c_2),size(c_1))> Direct Methods: not CR Final result: not CR new/tree1.trs: Success(not CR) (22 msec.)