(0) Obligation:

Clauses:

intlist([], []).
intlist(.(X, XS), .(s(X), YS)) :- intlist(XS, YS).
int(0, 0, .(0, [])).
int(0, s(Y), .(0, XS)) :- int(s(0), s(Y), XS).
int(s(X), 0, []).
int(s(X), s(Y), XS) :- ','(int(X, Y, ZS), intlist(ZS, XS)).

Queries:

int(g,g,a).

(1) PrologToDTProblemTransformerProof (SOUND transformation)

Built DT problem from termination graph.

(2) Obligation:

Triples:

intlist19(.(T29, T30), .(s(T29), T32)) :- intlist19(T30, T32).
intlist67(.(T75, T76), .(s(T75), X156)) :- intlist67(T76, X156).
int1(0, s(T19), .(0, T21)) :- int1(0, T19, X33).
int1(0, s(T19), .(0, T21)) :- ','(intc1(0, T19, T22), intlist19(T22, T21)).
int1(s(0), s(0), .(s(0), T47)) :- intlist44(T47).
int1(s(0), s(s(T52)), T42) :- int1(s(0), s(T52), X98).
int1(s(0), s(s(T52)), T42) :- ','(intc1(s(0), s(T52), T54), intlist19(.(0, T54), T42)).
int1(s(s(T62)), s(0), T42) :- intlist44(T42).
int1(s(s(T67)), s(s(T68)), T42) :- int1(T67, T68, X140).
int1(s(s(T67)), s(s(T68)), T42) :- ','(intc1(T67, T68, T69), intlist67(T69, X141)).
int1(s(s(T67)), s(s(T68)), T42) :- ','(intc1(T67, T68, T69), ','(intlistc67(T69, T70), intlist19(T70, T42))).

Clauses:

intc1(0, 0, .(0, [])).
intc1(0, s(T19), .(0, T21)) :- ','(intc1(0, T19, T22), intlistc19(T22, T21)).
intc1(s(T34), 0, []).
intc1(s(0), s(0), .(s(0), T47)) :- intlistc44(T47).
intc1(s(0), s(s(T52)), T42) :- ','(intc1(s(0), s(T52), T54), intlistc19(.(0, T54), T42)).
intc1(s(s(T62)), s(0), T42) :- intlistc44(T42).
intc1(s(s(T67)), s(s(T68)), T42) :- ','(intc1(T67, T68, T69), ','(intlistc67(T69, T70), intlistc19(T70, T42))).
intlistc19([], []).
intlistc19(.(T29, T30), .(s(T29), T32)) :- intlistc19(T30, T32).
intlistc44([]).
intlistc67([], []).
intlistc67(.(T75, T76), .(s(T75), X156)) :- intlistc67(T76, X156).

Afs:

int1(x1, x2, x3)  =  int1(x1, x2)

(3) UndefinedPredicateInTriplesTransformerProof (SOUND transformation)

Deleted triples and predicates having undefined goals [UNKNOWN].

(4) Obligation:

Triples:

intlist19(.(T29, T30), .(s(T29), T32)) :- intlist19(T30, T32).
intlist67(.(T75, T76), .(s(T75), X156)) :- intlist67(T76, X156).
int1(0, s(T19), .(0, T21)) :- int1(0, T19, X33).
int1(0, s(T19), .(0, T21)) :- ','(intc1(0, T19, T22), intlist19(T22, T21)).
int1(s(0), s(s(T52)), T42) :- int1(s(0), s(T52), X98).
int1(s(0), s(s(T52)), T42) :- ','(intc1(s(0), s(T52), T54), intlist19(.(0, T54), T42)).
int1(s(s(T67)), s(s(T68)), T42) :- int1(T67, T68, X140).
int1(s(s(T67)), s(s(T68)), T42) :- ','(intc1(T67, T68, T69), intlist67(T69, X141)).
int1(s(s(T67)), s(s(T68)), T42) :- ','(intc1(T67, T68, T69), ','(intlistc67(T69, T70), intlist19(T70, T42))).

Clauses:

intc1(0, 0, .(0, [])).
intc1(0, s(T19), .(0, T21)) :- ','(intc1(0, T19, T22), intlistc19(T22, T21)).
intc1(s(T34), 0, []).
intc1(s(0), s(0), .(s(0), T47)) :- intlistc44(T47).
intc1(s(0), s(s(T52)), T42) :- ','(intc1(s(0), s(T52), T54), intlistc19(.(0, T54), T42)).
intc1(s(s(T62)), s(0), T42) :- intlistc44(T42).
intc1(s(s(T67)), s(s(T68)), T42) :- ','(intc1(T67, T68, T69), ','(intlistc67(T69, T70), intlistc19(T70, T42))).
intlistc19([], []).
intlistc19(.(T29, T30), .(s(T29), T32)) :- intlistc19(T30, T32).
intlistc44([]).
intlistc67([], []).
intlistc67(.(T75, T76), .(s(T75), X156)) :- intlistc67(T76, X156).

Afs:

int1(x1, x2, x3)  =  int1(x1, x2)

(5) TriplesToPiDPProof (SOUND transformation)

We use the technique of [LOPSTR]. With regard to the inferred argument filtering the predicates were used in the following modes:
int1_in: (b,b,f)
intc1_in: (b,b,f)
intlistc67_in: (b,f)
intlistc19_in: (b,f)
intlist19_in: (b,f)
intlist67_in: (b,f)
Transforming TRIPLES into the following Term Rewriting System:
Pi DP problem:
The TRS P consists of the following rules:

