(0) Obligation:

Clauses:

s2(plus(A, plus(B, C)), D) :- s2(plus(plus(A, B), C), D).
s2(plus(A, B), C) :- s2(plus(B, A), C).
s2(plus(X, 0), X).
s2(plus(X, Y), Z) :- ','(s2(X, A), ','(s2(Y, B), s2(plus(A, B), Z))).
s2(plus(A, B), C) :- ','(isNat(A), ','(isNat(B), add(A, B, C))).
isNat(s(X)) :- isNat(X).
isNat(0).
add(s(X), Y, s(Z)) :- add(X, Y, Z).
add(0, X, X).

Queries:

s2(g,a).

(1) PrologToDTProblemTransformerProof (SOUND transformation)

Built DT problem from termination graph.

(2) Obligation:

Triples:

isNat33(s(T165)) :- isNat33(T165).
p22(T115, X104, T121, T117) :- s21(T115, X104).
p22(T115, T128, T121, T117) :- ','(s2c1(T115, T128), s21(plus(T121, T128), T117)).
add60(s(T282), T283, T284, s(T286)) :- add60(T282, T283, T284, T286).
add99(s(T457), T458, s(T460)) :- add99(T457, T458, T460).
s21(plus(T32, plus(T33, plus(T34, T35))), T37) :- s21(plus(plus(plus(T32, T33), T34), T35), T37).
s21(plus(T70, plus(T71, T72)), T74) :- s21(plus(T72, plus(T70, T71)), T74).
s21(plus(T113, plus(T114, T115)), T117) :- s21(plus(T113, T114), X103).
s21(plus(T113, plus(T114, T115)), T117) :- ','(s2c1(plus(T113, T114), T121), p22(T115, X104, T121, T117)).
s21(plus(T154, plus(T155, T156)), T158) :- isNat28(T154, T155).
s21(plus(T154, plus(T155, T156)), T158) :- ','(isNatc28(T154, T155), isNat33(T156)).
s21(plus(T195, plus(T196, T197)), T199) :- s21(plus(plus(T196, T197), T195), T199).
s21(plus(T230, plus(T231, T232)), T234) :- s21(T230, X224).
s21(plus(T230, plus(T231, T232)), T234) :- ','(s2c1(T230, T238), p22(plus(T231, T232), X225, T238, T234)).
s21(plus(T255, plus(T256, T257)), T259) :- isNat33(T255).
s21(plus(T255, plus(T256, T257)), T259) :- ','(isNatc33(T255), isNat28(T256, T257)).
s21(plus(T255, plus(T256, T257)), T259) :- ','(isNatc33(T255), ','(isNatc28(T256, T257), add60(T255, T256, T257, T259))).
s21(plus(plus(T321, T322), T320), T324) :- s21(plus(plus(T320, T321), T322), T324).
s21(plus(T353, T352), T355) :- s21(plus(T353, T352), T355).
s21(plus(T386, T385), T388) :- s21(T385, X382).
s21(plus(T386, T385), T388) :- ','(s2c1(T385, T392), p22(T386, X383, T392, T388)).
s21(plus(T416, T415), T418) :- isNat33(T415).
s21(plus(T416, T415), T418) :- ','(isNatc33(T415), isNat33(T416)).
s21(plus(T439, s(T438)), s(T441)) :- ','(isNatc33(s(T438)), ','(isNatc33(T439), add99(T438, T439, T441))).
s21(plus(T495, T496), T498) :- s21(T495, X508).
s21(plus(T495, T496), T498) :- ','(s2c1(T495, T502), p22(T496, X509, T502, T498)).
s21(plus(T517, T518), T520) :- isNat33(T517).
s21(plus(T517, T518), T520) :- ','(isNatc33(T517), isNat33(T518)).
s21(plus(T517, T518), T520) :- ','(isNatc33(T517), ','(isNatc33(T518), add99(T517, T518, T520))).

Clauses:

s2c1(plus(T32, plus(T33, plus(T34, T35))), T37) :- s2c1(plus(plus(plus(T32, T33), T34), T35), T37).
s2c1(plus(T70, plus(T71, T72)), T74) :- s2c1(plus(T72, plus(T70, T71)), T74).
s2c1(plus(T87, plus(T88, 0)), plus(T87, T88)).
s2c1(plus(T113, plus(T114, T115)), T117) :- ','(s2c1(plus(T113, T114), T121), qc22(T115, X104, T121, T117)).
s2c1(plus(T195, plus(T196, T197)), T199) :- s2c1(plus(plus(T196, T197), T195), T199).
s2c1(plus(T230, plus(T231, T232)), T234) :- ','(s2c1(T230, T238), qc22(plus(T231, T232), X225, T238, T234)).
s2c1(plus(T255, plus(T256, T257)), T259) :- ','(isNatc33(T255), ','(isNatc28(T256, T257), addc60(T255, T256, T257, T259))).
s2c1(plus(plus(T321, T322), T320), T324) :- s2c1(plus(plus(T320, T321), T322), T324).
s2c1(plus(T353, T352), T355) :- s2c1(plus(T353, T352), T355).
s2c1(plus(0, T364), T364).
s2c1(plus(T386, T385), T388) :- ','(s2c1(T385, T392), qc22(T386, X383, T392, T388)).
s2c1(plus(T439, s(T438)), s(T441)) :- ','(isNatc33(s(T438)), ','(isNatc33(T439), addc99(T438, T439, T441))).
s2c1(plus(T469, 0), T469) :- ','(isNatc33(0), isNatc33(T469)).
s2c1(plus(T474, 0), T474).
s2c1(plus(T495, T496), T498) :- ','(s2c1(T495, T502), qc22(T496, X509, T502, T498)).
s2c1(plus(T517, T518), T520) :- ','(isNatc33(T517), ','(isNatc33(T518), addc99(T517, T518, T520))).
isNatc33(s(T165)) :- isNatc33(T165).
isNatc33(0).
qc22(T115, T128, T121, T117) :- ','(s2c1(T115, T128), s2c1(plus(T121, T128), T117)).
addc60(s(T282), T283, T284, s(T286)) :- addc60(T282, T283, T284, T286).
addc60(0, T295, T296, plus(T295, T296)).
addc99(s(T457), T458, s(T460)) :- addc99(T457, T458, T460).
addc99(0, T466, T466).

Afs:

s21(x1, x2)  =  s21(x1)

(3) UndefinedPredicateInTriplesTransformerProof (SOUND transformation)

Deleted triples and predicates having undefined goals [UNKNOWN].

(4) Obligation:

Triples:

isNat33(s(T165)) :- isNat33(T165).
p22(T115, X104, T121, T117) :- s21(T115, X104).
p22(T115, T128, T121, T117) :- ','(s2c1(T115, T128), s21(plus(T121, T128), T117)).
add60(s(T282), T283, T284, s(T286)) :- add60(T282, T283, T284, T286).
add99(s(T457), T458, s(T460)) :- add99(T457, T458, T460).
s21(plus(T32, plus(T33, plus(T34, T35))), T37) :- s21(plus(plus(plus(T32, T33), T34), T35), T37).
s21(plus(T70, plus(T71, T72)), T74) :- s21(plus(T72, plus(T70, T71)), T74).
s21(plus(T113, plus(T114, T115)), T117) :- s21(plus(T113, T114), X103).
s21(plus(T113, plus(T114, T115)), T117) :- ','(s2c1(plus(T113, T114), T121), p22(T115, X104, T121, T117)).
s21(plus(T195, plus(T196, T197)), T199) :- s21(plus(plus(T196, T197), T195), T199).
s21(plus(T230, plus(T231, T232)), T234) :- s21(T230, X224).
s21(plus(T230, plus(T231, T232)), T234) :- ','(s2c1(T230, T238), p22(plus(T231, T232), X225, T238, T234)).
s21(plus(T255, plus(T256, T257)), T259) :- isNat33(T255).
s21(plus(plus(T321, T322), T320), T324) :- s21(plus(plus(T320, T321), T322), T324).
s21(plus(T353, T352), T355) :- s21(plus(T353, T352), T355).
s21(plus(T386, T385), T388) :- s21(T385, X382).
s21(plus(T386, T385), T388) :- ','(s2c1(T385, T392), p22(T386, X383, T392, T388)).
s21(plus(T416, T415), T418) :- isNat33(T415).
s21(plus(T416, T415), T418) :- ','(isNatc33(T415), isNat33(T416)).
s21(plus(T439, s(T438)), s(T441)) :- ','(isNatc33(s(T438)), ','(isNatc33(T439), add99(T438, T439, T441))).
s21(plus(T495, T496), T498) :- s21(T495, X508).
s21(plus(T495, T496), T498) :- ','(s2c1(T495, T502), p22(T496, X509, T502, T498)).
s21(plus(T517, T518), T520) :- isNat33(T517).
s21(plus(T517, T518), T520) :- ','(isNatc33(T517), isNat33(T518)).
s21(plus(T517, T518), T520) :- ','(isNatc33(T517), ','(isNatc33(T518), add99(T517, T518, T520))).

Clauses:

s2c1(plus(T32, plus(T33, plus(T34, T35))), T37) :- s2c1(plus(plus(plus(T32, T33), T34), T35), T37).
s2c1(plus(T70, plus(T71, T72)), T74) :- s2c1(plus(T72, plus(T70, T71)), T74).
s2c1(plus(T87, plus(T88, 0)), plus(T87, T88)).
s2c1(plus(T113, plus(T114, T115)), T117) :- ','(s2c1(plus(T113, T114), T121), qc22(T115, X104, T121, T117)).
s2c1(plus(T195, plus(T196, T197)), T199) :- s2c1(plus(plus(T196, T197), T195), T199).
s2c1(plus(T230, plus(T231, T232)), T234) :- ','(s2c1(T230, T238), qc22(plus(T231, T232), X225, T238, T234)).
s2c1(plus(plus(T321, T322), T320), T324) :- s2c1(plus(plus(T320, T321), T322), T324).
s2c1(plus(T353, T352), T355) :- s2c1(plus(T353, T352), T355).
s2c1(plus(0, T364), T364).
s2c1(plus(T386, T385), T388) :- ','(s2c1(T385, T392), qc22(T386, X383, T392, T388)).
s2c1(plus(T439, s(T438)), s(T441)) :- ','(isNatc33(s(T438)), ','(isNatc33(T439), addc99(T438, T439, T441))).
s2c1(plus(T469, 0), T469) :- ','(isNatc33(0), isNatc33(T469)).
s2c1(plus(T474, 0), T474).
s2c1(plus(T495, T496), T498) :- ','(s2c1(T495, T502), qc22(T496, X509, T502, T498)).
s2c1(plus(T517, T518), T520) :- ','(isNatc33(T517), ','(isNatc33(T518), addc99(T517, T518, T520))).
isNatc33(s(T165)) :- isNatc33(T165).
isNatc33(0).
qc22(T115, T128, T121, T117) :- ','(s2c1(T115, T128), s2c1(plus(T121, T128), T117)).
addc60(s(T282), T283, T284, s(T286)) :- addc60(T282, T283, T284, T286).
addc60(0, T295, T296, plus(T295, T296)).
addc99(s(T457), T458, s(T460)) :- addc99(T457, T458, T460).
addc99(0, T466, T466).

Afs:

s21(x1, x2)  =  s21(x1)

(5) TriplesToPiDPProof (SOUND transformation)

We use the technique of [LOPSTR]. With regard to the inferred argument filtering the predicates were used in the following modes:
s21_in: (b,f)
s2c1_in: (b,f)
isNatc33_in: (b)
addc99_in: (b,b,f)
qc22_in: (b,f,b,f)
p22_in: (b,f,b,f)
isNat33_in: (b)
add99_in: (b,b,f)
Transforming TRIPLES into the following Term Rewriting System:
Pi DP problem:
The TRS P consists of the following rules:

S21_IN_GA(plus(T32, plus(T33, plus(T34, T35))), T37) → U7_GA(T32, T33, T34, T35, T37, s21_in_ga(plus(plus(plus(T32, T33), T34), T35), T37))
S21_IN_GA(plus(T32, plus(T33, plus(T34, T35))), T37) → S21_IN_GA(plus(plus(plus(T32, T33), T34), T35), T37)
S21_IN_GA(plus(T70, plus(T71, T72)), T74) → U8_GA(T70, T71, T72, T74, s21_in_ga(plus(T72, plus(T70, T71)), T74))
S21_IN_GA(plus(T70, plus(T71, T72)), T74) → S21_IN_GA(plus(T72, plus(T70, T71)), T74)
S21_IN_GA(plus(T113, plus(T114, T115)), T117) → U9_GA(T113, T114, T115, T117, s21_in_ga(plus(T113, T114), X103))
S21_IN_GA(plus(T113, plus(T114, T115)), T117) → S21_IN_GA(plus(T113, T114), X103)
S21_IN_GA(plus(T113, plus(T114, T115)), T117) → U10_GA(T113, T114, T115, T117, s2c1_in_ga(plus(T113, T114), T121))
U10_GA(T113, T114, T115, T117, s2c1_out_ga(plus(T113, T114), T121)) → U11_GA(T113, T114, T115, T117, p22_in_gaga(T115, X104, T121, T117))
U10_GA(T113, T114, T115, T117, s2c1_out_ga(plus(T113, T114), T121)) → P22_IN_GAGA(T115, X104, T121, T117)
P22_IN_GAGA(T115, X104, T121, T117) → U2_GAGA(T115, X104, T121, T117, s21_in_ga(T115, X104))
P22_IN_GAGA(T115, X104, T121, T117) → S21_IN_GA(T115, X104)
S21_IN_GA(plus(T195, plus(T196, T197)), T199) → U12_GA(T195, T196, T197, T199, s21_in_ga(plus(plus(T196, T197), T195), T199))
S21_IN_GA(plus(T195, plus(T196, T197)), T199) → S21_IN_GA(plus(plus(T196, T197), T195), T199)
S21_IN_GA(plus(T230, plus(T231, T232)), T234) → U13_GA(T230, T231, T232, T234, s21_in_ga(T230, X224))
S21_IN_GA(plus(T230, plus(T231, T232)), T234) → S21_IN_GA(T230, X224)
S21_IN_GA(plus(T230, plus(T231, T232)), T234) → U14_GA(T230, T231, T232, T234, s2c1_in_ga(T230, T238))
U14_GA(T230, T231, T232, T234, s2c1_out_ga(T230, T238)) → U15_GA(T230, T231, T232, T234, p22_in_gaga(plus(T231, T232), X225, T238, T234))
U14_GA(T230, T231, T232, T234, s2c1_out_ga(T230, T238)) → P22_IN_GAGA(plus(T231, T232), X225, T238, T234)
P22_IN_GAGA(T115, T128, T121, T117) → U3_GAGA(T115, T128, T121, T117, s2c1_in_ga(T115, T128))
U3_GAGA(T115, T128, T121, T117, s2c1_out_ga(T115, T128)) → U4_GAGA(T115, T128, T121, T117, s21_in_ga(plus(T121, T128), T117))
U3_GAGA(T115, T128, T121, T117, s2c1_out_ga(T115, T128)) → S21_IN_GA(plus(T121, T128), T117)
S21_IN_GA(plus(T255, plus(T256, T257)), T259) → U16_GA(T255, T256, T257, T259, isNat33_in_g(T255))
S21_IN_GA(plus(T255, plus(T256, T257)), T259) → ISNAT33_IN_G(T255)
ISNAT33_IN_G(s(T165)) → U1_G(T165, isNat33_in_g(T165))
ISNAT33_IN_G(s(T165)) → ISNAT33_IN_G(T165)
S21_IN_GA(plus(plus(T321, T322), T320), T324) → U17_GA(T321, T322, T320, T324, s21_in_ga(plus(plus(T320, T321), T322), T324))
S21_IN_GA(plus(plus(T321, T322), T320), T324) → S21_IN_GA(plus(plus(T320, T321), T322), T324)
S21_IN_GA(plus(T353, T352), T355) → U18_GA(T353, T352, T355, s21_in_ga(plus(T353, T352), T355))
S21_IN_GA(plus(T353, T352), T355) → S21_IN_GA(plus(T353, T352), T355)
S21_IN_GA(plus(T386, T385), T388) → U19_GA(T386, T385, T388, s21_in_ga(T385, X382))
S21_IN_GA(plus(T386, T385), T388) → S21_IN_GA(T385, X382)
S21_IN_GA(plus(T386, T385), T388) → U20_GA(T386, T385, T388, s2c1_in_ga(T385, T392))
U20_GA(T386, T385, T388, s2c1_out_ga(T385, T392)) → U21_GA(T386, T385, T388, p22_in_gaga(T386, X383, T392, T388))
U20_GA(T386, T385, T388, s2c1_out_ga(T385, T392)) → P22_IN_GAGA(T386, X383, T392, T388)
S21_IN_GA(plus(T416, T415), T418) → U22_GA(T416, T415, T418, isNat33_in_g(T415))
S21_IN_GA(plus(T416, T415), T418) → ISNAT33_IN_G(T415)
S21_IN_GA(plus(T416, T415), T418) → U23_GA(T416, T415, T418, isNatc33_in_g(T415))
U23_GA(T416, T415, T418, isNatc33_out_g(T415)) → U24_GA(T416, T415, T418, isNat33_in_g(T416))
U23_GA(T416, T415, T418, isNatc33_out_g(T415)) → ISNAT33_IN_G(T416)
S21_IN_GA(plus(T439, s(T438)), s(T441)) → U25_GA(T439, T438, T441, isNatc33_in_g(s(T438)))
U25_GA(T439, T438, T441, isNatc33_out_g(s(T438))) → U26_GA(T439, T438, T441, isNatc33_in_g(T439))
U26_GA(T439, T438, T441, isNatc33_out_g(T439)) → U27_GA(T439, T438, T441, add99_in_gga(T438, T439, T441))
U26_GA(T439, T438, T441, isNatc33_out_g(T439)) → ADD99_IN_GGA(T438, T439, T441)
ADD99_IN_GGA(s(T457), T458, s(T460)) → U6_GGA(T457, T458, T460, add99_in_gga(T457, T458, T460))
ADD99_IN_GGA(s(T457), T458, s(T460)) → ADD99_IN_GGA(T457, T458, T460)
S21_IN_GA(plus(T495, T496), T498) → U28_GA(T495, T496, T498, s21_in_ga(T495, X508))
S21_IN_GA(plus(T495, T496), T498) → S21_IN_GA(T495, X508)
S21_IN_GA(plus(T495, T496), T498) → U29_GA(T495, T496, T498, s2c1_in_ga(T495, T502))
U29_GA(T495, T496, T498, s2c1_out_ga(T495, T502)) → U30_GA(T495, T496, T498, p22_in_gaga(T496, X509, T502, T498))
U29_GA(T495, T496, T498, s2c1_out_ga(T495, T502)) → P22_IN_GAGA(T496, X509, T502, T498)
S21_IN_GA(plus(T517, T518), T520) → U31_GA(T517, T518, T520, isNat33_in_g(T517))
S21_IN_GA(plus(T517, T518), T520) → ISNAT33_IN_G(T517)
S21_IN_GA(plus(T517, T518), T520) → U32_GA(T517, T518, T520, isNatc33_in_g(T517))
U32_GA(T517, T518, T520, isNatc33_out_g(T517)) → U33_GA(T517, T518, T520, isNat33_in_g(T518))
U32_GA(T517, T518, T520, isNatc33_out_g(T517)) → ISNAT33_IN_G(T518)
U32_GA(T517, T518, T520, isNatc33_out_g(T517)) → U34_GA(T517, T518, T520, isNatc33_in_g(T518))
U34_GA(T517, T518, T520, isNatc33_out_g(T518)) → U35_GA(T517, T518, T520, add99_in_gga(T517, T518, T520))
U34_GA(T517, T518, T520, isNatc33_out_g(T518)) → ADD99_IN_GGA(T517, T518, T520)

