MAYBE Problem: f(true(),x,y,z) -> f(and(gt(x,y),gt(x,z)),x,s(y),z) f(true(),x,y,z) -> f(and(gt(x,y),gt(x,z)),x,y,s(z)) gt(0(),v) -> false() gt(s(u),0()) -> true() gt(s(u),s(v)) -> gt(u,v) and(x,true()) -> x and(x,false()) -> false() Proof: DP Processor: DPs: f#(true(),x,y,z) -> gt#(x,z) f#(true(),x,y,z) -> gt#(x,y) f#(true(),x,y,z) -> and#(gt(x,y),gt(x,z)) f#(true(),x,y,z) -> f#(and(gt(x,y),gt(x,z)),x,s(y),z) f#(true(),x,y,z) -> f#(and(gt(x,y),gt(x,z)),x,y,s(z)) gt#(s(u),s(v)) -> gt#(u,v) TRS: f(true(),x,y,z) -> f(and(gt(x,y),gt(x,z)),x,s(y),z) f(true(),x,y,z) -> f(and(gt(x,y),gt(x,z)),x,y,s(z)) gt(0(),v) -> false() gt(s(u),0()) -> true() gt(s(u),s(v)) -> gt(u,v) and(x,true()) -> x and(x,false()) -> false() Usable Rule Processor: DPs: f#(true(),x,y,z) -> gt#(x,z) f#(true(),x,y,z) -> gt#(x,y) f#(true(),x,y,z) -> and#(gt(x,y),gt(x,z)) f#(true(),x,y,z) -> f#(and(gt(x,y),gt(x,z)),x,s(y),z) f#(true(),x,y,z) -> f#(and(gt(x,y),gt(x,z)),x,y,s(z)) gt#(s(u),s(v)) -> gt#(u,v) TRS: f10(x,y) -> x f10(x,y) -> y gt(0(),v) -> false() gt(s(u),0()) -> true() gt(s(u),s(v)) -> gt(u,v) and(x,true()) -> x and(x,false()) -> false() CDG Processor: DPs: f#(true(),x,y,z) -> gt#(x,z) f#(true(),x,y,z) -> gt#(x,y) f#(true(),x,y,z) -> and#(gt(x,y),gt(x,z)) f#(true(),x,y,z) -> f#(and(gt(x,y),gt(x,z)),x,s(y),z) f#(true(),x,y,z) -> f#(and(gt(x,y),gt(x,z)),x,y,s(z)) gt#(s(u),s(v)) -> gt#(u,v) TRS: f10(x,y) -> x f10(x,y) -> y gt(0(),v) -> false() gt(s(u),0()) -> true() gt(s(u),s(v)) -> gt(u,v) and(x,true()) -> x and(x,false()) -> false() graph: gt#(s(u),s(v)) -> gt#(u,v) -> gt#(s(u),s(v)) -> gt#(u,v) f#(true(),x,y,z) -> gt#(x,z) -> gt#(s(u),s(v)) -> gt#(u,v) f#(true(),x,y,z) -> gt#(x,y) -> gt#(s(u),s(v)) -> gt#(u,v) f#(true(),x,y,z) -> f#(and(gt(x,y),gt(x,z)),x,s(y),z) -> f#(true(),x,y,z) -> gt#(x,z) f#(true(),x,y,z) -> f#(and(gt(x,y),gt(x,z)),x,s(y),z) -> f#(true(),x,y,z) -> gt#(x,y) f#(true(),x,y,z) -> f#(and(gt(x,y),gt(x,z)),x,s(y),z) -> f#(true(),x,y,z) -> and#(gt(x,y),gt(x,z)) f#(true(),x,y,z) -> f#(and(gt(x,y),gt(x,z)),x,s(y),z) -> f#(true(),x,y,z) -> f#(and(gt(x,y),gt(x,z)),x,s(y),z) f#(true(),x,y,z) -> f#(and(gt(x,y),gt(x,z)),x,s(y),z) -> f#(true(),x,y,z) -> f#(and(gt(x,y),gt(x,z)),x,y,s(z)) f#(true(),x,y,z) -> f#(and(gt(x,y),gt(x,z)),x,y,s(z)) -> f#(true(),x,y,z) -> gt#(x,z) f#(true(),x,y,z) -> f#(and(gt(x,y),gt(x,z)),x,y,s(z)) -> f#(true(),x,y,z) -> gt#(x,y) f#(true(),x,y,z) -> f#(and(gt(x,y),gt(x,z)),x,y,s(z)) -> f#(true(),x,y,z) -> and#(gt(x,y),gt(x,z)) f#(true(),x,y,z) -> f#(and(gt(x,y),gt(x,z)),x,y,s(z)) -> f#(true(),x,y,z) -> f#(and(gt(x,y),gt(x,z)),x,s(y),z) f#(true(),x,y,z) -> f#(and(gt(x,y),gt(x,z)),x,y,s(z)) -> f#(true(),x,y,z) -> f#(and(gt(x,y),gt(x,z)),x,y,s(z)) Restore Modifier: DPs: f#(true(),x,y,z) -> gt#(x,z) f#(true(),x,y,z) -> gt#(x,y) f#(true(),x,y,z) -> and#(gt(x,y),gt(x,z)) f#(true(),x,y,z) -> f#(and(gt(x,y),gt(x,z)),x,s(y),z) f#(true(),x,y,z) -> f#(and(gt(x,y),gt(x,z)),x,y,s(z)) gt#(s(u),s(v)) -> gt#(u,v) TRS: f(true(),x,y,z) -> f(and(gt(x,y),gt(x,z)),x,s(y),z) f(true(),x,y,z) -> f(and(gt(x,y),gt(x,z)),x,y,s(z)) gt(0(),v) -> false() gt(s(u),0()) -> true() gt(s(u),s(v)) -> gt(u,v) and(x,true()) -> x and(x,false()) -> false() SCC Processor: #sccs: 2 #rules: 3 #arcs: 13/36 DPs: f#(true(),x,y,z) -> f#(and(gt(x,y),gt(x,z)),x,s(y),z) f#(true(),x,y,z) -> f#(and(gt(x,y),gt(x,z)),x,y,s(z)) TRS: f(true(),x,y,z) -> f(and(gt(x,y),gt(x,z)),x,s(y),z) f(true(),x,y,z) -> f(and(gt(x,y),gt(x,z)),x,y,s(z)) gt(0(),v) -> false() gt(s(u),0()) -> true() gt(s(u),s(v)) -> gt(u,v) and(x,true()) -> x and(x,false()) -> false() Open DPs: gt#(s(u),s(v)) -> gt#(u,v) TRS: f(true(),x,y,z) -> f(and(gt(x,y),gt(x,z)),x,s(y),z) f(true(),x,y,z) -> f(and(gt(x,y),gt(x,z)),x,y,s(z)) gt(0(),v) -> false() gt(s(u),0()) -> true() gt(s(u),s(v)) -> gt(u,v) and(x,true()) -> x and(x,false()) -> false() Open