INT1_IN_GGA(0, s(T19), .(0, T21)) → U3_GGA(T19, T21, int1_in_gga(0, T19, X33))
INT1_IN_GGA(0, s(T19), .(0, T21)) → INT1_IN_GGA(0, T19, X33)
INT1_IN_GGA(0, s(T19), .(0, T21)) → U4_GGA(T19, T21, intc1_in_gga(0, T19, T22))
U4_GGA(T19, T21, intc1_out_gga(0, T19, T22)) → U5_GGA(T19, T21, intlist19_in_ga(T22, T21))
U4_GGA(T19, T21, intc1_out_gga(0, T19, T22)) → INTLIST19_IN_GA(T22, T21)
INTLIST19_IN_GA(.(T29, T30), .(s(T29), T32)) → U1_GA(T29, T30, T32, intlist19_in_ga(T30, T32))
INTLIST19_IN_GA(.(T29, T30), .(s(T29), T32)) → INTLIST19_IN_GA(T30, T32)
INT1_IN_GGA(s(0), s(s(T52)), T42) → U6_GGA(T52, T42, int1_in_gga(s(0), s(T52), X98))
INT1_IN_GGA(s(0), s(s(T52)), T42) → INT1_IN_GGA(s(0), s(T52), X98)
INT1_IN_GGA(s(0), s(s(T52)), T42) → U7_GGA(T52, T42, intc1_in_gga(s(0), s(T52), T54))
U7_GGA(T52, T42, intc1_out_gga(s(0), s(T52), T54)) → U8_GGA(T52, T42, intlist19_in_ga(.(0, T54), T42))
U7_GGA(T52, T42, intc1_out_gga(s(0), s(T52), T54)) → INTLIST19_IN_GA(.(0, T54), T42)
INT1_IN_GGA(s(s(T67)), s(s(T68)), T42) → U9_GGA(T67, T68, T42, int1_in_gga(T67, T68, X140))
INT1_IN_GGA(s(s(T67)), s(s(T68)), T42) → INT1_IN_GGA(T67, T68, X140)
INT1_IN_GGA(s(s(T67)), s(s(T68)), T42) → U10_GGA(T67, T68, T42, intc1_in_gga(T67, T68, T69))
U10_GGA(T67, T68, T42, intc1_out_gga(T67, T68, T69)) → U11_GGA(T67, T68, T42, intlist67_in_ga(T69, X141))
U10_GGA(T67, T68, T42, intc1_out_gga(T67, T68, T69)) → INTLIST67_IN_GA(T69, X141)
INTLIST67_IN_GA(.(T75, T76), .(s(T75), X156)) → U2_GA(T75, T76, X156, intlist67_in_ga(T76, X156))
INTLIST67_IN_GA(.(T75, T76), .(s(T75), X156)) → INTLIST67_IN_GA(T76, X156)
U10_GGA(T67, T68, T42, intc1_out_gga(T67, T68, T69)) → U12_GGA(T67, T68, T42, intlistc67_in_ga(T69, T70))
U12_GGA(T67, T68, T42, intlistc67_out_ga(T69, T70)) → U13_GGA(T67, T68, T42, intlist19_in_ga(T70, T42))
U12_GGA(T67, T68, T42, intlistc67_out_ga(T69, T70)) → INTLIST19_IN_GA(T70, T42)

The TRS R consists of the following rules:

intc1_in_gga(0, 0, .(0, [])) → intc1_out_gga(0, 0, .(0, []))
intc1_in_gga(0, s(T19), .(0, T21)) → U15_gga(T19, T21, intc1_in_gga(0, T19, T22))
intc1_in_gga(s(T34), 0, []) → intc1_out_gga(s(T34), 0, [])
intc1_in_gga(s(0), s(0), .(s(0), T47)) → U17_gga(T47, intlistc44_in_a(T47))
intlistc44_in_a([]) → intlistc44_out_a([])
U17_gga(T47, intlistc44_out_a(T47)) → intc1_out_gga(s(0), s(0), .(s(0), T47))
intc1_in_gga(s(0), s(s(T52)), T42) → U18_gga(T52, T42, intc1_in_gga(s(0), s(T52), T54))
intc1_in_gga(s(s(T62)), s(0), T42) → U20_gga(T62, T42, intlistc44_in_a(T42))
U20_gga(T62, T42, intlistc44_out_a(T42)) → intc1_out_gga(s(s(T62)), s(0), T42)
intc1_in_gga(s(s(T67)), s(s(T68)), T42) → U21_gga(T67, T68, T42, intc1_in_gga(T67, T68, T69))
U21_gga(T67, T68, T42, intc1_out_gga(T67, T68, T69)) → U22_gga(T67, T68, T42, intlistc67_in_ga(T69, T70))
intlistc67_in_ga([], []) → intlistc67_out_ga([], [])
intlistc67_in_ga(.(T75, T76), .(s(T75), X156)) → U25_ga(T75, T76, X156, intlistc67_in_ga(T76, X156))
U25_ga(T75, T76, X156, intlistc67_out_ga(T76, X156)) → intlistc67_out_ga(.(T75, T76), .(s(T75), X156))
U22_gga(T67, T68, T42, intlistc67_out_ga(T69, T70)) → U23_gga(T67, T68, T42, intlistc19_in_ga(T70, T42))
intlistc19_in_ga([], []) → intlistc19_out_ga([], [])
intlistc19_in_ga(.(T29, T30), .(s(T29), T32)) → U24_ga(T29, T30, T32, intlistc19_in_ga(T30, T32))
U24_ga(T29, T30, T32, intlistc19_out_ga(T30, T32)) → intlistc19_out_ga(.(T29, T30), .(s(T29), T32))
U23_gga(T67, T68, T42, intlistc19_out_ga(T70, T42)) → intc1_out_gga(s(s(T67)), s(s(T68)), T42)
U18_gga(T52, T42, intc1_out_gga(s(0), s(T52), T54)) → U19_gga(T52, T42, intlistc19_in_ga(.(0, T54), T42))
U19_gga(T52, T42, intlistc19_out_ga(.(0, T54), T42)) → intc1_out_gga(s(0), s(s(T52)), T42)
U15_gga(T19, T21, intc1_out_gga(0, T19, T22)) → U16_gga(T19, T21, intlistc19_in_ga(T22, T21))
U16_gga(T19, T21, intlistc19_out_ga(T22, T21)) → intc1_out_gga(0, s(T19), .(0, T21))

