(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))