MAYBE

Found an example we currently can't prove?
-> Consider contributing it to the benchmark set: https://mysolvertimesout.org/

proof of /hpcwork/ff862203/termcomp26/benchmarks/UVHwY.pl
# AProVE Commit ID: 23a904c96b029b0a549cde0d0d17dbccf967db59 jckassing 20260626 unpublished dirty


Left Termination of the query pattern

p(a)

w.r.t. the given Prolog program could not be shown:

(0) Prolog
(1) PrologToPiTRSProof [SOUND, 0 ms]
(2) PiTRS
    (3) DependencyPairsProof [EQUIVALENT, 0 ms]
    (4) PiDP
    (5) DependencyGraphProof [EQUIVALENT, 0 ms]
    (6) PiDP
    (7) UsableRulesProof [EQUIVALENT, 0 ms]
    (8) PiDP
    (9) PiDPToQDPProof [SOUND, 0 ms]
    (10) QDP
(11) PrologToPiTRSProof [SOUND, 0 ms]
(12) PiTRS
    (13) DependencyPairsProof [EQUIVALENT, 0 ms]
    (14) PiDP
    (15) DependencyGraphProof [EQUIVALENT, 0 ms]
    (16) PiDP
    (17) UsableRulesProof [EQUIVALENT, 0 ms]
    (18) PiDP
    (19) PiDPToQDPProof [SOUND, 0 ms]
    (20) QDP
(21) PrologToDTProblemTransformerProof [SOUND, 0 ms]
(22) TRIPLES
    (23) TriplesToPiDPProof [SOUND, 0 ms]
    (24) PiDP
    (25) DependencyGraphProof [EQUIVALENT, 0 ms]
    (26) PiDP
    (27) PiDPToQDPProof [SOUND, 0 ms]
    (28) QDP
(29) PrologToTRSTransformerProof [SOUND, 0 ms]
(30) QTRS
    (31) QTRSRRRProof [EQUIVALENT, 16 ms]
    (32) QTRS
    (33) QTRSRRRProof [EQUIVALENT, 8 ms]
    (34) QTRS
    (35) QTRSRRRProof [EQUIVALENT, 0 ms]
    (36) QTRS
    (37) QTRSRRRProof [EQUIVALENT, 4 ms]
    (38) QTRS
    (39) QTRSRRRProof [EQUIVALENT, 2 ms]
    (40) QTRS
(41) PrologToIRSwTTransformerProof [SOUND, 0 ms]
(42) IRSwT
    (43) IRSwTSimpleDependencyGraphProof [EQUIVALENT, 0 ms]
    (44) IRSwT
    (45) IntTRSCompressionProof [EQUIVALENT, 18 ms]
    (46) IRSwT
    (47) IRSFormatTransformerProof [EQUIVALENT, 0 ms]
    (48) IRSwT
    (49) IRSwTTerminationDigraphProof [EQUIVALENT, 3 ms]
    (50) IRSwT
    (51) FilterProof [EQUIVALENT, 0 ms]
    (52) IntTRS
    (53) IntTRSPeriodicNontermProof [COMPLETE, 3 ms]
    (54) NO


----------------------------------------

(0)
Obligation:
Clauses:

p(X) :- ','(l(X), q(X)).
q(.(A, [])).
r(1).
l([]).
l(.(H, T)) :- ','(r(H), l(T)).


Query: p(a)
----------------------------------------

(1) PrologToPiTRSProof (SOUND)
We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes:

p_in_1: (f)

l_in_1: (f)

Transforming Prolog into the following Term Rewriting System:

Pi-finite rewrite system:
The TRS R consists of the following rules:

   p_in_a(X) -> U1_a(X, l_in_a(X))
   l_in_a([]) -> l_out_a([])
   l_in_a(.(H, T)) -> U3_a(H, T, r_in_a(H))
   r_in_a(1) -> r_out_a(1)
   U3_a(H, T, r_out_a(H)) -> U4_a(H, T, l_in_a(T))
   U4_a(H, T, l_out_a(T)) -> l_out_a(.(H, T))
   U1_a(X, l_out_a(X)) -> U2_a(X, q_in_g(X))
   q_in_g(.(A, [])) -> q_out_g(.(A, []))
   U2_a(X, q_out_g(X)) -> p_out_a(X)

The argument filtering Pi contains the following mapping:
p_in_a(x1)  =  p_in_a

U1_a(x1, x2)  =  U1_a(x2)

l_in_a(x1)  =  l_in_a

l_out_a(x1)  =  l_out_a(x1)

U3_a(x1, x2, x3)  =  U3_a(x3)

r_in_a(x1)  =  r_in_a

r_out_a(x1)  =  r_out_a(x1)

U4_a(x1, x2, x3)  =  U4_a(x1, x3)

U2_a(x1, x2)  =  U2_a(x1, x2)

q_in_g(x1)  =  q_in_g(x1)

.(x1, x2)  =  .(x1, x2)

[]  =  []

q_out_g(x1)  =  q_out_g

p_out_a(x1)  =  p_out_a(x1)





Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog



----------------------------------------

(2)
Obligation:
Pi-finite rewrite system:
The TRS R consists of the following rules:

   p_in_a(X) -> U1_a(X, l_in_a(X))
   l_in_a([]) -> l_out_a([])
   l_in_a(.(H, T)) -> U3_a(H, T, r_in_a(H))
   r_in_a(1) -> r_out_a(1)
   U3_a(H, T, r_out_a(H)) -> U4_a(H, T, l_in_a(T))
   U4_a(H, T, l_out_a(T)) -> l_out_a(.(H, T))
   U1_a(X, l_out_a(X)) -> U2_a(X, q_in_g(X))
   q_in_g(.(A, [])) -> q_out_g(.(A, []))
   U2_a(X, q_out_g(X)) -> p_out_a(X)

The argument filtering Pi contains the following mapping:
p_in_a(x1)  =  p_in_a

U1_a(x1, x2)  =  U1_a(x2)

l_in_a(x1)  =  l_in_a

l_out_a(x1)  =  l_out_a(x1)

U3_a(x1, x2, x3)  =  U3_a(x3)

r_in_a(x1)  =  r_in_a

r_out_a(x1)  =  r_out_a(x1)

U4_a(x1, x2, x3)  =  U4_a(x1, x3)

U2_a(x1, x2)  =  U2_a(x1, x2)

q_in_g(x1)  =  q_in_g(x1)

.(x1, x2)  =  .(x1, x2)

[]  =  []

q_out_g(x1)  =  q_out_g

p_out_a(x1)  =  p_out_a(x1)



----------------------------------------

(3) DependencyPairsProof (EQUIVALENT)
Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem:
Pi DP problem:
The TRS P consists of the following rules:

   P_IN_A(X) -> U1_A(X, l_in_a(X))
   P_IN_A(X) -> L_IN_A(X)
   L_IN_A(.(H, T)) -> U3_A(H, T, r_in_a(H))
   L_IN_A(.(H, T)) -> R_IN_A(H)
   U3_A(H, T, r_out_a(H)) -> U4_A(H, T, l_in_a(T))
   U3_A(H, T, r_out_a(H)) -> L_IN_A(T)
   U1_A(X, l_out_a(X)) -> U2_A(X, q_in_g(X))
   U1_A(X, l_out_a(X)) -> Q_IN_G(X)