The argument filtering Pi contains the following mapping:
int1_in_gga(x1, x2, x3)  =  int1_in_gga(x1, x2)
0  =  0
s(x1)  =  s(x1)
intc1_in_gga(x1, x2, x3)  =  intc1_in_gga(x1, x2)
intc1_out_gga(x1, x2, x3)  =  intc1_out_gga(x1, x2, x3)
U15_gga(x1, x2, x3)  =  U15_gga(x1, x3)
U17_gga(x1, x2)  =  U17_gga(x2)
intlistc44_in_a(x1)  =  intlistc44_in_a
intlistc44_out_a(x1)  =  intlistc44_out_a(x1)
U18_gga(x1, x2, x3)  =  U18_gga(x1, x3)
U20_gga(x1, x2, x3)  =  U20_gga(x1, x3)
U21_gga(x1, x2, x3, x4)  =  U21_gga(x1, x2, x4)
U22_gga(x1, x2, x3, x4)  =  U22_gga(x1, x2, x4)
intlistc67_in_ga(x1, x2)  =  intlistc67_in_ga(x1)
[]  =  []
intlistc67_out_ga(x1, x2)  =  intlistc67_out_ga(x1, x2)
.(x1, x2)  =  .(x1, x2)
U25_ga(x1, x2, x3, x4)  =  U25_ga(x1, x2, x4)
U23_gga(x1, x2, x3, x4)  =  U23_gga(x1, x2, x4)
intlistc19_in_ga(x1, x2)  =  intlistc19_in_ga(x1)
intlistc19_out_ga(x1, x2)  =  intlistc19_out_ga(x1, x2)
U24_ga(x1, x2, x3, x4)  =  U24_ga(x1, x2, x4)
U19_gga(x1, x2, x3)  =  U19_gga(x1, x3)
U16_gga(x1, x2, x3)  =  U16_gga(x1, x3)
intlist19_in_ga(x1, x2)  =  intlist19_in_ga(x1)
intlist67_in_ga(x1, x2)  =  intlist67_in_ga(x1)
INT1_IN_GGA(x1, x2, x3)  =  INT1_IN_GGA(x1, x2)
U3_GGA(x1, x2, x3)  =  U3_GGA(x1, x3)
U4_GGA(x1, x2, x3)  =  U4_GGA(x1, x3)
U5_GGA(x1, x2, x3)  =  U5_GGA(x1, x3)
INTLIST19_IN_GA(x1, x2)  =  INTLIST19_IN_GA(x1)
U1_GA(x1, x2, x3, x4)  =  U1_GA(x1, x2, x4)
U6_GGA(x1, x2, x3)  =  U6_GGA(x1, x3)
U7_GGA(x1, x2, x3)  =  U7_GGA(x1, x3)
U8_GGA(x1, x2, x3)  =  U8_GGA(x1, x3)
U9_GGA(x1, x2, x3, x4)  =  U9_GGA(x1, x2, x4)
U10_GGA(x1, x2, x3, x4)  =  U10_GGA(x1, x2, x4)
U11_GGA(x1, x2, x3, x4)  =  U11_GGA(x1, x2, x4)
INTLIST67_IN_GA(x1, x2)  =  INTLIST67_IN_GA(x1)
U2_GA(x1, x2, x3, x4)  =  U2_GA(x1, x2, x4)
U12_GGA(x1, x2, x3, x4)  =  U12_GGA(x1, x2, x4)
U13_GGA(x1, x2, x3, x4)  =  U13_GGA(x1, x2, x4)

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

Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES

(6) Obligation:

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

INT1_IN_GGA(0, s(T19), .(0, T21)) → U3_GGA(T19, T21, int1_in_gga(0, T19, X33))
INT1_IN_GGA(0, s(T19), .(0, T21)) → INT1_IN_GGA(0, T19, X33)
INT1_IN_GGA(0, s(T19), .(0, T21)) → U4_GGA(T19, T21, intc1_in_gga(0, T19, T22))
U4_GGA(T19, T21, intc1_out_gga(0, T19, T22)) → U5_GGA(T19, T21, intlist19_in_ga(T22, T21))
U4_GGA(T19, T21, intc1_out_gga(0, T19, T22)) → INTLIST19_IN_GA(T22, T21)
INTLIST19_IN_GA(.(T29, T30), .(s(T29), T32)) → U1_GA(T29, T30, T32, intlist19_in_ga(T30, T32))
INTLIST19_IN_GA(.(T29, T30), .(s(T29), T32)) → INTLIST19_IN_GA(T30, T32)
INT1_IN_GGA(s(0), s(s(T52)), T42) → U6_GGA(T52, T42, int1_in_gga(s(0), s(T52), X98))
INT1_IN_GGA(s(0), s(s(T52)), T42) → INT1_IN_GGA(s(0), s(T52), X98)
INT1_IN_GGA(s(0), s(s(T52)), T42) → U7_GGA(T52, T42, intc1_in_gga(s(0), s(T52), T54))
U7_GGA(T52, T42, intc1_out_gga(s(0), s(T52), T54)) → U8_GGA(T52, T42, intlist19_in_ga(.(0, T54), T42))
U7_GGA(T52, T42, intc1_out_gga(s(0), s(T52), T54)) → INTLIST19_IN_GA(.(0, T54), T42)
INT1_IN_GGA(s(s(T67)), s(s(T68)), T42) → U9_GGA(T67, T68, T42, int1_in_gga(T67, T68, X140))
INT1_IN_GGA(s(s(T67)), s(s(T68)), T42) → INT1_IN_GGA(T67, T68, X140)
INT1_IN_GGA(s(s(T67)), s(s(T68)), T42) → U10_GGA(T67, T68, T42, intc1_in_gga(T67, T68, T69))
U10_GGA(T67, T68, T42, intc1_out_gga(T67, T68, T69)) → U11_GGA(T67, T68, T42, intlist67_in_ga(T69, X141))
U10_GGA(T67, T68, T42, intc1_out_gga(T67, T68, T69)) → INTLIST67_IN_GA(T69, X141)
INTLIST67_IN_GA(.(T75, T76), .(s(T75), X156)) → U2_GA(T75, T76, X156, intlist67_in_ga(T76, X156))
INTLIST67_IN_GA(.(T75, T76), .(s(T75), X156)) → INTLIST67_IN_GA(T76, X156)
U10_GGA(T67, T68, T42, intc1_out_gga(T67, T68, T69)) → U12_GGA(T67, T68, T42, intlistc67_in_ga(T69, T70))
U12_GGA(T67, T68, T42, intlistc67_out_ga(T69, T70)) → U13_GGA(T67, T68, T42, intlist19_in_ga(T70, T42))
U12_GGA(T67, T68, T42, intlistc67_out_ga(T69, T70)) → INTLIST19_IN_GA(T70, T42)

The TRS R consists of the following rules:

intc1_in_gga(0, 0, .(0, [])) → intc1_out_gga(0, 0, .(0, []))
intc1_in_gga(0, s(T19), .(0, T21)) → U15_gga(T19, T21, intc1_in_gga(0, T19, T22))
intc1_in_gga(s(T34), 0, []) → intc1_out_gga(s(T34), 0, [])
intc1_in_gga(s(0), s(0), .(s(0), T47)) → U17_gga(T47, intlistc44_in_a(T47))
intlistc44_in_a([]) → intlistc44_out_a([])
U17_gga(T47, intlistc44_out_a(T47)) → intc1_out_gga(s(0), s(0), .(s(0), T47))
intc1_in_gga(s(0), s(s(T52)), T42) → U18_gga(T52, T42, intc1_in_gga(s(0), s(T52), T54))
intc1_in_gga(s(s(T62)), s(0), T42) → U20_gga(T62, T42, intlistc44_in_a(T42))
U20_gga(T62, T42, intlistc44_out_a(T42)) → intc1_out_gga(s(s(T62)), s(0), T42)
intc1_in_gga(s(s(T67)), s(s(T68)), T42) → U21_gga(T67, T68, T42, intc1_in_gga(T67, T68, T69))
U21_gga(T67, T68, T42, intc1_out_gga(T67, T68, T69)) → U22_gga(T67, T68, T42, intlistc67_in_ga(T69, T70))
intlistc67_in_ga([], []) → intlistc67_out_ga([], [])
intlistc67_in_ga(.(T75, T76), .(s(T75), X156)) → U25_ga(T75, T76, X156, intlistc67_in_ga(T76, X156))
U25_ga(T75, T76, X156, intlistc67_out_ga(T76, X156)) → intlistc67_out_ga(.(T75, T76), .(s(T75), X156))
U22_gga(T67, T68, T42, intlistc67_out_ga(T69, T70)) → U23_gga(T67, T68, T42, intlistc19_in_ga(T70, T42))
intlistc19_in_ga([], []) → intlistc19_out_ga([], [])
intlistc19_in_ga(.(T29, T30), .(s(T29), T32)) → U24_ga(T29, T30, T32, intlistc19_in_ga(T30, T32))
U24_ga(T29, T30, T32, intlistc19_out_ga(T30, T32)) → intlistc19_out_ga(.(T29, T30), .(s(T29), T32))
U23_gga(T67, T68, T42, intlistc19_out_ga(T70, T42)) → intc1_out_gga(s(s(T67)), s(s(T68)), T42)
U18_gga(T52, T42, intc1_out_gga(s(0), s(T52), T54)) → U19_gga(T52, T42, intlistc19_in_ga(.(0, T54), T42))
U19_gga(T52, T42, intlistc19_out_ga(.(0, T54), T42)) → intc1_out_gga(s(0), s(s(T52)), T42)
U15_gga(T19, T21, intc1_out_gga(0, T19, T22)) → U16_gga(T19, T21, intlistc19_in_ga(T22, T21))
U16_gga(T19, T21, intlistc19_out_ga(T22, T21)) → intc1_out_gga(0, s(T19), .(0, T21))

