(0) Obligation:

Clauses:

ackerman(0, N, s(N)).
ackerman(s(M), 0, Res) :- ackerman(M, s(0), Res).
ackerman(s(M), s(N), Res) :- ','(ackerman(s(M), N, Res1), ackerman(M, Res1, Res)).

Queries:

ackerman(g,g,a).

(1) PrologToDTProblemTransformerProof (SOUND transformation)

Built DT problem from termination graph.

(2) Obligation:

Triples:

ackerman21(T30, X73) :- ackerman27(T30, X73).
ackerman27(s(T34), X97) :- ackerman21(T34, X96).
ackerman27(s(T34), X97) :- ','(ackermanc21(T34, T36), ackerman38(T34, T36, X97)).
ackerman38(s(T49), 0, X133) :- ackerman27(T49, X133).
ackerman38(s(T54), s(T55), X151) :- ackerman38(s(T54), T55, X150).
ackerman38(s(T54), s(T55), X151) :- ','(ackermanc38(s(T54), T55, T57), ackerman38(T54, T57, X151)).
ackerman1(s(s(T20)), 0, T22) :- ackerman21(T20, X40).
ackerman1(s(s(T20)), 0, T22) :- ','(ackermanc21(T20, T24), ackerman1(T20, T24, T22)).
ackerman1(s(T76), s(0), T71) :- ackerman27(T76, X200).
ackerman1(s(T76), s(0), T71) :- ','(ackermanc27(T76, T77), ackerman1(T76, T77, T71)).
ackerman1(s(T84), s(s(T85)), T71) :- ackerman38(s(T84), T85, X221).
ackerman1(s(T84), s(s(T85)), T71) :- ','(ackermanc38(s(T84), T85, T87), ackerman38(T84, T87, X222)).
ackerman1(s(T84), s(s(T85)), T71) :- ','(ackermanc38(s(T84), T85, T87), ','(ackermanc38(T84, T87, T91), ackerman1(T84, T91, T71))).

Clauses:

ackermanc1(0, T5, s(T5)).
ackermanc1(s(0), 0, s(s(0))).
ackermanc1(s(s(T20)), 0, T22) :- ','(ackermanc21(T20, T24), ackermanc1(T20, T24, T22)).
ackermanc1(s(T76), s(0), T71) :- ','(ackermanc27(T76, T77), ackermanc1(T76, T77, T71)).
ackermanc1(s(T84), s(s(T85)), T71) :- ','(ackermanc38(s(T84), T85, T87), ','(ackermanc38(T84, T87, T91), ackermanc1(T84, T91, T71))).
ackermanc21(T30, X73) :- ackermanc27(T30, X73).
ackermanc27(0, s(s(0))).
ackermanc27(s(T34), X97) :- ','(ackermanc21(T34, T36), ackermanc38(T34, T36, X97)).
ackermanc38(0, T44, s(T44)).
ackermanc38(s(T49), 0, X133) :- ackermanc27(T49, X133).
ackermanc38(s(T54), s(T55), X151) :- ','(ackermanc38(s(T54), T55, T57), ackermanc38(T54, T57, X151)).

Afs:

ackerman1(x1, x2, x3)  =  ackerman1(x1, x2)

(3) TriplesToPiDPProof (SOUND transformation)

We use the technique of [LOPSTR]. With regard to the inferred argument filtering the predicates were used in the following modes:
ackerman1_in: (b,b,f)
ackerman21_in: (b,f)
ackerman27_in: (b,f)
ackermanc21_in: (b,f)
ackermanc27_in: (b,f)
ackermanc38_in: (b,b,f)
ackerman38_in: (b,b,f)
Transforming TRIPLES into the following Term Rewriting System:
Pi DP problem:
The TRS P consists of the following rules:

ACKERMAN1_IN_GGA(s(s(T20)), 0, T22) → U9_GGA(T20, T22, ackerman21_in_ga(T20, X40))
ACKERMAN1_IN_GGA(s(s(T20)), 0, T22) → ACKERMAN21_IN_GA(T20, X40)
ACKERMAN21_IN_GA(T30, X73) → U1_GA(T30, X73, ackerman27_in_ga(T30, X73))
ACKERMAN21_IN_GA(T30, X73) → ACKERMAN27_IN_GA(T30, X73)
ACKERMAN27_IN_GA(s(T34), X97) → U2_GA(T34, X97, ackerman21_in_ga(T34, X96))
ACKERMAN27_IN_GA(s(T34), X97) → ACKERMAN21_IN_GA(T34, X96)
ACKERMAN27_IN_GA(s(T34), X97) → U3_GA(T34, X97, ackermanc21_in_ga(T34, T36))
U3_GA(T34, X97, ackermanc21_out_ga(T34, T36)) → U4_GA(T34, X97, ackerman38_in_gga(T34, T36, X97))
U3_GA(T34, X97, ackermanc21_out_ga(T34, T36)) → ACKERMAN38_IN_GGA(T34, T36, X97)
ACKERMAN38_IN_GGA(s(T49), 0, X133) → U5_GGA(T49, X133, ackerman27_in_ga(T49, X133))
ACKERMAN38_IN_GGA(s(T49), 0, X133) → ACKERMAN27_IN_GA(T49, X133)
ACKERMAN38_IN_GGA(s(T54), s(T55), X151) → U6_GGA(T54, T55, X151, ackerman38_in_gga(s(T54), T55, X150))
ACKERMAN38_IN_GGA(s(T54), s(T55), X151) → ACKERMAN38_IN_GGA(s(T54), T55, X150)
ACKERMAN38_IN_GGA(s(T54), s(T55), X151) → U7_GGA(T54, T55, X151, ackermanc38_in_gga(s(T54), T55, T57))
U7_GGA(T54, T55, X151, ackermanc38_out_gga(s(T54), T55, T57)) → U8_GGA(T54, T55, X151, ackerman38_in_gga(T54, T57, X151))
U7_GGA(T54, T55, X151, ackermanc38_out_gga(s(T54), T55, T57)) → ACKERMAN38_IN_GGA(T54, T57, X151)
ACKERMAN1_IN_GGA(s(s(T20)), 0, T22) → U10_GGA(T20, T22, ackermanc21_in_ga(T20, T24))
U10_GGA(T20, T22, ackermanc21_out_ga(T20, T24)) → U11_GGA(T20, T22, ackerman1_in_gga(T20, T24, T22))
U10_GGA(T20, T22, ackermanc21_out_ga(T20, T24)) → ACKERMAN1_IN_GGA(T20, T24, T22)
ACKERMAN1_IN_GGA(s(T76), s(0), T71) → U12_GGA(T76, T71, ackerman27_in_ga(T76, X200))
ACKERMAN1_IN_GGA(s(T76), s(0), T71) → ACKERMAN27_IN_GA(T76, X200)
ACKERMAN1_IN_GGA(s(T76), s(0), T71) → U13_GGA(T76, T71, ackermanc27_in_ga(T76, T77))
U13_GGA(T76, T71, ackermanc27_out_ga(T76, T77)) → U14_GGA(T76, T71, ackerman1_in_gga(T76, T77, T71))
U13_GGA(T76, T71, ackermanc27_out_ga(T76, T77)) → ACKERMAN1_IN_GGA(T76, T77, T71)
ACKERMAN1_IN_GGA(s(T84), s(s(T85)), T71) → U15_GGA(T84, T85, T71, ackerman38_in_gga(s(T84), T85, X221))
ACKERMAN1_IN_GGA(s(T84), s(s(T85)), T71) → ACKERMAN38_IN_GGA(s(T84), T85, X221)
ACKERMAN1_IN_GGA(s(T84), s(s(T85)), T71) → U16_GGA(T84, T85, T71, ackermanc38_in_gga(s(T84), T85, T87))
U16_GGA(T84, T85, T71, ackermanc38_out_gga(s(T84), T85, T87)) → U17_GGA(T84, T85, T71, ackerman38_in_gga(T84, T87, X222))
U16_GGA(T84, T85, T71, ackermanc38_out_gga(s(T84), T85, T87)) → ACKERMAN38_IN_GGA(T84, T87, X222)
U16_GGA(T84, T85, T71, ackermanc38_out_gga(s(T84), T85, T87)) → U18_GGA(T84, T85, T71, ackermanc38_in_gga(T84, T87, T91))
U18_GGA(T84, T85, T71, ackermanc38_out_gga(T84, T87, T91)) → U19_GGA(T84, T85, T71, ackerman1_in_gga(T84, T91, T71))
U18_GGA(T84, T85, T71, ackermanc38_out_gga(T84, T87, T91)) → ACKERMAN1_IN_GGA(T84, T91, T71)

The TRS R consists of the following rules:

ackermanc21_in_ga(T30, X73) → U28_ga(T30, X73, ackermanc27_in_ga(T30, X73))
ackermanc27_in_ga(0, s(s(0))) → ackermanc27_out_ga(0, s(s(0)))
ackermanc27_in_ga(s(T34), X97) → U29_ga(T34, X97, ackermanc21_in_ga(T34, T36))
U29_ga(T34, X97, ackermanc21_out_ga(T34, T36)) → U30_ga(T34, X97, ackermanc38_in_gga(T34, T36, X97))
ackermanc38_in_gga(0, T44, s(T44)) → ackermanc38_out_gga(0, T44, s(T44))
ackermanc38_in_gga(s(T49), 0, X133) → U31_gga(T49, X133, ackermanc27_in_ga(T49, X133))
U31_gga(T49, X133, ackermanc27_out_ga(T49, X133)) → ackermanc38_out_gga(s(T49), 0, X133)
ackermanc38_in_gga(s(T54), s(T55), X151) → U32_gga(T54, T55, X151, ackermanc38_in_gga(s(T54), T55, T57))
U32_gga(T54, T55, X151, ackermanc38_out_gga(s(T54), T55, T57)) → U33_gga(T54, T55, X151, ackermanc38_in_gga(T54, T57, X151))
U33_gga(T54, T55, X151, ackermanc38_out_gga(T54, T57, X151)) → ackermanc38_out_gga(s(T54), s(T55), X151)
U30_ga(T34, X97, ackermanc38_out_gga(T34, T36, X97)) → ackermanc27_out_ga(s(T34), X97)
U28_ga(T30, X73, ackermanc27_out_ga(T30, X73)) → ackermanc21_out_ga(T30, X73)

