YES * Step 1: UnsatPaths YES + Considered Problem: Rules: 0. start(A) -> eval(A) True (1,1) 1. eval(A) -> eval(B) [2*D >= 1 (?,1) && 1 + 2*D >= 0 && 2*D >= 2*C && 1 + 2*C >= 2*D && 2*D >= 2*E && 3*E >= 1 + 2*D && B >= E && 2*D >= 2*F && 3*F >= 1 + 2*D && F >= B && A = 2*D] 2. eval(A) -> eval(2*B) [2*B >= 0 && 2 + 2*B >= 0 && A = 1 + 2*B] (?,1) 3. eval(A) -> eval(0) [2*B >= 0 && 0 >= 2*B && A = 1] (?,1) Signature: {(eval,1);(start,1)} Flow Graph: [0->{1,2,3},1->{1,2,3},2->{1,2,3},3->{1,2,3}] + Applied Processor: UnsatPaths + Details: We remove following edges from the transition graph: [(3,1),(3,2),(3,3)] * Step 2: Looptree YES + Considered Problem: Rules: 0. start(A) -> eval(A) True (1,1) 1. eval(A) -> eval(B) [2*D >= 1 (?,1) && 1 + 2*D >= 0 && 2*D >= 2*C && 1 + 2*C >= 2*D && 2*D >= 2*E && 3*E >= 1 + 2*D && B >= E && 2*D >= 2*F && 3*F >= 1 + 2*D && F >= B && A = 2*D] 2. eval(A) -> eval(2*B) [2*B >= 0 && 2 + 2*B >= 0 && A = 1 + 2*B] (?,1) 3. eval(A) -> eval(0) [2*B >= 0 && 0 >= 2*B && A = 1] (?,1) Signature: {(eval,1);(start,1)} Flow Graph: [0->{1,2,3},1->{1,2,3},2->{1,2,3},3->{}] + Applied Processor: Looptree + Details: We construct a looptree: P: [0,1,2,3] | `- p:[1,2] c: [2] | `- p:[1] c: [1] YES