(0) Obligation:

Clauses:

p(X, g(X)).
p(X, f(X)) :- p(X, g(Y)).

Query: p(g,a)

(1) PrologToCdtProblemTransformerProof (UPPER BOUND (ID) transformation)

Built complexity over-approximating cdt problems from derivation graph.

(2) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in(z0) → f2_out1(g(z0))
f2_in(z0) → U1(f11_in(z0), z0)
f2_in(z0) → U2(f11_in(z0), z0)
U1(f11_out1(z0), z1) → f2_out1(f(z1))
U2(f11_out1(z0), z1) → f2_out1(f(z1))
f11_in(z0) → f11_out1(z0)
Tuples:

F2_IN(z0) → c1(U1'(f11_in(z0), z0), F11_IN(z0))
F2_IN(z0) → c2(U2'(f11_in(z0), z0), F11_IN(z0))
S tuples:

F2_IN(z0) → c1(U1'(f11_in(z0), z0), F11_IN(z0))
F2_IN(z0) → c2(U2'(f11_in(z0), z0), F11_IN(z0))
K tuples:none
Defined Rule Symbols:

f2_in, U1, U2, f11_in

Defined Pair Symbols:

F2_IN

Compound Symbols:

c1, c2

(3) CdtGraphSplitRhsProof (BOTH BOUNDS(ID, ID) transformation)

Split RHS of tuples not part of any SCC

(4) Obligation:

Complexity Dependency Tuples Problem
Rules:

f2_in(z0) → f2_out1(g(z0))
f2_in(z0) → U1(f11_in(z0), z0)
f2_in(z0) → U2(f11_in(z0), z0)
U1(f11_out1(z0), z1) → f2_out1(f(z1))
U2(f11_out1(z0), z1) → f2_out1(f(z1))
f11_in(z0) → f11_out1(z0)
Tuples:

F2_IN(z0) → c(U1'(f11_in(z0), z0))
F2_IN(z0) → c(F11_IN(z0))
F2_IN(z0) → c(U2'(f11_in(z0), z0))
S tuples:

F2_IN(z0) → c(U1'(f11_in(z0), z0))
F2_IN(z0) → c(F11_IN(z0))
F2_IN(z0) → c(U2'(f11_in(z0), z0))
K tuples:none
Defined Rule Symbols:

f2_in, U1, U2, f11_in

Defined Pair Symbols:

F2_IN

Compound Symbols:

c

(5) PrologToCdtProblemTransformerProof (UPPER BOUND (ID) transformation)

Built complexity over-approximating cdt problems from derivation graph.

(6) Obligation:

Complexity Dependency Tuples Problem
Rules:

f1_in(z0) → f1_out1(g(z0))
f1_in(z0) → f1_out1(f(z0))
Tuples:none
S tuples:none
K tuples:none
Defined Rule Symbols:

f1_in

Defined Pair Symbols:none

Compound Symbols:none

(7) SIsEmptyProof (EQUIVALENT transformation)

The set S is empty

(8) BOUNDS(O(1), O(1))