MAYBE Problem: division(x,y) -> div(x,y,0()) div(x,y,z) -> if(lt(x,y),x,y,inc(z)) if(true(),x,y,z) -> z if(false(),x,s(y),z) -> div(minus(x,s(y)),s(y),z) minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) lt(x,0()) -> false() lt(0(),s(y)) -> true() lt(s(x),s(y)) -> lt(x,y) inc(0()) -> s(0()) inc(s(x)) -> s(inc(x)) Proof: DP Processor: DPs: division#(x,y) -> div#(x,y,0()) div#(x,y,z) -> inc#(z) div#(x,y,z) -> lt#(x,y) div#(x,y,z) -> if#(lt(x,y),x,y,inc(z)) if#(false(),x,s(y),z) -> minus#(x,s(y)) if#(false(),x,s(y),z) -> div#(minus(x,s(y)),s(y),z) minus#(s(x),s(y)) -> minus#(x,y) lt#(s(x),s(y)) -> lt#(x,y) inc#(s(x)) -> inc#(x) TRS: division(x,y) -> div(x,y,0()) div(x,y,z) -> if(lt(x,y),x,y,inc(z)) if(true(),x,y,z) -> z if(false(),x,s(y),z) -> div(minus(x,s(y)),s(y),z) minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) lt(x,0()) -> false() lt(0(),s(y)) -> true() lt(s(x),s(y)) -> lt(x,y) inc(0()) -> s(0()) inc(s(x)) -> s(inc(x)) TDG Processor: DPs: division#(x,y) -> div#(x,y,0()) div#(x,y,z) -> inc#(z) div#(x,y,z) -> lt#(x,y) div#(x,y,z) -> if#(lt(x,y),x,y,inc(z)) if#(false(),x,s(y),z) -> minus#(x,s(y)) if#(false(),x,s(y),z) -> div#(minus(x,s(y)),s(y),z) minus#(s(x),s(y)) -> minus#(x,y) lt#(s(x),s(y)) -> lt#(x,y) inc#(s(x)) -> inc#(x) TRS: division(x,y) -> div(x,y,0()) div(x,y,z) -> if(lt(x,y),x,y,inc(z)) if(true(),x,y,z) -> z if(false(),x,s(y),z) -> div(minus(x,s(y)),s(y),z) minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) lt(x,0()) -> false() lt(0(),s(y)) -> true() lt(s(x),s(y)) -> lt(x,y) inc(0()) -> s(0()) inc(s(x)) -> s(inc(x)) graph: minus#(s(x),s(y)) -> minus#(x,y) -> minus#(s(x),s(y)) -> minus#(x,y) if#(false(),x,s(y),z) -> minus#(x,s(y)) -> minus#(s(x),s(y)) -> minus#(x,y) if#(false(),x,s(y),z) -> div#(minus(x,s(y)),s(y),z) -> div#(x,y,z) -> if#(lt(x,y),x,y,inc(z)) if#(false(),x,s(y),z) -> div#(minus(x,s(y)),s(y),z) -> div#(x,y,z) -> lt#(x,y) if#(false(),x,s(y),z) -> div#(minus(x,s(y)),s(y),z) -> div#(x,y,z) -> inc#(z) lt#(s(x),s(y)) -> lt#(x,y) -> lt#(s(x),s(y)) -> lt#(x,y) inc#(s(x)) -> inc#(x) -> inc#(s(x)) -> inc#(x) div#(x,y,z) -> if#(lt(x,y),x,y,inc(z)) -> if#(false(),x,s(y),z) -> div#(minus(x,s(y)),s(y),z) div#(x,y,z) -> if#(lt(x,y),x,y,inc(z)) -> if#(false(),x,s(y),z) -> minus#(x,s(y)) div#(x,y,z) -> lt#(x,y) -> lt#(s(x),s(y)) -> lt#(x,y) div#(x,y,z) -> inc#(z) -> inc#(s(x)) -> inc#(x) division#(x,y) -> div#(x,y,0()) -> div#(x,y,z) -> if#(lt(x,y),x,y,inc(z)) division#(x,y) -> div#(x,y,0()) -> div#(x,y,z) -> lt#(x,y) division#(x,y) -> div#(x,y,0()) -> div#(x,y,z) -> inc#(z) SCC Processor: #sccs: 4 #rules: 5 #arcs: 14/81 DPs: if#(false(),x,s(y),z) -> div#(minus(x,s(y)),s(y),z) div#(x,y,z) -> if#(lt(x,y),x,y,inc(z)) TRS: division(x,y) -> div(x,y,0()) div(x,y,z) -> if(lt(x,y),x,y,inc(z)) if(true(),x,y,z) -> z if(false(),x,s(y),z) -> div(minus(x,s(y)),s(y),z) minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) lt(x,0()) -> false() lt(0(),s(y)) -> true() lt(s(x),s(y)) -> lt(x,y) inc(0()) -> s(0()) inc(s(x)) -> s(inc(x)) Open DPs: lt#(s(x),s(y)) -> lt#(x,y) TRS: division(x,y) -> div(x,y,0()) div(x,y,z) -> if(lt(x,y),x,y,inc(z)) if(true(),x,y,z) -> z if(false(),x,s(y),z) -> div(minus(x,s(y)),s(y),z) minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) lt(x,0()) -> false() lt(0(),s(y)) -> true() lt(s(x),s(y)) -> lt(x,y) inc(0()) -> s(0()) inc(s(x)) -> s(inc(x)) Subterm Criterion Processor: simple projection: pi(lt#) = 1 problem: DPs: TRS: division(x,y) -> div(x,y,0()) div(x,y,z) -> if(lt(x,y),x,y,inc(z)) if(true(),x,y,z) -> z if(false(),x,s(y),z) -> div(minus(x,s(y)),s(y),z) minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) lt(x,0()) -> false() lt(0(),s(y)) -> true() lt(s(x),s(y)) -> lt(x,y) inc(0()) -> s(0()) inc(s(x)) -> s(inc(x)) Qed DPs: inc#(s(x)) -> inc#(x) TRS: division(x,y) -> div(x,y,0()) div(x,y,z) -> if(lt(x,y),x,y,inc(z)) if(true(),x,y,z) -> z if(false(),x,s(y),z) -> div(minus(x,s(y)),s(y),z) minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) lt(x,0()) -> false() lt(0(),s(y)) -> true() lt(s(x),s(y)) -> lt(x,y) inc(0()) -> s(0()) inc(s(x)) -> s(inc(x)) Subterm Criterion Processor: simple projection: pi(inc#) = 0 problem: DPs: TRS: division(x,y) -> div(x,y,0()) div(x,y,z) -> if(lt(x,y),x,y,inc(z)) if(true(),x,y,z) -> z if(false(),x,s(y),z) -> div(minus(x,s(y)),s(y),z) minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) lt(x,0()) -> false() lt(0(),s(y)) -> true() lt(s(x),s(y)) -> lt(x,y) inc(0()) -> s(0()) inc(s(x)) -> s(inc(x)) Qed DPs: minus#(s(x),s(y)) -> minus#(x,y) TRS: division(x,y) -> div(x,y,0()) div(x,y,z) -> if(lt(x,y),x,y,inc(z)) if(true(),x,y,z) -> z if(false(),x,s(y),z) -> div(minus(x,s(y)),s(y),z) minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) lt(x,0()) -> false() lt(0(),s(y)) -> true() lt(s(x),s(y)) -> lt(x,y) inc(0()) -> s(0()) inc(s(x)) -> s(inc(x)) Subterm Criterion Processor: simple projection: pi(minus#) = 1 problem: DPs: TRS: division(x,y) -> div(x,y,0()) div(x,y,z) -> if(lt(x,y),x,y,inc(z)) if(true(),x,y,z) -> z if(false(),x,s(y),z) -> div(minus(x,s(y)),s(y),z) minus(x,0()) -> x minus(s(x),s(y)) -> minus(x,y) lt(x,0()) -> false() lt(0(),s(y)) -> true() lt(s(x),s(y)) -> lt(x,y) inc(0()) -> s(0()) inc(s(x)) -> s(inc(x)) Qed