MAYBE Problem: ge(x,0()) -> true() ge(0(),s(y)) -> false() ge(s(x),s(y)) -> ge(x,y) rev(x) -> if(x,eq(0(),length(x)),nil(),0(),length(x)) if(x,true(),z,c,l) -> z if(x,false(),z,c,l) -> help(s(c),l,x,z) help(c,l,cons(x,y),z) -> if(append(y,cons(x,nil())),ge(c,l),cons(x,z),c,l) append(nil(),y) -> y append(cons(x,y),z) -> cons(x,append(y,z)) length(nil()) -> 0() length(cons(x,y)) -> s(length(y)) Proof: DP Processor: DPs: ge#(s(x),s(y)) -> ge#(x,y) rev#(x) -> length#(x) rev#(x) -> if#(x,eq(0(),length(x)),nil(),0(),length(x)) if#(x,false(),z,c,l) -> help#(s(c),l,x,z) help#(c,l,cons(x,y),z) -> ge#(c,l) help#(c,l,cons(x,y),z) -> append#(y,cons(x,nil())) help#(c,l,cons(x,y),z) -> if#(append(y,cons(x,nil())),ge(c,l),cons(x,z),c,l) append#(cons(x,y),z) -> append#(y,z) length#(cons(x,y)) -> length#(y) TRS: ge(x,0()) -> true() ge(0(),s(y)) -> false() ge(s(x),s(y)) -> ge(x,y) rev(x) -> if(x,eq(0(),length(x)),nil(),0(),length(x)) if(x,true(),z,c,l) -> z if(x,false(),z,c,l) -> help(s(c),l,x,z) help(c,l,cons(x,y),z) -> if(append(y,cons(x,nil())),ge(c,l),cons(x,z),c,l) append(nil(),y) -> y append(cons(x,y),z) -> cons(x,append(y,z)) length(nil()) -> 0() length(cons(x,y)) -> s(length(y)) TDG Processor: DPs: ge#(s(x),s(y)) -> ge#(x,y) rev#(x) -> length#(x) rev#(x) -> if#(x,eq(0(),length(x)),nil(),0(),length(x)) if#(x,false(),z,c,l) -> help#(s(c),l,x,z) help#(c,l,cons(x,y),z) -> ge#(c,l) help#(c,l,cons(x,y),z) -> append#(y,cons(x,nil())) help#(c,l,cons(x,y),z) -> if#(append(y,cons(x,nil())),ge(c,l),cons(x,z),c,l) append#(cons(x,y),z) -> append#(y,z) length#(cons(x,y)) -> length#(y) TRS: ge(x,0()) -> true() ge(0(),s(y)) -> false() ge(s(x),s(y)) -> ge(x,y) rev(x) -> if(x,eq(0(),length(x)),nil(),0(),length(x)) if(x,true(),z,c,l) -> z if(x,false(),z,c,l) -> help(s(c),l,x,z) help(c,l,cons(x,y),z) -> if(append(y,cons(x,nil())),ge(c,l),cons(x,z),c,l) append(nil(),y) -> y append(cons(x,y),z) -> cons(x,append(y,z)) length(nil()) -> 0() length(cons(x,y)) -> s(length(y)) graph: append#(cons(x,y),z) -> append#(y,z) -> append#(cons(x,y),z) -> append#(y,z) help#(c,l,cons(x,y),z) -> append#(y,cons(x,nil())) -> append#(cons(x,y),z) -> append#(y,z) help#(c,l,cons(x,y),z) -> if#(append(y,cons(x,nil())),ge(c,l),cons(x,z),c,l) -> if#(x,false(),z,c,l) -> help#(s(c),l,x,z) help#(c,l,cons(x,y),z) -> ge#(c,l) -> ge#(s(x),s(y)) -> ge#(x,y) if#(x,false(),z,c,l) -> help#(s(c),l,x,z) -> help#(c,l,cons(x,y),z) -> if#(append(y,cons(x,nil())),ge(c,l),cons(x,z),c,l) if#(x,false(),z,c,l) -> help#(s(c),l,x,z) -> help#(c,l,cons(x,y),z) -> append#(y,cons(x,nil())) if#(x,false(),z,c,l) -> help#(s(c),l,x,z) -> help#(c,l,cons(x,y),z) -> ge#(c,l) length#(cons(x,y)) -> length#(y) -> length#(cons(x,y)) -> length#(y) rev#(x) -> if#(x,eq(0(),length(x)),nil(),0(),length(x)) -> if#(x,false(),z,c,l) -> help#(s(c),l,x,z) rev#(x) -> length#(x) -> length#(cons(x,y)) -> length#(y) ge#(s(x),s(y)) -> ge#(x,y) -> ge#(s(x),s(y)) -> ge#(x,y) SCC Processor: #sccs: 4 #rules: 5 #arcs: 11/81 DPs: length#(cons(x,y)) -> length#(y) TRS: ge(x,0()) -> true() ge(0(),s(y)) -> false() ge(s(x),s(y)) -> ge(x,y) rev(x) -> if(x,eq(0(),length(x)),nil(),0(),length(x)) if(x,true(),z,c,l) -> z if(x,false(),z,c,l) -> help(s(c),l,x,z) help(c,l,cons(x,y),z) -> if(append(y,cons(x,nil())),ge(c,l),cons(x,z),c,l) append(nil(),y) -> y append(cons(x,y),z) -> cons(x,append(y,z)) length(nil()) -> 0() length(cons(x,y)) -> s(length(y)) Subterm Criterion Processor: simple projection: pi(length#) = 0 problem: DPs: TRS: ge(x,0()) -> true() ge(0(),s(y)) -> false() ge(s(x),s(y)) -> ge(x,y) rev(x) -> if(x,eq(0(),length(x)),nil(),0(),length(x)) if(x,true(),z,c,l) -> z if(x,false(),z,c,l) -> help(s(c),l,x,z) help(c,l,cons(x,y),z) -> if(append(y,cons(x,nil())),ge(c,l),cons(x,z),c,l) append(nil(),y) -> y append(cons(x,y),z) -> cons(x,append(y,z)) length(nil()) -> 0() length(cons(x,y)) -> s(length(y)) Qed DPs: help#(c,l,cons(x,y),z) -> if#(append(y,cons(x,nil())),ge(c,l),cons(x,z),c,l) if#(x,false(),z,c,l) -> help#(s(c),l,x,z) TRS: ge(x,0()) -> true() ge(0(),s(y)) -> false() ge(s(x),s(y)) -> ge(x,y) rev(x) -> if(x,eq(0(),length(x)),nil(),0(),length(x)) if(x,true(),z,c,l) -> z if(x,false(),z,c,l) -> help(s(c),l,x,z) help(c,l,cons(x,y),z) -> if(append(y,cons(x,nil())),ge(c,l),cons(x,z),c,l) append(nil(),y) -> y append(cons(x,y),z) -> cons(x,append(y,z)) length(nil()) -> 0() length(cons(x,y)) -> s(length(y)) Open DPs: ge#(s(x),s(y)) -> ge#(x,y) TRS: ge(x,0()) -> true() ge(0(),s(y)) -> false() ge(s(x),s(y)) -> ge(x,y) rev(x) -> if(x,eq(0(),length(x)),nil(),0(),length(x)) if(x,true(),z,c,l) -> z if(x,false(),z,c,l) -> help(s(c),l,x,z) help(c,l,cons(x,y),z) -> if(append(y,cons(x,nil())),ge(c,l),cons(x,z),c,l) append(nil(),y) -> y append(cons(x,y),z) -> cons(x,append(y,z)) length(nil()) -> 0() length(cons(x,y)) -> s(length(y)) Subterm Criterion Processor: simple projection: pi(ge#) = 1 problem: DPs: TRS: ge(x,0()) -> true() ge(0(),s(y)) -> false() ge(s(x),s(y)) -> ge(x,y) rev(x) -> if(x,eq(0(),length(x)),nil(),0(),length(x)) if(x,true(),z,c,l) -> z if(x,false(),z,c,l) -> help(s(c),l,x,z) help(c,l,cons(x,y),z) -> if(append(y,cons(x,nil())),ge(c,l),cons(x,z),c,l) append(nil(),y) -> y append(cons(x,y),z) -> cons(x,append(y,z)) length(nil()) -> 0() length(cons(x,y)) -> s(length(y)) Qed DPs: append#(cons(x,y),z) -> append#(y,z) TRS: ge(x,0()) -> true() ge(0(),s(y)) -> false() ge(s(x),s(y)) -> ge(x,y) rev(x) -> if(x,eq(0(),length(x)),nil(),0(),length(x)) if(x,true(),z,c,l) -> z if(x,false(),z,c,l) -> help(s(c),l,x,z) help(c,l,cons(x,y),z) -> if(append(y,cons(x,nil())),ge(c,l),cons(x,z),c,l) append(nil(),y) -> y append(cons(x,y),z) -> cons(x,append(y,z)) length(nil()) -> 0() length(cons(x,y)) -> s(length(y)) Subterm Criterion Processor: simple projection: pi(append#) = 0 problem: DPs: TRS: ge(x,0()) -> true() ge(0(),s(y)) -> false() ge(s(x),s(y)) -> ge(x,y) rev(x) -> if(x,eq(0(),length(x)),nil(),0(),length(x)) if(x,true(),z,c,l) -> z if(x,false(),z,c,l) -> help(s(c),l,x,z) help(c,l,cons(x,y),z) -> if(append(y,cons(x,nil())),ge(c,l),cons(x,z),c,l) append(nil(),y) -> y append(cons(x,y),z) -> cons(x,append(y,z)) length(nil()) -> 0() length(cons(x,y)) -> s(length(y)) Qed