The TRS R consists of the following rules:

s2c1_in_ga(plus(T32, plus(T33, plus(T34, T35))), T37) → U37_ga(T32, T33, T34, T35, T37, s2c1_in_ga(plus(plus(plus(T32, T33), T34), T35), T37))
s2c1_in_ga(plus(T70, plus(T71, T72)), T74) → U38_ga(T70, T71, T72, T74, s2c1_in_ga(plus(T72, plus(T70, T71)), T74))
s2c1_in_ga(plus(T87, plus(T88, 0)), plus(T87, T88)) → s2c1_out_ga(plus(T87, plus(T88, 0)), plus(T87, T88))
s2c1_in_ga(plus(T113, plus(T114, T115)), T117) → U39_ga(T113, T114, T115, T117, s2c1_in_ga(plus(T113, T114), T121))
s2c1_in_ga(plus(T195, plus(T196, T197)), T199) → U41_ga(T195, T196, T197, T199, s2c1_in_ga(plus(plus(T196, T197), T195), T199))
s2c1_in_ga(plus(T230, plus(T231, T232)), T234) → U42_ga(T230, T231, T232, T234, s2c1_in_ga(T230, T238))
s2c1_in_ga(plus(plus(T321, T322), T320), T324) → U44_ga(T321, T322, T320, T324, s2c1_in_ga(plus(plus(T320, T321), T322), T324))
s2c1_in_ga(plus(T353, T352), T355) → U45_ga(T353, T352, T355, s2c1_in_ga(plus(T353, T352), T355))
s2c1_in_ga(plus(0, T364), T364) → s2c1_out_ga(plus(0, T364), T364)
s2c1_in_ga(plus(T386, T385), T388) → U46_ga(T386, T385, T388, s2c1_in_ga(T385, T392))
s2c1_in_ga(plus(T439, s(T438)), s(T441)) → U48_ga(T439, T438, T441, isNatc33_in_g(s(T438)))
isNatc33_in_g(s(T165)) → U58_g(T165, isNatc33_in_g(T165))
isNatc33_in_g(0) → isNatc33_out_g(0)
U58_g(T165, isNatc33_out_g(T165)) → isNatc33_out_g(s(T165))
U48_ga(T439, T438, T441, isNatc33_out_g(s(T438))) → U49_ga(T439, T438, T441, isNatc33_in_g(T439))
U49_ga(T439, T438, T441, isNatc33_out_g(T439)) → U50_ga(T439, T438, T441, addc99_in_gga(T438, T439, T441))
addc99_in_gga(s(T457), T458, s(T460)) → U62_gga(T457, T458, T460, addc99_in_gga(T457, T458, T460))
addc99_in_gga(0, T466, T466) → addc99_out_gga(0, T466, T466)
U62_gga(T457, T458, T460, addc99_out_gga(T457, T458, T460)) → addc99_out_gga(s(T457), T458, s(T460))
U50_ga(T439, T438, T441, addc99_out_gga(T438, T439, T441)) → s2c1_out_ga(plus(T439, s(T438)), s(T441))
s2c1_in_ga(plus(T469, 0), T469) → U51_ga(T469, isNatc33_in_g(0))
U51_ga(T469, isNatc33_out_g(0)) → U52_ga(T469, isNatc33_in_g(T469))
U52_ga(T469, isNatc33_out_g(T469)) → s2c1_out_ga(plus(T469, 0), T469)
s2c1_in_ga(plus(T474, 0), T474) → s2c1_out_ga(plus(T474, 0), T474)
s2c1_in_ga(plus(T495, T496), T498) → U53_ga(T495, T496, T498, s2c1_in_ga(T495, T502))
s2c1_in_ga(plus(T517, T518), T520) → U55_ga(T517, T518, T520, isNatc33_in_g(T517))
U55_ga(T517, T518, T520, isNatc33_out_g(T517)) → U56_ga(T517, T518, T520, isNatc33_in_g(T518))
U56_ga(T517, T518, T520, isNatc33_out_g(T518)) → U57_ga(T517, T518, T520, addc99_in_gga(T517, T518, T520))
U57_ga(T517, T518, T520, addc99_out_gga(T517, T518, T520)) → s2c1_out_ga(plus(T517, T518), T520)
U53_ga(T495, T496, T498, s2c1_out_ga(T495, T502)) → U54_ga(T495, T496, T498, qc22_in_gaga(T496, X509, T502, T498))
qc22_in_gaga(T115, T128, T121, T117) → U59_gaga(T115, T128, T121, T117, s2c1_in_ga(T115, T128))
U59_gaga(T115, T128, T121, T117, s2c1_out_ga(T115, T128)) → U60_gaga(T115, T128, T121, T117, s2c1_in_ga(plus(T121, T128), T117))
U60_gaga(T115, T128, T121, T117, s2c1_out_ga(plus(T121, T128), T117)) → qc22_out_gaga(T115, T128, T121, T117)
U54_ga(T495, T496, T498, qc22_out_gaga(T496, X509, T502, T498)) → s2c1_out_ga(plus(T495, T496), T498)
U46_ga(T386, T385, T388, s2c1_out_ga(T385, T392)) → U47_ga(T386, T385, T388, qc22_in_gaga(T386, X383, T392, T388))
U47_ga(T386, T385, T388, qc22_out_gaga(T386, X383, T392, T388)) → s2c1_out_ga(plus(T386, T385), T388)
U45_ga(T353, T352, T355, s2c1_out_ga(plus(T353, T352), T355)) → s2c1_out_ga(plus(T353, T352), T355)
U44_ga(T321, T322, T320, T324, s2c1_out_ga(plus(plus(T320, T321), T322), T324)) → s2c1_out_ga(plus(plus(T321, T322), T320), T324)
U42_ga(T230, T231, T232, T234, s2c1_out_ga(T230, T238)) → U43_ga(T230, T231, T232, T234, qc22_in_gaga(plus(T231, T232), X225, T238, T234))
U43_ga(T230, T231, T232, T234, qc22_out_gaga(plus(T231, T232), X225, T238, T234)) → s2c1_out_ga(plus(T230, plus(T231, T232)), T234)
U41_ga(T195, T196, T197, T199, s2c1_out_ga(plus(plus(T196, T197), T195), T199)) → s2c1_out_ga(plus(T195, plus(T196, T197)), T199)
U39_ga(T113, T114, T115, T117, s2c1_out_ga(plus(T113, T114), T121)) → U40_ga(T113, T114, T115, T117, qc22_in_gaga(T115, X104, T121, T117))
U40_ga(T113, T114, T115, T117, qc22_out_gaga(T115, X104, T121, T117)) → s2c1_out_ga(plus(T113, plus(T114, T115)), T117)
U38_ga(T70, T71, T72, T74, s2c1_out_ga(plus(T72, plus(T70, T71)), T74)) → s2c1_out_ga(plus(T70, plus(T71, T72)), T74)
U37_ga(T32, T33, T34, T35, T37, s2c1_out_ga(plus(plus(plus(T32, T33), T34), T35), T37)) → s2c1_out_ga(plus(T32, plus(T33, plus(T34, T35))), T37)

The argument filtering Pi contains the following mapping:
s21_in_ga(x1, x2)  =  s21_in_ga(x1)
plus(x1, x2)  =  plus(x1, x2)
s2c1_in_ga(x1, x2)  =  s2c1_in_ga(x1)
U37_ga(x1, x2, x3, x4, x5, x6)  =  U37_ga(x1, x2, x3, x4, x6)
U38_ga(x1, x2, x3, x4, x5)  =  U38_ga(x1, x2, x3, x5)
0  =  0
s2c1_out_ga(x1, x2)  =  s2c1_out_ga(x1, x2)
U39_ga(x1, x2, x3, x4, x5)  =  U39_ga(x1, x2, x3, x5)
U41_ga(x1, x2, x3, x4, x5)  =  U41_ga(x1, x2, x3, x5)
U42_ga(x1, x2, x3, x4, x5)  =  U42_ga(x1, x2, x3, x5)
U44_ga(x1, x2, x3, x4, x5)  =  U44_ga(x1, x2, x3, x5)
U45_ga(x1, x2, x3, x4)  =  U45_ga(x1, x2, x4)
U46_ga(x1, x2, x3, x4)  =  U46_ga(x1, x2, x4)
s(x1)  =  s(x1)
U48_ga(x1, x2, x3, x4)  =  U48_ga(x1, x2, x4)
isNatc33_in_g(x1)  =  isNatc33_in_g(x1)
U58_g(x1, x2)  =  U58_g(x1, x2)
isNatc33_out_g(x1)  =  isNatc33_out_g(x1)
U49_ga(x1, x2, x3, x4)  =  U49_ga(x1, x2, x4)
U50_ga(x1, x2, x3, x4)  =  U50_ga(x1, x2, x4)
addc99_in_gga(x1, x2, x3)  =  addc99_in_gga(x1, x2)
U62_gga(x1, x2, x3, x4)  =  U62_gga(x1, x2, x4)
addc99_out_gga(x1, x2, x3)  =  addc99_out_gga(x1, x2, x3)
U51_ga(x1, x2)  =  U51_ga(x1, x2)
U52_ga(x1, x2)  =  U52_ga(x1, x2)
U53_ga(x1, x2, x3, x4)  =  U53_ga(x1, x2, x4)
U55_ga(x1, x2, x3, x4)  =  U55_ga(x1, x2, x4)
U56_ga(x1, x2, x3, x4)  =  U56_ga(x1, x2, x4)
U57_ga(x1, x2, x3, x4)  =  U57_ga(x1, x2, x4)
U54_ga(x1, x2, x3, x4)  =  U54_ga(x1, x2, x4)
qc22_in_gaga(x1, x2, x3, x4)  =  qc22_in_gaga(x1, x3)
U59_gaga(x1, x2, x3, x4, x5)  =  U59_gaga(x1, x3, x5)
U60_gaga(x1, x2, x3, x4, x5)  =  U60_gaga(x1, x2, x3, x5)
qc22_out_gaga(x1, x2, x3, x4)  =  qc22_out_gaga(x1, x2, x3, x4)
U47_ga(x1, x2, x3, x4)  =  U47_ga(x1, x2, x4)
U43_ga(x1, x2, x3, x4, x5)  =  U43_ga(x1, x2, x3, x5)
U40_ga(x1, x2, x3, x4, x5)  =  U40_ga(x1, x2, x3, x5)
p22_in_gaga(x1, x2, x3, x4)  =  p22_in_gaga(x1, x3)
isNat33_in_g(x1)  =  isNat33_in_g(x1)
add99_in_gga(x1, x2, x3)  =  add99_in_gga(x1, x2)
S21_IN_GA(x1, x2)  =  S21_IN_GA(x1)
U7_GA(x1, x2, x3, x4, x5, x6)  =  U7_GA(x1, x2, x3, x4, x6)
U8_GA(x1, x2, x3, x4, x5)  =  U8_GA(x1, x2, x3, x5)
U9_GA(x1, x2, x3, x4, x5)  =  U9_GA(x1, x2, x3, x5)
U10_GA(x1, x2, x3, x4, x5)  =  U10_GA(x1, x2, x3, x5)
U11_GA(x1, x2, x3, x4, x5)  =  U11_GA(x1, x2, x3, x5)
P22_IN_GAGA(x1, x2, x3, x4)  =  P22_IN_GAGA(x1, x3)
U2_GAGA(x1, x2, x3, x4, x5)  =  U2_GAGA(x1, x3, x5)
U12_GA(x1, x2, x3, x4, x5)  =  U12_GA(x1, x2, x3, x5)
U13_GA(x1, x2, x3, x4, x5)  =  U13_GA(x1, x2, x3, x5)
U14_GA(x1, x2, x3, x4, x5)  =  U14_GA(x1, x2, x3, x5)
U15_GA(x1, x2, x3, x4, x5)  =  U15_GA(x1, x2, x3, x5)
U3_GAGA(x1, x2, x3, x4, x5)  =  U3_GAGA(x1, x3, x5)
U4_GAGA(x1, x2, x3, x4, x5)  =  U4_GAGA(x1, x3, x5)
U16_GA(x1, x2, x3, x4, x5)  =  U16_GA(x1, x2, x3, x5)
ISNAT33_IN_G(x1)  =  ISNAT33_IN_G(x1)
U1_G(x1, x2)  =  U1_G(x1, x2)
U17_GA(x1, x2, x3, x4, x5)  =  U17_GA(x1, x2, x3, x5)
U18_GA(x1, x2, x3, x4)  =  U18_GA(x1, x2, x4)
U19_GA(x1, x2, x3, x4)  =  U19_GA(x1, x2, x4)
U20_GA(x1, x2, x3, x4)  =  U20_GA(x1, x2, x4)
U21_GA(x1, x2, x3, x4)  =  U21_GA(x1, x2, x4)
U22_GA(x1, x2, x3, x4)  =  U22_GA(x1, x2, x4)
U23_GA(x1, x2, x3, x4)  =  U23_GA(x1, x2, x4)
U24_GA(x1, x2, x3, x4)  =  U24_GA(x1, x2, x4)
U25_GA(x1, x2, x3, x4)  =  U25_GA(x1, x2, x4)
U26_GA(x1, x2, x3, x4)  =  U26_GA(x1, x2, x4)
U27_GA(x1, x2, x3, x4)  =  U27_GA(x1, x2, x4)
ADD99_IN_GGA(x1, x2, x3)  =  ADD99_IN_GGA(x1, x2)
U6_GGA(x1, x2, x3, x4)  =  U6_GGA(x1, x2, x4)
U28_GA(x1, x2, x3, x4)  =  U28_GA(x1, x2, x4)
U29_GA(x1, x2, x3, x4)  =  U29_GA(x1, x2, x4)
U30_GA(x1, x2, x3, x4)  =  U30_GA(x1, x2, x4)
U31_GA(x1, x2, x3, x4)  =  U31_GA(x1, x2, x4)
U32_GA(x1, x2, x3, x4)  =  U32_GA(x1, x2, x4)
U33_GA(x1, x2, x3, x4)  =  U33_GA(x1, x2, x4)
U34_GA(x1, x2, x3, x4)  =  U34_GA(x1, x2, x4)
U35_GA(x1, x2, x3, x4)  =  U35_GA(x1, x2, x4)

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

Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES

(6) Obligation:

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

S21_IN_GA(plus(T32, plus(T33, plus(T34, T35))), T37) → U7_GA(T32, T33, T34, T35, T37, s21_in_ga(plus(plus(plus(T32, T33), T34), T35), T37))
S21_IN_GA(plus(T32, plus(T33, plus(T34, T35))), T37) → S21_IN_GA(plus(plus(plus(T32, T33), T34), T35), T37)
S21_IN_GA(plus(T70, plus(T71, T72)), T74) → U8_GA(T70, T71, T72, T74, s21_in_ga(plus(T72, plus(T70, T71)), T74))
S21_IN_GA(plus(T70, plus(T71, T72)), T74) → S21_IN_GA(plus(T72, plus(T70, T71)), T74)
S21_IN_GA(plus(T113, plus(T114, T115)), T117) → U9_GA(T113, T114, T115, T117, s21_in_ga(plus(T113, T114), X103))
S21_IN_GA(plus(T113, plus(T114, T115)), T117) → S21_IN_GA(plus(T113, T114), X103)
S21_IN_GA(plus(T113, plus(T114, T115)), T117) → U10_GA(T113, T114, T115, T117, s2c1_in_ga(plus(T113, T114), T121))
U10_GA(T113, T114, T115, T117, s2c1_out_ga(plus(T113, T114), T121)) → U11_GA(T113, T114, T115, T117, p22_in_gaga(T115, X104, T121, T117))
U10_GA(T113, T114, T115, T117, s2c1_out_ga(plus(T113, T114), T121)) → P22_IN_GAGA(T115, X104, T121, T117)
P22_IN_GAGA(T115, X104, T121, T117) → U2_GAGA(T115, X104, T121, T117, s21_in_ga(T115, X104))
P22_IN_GAGA(T115, X104, T121, T117) → S21_IN_GA(T115, X104)
S21_IN_GA(plus(T195, plus(T196, T197)), T199) → U12_GA(T195, T196, T197, T199, s21_in_ga(plus(plus(T196, T197), T195), T199))
S21_IN_GA(plus(T195, plus(T196, T197)), T199) → S21_IN_GA(plus(plus(T196, T197), T195), T199)
S21_IN_GA(plus(T230, plus(T231, T232)), T234) → U13_GA(T230, T231, T232, T234, s21_in_ga(T230, X224))
S21_IN_GA(plus(T230, plus(T231, T232)), T234) → S21_IN_GA(T230, X224)
S21_IN_GA(plus(T230, plus(T231, T232)), T234) → U14_GA(T230, T231, T232, T234, s2c1_in_ga(T230, T238))
U14_GA(T230, T231, T232, T234, s2c1_out_ga(T230, T238)) → U15_GA(T230, T231, T232, T234, p22_in_gaga(plus(T231, T232), X225, T238, T234))
U14_GA(T230, T231, T232, T234, s2c1_out_ga(T230, T238)) → P22_IN_GAGA(plus(T231, T232), X225, T238, T234)
P22_IN_GAGA(T115, T128, T121, T117) → U3_GAGA(T115, T128, T121, T117, s2c1_in_ga(T115, T128))
U3_GAGA(T115, T128, T121, T117, s2c1_out_ga(T115, T128)) → U4_GAGA(T115, T128, T121, T117, s21_in_ga(plus(T121, T128), T117))
U3_GAGA(T115, T128, T121, T117, s2c1_out_ga(T115, T128)) → S21_IN_GA(plus(T121, T128), T117)
S21_IN_GA(plus(T255, plus(T256, T257)), T259) → U16_GA(T255, T256, T257, T259, isNat33_in_g(T255))
S21_IN_GA(plus(T255, plus(T256, T257)), T259) → ISNAT33_IN_G(T255)
ISNAT33_IN_G(s(T165)) → U1_G(T165, isNat33_in_g(T165))
ISNAT33_IN_G(s(T165)) → ISNAT33_IN_G(T165)
S21_IN_GA(plus(plus(T321, T322), T320), T324) → U17_GA(T321, T322, T320, T324, s21_in_ga(plus(plus(T320, T321), T322), T324))
S21_IN_GA(plus(plus(T321, T322), T320), T324) → S21_IN_GA(plus(plus(T320, T321), T322), T324)
S21_IN_GA(plus(T353, T352), T355) → U18_GA(T353, T352, T355, s21_in_ga(plus(T353, T352), T355))
S21_IN_GA(plus(T353, T352), T355) → S21_IN_GA(plus(T353, T352), T355)
S21_IN_GA(plus(T386, T385), T388) → U19_GA(T386, T385, T388, s21_in_ga(T385, X382))
S21_IN_GA(plus(T386, T385), T388) → S21_IN_GA(T385, X382)
S21_IN_GA(plus(T386, T385), T388) → U20_GA(T386, T385, T388, s2c1_in_ga(T385, T392))
U20_GA(T386, T385, T388, s2c1_out_ga(T385, T392)) → U21_GA(T386, T385, T388, p22_in_gaga(T386, X383, T392, T388))
U20_GA(T386, T385, T388, s2c1_out_ga(T385, T392)) → P22_IN_GAGA(T386, X383, T392, T388)
S21_IN_GA(plus(T416, T415), T418) → U22_GA(T416, T415, T418, isNat33_in_g(T415))
S21_IN_GA(plus(T416, T415), T418) → ISNAT33_IN_G(T415)
S21_IN_GA(plus(T416, T415), T418) → U23_GA(T416, T415, T418, isNatc33_in_g(T415))
U23_GA(T416, T415, T418, isNatc33_out_g(T415)) → U24_GA(T416, T415, T418, isNat33_in_g(T416))
U23_GA(T416, T415, T418, isNatc33_out_g(T415)) → ISNAT33_IN_G(T416)
S21_IN_GA(plus(T439, s(T438)), s(T441)) → U25_GA(T439, T438, T441, isNatc33_in_g(s(T438)))
U25_GA(T439, T438, T441, isNatc33_out_g(s(T438))) → U26_GA(T439, T438, T441, isNatc33_in_g(T439))
U26_GA(T439, T438, T441, isNatc33_out_g(T439)) → U27_GA(T439, T438, T441, add99_in_gga(T438, T439, T441))
U26_GA(T439, T438, T441, isNatc33_out_g(T439)) → ADD99_IN_GGA(T438, T439, T441)
ADD99_IN_GGA(s(T457), T458, s(T460)) → U6_GGA(T457, T458, T460, add99_in_gga(T457, T458, T460))
ADD99_IN_GGA(s(T457), T458, s(T460)) → ADD99_IN_GGA(T457, T458, T460)
S21_IN_GA(plus(T495, T496), T498) → U28_GA(T495, T496, T498, s21_in_ga(T495, X508))
S21_IN_GA(plus(T495, T496), T498) → S21_IN_GA(T495, X508)
S21_IN_GA(plus(T495, T496), T498) → U29_GA(T495, T496, T498, s2c1_in_ga(T495, T502))
U29_GA(T495, T496, T498, s2c1_out_ga(T495, T502)) → U30_GA(T495, T496, T498, p22_in_gaga(T496, X509, T502, T498))
U29_GA(T495, T496, T498, s2c1_out_ga(T495, T502)) → P22_IN_GAGA(T496, X509, T502, T498)
S21_IN_GA(plus(T517, T518), T520) → U31_GA(T517, T518, T520, isNat33_in_g(T517))
S21_IN_GA(plus(T517, T518), T520) → ISNAT33_IN_G(T517)
S21_IN_GA(plus(T517, T518), T520) → U32_GA(T517, T518, T520, isNatc33_in_g(T517))
U32_GA(T517, T518, T520, isNatc33_out_g(T517)) → U33_GA(T517, T518, T520, isNat33_in_g(T518))
U32_GA(T517, T518, T520, isNatc33_out_g(T517)) → ISNAT33_IN_G(T518)
U32_GA(T517, T518, T520, isNatc33_out_g(T517)) → U34_GA(T517, T518, T520, isNatc33_in_g(T518))
U34_GA(T517, T518, T520, isNatc33_out_g(T518)) → U35_GA(T517, T518, T520, add99_in_gga(T517, T518, T520))
U34_GA(T517, T518, T520, isNatc33_out_g(T518)) → ADD99_IN_GGA(T517, T518, T520)

The TRS R consists of the following rules:

s2c1_in_ga(plus(T32, plus(T33, plus(T34, T35))), T37) → U37_ga(T32, T33, T34, T35, T37, s2c1_in_ga(plus(plus(plus(T32, T33), T34), T35), T37))
s2c1_in_ga(plus(T70, plus(T71, T72)), T74) → U38_ga(T70, T71, T72, T74, s2c1_in_ga(plus(T72, plus(T70, T71)), T74))
s2c1_in_ga(plus(T87, plus(T88, 0)), plus(T87, T88)) → s2c1_out_ga(plus(T87, plus(T88, 0)), plus(T87, T88))
s2c1_in_ga(plus(T113, plus(T114, T115)), T117) → U39_ga(T113, T114, T115, T117, s2c1_in_ga(plus(T113, T114), T121))
s2c1_in_ga(plus(T195, plus(T196, T197)), T199) → U41_ga(T195, T196, T197, T199, s2c1_in_ga(plus(plus(T196, T197), T195), T199))
s2c1_in_ga(plus(T230, plus(T231, T232)), T234) → U42_ga(T230, T231, T232, T234, s2c1_in_ga(T230, T238))
s2c1_in_ga(plus(plus(T321, T322), T320), T324) → U44_ga(T321, T322, T320, T324, s2c1_in_ga(plus(plus(T320, T321), T322), T324))
s2c1_in_ga(plus(T353, T352), T355) → U45_ga(T353, T352, T355, s2c1_in_ga(plus(T353, T352), T355))
s2c1_in_ga(plus(0, T364), T364) → s2c1_out_ga(plus(0, T364), T364)
s2c1_in_ga(plus(T386, T385), T388) → U46_ga(T386, T385, T388, s2c1_in_ga(T385, T392))
s2c1_in_ga(plus(T439, s(T438)), s(T441)) → U48_ga(T439, T438, T441, isNatc33_in_g(s(T438)))
isNatc33_in_g(s(T165)) → U58_g(T165, isNatc33_in_g(T165))
isNatc33_in_g(0) → isNatc33_out_g(0)
U58_g(T165, isNatc33_out_g(T165)) → isNatc33_out_g(s(T165))
U48_ga(T439, T438, T441, isNatc33_out_g(s(T438))) → U49_ga(T439, T438, T441, isNatc33_in_g(T439))
U49_ga(T439, T438, T441, isNatc33_out_g(T439)) → U50_ga(T439, T438, T441, addc99_in_gga(T438, T439, T441))
addc99_in_gga(s(T457), T458, s(T460)) → U62_gga(T457, T458, T460, addc99_in_gga(T457, T458, T460))
addc99_in_gga(0, T466, T466) → addc99_out_gga(0, T466, T466)
U62_gga(T457, T458, T460, addc99_out_gga(T457, T458, T460)) → addc99_out_gga(s(T457), T458, s(T460))
U50_ga(T439, T438, T441, addc99_out_gga(T438, T439, T441)) → s2c1_out_ga(plus(T439, s(T438)), s(T441))
s2c1_in_ga(plus(T469, 0), T469) → U51_ga(T469, isNatc33_in_g(0))
U51_ga(T469, isNatc33_out_g(0)) → U52_ga(T469, isNatc33_in_g(T469))
U52_ga(T469, isNatc33_out_g(T469)) → s2c1_out_ga(plus(T469, 0), T469)
s2c1_in_ga(plus(T474, 0), T474) → s2c1_out_ga(plus(T474, 0), T474)
s2c1_in_ga(plus(T495, T496), T498) → U53_ga(T495, T496, T498, s2c1_in_ga(T495, T502))
s2c1_in_ga(plus(T517, T518), T520) → U55_ga(T517, T518, T520, isNatc33_in_g(T517))
U55_ga(T517, T518, T520, isNatc33_out_g(T517)) → U56_ga(T517, T518, T520, isNatc33_in_g(T518))
U56_ga(T517, T518, T520, isNatc33_out_g(T518)) → U57_ga(T517, T518, T520, addc99_in_gga(T517, T518, T520))
U57_ga(T517, T518, T520, addc99_out_gga(T517, T518, T520)) → s2c1_out_ga(plus(T517, T518), T520)
U53_ga(T495, T496, T498, s2c1_out_ga(T495, T502)) → U54_ga(T495, T496, T498, qc22_in_gaga(T496, X509, T502, T498))
qc22_in_gaga(T115, T128, T121, T117) → U59_gaga(T115, T128, T121, T117, s2c1_in_ga(T115, T128))
U59_gaga(T115, T128, T121, T117, s2c1_out_ga(T115, T128)) → U60_gaga(T115, T128, T121, T117, s2c1_in_ga(plus(T121, T128), T117))
U60_gaga(T115, T128, T121, T117, s2c1_out_ga(plus(T121, T128), T117)) → qc22_out_gaga(T115, T128, T121, T117)
U54_ga(T495, T496, T498, qc22_out_gaga(T496, X509, T502, T498)) → s2c1_out_ga(plus(T495, T496), T498)
U46_ga(T386, T385, T388, s2c1_out_ga(T385, T392)) → U47_ga(T386, T385, T388, qc22_in_gaga(T386, X383, T392, T388))
U47_ga(T386, T385, T388, qc22_out_gaga(T386, X383, T392, T388)) → s2c1_out_ga(plus(T386, T385), T388)
U45_ga(T353, T352, T355, s2c1_out_ga(plus(T353, T352), T355)) → s2c1_out_ga(plus(T353, T352), T355)
U44_ga(T321, T322, T320, T324, s2c1_out_ga(plus(plus(T320, T321), T322), T324)) → s2c1_out_ga(plus(plus(T321, T322), T320), T324)
U42_ga(T230, T231, T232, T234, s2c1_out_ga(T230, T238)) → U43_ga(T230, T231, T232, T234, qc22_in_gaga(plus(T231, T232), X225, T238, T234))
U43_ga(T230, T231, T232, T234, qc22_out_gaga(plus(T231, T232), X225, T238, T234)) → s2c1_out_ga(plus(T230, plus(T231, T232)), T234)
U41_ga(T195, T196, T197, T199, s2c1_out_ga(plus(plus(T196, T197), T195), T199)) → s2c1_out_ga(plus(T195, plus(T196, T197)), T199)
U39_ga(T113, T114, T115, T117, s2c1_out_ga(plus(T113, T114), T121)) → U40_ga(T113, T114, T115, T117, qc22_in_gaga(T115, X104, T121, T117))
U40_ga(T113, T114, T115, T117, qc22_out_gaga(T115, X104, T121, T117)) → s2c1_out_ga(plus(T113, plus(T114, T115)), T117)
U38_ga(T70, T71, T72, T74, s2c1_out_ga(plus(T72, plus(T70, T71)), T74)) → s2c1_out_ga(plus(T70, plus(T71, T72)), T74)
U37_ga(T32, T33, T34, T35, T37, s2c1_out_ga(plus(plus(plus(T32, T33), T34), T35), T37)) → s2c1_out_ga(plus(T32, plus(T33, plus(T34, T35))), T37)