The argument filtering Pi contains the following mapping:
int1_in_gga(x1, x2, x3)  =  int1_in_gga(x1, x2)
0  =  0
s(x1)  =  s(x1)
intc1_in_gga(x1, x2, x3)  =  intc1_in_gga(x1, x2)
intc1_out_gga(x1, x2, x3)  =  intc1_out_gga(x1, x2, x3)
U15_gga(x1, x2, x3)  =  U15_gga(x1, x3)
U17_gga(x1, x2)  =  U17_gga(x2)
intlistc44_in_a(x1)  =  intlistc44_in_a
intlistc44_out_a(x1)  =  intlistc44_out_a(x1)
U18_gga(x1, x2, x3)  =  U18_gga(x1, x3)
U20_gga(x1, x2, x3)  =  U20_gga(x1, x3)
U21_gga(x1, x2, x3, x4)  =  U21_gga(x1, x2, x4)
U22_gga(x1, x2, x3, x4)  =  U22_gga(x1, x2, x4)
intlistc67_in_ga(x1, x2)  =  intlistc67_in_ga(x1)
[]  =  []
intlistc67_out_ga(x1, x2)  =  intlistc67_out_ga(x1, x2)
.(x1, x2)  =  .(x1, x2)
U25_ga(x1, x2, x3, x4)  =  U25_ga(x1, x2, x4)
U23_gga(x1, x2, x3, x4)  =  U23_gga(x1, x2, x4)
intlistc19_in_ga(x1, x2)  =  intlistc19_in_ga(x1)
intlistc19_out_ga(x1, x2)  =  intlistc19_out_ga(x1, x2)
U24_ga(x1, x2, x3, x4)  =  U24_ga(x1, x2, x4)
U19_gga(x1, x2, x3)  =  U19_gga(x1, x3)
U16_gga(x1, x2, x3)  =  U16_gga(x1, x3)
intlist19_in_ga(x1, x2)  =  intlist19_in_ga(x1)
intlist67_in_ga(x1, x2)  =  intlist67_in_ga(x1)
INT1_IN_GGA(x1, x2, x3)  =  INT1_IN_GGA(x1, x2)
U3_GGA(x1, x2, x3)  =  U3_GGA(x1, x3)
U4_GGA(x1, x2, x3)  =  U4_GGA(x1, x3)
U5_GGA(x1, x2, x3)  =  U5_GGA(x1, x3)
INTLIST19_IN_GA(x1, x2)  =  INTLIST19_IN_GA(x1)
U1_GA(x1, x2, x3, x4)  =  U1_GA(x1, x2, x4)
U6_GGA(x1, x2, x3)  =  U6_GGA(x1, x3)
U7_GGA(x1, x2, x3)  =  U7_GGA(x1, x3)
U8_GGA(x1, x2, x3)  =  U8_GGA(x1, x3)
U9_GGA(x1, x2, x3, x4)  =  U9_GGA(x1, x2, x4)
U10_GGA(x1, x2, x3, x4)  =  U10_GGA(x1, x2, x4)
U11_GGA(x1, x2, x3, x4)  =  U11_GGA(x1, x2, x4)
INTLIST67_IN_GA(x1, x2)  =  INTLIST67_IN_GA(x1)
U2_GA(x1, x2, x3, x4)  =  U2_GA(x1, x2, x4)
U12_GGA(x1, x2, x3, x4)  =  U12_GGA(x1, x2, x4)
U13_GGA(x1, x2, x3, x4)  =  U13_GGA(x1, x2, x4)

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

(7) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 5 SCCs with 17 less nodes.

(8) Complex Obligation (AND)

(9) Obligation:

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

INTLIST67_IN_GA(.(T75, T76), .(s(T75), X156)) → INTLIST67_IN_GA(T76, X156)

The TRS R consists of the following rules:

intc1_in_gga(0, 0, .(0, [])) → intc1_out_gga(0, 0, .(0, []))
intc1_in_gga(0, s(T19), .(0, T21)) → U15_gga(T19, T21, intc1_in_gga(0, T19, T22))
intc1_in_gga(s(T34), 0, []) → intc1_out_gga(s(T34), 0, [])
intc1_in_gga(s(0), s(0), .(s(0), T47)) → U17_gga(T47, intlistc44_in_a(T47))
intlistc44_in_a([]) → intlistc44_out_a([])
U17_gga(T47, intlistc44_out_a(T47)) → intc1_out_gga(s(0), s(0), .(s(0), T47))
intc1_in_gga(s(0), s(s(T52)), T42) → U18_gga(T52, T42, intc1_in_gga(s(0), s(T52), T54))
intc1_in_gga(s(s(T62)), s(0), T42) → U20_gga(T62, T42, intlistc44_in_a(T42))
U20_gga(T62, T42, intlistc44_out_a(T42)) → intc1_out_gga(s(s(T62)), s(0), T42)
intc1_in_gga(s(s(T67)), s(s(T68)), T42) → U21_gga(T67, T68, T42, intc1_in_gga(T67, T68, T69))
U21_gga(T67, T68, T42, intc1_out_gga(T67, T68, T69)) → U22_gga(T67, T68, T42, intlistc67_in_ga(T69, T70))
intlistc67_in_ga([], []) → intlistc67_out_ga([], [])
intlistc67_in_ga(.(T75, T76), .(s(T75), X156)) → U25_ga(T75, T76, X156, intlistc67_in_ga(T76, X156))
U25_ga(T75, T76, X156, intlistc67_out_ga(T76, X156)) → intlistc67_out_ga(.(T75, T76), .(s(T75), X156))
U22_gga(T67, T68, T42, intlistc67_out_ga(T69, T70)) → U23_gga(T67, T68, T42, intlistc19_in_ga(T70, T42))
intlistc19_in_ga([], []) → intlistc19_out_ga([], [])
intlistc19_in_ga(.(T29, T30), .(s(T29), T32)) → U24_ga(T29, T30, T32, intlistc19_in_ga(T30, T32))
U24_ga(T29, T30, T32, intlistc19_out_ga(T30, T32)) → intlistc19_out_ga(.(T29, T30), .(s(T29), T32))
U23_gga(T67, T68, T42, intlistc19_out_ga(T70, T42)) → intc1_out_gga(s(s(T67)), s(s(T68)), T42)
U18_gga(T52, T42, intc1_out_gga(s(0), s(T52), T54)) → U19_gga(T52, T42, intlistc19_in_ga(.(0, T54), T42))
U19_gga(T52, T42, intlistc19_out_ga(.(0, T54), T42)) → intc1_out_gga(s(0), s(s(T52)), T42)
U15_gga(T19, T21, intc1_out_gga(0, T19, T22)) → U16_gga(T19, T21, intlistc19_in_ga(T22, T21))
U16_gga(T19, T21, intlistc19_out_ga(T22, T21)) → intc1_out_gga(0, s(T19), .(0, T21))

