MAYBE Problem: le(0(),y) -> true() le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) int(x,y) -> if(le(x,y),x,y) if(true(),x,y) -> cons(x,int(s(x),y)) if(false(),x,y) -> nil() Proof: DP Processor: DPs: le#(s(x),s(y)) -> le#(x,y) int#(x,y) -> le#(x,y) int#(x,y) -> if#(le(x,y),x,y) if#(true(),x,y) -> int#(s(x),y) TRS: le(0(),y) -> true() le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) int(x,y) -> if(le(x,y),x,y) if(true(),x,y) -> cons(x,int(s(x),y)) if(false(),x,y) -> nil() Usable Rule Processor: DPs: le#(s(x),s(y)) -> le#(x,y) int#(x,y) -> le#(x,y) int#(x,y) -> if#(le(x,y),x,y) if#(true(),x,y) -> int#(s(x),y) TRS: f12(x,y) -> x f12(x,y) -> y le(0(),y) -> true() le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) ADG Processor: DPs: le#(s(x),s(y)) -> le#(x,y) int#(x,y) -> le#(x,y) int#(x,y) -> if#(le(x,y),x,y) if#(true(),x,y) -> int#(s(x),y) TRS: f12(x,y) -> x f12(x,y) -> y le(0(),y) -> true() le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) graph: if#(true(),x,y) -> int#(s(x),y) -> int#(x,y) -> le#(x,y) if#(true(),x,y) -> int#(s(x),y) -> int#(x,y) -> if#(le(x,y),x,y) int#(x,y) -> if#(le(x,y),x,y) -> if#(true(),x,y) -> int#(s(x),y) int#(x,y) -> le#(x,y) -> le#(s(x),s(y)) -> le#(x,y) le#(s(x),s(y)) -> le#(x,y) -> le#(s(x),s(y)) -> le#(x,y) Restore Modifier: DPs: le#(s(x),s(y)) -> le#(x,y) int#(x,y) -> le#(x,y) int#(x,y) -> if#(le(x,y),x,y) if#(true(),x,y) -> int#(s(x),y) TRS: le(0(),y) -> true() le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) int(x,y) -> if(le(x,y),x,y) if(true(),x,y) -> cons(x,int(s(x),y)) if(false(),x,y) -> nil() SCC Processor: #sccs: 2 #rules: 3 #arcs: 5/16 DPs: if#(true(),x,y) -> int#(s(x),y) int#(x,y) -> if#(le(x,y),x,y) TRS: le(0(),y) -> true() le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) int(x,y) -> if(le(x,y),x,y) if(true(),x,y) -> cons(x,int(s(x),y)) if(false(),x,y) -> nil() Open DPs: le#(s(x),s(y)) -> le#(x,y) TRS: le(0(),y) -> true() le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) int(x,y) -> if(le(x,y),x,y) if(true(),x,y) -> cons(x,int(s(x),y)) if(false(),x,y) -> nil() Matrix Interpretation Processor: dimension: 1 interpretation: [le#](x0, x1) = x0 + 1, [nil] = 0, [cons](x0, x1) = 0, [if](x0, x1, x2) = 0, [int](x0, x1) = 0, [false] = 0, [s](x0) = x0 + 1, [true] = 0, [le](x0, x1) = 0, [0] = 0 orientation: le#(s(x),s(y)) = x + 2 >= x + 1 = le#(x,y) le(0(),y) = 0 >= 0 = true() le(s(x),0()) = 0 >= 0 = false() le(s(x),s(y)) = 0 >= 0 = le(x,y) int(x,y) = 0 >= 0 = if(le(x,y),x,y) if(true(),x,y) = 0 >= 0 = cons(x,int(s(x),y)) if(false(),x,y) = 0 >= 0 = nil() problem: DPs: TRS: le(0(),y) -> true() le(s(x),0()) -> false() le(s(x),s(y)) -> le(x,y) int(x,y) -> if(le(x,y),x,y) if(true(),x,y) -> cons(x,int(s(x),y)) if(false(),x,y) -> nil() Qed