The argument filtering Pi contains the following mapping:
s21_in_ga(x1, x2)  =  s21_in_ga(x1)
plus(x1, x2)  =  plus(x1, x2)
s2c1_in_ga(x1, x2)  =  s2c1_in_ga(x1)
U37_ga(x1, x2, x3, x4, x5, x6)  =  U37_ga(x1, x2, x3, x4, x6)
U38_ga(x1, x2, x3, x4, x5)  =  U38_ga(x1, x2, x3, x5)
0  =  0
s2c1_out_ga(x1, x2)  =  s2c1_out_ga(x1, x2)
U39_ga(x1, x2, x3, x4, x5)  =  U39_ga(x1, x2, x3, x5)
U41_ga(x1, x2, x3, x4, x5)  =  U41_ga(x1, x2, x3, x5)
U42_ga(x1, x2, x3, x4, x5)  =  U42_ga(x1, x2, x3, x5)
U44_ga(x1, x2, x3, x4, x5)  =  U44_ga(x1, x2, x3, x5)
U45_ga(x1, x2, x3, x4)  =  U45_ga(x1, x2, x4)
U46_ga(x1, x2, x3, x4)  =  U46_ga(x1, x2, x4)
s(x1)  =  s(x1)
U48_ga(x1, x2, x3, x4)  =  U48_ga(x1, x2, x4)
isNatc33_in_g(x1)  =  isNatc33_in_g(x1)
U58_g(x1, x2)  =  U58_g(x1, x2)
isNatc33_out_g(x1)  =  isNatc33_out_g(x1)
U49_ga(x1, x2, x3, x4)  =  U49_ga(x1, x2, x4)
U50_ga(x1, x2, x3, x4)  =  U50_ga(x1, x2, x4)
addc99_in_gga(x1, x2, x3)  =  addc99_in_gga(x1, x2)
U62_gga(x1, x2, x3, x4)  =  U62_gga(x1, x2, x4)
addc99_out_gga(x1, x2, x3)  =  addc99_out_gga(x1, x2, x3)
U51_ga(x1, x2)  =  U51_ga(x1, x2)
U52_ga(x1, x2)  =  U52_ga(x1, x2)
U53_ga(x1, x2, x3, x4)  =  U53_ga(x1, x2, x4)
U55_ga(x1, x2, x3, x4)  =  U55_ga(x1, x2, x4)
U56_ga(x1, x2, x3, x4)  =  U56_ga(x1, x2, x4)
U57_ga(x1, x2, x3, x4)  =  U57_ga(x1, x2, x4)
U54_ga(x1, x2, x3, x4)  =  U54_ga(x1, x2, x4)
qc22_in_gaga(x1, x2, x3, x4)  =  qc22_in_gaga(x1, x3)
U59_gaga(x1, x2, x3, x4, x5)  =  U59_gaga(x1, x3, x5)
U60_gaga(x1, x2, x3, x4, x5)  =  U60_gaga(x1, x2, x3, x5)
qc22_out_gaga(x1, x2, x3, x4)  =  qc22_out_gaga(x1, x2, x3, x4)
U47_ga(x1, x2, x3, x4)  =  U47_ga(x1, x2, x4)
U43_ga(x1, x2, x3, x4, x5)  =  U43_ga(x1, x2, x3, x5)
U40_ga(x1, x2, x3, x4, x5)  =  U40_ga(x1, x2, x3, x5)
p22_in_gaga(x1, x2, x3, x4)  =  p22_in_gaga(x1, x3)
isNat33_in_g(x1)  =  isNat33_in_g(x1)
add99_in_gga(x1, x2, x3)  =  add99_in_gga(x1, x2)
S21_IN_GA(x1, x2)  =  S21_IN_GA(x1)
U7_GA(x1, x2, x3, x4, x5, x6)  =  U7_GA(x1, x2, x3, x4, x6)
U8_GA(x1, x2, x3, x4, x5)  =  U8_GA(x1, x2, x3, x5)
U9_GA(x1, x2, x3, x4, x5)  =  U9_GA(x1, x2, x3, x5)
U10_GA(x1, x2, x3, x4, x5)  =  U10_GA(x1, x2, x3, x5)
U11_GA(x1, x2, x3, x4, x5)  =  U11_GA(x1, x2, x3, x5)
P22_IN_GAGA(x1, x2, x3, x4)  =  P22_IN_GAGA(x1, x3)
U2_GAGA(x1, x2, x3, x4, x5)  =  U2_GAGA(x1, x3, x5)
U12_GA(x1, x2, x3, x4, x5)  =  U12_GA(x1, x2, x3, x5)
U13_GA(x1, x2, x3, x4, x5)  =  U13_GA(x1, x2, x3, x5)
U14_GA(x1, x2, x3, x4, x5)  =  U14_GA(x1, x2, x3, x5)
U15_GA(x1, x2, x3, x4, x5)  =  U15_GA(x1, x2, x3, x5)
U3_GAGA(x1, x2, x3, x4, x5)  =  U3_GAGA(x1, x3, x5)
U4_GAGA(x1, x2, x3, x4, x5)  =  U4_GAGA(x1, x3, x5)
U16_GA(x1, x2, x3, x4, x5)  =  U16_GA(x1, x2, x3, x5)
ISNAT33_IN_G(x1)  =  ISNAT33_IN_G(x1)
U1_G(x1, x2)  =  U1_G(x1, x2)
U17_GA(x1, x2, x3, x4, x5)  =  U17_GA(x1, x2, x3, x5)
U18_GA(x1, x2, x3, x4)  =  U18_GA(x1, x2, x4)
U19_GA(x1, x2, x3, x4)  =  U19_GA(x1, x2, x4)
U20_GA(x1, x2, x3, x4)  =  U20_GA(x1, x2, x4)
U21_GA(x1, x2, x3, x4)  =  U21_GA(x1, x2, x4)
U22_GA(x1, x2, x3, x4)  =  U22_GA(x1, x2, x4)
U23_GA(x1, x2, x3, x4)  =  U23_GA(x1, x2, x4)
U24_GA(x1, x2, x3, x4)  =  U24_GA(x1, x2, x4)
U25_GA(x1, x2, x3, x4)  =  U25_GA(x1, x2, x4)
U26_GA(x1, x2, x3, x4)  =  U26_GA(x1, x2, x4)
U27_GA(x1, x2, x3, x4)  =  U27_GA(x1, x2, x4)
ADD99_IN_GGA(x1, x2, x3)  =  ADD99_IN_GGA(x1, x2)
U6_GGA(x1, x2, x3, x4)  =  U6_GGA(x1, x2, x4)
U28_GA(x1, x2, x3, x4)  =  U28_GA(x1, x2, x4)
U29_GA(x1, x2, x3, x4)  =  U29_GA(x1, x2, x4)
U30_GA(x1, x2, x3, x4)  =  U30_GA(x1, x2, x4)
U31_GA(x1, x2, x3, x4)  =  U31_GA(x1, x2, x4)
U32_GA(x1, x2, x3, x4)  =  U32_GA(x1, x2, x4)
U33_GA(x1, x2, x3, x4)  =  U33_GA(x1, x2, x4)
U34_GA(x1, x2, x3, x4)  =  U34_GA(x1, x2, x4)
U35_GA(x1, x2, x3, x4)  =  U35_GA(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 36 less nodes.

(8) Complex Obligation (AND)

(9) Obligation:

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

ADD99_IN_GGA(s(T457), T458, s(T460)) → ADD99_IN_GGA(T457, T458, T460)

The TRS R consists of the following rules:

s2c1_in_ga(plus(T32, plus(T33, plus(T34, T35))), T37) → U37_ga(T32, T33, T34, T35, T37, s2c1_in_ga(plus(plus(plus(T32, T33), T34), T35), T37))
s2c1_in_ga(plus(T70, plus(T71, T72)), T74) → U38_ga(T70, T71, T72, T74, s2c1_in_ga(plus(T72, plus(T70, T71)), T74))
s2c1_in_ga(plus(T87, plus(T88, 0)), plus(T87, T88)) → s2c1_out_ga(plus(T87, plus(T88, 0)), plus(T87, T88))
s2c1_in_ga(plus(T113, plus(T114, T115)), T117) → U39_ga(T113, T114, T115, T117, s2c1_in_ga(plus(T113, T114), T121))
s2c1_in_ga(plus(T195, plus(T196, T197)), T199) → U41_ga(T195, T196, T197, T199, s2c1_in_ga(plus(plus(T196, T197), T195), T199))
s2c1_in_ga(plus(T230, plus(T231, T232)), T234) → U42_ga(T230, T231, T232, T234, s2c1_in_ga(T230, T238))
s2c1_in_ga(plus(plus(T321, T322), T320), T324) → U44_ga(T321, T322, T320, T324, s2c1_in_ga(plus(plus(T320, T321), T322), T324))
s2c1_in_ga(plus(T353, T352), T355) → U45_ga(T353, T352, T355, s2c1_in_ga(plus(T353, T352), T355))
s2c1_in_ga(plus(0, T364), T364) → s2c1_out_ga(plus(0, T364), T364)
s2c1_in_ga(plus(T386, T385), T388) → U46_ga(T386, T385, T388, s2c1_in_ga(T385, T392))
s2c1_in_ga(plus(T439, s(T438)), s(T441)) → U48_ga(T439, T438, T441, isNatc33_in_g(s(T438)))
isNatc33_in_g(s(T165)) → U58_g(T165, isNatc33_in_g(T165))
isNatc33_in_g(0) → isNatc33_out_g(0)
U58_g(T165, isNatc33_out_g(T165)) → isNatc33_out_g(s(T165))
U48_ga(T439, T438, T441, isNatc33_out_g(s(T438))) → U49_ga(T439, T438, T441, isNatc33_in_g(T439))
U49_ga(T439, T438, T441, isNatc33_out_g(T439)) → U50_ga(T439, T438, T441, addc99_in_gga(T438, T439, T441))
addc99_in_gga(s(T457), T458, s(T460)) → U62_gga(T457, T458, T460, addc99_in_gga(T457, T458, T460))
addc99_in_gga(0, T466, T466) → addc99_out_gga(0, T466, T466)
U62_gga(T457, T458, T460, addc99_out_gga(T457, T458, T460)) → addc99_out_gga(s(T457), T458, s(T460))
U50_ga(T439, T438, T441, addc99_out_gga(T438, T439, T441)) → s2c1_out_ga(plus(T439, s(T438)), s(T441))
s2c1_in_ga(plus(T469, 0), T469) → U51_ga(T469, isNatc33_in_g(0))
U51_ga(T469, isNatc33_out_g(0)) → U52_ga(T469, isNatc33_in_g(T469))
U52_ga(T469, isNatc33_out_g(T469)) → s2c1_out_ga(plus(T469, 0), T469)
s2c1_in_ga(plus(T474, 0), T474) → s2c1_out_ga(plus(T474, 0), T474)
s2c1_in_ga(plus(T495, T496), T498) → U53_ga(T495, T496, T498, s2c1_in_ga(T495, T502))
s2c1_in_ga(plus(T517, T518), T520) → U55_ga(T517, T518, T520, isNatc33_in_g(T517))
U55_ga(T517, T518, T520, isNatc33_out_g(T517)) → U56_ga(T517, T518, T520, isNatc33_in_g(T518))
U56_ga(T517, T518, T520, isNatc33_out_g(T518)) → U57_ga(T517, T518, T520, addc99_in_gga(T517, T518, T520))
U57_ga(T517, T518, T520, addc99_out_gga(T517, T518, T520)) → s2c1_out_ga(plus(T517, T518), T520)
U53_ga(T495, T496, T498, s2c1_out_ga(T495, T502)) → U54_ga(T495, T496, T498, qc22_in_gaga(T496, X509, T502, T498))
qc22_in_gaga(T115, T128, T121, T117) → U59_gaga(T115, T128, T121, T117, s2c1_in_ga(T115, T128))
U59_gaga(T115, T128, T121, T117, s2c1_out_ga(T115, T128)) → U60_gaga(T115, T128, T121, T117, s2c1_in_ga(plus(T121, T128), T117))
U60_gaga(T115, T128, T121, T117, s2c1_out_ga(plus(T121, T128), T117)) → qc22_out_gaga(T115, T128, T121, T117)
U54_ga(T495, T496, T498, qc22_out_gaga(T496, X509, T502, T498)) → s2c1_out_ga(plus(T495, T496), T498)
U46_ga(T386, T385, T388, s2c1_out_ga(T385, T392)) → U47_ga(T386, T385, T388, qc22_in_gaga(T386, X383, T392, T388))
U47_ga(T386, T385, T388, qc22_out_gaga(T386, X383, T392, T388)) → s2c1_out_ga(plus(T386, T385), T388)
U45_ga(T353, T352, T355, s2c1_out_ga(plus(T353, T352), T355)) → s2c1_out_ga(plus(T353, T352), T355)
U44_ga(T321, T322, T320, T324, s2c1_out_ga(plus(plus(T320, T321), T322), T324)) → s2c1_out_ga(plus(plus(T321, T322), T320), T324)
U42_ga(T230, T231, T232, T234, s2c1_out_ga(T230, T238)) → U43_ga(T230, T231, T232, T234, qc22_in_gaga(plus(T231, T232), X225, T238, T234))
U43_ga(T230, T231, T232, T234, qc22_out_gaga(plus(T231, T232), X225, T238, T234)) → s2c1_out_ga(plus(T230, plus(T231, T232)), T234)
U41_ga(T195, T196, T197, T199, s2c1_out_ga(plus(plus(T196, T197), T195), T199)) → s2c1_out_ga(plus(T195, plus(T196, T197)), T199)
U39_ga(T113, T114, T115, T117, s2c1_out_ga(plus(T113, T114), T121)) → U40_ga(T113, T114, T115, T117, qc22_in_gaga(T115, X104, T121, T117))
U40_ga(T113, T114, T115, T117, qc22_out_gaga(T115, X104, T121, T117)) → s2c1_out_ga(plus(T113, plus(T114, T115)), T117)
U38_ga(T70, T71, T72, T74, s2c1_out_ga(plus(T72, plus(T70, T71)), T74)) → s2c1_out_ga(plus(T70, plus(T71, T72)), T74)
U37_ga(T32, T33, T34, T35, T37, s2c1_out_ga(plus(plus(plus(T32, T33), T34), T35), T37)) → s2c1_out_ga(plus(T32, plus(T33, plus(T34, T35))), T37)

The argument filtering Pi contains the following mapping:
plus(x1, x2)  =  plus(x1, x2)
s2c1_in_ga(x1, x2)  =  s2c1_in_ga(x1)
U37_ga(x1, x2, x3, x4, x5, x6)  =  U37_ga(x1, x2, x3, x4, x6)
U38_ga(x1, x2, x3, x4, x5)  =  U38_ga(x1, x2, x3, x5)
0  =  0
s2c1_out_ga(x1, x2)  =  s2c1_out_ga(x1, x2)
U39_ga(x1, x2, x3, x4, x5)  =  U39_ga(x1, x2, x3, x5)
U41_ga(x1, x2, x3, x4, x5)  =  U41_ga(x1, x2, x3, x5)
U42_ga(x1, x2, x3, x4, x5)  =  U42_ga(x1, x2, x3, x5)
U44_ga(x1, x2, x3, x4, x5)  =  U44_ga(x1, x2, x3, x5)
U45_ga(x1, x2, x3, x4)  =  U45_ga(x1, x2, x4)
U46_ga(x1, x2, x3, x4)  =  U46_ga(x1, x2, x4)
s(x1)  =  s(x1)
U48_ga(x1, x2, x3, x4)  =  U48_ga(x1, x2, x4)
isNatc33_in_g(x1)  =  isNatc33_in_g(x1)
U58_g(x1, x2)  =  U58_g(x1, x2)
isNatc33_out_g(x1)  =  isNatc33_out_g(x1)
U49_ga(x1, x2, x3, x4)  =  U49_ga(x1, x2, x4)
U50_ga(x1, x2, x3, x4)  =  U50_ga(x1, x2, x4)
addc99_in_gga(x1, x2, x3)  =  addc99_in_gga(x1, x2)
U62_gga(x1, x2, x3, x4)  =  U62_gga(x1, x2, x4)
addc99_out_gga(x1, x2, x3)  =  addc99_out_gga(x1, x2, x3)
U51_ga(x1, x2)  =  U51_ga(x1, x2)
U52_ga(x1, x2)  =  U52_ga(x1, x2)
U53_ga(x1, x2, x3, x4)  =  U53_ga(x1, x2, x4)
U55_ga(x1, x2, x3, x4)  =  U55_ga(x1, x2, x4)
U56_ga(x1, x2, x3, x4)  =  U56_ga(x1, x2, x4)
U57_ga(x1, x2, x3, x4)  =  U57_ga(x1, x2, x4)
U54_ga(x1, x2, x3, x4)  =  U54_ga(x1, x2, x4)
qc22_in_gaga(x1, x2, x3, x4)  =  qc22_in_gaga(x1, x3)
U59_gaga(x1, x2, x3, x4, x5)  =  U59_gaga(x1, x3, x5)
U60_gaga(x1, x2, x3, x4, x5)  =  U60_gaga(x1, x2, x3, x5)
qc22_out_gaga(x1, x2, x3, x4)  =  qc22_out_gaga(x1, x2, x3, x4)
U47_ga(x1, x2, x3, x4)  =  U47_ga(x1, x2, x4)
U43_ga(x1, x2, x3, x4, x5)  =  U43_ga(x1, x2, x3, x5)
U40_ga(x1, x2, x3, x4, x5)  =  U40_ga(x1, x2, x3, x5)
ADD99_IN_GGA(x1, x2, x3)  =  ADD99_IN_GGA(x1, x2)

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:

ADD99_IN_GGA(s(T457), T458, s(T460)) → ADD99_IN_GGA(T457, T458, T460)

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

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:

ADD99_IN_GGA(s(T457), T458) → ADD99_IN_GGA(T457, T458)

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

(14) QDPSizeChangeProof (EQUIVALENT transformation)

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

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

  • ADD99_IN_GGA(s(T457), T458) → ADD99_IN_GGA(T457, T458)
    The graph contains the following edges 1 > 1, 2 >= 2

(15) YES

(16) Obligation:

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

ISNAT33_IN_G(s(T165)) → ISNAT33_IN_G(T165)

The TRS R consists of the following rules:

s2c1_in_ga(plus(T32, plus(T33, plus(T34, T35))), T37) → U37_ga(T32, T33, T34, T35, T37, s2c1_in_ga(plus(plus(plus(T32, T33), T34), T35), T37))
s2c1_in_ga(plus(T70, plus(T71, T72)), T74) → U38_ga(T70, T71, T72, T74, s2c1_in_ga(plus(T72, plus(T70, T71)), T74))
s2c1_in_ga(plus(T87, plus(T88, 0)), plus(T87, T88)) → s2c1_out_ga(plus(T87, plus(T88, 0)), plus(T87, T88))
s2c1_in_ga(plus(T113, plus(T114, T115)), T117) → U39_ga(T113, T114, T115, T117, s2c1_in_ga(plus(T113, T114), T121))
s2c1_in_ga(plus(T195, plus(T196, T197)), T199) → U41_ga(T195, T196, T197, T199, s2c1_in_ga(plus(plus(T196, T197), T195), T199))
s2c1_in_ga(plus(T230, plus(T231, T232)), T234) → U42_ga(T230, T231, T232, T234, s2c1_in_ga(T230, T238))
s2c1_in_ga(plus(plus(T321, T322), T320), T324) → U44_ga(T321, T322, T320, T324, s2c1_in_ga(plus(plus(T320, T321), T322), T324))
s2c1_in_ga(plus(T353, T352), T355) → U45_ga(T353, T352, T355, s2c1_in_ga(plus(T353, T352), T355))
s2c1_in_ga(plus(0, T364), T364) → s2c1_out_ga(plus(0, T364), T364)
s2c1_in_ga(plus(T386, T385), T388) → U46_ga(T386, T385, T388, s2c1_in_ga(T385, T392))
s2c1_in_ga(plus(T439, s(T438)), s(T441)) → U48_ga(T439, T438, T441, isNatc33_in_g(s(T438)))
isNatc33_in_g(s(T165)) → U58_g(T165, isNatc33_in_g(T165))
isNatc33_in_g(0) → isNatc33_out_g(0)
U58_g(T165, isNatc33_out_g(T165)) → isNatc33_out_g(s(T165))
U48_ga(T439, T438, T441, isNatc33_out_g(s(T438))) → U49_ga(T439, T438, T441, isNatc33_in_g(T439))
U49_ga(T439, T438, T441, isNatc33_out_g(T439)) → U50_ga(T439, T438, T441, addc99_in_gga(T438, T439, T441))
addc99_in_gga(s(T457), T458, s(T460)) → U62_gga(T457, T458, T460, addc99_in_gga(T457, T458, T460))
addc99_in_gga(0, T466, T466) → addc99_out_gga(0, T466, T466)
U62_gga(T457, T458, T460, addc99_out_gga(T457, T458, T460)) → addc99_out_gga(s(T457), T458, s(T460))
U50_ga(T439, T438, T441, addc99_out_gga(T438, T439, T441)) → s2c1_out_ga(plus(T439, s(T438)), s(T441))
s2c1_in_ga(plus(T469, 0), T469) → U51_ga(T469, isNatc33_in_g(0))
U51_ga(T469, isNatc33_out_g(0)) → U52_ga(T469, isNatc33_in_g(T469))
U52_ga(T469, isNatc33_out_g(T469)) → s2c1_out_ga(plus(T469, 0), T469)
s2c1_in_ga(plus(T474, 0), T474) → s2c1_out_ga(plus(T474, 0), T474)
s2c1_in_ga(plus(T495, T496), T498) → U53_ga(T495, T496, T498, s2c1_in_ga(T495, T502))
s2c1_in_ga(plus(T517, T518), T520) → U55_ga(T517, T518, T520, isNatc33_in_g(T517))
U55_ga(T517, T518, T520, isNatc33_out_g(T517)) → U56_ga(T517, T518, T520, isNatc33_in_g(T518))
U56_ga(T517, T518, T520, isNatc33_out_g(T518)) → U57_ga(T517, T518, T520, addc99_in_gga(T517, T518, T520))
U57_ga(T517, T518, T520, addc99_out_gga(T517, T518, T520)) → s2c1_out_ga(plus(T517, T518), T520)
U53_ga(T495, T496, T498, s2c1_out_ga(T495, T502)) → U54_ga(T495, T496, T498, qc22_in_gaga(T496, X509, T502, T498))
qc22_in_gaga(T115, T128, T121, T117) → U59_gaga(T115, T128, T121, T117, s2c1_in_ga(T115, T128))
U59_gaga(T115, T128, T121, T117, s2c1_out_ga(T115, T128)) → U60_gaga(T115, T128, T121, T117, s2c1_in_ga(plus(T121, T128), T117))
U60_gaga(T115, T128, T121, T117, s2c1_out_ga(plus(T121, T128), T117)) → qc22_out_gaga(T115, T128, T121, T117)
U54_ga(T495, T496, T498, qc22_out_gaga(T496, X509, T502, T498)) → s2c1_out_ga(plus(T495, T496), T498)
U46_ga(T386, T385, T388, s2c1_out_ga(T385, T392)) → U47_ga(T386, T385, T388, qc22_in_gaga(T386, X383, T392, T388))
U47_ga(T386, T385, T388, qc22_out_gaga(T386, X383, T392, T388)) → s2c1_out_ga(plus(T386, T385), T388)
U45_ga(T353, T352, T355, s2c1_out_ga(plus(T353, T352), T355)) → s2c1_out_ga(plus(T353, T352), T355)
U44_ga(T321, T322, T320, T324, s2c1_out_ga(plus(plus(T320, T321), T322), T324)) → s2c1_out_ga(plus(plus(T321, T322), T320), T324)
U42_ga(T230, T231, T232, T234, s2c1_out_ga(T230, T238)) → U43_ga(T230, T231, T232, T234, qc22_in_gaga(plus(T231, T232), X225, T238, T234))
U43_ga(T230, T231, T232, T234, qc22_out_gaga(plus(T231, T232), X225, T238, T234)) → s2c1_out_ga(plus(T230, plus(T231, T232)), T234)
U41_ga(T195, T196, T197, T199, s2c1_out_ga(plus(plus(T196, T197), T195), T199)) → s2c1_out_ga(plus(T195, plus(T196, T197)), T199)
U39_ga(T113, T114, T115, T117, s2c1_out_ga(plus(T113, T114), T121)) → U40_ga(T113, T114, T115, T117, qc22_in_gaga(T115, X104, T121, T117))
U40_ga(T113, T114, T115, T117, qc22_out_gaga(T115, X104, T121, T117)) → s2c1_out_ga(plus(T113, plus(T114, T115)), T117)
U38_ga(T70, T71, T72, T74, s2c1_out_ga(plus(T72, plus(T70, T71)), T74)) → s2c1_out_ga(plus(T70, plus(T71, T72)), T74)
U37_ga(T32, T33, T34, T35, T37, s2c1_out_ga(plus(plus(plus(T32, T33), T34), T35), T37)) → s2c1_out_ga(plus(T32, plus(T33, plus(T34, T35))), T37)

The argument filtering Pi contains the following mapping:
plus(x1, x2)  =  plus(x1, x2)
s2c1_in_ga(x1, x2)  =  s2c1_in_ga(x1)
U37_ga(x1, x2, x3, x4, x5, x6)  =  U37_ga(x1, x2, x3, x4, x6)
U38_ga(x1, x2, x3, x4, x5)  =  U38_ga(x1, x2, x3, x5)
0  =  0
s2c1_out_ga(x1, x2)  =  s2c1_out_ga(x1, x2)
U39_ga(x1, x2, x3, x4, x5)  =  U39_ga(x1, x2, x3, x5)
U41_ga(x1, x2, x3, x4, x5)  =  U41_ga(x1, x2, x3, x5)
U42_ga(x1, x2, x3, x4, x5)  =  U42_ga(x1, x2, x3, x5)
U44_ga(x1, x2, x3, x4, x5)  =  U44_ga(x1, x2, x3, x5)
U45_ga(x1, x2, x3, x4)  =  U45_ga(x1, x2, x4)
U46_ga(x1, x2, x3, x4)  =  U46_ga(x1, x2, x4)
s(x1)  =  s(x1)
U48_ga(x1, x2, x3, x4)  =  U48_ga(x1, x2, x4)
isNatc33_in_g(x1)  =  isNatc33_in_g(x1)
U58_g(x1, x2)  =  U58_g(x1, x2)
isNatc33_out_g(x1)  =  isNatc33_out_g(x1)
U49_ga(x1, x2, x3, x4)  =  U49_ga(x1, x2, x4)
U50_ga(x1, x2, x3, x4)  =  U50_ga(x1, x2, x4)
addc99_in_gga(x1, x2, x3)  =  addc99_in_gga(x1, x2)
U62_gga(x1, x2, x3, x4)  =  U62_gga(x1, x2, x4)
addc99_out_gga(x1, x2, x3)  =  addc99_out_gga(x1, x2, x3)
U51_ga(x1, x2)  =  U51_ga(x1, x2)
U52_ga(x1, x2)  =  U52_ga(x1, x2)
U53_ga(x1, x2, x3, x4)  =  U53_ga(x1, x2, x4)
U55_ga(x1, x2, x3, x4)  =  U55_ga(x1, x2, x4)
U56_ga(x1, x2, x3, x4)  =  U56_ga(x1, x2, x4)
U57_ga(x1, x2, x3, x4)  =  U57_ga(x1, x2, x4)
U54_ga(x1, x2, x3, x4)  =  U54_ga(x1, x2, x4)
qc22_in_gaga(x1, x2, x3, x4)  =  qc22_in_gaga(x1, x3)
U59_gaga(x1, x2, x3, x4, x5)  =  U59_gaga(x1, x3, x5)
U60_gaga(x1, x2, x3, x4, x5)  =  U60_gaga(x1, x2, x3, x5)
qc22_out_gaga(x1, x2, x3, x4)  =  qc22_out_gaga(x1, x2, x3, x4)
U47_ga(x1, x2, x3, x4)  =  U47_ga(x1, x2, x4)
U43_ga(x1, x2, x3, x4, x5)  =  U43_ga(x1, x2, x3, x5)
U40_ga(x1, x2, x3, x4, x5)  =  U40_ga(x1, x2, x3, x5)
ISNAT33_IN_G(x1)  =  ISNAT33_IN_G(x1)

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

(17) UsableRulesProof (EQUIVALENT transformation)

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

(18) Obligation:

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

ISNAT33_IN_G(s(T165)) → ISNAT33_IN_G(T165)

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

(19) PiDPToQDPProof (EQUIVALENT transformation)

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

(20) Obligation:

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

ISNAT33_IN_G(s(T165)) → ISNAT33_IN_G(T165)

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

(21) QDPSizeChangeProof (EQUIVALENT transformation)

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

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

  • ISNAT33_IN_G(s(T165)) → ISNAT33_IN_G(T165)
    The graph contains the following edges 1 > 1

(22) YES

(23) Obligation:

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

S21_IN_GA(plus(T70, plus(T71, T72)), T74) → S21_IN_GA(plus(T72, plus(T70, T71)), T74)
S21_IN_GA(plus(T32, plus(T33, plus(T34, T35))), T37) → S21_IN_GA(plus(plus(plus(T32, T33), T34), T35), T37)
S21_IN_GA(plus(T113, plus(T114, T115)), T117) → S21_IN_GA(plus(T113, T114), X103)
S21_IN_GA(plus(T113, plus(T114, T115)), T117) → U10_GA(T113, T114, T115, T117, s2c1_in_ga(plus(T113, T114), T121))
U10_GA(T113, T114, T115, T117, s2c1_out_ga(plus(T113, T114), T121)) → P22_IN_GAGA(T115, X104, T121, T117)
P22_IN_GAGA(T115, X104, T121, T117) → S21_IN_GA(T115, X104)
S21_IN_GA(plus(T195, plus(T196, T197)), T199) → S21_IN_GA(plus(plus(T196, T197), T195), T199)
S21_IN_GA(plus(T230, plus(T231, T232)), T234) → S21_IN_GA(T230, X224)
S21_IN_GA(plus(T230, plus(T231, T232)), T234) → U14_GA(T230, T231, T232, T234, s2c1_in_ga(T230, T238))
U14_GA(T230, T231, T232, T234, s2c1_out_ga(T230, T238)) → P22_IN_GAGA(plus(T231, T232), X225, T238, T234)
P22_IN_GAGA(T115, T128, T121, T117) → U3_GAGA(T115, T128, T121, T117, s2c1_in_ga(T115, T128))
U3_GAGA(T115, T128, T121, T117, s2c1_out_ga(T115, T128)) → S21_IN_GA(plus(T121, T128), T117)
S21_IN_GA(plus(plus(T321, T322), T320), T324) → S21_IN_GA(plus(plus(T320, T321), T322), T324)
S21_IN_GA(plus(T353, T352), T355) → S21_IN_GA(plus(T353, T352), T355)
S21_IN_GA(plus(T386, T385), T388) → S21_IN_GA(T385, X382)
S21_IN_GA(plus(T386, T385), T388) → U20_GA(T386, T385, T388, s2c1_in_ga(T385, T392))
U20_GA(T386, T385, T388, s2c1_out_ga(T385, T392)) → P22_IN_GAGA(T386, X383, T392, T388)
S21_IN_GA(plus(T495, T496), T498) → S21_IN_GA(T495, X508)
S21_IN_GA(plus(T495, T496), T498) → U29_GA(T495, T496, T498, s2c1_in_ga(T495, T502))
U29_GA(T495, T496, T498, s2c1_out_ga(T495, T502)) → P22_IN_GAGA(T496, X509, T502, T498)

The TRS R consists of the following rules:

s2c1_in_ga(plus(T32, plus(T33, plus(T34, T35))), T37) → U37_ga(T32, T33, T34, T35, T37, s2c1_in_ga(plus(plus(plus(T32, T33), T34), T35), T37))
s2c1_in_ga(plus(T70, plus(T71, T72)), T74) → U38_ga(T70, T71, T72, T74, s2c1_in_ga(plus(T72, plus(T70, T71)), T74))
s2c1_in_ga(plus(T87, plus(T88, 0)), plus(T87, T88)) → s2c1_out_ga(plus(T87, plus(T88, 0)), plus(T87, T88))
s2c1_in_ga(plus(T113, plus(T114, T115)), T117) → U39_ga(T113, T114, T115, T117, s2c1_in_ga(plus(T113, T114), T121))
s2c1_in_ga(plus(T195, plus(T196, T197)), T199) → U41_ga(T195, T196, T197, T199, s2c1_in_ga(plus(plus(T196, T197), T195), T199))
s2c1_in_ga(plus(T230, plus(T231, T232)), T234) → U42_ga(T230, T231, T232, T234, s2c1_in_ga(T230, T238))
s2c1_in_ga(plus(plus(T321, T322), T320), T324) → U44_ga(T321, T322, T320, T324, s2c1_in_ga(plus(plus(T320, T321), T322), T324))
s2c1_in_ga(plus(T353, T352), T355) → U45_ga(T353, T352, T355, s2c1_in_ga(plus(T353, T352), T355))
s2c1_in_ga(plus(0, T364), T364) → s2c1_out_ga(plus(0, T364), T364)
s2c1_in_ga(plus(T386, T385), T388) → U46_ga(T386, T385, T388, s2c1_in_ga(T385, T392))
s2c1_in_ga(plus(T439, s(T438)), s(T441)) → U48_ga(T439, T438, T441, isNatc33_in_g(s(T438)))
isNatc33_in_g(s(T165)) → U58_g(T165, isNatc33_in_g(T165))
isNatc33_in_g(0) → isNatc33_out_g(0)
U58_g(T165, isNatc33_out_g(T165)) → isNatc33_out_g(s(T165))
U48_ga(T439, T438, T441, isNatc33_out_g(s(T438))) → U49_ga(T439, T438, T441, isNatc33_in_g(T439))
U49_ga(T439, T438, T441, isNatc33_out_g(T439)) → U50_ga(T439, T438, T441, addc99_in_gga(T438, T439, T441))
addc99_in_gga(s(T457), T458, s(T460)) → U62_gga(T457, T458, T460, addc99_in_gga(T457, T458, T460))
addc99_in_gga(0, T466, T466) → addc99_out_gga(0, T466, T466)
U62_gga(T457, T458, T460, addc99_out_gga(T457, T458, T460)) → addc99_out_gga(s(T457), T458, s(T460))
U50_ga(T439, T438, T441, addc99_out_gga(T438, T439, T441)) → s2c1_out_ga(plus(T439, s(T438)), s(T441))
s2c1_in_ga(plus(T469, 0), T469) → U51_ga(T469, isNatc33_in_g(0))
U51_ga(T469, isNatc33_out_g(0)) → U52_ga(T469, isNatc33_in_g(T469))
U52_ga(T469, isNatc33_out_g(T469)) → s2c1_out_ga(plus(T469, 0), T469)
s2c1_in_ga(plus(T474, 0), T474) → s2c1_out_ga(plus(T474, 0), T474)
s2c1_in_ga(plus(T495, T496), T498) → U53_ga(T495, T496, T498, s2c1_in_ga(T495, T502))
s2c1_in_ga(plus(T517, T518), T520) → U55_ga(T517, T518, T520, isNatc33_in_g(T517))
U55_ga(T517, T518, T520, isNatc33_out_g(T517)) → U56_ga(T517, T518, T520, isNatc33_in_g(T518))
U56_ga(T517, T518, T520, isNatc33_out_g(T518)) → U57_ga(T517, T518, T520, addc99_in_gga(T517, T518, T520))
U57_ga(T517, T518, T520, addc99_out_gga(T517, T518, T520)) → s2c1_out_ga(plus(T517, T518), T520)
U53_ga(T495, T496, T498, s2c1_out_ga(T495, T502)) → U54_ga(T495, T496, T498, qc22_in_gaga(T496, X509, T502, T498))
qc22_in_gaga(T115, T128, T121, T117) → U59_gaga(T115, T128, T121, T117, s2c1_in_ga(T115, T128))
U59_gaga(T115, T128, T121, T117, s2c1_out_ga(T115, T128)) → U60_gaga(T115, T128, T121, T117, s2c1_in_ga(plus(T121, T128), T117))
U60_gaga(T115, T128, T121, T117, s2c1_out_ga(plus(T121, T128), T117)) → qc22_out_gaga(T115, T128, T121, T117)
U54_ga(T495, T496, T498, qc22_out_gaga(T496, X509, T502, T498)) → s2c1_out_ga(plus(T495, T496), T498)
U46_ga(T386, T385, T388, s2c1_out_ga(T385, T392)) → U47_ga(T386, T385, T388, qc22_in_gaga(T386, X383, T392, T388))
U47_ga(T386, T385, T388, qc22_out_gaga(T386, X383, T392, T388)) → s2c1_out_ga(plus(T386, T385), T388)
U45_ga(T353, T352, T355, s2c1_out_ga(plus(T353, T352), T355)) → s2c1_out_ga(plus(T353, T352), T355)
U44_ga(T321, T322, T320, T324, s2c1_out_ga(plus(plus(T320, T321), T322), T324)) → s2c1_out_ga(plus(plus(T321, T322), T320), T324)
U42_ga(T230, T231, T232, T234, s2c1_out_ga(T230, T238)) → U43_ga(T230, T231, T232, T234, qc22_in_gaga(plus(T231, T232), X225, T238, T234))
U43_ga(T230, T231, T232, T234, qc22_out_gaga(plus(T231, T232), X225, T238, T234)) → s2c1_out_ga(plus(T230, plus(T231, T232)), T234)
U41_ga(T195, T196, T197, T199, s2c1_out_ga(plus(plus(T196, T197), T195), T199)) → s2c1_out_ga(plus(T195, plus(T196, T197)), T199)
U39_ga(T113, T114, T115, T117, s2c1_out_ga(plus(T113, T114), T121)) → U40_ga(T113, T114, T115, T117, qc22_in_gaga(T115, X104, T121, T117))
U40_ga(T113, T114, T115, T117, qc22_out_gaga(T115, X104, T121, T117)) → s2c1_out_ga(plus(T113, plus(T114, T115)), T117)
U38_ga(T70, T71, T72, T74, s2c1_out_ga(plus(T72, plus(T70, T71)), T74)) → s2c1_out_ga(plus(T70, plus(T71, T72)), T74)
U37_ga(T32, T33, T34, T35, T37, s2c1_out_ga(plus(plus(plus(T32, T33), T34), T35), T37)) → s2c1_out_ga(plus(T32, plus(T33, plus(T34, T35))), T37)

The argument filtering Pi contains the following mapping:
plus(x1, x2)  =  plus(x1, x2)
s2c1_in_ga(x1, x2)  =  s2c1_in_ga(x1)
U37_ga(x1, x2, x3, x4, x5, x6)  =  U37_ga(x1, x2, x3, x4, x6)
U38_ga(x1, x2, x3, x4, x5)  =  U38_ga(x1, x2, x3, x5)
0  =  0
s2c1_out_ga(x1, x2)  =  s2c1_out_ga(x1, x2)
U39_ga(x1, x2, x3, x4, x5)  =  U39_ga(x1, x2, x3, x5)
U41_ga(x1, x2, x3, x4, x5)  =  U41_ga(x1, x2, x3, x5)
U42_ga(x1, x2, x3, x4, x5)  =  U42_ga(x1, x2, x3, x5)
U44_ga(x1, x2, x3, x4, x5)  =  U44_ga(x1, x2, x3, x5)
U45_ga(x1, x2, x3, x4)  =  U45_ga(x1, x2, x4)
U46_ga(x1, x2, x3, x4)  =  U46_ga(x1, x2, x4)
s(x1)  =  s(x1)
U48_ga(x1, x2, x3, x4)  =  U48_ga(x1, x2, x4)
isNatc33_in_g(x1)  =  isNatc33_in_g(x1)
U58_g(x1, x2)  =  U58_g(x1, x2)
isNatc33_out_g(x1)  =  isNatc33_out_g(x1)
U49_ga(x1, x2, x3, x4)  =  U49_ga(x1, x2, x4)
U50_ga(x1, x2, x3, x4)  =  U50_ga(x1, x2, x4)
addc99_in_gga(x1, x2, x3)  =  addc99_in_gga(x1, x2)
U62_gga(x1, x2, x3, x4)  =  U62_gga(x1, x2, x4)
addc99_out_gga(x1, x2, x3)  =  addc99_out_gga(x1, x2, x3)
U51_ga(x1, x2)  =  U51_ga(x1, x2)
U52_ga(x1, x2)  =  U52_ga(x1, x2)
U53_ga(x1, x2, x3, x4)  =  U53_ga(x1, x2, x4)
U55_ga(x1, x2, x3, x4)  =  U55_ga(x1, x2, x4)
U56_ga(x1, x2, x3, x4)  =  U56_ga(x1, x2, x4)
U57_ga(x1, x2, x3, x4)  =  U57_ga(x1, x2, x4)
U54_ga(x1, x2, x3, x4)  =  U54_ga(x1, x2, x4)
qc22_in_gaga(x1, x2, x3, x4)  =  qc22_in_gaga(x1, x3)
U59_gaga(x1, x2, x3, x4, x5)  =  U59_gaga(x1, x3, x5)
U60_gaga(x1, x2, x3, x4, x5)  =  U60_gaga(x1, x2, x3, x5)
qc22_out_gaga(x1, x2, x3, x4)  =  qc22_out_gaga(x1, x2, x3, x4)
U47_ga(x1, x2, x3, x4)  =  U47_ga(x1, x2, x4)
U43_ga(x1, x2, x3, x4, x5)  =  U43_ga(x1, x2, x3, x5)
U40_ga(x1, x2, x3, x4, x5)  =  U40_ga(x1, x2, x3, x5)
S21_IN_GA(x1, x2)  =  S21_IN_GA(x1)
U10_GA(x1, x2, x3, x4, x5)  =  U10_GA(x1, x2, x3, x5)
P22_IN_GAGA(x1, x2, x3, x4)  =  P22_IN_GAGA(x1, x3)
U14_GA(x1, x2, x3, x4, x5)  =  U14_GA(x1, x2, x3, x5)
U3_GAGA(x1, x2, x3, x4, x5)  =  U3_GAGA(x1, x3, x5)
U20_GA(x1, x2, x3, x4)  =  U20_GA(x1, x2, x4)
U29_GA(x1, x2, x3, x4)  =  U29_GA(x1, x2, x4)

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

(24) PiDPToQDPProof (SOUND transformation)

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

(25) Obligation:

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

S21_IN_GA(plus(T70, plus(T71, T72))) → S21_IN_GA(plus(T72, plus(T70, T71)))
S21_IN_GA(plus(T32, plus(T33, plus(T34, T35)))) → S21_IN_GA(plus(plus(plus(T32, T33), T34), T35))
S21_IN_GA(plus(T113, plus(T114, T115))) → S21_IN_GA(plus(T113, T114))
S21_IN_GA(plus(T113, plus(T114, T115))) → U10_GA(T113, T114, T115, s2c1_in_ga(plus(T113, T114)))
U10_GA(T113, T114, T115, s2c1_out_ga(plus(T113, T114), T121)) → P22_IN_GAGA(T115, T121)
P22_IN_GAGA(T115, T121) → S21_IN_GA(T115)
S21_IN_GA(plus(T195, plus(T196, T197))) → S21_IN_GA(plus(plus(T196, T197), T195))
S21_IN_GA(plus(T230, plus(T231, T232))) → S21_IN_GA(T230)
S21_IN_GA(plus(T230, plus(T231, T232))) → U14_GA(T230, T231, T232, s2c1_in_ga(T230))
U14_GA(T230, T231, T232, s2c1_out_ga(T230, T238)) → P22_IN_GAGA(plus(T231, T232), T238)
P22_IN_GAGA(T115, T121) → U3_GAGA(T115, T121, s2c1_in_ga(T115))
U3_GAGA(T115, T121, s2c1_out_ga(T115, T128)) → S21_IN_GA(plus(T121, T128))
S21_IN_GA(plus(plus(T321, T322), T320)) → S21_IN_GA(plus(plus(T320, T321), T322))
S21_IN_GA(plus(T353, T352)) → S21_IN_GA(plus(T353, T352))
S21_IN_GA(plus(T386, T385)) → S21_IN_GA(T385)
S21_IN_GA(plus(T386, T385)) → U20_GA(T386, T385, s2c1_in_ga(T385))
U20_GA(T386, T385, s2c1_out_ga(T385, T392)) → P22_IN_GAGA(T386, T392)
S21_IN_GA(plus(T495, T496)) → S21_IN_GA(T495)
S21_IN_GA(plus(T495, T496)) → U29_GA(T495, T496, s2c1_in_ga(T495))
U29_GA(T495, T496, s2c1_out_ga(T495, T502)) → P22_IN_GAGA(T496, T502)

The TRS R consists of the following rules:

s2c1_in_ga(plus(T32, plus(T33, plus(T34, T35)))) → U37_ga(T32, T33, T34, T35, s2c1_in_ga(plus(plus(plus(T32, T33), T34), T35)))
s2c1_in_ga(plus(T70, plus(T71, T72))) → U38_ga(T70, T71, T72, s2c1_in_ga(plus(T72, plus(T70, T71))))
s2c1_in_ga(plus(T87, plus(T88, 0))) → s2c1_out_ga(plus(T87, plus(T88, 0)), plus(T87, T88))
s2c1_in_ga(plus(T113, plus(T114, T115))) → U39_ga(T113, T114, T115, s2c1_in_ga(plus(T113, T114)))
s2c1_in_ga(plus(T195, plus(T196, T197))) → U41_ga(T195, T196, T197, s2c1_in_ga(plus(plus(T196, T197), T195)))
s2c1_in_ga(plus(T230, plus(T231, T232))) → U42_ga(T230, T231, T232, s2c1_in_ga(T230))
s2c1_in_ga(plus(plus(T321, T322), T320)) → U44_ga(T321, T322, T320, s2c1_in_ga(plus(plus(T320, T321), T322)))
s2c1_in_ga(plus(T353, T352)) → U45_ga(T353, T352, s2c1_in_ga(plus(T353, T352)))
s2c1_in_ga(plus(0, T364)) → s2c1_out_ga(plus(0, T364), T364)
s2c1_in_ga(plus(T386, T385)) → U46_ga(T386, T385, s2c1_in_ga(T385))
s2c1_in_ga(plus(T439, s(T438))) → U48_ga(T439, T438, isNatc33_in_g(s(T438)))
isNatc33_in_g(s(T165)) → U58_g(T165, isNatc33_in_g(T165))
isNatc33_in_g(0) → isNatc33_out_g(0)
U58_g(T165, isNatc33_out_g(T165)) → isNatc33_out_g(s(T165))
U48_ga(T439, T438, isNatc33_out_g(s(T438))) → U49_ga(T439, T438, isNatc33_in_g(T439))
U49_ga(T439, T438, isNatc33_out_g(T439)) → U50_ga(T439, T438, addc99_in_gga(T438, T439))
addc99_in_gga(s(T457), T458) → U62_gga(T457, T458, addc99_in_gga(T457, T458))
addc99_in_gga(0, T466) → addc99_out_gga(0, T466, T466)
U62_gga(T457, T458, addc99_out_gga(T457, T458, T460)) → addc99_out_gga(s(T457), T458, s(T460))
U50_ga(T439, T438, addc99_out_gga(T438, T439, T441)) → s2c1_out_ga(plus(T439, s(T438)), s(T441))
s2c1_in_ga(plus(T469, 0)) → U51_ga(T469, isNatc33_in_g(0))
U51_ga(T469, isNatc33_out_g(0)) → U52_ga(T469, isNatc33_in_g(T469))
U52_ga(T469, isNatc33_out_g(T469)) → s2c1_out_ga(plus(T469, 0), T469)
s2c1_in_ga(plus(T474, 0)) → s2c1_out_ga(plus(T474, 0), T474)
s2c1_in_ga(plus(T495, T496)) → U53_ga(T495, T496, s2c1_in_ga(T495))
s2c1_in_ga(plus(T517, T518)) → U55_ga(T517, T518, isNatc33_in_g(T517))
U55_ga(T517, T518, isNatc33_out_g(T517)) → U56_ga(T517, T518, isNatc33_in_g(T518))
U56_ga(T517, T518, isNatc33_out_g(T518)) → U57_ga(T517, T518, addc99_in_gga(T517, T518))
U57_ga(T517, T518, addc99_out_gga(T517, T518, T520)) → s2c1_out_ga(plus(T517, T518), T520)
U53_ga(T495, T496, s2c1_out_ga(T495, T502)) → U54_ga(T495, T496, qc22_in_gaga(T496, T502))
qc22_in_gaga(T115, T121) → U59_gaga(T115, T121, s2c1_in_ga(T115))
U59_gaga(T115, T121, s2c1_out_ga(T115, T128)) → U60_gaga(T115, T128, T121, s2c1_in_ga(plus(T121, T128)))
U60_gaga(T115, T128, T121, s2c1_out_ga(plus(T121, T128), T117)) → qc22_out_gaga(T115, T128, T121, T117)
U54_ga(T495, T496, qc22_out_gaga(T496, X509, T502, T498)) → s2c1_out_ga(plus(T495, T496), T498)
U46_ga(T386, T385, s2c1_out_ga(T385, T392)) → U47_ga(T386, T385, qc22_in_gaga(T386, T392))
U47_ga(T386, T385, qc22_out_gaga(T386, X383, T392, T388)) → s2c1_out_ga(plus(T386, T385), T388)
U45_ga(T353, T352, s2c1_out_ga(plus(T353, T352), T355)) → s2c1_out_ga(plus(T353, T352), T355)
U44_ga(T321, T322, T320, s2c1_out_ga(plus(plus(T320, T321), T322), T324)) → s2c1_out_ga(plus(plus(T321, T322), T320), T324)
U42_ga(T230, T231, T232, s2c1_out_ga(T230, T238)) → U43_ga(T230, T231, T232, qc22_in_gaga(plus(T231, T232), T238))
U43_ga(T230, T231, T232, qc22_out_gaga(plus(T231, T232), X225, T238, T234)) → s2c1_out_ga(plus(T230, plus(T231, T232)), T234)
U41_ga(T195, T196, T197, s2c1_out_ga(plus(plus(T196, T197), T195), T199)) → s2c1_out_ga(plus(T195, plus(T196, T197)), T199)
U39_ga(T113, T114, T115, s2c1_out_ga(plus(T113, T114), T121)) → U40_ga(T113, T114, T115, qc22_in_gaga(T115, T121))
U40_ga(T113, T114, T115, qc22_out_gaga(T115, X104, T121, T117)) → s2c1_out_ga(plus(T113, plus(T114, T115)), T117)
U38_ga(T70, T71, T72, s2c1_out_ga(plus(T72, plus(T70, T71)), T74)) → s2c1_out_ga(plus(T70, plus(T71, T72)), T74)
U37_ga(T32, T33, T34, T35, s2c1_out_ga(plus(plus(plus(T32, T33), T34), T35), T37)) → s2c1_out_ga(plus(T32, plus(T33, plus(T34, T35))), T37)

The set Q consists of the following terms:

s2c1_in_ga(x0)
isNatc33_in_g(x0)
U58_g(x0, x1)
U48_ga(x0, x1, x2)
U49_ga(x0, x1, x2)
addc99_in_gga(x0, x1)
U62_gga(x0, x1, x2)
U50_ga(x0, x1, x2)
U51_ga(x0, x1)
U52_ga(x0, x1)
U55_ga(x0, x1, x2)
U56_ga(x0, x1, x2)
U57_ga(x0, x1, x2)
U53_ga(x0, x1, x2)
qc22_in_gaga(x0, x1)
U59_gaga(x0, x1, x2)
U60_gaga(x0, x1, x2, x3)
U54_ga(x0, x1, x2)
U46_ga(x0, x1, x2)
U47_ga(x0, x1, x2)
U45_ga(x0, x1, x2)
U44_ga(x0, x1, x2, x3)
U42_ga(x0, x1, x2, x3)
U43_ga(x0, x1, x2, x3)
U41_ga(x0, x1, x2, x3)
U39_ga(x0, x1, x2, x3)
U40_ga(x0, x1, x2, x3)
U38_ga(x0, x1, x2, x3)
U37_ga(x0, x1, x2, x3, x4)

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

(26) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


S21_IN_GA(plus(T113, plus(T114, T115))) → U10_GA(T113, T114, T115, s2c1_in_ga(plus(T113, T114)))
U14_GA(T230, T231, T232, s2c1_out_ga(T230, T238)) → P22_IN_GAGA(plus(T231, T232), T238)
U3_GAGA(T115, T121, s2c1_out_ga(T115, T128)) → S21_IN_GA(plus(T121, T128))
S21_IN_GA(plus(T386, T385)) → U20_GA(T386, T385, s2c1_in_ga(T385))
S21_IN_GA(plus(T495, T496)) → U29_GA(T495, T496, s2c1_in_ga(T495))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(0) = 1   
POL(P22_IN_GAGA(x1, x2)) = 1 + x1 + x2   
POL(S21_IN_GA(x1)) = 1 + x1   
POL(U10_GA(x1, x2, x3, x4)) = x3 + x4   
POL(U14_GA(x1, x2, x3, x4)) = 1 + x2 + x3 + x4   
POL(U20_GA(x1, x2, x3)) = x1 + x3   
POL(U29_GA(x1, x2, x3)) = x2 + x3   
POL(U37_ga(x1, x2, x3, x4, x5)) = x5   
POL(U38_ga(x1, x2, x3, x4)) = x4   
POL(U39_ga(x1, x2, x3, x4)) = x3 + x4   
POL(U3_GAGA(x1, x2, x3)) = 1 + x2 + x3   
POL(U40_ga(x1, x2, x3, x4)) = x4   
POL(U41_ga(x1, x2, x3, x4)) = x4   
POL(U42_ga(x1, x2, x3, x4)) = x2 + x3 + x4   
POL(U43_ga(x1, x2, x3, x4)) = x4   
POL(U44_ga(x1, x2, x3, x4)) = x4   
POL(U45_ga(x1, x2, x3)) = x3   
POL(U46_ga(x1, x2, x3)) = x1 + x3   
POL(U47_ga(x1, x2, x3)) = x3   
POL(U48_ga(x1, x2, x3)) = x1 + x2   
POL(U49_ga(x1, x2, x3)) = x1 + x2   
POL(U50_ga(x1, x2, x3)) = x3   
POL(U51_ga(x1, x2)) = 1 + x1   
POL(U52_ga(x1, x2)) = 1 + x1   
POL(U53_ga(x1, x2, x3)) = x2 + x3   
POL(U54_ga(x1, x2, x3)) = x3   
POL(U55_ga(x1, x2, x3)) = x1 + x2   
POL(U56_ga(x1, x2, x3)) = x1 + x2   
POL(U57_ga(x1, x2, x3)) = x3   
POL(U58_g(x1, x2)) = 0   
POL(U59_gaga(x1, x2, x3)) = x2 + x3   
POL(U60_gaga(x1, x2, x3, x4)) = x4   
POL(U62_gga(x1, x2, x3)) = x3   
POL(addc99_in_gga(x1, x2)) = x1 + x2   
POL(addc99_out_gga(x1, x2, x3)) = 1 + x3   
POL(isNatc33_in_g(x1)) = 0   
POL(isNatc33_out_g(x1)) = 0   
POL(plus(x1, x2)) = x1 + x2   
POL(qc22_in_gaga(x1, x2)) = 1 + x1 + x2   
POL(qc22_out_gaga(x1, x2, x3, x4)) = 1 + x4   
POL(s(x1)) = x1   
POL(s2c1_in_ga(x1)) = x1   
POL(s2c1_out_ga(x1, x2)) = 1 + x2   

The following usable rules [FROCOS05] were oriented:

s2c1_in_ga(plus(T32, plus(T33, plus(T34, T35)))) → U37_ga(T32, T33, T34, T35, s2c1_in_ga(plus(plus(plus(T32, T33), T34), T35)))
s2c1_in_ga(plus(T70, plus(T71, T72))) → U38_ga(T70, T71, T72, s2c1_in_ga(plus(T72, plus(T70, T71))))
s2c1_in_ga(plus(T87, plus(T88, 0))) → s2c1_out_ga(plus(T87, plus(T88, 0)), plus(T87, T88))
s2c1_in_ga(plus(T113, plus(T114, T115))) → U39_ga(T113, T114, T115, s2c1_in_ga(plus(T113, T114)))
s2c1_in_ga(plus(T195, plus(T196, T197))) → U41_ga(T195, T196, T197, s2c1_in_ga(plus(plus(T196, T197), T195)))
s2c1_in_ga(plus(T230, plus(T231, T232))) → U42_ga(T230, T231, T232, s2c1_in_ga(T230))
s2c1_in_ga(plus(plus(T321, T322), T320)) → U44_ga(T321, T322, T320, s2c1_in_ga(plus(plus(T320, T321), T322)))
s2c1_in_ga(plus(T353, T352)) → U45_ga(T353, T352, s2c1_in_ga(plus(T353, T352)))
s2c1_in_ga(plus(0, T364)) → s2c1_out_ga(plus(0, T364), T364)
s2c1_in_ga(plus(T386, T385)) → U46_ga(T386, T385, s2c1_in_ga(T385))
s2c1_in_ga(plus(T439, s(T438))) → U48_ga(T439, T438, isNatc33_in_g(s(T438)))
s2c1_in_ga(plus(T469, 0)) → U51_ga(T469, isNatc33_in_g(0))
s2c1_in_ga(plus(T474, 0)) → s2c1_out_ga(plus(T474, 0), T474)
s2c1_in_ga(plus(T495, T496)) → U53_ga(T495, T496, s2c1_in_ga(T495))
s2c1_in_ga(plus(T517, T518)) → U55_ga(T517, T518, isNatc33_in_g(T517))
U38_ga(T70, T71, T72, s2c1_out_ga(plus(T72, plus(T70, T71)), T74)) → s2c1_out_ga(plus(T70, plus(T71, T72)), T74)
U37_ga(T32, T33, T34, T35, s2c1_out_ga(plus(plus(plus(T32, T33), T34), T35), T37)) → s2c1_out_ga(plus(T32, plus(T33, plus(T34, T35))), T37)
U41_ga(T195, T196, T197, s2c1_out_ga(plus(plus(T196, T197), T195), T199)) → s2c1_out_ga(plus(T195, plus(T196, T197)), T199)
U44_ga(T321, T322, T320, s2c1_out_ga(plus(plus(T320, T321), T322), T324)) → s2c1_out_ga(plus(plus(T321, T322), T320), T324)
U45_ga(T353, T352, s2c1_out_ga(plus(T353, T352), T355)) → s2c1_out_ga(plus(T353, T352), T355)
U53_ga(T495, T496, s2c1_out_ga(T495, T502)) → U54_ga(T495, T496, qc22_in_gaga(T496, T502))
U54_ga(T495, T496, qc22_out_gaga(T496, X509, T502, T498)) → s2c1_out_ga(plus(T495, T496), T498)
qc22_in_gaga(T115, T121) → U59_gaga(T115, T121, s2c1_in_ga(T115))
U59_gaga(T115, T121, s2c1_out_ga(T115, T128)) → U60_gaga(T115, T128, T121, s2c1_in_ga(plus(T121, T128)))
U60_gaga(T115, T128, T121, s2c1_out_ga(plus(T121, T128), T117)) → qc22_out_gaga(T115, T128, T121, T117)
U46_ga(T386, T385, s2c1_out_ga(T385, T392)) → U47_ga(T386, T385, qc22_in_gaga(T386, T392))
U47_ga(T386, T385, qc22_out_gaga(T386, X383, T392, T388)) → s2c1_out_ga(plus(T386, T385), T388)
U42_ga(T230, T231, T232, s2c1_out_ga(T230, T238)) → U43_ga(T230, T231, T232, qc22_in_gaga(plus(T231, T232), T238))
U43_ga(T230, T231, T232, qc22_out_gaga(plus(T231, T232), X225, T238, T234)) → s2c1_out_ga(plus(T230, plus(T231, T232)), T234)
U39_ga(T113, T114, T115, s2c1_out_ga(plus(T113, T114), T121)) → U40_ga(T113, T114, T115, qc22_in_gaga(T115, T121))
U40_ga(T113, T114, T115, qc22_out_gaga(T115, X104, T121, T117)) → s2c1_out_ga(plus(T113, plus(T114, T115)), T117)
U48_ga(T439, T438, isNatc33_out_g(s(T438))) → U49_ga(T439, T438, isNatc33_in_g(T439))
U49_ga(T439, T438, isNatc33_out_g(T439)) → U50_ga(T439, T438, addc99_in_gga(T438, T439))
U51_ga(T469, isNatc33_out_g(0)) → U52_ga(T469, isNatc33_in_g(T469))
U52_ga(T469, isNatc33_out_g(T469)) → s2c1_out_ga(plus(T469, 0), T469)
U55_ga(T517, T518, isNatc33_out_g(T517)) → U56_ga(T517, T518, isNatc33_in_g(T518))
U56_ga(T517, T518, isNatc33_out_g(T518)) → U57_ga(T517, T518, addc99_in_gga(T517, T518))
addc99_in_gga(s(T457), T458) → U62_gga(T457, T458, addc99_in_gga(T457, T458))
addc99_in_gga(0, T466) → addc99_out_gga(0, T466, T466)
U50_ga(T439, T438, addc99_out_gga(T438, T439, T441)) → s2c1_out_ga(plus(T439, s(T438)), s(T441))
U57_ga(T517, T518, addc99_out_gga(T517, T518, T520)) → s2c1_out_ga(plus(T517, T518), T520)
U62_gga(T457, T458, addc99_out_gga(T457, T458, T460)) → addc99_out_gga(s(T457), T458, s(T460))

(27) Obligation:

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

S21_IN_GA(plus(T70, plus(T71, T72))) → S21_IN_GA(plus(T72, plus(T70, T71)))
S21_IN_GA(plus(T32, plus(T33, plus(T34, T35)))) → S21_IN_GA(plus(plus(plus(T32, T33), T34), T35))
S21_IN_GA(plus(T113, plus(T114, T115))) → S21_IN_GA(plus(T113, T114))
U10_GA(T113, T114, T115, s2c1_out_ga(plus(T113, T114), T121)) → P22_IN_GAGA(T115, T121)
P22_IN_GAGA(T115, T121) → S21_IN_GA(T115)
S21_IN_GA(plus(T195, plus(T196, T197))) → S21_IN_GA(plus(plus(T196, T197), T195))
S21_IN_GA(plus(T230, plus(T231, T232))) → S21_IN_GA(T230)
S21_IN_GA(plus(T230, plus(T231, T232))) → U14_GA(T230, T231, T232, s2c1_in_ga(T230))
P22_IN_GAGA(T115, T121) → U3_GAGA(T115, T121, s2c1_in_ga(T115))
S21_IN_GA(plus(plus(T321, T322), T320)) → S21_IN_GA(plus(plus(T320, T321), T322))
S21_IN_GA(plus(T353, T352)) → S21_IN_GA(plus(T353, T352))
S21_IN_GA(plus(T386, T385)) → S21_IN_GA(T385)
U20_GA(T386, T385, s2c1_out_ga(T385, T392)) → P22_IN_GAGA(T386, T392)
S21_IN_GA(plus(T495, T496)) → S21_IN_GA(T495)
U29_GA(T495, T496, s2c1_out_ga(T495, T502)) → P22_IN_GAGA(T496, T502)

The TRS R consists of the following rules:

s2c1_in_ga(plus(T32, plus(T33, plus(T34, T35)))) → U37_ga(T32, T33, T34, T35, s2c1_in_ga(plus(plus(plus(T32, T33), T34), T35)))
s2c1_in_ga(plus(T70, plus(T71, T72))) → U38_ga(T70, T71, T72, s2c1_in_ga(plus(T72, plus(T70, T71))))
s2c1_in_ga(plus(T87, plus(T88, 0))) → s2c1_out_ga(plus(T87, plus(T88, 0)), plus(T87, T88))
s2c1_in_ga(plus(T113, plus(T114, T115))) → U39_ga(T113, T114, T115, s2c1_in_ga(plus(T113, T114)))
s2c1_in_ga(plus(T195, plus(T196, T197))) → U41_ga(T195, T196, T197, s2c1_in_ga(plus(plus(T196, T197), T195)))
s2c1_in_ga(plus(T230, plus(T231, T232))) → U42_ga(T230, T231, T232, s2c1_in_ga(T230))
s2c1_in_ga(plus(plus(T321, T322), T320)) → U44_ga(T321, T322, T320, s2c1_in_ga(plus(plus(T320, T321), T322)))
s2c1_in_ga(plus(T353, T352)) → U45_ga(T353, T352, s2c1_in_ga(plus(T353, T352)))
s2c1_in_ga(plus(0, T364)) → s2c1_out_ga(plus(0, T364), T364)
s2c1_in_ga(plus(T386, T385)) → U46_ga(T386, T385, s2c1_in_ga(T385))
s2c1_in_ga(plus(T439, s(T438))) → U48_ga(T439, T438, isNatc33_in_g(s(T438)))
isNatc33_in_g(s(T165)) → U58_g(T165, isNatc33_in_g(T165))
isNatc33_in_g(0) → isNatc33_out_g(0)
U58_g(T165, isNatc33_out_g(T165)) → isNatc33_out_g(s(T165))
U48_ga(T439, T438, isNatc33_out_g(s(T438))) → U49_ga(T439, T438, isNatc33_in_g(T439))
U49_ga(T439, T438, isNatc33_out_g(T439)) → U50_ga(T439, T438, addc99_in_gga(T438, T439))
addc99_in_gga(s(T457), T458) → U62_gga(T457, T458, addc99_in_gga(T457, T458))
addc99_in_gga(0, T466) → addc99_out_gga(0, T466, T466)
U62_gga(T457, T458, addc99_out_gga(T457, T458, T460)) → addc99_out_gga(s(T457), T458, s(T460))
U50_ga(T439, T438, addc99_out_gga(T438, T439, T441)) → s2c1_out_ga(plus(T439, s(T438)), s(T441))
s2c1_in_ga(plus(T469, 0)) → U51_ga(T469, isNatc33_in_g(0))
U51_ga(T469, isNatc33_out_g(0)) → U52_ga(T469, isNatc33_in_g(T469))
U52_ga(T469, isNatc33_out_g(T469)) → s2c1_out_ga(plus(T469, 0), T469)
s2c1_in_ga(plus(T474, 0)) → s2c1_out_ga(plus(T474, 0), T474)
s2c1_in_ga(plus(T495, T496)) → U53_ga(T495, T496, s2c1_in_ga(T495))
s2c1_in_ga(plus(T517, T518)) → U55_ga(T517, T518, isNatc33_in_g(T517))
U55_ga(T517, T518, isNatc33_out_g(T517)) → U56_ga(T517, T518, isNatc33_in_g(T518))
U56_ga(T517, T518, isNatc33_out_g(T518)) → U57_ga(T517, T518, addc99_in_gga(T517, T518))
U57_ga(T517, T518, addc99_out_gga(T517, T518, T520)) → s2c1_out_ga(plus(T517, T518), T520)
U53_ga(T495, T496, s2c1_out_ga(T495, T502)) → U54_ga(T495, T496, qc22_in_gaga(T496, T502))
qc22_in_gaga(T115, T121) → U59_gaga(T115, T121, s2c1_in_ga(T115))
U59_gaga(T115, T121, s2c1_out_ga(T115, T128)) → U60_gaga(T115, T128, T121, s2c1_in_ga(plus(T121, T128)))
U60_gaga(T115, T128, T121, s2c1_out_ga(plus(T121, T128), T117)) → qc22_out_gaga(T115, T128, T121, T117)
U54_ga(T495, T496, qc22_out_gaga(T496, X509, T502, T498)) → s2c1_out_ga(plus(T495, T496), T498)
U46_ga(T386, T385, s2c1_out_ga(T385, T392)) → U47_ga(T386, T385, qc22_in_gaga(T386, T392))
U47_ga(T386, T385, qc22_out_gaga(T386, X383, T392, T388)) → s2c1_out_ga(plus(T386, T385), T388)
U45_ga(T353, T352, s2c1_out_ga(plus(T353, T352), T355)) → s2c1_out_ga(plus(T353, T352), T355)
U44_ga(T321, T322, T320, s2c1_out_ga(plus(plus(T320, T321), T322), T324)) → s2c1_out_ga(plus(plus(T321, T322), T320), T324)
U42_ga(T230, T231, T232, s2c1_out_ga(T230, T238)) → U43_ga(T230, T231, T232, qc22_in_gaga(plus(T231, T232), T238))
U43_ga(T230, T231, T232, qc22_out_gaga(plus(T231, T232), X225, T238, T234)) → s2c1_out_ga(plus(T230, plus(T231, T232)), T234)
U41_ga(T195, T196, T197, s2c1_out_ga(plus(plus(T196, T197), T195), T199)) → s2c1_out_ga(plus(T195, plus(T196, T197)), T199)
U39_ga(T113, T114, T115, s2c1_out_ga(plus(T113, T114), T121)) → U40_ga(T113, T114, T115, qc22_in_gaga(T115, T121))
U40_ga(T113, T114, T115, qc22_out_gaga(T115, X104, T121, T117)) → s2c1_out_ga(plus(T113, plus(T114, T115)), T117)
U38_ga(T70, T71, T72, s2c1_out_ga(plus(T72, plus(T70, T71)), T74)) → s2c1_out_ga(plus(T70, plus(T71, T72)), T74)
U37_ga(T32, T33, T34, T35, s2c1_out_ga(plus(plus(plus(T32, T33), T34), T35), T37)) → s2c1_out_ga(plus(T32, plus(T33, plus(T34, T35))), T37)

The set Q consists of the following terms:

s2c1_in_ga(x0)
isNatc33_in_g(x0)
U58_g(x0, x1)
U48_ga(x0, x1, x2)
U49_ga(x0, x1, x2)
addc99_in_gga(x0, x1)
U62_gga(x0, x1, x2)
U50_ga(x0, x1, x2)
U51_ga(x0, x1)
U52_ga(x0, x1)
U55_ga(x0, x1, x2)
U56_ga(x0, x1, x2)
U57_ga(x0, x1, x2)
U53_ga(x0, x1, x2)
qc22_in_gaga(x0, x1)
U59_gaga(x0, x1, x2)
U60_gaga(x0, x1, x2, x3)
U54_ga(x0, x1, x2)
U46_ga(x0, x1, x2)
U47_ga(x0, x1, x2)
U45_ga(x0, x1, x2)
U44_ga(x0, x1, x2, x3)
U42_ga(x0, x1, x2, x3)
U43_ga(x0, x1, x2, x3)
U41_ga(x0, x1, x2, x3)
U39_ga(x0, x1, x2, x3)
U40_ga(x0, x1, x2, x3)
U38_ga(x0, x1, x2, x3)
U37_ga(x0, x1, x2, x3, x4)

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

(28) DependencyGraphProof (EQUIVALENT transformation)

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

(29) Obligation:

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

S21_IN_GA(plus(T32, plus(T33, plus(T34, T35)))) → S21_IN_GA(plus(plus(plus(T32, T33), T34), T35))
S21_IN_GA(plus(T70, plus(T71, T72))) → S21_IN_GA(plus(T72, plus(T70, T71)))
S21_IN_GA(plus(T113, plus(T114, T115))) → S21_IN_GA(plus(T113, T114))
S21_IN_GA(plus(T195, plus(T196, T197))) → S21_IN_GA(plus(plus(T196, T197), T195))
S21_IN_GA(plus(T230, plus(T231, T232))) → S21_IN_GA(T230)
S21_IN_GA(plus(plus(T321, T322), T320)) → S21_IN_GA(plus(plus(T320, T321), T322))
S21_IN_GA(plus(T353, T352)) → S21_IN_GA(plus(T353, T352))
S21_IN_GA(plus(T386, T385)) → S21_IN_GA(T385)
S21_IN_GA(plus(T495, T496)) → S21_IN_GA(T495)

The TRS R consists of the following rules:

s2c1_in_ga(plus(T32, plus(T33, plus(T34, T35)))) → U37_ga(T32, T33, T34, T35, s2c1_in_ga(plus(plus(plus(T32, T33), T34), T35)))
s2c1_in_ga(plus(T70, plus(T71, T72))) → U38_ga(T70, T71, T72, s2c1_in_ga(plus(T72, plus(T70, T71))))
s2c1_in_ga(plus(T87, plus(T88, 0))) → s2c1_out_ga(plus(T87, plus(T88, 0)), plus(T87, T88))
s2c1_in_ga(plus(T113, plus(T114, T115))) → U39_ga(T113, T114, T115, s2c1_in_ga(plus(T113, T114)))
s2c1_in_ga(plus(T195, plus(T196, T197))) → U41_ga(T195, T196, T197, s2c1_in_ga(plus(plus(T196, T197), T195)))
s2c1_in_ga(plus(T230, plus(T231, T232))) → U42_ga(T230, T231, T232, s2c1_in_ga(T230))
s2c1_in_ga(plus(plus(T321, T322), T320)) → U44_ga(T321, T322, T320, s2c1_in_ga(plus(plus(T320, T321), T322)))
s2c1_in_ga(plus(T353, T352)) → U45_ga(T353, T352, s2c1_in_ga(plus(T353, T352)))
s2c1_in_ga(plus(0, T364)) → s2c1_out_ga(plus(0, T364), T364)
s2c1_in_ga(plus(T386, T385)) → U46_ga(T386, T385, s2c1_in_ga(T385))
s2c1_in_ga(plus(T439, s(T438))) → U48_ga(T439, T438, isNatc33_in_g(s(T438)))
isNatc33_in_g(s(T165)) → U58_g(T165, isNatc33_in_g(T165))
isNatc33_in_g(0) → isNatc33_out_g(0)
U58_g(T165, isNatc33_out_g(T165)) → isNatc33_out_g(s(T165))
U48_ga(T439, T438, isNatc33_out_g(s(T438))) → U49_ga(T439, T438, isNatc33_in_g(T439))
U49_ga(T439, T438, isNatc33_out_g(T439)) → U50_ga(T439, T438, addc99_in_gga(T438, T439))
addc99_in_gga(s(T457), T458) → U62_gga(T457, T458, addc99_in_gga(T457, T458))
addc99_in_gga(0, T466) → addc99_out_gga(0, T466, T466)
U62_gga(T457, T458, addc99_out_gga(T457, T458, T460)) → addc99_out_gga(s(T457), T458, s(T460))
U50_ga(T439, T438, addc99_out_gga(T438, T439, T441)) → s2c1_out_ga(plus(T439, s(T438)), s(T441))
s2c1_in_ga(plus(T469, 0)) → U51_ga(T469, isNatc33_in_g(0))
U51_ga(T469, isNatc33_out_g(0)) → U52_ga(T469, isNatc33_in_g(T469))
U52_ga(T469, isNatc33_out_g(T469)) → s2c1_out_ga(plus(T469, 0), T469)
s2c1_in_ga(plus(T474, 0)) → s2c1_out_ga(plus(T474, 0), T474)
s2c1_in_ga(plus(T495, T496)) → U53_ga(T495, T496, s2c1_in_ga(T495))
s2c1_in_ga(plus(T517, T518)) → U55_ga(T517, T518, isNatc33_in_g(T517))
U55_ga(T517, T518, isNatc33_out_g(T517)) → U56_ga(T517, T518, isNatc33_in_g(T518))
U56_ga(T517, T518, isNatc33_out_g(T518)) → U57_ga(T517, T518, addc99_in_gga(T517, T518))
U57_ga(T517, T518, addc99_out_gga(T517, T518, T520)) → s2c1_out_ga(plus(T517, T518), T520)
U53_ga(T495, T496, s2c1_out_ga(T495, T502)) → U54_ga(T495, T496, qc22_in_gaga(T496, T502))
qc22_in_gaga(T115, T121) → U59_gaga(T115, T121, s2c1_in_ga(T115))
U59_gaga(T115, T121, s2c1_out_ga(T115, T128)) → U60_gaga(T115, T128, T121, s2c1_in_ga(plus(T121, T128)))
U60_gaga(T115, T128, T121, s2c1_out_ga(plus(T121, T128), T117)) → qc22_out_gaga(T115, T128, T121, T117)
U54_ga(T495, T496, qc22_out_gaga(T496, X509, T502, T498)) → s2c1_out_ga(plus(T495, T496), T498)
U46_ga(T386, T385, s2c1_out_ga(T385, T392)) → U47_ga(T386, T385, qc22_in_gaga(T386, T392))
U47_ga(T386, T385, qc22_out_gaga(T386, X383, T392, T388)) → s2c1_out_ga(plus(T386, T385), T388)
U45_ga(T353, T352, s2c1_out_ga(plus(T353, T352), T355)) → s2c1_out_ga(plus(T353, T352), T355)
U44_ga(T321, T322, T320, s2c1_out_ga(plus(plus(T320, T321), T322), T324)) → s2c1_out_ga(plus(plus(T321, T322), T320), T324)
U42_ga(T230, T231, T232, s2c1_out_ga(T230, T238)) → U43_ga(T230, T231, T232, qc22_in_gaga(plus(T231, T232), T238))
U43_ga(T230, T231, T232, qc22_out_gaga(plus(T231, T232), X225, T238, T234)) → s2c1_out_ga(plus(T230, plus(T231, T232)), T234)
U41_ga(T195, T196, T197, s2c1_out_ga(plus(plus(T196, T197), T195), T199)) → s2c1_out_ga(plus(T195, plus(T196, T197)), T199)
U39_ga(T113, T114, T115, s2c1_out_ga(plus(T113, T114), T121)) → U40_ga(T113, T114, T115, qc22_in_gaga(T115, T121))
U40_ga(T113, T114, T115, qc22_out_gaga(T115, X104, T121, T117)) → s2c1_out_ga(plus(T113, plus(T114, T115)), T117)
U38_ga(T70, T71, T72, s2c1_out_ga(plus(T72, plus(T70, T71)), T74)) → s2c1_out_ga(plus(T70, plus(T71, T72)), T74)
U37_ga(T32, T33, T34, T35, s2c1_out_ga(plus(plus(plus(T32, T33), T34), T35), T37)) → s2c1_out_ga(plus(T32, plus(T33, plus(T34, T35))), T37)

The set Q consists of the following terms:

s2c1_in_ga(x0)
isNatc33_in_g(x0)
U58_g(x0, x1)
U48_ga(x0, x1, x2)
U49_ga(x0, x1, x2)
addc99_in_gga(x0, x1)
U62_gga(x0, x1, x2)
U50_ga(x0, x1, x2)
U51_ga(x0, x1)
U52_ga(x0, x1)
U55_ga(x0, x1, x2)
U56_ga(x0, x1, x2)
U57_ga(x0, x1, x2)
U53_ga(x0, x1, x2)
qc22_in_gaga(x0, x1)
U59_gaga(x0, x1, x2)
U60_gaga(x0, x1, x2, x3)
U54_ga(x0, x1, x2)
U46_ga(x0, x1, x2)
U47_ga(x0, x1, x2)
U45_ga(x0, x1, x2)
U44_ga(x0, x1, x2, x3)
U42_ga(x0, x1, x2, x3)
U43_ga(x0, x1, x2, x3)
U41_ga(x0, x1, x2, x3)
U39_ga(x0, x1, x2, x3)
U40_ga(x0, x1, x2, x3)
U38_ga(x0, x1, x2, x3)
U37_ga(x0, x1, x2, x3, x4)

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

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

(31) Obligation:

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

S21_IN_GA(plus(T32, plus(T33, plus(T34, T35)))) → S21_IN_GA(plus(plus(plus(T32, T33), T34), T35))
S21_IN_GA(plus(T70, plus(T71, T72))) → S21_IN_GA(plus(T72, plus(T70, T71)))
S21_IN_GA(plus(T113, plus(T114, T115))) → S21_IN_GA(plus(T113, T114))
S21_IN_GA(plus(T195, plus(T196, T197))) → S21_IN_GA(plus(plus(T196, T197), T195))
S21_IN_GA(plus(T230, plus(T231, T232))) → S21_IN_GA(T230)
S21_IN_GA(plus(plus(T321, T322), T320)) → S21_IN_GA(plus(plus(T320, T321), T322))
S21_IN_GA(plus(T353, T352)) → S21_IN_GA(plus(T353, T352))
S21_IN_GA(plus(T386, T385)) → S21_IN_GA(T385)
S21_IN_GA(plus(T495, T496)) → S21_IN_GA(T495)

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

s2c1_in_ga(x0)
isNatc33_in_g(x0)
U58_g(x0, x1)
U48_ga(x0, x1, x2)
U49_ga(x0, x1, x2)
addc99_in_gga(x0, x1)
U62_gga(x0, x1, x2)
U50_ga(x0, x1, x2)
U51_ga(x0, x1)
U52_ga(x0, x1)
U55_ga(x0, x1, x2)
U56_ga(x0, x1, x2)
U57_ga(x0, x1, x2)
U53_ga(x0, x1, x2)
qc22_in_gaga(x0, x1)
U59_gaga(x0, x1, x2)
U60_gaga(x0, x1, x2, x3)
U54_ga(x0, x1, x2)
U46_ga(x0, x1, x2)
U47_ga(x0, x1, x2)
U45_ga(x0, x1, x2)
U44_ga(x0, x1, x2, x3)
U42_ga(x0, x1, x2, x3)
U43_ga(x0, x1, x2, x3)
U41_ga(x0, x1, x2, x3)
U39_ga(x0, x1, x2, x3)
U40_ga(x0, x1, x2, x3)
U38_ga(x0, x1, x2, x3)
U37_ga(x0, x1, x2, x3, x4)

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

(32) 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].