The argument filtering Pi contains the following mapping:
0  =  0
s(x1)  =  s(x1)
intc1_in_gga(x1, x2, x3)  =  intc1_in_gga(x1, x2)
intc1_out_gga(x1, x2, x3)  =  intc1_out_gga(x1, x2, x3)
U15_gga(x1, x2, x3)  =  U15_gga(x1, x3)
U17_gga(x1, x2)  =  U17_gga(x2)
intlistc44_in_a(x1)  =  intlistc44_in_a
intlistc44_out_a(x1)  =  intlistc44_out_a(x1)
U18_gga(x1, x2, x3)  =  U18_gga(x1, x3)
U20_gga(x1, x2, x3)  =  U20_gga(x1, x3)
U21_gga(x1, x2, x3, x4)  =  U21_gga(x1, x2, x4)
U22_gga(x1, x2, x3, x4)  =  U22_gga(x1, x2, x4)
intlistc67_in_ga(x1, x2)  =  intlistc67_in_ga(x1)
[]  =  []
intlistc67_out_ga(x1, x2)  =  intlistc67_out_ga(x1, x2)
.(x1, x2)  =  .(x1, x2)
U25_ga(x1, x2, x3, x4)  =  U25_ga(x1, x2, x4)
U23_gga(x1, x2, x3, x4)  =  U23_gga(x1, x2, x4)
intlistc19_in_ga(x1, x2)  =  intlistc19_in_ga(x1)
intlistc19_out_ga(x1, x2)  =  intlistc19_out_ga(x1, x2)
U24_ga(x1, x2, x3, x4)  =  U24_ga(x1, x2, x4)
U19_gga(x1, x2, x3)  =  U19_gga(x1, x3)
U16_gga(x1, x2, x3)  =  U16_gga(x1, x3)
INTLIST67_IN_GA(x1, x2)  =  INTLIST67_IN_GA(x1)

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

(10) UsableRulesProof (EQUIVALENT transformation)

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

(11) Obligation:

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

INTLIST67_IN_GA(.(T75, T76), .(s(T75), X156)) → INTLIST67_IN_GA(T76, X156)

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

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

(12) PiDPToQDPProof (SOUND transformation)

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

(13) Obligation:

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

INTLIST67_IN_GA(.(T75, T76)) → INTLIST67_IN_GA(T76)

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

(14) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • INTLIST67_IN_GA(.(T75, T76)) → INTLIST67_IN_GA(T76)
    The graph contains the following edges 1 > 1

(15) YES

(16) Obligation:

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

INTLIST19_IN_GA(.(T29, T30), .(s(T29), T32)) → INTLIST19_IN_GA(T30, T32)

The TRS R consists of the following rules:

intc1_in_gga(0, 0, .(0, [])) → intc1_out_gga(0, 0, .(0, []))
intc1_in_gga(0, s(T19), .(0, T21)) → U15_gga(T19, T21, intc1_in_gga(0, T19, T22))
intc1_in_gga(s(T34), 0, []) → intc1_out_gga(s(T34), 0, [])
intc1_in_gga(s(0), s(0), .(s(0), T47)) → U17_gga(T47, intlistc44_in_a(T47))
intlistc44_in_a([]) → intlistc44_out_a([])
U17_gga(T47, intlistc44_out_a(T47)) → intc1_out_gga(s(0), s(0), .(s(0), T47))
intc1_in_gga(s(0), s(s(T52)), T42) → U18_gga(T52, T42, intc1_in_gga(s(0), s(T52), T54))
intc1_in_gga(s(s(T62)), s(0), T42) → U20_gga(T62, T42, intlistc44_in_a(T42))
U20_gga(T62, T42, intlistc44_out_a(T42)) → intc1_out_gga(s(s(T62)), s(0), T42)
intc1_in_gga(s(s(T67)), s(s(T68)), T42) → U21_gga(T67, T68, T42, intc1_in_gga(T67, T68, T69))
U21_gga(T67, T68, T42, intc1_out_gga(T67, T68, T69)) → U22_gga(T67, T68, T42, intlistc67_in_ga(T69, T70))
intlistc67_in_ga([], []) → intlistc67_out_ga([], [])
intlistc67_in_ga(.(T75, T76), .(s(T75), X156)) → U25_ga(T75, T76, X156, intlistc67_in_ga(T76, X156))
U25_ga(T75, T76, X156, intlistc67_out_ga(T76, X156)) → intlistc67_out_ga(.(T75, T76), .(s(T75), X156))
U22_gga(T67, T68, T42, intlistc67_out_ga(T69, T70)) → U23_gga(T67, T68, T42, intlistc19_in_ga(T70, T42))
intlistc19_in_ga([], []) → intlistc19_out_ga([], [])
intlistc19_in_ga(.(T29, T30), .(s(T29), T32)) → U24_ga(T29, T30, T32, intlistc19_in_ga(T30, T32))
U24_ga(T29, T30, T32, intlistc19_out_ga(T30, T32)) → intlistc19_out_ga(.(T29, T30), .(s(T29), T32))
U23_gga(T67, T68, T42, intlistc19_out_ga(T70, T42)) → intc1_out_gga(s(s(T67)), s(s(T68)), T42)
U18_gga(T52, T42, intc1_out_gga(s(0), s(T52), T54)) → U19_gga(T52, T42, intlistc19_in_ga(.(0, T54), T42))
U19_gga(T52, T42, intlistc19_out_ga(.(0, T54), T42)) → intc1_out_gga(s(0), s(s(T52)), T42)
U15_gga(T19, T21, intc1_out_gga(0, T19, T22)) → U16_gga(T19, T21, intlistc19_in_ga(T22, T21))
U16_gga(T19, T21, intlistc19_out_ga(T22, T21)) → intc1_out_gga(0, s(T19), .(0, T21))

