MAYBE * Step 1: ArgumentFilter MAYBE + Considered Problem: Rules: 0. f1(A,B,C) -> f2(A,B,C) True (1,1) 1. f2(A,B,C) -> f300(A,B,D) [A = B] (?,1) 2. f2(A,B,C) -> f2(1 + A,B,C) [A >= 1 + B && A >= B] (?,1) 3. f2(A,B,C) -> f2(1 + A,B,C) [B >= 1 + A] (?,1) Signature: {(f1,3);(f2,3);(f300,3)} Flow Graph: [0->{1,2,3},1->{},2->{1,2,3},3->{1,2,3}] + Applied Processor: ArgumentFilter [2] + Details: We remove following argument positions: [2]. * Step 2: UnsatPaths MAYBE + Considered Problem: Rules: 0. f1(A,B) -> f2(A,B) True (1,1) 1. f2(A,B) -> f300(A,B) [A = B] (?,1) 2. f2(A,B) -> f2(1 + A,B) [A >= 1 + B && A >= B] (?,1) 3. f2(A,B) -> f2(1 + A,B) [B >= 1 + A] (?,1) Signature: {(f1,3);(f2,3);(f300,3)} Flow Graph: [0->{1,2,3},1->{},2->{1,2,3},3->{1,2,3}] + Applied Processor: UnsatPaths + Details: We remove following edges from the transition graph: [(2,1),(2,3),(3,2)] * Step 3: FromIts MAYBE + Considered Problem: Rules: 0. f1(A,B) -> f2(A,B) True (1,1) 1. f2(A,B) -> f300(A,B) [A = B] (?,1) 2. f2(A,B) -> f2(1 + A,B) [A >= 1 + B && A >= B] (?,1) 3. f2(A,B) -> f2(1 + A,B) [B >= 1 + A] (?,1) Signature: {(f1,3);(f2,3);(f300,3)} Flow Graph: [0->{1,2,3},1->{},2->{2},3->{1,3}] + Applied Processor: FromIts + Details: () * Step 4: AddSinks MAYBE + Considered Problem: Rules: f1(A,B) -> f2(A,B) True f2(A,B) -> f300(A,B) [A = B] f2(A,B) -> f2(1 + A,B) [A >= 1 + B && A >= B] f2(A,B) -> f2(1 + A,B) [B >= 1 + A] Signature: {(f1,3);(f2,3);(f300,3)} Rule Graph: [0->{1,2,3},1->{},2->{2},3->{1,3}] + Applied Processor: AddSinks + Details: () * Step 5: Failure MAYBE + Considered Problem: Rules: f1(A,B) -> f2(A,B) True f2(A,B) -> f300(A,B) [A = B] f2(A,B) -> f2(1 + A,B) [A >= 1 + B && A >= B] f2(A,B) -> f2(1 + A,B) [B >= 1 + A] f300(A,B) -> exitus616(A,B) True f2(A,B) -> exitus616(A,B) True Signature: {(exitus616,2);(f1,3);(f2,3);(f300,3)} Rule Graph: [0->{1,2,3},1->{4},2->{2,5},3->{1,3}] + Applied Processor: Decompose Greedy + Details: We construct a looptree: P: [0,1,2,3,4,5] | +- p:[3] c: [3] | `- p:[2] c: [] MAYBE