The TRS R consists of the following rules:

   p_in_a(X) -> U1_a(X, l_in_a(X))
   l_in_a([]) -> l_out_a([])
   l_in_a(.(H, T)) -> U3_a(H, T, r_in_a(H))
   r_in_a(1) -> r_out_a(1)
   U3_a(H, T, r_out_a(H)) -> U4_a(H, T, l_in_a(T))
   U4_a(H, T, l_out_a(T)) -> l_out_a(.(H, T))
   U1_a(X, l_out_a(X)) -> U2_a(X, q_in_g(X))
   q_in_g(.(A, [])) -> q_out_g(.(A, []))
   U2_a(X, q_out_g(X)) -> p_out_a(X)

The argument filtering Pi contains the following mapping:
p_in_a(x1)  =  p_in_a

U1_a(x1, x2)  =  U1_a(x2)

l_in_a(x1)  =  l_in_a

l_out_a(x1)  =  l_out_a(x1)

U3_a(x1, x2, x3)  =  U3_a(x3)

r_in_a(x1)  =  r_in_a

r_out_a(x1)  =  r_out_a(x1)

U4_a(x1, x2, x3)  =  U4_a(x1, x3)

U2_a(x1, x2)  =  U2_a(x1, x2)

q_in_g(x1)  =  q_in_g(x1)

.(x1, x2)  =  .(x1, x2)

[]  =  []

q_out_g(x1)  =  q_out_g

p_out_a(x1)  =  p_out_a(x1)

P_IN_A(x1)  =  P_IN_A

U1_A(x1, x2)  =  U1_A(x2)

L_IN_A(x1)  =  L_IN_A

U3_A(x1, x2, x3)  =  U3_A(x3)

R_IN_A(x1)  =  R_IN_A

U4_A(x1, x2, x3)  =  U4_A(x1, x3)

U2_A(x1, x2)  =  U2_A(x1, x2)

Q_IN_G(x1)  =  Q_IN_G(x1)


We have to consider all (P,R,Pi)-chains
----------------------------------------

(4)
Obligation:
Pi DP problem:
The TRS P consists of the following rules:

   P_IN_A(X) -> U1_A(X, l_in_a(X))
   P_IN_A(X) -> L_IN_A(X)
   L_IN_A(.(H, T)) -> U3_A(H, T, r_in_a(H))
   L_IN_A(.(H, T)) -> R_IN_A(H)
   U3_A(H, T, r_out_a(H)) -> U4_A(H, T, l_in_a(T))
   U3_A(H, T, r_out_a(H)) -> L_IN_A(T)
   U1_A(X, l_out_a(X)) -> U2_A(X, q_in_g(X))
   U1_A(X, l_out_a(X)) -> Q_IN_G(X)

The TRS R consists of the following rules:

   p_in_a(X) -> U1_a(X, l_in_a(X))
   l_in_a([]) -> l_out_a([])
   l_in_a(.(H, T)) -> U3_a(H, T, r_in_a(H))
   r_in_a(1) -> r_out_a(1)
   U3_a(H, T, r_out_a(H)) -> U4_a(H, T, l_in_a(T))
   U4_a(H, T, l_out_a(T)) -> l_out_a(.(H, T))
   U1_a(X, l_out_a(X)) -> U2_a(X, q_in_g(X))
   q_in_g(.(A, [])) -> q_out_g(.(A, []))
   U2_a(X, q_out_g(X)) -> p_out_a(X)

The argument filtering Pi contains the following mapping:
p_in_a(x1)  =  p_in_a

U1_a(x1, x2)  =  U1_a(x2)

l_in_a(x1)  =  l_in_a

l_out_a(x1)  =  l_out_a(x1)

U3_a(x1, x2, x3)  =  U3_a(x3)

r_in_a(x1)  =  r_in_a

r_out_a(x1)  =  r_out_a(x1)

U4_a(x1, x2, x3)  =  U4_a(x1, x3)

U2_a(x1, x2)  =  U2_a(x1, x2)

q_in_g(x1)  =  q_in_g(x1)

.(x1, x2)  =  .(x1, x2)

[]  =  []

q_out_g(x1)  =  q_out_g

p_out_a(x1)  =  p_out_a(x1)

P_IN_A(x1)  =  P_IN_A

U1_A(x1, x2)  =  U1_A(x2)

L_IN_A(x1)  =  L_IN_A

U3_A(x1, x2, x3)  =  U3_A(x3)

R_IN_A(x1)  =  R_IN_A

U4_A(x1, x2, x3)  =  U4_A(x1, x3)

U2_A(x1, x2)  =  U2_A(x1, x2)

Q_IN_G(x1)  =  Q_IN_G(x1)


We have to consider all (P,R,Pi)-chains
----------------------------------------

(5) DependencyGraphProof (EQUIVALENT)
The approximation of the Dependency Graph [LOPSTR] contains 1 SCC with 6 less nodes.
----------------------------------------

(6)
Obligation:
Pi DP problem:
The TRS P consists of the following rules:

   U3_A(H, T, r_out_a(H)) -> L_IN_A(T)
   L_IN_A(.(H, T)) -> U3_A(H, T, r_in_a(H))

The TRS R consists of the following rules:

   p_in_a(X) -> U1_a(X, l_in_a(X))
   l_in_a([]) -> l_out_a([])
   l_in_a(.(H, T)) -> U3_a(H, T, r_in_a(H))
   r_in_a(1) -> r_out_a(1)
   U3_a(H, T, r_out_a(H)) -> U4_a(H, T, l_in_a(T))
   U4_a(H, T, l_out_a(T)) -> l_out_a(.(H, T))
   U1_a(X, l_out_a(X)) -> U2_a(X, q_in_g(X))
   q_in_g(.(A, [])) -> q_out_g(.(A, []))
   U2_a(X, q_out_g(X)) -> p_out_a(X)

The argument filtering Pi contains the following mapping:
p_in_a(x1)  =  p_in_a

U1_a(x1, x2)  =  U1_a(x2)

l_in_a(x1)  =  l_in_a

l_out_a(x1)  =  l_out_a(x1)

U3_a(x1, x2, x3)  =  U3_a(x3)

r_in_a(x1)  =  r_in_a

r_out_a(x1)  =  r_out_a(x1)

U4_a(x1, x2, x3)  =  U4_a(x1, x3)

U2_a(x1, x2)  =  U2_a(x1, x2)

q_in_g(x1)  =  q_in_g(x1)

.(x1, x2)  =  .(x1, x2)

[]  =  []

q_out_g(x1)  =  q_out_g

p_out_a(x1)  =  p_out_a(x1)