The argument filtering Pi contains the following mapping:
0  =  0
s(x1)  =  s(x1)
intc1_in_gga(x1, x2, x3)  =  intc1_in_gga(x1, x2)
intc1_out_gga(x1, x2, x3)  =  intc1_out_gga(x1, x2, x3)
U15_gga(x1, x2, x3)  =  U15_gga(x1, x3)
U17_gga(x1, x2)  =  U17_gga(x2)
intlistc44_in_a(x1)  =  intlistc44_in_a
intlistc44_out_a(x1)  =  intlistc44_out_a(x1)
U18_gga(x1, x2, x3)  =  U18_gga(x1, x3)
U20_gga(x1, x2, x3)  =  U20_gga(x1, x3)
U21_gga(x1, x2, x3, x4)  =  U21_gga(x1, x2, x4)
U22_gga(x1, x2, x3, x4)  =  U22_gga(x1, x2, x4)
intlistc67_in_ga(x1, x2)  =  intlistc67_in_ga(x1)
[]  =  []
intlistc67_out_ga(x1, x2)  =  intlistc67_out_ga(x1, x2)
.(x1, x2)  =  .(x1, x2)
U25_ga(x1, x2, x3, x4)  =  U25_ga(x1, x2, x4)
U23_gga(x1, x2, x3, x4)  =  U23_gga(x1, x2, x4)
intlistc19_in_ga(x1, x2)  =  intlistc19_in_ga(x1)
intlistc19_out_ga(x1, x2)  =  intlistc19_out_ga(x1, x2)
U24_ga(x1, x2, x3, x4)  =  U24_ga(x1, x2, x4)
U19_gga(x1, x2, x3)  =  U19_gga(x1, x3)
U16_gga(x1, x2, x3)  =  U16_gga(x1, x3)
INTLIST19_IN_GA(x1, x2)  =  INTLIST19_IN_GA(x1)

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

(17) UsableRulesProof (EQUIVALENT transformation)

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:

INTLIST19_IN_GA(.(T29, T30), .(s(T29), T32)) → INTLIST19_IN_GA(T30, T32)

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

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

(19) PiDPToQDPProof (SOUND transformation)

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:

INTLIST19_IN_GA(.(T29, T30)) → INTLIST19_IN_GA(T30)

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

(21) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • INTLIST19_IN_GA(.(T29, T30)) → INTLIST19_IN_GA(T30)
    The graph contains the following edges 1 > 1

(22) YES

(23) Obligation:

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

INT1_IN_GGA(s(0), s(s(T52)), T42) → INT1_IN_GGA(s(0), s(T52), X98)

The TRS R consists of the following rules:

intc1_in_gga(0, 0, .(0, [])) → intc1_out_gga(0, 0, .(0, []))
intc1_in_gga(0, s(T19), .(0, T21)) → U15_gga(T19, T21, intc1_in_gga(0, T19, T22))
intc1_in_gga(s(T34), 0, []) → intc1_out_gga(s(T34), 0, [])
intc1_in_gga(s(0), s(0), .(s(0), T47)) → U17_gga(T47, intlistc44_in_a(T47))
intlistc44_in_a([]) → intlistc44_out_a([])
U17_gga(T47, intlistc44_out_a(T47)) → intc1_out_gga(s(0), s(0), .(s(0), T47))
intc1_in_gga(s(0), s(s(T52)), T42) → U18_gga(T52, T42, intc1_in_gga(s(0), s(T52), T54))
intc1_in_gga(s(s(T62)), s(0), T42) → U20_gga(T62, T42, intlistc44_in_a(T42))
U20_gga(T62, T42, intlistc44_out_a(T42)) → intc1_out_gga(s(s(T62)), s(0), T42)
intc1_in_gga(s(s(T67)), s(s(T68)), T42) → U21_gga(T67, T68, T42, intc1_in_gga(T67, T68, T69))
U21_gga(T67, T68, T42, intc1_out_gga(T67, T68, T69)) → U22_gga(T67, T68, T42, intlistc67_in_ga(T69, T70))
intlistc67_in_ga([], []) → intlistc67_out_ga([], [])
intlistc67_in_ga(.(T75, T76), .(s(T75), X156)) → U25_ga(T75, T76, X156, intlistc67_in_ga(T76, X156))
U25_ga(T75, T76, X156, intlistc67_out_ga(T76, X156)) → intlistc67_out_ga(.(T75, T76), .(s(T75), X156))
U22_gga(T67, T68, T42, intlistc67_out_ga(T69, T70)) → U23_gga(T67, T68, T42, intlistc19_in_ga(T70, T42))
intlistc19_in_ga([], []) → intlistc19_out_ga([], [])
intlistc19_in_ga(.(T29, T30), .(s(T29), T32)) → U24_ga(T29, T30, T32, intlistc19_in_ga(T30, T32))
U24_ga(T29, T30, T32, intlistc19_out_ga(T30, T32)) → intlistc19_out_ga(.(T29, T30), .(s(T29), T32))
U23_gga(T67, T68, T42, intlistc19_out_ga(T70, T42)) → intc1_out_gga(s(s(T67)), s(s(T68)), T42)
U18_gga(T52, T42, intc1_out_gga(s(0), s(T52), T54)) → U19_gga(T52, T42, intlistc19_in_ga(.(0, T54), T42))
U19_gga(T52, T42, intlistc19_out_ga(.(0, T54), T42)) → intc1_out_gga(s(0), s(s(T52)), T42)
U15_gga(T19, T21, intc1_out_gga(0, T19, T22)) → U16_gga(T19, T21, intlistc19_in_ga(T22, T21))
U16_gga(T19, T21, intlistc19_out_ga(T22, T21)) → intc1_out_gga(0, s(T19), .(0, T21))

