YES * Step 1: FromIts YES + Considered Problem: Rules: 0. evalSimpleSinglestart(A,B) -> evalSimpleSingleentryin(A,B) True (1,1) 1. evalSimpleSingleentryin(A,B) -> evalSimpleSinglebb3in(0,B) True (?,1) 2. evalSimpleSinglebb3in(A,B) -> evalSimpleSinglebbin(A,B) [A >= 0 && B >= 1 + A] (?,1) 3. evalSimpleSinglebb3in(A,B) -> evalSimpleSinglereturnin(A,B) [A >= 0 && A >= B] (?,1) 4. evalSimpleSinglebbin(A,B) -> evalSimpleSinglebb3in(1 + A,B) [-1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0] (?,1) 5. evalSimpleSinglereturnin(A,B) -> evalSimpleSinglestop(A,B) [A + -1*B >= 0 && A >= 0] (?,1) Signature: {(evalSimpleSinglebb3in,2) ;(evalSimpleSinglebbin,2) ;(evalSimpleSingleentryin,2) ;(evalSimpleSinglereturnin,2) ;(evalSimpleSinglestart,2) ;(evalSimpleSinglestop,2)} Flow Graph: [0->{1},1->{2,3},2->{4},3->{5},4->{2,3},5->{}] + Applied Processor: FromIts + Details: () * Step 2: Decompose YES + Considered Problem: Rules: evalSimpleSinglestart(A,B) -> evalSimpleSingleentryin(A,B) True evalSimpleSingleentryin(A,B) -> evalSimpleSinglebb3in(0,B) True evalSimpleSinglebb3in(A,B) -> evalSimpleSinglebbin(A,B) [A >= 0 && B >= 1 + A] evalSimpleSinglebb3in(A,B) -> evalSimpleSinglereturnin(A,B) [A >= 0 && A >= B] evalSimpleSinglebbin(A,B) -> evalSimpleSinglebb3in(1 + A,B) [-1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0] evalSimpleSinglereturnin(A,B) -> evalSimpleSinglestop(A,B) [A + -1*B >= 0 && A >= 0] Signature: {(evalSimpleSinglebb3in,2) ;(evalSimpleSinglebbin,2) ;(evalSimpleSingleentryin,2) ;(evalSimpleSinglereturnin,2) ;(evalSimpleSinglestart,2) ;(evalSimpleSinglestop,2)} Rule Graph: [0->{1},1->{2,3},2->{4},3->{5},4->{2,3},5->{}] + Applied Processor: Decompose NoGreedy + Details: We construct a looptree: P: [0,1,2,3,4,5] | `- p:[2,4] c: [2,4] * Step 3: CloseWith YES + Considered Problem: (Rules: evalSimpleSinglestart(A,B) -> evalSimpleSingleentryin(A,B) True evalSimpleSingleentryin(A,B) -> evalSimpleSinglebb3in(0,B) True evalSimpleSinglebb3in(A,B) -> evalSimpleSinglebbin(A,B) [A >= 0 && B >= 1 + A] evalSimpleSinglebb3in(A,B) -> evalSimpleSinglereturnin(A,B) [A >= 0 && A >= B] evalSimpleSinglebbin(A,B) -> evalSimpleSinglebb3in(1 + A,B) [-1 + B >= 0 && -1 + A + B >= 0 && -1 + -1*A + B >= 0 && A >= 0] evalSimpleSinglereturnin(A,B) -> evalSimpleSinglestop(A,B) [A + -1*B >= 0 && A >= 0] Signature: {(evalSimpleSinglebb3in,2) ;(evalSimpleSinglebbin,2) ;(evalSimpleSingleentryin,2) ;(evalSimpleSinglereturnin,2) ;(evalSimpleSinglestart,2) ;(evalSimpleSinglestop,2)} Rule Graph: [0->{1},1->{2,3},2->{4},3->{5},4->{2,3},5->{}] ,We construct a looptree: P: [0,1,2,3,4,5] | `- p:[2,4] c: [2,4]) + Applied Processor: CloseWith True + Details: () YES