NO Problem 1: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Confluence Problem: (VAR vNonEmpty y x) (REPLACEMENT-MAP (plus 1, 2) (qplus 1, 2) (0) (fSNonEmpty) (s 1) ) (RULES plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,y) -> qplus(x,y) qplus(0,y) -> y qplus(s(x),y) -> qplus(x,s(y)) ) ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Problem 1: Problem 1: Not CS-TRS Procedure: R is not a CS-TRS Problem 1: ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Confluence Problem: (VAR vNonEmpty y x) (REPLACEMENT-MAP (plus 1, 2) (qplus 1, 2) (0) (fSNonEmpty) (s 1) ) (RULES plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,y) -> qplus(x,y) qplus(0,y) -> y qplus(s(x),y) -> qplus(x,s(y)) ) ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Huet Levy Procedure: -> Rules: plus(0,y) -> y plus(s(x),y) -> s(plus(x,y)) plus(x,y) -> qplus(x,y) qplus(0,y) -> y qplus(s(x),y) -> qplus(x,s(y)) -> Vars: y, y, x, y, x, y, y, x -> Rlps: (rule: plus(0,y) -> y, id: 1, possubterms: plus(0,y)->[], 0->[1]) (rule: plus(s(x),y) -> s(plus(x,y)), id: 2, possubterms: plus(s(x),y)->[], s(x)->[1]) (rule: plus(x,y) -> qplus(x,y), id: 3, possubterms: plus(x,y)->[]) (rule: qplus(0,y) -> y, id: 4, possubterms: qplus(0,y)->[], 0->[1]) (rule: qplus(s(x),y) -> qplus(x,s(y)), id: 5, possubterms: qplus(s(x),y)->[], s(x)->[1]) -> Unifications: (R3 unifies with R1 at p: [], l: plus(x,y), lp: plus(x,y), sig: {y -> y',x -> 0}, l': plus(0,y'), r: qplus(x,y), r': y') (R3 unifies with R2 at p: [], l: plus(x,y), lp: plus(x,y), sig: {y -> y',x -> s(x')}, l': plus(s(x'),y'), r: qplus(x,y), r': s(plus(x',y'))) -> Critical pairs info: => Not trivial, Overlay, Proper, NW0, N1 => Not trivial, Overlay, Proper, NW0, N2 -> Problem conclusions: Left linear, Right linear, Linear Not weakly orthogonal, Not almost orthogonal, Not orthogonal Not Huet-Levy confluent, Not Newman confluent R is a TRS Problem 1: No Convergence Brute Force Procedure: -> Rewritings: s: s(plus(x',y')) Nodes: [0,1] Edges: [(0,1)] ID: 0 => ('s(plus(x',y'))', D0) ID: 1 => ('s(qplus(x',y'))', D1, R3, P[1], S{x9 -> y', x10 -> x'}), NR: 'qplus(x',y')' t: qplus(s(x'),y') Nodes: [0,1] Edges: [(0,1)] ID: 0 => ('qplus(s(x'),y')', D0) ID: 1 => ('qplus(x',s(y'))', D1, R5, P[], S{x12 -> y', x13 -> x'}), NR: 'qplus(x',s(y'))' s(plus(x',y')) ->* no union *<- qplus(s(x'),y') "Not joinable" The problem is not confluent.