YES Time: 0.402 Problem: Equations: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) TRS: zero(sharp()) -> sharp() plusAC(x,sharp()) -> x plusAC(zero(x),zero(y)) -> zero(plusAC(x,y)) plusAC(zero(x),one(y)) -> one(plusAC(x,y)) plusAC(one(x),one(y)) -> zero(plusAC(x,plusAC(y,one(sharp())))) Proof: DP Processor: Equations#: plus{AC,#}(plusAC(x2,x3),x4) -> plus{AC,#}(x2,plusAC(x3,x4)) plus{AC,#}(x2,x3) -> plus{AC,#}(x3,x2) plus{AC,#}(x2,plusAC(x3,x4)) -> plus{AC,#}(plusAC(x2,x3),x4) plus{AC,#}(x3,x2) -> plus{AC,#}(x2,x3) DPs: plus{AC,#}(zero(x),zero(y)) -> plus{AC,#}(x,y) plus{AC,#}(zero(x),zero(y)) -> zero#(plusAC(x,y)) plus{AC,#}(zero(x),one(y)) -> plus{AC,#}(x,y) plus{AC,#}(one(x),one(y)) -> plus{AC,#}(y,one(sharp())) plus{AC,#}(one(x),one(y)) -> plus{AC,#}(x,plusAC(y,one(sharp()))) plus{AC,#}(one(x),one(y)) -> zero#(plusAC(x,plusAC(y,one(sharp())))) plus{AC,#}(x5,plusAC(x,sharp())) -> plus{AC,#}(x5,x) plus{AC,#}(x6,plusAC(zero(x),zero(y))) -> plus{AC,#}(x,y) plus{AC,#}(x6,plusAC(zero(x),zero(y))) -> zero#(plusAC(x,y)) plus{AC,#}(x6,plusAC(zero(x),zero(y))) -> plus{AC,#}(x6,zero(plusAC(x,y))) plus{AC,#}(x7,plusAC(zero(x),one(y))) -> plus{AC,#}(x,y) plus{AC,#}(x7,plusAC(zero(x),one(y))) -> plus{AC,#}(x7,one(plusAC(x,y))) plus{AC,#}(x8,plusAC(one(x),one(y))) -> plus{AC,#}(y,one(sharp())) plus{AC,#}(x8,plusAC(one(x),one(y))) -> plus{AC,#}(x,plusAC(y,one(sharp()))) plus{AC,#}(x8,plusAC(one(x),one(y))) -> zero#(plusAC(x,plusAC(y,one(sharp())))) plus{AC,#}(x8,plusAC(one(x),one(y))) -> plus{AC,#}(x8,zero(plusAC(x,plusAC(y,one(sharp()))))) Equations: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) TRS: zero(sharp()) -> sharp() plusAC(x,sharp()) -> x plusAC(zero(x),zero(y)) -> zero(plusAC(x,y)) plusAC(zero(x),one(y)) -> one(plusAC(x,y)) plusAC(one(x),one(y)) -> zero(plusAC(x,plusAC(y,one(sharp())))) S: plus{AC,#}(plusAC(x9,x10),x11) -> plus{AC,#}(x9,x10) plus{AC,#}(x9,plusAC(x10,x11)) -> plus{AC,#}(x10,x11) AC-EDG Processor: Equations#: plus{AC,#}(plusAC(x2,x3),x4) -> plus{AC,#}(x2,plusAC(x3,x4)) plus{AC,#}(x2,x3) -> plus{AC,#}(x3,x2) plus{AC,#}(x2,plusAC(x3,x4)) -> plus{AC,#}(plusAC(x2,x3),x4) plus{AC,#}(x3,x2) -> plus{AC,#}(x2,x3) DPs: plus{AC,#}(zero(x),zero(y)) -> plus{AC,#}(x,y) plus{AC,#}(zero(x),zero(y)) -> zero#(plusAC(x,y)) plus{AC,#}(zero(x),one(y)) -> plus{AC,#}(x,y) plus{AC,#}(one(x),one(y)) -> plus{AC,#}(y,one(sharp())) plus{AC,#}(one(x),one(y)) -> plus{AC,#}(x,plusAC(y,one(sharp()))) plus{AC,#}(one(x),one(y)) -> zero#(plusAC(x,plusAC(y,one(sharp())))) plus{AC,#}(x5,plusAC(x,sharp())) -> plus{AC,#}(x5,x) plus{AC,#}(x6,plusAC(zero(x),zero(y))) -> plus{AC,#}(x,y) plus{AC,#}(x6,plusAC(zero(x),zero(y))) -> zero#(plusAC(x,y)) plus{AC,#}(x6,plusAC(zero(x),zero(y))) -> plus{AC,#}(x6,zero(plusAC(x,y))) plus{AC,#}(x7,plusAC(zero(x),one(y))) -> plus{AC,#}(x,y) plus{AC,#}(x7,plusAC(zero(x),one(y))) -> plus{AC,#}(x7,one(plusAC(x,y))) plus{AC,#}(x8,plusAC(one(x),one(y))) -> plus{AC,#}(y,one(sharp())) plus{AC,#}(x8,plusAC(one(x),one(y))) -> plus{AC,#}(x,plusAC(y,one(sharp()))) plus{AC,#}(x8,plusAC(one(x),one(y))) -> zero#(plusAC(x,plusAC(y,one(sharp())))) plus{AC,#}(x8,plusAC(one(x),one(y))) -> plus{AC,#}(x8,zero(plusAC(x,plusAC(y,one(sharp()))))) Equations: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) TRS: zero(sharp()) -> sharp() plusAC(x,sharp()) -> x plusAC(zero(x),zero(y)) -> zero(plusAC(x,y)) plusAC(zero(x),one(y)) -> one(plusAC(x,y)) plusAC(one(x),one(y)) -> zero(plusAC(x,plusAC(y,one(sharp())))) S: plus{AC,#}(plusAC(x9,x10),x11) -> plus{AC,#}(x9,x10) plus{AC,#}(x9,plusAC(x10,x11)) -> plus{AC,#}(x10,x11) SCC Processor: #sccs: 1 #rules: 12 #arcs: 192/256 Equations#: plus{AC,#}(plusAC(x2,x3),x4) -> plus{AC,#}(x2,plusAC(x3,x4)) plus{AC,#}(x2,x3) -> plus{AC,#}(x3,x2) plus{AC,#}(x2,plusAC(x3,x4)) -> plus{AC,#}(plusAC(x2,x3),x4) plus{AC,#}(x3,x2) -> plus{AC,#}(x2,x3) DPs: plus{AC,#}(one(x),one(y)) -> plus{AC,#}(y,one(sharp())) plus{AC,#}(x8,plusAC(one(x),one(y))) -> plus{AC,#}(x8,zero(plusAC(x,plusAC(y,one(sharp()))))) plus{AC,#}(x8,plusAC(one(x),one(y))) -> plus{AC,#}(x,plusAC(y,one(sharp()))) plus{AC,#}(x8,plusAC(one(x),one(y))) -> plus{AC,#}(y,one(sharp())) plus{AC,#}(x7,plusAC(zero(x),one(y))) -> plus{AC,#}(x7,one(plusAC(x,y))) plus{AC,#}(x7,plusAC(zero(x),one(y))) -> plus{AC,#}(x,y) plus{AC,#}(x6,plusAC(zero(x),zero(y))) -> plus{AC,#}(x6,zero(plusAC(x,y))) plus{AC,#}(x6,plusAC(zero(x),zero(y))) -> plus{AC,#}(x,y) plus{AC,#}(x5,plusAC(x,sharp())) -> plus{AC,#}(x5,x) plus{AC,#}(one(x),one(y)) -> plus{AC,#}(x,plusAC(y,one(sharp()))) plus{AC,#}(zero(x),one(y)) -> plus{AC,#}(x,y) plus{AC,#}(zero(x),zero(y)) -> plus{AC,#}(x,y) Equations: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) TRS: zero(sharp()) -> sharp() plusAC(x,sharp()) -> x plusAC(zero(x),zero(y)) -> zero(plusAC(x,y)) plusAC(zero(x),one(y)) -> one(plusAC(x,y)) plusAC(one(x),one(y)) -> zero(plusAC(x,plusAC(y,one(sharp())))) S: plus{AC,#}(plusAC(x9,x10),x11) -> plus{AC,#}(x9,x10) plus{AC,#}(x9,plusAC(x10,x11)) -> plus{AC,#}(x10,x11) AC-DP unlabeling: Equations#: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) DPs: plusAC(one(x),one(y)) -> plusAC(y,one(sharp())) plusAC(x8,plusAC(one(x),one(y))) -> plusAC(x8,zero(plusAC(x,plusAC(y,one(sharp()))))) plusAC(x8,plusAC(one(x),one(y))) -> plusAC(x,plusAC(y,one(sharp()))) plusAC(x8,plusAC(one(x),one(y))) -> plusAC(y,one(sharp())) plusAC(x7,plusAC(zero(x),one(y))) -> plusAC(x7,one(plusAC(x,y))) plusAC(x7,plusAC(zero(x),one(y))) -> plusAC(x,y) plusAC(x6,plusAC(zero(x),zero(y))) -> plusAC(x6,zero(plusAC(x,y))) plusAC(x6,plusAC(zero(x),zero(y))) -> plusAC(x,y) plusAC(x5,plusAC(x,sharp())) -> plusAC(x5,x) plusAC(one(x),one(y)) -> plusAC(x,plusAC(y,one(sharp()))) plusAC(zero(x),one(y)) -> plusAC(x,y) plusAC(zero(x),zero(y)) -> plusAC(x,y) Equations: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) TRS: zero(sharp()) -> sharp() plusAC(x,sharp()) -> x plusAC(zero(x),zero(y)) -> zero(plusAC(x,y)) plusAC(zero(x),one(y)) -> one(plusAC(x,y)) plusAC(one(x),one(y)) -> zero(plusAC(x,plusAC(y,one(sharp())))) S: plusAC(plusAC(x9,x10),x11) -> plusAC(x9,x10) plusAC(x9,plusAC(x10,x11)) -> plusAC(x10,x11) AC-KBO Processor: argument filtering: pi(plusAC) = [0,1] pi(sharp) = [] pi(zero) = [0] pi(one) = [0] precedence: plusAC > one ~ zero ~ sharp weight function: w0 = 2 w(one) = 5 w(sharp) = w(plusAC) = 2 w(zero) = 1 usable rules: zero(sharp()) -> sharp() plusAC(x,sharp()) -> x plusAC(zero(x),zero(y)) -> zero(plusAC(x,y)) plusAC(zero(x),one(y)) -> one(plusAC(x,y)) plusAC(one(x),one(y)) -> zero(plusAC(x,plusAC(y,one(sharp())))) problem: Equations#: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) DPs: Equations: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) TRS: zero(sharp()) -> sharp() plusAC(x,sharp()) -> x plusAC(zero(x),zero(y)) -> zero(plusAC(x,y)) plusAC(zero(x),one(y)) -> one(plusAC(x,y)) plusAC(one(x),one(y)) -> zero(plusAC(x,plusAC(y,one(sharp())))) S: plusAC(plusAC(x9,x10),x11) -> plusAC(x9,x10) plusAC(x9,plusAC(x10,x11)) -> plusAC(x10,x11) Qed