The argument filtering Pi contains the following mapping:
0  =  0
s(x1)  =  s(x1)
intc1_in_gga(x1, x2, x3)  =  intc1_in_gga(x1, x2)
intc1_out_gga(x1, x2, x3)  =  intc1_out_gga(x1, x2, x3)
U15_gga(x1, x2, x3)  =  U15_gga(x1, x3)
U17_gga(x1, x2)  =  U17_gga(x2)
intlistc44_in_a(x1)  =  intlistc44_in_a
intlistc44_out_a(x1)  =  intlistc44_out_a(x1)
U18_gga(x1, x2, x3)  =  U18_gga(x1, x3)
U20_gga(x1, x2, x3)  =  U20_gga(x1, x3)
U21_gga(x1, x2, x3, x4)  =  U21_gga(x1, x2, x4)
U22_gga(x1, x2, x3, x4)  =  U22_gga(x1, x2, x4)
intlistc67_in_ga(x1, x2)  =  intlistc67_in_ga(x1)
[]  =  []
intlistc67_out_ga(x1, x2)  =  intlistc67_out_ga(x1, x2)
.(x1, x2)  =  .(x1, x2)
U25_ga(x1, x2, x3, x4)  =  U25_ga(x1, x2, x4)
U23_gga(x1, x2, x3, x4)  =  U23_gga(x1, x2, x4)
intlistc19_in_ga(x1, x2)  =  intlistc19_in_ga(x1)
intlistc19_out_ga(x1, x2)  =  intlistc19_out_ga(x1, x2)
U24_ga(x1, x2, x3, x4)  =  U24_ga(x1, x2, x4)
U19_gga(x1, x2, x3)  =  U19_gga(x1, x3)
U16_gga(x1, x2, x3)  =  U16_gga(x1, x3)
INT1_IN_GGA(x1, x2, x3)  =  INT1_IN_GGA(x1, x2)

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

(24) UsableRulesProof (EQUIVALENT transformation)

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

(25) Obligation:

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

INT1_IN_GGA(s(0), s(s(T52)), T42) → INT1_IN_GGA(s(0), s(T52), X98)

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

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

(26) PiDPToQDPProof (SOUND transformation)

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

(27) Obligation:

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

INT1_IN_GGA(s(0), s(s(T52))) → INT1_IN_GGA(s(0), s(T52))

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

(28) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • INT1_IN_GGA(s(0), s(s(T52))) → INT1_IN_GGA(s(0), s(T52))
    The graph contains the following edges 1 >= 1, 2 > 2

(29) YES

(30) Obligation:

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

INT1_IN_GGA(0, s(T19), .(0, T21)) → INT1_IN_GGA(0, T19, X33)

The TRS R consists of the following rules:

intc1_in_gga(0, 0, .(0, [])) → intc1_out_gga(0, 0, .(0, []))
intc1_in_gga(0, s(T19), .(0, T21)) → U15_gga(T19, T21, intc1_in_gga(0, T19, T22))
intc1_in_gga(s(T34), 0, []) → intc1_out_gga(s(T34), 0, [])
intc1_in_gga(s(0), s(0), .(s(0), T47)) → U17_gga(T47, intlistc44_in_a(T47))
intlistc44_in_a([]) → intlistc44_out_a([])
U17_gga(T47, intlistc44_out_a(T47)) → intc1_out_gga(s(0), s(0), .(s(0), T47))
intc1_in_gga(s(0), s(s(T52)), T42) → U18_gga(T52, T42, intc1_in_gga(s(0), s(T52), T54))
intc1_in_gga(s(s(T62)), s(0), T42) → U20_gga(T62, T42, intlistc44_in_a(T42))
U20_gga(T62, T42, intlistc44_out_a(T42)) → intc1_out_gga(s(s(T62)), s(0), T42)
intc1_in_gga(s(s(T67)), s(s(T68)), T42) → U21_gga(T67, T68, T42, intc1_in_gga(T67, T68, T69))
U21_gga(T67, T68, T42, intc1_out_gga(T67, T68, T69)) → U22_gga(T67, T68, T42, intlistc67_in_ga(T69, T70))
intlistc67_in_ga([], []) → intlistc67_out_ga([], [])
intlistc67_in_ga(.(T75, T76), .(s(T75), X156)) → U25_ga(T75, T76, X156, intlistc67_in_ga(T76, X156))
U25_ga(T75, T76, X156, intlistc67_out_ga(T76, X156)) → intlistc67_out_ga(.(T75, T76), .(s(T75), X156))
U22_gga(T67, T68, T42, intlistc67_out_ga(T69, T70)) → U23_gga(T67, T68, T42, intlistc19_in_ga(T70, T42))
intlistc19_in_ga([], []) → intlistc19_out_ga([], [])
intlistc19_in_ga(.(T29, T30), .(s(T29), T32)) → U24_ga(T29, T30, T32, intlistc19_in_ga(T30, T32))
U24_ga(T29, T30, T32, intlistc19_out_ga(T30, T32)) → intlistc19_out_ga(.(T29, T30), .(s(T29), T32))
U23_gga(T67, T68, T42, intlistc19_out_ga(T70, T42)) → intc1_out_gga(s(s(T67)), s(s(T68)), T42)
U18_gga(T52, T42, intc1_out_gga(s(0), s(T52), T54)) → U19_gga(T52, T42, intlistc19_in_ga(.(0, T54), T42))
U19_gga(T52, T42, intlistc19_out_ga(.(0, T54), T42)) → intc1_out_gga(s(0), s(s(T52)), T42)
U15_gga(T19, T21, intc1_out_gga(0, T19, T22)) → U16_gga(T19, T21, intlistc19_in_ga(T22, T21))
U16_gga(T19, T21, intlistc19_out_ga(T22, T21)) → intc1_out_gga(0, s(T19), .(0, T21))

The argument filtering Pi contains the following mapping:
0  =  0
s(x1)  =  s(x1)
intc1_in_gga(x1, x2, x3)  =  intc1_in_gga(x1, x2)
intc1_out_gga(x1, x2, x3)  =  intc1_out_gga(x1, x2, x3)
U15_gga(x1, x2, x3)  =  U15_gga(x1, x3)
U17_gga(x1, x2)  =  U17_gga(x2)
intlistc44_in_a(x1)  =  intlistc44_in_a
intlistc44_out_a(x1)  =  intlistc44_out_a(x1)
U18_gga(x1, x2, x3)  =  U18_gga(x1, x3)
U20_gga(x1, x2, x3)  =  U20_gga(x1, x3)
U21_gga(x1, x2, x3, x4)  =  U21_gga(x1, x2, x4)
U22_gga(x1, x2, x3, x4)  =  U22_gga(x1, x2, x4)
intlistc67_in_ga(x1, x2)  =  intlistc67_in_ga(x1)
[]  =  []
intlistc67_out_ga(x1, x2)  =  intlistc67_out_ga(x1, x2)
.(x1, x2)  =  .(x1, x2)
U25_ga(x1, x2, x3, x4)  =  U25_ga(x1, x2, x4)
U23_gga(x1, x2, x3, x4)  =  U23_gga(x1, x2, x4)
intlistc19_in_ga(x1, x2)  =  intlistc19_in_ga(x1)
intlistc19_out_ga(x1, x2)  =  intlistc19_out_ga(x1, x2)
U24_ga(x1, x2, x3, x4)  =  U24_ga(x1, x2, x4)
U19_gga(x1, x2, x3)  =  U19_gga(x1, x3)
U16_gga(x1, x2, x3)  =  U16_gga(x1, x3)
INT1_IN_GGA(x1, x2, x3)  =  INT1_IN_GGA(x1, x2)

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