L_IN_A(x1)  =  L_IN_A

U3_A(x1, x2, x3)  =  U3_A(x3)


We have to consider all (P,R,Pi)-chains
----------------------------------------

(7) UsableRulesProof (EQUIVALENT)
For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.
----------------------------------------

(8)
Obligation:
Pi DP problem:
The TRS P consists of the following rules:

   U3_A(H, T, r_out_a(H)) -> L_IN_A(T)
   L_IN_A(.(H, T)) -> U3_A(H, T, r_in_a(H))

The TRS R consists of the following rules:

   r_in_a(1) -> r_out_a(1)

The argument filtering Pi contains the following mapping:
r_in_a(x1)  =  r_in_a

r_out_a(x1)  =  r_out_a(x1)

.(x1, x2)  =  .(x1, x2)

L_IN_A(x1)  =  L_IN_A

U3_A(x1, x2, x3)  =  U3_A(x3)


We have to consider all (P,R,Pi)-chains
----------------------------------------

(9) PiDPToQDPProof (SOUND)
Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.
----------------------------------------

(10)
Obligation:
Q DP problem:
The TRS P consists of the following rules:

   U3_A(r_out_a(H)) -> L_IN_A
   L_IN_A -> U3_A(r_in_a)

The TRS R consists of the following rules:

   r_in_a -> r_out_a(1)

The set Q consists of the following terms:

   r_in_a

We have to consider all (P,Q,R)-chains.
----------------------------------------

(11) PrologToPiTRSProof (SOUND)
We use the technique of [TOCL09]. With regard to the inferred argument filtering the predicates were used in the following modes:

p_in_1: (f)

l_in_1: (f)

Transforming Prolog into the following Term Rewriting System:

Pi-finite rewrite system:
The TRS R consists of the following rules:

   p_in_a(X) -> U1_a(X, l_in_a(X))
   l_in_a([]) -> l_out_a([])
   l_in_a(.(H, T)) -> U3_a(H, T, r_in_a(H))
   r_in_a(1) -> r_out_a(1)
   U3_a(H, T, r_out_a(H)) -> U4_a(H, T, l_in_a(T))
   U4_a(H, T, l_out_a(T)) -> l_out_a(.(H, T))
   U1_a(X, l_out_a(X)) -> U2_a(X, q_in_g(X))
   q_in_g(.(A, [])) -> q_out_g(.(A, []))
   U2_a(X, q_out_g(X)) -> p_out_a(X)

The argument filtering Pi contains the following mapping:
p_in_a(x1)  =  p_in_a

U1_a(x1, x2)  =  U1_a(x2)

l_in_a(x1)  =  l_in_a

l_out_a(x1)  =  l_out_a(x1)

U3_a(x1, x2, x3)  =  U3_a(x3)

r_in_a(x1)  =  r_in_a

r_out_a(x1)  =  r_out_a(x1)

U4_a(x1, x2, x3)  =  U4_a(x1, x3)

U2_a(x1, x2)  =  U2_a(x1, x2)

q_in_g(x1)  =  q_in_g(x1)

.(x1, x2)  =  .(x1, x2)

[]  =  []

q_out_g(x1)  =  q_out_g(x1)

p_out_a(x1)  =  p_out_a(x1)





Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog



----------------------------------------

(12)
Obligation:
Pi-finite rewrite system:
The TRS R consists of the following rules:

   p_in_a(X) -> U1_a(X, l_in_a(X))
   l_in_a([]) -> l_out_a([])
   l_in_a(.(H, T)) -> U3_a(H, T, r_in_a(H))
   r_in_a(1) -> r_out_a(1)
   U3_a(H, T, r_out_a(H)) -> U4_a(H, T, l_in_a(T))
   U4_a(H, T, l_out_a(T)) -> l_out_a(.(H, T))
   U1_a(X, l_out_a(X)) -> U2_a(X, q_in_g(X))
   q_in_g(.(A, [])) -> q_out_g(.(A, []))
   U2_a(X, q_out_g(X)) -> p_out_a(X)

The argument filtering Pi contains the following mapping:
p_in_a(x1)  =  p_in_a

U1_a(x1, x2)  =  U1_a(x2)

l_in_a(x1)  =  l_in_a

l_out_a(x1)  =  l_out_a(x1)

U3_a(x1, x2, x3)  =  U3_a(x3)

r_in_a(x1)  =  r_in_a

r_out_a(x1)  =  r_out_a(x1)

U4_a(x1, x2, x3)  =  U4_a(x1, x3)

U2_a(x1, x2)  =  U2_a(x1, x2)

q_in_g(x1)  =  q_in_g(x1)

.(x1, x2)  =  .(x1, x2)

[]  =  []

q_out_g(x1)  =  q_out_g(x1)

p_out_a(x1)  =  p_out_a(x1)



----------------------------------------

(13) DependencyPairsProof (EQUIVALENT)
Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem:
Pi DP problem:
The TRS P consists of the following rules:

   P_IN_A(X) -> U1_A(X, l_in_a(X))
   P_IN_A(X) -> L_IN_A(X)
   L_IN_A(.(H, T)) -> U3_A(H, T, r_in_a(H))
   L_IN_A(.(H, T)) -> R_IN_A(H)
   U3_A(H, T, r_out_a(H)) -> U4_A(H, T, l_in_a(T))
   U3_A(H, T, r_out_a(H)) -> L_IN_A(T)
   U1_A(X, l_out_a(X)) -> U2_A(X, q_in_g(X))
   U1_A(X, l_out_a(X)) -> Q_IN_G(X)

The TRS R consists of the following rules:

   p_in_a(X) -> U1_a(X, l_in_a(X))
   l_in_a([]) -> l_out_a([])
   l_in_a(.(H, T)) -> U3_a(H, T, r_in_a(H))
   r_in_a(1) -> r_out_a(1)
   U3_a(H, T, r_out_a(H)) -> U4_a(H, T, l_in_a(T))
   U4_a(H, T, l_out_a(T)) -> l_out_a(.(H, T))
   U1_a(X, l_out_a(X)) -> U2_a(X, q_in_g(X))
   q_in_g(.(A, [])) -> q_out_g(.(A, []))
   U2_a(X, q_out_g(X)) -> p_out_a(X)

The argument filtering Pi contains the following mapping:
p_in_a(x1)  =  p_in_a

U1_a(x1, x2)  =  U1_a(x2)

l_in_a(x1)  =  l_in_a

l_out_a(x1)  =  l_out_a(x1)

U3_a(x1, x2, x3)  =  U3_a(x3)

r_in_a(x1)  =  r_in_a

r_out_a(x1)  =  r_out_a(x1)

U4_a(x1, x2, x3)  =  U4_a(x1, x3)

U2_a(x1, x2)  =  U2_a(x1, x2)

q_in_g(x1)  =  q_in_g(x1)

.(x1, x2)  =  .(x1, x2)

[]  =  []

q_out_g(x1)  =  q_out_g(x1)