The argument filtering Pi contains the following mapping:
ackerman1_in_gga(x1, x2, x3)  =  ackerman1_in_gga(x1, x2)
s(x1)  =  s(x1)
0  =  0
ackerman21_in_ga(x1, x2)  =  ackerman21_in_ga(x1)
ackerman27_in_ga(x1, x2)  =  ackerman27_in_ga(x1)
ackermanc21_in_ga(x1, x2)  =  ackermanc21_in_ga(x1)
U28_ga(x1, x2, x3)  =  U28_ga(x1, x3)
ackermanc27_in_ga(x1, x2)  =  ackermanc27_in_ga(x1)
ackermanc27_out_ga(x1, x2)  =  ackermanc27_out_ga(x1, x2)
U29_ga(x1, x2, x3)  =  U29_ga(x1, x3)
ackermanc21_out_ga(x1, x2)  =  ackermanc21_out_ga(x1, x2)
U30_ga(x1, x2, x3)  =  U30_ga(x1, x3)
ackermanc38_in_gga(x1, x2, x3)  =  ackermanc38_in_gga(x1, x2)
ackermanc38_out_gga(x1, x2, x3)  =  ackermanc38_out_gga(x1, x2, x3)
U31_gga(x1, x2, x3)  =  U31_gga(x1, x3)
U32_gga(x1, x2, x3, x4)  =  U32_gga(x1, x2, x4)
U33_gga(x1, x2, x3, x4)  =  U33_gga(x1, x2, x4)
ackerman38_in_gga(x1, x2, x3)  =  ackerman38_in_gga(x1, x2)
ACKERMAN1_IN_GGA(x1, x2, x3)  =  ACKERMAN1_IN_GGA(x1, x2)
U9_GGA(x1, x2, x3)  =  U9_GGA(x1, x3)
ACKERMAN21_IN_GA(x1, x2)  =  ACKERMAN21_IN_GA(x1)
U1_GA(x1, x2, x3)  =  U1_GA(x1, x3)
ACKERMAN27_IN_GA(x1, x2)  =  ACKERMAN27_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)
ACKERMAN38_IN_GGA(x1, x2, x3)  =  ACKERMAN38_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)
U10_GGA(x1, x2, x3)  =  U10_GGA(x1, x3)
U11_GGA(x1, x2, x3)  =  U11_GGA(x1, x3)
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)

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

Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES

(4) Obligation:

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

