(0) Obligation:

Clauses:

goal(X) :- ','(s2t(X, T), tappend(T, X1, X2)).
tappend(nil, Y, Z) :- ','(!, eq(Y, Z)).
tappend(T, T1, node(T1, X, T2)) :- ','(left(T, nil), ','(right(T, T2), value(T, X))).
tappend(T, T2, node(T1, X, T2)) :- ','(left(T, T1), ','(right(T, nil), value(T, X))).
tappend(T, T3, node(U, X, T2)) :- ','(left(T, T1), ','(right(T, T2), ','(value(T, X), tappend(T1, T3, U)))).
tappend(T, T1, node(T1, X, U)) :- ','(left(T, T1), ','(right(T, T2), ','(value(T, X), tappend(T2, T3, U)))).
s2t(0, L) :- ','(!, eq(L, nil)).
s2t(X, node(T, X3, T)) :- ','(p(X, P), s2t(P, T)).
s2t(X, node(nil, X4, T)) :- ','(p(X, P), s2t(P, T)).
s2t(X, node(T, X5, nil)) :- ','(p(X, P), s2t(P, T)).
s2t(X, node(nil, X6, nil)).
left(nil, nil).
left(node(L, X7, X8), L).
right(nil, nil).
right(node(X9, X10, R), R).
value(nil, nil).
value(node(X11, X, X12), X).
p(0, 0).
p(s(X), X).
eq(X, X).

Queries:

goal(g).

(1) PrologToDTProblemTransformerProof (SOUND transformation)

Built DT problem from termination graph.

(2) Obligation:

Triples:

s2t23(s(T23), node(X146, X147, X146)) :- s2t23(T23, X146).
s2t23(s(T31), node(nil, X186, X187)) :- s2t23(T31, X187).
s2t23(s(T39), node(X226, X227, nil)) :- s2t23(T39, X226).
tappend96(nil, X757, node(X758, nil, nil)) :- tappend9(X757, X758).
tappend96(node(T211, T209, T210), X757, node(X758, T209, T210)) :- tappend96(T211, X757, X758).
tappend96(nil, nil, node(nil, nil, X877)) :- tappend9(X874, X877).
tappend96(node(T251, T252, T254), T251, node(T251, T252, X877)) :- tappend96(T254, X874, X877).
tappend24(T93, X535, X472, node(X473, X535, T93)) :- tappend96(T93, X472, X473).
tappend24(T274, X1057, T274, node(T274, X1057, X997)) :- tappend96(T274, X993, X997).
goal1(0) :- tappend9(X16, X17).
goal1(s(T14)) :- s2t23(T14, X91).
goal1(s(T14)) :- ','(s2tc23(T14, T15), tappend24(T15, X92, X16, X17)).
goal1(s(T282)) :- s2t23(T282, X1093).
goal1(s(T282)) :- ','(s2tc23(T282, T283), tappend96(node(nil, X1092, T283), X16, X17)).
goal1(s(T292)) :- s2t23(T292, X1144).
goal1(s(T292)) :- ','(s2tc23(T292, T293), tappend96(node(T293, X1145, nil), X16, X17)).
goal1(T297) :- tappend24(nil, X1184, X16, X17).

Clauses:

s2tc23(0, nil).
s2tc23(s(T23), node(X146, X147, X146)) :- s2tc23(T23, X146).
s2tc23(s(T31), node(nil, X186, X187)) :- s2tc23(T31, X187).
s2tc23(s(T39), node(X226, X227, nil)) :- s2tc23(T39, X226).
s2tc23(T42, node(nil, X244, nil)).
tappendc9(X60, X60).
tappendc96(nil, X559, X559).
tappendc96(nil, X592, node(X592, nil, nil)).
tappendc96(node(nil, T127, T128), X592, node(X592, T127, T128)).
tappendc96(nil, X663, node(nil, nil, X663)).
tappendc96(node(T164, T165, nil), X663, node(T164, T165, X663)).
tappendc96(nil, X757, node(X758, nil, nil)) :- tappendc9(X757, X758).
tappendc96(node(T211, T209, T210), X757, node(X758, T209, T210)) :- tappendc96(T211, X757, X758).
tappendc96(nil, nil, node(nil, nil, X877)) :- tappendc9(X874, X877).
tappendc96(node(T251, T252, T254), T251, node(T251, T252, X877)) :- tappendc96(T254, X874, X877).
tappendc24(nil, X335, X294, node(X294, X335, nil)).
tappendc24(nil, X414, X373, node(nil, X414, X373)).
tappendc24(T93, X535, X472, node(X473, X535, T93)) :- tappendc96(T93, X472, X473).
tappendc24(T274, X1057, T274, node(T274, X1057, X997)) :- tappendc96(T274, X993, X997).

Afs:

