YES Problem: p(s(x)) -> x fact(0()) -> s(0()) fact(s(x)) -> *(s(x),fact(p(s(x)))) *(0(),y) -> 0() *(s(x),y) -> +(*(x,y),y) +(x,0()) -> x +(x,s(y)) -> s(+(x,y)) Proof: DP Processor: DPs: fact#(s(x)) -> p#(s(x)) fact#(s(x)) -> fact#(p(s(x))) fact#(s(x)) -> *#(s(x),fact(p(s(x)))) *#(s(x),y) -> *#(x,y) *#(s(x),y) -> +#(*(x,y),y) +#(x,s(y)) -> +#(x,y) TRS: p(s(x)) -> x fact(0()) -> s(0()) fact(s(x)) -> *(s(x),fact(p(s(x)))) *(0(),y) -> 0() *(s(x),y) -> +(*(x,y),y) +(x,0()) -> x +(x,s(y)) -> s(+(x,y)) EDG Processor: DPs: fact#(s(x)) -> p#(s(x)) fact#(s(x)) -> fact#(p(s(x))) fact#(s(x)) -> *#(s(x),fact(p(s(x)))) *#(s(x),y) -> *#(x,y) *#(s(x),y) -> +#(*(x,y),y) +#(x,s(y)) -> +#(x,y) TRS: p(s(x)) -> x fact(0()) -> s(0()) fact(s(x)) -> *(s(x),fact(p(s(x)))) *(0(),y) -> 0() *(s(x),y) -> +(*(x,y),y) +(x,0()) -> x +(x,s(y)) -> s(+(x,y)) graph: +#(x,s(y)) -> +#(x,y) -> +#(x,s(y)) -> +#(x,y) *#(s(x),y) -> +#(*(x,y),y) -> +#(x,s(y)) -> +#(x,y) *#(s(x),y) -> *#(x,y) -> *#(s(x),y) -> *#(x,y) *#(s(x),y) -> *#(x,y) -> *#(s(x),y) -> +#(*(x,y),y) fact#(s(x)) -> *#(s(x),fact(p(s(x)))) -> *#(s(x),y) -> *#(x,y) fact#(s(x)) -> *#(s(x),fact(p(s(x)))) -> *#(s(x),y) -> +#(*(x,y),y) fact#(s(x)) -> fact#(p(s(x))) -> fact#(s(x)) -> p#(s(x)) fact#(s(x)) -> fact#(p(s(x))) -> fact#(s(x)) -> fact#(p(s(x))) fact#(s(x)) -> fact#(p(s(x))) -> fact#(s(x)) -> *#(s(x),fact(p(s(x)))) SCC Processor: #sccs: 3 #rules: 3 #arcs: 9/36 DPs: fact#(s(x)) -> fact#(p(s(x))) TRS: p(s(x)) -> x fact(0()) -> s(0()) fact(s(x)) -> *(s(x),fact(p(s(x)))) *(0(),y) -> 0() *(s(x),y) -> +(*(x,y),y) +(x,0()) -> x +(x,s(y)) -> s(+(x,y)) Usable Rule Processor: DPs: fact#(s(x)) -> fact#(p(s(x))) TRS: p(s(x)) -> x Bounds Processor: bound: 1 enrichment: match-dp automaton: final states: {4} transitions: fact{#,0}(6) -> 4* s0(2) -> 2* s0(1) -> 2* s0(3) -> 5* p0(5) -> 6* p0(2) -> 1* p0(1) -> 1* fact{#,1}(13) -> 14* p1(12) -> 13* s1(15) -> 16* s1(11) -> 12* 1 -> 15,3 2 -> 11,1,3 3 -> 6* 11 -> 13* 14 -> 4* 15 -> 13* 16 -> 12* problem: DPs: TRS: p(s(x)) -> x Qed DPs: *#(s(x),y) -> *#(x,y) TRS: p(s(x)) -> x fact(0()) -> s(0()) fact(s(x)) -> *(s(x),fact(p(s(x)))) *(0(),y) -> 0() *(s(x),y) -> +(*(x,y),y) +(x,0()) -> x +(x,s(y)) -> s(+(x,y)) Subterm Criterion Processor: simple projection: pi(*#) = 0 problem: DPs: TRS: p(s(x)) -> x fact(0()) -> s(0()) fact(s(x)) -> *(s(x),fact(p(s(x)))) *(0(),y) -> 0() *(s(x),y) -> +(*(x,y),y) +(x,0()) -> x +(x,s(y)) -> s(+(x,y)) Qed DPs: +#(x,s(y)) -> +#(x,y) TRS: p(s(x)) -> x fact(0()) -> s(0()) fact(s(x)) -> *(s(x),fact(p(s(x)))) *(0(),y) -> 0() *(s(x),y) -> +(*(x,y),y) +(x,0()) -> x +(x,s(y)) -> s(+(x,y)) Subterm Criterion Processor: simple projection: pi(+#) = 1 problem: DPs: TRS: p(s(x)) -> x fact(0()) -> s(0()) fact(s(x)) -> *(s(x),fact(p(s(x)))) *(0(),y) -> 0() *(s(x),y) -> +(*(x,y),y) +(x,0()) -> x +(x,s(y)) -> s(+(x,y)) Qed