ACKERMAN1_IN_GGA(s(s(T20)), 0, T22) → U9_GGA(T20, T22, ackerman21_in_ga(T20, X40))
ACKERMAN1_IN_GGA(s(s(T20)), 0, T22) → ACKERMAN21_IN_GA(T20, X40)
ACKERMAN21_IN_GA(T30, X73) → U1_GA(T30, X73, ackerman27_in_ga(T30, X73))
ACKERMAN21_IN_GA(T30, X73) → ACKERMAN27_IN_GA(T30, X73)
ACKERMAN27_IN_GA(s(T34), X97) → U2_GA(T34, X97, ackerman21_in_ga(T34, X96))
ACKERMAN27_IN_GA(s(T34), X97) → ACKERMAN21_IN_GA(T34, X96)
ACKERMAN27_IN_GA(s(T34), X97) → U3_GA(T34, X97, ackermanc21_in_ga(T34, T36))
U3_GA(T34, X97, ackermanc21_out_ga(T34, T36)) → U4_GA(T34, X97, ackerman38_in_gga(T34, T36, X97))
U3_GA(T34, X97, ackermanc21_out_ga(T34, T36)) → ACKERMAN38_IN_GGA(T34, T36, X97)
ACKERMAN38_IN_GGA(s(T49), 0, X133) → U5_GGA(T49, X133, ackerman27_in_ga(T49, X133))
ACKERMAN38_IN_GGA(s(T49), 0, X133) → ACKERMAN27_IN_GA(T49, X133)
ACKERMAN38_IN_GGA(s(T54), s(T55), X151) → U6_GGA(T54, T55, X151, ackerman38_in_gga(s(T54), T55, X150))
ACKERMAN38_IN_GGA(s(T54), s(T55), X151) → ACKERMAN38_IN_GGA(s(T54), T55, X150)
ACKERMAN38_IN_GGA(s(T54), s(T55), X151) → U7_GGA(T54, T55, X151, ackermanc38_in_gga(s(T54), T55, T57))
U7_GGA(T54, T55, X151, ackermanc38_out_gga(s(T54), T55, T57)) → U8_GGA(T54, T55, X151, ackerman38_in_gga(T54, T57, X151))
U7_GGA(T54, T55, X151, ackermanc38_out_gga(s(T54), T55, T57)) → ACKERMAN38_IN_GGA(T54, T57, X151)
ACKERMAN1_IN_GGA(s(s(T20)), 0, T22) → U10_GGA(T20, T22, ackermanc21_in_ga(T20, T24))
U10_GGA(T20, T22, ackermanc21_out_ga(T20, T24)) → U11_GGA(T20, T22, ackerman1_in_gga(T20, T24, T22))
U10_GGA(T20, T22, ackermanc21_out_ga(T20, T24)) → ACKERMAN1_IN_GGA(T20, T24, T22)
ACKERMAN1_IN_GGA(s(T76), s(0), T71) → U12_GGA(T76, T71, ackerman27_in_ga(T76, X200))
ACKERMAN1_IN_GGA(s(T76), s(0), T71) → ACKERMAN27_IN_GA(T76, X200)
ACKERMAN1_IN_GGA(s(T76), s(0), T71) → U13_GGA(T76, T71, ackermanc27_in_ga(T76, T77))
U13_GGA(T76, T71, ackermanc27_out_ga(T76, T77)) → U14_GGA(T76, T71, ackerman1_in_gga(T76, T77, T71))
U13_GGA(T76, T71, ackermanc27_out_ga(T76, T77)) → ACKERMAN1_IN_GGA(T76, T77, T71)
ACKERMAN1_IN_GGA(s(T84), s(s(T85)), T71) → U15_GGA(T84, T85, T71, ackerman38_in_gga(s(T84), T85, X221))
ACKERMAN1_IN_GGA(s(T84), s(s(T85)), T71) → ACKERMAN38_IN_GGA(s(T84), T85, X221)
ACKERMAN1_IN_GGA(s(T84), s(s(T85)), T71) → U16_GGA(T84, T85, T71, ackermanc38_in_gga(s(T84), T85, T87))
U16_GGA(T84, T85, T71, ackermanc38_out_gga(s(T84), T85, T87)) → U17_GGA(T84, T85, T71, ackerman38_in_gga(T84, T87, X222))
U16_GGA(T84, T85, T71, ackermanc38_out_gga(s(T84), T85, T87)) → ACKERMAN38_IN_GGA(T84, T87, X222)
U16_GGA(T84, T85, T71, ackermanc38_out_gga(s(T84), T85, T87)) → U18_GGA(T84, T85, T71, ackermanc38_in_gga(T84, T87, T91))
U18_GGA(T84, T85, T71, ackermanc38_out_gga(T84, T87, T91)) → U19_GGA(T84, T85, T71, ackerman1_in_gga(T84, T91, T71))
U18_GGA(T84, T85, T71, ackermanc38_out_gga(T84, T87, T91)) → ACKERMAN1_IN_GGA(T84, T91, T71)

The TRS R consists of the following rules:

ackermanc21_in_ga(T30, X73) → U28_ga(T30, X73, ackermanc27_in_ga(T30, X73))
ackermanc27_in_ga(0, s(s(0))) → ackermanc27_out_ga(0, s(s(0)))
ackermanc27_in_ga(s(T34), X97) → U29_ga(T34, X97, ackermanc21_in_ga(T34, T36))
U29_ga(T34, X97, ackermanc21_out_ga(T34, T36)) → U30_ga(T34, X97, ackermanc38_in_gga(T34, T36, X97))
ackermanc38_in_gga(0, T44, s(T44)) → ackermanc38_out_gga(0, T44, s(T44))
ackermanc38_in_gga(s(T49), 0, X133) → U31_gga(T49, X133, ackermanc27_in_ga(T49, X133))
U31_gga(T49, X133, ackermanc27_out_ga(T49, X133)) → ackermanc38_out_gga(s(T49), 0, X133)
ackermanc38_in_gga(s(T54), s(T55), X151) → U32_gga(T54, T55, X151, ackermanc38_in_gga(s(T54), T55, T57))
U32_gga(T54, T55, X151, ackermanc38_out_gga(s(T54), T55, T57)) → U33_gga(T54, T55, X151, ackermanc38_in_gga(T54, T57, X151))
U33_gga(T54, T55, X151, ackermanc38_out_gga(T54, T57, X151)) → ackermanc38_out_gga(s(T54), s(T55), X151)
U30_ga(T34, X97, ackermanc38_out_gga(T34, T36, X97)) → ackermanc27_out_ga(s(T34), X97)
U28_ga(T30, X73, ackermanc27_out_ga(T30, X73)) → ackermanc21_out_ga(T30, X73)

