(0) Obligation:

Clauses:

ack(0, N, s(N)).
ack(s(M), 0, A) :- ack(M, s(0), A).
ack(s(M), s(N), A) :- ','(ack(s(M), N, A1), ack(M, A1, A)).

Queries:

ack(g,g,a).

(1) PrologToPrologProblemTransformerProof (SOUND transformation)

Built Prolog problem from termination graph.

(2) Obligation:

Clauses:

ack21(T30, X73) :- ack27(T30, X73).
ack27(0, s(s(0))).
ack27(s(T34), X97) :- ack21(T34, X96).
ack27(s(T34), X97) :- ','(ack21(T34, T36), ack38(T34, T36, X97)).
ack38(0, T44, s(T44)).
ack38(s(T49), 0, X133) :- ack27(T49, X133).
ack38(s(T54), s(T55), X151) :- ack38(s(T54), T55, X150).
ack38(s(T54), s(T55), X151) :- ','(ack38(s(T54), T55, T57), ack38(T54, T57, X151)).
ack1(0, T5, s(T5)).
ack1(s(0), 0, s(s(0))).
ack1(s(s(T20)), 0, T22) :- ack21(T20, X40).
ack1(s(s(T20)), 0, T22) :- ','(ack21(T20, T24), ack1(T20, T24, T22)).
ack1(s(T76), s(0), T71) :- ack27(T76, X200).
ack1(s(T76), s(0), T71) :- ','(ack27(T76, T77), ack1(T76, T77, T71)).
ack1(s(T84), s(s(T85)), T71) :- ack38(s(T84), T85, X221).
ack1(s(T84), s(s(T85)), T71) :- ','(ack38(s(T84), T85, T87), ack38(T84, T87, X222)).
ack1(s(T84), s(s(T85)), T71) :- ','(ack38(s(T84), T85, T87), ','(ack38(T84, T87, T91), ack1(T84, T91, T71))).

Queries:

ack1(g,g,a).

(3) PrologToPiTRSProof (SOUND transformation)

We use the technique of [LOPSTR]. With regard to the inferred argument filtering the predicates were used in the following modes:
ack1_in: (b,b,f) (b,f,f)
ack21_in: (b,f)
ack27_in: (b,f)
ack38_in: (b,f,f) (b,b,f)
Transforming Prolog into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:

ack1_in_gga(0, T5, s(T5)) → ack1_out_gga(0, T5, s(T5))
ack1_in_gga(s(0), 0, s(s(0))) → ack1_out_gga(s(0), 0, s(s(0)))
ack1_in_gga(s(s(T20)), 0, T22) → U9_gga(T20, T22, ack21_in_ga(T20, X40))
ack21_in_ga(T30, X73) → U1_ga(T30, X73, ack27_in_ga(T30, X73))
ack27_in_ga(0, s(s(0))) → ack27_out_ga(0, s(s(0)))
ack27_in_ga(s(T34), X97) → U2_ga(T34, X97, ack21_in_ga(T34, X96))
U2_ga(T34, X97, ack21_out_ga(T34, X96)) → ack27_out_ga(s(T34), X97)
ack27_in_ga(s(T34), X97) → U3_ga(T34, X97, ack21_in_ga(T34, T36))
U3_ga(T34, X97, ack21_out_ga(T34, T36)) → U4_ga(T34, X97, ack38_in_gaa(T34, T36, X97))
ack38_in_gaa(0, T44, s(T44)) → ack38_out_gaa(0, T44, s(T44))
ack38_in_gaa(s(T49), 0, X133) → U5_gaa(T49, X133, ack27_in_ga(T49, X133))
U5_gaa(T49, X133, ack27_out_ga(T49, X133)) → ack38_out_gaa(s(T49), 0, X133)
ack38_in_gaa(s(T54), s(T55), X151) → U6_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, X150))
ack38_in_gaa(s(T54), s(T55), X151) → U7_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, T57))
U7_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, T57)) → U8_gaa(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U8_gaa(T54, T55, X151, ack38_out_gaa(T54, T57, X151)) → ack38_out_gaa(s(T54), s(T55), X151)
U6_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, X150)) → ack38_out_gaa(s(T54), s(T55), X151)
U4_ga(T34, X97, ack38_out_gaa(T34, T36, X97)) → ack27_out_ga(s(T34), X97)
U1_ga(T30, X73, ack27_out_ga(T30, X73)) → ack21_out_ga(T30, X73)
U9_gga(T20, T22, ack21_out_ga(T20, X40)) → ack1_out_gga(s(s(T20)), 0, T22)
ack1_in_gga(s(s(T20)), 0, T22) → U10_gga(T20, T22, ack21_in_ga(T20, T24))
U10_gga(T20, T22, ack21_out_ga(T20, T24)) → U11_gga(T20, T22, ack1_in_gaa(T20, T24, T22))
ack1_in_gaa(0, T5, s(T5)) → ack1_out_gaa(0, T5, s(T5))
ack1_in_gaa(s(0), 0, s(s(0))) → ack1_out_gaa(s(0), 0, s(s(0)))
ack1_in_gaa(s(s(T20)), 0, T22) → U9_gaa(T20, T22, ack21_in_ga(T20, X40))
U9_gaa(T20, T22, ack21_out_ga(T20, X40)) → ack1_out_gaa(s(s(T20)), 0, T22)
ack1_in_gaa(s(s(T20)), 0, T22) → U10_gaa(T20, T22, ack21_in_ga(T20, T24))
U10_gaa(T20, T22, ack21_out_ga(T20, T24)) → U11_gaa(T20, T22, ack1_in_gaa(T20, T24, T22))
ack1_in_gaa(s(T76), s(0), T71) → U12_gaa(T76, T71, ack27_in_ga(T76, X200))
U12_gaa(T76, T71, ack27_out_ga(T76, X200)) → ack1_out_gaa(s(T76), s(0), T71)
ack1_in_gaa(s(T76), s(0), T71) → U13_gaa(T76, T71, ack27_in_ga(T76, T77))
U13_gaa(T76, T71, ack27_out_ga(T76, T77)) → U14_gaa(T76, T71, ack1_in_gaa(T76, T77, T71))
ack1_in_gaa(s(T84), s(s(T85)), T71) → U15_gaa(T84, T85, T71, ack38_in_gaa(s(T84), T85, X221))
U15_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, X221)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
ack1_in_gaa(s(T84), s(s(T85)), T71) → U16_gaa(T84, T85, T71, ack38_in_gaa(s(T84), T85, T87))
U16_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U17_gaa(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U17_gaa(T84, T85, T71, ack38_out_gaa(T84, T87, X222)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
U16_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U18_gaa(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_gaa(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_gaa(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U19_gaa(T84, T85, T71, ack1_out_gaa(T84, T91, T71)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
U14_gaa(T76, T71, ack1_out_gaa(T76, T77, T71)) → ack1_out_gaa(s(T76), s(0), T71)
U11_gaa(T20, T22, ack1_out_gaa(T20, T24, T22)) → ack1_out_gaa(s(s(T20)), 0, T22)
U11_gga(T20, T22, ack1_out_gaa(T20, T24, T22)) → ack1_out_gga(s(s(T20)), 0, T22)
ack1_in_gga(s(T76), s(0), T71) → U12_gga(T76, T71, ack27_in_ga(T76, X200))
U12_gga(T76, T71, ack27_out_ga(T76, X200)) → ack1_out_gga(s(T76), s(0), T71)
ack1_in_gga(s(T76), s(0), T71) → U13_gga(T76, T71, ack27_in_ga(T76, T77))
U13_gga(T76, T71, ack27_out_ga(T76, T77)) → U14_gga(T76, T71, ack1_in_gaa(T76, T77, T71))
U14_gga(T76, T71, ack1_out_gaa(T76, T77, T71)) → ack1_out_gga(s(T76), s(0), T71)
ack1_in_gga(s(T84), s(s(T85)), T71) → U15_gga(T84, T85, T71, ack38_in_gga(s(T84), T85, X221))
ack38_in_gga(0, T44, s(T44)) → ack38_out_gga(0, T44, s(T44))
ack38_in_gga(s(T49), 0, X133) → U5_gga(T49, X133, ack27_in_ga(T49, X133))
U5_gga(T49, X133, ack27_out_ga(T49, X133)) → ack38_out_gga(s(T49), 0, X133)
ack38_in_gga(s(T54), s(T55), X151) → U6_gga(T54, T55, X151, ack38_in_gga(s(T54), T55, X150))
ack38_in_gga(s(T54), s(T55), X151) → U7_gga(T54, T55, X151, ack38_in_gga(s(T54), T55, T57))
U7_gga(T54, T55, X151, ack38_out_gga(s(T54), T55, T57)) → U8_gga(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U8_gga(T54, T55, X151, ack38_out_gaa(T54, T57, X151)) → ack38_out_gga(s(T54), s(T55), X151)
U6_gga(T54, T55, X151, ack38_out_gga(s(T54), T55, X150)) → ack38_out_gga(s(T54), s(T55), X151)
U15_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, X221)) → ack1_out_gga(s(T84), s(s(T85)), T71)
ack1_in_gga(s(T84), s(s(T85)), T71) → U16_gga(T84, T85, T71, ack38_in_gga(s(T84), T85, T87))
U16_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U17_gga(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U17_gga(T84, T85, T71, ack38_out_gaa(T84, T87, X222)) → ack1_out_gga(s(T84), s(s(T85)), T71)
U16_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U18_gga(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_gga(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_gga(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U19_gga(T84, T85, T71, ack1_out_gaa(T84, T91, T71)) → ack1_out_gga(s(T84), s(s(T85)), T71)

The argument filtering Pi contains the following mapping:
ack1_in_gga(x1, x2, x3)  =  ack1_in_gga(x1, x2)
0  =  0
ack1_out_gga(x1, x2, x3)  =  ack1_out_gga(x1, x2)
s(x1)  =  s(x1)
U9_gga(x1, x2, x3)  =  U9_gga(x1, x3)
ack21_in_ga(x1, x2)  =  ack21_in_ga(x1)
U1_ga(x1, x2, x3)  =  U1_ga(x1, x3)
ack27_in_ga(x1, x2)  =  ack27_in_ga(x1)
ack27_out_ga(x1, x2)  =  ack27_out_ga(x1)
U2_ga(x1, x2, x3)  =  U2_ga(x1, x3)
ack21_out_ga(x1, x2)  =  ack21_out_ga(x1)
U3_ga(x1, x2, x3)  =  U3_ga(x1, x3)
U4_ga(x1, x2, x3)  =  U4_ga(x1, x3)
ack38_in_gga(x1, x2, x3)  =  ack38_in_gga(x1, x2)
ack38_out_gga(x1, x2, x3)  =  ack38_out_gga(x1, x2)
U5_gga(x1, x2, x3)  =  U5_gga(x1, x3)
U6_gga(x1, x2, x3, x4)  =  U6_gga(x1, x2, x4)
U7_gga(x1, x2, x3, x4)  =  U7_gga(x1, x2, x4)
U8_gga(x1, x2, x3, x4)  =  U8_gga(x1, x2, x4)
ack38_in_gaa(x1, x2, x3)  =  ack38_in_gaa(x1)
ack38_out_gaa(x1, x2, x3)  =  ack38_out_gaa(x1)
U5_gaa(x1, x2, x3)  =  U5_gaa(x1, x3)
U6_gaa(x1, x2, x3, x4)  =  U6_gaa(x1, x4)
U7_gaa(x1, x2, x3, x4)  =  U7_gaa(x1, x4)
U8_gaa(x1, x2, x3, x4)  =  U8_gaa(x1, x4)
U10_gga(x1, x2, x3)  =  U10_gga(x1, x3)
U11_gga(x1, x2, x3)  =  U11_gga(x1, x3)
ack1_in_gaa(x1, x2, x3)  =  ack1_in_gaa(x1)
ack1_out_gaa(x1, x2, x3)  =  ack1_out_gaa(x1)
U9_gaa(x1, x2, x3)  =  U9_gaa(x1, x3)
U10_gaa(x1, x2, x3)  =  U10_gaa(x1, x3)
U11_gaa(x1, x2, x3)  =  U11_gaa(x1, x3)
U12_gaa(x1, x2, x3)  =  U12_gaa(x1, x3)
U13_gaa(x1, x2, x3)  =  U13_gaa(x1, x3)
U14_gaa(x1, x2, x3)  =  U14_gaa(x1, x3)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x1, x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x1, x4)
U17_gaa(x1, x2, x3, x4)  =  U17_gaa(x1, x4)
U18_gaa(x1, x2, x3, x4)  =  U18_gaa(x1, x4)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x1, x4)
U12_gga(x1, x2, x3)  =  U12_gga(x1, x3)
U13_gga(x1, x2, x3)  =  U13_gga(x1, x3)
U14_gga(x1, x2, x3)  =  U14_gga(x1, x3)
U15_gga(x1, x2, x3, x4)  =  U15_gga(x1, x2, x4)
U16_gga(x1, x2, x3, x4)  =  U16_gga(x1, x2, x4)
U17_gga(x1, x2, x3, x4)  =  U17_gga(x1, x2, x4)
U18_gga(x1, x2, x3, x4)  =  U18_gga(x1, x2, x4)
U19_gga(x1, x2, x3, x4)  =  U19_gga(x1, x2, x4)

Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog

(4) Obligation:

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

ack1_in_gga(0, T5, s(T5)) → ack1_out_gga(0, T5, s(T5))
ack1_in_gga(s(0), 0, s(s(0))) → ack1_out_gga(s(0), 0, s(s(0)))
ack1_in_gga(s(s(T20)), 0, T22) → U9_gga(T20, T22, ack21_in_ga(T20, X40))
ack21_in_ga(T30, X73) → U1_ga(T30, X73, ack27_in_ga(T30, X73))
ack27_in_ga(0, s(s(0))) → ack27_out_ga(0, s(s(0)))
ack27_in_ga(s(T34), X97) → U2_ga(T34, X97, ack21_in_ga(T34, X96))
U2_ga(T34, X97, ack21_out_ga(T34, X96)) → ack27_out_ga(s(T34), X97)
ack27_in_ga(s(T34), X97) → U3_ga(T34, X97, ack21_in_ga(T34, T36))
U3_ga(T34, X97, ack21_out_ga(T34, T36)) → U4_ga(T34, X97, ack38_in_gaa(T34, T36, X97))
ack38_in_gaa(0, T44, s(T44)) → ack38_out_gaa(0, T44, s(T44))
ack38_in_gaa(s(T49), 0, X133) → U5_gaa(T49, X133, ack27_in_ga(T49, X133))
U5_gaa(T49, X133, ack27_out_ga(T49, X133)) → ack38_out_gaa(s(T49), 0, X133)
ack38_in_gaa(s(T54), s(T55), X151) → U6_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, X150))
ack38_in_gaa(s(T54), s(T55), X151) → U7_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, T57))
U7_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, T57)) → U8_gaa(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U8_gaa(T54, T55, X151, ack38_out_gaa(T54, T57, X151)) → ack38_out_gaa(s(T54), s(T55), X151)
U6_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, X150)) → ack38_out_gaa(s(T54), s(T55), X151)
U4_ga(T34, X97, ack38_out_gaa(T34, T36, X97)) → ack27_out_ga(s(T34), X97)
U1_ga(T30, X73, ack27_out_ga(T30, X73)) → ack21_out_ga(T30, X73)
U9_gga(T20, T22, ack21_out_ga(T20, X40)) → ack1_out_gga(s(s(T20)), 0, T22)
ack1_in_gga(s(s(T20)), 0, T22) → U10_gga(T20, T22, ack21_in_ga(T20, T24))
U10_gga(T20, T22, ack21_out_ga(T20, T24)) → U11_gga(T20, T22, ack1_in_gaa(T20, T24, T22))
ack1_in_gaa(0, T5, s(T5)) → ack1_out_gaa(0, T5, s(T5))
ack1_in_gaa(s(0), 0, s(s(0))) → ack1_out_gaa(s(0), 0, s(s(0)))
ack1_in_gaa(s(s(T20)), 0, T22) → U9_gaa(T20, T22, ack21_in_ga(T20, X40))
U9_gaa(T20, T22, ack21_out_ga(T20, X40)) → ack1_out_gaa(s(s(T20)), 0, T22)
ack1_in_gaa(s(s(T20)), 0, T22) → U10_gaa(T20, T22, ack21_in_ga(T20, T24))
U10_gaa(T20, T22, ack21_out_ga(T20, T24)) → U11_gaa(T20, T22, ack1_in_gaa(T20, T24, T22))
ack1_in_gaa(s(T76), s(0), T71) → U12_gaa(T76, T71, ack27_in_ga(T76, X200))
U12_gaa(T76, T71, ack27_out_ga(T76, X200)) → ack1_out_gaa(s(T76), s(0), T71)
ack1_in_gaa(s(T76), s(0), T71) → U13_gaa(T76, T71, ack27_in_ga(T76, T77))
U13_gaa(T76, T71, ack27_out_ga(T76, T77)) → U14_gaa(T76, T71, ack1_in_gaa(T76, T77, T71))
ack1_in_gaa(s(T84), s(s(T85)), T71) → U15_gaa(T84, T85, T71, ack38_in_gaa(s(T84), T85, X221))
U15_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, X221)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
ack1_in_gaa(s(T84), s(s(T85)), T71) → U16_gaa(T84, T85, T71, ack38_in_gaa(s(T84), T85, T87))
U16_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U17_gaa(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U17_gaa(T84, T85, T71, ack38_out_gaa(T84, T87, X222)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
U16_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U18_gaa(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_gaa(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_gaa(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U19_gaa(T84, T85, T71, ack1_out_gaa(T84, T91, T71)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
U14_gaa(T76, T71, ack1_out_gaa(T76, T77, T71)) → ack1_out_gaa(s(T76), s(0), T71)
U11_gaa(T20, T22, ack1_out_gaa(T20, T24, T22)) → ack1_out_gaa(s(s(T20)), 0, T22)
U11_gga(T20, T22, ack1_out_gaa(T20, T24, T22)) → ack1_out_gga(s(s(T20)), 0, T22)
ack1_in_gga(s(T76), s(0), T71) → U12_gga(T76, T71, ack27_in_ga(T76, X200))
U12_gga(T76, T71, ack27_out_ga(T76, X200)) → ack1_out_gga(s(T76), s(0), T71)
ack1_in_gga(s(T76), s(0), T71) → U13_gga(T76, T71, ack27_in_ga(T76, T77))
U13_gga(T76, T71, ack27_out_ga(T76, T77)) → U14_gga(T76, T71, ack1_in_gaa(T76, T77, T71))
U14_gga(T76, T71, ack1_out_gaa(T76, T77, T71)) → ack1_out_gga(s(T76), s(0), T71)
ack1_in_gga(s(T84), s(s(T85)), T71) → U15_gga(T84, T85, T71, ack38_in_gga(s(T84), T85, X221))
ack38_in_gga(0, T44, s(T44)) → ack38_out_gga(0, T44, s(T44))
ack38_in_gga(s(T49), 0, X133) → U5_gga(T49, X133, ack27_in_ga(T49, X133))
U5_gga(T49, X133, ack27_out_ga(T49, X133)) → ack38_out_gga(s(T49), 0, X133)
ack38_in_gga(s(T54), s(T55), X151) → U6_gga(T54, T55, X151, ack38_in_gga(s(T54), T55, X150))
ack38_in_gga(s(T54), s(T55), X151) → U7_gga(T54, T55, X151, ack38_in_gga(s(T54), T55, T57))
U7_gga(T54, T55, X151, ack38_out_gga(s(T54), T55, T57)) → U8_gga(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U8_gga(T54, T55, X151, ack38_out_gaa(T54, T57, X151)) → ack38_out_gga(s(T54), s(T55), X151)
U6_gga(T54, T55, X151, ack38_out_gga(s(T54), T55, X150)) → ack38_out_gga(s(T54), s(T55), X151)
U15_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, X221)) → ack1_out_gga(s(T84), s(s(T85)), T71)
ack1_in_gga(s(T84), s(s(T85)), T71) → U16_gga(T84, T85, T71, ack38_in_gga(s(T84), T85, T87))
U16_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U17_gga(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U17_gga(T84, T85, T71, ack38_out_gaa(T84, T87, X222)) → ack1_out_gga(s(T84), s(s(T85)), T71)
U16_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U18_gga(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_gga(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_gga(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U19_gga(T84, T85, T71, ack1_out_gaa(T84, T91, T71)) → ack1_out_gga(s(T84), s(s(T85)), T71)

The argument filtering Pi contains the following mapping:
ack1_in_gga(x1, x2, x3)  =  ack1_in_gga(x1, x2)
0  =  0
ack1_out_gga(x1, x2, x3)  =  ack1_out_gga(x1, x2)
s(x1)  =  s(x1)
U9_gga(x1, x2, x3)  =  U9_gga(x1, x3)
ack21_in_ga(x1, x2)  =  ack21_in_ga(x1)
U1_ga(x1, x2, x3)  =  U1_ga(x1, x3)
ack27_in_ga(x1, x2)  =  ack27_in_ga(x1)
ack27_out_ga(x1, x2)  =  ack27_out_ga(x1)
U2_ga(x1, x2, x3)  =  U2_ga(x1, x3)
ack21_out_ga(x1, x2)  =  ack21_out_ga(x1)
U3_ga(x1, x2, x3)  =  U3_ga(x1, x3)
U4_ga(x1, x2, x3)  =  U4_ga(x1, x3)
ack38_in_gga(x1, x2, x3)  =  ack38_in_gga(x1, x2)
ack38_out_gga(x1, x2, x3)  =  ack38_out_gga(x1, x2)
U5_gga(x1, x2, x3)  =  U5_gga(x1, x3)
U6_gga(x1, x2, x3, x4)  =  U6_gga(x1, x2, x4)
U7_gga(x1, x2, x3, x4)  =  U7_gga(x1, x2, x4)
U8_gga(x1, x2, x3, x4)  =  U8_gga(x1, x2, x4)
ack38_in_gaa(x1, x2, x3)  =  ack38_in_gaa(x1)
ack38_out_gaa(x1, x2, x3)  =  ack38_out_gaa(x1)
U5_gaa(x1, x2, x3)  =  U5_gaa(x1, x3)
U6_gaa(x1, x2, x3, x4)  =  U6_gaa(x1, x4)
U7_gaa(x1, x2, x3, x4)  =  U7_gaa(x1, x4)
U8_gaa(x1, x2, x3, x4)  =  U8_gaa(x1, x4)
U10_gga(x1, x2, x3)  =  U10_gga(x1, x3)
U11_gga(x1, x2, x3)  =  U11_gga(x1, x3)
ack1_in_gaa(x1, x2, x3)  =  ack1_in_gaa(x1)
ack1_out_gaa(x1, x2, x3)  =  ack1_out_gaa(x1)
U9_gaa(x1, x2, x3)  =  U9_gaa(x1, x3)
U10_gaa(x1, x2, x3)  =  U10_gaa(x1, x3)
U11_gaa(x1, x2, x3)  =  U11_gaa(x1, x3)
U12_gaa(x1, x2, x3)  =  U12_gaa(x1, x3)
U13_gaa(x1, x2, x3)  =  U13_gaa(x1, x3)
U14_gaa(x1, x2, x3)  =  U14_gaa(x1, x3)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x1, x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x1, x4)
U17_gaa(x1, x2, x3, x4)  =  U17_gaa(x1, x4)
U18_gaa(x1, x2, x3, x4)  =  U18_gaa(x1, x4)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x1, x4)
U12_gga(x1, x2, x3)  =  U12_gga(x1, x3)
U13_gga(x1, x2, x3)  =  U13_gga(x1, x3)
U14_gga(x1, x2, x3)  =  U14_gga(x1, x3)
U15_gga(x1, x2, x3, x4)  =  U15_gga(x1, x2, x4)
U16_gga(x1, x2, x3, x4)  =  U16_gga(x1, x2, x4)
U17_gga(x1, x2, x3, x4)  =  U17_gga(x1, x2, x4)
U18_gga(x1, x2, x3, x4)  =  U18_gga(x1, x2, x4)
U19_gga(x1, x2, x3, x4)  =  U19_gga(x1, x2, x4)

(5) DependencyPairsProof (EQUIVALENT transformation)

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

ACK1_IN_GGA(s(s(T20)), 0, T22) → U9_GGA(T20, T22, ack21_in_ga(T20, X40))
ACK1_IN_GGA(s(s(T20)), 0, T22) → ACK21_IN_GA(T20, X40)
ACK21_IN_GA(T30, X73) → U1_GA(T30, X73, ack27_in_ga(T30, X73))
ACK21_IN_GA(T30, X73) → ACK27_IN_GA(T30, X73)
ACK27_IN_GA(s(T34), X97) → U2_GA(T34, X97, ack21_in_ga(T34, X96))
ACK27_IN_GA(s(T34), X97) → ACK21_IN_GA(T34, X96)
ACK27_IN_GA(s(T34), X97) → U3_GA(T34, X97, ack21_in_ga(T34, T36))
U3_GA(T34, X97, ack21_out_ga(T34, T36)) → U4_GA(T34, X97, ack38_in_gaa(T34, T36, X97))
U3_GA(T34, X97, ack21_out_ga(T34, T36)) → ACK38_IN_GAA(T34, T36, X97)
ACK38_IN_GAA(s(T49), 0, X133) → U5_GAA(T49, X133, ack27_in_ga(T49, X133))
ACK38_IN_GAA(s(T49), 0, X133) → ACK27_IN_GA(T49, X133)
ACK38_IN_GAA(s(T54), s(T55), X151) → U6_GAA(T54, T55, X151, ack38_in_gaa(s(T54), T55, X150))
ACK38_IN_GAA(s(T54), s(T55), X151) → ACK38_IN_GAA(s(T54), T55, X150)
ACK38_IN_GAA(s(T54), s(T55), X151) → U7_GAA(T54, T55, X151, ack38_in_gaa(s(T54), T55, T57))
U7_GAA(T54, T55, X151, ack38_out_gaa(s(T54), T55, T57)) → U8_GAA(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U7_GAA(T54, T55, X151, ack38_out_gaa(s(T54), T55, T57)) → ACK38_IN_GAA(T54, T57, X151)
ACK1_IN_GGA(s(s(T20)), 0, T22) → U10_GGA(T20, T22, ack21_in_ga(T20, T24))
U10_GGA(T20, T22, ack21_out_ga(T20, T24)) → U11_GGA(T20, T22, ack1_in_gaa(T20, T24, T22))
U10_GGA(T20, T22, ack21_out_ga(T20, T24)) → ACK1_IN_GAA(T20, T24, T22)
ACK1_IN_GAA(s(s(T20)), 0, T22) → U9_GAA(T20, T22, ack21_in_ga(T20, X40))
ACK1_IN_GAA(s(s(T20)), 0, T22) → ACK21_IN_GA(T20, X40)
ACK1_IN_GAA(s(s(T20)), 0, T22) → U10_GAA(T20, T22, ack21_in_ga(T20, T24))
U10_GAA(T20, T22, ack21_out_ga(T20, T24)) → U11_GAA(T20, T22, ack1_in_gaa(T20, T24, T22))
U10_GAA(T20, T22, ack21_out_ga(T20, T24)) → ACK1_IN_GAA(T20, T24, T22)
ACK1_IN_GAA(s(T76), s(0), T71) → U12_GAA(T76, T71, ack27_in_ga(T76, X200))
ACK1_IN_GAA(s(T76), s(0), T71) → ACK27_IN_GA(T76, X200)
ACK1_IN_GAA(s(T76), s(0), T71) → U13_GAA(T76, T71, ack27_in_ga(T76, T77))
U13_GAA(T76, T71, ack27_out_ga(T76, T77)) → U14_GAA(T76, T71, ack1_in_gaa(T76, T77, T71))
U13_GAA(T76, T71, ack27_out_ga(T76, T77)) → ACK1_IN_GAA(T76, T77, T71)
ACK1_IN_GAA(s(T84), s(s(T85)), T71) → U15_GAA(T84, T85, T71, ack38_in_gaa(s(T84), T85, X221))
ACK1_IN_GAA(s(T84), s(s(T85)), T71) → ACK38_IN_GAA(s(T84), T85, X221)
ACK1_IN_GAA(s(T84), s(s(T85)), T71) → U16_GAA(T84, T85, T71, ack38_in_gaa(s(T84), T85, T87))
U16_GAA(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U17_GAA(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U16_GAA(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → ACK38_IN_GAA(T84, T87, X222)
U16_GAA(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U18_GAA(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_GAA(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_GAA(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U18_GAA(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → ACK1_IN_GAA(T84, T91, T71)
ACK1_IN_GGA(s(T76), s(0), T71) → U12_GGA(T76, T71, ack27_in_ga(T76, X200))
ACK1_IN_GGA(s(T76), s(0), T71) → ACK27_IN_GA(T76, X200)
ACK1_IN_GGA(s(T76), s(0), T71) → U13_GGA(T76, T71, ack27_in_ga(T76, T77))
U13_GGA(T76, T71, ack27_out_ga(T76, T77)) → U14_GGA(T76, T71, ack1_in_gaa(T76, T77, T71))
U13_GGA(T76, T71, ack27_out_ga(T76, T77)) → ACK1_IN_GAA(T76, T77, T71)
ACK1_IN_GGA(s(T84), s(s(T85)), T71) → U15_GGA(T84, T85, T71, ack38_in_gga(s(T84), T85, X221))
ACK1_IN_GGA(s(T84), s(s(T85)), T71) → ACK38_IN_GGA(s(T84), T85, X221)
ACK38_IN_GGA(s(T49), 0, X133) → U5_GGA(T49, X133, ack27_in_ga(T49, X133))
ACK38_IN_GGA(s(T49), 0, X133) → ACK27_IN_GA(T49, X133)
ACK38_IN_GGA(s(T54), s(T55), X151) → U6_GGA(T54, T55, X151, ack38_in_gga(s(T54), T55, X150))
ACK38_IN_GGA(s(T54), s(T55), X151) → ACK38_IN_GGA(s(T54), T55, X150)
ACK38_IN_GGA(s(T54), s(T55), X151) → U7_GGA(T54, T55, X151, ack38_in_gga(s(T54), T55, T57))
U7_GGA(T54, T55, X151, ack38_out_gga(s(T54), T55, T57)) → U8_GGA(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U7_GGA(T54, T55, X151, ack38_out_gga(s(T54), T55, T57)) → ACK38_IN_GAA(T54, T57, X151)
ACK1_IN_GGA(s(T84), s(s(T85)), T71) → U16_GGA(T84, T85, T71, ack38_in_gga(s(T84), T85, T87))
U16_GGA(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U17_GGA(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U16_GGA(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → ACK38_IN_GAA(T84, T87, X222)
U16_GGA(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U18_GGA(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_GGA(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_GGA(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U18_GGA(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → ACK1_IN_GAA(T84, T91, T71)

The TRS R consists of the following rules:

ack1_in_gga(0, T5, s(T5)) → ack1_out_gga(0, T5, s(T5))
ack1_in_gga(s(0), 0, s(s(0))) → ack1_out_gga(s(0), 0, s(s(0)))
ack1_in_gga(s(s(T20)), 0, T22) → U9_gga(T20, T22, ack21_in_ga(T20, X40))
ack21_in_ga(T30, X73) → U1_ga(T30, X73, ack27_in_ga(T30, X73))
ack27_in_ga(0, s(s(0))) → ack27_out_ga(0, s(s(0)))
ack27_in_ga(s(T34), X97) → U2_ga(T34, X97, ack21_in_ga(T34, X96))
U2_ga(T34, X97, ack21_out_ga(T34, X96)) → ack27_out_ga(s(T34), X97)
ack27_in_ga(s(T34), X97) → U3_ga(T34, X97, ack21_in_ga(T34, T36))
U3_ga(T34, X97, ack21_out_ga(T34, T36)) → U4_ga(T34, X97, ack38_in_gaa(T34, T36, X97))
ack38_in_gaa(0, T44, s(T44)) → ack38_out_gaa(0, T44, s(T44))
ack38_in_gaa(s(T49), 0, X133) → U5_gaa(T49, X133, ack27_in_ga(T49, X133))
U5_gaa(T49, X133, ack27_out_ga(T49, X133)) → ack38_out_gaa(s(T49), 0, X133)
ack38_in_gaa(s(T54), s(T55), X151) → U6_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, X150))
ack38_in_gaa(s(T54), s(T55), X151) → U7_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, T57))
U7_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, T57)) → U8_gaa(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U8_gaa(T54, T55, X151, ack38_out_gaa(T54, T57, X151)) → ack38_out_gaa(s(T54), s(T55), X151)
U6_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, X150)) → ack38_out_gaa(s(T54), s(T55), X151)
U4_ga(T34, X97, ack38_out_gaa(T34, T36, X97)) → ack27_out_ga(s(T34), X97)
U1_ga(T30, X73, ack27_out_ga(T30, X73)) → ack21_out_ga(T30, X73)
U9_gga(T20, T22, ack21_out_ga(T20, X40)) → ack1_out_gga(s(s(T20)), 0, T22)
ack1_in_gga(s(s(T20)), 0, T22) → U10_gga(T20, T22, ack21_in_ga(T20, T24))
U10_gga(T20, T22, ack21_out_ga(T20, T24)) → U11_gga(T20, T22, ack1_in_gaa(T20, T24, T22))
ack1_in_gaa(0, T5, s(T5)) → ack1_out_gaa(0, T5, s(T5))
ack1_in_gaa(s(0), 0, s(s(0))) → ack1_out_gaa(s(0), 0, s(s(0)))
ack1_in_gaa(s(s(T20)), 0, T22) → U9_gaa(T20, T22, ack21_in_ga(T20, X40))
U9_gaa(T20, T22, ack21_out_ga(T20, X40)) → ack1_out_gaa(s(s(T20)), 0, T22)
ack1_in_gaa(s(s(T20)), 0, T22) → U10_gaa(T20, T22, ack21_in_ga(T20, T24))
U10_gaa(T20, T22, ack21_out_ga(T20, T24)) → U11_gaa(T20, T22, ack1_in_gaa(T20, T24, T22))
ack1_in_gaa(s(T76), s(0), T71) → U12_gaa(T76, T71, ack27_in_ga(T76, X200))
U12_gaa(T76, T71, ack27_out_ga(T76, X200)) → ack1_out_gaa(s(T76), s(0), T71)
ack1_in_gaa(s(T76), s(0), T71) → U13_gaa(T76, T71, ack27_in_ga(T76, T77))
U13_gaa(T76, T71, ack27_out_ga(T76, T77)) → U14_gaa(T76, T71, ack1_in_gaa(T76, T77, T71))
ack1_in_gaa(s(T84), s(s(T85)), T71) → U15_gaa(T84, T85, T71, ack38_in_gaa(s(T84), T85, X221))
U15_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, X221)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
ack1_in_gaa(s(T84), s(s(T85)), T71) → U16_gaa(T84, T85, T71, ack38_in_gaa(s(T84), T85, T87))
U16_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U17_gaa(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U17_gaa(T84, T85, T71, ack38_out_gaa(T84, T87, X222)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
U16_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U18_gaa(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_gaa(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_gaa(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U19_gaa(T84, T85, T71, ack1_out_gaa(T84, T91, T71)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
U14_gaa(T76, T71, ack1_out_gaa(T76, T77, T71)) → ack1_out_gaa(s(T76), s(0), T71)
U11_gaa(T20, T22, ack1_out_gaa(T20, T24, T22)) → ack1_out_gaa(s(s(T20)), 0, T22)
U11_gga(T20, T22, ack1_out_gaa(T20, T24, T22)) → ack1_out_gga(s(s(T20)), 0, T22)
ack1_in_gga(s(T76), s(0), T71) → U12_gga(T76, T71, ack27_in_ga(T76, X200))
U12_gga(T76, T71, ack27_out_ga(T76, X200)) → ack1_out_gga(s(T76), s(0), T71)
ack1_in_gga(s(T76), s(0), T71) → U13_gga(T76, T71, ack27_in_ga(T76, T77))
U13_gga(T76, T71, ack27_out_ga(T76, T77)) → U14_gga(T76, T71, ack1_in_gaa(T76, T77, T71))
U14_gga(T76, T71, ack1_out_gaa(T76, T77, T71)) → ack1_out_gga(s(T76), s(0), T71)
ack1_in_gga(s(T84), s(s(T85)), T71) → U15_gga(T84, T85, T71, ack38_in_gga(s(T84), T85, X221))
ack38_in_gga(0, T44, s(T44)) → ack38_out_gga(0, T44, s(T44))
ack38_in_gga(s(T49), 0, X133) → U5_gga(T49, X133, ack27_in_ga(T49, X133))
U5_gga(T49, X133, ack27_out_ga(T49, X133)) → ack38_out_gga(s(T49), 0, X133)
ack38_in_gga(s(T54), s(T55), X151) → U6_gga(T54, T55, X151, ack38_in_gga(s(T54), T55, X150))
ack38_in_gga(s(T54), s(T55), X151) → U7_gga(T54, T55, X151, ack38_in_gga(s(T54), T55, T57))
U7_gga(T54, T55, X151, ack38_out_gga(s(T54), T55, T57)) → U8_gga(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U8_gga(T54, T55, X151, ack38_out_gaa(T54, T57, X151)) → ack38_out_gga(s(T54), s(T55), X151)
U6_gga(T54, T55, X151, ack38_out_gga(s(T54), T55, X150)) → ack38_out_gga(s(T54), s(T55), X151)
U15_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, X221)) → ack1_out_gga(s(T84), s(s(T85)), T71)
ack1_in_gga(s(T84), s(s(T85)), T71) → U16_gga(T84, T85, T71, ack38_in_gga(s(T84), T85, T87))
U16_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U17_gga(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U17_gga(T84, T85, T71, ack38_out_gaa(T84, T87, X222)) → ack1_out_gga(s(T84), s(s(T85)), T71)
U16_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U18_gga(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_gga(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_gga(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U19_gga(T84, T85, T71, ack1_out_gaa(T84, T91, T71)) → ack1_out_gga(s(T84), s(s(T85)), T71)

The argument filtering Pi contains the following mapping:
ack1_in_gga(x1, x2, x3)  =  ack1_in_gga(x1, x2)
0  =  0
ack1_out_gga(x1, x2, x3)  =  ack1_out_gga(x1, x2)
s(x1)  =  s(x1)
U9_gga(x1, x2, x3)  =  U9_gga(x1, x3)
ack21_in_ga(x1, x2)  =  ack21_in_ga(x1)
U1_ga(x1, x2, x3)  =  U1_ga(x1, x3)
ack27_in_ga(x1, x2)  =  ack27_in_ga(x1)
ack27_out_ga(x1, x2)  =  ack27_out_ga(x1)
U2_ga(x1, x2, x3)  =  U2_ga(x1, x3)
ack21_out_ga(x1, x2)  =  ack21_out_ga(x1)
U3_ga(x1, x2, x3)  =  U3_ga(x1, x3)
U4_ga(x1, x2, x3)  =  U4_ga(x1, x3)
ack38_in_gga(x1, x2, x3)  =  ack38_in_gga(x1, x2)
ack38_out_gga(x1, x2, x3)  =  ack38_out_gga(x1, x2)
U5_gga(x1, x2, x3)  =  U5_gga(x1, x3)
U6_gga(x1, x2, x3, x4)  =  U6_gga(x1, x2, x4)
U7_gga(x1, x2, x3, x4)  =  U7_gga(x1, x2, x4)
U8_gga(x1, x2, x3, x4)  =  U8_gga(x1, x2, x4)
ack38_in_gaa(x1, x2, x3)  =  ack38_in_gaa(x1)
ack38_out_gaa(x1, x2, x3)  =  ack38_out_gaa(x1)
U5_gaa(x1, x2, x3)  =  U5_gaa(x1, x3)
U6_gaa(x1, x2, x3, x4)  =  U6_gaa(x1, x4)
U7_gaa(x1, x2, x3, x4)  =  U7_gaa(x1, x4)
U8_gaa(x1, x2, x3, x4)  =  U8_gaa(x1, x4)
U10_gga(x1, x2, x3)  =  U10_gga(x1, x3)
U11_gga(x1, x2, x3)  =  U11_gga(x1, x3)
ack1_in_gaa(x1, x2, x3)  =  ack1_in_gaa(x1)
ack1_out_gaa(x1, x2, x3)  =  ack1_out_gaa(x1)
U9_gaa(x1, x2, x3)  =  U9_gaa(x1, x3)
U10_gaa(x1, x2, x3)  =  U10_gaa(x1, x3)
U11_gaa(x1, x2, x3)  =  U11_gaa(x1, x3)
U12_gaa(x1, x2, x3)  =  U12_gaa(x1, x3)
U13_gaa(x1, x2, x3)  =  U13_gaa(x1, x3)
U14_gaa(x1, x2, x3)  =  U14_gaa(x1, x3)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x1, x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x1, x4)
U17_gaa(x1, x2, x3, x4)  =  U17_gaa(x1, x4)
U18_gaa(x1, x2, x3, x4)  =  U18_gaa(x1, x4)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x1, x4)
U12_gga(x1, x2, x3)  =  U12_gga(x1, x3)
U13_gga(x1, x2, x3)  =  U13_gga(x1, x3)
U14_gga(x1, x2, x3)  =  U14_gga(x1, x3)
U15_gga(x1, x2, x3, x4)  =  U15_gga(x1, x2, x4)
U16_gga(x1, x2, x3, x4)  =  U16_gga(x1, x2, x4)
U17_gga(x1, x2, x3, x4)  =  U17_gga(x1, x2, x4)
U18_gga(x1, x2, x3, x4)  =  U18_gga(x1, x2, x4)
U19_gga(x1, x2, x3, x4)  =  U19_gga(x1, x2, x4)
ACK1_IN_GGA(x1, x2, x3)  =  ACK1_IN_GGA(x1, x2)
U9_GGA(x1, x2, x3)  =  U9_GGA(x1, x3)
ACK21_IN_GA(x1, x2)  =  ACK21_IN_GA(x1)
U1_GA(x1, x2, x3)  =  U1_GA(x1, x3)
ACK27_IN_GA(x1, x2)  =  ACK27_IN_GA(x1)
U2_GA(x1, x2, x3)  =  U2_GA(x1, x3)
U3_GA(x1, x2, x3)  =  U3_GA(x1, x3)
U4_GA(x1, x2, x3)  =  U4_GA(x1, x3)
ACK38_IN_GAA(x1, x2, x3)  =  ACK38_IN_GAA(x1)
U5_GAA(x1, x2, x3)  =  U5_GAA(x1, x3)
U6_GAA(x1, x2, x3, x4)  =  U6_GAA(x1, x4)
U7_GAA(x1, x2, x3, x4)  =  U7_GAA(x1, x4)
U8_GAA(x1, x2, x3, x4)  =  U8_GAA(x1, x4)
U10_GGA(x1, x2, x3)  =  U10_GGA(x1, x3)
U11_GGA(x1, x2, x3)  =  U11_GGA(x1, x3)
ACK1_IN_GAA(x1, x2, x3)  =  ACK1_IN_GAA(x1)
U9_GAA(x1, x2, x3)  =  U9_GAA(x1, x3)
U10_GAA(x1, x2, x3)  =  U10_GAA(x1, x3)
U11_GAA(x1, x2, x3)  =  U11_GAA(x1, x3)
U12_GAA(x1, x2, x3)  =  U12_GAA(x1, x3)
U13_GAA(x1, x2, x3)  =  U13_GAA(x1, x3)
U14_GAA(x1, x2, x3)  =  U14_GAA(x1, x3)
U15_GAA(x1, x2, x3, x4)  =  U15_GAA(x1, x4)
U16_GAA(x1, x2, x3, x4)  =  U16_GAA(x1, x4)
U17_GAA(x1, x2, x3, x4)  =  U17_GAA(x1, x4)
U18_GAA(x1, x2, x3, x4)  =  U18_GAA(x1, x4)
U19_GAA(x1, x2, x3, x4)  =  U19_GAA(x1, x4)
U12_GGA(x1, x2, x3)  =  U12_GGA(x1, x3)
U13_GGA(x1, x2, x3)  =  U13_GGA(x1, x3)
U14_GGA(x1, x2, x3)  =  U14_GGA(x1, x3)
U15_GGA(x1, x2, x3, x4)  =  U15_GGA(x1, x2, x4)
ACK38_IN_GGA(x1, x2, x3)  =  ACK38_IN_GGA(x1, x2)
U5_GGA(x1, x2, x3)  =  U5_GGA(x1, x3)
U6_GGA(x1, x2, x3, x4)  =  U6_GGA(x1, x2, x4)
U7_GGA(x1, x2, x3, x4)  =  U7_GGA(x1, x2, x4)
U8_GGA(x1, x2, x3, x4)  =  U8_GGA(x1, x2, x4)
U16_GGA(x1, x2, x3, x4)  =  U16_GGA(x1, x2, x4)
U17_GGA(x1, x2, x3, x4)  =  U17_GGA(x1, x2, x4)
U18_GGA(x1, x2, x3, x4)  =  U18_GGA(x1, x2, x4)
U19_GGA(x1, x2, x3, x4)  =  U19_GGA(x1, x2, x4)

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

(6) Obligation:

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

ACK1_IN_GGA(s(s(T20)), 0, T22) → U9_GGA(T20, T22, ack21_in_ga(T20, X40))
ACK1_IN_GGA(s(s(T20)), 0, T22) → ACK21_IN_GA(T20, X40)
ACK21_IN_GA(T30, X73) → U1_GA(T30, X73, ack27_in_ga(T30, X73))
ACK21_IN_GA(T30, X73) → ACK27_IN_GA(T30, X73)
ACK27_IN_GA(s(T34), X97) → U2_GA(T34, X97, ack21_in_ga(T34, X96))
ACK27_IN_GA(s(T34), X97) → ACK21_IN_GA(T34, X96)
ACK27_IN_GA(s(T34), X97) → U3_GA(T34, X97, ack21_in_ga(T34, T36))
U3_GA(T34, X97, ack21_out_ga(T34, T36)) → U4_GA(T34, X97, ack38_in_gaa(T34, T36, X97))
U3_GA(T34, X97, ack21_out_ga(T34, T36)) → ACK38_IN_GAA(T34, T36, X97)
ACK38_IN_GAA(s(T49), 0, X133) → U5_GAA(T49, X133, ack27_in_ga(T49, X133))
ACK38_IN_GAA(s(T49), 0, X133) → ACK27_IN_GA(T49, X133)
ACK38_IN_GAA(s(T54), s(T55), X151) → U6_GAA(T54, T55, X151, ack38_in_gaa(s(T54), T55, X150))
ACK38_IN_GAA(s(T54), s(T55), X151) → ACK38_IN_GAA(s(T54), T55, X150)
ACK38_IN_GAA(s(T54), s(T55), X151) → U7_GAA(T54, T55, X151, ack38_in_gaa(s(T54), T55, T57))
U7_GAA(T54, T55, X151, ack38_out_gaa(s(T54), T55, T57)) → U8_GAA(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U7_GAA(T54, T55, X151, ack38_out_gaa(s(T54), T55, T57)) → ACK38_IN_GAA(T54, T57, X151)
ACK1_IN_GGA(s(s(T20)), 0, T22) → U10_GGA(T20, T22, ack21_in_ga(T20, T24))
U10_GGA(T20, T22, ack21_out_ga(T20, T24)) → U11_GGA(T20, T22, ack1_in_gaa(T20, T24, T22))
U10_GGA(T20, T22, ack21_out_ga(T20, T24)) → ACK1_IN_GAA(T20, T24, T22)
ACK1_IN_GAA(s(s(T20)), 0, T22) → U9_GAA(T20, T22, ack21_in_ga(T20, X40))
ACK1_IN_GAA(s(s(T20)), 0, T22) → ACK21_IN_GA(T20, X40)
ACK1_IN_GAA(s(s(T20)), 0, T22) → U10_GAA(T20, T22, ack21_in_ga(T20, T24))
U10_GAA(T20, T22, ack21_out_ga(T20, T24)) → U11_GAA(T20, T22, ack1_in_gaa(T20, T24, T22))
U10_GAA(T20, T22, ack21_out_ga(T20, T24)) → ACK1_IN_GAA(T20, T24, T22)
ACK1_IN_GAA(s(T76), s(0), T71) → U12_GAA(T76, T71, ack27_in_ga(T76, X200))
ACK1_IN_GAA(s(T76), s(0), T71) → ACK27_IN_GA(T76, X200)
ACK1_IN_GAA(s(T76), s(0), T71) → U13_GAA(T76, T71, ack27_in_ga(T76, T77))
U13_GAA(T76, T71, ack27_out_ga(T76, T77)) → U14_GAA(T76, T71, ack1_in_gaa(T76, T77, T71))
U13_GAA(T76, T71, ack27_out_ga(T76, T77)) → ACK1_IN_GAA(T76, T77, T71)
ACK1_IN_GAA(s(T84), s(s(T85)), T71) → U15_GAA(T84, T85, T71, ack38_in_gaa(s(T84), T85, X221))
ACK1_IN_GAA(s(T84), s(s(T85)), T71) → ACK38_IN_GAA(s(T84), T85, X221)
ACK1_IN_GAA(s(T84), s(s(T85)), T71) → U16_GAA(T84, T85, T71, ack38_in_gaa(s(T84), T85, T87))
U16_GAA(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U17_GAA(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U16_GAA(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → ACK38_IN_GAA(T84, T87, X222)
U16_GAA(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U18_GAA(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_GAA(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_GAA(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U18_GAA(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → ACK1_IN_GAA(T84, T91, T71)
ACK1_IN_GGA(s(T76), s(0), T71) → U12_GGA(T76, T71, ack27_in_ga(T76, X200))
ACK1_IN_GGA(s(T76), s(0), T71) → ACK27_IN_GA(T76, X200)
ACK1_IN_GGA(s(T76), s(0), T71) → U13_GGA(T76, T71, ack27_in_ga(T76, T77))
U13_GGA(T76, T71, ack27_out_ga(T76, T77)) → U14_GGA(T76, T71, ack1_in_gaa(T76, T77, T71))
U13_GGA(T76, T71, ack27_out_ga(T76, T77)) → ACK1_IN_GAA(T76, T77, T71)
ACK1_IN_GGA(s(T84), s(s(T85)), T71) → U15_GGA(T84, T85, T71, ack38_in_gga(s(T84), T85, X221))
ACK1_IN_GGA(s(T84), s(s(T85)), T71) → ACK38_IN_GGA(s(T84), T85, X221)
ACK38_IN_GGA(s(T49), 0, X133) → U5_GGA(T49, X133, ack27_in_ga(T49, X133))
ACK38_IN_GGA(s(T49), 0, X133) → ACK27_IN_GA(T49, X133)
ACK38_IN_GGA(s(T54), s(T55), X151) → U6_GGA(T54, T55, X151, ack38_in_gga(s(T54), T55, X150))
ACK38_IN_GGA(s(T54), s(T55), X151) → ACK38_IN_GGA(s(T54), T55, X150)
ACK38_IN_GGA(s(T54), s(T55), X151) → U7_GGA(T54, T55, X151, ack38_in_gga(s(T54), T55, T57))
U7_GGA(T54, T55, X151, ack38_out_gga(s(T54), T55, T57)) → U8_GGA(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U7_GGA(T54, T55, X151, ack38_out_gga(s(T54), T55, T57)) → ACK38_IN_GAA(T54, T57, X151)
ACK1_IN_GGA(s(T84), s(s(T85)), T71) → U16_GGA(T84, T85, T71, ack38_in_gga(s(T84), T85, T87))
U16_GGA(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U17_GGA(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U16_GGA(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → ACK38_IN_GAA(T84, T87, X222)
U16_GGA(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U18_GGA(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_GGA(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_GGA(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U18_GGA(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → ACK1_IN_GAA(T84, T91, T71)

The TRS R consists of the following rules:

ack1_in_gga(0, T5, s(T5)) → ack1_out_gga(0, T5, s(T5))
ack1_in_gga(s(0), 0, s(s(0))) → ack1_out_gga(s(0), 0, s(s(0)))
ack1_in_gga(s(s(T20)), 0, T22) → U9_gga(T20, T22, ack21_in_ga(T20, X40))
ack21_in_ga(T30, X73) → U1_ga(T30, X73, ack27_in_ga(T30, X73))
ack27_in_ga(0, s(s(0))) → ack27_out_ga(0, s(s(0)))
ack27_in_ga(s(T34), X97) → U2_ga(T34, X97, ack21_in_ga(T34, X96))
U2_ga(T34, X97, ack21_out_ga(T34, X96)) → ack27_out_ga(s(T34), X97)
ack27_in_ga(s(T34), X97) → U3_ga(T34, X97, ack21_in_ga(T34, T36))
U3_ga(T34, X97, ack21_out_ga(T34, T36)) → U4_ga(T34, X97, ack38_in_gaa(T34, T36, X97))
ack38_in_gaa(0, T44, s(T44)) → ack38_out_gaa(0, T44, s(T44))
ack38_in_gaa(s(T49), 0, X133) → U5_gaa(T49, X133, ack27_in_ga(T49, X133))
U5_gaa(T49, X133, ack27_out_ga(T49, X133)) → ack38_out_gaa(s(T49), 0, X133)
ack38_in_gaa(s(T54), s(T55), X151) → U6_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, X150))
ack38_in_gaa(s(T54), s(T55), X151) → U7_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, T57))
U7_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, T57)) → U8_gaa(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U8_gaa(T54, T55, X151, ack38_out_gaa(T54, T57, X151)) → ack38_out_gaa(s(T54), s(T55), X151)
U6_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, X150)) → ack38_out_gaa(s(T54), s(T55), X151)
U4_ga(T34, X97, ack38_out_gaa(T34, T36, X97)) → ack27_out_ga(s(T34), X97)
U1_ga(T30, X73, ack27_out_ga(T30, X73)) → ack21_out_ga(T30, X73)
U9_gga(T20, T22, ack21_out_ga(T20, X40)) → ack1_out_gga(s(s(T20)), 0, T22)
ack1_in_gga(s(s(T20)), 0, T22) → U10_gga(T20, T22, ack21_in_ga(T20, T24))
U10_gga(T20, T22, ack21_out_ga(T20, T24)) → U11_gga(T20, T22, ack1_in_gaa(T20, T24, T22))
ack1_in_gaa(0, T5, s(T5)) → ack1_out_gaa(0, T5, s(T5))
ack1_in_gaa(s(0), 0, s(s(0))) → ack1_out_gaa(s(0), 0, s(s(0)))
ack1_in_gaa(s(s(T20)), 0, T22) → U9_gaa(T20, T22, ack21_in_ga(T20, X40))
U9_gaa(T20, T22, ack21_out_ga(T20, X40)) → ack1_out_gaa(s(s(T20)), 0, T22)
ack1_in_gaa(s(s(T20)), 0, T22) → U10_gaa(T20, T22, ack21_in_ga(T20, T24))
U10_gaa(T20, T22, ack21_out_ga(T20, T24)) → U11_gaa(T20, T22, ack1_in_gaa(T20, T24, T22))
ack1_in_gaa(s(T76), s(0), T71) → U12_gaa(T76, T71, ack27_in_ga(T76, X200))
U12_gaa(T76, T71, ack27_out_ga(T76, X200)) → ack1_out_gaa(s(T76), s(0), T71)
ack1_in_gaa(s(T76), s(0), T71) → U13_gaa(T76, T71, ack27_in_ga(T76, T77))
U13_gaa(T76, T71, ack27_out_ga(T76, T77)) → U14_gaa(T76, T71, ack1_in_gaa(T76, T77, T71))
ack1_in_gaa(s(T84), s(s(T85)), T71) → U15_gaa(T84, T85, T71, ack38_in_gaa(s(T84), T85, X221))
U15_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, X221)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
ack1_in_gaa(s(T84), s(s(T85)), T71) → U16_gaa(T84, T85, T71, ack38_in_gaa(s(T84), T85, T87))
U16_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U17_gaa(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U17_gaa(T84, T85, T71, ack38_out_gaa(T84, T87, X222)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
U16_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U18_gaa(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_gaa(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_gaa(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U19_gaa(T84, T85, T71, ack1_out_gaa(T84, T91, T71)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
U14_gaa(T76, T71, ack1_out_gaa(T76, T77, T71)) → ack1_out_gaa(s(T76), s(0), T71)
U11_gaa(T20, T22, ack1_out_gaa(T20, T24, T22)) → ack1_out_gaa(s(s(T20)), 0, T22)
U11_gga(T20, T22, ack1_out_gaa(T20, T24, T22)) → ack1_out_gga(s(s(T20)), 0, T22)
ack1_in_gga(s(T76), s(0), T71) → U12_gga(T76, T71, ack27_in_ga(T76, X200))
U12_gga(T76, T71, ack27_out_ga(T76, X200)) → ack1_out_gga(s(T76), s(0), T71)
ack1_in_gga(s(T76), s(0), T71) → U13_gga(T76, T71, ack27_in_ga(T76, T77))
U13_gga(T76, T71, ack27_out_ga(T76, T77)) → U14_gga(T76, T71, ack1_in_gaa(T76, T77, T71))
U14_gga(T76, T71, ack1_out_gaa(T76, T77, T71)) → ack1_out_gga(s(T76), s(0), T71)
ack1_in_gga(s(T84), s(s(T85)), T71) → U15_gga(T84, T85, T71, ack38_in_gga(s(T84), T85, X221))
ack38_in_gga(0, T44, s(T44)) → ack38_out_gga(0, T44, s(T44))
ack38_in_gga(s(T49), 0, X133) → U5_gga(T49, X133, ack27_in_ga(T49, X133))
U5_gga(T49, X133, ack27_out_ga(T49, X133)) → ack38_out_gga(s(T49), 0, X133)
ack38_in_gga(s(T54), s(T55), X151) → U6_gga(T54, T55, X151, ack38_in_gga(s(T54), T55, X150))
ack38_in_gga(s(T54), s(T55), X151) → U7_gga(T54, T55, X151, ack38_in_gga(s(T54), T55, T57))
U7_gga(T54, T55, X151, ack38_out_gga(s(T54), T55, T57)) → U8_gga(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U8_gga(T54, T55, X151, ack38_out_gaa(T54, T57, X151)) → ack38_out_gga(s(T54), s(T55), X151)
U6_gga(T54, T55, X151, ack38_out_gga(s(T54), T55, X150)) → ack38_out_gga(s(T54), s(T55), X151)
U15_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, X221)) → ack1_out_gga(s(T84), s(s(T85)), T71)
ack1_in_gga(s(T84), s(s(T85)), T71) → U16_gga(T84, T85, T71, ack38_in_gga(s(T84), T85, T87))
U16_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U17_gga(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U17_gga(T84, T85, T71, ack38_out_gaa(T84, T87, X222)) → ack1_out_gga(s(T84), s(s(T85)), T71)
U16_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U18_gga(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_gga(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_gga(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U19_gga(T84, T85, T71, ack1_out_gaa(T84, T91, T71)) → ack1_out_gga(s(T84), s(s(T85)), T71)

The argument filtering Pi contains the following mapping:
ack1_in_gga(x1, x2, x3)  =  ack1_in_gga(x1, x2)
0  =  0
ack1_out_gga(x1, x2, x3)  =  ack1_out_gga(x1, x2)
s(x1)  =  s(x1)
U9_gga(x1, x2, x3)  =  U9_gga(x1, x3)
ack21_in_ga(x1, x2)  =  ack21_in_ga(x1)
U1_ga(x1, x2, x3)  =  U1_ga(x1, x3)
ack27_in_ga(x1, x2)  =  ack27_in_ga(x1)
ack27_out_ga(x1, x2)  =  ack27_out_ga(x1)
U2_ga(x1, x2, x3)  =  U2_ga(x1, x3)
ack21_out_ga(x1, x2)  =  ack21_out_ga(x1)
U3_ga(x1, x2, x3)  =  U3_ga(x1, x3)
U4_ga(x1, x2, x3)  =  U4_ga(x1, x3)
ack38_in_gga(x1, x2, x3)  =  ack38_in_gga(x1, x2)
ack38_out_gga(x1, x2, x3)  =  ack38_out_gga(x1, x2)
U5_gga(x1, x2, x3)  =  U5_gga(x1, x3)
U6_gga(x1, x2, x3, x4)  =  U6_gga(x1, x2, x4)
U7_gga(x1, x2, x3, x4)  =  U7_gga(x1, x2, x4)
U8_gga(x1, x2, x3, x4)  =  U8_gga(x1, x2, x4)
ack38_in_gaa(x1, x2, x3)  =  ack38_in_gaa(x1)
ack38_out_gaa(x1, x2, x3)  =  ack38_out_gaa(x1)
U5_gaa(x1, x2, x3)  =  U5_gaa(x1, x3)
U6_gaa(x1, x2, x3, x4)  =  U6_gaa(x1, x4)
U7_gaa(x1, x2, x3, x4)  =  U7_gaa(x1, x4)
U8_gaa(x1, x2, x3, x4)  =  U8_gaa(x1, x4)
U10_gga(x1, x2, x3)  =  U10_gga(x1, x3)
U11_gga(x1, x2, x3)  =  U11_gga(x1, x3)
ack1_in_gaa(x1, x2, x3)  =  ack1_in_gaa(x1)
ack1_out_gaa(x1, x2, x3)  =  ack1_out_gaa(x1)
U9_gaa(x1, x2, x3)  =  U9_gaa(x1, x3)
U10_gaa(x1, x2, x3)  =  U10_gaa(x1, x3)
U11_gaa(x1, x2, x3)  =  U11_gaa(x1, x3)
U12_gaa(x1, x2, x3)  =  U12_gaa(x1, x3)
U13_gaa(x1, x2, x3)  =  U13_gaa(x1, x3)
U14_gaa(x1, x2, x3)  =  U14_gaa(x1, x3)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x1, x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x1, x4)
U17_gaa(x1, x2, x3, x4)  =  U17_gaa(x1, x4)
U18_gaa(x1, x2, x3, x4)  =  U18_gaa(x1, x4)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x1, x4)
U12_gga(x1, x2, x3)  =  U12_gga(x1, x3)
U13_gga(x1, x2, x3)  =  U13_gga(x1, x3)
U14_gga(x1, x2, x3)  =  U14_gga(x1, x3)
U15_gga(x1, x2, x3, x4)  =  U15_gga(x1, x2, x4)
U16_gga(x1, x2, x3, x4)  =  U16_gga(x1, x2, x4)
U17_gga(x1, x2, x3, x4)  =  U17_gga(x1, x2, x4)
U18_gga(x1, x2, x3, x4)  =  U18_gga(x1, x2, x4)
U19_gga(x1, x2, x3, x4)  =  U19_gga(x1, x2, x4)
ACK1_IN_GGA(x1, x2, x3)  =  ACK1_IN_GGA(x1, x2)
U9_GGA(x1, x2, x3)  =  U9_GGA(x1, x3)
ACK21_IN_GA(x1, x2)  =  ACK21_IN_GA(x1)
U1_GA(x1, x2, x3)  =  U1_GA(x1, x3)
ACK27_IN_GA(x1, x2)  =  ACK27_IN_GA(x1)
U2_GA(x1, x2, x3)  =  U2_GA(x1, x3)
U3_GA(x1, x2, x3)  =  U3_GA(x1, x3)
U4_GA(x1, x2, x3)  =  U4_GA(x1, x3)
ACK38_IN_GAA(x1, x2, x3)  =  ACK38_IN_GAA(x1)
U5_GAA(x1, x2, x3)  =  U5_GAA(x1, x3)
U6_GAA(x1, x2, x3, x4)  =  U6_GAA(x1, x4)
U7_GAA(x1, x2, x3, x4)  =  U7_GAA(x1, x4)
U8_GAA(x1, x2, x3, x4)  =  U8_GAA(x1, x4)
U10_GGA(x1, x2, x3)  =  U10_GGA(x1, x3)
U11_GGA(x1, x2, x3)  =  U11_GGA(x1, x3)
ACK1_IN_GAA(x1, x2, x3)  =  ACK1_IN_GAA(x1)
U9_GAA(x1, x2, x3)  =  U9_GAA(x1, x3)
U10_GAA(x1, x2, x3)  =  U10_GAA(x1, x3)
U11_GAA(x1, x2, x3)  =  U11_GAA(x1, x3)
U12_GAA(x1, x2, x3)  =  U12_GAA(x1, x3)
U13_GAA(x1, x2, x3)  =  U13_GAA(x1, x3)
U14_GAA(x1, x2, x3)  =  U14_GAA(x1, x3)
U15_GAA(x1, x2, x3, x4)  =  U15_GAA(x1, x4)
U16_GAA(x1, x2, x3, x4)  =  U16_GAA(x1, x4)
U17_GAA(x1, x2, x3, x4)  =  U17_GAA(x1, x4)
U18_GAA(x1, x2, x3, x4)  =  U18_GAA(x1, x4)
U19_GAA(x1, x2, x3, x4)  =  U19_GAA(x1, x4)
U12_GGA(x1, x2, x3)  =  U12_GGA(x1, x3)
U13_GGA(x1, x2, x3)  =  U13_GGA(x1, x3)
U14_GGA(x1, x2, x3)  =  U14_GGA(x1, x3)
U15_GGA(x1, x2, x3, x4)  =  U15_GGA(x1, x2, x4)
ACK38_IN_GGA(x1, x2, x3)  =  ACK38_IN_GGA(x1, x2)
U5_GGA(x1, x2, x3)  =  U5_GGA(x1, x3)
U6_GGA(x1, x2, x3, x4)  =  U6_GGA(x1, x2, x4)
U7_GGA(x1, x2, x3, x4)  =  U7_GGA(x1, x2, x4)
U8_GGA(x1, x2, x3, x4)  =  U8_GGA(x1, x2, x4)
U16_GGA(x1, x2, x3, x4)  =  U16_GGA(x1, x2, x4)
U17_GGA(x1, x2, x3, x4)  =  U17_GGA(x1, x2, x4)
U18_GGA(x1, x2, x3, x4)  =  U18_GGA(x1, x2, x4)
U19_GGA(x1, x2, x3, x4)  =  U19_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 3 SCCs with 41 less nodes.

(8) Complex Obligation (AND)

(9) Obligation:

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

ACK21_IN_GA(T30, X73) → ACK27_IN_GA(T30, X73)
ACK27_IN_GA(s(T34), X97) → ACK21_IN_GA(T34, X96)
ACK27_IN_GA(s(T34), X97) → U3_GA(T34, X97, ack21_in_ga(T34, T36))
U3_GA(T34, X97, ack21_out_ga(T34, T36)) → ACK38_IN_GAA(T34, T36, X97)
ACK38_IN_GAA(s(T49), 0, X133) → ACK27_IN_GA(T49, X133)
ACK38_IN_GAA(s(T54), s(T55), X151) → ACK38_IN_GAA(s(T54), T55, X150)
ACK38_IN_GAA(s(T54), s(T55), X151) → U7_GAA(T54, T55, X151, ack38_in_gaa(s(T54), T55, T57))
U7_GAA(T54, T55, X151, ack38_out_gaa(s(T54), T55, T57)) → ACK38_IN_GAA(T54, T57, X151)

The TRS R consists of the following rules:

ack1_in_gga(0, T5, s(T5)) → ack1_out_gga(0, T5, s(T5))
ack1_in_gga(s(0), 0, s(s(0))) → ack1_out_gga(s(0), 0, s(s(0)))
ack1_in_gga(s(s(T20)), 0, T22) → U9_gga(T20, T22, ack21_in_ga(T20, X40))
ack21_in_ga(T30, X73) → U1_ga(T30, X73, ack27_in_ga(T30, X73))
ack27_in_ga(0, s(s(0))) → ack27_out_ga(0, s(s(0)))
ack27_in_ga(s(T34), X97) → U2_ga(T34, X97, ack21_in_ga(T34, X96))
U2_ga(T34, X97, ack21_out_ga(T34, X96)) → ack27_out_ga(s(T34), X97)
ack27_in_ga(s(T34), X97) → U3_ga(T34, X97, ack21_in_ga(T34, T36))
U3_ga(T34, X97, ack21_out_ga(T34, T36)) → U4_ga(T34, X97, ack38_in_gaa(T34, T36, X97))
ack38_in_gaa(0, T44, s(T44)) → ack38_out_gaa(0, T44, s(T44))
ack38_in_gaa(s(T49), 0, X133) → U5_gaa(T49, X133, ack27_in_ga(T49, X133))
U5_gaa(T49, X133, ack27_out_ga(T49, X133)) → ack38_out_gaa(s(T49), 0, X133)
ack38_in_gaa(s(T54), s(T55), X151) → U6_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, X150))
ack38_in_gaa(s(T54), s(T55), X151) → U7_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, T57))
U7_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, T57)) → U8_gaa(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U8_gaa(T54, T55, X151, ack38_out_gaa(T54, T57, X151)) → ack38_out_gaa(s(T54), s(T55), X151)
U6_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, X150)) → ack38_out_gaa(s(T54), s(T55), X151)
U4_ga(T34, X97, ack38_out_gaa(T34, T36, X97)) → ack27_out_ga(s(T34), X97)
U1_ga(T30, X73, ack27_out_ga(T30, X73)) → ack21_out_ga(T30, X73)
U9_gga(T20, T22, ack21_out_ga(T20, X40)) → ack1_out_gga(s(s(T20)), 0, T22)
ack1_in_gga(s(s(T20)), 0, T22) → U10_gga(T20, T22, ack21_in_ga(T20, T24))
U10_gga(T20, T22, ack21_out_ga(T20, T24)) → U11_gga(T20, T22, ack1_in_gaa(T20, T24, T22))
ack1_in_gaa(0, T5, s(T5)) → ack1_out_gaa(0, T5, s(T5))
ack1_in_gaa(s(0), 0, s(s(0))) → ack1_out_gaa(s(0), 0, s(s(0)))
ack1_in_gaa(s(s(T20)), 0, T22) → U9_gaa(T20, T22, ack21_in_ga(T20, X40))
U9_gaa(T20, T22, ack21_out_ga(T20, X40)) → ack1_out_gaa(s(s(T20)), 0, T22)
ack1_in_gaa(s(s(T20)), 0, T22) → U10_gaa(T20, T22, ack21_in_ga(T20, T24))
U10_gaa(T20, T22, ack21_out_ga(T20, T24)) → U11_gaa(T20, T22, ack1_in_gaa(T20, T24, T22))
ack1_in_gaa(s(T76), s(0), T71) → U12_gaa(T76, T71, ack27_in_ga(T76, X200))
U12_gaa(T76, T71, ack27_out_ga(T76, X200)) → ack1_out_gaa(s(T76), s(0), T71)
ack1_in_gaa(s(T76), s(0), T71) → U13_gaa(T76, T71, ack27_in_ga(T76, T77))
U13_gaa(T76, T71, ack27_out_ga(T76, T77)) → U14_gaa(T76, T71, ack1_in_gaa(T76, T77, T71))
ack1_in_gaa(s(T84), s(s(T85)), T71) → U15_gaa(T84, T85, T71, ack38_in_gaa(s(T84), T85, X221))
U15_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, X221)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
ack1_in_gaa(s(T84), s(s(T85)), T71) → U16_gaa(T84, T85, T71, ack38_in_gaa(s(T84), T85, T87))
U16_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U17_gaa(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U17_gaa(T84, T85, T71, ack38_out_gaa(T84, T87, X222)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
U16_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U18_gaa(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_gaa(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_gaa(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U19_gaa(T84, T85, T71, ack1_out_gaa(T84, T91, T71)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
U14_gaa(T76, T71, ack1_out_gaa(T76, T77, T71)) → ack1_out_gaa(s(T76), s(0), T71)
U11_gaa(T20, T22, ack1_out_gaa(T20, T24, T22)) → ack1_out_gaa(s(s(T20)), 0, T22)
U11_gga(T20, T22, ack1_out_gaa(T20, T24, T22)) → ack1_out_gga(s(s(T20)), 0, T22)
ack1_in_gga(s(T76), s(0), T71) → U12_gga(T76, T71, ack27_in_ga(T76, X200))
U12_gga(T76, T71, ack27_out_ga(T76, X200)) → ack1_out_gga(s(T76), s(0), T71)
ack1_in_gga(s(T76), s(0), T71) → U13_gga(T76, T71, ack27_in_ga(T76, T77))
U13_gga(T76, T71, ack27_out_ga(T76, T77)) → U14_gga(T76, T71, ack1_in_gaa(T76, T77, T71))
U14_gga(T76, T71, ack1_out_gaa(T76, T77, T71)) → ack1_out_gga(s(T76), s(0), T71)
ack1_in_gga(s(T84), s(s(T85)), T71) → U15_gga(T84, T85, T71, ack38_in_gga(s(T84), T85, X221))
ack38_in_gga(0, T44, s(T44)) → ack38_out_gga(0, T44, s(T44))
ack38_in_gga(s(T49), 0, X133) → U5_gga(T49, X133, ack27_in_ga(T49, X133))
U5_gga(T49, X133, ack27_out_ga(T49, X133)) → ack38_out_gga(s(T49), 0, X133)
ack38_in_gga(s(T54), s(T55), X151) → U6_gga(T54, T55, X151, ack38_in_gga(s(T54), T55, X150))
ack38_in_gga(s(T54), s(T55), X151) → U7_gga(T54, T55, X151, ack38_in_gga(s(T54), T55, T57))
U7_gga(T54, T55, X151, ack38_out_gga(s(T54), T55, T57)) → U8_gga(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U8_gga(T54, T55, X151, ack38_out_gaa(T54, T57, X151)) → ack38_out_gga(s(T54), s(T55), X151)
U6_gga(T54, T55, X151, ack38_out_gga(s(T54), T55, X150)) → ack38_out_gga(s(T54), s(T55), X151)
U15_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, X221)) → ack1_out_gga(s(T84), s(s(T85)), T71)
ack1_in_gga(s(T84), s(s(T85)), T71) → U16_gga(T84, T85, T71, ack38_in_gga(s(T84), T85, T87))
U16_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U17_gga(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U17_gga(T84, T85, T71, ack38_out_gaa(T84, T87, X222)) → ack1_out_gga(s(T84), s(s(T85)), T71)
U16_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U18_gga(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_gga(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_gga(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U19_gga(T84, T85, T71, ack1_out_gaa(T84, T91, T71)) → ack1_out_gga(s(T84), s(s(T85)), T71)

The argument filtering Pi contains the following mapping:
ack1_in_gga(x1, x2, x3)  =  ack1_in_gga(x1, x2)
0  =  0
ack1_out_gga(x1, x2, x3)  =  ack1_out_gga(x1, x2)
s(x1)  =  s(x1)
U9_gga(x1, x2, x3)  =  U9_gga(x1, x3)
ack21_in_ga(x1, x2)  =  ack21_in_ga(x1)
U1_ga(x1, x2, x3)  =  U1_ga(x1, x3)
ack27_in_ga(x1, x2)  =  ack27_in_ga(x1)
ack27_out_ga(x1, x2)  =  ack27_out_ga(x1)
U2_ga(x1, x2, x3)  =  U2_ga(x1, x3)
ack21_out_ga(x1, x2)  =  ack21_out_ga(x1)
U3_ga(x1, x2, x3)  =  U3_ga(x1, x3)
U4_ga(x1, x2, x3)  =  U4_ga(x1, x3)
ack38_in_gga(x1, x2, x3)  =  ack38_in_gga(x1, x2)
ack38_out_gga(x1, x2, x3)  =  ack38_out_gga(x1, x2)
U5_gga(x1, x2, x3)  =  U5_gga(x1, x3)
U6_gga(x1, x2, x3, x4)  =  U6_gga(x1, x2, x4)
U7_gga(x1, x2, x3, x4)  =  U7_gga(x1, x2, x4)
U8_gga(x1, x2, x3, x4)  =  U8_gga(x1, x2, x4)
ack38_in_gaa(x1, x2, x3)  =  ack38_in_gaa(x1)
ack38_out_gaa(x1, x2, x3)  =  ack38_out_gaa(x1)
U5_gaa(x1, x2, x3)  =  U5_gaa(x1, x3)
U6_gaa(x1, x2, x3, x4)  =  U6_gaa(x1, x4)
U7_gaa(x1, x2, x3, x4)  =  U7_gaa(x1, x4)
U8_gaa(x1, x2, x3, x4)  =  U8_gaa(x1, x4)
U10_gga(x1, x2, x3)  =  U10_gga(x1, x3)
U11_gga(x1, x2, x3)  =  U11_gga(x1, x3)
ack1_in_gaa(x1, x2, x3)  =  ack1_in_gaa(x1)
ack1_out_gaa(x1, x2, x3)  =  ack1_out_gaa(x1)
U9_gaa(x1, x2, x3)  =  U9_gaa(x1, x3)
U10_gaa(x1, x2, x3)  =  U10_gaa(x1, x3)
U11_gaa(x1, x2, x3)  =  U11_gaa(x1, x3)
U12_gaa(x1, x2, x3)  =  U12_gaa(x1, x3)
U13_gaa(x1, x2, x3)  =  U13_gaa(x1, x3)
U14_gaa(x1, x2, x3)  =  U14_gaa(x1, x3)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x1, x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x1, x4)
U17_gaa(x1, x2, x3, x4)  =  U17_gaa(x1, x4)
U18_gaa(x1, x2, x3, x4)  =  U18_gaa(x1, x4)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x1, x4)
U12_gga(x1, x2, x3)  =  U12_gga(x1, x3)
U13_gga(x1, x2, x3)  =  U13_gga(x1, x3)
U14_gga(x1, x2, x3)  =  U14_gga(x1, x3)
U15_gga(x1, x2, x3, x4)  =  U15_gga(x1, x2, x4)
U16_gga(x1, x2, x3, x4)  =  U16_gga(x1, x2, x4)
U17_gga(x1, x2, x3, x4)  =  U17_gga(x1, x2, x4)
U18_gga(x1, x2, x3, x4)  =  U18_gga(x1, x2, x4)
U19_gga(x1, x2, x3, x4)  =  U19_gga(x1, x2, x4)
ACK21_IN_GA(x1, x2)  =  ACK21_IN_GA(x1)
ACK27_IN_GA(x1, x2)  =  ACK27_IN_GA(x1)
U3_GA(x1, x2, x3)  =  U3_GA(x1, x3)
ACK38_IN_GAA(x1, x2, x3)  =  ACK38_IN_GAA(x1)
U7_GAA(x1, x2, x3, x4)  =  U7_GAA(x1, x4)

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:

ACK21_IN_GA(T30, X73) → ACK27_IN_GA(T30, X73)
ACK27_IN_GA(s(T34), X97) → ACK21_IN_GA(T34, X96)
ACK27_IN_GA(s(T34), X97) → U3_GA(T34, X97, ack21_in_ga(T34, T36))
U3_GA(T34, X97, ack21_out_ga(T34, T36)) → ACK38_IN_GAA(T34, T36, X97)
ACK38_IN_GAA(s(T49), 0, X133) → ACK27_IN_GA(T49, X133)
ACK38_IN_GAA(s(T54), s(T55), X151) → ACK38_IN_GAA(s(T54), T55, X150)
ACK38_IN_GAA(s(T54), s(T55), X151) → U7_GAA(T54, T55, X151, ack38_in_gaa(s(T54), T55, T57))
U7_GAA(T54, T55, X151, ack38_out_gaa(s(T54), T55, T57)) → ACK38_IN_GAA(T54, T57, X151)

The TRS R consists of the following rules:

ack21_in_ga(T30, X73) → U1_ga(T30, X73, ack27_in_ga(T30, X73))
ack38_in_gaa(s(T49), 0, X133) → U5_gaa(T49, X133, ack27_in_ga(T49, X133))
ack38_in_gaa(s(T54), s(T55), X151) → U6_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, X150))
ack38_in_gaa(s(T54), s(T55), X151) → U7_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, T57))
U1_ga(T30, X73, ack27_out_ga(T30, X73)) → ack21_out_ga(T30, X73)
U5_gaa(T49, X133, ack27_out_ga(T49, X133)) → ack38_out_gaa(s(T49), 0, X133)
U6_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, X150)) → ack38_out_gaa(s(T54), s(T55), X151)
U7_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, T57)) → U8_gaa(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
ack27_in_ga(0, s(s(0))) → ack27_out_ga(0, s(s(0)))
ack27_in_ga(s(T34), X97) → U2_ga(T34, X97, ack21_in_ga(T34, X96))
ack27_in_ga(s(T34), X97) → U3_ga(T34, X97, ack21_in_ga(T34, T36))
U8_gaa(T54, T55, X151, ack38_out_gaa(T54, T57, X151)) → ack38_out_gaa(s(T54), s(T55), X151)
U2_ga(T34, X97, ack21_out_ga(T34, X96)) → ack27_out_ga(s(T34), X97)
U3_ga(T34, X97, ack21_out_ga(T34, T36)) → U4_ga(T34, X97, ack38_in_gaa(T34, T36, X97))
ack38_in_gaa(0, T44, s(T44)) → ack38_out_gaa(0, T44, s(T44))
U4_ga(T34, X97, ack38_out_gaa(T34, T36, X97)) → ack27_out_ga(s(T34), X97)

The argument filtering Pi contains the following mapping:
0  =  0
s(x1)  =  s(x1)
ack21_in_ga(x1, x2)  =  ack21_in_ga(x1)
U1_ga(x1, x2, x3)  =  U1_ga(x1, x3)
ack27_in_ga(x1, x2)  =  ack27_in_ga(x1)
ack27_out_ga(x1, x2)  =  ack27_out_ga(x1)
U2_ga(x1, x2, x3)  =  U2_ga(x1, x3)
ack21_out_ga(x1, x2)  =  ack21_out_ga(x1)
U3_ga(x1, x2, x3)  =  U3_ga(x1, x3)
U4_ga(x1, x2, x3)  =  U4_ga(x1, x3)
ack38_in_gaa(x1, x2, x3)  =  ack38_in_gaa(x1)
ack38_out_gaa(x1, x2, x3)  =  ack38_out_gaa(x1)
U5_gaa(x1, x2, x3)  =  U5_gaa(x1, x3)
U6_gaa(x1, x2, x3, x4)  =  U6_gaa(x1, x4)
U7_gaa(x1, x2, x3, x4)  =  U7_gaa(x1, x4)
U8_gaa(x1, x2, x3, x4)  =  U8_gaa(x1, x4)
ACK21_IN_GA(x1, x2)  =  ACK21_IN_GA(x1)
ACK27_IN_GA(x1, x2)  =  ACK27_IN_GA(x1)
U3_GA(x1, x2, x3)  =  U3_GA(x1, x3)
ACK38_IN_GAA(x1, x2, x3)  =  ACK38_IN_GAA(x1)
U7_GAA(x1, x2, x3, x4)  =  U7_GAA(x1, x4)

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:

ACK21_IN_GA(T30) → ACK27_IN_GA(T30)
ACK27_IN_GA(s(T34)) → ACK21_IN_GA(T34)
ACK27_IN_GA(s(T34)) → U3_GA(T34, ack21_in_ga(T34))
U3_GA(T34, ack21_out_ga(T34)) → ACK38_IN_GAA(T34)
ACK38_IN_GAA(s(T49)) → ACK27_IN_GA(T49)
ACK38_IN_GAA(s(T54)) → ACK38_IN_GAA(s(T54))
ACK38_IN_GAA(s(T54)) → U7_GAA(T54, ack38_in_gaa(s(T54)))
U7_GAA(T54, ack38_out_gaa(s(T54))) → ACK38_IN_GAA(T54)

The TRS R consists of the following rules:

ack21_in_ga(T30) → U1_ga(T30, ack27_in_ga(T30))
ack38_in_gaa(s(T49)) → U5_gaa(T49, ack27_in_ga(T49))
ack38_in_gaa(s(T54)) → U6_gaa(T54, ack38_in_gaa(s(T54)))
ack38_in_gaa(s(T54)) → U7_gaa(T54, ack38_in_gaa(s(T54)))
U1_ga(T30, ack27_out_ga(T30)) → ack21_out_ga(T30)
U5_gaa(T49, ack27_out_ga(T49)) → ack38_out_gaa(s(T49))
U6_gaa(T54, ack38_out_gaa(s(T54))) → ack38_out_gaa(s(T54))
U7_gaa(T54, ack38_out_gaa(s(T54))) → U8_gaa(T54, ack38_in_gaa(T54))
ack27_in_ga(0) → ack27_out_ga(0)
ack27_in_ga(s(T34)) → U2_ga(T34, ack21_in_ga(T34))
ack27_in_ga(s(T34)) → U3_ga(T34, ack21_in_ga(T34))
U8_gaa(T54, ack38_out_gaa(T54)) → ack38_out_gaa(s(T54))
U2_ga(T34, ack21_out_ga(T34)) → ack27_out_ga(s(T34))
U3_ga(T34, ack21_out_ga(T34)) → U4_ga(T34, ack38_in_gaa(T34))
ack38_in_gaa(0) → ack38_out_gaa(0)
U4_ga(T34, ack38_out_gaa(T34)) → ack27_out_ga(s(T34))

The set Q consists of the following terms:

ack21_in_ga(x0)
ack38_in_gaa(x0)
U1_ga(x0, x1)
U5_gaa(x0, x1)
U6_gaa(x0, x1)
U7_gaa(x0, x1)
ack27_in_ga(x0)
U8_gaa(x0, x1)
U2_ga(x0, x1)
U3_ga(x0, x1)
U4_ga(x0, x1)

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

(14) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


ACK27_IN_GA(s(T34)) → ACK21_IN_GA(T34)
U3_GA(T34, ack21_out_ga(T34)) → ACK38_IN_GAA(T34)
ACK38_IN_GAA(s(T49)) → ACK27_IN_GA(T49)
U7_GAA(T54, ack38_out_gaa(s(T54))) → ACK38_IN_GAA(T54)
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(0) = 1   
POL(ACK21_IN_GA(x1)) = x1   
POL(ACK27_IN_GA(x1)) = x1   
POL(ACK38_IN_GAA(x1)) = x1   
POL(U1_ga(x1, x2)) = 0   
POL(U2_ga(x1, x2)) = 0   
POL(U3_GA(x1, x2)) = 1 + x1   
POL(U3_ga(x1, x2)) = 0   
POL(U4_ga(x1, x2)) = 0   
POL(U5_gaa(x1, x2)) = 0   
POL(U6_gaa(x1, x2)) = 0   
POL(U7_GAA(x1, x2)) = 1 + x1   
POL(U7_gaa(x1, x2)) = 0   
POL(U8_gaa(x1, x2)) = 0   
POL(ack21_in_ga(x1)) = 0   
POL(ack21_out_ga(x1)) = 0   
POL(ack27_in_ga(x1)) = 1 + x1   
POL(ack27_out_ga(x1)) = 1   
POL(ack38_in_gaa(x1)) = 1 + x1   
POL(ack38_out_gaa(x1)) = 1   
POL(s(x1)) = 1 + x1   

The following usable rules [FROCOS05] were oriented: none

(15) Obligation:

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

ACK21_IN_GA(T30) → ACK27_IN_GA(T30)
ACK27_IN_GA(s(T34)) → U3_GA(T34, ack21_in_ga(T34))
ACK38_IN_GAA(s(T54)) → ACK38_IN_GAA(s(T54))
ACK38_IN_GAA(s(T54)) → U7_GAA(T54, ack38_in_gaa(s(T54)))

The TRS R consists of the following rules:

ack21_in_ga(T30) → U1_ga(T30, ack27_in_ga(T30))
ack38_in_gaa(s(T49)) → U5_gaa(T49, ack27_in_ga(T49))
ack38_in_gaa(s(T54)) → U6_gaa(T54, ack38_in_gaa(s(T54)))
ack38_in_gaa(s(T54)) → U7_gaa(T54, ack38_in_gaa(s(T54)))
U1_ga(T30, ack27_out_ga(T30)) → ack21_out_ga(T30)
U5_gaa(T49, ack27_out_ga(T49)) → ack38_out_gaa(s(T49))
U6_gaa(T54, ack38_out_gaa(s(T54))) → ack38_out_gaa(s(T54))
U7_gaa(T54, ack38_out_gaa(s(T54))) → U8_gaa(T54, ack38_in_gaa(T54))
ack27_in_ga(0) → ack27_out_ga(0)
ack27_in_ga(s(T34)) → U2_ga(T34, ack21_in_ga(T34))
ack27_in_ga(s(T34)) → U3_ga(T34, ack21_in_ga(T34))
U8_gaa(T54, ack38_out_gaa(T54)) → ack38_out_gaa(s(T54))
U2_ga(T34, ack21_out_ga(T34)) → ack27_out_ga(s(T34))
U3_ga(T34, ack21_out_ga(T34)) → U4_ga(T34, ack38_in_gaa(T34))
ack38_in_gaa(0) → ack38_out_gaa(0)
U4_ga(T34, ack38_out_gaa(T34)) → ack27_out_ga(s(T34))

The set Q consists of the following terms:

ack21_in_ga(x0)
ack38_in_gaa(x0)
U1_ga(x0, x1)
U5_gaa(x0, x1)
U6_gaa(x0, x1)
U7_gaa(x0, x1)
ack27_in_ga(x0)
U8_gaa(x0, x1)
U2_ga(x0, x1)
U3_ga(x0, x1)
U4_ga(x0, x1)

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

(16) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes.

(17) Obligation:

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

ACK38_IN_GAA(s(T54)) → ACK38_IN_GAA(s(T54))

The TRS R consists of the following rules:

ack21_in_ga(T30) → U1_ga(T30, ack27_in_ga(T30))
ack38_in_gaa(s(T49)) → U5_gaa(T49, ack27_in_ga(T49))
ack38_in_gaa(s(T54)) → U6_gaa(T54, ack38_in_gaa(s(T54)))
ack38_in_gaa(s(T54)) → U7_gaa(T54, ack38_in_gaa(s(T54)))
U1_ga(T30, ack27_out_ga(T30)) → ack21_out_ga(T30)
U5_gaa(T49, ack27_out_ga(T49)) → ack38_out_gaa(s(T49))
U6_gaa(T54, ack38_out_gaa(s(T54))) → ack38_out_gaa(s(T54))
U7_gaa(T54, ack38_out_gaa(s(T54))) → U8_gaa(T54, ack38_in_gaa(T54))
ack27_in_ga(0) → ack27_out_ga(0)
ack27_in_ga(s(T34)) → U2_ga(T34, ack21_in_ga(T34))
ack27_in_ga(s(T34)) → U3_ga(T34, ack21_in_ga(T34))
U8_gaa(T54, ack38_out_gaa(T54)) → ack38_out_gaa(s(T54))
U2_ga(T34, ack21_out_ga(T34)) → ack27_out_ga(s(T34))
U3_ga(T34, ack21_out_ga(T34)) → U4_ga(T34, ack38_in_gaa(T34))
ack38_in_gaa(0) → ack38_out_gaa(0)
U4_ga(T34, ack38_out_gaa(T34)) → ack27_out_ga(s(T34))

The set Q consists of the following terms:

ack21_in_ga(x0)
ack38_in_gaa(x0)
U1_ga(x0, x1)
U5_gaa(x0, x1)
U6_gaa(x0, x1)
U7_gaa(x0, x1)
ack27_in_ga(x0)
U8_gaa(x0, x1)
U2_ga(x0, x1)
U3_ga(x0, x1)
U4_ga(x0, x1)

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

(18) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(19) Obligation:

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

ACK38_IN_GAA(s(T54)) → ACK38_IN_GAA(s(T54))

R is empty.
The set Q consists of the following terms:

ack21_in_ga(x0)
ack38_in_gaa(x0)
U1_ga(x0, x1)
U5_gaa(x0, x1)
U6_gaa(x0, x1)
U7_gaa(x0, x1)
ack27_in_ga(x0)
U8_gaa(x0, x1)
U2_ga(x0, x1)
U3_ga(x0, x1)
U4_ga(x0, x1)

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

(20) QReductionProof (EQUIVALENT transformation)

We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].

ack21_in_ga(x0)
ack38_in_gaa(x0)
U1_ga(x0, x1)
U5_gaa(x0, x1)
U6_gaa(x0, x1)
U7_gaa(x0, x1)
ack27_in_ga(x0)
U8_gaa(x0, x1)
U2_ga(x0, x1)
U3_ga(x0, x1)
U4_ga(x0, x1)

(21) Obligation:

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

ACK38_IN_GAA(s(T54)) → ACK38_IN_GAA(s(T54))

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

(22) NonTerminationProof (EQUIVALENT transformation)

We used the non-termination processor [FROCOS05] to show that the DP problem is infinite.
Found a loop by semiunifying a rule from P directly.

s = ACK38_IN_GAA(s(T54)) evaluates to t =ACK38_IN_GAA(s(T54))

Thus s starts an infinite chain as s semiunifies with t with the following substitutions:
  • Semiunifier: [ ]
  • Matcher: [ ]




Rewriting sequence

The DP semiunifies directly so there is only one rewrite step from ACK38_IN_GAA(s(T54)) to ACK38_IN_GAA(s(T54)).



(23) NO

(24) Obligation:

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

ACK38_IN_GGA(s(T54), s(T55), X151) → ACK38_IN_GGA(s(T54), T55, X150)

The TRS R consists of the following rules:

ack1_in_gga(0, T5, s(T5)) → ack1_out_gga(0, T5, s(T5))
ack1_in_gga(s(0), 0, s(s(0))) → ack1_out_gga(s(0), 0, s(s(0)))
ack1_in_gga(s(s(T20)), 0, T22) → U9_gga(T20, T22, ack21_in_ga(T20, X40))
ack21_in_ga(T30, X73) → U1_ga(T30, X73, ack27_in_ga(T30, X73))
ack27_in_ga(0, s(s(0))) → ack27_out_ga(0, s(s(0)))
ack27_in_ga(s(T34), X97) → U2_ga(T34, X97, ack21_in_ga(T34, X96))
U2_ga(T34, X97, ack21_out_ga(T34, X96)) → ack27_out_ga(s(T34), X97)
ack27_in_ga(s(T34), X97) → U3_ga(T34, X97, ack21_in_ga(T34, T36))
U3_ga(T34, X97, ack21_out_ga(T34, T36)) → U4_ga(T34, X97, ack38_in_gaa(T34, T36, X97))
ack38_in_gaa(0, T44, s(T44)) → ack38_out_gaa(0, T44, s(T44))
ack38_in_gaa(s(T49), 0, X133) → U5_gaa(T49, X133, ack27_in_ga(T49, X133))
U5_gaa(T49, X133, ack27_out_ga(T49, X133)) → ack38_out_gaa(s(T49), 0, X133)
ack38_in_gaa(s(T54), s(T55), X151) → U6_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, X150))
ack38_in_gaa(s(T54), s(T55), X151) → U7_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, T57))
U7_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, T57)) → U8_gaa(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U8_gaa(T54, T55, X151, ack38_out_gaa(T54, T57, X151)) → ack38_out_gaa(s(T54), s(T55), X151)
U6_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, X150)) → ack38_out_gaa(s(T54), s(T55), X151)
U4_ga(T34, X97, ack38_out_gaa(T34, T36, X97)) → ack27_out_ga(s(T34), X97)
U1_ga(T30, X73, ack27_out_ga(T30, X73)) → ack21_out_ga(T30, X73)
U9_gga(T20, T22, ack21_out_ga(T20, X40)) → ack1_out_gga(s(s(T20)), 0, T22)
ack1_in_gga(s(s(T20)), 0, T22) → U10_gga(T20, T22, ack21_in_ga(T20, T24))
U10_gga(T20, T22, ack21_out_ga(T20, T24)) → U11_gga(T20, T22, ack1_in_gaa(T20, T24, T22))
ack1_in_gaa(0, T5, s(T5)) → ack1_out_gaa(0, T5, s(T5))
ack1_in_gaa(s(0), 0, s(s(0))) → ack1_out_gaa(s(0), 0, s(s(0)))
ack1_in_gaa(s(s(T20)), 0, T22) → U9_gaa(T20, T22, ack21_in_ga(T20, X40))
U9_gaa(T20, T22, ack21_out_ga(T20, X40)) → ack1_out_gaa(s(s(T20)), 0, T22)
ack1_in_gaa(s(s(T20)), 0, T22) → U10_gaa(T20, T22, ack21_in_ga(T20, T24))
U10_gaa(T20, T22, ack21_out_ga(T20, T24)) → U11_gaa(T20, T22, ack1_in_gaa(T20, T24, T22))
ack1_in_gaa(s(T76), s(0), T71) → U12_gaa(T76, T71, ack27_in_ga(T76, X200))
U12_gaa(T76, T71, ack27_out_ga(T76, X200)) → ack1_out_gaa(s(T76), s(0), T71)
ack1_in_gaa(s(T76), s(0), T71) → U13_gaa(T76, T71, ack27_in_ga(T76, T77))
U13_gaa(T76, T71, ack27_out_ga(T76, T77)) → U14_gaa(T76, T71, ack1_in_gaa(T76, T77, T71))
ack1_in_gaa(s(T84), s(s(T85)), T71) → U15_gaa(T84, T85, T71, ack38_in_gaa(s(T84), T85, X221))
U15_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, X221)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
ack1_in_gaa(s(T84), s(s(T85)), T71) → U16_gaa(T84, T85, T71, ack38_in_gaa(s(T84), T85, T87))
U16_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U17_gaa(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U17_gaa(T84, T85, T71, ack38_out_gaa(T84, T87, X222)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
U16_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U18_gaa(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_gaa(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_gaa(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U19_gaa(T84, T85, T71, ack1_out_gaa(T84, T91, T71)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
U14_gaa(T76, T71, ack1_out_gaa(T76, T77, T71)) → ack1_out_gaa(s(T76), s(0), T71)
U11_gaa(T20, T22, ack1_out_gaa(T20, T24, T22)) → ack1_out_gaa(s(s(T20)), 0, T22)
U11_gga(T20, T22, ack1_out_gaa(T20, T24, T22)) → ack1_out_gga(s(s(T20)), 0, T22)
ack1_in_gga(s(T76), s(0), T71) → U12_gga(T76, T71, ack27_in_ga(T76, X200))
U12_gga(T76, T71, ack27_out_ga(T76, X200)) → ack1_out_gga(s(T76), s(0), T71)
ack1_in_gga(s(T76), s(0), T71) → U13_gga(T76, T71, ack27_in_ga(T76, T77))
U13_gga(T76, T71, ack27_out_ga(T76, T77)) → U14_gga(T76, T71, ack1_in_gaa(T76, T77, T71))
U14_gga(T76, T71, ack1_out_gaa(T76, T77, T71)) → ack1_out_gga(s(T76), s(0), T71)
ack1_in_gga(s(T84), s(s(T85)), T71) → U15_gga(T84, T85, T71, ack38_in_gga(s(T84), T85, X221))
ack38_in_gga(0, T44, s(T44)) → ack38_out_gga(0, T44, s(T44))
ack38_in_gga(s(T49), 0, X133) → U5_gga(T49, X133, ack27_in_ga(T49, X133))
U5_gga(T49, X133, ack27_out_ga(T49, X133)) → ack38_out_gga(s(T49), 0, X133)
ack38_in_gga(s(T54), s(T55), X151) → U6_gga(T54, T55, X151, ack38_in_gga(s(T54), T55, X150))
ack38_in_gga(s(T54), s(T55), X151) → U7_gga(T54, T55, X151, ack38_in_gga(s(T54), T55, T57))
U7_gga(T54, T55, X151, ack38_out_gga(s(T54), T55, T57)) → U8_gga(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U8_gga(T54, T55, X151, ack38_out_gaa(T54, T57, X151)) → ack38_out_gga(s(T54), s(T55), X151)
U6_gga(T54, T55, X151, ack38_out_gga(s(T54), T55, X150)) → ack38_out_gga(s(T54), s(T55), X151)
U15_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, X221)) → ack1_out_gga(s(T84), s(s(T85)), T71)
ack1_in_gga(s(T84), s(s(T85)), T71) → U16_gga(T84, T85, T71, ack38_in_gga(s(T84), T85, T87))
U16_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U17_gga(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U17_gga(T84, T85, T71, ack38_out_gaa(T84, T87, X222)) → ack1_out_gga(s(T84), s(s(T85)), T71)
U16_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U18_gga(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_gga(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_gga(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U19_gga(T84, T85, T71, ack1_out_gaa(T84, T91, T71)) → ack1_out_gga(s(T84), s(s(T85)), T71)

The argument filtering Pi contains the following mapping:
ack1_in_gga(x1, x2, x3)  =  ack1_in_gga(x1, x2)
0  =  0
ack1_out_gga(x1, x2, x3)  =  ack1_out_gga(x1, x2)
s(x1)  =  s(x1)
U9_gga(x1, x2, x3)  =  U9_gga(x1, x3)
ack21_in_ga(x1, x2)  =  ack21_in_ga(x1)
U1_ga(x1, x2, x3)  =  U1_ga(x1, x3)
ack27_in_ga(x1, x2)  =  ack27_in_ga(x1)
ack27_out_ga(x1, x2)  =  ack27_out_ga(x1)
U2_ga(x1, x2, x3)  =  U2_ga(x1, x3)
ack21_out_ga(x1, x2)  =  ack21_out_ga(x1)
U3_ga(x1, x2, x3)  =  U3_ga(x1, x3)
U4_ga(x1, x2, x3)  =  U4_ga(x1, x3)
ack38_in_gga(x1, x2, x3)  =  ack38_in_gga(x1, x2)
ack38_out_gga(x1, x2, x3)  =  ack38_out_gga(x1, x2)
U5_gga(x1, x2, x3)  =  U5_gga(x1, x3)
U6_gga(x1, x2, x3, x4)  =  U6_gga(x1, x2, x4)
U7_gga(x1, x2, x3, x4)  =  U7_gga(x1, x2, x4)
U8_gga(x1, x2, x3, x4)  =  U8_gga(x1, x2, x4)
ack38_in_gaa(x1, x2, x3)  =  ack38_in_gaa(x1)
ack38_out_gaa(x1, x2, x3)  =  ack38_out_gaa(x1)
U5_gaa(x1, x2, x3)  =  U5_gaa(x1, x3)
U6_gaa(x1, x2, x3, x4)  =  U6_gaa(x1, x4)
U7_gaa(x1, x2, x3, x4)  =  U7_gaa(x1, x4)
U8_gaa(x1, x2, x3, x4)  =  U8_gaa(x1, x4)
U10_gga(x1, x2, x3)  =  U10_gga(x1, x3)
U11_gga(x1, x2, x3)  =  U11_gga(x1, x3)
ack1_in_gaa(x1, x2, x3)  =  ack1_in_gaa(x1)
ack1_out_gaa(x1, x2, x3)  =  ack1_out_gaa(x1)
U9_gaa(x1, x2, x3)  =  U9_gaa(x1, x3)
U10_gaa(x1, x2, x3)  =  U10_gaa(x1, x3)
U11_gaa(x1, x2, x3)  =  U11_gaa(x1, x3)
U12_gaa(x1, x2, x3)  =  U12_gaa(x1, x3)
U13_gaa(x1, x2, x3)  =  U13_gaa(x1, x3)
U14_gaa(x1, x2, x3)  =  U14_gaa(x1, x3)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x1, x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x1, x4)
U17_gaa(x1, x2, x3, x4)  =  U17_gaa(x1, x4)
U18_gaa(x1, x2, x3, x4)  =  U18_gaa(x1, x4)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x1, x4)
U12_gga(x1, x2, x3)  =  U12_gga(x1, x3)
U13_gga(x1, x2, x3)  =  U13_gga(x1, x3)
U14_gga(x1, x2, x3)  =  U14_gga(x1, x3)
U15_gga(x1, x2, x3, x4)  =  U15_gga(x1, x2, x4)
U16_gga(x1, x2, x3, x4)  =  U16_gga(x1, x2, x4)
U17_gga(x1, x2, x3, x4)  =  U17_gga(x1, x2, x4)
U18_gga(x1, x2, x3, x4)  =  U18_gga(x1, x2, x4)
U19_gga(x1, x2, x3, x4)  =  U19_gga(x1, x2, x4)
ACK38_IN_GGA(x1, x2, x3)  =  ACK38_IN_GGA(x1, x2)

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

(25) UsableRulesProof (EQUIVALENT transformation)

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

(26) Obligation:

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

ACK38_IN_GGA(s(T54), s(T55), X151) → ACK38_IN_GGA(s(T54), T55, X150)

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

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

(27) PiDPToQDPProof (SOUND transformation)

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:

ACK38_IN_GGA(s(T54), s(T55)) → ACK38_IN_GGA(s(T54), T55)

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

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

  • ACK38_IN_GGA(s(T54), s(T55)) → ACK38_IN_GGA(s(T54), T55)
    The graph contains the following edges 1 >= 1, 2 > 2

(30) YES

(31) Obligation:

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

ACK1_IN_GAA(s(s(T20)), 0, T22) → U10_GAA(T20, T22, ack21_in_ga(T20, T24))
U10_GAA(T20, T22, ack21_out_ga(T20, T24)) → ACK1_IN_GAA(T20, T24, T22)
ACK1_IN_GAA(s(T76), s(0), T71) → U13_GAA(T76, T71, ack27_in_ga(T76, T77))
U13_GAA(T76, T71, ack27_out_ga(T76, T77)) → ACK1_IN_GAA(T76, T77, T71)
ACK1_IN_GAA(s(T84), s(s(T85)), T71) → U16_GAA(T84, T85, T71, ack38_in_gaa(s(T84), T85, T87))
U16_GAA(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U18_GAA(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_GAA(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → ACK1_IN_GAA(T84, T91, T71)

The TRS R consists of the following rules:

ack1_in_gga(0, T5, s(T5)) → ack1_out_gga(0, T5, s(T5))
ack1_in_gga(s(0), 0, s(s(0))) → ack1_out_gga(s(0), 0, s(s(0)))
ack1_in_gga(s(s(T20)), 0, T22) → U9_gga(T20, T22, ack21_in_ga(T20, X40))
ack21_in_ga(T30, X73) → U1_ga(T30, X73, ack27_in_ga(T30, X73))
ack27_in_ga(0, s(s(0))) → ack27_out_ga(0, s(s(0)))
ack27_in_ga(s(T34), X97) → U2_ga(T34, X97, ack21_in_ga(T34, X96))
U2_ga(T34, X97, ack21_out_ga(T34, X96)) → ack27_out_ga(s(T34), X97)
ack27_in_ga(s(T34), X97) → U3_ga(T34, X97, ack21_in_ga(T34, T36))
U3_ga(T34, X97, ack21_out_ga(T34, T36)) → U4_ga(T34, X97, ack38_in_gaa(T34, T36, X97))
ack38_in_gaa(0, T44, s(T44)) → ack38_out_gaa(0, T44, s(T44))
ack38_in_gaa(s(T49), 0, X133) → U5_gaa(T49, X133, ack27_in_ga(T49, X133))
U5_gaa(T49, X133, ack27_out_ga(T49, X133)) → ack38_out_gaa(s(T49), 0, X133)
ack38_in_gaa(s(T54), s(T55), X151) → U6_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, X150))
ack38_in_gaa(s(T54), s(T55), X151) → U7_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, T57))
U7_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, T57)) → U8_gaa(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U8_gaa(T54, T55, X151, ack38_out_gaa(T54, T57, X151)) → ack38_out_gaa(s(T54), s(T55), X151)
U6_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, X150)) → ack38_out_gaa(s(T54), s(T55), X151)
U4_ga(T34, X97, ack38_out_gaa(T34, T36, X97)) → ack27_out_ga(s(T34), X97)
U1_ga(T30, X73, ack27_out_ga(T30, X73)) → ack21_out_ga(T30, X73)
U9_gga(T20, T22, ack21_out_ga(T20, X40)) → ack1_out_gga(s(s(T20)), 0, T22)
ack1_in_gga(s(s(T20)), 0, T22) → U10_gga(T20, T22, ack21_in_ga(T20, T24))
U10_gga(T20, T22, ack21_out_ga(T20, T24)) → U11_gga(T20, T22, ack1_in_gaa(T20, T24, T22))
ack1_in_gaa(0, T5, s(T5)) → ack1_out_gaa(0, T5, s(T5))
ack1_in_gaa(s(0), 0, s(s(0))) → ack1_out_gaa(s(0), 0, s(s(0)))
ack1_in_gaa(s(s(T20)), 0, T22) → U9_gaa(T20, T22, ack21_in_ga(T20, X40))
U9_gaa(T20, T22, ack21_out_ga(T20, X40)) → ack1_out_gaa(s(s(T20)), 0, T22)
ack1_in_gaa(s(s(T20)), 0, T22) → U10_gaa(T20, T22, ack21_in_ga(T20, T24))
U10_gaa(T20, T22, ack21_out_ga(T20, T24)) → U11_gaa(T20, T22, ack1_in_gaa(T20, T24, T22))
ack1_in_gaa(s(T76), s(0), T71) → U12_gaa(T76, T71, ack27_in_ga(T76, X200))
U12_gaa(T76, T71, ack27_out_ga(T76, X200)) → ack1_out_gaa(s(T76), s(0), T71)
ack1_in_gaa(s(T76), s(0), T71) → U13_gaa(T76, T71, ack27_in_ga(T76, T77))
U13_gaa(T76, T71, ack27_out_ga(T76, T77)) → U14_gaa(T76, T71, ack1_in_gaa(T76, T77, T71))
ack1_in_gaa(s(T84), s(s(T85)), T71) → U15_gaa(T84, T85, T71, ack38_in_gaa(s(T84), T85, X221))
U15_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, X221)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
ack1_in_gaa(s(T84), s(s(T85)), T71) → U16_gaa(T84, T85, T71, ack38_in_gaa(s(T84), T85, T87))
U16_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U17_gaa(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U17_gaa(T84, T85, T71, ack38_out_gaa(T84, T87, X222)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
U16_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U18_gaa(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_gaa(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_gaa(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U19_gaa(T84, T85, T71, ack1_out_gaa(T84, T91, T71)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
U14_gaa(T76, T71, ack1_out_gaa(T76, T77, T71)) → ack1_out_gaa(s(T76), s(0), T71)
U11_gaa(T20, T22, ack1_out_gaa(T20, T24, T22)) → ack1_out_gaa(s(s(T20)), 0, T22)
U11_gga(T20, T22, ack1_out_gaa(T20, T24, T22)) → ack1_out_gga(s(s(T20)), 0, T22)
ack1_in_gga(s(T76), s(0), T71) → U12_gga(T76, T71, ack27_in_ga(T76, X200))
U12_gga(T76, T71, ack27_out_ga(T76, X200)) → ack1_out_gga(s(T76), s(0), T71)
ack1_in_gga(s(T76), s(0), T71) → U13_gga(T76, T71, ack27_in_ga(T76, T77))
U13_gga(T76, T71, ack27_out_ga(T76, T77)) → U14_gga(T76, T71, ack1_in_gaa(T76, T77, T71))
U14_gga(T76, T71, ack1_out_gaa(T76, T77, T71)) → ack1_out_gga(s(T76), s(0), T71)
ack1_in_gga(s(T84), s(s(T85)), T71) → U15_gga(T84, T85, T71, ack38_in_gga(s(T84), T85, X221))
ack38_in_gga(0, T44, s(T44)) → ack38_out_gga(0, T44, s(T44))
ack38_in_gga(s(T49), 0, X133) → U5_gga(T49, X133, ack27_in_ga(T49, X133))
U5_gga(T49, X133, ack27_out_ga(T49, X133)) → ack38_out_gga(s(T49), 0, X133)
ack38_in_gga(s(T54), s(T55), X151) → U6_gga(T54, T55, X151, ack38_in_gga(s(T54), T55, X150))
ack38_in_gga(s(T54), s(T55), X151) → U7_gga(T54, T55, X151, ack38_in_gga(s(T54), T55, T57))
U7_gga(T54, T55, X151, ack38_out_gga(s(T54), T55, T57)) → U8_gga(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U8_gga(T54, T55, X151, ack38_out_gaa(T54, T57, X151)) → ack38_out_gga(s(T54), s(T55), X151)
U6_gga(T54, T55, X151, ack38_out_gga(s(T54), T55, X150)) → ack38_out_gga(s(T54), s(T55), X151)
U15_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, X221)) → ack1_out_gga(s(T84), s(s(T85)), T71)
ack1_in_gga(s(T84), s(s(T85)), T71) → U16_gga(T84, T85, T71, ack38_in_gga(s(T84), T85, T87))
U16_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U17_gga(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U17_gga(T84, T85, T71, ack38_out_gaa(T84, T87, X222)) → ack1_out_gga(s(T84), s(s(T85)), T71)
U16_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U18_gga(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_gga(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_gga(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U19_gga(T84, T85, T71, ack1_out_gaa(T84, T91, T71)) → ack1_out_gga(s(T84), s(s(T85)), T71)

The argument filtering Pi contains the following mapping:
ack1_in_gga(x1, x2, x3)  =  ack1_in_gga(x1, x2)
0  =  0
ack1_out_gga(x1, x2, x3)  =  ack1_out_gga(x1, x2)
s(x1)  =  s(x1)
U9_gga(x1, x2, x3)  =  U9_gga(x1, x3)
ack21_in_ga(x1, x2)  =  ack21_in_ga(x1)
U1_ga(x1, x2, x3)  =  U1_ga(x1, x3)
ack27_in_ga(x1, x2)  =  ack27_in_ga(x1)
ack27_out_ga(x1, x2)  =  ack27_out_ga(x1)
U2_ga(x1, x2, x3)  =  U2_ga(x1, x3)
ack21_out_ga(x1, x2)  =  ack21_out_ga(x1)
U3_ga(x1, x2, x3)  =  U3_ga(x1, x3)
U4_ga(x1, x2, x3)  =  U4_ga(x1, x3)
ack38_in_gga(x1, x2, x3)  =  ack38_in_gga(x1, x2)
ack38_out_gga(x1, x2, x3)  =  ack38_out_gga(x1, x2)
U5_gga(x1, x2, x3)  =  U5_gga(x1, x3)
U6_gga(x1, x2, x3, x4)  =  U6_gga(x1, x2, x4)
U7_gga(x1, x2, x3, x4)  =  U7_gga(x1, x2, x4)
U8_gga(x1, x2, x3, x4)  =  U8_gga(x1, x2, x4)
ack38_in_gaa(x1, x2, x3)  =  ack38_in_gaa(x1)
ack38_out_gaa(x1, x2, x3)  =  ack38_out_gaa(x1)
U5_gaa(x1, x2, x3)  =  U5_gaa(x1, x3)
U6_gaa(x1, x2, x3, x4)  =  U6_gaa(x1, x4)
U7_gaa(x1, x2, x3, x4)  =  U7_gaa(x1, x4)
U8_gaa(x1, x2, x3, x4)  =  U8_gaa(x1, x4)
U10_gga(x1, x2, x3)  =  U10_gga(x1, x3)
U11_gga(x1, x2, x3)  =  U11_gga(x1, x3)
ack1_in_gaa(x1, x2, x3)  =  ack1_in_gaa(x1)
ack1_out_gaa(x1, x2, x3)  =  ack1_out_gaa(x1)
U9_gaa(x1, x2, x3)  =  U9_gaa(x1, x3)
U10_gaa(x1, x2, x3)  =  U10_gaa(x1, x3)
U11_gaa(x1, x2, x3)  =  U11_gaa(x1, x3)
U12_gaa(x1, x2, x3)  =  U12_gaa(x1, x3)
U13_gaa(x1, x2, x3)  =  U13_gaa(x1, x3)
U14_gaa(x1, x2, x3)  =  U14_gaa(x1, x3)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x1, x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x1, x4)
U17_gaa(x1, x2, x3, x4)  =  U17_gaa(x1, x4)
U18_gaa(x1, x2, x3, x4)  =  U18_gaa(x1, x4)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x1, x4)
U12_gga(x1, x2, x3)  =  U12_gga(x1, x3)
U13_gga(x1, x2, x3)  =  U13_gga(x1, x3)
U14_gga(x1, x2, x3)  =  U14_gga(x1, x3)
U15_gga(x1, x2, x3, x4)  =  U15_gga(x1, x2, x4)
U16_gga(x1, x2, x3, x4)  =  U16_gga(x1, x2, x4)
U17_gga(x1, x2, x3, x4)  =  U17_gga(x1, x2, x4)
U18_gga(x1, x2, x3, x4)  =  U18_gga(x1, x2, x4)
U19_gga(x1, x2, x3, x4)  =  U19_gga(x1, x2, x4)
ACK1_IN_GAA(x1, x2, x3)  =  ACK1_IN_GAA(x1)
U10_GAA(x1, x2, x3)  =  U10_GAA(x1, x3)
U13_GAA(x1, x2, x3)  =  U13_GAA(x1, x3)
U16_GAA(x1, x2, x3, x4)  =  U16_GAA(x1, x4)
U18_GAA(x1, x2, x3, x4)  =  U18_GAA(x1, x4)

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

(32) UsableRulesProof (EQUIVALENT transformation)

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

(33) Obligation:

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

ACK1_IN_GAA(s(s(T20)), 0, T22) → U10_GAA(T20, T22, ack21_in_ga(T20, T24))
U10_GAA(T20, T22, ack21_out_ga(T20, T24)) → ACK1_IN_GAA(T20, T24, T22)
ACK1_IN_GAA(s(T76), s(0), T71) → U13_GAA(T76, T71, ack27_in_ga(T76, T77))
U13_GAA(T76, T71, ack27_out_ga(T76, T77)) → ACK1_IN_GAA(T76, T77, T71)
ACK1_IN_GAA(s(T84), s(s(T85)), T71) → U16_GAA(T84, T85, T71, ack38_in_gaa(s(T84), T85, T87))
U16_GAA(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U18_GAA(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_GAA(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → ACK1_IN_GAA(T84, T91, T71)

The TRS R consists of the following rules:

ack21_in_ga(T30, X73) → U1_ga(T30, X73, ack27_in_ga(T30, X73))
ack27_in_ga(0, s(s(0))) → ack27_out_ga(0, s(s(0)))
ack27_in_ga(s(T34), X97) → U2_ga(T34, X97, ack21_in_ga(T34, X96))
ack27_in_ga(s(T34), X97) → U3_ga(T34, X97, ack21_in_ga(T34, T36))
ack38_in_gaa(s(T49), 0, X133) → U5_gaa(T49, X133, ack27_in_ga(T49, X133))
ack38_in_gaa(s(T54), s(T55), X151) → U6_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, X150))
ack38_in_gaa(s(T54), s(T55), X151) → U7_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, T57))
ack38_in_gaa(0, T44, s(T44)) → ack38_out_gaa(0, T44, s(T44))
U1_ga(T30, X73, ack27_out_ga(T30, X73)) → ack21_out_ga(T30, X73)
U2_ga(T34, X97, ack21_out_ga(T34, X96)) → ack27_out_ga(s(T34), X97)
U3_ga(T34, X97, ack21_out_ga(T34, T36)) → U4_ga(T34, X97, ack38_in_gaa(T34, T36, X97))
U5_gaa(T49, X133, ack27_out_ga(T49, X133)) → ack38_out_gaa(s(T49), 0, X133)
U6_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, X150)) → ack38_out_gaa(s(T54), s(T55), X151)
U7_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, T57)) → U8_gaa(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U4_ga(T34, X97, ack38_out_gaa(T34, T36, X97)) → ack27_out_ga(s(T34), X97)
U8_gaa(T54, T55, X151, ack38_out_gaa(T54, T57, X151)) → ack38_out_gaa(s(T54), s(T55), X151)

The argument filtering Pi contains the following mapping:
0  =  0
s(x1)  =  s(x1)
ack21_in_ga(x1, x2)  =  ack21_in_ga(x1)
U1_ga(x1, x2, x3)  =  U1_ga(x1, x3)
ack27_in_ga(x1, x2)  =  ack27_in_ga(x1)
ack27_out_ga(x1, x2)  =  ack27_out_ga(x1)
U2_ga(x1, x2, x3)  =  U2_ga(x1, x3)
ack21_out_ga(x1, x2)  =  ack21_out_ga(x1)
U3_ga(x1, x2, x3)  =  U3_ga(x1, x3)
U4_ga(x1, x2, x3)  =  U4_ga(x1, x3)
ack38_in_gaa(x1, x2, x3)  =  ack38_in_gaa(x1)
ack38_out_gaa(x1, x2, x3)  =  ack38_out_gaa(x1)
U5_gaa(x1, x2, x3)  =  U5_gaa(x1, x3)
U6_gaa(x1, x2, x3, x4)  =  U6_gaa(x1, x4)
U7_gaa(x1, x2, x3, x4)  =  U7_gaa(x1, x4)
U8_gaa(x1, x2, x3, x4)  =  U8_gaa(x1, x4)
ACK1_IN_GAA(x1, x2, x3)  =  ACK1_IN_GAA(x1)
U10_GAA(x1, x2, x3)  =  U10_GAA(x1, x3)
U13_GAA(x1, x2, x3)  =  U13_GAA(x1, x3)
U16_GAA(x1, x2, x3, x4)  =  U16_GAA(x1, x4)
U18_GAA(x1, x2, x3, x4)  =  U18_GAA(x1, x4)

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

(34) PiDPToQDPProof (SOUND transformation)

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

(35) Obligation:

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

ACK1_IN_GAA(s(s(T20))) → U10_GAA(T20, ack21_in_ga(T20))
U10_GAA(T20, ack21_out_ga(T20)) → ACK1_IN_GAA(T20)
ACK1_IN_GAA(s(T76)) → U13_GAA(T76, ack27_in_ga(T76))
U13_GAA(T76, ack27_out_ga(T76)) → ACK1_IN_GAA(T76)
ACK1_IN_GAA(s(T84)) → U16_GAA(T84, ack38_in_gaa(s(T84)))
U16_GAA(T84, ack38_out_gaa(s(T84))) → U18_GAA(T84, ack38_in_gaa(T84))
U18_GAA(T84, ack38_out_gaa(T84)) → ACK1_IN_GAA(T84)

The TRS R consists of the following rules:

ack21_in_ga(T30) → U1_ga(T30, ack27_in_ga(T30))
ack27_in_ga(0) → ack27_out_ga(0)
ack27_in_ga(s(T34)) → U2_ga(T34, ack21_in_ga(T34))
ack27_in_ga(s(T34)) → U3_ga(T34, ack21_in_ga(T34))
ack38_in_gaa(s(T49)) → U5_gaa(T49, ack27_in_ga(T49))
ack38_in_gaa(s(T54)) → U6_gaa(T54, ack38_in_gaa(s(T54)))
ack38_in_gaa(s(T54)) → U7_gaa(T54, ack38_in_gaa(s(T54)))
ack38_in_gaa(0) → ack38_out_gaa(0)
U1_ga(T30, ack27_out_ga(T30)) → ack21_out_ga(T30)
U2_ga(T34, ack21_out_ga(T34)) → ack27_out_ga(s(T34))
U3_ga(T34, ack21_out_ga(T34)) → U4_ga(T34, ack38_in_gaa(T34))
U5_gaa(T49, ack27_out_ga(T49)) → ack38_out_gaa(s(T49))
U6_gaa(T54, ack38_out_gaa(s(T54))) → ack38_out_gaa(s(T54))
U7_gaa(T54, ack38_out_gaa(s(T54))) → U8_gaa(T54, ack38_in_gaa(T54))
U4_ga(T34, ack38_out_gaa(T34)) → ack27_out_ga(s(T34))
U8_gaa(T54, ack38_out_gaa(T54)) → ack38_out_gaa(s(T54))

The set Q consists of the following terms:

ack21_in_ga(x0)
ack27_in_ga(x0)
ack38_in_gaa(x0)
U1_ga(x0, x1)
U2_ga(x0, x1)
U3_ga(x0, x1)
U5_gaa(x0, x1)
U6_gaa(x0, x1)
U7_gaa(x0, x1)
U4_ga(x0, x1)
U8_gaa(x0, x1)

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

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

  • U10_GAA(T20, ack21_out_ga(T20)) → ACK1_IN_GAA(T20)
    The graph contains the following edges 1 >= 1, 2 > 1

  • ACK1_IN_GAA(s(s(T20))) → U10_GAA(T20, ack21_in_ga(T20))
    The graph contains the following edges 1 > 1

  • U16_GAA(T84, ack38_out_gaa(s(T84))) → U18_GAA(T84, ack38_in_gaa(T84))
    The graph contains the following edges 1 >= 1, 2 > 1

  • U13_GAA(T76, ack27_out_ga(T76)) → ACK1_IN_GAA(T76)
    The graph contains the following edges 1 >= 1, 2 > 1

  • U18_GAA(T84, ack38_out_gaa(T84)) → ACK1_IN_GAA(T84)
    The graph contains the following edges 1 >= 1, 2 > 1

  • ACK1_IN_GAA(s(T76)) → U13_GAA(T76, ack27_in_ga(T76))
    The graph contains the following edges 1 > 1

  • ACK1_IN_GAA(s(T84)) → U16_GAA(T84, ack38_in_gaa(s(T84)))
    The graph contains the following edges 1 > 1

(37) YES

(38) PrologToPiTRSProof (SOUND transformation)

We use the technique of [LOPSTR]. With regard to the inferred argument filtering the predicates were used in the following modes:
ack1_in: (b,b,f) (b,f,f)
ack21_in: (b,f)
ack27_in: (b,f)
ack38_in: (b,f,f) (b,b,f)
Transforming Prolog into the following Term Rewriting System:
Pi-finite rewrite system:
The TRS R consists of the following rules:

ack1_in_gga(0, T5, s(T5)) → ack1_out_gga(0, T5, s(T5))
ack1_in_gga(s(0), 0, s(s(0))) → ack1_out_gga(s(0), 0, s(s(0)))
ack1_in_gga(s(s(T20)), 0, T22) → U9_gga(T20, T22, ack21_in_ga(T20, X40))
ack21_in_ga(T30, X73) → U1_ga(T30, X73, ack27_in_ga(T30, X73))
ack27_in_ga(0, s(s(0))) → ack27_out_ga(0, s(s(0)))
ack27_in_ga(s(T34), X97) → U2_ga(T34, X97, ack21_in_ga(T34, X96))
U2_ga(T34, X97, ack21_out_ga(T34, X96)) → ack27_out_ga(s(T34), X97)
ack27_in_ga(s(T34), X97) → U3_ga(T34, X97, ack21_in_ga(T34, T36))
U3_ga(T34, X97, ack21_out_ga(T34, T36)) → U4_ga(T34, X97, ack38_in_gaa(T34, T36, X97))
ack38_in_gaa(0, T44, s(T44)) → ack38_out_gaa(0, T44, s(T44))
ack38_in_gaa(s(T49), 0, X133) → U5_gaa(T49, X133, ack27_in_ga(T49, X133))
U5_gaa(T49, X133, ack27_out_ga(T49, X133)) → ack38_out_gaa(s(T49), 0, X133)
ack38_in_gaa(s(T54), s(T55), X151) → U6_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, X150))
ack38_in_gaa(s(T54), s(T55), X151) → U7_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, T57))
U7_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, T57)) → U8_gaa(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U8_gaa(T54, T55, X151, ack38_out_gaa(T54, T57, X151)) → ack38_out_gaa(s(T54), s(T55), X151)
U6_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, X150)) → ack38_out_gaa(s(T54), s(T55), X151)
U4_ga(T34, X97, ack38_out_gaa(T34, T36, X97)) → ack27_out_ga(s(T34), X97)
U1_ga(T30, X73, ack27_out_ga(T30, X73)) → ack21_out_ga(T30, X73)
U9_gga(T20, T22, ack21_out_ga(T20, X40)) → ack1_out_gga(s(s(T20)), 0, T22)
ack1_in_gga(s(s(T20)), 0, T22) → U10_gga(T20, T22, ack21_in_ga(T20, T24))
U10_gga(T20, T22, ack21_out_ga(T20, T24)) → U11_gga(T20, T22, ack1_in_gaa(T20, T24, T22))
ack1_in_gaa(0, T5, s(T5)) → ack1_out_gaa(0, T5, s(T5))
ack1_in_gaa(s(0), 0, s(s(0))) → ack1_out_gaa(s(0), 0, s(s(0)))
ack1_in_gaa(s(s(T20)), 0, T22) → U9_gaa(T20, T22, ack21_in_ga(T20, X40))
U9_gaa(T20, T22, ack21_out_ga(T20, X40)) → ack1_out_gaa(s(s(T20)), 0, T22)
ack1_in_gaa(s(s(T20)), 0, T22) → U10_gaa(T20, T22, ack21_in_ga(T20, T24))
U10_gaa(T20, T22, ack21_out_ga(T20, T24)) → U11_gaa(T20, T22, ack1_in_gaa(T20, T24, T22))
ack1_in_gaa(s(T76), s(0), T71) → U12_gaa(T76, T71, ack27_in_ga(T76, X200))
U12_gaa(T76, T71, ack27_out_ga(T76, X200)) → ack1_out_gaa(s(T76), s(0), T71)
ack1_in_gaa(s(T76), s(0), T71) → U13_gaa(T76, T71, ack27_in_ga(T76, T77))
U13_gaa(T76, T71, ack27_out_ga(T76, T77)) → U14_gaa(T76, T71, ack1_in_gaa(T76, T77, T71))
ack1_in_gaa(s(T84), s(s(T85)), T71) → U15_gaa(T84, T85, T71, ack38_in_gaa(s(T84), T85, X221))
U15_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, X221)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
ack1_in_gaa(s(T84), s(s(T85)), T71) → U16_gaa(T84, T85, T71, ack38_in_gaa(s(T84), T85, T87))
U16_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U17_gaa(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U17_gaa(T84, T85, T71, ack38_out_gaa(T84, T87, X222)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
U16_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U18_gaa(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_gaa(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_gaa(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U19_gaa(T84, T85, T71, ack1_out_gaa(T84, T91, T71)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
U14_gaa(T76, T71, ack1_out_gaa(T76, T77, T71)) → ack1_out_gaa(s(T76), s(0), T71)
U11_gaa(T20, T22, ack1_out_gaa(T20, T24, T22)) → ack1_out_gaa(s(s(T20)), 0, T22)
U11_gga(T20, T22, ack1_out_gaa(T20, T24, T22)) → ack1_out_gga(s(s(T20)), 0, T22)
ack1_in_gga(s(T76), s(0), T71) → U12_gga(T76, T71, ack27_in_ga(T76, X200))
U12_gga(T76, T71, ack27_out_ga(T76, X200)) → ack1_out_gga(s(T76), s(0), T71)
ack1_in_gga(s(T76), s(0), T71) → U13_gga(T76, T71, ack27_in_ga(T76, T77))
U13_gga(T76, T71, ack27_out_ga(T76, T77)) → U14_gga(T76, T71, ack1_in_gaa(T76, T77, T71))
U14_gga(T76, T71, ack1_out_gaa(T76, T77, T71)) → ack1_out_gga(s(T76), s(0), T71)
ack1_in_gga(s(T84), s(s(T85)), T71) → U15_gga(T84, T85, T71, ack38_in_gga(s(T84), T85, X221))
ack38_in_gga(0, T44, s(T44)) → ack38_out_gga(0, T44, s(T44))
ack38_in_gga(s(T49), 0, X133) → U5_gga(T49, X133, ack27_in_ga(T49, X133))
U5_gga(T49, X133, ack27_out_ga(T49, X133)) → ack38_out_gga(s(T49), 0, X133)
ack38_in_gga(s(T54), s(T55), X151) → U6_gga(T54, T55, X151, ack38_in_gga(s(T54), T55, X150))
ack38_in_gga(s(T54), s(T55), X151) → U7_gga(T54, T55, X151, ack38_in_gga(s(T54), T55, T57))
U7_gga(T54, T55, X151, ack38_out_gga(s(T54), T55, T57)) → U8_gga(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U8_gga(T54, T55, X151, ack38_out_gaa(T54, T57, X151)) → ack38_out_gga(s(T54), s(T55), X151)
U6_gga(T54, T55, X151, ack38_out_gga(s(T54), T55, X150)) → ack38_out_gga(s(T54), s(T55), X151)
U15_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, X221)) → ack1_out_gga(s(T84), s(s(T85)), T71)
ack1_in_gga(s(T84), s(s(T85)), T71) → U16_gga(T84, T85, T71, ack38_in_gga(s(T84), T85, T87))
U16_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U17_gga(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U17_gga(T84, T85, T71, ack38_out_gaa(T84, T87, X222)) → ack1_out_gga(s(T84), s(s(T85)), T71)
U16_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U18_gga(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_gga(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_gga(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U19_gga(T84, T85, T71, ack1_out_gaa(T84, T91, T71)) → ack1_out_gga(s(T84), s(s(T85)), T71)

The argument filtering Pi contains the following mapping:
ack1_in_gga(x1, x2, x3)  =  ack1_in_gga(x1, x2)
0  =  0
ack1_out_gga(x1, x2, x3)  =  ack1_out_gga
s(x1)  =  s(x1)
U9_gga(x1, x2, x3)  =  U9_gga(x3)
ack21_in_ga(x1, x2)  =  ack21_in_ga(x1)
U1_ga(x1, x2, x3)  =  U1_ga(x3)
ack27_in_ga(x1, x2)  =  ack27_in_ga(x1)
ack27_out_ga(x1, x2)  =  ack27_out_ga
U2_ga(x1, x2, x3)  =  U2_ga(x3)
ack21_out_ga(x1, x2)  =  ack21_out_ga
U3_ga(x1, x2, x3)  =  U3_ga(x1, x3)
U4_ga(x1, x2, x3)  =  U4_ga(x3)
ack38_in_gga(x1, x2, x3)  =  ack38_in_gga(x1, x2)
ack38_out_gga(x1, x2, x3)  =  ack38_out_gga
U5_gga(x1, x2, x3)  =  U5_gga(x3)
U6_gga(x1, x2, x3, x4)  =  U6_gga(x4)
U7_gga(x1, x2, x3, x4)  =  U7_gga(x1, x4)
U8_gga(x1, x2, x3, x4)  =  U8_gga(x4)
ack38_in_gaa(x1, x2, x3)  =  ack38_in_gaa(x1)
ack38_out_gaa(x1, x2, x3)  =  ack38_out_gaa
U5_gaa(x1, x2, x3)  =  U5_gaa(x3)
U6_gaa(x1, x2, x3, x4)  =  U6_gaa(x4)
U7_gaa(x1, x2, x3, x4)  =  U7_gaa(x1, x4)
U8_gaa(x1, x2, x3, x4)  =  U8_gaa(x4)
U10_gga(x1, x2, x3)  =  U10_gga(x1, x3)
U11_gga(x1, x2, x3)  =  U11_gga(x3)
ack1_in_gaa(x1, x2, x3)  =  ack1_in_gaa(x1)
ack1_out_gaa(x1, x2, x3)  =  ack1_out_gaa
U9_gaa(x1, x2, x3)  =  U9_gaa(x3)
U10_gaa(x1, x2, x3)  =  U10_gaa(x1, x3)
U11_gaa(x1, x2, x3)  =  U11_gaa(x3)
U12_gaa(x1, x2, x3)  =  U12_gaa(x3)
U13_gaa(x1, x2, x3)  =  U13_gaa(x1, x3)
U14_gaa(x1, x2, x3)  =  U14_gaa(x3)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x1, x4)
U17_gaa(x1, x2, x3, x4)  =  U17_gaa(x4)
U18_gaa(x1, x2, x3, x4)  =  U18_gaa(x1, x4)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x4)
U12_gga(x1, x2, x3)  =  U12_gga(x3)
U13_gga(x1, x2, x3)  =  U13_gga(x1, x3)
U14_gga(x1, x2, x3)  =  U14_gga(x3)
U15_gga(x1, x2, x3, x4)  =  U15_gga(x4)
U16_gga(x1, x2, x3, x4)  =  U16_gga(x1, x4)
U17_gga(x1, x2, x3, x4)  =  U17_gga(x4)
U18_gga(x1, x2, x3, x4)  =  U18_gga(x1, x4)
U19_gga(x1, x2, x3, x4)  =  U19_gga(x4)

Infinitary Constructor Rewriting Termination of PiTRS implies Termination of Prolog

(39) Obligation:

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

ack1_in_gga(0, T5, s(T5)) → ack1_out_gga(0, T5, s(T5))
ack1_in_gga(s(0), 0, s(s(0))) → ack1_out_gga(s(0), 0, s(s(0)))
ack1_in_gga(s(s(T20)), 0, T22) → U9_gga(T20, T22, ack21_in_ga(T20, X40))
ack21_in_ga(T30, X73) → U1_ga(T30, X73, ack27_in_ga(T30, X73))
ack27_in_ga(0, s(s(0))) → ack27_out_ga(0, s(s(0)))
ack27_in_ga(s(T34), X97) → U2_ga(T34, X97, ack21_in_ga(T34, X96))
U2_ga(T34, X97, ack21_out_ga(T34, X96)) → ack27_out_ga(s(T34), X97)
ack27_in_ga(s(T34), X97) → U3_ga(T34, X97, ack21_in_ga(T34, T36))
U3_ga(T34, X97, ack21_out_ga(T34, T36)) → U4_ga(T34, X97, ack38_in_gaa(T34, T36, X97))
ack38_in_gaa(0, T44, s(T44)) → ack38_out_gaa(0, T44, s(T44))
ack38_in_gaa(s(T49), 0, X133) → U5_gaa(T49, X133, ack27_in_ga(T49, X133))
U5_gaa(T49, X133, ack27_out_ga(T49, X133)) → ack38_out_gaa(s(T49), 0, X133)
ack38_in_gaa(s(T54), s(T55), X151) → U6_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, X150))
ack38_in_gaa(s(T54), s(T55), X151) → U7_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, T57))
U7_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, T57)) → U8_gaa(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U8_gaa(T54, T55, X151, ack38_out_gaa(T54, T57, X151)) → ack38_out_gaa(s(T54), s(T55), X151)
U6_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, X150)) → ack38_out_gaa(s(T54), s(T55), X151)
U4_ga(T34, X97, ack38_out_gaa(T34, T36, X97)) → ack27_out_ga(s(T34), X97)
U1_ga(T30, X73, ack27_out_ga(T30, X73)) → ack21_out_ga(T30, X73)
U9_gga(T20, T22, ack21_out_ga(T20, X40)) → ack1_out_gga(s(s(T20)), 0, T22)
ack1_in_gga(s(s(T20)), 0, T22) → U10_gga(T20, T22, ack21_in_ga(T20, T24))
U10_gga(T20, T22, ack21_out_ga(T20, T24)) → U11_gga(T20, T22, ack1_in_gaa(T20, T24, T22))
ack1_in_gaa(0, T5, s(T5)) → ack1_out_gaa(0, T5, s(T5))
ack1_in_gaa(s(0), 0, s(s(0))) → ack1_out_gaa(s(0), 0, s(s(0)))
ack1_in_gaa(s(s(T20)), 0, T22) → U9_gaa(T20, T22, ack21_in_ga(T20, X40))
U9_gaa(T20, T22, ack21_out_ga(T20, X40)) → ack1_out_gaa(s(s(T20)), 0, T22)
ack1_in_gaa(s(s(T20)), 0, T22) → U10_gaa(T20, T22, ack21_in_ga(T20, T24))
U10_gaa(T20, T22, ack21_out_ga(T20, T24)) → U11_gaa(T20, T22, ack1_in_gaa(T20, T24, T22))
ack1_in_gaa(s(T76), s(0), T71) → U12_gaa(T76, T71, ack27_in_ga(T76, X200))
U12_gaa(T76, T71, ack27_out_ga(T76, X200)) → ack1_out_gaa(s(T76), s(0), T71)
ack1_in_gaa(s(T76), s(0), T71) → U13_gaa(T76, T71, ack27_in_ga(T76, T77))
U13_gaa(T76, T71, ack27_out_ga(T76, T77)) → U14_gaa(T76, T71, ack1_in_gaa(T76, T77, T71))
ack1_in_gaa(s(T84), s(s(T85)), T71) → U15_gaa(T84, T85, T71, ack38_in_gaa(s(T84), T85, X221))
U15_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, X221)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
ack1_in_gaa(s(T84), s(s(T85)), T71) → U16_gaa(T84, T85, T71, ack38_in_gaa(s(T84), T85, T87))
U16_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U17_gaa(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U17_gaa(T84, T85, T71, ack38_out_gaa(T84, T87, X222)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
U16_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U18_gaa(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_gaa(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_gaa(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U19_gaa(T84, T85, T71, ack1_out_gaa(T84, T91, T71)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
U14_gaa(T76, T71, ack1_out_gaa(T76, T77, T71)) → ack1_out_gaa(s(T76), s(0), T71)
U11_gaa(T20, T22, ack1_out_gaa(T20, T24, T22)) → ack1_out_gaa(s(s(T20)), 0, T22)
U11_gga(T20, T22, ack1_out_gaa(T20, T24, T22)) → ack1_out_gga(s(s(T20)), 0, T22)
ack1_in_gga(s(T76), s(0), T71) → U12_gga(T76, T71, ack27_in_ga(T76, X200))
U12_gga(T76, T71, ack27_out_ga(T76, X200)) → ack1_out_gga(s(T76), s(0), T71)
ack1_in_gga(s(T76), s(0), T71) → U13_gga(T76, T71, ack27_in_ga(T76, T77))
U13_gga(T76, T71, ack27_out_ga(T76, T77)) → U14_gga(T76, T71, ack1_in_gaa(T76, T77, T71))
U14_gga(T76, T71, ack1_out_gaa(T76, T77, T71)) → ack1_out_gga(s(T76), s(0), T71)
ack1_in_gga(s(T84), s(s(T85)), T71) → U15_gga(T84, T85, T71, ack38_in_gga(s(T84), T85, X221))
ack38_in_gga(0, T44, s(T44)) → ack38_out_gga(0, T44, s(T44))
ack38_in_gga(s(T49), 0, X133) → U5_gga(T49, X133, ack27_in_ga(T49, X133))
U5_gga(T49, X133, ack27_out_ga(T49, X133)) → ack38_out_gga(s(T49), 0, X133)
ack38_in_gga(s(T54), s(T55), X151) → U6_gga(T54, T55, X151, ack38_in_gga(s(T54), T55, X150))
ack38_in_gga(s(T54), s(T55), X151) → U7_gga(T54, T55, X151, ack38_in_gga(s(T54), T55, T57))
U7_gga(T54, T55, X151, ack38_out_gga(s(T54), T55, T57)) → U8_gga(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U8_gga(T54, T55, X151, ack38_out_gaa(T54, T57, X151)) → ack38_out_gga(s(T54), s(T55), X151)
U6_gga(T54, T55, X151, ack38_out_gga(s(T54), T55, X150)) → ack38_out_gga(s(T54), s(T55), X151)
U15_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, X221)) → ack1_out_gga(s(T84), s(s(T85)), T71)
ack1_in_gga(s(T84), s(s(T85)), T71) → U16_gga(T84, T85, T71, ack38_in_gga(s(T84), T85, T87))
U16_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U17_gga(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U17_gga(T84, T85, T71, ack38_out_gaa(T84, T87, X222)) → ack1_out_gga(s(T84), s(s(T85)), T71)
U16_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U18_gga(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_gga(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_gga(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U19_gga(T84, T85, T71, ack1_out_gaa(T84, T91, T71)) → ack1_out_gga(s(T84), s(s(T85)), T71)

The argument filtering Pi contains the following mapping:
ack1_in_gga(x1, x2, x3)  =  ack1_in_gga(x1, x2)
0  =  0
ack1_out_gga(x1, x2, x3)  =  ack1_out_gga
s(x1)  =  s(x1)
U9_gga(x1, x2, x3)  =  U9_gga(x3)
ack21_in_ga(x1, x2)  =  ack21_in_ga(x1)
U1_ga(x1, x2, x3)  =  U1_ga(x3)
ack27_in_ga(x1, x2)  =  ack27_in_ga(x1)
ack27_out_ga(x1, x2)  =  ack27_out_ga
U2_ga(x1, x2, x3)  =  U2_ga(x3)
ack21_out_ga(x1, x2)  =  ack21_out_ga
U3_ga(x1, x2, x3)  =  U3_ga(x1, x3)
U4_ga(x1, x2, x3)  =  U4_ga(x3)
ack38_in_gga(x1, x2, x3)  =  ack38_in_gga(x1, x2)
ack38_out_gga(x1, x2, x3)  =  ack38_out_gga
U5_gga(x1, x2, x3)  =  U5_gga(x3)
U6_gga(x1, x2, x3, x4)  =  U6_gga(x4)
U7_gga(x1, x2, x3, x4)  =  U7_gga(x1, x4)
U8_gga(x1, x2, x3, x4)  =  U8_gga(x4)
ack38_in_gaa(x1, x2, x3)  =  ack38_in_gaa(x1)
ack38_out_gaa(x1, x2, x3)  =  ack38_out_gaa
U5_gaa(x1, x2, x3)  =  U5_gaa(x3)
U6_gaa(x1, x2, x3, x4)  =  U6_gaa(x4)
U7_gaa(x1, x2, x3, x4)  =  U7_gaa(x1, x4)
U8_gaa(x1, x2, x3, x4)  =  U8_gaa(x4)
U10_gga(x1, x2, x3)  =  U10_gga(x1, x3)
U11_gga(x1, x2, x3)  =  U11_gga(x3)
ack1_in_gaa(x1, x2, x3)  =  ack1_in_gaa(x1)
ack1_out_gaa(x1, x2, x3)  =  ack1_out_gaa
U9_gaa(x1, x2, x3)  =  U9_gaa(x3)
U10_gaa(x1, x2, x3)  =  U10_gaa(x1, x3)
U11_gaa(x1, x2, x3)  =  U11_gaa(x3)
U12_gaa(x1, x2, x3)  =  U12_gaa(x3)
U13_gaa(x1, x2, x3)  =  U13_gaa(x1, x3)
U14_gaa(x1, x2, x3)  =  U14_gaa(x3)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x1, x4)
U17_gaa(x1, x2, x3, x4)  =  U17_gaa(x4)
U18_gaa(x1, x2, x3, x4)  =  U18_gaa(x1, x4)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x4)
U12_gga(x1, x2, x3)  =  U12_gga(x3)
U13_gga(x1, x2, x3)  =  U13_gga(x1, x3)
U14_gga(x1, x2, x3)  =  U14_gga(x3)
U15_gga(x1, x2, x3, x4)  =  U15_gga(x4)
U16_gga(x1, x2, x3, x4)  =  U16_gga(x1, x4)
U17_gga(x1, x2, x3, x4)  =  U17_gga(x4)
U18_gga(x1, x2, x3, x4)  =  U18_gga(x1, x4)
U19_gga(x1, x2, x3, x4)  =  U19_gga(x4)

(40) DependencyPairsProof (EQUIVALENT transformation)

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

ACK1_IN_GGA(s(s(T20)), 0, T22) → U9_GGA(T20, T22, ack21_in_ga(T20, X40))
ACK1_IN_GGA(s(s(T20)), 0, T22) → ACK21_IN_GA(T20, X40)
ACK21_IN_GA(T30, X73) → U1_GA(T30, X73, ack27_in_ga(T30, X73))
ACK21_IN_GA(T30, X73) → ACK27_IN_GA(T30, X73)
ACK27_IN_GA(s(T34), X97) → U2_GA(T34, X97, ack21_in_ga(T34, X96))
ACK27_IN_GA(s(T34), X97) → ACK21_IN_GA(T34, X96)
ACK27_IN_GA(s(T34), X97) → U3_GA(T34, X97, ack21_in_ga(T34, T36))
U3_GA(T34, X97, ack21_out_ga(T34, T36)) → U4_GA(T34, X97, ack38_in_gaa(T34, T36, X97))
U3_GA(T34, X97, ack21_out_ga(T34, T36)) → ACK38_IN_GAA(T34, T36, X97)
ACK38_IN_GAA(s(T49), 0, X133) → U5_GAA(T49, X133, ack27_in_ga(T49, X133))
ACK38_IN_GAA(s(T49), 0, X133) → ACK27_IN_GA(T49, X133)
ACK38_IN_GAA(s(T54), s(T55), X151) → U6_GAA(T54, T55, X151, ack38_in_gaa(s(T54), T55, X150))
ACK38_IN_GAA(s(T54), s(T55), X151) → ACK38_IN_GAA(s(T54), T55, X150)
ACK38_IN_GAA(s(T54), s(T55), X151) → U7_GAA(T54, T55, X151, ack38_in_gaa(s(T54), T55, T57))
U7_GAA(T54, T55, X151, ack38_out_gaa(s(T54), T55, T57)) → U8_GAA(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U7_GAA(T54, T55, X151, ack38_out_gaa(s(T54), T55, T57)) → ACK38_IN_GAA(T54, T57, X151)
ACK1_IN_GGA(s(s(T20)), 0, T22) → U10_GGA(T20, T22, ack21_in_ga(T20, T24))
U10_GGA(T20, T22, ack21_out_ga(T20, T24)) → U11_GGA(T20, T22, ack1_in_gaa(T20, T24, T22))
U10_GGA(T20, T22, ack21_out_ga(T20, T24)) → ACK1_IN_GAA(T20, T24, T22)
ACK1_IN_GAA(s(s(T20)), 0, T22) → U9_GAA(T20, T22, ack21_in_ga(T20, X40))
ACK1_IN_GAA(s(s(T20)), 0, T22) → ACK21_IN_GA(T20, X40)
ACK1_IN_GAA(s(s(T20)), 0, T22) → U10_GAA(T20, T22, ack21_in_ga(T20, T24))
U10_GAA(T20, T22, ack21_out_ga(T20, T24)) → U11_GAA(T20, T22, ack1_in_gaa(T20, T24, T22))
U10_GAA(T20, T22, ack21_out_ga(T20, T24)) → ACK1_IN_GAA(T20, T24, T22)
ACK1_IN_GAA(s(T76), s(0), T71) → U12_GAA(T76, T71, ack27_in_ga(T76, X200))
ACK1_IN_GAA(s(T76), s(0), T71) → ACK27_IN_GA(T76, X200)
ACK1_IN_GAA(s(T76), s(0), T71) → U13_GAA(T76, T71, ack27_in_ga(T76, T77))
U13_GAA(T76, T71, ack27_out_ga(T76, T77)) → U14_GAA(T76, T71, ack1_in_gaa(T76, T77, T71))
U13_GAA(T76, T71, ack27_out_ga(T76, T77)) → ACK1_IN_GAA(T76, T77, T71)
ACK1_IN_GAA(s(T84), s(s(T85)), T71) → U15_GAA(T84, T85, T71, ack38_in_gaa(s(T84), T85, X221))
ACK1_IN_GAA(s(T84), s(s(T85)), T71) → ACK38_IN_GAA(s(T84), T85, X221)
ACK1_IN_GAA(s(T84), s(s(T85)), T71) → U16_GAA(T84, T85, T71, ack38_in_gaa(s(T84), T85, T87))
U16_GAA(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U17_GAA(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U16_GAA(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → ACK38_IN_GAA(T84, T87, X222)
U16_GAA(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U18_GAA(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_GAA(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_GAA(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U18_GAA(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → ACK1_IN_GAA(T84, T91, T71)
ACK1_IN_GGA(s(T76), s(0), T71) → U12_GGA(T76, T71, ack27_in_ga(T76, X200))
ACK1_IN_GGA(s(T76), s(0), T71) → ACK27_IN_GA(T76, X200)
ACK1_IN_GGA(s(T76), s(0), T71) → U13_GGA(T76, T71, ack27_in_ga(T76, T77))
U13_GGA(T76, T71, ack27_out_ga(T76, T77)) → U14_GGA(T76, T71, ack1_in_gaa(T76, T77, T71))
U13_GGA(T76, T71, ack27_out_ga(T76, T77)) → ACK1_IN_GAA(T76, T77, T71)
ACK1_IN_GGA(s(T84), s(s(T85)), T71) → U15_GGA(T84, T85, T71, ack38_in_gga(s(T84), T85, X221))
ACK1_IN_GGA(s(T84), s(s(T85)), T71) → ACK38_IN_GGA(s(T84), T85, X221)
ACK38_IN_GGA(s(T49), 0, X133) → U5_GGA(T49, X133, ack27_in_ga(T49, X133))
ACK38_IN_GGA(s(T49), 0, X133) → ACK27_IN_GA(T49, X133)
ACK38_IN_GGA(s(T54), s(T55), X151) → U6_GGA(T54, T55, X151, ack38_in_gga(s(T54), T55, X150))
ACK38_IN_GGA(s(T54), s(T55), X151) → ACK38_IN_GGA(s(T54), T55, X150)
ACK38_IN_GGA(s(T54), s(T55), X151) → U7_GGA(T54, T55, X151, ack38_in_gga(s(T54), T55, T57))
U7_GGA(T54, T55, X151, ack38_out_gga(s(T54), T55, T57)) → U8_GGA(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U7_GGA(T54, T55, X151, ack38_out_gga(s(T54), T55, T57)) → ACK38_IN_GAA(T54, T57, X151)
ACK1_IN_GGA(s(T84), s(s(T85)), T71) → U16_GGA(T84, T85, T71, ack38_in_gga(s(T84), T85, T87))
U16_GGA(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U17_GGA(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U16_GGA(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → ACK38_IN_GAA(T84, T87, X222)
U16_GGA(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U18_GGA(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_GGA(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_GGA(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U18_GGA(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → ACK1_IN_GAA(T84, T91, T71)

The TRS R consists of the following rules:

ack1_in_gga(0, T5, s(T5)) → ack1_out_gga(0, T5, s(T5))
ack1_in_gga(s(0), 0, s(s(0))) → ack1_out_gga(s(0), 0, s(s(0)))
ack1_in_gga(s(s(T20)), 0, T22) → U9_gga(T20, T22, ack21_in_ga(T20, X40))
ack21_in_ga(T30, X73) → U1_ga(T30, X73, ack27_in_ga(T30, X73))
ack27_in_ga(0, s(s(0))) → ack27_out_ga(0, s(s(0)))
ack27_in_ga(s(T34), X97) → U2_ga(T34, X97, ack21_in_ga(T34, X96))
U2_ga(T34, X97, ack21_out_ga(T34, X96)) → ack27_out_ga(s(T34), X97)
ack27_in_ga(s(T34), X97) → U3_ga(T34, X97, ack21_in_ga(T34, T36))
U3_ga(T34, X97, ack21_out_ga(T34, T36)) → U4_ga(T34, X97, ack38_in_gaa(T34, T36, X97))
ack38_in_gaa(0, T44, s(T44)) → ack38_out_gaa(0, T44, s(T44))
ack38_in_gaa(s(T49), 0, X133) → U5_gaa(T49, X133, ack27_in_ga(T49, X133))
U5_gaa(T49, X133, ack27_out_ga(T49, X133)) → ack38_out_gaa(s(T49), 0, X133)
ack38_in_gaa(s(T54), s(T55), X151) → U6_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, X150))
ack38_in_gaa(s(T54), s(T55), X151) → U7_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, T57))
U7_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, T57)) → U8_gaa(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U8_gaa(T54, T55, X151, ack38_out_gaa(T54, T57, X151)) → ack38_out_gaa(s(T54), s(T55), X151)
U6_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, X150)) → ack38_out_gaa(s(T54), s(T55), X151)
U4_ga(T34, X97, ack38_out_gaa(T34, T36, X97)) → ack27_out_ga(s(T34), X97)
U1_ga(T30, X73, ack27_out_ga(T30, X73)) → ack21_out_ga(T30, X73)
U9_gga(T20, T22, ack21_out_ga(T20, X40)) → ack1_out_gga(s(s(T20)), 0, T22)
ack1_in_gga(s(s(T20)), 0, T22) → U10_gga(T20, T22, ack21_in_ga(T20, T24))
U10_gga(T20, T22, ack21_out_ga(T20, T24)) → U11_gga(T20, T22, ack1_in_gaa(T20, T24, T22))
ack1_in_gaa(0, T5, s(T5)) → ack1_out_gaa(0, T5, s(T5))
ack1_in_gaa(s(0), 0, s(s(0))) → ack1_out_gaa(s(0), 0, s(s(0)))
ack1_in_gaa(s(s(T20)), 0, T22) → U9_gaa(T20, T22, ack21_in_ga(T20, X40))
U9_gaa(T20, T22, ack21_out_ga(T20, X40)) → ack1_out_gaa(s(s(T20)), 0, T22)
ack1_in_gaa(s(s(T20)), 0, T22) → U10_gaa(T20, T22, ack21_in_ga(T20, T24))
U10_gaa(T20, T22, ack21_out_ga(T20, T24)) → U11_gaa(T20, T22, ack1_in_gaa(T20, T24, T22))
ack1_in_gaa(s(T76), s(0), T71) → U12_gaa(T76, T71, ack27_in_ga(T76, X200))
U12_gaa(T76, T71, ack27_out_ga(T76, X200)) → ack1_out_gaa(s(T76), s(0), T71)
ack1_in_gaa(s(T76), s(0), T71) → U13_gaa(T76, T71, ack27_in_ga(T76, T77))
U13_gaa(T76, T71, ack27_out_ga(T76, T77)) → U14_gaa(T76, T71, ack1_in_gaa(T76, T77, T71))
ack1_in_gaa(s(T84), s(s(T85)), T71) → U15_gaa(T84, T85, T71, ack38_in_gaa(s(T84), T85, X221))
U15_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, X221)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
ack1_in_gaa(s(T84), s(s(T85)), T71) → U16_gaa(T84, T85, T71, ack38_in_gaa(s(T84), T85, T87))
U16_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U17_gaa(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U17_gaa(T84, T85, T71, ack38_out_gaa(T84, T87, X222)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
U16_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U18_gaa(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_gaa(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_gaa(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U19_gaa(T84, T85, T71, ack1_out_gaa(T84, T91, T71)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
U14_gaa(T76, T71, ack1_out_gaa(T76, T77, T71)) → ack1_out_gaa(s(T76), s(0), T71)
U11_gaa(T20, T22, ack1_out_gaa(T20, T24, T22)) → ack1_out_gaa(s(s(T20)), 0, T22)
U11_gga(T20, T22, ack1_out_gaa(T20, T24, T22)) → ack1_out_gga(s(s(T20)), 0, T22)
ack1_in_gga(s(T76), s(0), T71) → U12_gga(T76, T71, ack27_in_ga(T76, X200))
U12_gga(T76, T71, ack27_out_ga(T76, X200)) → ack1_out_gga(s(T76), s(0), T71)
ack1_in_gga(s(T76), s(0), T71) → U13_gga(T76, T71, ack27_in_ga(T76, T77))
U13_gga(T76, T71, ack27_out_ga(T76, T77)) → U14_gga(T76, T71, ack1_in_gaa(T76, T77, T71))
U14_gga(T76, T71, ack1_out_gaa(T76, T77, T71)) → ack1_out_gga(s(T76), s(0), T71)
ack1_in_gga(s(T84), s(s(T85)), T71) → U15_gga(T84, T85, T71, ack38_in_gga(s(T84), T85, X221))
ack38_in_gga(0, T44, s(T44)) → ack38_out_gga(0, T44, s(T44))
ack38_in_gga(s(T49), 0, X133) → U5_gga(T49, X133, ack27_in_ga(T49, X133))
U5_gga(T49, X133, ack27_out_ga(T49, X133)) → ack38_out_gga(s(T49), 0, X133)
ack38_in_gga(s(T54), s(T55), X151) → U6_gga(T54, T55, X151, ack38_in_gga(s(T54), T55, X150))
ack38_in_gga(s(T54), s(T55), X151) → U7_gga(T54, T55, X151, ack38_in_gga(s(T54), T55, T57))
U7_gga(T54, T55, X151, ack38_out_gga(s(T54), T55, T57)) → U8_gga(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U8_gga(T54, T55, X151, ack38_out_gaa(T54, T57, X151)) → ack38_out_gga(s(T54), s(T55), X151)
U6_gga(T54, T55, X151, ack38_out_gga(s(T54), T55, X150)) → ack38_out_gga(s(T54), s(T55), X151)
U15_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, X221)) → ack1_out_gga(s(T84), s(s(T85)), T71)
ack1_in_gga(s(T84), s(s(T85)), T71) → U16_gga(T84, T85, T71, ack38_in_gga(s(T84), T85, T87))
U16_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U17_gga(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U17_gga(T84, T85, T71, ack38_out_gaa(T84, T87, X222)) → ack1_out_gga(s(T84), s(s(T85)), T71)
U16_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U18_gga(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_gga(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_gga(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U19_gga(T84, T85, T71, ack1_out_gaa(T84, T91, T71)) → ack1_out_gga(s(T84), s(s(T85)), T71)

The argument filtering Pi contains the following mapping:
ack1_in_gga(x1, x2, x3)  =  ack1_in_gga(x1, x2)
0  =  0
ack1_out_gga(x1, x2, x3)  =  ack1_out_gga
s(x1)  =  s(x1)
U9_gga(x1, x2, x3)  =  U9_gga(x3)
ack21_in_ga(x1, x2)  =  ack21_in_ga(x1)
U1_ga(x1, x2, x3)  =  U1_ga(x3)
ack27_in_ga(x1, x2)  =  ack27_in_ga(x1)
ack27_out_ga(x1, x2)  =  ack27_out_ga
U2_ga(x1, x2, x3)  =  U2_ga(x3)
ack21_out_ga(x1, x2)  =  ack21_out_ga
U3_ga(x1, x2, x3)  =  U3_ga(x1, x3)
U4_ga(x1, x2, x3)  =  U4_ga(x3)
ack38_in_gga(x1, x2, x3)  =  ack38_in_gga(x1, x2)
ack38_out_gga(x1, x2, x3)  =  ack38_out_gga
U5_gga(x1, x2, x3)  =  U5_gga(x3)
U6_gga(x1, x2, x3, x4)  =  U6_gga(x4)
U7_gga(x1, x2, x3, x4)  =  U7_gga(x1, x4)
U8_gga(x1, x2, x3, x4)  =  U8_gga(x4)
ack38_in_gaa(x1, x2, x3)  =  ack38_in_gaa(x1)
ack38_out_gaa(x1, x2, x3)  =  ack38_out_gaa
U5_gaa(x1, x2, x3)  =  U5_gaa(x3)
U6_gaa(x1, x2, x3, x4)  =  U6_gaa(x4)
U7_gaa(x1, x2, x3, x4)  =  U7_gaa(x1, x4)
U8_gaa(x1, x2, x3, x4)  =  U8_gaa(x4)
U10_gga(x1, x2, x3)  =  U10_gga(x1, x3)
U11_gga(x1, x2, x3)  =  U11_gga(x3)
ack1_in_gaa(x1, x2, x3)  =  ack1_in_gaa(x1)
ack1_out_gaa(x1, x2, x3)  =  ack1_out_gaa
U9_gaa(x1, x2, x3)  =  U9_gaa(x3)
U10_gaa(x1, x2, x3)  =  U10_gaa(x1, x3)
U11_gaa(x1, x2, x3)  =  U11_gaa(x3)
U12_gaa(x1, x2, x3)  =  U12_gaa(x3)
U13_gaa(x1, x2, x3)  =  U13_gaa(x1, x3)
U14_gaa(x1, x2, x3)  =  U14_gaa(x3)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x1, x4)
U17_gaa(x1, x2, x3, x4)  =  U17_gaa(x4)
U18_gaa(x1, x2, x3, x4)  =  U18_gaa(x1, x4)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x4)
U12_gga(x1, x2, x3)  =  U12_gga(x3)
U13_gga(x1, x2, x3)  =  U13_gga(x1, x3)
U14_gga(x1, x2, x3)  =  U14_gga(x3)
U15_gga(x1, x2, x3, x4)  =  U15_gga(x4)
U16_gga(x1, x2, x3, x4)  =  U16_gga(x1, x4)
U17_gga(x1, x2, x3, x4)  =  U17_gga(x4)
U18_gga(x1, x2, x3, x4)  =  U18_gga(x1, x4)
U19_gga(x1, x2, x3, x4)  =  U19_gga(x4)
ACK1_IN_GGA(x1, x2, x3)  =  ACK1_IN_GGA(x1, x2)
U9_GGA(x1, x2, x3)  =  U9_GGA(x3)
ACK21_IN_GA(x1, x2)  =  ACK21_IN_GA(x1)
U1_GA(x1, x2, x3)  =  U1_GA(x3)
ACK27_IN_GA(x1, x2)  =  ACK27_IN_GA(x1)
U2_GA(x1, x2, x3)  =  U2_GA(x3)
U3_GA(x1, x2, x3)  =  U3_GA(x1, x3)
U4_GA(x1, x2, x3)  =  U4_GA(x3)
ACK38_IN_GAA(x1, x2, x3)  =  ACK38_IN_GAA(x1)
U5_GAA(x1, x2, x3)  =  U5_GAA(x3)
U6_GAA(x1, x2, x3, x4)  =  U6_GAA(x4)
U7_GAA(x1, x2, x3, x4)  =  U7_GAA(x1, x4)
U8_GAA(x1, x2, x3, x4)  =  U8_GAA(x4)
U10_GGA(x1, x2, x3)  =  U10_GGA(x1, x3)
U11_GGA(x1, x2, x3)  =  U11_GGA(x3)
ACK1_IN_GAA(x1, x2, x3)  =  ACK1_IN_GAA(x1)
U9_GAA(x1, x2, x3)  =  U9_GAA(x3)
U10_GAA(x1, x2, x3)  =  U10_GAA(x1, x3)
U11_GAA(x1, x2, x3)  =  U11_GAA(x3)
U12_GAA(x1, x2, x3)  =  U12_GAA(x3)
U13_GAA(x1, x2, x3)  =  U13_GAA(x1, x3)
U14_GAA(x1, x2, x3)  =  U14_GAA(x3)
U15_GAA(x1, x2, x3, x4)  =  U15_GAA(x4)
U16_GAA(x1, x2, x3, x4)  =  U16_GAA(x1, x4)
U17_GAA(x1, x2, x3, x4)  =  U17_GAA(x4)
U18_GAA(x1, x2, x3, x4)  =  U18_GAA(x1, x4)
U19_GAA(x1, x2, x3, x4)  =  U19_GAA(x4)
U12_GGA(x1, x2, x3)  =  U12_GGA(x3)
U13_GGA(x1, x2, x3)  =  U13_GGA(x1, x3)
U14_GGA(x1, x2, x3)  =  U14_GGA(x3)
U15_GGA(x1, x2, x3, x4)  =  U15_GGA(x4)
ACK38_IN_GGA(x1, x2, x3)  =  ACK38_IN_GGA(x1, x2)
U5_GGA(x1, x2, x3)  =  U5_GGA(x3)
U6_GGA(x1, x2, x3, x4)  =  U6_GGA(x4)
U7_GGA(x1, x2, x3, x4)  =  U7_GGA(x1, x4)
U8_GGA(x1, x2, x3, x4)  =  U8_GGA(x4)
U16_GGA(x1, x2, x3, x4)  =  U16_GGA(x1, x4)
U17_GGA(x1, x2, x3, x4)  =  U17_GGA(x4)
U18_GGA(x1, x2, x3, x4)  =  U18_GGA(x1, x4)
U19_GGA(x1, x2, x3, x4)  =  U19_GGA(x4)

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

(41) Obligation:

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

ACK1_IN_GGA(s(s(T20)), 0, T22) → U9_GGA(T20, T22, ack21_in_ga(T20, X40))
ACK1_IN_GGA(s(s(T20)), 0, T22) → ACK21_IN_GA(T20, X40)
ACK21_IN_GA(T30, X73) → U1_GA(T30, X73, ack27_in_ga(T30, X73))
ACK21_IN_GA(T30, X73) → ACK27_IN_GA(T30, X73)
ACK27_IN_GA(s(T34), X97) → U2_GA(T34, X97, ack21_in_ga(T34, X96))
ACK27_IN_GA(s(T34), X97) → ACK21_IN_GA(T34, X96)
ACK27_IN_GA(s(T34), X97) → U3_GA(T34, X97, ack21_in_ga(T34, T36))
U3_GA(T34, X97, ack21_out_ga(T34, T36)) → U4_GA(T34, X97, ack38_in_gaa(T34, T36, X97))
U3_GA(T34, X97, ack21_out_ga(T34, T36)) → ACK38_IN_GAA(T34, T36, X97)
ACK38_IN_GAA(s(T49), 0, X133) → U5_GAA(T49, X133, ack27_in_ga(T49, X133))
ACK38_IN_GAA(s(T49), 0, X133) → ACK27_IN_GA(T49, X133)
ACK38_IN_GAA(s(T54), s(T55), X151) → U6_GAA(T54, T55, X151, ack38_in_gaa(s(T54), T55, X150))
ACK38_IN_GAA(s(T54), s(T55), X151) → ACK38_IN_GAA(s(T54), T55, X150)
ACK38_IN_GAA(s(T54), s(T55), X151) → U7_GAA(T54, T55, X151, ack38_in_gaa(s(T54), T55, T57))
U7_GAA(T54, T55, X151, ack38_out_gaa(s(T54), T55, T57)) → U8_GAA(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U7_GAA(T54, T55, X151, ack38_out_gaa(s(T54), T55, T57)) → ACK38_IN_GAA(T54, T57, X151)
ACK1_IN_GGA(s(s(T20)), 0, T22) → U10_GGA(T20, T22, ack21_in_ga(T20, T24))
U10_GGA(T20, T22, ack21_out_ga(T20, T24)) → U11_GGA(T20, T22, ack1_in_gaa(T20, T24, T22))
U10_GGA(T20, T22, ack21_out_ga(T20, T24)) → ACK1_IN_GAA(T20, T24, T22)
ACK1_IN_GAA(s(s(T20)), 0, T22) → U9_GAA(T20, T22, ack21_in_ga(T20, X40))
ACK1_IN_GAA(s(s(T20)), 0, T22) → ACK21_IN_GA(T20, X40)
ACK1_IN_GAA(s(s(T20)), 0, T22) → U10_GAA(T20, T22, ack21_in_ga(T20, T24))
U10_GAA(T20, T22, ack21_out_ga(T20, T24)) → U11_GAA(T20, T22, ack1_in_gaa(T20, T24, T22))
U10_GAA(T20, T22, ack21_out_ga(T20, T24)) → ACK1_IN_GAA(T20, T24, T22)
ACK1_IN_GAA(s(T76), s(0), T71) → U12_GAA(T76, T71, ack27_in_ga(T76, X200))
ACK1_IN_GAA(s(T76), s(0), T71) → ACK27_IN_GA(T76, X200)
ACK1_IN_GAA(s(T76), s(0), T71) → U13_GAA(T76, T71, ack27_in_ga(T76, T77))
U13_GAA(T76, T71, ack27_out_ga(T76, T77)) → U14_GAA(T76, T71, ack1_in_gaa(T76, T77, T71))
U13_GAA(T76, T71, ack27_out_ga(T76, T77)) → ACK1_IN_GAA(T76, T77, T71)
ACK1_IN_GAA(s(T84), s(s(T85)), T71) → U15_GAA(T84, T85, T71, ack38_in_gaa(s(T84), T85, X221))
ACK1_IN_GAA(s(T84), s(s(T85)), T71) → ACK38_IN_GAA(s(T84), T85, X221)
ACK1_IN_GAA(s(T84), s(s(T85)), T71) → U16_GAA(T84, T85, T71, ack38_in_gaa(s(T84), T85, T87))
U16_GAA(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U17_GAA(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U16_GAA(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → ACK38_IN_GAA(T84, T87, X222)
U16_GAA(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U18_GAA(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_GAA(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_GAA(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U18_GAA(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → ACK1_IN_GAA(T84, T91, T71)
ACK1_IN_GGA(s(T76), s(0), T71) → U12_GGA(T76, T71, ack27_in_ga(T76, X200))
ACK1_IN_GGA(s(T76), s(0), T71) → ACK27_IN_GA(T76, X200)
ACK1_IN_GGA(s(T76), s(0), T71) → U13_GGA(T76, T71, ack27_in_ga(T76, T77))
U13_GGA(T76, T71, ack27_out_ga(T76, T77)) → U14_GGA(T76, T71, ack1_in_gaa(T76, T77, T71))
U13_GGA(T76, T71, ack27_out_ga(T76, T77)) → ACK1_IN_GAA(T76, T77, T71)
ACK1_IN_GGA(s(T84), s(s(T85)), T71) → U15_GGA(T84, T85, T71, ack38_in_gga(s(T84), T85, X221))
ACK1_IN_GGA(s(T84), s(s(T85)), T71) → ACK38_IN_GGA(s(T84), T85, X221)
ACK38_IN_GGA(s(T49), 0, X133) → U5_GGA(T49, X133, ack27_in_ga(T49, X133))
ACK38_IN_GGA(s(T49), 0, X133) → ACK27_IN_GA(T49, X133)
ACK38_IN_GGA(s(T54), s(T55), X151) → U6_GGA(T54, T55, X151, ack38_in_gga(s(T54), T55, X150))
ACK38_IN_GGA(s(T54), s(T55), X151) → ACK38_IN_GGA(s(T54), T55, X150)
ACK38_IN_GGA(s(T54), s(T55), X151) → U7_GGA(T54, T55, X151, ack38_in_gga(s(T54), T55, T57))
U7_GGA(T54, T55, X151, ack38_out_gga(s(T54), T55, T57)) → U8_GGA(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U7_GGA(T54, T55, X151, ack38_out_gga(s(T54), T55, T57)) → ACK38_IN_GAA(T54, T57, X151)
ACK1_IN_GGA(s(T84), s(s(T85)), T71) → U16_GGA(T84, T85, T71, ack38_in_gga(s(T84), T85, T87))
U16_GGA(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U17_GGA(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U16_GGA(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → ACK38_IN_GAA(T84, T87, X222)
U16_GGA(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U18_GGA(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_GGA(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_GGA(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U18_GGA(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → ACK1_IN_GAA(T84, T91, T71)

The TRS R consists of the following rules:

ack1_in_gga(0, T5, s(T5)) → ack1_out_gga(0, T5, s(T5))
ack1_in_gga(s(0), 0, s(s(0))) → ack1_out_gga(s(0), 0, s(s(0)))
ack1_in_gga(s(s(T20)), 0, T22) → U9_gga(T20, T22, ack21_in_ga(T20, X40))
ack21_in_ga(T30, X73) → U1_ga(T30, X73, ack27_in_ga(T30, X73))
ack27_in_ga(0, s(s(0))) → ack27_out_ga(0, s(s(0)))
ack27_in_ga(s(T34), X97) → U2_ga(T34, X97, ack21_in_ga(T34, X96))
U2_ga(T34, X97, ack21_out_ga(T34, X96)) → ack27_out_ga(s(T34), X97)
ack27_in_ga(s(T34), X97) → U3_ga(T34, X97, ack21_in_ga(T34, T36))
U3_ga(T34, X97, ack21_out_ga(T34, T36)) → U4_ga(T34, X97, ack38_in_gaa(T34, T36, X97))
ack38_in_gaa(0, T44, s(T44)) → ack38_out_gaa(0, T44, s(T44))
ack38_in_gaa(s(T49), 0, X133) → U5_gaa(T49, X133, ack27_in_ga(T49, X133))
U5_gaa(T49, X133, ack27_out_ga(T49, X133)) → ack38_out_gaa(s(T49), 0, X133)
ack38_in_gaa(s(T54), s(T55), X151) → U6_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, X150))
ack38_in_gaa(s(T54), s(T55), X151) → U7_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, T57))
U7_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, T57)) → U8_gaa(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U8_gaa(T54, T55, X151, ack38_out_gaa(T54, T57, X151)) → ack38_out_gaa(s(T54), s(T55), X151)
U6_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, X150)) → ack38_out_gaa(s(T54), s(T55), X151)
U4_ga(T34, X97, ack38_out_gaa(T34, T36, X97)) → ack27_out_ga(s(T34), X97)
U1_ga(T30, X73, ack27_out_ga(T30, X73)) → ack21_out_ga(T30, X73)
U9_gga(T20, T22, ack21_out_ga(T20, X40)) → ack1_out_gga(s(s(T20)), 0, T22)
ack1_in_gga(s(s(T20)), 0, T22) → U10_gga(T20, T22, ack21_in_ga(T20, T24))
U10_gga(T20, T22, ack21_out_ga(T20, T24)) → U11_gga(T20, T22, ack1_in_gaa(T20, T24, T22))
ack1_in_gaa(0, T5, s(T5)) → ack1_out_gaa(0, T5, s(T5))
ack1_in_gaa(s(0), 0, s(s(0))) → ack1_out_gaa(s(0), 0, s(s(0)))
ack1_in_gaa(s(s(T20)), 0, T22) → U9_gaa(T20, T22, ack21_in_ga(T20, X40))
U9_gaa(T20, T22, ack21_out_ga(T20, X40)) → ack1_out_gaa(s(s(T20)), 0, T22)
ack1_in_gaa(s(s(T20)), 0, T22) → U10_gaa(T20, T22, ack21_in_ga(T20, T24))
U10_gaa(T20, T22, ack21_out_ga(T20, T24)) → U11_gaa(T20, T22, ack1_in_gaa(T20, T24, T22))
ack1_in_gaa(s(T76), s(0), T71) → U12_gaa(T76, T71, ack27_in_ga(T76, X200))
U12_gaa(T76, T71, ack27_out_ga(T76, X200)) → ack1_out_gaa(s(T76), s(0), T71)
ack1_in_gaa(s(T76), s(0), T71) → U13_gaa(T76, T71, ack27_in_ga(T76, T77))
U13_gaa(T76, T71, ack27_out_ga(T76, T77)) → U14_gaa(T76, T71, ack1_in_gaa(T76, T77, T71))
ack1_in_gaa(s(T84), s(s(T85)), T71) → U15_gaa(T84, T85, T71, ack38_in_gaa(s(T84), T85, X221))
U15_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, X221)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
ack1_in_gaa(s(T84), s(s(T85)), T71) → U16_gaa(T84, T85, T71, ack38_in_gaa(s(T84), T85, T87))
U16_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U17_gaa(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U17_gaa(T84, T85, T71, ack38_out_gaa(T84, T87, X222)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
U16_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U18_gaa(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_gaa(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_gaa(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U19_gaa(T84, T85, T71, ack1_out_gaa(T84, T91, T71)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
U14_gaa(T76, T71, ack1_out_gaa(T76, T77, T71)) → ack1_out_gaa(s(T76), s(0), T71)
U11_gaa(T20, T22, ack1_out_gaa(T20, T24, T22)) → ack1_out_gaa(s(s(T20)), 0, T22)
U11_gga(T20, T22, ack1_out_gaa(T20, T24, T22)) → ack1_out_gga(s(s(T20)), 0, T22)
ack1_in_gga(s(T76), s(0), T71) → U12_gga(T76, T71, ack27_in_ga(T76, X200))
U12_gga(T76, T71, ack27_out_ga(T76, X200)) → ack1_out_gga(s(T76), s(0), T71)
ack1_in_gga(s(T76), s(0), T71) → U13_gga(T76, T71, ack27_in_ga(T76, T77))
U13_gga(T76, T71, ack27_out_ga(T76, T77)) → U14_gga(T76, T71, ack1_in_gaa(T76, T77, T71))
U14_gga(T76, T71, ack1_out_gaa(T76, T77, T71)) → ack1_out_gga(s(T76), s(0), T71)
ack1_in_gga(s(T84), s(s(T85)), T71) → U15_gga(T84, T85, T71, ack38_in_gga(s(T84), T85, X221))
ack38_in_gga(0, T44, s(T44)) → ack38_out_gga(0, T44, s(T44))
ack38_in_gga(s(T49), 0, X133) → U5_gga(T49, X133, ack27_in_ga(T49, X133))
U5_gga(T49, X133, ack27_out_ga(T49, X133)) → ack38_out_gga(s(T49), 0, X133)
ack38_in_gga(s(T54), s(T55), X151) → U6_gga(T54, T55, X151, ack38_in_gga(s(T54), T55, X150))
ack38_in_gga(s(T54), s(T55), X151) → U7_gga(T54, T55, X151, ack38_in_gga(s(T54), T55, T57))
U7_gga(T54, T55, X151, ack38_out_gga(s(T54), T55, T57)) → U8_gga(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U8_gga(T54, T55, X151, ack38_out_gaa(T54, T57, X151)) → ack38_out_gga(s(T54), s(T55), X151)
U6_gga(T54, T55, X151, ack38_out_gga(s(T54), T55, X150)) → ack38_out_gga(s(T54), s(T55), X151)
U15_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, X221)) → ack1_out_gga(s(T84), s(s(T85)), T71)
ack1_in_gga(s(T84), s(s(T85)), T71) → U16_gga(T84, T85, T71, ack38_in_gga(s(T84), T85, T87))
U16_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U17_gga(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U17_gga(T84, T85, T71, ack38_out_gaa(T84, T87, X222)) → ack1_out_gga(s(T84), s(s(T85)), T71)
U16_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U18_gga(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_gga(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_gga(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U19_gga(T84, T85, T71, ack1_out_gaa(T84, T91, T71)) → ack1_out_gga(s(T84), s(s(T85)), T71)

The argument filtering Pi contains the following mapping:
ack1_in_gga(x1, x2, x3)  =  ack1_in_gga(x1, x2)
0  =  0
ack1_out_gga(x1, x2, x3)  =  ack1_out_gga
s(x1)  =  s(x1)
U9_gga(x1, x2, x3)  =  U9_gga(x3)
ack21_in_ga(x1, x2)  =  ack21_in_ga(x1)
U1_ga(x1, x2, x3)  =  U1_ga(x3)
ack27_in_ga(x1, x2)  =  ack27_in_ga(x1)
ack27_out_ga(x1, x2)  =  ack27_out_ga
U2_ga(x1, x2, x3)  =  U2_ga(x3)
ack21_out_ga(x1, x2)  =  ack21_out_ga
U3_ga(x1, x2, x3)  =  U3_ga(x1, x3)
U4_ga(x1, x2, x3)  =  U4_ga(x3)
ack38_in_gga(x1, x2, x3)  =  ack38_in_gga(x1, x2)
ack38_out_gga(x1, x2, x3)  =  ack38_out_gga
U5_gga(x1, x2, x3)  =  U5_gga(x3)
U6_gga(x1, x2, x3, x4)  =  U6_gga(x4)
U7_gga(x1, x2, x3, x4)  =  U7_gga(x1, x4)
U8_gga(x1, x2, x3, x4)  =  U8_gga(x4)
ack38_in_gaa(x1, x2, x3)  =  ack38_in_gaa(x1)
ack38_out_gaa(x1, x2, x3)  =  ack38_out_gaa
U5_gaa(x1, x2, x3)  =  U5_gaa(x3)
U6_gaa(x1, x2, x3, x4)  =  U6_gaa(x4)
U7_gaa(x1, x2, x3, x4)  =  U7_gaa(x1, x4)
U8_gaa(x1, x2, x3, x4)  =  U8_gaa(x4)
U10_gga(x1, x2, x3)  =  U10_gga(x1, x3)
U11_gga(x1, x2, x3)  =  U11_gga(x3)
ack1_in_gaa(x1, x2, x3)  =  ack1_in_gaa(x1)
ack1_out_gaa(x1, x2, x3)  =  ack1_out_gaa
U9_gaa(x1, x2, x3)  =  U9_gaa(x3)
U10_gaa(x1, x2, x3)  =  U10_gaa(x1, x3)
U11_gaa(x1, x2, x3)  =  U11_gaa(x3)
U12_gaa(x1, x2, x3)  =  U12_gaa(x3)
U13_gaa(x1, x2, x3)  =  U13_gaa(x1, x3)
U14_gaa(x1, x2, x3)  =  U14_gaa(x3)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x1, x4)
U17_gaa(x1, x2, x3, x4)  =  U17_gaa(x4)
U18_gaa(x1, x2, x3, x4)  =  U18_gaa(x1, x4)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x4)
U12_gga(x1, x2, x3)  =  U12_gga(x3)
U13_gga(x1, x2, x3)  =  U13_gga(x1, x3)
U14_gga(x1, x2, x3)  =  U14_gga(x3)
U15_gga(x1, x2, x3, x4)  =  U15_gga(x4)
U16_gga(x1, x2, x3, x4)  =  U16_gga(x1, x4)
U17_gga(x1, x2, x3, x4)  =  U17_gga(x4)
U18_gga(x1, x2, x3, x4)  =  U18_gga(x1, x4)
U19_gga(x1, x2, x3, x4)  =  U19_gga(x4)
ACK1_IN_GGA(x1, x2, x3)  =  ACK1_IN_GGA(x1, x2)
U9_GGA(x1, x2, x3)  =  U9_GGA(x3)
ACK21_IN_GA(x1, x2)  =  ACK21_IN_GA(x1)
U1_GA(x1, x2, x3)  =  U1_GA(x3)
ACK27_IN_GA(x1, x2)  =  ACK27_IN_GA(x1)
U2_GA(x1, x2, x3)  =  U2_GA(x3)
U3_GA(x1, x2, x3)  =  U3_GA(x1, x3)
U4_GA(x1, x2, x3)  =  U4_GA(x3)
ACK38_IN_GAA(x1, x2, x3)  =  ACK38_IN_GAA(x1)
U5_GAA(x1, x2, x3)  =  U5_GAA(x3)
U6_GAA(x1, x2, x3, x4)  =  U6_GAA(x4)
U7_GAA(x1, x2, x3, x4)  =  U7_GAA(x1, x4)
U8_GAA(x1, x2, x3, x4)  =  U8_GAA(x4)
U10_GGA(x1, x2, x3)  =  U10_GGA(x1, x3)
U11_GGA(x1, x2, x3)  =  U11_GGA(x3)
ACK1_IN_GAA(x1, x2, x3)  =  ACK1_IN_GAA(x1)
U9_GAA(x1, x2, x3)  =  U9_GAA(x3)
U10_GAA(x1, x2, x3)  =  U10_GAA(x1, x3)
U11_GAA(x1, x2, x3)  =  U11_GAA(x3)
U12_GAA(x1, x2, x3)  =  U12_GAA(x3)
U13_GAA(x1, x2, x3)  =  U13_GAA(x1, x3)
U14_GAA(x1, x2, x3)  =  U14_GAA(x3)
U15_GAA(x1, x2, x3, x4)  =  U15_GAA(x4)
U16_GAA(x1, x2, x3, x4)  =  U16_GAA(x1, x4)
U17_GAA(x1, x2, x3, x4)  =  U17_GAA(x4)
U18_GAA(x1, x2, x3, x4)  =  U18_GAA(x1, x4)
U19_GAA(x1, x2, x3, x4)  =  U19_GAA(x4)
U12_GGA(x1, x2, x3)  =  U12_GGA(x3)
U13_GGA(x1, x2, x3)  =  U13_GGA(x1, x3)
U14_GGA(x1, x2, x3)  =  U14_GGA(x3)
U15_GGA(x1, x2, x3, x4)  =  U15_GGA(x4)
ACK38_IN_GGA(x1, x2, x3)  =  ACK38_IN_GGA(x1, x2)
U5_GGA(x1, x2, x3)  =  U5_GGA(x3)
U6_GGA(x1, x2, x3, x4)  =  U6_GGA(x4)
U7_GGA(x1, x2, x3, x4)  =  U7_GGA(x1, x4)
U8_GGA(x1, x2, x3, x4)  =  U8_GGA(x4)
U16_GGA(x1, x2, x3, x4)  =  U16_GGA(x1, x4)
U17_GGA(x1, x2, x3, x4)  =  U17_GGA(x4)
U18_GGA(x1, x2, x3, x4)  =  U18_GGA(x1, x4)
U19_GGA(x1, x2, x3, x4)  =  U19_GGA(x4)

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

(42) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 3 SCCs with 41 less nodes.

(43) Complex Obligation (AND)

(44) Obligation:

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

ACK21_IN_GA(T30, X73) → ACK27_IN_GA(T30, X73)
ACK27_IN_GA(s(T34), X97) → ACK21_IN_GA(T34, X96)
ACK27_IN_GA(s(T34), X97) → U3_GA(T34, X97, ack21_in_ga(T34, T36))
U3_GA(T34, X97, ack21_out_ga(T34, T36)) → ACK38_IN_GAA(T34, T36, X97)
ACK38_IN_GAA(s(T49), 0, X133) → ACK27_IN_GA(T49, X133)
ACK38_IN_GAA(s(T54), s(T55), X151) → ACK38_IN_GAA(s(T54), T55, X150)
ACK38_IN_GAA(s(T54), s(T55), X151) → U7_GAA(T54, T55, X151, ack38_in_gaa(s(T54), T55, T57))
U7_GAA(T54, T55, X151, ack38_out_gaa(s(T54), T55, T57)) → ACK38_IN_GAA(T54, T57, X151)

The TRS R consists of the following rules:

ack1_in_gga(0, T5, s(T5)) → ack1_out_gga(0, T5, s(T5))
ack1_in_gga(s(0), 0, s(s(0))) → ack1_out_gga(s(0), 0, s(s(0)))
ack1_in_gga(s(s(T20)), 0, T22) → U9_gga(T20, T22, ack21_in_ga(T20, X40))
ack21_in_ga(T30, X73) → U1_ga(T30, X73, ack27_in_ga(T30, X73))
ack27_in_ga(0, s(s(0))) → ack27_out_ga(0, s(s(0)))
ack27_in_ga(s(T34), X97) → U2_ga(T34, X97, ack21_in_ga(T34, X96))
U2_ga(T34, X97, ack21_out_ga(T34, X96)) → ack27_out_ga(s(T34), X97)
ack27_in_ga(s(T34), X97) → U3_ga(T34, X97, ack21_in_ga(T34, T36))
U3_ga(T34, X97, ack21_out_ga(T34, T36)) → U4_ga(T34, X97, ack38_in_gaa(T34, T36, X97))
ack38_in_gaa(0, T44, s(T44)) → ack38_out_gaa(0, T44, s(T44))
ack38_in_gaa(s(T49), 0, X133) → U5_gaa(T49, X133, ack27_in_ga(T49, X133))
U5_gaa(T49, X133, ack27_out_ga(T49, X133)) → ack38_out_gaa(s(T49), 0, X133)
ack38_in_gaa(s(T54), s(T55), X151) → U6_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, X150))
ack38_in_gaa(s(T54), s(T55), X151) → U7_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, T57))
U7_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, T57)) → U8_gaa(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U8_gaa(T54, T55, X151, ack38_out_gaa(T54, T57, X151)) → ack38_out_gaa(s(T54), s(T55), X151)
U6_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, X150)) → ack38_out_gaa(s(T54), s(T55), X151)
U4_ga(T34, X97, ack38_out_gaa(T34, T36, X97)) → ack27_out_ga(s(T34), X97)
U1_ga(T30, X73, ack27_out_ga(T30, X73)) → ack21_out_ga(T30, X73)
U9_gga(T20, T22, ack21_out_ga(T20, X40)) → ack1_out_gga(s(s(T20)), 0, T22)
ack1_in_gga(s(s(T20)), 0, T22) → U10_gga(T20, T22, ack21_in_ga(T20, T24))
U10_gga(T20, T22, ack21_out_ga(T20, T24)) → U11_gga(T20, T22, ack1_in_gaa(T20, T24, T22))
ack1_in_gaa(0, T5, s(T5)) → ack1_out_gaa(0, T5, s(T5))
ack1_in_gaa(s(0), 0, s(s(0))) → ack1_out_gaa(s(0), 0, s(s(0)))
ack1_in_gaa(s(s(T20)), 0, T22) → U9_gaa(T20, T22, ack21_in_ga(T20, X40))
U9_gaa(T20, T22, ack21_out_ga(T20, X40)) → ack1_out_gaa(s(s(T20)), 0, T22)
ack1_in_gaa(s(s(T20)), 0, T22) → U10_gaa(T20, T22, ack21_in_ga(T20, T24))
U10_gaa(T20, T22, ack21_out_ga(T20, T24)) → U11_gaa(T20, T22, ack1_in_gaa(T20, T24, T22))
ack1_in_gaa(s(T76), s(0), T71) → U12_gaa(T76, T71, ack27_in_ga(T76, X200))
U12_gaa(T76, T71, ack27_out_ga(T76, X200)) → ack1_out_gaa(s(T76), s(0), T71)
ack1_in_gaa(s(T76), s(0), T71) → U13_gaa(T76, T71, ack27_in_ga(T76, T77))
U13_gaa(T76, T71, ack27_out_ga(T76, T77)) → U14_gaa(T76, T71, ack1_in_gaa(T76, T77, T71))
ack1_in_gaa(s(T84), s(s(T85)), T71) → U15_gaa(T84, T85, T71, ack38_in_gaa(s(T84), T85, X221))
U15_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, X221)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
ack1_in_gaa(s(T84), s(s(T85)), T71) → U16_gaa(T84, T85, T71, ack38_in_gaa(s(T84), T85, T87))
U16_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U17_gaa(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U17_gaa(T84, T85, T71, ack38_out_gaa(T84, T87, X222)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
U16_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U18_gaa(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_gaa(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_gaa(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U19_gaa(T84, T85, T71, ack1_out_gaa(T84, T91, T71)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
U14_gaa(T76, T71, ack1_out_gaa(T76, T77, T71)) → ack1_out_gaa(s(T76), s(0), T71)
U11_gaa(T20, T22, ack1_out_gaa(T20, T24, T22)) → ack1_out_gaa(s(s(T20)), 0, T22)
U11_gga(T20, T22, ack1_out_gaa(T20, T24, T22)) → ack1_out_gga(s(s(T20)), 0, T22)
ack1_in_gga(s(T76), s(0), T71) → U12_gga(T76, T71, ack27_in_ga(T76, X200))
U12_gga(T76, T71, ack27_out_ga(T76, X200)) → ack1_out_gga(s(T76), s(0), T71)
ack1_in_gga(s(T76), s(0), T71) → U13_gga(T76, T71, ack27_in_ga(T76, T77))
U13_gga(T76, T71, ack27_out_ga(T76, T77)) → U14_gga(T76, T71, ack1_in_gaa(T76, T77, T71))
U14_gga(T76, T71, ack1_out_gaa(T76, T77, T71)) → ack1_out_gga(s(T76), s(0), T71)
ack1_in_gga(s(T84), s(s(T85)), T71) → U15_gga(T84, T85, T71, ack38_in_gga(s(T84), T85, X221))
ack38_in_gga(0, T44, s(T44)) → ack38_out_gga(0, T44, s(T44))
ack38_in_gga(s(T49), 0, X133) → U5_gga(T49, X133, ack27_in_ga(T49, X133))
U5_gga(T49, X133, ack27_out_ga(T49, X133)) → ack38_out_gga(s(T49), 0, X133)
ack38_in_gga(s(T54), s(T55), X151) → U6_gga(T54, T55, X151, ack38_in_gga(s(T54), T55, X150))
ack38_in_gga(s(T54), s(T55), X151) → U7_gga(T54, T55, X151, ack38_in_gga(s(T54), T55, T57))
U7_gga(T54, T55, X151, ack38_out_gga(s(T54), T55, T57)) → U8_gga(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U8_gga(T54, T55, X151, ack38_out_gaa(T54, T57, X151)) → ack38_out_gga(s(T54), s(T55), X151)
U6_gga(T54, T55, X151, ack38_out_gga(s(T54), T55, X150)) → ack38_out_gga(s(T54), s(T55), X151)
U15_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, X221)) → ack1_out_gga(s(T84), s(s(T85)), T71)
ack1_in_gga(s(T84), s(s(T85)), T71) → U16_gga(T84, T85, T71, ack38_in_gga(s(T84), T85, T87))
U16_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U17_gga(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U17_gga(T84, T85, T71, ack38_out_gaa(T84, T87, X222)) → ack1_out_gga(s(T84), s(s(T85)), T71)
U16_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U18_gga(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_gga(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_gga(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U19_gga(T84, T85, T71, ack1_out_gaa(T84, T91, T71)) → ack1_out_gga(s(T84), s(s(T85)), T71)

The argument filtering Pi contains the following mapping:
ack1_in_gga(x1, x2, x3)  =  ack1_in_gga(x1, x2)
0  =  0
ack1_out_gga(x1, x2, x3)  =  ack1_out_gga
s(x1)  =  s(x1)
U9_gga(x1, x2, x3)  =  U9_gga(x3)
ack21_in_ga(x1, x2)  =  ack21_in_ga(x1)
U1_ga(x1, x2, x3)  =  U1_ga(x3)
ack27_in_ga(x1, x2)  =  ack27_in_ga(x1)
ack27_out_ga(x1, x2)  =  ack27_out_ga
U2_ga(x1, x2, x3)  =  U2_ga(x3)
ack21_out_ga(x1, x2)  =  ack21_out_ga
U3_ga(x1, x2, x3)  =  U3_ga(x1, x3)
U4_ga(x1, x2, x3)  =  U4_ga(x3)
ack38_in_gga(x1, x2, x3)  =  ack38_in_gga(x1, x2)
ack38_out_gga(x1, x2, x3)  =  ack38_out_gga
U5_gga(x1, x2, x3)  =  U5_gga(x3)
U6_gga(x1, x2, x3, x4)  =  U6_gga(x4)
U7_gga(x1, x2, x3, x4)  =  U7_gga(x1, x4)
U8_gga(x1, x2, x3, x4)  =  U8_gga(x4)
ack38_in_gaa(x1, x2, x3)  =  ack38_in_gaa(x1)
ack38_out_gaa(x1, x2, x3)  =  ack38_out_gaa
U5_gaa(x1, x2, x3)  =  U5_gaa(x3)
U6_gaa(x1, x2, x3, x4)  =  U6_gaa(x4)
U7_gaa(x1, x2, x3, x4)  =  U7_gaa(x1, x4)
U8_gaa(x1, x2, x3, x4)  =  U8_gaa(x4)
U10_gga(x1, x2, x3)  =  U10_gga(x1, x3)
U11_gga(x1, x2, x3)  =  U11_gga(x3)
ack1_in_gaa(x1, x2, x3)  =  ack1_in_gaa(x1)
ack1_out_gaa(x1, x2, x3)  =  ack1_out_gaa
U9_gaa(x1, x2, x3)  =  U9_gaa(x3)
U10_gaa(x1, x2, x3)  =  U10_gaa(x1, x3)
U11_gaa(x1, x2, x3)  =  U11_gaa(x3)
U12_gaa(x1, x2, x3)  =  U12_gaa(x3)
U13_gaa(x1, x2, x3)  =  U13_gaa(x1, x3)
U14_gaa(x1, x2, x3)  =  U14_gaa(x3)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x1, x4)
U17_gaa(x1, x2, x3, x4)  =  U17_gaa(x4)
U18_gaa(x1, x2, x3, x4)  =  U18_gaa(x1, x4)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x4)
U12_gga(x1, x2, x3)  =  U12_gga(x3)
U13_gga(x1, x2, x3)  =  U13_gga(x1, x3)
U14_gga(x1, x2, x3)  =  U14_gga(x3)
U15_gga(x1, x2, x3, x4)  =  U15_gga(x4)
U16_gga(x1, x2, x3, x4)  =  U16_gga(x1, x4)
U17_gga(x1, x2, x3, x4)  =  U17_gga(x4)
U18_gga(x1, x2, x3, x4)  =  U18_gga(x1, x4)
U19_gga(x1, x2, x3, x4)  =  U19_gga(x4)
ACK21_IN_GA(x1, x2)  =  ACK21_IN_GA(x1)
ACK27_IN_GA(x1, x2)  =  ACK27_IN_GA(x1)
U3_GA(x1, x2, x3)  =  U3_GA(x1, x3)
ACK38_IN_GAA(x1, x2, x3)  =  ACK38_IN_GAA(x1)
U7_GAA(x1, x2, x3, x4)  =  U7_GAA(x1, x4)

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

(45) UsableRulesProof (EQUIVALENT transformation)

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

(46) Obligation:

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

ACK21_IN_GA(T30, X73) → ACK27_IN_GA(T30, X73)
ACK27_IN_GA(s(T34), X97) → ACK21_IN_GA(T34, X96)
ACK27_IN_GA(s(T34), X97) → U3_GA(T34, X97, ack21_in_ga(T34, T36))
U3_GA(T34, X97, ack21_out_ga(T34, T36)) → ACK38_IN_GAA(T34, T36, X97)
ACK38_IN_GAA(s(T49), 0, X133) → ACK27_IN_GA(T49, X133)
ACK38_IN_GAA(s(T54), s(T55), X151) → ACK38_IN_GAA(s(T54), T55, X150)
ACK38_IN_GAA(s(T54), s(T55), X151) → U7_GAA(T54, T55, X151, ack38_in_gaa(s(T54), T55, T57))
U7_GAA(T54, T55, X151, ack38_out_gaa(s(T54), T55, T57)) → ACK38_IN_GAA(T54, T57, X151)

The TRS R consists of the following rules:

ack21_in_ga(T30, X73) → U1_ga(T30, X73, ack27_in_ga(T30, X73))
ack38_in_gaa(s(T49), 0, X133) → U5_gaa(T49, X133, ack27_in_ga(T49, X133))
ack38_in_gaa(s(T54), s(T55), X151) → U6_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, X150))
ack38_in_gaa(s(T54), s(T55), X151) → U7_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, T57))
U1_ga(T30, X73, ack27_out_ga(T30, X73)) → ack21_out_ga(T30, X73)
U5_gaa(T49, X133, ack27_out_ga(T49, X133)) → ack38_out_gaa(s(T49), 0, X133)
U6_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, X150)) → ack38_out_gaa(s(T54), s(T55), X151)
U7_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, T57)) → U8_gaa(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
ack27_in_ga(0, s(s(0))) → ack27_out_ga(0, s(s(0)))
ack27_in_ga(s(T34), X97) → U2_ga(T34, X97, ack21_in_ga(T34, X96))
ack27_in_ga(s(T34), X97) → U3_ga(T34, X97, ack21_in_ga(T34, T36))
U8_gaa(T54, T55, X151, ack38_out_gaa(T54, T57, X151)) → ack38_out_gaa(s(T54), s(T55), X151)
U2_ga(T34, X97, ack21_out_ga(T34, X96)) → ack27_out_ga(s(T34), X97)
U3_ga(T34, X97, ack21_out_ga(T34, T36)) → U4_ga(T34, X97, ack38_in_gaa(T34, T36, X97))
ack38_in_gaa(0, T44, s(T44)) → ack38_out_gaa(0, T44, s(T44))
U4_ga(T34, X97, ack38_out_gaa(T34, T36, X97)) → ack27_out_ga(s(T34), X97)

The argument filtering Pi contains the following mapping:
0  =  0
s(x1)  =  s(x1)
ack21_in_ga(x1, x2)  =  ack21_in_ga(x1)
U1_ga(x1, x2, x3)  =  U1_ga(x3)
ack27_in_ga(x1, x2)  =  ack27_in_ga(x1)
ack27_out_ga(x1, x2)  =  ack27_out_ga
U2_ga(x1, x2, x3)  =  U2_ga(x3)
ack21_out_ga(x1, x2)  =  ack21_out_ga
U3_ga(x1, x2, x3)  =  U3_ga(x1, x3)
U4_ga(x1, x2, x3)  =  U4_ga(x3)
ack38_in_gaa(x1, x2, x3)  =  ack38_in_gaa(x1)
ack38_out_gaa(x1, x2, x3)  =  ack38_out_gaa
U5_gaa(x1, x2, x3)  =  U5_gaa(x3)
U6_gaa(x1, x2, x3, x4)  =  U6_gaa(x4)
U7_gaa(x1, x2, x3, x4)  =  U7_gaa(x1, x4)
U8_gaa(x1, x2, x3, x4)  =  U8_gaa(x4)
ACK21_IN_GA(x1, x2)  =  ACK21_IN_GA(x1)
ACK27_IN_GA(x1, x2)  =  ACK27_IN_GA(x1)
U3_GA(x1, x2, x3)  =  U3_GA(x1, x3)
ACK38_IN_GAA(x1, x2, x3)  =  ACK38_IN_GAA(x1)
U7_GAA(x1, x2, x3, x4)  =  U7_GAA(x1, x4)

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

(47) PiDPToQDPProof (SOUND transformation)

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

(48) Obligation:

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

ACK21_IN_GA(T30) → ACK27_IN_GA(T30)
ACK27_IN_GA(s(T34)) → ACK21_IN_GA(T34)
ACK27_IN_GA(s(T34)) → U3_GA(T34, ack21_in_ga(T34))
U3_GA(T34, ack21_out_ga) → ACK38_IN_GAA(T34)
ACK38_IN_GAA(s(T49)) → ACK27_IN_GA(T49)
ACK38_IN_GAA(s(T54)) → ACK38_IN_GAA(s(T54))
ACK38_IN_GAA(s(T54)) → U7_GAA(T54, ack38_in_gaa(s(T54)))
U7_GAA(T54, ack38_out_gaa) → ACK38_IN_GAA(T54)

The TRS R consists of the following rules:

ack21_in_ga(T30) → U1_ga(ack27_in_ga(T30))
ack38_in_gaa(s(T49)) → U5_gaa(ack27_in_ga(T49))
ack38_in_gaa(s(T54)) → U6_gaa(ack38_in_gaa(s(T54)))
ack38_in_gaa(s(T54)) → U7_gaa(T54, ack38_in_gaa(s(T54)))
U1_ga(ack27_out_ga) → ack21_out_ga
U5_gaa(ack27_out_ga) → ack38_out_gaa
U6_gaa(ack38_out_gaa) → ack38_out_gaa
U7_gaa(T54, ack38_out_gaa) → U8_gaa(ack38_in_gaa(T54))
ack27_in_ga(0) → ack27_out_ga
ack27_in_ga(s(T34)) → U2_ga(ack21_in_ga(T34))
ack27_in_ga(s(T34)) → U3_ga(T34, ack21_in_ga(T34))
U8_gaa(ack38_out_gaa) → ack38_out_gaa
U2_ga(ack21_out_ga) → ack27_out_ga
U3_ga(T34, ack21_out_ga) → U4_ga(ack38_in_gaa(T34))
ack38_in_gaa(0) → ack38_out_gaa
U4_ga(ack38_out_gaa) → ack27_out_ga

The set Q consists of the following terms:

ack21_in_ga(x0)
ack38_in_gaa(x0)
U1_ga(x0)
U5_gaa(x0)
U6_gaa(x0)
U7_gaa(x0, x1)
ack27_in_ga(x0)
U8_gaa(x0)
U2_ga(x0)
U3_ga(x0, x1)
U4_ga(x0)

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

(49) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


ACK27_IN_GA(s(T34)) → ACK21_IN_GA(T34)
U3_GA(T34, ack21_out_ga) → ACK38_IN_GAA(T34)
ACK38_IN_GAA(s(T49)) → ACK27_IN_GA(T49)
U7_GAA(T54, ack38_out_gaa) → ACK38_IN_GAA(T54)
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(0) = 1   
POL(ACK21_IN_GA(x1)) = x1   
POL(ACK27_IN_GA(x1)) = x1   
POL(ACK38_IN_GAA(x1)) = x1   
POL(U1_ga(x1)) = 0   
POL(U2_ga(x1)) = 0   
POL(U3_GA(x1, x2)) = 1 + x1   
POL(U3_ga(x1, x2)) = 0   
POL(U4_ga(x1)) = 0   
POL(U5_gaa(x1)) = 0   
POL(U6_gaa(x1)) = 0   
POL(U7_GAA(x1, x2)) = 1 + x1   
POL(U7_gaa(x1, x2)) = 0   
POL(U8_gaa(x1)) = 0   
POL(ack21_in_ga(x1)) = 0   
POL(ack21_out_ga) = 0   
POL(ack27_in_ga(x1)) = 1 + x1   
POL(ack27_out_ga) = 1   
POL(ack38_in_gaa(x1)) = 1 + x1   
POL(ack38_out_gaa) = 1   
POL(s(x1)) = 1 + x1   

The following usable rules [FROCOS05] were oriented: none

(50) Obligation:

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

ACK21_IN_GA(T30) → ACK27_IN_GA(T30)
ACK27_IN_GA(s(T34)) → U3_GA(T34, ack21_in_ga(T34))
ACK38_IN_GAA(s(T54)) → ACK38_IN_GAA(s(T54))
ACK38_IN_GAA(s(T54)) → U7_GAA(T54, ack38_in_gaa(s(T54)))

The TRS R consists of the following rules:

ack21_in_ga(T30) → U1_ga(ack27_in_ga(T30))
ack38_in_gaa(s(T49)) → U5_gaa(ack27_in_ga(T49))
ack38_in_gaa(s(T54)) → U6_gaa(ack38_in_gaa(s(T54)))
ack38_in_gaa(s(T54)) → U7_gaa(T54, ack38_in_gaa(s(T54)))
U1_ga(ack27_out_ga) → ack21_out_ga
U5_gaa(ack27_out_ga) → ack38_out_gaa
U6_gaa(ack38_out_gaa) → ack38_out_gaa
U7_gaa(T54, ack38_out_gaa) → U8_gaa(ack38_in_gaa(T54))
ack27_in_ga(0) → ack27_out_ga
ack27_in_ga(s(T34)) → U2_ga(ack21_in_ga(T34))
ack27_in_ga(s(T34)) → U3_ga(T34, ack21_in_ga(T34))
U8_gaa(ack38_out_gaa) → ack38_out_gaa
U2_ga(ack21_out_ga) → ack27_out_ga
U3_ga(T34, ack21_out_ga) → U4_ga(ack38_in_gaa(T34))
ack38_in_gaa(0) → ack38_out_gaa
U4_ga(ack38_out_gaa) → ack27_out_ga

The set Q consists of the following terms:

ack21_in_ga(x0)
ack38_in_gaa(x0)
U1_ga(x0)
U5_gaa(x0)
U6_gaa(x0)
U7_gaa(x0, x1)
ack27_in_ga(x0)
U8_gaa(x0)
U2_ga(x0)
U3_ga(x0, x1)
U4_ga(x0)

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

(51) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes.

(52) Obligation:

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

ACK38_IN_GAA(s(T54)) → ACK38_IN_GAA(s(T54))

The TRS R consists of the following rules:

ack21_in_ga(T30) → U1_ga(ack27_in_ga(T30))
ack38_in_gaa(s(T49)) → U5_gaa(ack27_in_ga(T49))
ack38_in_gaa(s(T54)) → U6_gaa(ack38_in_gaa(s(T54)))
ack38_in_gaa(s(T54)) → U7_gaa(T54, ack38_in_gaa(s(T54)))
U1_ga(ack27_out_ga) → ack21_out_ga
U5_gaa(ack27_out_ga) → ack38_out_gaa
U6_gaa(ack38_out_gaa) → ack38_out_gaa
U7_gaa(T54, ack38_out_gaa) → U8_gaa(ack38_in_gaa(T54))
ack27_in_ga(0) → ack27_out_ga
ack27_in_ga(s(T34)) → U2_ga(ack21_in_ga(T34))
ack27_in_ga(s(T34)) → U3_ga(T34, ack21_in_ga(T34))
U8_gaa(ack38_out_gaa) → ack38_out_gaa
U2_ga(ack21_out_ga) → ack27_out_ga
U3_ga(T34, ack21_out_ga) → U4_ga(ack38_in_gaa(T34))
ack38_in_gaa(0) → ack38_out_gaa
U4_ga(ack38_out_gaa) → ack27_out_ga

The set Q consists of the following terms:

ack21_in_ga(x0)
ack38_in_gaa(x0)
U1_ga(x0)
U5_gaa(x0)
U6_gaa(x0)
U7_gaa(x0, x1)
ack27_in_ga(x0)
U8_gaa(x0)
U2_ga(x0)
U3_ga(x0, x1)
U4_ga(x0)

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

(53) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(54) Obligation:

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

ACK38_IN_GAA(s(T54)) → ACK38_IN_GAA(s(T54))

R is empty.
The set Q consists of the following terms:

ack21_in_ga(x0)
ack38_in_gaa(x0)
U1_ga(x0)
U5_gaa(x0)
U6_gaa(x0)
U7_gaa(x0, x1)
ack27_in_ga(x0)
U8_gaa(x0)
U2_ga(x0)
U3_ga(x0, x1)
U4_ga(x0)

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

(55) QReductionProof (EQUIVALENT transformation)

We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].

ack21_in_ga(x0)
ack38_in_gaa(x0)
U1_ga(x0)
U5_gaa(x0)
U6_gaa(x0)
U7_gaa(x0, x1)
ack27_in_ga(x0)
U8_gaa(x0)
U2_ga(x0)
U3_ga(x0, x1)
U4_ga(x0)

(56) Obligation:

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

ACK38_IN_GAA(s(T54)) → ACK38_IN_GAA(s(T54))

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

(57) NonTerminationProof (EQUIVALENT transformation)

We used the non-termination processor [FROCOS05] to show that the DP problem is infinite.
Found a loop by semiunifying a rule from P directly.

s = ACK38_IN_GAA(s(T54)) evaluates to t =ACK38_IN_GAA(s(T54))

Thus s starts an infinite chain as s semiunifies with t with the following substitutions:
  • Semiunifier: [ ]
  • Matcher: [ ]




Rewriting sequence

The DP semiunifies directly so there is only one rewrite step from ACK38_IN_GAA(s(T54)) to ACK38_IN_GAA(s(T54)).



(58) NO

(59) Obligation:

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

ACK38_IN_GGA(s(T54), s(T55), X151) → ACK38_IN_GGA(s(T54), T55, X150)

The TRS R consists of the following rules:

ack1_in_gga(0, T5, s(T5)) → ack1_out_gga(0, T5, s(T5))
ack1_in_gga(s(0), 0, s(s(0))) → ack1_out_gga(s(0), 0, s(s(0)))
ack1_in_gga(s(s(T20)), 0, T22) → U9_gga(T20, T22, ack21_in_ga(T20, X40))
ack21_in_ga(T30, X73) → U1_ga(T30, X73, ack27_in_ga(T30, X73))
ack27_in_ga(0, s(s(0))) → ack27_out_ga(0, s(s(0)))
ack27_in_ga(s(T34), X97) → U2_ga(T34, X97, ack21_in_ga(T34, X96))
U2_ga(T34, X97, ack21_out_ga(T34, X96)) → ack27_out_ga(s(T34), X97)
ack27_in_ga(s(T34), X97) → U3_ga(T34, X97, ack21_in_ga(T34, T36))
U3_ga(T34, X97, ack21_out_ga(T34, T36)) → U4_ga(T34, X97, ack38_in_gaa(T34, T36, X97))
ack38_in_gaa(0, T44, s(T44)) → ack38_out_gaa(0, T44, s(T44))
ack38_in_gaa(s(T49), 0, X133) → U5_gaa(T49, X133, ack27_in_ga(T49, X133))
U5_gaa(T49, X133, ack27_out_ga(T49, X133)) → ack38_out_gaa(s(T49), 0, X133)
ack38_in_gaa(s(T54), s(T55), X151) → U6_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, X150))
ack38_in_gaa(s(T54), s(T55), X151) → U7_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, T57))
U7_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, T57)) → U8_gaa(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U8_gaa(T54, T55, X151, ack38_out_gaa(T54, T57, X151)) → ack38_out_gaa(s(T54), s(T55), X151)
U6_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, X150)) → ack38_out_gaa(s(T54), s(T55), X151)
U4_ga(T34, X97, ack38_out_gaa(T34, T36, X97)) → ack27_out_ga(s(T34), X97)
U1_ga(T30, X73, ack27_out_ga(T30, X73)) → ack21_out_ga(T30, X73)
U9_gga(T20, T22, ack21_out_ga(T20, X40)) → ack1_out_gga(s(s(T20)), 0, T22)
ack1_in_gga(s(s(T20)), 0, T22) → U10_gga(T20, T22, ack21_in_ga(T20, T24))
U10_gga(T20, T22, ack21_out_ga(T20, T24)) → U11_gga(T20, T22, ack1_in_gaa(T20, T24, T22))
ack1_in_gaa(0, T5, s(T5)) → ack1_out_gaa(0, T5, s(T5))
ack1_in_gaa(s(0), 0, s(s(0))) → ack1_out_gaa(s(0), 0, s(s(0)))
ack1_in_gaa(s(s(T20)), 0, T22) → U9_gaa(T20, T22, ack21_in_ga(T20, X40))
U9_gaa(T20, T22, ack21_out_ga(T20, X40)) → ack1_out_gaa(s(s(T20)), 0, T22)
ack1_in_gaa(s(s(T20)), 0, T22) → U10_gaa(T20, T22, ack21_in_ga(T20, T24))
U10_gaa(T20, T22, ack21_out_ga(T20, T24)) → U11_gaa(T20, T22, ack1_in_gaa(T20, T24, T22))
ack1_in_gaa(s(T76), s(0), T71) → U12_gaa(T76, T71, ack27_in_ga(T76, X200))
U12_gaa(T76, T71, ack27_out_ga(T76, X200)) → ack1_out_gaa(s(T76), s(0), T71)
ack1_in_gaa(s(T76), s(0), T71) → U13_gaa(T76, T71, ack27_in_ga(T76, T77))
U13_gaa(T76, T71, ack27_out_ga(T76, T77)) → U14_gaa(T76, T71, ack1_in_gaa(T76, T77, T71))
ack1_in_gaa(s(T84), s(s(T85)), T71) → U15_gaa(T84, T85, T71, ack38_in_gaa(s(T84), T85, X221))
U15_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, X221)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
ack1_in_gaa(s(T84), s(s(T85)), T71) → U16_gaa(T84, T85, T71, ack38_in_gaa(s(T84), T85, T87))
U16_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U17_gaa(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U17_gaa(T84, T85, T71, ack38_out_gaa(T84, T87, X222)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
U16_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U18_gaa(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_gaa(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_gaa(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U19_gaa(T84, T85, T71, ack1_out_gaa(T84, T91, T71)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
U14_gaa(T76, T71, ack1_out_gaa(T76, T77, T71)) → ack1_out_gaa(s(T76), s(0), T71)
U11_gaa(T20, T22, ack1_out_gaa(T20, T24, T22)) → ack1_out_gaa(s(s(T20)), 0, T22)
U11_gga(T20, T22, ack1_out_gaa(T20, T24, T22)) → ack1_out_gga(s(s(T20)), 0, T22)
ack1_in_gga(s(T76), s(0), T71) → U12_gga(T76, T71, ack27_in_ga(T76, X200))
U12_gga(T76, T71, ack27_out_ga(T76, X200)) → ack1_out_gga(s(T76), s(0), T71)
ack1_in_gga(s(T76), s(0), T71) → U13_gga(T76, T71, ack27_in_ga(T76, T77))
U13_gga(T76, T71, ack27_out_ga(T76, T77)) → U14_gga(T76, T71, ack1_in_gaa(T76, T77, T71))
U14_gga(T76, T71, ack1_out_gaa(T76, T77, T71)) → ack1_out_gga(s(T76), s(0), T71)
ack1_in_gga(s(T84), s(s(T85)), T71) → U15_gga(T84, T85, T71, ack38_in_gga(s(T84), T85, X221))
ack38_in_gga(0, T44, s(T44)) → ack38_out_gga(0, T44, s(T44))
ack38_in_gga(s(T49), 0, X133) → U5_gga(T49, X133, ack27_in_ga(T49, X133))
U5_gga(T49, X133, ack27_out_ga(T49, X133)) → ack38_out_gga(s(T49), 0, X133)
ack38_in_gga(s(T54), s(T55), X151) → U6_gga(T54, T55, X151, ack38_in_gga(s(T54), T55, X150))
ack38_in_gga(s(T54), s(T55), X151) → U7_gga(T54, T55, X151, ack38_in_gga(s(T54), T55, T57))
U7_gga(T54, T55, X151, ack38_out_gga(s(T54), T55, T57)) → U8_gga(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U8_gga(T54, T55, X151, ack38_out_gaa(T54, T57, X151)) → ack38_out_gga(s(T54), s(T55), X151)
U6_gga(T54, T55, X151, ack38_out_gga(s(T54), T55, X150)) → ack38_out_gga(s(T54), s(T55), X151)
U15_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, X221)) → ack1_out_gga(s(T84), s(s(T85)), T71)
ack1_in_gga(s(T84), s(s(T85)), T71) → U16_gga(T84, T85, T71, ack38_in_gga(s(T84), T85, T87))
U16_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U17_gga(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U17_gga(T84, T85, T71, ack38_out_gaa(T84, T87, X222)) → ack1_out_gga(s(T84), s(s(T85)), T71)
U16_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U18_gga(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_gga(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_gga(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U19_gga(T84, T85, T71, ack1_out_gaa(T84, T91, T71)) → ack1_out_gga(s(T84), s(s(T85)), T71)

The argument filtering Pi contains the following mapping:
ack1_in_gga(x1, x2, x3)  =  ack1_in_gga(x1, x2)
0  =  0
ack1_out_gga(x1, x2, x3)  =  ack1_out_gga
s(x1)  =  s(x1)
U9_gga(x1, x2, x3)  =  U9_gga(x3)
ack21_in_ga(x1, x2)  =  ack21_in_ga(x1)
U1_ga(x1, x2, x3)  =  U1_ga(x3)
ack27_in_ga(x1, x2)  =  ack27_in_ga(x1)
ack27_out_ga(x1, x2)  =  ack27_out_ga
U2_ga(x1, x2, x3)  =  U2_ga(x3)
ack21_out_ga(x1, x2)  =  ack21_out_ga
U3_ga(x1, x2, x3)  =  U3_ga(x1, x3)
U4_ga(x1, x2, x3)  =  U4_ga(x3)
ack38_in_gga(x1, x2, x3)  =  ack38_in_gga(x1, x2)
ack38_out_gga(x1, x2, x3)  =  ack38_out_gga
U5_gga(x1, x2, x3)  =  U5_gga(x3)
U6_gga(x1, x2, x3, x4)  =  U6_gga(x4)
U7_gga(x1, x2, x3, x4)  =  U7_gga(x1, x4)
U8_gga(x1, x2, x3, x4)  =  U8_gga(x4)
ack38_in_gaa(x1, x2, x3)  =  ack38_in_gaa(x1)
ack38_out_gaa(x1, x2, x3)  =  ack38_out_gaa
U5_gaa(x1, x2, x3)  =  U5_gaa(x3)
U6_gaa(x1, x2, x3, x4)  =  U6_gaa(x4)
U7_gaa(x1, x2, x3, x4)  =  U7_gaa(x1, x4)
U8_gaa(x1, x2, x3, x4)  =  U8_gaa(x4)
U10_gga(x1, x2, x3)  =  U10_gga(x1, x3)
U11_gga(x1, x2, x3)  =  U11_gga(x3)
ack1_in_gaa(x1, x2, x3)  =  ack1_in_gaa(x1)
ack1_out_gaa(x1, x2, x3)  =  ack1_out_gaa
U9_gaa(x1, x2, x3)  =  U9_gaa(x3)
U10_gaa(x1, x2, x3)  =  U10_gaa(x1, x3)
U11_gaa(x1, x2, x3)  =  U11_gaa(x3)
U12_gaa(x1, x2, x3)  =  U12_gaa(x3)
U13_gaa(x1, x2, x3)  =  U13_gaa(x1, x3)
U14_gaa(x1, x2, x3)  =  U14_gaa(x3)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x1, x4)
U17_gaa(x1, x2, x3, x4)  =  U17_gaa(x4)
U18_gaa(x1, x2, x3, x4)  =  U18_gaa(x1, x4)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x4)
U12_gga(x1, x2, x3)  =  U12_gga(x3)
U13_gga(x1, x2, x3)  =  U13_gga(x1, x3)
U14_gga(x1, x2, x3)  =  U14_gga(x3)
U15_gga(x1, x2, x3, x4)  =  U15_gga(x4)
U16_gga(x1, x2, x3, x4)  =  U16_gga(x1, x4)
U17_gga(x1, x2, x3, x4)  =  U17_gga(x4)
U18_gga(x1, x2, x3, x4)  =  U18_gga(x1, x4)
U19_gga(x1, x2, x3, x4)  =  U19_gga(x4)
ACK38_IN_GGA(x1, x2, x3)  =  ACK38_IN_GGA(x1, x2)

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

(60) UsableRulesProof (EQUIVALENT transformation)

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

(61) Obligation:

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

ACK38_IN_GGA(s(T54), s(T55), X151) → ACK38_IN_GGA(s(T54), T55, X150)

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

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

(62) PiDPToQDPProof (SOUND transformation)

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

(63) Obligation:

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

ACK38_IN_GGA(s(T54), s(T55)) → ACK38_IN_GGA(s(T54), T55)

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

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

  • ACK38_IN_GGA(s(T54), s(T55)) → ACK38_IN_GGA(s(T54), T55)
    The graph contains the following edges 1 >= 1, 2 > 2

(65) YES

(66) Obligation:

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

ACK1_IN_GAA(s(s(T20)), 0, T22) → U10_GAA(T20, T22, ack21_in_ga(T20, T24))
U10_GAA(T20, T22, ack21_out_ga(T20, T24)) → ACK1_IN_GAA(T20, T24, T22)
ACK1_IN_GAA(s(T76), s(0), T71) → U13_GAA(T76, T71, ack27_in_ga(T76, T77))
U13_GAA(T76, T71, ack27_out_ga(T76, T77)) → ACK1_IN_GAA(T76, T77, T71)
ACK1_IN_GAA(s(T84), s(s(T85)), T71) → U16_GAA(T84, T85, T71, ack38_in_gaa(s(T84), T85, T87))
U16_GAA(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U18_GAA(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_GAA(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → ACK1_IN_GAA(T84, T91, T71)

The TRS R consists of the following rules:

ack1_in_gga(0, T5, s(T5)) → ack1_out_gga(0, T5, s(T5))
ack1_in_gga(s(0), 0, s(s(0))) → ack1_out_gga(s(0), 0, s(s(0)))
ack1_in_gga(s(s(T20)), 0, T22) → U9_gga(T20, T22, ack21_in_ga(T20, X40))
ack21_in_ga(T30, X73) → U1_ga(T30, X73, ack27_in_ga(T30, X73))
ack27_in_ga(0, s(s(0))) → ack27_out_ga(0, s(s(0)))
ack27_in_ga(s(T34), X97) → U2_ga(T34, X97, ack21_in_ga(T34, X96))
U2_ga(T34, X97, ack21_out_ga(T34, X96)) → ack27_out_ga(s(T34), X97)
ack27_in_ga(s(T34), X97) → U3_ga(T34, X97, ack21_in_ga(T34, T36))
U3_ga(T34, X97, ack21_out_ga(T34, T36)) → U4_ga(T34, X97, ack38_in_gaa(T34, T36, X97))
ack38_in_gaa(0, T44, s(T44)) → ack38_out_gaa(0, T44, s(T44))
ack38_in_gaa(s(T49), 0, X133) → U5_gaa(T49, X133, ack27_in_ga(T49, X133))
U5_gaa(T49, X133, ack27_out_ga(T49, X133)) → ack38_out_gaa(s(T49), 0, X133)
ack38_in_gaa(s(T54), s(T55), X151) → U6_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, X150))
ack38_in_gaa(s(T54), s(T55), X151) → U7_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, T57))
U7_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, T57)) → U8_gaa(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U8_gaa(T54, T55, X151, ack38_out_gaa(T54, T57, X151)) → ack38_out_gaa(s(T54), s(T55), X151)
U6_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, X150)) → ack38_out_gaa(s(T54), s(T55), X151)
U4_ga(T34, X97, ack38_out_gaa(T34, T36, X97)) → ack27_out_ga(s(T34), X97)
U1_ga(T30, X73, ack27_out_ga(T30, X73)) → ack21_out_ga(T30, X73)
U9_gga(T20, T22, ack21_out_ga(T20, X40)) → ack1_out_gga(s(s(T20)), 0, T22)
ack1_in_gga(s(s(T20)), 0, T22) → U10_gga(T20, T22, ack21_in_ga(T20, T24))
U10_gga(T20, T22, ack21_out_ga(T20, T24)) → U11_gga(T20, T22, ack1_in_gaa(T20, T24, T22))
ack1_in_gaa(0, T5, s(T5)) → ack1_out_gaa(0, T5, s(T5))
ack1_in_gaa(s(0), 0, s(s(0))) → ack1_out_gaa(s(0), 0, s(s(0)))
ack1_in_gaa(s(s(T20)), 0, T22) → U9_gaa(T20, T22, ack21_in_ga(T20, X40))
U9_gaa(T20, T22, ack21_out_ga(T20, X40)) → ack1_out_gaa(s(s(T20)), 0, T22)
ack1_in_gaa(s(s(T20)), 0, T22) → U10_gaa(T20, T22, ack21_in_ga(T20, T24))
U10_gaa(T20, T22, ack21_out_ga(T20, T24)) → U11_gaa(T20, T22, ack1_in_gaa(T20, T24, T22))
ack1_in_gaa(s(T76), s(0), T71) → U12_gaa(T76, T71, ack27_in_ga(T76, X200))
U12_gaa(T76, T71, ack27_out_ga(T76, X200)) → ack1_out_gaa(s(T76), s(0), T71)
ack1_in_gaa(s(T76), s(0), T71) → U13_gaa(T76, T71, ack27_in_ga(T76, T77))
U13_gaa(T76, T71, ack27_out_ga(T76, T77)) → U14_gaa(T76, T71, ack1_in_gaa(T76, T77, T71))
ack1_in_gaa(s(T84), s(s(T85)), T71) → U15_gaa(T84, T85, T71, ack38_in_gaa(s(T84), T85, X221))
U15_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, X221)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
ack1_in_gaa(s(T84), s(s(T85)), T71) → U16_gaa(T84, T85, T71, ack38_in_gaa(s(T84), T85, T87))
U16_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U17_gaa(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U17_gaa(T84, T85, T71, ack38_out_gaa(T84, T87, X222)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
U16_gaa(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U18_gaa(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_gaa(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_gaa(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U19_gaa(T84, T85, T71, ack1_out_gaa(T84, T91, T71)) → ack1_out_gaa(s(T84), s(s(T85)), T71)
U14_gaa(T76, T71, ack1_out_gaa(T76, T77, T71)) → ack1_out_gaa(s(T76), s(0), T71)
U11_gaa(T20, T22, ack1_out_gaa(T20, T24, T22)) → ack1_out_gaa(s(s(T20)), 0, T22)
U11_gga(T20, T22, ack1_out_gaa(T20, T24, T22)) → ack1_out_gga(s(s(T20)), 0, T22)
ack1_in_gga(s(T76), s(0), T71) → U12_gga(T76, T71, ack27_in_ga(T76, X200))
U12_gga(T76, T71, ack27_out_ga(T76, X200)) → ack1_out_gga(s(T76), s(0), T71)
ack1_in_gga(s(T76), s(0), T71) → U13_gga(T76, T71, ack27_in_ga(T76, T77))
U13_gga(T76, T71, ack27_out_ga(T76, T77)) → U14_gga(T76, T71, ack1_in_gaa(T76, T77, T71))
U14_gga(T76, T71, ack1_out_gaa(T76, T77, T71)) → ack1_out_gga(s(T76), s(0), T71)
ack1_in_gga(s(T84), s(s(T85)), T71) → U15_gga(T84, T85, T71, ack38_in_gga(s(T84), T85, X221))
ack38_in_gga(0, T44, s(T44)) → ack38_out_gga(0, T44, s(T44))
ack38_in_gga(s(T49), 0, X133) → U5_gga(T49, X133, ack27_in_ga(T49, X133))
U5_gga(T49, X133, ack27_out_ga(T49, X133)) → ack38_out_gga(s(T49), 0, X133)
ack38_in_gga(s(T54), s(T55), X151) → U6_gga(T54, T55, X151, ack38_in_gga(s(T54), T55, X150))
ack38_in_gga(s(T54), s(T55), X151) → U7_gga(T54, T55, X151, ack38_in_gga(s(T54), T55, T57))
U7_gga(T54, T55, X151, ack38_out_gga(s(T54), T55, T57)) → U8_gga(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U8_gga(T54, T55, X151, ack38_out_gaa(T54, T57, X151)) → ack38_out_gga(s(T54), s(T55), X151)
U6_gga(T54, T55, X151, ack38_out_gga(s(T54), T55, X150)) → ack38_out_gga(s(T54), s(T55), X151)
U15_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, X221)) → ack1_out_gga(s(T84), s(s(T85)), T71)
ack1_in_gga(s(T84), s(s(T85)), T71) → U16_gga(T84, T85, T71, ack38_in_gga(s(T84), T85, T87))
U16_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U17_gga(T84, T85, T71, ack38_in_gaa(T84, T87, X222))
U17_gga(T84, T85, T71, ack38_out_gaa(T84, T87, X222)) → ack1_out_gga(s(T84), s(s(T85)), T71)
U16_gga(T84, T85, T71, ack38_out_gga(s(T84), T85, T87)) → U18_gga(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_gga(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → U19_gga(T84, T85, T71, ack1_in_gaa(T84, T91, T71))
U19_gga(T84, T85, T71, ack1_out_gaa(T84, T91, T71)) → ack1_out_gga(s(T84), s(s(T85)), T71)

The argument filtering Pi contains the following mapping:
ack1_in_gga(x1, x2, x3)  =  ack1_in_gga(x1, x2)
0  =  0
ack1_out_gga(x1, x2, x3)  =  ack1_out_gga
s(x1)  =  s(x1)
U9_gga(x1, x2, x3)  =  U9_gga(x3)
ack21_in_ga(x1, x2)  =  ack21_in_ga(x1)
U1_ga(x1, x2, x3)  =  U1_ga(x3)
ack27_in_ga(x1, x2)  =  ack27_in_ga(x1)
ack27_out_ga(x1, x2)  =  ack27_out_ga
U2_ga(x1, x2, x3)  =  U2_ga(x3)
ack21_out_ga(x1, x2)  =  ack21_out_ga
U3_ga(x1, x2, x3)  =  U3_ga(x1, x3)
U4_ga(x1, x2, x3)  =  U4_ga(x3)
ack38_in_gga(x1, x2, x3)  =  ack38_in_gga(x1, x2)
ack38_out_gga(x1, x2, x3)  =  ack38_out_gga
U5_gga(x1, x2, x3)  =  U5_gga(x3)
U6_gga(x1, x2, x3, x4)  =  U6_gga(x4)
U7_gga(x1, x2, x3, x4)  =  U7_gga(x1, x4)
U8_gga(x1, x2, x3, x4)  =  U8_gga(x4)
ack38_in_gaa(x1, x2, x3)  =  ack38_in_gaa(x1)
ack38_out_gaa(x1, x2, x3)  =  ack38_out_gaa
U5_gaa(x1, x2, x3)  =  U5_gaa(x3)
U6_gaa(x1, x2, x3, x4)  =  U6_gaa(x4)
U7_gaa(x1, x2, x3, x4)  =  U7_gaa(x1, x4)
U8_gaa(x1, x2, x3, x4)  =  U8_gaa(x4)
U10_gga(x1, x2, x3)  =  U10_gga(x1, x3)
U11_gga(x1, x2, x3)  =  U11_gga(x3)
ack1_in_gaa(x1, x2, x3)  =  ack1_in_gaa(x1)
ack1_out_gaa(x1, x2, x3)  =  ack1_out_gaa
U9_gaa(x1, x2, x3)  =  U9_gaa(x3)
U10_gaa(x1, x2, x3)  =  U10_gaa(x1, x3)
U11_gaa(x1, x2, x3)  =  U11_gaa(x3)
U12_gaa(x1, x2, x3)  =  U12_gaa(x3)
U13_gaa(x1, x2, x3)  =  U13_gaa(x1, x3)
U14_gaa(x1, x2, x3)  =  U14_gaa(x3)
U15_gaa(x1, x2, x3, x4)  =  U15_gaa(x4)
U16_gaa(x1, x2, x3, x4)  =  U16_gaa(x1, x4)
U17_gaa(x1, x2, x3, x4)  =  U17_gaa(x4)
U18_gaa(x1, x2, x3, x4)  =  U18_gaa(x1, x4)
U19_gaa(x1, x2, x3, x4)  =  U19_gaa(x4)
U12_gga(x1, x2, x3)  =  U12_gga(x3)
U13_gga(x1, x2, x3)  =  U13_gga(x1, x3)
U14_gga(x1, x2, x3)  =  U14_gga(x3)
U15_gga(x1, x2, x3, x4)  =  U15_gga(x4)
U16_gga(x1, x2, x3, x4)  =  U16_gga(x1, x4)
U17_gga(x1, x2, x3, x4)  =  U17_gga(x4)
U18_gga(x1, x2, x3, x4)  =  U18_gga(x1, x4)
U19_gga(x1, x2, x3, x4)  =  U19_gga(x4)
ACK1_IN_GAA(x1, x2, x3)  =  ACK1_IN_GAA(x1)
U10_GAA(x1, x2, x3)  =  U10_GAA(x1, x3)
U13_GAA(x1, x2, x3)  =  U13_GAA(x1, x3)
U16_GAA(x1, x2, x3, x4)  =  U16_GAA(x1, x4)
U18_GAA(x1, x2, x3, x4)  =  U18_GAA(x1, x4)

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

(67) UsableRulesProof (EQUIVALENT transformation)

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

(68) Obligation:

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

ACK1_IN_GAA(s(s(T20)), 0, T22) → U10_GAA(T20, T22, ack21_in_ga(T20, T24))
U10_GAA(T20, T22, ack21_out_ga(T20, T24)) → ACK1_IN_GAA(T20, T24, T22)
ACK1_IN_GAA(s(T76), s(0), T71) → U13_GAA(T76, T71, ack27_in_ga(T76, T77))
U13_GAA(T76, T71, ack27_out_ga(T76, T77)) → ACK1_IN_GAA(T76, T77, T71)
ACK1_IN_GAA(s(T84), s(s(T85)), T71) → U16_GAA(T84, T85, T71, ack38_in_gaa(s(T84), T85, T87))
U16_GAA(T84, T85, T71, ack38_out_gaa(s(T84), T85, T87)) → U18_GAA(T84, T85, T71, ack38_in_gaa(T84, T87, T91))
U18_GAA(T84, T85, T71, ack38_out_gaa(T84, T87, T91)) → ACK1_IN_GAA(T84, T91, T71)

The TRS R consists of the following rules:

ack21_in_ga(T30, X73) → U1_ga(T30, X73, ack27_in_ga(T30, X73))
ack27_in_ga(0, s(s(0))) → ack27_out_ga(0, s(s(0)))
ack27_in_ga(s(T34), X97) → U2_ga(T34, X97, ack21_in_ga(T34, X96))
ack27_in_ga(s(T34), X97) → U3_ga(T34, X97, ack21_in_ga(T34, T36))
ack38_in_gaa(s(T49), 0, X133) → U5_gaa(T49, X133, ack27_in_ga(T49, X133))
ack38_in_gaa(s(T54), s(T55), X151) → U6_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, X150))
ack38_in_gaa(s(T54), s(T55), X151) → U7_gaa(T54, T55, X151, ack38_in_gaa(s(T54), T55, T57))
ack38_in_gaa(0, T44, s(T44)) → ack38_out_gaa(0, T44, s(T44))
U1_ga(T30, X73, ack27_out_ga(T30, X73)) → ack21_out_ga(T30, X73)
U2_ga(T34, X97, ack21_out_ga(T34, X96)) → ack27_out_ga(s(T34), X97)
U3_ga(T34, X97, ack21_out_ga(T34, T36)) → U4_ga(T34, X97, ack38_in_gaa(T34, T36, X97))
U5_gaa(T49, X133, ack27_out_ga(T49, X133)) → ack38_out_gaa(s(T49), 0, X133)
U6_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, X150)) → ack38_out_gaa(s(T54), s(T55), X151)
U7_gaa(T54, T55, X151, ack38_out_gaa(s(T54), T55, T57)) → U8_gaa(T54, T55, X151, ack38_in_gaa(T54, T57, X151))
U4_ga(T34, X97, ack38_out_gaa(T34, T36, X97)) → ack27_out_ga(s(T34), X97)
U8_gaa(T54, T55, X151, ack38_out_gaa(T54, T57, X151)) → ack38_out_gaa(s(T54), s(T55), X151)

The argument filtering Pi contains the following mapping:
0  =  0
s(x1)  =  s(x1)
ack21_in_ga(x1, x2)  =  ack21_in_ga(x1)
U1_ga(x1, x2, x3)  =  U1_ga(x3)
ack27_in_ga(x1, x2)  =  ack27_in_ga(x1)
ack27_out_ga(x1, x2)  =  ack27_out_ga
U2_ga(x1, x2, x3)  =  U2_ga(x3)
ack21_out_ga(x1, x2)  =  ack21_out_ga
U3_ga(x1, x2, x3)  =  U3_ga(x1, x3)
U4_ga(x1, x2, x3)  =  U4_ga(x3)
ack38_in_gaa(x1, x2, x3)  =  ack38_in_gaa(x1)
ack38_out_gaa(x1, x2, x3)  =  ack38_out_gaa
U5_gaa(x1, x2, x3)  =  U5_gaa(x3)
U6_gaa(x1, x2, x3, x4)  =  U6_gaa(x4)
U7_gaa(x1, x2, x3, x4)  =  U7_gaa(x1, x4)
U8_gaa(x1, x2, x3, x4)  =  U8_gaa(x4)
ACK1_IN_GAA(x1, x2, x3)  =  ACK1_IN_GAA(x1)
U10_GAA(x1, x2, x3)  =  U10_GAA(x1, x3)
U13_GAA(x1, x2, x3)  =  U13_GAA(x1, x3)
U16_GAA(x1, x2, x3, x4)  =  U16_GAA(x1, x4)
U18_GAA(x1, x2, x3, x4)  =  U18_GAA(x1, x4)

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

(69) PiDPToQDPProof (SOUND transformation)

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

(70) Obligation:

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

ACK1_IN_GAA(s(s(T20))) → U10_GAA(T20, ack21_in_ga(T20))
U10_GAA(T20, ack21_out_ga) → ACK1_IN_GAA(T20)
ACK1_IN_GAA(s(T76)) → U13_GAA(T76, ack27_in_ga(T76))
U13_GAA(T76, ack27_out_ga) → ACK1_IN_GAA(T76)
ACK1_IN_GAA(s(T84)) → U16_GAA(T84, ack38_in_gaa(s(T84)))
U16_GAA(T84, ack38_out_gaa) → U18_GAA(T84, ack38_in_gaa(T84))
U18_GAA(T84, ack38_out_gaa) → ACK1_IN_GAA(T84)

The TRS R consists of the following rules:

ack21_in_ga(T30) → U1_ga(ack27_in_ga(T30))
ack27_in_ga(0) → ack27_out_ga
ack27_in_ga(s(T34)) → U2_ga(ack21_in_ga(T34))
ack27_in_ga(s(T34)) → U3_ga(T34, ack21_in_ga(T34))
ack38_in_gaa(s(T49)) → U5_gaa(ack27_in_ga(T49))
ack38_in_gaa(s(T54)) → U6_gaa(ack38_in_gaa(s(T54)))
ack38_in_gaa(s(T54)) → U7_gaa(T54, ack38_in_gaa(s(T54)))
ack38_in_gaa(0) → ack38_out_gaa
U1_ga(ack27_out_ga) → ack21_out_ga
U2_ga(ack21_out_ga) → ack27_out_ga
U3_ga(T34, ack21_out_ga) → U4_ga(ack38_in_gaa(T34))
U5_gaa(ack27_out_ga) → ack38_out_gaa
U6_gaa(ack38_out_gaa) → ack38_out_gaa
U7_gaa(T54, ack38_out_gaa) → U8_gaa(ack38_in_gaa(T54))
U4_ga(ack38_out_gaa) → ack27_out_ga
U8_gaa(ack38_out_gaa) → ack38_out_gaa

The set Q consists of the following terms:

ack21_in_ga(x0)
ack27_in_ga(x0)
ack38_in_gaa(x0)
U1_ga(x0)
U2_ga(x0)
U3_ga(x0, x1)
U5_gaa(x0)
U6_gaa(x0)
U7_gaa(x0, x1)
U4_ga(x0)
U8_gaa(x0)

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

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

  • U10_GAA(T20, ack21_out_ga) → ACK1_IN_GAA(T20)
    The graph contains the following edges 1 >= 1

  • ACK1_IN_GAA(s(s(T20))) → U10_GAA(T20, ack21_in_ga(T20))
    The graph contains the following edges 1 > 1

  • U16_GAA(T84, ack38_out_gaa) → U18_GAA(T84, ack38_in_gaa(T84))
    The graph contains the following edges 1 >= 1

  • U13_GAA(T76, ack27_out_ga) → ACK1_IN_GAA(T76)
    The graph contains the following edges 1 >= 1

  • U18_GAA(T84, ack38_out_gaa) → ACK1_IN_GAA(T84)
    The graph contains the following edges 1 >= 1

  • ACK1_IN_GAA(s(T76)) → U13_GAA(T76, ack27_in_ga(T76))
    The graph contains the following edges 1 > 1

  • ACK1_IN_GAA(s(T84)) → U16_GAA(T84, ack38_in_gaa(s(T84)))
    The graph contains the following edges 1 > 1

(72) YES