NO Rewrite Rules: [ node(?x,?y) -> node(?y,?x), max(?x,0) -> ?x, max(0,?y) -> ?y, max(s(?x),s(?y)) -> s(max(?x,?y)), height(leaf) -> 0, height(node(?x,?y)) -> s(max(height(?x),height(?y))) ] Apply Direct Methods... Inner CPs: [ height(node(?y,?x)) = s(max(height(?x),height(?y))) ] Outer CPs: [ 0 = 0 ] 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: [ s(max(height(?x),height(?y))) = height(node(?y,?x)), 0 = 0, height(node(?y,?x)) = s(max(height(?x),height(?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 by Rules <0, 5> preceded by [(height,1)] joinable by a reduction of rules <[([(height,1)],0),([],5)], []> Critical Pair <0, 0> by Rules <2, 1> preceded by [] joinable by a reduction of rules <[], []> unknown Diagram Decreasing check Non-Confluence... obtain 9 rules by 3 steps unfolding obtain 7 candidates for checking non-joinability check by TCAP-Approximation [ node(?x:Tree,?y:Tree) -> node(?y:Tree,?x:Tree), max(?x:Nat,0) -> ?x:Nat, max(0,?y:Nat) -> ?y:Nat, max(s(?x:Nat),s(?y:Nat)) -> s(max(?x:Nat,?y:Nat)), height(leaf) -> 0, height(node(?x:Tree,?y:Tree)) -> s(max(height(?x:Tree),height(?y:Tree))) ] [ node(?x:Tree,?y:Tree) -> node(?y:Tree,?x:Tree), max(?x:Nat,0) -> ?x:Nat, max(0,?y:Nat) -> ?y:Nat, max(s(?x:Nat),s(?y:Nat)) -> s(max(?x:Nat,?y:Nat)), height(leaf) -> 0, height(node(?x:Tree,?y:Tree)) -> s(max(height(?x:Tree),height(?y:Tree))) ] [ node(?x:Tree,?y:Tree) -> node(?y:Tree,?x:Tree), max(?x:Nat,0) -> ?x:Nat, max(0,?y:Nat) -> ?y:Nat, max(s(?x:Nat),s(?y:Nat)) -> s(max(?x:Nat,?y:Nat)), height(leaf) -> 0, height(node(?x:Tree,?y:Tree)) -> s(max(height(?x:Tree),height(?y:Tree))) ] [ node(?x:Tree,?y:Tree) -> node(?y:Tree,?x:Tree), max(?x:Nat,0) -> ?x:Nat, max(0,?y:Nat) -> ?y:Nat, max(s(?x:Nat),s(?y:Nat)) -> s(max(?x:Nat,?y:Nat)), height(leaf) -> 0, height(node(?x:Tree,?y:Tree)) -> s(max(height(?x:Tree),height(?y:Tree))) ] [ node(?x:Tree,?y:Tree) -> node(?y:Tree,?x:Tree), max(?x:Nat,0) -> ?x:Nat, max(0,?y:Nat) -> ?y:Nat, max(s(?x:Nat),s(?y:Nat)) -> s(max(?x:Nat,?y:Nat)), height(leaf) -> 0, height(node(?x:Tree,?y:Tree)) -> s(max(height(?x:Tree),height(?y:Tree))) ] [ node(?x:Tree,?y:Tree) -> node(?y:Tree,?x:Tree), max(?x:Nat,0) -> ?x:Nat, max(0,?y:Nat) -> ?y:Nat, max(s(?x:Nat),s(?y:Nat)) -> s(max(?x:Nat,?y:Nat)), height(leaf) -> 0, height(node(?x:Tree,?y:Tree)) -> s(max(height(?x:Tree),height(?y:Tree))) ] [ node(?x:Tree,?y:Tree) -> node(?y:Tree,?x:Tree), max(?x:Nat,0) -> ?x:Nat, max(0,?y:Nat) -> ?y:Nat, max(s(?x:Nat),s(?y:Nat)) -> s(max(?x:Nat,?y:Nat)), height(leaf) -> 0, height(node(?x:Tree,?y:Tree)) -> s(max(height(?x:Tree),height(?y:Tree))) ] [ node(?x:Tree,?y:Tree) -> node(?y:Tree,?x:Tree), max(?x:Nat,0) -> ?x:Nat, max(0,?y:Nat) -> ?y:Nat, max(s(?x:Nat),s(?y:Nat)) -> s(max(?x:Nat,?y:Nat)), height(leaf) -> 0, height(node(?x:Tree,?y:Tree)) -> s(max(height(?x:Tree),height(?y:Tree))) ] [ node(?x:Tree,?y:Tree) -> node(?y:Tree,?x:Tree), max(?x:Nat,0) -> ?x:Nat, max(0,?y:Nat) -> ?y:Nat, max(s(?x:Nat),s(?y:Nat)) -> s(max(?x:Nat,?y:Nat)), height(leaf) -> 0, height(node(?x:Tree,?y:Tree)) -> s(max(height(?x:Tree),height(?y:Tree))) ] [ node(?x:Tree,?y:Tree) -> node(?y:Tree,?x:Tree), max(?x:Nat,0) -> ?x:Nat, max(0,?y:Nat) -> ?y:Nat, max(s(?x:Nat),s(?y:Nat)) -> s(max(?x:Nat,?y:Nat)), height(leaf) -> 0, height(node(?x:Tree,?y:Tree)) -> s(max(height(?x:Tree),height(?y:Tree))) ] [ node(?x:Tree,?y:Tree) -> node(?y:Tree,?x:Tree), max(?x:Nat,0) -> ?x:Nat, max(0,?y:Nat) -> ?y:Nat, max(s(?x:Nat),s(?y:Nat)) -> s(max(?x:Nat,?y:Nat)), height(leaf) -> 0, height(node(?x:Tree,?y:Tree)) -> s(max(height(?x:Tree),height(?y:Tree))) ] [ node(?x:Tree,?y:Tree) -> node(?y:Tree,?x:Tree), max(?x:Nat,0) -> ?x:Nat, max(0,?y:Nat) -> ?y:Nat, max(s(?x:Nat),s(?y:Nat)) -> s(max(?x:Nat,?y:Nat)), height(leaf) -> 0, height(node(?x:Tree,?y:Tree)) -> s(max(height(?x:Tree),height(?y:Tree))) ] [ node(?x:Tree,?y:Tree) -> node(?y:Tree,?x:Tree), max(?x:Nat,0) -> ?x:Nat, max(0,?y:Nat) -> ?y:Nat, max(s(?x:Nat),s(?y:Nat)) -> s(max(?x:Nat,?y:Nat)), height(leaf) -> 0, height(node(?x:Tree,?y:Tree)) -> s(max(height(?x:Tree),height(?y:Tree))) ] [ node(?x:Tree,?y:Tree) -> node(?y:Tree,?x:Tree), max(?x:Nat,0) -> ?x:Nat, max(0,?y:Nat) -> ?y:Nat, max(s(?x:Nat),s(?y:Nat)) -> s(max(?x:Nat,?y:Nat)), height(leaf) -> 0, height(node(?x:Tree,?y:Tree)) -> s(max(height(?x:Tree),height(?y:Tree))) ] (success) Witness for Non-Confluence: s(max(height(c_2),height(c_1)))> Direct Methods: not CR Final result: not CR new/tree3.trs: Success(not CR) (33 msec.)