p_out_a(x1)  =  p_out_a(x1)

P_IN_A(x1)  =  P_IN_A

U1_A(x1, x2)  =  U1_A(x2)

L_IN_A(x1)  =  L_IN_A

U3_A(x1, x2, x3)  =  U3_A(x3)

R_IN_A(x1)  =  R_IN_A

U4_A(x1, x2, x3)  =  U4_A(x1, x3)

U2_A(x1, x2)  =  U2_A(x1, x2)

Q_IN_G(x1)  =  Q_IN_G(x1)


We have to consider all (P,R,Pi)-chains
----------------------------------------

(14)
Obligation:
Pi DP problem:
The TRS P consists of the following rules:

   P_IN_A(X) -> U1_A(X, l_in_a(X))
   P_IN_A(X) -> L_IN_A(X)
   L_IN_A(.(H, T)) -> U3_A(H, T, r_in_a(H))
   L_IN_A(.(H, T)) -> R_IN_A(H)
   U3_A(H, T, r_out_a(H)) -> U4_A(H, T, l_in_a(T))
   U3_A(H, T, r_out_a(H)) -> L_IN_A(T)
   U1_A(X, l_out_a(X)) -> U2_A(X, q_in_g(X))
   U1_A(X, l_out_a(X)) -> Q_IN_G(X)

The TRS R consists of the following rules:

   p_in_a(X) -> U1_a(X, l_in_a(X))
   l_in_a([]) -> l_out_a([])
   l_in_a(.(H, T)) -> U3_a(H, T, r_in_a(H))
   r_in_a(1) -> r_out_a(1)
   U3_a(H, T, r_out_a(H)) -> U4_a(H, T, l_in_a(T))
   U4_a(H, T, l_out_a(T)) -> l_out_a(.(H, T))
   U1_a(X, l_out_a(X)) -> U2_a(X, q_in_g(X))
   q_in_g(.(A, [])) -> q_out_g(.(A, []))
   U2_a(X, q_out_g(X)) -> p_out_a(X)

The argument filtering Pi contains the following mapping:
p_in_a(x1)  =  p_in_a

U1_a(x1, x2)  =  U1_a(x2)

l_in_a(x1)  =  l_in_a

l_out_a(x1)  =  l_out_a(x1)

U3_a(x1, x2, x3)  =  U3_a(x3)

r_in_a(x1)  =  r_in_a

r_out_a(x1)  =  r_out_a(x1)

U4_a(x1, x2, x3)  =  U4_a(x1, x3)

U2_a(x1, x2)  =  U2_a(x1, x2)

q_in_g(x1)  =  q_in_g(x1)

.(x1, x2)  =  .(x1, x2)

[]  =  []

q_out_g(x1)  =  q_out_g(x1)

p_out_a(x1)  =  p_out_a(x1)

P_IN_A(x1)  =  P_IN_A

U1_A(x1, x2)  =  U1_A(x2)

L_IN_A(x1)  =  L_IN_A

U3_A(x1, x2, x3)  =  U3_A(x3)

R_IN_A(x1)  =  R_IN_A

U4_A(x1, x2, x3)  =  U4_A(x1, x3)

U2_A(x1, x2)  =  U2_A(x1, x2)

Q_IN_G(x1)  =  Q_IN_G(x1)


We have to consider all (P,R,Pi)-chains
----------------------------------------

(15) DependencyGraphProof (EQUIVALENT)
The approximation of the Dependency Graph [LOPSTR] contains 1 SCC with 6 less nodes.
----------------------------------------

(16)
Obligation:
Pi DP problem:
The TRS P consists of the following rules:

   U3_A(H, T, r_out_a(H)) -> L_IN_A(T)
   L_IN_A(.(H, T)) -> U3_A(H, T, r_in_a(H))

The TRS R consists of the following rules:

   p_in_a(X) -> U1_a(X, l_in_a(X))
   l_in_a([]) -> l_out_a([])
   l_in_a(.(H, T)) -> U3_a(H, T, r_in_a(H))
   r_in_a(1) -> r_out_a(1)
   U3_a(H, T, r_out_a(H)) -> U4_a(H, T, l_in_a(T))
   U4_a(H, T, l_out_a(T)) -> l_out_a(.(H, T))
   U1_a(X, l_out_a(X)) -> U2_a(X, q_in_g(X))
   q_in_g(.(A, [])) -> q_out_g(.(A, []))
   U2_a(X, q_out_g(X)) -> p_out_a(X)

The argument filtering Pi contains the following mapping:
p_in_a(x1)  =  p_in_a

U1_a(x1, x2)  =  U1_a(x2)

l_in_a(x1)  =  l_in_a

l_out_a(x1)  =  l_out_a(x1)

U3_a(x1, x2, x3)  =  U3_a(x3)

r_in_a(x1)  =  r_in_a

r_out_a(x1)  =  r_out_a(x1)

U4_a(x1, x2, x3)  =  U4_a(x1, x3)

U2_a(x1, x2)  =  U2_a(x1, x2)

q_in_g(x1)  =  q_in_g(x1)

.(x1, x2)  =  .(x1, x2)

[]  =  []

q_out_g(x1)  =  q_out_g(x1)

p_out_a(x1)  =  p_out_a(x1)

L_IN_A(x1)  =  L_IN_A

U3_A(x1, x2, x3)  =  U3_A(x3)


We have to consider all (P,R,Pi)-chains
----------------------------------------

(17) UsableRulesProof (EQUIVALENT)
For (infinitary) constructor rewriting [LOPSTR] we can delete all non-usable rules from R.
----------------------------------------

(18)
Obligation:
Pi DP problem:
The TRS P consists of the following rules:

   U3_A(H, T, r_out_a(H)) -> L_IN_A(T)
   L_IN_A(.(H, T)) -> U3_A(H, T, r_in_a(H))

The TRS R consists of the following rules:

   r_in_a(1) -> r_out_a(1)

The argument filtering Pi contains the following mapping:
r_in_a(x1)  =  r_in_a

r_out_a(x1)  =  r_out_a(x1)

.(x1, x2)  =  .(x1, x2)

L_IN_A(x1)  =  L_IN_A

U3_A(x1, x2, x3)  =  U3_A(x3)


We have to consider all (P,R,Pi)-chains
----------------------------------------

(19) PiDPToQDPProof (SOUND)
Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.
----------------------------------------

(20)
Obligation:
Q DP problem:
The TRS P consists of the following rules:

   U3_A(r_out_a(H)) -> L_IN_A
   L_IN_A -> U3_A(r_in_a)

The TRS R consists of the following rules:

   r_in_a -> r_out_a(1)

The set Q consists of the following terms:

   r_in_a

We have to consider all (P,Q,R)-chains.
----------------------------------------

(21) PrologToDTProblemTransformerProof (SOUND)
Built DT problem from termination graph DT10.