goal1(x1)  =  goal1(x1)

(3) UndefinedPredicateInTriplesTransformerProof (SOUND transformation)

Deleted triples and predicates having undefined goals [UNKNOWN].

(4) Obligation:

Triples:

s2t23(s(T23), node(X146, X147, X146)) :- s2t23(T23, X146).
s2t23(s(T31), node(nil, X186, X187)) :- s2t23(T31, X187).
s2t23(s(T39), node(X226, X227, nil)) :- s2t23(T39, X226).
tappend96(node(T211, T209, T210), X757, node(X758, T209, T210)) :- tappend96(T211, X757, X758).
tappend96(node(T251, T252, T254), T251, node(T251, T252, X877)) :- tappend96(T254, X874, X877).
tappend24(T93, X535, X472, node(X473, X535, T93)) :- tappend96(T93, X472, X473).
tappend24(T274, X1057, T274, node(T274, X1057, X997)) :- tappend96(T274, X993, X997).
goal1(s(T14)) :- s2t23(T14, X91).
goal1(s(T14)) :- ','(s2tc23(T14, T15), tappend24(T15, X92, X16, X17)).
goal1(s(T282)) :- s2t23(T282, X1093).
goal1(s(T282)) :- ','(s2tc23(T282, T283), tappend96(node(nil, X1092, T283), X16, X17)).
goal1(s(T292)) :- s2t23(T292, X1144).
goal1(s(T292)) :- ','(s2tc23(T292, T293), tappend96(node(T293, X1145, nil), X16, X17)).
goal1(T297) :- tappend24(nil, X1184, X16, X17).

Clauses:

s2tc23(0, nil).
s2tc23(s(T23), node(X146, X147, X146)) :- s2tc23(T23, X146).
s2tc23(s(T31), node(nil, X186, X187)) :- s2tc23(T31, X187).
s2tc23(s(T39), node(X226, X227, nil)) :- s2tc23(T39, X226).
s2tc23(T42, node(nil, X244, nil)).
tappendc9(X60, X60).
tappendc96(nil, X559, X559).
tappendc96(nil, X592, node(X592, nil, nil)).
tappendc96(node(nil, T127, T128), X592, node(X592, T127, T128)).
tappendc96(nil, X663, node(nil, nil, X663)).
tappendc96(node(T164, T165, nil), X663, node(T164, T165, X663)).
tappendc96(nil, X757, node(X758, nil, nil)) :- tappendc9(X757, X758).
tappendc96(node(T211, T209, T210), X757, node(X758, T209, T210)) :- tappendc96(T211, X757, X758).
tappendc96(nil, nil, node(nil, nil, X877)) :- tappendc9(X874, X877).
tappendc96(node(T251, T252, T254), T251, node(T251, T252, X877)) :- tappendc96(T254, X874, X877).
tappendc24(nil, X335, X294, node(X294, X335, nil)).
tappendc24(nil, X414, X373, node(nil, X414, X373)).
tappendc24(T93, X535, X472, node(X473, X535, T93)) :- tappendc96(T93, X472, X473).
tappendc24(T274, X1057, T274, node(T274, X1057, X997)) :- tappendc96(T274, X993, X997).

Afs:

goal1(x1)  =  goal1(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:
goal1_in: (b)
s2t23_in: (b,f)
s2tc23_in: (b,f)
tappend24_in: (f,f,f,f) (b,f,f,f)
tappend96_in: (f,f,f) (b,f,f)
Transforming TRIPLES into the following Term Rewriting System:
Pi DP problem:
The TRS P consists of the following rules:

GOAL1_IN_G(s(T14)) → U8_G(T14, s2t23_in_ga(T14, X91))
GOAL1_IN_G(s(T14)) → S2T23_IN_GA(T14, X91)
S2T23_IN_GA(s(T23), node(X146, X147, X146)) → U1_GA(T23, X146, X147, s2t23_in_ga(T23, X146))
S2T23_IN_GA(s(T23), node(X146, X147, X146)) → S2T23_IN_GA(T23, X146)
S2T23_IN_GA(s(T31), node(nil, X186, X187)) → U2_GA(T31, X186, X187, s2t23_in_ga(T31, X187))
S2T23_IN_GA(s(T31), node(nil, X186, X187)) → S2T23_IN_GA(T31, X187)
S2T23_IN_GA(s(T39), node(X226, X227, nil)) → U3_GA(T39, X226, X227, s2t23_in_ga(T39, X226))
S2T23_IN_GA(s(T39), node(X226, X227, nil)) → S2T23_IN_GA(T39, X226)
GOAL1_IN_G(s(T14)) → U9_G(T14, s2tc23_in_ga(T14, T15))
U9_G(T14, s2tc23_out_ga(T14, T15)) → U10_G(T14, tappend24_in_aaaa(T15, X92, X16, X17))
U9_G(T14, s2tc23_out_ga(T14, T15)) → TAPPEND24_IN_AAAA(T15, X92, X16, X17)
TAPPEND24_IN_AAAA(T93, X535, X472, node(X473, X535, T93)) → U6_AAAA(T93, X535, X472, X473, tappend96_in_aaa(T93, X472, X473))
TAPPEND24_IN_AAAA(T93, X535, X472, node(X473, X535, T93)) → TAPPEND96_IN_AAA(T93, X472, X473)
TAPPEND96_IN_AAA(node(T211, T209, T210), X757, node(X758, T209, T210)) → U4_AAA(T211, T209, T210, X757, X758, tappend96_in_aaa(T211, X757, X758))
TAPPEND96_IN_AAA(node(T211, T209, T210), X757, node(X758, T209, T210)) → TAPPEND96_IN_AAA(T211, X757, X758)
TAPPEND96_IN_AAA(node(T251, T252, T254), T251, node(T251, T252, X877)) → U5_AAA(T251, T252, T254, X877, tappend96_in_aaa(T254, X874, X877))
TAPPEND96_IN_AAA(node(T251, T252, T254), T251, node(T251, T252, X877)) → TAPPEND96_IN_AAA(T254, X874, X877)
TAPPEND24_IN_AAAA(T274, X1057, T274, node(T274, X1057, X997)) → U7_AAAA(T274, X1057, X997, tappend96_in_aaa(T274, X993, X997))
TAPPEND24_IN_AAAA(T274, X1057, T274, node(T274, X1057, X997)) → TAPPEND96_IN_AAA(T274, X993, X997)
GOAL1_IN_G(s(T282)) → U11_G(T282, s2t23_in_ga(T282, X1093))
GOAL1_IN_G(s(T282)) → U12_G(T282, s2tc23_in_ga(T282, T283))
U12_G(T282, s2tc23_out_ga(T282, T283)) → U13_G(T282, tappend96_in_aaa(node(nil, X1092, T283), X16, X17))
U12_G(T282, s2tc23_out_ga(T282, T283)) → TAPPEND96_IN_AAA(node(nil, X1092, T283), X16, X17)
GOAL1_IN_G(s(T292)) → U14_G(T292, s2t23_in_ga(T292, X1144))
GOAL1_IN_G(s(T292)) → U15_G(T292, s2tc23_in_ga(T292, T293))
U15_G(T292, s2tc23_out_ga(T292, T293)) → U16_G(T292, tappend96_in_aaa(node(T293, X1145, nil), X16, X17))
U15_G(T292, s2tc23_out_ga(T292, T293)) → TAPPEND96_IN_AAA(node(T293, X1145, nil), X16, X17)
GOAL1_IN_G(T297) → U17_G(T297, tappend24_in_gaaa(nil, X1184, X16, X17))
GOAL1_IN_G(T297) → TAPPEND24_IN_GAAA(nil, X1184, X16, X17)
TAPPEND24_IN_GAAA(T93, X535, X472, node(X473, X535, T93)) → U6_GAAA(T93, X535, X472, X473, tappend96_in_gaa(T93, X472, X473))
TAPPEND24_IN_GAAA(T93, X535, X472, node(X473, X535, T93)) → TAPPEND96_IN_GAA(T93, X472, X473)
TAPPEND96_IN_GAA(node(T211, T209, T210), X757, node(X758, T209, T210)) → U4_GAA(T211, T209, T210, X757, X758, tappend96_in_gaa(T211, X757, X758))
TAPPEND96_IN_GAA(node(T211, T209, T210), X757, node(X758, T209, T210)) → TAPPEND96_IN_GAA(T211, X757, X758)
TAPPEND96_IN_GAA(node(T251, T252, T254), T251, node(T251, T252, X877)) → U5_GAA(T251, T252, T254, X877, tappend96_in_gaa(T254, X874, X877))
TAPPEND96_IN_GAA(node(T251, T252, T254), T251, node(T251, T252, X877)) → TAPPEND96_IN_GAA(T254, X874, X877)
TAPPEND24_IN_GAAA(T274, X1057, T274, node(T274, X1057, X997)) → U7_GAAA(T274, X1057, X997, tappend96_in_gaa(T274, X993, X997))
TAPPEND24_IN_GAAA(T274, X1057, T274, node(T274, X1057, X997)) → TAPPEND96_IN_GAA(T274, X993, X997)

The TRS R consists of the following rules:

s2tc23_in_ga(0, nil) → s2tc23_out_ga(0, nil)
s2tc23_in_ga(s(T23), node(X146, X147, X146)) → U19_ga(T23, X146, X147, s2tc23_in_ga(T23, X146))
s2tc23_in_ga(s(T31), node(nil, X186, X187)) → U20_ga(T31, X186, X187, s2tc23_in_ga(T31, X187))
s2tc23_in_ga(s(T39), node(X226, X227, nil)) → U21_ga(T39, X226, X227, s2tc23_in_ga(T39, X226))
s2tc23_in_ga(T42, node(nil, X244, nil)) → s2tc23_out_ga(T42, node(nil, X244, nil))
U21_ga(T39, X226, X227, s2tc23_out_ga(T39, X226)) → s2tc23_out_ga(s(T39), node(X226, X227, nil))
U20_ga(T31, X186, X187, s2tc23_out_ga(T31, X187)) → s2tc23_out_ga(s(T31), node(nil, X186, X187))
U19_ga(T23, X146, X147, s2tc23_out_ga(T23, X146)) → s2tc23_out_ga(s(T23), node(X146, X147, X146))

The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
s2t23_in_ga(x1, x2)  =  s2t23_in_ga(x1)
s2tc23_in_ga(x1, x2)  =  s2tc23_in_ga(x1)
0  =  0
s2tc23_out_ga(x1, x2)  =  s2tc23_out_ga(x1)
U19_ga(x1, x2, x3, x4)  =  U19_ga(x1, x4)
U20_ga(x1, x2, x3, x4)  =  U20_ga(x1, x4)
U21_ga(x1, x2, x3, x4)  =  U21_ga(x1, x4)
tappend24_in_aaaa(x1, x2, x3, x4)  =  tappend24_in_aaaa
tappend96_in_aaa(x1, x2, x3)  =  tappend96_in_aaa
tappend24_in_gaaa(x1, x2, x3, x4)  =  tappend24_in_gaaa(x1)
tappend96_in_gaa(x1, x2, x3)  =  tappend96_in_gaa(x1)
node(x1, x2, x3)  =  node(x1, x2, x3)
nil  =  nil
GOAL1_IN_G(x1)  =  GOAL1_IN_G(x1)
U8_G(x1, x2)  =  U8_G(x1, x2)
S2T23_IN_GA(x1, x2)  =  S2T23_IN_GA(x1)
U1_GA(x1, x2, x3, x4)  =  U1_GA(x1, x4)
U2_GA(x1, x2, x3, x4)  =  U2_GA(x1, x4)
U3_GA(x1, x2, x3, x4)  =  U3_GA(x1, x4)
U9_G(x1, x2)  =  U9_G(x1, x2)
U10_G(x1, x2)  =  U10_G(x1, x2)
TAPPEND24_IN_AAAA(x1, x2, x3, x4)  =  TAPPEND24_IN_AAAA
U6_AAAA(x1, x2, x3, x4, x5)  =  U6_AAAA(x5)
TAPPEND96_IN_AAA(x1, x2, x3)  =  TAPPEND96_IN_AAA
U4_AAA(x1, x2, x3, x4, x5, x6)  =  U4_AAA(x6)
U5_AAA(x1, x2, x3, x4, x5)  =  U5_AAA(x5)
U7_AAAA(x1, x2, x3, x4)  =  U7_AAAA(x4)
U11_G(x1, x2)  =  U11_G(x1, x2)
U12_G(x1, x2)  =  U12_G(x1, x2)
U13_G(x1, x2)  =  U13_G(x1, x2)
U14_G(x1, x2)  =  U14_G(x1, x2)
U15_G(x1, x2)  =  U15_G(x1, x2)
U16_G(x1, x2)  =  U16_G(x1, x2)
U17_G(x1, x2)  =  U17_G(x1, x2)
TAPPEND24_IN_GAAA(x1, x2, x3, x4)  =  TAPPEND24_IN_GAAA(x1)
U6_GAAA(x1, x2, x3, x4, x5)  =  U6_GAAA(x1, x5)
TAPPEND96_IN_GAA(x1, x2, x3)  =  TAPPEND96_IN_GAA(x1)
U4_GAA(x1, x2, x3, x4, x5, x6)  =  U4_GAA(x1, x2, x3, x6)
U5_GAA(x1, x2, x3, x4, x5)  =  U5_GAA(x1, x2, x3, x5)
U7_GAAA(x1, x2, x3, x4)  =  U7_GAAA(x1, 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:

GOAL1_IN_G(s(T14)) → U8_G(T14, s2t23_in_ga(T14, X91))
GOAL1_IN_G(s(T14)) → S2T23_IN_GA(T14, X91)
S2T23_IN_GA(s(T23), node(X146, X147, X146)) → U1_GA(T23, X146, X147, s2t23_in_ga(T23, X146))
S2T23_IN_GA(s(T23), node(X146, X147, X146)) → S2T23_IN_GA(T23, X146)
S2T23_IN_GA(s(T31), node(nil, X186, X187)) → U2_GA(T31, X186, X187, s2t23_in_ga(T31, X187))
S2T23_IN_GA(s(T31), node(nil, X186, X187)) → S2T23_IN_GA(T31, X187)
S2T23_IN_GA(s(T39), node(X226, X227, nil)) → U3_GA(T39, X226, X227, s2t23_in_ga(T39, X226))
S2T23_IN_GA(s(T39), node(X226, X227, nil)) → S2T23_IN_GA(T39, X226)
GOAL1_IN_G(s(T14)) → U9_G(T14, s2tc23_in_ga(T14, T15))
U9_G(T14, s2tc23_out_ga(T14, T15)) → U10_G(T14, tappend24_in_aaaa(T15, X92, X16, X17))
U9_G(T14, s2tc23_out_ga(T14, T15)) → TAPPEND24_IN_AAAA(T15, X92, X16, X17)
TAPPEND24_IN_AAAA(T93, X535, X472, node(X473, X535, T93)) → U6_AAAA(T93, X535, X472, X473, tappend96_in_aaa(T93, X472, X473))
TAPPEND24_IN_AAAA(T93, X535, X472, node(X473, X535, T93)) → TAPPEND96_IN_AAA(T93, X472, X473)
TAPPEND96_IN_AAA(node(T211, T209, T210), X757, node(X758, T209, T210)) → U4_AAA(T211, T209, T210, X757, X758, tappend96_in_aaa(T211, X757, X758))
TAPPEND96_IN_AAA(node(T211, T209, T210), X757, node(X758, T209, T210)) → TAPPEND96_IN_AAA(T211, X757, X758)
TAPPEND96_IN_AAA(node(T251, T252, T254), T251, node(T251, T252, X877)) → U5_AAA(T251, T252, T254, X877, tappend96_in_aaa(T254, X874, X877))
TAPPEND96_IN_AAA(node(T251, T252, T254), T251, node(T251, T252, X877)) → TAPPEND96_IN_AAA(T254, X874, X877)
TAPPEND24_IN_AAAA(T274, X1057, T274, node(T274, X1057, X997)) → U7_AAAA(T274, X1057, X997, tappend96_in_aaa(T274, X993, X997))
TAPPEND24_IN_AAAA(T274, X1057, T274, node(T274, X1057, X997)) → TAPPEND96_IN_AAA(T274, X993, X997)
GOAL1_IN_G(s(T282)) → U11_G(T282, s2t23_in_ga(T282, X1093))
GOAL1_IN_G(s(T282)) → U12_G(T282, s2tc23_in_ga(T282, T283))
U12_G(T282, s2tc23_out_ga(T282, T283)) → U13_G(T282, tappend96_in_aaa(node(nil, X1092, T283), X16, X17))
U12_G(T282, s2tc23_out_ga(T282, T283)) → TAPPEND96_IN_AAA(node(nil, X1092, T283), X16, X17)
GOAL1_IN_G(s(T292)) → U14_G(T292, s2t23_in_ga(T292, X1144))
GOAL1_IN_G(s(T292)) → U15_G(T292, s2tc23_in_ga(T292, T293))
U15_G(T292, s2tc23_out_ga(T292, T293)) → U16_G(T292, tappend96_in_aaa(node(T293, X1145, nil), X16, X17))
U15_G(T292, s2tc23_out_ga(T292, T293)) → TAPPEND96_IN_AAA(node(T293, X1145, nil), X16, X17)
GOAL1_IN_G(T297) → U17_G(T297, tappend24_in_gaaa(nil, X1184, X16, X17))
GOAL1_IN_G(T297) → TAPPEND24_IN_GAAA(nil, X1184, X16, X17)
TAPPEND24_IN_GAAA(T93, X535, X472, node(X473, X535, T93)) → U6_GAAA(T93, X535, X472, X473, tappend96_in_gaa(T93, X472, X473))
TAPPEND24_IN_GAAA(T93, X535, X472, node(X473, X535, T93)) → TAPPEND96_IN_GAA(T93, X472, X473)
TAPPEND96_IN_GAA(node(T211, T209, T210), X757, node(X758, T209, T210)) → U4_GAA(T211, T209, T210, X757, X758, tappend96_in_gaa(T211, X757, X758))
TAPPEND96_IN_GAA(node(T211, T209, T210), X757, node(X758, T209, T210)) → TAPPEND96_IN_GAA(T211, X757, X758)
TAPPEND96_IN_GAA(node(T251, T252, T254), T251, node(T251, T252, X877)) → U5_GAA(T251, T252, T254, X877, tappend96_in_gaa(T254, X874, X877))
TAPPEND96_IN_GAA(node(T251, T252, T254), T251, node(T251, T252, X877)) → TAPPEND96_IN_GAA(T254, X874, X877)
TAPPEND24_IN_GAAA(T274, X1057, T274, node(T274, X1057, X997)) → U7_GAAA(T274, X1057, X997, tappend96_in_gaa(T274, X993, X997))
TAPPEND24_IN_GAAA(T274, X1057, T274, node(T274, X1057, X997)) → TAPPEND96_IN_GAA(T274, X993, X997)

The TRS R consists of the following rules:

s2tc23_in_ga(0, nil) → s2tc23_out_ga(0, nil)
s2tc23_in_ga(s(T23), node(X146, X147, X146)) → U19_ga(T23, X146, X147, s2tc23_in_ga(T23, X146))
s2tc23_in_ga(s(T31), node(nil, X186, X187)) → U20_ga(T31, X186, X187, s2tc23_in_ga(T31, X187))
s2tc23_in_ga(s(T39), node(X226, X227, nil)) → U21_ga(T39, X226, X227, s2tc23_in_ga(T39, X226))
s2tc23_in_ga(T42, node(nil, X244, nil)) → s2tc23_out_ga(T42, node(nil, X244, nil))
U21_ga(T39, X226, X227, s2tc23_out_ga(T39, X226)) → s2tc23_out_ga(s(T39), node(X226, X227, nil))
U20_ga(T31, X186, X187, s2tc23_out_ga(T31, X187)) → s2tc23_out_ga(s(T31), node(nil, X186, X187))
U19_ga(T23, X146, X147, s2tc23_out_ga(T23, X146)) → s2tc23_out_ga(s(T23), node(X146, X147, X146))

The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
s2t23_in_ga(x1, x2)  =  s2t23_in_ga(x1)
s2tc23_in_ga(x1, x2)  =  s2tc23_in_ga(x1)
0  =  0
s2tc23_out_ga(x1, x2)  =  s2tc23_out_ga(x1)
U19_ga(x1, x2, x3, x4)  =  U19_ga(x1, x4)
U20_ga(x1, x2, x3, x4)  =  U20_ga(x1, x4)
U21_ga(x1, x2, x3, x4)  =  U21_ga(x1, x4)
tappend24_in_aaaa(x1, x2, x3, x4)  =  tappend24_in_aaaa
tappend96_in_aaa(x1, x2, x3)  =  tappend96_in_aaa
tappend24_in_gaaa(x1, x2, x3, x4)  =  tappend24_in_gaaa(x1)
tappend96_in_gaa(x1, x2, x3)  =  tappend96_in_gaa(x1)
node(x1, x2, x3)  =  node(x1, x2, x3)
nil  =  nil
GOAL1_IN_G(x1)  =  GOAL1_IN_G(x1)
U8_G(x1, x2)  =  U8_G(x1, x2)
S2T23_IN_GA(x1, x2)  =  S2T23_IN_GA(x1)
U1_GA(x1, x2, x3, x4)  =  U1_GA(x1, x4)
U2_GA(x1, x2, x3, x4)  =  U2_GA(x1, x4)
U3_GA(x1, x2, x3, x4)  =  U3_GA(x1, x4)
U9_G(x1, x2)  =  U9_G(x1, x2)
U10_G(x1, x2)  =  U10_G(x1, x2)
TAPPEND24_IN_AAAA(x1, x2, x3, x4)  =  TAPPEND24_IN_AAAA
U6_AAAA(x1, x2, x3, x4, x5)  =  U6_AAAA(x5)
TAPPEND96_IN_AAA(x1, x2, x3)  =  TAPPEND96_IN_AAA
U4_AAA(x1, x2, x3, x4, x5, x6)  =  U4_AAA(x6)
U5_AAA(x1, x2, x3, x4, x5)  =  U5_AAA(x5)
U7_AAAA(x1, x2, x3, x4)  =  U7_AAAA(x4)
U11_G(x1, x2)  =  U11_G(x1, x2)
U12_G(x1, x2)  =  U12_G(x1, x2)
U13_G(x1, x2)  =  U13_G(x1, x2)
U14_G(x1, x2)  =  U14_G(x1, x2)
U15_G(x1, x2)  =  U15_G(x1, x2)
U16_G(x1, x2)  =  U16_G(x1, x2)
U17_G(x1, x2)  =  U17_G(x1, x2)
TAPPEND24_IN_GAAA(x1, x2, x3, x4)  =  TAPPEND24_IN_GAAA(x1)
U6_GAAA(x1, x2, x3, x4, x5)  =  U6_GAAA(x1, x5)
TAPPEND96_IN_GAA(x1, x2, x3)  =  TAPPEND96_IN_GAA(x1)
U4_GAA(x1, x2, x3, x4, x5, x6)  =  U4_GAA(x1, x2, x3, x6)
U5_GAA(x1, x2, x3, x4, x5)  =  U5_GAA(x1, x2, x3, x5)
U7_GAAA(x1, x2, x3, x4)  =  U7_GAAA(x1, 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 30 less nodes.

(8) Complex Obligation (AND)

(9) Obligation:

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

TAPPEND96_IN_GAA(node(T251, T252, T254), T251, node(T251, T252, X877)) → TAPPEND96_IN_GAA(T254, X874, X877)
TAPPEND96_IN_GAA(node(T211, T209, T210), X757, node(X758, T209, T210)) → TAPPEND96_IN_GAA(T211, X757, X758)

The TRS R consists of the following rules:

s2tc23_in_ga(0, nil) → s2tc23_out_ga(0, nil)
s2tc23_in_ga(s(T23), node(X146, X147, X146)) → U19_ga(T23, X146, X147, s2tc23_in_ga(T23, X146))
s2tc23_in_ga(s(T31), node(nil, X186, X187)) → U20_ga(T31, X186, X187, s2tc23_in_ga(T31, X187))
s2tc23_in_ga(s(T39), node(X226, X227, nil)) → U21_ga(T39, X226, X227, s2tc23_in_ga(T39, X226))
s2tc23_in_ga(T42, node(nil, X244, nil)) → s2tc23_out_ga(T42, node(nil, X244, nil))
U21_ga(T39, X226, X227, s2tc23_out_ga(T39, X226)) → s2tc23_out_ga(s(T39), node(X226, X227, nil))
U20_ga(T31, X186, X187, s2tc23_out_ga(T31, X187)) → s2tc23_out_ga(s(T31), node(nil, X186, X187))
U19_ga(T23, X146, X147, s2tc23_out_ga(T23, X146)) → s2tc23_out_ga(s(T23), node(X146, X147, X146))

The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
s2tc23_in_ga(x1, x2)  =  s2tc23_in_ga(x1)
0  =  0
s2tc23_out_ga(x1, x2)  =  s2tc23_out_ga(x1)
U19_ga(x1, x2, x3, x4)  =  U19_ga(x1, x4)
U20_ga(x1, x2, x3, x4)  =  U20_ga(x1, x4)
U21_ga(x1, x2, x3, x4)  =  U21_ga(x1, x4)
node(x1, x2, x3)  =  node(x1, x2, x3)
nil  =  nil
TAPPEND96_IN_GAA(x1, x2, x3)  =  TAPPEND96_IN_GAA(x1)

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

(10) UsableRulesProof (EQUIVALENT transformation)

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

(11) Obligation:

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

TAPPEND96_IN_GAA(node(T251, T252, T254), T251, node(T251, T252, X877)) → TAPPEND96_IN_GAA(T254, X874, X877)
TAPPEND96_IN_GAA(node(T211, T209, T210), X757, node(X758, T209, T210)) → TAPPEND96_IN_GAA(T211, X757, X758)

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

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

(12) PiDPToQDPProof (SOUND transformation)

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

(13) Obligation:

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

TAPPEND96_IN_GAA(node(T251, T252, T254)) → TAPPEND96_IN_GAA(T254)
TAPPEND96_IN_GAA(node(T211, T209, T210)) → TAPPEND96_IN_GAA(T211)

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:

  • TAPPEND96_IN_GAA(node(T251, T252, T254)) → TAPPEND96_IN_GAA(T254)
    The graph contains the following edges 1 > 1

  • TAPPEND96_IN_GAA(node(T211, T209, T210)) → TAPPEND96_IN_GAA(T211)
    The graph contains the following edges 1 > 1

(15) YES

(16) Obligation:

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

TAPPEND96_IN_AAA(node(T251, T252, T254), T251, node(T251, T252, X877)) → TAPPEND96_IN_AAA(T254, X874, X877)
TAPPEND96_IN_AAA(node(T211, T209, T210), X757, node(X758, T209, T210)) → TAPPEND96_IN_AAA(T211, X757, X758)

The TRS R consists of the following rules:

s2tc23_in_ga(0, nil) → s2tc23_out_ga(0, nil)
s2tc23_in_ga(s(T23), node(X146, X147, X146)) → U19_ga(T23, X146, X147, s2tc23_in_ga(T23, X146))
s2tc23_in_ga(s(T31), node(nil, X186, X187)) → U20_ga(T31, X186, X187, s2tc23_in_ga(T31, X187))
s2tc23_in_ga(s(T39), node(X226, X227, nil)) → U21_ga(T39, X226, X227, s2tc23_in_ga(T39, X226))
s2tc23_in_ga(T42, node(nil, X244, nil)) → s2tc23_out_ga(T42, node(nil, X244, nil))
U21_ga(T39, X226, X227, s2tc23_out_ga(T39, X226)) → s2tc23_out_ga(s(T39), node(X226, X227, nil))
U20_ga(T31, X186, X187, s2tc23_out_ga(T31, X187)) → s2tc23_out_ga(s(T31), node(nil, X186, X187))
U19_ga(T23, X146, X147, s2tc23_out_ga(T23, X146)) → s2tc23_out_ga(s(T23), node(X146, X147, X146))

The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
s2tc23_in_ga(x1, x2)  =  s2tc23_in_ga(x1)
0  =  0
s2tc23_out_ga(x1, x2)  =  s2tc23_out_ga(x1)
U19_ga(x1, x2, x3, x4)  =  U19_ga(x1, x4)
U20_ga(x1, x2, x3, x4)  =  U20_ga(x1, x4)
U21_ga(x1, x2, x3, x4)  =  U21_ga(x1, x4)
node(x1, x2, x3)  =  node(x1, x2, x3)
nil  =  nil
TAPPEND96_IN_AAA(x1, x2, x3)  =  TAPPEND96_IN_AAA

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:

TAPPEND96_IN_AAA(node(T251, T252, T254), T251, node(T251, T252, X877)) → TAPPEND96_IN_AAA(T254, X874, X877)
TAPPEND96_IN_AAA(node(T211, T209, T210), X757, node(X758, T209, T210)) → TAPPEND96_IN_AAA(T211, X757, X758)

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

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

(19) PiDPToQDPProof (SOUND transformation)

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

(20) Obligation:

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

TAPPEND96_IN_AAATAPPEND96_IN_AAA

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

(21) 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 = TAPPEND96_IN_AAA evaluates to t =TAPPEND96_IN_AAA

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




Rewriting sequence

The DP semiunifies directly so there is only one rewrite step from TAPPEND96_IN_AAA to TAPPEND96_IN_AAA.



(22) NO

(23) Obligation:

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

S2T23_IN_GA(s(T31), node(nil, X186, X187)) → S2T23_IN_GA(T31, X187)
S2T23_IN_GA(s(T23), node(X146, X147, X146)) → S2T23_IN_GA(T23, X146)
S2T23_IN_GA(s(T39), node(X226, X227, nil)) → S2T23_IN_GA(T39, X226)

The TRS R consists of the following rules:

s2tc23_in_ga(0, nil) → s2tc23_out_ga(0, nil)
s2tc23_in_ga(s(T23), node(X146, X147, X146)) → U19_ga(T23, X146, X147, s2tc23_in_ga(T23, X146))
s2tc23_in_ga(s(T31), node(nil, X186, X187)) → U20_ga(T31, X186, X187, s2tc23_in_ga(T31, X187))
s2tc23_in_ga(s(T39), node(X226, X227, nil)) → U21_ga(T39, X226, X227, s2tc23_in_ga(T39, X226))
s2tc23_in_ga(T42, node(nil, X244, nil)) → s2tc23_out_ga(T42, node(nil, X244, nil))
U21_ga(T39, X226, X227, s2tc23_out_ga(T39, X226)) → s2tc23_out_ga(s(T39), node(X226, X227, nil))
U20_ga(T31, X186, X187, s2tc23_out_ga(T31, X187)) → s2tc23_out_ga(s(T31), node(nil, X186, X187))
U19_ga(T23, X146, X147, s2tc23_out_ga(T23, X146)) → s2tc23_out_ga(s(T23), node(X146, X147, X146))

The argument filtering Pi contains the following mapping:
s(x1)  =  s(x1)
s2tc23_in_ga(x1, x2)  =  s2tc23_in_ga(x1)
0  =  0
s2tc23_out_ga(x1, x2)  =  s2tc23_out_ga(x1)
U19_ga(x1, x2, x3, x4)  =  U19_ga(x1, x4)
U20_ga(x1, x2, x3, x4)  =  U20_ga(x1, x4)
U21_ga(x1, x2, x3, x4)  =  U21_ga(x1, x4)
node(x1, x2, x3)  =  node(x1, x2, x3)
nil  =  nil
S2T23_IN_GA(x1, x2)  =  S2T23_IN_GA(x1)

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

(24) UsableRulesProof (EQUIVALENT transformation)

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

(25) Obligation:

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

S2T23_IN_GA(s(T31), node(nil, X186, X187)) → S2T23_IN_GA(T31, X187)
S2T23_IN_GA(s(T23), node(X146, X147, X146)) → S2T23_IN_GA(T23, X146)
S2T23_IN_GA(s(T39), node(X226, X227, nil)) → S2T23_IN_GA(T39, X226)

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

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

(26) PiDPToQDPProof (SOUND transformation)

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

(27) Obligation:

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

S2T23_IN_GA(s(T31)) → S2T23_IN_GA(T31)

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

(28) QDPSizeChangeProof (EQUIVALENT transformation)

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

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

  • S2T23_IN_GA(s(T31)) → S2T23_IN_GA(T31)
    The graph contains the following edges 1 > 1

(29) YES