s2c1_in_ga(x0)
isNatc33_in_g(x0)
U58_g(x0, x1)
U48_ga(x0, x1, x2)
U49_ga(x0, x1, x2)
addc99_in_gga(x0, x1)
U62_gga(x0, x1, x2)
U50_ga(x0, x1, x2)
U51_ga(x0, x1)
U52_ga(x0, x1)
U55_ga(x0, x1, x2)
U56_ga(x0, x1, x2)
U57_ga(x0, x1, x2)
U53_ga(x0, x1, x2)
qc22_in_gaga(x0, x1)
U59_gaga(x0, x1, x2)
U60_gaga(x0, x1, x2, x3)
U54_ga(x0, x1, x2)
U46_ga(x0, x1, x2)
U47_ga(x0, x1, x2)
U45_ga(x0, x1, x2)
U44_ga(x0, x1, x2, x3)
U42_ga(x0, x1, x2, x3)
U43_ga(x0, x1, x2, x3)
U41_ga(x0, x1, x2, x3)
U39_ga(x0, x1, x2, x3)
U40_ga(x0, x1, x2, x3)
U38_ga(x0, x1, x2, x3)
U37_ga(x0, x1, x2, x3, x4)

(33) Obligation:

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

S21_IN_GA(plus(T32, plus(T33, plus(T34, T35)))) → S21_IN_GA(plus(plus(plus(T32, T33), T34), T35))
S21_IN_GA(plus(T70, plus(T71, T72))) → S21_IN_GA(plus(T72, plus(T70, T71)))
S21_IN_GA(plus(T113, plus(T114, T115))) → S21_IN_GA(plus(T113, T114))
S21_IN_GA(plus(T195, plus(T196, T197))) → S21_IN_GA(plus(plus(T196, T197), T195))
S21_IN_GA(plus(T230, plus(T231, T232))) → S21_IN_GA(T230)
S21_IN_GA(plus(plus(T321, T322), T320)) → S21_IN_GA(plus(plus(T320, T321), T322))
S21_IN_GA(plus(T353, T352)) → S21_IN_GA(plus(T353, T352))
S21_IN_GA(plus(T386, T385)) → S21_IN_GA(T385)
S21_IN_GA(plus(T495, T496)) → S21_IN_GA(T495)

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