The argument filtering Pi contains the following mapping:
ackerman1_in_gga(x1, x2, x3)  =  ackerman1_in_gga(x1, x2)
s(x1)  =  s(x1)
0  =  0
ackerman21_in_ga(x1, x2)  =  ackerman21_in_ga(x1)
ackerman27_in_ga(x1, x2)  =  ackerman27_in_ga(x1)
ackermanc21_in_ga(x1, x2)  =  ackermanc21_in_ga(x1)
U28_ga(x1, x2, x3)  =  U28_ga(x1, x3)
ackermanc27_in_ga(x1, x2)  =  ackermanc27_in_ga(x1)
ackermanc27_out_ga(x1, x2)  =  ackermanc27_out_ga(x1, x2)
U29_ga(x1, x2, x3)  =  U29_ga(x1, x3)
ackermanc21_out_ga(x1, x2)  =  ackermanc21_out_ga(x1, x2)
U30_ga(x1, x2, x3)  =  U30_ga(x1, x3)
ackermanc38_in_gga(x1, x2, x3)  =  ackermanc38_in_gga(x1, x2)
ackermanc38_out_gga(x1, x2, x3)  =  ackermanc38_out_gga(x1, x2, x3)
U31_gga(x1, x2, x3)  =  U31_gga(x1, x3)
U32_gga(x1, x2, x3, x4)  =  U32_gga(x1, x2, x4)
U33_gga(x1, x2, x3, x4)  =  U33_gga(x1, x2, x4)
ackerman38_in_gga(x1, x2, x3)  =  ackerman38_in_gga(x1, x2)
ACKERMAN1_IN_GGA(x1, x2, x3)  =  ACKERMAN1_IN_GGA(x1, x2)
U9_GGA(x1, x2, x3)  =  U9_GGA(x1, x3)
ACKERMAN21_IN_GA(x1, x2)  =  ACKERMAN21_IN_GA(x1)
U1_GA(x1, x2, x3)  =  U1_GA(x1, x3)
ACKERMAN27_IN_GA(x1, x2)  =  ACKERMAN27_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)
ACKERMAN38_IN_GGA(x1, x2, x3)  =  ACKERMAN38_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)
U10_GGA(x1, x2, x3)  =  U10_GGA(x1, x3)
U11_GGA(x1, x2, x3)  =  U11_GGA(x1, x3)
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)

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

(5) DependencyGraphProof (EQUIVALENT transformation)

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

(6) Complex Obligation (AND)

(7) Obligation:

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

ACKERMAN21_IN_GA(T30, X73) → ACKERMAN27_IN_GA(T30, X73)
ACKERMAN27_IN_GA(s(T34), X97) → ACKERMAN21_IN_GA(T34, X96)
ACKERMAN27_IN_GA(s(T34), X97) → U3_GA(T34, X97, ackermanc21_in_ga(T34, T36))
U3_GA(T34, X97, ackermanc21_out_ga(T34, T36)) → ACKERMAN38_IN_GGA(T34, T36, X97)
ACKERMAN38_IN_GGA(s(T49), 0, X133) → ACKERMAN27_IN_GA(T49, X133)
ACKERMAN38_IN_GGA(s(T54), s(T55), X151) → ACKERMAN38_IN_GGA(s(T54), T55, X150)
ACKERMAN38_IN_GGA(s(T54), s(T55), X151) → U7_GGA(T54, T55, X151, ackermanc38_in_gga(s(T54), T55, T57))
U7_GGA(T54, T55, X151, ackermanc38_out_gga(s(T54), T55, T57)) → ACKERMAN38_IN_GGA(T54, T57, X151)

The TRS R consists of the following rules:

ackermanc21_in_ga(T30, X73) → U28_ga(T30, X73, ackermanc27_in_ga(T30, X73))
ackermanc27_in_ga(0, s(s(0))) → ackermanc27_out_ga(0, s(s(0)))
ackermanc27_in_ga(s(T34), X97) → U29_ga(T34, X97, ackermanc21_in_ga(T34, T36))
U29_ga(T34, X97, ackermanc21_out_ga(T34, T36)) → U30_ga(T34, X97, ackermanc38_in_gga(T34, T36, X97))
ackermanc38_in_gga(0, T44, s(T44)) → ackermanc38_out_gga(0, T44, s(T44))
ackermanc38_in_gga(s(T49), 0, X133) → U31_gga(T49, X133, ackermanc27_in_ga(T49, X133))
U31_gga(T49, X133, ackermanc27_out_ga(T49, X133)) → ackermanc38_out_gga(s(T49), 0, X133)
ackermanc38_in_gga(s(T54), s(T55), X151) → U32_gga(T54, T55, X151, ackermanc38_in_gga(s(T54), T55, T57))
U32_gga(T54, T55, X151, ackermanc38_out_gga(s(T54), T55, T57)) → U33_gga(T54, T55, X151, ackermanc38_in_gga(T54, T57, X151))
U33_gga(T54, T55, X151, ackermanc38_out_gga(T54, T57, X151)) → ackermanc38_out_gga(s(T54), s(T55), X151)
U30_ga(T34, X97, ackermanc38_out_gga(T34, T36, X97)) → ackermanc27_out_ga(s(T34), X97)
U28_ga(T30, X73, ackermanc27_out_ga(T30, X73)) → ackermanc21_out_ga(T30, X73)

