YES Time: 0.187 Problem: Equations: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) timesAC(timesAC(x2,x3),x4) -> timesAC(x2,timesAC(x3,x4)) timesAC(x2,x3) -> timesAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) timesAC(x2,timesAC(x3,x4)) -> timesAC(timesAC(x2,x3),x4) timesAC(x3,x2) -> timesAC(x2,x3) TRS: plusAC(x,0()) -> x plusAC(x,s(y)) -> s(plusAC(x,y)) timesAC(x,0()) -> 0() timesAC(x,s(y)) -> plusAC(timesAC(x,y),x) minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) div(0(),s(y)) -> 0() div(s(x),s(y)) -> s(div(minus(x,y),s(y))) Proof: DP Processor: Equations#: plus{AC,#}(plusAC(x2,x3),x4) -> plus{AC,#}(x2,plusAC(x3,x4)) plus{AC,#}(x2,x3) -> plus{AC,#}(x3,x2) times{AC,#}(timesAC(x2,x3),x4) -> times{AC,#}(x2,timesAC(x3,x4)) times{AC,#}(x2,x3) -> times{AC,#}(x3,x2) plus{AC,#}(x2,plusAC(x3,x4)) -> plus{AC,#}(plusAC(x2,x3),x4) plus{AC,#}(x3,x2) -> plus{AC,#}(x2,x3) times{AC,#}(x2,timesAC(x3,x4)) -> times{AC,#}(timesAC(x2,x3),x4) times{AC,#}(x3,x2) -> times{AC,#}(x2,x3) DPs: plus{AC,#}(x,s(y)) -> plus{AC,#}(x,y) times{AC,#}(x,s(y)) -> times{AC,#}(x,y) times{AC,#}(x,s(y)) -> plus{AC,#}(timesAC(x,y),x) minus#(s(x),s(y)) -> minus#(x,y) div#(s(x),s(y)) -> minus#(x,y) div#(s(x),s(y)) -> div#(minus(x,y),s(y)) plus{AC,#}(x5,plusAC(x,0())) -> plus{AC,#}(x5,x) plus{AC,#}(x6,plusAC(x,s(y))) -> plus{AC,#}(x,y) plus{AC,#}(x6,plusAC(x,s(y))) -> plus{AC,#}(x6,s(plusAC(x,y))) times{AC,#}(x7,timesAC(x,0())) -> times{AC,#}(x7,0()) times{AC,#}(x8,timesAC(x,s(y))) -> times{AC,#}(x,y) times{AC,#}(x8,timesAC(x,s(y))) -> plus{AC,#}(timesAC(x,y),x) times{AC,#}(x8,timesAC(x,s(y))) -> times{AC,#}(x8,plusAC(timesAC(x,y),x)) Equations: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) timesAC(timesAC(x2,x3),x4) -> timesAC(x2,timesAC(x3,x4)) timesAC(x2,x3) -> timesAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) timesAC(x2,timesAC(x3,x4)) -> timesAC(timesAC(x2,x3),x4) timesAC(x3,x2) -> timesAC(x2,x3) TRS: plusAC(x,0()) -> x plusAC(x,s(y)) -> s(plusAC(x,y)) timesAC(x,0()) -> 0() timesAC(x,s(y)) -> plusAC(timesAC(x,y),x) minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) div(0(),s(y)) -> 0() div(s(x),s(y)) -> s(div(minus(x,y),s(y))) S: plus{AC,#}(plusAC(x9,x10),x11) -> plus{AC,#}(x9,x10) plus{AC,#}(x9,plusAC(x10,x11)) -> plus{AC,#}(x10,x11) times{AC,#}(timesAC(x9,x10),x11) -> times{AC,#}(x9,x10) times{AC,#}(x9,timesAC(x10,x11)) -> times{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) times{AC,#}(timesAC(x2,x3),x4) -> times{AC,#}(x2,timesAC(x3,x4)) times{AC,#}(x2,x3) -> times{AC,#}(x3,x2) plus{AC,#}(x2,plusAC(x3,x4)) -> plus{AC,#}(plusAC(x2,x3),x4) plus{AC,#}(x3,x2) -> plus{AC,#}(x2,x3) times{AC,#}(x2,timesAC(x3,x4)) -> times{AC,#}(timesAC(x2,x3),x4) times{AC,#}(x3,x2) -> times{AC,#}(x2,x3) DPs: plus{AC,#}(x,s(y)) -> plus{AC,#}(x,y) times{AC,#}(x,s(y)) -> times{AC,#}(x,y) times{AC,#}(x,s(y)) -> plus{AC,#}(timesAC(x,y),x) minus#(s(x),s(y)) -> minus#(x,y) div#(s(x),s(y)) -> minus#(x,y) div#(s(x),s(y)) -> div#(minus(x,y),s(y)) plus{AC,#}(x5,plusAC(x,0())) -> plus{AC,#}(x5,x) plus{AC,#}(x6,plusAC(x,s(y))) -> plus{AC,#}(x,y) plus{AC,#}(x6,plusAC(x,s(y))) -> plus{AC,#}(x6,s(plusAC(x,y))) times{AC,#}(x7,timesAC(x,0())) -> times{AC,#}(x7,0()) times{AC,#}(x8,timesAC(x,s(y))) -> times{AC,#}(x,y) times{AC,#}(x8,timesAC(x,s(y))) -> plus{AC,#}(timesAC(x,y),x) times{AC,#}(x8,timesAC(x,s(y))) -> times{AC,#}(x8,plusAC(timesAC(x,y),x)) Equations: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) timesAC(timesAC(x2,x3),x4) -> timesAC(x2,timesAC(x3,x4)) timesAC(x2,x3) -> timesAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) timesAC(x2,timesAC(x3,x4)) -> timesAC(timesAC(x2,x3),x4) timesAC(x3,x2) -> timesAC(x2,x3) TRS: plusAC(x,0()) -> x plusAC(x,s(y)) -> s(plusAC(x,y)) timesAC(x,0()) -> 0() timesAC(x,s(y)) -> plusAC(timesAC(x,y),x) minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) div(0(),s(y)) -> 0() div(s(x),s(y)) -> s(div(minus(x,y),s(y))) S: plus{AC,#}(plusAC(x9,x10),x11) -> plus{AC,#}(x9,x10) plus{AC,#}(x9,plusAC(x10,x11)) -> plus{AC,#}(x10,x11) times{AC,#}(timesAC(x9,x10),x11) -> times{AC,#}(x9,x10) times{AC,#}(x9,timesAC(x10,x11)) -> times{AC,#}(x10,x11) SCC Processor: #sccs: 4 #rules: 10 #arcs: 52/169 Equations#: plus{AC,#}(plusAC(x2,x3),x4) -> plus{AC,#}(x2,plusAC(x3,x4)) plus{AC,#}(x2,x3) -> plus{AC,#}(x3,x2) times{AC,#}(timesAC(x2,x3),x4) -> times{AC,#}(x2,timesAC(x3,x4)) times{AC,#}(x2,x3) -> times{AC,#}(x3,x2) plus{AC,#}(x2,plusAC(x3,x4)) -> plus{AC,#}(plusAC(x2,x3),x4) plus{AC,#}(x3,x2) -> plus{AC,#}(x2,x3) times{AC,#}(x2,timesAC(x3,x4)) -> times{AC,#}(timesAC(x2,x3),x4) times{AC,#}(x3,x2) -> times{AC,#}(x2,x3) DPs: times{AC,#}(x8,timesAC(x,s(y))) -> times{AC,#}(x8,plusAC(timesAC(x,y),x)) times{AC,#}(x8,timesAC(x,s(y))) -> times{AC,#}(x,y) times{AC,#}(x7,timesAC(x,0())) -> times{AC,#}(x7,0()) times{AC,#}(x,s(y)) -> times{AC,#}(x,y) Equations: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) timesAC(timesAC(x2,x3),x4) -> timesAC(x2,timesAC(x3,x4)) timesAC(x2,x3) -> timesAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) timesAC(x2,timesAC(x3,x4)) -> timesAC(timesAC(x2,x3),x4) timesAC(x3,x2) -> timesAC(x2,x3) TRS: plusAC(x,0()) -> x plusAC(x,s(y)) -> s(plusAC(x,y)) timesAC(x,0()) -> 0() timesAC(x,s(y)) -> plusAC(timesAC(x,y),x) minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) div(0(),s(y)) -> 0() div(s(x),s(y)) -> s(div(minus(x,y),s(y))) S: plus{AC,#}(plusAC(x9,x10),x11) -> plus{AC,#}(x9,x10) plus{AC,#}(x9,plusAC(x10,x11)) -> plus{AC,#}(x10,x11) times{AC,#}(timesAC(x9,x10),x11) -> times{AC,#}(x9,x10) times{AC,#}(x9,timesAC(x10,x11)) -> times{AC,#}(x10,x11) AC-DP unlabeling: Equations#: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) timesAC(timesAC(x2,x3),x4) -> timesAC(x2,timesAC(x3,x4)) timesAC(x2,x3) -> timesAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) timesAC(x2,timesAC(x3,x4)) -> timesAC(timesAC(x2,x3),x4) timesAC(x3,x2) -> timesAC(x2,x3) DPs: timesAC(x8,timesAC(x,s(y))) -> timesAC(x8,plusAC(timesAC(x,y),x)) timesAC(x8,timesAC(x,s(y))) -> timesAC(x,y) timesAC(x7,timesAC(x,0())) -> timesAC(x7,0()) timesAC(x,s(y)) -> timesAC(x,y) Equations: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) timesAC(timesAC(x2,x3),x4) -> timesAC(x2,timesAC(x3,x4)) timesAC(x2,x3) -> timesAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) timesAC(x2,timesAC(x3,x4)) -> timesAC(timesAC(x2,x3),x4) timesAC(x3,x2) -> timesAC(x2,x3) TRS: plusAC(x,0()) -> x plusAC(x,s(y)) -> s(plusAC(x,y)) timesAC(x,0()) -> 0() timesAC(x,s(y)) -> plusAC(timesAC(x,y),x) minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) div(0(),s(y)) -> 0() div(s(x),s(y)) -> s(div(minus(x,y),s(y))) S: plusAC(plusAC(x9,x10),x11) -> plusAC(x9,x10) plusAC(x9,plusAC(x10,x11)) -> plusAC(x10,x11) timesAC(timesAC(x9,x10),x11) -> timesAC(x9,x10) timesAC(x9,timesAC(x10,x11)) -> timesAC(x10,x11) Usable Rule Processor: Equations#: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) timesAC(timesAC(x2,x3),x4) -> timesAC(x2,timesAC(x3,x4)) timesAC(x2,x3) -> timesAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) timesAC(x2,timesAC(x3,x4)) -> timesAC(timesAC(x2,x3),x4) timesAC(x3,x2) -> timesAC(x2,x3) DPs: timesAC(x8,timesAC(x,s(y))) -> timesAC(x8,plusAC(timesAC(x,y),x)) timesAC(x8,timesAC(x,s(y))) -> timesAC(x,y) timesAC(x7,timesAC(x,0())) -> timesAC(x7,0()) timesAC(x,s(y)) -> timesAC(x,y) Equations: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) timesAC(timesAC(x2,x3),x4) -> timesAC(x2,timesAC(x3,x4)) timesAC(x2,x3) -> timesAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) timesAC(x2,timesAC(x3,x4)) -> timesAC(timesAC(x2,x3),x4) timesAC(x3,x2) -> timesAC(x2,x3) TRS: timesAC(x,0()) -> 0() timesAC(x,s(y)) -> plusAC(timesAC(x,y),x) plusAC(x,0()) -> x plusAC(x,s(y)) -> s(plusAC(x,y)) S: plusAC(plusAC(x9,x10),x11) -> plusAC(x9,x10) plusAC(x9,plusAC(x10,x11)) -> plusAC(x10,x11) timesAC(timesAC(x9,x10),x11) -> timesAC(x9,x10) timesAC(x9,timesAC(x10,x11)) -> timesAC(x10,x11) AC-RPO Processor: argument filtering: pi(plusAC) = [0,1] pi(timesAC) = [0,1] pi(0) = [] pi(s) = [0] precedence: timesAC > plusAC > s > 0 status: problem: Equations#: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) timesAC(timesAC(x2,x3),x4) -> timesAC(x2,timesAC(x3,x4)) timesAC(x2,x3) -> timesAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) timesAC(x2,timesAC(x3,x4)) -> timesAC(timesAC(x2,x3),x4) timesAC(x3,x2) -> timesAC(x2,x3) DPs: Equations: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) timesAC(timesAC(x2,x3),x4) -> timesAC(x2,timesAC(x3,x4)) timesAC(x2,x3) -> timesAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) timesAC(x2,timesAC(x3,x4)) -> timesAC(timesAC(x2,x3),x4) timesAC(x3,x2) -> timesAC(x2,x3) TRS: timesAC(x,0()) -> 0() timesAC(x,s(y)) -> plusAC(timesAC(x,y),x) plusAC(x,0()) -> x plusAC(x,s(y)) -> s(plusAC(x,y)) S: plusAC(plusAC(x9,x10),x11) -> plusAC(x9,x10) plusAC(x9,plusAC(x10,x11)) -> plusAC(x10,x11) timesAC(timesAC(x9,x10),x11) -> timesAC(x9,x10) timesAC(x9,timesAC(x10,x11)) -> timesAC(x10,x11) Qed Equations#: plus{AC,#}(plusAC(x2,x3),x4) -> plus{AC,#}(x2,plusAC(x3,x4)) plus{AC,#}(x2,x3) -> plus{AC,#}(x3,x2) times{AC,#}(timesAC(x2,x3),x4) -> times{AC,#}(x2,timesAC(x3,x4)) times{AC,#}(x2,x3) -> times{AC,#}(x3,x2) plus{AC,#}(x2,plusAC(x3,x4)) -> plus{AC,#}(plusAC(x2,x3),x4) plus{AC,#}(x3,x2) -> plus{AC,#}(x2,x3) times{AC,#}(x2,timesAC(x3,x4)) -> times{AC,#}(timesAC(x2,x3),x4) times{AC,#}(x3,x2) -> times{AC,#}(x2,x3) DPs: plus{AC,#}(x6,plusAC(x,s(y))) -> plus{AC,#}(x6,s(plusAC(x,y))) plus{AC,#}(x6,plusAC(x,s(y))) -> plus{AC,#}(x,y) plus{AC,#}(x5,plusAC(x,0())) -> plus{AC,#}(x5,x) plus{AC,#}(x,s(y)) -> plus{AC,#}(x,y) Equations: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) timesAC(timesAC(x2,x3),x4) -> timesAC(x2,timesAC(x3,x4)) timesAC(x2,x3) -> timesAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) timesAC(x2,timesAC(x3,x4)) -> timesAC(timesAC(x2,x3),x4) timesAC(x3,x2) -> timesAC(x2,x3) TRS: plusAC(x,0()) -> x plusAC(x,s(y)) -> s(plusAC(x,y)) timesAC(x,0()) -> 0() timesAC(x,s(y)) -> plusAC(timesAC(x,y),x) minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) div(0(),s(y)) -> 0() div(s(x),s(y)) -> s(div(minus(x,y),s(y))) S: plus{AC,#}(plusAC(x9,x10),x11) -> plus{AC,#}(x9,x10) plus{AC,#}(x9,plusAC(x10,x11)) -> plus{AC,#}(x10,x11) times{AC,#}(timesAC(x9,x10),x11) -> times{AC,#}(x9,x10) times{AC,#}(x9,timesAC(x10,x11)) -> times{AC,#}(x10,x11) AC-DP unlabeling: Equations#: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) timesAC(timesAC(x2,x3),x4) -> timesAC(x2,timesAC(x3,x4)) timesAC(x2,x3) -> timesAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) timesAC(x2,timesAC(x3,x4)) -> timesAC(timesAC(x2,x3),x4) timesAC(x3,x2) -> timesAC(x2,x3) DPs: plusAC(x6,plusAC(x,s(y))) -> plusAC(x6,s(plusAC(x,y))) plusAC(x6,plusAC(x,s(y))) -> plusAC(x,y) plusAC(x5,plusAC(x,0())) -> plusAC(x5,x) plusAC(x,s(y)) -> plusAC(x,y) Equations: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) timesAC(timesAC(x2,x3),x4) -> timesAC(x2,timesAC(x3,x4)) timesAC(x2,x3) -> timesAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) timesAC(x2,timesAC(x3,x4)) -> timesAC(timesAC(x2,x3),x4) timesAC(x3,x2) -> timesAC(x2,x3) TRS: plusAC(x,0()) -> x plusAC(x,s(y)) -> s(plusAC(x,y)) timesAC(x,0()) -> 0() timesAC(x,s(y)) -> plusAC(timesAC(x,y),x) minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) div(0(),s(y)) -> 0() div(s(x),s(y)) -> s(div(minus(x,y),s(y))) S: plusAC(plusAC(x9,x10),x11) -> plusAC(x9,x10) plusAC(x9,plusAC(x10,x11)) -> plusAC(x10,x11) timesAC(timesAC(x9,x10),x11) -> timesAC(x9,x10) timesAC(x9,timesAC(x10,x11)) -> timesAC(x10,x11) Usable Rule Processor: Equations#: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) timesAC(timesAC(x2,x3),x4) -> timesAC(x2,timesAC(x3,x4)) timesAC(x2,x3) -> timesAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) timesAC(x2,timesAC(x3,x4)) -> timesAC(timesAC(x2,x3),x4) timesAC(x3,x2) -> timesAC(x2,x3) DPs: plusAC(x6,plusAC(x,s(y))) -> plusAC(x6,s(plusAC(x,y))) plusAC(x6,plusAC(x,s(y))) -> plusAC(x,y) plusAC(x5,plusAC(x,0())) -> plusAC(x5,x) plusAC(x,s(y)) -> plusAC(x,y) Equations: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) timesAC(timesAC(x2,x3),x4) -> timesAC(x2,timesAC(x3,x4)) timesAC(x2,x3) -> timesAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) timesAC(x2,timesAC(x3,x4)) -> timesAC(timesAC(x2,x3),x4) timesAC(x3,x2) -> timesAC(x2,x3) TRS: plusAC(x,s(y)) -> s(plusAC(x,y)) plusAC(x,0()) -> x S: plusAC(plusAC(x9,x10),x11) -> plusAC(x9,x10) plusAC(x9,plusAC(x10,x11)) -> plusAC(x10,x11) timesAC(timesAC(x9,x10),x11) -> timesAC(x9,x10) timesAC(x9,timesAC(x10,x11)) -> timesAC(x10,x11) AC-RPO Processor: argument filtering: pi(plusAC) = [0,1] pi(timesAC) = [] pi(0) = [] pi(s) = [] precedence: timesAC > plusAC > 0 > s status: problem: Equations#: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) timesAC(timesAC(x2,x3),x4) -> timesAC(x2,timesAC(x3,x4)) timesAC(x2,x3) -> timesAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) timesAC(x2,timesAC(x3,x4)) -> timesAC(timesAC(x2,x3),x4) timesAC(x3,x2) -> timesAC(x2,x3) DPs: Equations: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) timesAC(timesAC(x2,x3),x4) -> timesAC(x2,timesAC(x3,x4)) timesAC(x2,x3) -> timesAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) timesAC(x2,timesAC(x3,x4)) -> timesAC(timesAC(x2,x3),x4) timesAC(x3,x2) -> timesAC(x2,x3) TRS: plusAC(x,s(y)) -> s(plusAC(x,y)) plusAC(x,0()) -> x S: plusAC(plusAC(x9,x10),x11) -> plusAC(x9,x10) plusAC(x9,plusAC(x10,x11)) -> plusAC(x10,x11) timesAC(timesAC(x9,x10),x11) -> timesAC(x9,x10) timesAC(x9,timesAC(x10,x11)) -> timesAC(x10,x11) Qed Equations#: plus{AC,#}(plusAC(x2,x3),x4) -> plus{AC,#}(x2,plusAC(x3,x4)) plus{AC,#}(x2,x3) -> plus{AC,#}(x3,x2) times{AC,#}(timesAC(x2,x3),x4) -> times{AC,#}(x2,timesAC(x3,x4)) times{AC,#}(x2,x3) -> times{AC,#}(x3,x2) plus{AC,#}(x2,plusAC(x3,x4)) -> plus{AC,#}(plusAC(x2,x3),x4) plus{AC,#}(x3,x2) -> plus{AC,#}(x2,x3) times{AC,#}(x2,timesAC(x3,x4)) -> times{AC,#}(timesAC(x2,x3),x4) times{AC,#}(x3,x2) -> times{AC,#}(x2,x3) DPs: div#(s(x),s(y)) -> div#(minus(x,y),s(y)) Equations: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) timesAC(timesAC(x2,x3),x4) -> timesAC(x2,timesAC(x3,x4)) timesAC(x2,x3) -> timesAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) timesAC(x2,timesAC(x3,x4)) -> timesAC(timesAC(x2,x3),x4) timesAC(x3,x2) -> timesAC(x2,x3) TRS: plusAC(x,0()) -> x plusAC(x,s(y)) -> s(plusAC(x,y)) timesAC(x,0()) -> 0() timesAC(x,s(y)) -> plusAC(timesAC(x,y),x) minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) div(0(),s(y)) -> 0() div(s(x),s(y)) -> s(div(minus(x,y),s(y))) S: plus{AC,#}(plusAC(x9,x10),x11) -> plus{AC,#}(x9,x10) plus{AC,#}(x9,plusAC(x10,x11)) -> plus{AC,#}(x10,x11) times{AC,#}(timesAC(x9,x10),x11) -> times{AC,#}(x9,x10) times{AC,#}(x9,timesAC(x10,x11)) -> times{AC,#}(x10,x11) AC-DP unlabeling: Equations#: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) timesAC(timesAC(x2,x3),x4) -> timesAC(x2,timesAC(x3,x4)) timesAC(x2,x3) -> timesAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) timesAC(x2,timesAC(x3,x4)) -> timesAC(timesAC(x2,x3),x4) timesAC(x3,x2) -> timesAC(x2,x3) DPs: div#(s(x),s(y)) -> div#(minus(x,y),s(y)) Equations: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) timesAC(timesAC(x2,x3),x4) -> timesAC(x2,timesAC(x3,x4)) timesAC(x2,x3) -> timesAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) timesAC(x2,timesAC(x3,x4)) -> timesAC(timesAC(x2,x3),x4) timesAC(x3,x2) -> timesAC(x2,x3) TRS: plusAC(x,0()) -> x plusAC(x,s(y)) -> s(plusAC(x,y)) timesAC(x,0()) -> 0() timesAC(x,s(y)) -> plusAC(timesAC(x,y),x) minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) div(0(),s(y)) -> 0() div(s(x),s(y)) -> s(div(minus(x,y),s(y))) S: plusAC(plusAC(x9,x10),x11) -> plusAC(x9,x10) plusAC(x9,plusAC(x10,x11)) -> plusAC(x10,x11) timesAC(timesAC(x9,x10),x11) -> timesAC(x9,x10) timesAC(x9,timesAC(x10,x11)) -> timesAC(x10,x11) Usable Rule Processor: Equations#: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) timesAC(timesAC(x2,x3),x4) -> timesAC(x2,timesAC(x3,x4)) timesAC(x2,x3) -> timesAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) timesAC(x2,timesAC(x3,x4)) -> timesAC(timesAC(x2,x3),x4) timesAC(x3,x2) -> timesAC(x2,x3) DPs: div#(s(x),s(y)) -> div#(minus(x,y),s(y)) Equations: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) timesAC(timesAC(x2,x3),x4) -> timesAC(x2,timesAC(x3,x4)) timesAC(x2,x3) -> timesAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) timesAC(x2,timesAC(x3,x4)) -> timesAC(timesAC(x2,x3),x4) timesAC(x3,x2) -> timesAC(x2,x3) TRS: minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) S: plusAC(plusAC(x9,x10),x11) -> plusAC(x9,x10) plusAC(x9,plusAC(x10,x11)) -> plusAC(x10,x11) timesAC(timesAC(x9,x10),x11) -> timesAC(x9,x10) timesAC(x9,timesAC(x10,x11)) -> timesAC(x10,x11) AC-RPO Processor: argument filtering: pi(plusAC) = [0,1] pi(timesAC) = [0,1] pi(0) = [] pi(s) = [0] pi(minus) = [0] pi(div#) = [0] precedence: div# > s > minus > timesAC > 0 > plusAC status: div#:lex minus:lex problem: Equations#: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) timesAC(timesAC(x2,x3),x4) -> timesAC(x2,timesAC(x3,x4)) timesAC(x2,x3) -> timesAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) timesAC(x2,timesAC(x3,x4)) -> timesAC(timesAC(x2,x3),x4) timesAC(x3,x2) -> timesAC(x2,x3) DPs: Equations: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) timesAC(timesAC(x2,x3),x4) -> timesAC(x2,timesAC(x3,x4)) timesAC(x2,x3) -> timesAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) timesAC(x2,timesAC(x3,x4)) -> timesAC(timesAC(x2,x3),x4) timesAC(x3,x2) -> timesAC(x2,x3) TRS: minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) S: plusAC(plusAC(x9,x10),x11) -> plusAC(x9,x10) plusAC(x9,plusAC(x10,x11)) -> plusAC(x10,x11) timesAC(timesAC(x9,x10),x11) -> timesAC(x9,x10) timesAC(x9,timesAC(x10,x11)) -> timesAC(x10,x11) Qed Equations#: plus{AC,#}(plusAC(x2,x3),x4) -> plus{AC,#}(x2,plusAC(x3,x4)) plus{AC,#}(x2,x3) -> plus{AC,#}(x3,x2) times{AC,#}(timesAC(x2,x3),x4) -> times{AC,#}(x2,timesAC(x3,x4)) times{AC,#}(x2,x3) -> times{AC,#}(x3,x2) plus{AC,#}(x2,plusAC(x3,x4)) -> plus{AC,#}(plusAC(x2,x3),x4) plus{AC,#}(x3,x2) -> plus{AC,#}(x2,x3) times{AC,#}(x2,timesAC(x3,x4)) -> times{AC,#}(timesAC(x2,x3),x4) times{AC,#}(x3,x2) -> times{AC,#}(x2,x3) DPs: minus#(s(x),s(y)) -> minus#(x,y) Equations: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) timesAC(timesAC(x2,x3),x4) -> timesAC(x2,timesAC(x3,x4)) timesAC(x2,x3) -> timesAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) timesAC(x2,timesAC(x3,x4)) -> timesAC(timesAC(x2,x3),x4) timesAC(x3,x2) -> timesAC(x2,x3) TRS: plusAC(x,0()) -> x plusAC(x,s(y)) -> s(plusAC(x,y)) timesAC(x,0()) -> 0() timesAC(x,s(y)) -> plusAC(timesAC(x,y),x) minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) div(0(),s(y)) -> 0() div(s(x),s(y)) -> s(div(minus(x,y),s(y))) S: plus{AC,#}(plusAC(x9,x10),x11) -> plus{AC,#}(x9,x10) plus{AC,#}(x9,plusAC(x10,x11)) -> plus{AC,#}(x10,x11) times{AC,#}(timesAC(x9,x10),x11) -> times{AC,#}(x9,x10) times{AC,#}(x9,timesAC(x10,x11)) -> times{AC,#}(x10,x11) AC-DP unlabeling: Equations#: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) timesAC(timesAC(x2,x3),x4) -> timesAC(x2,timesAC(x3,x4)) timesAC(x2,x3) -> timesAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) timesAC(x2,timesAC(x3,x4)) -> timesAC(timesAC(x2,x3),x4) timesAC(x3,x2) -> timesAC(x2,x3) DPs: minus#(s(x),s(y)) -> minus#(x,y) Equations: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) timesAC(timesAC(x2,x3),x4) -> timesAC(x2,timesAC(x3,x4)) timesAC(x2,x3) -> timesAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) timesAC(x2,timesAC(x3,x4)) -> timesAC(timesAC(x2,x3),x4) timesAC(x3,x2) -> timesAC(x2,x3) TRS: plusAC(x,0()) -> x plusAC(x,s(y)) -> s(plusAC(x,y)) timesAC(x,0()) -> 0() timesAC(x,s(y)) -> plusAC(timesAC(x,y),x) minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) div(0(),s(y)) -> 0() div(s(x),s(y)) -> s(div(minus(x,y),s(y))) S: plusAC(plusAC(x9,x10),x11) -> plusAC(x9,x10) plusAC(x9,plusAC(x10,x11)) -> plusAC(x10,x11) timesAC(timesAC(x9,x10),x11) -> timesAC(x9,x10) timesAC(x9,timesAC(x10,x11)) -> timesAC(x10,x11) Usable Rule Processor: Equations#: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) timesAC(timesAC(x2,x3),x4) -> timesAC(x2,timesAC(x3,x4)) timesAC(x2,x3) -> timesAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) timesAC(x2,timesAC(x3,x4)) -> timesAC(timesAC(x2,x3),x4) timesAC(x3,x2) -> timesAC(x2,x3) DPs: minus#(s(x),s(y)) -> minus#(x,y) Equations: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) timesAC(timesAC(x2,x3),x4) -> timesAC(x2,timesAC(x3,x4)) timesAC(x2,x3) -> timesAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) timesAC(x2,timesAC(x3,x4)) -> timesAC(timesAC(x2,x3),x4) timesAC(x3,x2) -> timesAC(x2,x3) TRS: S: plusAC(plusAC(x9,x10),x11) -> plusAC(x9,x10) plusAC(x9,plusAC(x10,x11)) -> plusAC(x10,x11) timesAC(timesAC(x9,x10),x11) -> timesAC(x9,x10) timesAC(x9,timesAC(x10,x11)) -> timesAC(x10,x11) AC-RPO Processor: argument filtering: pi(plusAC) = [] pi(timesAC) = [] pi(s) = [0] pi(minus#) = 1 precedence: minus# > s > timesAC > plusAC status: minus#:mul problem: Equations#: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) timesAC(timesAC(x2,x3),x4) -> timesAC(x2,timesAC(x3,x4)) timesAC(x2,x3) -> timesAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) timesAC(x2,timesAC(x3,x4)) -> timesAC(timesAC(x2,x3),x4) timesAC(x3,x2) -> timesAC(x2,x3) DPs: Equations: plusAC(plusAC(x2,x3),x4) -> plusAC(x2,plusAC(x3,x4)) plusAC(x2,x3) -> plusAC(x3,x2) timesAC(timesAC(x2,x3),x4) -> timesAC(x2,timesAC(x3,x4)) timesAC(x2,x3) -> timesAC(x3,x2) plusAC(x2,plusAC(x3,x4)) -> plusAC(plusAC(x2,x3),x4) plusAC(x3,x2) -> plusAC(x2,x3) timesAC(x2,timesAC(x3,x4)) -> timesAC(timesAC(x2,x3),x4) timesAC(x3,x2) -> timesAC(x2,x3) TRS: S: plusAC(plusAC(x9,x10),x11) -> plusAC(x9,x10) plusAC(x9,plusAC(x10,x11)) -> plusAC(x10,x11) timesAC(timesAC(x9,x10),x11) -> timesAC(x9,x10) timesAC(x9,timesAC(x10,x11)) -> timesAC(x10,x11) Qed