YES * Step 1: TrivialSCCs YES + Considered Problem: Rules: 0. f2(A,B,C) -> f300(A,B,C) True (1,1) 1. f300(A,B,C) -> f1(A,B,D) [A >= 0] (?,1) 2. f300(A,B,C) -> f300(1 + A,1 + B,C) [0 >= 1 + A && 0 >= 2 + B] (?,1) 3. f300(A,B,C) -> f300(1 + A,1 + B,C) [0 >= 1 + A && B >= 0] (?,1) 4. f300(A,B,C) -> f300(-99 + A,0,C) [0 >= 1 + A && 1 + B = 0] (?,1) Signature: {(f1,3);(f2,3);(f300,3)} Flow Graph: [0->{1,2,3,4},1->{},2->{1,2,3,4},3->{1,2,3,4},4->{1,2,3,4}] + Applied Processor: TrivialSCCs + Details: All trivial SCCs of the transition graph admit timebound 1. * Step 2: UnsatPaths YES + Considered Problem: Rules: 0. f2(A,B,C) -> f300(A,B,C) True (1,1) 1. f300(A,B,C) -> f1(A,B,D) [A >= 0] (1,1) 2. f300(A,B,C) -> f300(1 + A,1 + B,C) [0 >= 1 + A && 0 >= 2 + B] (?,1) 3. f300(A,B,C) -> f300(1 + A,1 + B,C) [0 >= 1 + A && B >= 0] (?,1) 4. f300(A,B,C) -> f300(-99 + A,0,C) [0 >= 1 + A && 1 + B = 0] (?,1) Signature: {(f1,3);(f2,3);(f300,3)} Flow Graph: [0->{1,2,3,4},1->{},2->{1,2,3,4},3->{1,2,3,4},4->{1,2,3,4}] + Applied Processor: UnsatPaths + Details: We remove following edges from the transition graph: [(2,3),(3,2),(3,4),(4,1),(4,2),(4,4)] * Step 3: Looptree YES + Considered Problem: Rules: 0. f2(A,B,C) -> f300(A,B,C) True (1,1) 1. f300(A,B,C) -> f1(A,B,D) [A >= 0] (1,1) 2. f300(A,B,C) -> f300(1 + A,1 + B,C) [0 >= 1 + A && 0 >= 2 + B] (?,1) 3. f300(A,B,C) -> f300(1 + A,1 + B,C) [0 >= 1 + A && B >= 0] (?,1) 4. f300(A,B,C) -> f300(-99 + A,0,C) [0 >= 1 + A && 1 + B = 0] (?,1) Signature: {(f1,3);(f2,3);(f300,3)} Flow Graph: [0->{1,2,3,4},1->{},2->{1,2,4},3->{1,3},4->{3}] + Applied Processor: Looptree + Details: We construct a looptree: P: [0,1,2,3,4] | +- p:[2] c: [2] | `- p:[3] c: [3] YES