(31) UsableRulesProof (EQUIVALENT transformation)

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

(32) Obligation:

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

INT1_IN_GGA(0, s(T19), .(0, T21)) → INT1_IN_GGA(0, T19, X33)

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

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

(33) PiDPToQDPProof (SOUND transformation)

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

(34) Obligation:

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

INT1_IN_GGA(0, s(T19)) → INT1_IN_GGA(0, T19)

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

(35) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • INT1_IN_GGA(0, s(T19)) → INT1_IN_GGA(0, T19)
    The graph contains the following edges 1 >= 1, 2 > 2

(36) YES

(37) Obligation:

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

INT1_IN_GGA(s(s(T67)), s(s(T68)), T42) → INT1_IN_GGA(T67, T68, X140)

The TRS R consists of the following rules:

intc1_in_gga(0, 0, .(0, [])) → intc1_out_gga(0, 0, .(0, []))
intc1_in_gga(0, s(T19), .(0, T21)) → U15_gga(T19, T21, intc1_in_gga(0, T19, T22))
intc1_in_gga(s(T34), 0, []) → intc1_out_gga(s(T34), 0, [])
intc1_in_gga(s(0), s(0), .(s(0), T47)) → U17_gga(T47, intlistc44_in_a(T47))
intlistc44_in_a([]) → intlistc44_out_a([])
U17_gga(T47, intlistc44_out_a(T47)) → intc1_out_gga(s(0), s(0), .(s(0), T47))
intc1_in_gga(s(0), s(s(T52)), T42) → U18_gga(T52, T42, intc1_in_gga(s(0), s(T52), T54))
intc1_in_gga(s(s(T62)), s(0), T42) → U20_gga(T62, T42, intlistc44_in_a(T42))
U20_gga(T62, T42, intlistc44_out_a(T42)) → intc1_out_gga(s(s(T62)), s(0), T42)
intc1_in_gga(s(s(T67)), s(s(T68)), T42) → U21_gga(T67, T68, T42, intc1_in_gga(T67, T68, T69))
U21_gga(T67, T68, T42, intc1_out_gga(T67, T68, T69)) → U22_gga(T67, T68, T42, intlistc67_in_ga(T69, T70))
intlistc67_in_ga([], []) → intlistc67_out_ga([], [])
intlistc67_in_ga(.(T75, T76), .(s(T75), X156)) → U25_ga(T75, T76, X156, intlistc67_in_ga(T76, X156))
U25_ga(T75, T76, X156, intlistc67_out_ga(T76, X156)) → intlistc67_out_ga(.(T75, T76), .(s(T75), X156))
U22_gga(T67, T68, T42, intlistc67_out_ga(T69, T70)) → U23_gga(T67, T68, T42, intlistc19_in_ga(T70, T42))
intlistc19_in_ga([], []) → intlistc19_out_ga([], [])
intlistc19_in_ga(.(T29, T30), .(s(T29), T32)) → U24_ga(T29, T30, T32, intlistc19_in_ga(T30, T32))
U24_ga(T29, T30, T32, intlistc19_out_ga(T30, T32)) → intlistc19_out_ga(.(T29, T30), .(s(T29), T32))
U23_gga(T67, T68, T42, intlistc19_out_ga(T70, T42)) → intc1_out_gga(s(s(T67)), s(s(T68)), T42)
U18_gga(T52, T42, intc1_out_gga(s(0), s(T52), T54)) → U19_gga(T52, T42, intlistc19_in_ga(.(0, T54), T42))
U19_gga(T52, T42, intlistc19_out_ga(.(0, T54), T42)) → intc1_out_gga(s(0), s(s(T52)), T42)
U15_gga(T19, T21, intc1_out_gga(0, T19, T22)) → U16_gga(T19, T21, intlistc19_in_ga(T22, T21))
U16_gga(T19, T21, intlistc19_out_ga(T22, T21)) → intc1_out_gga(0, s(T19), .(0, T21))

The argument filtering Pi contains the following mapping:
0  =  0
s(x1)  =  s(x1)
intc1_in_gga(x1, x2, x3)  =  intc1_in_gga(x1, x2)
intc1_out_gga(x1, x2, x3)  =  intc1_out_gga(x1, x2, x3)
U15_gga(x1, x2, x3)  =  U15_gga(x1, x3)
U17_gga(x1, x2)  =  U17_gga(x2)
intlistc44_in_a(x1)  =  intlistc44_in_a
intlistc44_out_a(x1)  =  intlistc44_out_a(x1)
U18_gga(x1, x2, x3)  =  U18_gga(x1, x3)
U20_gga(x1, x2, x3)  =  U20_gga(x1, x3)
U21_gga(x1, x2, x3, x4)  =  U21_gga(x1, x2, x4)
U22_gga(x1, x2, x3, x4)  =  U22_gga(x1, x2, x4)
intlistc67_in_ga(x1, x2)  =  intlistc67_in_ga(x1)
[]  =  []
intlistc67_out_ga(x1, x2)  =  intlistc67_out_ga(x1, x2)
.(x1, x2)  =  .(x1, x2)
U25_ga(x1, x2, x3, x4)  =  U25_ga(x1, x2, x4)
U23_gga(x1, x2, x3, x4)  =  U23_gga(x1, x2, x4)
intlistc19_in_ga(x1, x2)  =  intlistc19_in_ga(x1)
intlistc19_out_ga(x1, x2)  =  intlistc19_out_ga(x1, x2)
U24_ga(x1, x2, x3, x4)  =  U24_ga(x1, x2, x4)
U19_gga(x1, x2, x3)  =  U19_gga(x1, x3)
U16_gga(x1, x2, x3)  =  U16_gga(x1, x3)
INT1_IN_GGA(x1, x2, x3)  =  INT1_IN_GGA(x1, x2)

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

(38) UsableRulesProof (EQUIVALENT transformation)

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

(39) Obligation:

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

INT1_IN_GGA(s(s(T67)), s(s(T68)), T42) → INT1_IN_GGA(T67, T68, X140)

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

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

(40) PiDPToQDPProof (SOUND transformation)

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

(41) Obligation:

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

INT1_IN_GGA(s(s(T67)), s(s(T68))) → INT1_IN_GGA(T67, T68)

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

(42) QDPSizeChangeProof (EQUIVALENT transformation)

By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:

  • INT1_IN_GGA(s(s(T67)), s(s(T68))) → INT1_IN_GGA(T67, T68)
    The graph contains the following edges 1 > 1, 2 > 2

(43) YES