The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
0  =  0
ackermanc21_in_ga(x1, x2)  =  ackermanc21_in_ga(x1)
U28_ga(x1, x2, x3)  =  U28_ga(x1, x3)
ackermanc27_in_ga(x1, x2)  =  ackermanc27_in_ga(x1)
ackermanc27_out_ga(x1, x2)  =  ackermanc27_out_ga(x1, x2)
U29_ga(x1, x2, x3)  =  U29_ga(x1, x3)
ackermanc21_out_ga(x1, x2)  =  ackermanc21_out_ga(x1, x2)
U30_ga(x1, x2, x3)  =  U30_ga(x1, x3)
ackermanc38_in_gga(x1, x2, x3)  =  ackermanc38_in_gga(x1, x2)
ackermanc38_out_gga(x1, x2, x3)  =  ackermanc38_out_gga(x1, x2, x3)
U31_gga(x1, x2, x3)  =  U31_gga(x1, x3)
U32_gga(x1, x2, x3, x4)  =  U32_gga(x1, x2, x4)
U33_gga(x1, x2, x3, x4)  =  U33_gga(x1, x2, x4)
ACKERMAN21_IN_GA(x1, x2)  =  ACKERMAN21_IN_GA(x1)
ACKERMAN27_IN_GA(x1, x2)  =  ACKERMAN27_IN_GA(x1)
U3_GA(x1, x2, x3)  =  U3_GA(x1, x3)
ACKERMAN38_IN_GGA(x1, x2, x3)  =  ACKERMAN38_IN_GGA(x1, x2)
U7_GGA(x1, x2, x3, x4)  =  U7_GGA(x1, x2, x4)

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

(8) PiDPToQDPProof (SOUND transformation)

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

(9) Obligation:

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

ACKERMAN21_IN_GA(T30) → ACKERMAN27_IN_GA(T30)
ACKERMAN27_IN_GA(s(T34)) → ACKERMAN21_IN_GA(T34)
ACKERMAN27_IN_GA(s(T34)) → U3_GA(T34, ackermanc21_in_ga(T34))
U3_GA(T34, ackermanc21_out_ga(T34, T36)) → ACKERMAN38_IN_GGA(T34, T36)
ACKERMAN38_IN_GGA(s(T49), 0) → ACKERMAN27_IN_GA(T49)
ACKERMAN38_IN_GGA(s(T54), s(T55)) → ACKERMAN38_IN_GGA(s(T54), T55)
ACKERMAN38_IN_GGA(s(T54), s(T55)) → U7_GGA(T54, T55, ackermanc38_in_gga(s(T54), T55))
U7_GGA(T54, T55, ackermanc38_out_gga(s(T54), T55, T57)) → ACKERMAN38_IN_GGA(T54, T57)

The TRS R consists of the following rules:

ackermanc21_in_ga(T30) → U28_ga(T30, ackermanc27_in_ga(T30))
ackermanc27_in_ga(0) → ackermanc27_out_ga(0, s(s(0)))
ackermanc27_in_ga(s(T34)) → U29_ga(T34, ackermanc21_in_ga(T34))
U29_ga(T34, ackermanc21_out_ga(T34, T36)) → U30_ga(T34, ackermanc38_in_gga(T34, T36))
ackermanc38_in_gga(0, T44) → ackermanc38_out_gga(0, T44, s(T44))
ackermanc38_in_gga(s(T49), 0) → U31_gga(T49, ackermanc27_in_ga(T49))
U31_gga(T49, ackermanc27_out_ga(T49, X133)) → ackermanc38_out_gga(s(T49), 0, X133)
ackermanc38_in_gga(s(T54), s(T55)) → U32_gga(T54, T55, ackermanc38_in_gga(s(T54), T55))
U32_gga(T54, T55, ackermanc38_out_gga(s(T54), T55, T57)) → U33_gga(T54, T55, ackermanc38_in_gga(T54, T57))
U33_gga(T54, T55, ackermanc38_out_gga(T54, T57, X151)) → ackermanc38_out_gga(s(T54), s(T55), X151)
U30_ga(T34, ackermanc38_out_gga(T34, T36, X97)) → ackermanc27_out_ga(s(T34), X97)
U28_ga(T30, ackermanc27_out_ga(T30, X73)) → ackermanc21_out_ga(T30, X73)

The set Q consists of the following terms:

ackermanc21_in_ga(x0)
ackermanc27_in_ga(x0)
U29_ga(x0, x1)
ackermanc38_in_gga(x0, x1)
U31_gga(x0, x1)
U32_gga(x0, x1, x2)
U33_gga(x0, x1, x2)
U30_ga(x0, x1)
U28_ga(x0, x1)

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

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

  • ACKERMAN27_IN_GA(s(T34)) → ACKERMAN21_IN_GA(T34)
    The graph contains the following edges 1 > 1

  • ACKERMAN27_IN_GA(s(T34)) → U3_GA(T34, ackermanc21_in_ga(T34))
    The graph contains the following edges 1 > 1

  • ACKERMAN21_IN_GA(T30) → ACKERMAN27_IN_GA(T30)
    The graph contains the following edges 1 >= 1

  • ACKERMAN38_IN_GGA(s(T49), 0) → ACKERMAN27_IN_GA(T49)
    The graph contains the following edges 1 > 1

  • U3_GA(T34, ackermanc21_out_ga(T34, T36)) → ACKERMAN38_IN_GGA(T34, T36)
    The graph contains the following edges 1 >= 1, 2 > 1, 2 > 2

  • U7_GGA(T54, T55, ackermanc38_out_gga(s(T54), T55, T57)) → ACKERMAN38_IN_GGA(T54, T57)
    The graph contains the following edges 1 >= 1, 3 > 1, 3 > 2

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

  • ACKERMAN38_IN_GGA(s(T54), s(T55)) → U7_GGA(T54, T55, ackermanc38_in_gga(s(T54), T55))
    The graph contains the following edges 1 > 1, 2 > 2

(11) YES

(12) Obligation:

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

ACKERMAN1_IN_GGA(s(s(T20)), 0, T22) → U10_GGA(T20, T22, ackermanc21_in_ga(T20, T24))
U10_GGA(T20, T22, ackermanc21_out_ga(T20, T24)) → ACKERMAN1_IN_GGA(T20, T24, T22)
ACKERMAN1_IN_GGA(s(T76), s(0), T71) → U13_GGA(T76, T71, ackermanc27_in_ga(T76, T77))
U13_GGA(T76, T71, ackermanc27_out_ga(T76, T77)) → ACKERMAN1_IN_GGA(T76, T77, T71)
ACKERMAN1_IN_GGA(s(T84), s(s(T85)), T71) → U16_GGA(T84, T85, T71, ackermanc38_in_gga(s(T84), T85, T87))
U16_GGA(T84, T85, T71, ackermanc38_out_gga(s(T84), T85, T87)) → U18_GGA(T84, T85, T71, ackermanc38_in_gga(T84, T87, T91))
U18_GGA(T84, T85, T71, ackermanc38_out_gga(T84, T87, T91)) → ACKERMAN1_IN_GGA(T84, T91, T71)

The TRS R consists of the following rules:

ackermanc21_in_ga(T30, X73) → U28_ga(T30, X73, ackermanc27_in_ga(T30, X73))
ackermanc27_in_ga(0, s(s(0))) → ackermanc27_out_ga(0, s(s(0)))
ackermanc27_in_ga(s(T34), X97) → U29_ga(T34, X97, ackermanc21_in_ga(T34, T36))
U29_ga(T34, X97, ackermanc21_out_ga(T34, T36)) → U30_ga(T34, X97, ackermanc38_in_gga(T34, T36, X97))
ackermanc38_in_gga(0, T44, s(T44)) → ackermanc38_out_gga(0, T44, s(T44))
ackermanc38_in_gga(s(T49), 0, X133) → U31_gga(T49, X133, ackermanc27_in_ga(T49, X133))
U31_gga(T49, X133, ackermanc27_out_ga(T49, X133)) → ackermanc38_out_gga(s(T49), 0, X133)
ackermanc38_in_gga(s(T54), s(T55), X151) → U32_gga(T54, T55, X151, ackermanc38_in_gga(s(T54), T55, T57))
U32_gga(T54, T55, X151, ackermanc38_out_gga(s(T54), T55, T57)) → U33_gga(T54, T55, X151, ackermanc38_in_gga(T54, T57, X151))
U33_gga(T54, T55, X151, ackermanc38_out_gga(T54, T57, X151)) → ackermanc38_out_gga(s(T54), s(T55), X151)
U30_ga(T34, X97, ackermanc38_out_gga(T34, T36, X97)) → ackermanc27_out_ga(s(T34), X97)
U28_ga(T30, X73, ackermanc27_out_ga(T30, X73)) → ackermanc21_out_ga(T30, X73)

The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
0  =  0
ackermanc21_in_ga(x1, x2)  =  ackermanc21_in_ga(x1)
U28_ga(x1, x2, x3)  =  U28_ga(x1, x3)
ackermanc27_in_ga(x1, x2)  =  ackermanc27_in_ga(x1)
ackermanc27_out_ga(x1, x2)  =  ackermanc27_out_ga(x1, x2)
U29_ga(x1, x2, x3)  =  U29_ga(x1, x3)
ackermanc21_out_ga(x1, x2)  =  ackermanc21_out_ga(x1, x2)
U30_ga(x1, x2, x3)  =  U30_ga(x1, x3)
ackermanc38_in_gga(x1, x2, x3)  =  ackermanc38_in_gga(x1, x2)
ackermanc38_out_gga(x1, x2, x3)  =  ackermanc38_out_gga(x1, x2, x3)
U31_gga(x1, x2, x3)  =  U31_gga(x1, x3)
U32_gga(x1, x2, x3, x4)  =  U32_gga(x1, x2, x4)
U33_gga(x1, x2, x3, x4)  =  U33_gga(x1, x2, x4)
ACKERMAN1_IN_GGA(x1, x2, x3)  =  ACKERMAN1_IN_GGA(x1, x2)
U10_GGA(x1, x2, x3)  =  U10_GGA(x1, x3)
U13_GGA(x1, x2, x3)  =  U13_GGA(x1, x3)
U16_GGA(x1, x2, x3, x4)  =  U16_GGA(x1, x2, x4)
U18_GGA(x1, x2, x3, x4)  =  U18_GGA(x1, x2, x4)

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