(34) MRRProof (EQUIVALENT transformation)

By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented.
Strictly oriented dependency pairs:

S21_IN_GA(plus(T113, plus(T114, T115))) → S21_IN_GA(plus(T113, T114))
S21_IN_GA(plus(T230, plus(T231, T232))) → S21_IN_GA(T230)
S21_IN_GA(plus(T386, T385)) → S21_IN_GA(T385)
S21_IN_GA(plus(T495, T496)) → S21_IN_GA(T495)


Used ordering: Polynomial interpretation [POLO]:

POL(S21_IN_GA(x1)) = x1   
POL(plus(x1, x2)) = 1 + x1 + x2   

(35) Obligation:

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

S21_IN_GA(plus(T32, plus(T33, plus(T34, T35)))) → S21_IN_GA(plus(plus(plus(T32, T33), T34), T35))
S21_IN_GA(plus(T70, plus(T71, T72))) → S21_IN_GA(plus(T72, plus(T70, T71)))
S21_IN_GA(plus(T195, plus(T196, T197))) → S21_IN_GA(plus(plus(T196, T197), T195))
S21_IN_GA(plus(plus(T321, T322), T320)) → S21_IN_GA(plus(plus(T320, T321), T322))
S21_IN_GA(plus(T353, T352)) → S21_IN_GA(plus(T353, T352))

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

(36) 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 = S21_IN_GA(plus(T70, plus(T71, T72))) evaluates to t =S21_IN_GA(plus(T72, plus(T70, T71)))

Thus s starts an infinite chain as s semiunifies with t with the following substitutions:
  • Semiunifier: [ ]
  • Matcher: [T70 / T72, T71 / T70, T72 / T71]




Rewriting sequence

The DP semiunifies directly so there is only one rewrite step from S21_IN_GA(plus(T70, plus(T71, T72))) to S21_IN_GA(plus(T72, plus(T70, T71))).



(37) NO