YES(?,PRIMREC) * Step 1: TrivialSCCs MAYBE + Considered Problem: Rules: 0. f(A,B,C) -> g(A,1,1) True (1,1) 1. g(A,B,C) -> g(-1 + A,2*B,C) [-1 + A >= 0] (?,1) 2. g(A,B,C) -> h(A,B,C) [0 >= A] (?,1) 3. h(A,B,C) -> h(A,-1 + B,2*C) [-1 + B >= 0] (?,1) 4. h(A,B,C) -> i(A,B,C) [0 >= B] (?,1) 5. i(A,B,C) -> i(A,B,-1 + C) [-1 + C >= 0] (?,1) Signature: {(f,3);(g,3);(h,3);(i,3)} Flow Graph: [0->{1,2},1->{1,2},2->{3,4},3->{3,4},4->{5},5->{5}] + Applied Processor: TrivialSCCs + Details: All trivial SCCs of the transition graph admit timebound 1. * Step 2: AddSinks MAYBE + Considered Problem: Rules: 0. f(A,B,C) -> g(A,1,1) True (1,1) 1. g(A,B,C) -> g(-1 + A,2*B,C) [-1 + A >= 0] (?,1) 2. g(A,B,C) -> h(A,B,C) [0 >= A] (1,1) 3. h(A,B,C) -> h(A,-1 + B,2*C) [-1 + B >= 0] (?,1) 4. h(A,B,C) -> i(A,B,C) [0 >= B] (1,1) 5. i(A,B,C) -> i(A,B,-1 + C) [-1 + C >= 0] (?,1) Signature: {(f,3);(g,3);(h,3);(i,3)} Flow Graph: [0->{1,2},1->{1,2},2->{3,4},3->{3,4},4->{5},5->{5}] + Applied Processor: AddSinks + Details: () * Step 3: LooptreeTransformer MAYBE + Considered Problem: Rules: 0. f(A,B,C) -> g(A,1,1) True (1,1) 1. g(A,B,C) -> g(-1 + A,2*B,C) [-1 + A >= 0] (?,1) 2. g(A,B,C) -> h(A,B,C) [0 >= A] (?,1) 3. h(A,B,C) -> h(A,-1 + B,2*C) [-1 + B >= 0] (?,1) 4. h(A,B,C) -> i(A,B,C) [0 >= B] (?,1) 5. i(A,B,C) -> i(A,B,-1 + C) [-1 + C >= 0] (?,1) 6. i(A,B,C) -> exitus616(A,B,C) True (?,1) Signature: {(exitus616,3);(f,3);(g,3);(h,3);(i,3)} Flow Graph: [0->{1,2},1->{1,2},2->{3,4},3->{3,4},4->{5,6},5->{5,6},6->{}] + Applied Processor: LooptreeTransformer + Details: We construct a looptree: P: [0,1,2,3,4,5,6] | +- p:[1] c: [1] | +- p:[3] c: [3] | `- p:[5] c: [5] * Step 4: SizeAbstraction MAYBE + Considered Problem: (Rules: 0. f(A,B,C) -> g(A,1,1) True (1,1) 1. g(A,B,C) -> g(-1 + A,2*B,C) [-1 + A >= 0] (?,1) 2. g(A,B,C) -> h(A,B,C) [0 >= A] (?,1) 3. h(A,B,C) -> h(A,-1 + B,2*C) [-1 + B >= 0] (?,1) 4. h(A,B,C) -> i(A,B,C) [0 >= B] (?,1) 5. i(A,B,C) -> i(A,B,-1 + C) [-1 + C >= 0] (?,1) 6. i(A,B,C) -> exitus616(A,B,C) True (?,1) Signature: {(exitus616,3);(f,3);(g,3);(h,3);(i,3)} Flow Graph: [0->{1,2},1->{1,2},2->{3,4},3->{3,4},4->{5,6},5->{5,6},6->{}] ,We construct a looptree: P: [0,1,2,3,4,5,6] | +- p:[1] c: [1] | +- p:[3] c: [3] | `- p:[5] c: [5]) + Applied Processor: SizeAbstraction UseCFG Minimize + Details: () * Step 5: FlowAbstraction MAYBE + Considered Problem: Program: Domain: [A,B,C,0.0,0.1,0.2] f ~> g [A <= A, B <= K, C <= K] g ~> g [A <= A, B <= 2*B, C <= C] g ~> h [A <= A, B <= B, C <= C] h ~> h [A <= A, B <= B, C <= 2*C] h ~> i [A <= A, B <= B, C <= C] i ~> i [A <= A, B <= B, C <= C] i ~> exitus616 [A <= A, B <= B, C <= C] + Loop: [0.0 <= A] g ~> g [A <= A, B <= 2*B, C <= C] + Loop: [0.1 <= B] h ~> h [A <= A, B <= B, C <= 2*C] + Loop: [0.2 <= C] i ~> i [A <= A, B <= B, C <= C] + Applied Processor: FlowAbstraction + Details: () * Step 6: LareProcessor MAYBE + Considered Problem: Program: Domain: [tick,huge,K,A,B,C,0.0,0.1,0.2] f ~> g [K ~=> B,K ~=> C] g ~> g [B ~*> B] g ~> h [] h ~> h [C ~*> C] h ~> i [] i ~> i [] i ~> exitus616 [] + Loop: [A ~=> 0.0] g ~> g [B ~*> B] + Loop: [B ~=> 0.1] h ~> h [C ~*> C] + Loop: [C ~=> 0.2] i ~> i [] + Applied Processor: LareProcessor + Details: f ~> exitus616 [A ~=> 0.0 ,K ~=> B ,K ~=> C ,K ~=> 0.1 ,K ~=> 0.2 ,A ~+> tick ,tick ~+> tick ,K ~+> tick ,K ~*> B ,K ~*> C ,K ~*> 0.1 ,K ~*> 0.2 ,K ~*> tick ,A ~^> B ,A ~^> C ,A ~^> 0.1 ,A ~^> 0.2 ,A ~^> tick ,K ~^> C ,K ~^> 0.2 ,K ~^> tick] + g> [A ~=> 0.0,A ~+> tick,tick ~+> tick,B ~*> B,A ~^> B] + h> [B ~=> 0.1,B ~+> tick,tick ~+> tick,C ~*> C,B ~^> C] + i> [C ~=> 0.2,C ~+> tick,tick ~+> tick] YES(?,PRIMREC)