(13) PiDPToQDPProof (SOUND transformation)

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

(14) Obligation:

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

ACKERMAN1_IN_GGA(s(s(T20)), 0) → U10_GGA(T20, ackermanc21_in_ga(T20))
U10_GGA(T20, ackermanc21_out_ga(T20, T24)) → ACKERMAN1_IN_GGA(T20, T24)
ACKERMAN1_IN_GGA(s(T76), s(0)) → U13_GGA(T76, ackermanc27_in_ga(T76))
U13_GGA(T76, ackermanc27_out_ga(T76, T77)) → ACKERMAN1_IN_GGA(T76, T77)
ACKERMAN1_IN_GGA(s(T84), s(s(T85))) → U16_GGA(T84, T85, ackermanc38_in_gga(s(T84), T85))
U16_GGA(T84, T85, ackermanc38_out_gga(s(T84), T85, T87)) → U18_GGA(T84, T85, ackermanc38_in_gga(T84, T87))
U18_GGA(T84, T85, ackermanc38_out_gga(T84, T87, T91)) → ACKERMAN1_IN_GGA(T84, T91)

The TRS R consists of the following rules:

ackermanc21_in_ga(T30) → U28_ga(T30, ackermanc27_in_ga(T30))
ackermanc27_in_ga(0) → ackermanc27_out_ga(0, s(s(0)))
ackermanc27_in_ga(s(T34)) → U29_ga(T34, ackermanc21_in_ga(T34))
U29_ga(T34, ackermanc21_out_ga(T34, T36)) → U30_ga(T34, ackermanc38_in_gga(T34, T36))
ackermanc38_in_gga(0, T44) → ackermanc38_out_gga(0, T44, s(T44))
ackermanc38_in_gga(s(T49), 0) → U31_gga(T49, ackermanc27_in_ga(T49))
U31_gga(T49, ackermanc27_out_ga(T49, X133)) → ackermanc38_out_gga(s(T49), 0, X133)
ackermanc38_in_gga(s(T54), s(T55)) → U32_gga(T54, T55, ackermanc38_in_gga(s(T54), T55))
U32_gga(T54, T55, ackermanc38_out_gga(s(T54), T55, T57)) → U33_gga(T54, T55, ackermanc38_in_gga(T54, T57))
U33_gga(T54, T55, ackermanc38_out_gga(T54, T57, X151)) → ackermanc38_out_gga(s(T54), s(T55), X151)
U30_ga(T34, ackermanc38_out_gga(T34, T36, X97)) → ackermanc27_out_ga(s(T34), X97)
U28_ga(T30, ackermanc27_out_ga(T30, X73)) → ackermanc21_out_ga(T30, X73)

The set Q consists of the following terms:

ackermanc21_in_ga(x0)
ackermanc27_in_ga(x0)
U29_ga(x0, x1)
ackermanc38_in_gga(x0, x1)
U31_gga(x0, x1)
U32_gga(x0, x1, x2)
U33_gga(x0, x1, x2)
U30_ga(x0, x1)
U28_ga(x0, x1)

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

(15) 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_GGA(T20, ackermanc21_out_ga(T20, T24)) → ACKERMAN1_IN_GGA(T20, T24)
    The graph contains the following edges 1 >= 1, 2 > 1, 2 > 2

  • ACKERMAN1_IN_GGA(s(s(T20)), 0) → U10_GGA(T20, ackermanc21_in_ga(T20))
    The graph contains the following edges 1 > 1

  • U16_GGA(T84, T85, ackermanc38_out_gga(s(T84), T85, T87)) → U18_GGA(T84, T85, ackermanc38_in_gga(T84, T87))
    The graph contains the following edges 1 >= 1, 3 > 1, 2 >= 2, 3 > 2

  • U13_GGA(T76, ackermanc27_out_ga(T76, T77)) → ACKERMAN1_IN_GGA(T76, T77)
    The graph contains the following edges 1 >= 1, 2 > 1, 2 > 2

  • U18_GGA(T84, T85, ackermanc38_out_gga(T84, T87, T91)) → ACKERMAN1_IN_GGA(T84, T91)
    The graph contains the following edges 1 >= 1, 3 > 1, 3 > 2

  • ACKERMAN1_IN_GGA(s(T76), s(0)) → U13_GGA(T76, ackermanc27_in_ga(T76))
    The graph contains the following edges 1 > 1

  • ACKERMAN1_IN_GGA(s(T84), s(s(T85))) → U16_GGA(T84, T85, ackermanc38_in_gga(s(T84), T85))
    The graph contains the following edges 1 > 1, 2 > 2

(16) YES