{
    "root": 1,
    "program": {
        "directives": [],
        "clauses": [
            [
                "(p X)",
                "(',' (l X) (q X))"
            ],
            [
                "(q (. A ([])))",
                null
            ],
            [
                "(r (1))",
                null
            ],
            [
                "(l ([]))",
                null
            ],
            [
                "(l (. H T))",
                "(',' (r H) (l T))"
            ]
        ]
    },
    "graph": {
        "nodes": {
            "88": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(l T13)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "89": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(q (. (1) T14))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T14"],
                    "free": [],
                    "exprvars": []
                }
            },
            "24": {
                "goal": [{
                    "clause": 4,
                    "scope": 2,
                    "term": "(',' (l T4) (q T4))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "47": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(',' (l T13) (q (. (1) T13)))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "190": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "type": "Nodes",
            "110": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(l T23)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "113": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "90": {
                "goal": [
                    {
                        "clause": 3,
                        "scope": 5,
                        "term": "(l T13)"
                    },
                    {
                        "clause": 4,
                        "scope": 5,
                        "term": "(l T13)"
                    }
                ],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "93": {
                "goal": [{
                    "clause": 3,
                    "scope": 5,
                    "term": "(l T13)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "50": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "94": {
                "goal": [{
                    "clause": 4,
                    "scope": 5,
                    "term": "(l T13)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "96": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(true)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "97": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "32": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(q ([]))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "98": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "33": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "34": {
                "goal": [{
                    "clause": 1,
                    "scope": 3,
                    "term": "(q ([]))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "35": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "36": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(',' (',' (r T11) (l T12)) (q (. T11 T12)))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "39": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "19": {
                "goal": [
                    {
                        "clause": 3,
                        "scope": 2,
                        "term": "(',' (l T4) (q T4))"
                    },
                    {
                        "clause": 4,
                        "scope": 2,
                        "term": "(',' (l T4) (q T4))"
                    }
                ],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "185": {
                "goal": [{
                    "clause": 1,
                    "scope": 7,
                    "term": "(q (. (1) T14))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T14"],
                    "free": [],
                    "exprvars": []
                }
            },
            "1": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(p T1)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "188": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(true)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "189": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "102": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(',' (r T21) (l T22))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "4": {
                "goal": [{
                    "clause": 0,
                    "scope": 1,
                    "term": "(p T1)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "104": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "106": {
                "goal": [{
                    "clause": 2,
                    "scope": 6,
                    "term": "(',' (r T21) (l T22))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "8": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(',' (l T4) (q T4))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "40": {
                "goal": [{
                    "clause": 2,
                    "scope": 4,
                    "term": "(',' (',' (r T11) (l T12)) (q (. T11 T12)))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "20": {
                "goal": [{
                    "clause": 3,
                    "scope": 2,
                    "term": "(',' (l T4) (q T4))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            }
        },
        "edges": [
            {
                "from": 1,
                "to": 4,
                "label": "CASE"
            },
            {
                "from": 4,
                "to": 8,
                "label": "ONLY EVAL with clause\np(X2) :- ','(l(X2), q(X2)).\nand substitutionT1 -> T4,\nX2 -> T4,\nT3 -> T4"
            },
            {
                "from": 8,
                "to": 19,
                "label": "CASE"
            },
            {
                "from": 19,
                "to": 20,
                "label": "PARALLEL"
            },
            {
                "from": 19,
                "to": 24,
                "label": "PARALLEL"
            },
            {
                "from": 20,
                "to": 32,
                "label": "EVAL with clause\nl([]).\nand substitutionT4 -> []"
            },
            {
                "from": 20,
                "to": 33,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 24,
                "to": 36,
                "label": "EVAL with clause\nl(.(X8, X9)) :- ','(r(X8), l(X9)).\nand substitutionX8 -> T11,\nX9 -> T12,\nT4 -> .(T11, T12),\nT9 -> T11,\nT10 -> T12"
            },
            {
                "from": 24,
                "to": 39,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 32,
                "to": 34,
                "label": "CASE"
            },
            {
                "from": 34,
                "to": 35,
                "label": "BACKTRACK\nfor clause: q(.(A, []))because of non-unification"
            },
            {
                "from": 36,
                "to": 40,
                "label": "CASE"
            },
            {
                "from": 40,
                "to": 47,
                "label": "EVAL with clause\nr(1).\nand substitutionT11 -> 1,\nT12 -> T13"
            },
            {
                "from": 40,
                "to": 50,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 47,
                "to": 88,
                "label": "SPLIT 1"
            },
            {
                "from": 47,
                "to": 89,
                "label": "SPLIT 2\nnew knowledge:\nT14 is ground\nreplacements:T13 -> T14"
            },
            {
                "from": 88,
                "to": 90,
                "label": "CASE"
            },
            {
                "from": 89,
                "to": 185,
                "label": "CASE"
            },
            {
                "from": 90,
                "to": 93,
                "label": "PARALLEL"
            },
            {
                "from": 90,
                "to": 94,
                "label": "PARALLEL"
            },
            {
                "from": 93,
                "to": 96,
                "label": "EVAL with clause\nl([]).\nand substitutionT13 -> []"
            },
            {
                "from": 93,
                "to": 97,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 94,
                "to": 102,
                "label": "EVAL with clause\nl(.(X14, X15)) :- ','(r(X14), l(X15)).\nand substitutionX14 -> T21,\nX15 -> T22,\nT13 -> .(T21, T22),\nT19 -> T21,\nT20 -> T22"
            },
            {
                "from": 94,
                "to": 104,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 96,
                "to": 98,
                "label": "SUCCESS"
            },
            {
                "from": 102,
                "to": 106,
                "label": "CASE"
            },
            {
                "from": 106,
                "to": 110,
                "label": "EVAL with clause\nr(1).\nand substitutionT21 -> 1,\nT22 -> T23"
            },
            {
                "from": 106,
                "to": 113,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 110,
                "to": 88,
                "label": "INSTANCE with matching:\nT13 -> T23"
            },
            {
                "from": 185,
                "to": 188,
                "label": "EVAL with clause\nq(.(X18, [])).\nand substitutionX18 -> 1,\nT14 -> []"
            },
            {
                "from": 185,
                "to": 189,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 188,
                "to": 190,
                "label": "SUCCESS"
            }
        ],
        "type": "Graph"
    }
}

----------------------------------------

(22)
Obligation:
Triples:

lA(.(1, X1)) :- lA(X1).
pB(.(1, X1)) :- lA(X1).

Clauses:

lcA([]).
lcA(.(1, X1)) :- lcA(X1).

Afs:

pB(x1)  =  pB


----------------------------------------

(23) TriplesToPiDPProof (SOUND)
We use the technique of [DT09]. With regard to the inferred argument filtering the predicates were used in the following modes:

pB_in_1: (f)

lA_in_1: (f)

Transforming TRIPLES into the following Term Rewriting System:

Pi DP problem:
The TRS P consists of the following rules:

   PB_IN_A(.(1, X1)) -> U2_A(X1, lA_in_a(X1))
   PB_IN_A(.(1, X1)) -> LA_IN_A(X1)
   LA_IN_A(.(1, X1)) -> U1_A(X1, lA_in_a(X1))
   LA_IN_A(.(1, X1)) -> LA_IN_A(X1)

R is empty.
The argument filtering Pi contains the following mapping:
lA_in_a(x1)  =  lA_in_a

.(x1, x2)  =  .(x1, x2)

1  =  1

PB_IN_A(x1)  =  PB_IN_A

U2_A(x1, x2)  =  U2_A(x2)

LA_IN_A(x1)  =  LA_IN_A

U1_A(x1, x2)  =  U1_A(x2)


We have to consider all (P,R,Pi)-chains


Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES



----------------------------------------

(24)
Obligation:
Pi DP problem:
The TRS P consists of the following rules:

   PB_IN_A(.(1, X1)) -> U2_A(X1, lA_in_a(X1))
   PB_IN_A(.(1, X1)) -> LA_IN_A(X1)
   LA_IN_A(.(1, X1)) -> U1_A(X1, lA_in_a(X1))
   LA_IN_A(.(1, X1)) -> LA_IN_A(X1)

R is empty.
The argument filtering Pi contains the following mapping:
lA_in_a(x1)  =  lA_in_a

.(x1, x2)  =  .(x1, x2)

1  =  1

PB_IN_A(x1)  =  PB_IN_A

U2_A(x1, x2)  =  U2_A(x2)

LA_IN_A(x1)  =  LA_IN_A

U1_A(x1, x2)  =  U1_A(x2)


We have to consider all (P,R,Pi)-chains
----------------------------------------

(25) DependencyGraphProof (EQUIVALENT)
The approximation of the Dependency Graph [LOPSTR] contains 1 SCC with 3 less nodes.
----------------------------------------

(26)
Obligation:
Pi DP problem:
The TRS P consists of the following rules:

   LA_IN_A(.(1, X1)) -> LA_IN_A(X1)

R is empty.
The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)

1  =  1

LA_IN_A(x1)  =  LA_IN_A


We have to consider all (P,R,Pi)-chains
----------------------------------------

(27) PiDPToQDPProof (SOUND)
Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.
----------------------------------------

(28)
Obligation:
Q DP problem:
The TRS P consists of the following rules:

   LA_IN_A -> LA_IN_A

R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.
----------------------------------------

(29) PrologToTRSTransformerProof (SOUND)
Transformed Prolog program to TRS.

{
    "root": 2,
    "program": {
        "directives": [],
        "clauses": [
            [
                "(p X)",
                "(',' (l X) (q X))"
            ],
            [
                "(q (. A ([])))",
                null
            ],
            [
                "(r (1))",
                null
            ],
            [
                "(l ([]))",
                null
            ],
            [
                "(l (. H T))",
                "(',' (r H) (l T))"
            ]
        ]
    },
    "graph": {
        "nodes": {
            "99": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(l T16)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "45": {
                "goal": [{
                    "clause": 3,
                    "scope": 2,
                    "term": "(l T6)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "46": {
                "goal": [{
                    "clause": 4,
                    "scope": 2,
                    "term": "(l T6)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "69": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "37": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(l T6)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "38": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(q T7)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T7"],
                    "free": [],
                    "exprvars": []
                }
            },
            "type": "Nodes",
            "100": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "2": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(p T1)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "124": {
                "goal": [{
                    "clause": 1,
                    "scope": 4,
                    "term": "(q T7)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T7"],
                    "free": [],
                    "exprvars": []
                }
            },
            "125": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(true)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "5": {
                "goal": [{
                    "clause": 0,
                    "scope": 1,
                    "term": "(p T1)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "126": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "127": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "91": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(',' (r T14) (l T15))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "9": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(',' (l T6) (q T6))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "92": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "62": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(true)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "95": {
                "goal": [{
                    "clause": 2,
                    "scope": 3,
                    "term": "(',' (r T14) (l T15))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "75": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "43": {
                "goal": [
                    {
                        "clause": 3,
                        "scope": 2,
                        "term": "(l T6)"
                    },
                    {
                        "clause": 4,
                        "scope": 2,
                        "term": "(l T6)"
                    }
                ],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            }
        },
        "edges": [
            {
                "from": 2,
                "to": 5,
                "label": "CASE"
            },
            {
                "from": 5,
                "to": 9,
                "label": "ONLY EVAL with clause\np(X3) :- ','(l(X3), q(X3)).\nand substitutionT1 -> T6,\nX3 -> T6,\nT5 -> T6"
            },
            {
                "from": 9,
                "to": 37,
                "label": "SPLIT 1"
            },
            {
                "from": 9,
                "to": 38,
                "label": "SPLIT 2\nnew knowledge:\nT7 is ground\nreplacements:T6 -> T7"
            },
            {
                "from": 37,
                "to": 43,
                "label": "CASE"
            },
            {
                "from": 38,
                "to": 124,
                "label": "CASE"
            },
            {
                "from": 43,
                "to": 45,
                "label": "PARALLEL"
            },
            {
                "from": 43,
                "to": 46,
                "label": "PARALLEL"
            },
            {
                "from": 45,
                "to": 62,
                "label": "EVAL with clause\nl([]).\nand substitutionT6 -> []"
            },
            {
                "from": 45,
                "to": 69,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 46,
                "to": 91,
                "label": "EVAL with clause\nl(.(X8, X9)) :- ','(r(X8), l(X9)).\nand substitutionX8 -> T14,\nX9 -> T15,\nT6 -> .(T14, T15),\nT12 -> T14,\nT13 -> T15"
            },
            {
                "from": 46,
                "to": 92,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 62,
                "to": 75,
                "label": "SUCCESS"
            },
            {
                "from": 91,
                "to": 95,
                "label": "CASE"
            },
            {
                "from": 95,
                "to": 99,
                "label": "EVAL with clause\nr(1).\nand substitutionT14 -> 1,\nT15 -> T16"
            },
            {
                "from": 95,
                "to": 100,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 99,
                "to": 37,
                "label": "INSTANCE with matching:\nT6 -> T16"
            },
            {
                "from": 124,
                "to": 125,
                "label": "EVAL with clause\nq(.(X12, [])).\nand substitutionX12 -> T19,\nT7 -> .(T19, [])"
            },
            {
                "from": 124,
                "to": 126,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 125,
                "to": 127,
                "label": "SUCCESS"
            }
        ],
        "type": "Graph"
    }
}

----------------------------------------

(30)
Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:

   f2_in -> U1(f9_in)
   U1(f9_out1(T6)) -> f2_out1(T6)
   f37_in -> f37_out1([])
   f37_in -> U2(f37_in)
   U2(f37_out1(T16)) -> f37_out1(.(1, T16))
   f38_in(.(T19, [])) -> f38_out1
   f9_in -> U3(f37_in)
   U3(f37_out1(T7)) -> U4(f38_in(T7), T7)
   U4(f38_out1, T7) -> f9_out1(T7)

Q is empty.

----------------------------------------

(31) QTRSRRRProof (EQUIVALENT)
Used ordering:
Polynomial interpretation [POLO]:

   POL(.(x_1, x_2)) = x_1 + 2*x_2
   POL(1) = 0
   POL(U1(x_1)) = 2*x_1
   POL(U2(x_1)) = 2*x_1
   POL(U3(x_1)) = 2*x_1
   POL(U4(x_1, x_2)) = x_1 + x_2
   POL([]) = 0
   POL(f2_in) = 1
   POL(f2_out1(x_1)) = 2*x_1
   POL(f37_in) = 0
   POL(f37_out1(x_1)) = x_1
   POL(f38_in(x_1)) = x_1
   POL(f38_out1) = 0
   POL(f9_in) = 0
   POL(f9_out1(x_1)) = x_1
With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:

   f2_in -> U1(f9_in)




----------------------------------------

(32)
Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:

   U1(f9_out1(T6)) -> f2_out1(T6)
   f37_in -> f37_out1([])
   f37_in -> U2(f37_in)
   U2(f37_out1(T16)) -> f37_out1(.(1, T16))
   f38_in(.(T19, [])) -> f38_out1
   f9_in -> U3(f37_in)
   U3(f37_out1(T7)) -> U4(f38_in(T7), T7)
   U4(f38_out1, T7) -> f9_out1(T7)

Q is empty.

----------------------------------------

(33) QTRSRRRProof (EQUIVALENT)
Used ordering:
Polynomial interpretation [POLO]:

   POL(.(x_1, x_2)) = 2*x_1 + x_2
   POL(1) = 0
   POL(U1(x_1)) = 2*x_1
   POL(U2(x_1)) = x_1
   POL(U3(x_1)) = 2*x_1
   POL(U4(x_1, x_2)) = x_1 + 2*x_2
   POL([]) = 0
   POL(f2_out1(x_1)) = 2*x_1
   POL(f37_in) = 0
   POL(f37_out1(x_1)) = 2*x_1
   POL(f38_in(x_1)) = x_1
   POL(f38_out1) = 0
   POL(f9_in) = 2
   POL(f9_out1(x_1)) = x_1
With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:

   f9_in -> U3(f37_in)




----------------------------------------

(34)
Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:

   U1(f9_out1(T6)) -> f2_out1(T6)
   f37_in -> f37_out1([])
   f37_in -> U2(f37_in)
   U2(f37_out1(T16)) -> f37_out1(.(1, T16))
   f38_in(.(T19, [])) -> f38_out1
   U3(f37_out1(T7)) -> U4(f38_in(T7), T7)
   U4(f38_out1, T7) -> f9_out1(T7)

Q is empty.

----------------------------------------

(35) QTRSRRRProof (EQUIVALENT)
Used ordering:
Polynomial interpretation [POLO]:

   POL(.(x_1, x_2)) = 2*x_1 + x_2
   POL(1) = 0
   POL(U1(x_1)) = 2*x_1
   POL(U2(x_1)) = x_1
   POL(U3(x_1)) = 1 + 2*x_1
   POL(U4(x_1, x_2)) = 2 + 2*x_1 + x_2
   POL([]) = 0
   POL(f2_out1(x_1)) = 2 + 2*x_1
   POL(f37_in) = 2
   POL(f37_out1(x_1)) = 2 + 2*x_1
   POL(f38_in(x_1)) = x_1
   POL(f38_out1) = 0
   POL(f9_out1(x_1)) = 1 + x_1
With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:

   U3(f37_out1(T7)) -> U4(f38_in(T7), T7)
   U4(f38_out1, T7) -> f9_out1(T7)




----------------------------------------

(36)
Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:

   U1(f9_out1(T6)) -> f2_out1(T6)
   f37_in -> f37_out1([])
   f37_in -> U2(f37_in)
   U2(f37_out1(T16)) -> f37_out1(.(1, T16))
   f38_in(.(T19, [])) -> f38_out1

Q is empty.

----------------------------------------

(37) QTRSRRRProof (EQUIVALENT)
Used ordering:
Polynomial interpretation [POLO]:

   POL(.(x_1, x_2)) = 2*x_1 + x_2
   POL(1) = 0
   POL(U1(x_1)) = 2 + x_1
   POL(U2(x_1)) = 2*x_1
   POL([]) = 0
   POL(f2_out1(x_1)) = 2*x_1
   POL(f37_in) = 0
   POL(f37_out1(x_1)) = x_1
   POL(f38_in(x_1)) = 1 + x_1
   POL(f38_out1) = 1
   POL(f9_out1(x_1)) = 2 + 2*x_1
With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:

   U1(f9_out1(T6)) -> f2_out1(T6)




----------------------------------------

(38)
Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:

   f37_in -> f37_out1([])
   f37_in -> U2(f37_in)
   U2(f37_out1(T16)) -> f37_out1(.(1, T16))
   f38_in(.(T19, [])) -> f38_out1

Q is empty.

----------------------------------------

(39) QTRSRRRProof (EQUIVALENT)
Used ordering:
Polynomial interpretation [POLO]:

   POL(.(x_1, x_2)) = 2*x_1 + x_2
   POL(1) = 0
   POL(U2(x_1)) = 2*x_1
   POL([]) = 0
   POL(f37_in) = 0
   POL(f37_out1(x_1)) = 2*x_1
   POL(f38_in(x_1)) = 1 + 2*x_1
   POL(f38_out1) = 0
With this ordering the following rules can be removed by the rule removal processor [LPAR04] because they are oriented strictly:

   f38_in(.(T19, [])) -> f38_out1




----------------------------------------

(40)
Obligation:
Q restricted rewrite system:
The TRS R consists of the following rules:

   f37_in -> f37_out1([])
   f37_in -> U2(f37_in)
   U2(f37_out1(T16)) -> f37_out1(.(1, T16))

Q is empty.

----------------------------------------

(41) PrologToIRSwTTransformerProof (SOUND)
Transformed Prolog program to IRSwT according to method in Master Thesis of A. Weinert

{
    "root": 3,
    "program": {
        "directives": [],
        "clauses": [
            [
                "(p X)",
                "(',' (l X) (q X))"
            ],
            [
                "(q (. A ([])))",
                null
            ],
            [
                "(r (1))",
                null
            ],
            [
                "(l ([]))",
                null
            ],
            [
                "(l (. H T))",
                "(',' (r H) (l T))"
            ]
        ]
    },
    "graph": {
        "nodes": {
            "180": {
                "goal": [{
                    "clause": 3,
                    "scope": 2,
                    "term": "(l T6)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "191": {
                "goal": [{
                    "clause": 2,
                    "scope": 3,
                    "term": "(',' (r T14) (l T15))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "181": {
                "goal": [{
                    "clause": 4,
                    "scope": 2,
                    "term": "(l T6)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "192": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(l T16)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "160": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(',' (l T6) (q T6))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "182": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(true)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "193": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "type": "Nodes",
            "183": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "194": {
                "goal": [{
                    "clause": 1,
                    "scope": 4,
                    "term": "(q T7)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T7"],
                    "free": [],
                    "exprvars": []
                }
            },
            "173": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(l T6)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "184": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "195": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(true)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "174": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(q T7)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": ["T7"],
                    "free": [],
                    "exprvars": []
                }
            },
            "196": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "186": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(',' (r T14) (l T15))"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "197": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "187": {
                "goal": [],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "3": {
                "goal": [{
                    "clause": -1,
                    "scope": -1,
                    "term": "(p T1)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "179": {
                "goal": [
                    {
                        "clause": 3,
                        "scope": 2,
                        "term": "(l T6)"
                    },
                    {
                        "clause": 4,
                        "scope": 2,
                        "term": "(l T6)"
                    }
                ],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            },
            "6": {
                "goal": [{
                    "clause": 0,
                    "scope": 1,
                    "term": "(p T1)"
                }],
                "kb": {
                    "nonunifying": [],
                    "intvars": {},
                    "arithmetic": {
                        "type": "PlainIntegerRelationState",
                        "relations": []
                    },
                    "ground": [],
                    "free": [],
                    "exprvars": []
                }
            }
        },
        "edges": [
            {
                "from": 3,
                "to": 6,
                "label": "CASE"
            },
            {
                "from": 6,
                "to": 160,
                "label": "ONLY EVAL with clause\np(X3) :- ','(l(X3), q(X3)).\nand substitutionT1 -> T6,\nX3 -> T6,\nT5 -> T6"
            },
            {
                "from": 160,
                "to": 173,
                "label": "SPLIT 1"
            },
            {
                "from": 160,
                "to": 174,
                "label": "SPLIT 2\nnew knowledge:\nT7 is ground\nreplacements:T6 -> T7"
            },
            {
                "from": 173,
                "to": 179,
                "label": "CASE"
            },
            {
                "from": 174,
                "to": 194,
                "label": "CASE"
            },
            {
                "from": 179,
                "to": 180,
                "label": "PARALLEL"
            },
            {
                "from": 179,
                "to": 181,
                "label": "PARALLEL"
            },
            {
                "from": 180,
                "to": 182,
                "label": "EVAL with clause\nl([]).\nand substitutionT6 -> []"
            },
            {
                "from": 180,
                "to": 183,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 181,
                "to": 186,
                "label": "EVAL with clause\nl(.(X8, X9)) :- ','(r(X8), l(X9)).\nand substitutionX8 -> T14,\nX9 -> T15,\nT6 -> .(T14, T15),\nT12 -> T14,\nT13 -> T15"
            },
            {
                "from": 181,
                "to": 187,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 182,
                "to": 184,
                "label": "SUCCESS"
            },
            {
                "from": 186,
                "to": 191,
                "label": "CASE"
            },
            {
                "from": 191,
                "to": 192,
                "label": "EVAL with clause\nr(1).\nand substitutionT14 -> 1,\nT15 -> T16"
            },
            {
                "from": 191,
                "to": 193,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 192,
                "to": 173,
                "label": "INSTANCE with matching:\nT6 -> T16"
            },
            {
                "from": 194,
                "to": 195,
                "label": "EVAL with clause\nq(.(X12, [])).\nand substitutionX12 -> T19,\nT7 -> .(T19, [])"
            },
            {
                "from": 194,
                "to": 196,
                "label": "EVAL-BACKTRACK"
            },
            {
                "from": 195,
                "to": 197,
                "label": "SUCCESS"
            }
        ],
        "type": "Graph"
    }
}

----------------------------------------

(42)
Obligation:
Rules:
f191_out -> f186_out :|: TRUE
f186_in -> f191_in :|: TRUE
f193_out -> f191_out :|: TRUE
f191_in -> f193_in :|: TRUE
f191_in -> f192_in :|: TRUE
f192_out -> f191_out :|: TRUE
f180_out -> f179_out :|: TRUE
f179_in -> f180_in :|: TRUE
f179_in -> f181_in :|: TRUE
f181_out -> f179_out :|: TRUE
f186_out -> f181_out :|: TRUE
f187_out -> f181_out :|: TRUE
f181_in -> f187_in :|: TRUE
f181_in -> f186_in :|: TRUE
f179_out -> f173_out :|: TRUE
f173_in -> f179_in :|: TRUE
f192_in -> f173_in :|: TRUE
f173_out -> f192_out :|: TRUE
f3_in -> f6_in :|: TRUE
f6_out -> f3_out :|: TRUE
f160_out -> f6_out :|: TRUE
f6_in -> f160_in :|: TRUE
f174_out(T7) -> f160_out :|: TRUE
f160_in -> f173_in :|: TRUE
f173_out -> f174_in(x) :|: TRUE
Start term: f3_in

----------------------------------------

(43) IRSwTSimpleDependencyGraphProof (EQUIVALENT)
Constructed simple dependency graph.

Simplified to the following IRSwTs:

intTRSProblem:
f186_in -> f191_in :|: TRUE
f191_in -> f192_in :|: TRUE
f179_in -> f181_in :|: TRUE
f181_in -> f186_in :|: TRUE
f173_in -> f179_in :|: TRUE
f192_in -> f173_in :|: TRUE


----------------------------------------

(44)
Obligation:
Rules:
f186_in -> f191_in :|: TRUE
f191_in -> f192_in :|: TRUE
f179_in -> f181_in :|: TRUE
f181_in -> f186_in :|: TRUE
f173_in -> f179_in :|: TRUE
f192_in -> f173_in :|: TRUE

----------------------------------------

(45) IntTRSCompressionProof (EQUIVALENT)
Compressed rules.
----------------------------------------

(46)
Obligation:
Rules:
f173_in -> f173_in :|: TRUE

----------------------------------------

(47) IRSFormatTransformerProof (EQUIVALENT)
Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %).
----------------------------------------

(48)
Obligation:
Rules:
f173_in -> f173_in :|: TRUE

----------------------------------------

(49) IRSwTTerminationDigraphProof (EQUIVALENT)
Constructed termination digraph!
Nodes:
(1) f173_in -> f173_in :|: TRUE

Arcs:
(1) -> (1)

This digraph is fully evaluated!
----------------------------------------

(50)
Obligation:

Termination digraph:
Nodes:
(1) f173_in -> f173_in :|: TRUE

Arcs:
(1) -> (1)

This digraph is fully evaluated!

----------------------------------------

(51) FilterProof (EQUIVALENT)
Used the following sort dictionary for filtering: 
f173_in()
Replaced non-predefined constructor symbols by 0.
----------------------------------------

(52)
Obligation:
Rules:
f173_in -> f173_in :|: TRUE

----------------------------------------

(53) IntTRSPeriodicNontermProof (COMPLETE)
Normalized system to the following form:
f(pc) -> f(1) :|: pc = 1 && TRUE
Witness term starting non-terminating reduction: f(1)
----------------------------------------

(54)
NO
