(0) Obligation:

Clauses:

search_tree(void).
search_tree(T) :- search_tree(T, X1, X2).
search_tree(tree(X, void, void), X, X).
search_tree(tree(X, void, Right), X, Max) :- ','(search_tree(Right, Min, Max), less(X, Min)).
search_tree(tree(X, Left, void), Min, X) :- ','(search_tree(Left, Min, Max), less(Max, X)).
search_tree(tree(X, Left, Right), Min1, Max2) :- ','(search_tree(Left, Min1, Max1), ','(less(Max1, X), ','(search_tree(Right, Min2, Max2), less(X, Min2)))).
less(0, s(X3)).
less(s(X), s(Y)) :- less(X, Y).

Queries:

search_tree(g).

(1) PrologToDTProblemTransformerProof (SOUND transformation)

Built DT problem from termination graph.

(2) Obligation:

Triples:

p21(T18, X51, X52, T17) :- search_tree23(T18, X51, X52).
p21(T18, T21, T22, T17) :- ','(search_treec23(T18, T21, T22), less24(T17, T21)).
search_tree23(tree(T38, void, T39), T38, X88) :- p21(T39, X87, X88, T38).
search_tree23(tree(T50, T51, void), X116, T50) :- p37(T51, X116, X115, T50).
search_tree23(tree(T66, T67, T68), X149, X150) :- p41(T67, X149, X147, T66, T68, X148, X150).
less24(s(T92), s(T93)) :- less24(T92, T93).
p37(T51, X116, X115, T50) :- search_tree23(T51, X116, X115).
p37(T51, T54, T55, T50) :- ','(search_treec23(T51, T54, T55), less24(T55, T50)).
p41(T67, X149, X147, T66, T68, X148, X150) :- search_tree23(T67, X149, X147).
p41(T67, T71, T72, T66, T68, X148, X150) :- ','(search_treec23(T67, T71, T72), less24(T72, T66)).
p41(T67, T71, T72, T66, T68, X148, X150) :- ','(search_treec23(T67, T71, T72), ','(lessc24(T72, T66), p21(T68, X148, X150, T66))).
search_tree1(tree(T17, void, T18)) :- p21(T18, X51, X52, T17).
search_tree1(tree(T104, T105, void)) :- p37(T105, X206, X205, T104).
search_tree1(tree(T114, T115, T116)) :- p41(T115, X235, X233, T114, T116, X234, X236).

Clauses:

qc21(T18, T21, T22, T17) :- ','(search_treec23(T18, T21, T22), lessc24(T17, T21)).
search_treec23(tree(T29, void, void), T29, T29).
search_treec23(tree(T38, void, T39), T38, X88) :- qc21(T39, X87, X88, T38).
search_treec23(tree(T50, T51, void), X116, T50) :- qc37(T51, X116, X115, T50).
search_treec23(tree(T66, T67, T68), X149, X150) :- qc41(T67, X149, X147, T66, T68, X148, X150).
lessc24(0, s(T87)).
lessc24(s(T92), s(T93)) :- lessc24(T92, T93).
qc37(T51, T54, T55, T50) :- ','(search_treec23(T51, T54, T55), lessc24(T55, T50)).
qc41(T67, T71, T72, T66, T68, X148, X150) :- ','(search_treec23(T67, T71, T72), ','(lessc24(T72, T66), qc21(T68, X148, X150, T66))).

Afs:

search_tree1(x1)  =  search_tree1(x1)

(3) TriplesToPiDPProof (SOUND transformation)

We use the technique of [LOPSTR]. With regard to the inferred argument filtering the predicates were used in the following modes:
search_tree1_in: (b)
p21_in: (b,f,f,b)
search_tree23_in: (b,f,f)
search_treec23_in: (b,f,f)
qc21_in: (b,f,f,b)
qc37_in: (b,f,f,b)
qc41_in: (b,f,f,b,b,f,f)
lessc24_in: (b,b)
less24_in: (b,b)
p37_in: (b,f,f,b)
p41_in: (b,f,f,b,b,f,f)
Transforming TRIPLES into the following Term Rewriting System:
Pi DP problem:
The TRS P consists of the following rules:

SEARCH_TREE1_IN_G(tree(T17, void, T18)) → U16_G(T17, T18, p21_in_gaag(T18, X51, X52, T17))
SEARCH_TREE1_IN_G(tree(T17, void, T18)) → P21_IN_GAAG(T18, X51, X52, T17)
P21_IN_GAAG(T18, X51, X52, T17) → U1_GAAG(T18, X51, X52, T17, search_tree23_in_gaa(T18, X51, X52))
P21_IN_GAAG(T18, X51, X52, T17) → SEARCH_TREE23_IN_GAA(T18, X51, X52)
SEARCH_TREE23_IN_GAA(tree(T38, void, T39), T38, X88) → U4_GAA(T38, T39, X88, p21_in_gaag(T39, X87, X88, T38))
SEARCH_TREE23_IN_GAA(tree(T38, void, T39), T38, X88) → P21_IN_GAAG(T39, X87, X88, T38)
P21_IN_GAAG(T18, T21, T22, T17) → U2_GAAG(T18, T21, T22, T17, search_treec23_in_gaa(T18, T21, T22))
U2_GAAG(T18, T21, T22, T17, search_treec23_out_gaa(T18, T21, T22)) → U3_GAAG(T18, T21, T22, T17, less24_in_gg(T17, T21))
U2_GAAG(T18, T21, T22, T17, search_treec23_out_gaa(T18, T21, T22)) → LESS24_IN_GG(T17, T21)
LESS24_IN_GG(s(T92), s(T93)) → U7_GG(T92, T93, less24_in_gg(T92, T93))
LESS24_IN_GG(s(T92), s(T93)) → LESS24_IN_GG(T92, T93)
SEARCH_TREE23_IN_GAA(tree(T50, T51, void), X116, T50) → U5_GAA(T50, T51, X116, p37_in_gaag(T51, X116, X115, T50))
SEARCH_TREE23_IN_GAA(tree(T50, T51, void), X116, T50) → P37_IN_GAAG(T51, X116, X115, T50)
P37_IN_GAAG(T51, X116, X115, T50) → U8_GAAG(T51, X116, X115, T50, search_tree23_in_gaa(T51, X116, X115))
P37_IN_GAAG(T51, X116, X115, T50) → SEARCH_TREE23_IN_GAA(T51, X116, X115)
SEARCH_TREE23_IN_GAA(tree(T66, T67, T68), X149, X150) → U6_GAA(T66, T67, T68, X149, X150, p41_in_gaaggaa(T67, X149, X147, T66, T68, X148, X150))
SEARCH_TREE23_IN_GAA(tree(T66, T67, T68), X149, X150) → P41_IN_GAAGGAA(T67, X149, X147, T66, T68, X148, X150)
P41_IN_GAAGGAA(T67, X149, X147, T66, T68, X148, X150) → U11_GAAGGAA(T67, X149, X147, T66, T68, X148, X150, search_tree23_in_gaa(T67, X149, X147))
P41_IN_GAAGGAA(T67, X149, X147, T66, T68, X148, X150) → SEARCH_TREE23_IN_GAA(T67, X149, X147)
P41_IN_GAAGGAA(T67, T71, T72, T66, T68, X148, X150) → U12_GAAGGAA(T67, T71, T72, T66, T68, X148, X150, search_treec23_in_gaa(T67, T71, T72))
U12_GAAGGAA(T67, T71, T72, T66, T68, X148, X150, search_treec23_out_gaa(T67, T71, T72)) → U13_GAAGGAA(T67, T71, T72, T66, T68, X148, X150, less24_in_gg(T72, T66))
U12_GAAGGAA(T67, T71, T72, T66, T68, X148, X150, search_treec23_out_gaa(T67, T71, T72)) → LESS24_IN_GG(T72, T66)
U12_GAAGGAA(T67, T71, T72, T66, T68, X148, X150, search_treec23_out_gaa(T67, T71, T72)) → U14_GAAGGAA(T67, T71, T72, T66, T68, X148, X150, lessc24_in_gg(T72, T66))
U14_GAAGGAA(T67, T71, T72, T66, T68, X148, X150, lessc24_out_gg(T72, T66)) → U15_GAAGGAA(T67, T71, T72, T66, T68, X148, X150, p21_in_gaag(T68, X148, X150, T66))
U14_GAAGGAA(T67, T71, T72, T66, T68, X148, X150, lessc24_out_gg(T72, T66)) → P21_IN_GAAG(T68, X148, X150, T66)
P37_IN_GAAG(T51, T54, T55, T50) → U9_GAAG(T51, T54, T55, T50, search_treec23_in_gaa(T51, T54, T55))
U9_GAAG(T51, T54, T55, T50, search_treec23_out_gaa(T51, T54, T55)) → U10_GAAG(T51, T54, T55, T50, less24_in_gg(T55, T50))
U9_GAAG(T51, T54, T55, T50, search_treec23_out_gaa(T51, T54, T55)) → LESS24_IN_GG(T55, T50)
SEARCH_TREE1_IN_G(tree(T104, T105, void)) → U17_G(T104, T105, p37_in_gaag(T105, X206, X205, T104))
SEARCH_TREE1_IN_G(tree(T104, T105, void)) → P37_IN_GAAG(T105, X206, X205, T104)
SEARCH_TREE1_IN_G(tree(T114, T115, T116)) → U18_G(T114, T115, T116, p41_in_gaaggaa(T115, X235, X233, T114, T116, X234, X236))
SEARCH_TREE1_IN_G(tree(T114, T115, T116)) → P41_IN_GAAGGAA(T115, X235, X233, T114, T116, X234, X236)

The TRS R consists of the following rules:

search_treec23_in_gaa(tree(T29, void, void), T29, T29) → search_treec23_out_gaa(tree(T29, void, void), T29, T29)
search_treec23_in_gaa(tree(T38, void, T39), T38, X88) → U22_gaa(T38, T39, X88, qc21_in_gaag(T39, X87, X88, T38))
qc21_in_gaag(T18, T21, T22, T17) → U20_gaag(T18, T21, T22, T17, search_treec23_in_gaa(T18, T21, T22))
search_treec23_in_gaa(tree(T50, T51, void), X116, T50) → U23_gaa(T50, T51, X116, qc37_in_gaag(T51, X116, X115, T50))
qc37_in_gaag(T51, T54, T55, T50) → U26_gaag(T51, T54, T55, T50, search_treec23_in_gaa(T51, T54, T55))
search_treec23_in_gaa(tree(T66, T67, T68), X149, X150) → U24_gaa(T66, T67, T68, X149, X150, qc41_in_gaaggaa(T67, X149, X147, T66, T68, X148, X150))
qc41_in_gaaggaa(T67, T71, T72, T66, T68, X148, X150) → U28_gaaggaa(T67, T71, T72, T66, T68, X148, X150, search_treec23_in_gaa(T67, T71, T72))
U28_gaaggaa(T67, T71, T72, T66, T68, X148, X150, search_treec23_out_gaa(T67, T71, T72)) → U29_gaaggaa(T67, T71, T72, T66, T68, X148, X150, lessc24_in_gg(T72, T66))
lessc24_in_gg(0, s(T87)) → lessc24_out_gg(0, s(T87))
lessc24_in_gg(s(T92), s(T93)) → U25_gg(T92, T93, lessc24_in_gg(T92, T93))
U25_gg(T92, T93, lessc24_out_gg(T92, T93)) → lessc24_out_gg(s(T92), s(T93))
U29_gaaggaa(T67, T71, T72, T66, T68, X148, X150, lessc24_out_gg(T72, T66)) → U30_gaaggaa(T67, T71, T72, T66, T68, X148, X150, qc21_in_gaag(T68, X148, X150, T66))
U30_gaaggaa(T67, T71, T72, T66, T68, X148, X150, qc21_out_gaag(T68, X148, X150, T66)) → qc41_out_gaaggaa(T67, T71, T72, T66, T68, X148, X150)
U24_gaa(T66, T67, T68, X149, X150, qc41_out_gaaggaa(T67, X149, X147, T66, T68, X148, X150)) → search_treec23_out_gaa(tree(T66, T67, T68), X149, X150)
U26_gaag(T51, T54, T55, T50, search_treec23_out_gaa(T51, T54, T55)) → U27_gaag(T51, T54, T55, T50, lessc24_in_gg(T55, T50))
U27_gaag(T51, T54, T55, T50, lessc24_out_gg(T55, T50)) → qc37_out_gaag(T51, T54, T55, T50)
U23_gaa(T50, T51, X116, qc37_out_gaag(T51, X116, X115, T50)) → search_treec23_out_gaa(tree(T50, T51, void), X116, T50)
U20_gaag(T18, T21, T22, T17, search_treec23_out_gaa(T18, T21, T22)) → U21_gaag(T18, T21, T22, T17, lessc24_in_gg(T17, T21))
U21_gaag(T18, T21, T22, T17, lessc24_out_gg(T17, T21)) → qc21_out_gaag(T18, T21, T22, T17)
U22_gaa(T38, T39, X88, qc21_out_gaag(T39, X87, X88, T38)) → search_treec23_out_gaa(tree(T38, void, T39), T38, X88)

The argument filtering Pi contains the following mapping:
tree(x1, x2, x3)  =  tree(x1, x2, x3)
void  =  void
p21_in_gaag(x1, x2, x3, x4)  =  p21_in_gaag(x1, x4)
search_tree23_in_gaa(x1, x2, x3)  =  search_tree23_in_gaa(x1)
search_treec23_in_gaa(x1, x2, x3)  =  search_treec23_in_gaa(x1)
search_treec23_out_gaa(x1, x2, x3)  =  search_treec23_out_gaa(x1, x2, x3)
U22_gaa(x1, x2, x3, x4)  =  U22_gaa(x1, x2, x4)
qc21_in_gaag(x1, x2, x3, x4)  =  qc21_in_gaag(x1, x4)
U20_gaag(x1, x2, x3, x4, x5)  =  U20_gaag(x1, x4, x5)
U23_gaa(x1, x2, x3, x4)  =  U23_gaa(x1, x2, x4)
qc37_in_gaag(x1, x2, x3, x4)  =  qc37_in_gaag(x1, x4)
U26_gaag(x1, x2, x3, x4, x5)  =  U26_gaag(x1, x4, x5)
U24_gaa(x1, x2, x3, x4, x5, x6)  =  U24_gaa(x1, x2, x3, x6)
qc41_in_gaaggaa(x1, x2, x3, x4, x5, x6, x7)  =  qc41_in_gaaggaa(x1, x4, x5)
U28_gaaggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U28_gaaggaa(x1, x4, x5, x8)
U29_gaaggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U29_gaaggaa(x1, x2, x3, x4, x5, x8)
lessc24_in_gg(x1, x2)  =  lessc24_in_gg(x1, x2)
0  =  0
s(x1)  =  s(x1)
lessc24_out_gg(x1, x2)  =  lessc24_out_gg(x1, x2)
U25_gg(x1, x2, x3)  =  U25_gg(x1, x2, x3)
U30_gaaggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U30_gaaggaa(x1, x2, x3, x4, x5, x8)
qc21_out_gaag(x1, x2, x3, x4)  =  qc21_out_gaag(x1, x2, x3, x4)
qc41_out_gaaggaa(x1, x2, x3, x4, x5, x6, x7)  =  qc41_out_gaaggaa(x1, x2, x3, x4, x5, x6, x7)
U27_gaag(x1, x2, x3, x4, x5)  =  U27_gaag(x1, x2, x3, x4, x5)
qc37_out_gaag(x1, x2, x3, x4)  =  qc37_out_gaag(x1, x2, x3, x4)
U21_gaag(x1, x2, x3, x4, x5)  =  U21_gaag(x1, x2, x3, x4, x5)
less24_in_gg(x1, x2)  =  less24_in_gg(x1, x2)
p37_in_gaag(x1, x2, x3, x4)  =  p37_in_gaag(x1, x4)
p41_in_gaaggaa(x1, x2, x3, x4, x5, x6, x7)  =  p41_in_gaaggaa(x1, x4, x5)
SEARCH_TREE1_IN_G(x1)  =  SEARCH_TREE1_IN_G(x1)
U16_G(x1, x2, x3)  =  U16_G(x1, x2, x3)
P21_IN_GAAG(x1, x2, x3, x4)  =  P21_IN_GAAG(x1, x4)
U1_GAAG(x1, x2, x3, x4, x5)  =  U1_GAAG(x1, x4, x5)
SEARCH_TREE23_IN_GAA(x1, x2, x3)  =  SEARCH_TREE23_IN_GAA(x1)
U4_GAA(x1, x2, x3, x4)  =  U4_GAA(x1, x2, x4)
U2_GAAG(x1, x2, x3, x4, x5)  =  U2_GAAG(x1, x4, x5)
U3_GAAG(x1, x2, x3, x4, x5)  =  U3_GAAG(x1, x2, x4, x5)
LESS24_IN_GG(x1, x2)  =  LESS24_IN_GG(x1, x2)
U7_GG(x1, x2, x3)  =  U7_GG(x1, x2, x3)
U5_GAA(x1, x2, x3, x4)  =  U5_GAA(x1, x2, x4)
P37_IN_GAAG(x1, x2, x3, x4)  =  P37_IN_GAAG(x1, x4)
U8_GAAG(x1, x2, x3, x4, x5)  =  U8_GAAG(x1, x4, x5)
U6_GAA(x1, x2, x3, x4, x5, x6)  =  U6_GAA(x1, x2, x3, x6)
P41_IN_GAAGGAA(x1, x2, x3, x4, x5, x6, x7)  =  P41_IN_GAAGGAA(x1, x4, x5)
U11_GAAGGAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U11_GAAGGAA(x1, x4, x5, x8)
U12_GAAGGAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U12_GAAGGAA(x1, x4, x5, x8)
U13_GAAGGAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U13_GAAGGAA(x1, x2, x4, x5, x8)
U14_GAAGGAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U14_GAAGGAA(x1, x2, x4, x5, x8)
U15_GAAGGAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U15_GAAGGAA(x1, x2, x4, x5, x8)
U9_GAAG(x1, x2, x3, x4, x5)  =  U9_GAAG(x1, x4, x5)
U10_GAAG(x1, x2, x3, x4, x5)  =  U10_GAAG(x1, x2, x4, x5)
U17_G(x1, x2, x3)  =  U17_G(x1, x2, x3)
U18_G(x1, x2, x3, x4)  =  U18_G(x1, x2, x3, x4)

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

Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES

(4) Obligation:

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

SEARCH_TREE1_IN_G(tree(T17, void, T18)) → U16_G(T17, T18, p21_in_gaag(T18, X51, X52, T17))
SEARCH_TREE1_IN_G(tree(T17, void, T18)) → P21_IN_GAAG(T18, X51, X52, T17)
P21_IN_GAAG(T18, X51, X52, T17) → U1_GAAG(T18, X51, X52, T17, search_tree23_in_gaa(T18, X51, X52))
P21_IN_GAAG(T18, X51, X52, T17) → SEARCH_TREE23_IN_GAA(T18, X51, X52)
SEARCH_TREE23_IN_GAA(tree(T38, void, T39), T38, X88) → U4_GAA(T38, T39, X88, p21_in_gaag(T39, X87, X88, T38))
SEARCH_TREE23_IN_GAA(tree(T38, void, T39), T38, X88) → P21_IN_GAAG(T39, X87, X88, T38)
P21_IN_GAAG(T18, T21, T22, T17) → U2_GAAG(T18, T21, T22, T17, search_treec23_in_gaa(T18, T21, T22))
U2_GAAG(T18, T21, T22, T17, search_treec23_out_gaa(T18, T21, T22)) → U3_GAAG(T18, T21, T22, T17, less24_in_gg(T17, T21))
U2_GAAG(T18, T21, T22, T17, search_treec23_out_gaa(T18, T21, T22)) → LESS24_IN_GG(T17, T21)
LESS24_IN_GG(s(T92), s(T93)) → U7_GG(T92, T93, less24_in_gg(T92, T93))
LESS24_IN_GG(s(T92), s(T93)) → LESS24_IN_GG(T92, T93)
SEARCH_TREE23_IN_GAA(tree(T50, T51, void), X116, T50) → U5_GAA(T50, T51, X116, p37_in_gaag(T51, X116, X115, T50))
SEARCH_TREE23_IN_GAA(tree(T50, T51, void), X116, T50) → P37_IN_GAAG(T51, X116, X115, T50)
P37_IN_GAAG(T51, X116, X115, T50) → U8_GAAG(T51, X116, X115, T50, search_tree23_in_gaa(T51, X116, X115))
P37_IN_GAAG(T51, X116, X115, T50) → SEARCH_TREE23_IN_GAA(T51, X116, X115)
SEARCH_TREE23_IN_GAA(tree(T66, T67, T68), X149, X150) → U6_GAA(T66, T67, T68, X149, X150, p41_in_gaaggaa(T67, X149, X147, T66, T68, X148, X150))
SEARCH_TREE23_IN_GAA(tree(T66, T67, T68), X149, X150) → P41_IN_GAAGGAA(T67, X149, X147, T66, T68, X148, X150)
P41_IN_GAAGGAA(T67, X149, X147, T66, T68, X148, X150) → U11_GAAGGAA(T67, X149, X147, T66, T68, X148, X150, search_tree23_in_gaa(T67, X149, X147))
P41_IN_GAAGGAA(T67, X149, X147, T66, T68, X148, X150) → SEARCH_TREE23_IN_GAA(T67, X149, X147)
P41_IN_GAAGGAA(T67, T71, T72, T66, T68, X148, X150) → U12_GAAGGAA(T67, T71, T72, T66, T68, X148, X150, search_treec23_in_gaa(T67, T71, T72))
U12_GAAGGAA(T67, T71, T72, T66, T68, X148, X150, search_treec23_out_gaa(T67, T71, T72)) → U13_GAAGGAA(T67, T71, T72, T66, T68, X148, X150, less24_in_gg(T72, T66))
U12_GAAGGAA(T67, T71, T72, T66, T68, X148, X150, search_treec23_out_gaa(T67, T71, T72)) → LESS24_IN_GG(T72, T66)
U12_GAAGGAA(T67, T71, T72, T66, T68, X148, X150, search_treec23_out_gaa(T67, T71, T72)) → U14_GAAGGAA(T67, T71, T72, T66, T68, X148, X150, lessc24_in_gg(T72, T66))
U14_GAAGGAA(T67, T71, T72, T66, T68, X148, X150, lessc24_out_gg(T72, T66)) → U15_GAAGGAA(T67, T71, T72, T66, T68, X148, X150, p21_in_gaag(T68, X148, X150, T66))
U14_GAAGGAA(T67, T71, T72, T66, T68, X148, X150, lessc24_out_gg(T72, T66)) → P21_IN_GAAG(T68, X148, X150, T66)
P37_IN_GAAG(T51, T54, T55, T50) → U9_GAAG(T51, T54, T55, T50, search_treec23_in_gaa(T51, T54, T55))
U9_GAAG(T51, T54, T55, T50, search_treec23_out_gaa(T51, T54, T55)) → U10_GAAG(T51, T54, T55, T50, less24_in_gg(T55, T50))
U9_GAAG(T51, T54, T55, T50, search_treec23_out_gaa(T51, T54, T55)) → LESS24_IN_GG(T55, T50)
SEARCH_TREE1_IN_G(tree(T104, T105, void)) → U17_G(T104, T105, p37_in_gaag(T105, X206, X205, T104))
SEARCH_TREE1_IN_G(tree(T104, T105, void)) → P37_IN_GAAG(T105, X206, X205, T104)
SEARCH_TREE1_IN_G(tree(T114, T115, T116)) → U18_G(T114, T115, T116, p41_in_gaaggaa(T115, X235, X233, T114, T116, X234, X236))
SEARCH_TREE1_IN_G(tree(T114, T115, T116)) → P41_IN_GAAGGAA(T115, X235, X233, T114, T116, X234, X236)

The TRS R consists of the following rules:

search_treec23_in_gaa(tree(T29, void, void), T29, T29) → search_treec23_out_gaa(tree(T29, void, void), T29, T29)
search_treec23_in_gaa(tree(T38, void, T39), T38, X88) → U22_gaa(T38, T39, X88, qc21_in_gaag(T39, X87, X88, T38))
qc21_in_gaag(T18, T21, T22, T17) → U20_gaag(T18, T21, T22, T17, search_treec23_in_gaa(T18, T21, T22))
search_treec23_in_gaa(tree(T50, T51, void), X116, T50) → U23_gaa(T50, T51, X116, qc37_in_gaag(T51, X116, X115, T50))
qc37_in_gaag(T51, T54, T55, T50) → U26_gaag(T51, T54, T55, T50, search_treec23_in_gaa(T51, T54, T55))
search_treec23_in_gaa(tree(T66, T67, T68), X149, X150) → U24_gaa(T66, T67, T68, X149, X150, qc41_in_gaaggaa(T67, X149, X147, T66, T68, X148, X150))
qc41_in_gaaggaa(T67, T71, T72, T66, T68, X148, X150) → U28_gaaggaa(T67, T71, T72, T66, T68, X148, X150, search_treec23_in_gaa(T67, T71, T72))
U28_gaaggaa(T67, T71, T72, T66, T68, X148, X150, search_treec23_out_gaa(T67, T71, T72)) → U29_gaaggaa(T67, T71, T72, T66, T68, X148, X150, lessc24_in_gg(T72, T66))
lessc24_in_gg(0, s(T87)) → lessc24_out_gg(0, s(T87))
lessc24_in_gg(s(T92), s(T93)) → U25_gg(T92, T93, lessc24_in_gg(T92, T93))
U25_gg(T92, T93, lessc24_out_gg(T92, T93)) → lessc24_out_gg(s(T92), s(T93))
U29_gaaggaa(T67, T71, T72, T66, T68, X148, X150, lessc24_out_gg(T72, T66)) → U30_gaaggaa(T67, T71, T72, T66, T68, X148, X150, qc21_in_gaag(T68, X148, X150, T66))
U30_gaaggaa(T67, T71, T72, T66, T68, X148, X150, qc21_out_gaag(T68, X148, X150, T66)) → qc41_out_gaaggaa(T67, T71, T72, T66, T68, X148, X150)
U24_gaa(T66, T67, T68, X149, X150, qc41_out_gaaggaa(T67, X149, X147, T66, T68, X148, X150)) → search_treec23_out_gaa(tree(T66, T67, T68), X149, X150)
U26_gaag(T51, T54, T55, T50, search_treec23_out_gaa(T51, T54, T55)) → U27_gaag(T51, T54, T55, T50, lessc24_in_gg(T55, T50))
U27_gaag(T51, T54, T55, T50, lessc24_out_gg(T55, T50)) → qc37_out_gaag(T51, T54, T55, T50)
U23_gaa(T50, T51, X116, qc37_out_gaag(T51, X116, X115, T50)) → search_treec23_out_gaa(tree(T50, T51, void), X116, T50)
U20_gaag(T18, T21, T22, T17, search_treec23_out_gaa(T18, T21, T22)) → U21_gaag(T18, T21, T22, T17, lessc24_in_gg(T17, T21))
U21_gaag(T18, T21, T22, T17, lessc24_out_gg(T17, T21)) → qc21_out_gaag(T18, T21, T22, T17)
U22_gaa(T38, T39, X88, qc21_out_gaag(T39, X87, X88, T38)) → search_treec23_out_gaa(tree(T38, void, T39), T38, X88)

The argument filtering Pi contains the following mapping:
tree(x1, x2, x3)  =  tree(x1, x2, x3)
void  =  void
p21_in_gaag(x1, x2, x3, x4)  =  p21_in_gaag(x1, x4)
search_tree23_in_gaa(x1, x2, x3)  =  search_tree23_in_gaa(x1)
search_treec23_in_gaa(x1, x2, x3)  =  search_treec23_in_gaa(x1)
search_treec23_out_gaa(x1, x2, x3)  =  search_treec23_out_gaa(x1, x2, x3)
U22_gaa(x1, x2, x3, x4)  =  U22_gaa(x1, x2, x4)
qc21_in_gaag(x1, x2, x3, x4)  =  qc21_in_gaag(x1, x4)
U20_gaag(x1, x2, x3, x4, x5)  =  U20_gaag(x1, x4, x5)
U23_gaa(x1, x2, x3, x4)  =  U23_gaa(x1, x2, x4)
qc37_in_gaag(x1, x2, x3, x4)  =  qc37_in_gaag(x1, x4)
U26_gaag(x1, x2, x3, x4, x5)  =  U26_gaag(x1, x4, x5)
U24_gaa(x1, x2, x3, x4, x5, x6)  =  U24_gaa(x1, x2, x3, x6)
qc41_in_gaaggaa(x1, x2, x3, x4, x5, x6, x7)  =  qc41_in_gaaggaa(x1, x4, x5)
U28_gaaggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U28_gaaggaa(x1, x4, x5, x8)
U29_gaaggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U29_gaaggaa(x1, x2, x3, x4, x5, x8)
lessc24_in_gg(x1, x2)  =  lessc24_in_gg(x1, x2)
0  =  0
s(x1)  =  s(x1)
lessc24_out_gg(x1, x2)  =  lessc24_out_gg(x1, x2)
U25_gg(x1, x2, x3)  =  U25_gg(x1, x2, x3)
U30_gaaggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U30_gaaggaa(x1, x2, x3, x4, x5, x8)
qc21_out_gaag(x1, x2, x3, x4)  =  qc21_out_gaag(x1, x2, x3, x4)
qc41_out_gaaggaa(x1, x2, x3, x4, x5, x6, x7)  =  qc41_out_gaaggaa(x1, x2, x3, x4, x5, x6, x7)
U27_gaag(x1, x2, x3, x4, x5)  =  U27_gaag(x1, x2, x3, x4, x5)
qc37_out_gaag(x1, x2, x3, x4)  =  qc37_out_gaag(x1, x2, x3, x4)
U21_gaag(x1, x2, x3, x4, x5)  =  U21_gaag(x1, x2, x3, x4, x5)
less24_in_gg(x1, x2)  =  less24_in_gg(x1, x2)
p37_in_gaag(x1, x2, x3, x4)  =  p37_in_gaag(x1, x4)
p41_in_gaaggaa(x1, x2, x3, x4, x5, x6, x7)  =  p41_in_gaaggaa(x1, x4, x5)
SEARCH_TREE1_IN_G(x1)  =  SEARCH_TREE1_IN_G(x1)
U16_G(x1, x2, x3)  =  U16_G(x1, x2, x3)
P21_IN_GAAG(x1, x2, x3, x4)  =  P21_IN_GAAG(x1, x4)
U1_GAAG(x1, x2, x3, x4, x5)  =  U1_GAAG(x1, x4, x5)
SEARCH_TREE23_IN_GAA(x1, x2, x3)  =  SEARCH_TREE23_IN_GAA(x1)
U4_GAA(x1, x2, x3, x4)  =  U4_GAA(x1, x2, x4)
U2_GAAG(x1, x2, x3, x4, x5)  =  U2_GAAG(x1, x4, x5)
U3_GAAG(x1, x2, x3, x4, x5)  =  U3_GAAG(x1, x2, x4, x5)
LESS24_IN_GG(x1, x2)  =  LESS24_IN_GG(x1, x2)
U7_GG(x1, x2, x3)  =  U7_GG(x1, x2, x3)
U5_GAA(x1, x2, x3, x4)  =  U5_GAA(x1, x2, x4)
P37_IN_GAAG(x1, x2, x3, x4)  =  P37_IN_GAAG(x1, x4)
U8_GAAG(x1, x2, x3, x4, x5)  =  U8_GAAG(x1, x4, x5)
U6_GAA(x1, x2, x3, x4, x5, x6)  =  U6_GAA(x1, x2, x3, x6)
P41_IN_GAAGGAA(x1, x2, x3, x4, x5, x6, x7)  =  P41_IN_GAAGGAA(x1, x4, x5)
U11_GAAGGAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U11_GAAGGAA(x1, x4, x5, x8)
U12_GAAGGAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U12_GAAGGAA(x1, x4, x5, x8)
U13_GAAGGAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U13_GAAGGAA(x1, x2, x4, x5, x8)
U14_GAAGGAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U14_GAAGGAA(x1, x2, x4, x5, x8)
U15_GAAGGAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U15_GAAGGAA(x1, x2, x4, x5, x8)
U9_GAAG(x1, x2, x3, x4, x5)  =  U9_GAAG(x1, x4, x5)
U10_GAAG(x1, x2, x3, x4, x5)  =  U10_GAAG(x1, x2, x4, x5)
U17_G(x1, x2, x3)  =  U17_G(x1, x2, x3)
U18_G(x1, x2, x3, x4)  =  U18_G(x1, x2, x3, x4)

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

(5) DependencyGraphProof (EQUIVALENT transformation)

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

(6) Complex Obligation (AND)

(7) Obligation:

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

LESS24_IN_GG(s(T92), s(T93)) → LESS24_IN_GG(T92, T93)

The TRS R consists of the following rules:

search_treec23_in_gaa(tree(T29, void, void), T29, T29) → search_treec23_out_gaa(tree(T29, void, void), T29, T29)
search_treec23_in_gaa(tree(T38, void, T39), T38, X88) → U22_gaa(T38, T39, X88, qc21_in_gaag(T39, X87, X88, T38))
qc21_in_gaag(T18, T21, T22, T17) → U20_gaag(T18, T21, T22, T17, search_treec23_in_gaa(T18, T21, T22))
search_treec23_in_gaa(tree(T50, T51, void), X116, T50) → U23_gaa(T50, T51, X116, qc37_in_gaag(T51, X116, X115, T50))
qc37_in_gaag(T51, T54, T55, T50) → U26_gaag(T51, T54, T55, T50, search_treec23_in_gaa(T51, T54, T55))
search_treec23_in_gaa(tree(T66, T67, T68), X149, X150) → U24_gaa(T66, T67, T68, X149, X150, qc41_in_gaaggaa(T67, X149, X147, T66, T68, X148, X150))
qc41_in_gaaggaa(T67, T71, T72, T66, T68, X148, X150) → U28_gaaggaa(T67, T71, T72, T66, T68, X148, X150, search_treec23_in_gaa(T67, T71, T72))
U28_gaaggaa(T67, T71, T72, T66, T68, X148, X150, search_treec23_out_gaa(T67, T71, T72)) → U29_gaaggaa(T67, T71, T72, T66, T68, X148, X150, lessc24_in_gg(T72, T66))
lessc24_in_gg(0, s(T87)) → lessc24_out_gg(0, s(T87))
lessc24_in_gg(s(T92), s(T93)) → U25_gg(T92, T93, lessc24_in_gg(T92, T93))
U25_gg(T92, T93, lessc24_out_gg(T92, T93)) → lessc24_out_gg(s(T92), s(T93))
U29_gaaggaa(T67, T71, T72, T66, T68, X148, X150, lessc24_out_gg(T72, T66)) → U30_gaaggaa(T67, T71, T72, T66, T68, X148, X150, qc21_in_gaag(T68, X148, X150, T66))
U30_gaaggaa(T67, T71, T72, T66, T68, X148, X150, qc21_out_gaag(T68, X148, X150, T66)) → qc41_out_gaaggaa(T67, T71, T72, T66, T68, X148, X150)
U24_gaa(T66, T67, T68, X149, X150, qc41_out_gaaggaa(T67, X149, X147, T66, T68, X148, X150)) → search_treec23_out_gaa(tree(T66, T67, T68), X149, X150)
U26_gaag(T51, T54, T55, T50, search_treec23_out_gaa(T51, T54, T55)) → U27_gaag(T51, T54, T55, T50, lessc24_in_gg(T55, T50))
U27_gaag(T51, T54, T55, T50, lessc24_out_gg(T55, T50)) → qc37_out_gaag(T51, T54, T55, T50)
U23_gaa(T50, T51, X116, qc37_out_gaag(T51, X116, X115, T50)) → search_treec23_out_gaa(tree(T50, T51, void), X116, T50)
U20_gaag(T18, T21, T22, T17, search_treec23_out_gaa(T18, T21, T22)) → U21_gaag(T18, T21, T22, T17, lessc24_in_gg(T17, T21))
U21_gaag(T18, T21, T22, T17, lessc24_out_gg(T17, T21)) → qc21_out_gaag(T18, T21, T22, T17)
U22_gaa(T38, T39, X88, qc21_out_gaag(T39, X87, X88, T38)) → search_treec23_out_gaa(tree(T38, void, T39), T38, X88)

The argument filtering Pi contains the following mapping:
tree(x1, x2, x3)  =  tree(x1, x2, x3)
void  =  void
search_treec23_in_gaa(x1, x2, x3)  =  search_treec23_in_gaa(x1)
search_treec23_out_gaa(x1, x2, x3)  =  search_treec23_out_gaa(x1, x2, x3)
U22_gaa(x1, x2, x3, x4)  =  U22_gaa(x1, x2, x4)
qc21_in_gaag(x1, x2, x3, x4)  =  qc21_in_gaag(x1, x4)
U20_gaag(x1, x2, x3, x4, x5)  =  U20_gaag(x1, x4, x5)
U23_gaa(x1, x2, x3, x4)  =  U23_gaa(x1, x2, x4)
qc37_in_gaag(x1, x2, x3, x4)  =  qc37_in_gaag(x1, x4)
U26_gaag(x1, x2, x3, x4, x5)  =  U26_gaag(x1, x4, x5)
U24_gaa(x1, x2, x3, x4, x5, x6)  =  U24_gaa(x1, x2, x3, x6)
qc41_in_gaaggaa(x1, x2, x3, x4, x5, x6, x7)  =  qc41_in_gaaggaa(x1, x4, x5)
U28_gaaggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U28_gaaggaa(x1, x4, x5, x8)
U29_gaaggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U29_gaaggaa(x1, x2, x3, x4, x5, x8)
lessc24_in_gg(x1, x2)  =  lessc24_in_gg(x1, x2)
0  =  0
s(x1)  =  s(x1)
lessc24_out_gg(x1, x2)  =  lessc24_out_gg(x1, x2)
U25_gg(x1, x2, x3)  =  U25_gg(x1, x2, x3)
U30_gaaggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U30_gaaggaa(x1, x2, x3, x4, x5, x8)
qc21_out_gaag(x1, x2, x3, x4)  =  qc21_out_gaag(x1, x2, x3, x4)
qc41_out_gaaggaa(x1, x2, x3, x4, x5, x6, x7)  =  qc41_out_gaaggaa(x1, x2, x3, x4, x5, x6, x7)
U27_gaag(x1, x2, x3, x4, x5)  =  U27_gaag(x1, x2, x3, x4, x5)
qc37_out_gaag(x1, x2, x3, x4)  =  qc37_out_gaag(x1, x2, x3, x4)
U21_gaag(x1, x2, x3, x4, x5)  =  U21_gaag(x1, x2, x3, x4, x5)
LESS24_IN_GG(x1, x2)  =  LESS24_IN_GG(x1, x2)

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

(8) UsableRulesProof (EQUIVALENT transformation)

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

(9) Obligation:

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

LESS24_IN_GG(s(T92), s(T93)) → LESS24_IN_GG(T92, T93)

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

(10) PiDPToQDPProof (EQUIVALENT transformation)

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

(11) Obligation:

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

LESS24_IN_GG(s(T92), s(T93)) → LESS24_IN_GG(T92, T93)

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

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

  • LESS24_IN_GG(s(T92), s(T93)) → LESS24_IN_GG(T92, T93)
    The graph contains the following edges 1 > 1, 2 > 2

(13) YES

(14) Obligation:

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

P21_IN_GAAG(T18, X51, X52, T17) → SEARCH_TREE23_IN_GAA(T18, X51, X52)
SEARCH_TREE23_IN_GAA(tree(T38, void, T39), T38, X88) → P21_IN_GAAG(T39, X87, X88, T38)
SEARCH_TREE23_IN_GAA(tree(T50, T51, void), X116, T50) → P37_IN_GAAG(T51, X116, X115, T50)
P37_IN_GAAG(T51, X116, X115, T50) → SEARCH_TREE23_IN_GAA(T51, X116, X115)
SEARCH_TREE23_IN_GAA(tree(T66, T67, T68), X149, X150) → P41_IN_GAAGGAA(T67, X149, X147, T66, T68, X148, X150)
P41_IN_GAAGGAA(T67, X149, X147, T66, T68, X148, X150) → SEARCH_TREE23_IN_GAA(T67, X149, X147)
P41_IN_GAAGGAA(T67, T71, T72, T66, T68, X148, X150) → U12_GAAGGAA(T67, T71, T72, T66, T68, X148, X150, search_treec23_in_gaa(T67, T71, T72))
U12_GAAGGAA(T67, T71, T72, T66, T68, X148, X150, search_treec23_out_gaa(T67, T71, T72)) → U14_GAAGGAA(T67, T71, T72, T66, T68, X148, X150, lessc24_in_gg(T72, T66))
U14_GAAGGAA(T67, T71, T72, T66, T68, X148, X150, lessc24_out_gg(T72, T66)) → P21_IN_GAAG(T68, X148, X150, T66)

The TRS R consists of the following rules:

search_treec23_in_gaa(tree(T29, void, void), T29, T29) → search_treec23_out_gaa(tree(T29, void, void), T29, T29)
search_treec23_in_gaa(tree(T38, void, T39), T38, X88) → U22_gaa(T38, T39, X88, qc21_in_gaag(T39, X87, X88, T38))
qc21_in_gaag(T18, T21, T22, T17) → U20_gaag(T18, T21, T22, T17, search_treec23_in_gaa(T18, T21, T22))
search_treec23_in_gaa(tree(T50, T51, void), X116, T50) → U23_gaa(T50, T51, X116, qc37_in_gaag(T51, X116, X115, T50))
qc37_in_gaag(T51, T54, T55, T50) → U26_gaag(T51, T54, T55, T50, search_treec23_in_gaa(T51, T54, T55))
search_treec23_in_gaa(tree(T66, T67, T68), X149, X150) → U24_gaa(T66, T67, T68, X149, X150, qc41_in_gaaggaa(T67, X149, X147, T66, T68, X148, X150))
qc41_in_gaaggaa(T67, T71, T72, T66, T68, X148, X150) → U28_gaaggaa(T67, T71, T72, T66, T68, X148, X150, search_treec23_in_gaa(T67, T71, T72))
U28_gaaggaa(T67, T71, T72, T66, T68, X148, X150, search_treec23_out_gaa(T67, T71, T72)) → U29_gaaggaa(T67, T71, T72, T66, T68, X148, X150, lessc24_in_gg(T72, T66))
lessc24_in_gg(0, s(T87)) → lessc24_out_gg(0, s(T87))
lessc24_in_gg(s(T92), s(T93)) → U25_gg(T92, T93, lessc24_in_gg(T92, T93))
U25_gg(T92, T93, lessc24_out_gg(T92, T93)) → lessc24_out_gg(s(T92), s(T93))
U29_gaaggaa(T67, T71, T72, T66, T68, X148, X150, lessc24_out_gg(T72, T66)) → U30_gaaggaa(T67, T71, T72, T66, T68, X148, X150, qc21_in_gaag(T68, X148, X150, T66))
U30_gaaggaa(T67, T71, T72, T66, T68, X148, X150, qc21_out_gaag(T68, X148, X150, T66)) → qc41_out_gaaggaa(T67, T71, T72, T66, T68, X148, X150)
U24_gaa(T66, T67, T68, X149, X150, qc41_out_gaaggaa(T67, X149, X147, T66, T68, X148, X150)) → search_treec23_out_gaa(tree(T66, T67, T68), X149, X150)
U26_gaag(T51, T54, T55, T50, search_treec23_out_gaa(T51, T54, T55)) → U27_gaag(T51, T54, T55, T50, lessc24_in_gg(T55, T50))
U27_gaag(T51, T54, T55, T50, lessc24_out_gg(T55, T50)) → qc37_out_gaag(T51, T54, T55, T50)
U23_gaa(T50, T51, X116, qc37_out_gaag(T51, X116, X115, T50)) → search_treec23_out_gaa(tree(T50, T51, void), X116, T50)
U20_gaag(T18, T21, T22, T17, search_treec23_out_gaa(T18, T21, T22)) → U21_gaag(T18, T21, T22, T17, lessc24_in_gg(T17, T21))
U21_gaag(T18, T21, T22, T17, lessc24_out_gg(T17, T21)) → qc21_out_gaag(T18, T21, T22, T17)
U22_gaa(T38, T39, X88, qc21_out_gaag(T39, X87, X88, T38)) → search_treec23_out_gaa(tree(T38, void, T39), T38, X88)

The argument filtering Pi contains the following mapping:
tree(x1, x2, x3)  =  tree(x1, x2, x3)
void  =  void
search_treec23_in_gaa(x1, x2, x3)  =  search_treec23_in_gaa(x1)
search_treec23_out_gaa(x1, x2, x3)  =  search_treec23_out_gaa(x1, x2, x3)
U22_gaa(x1, x2, x3, x4)  =  U22_gaa(x1, x2, x4)
qc21_in_gaag(x1, x2, x3, x4)  =  qc21_in_gaag(x1, x4)
U20_gaag(x1, x2, x3, x4, x5)  =  U20_gaag(x1, x4, x5)
U23_gaa(x1, x2, x3, x4)  =  U23_gaa(x1, x2, x4)
qc37_in_gaag(x1, x2, x3, x4)  =  qc37_in_gaag(x1, x4)
U26_gaag(x1, x2, x3, x4, x5)  =  U26_gaag(x1, x4, x5)
U24_gaa(x1, x2, x3, x4, x5, x6)  =  U24_gaa(x1, x2, x3, x6)
qc41_in_gaaggaa(x1, x2, x3, x4, x5, x6, x7)  =  qc41_in_gaaggaa(x1, x4, x5)
U28_gaaggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U28_gaaggaa(x1, x4, x5, x8)
U29_gaaggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U29_gaaggaa(x1, x2, x3, x4, x5, x8)
lessc24_in_gg(x1, x2)  =  lessc24_in_gg(x1, x2)
0  =  0
s(x1)  =  s(x1)
lessc24_out_gg(x1, x2)  =  lessc24_out_gg(x1, x2)
U25_gg(x1, x2, x3)  =  U25_gg(x1, x2, x3)
U30_gaaggaa(x1, x2, x3, x4, x5, x6, x7, x8)  =  U30_gaaggaa(x1, x2, x3, x4, x5, x8)
qc21_out_gaag(x1, x2, x3, x4)  =  qc21_out_gaag(x1, x2, x3, x4)
qc41_out_gaaggaa(x1, x2, x3, x4, x5, x6, x7)  =  qc41_out_gaaggaa(x1, x2, x3, x4, x5, x6, x7)
U27_gaag(x1, x2, x3, x4, x5)  =  U27_gaag(x1, x2, x3, x4, x5)
qc37_out_gaag(x1, x2, x3, x4)  =  qc37_out_gaag(x1, x2, x3, x4)
U21_gaag(x1, x2, x3, x4, x5)  =  U21_gaag(x1, x2, x3, x4, x5)
P21_IN_GAAG(x1, x2, x3, x4)  =  P21_IN_GAAG(x1, x4)
SEARCH_TREE23_IN_GAA(x1, x2, x3)  =  SEARCH_TREE23_IN_GAA(x1)
P37_IN_GAAG(x1, x2, x3, x4)  =  P37_IN_GAAG(x1, x4)
P41_IN_GAAGGAA(x1, x2, x3, x4, x5, x6, x7)  =  P41_IN_GAAGGAA(x1, x4, x5)
U12_GAAGGAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U12_GAAGGAA(x1, x4, x5, x8)
U14_GAAGGAA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U14_GAAGGAA(x1, x2, x4, x5, x8)

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

(15) PiDPToQDPProof (SOUND transformation)

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

(16) Obligation:

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

P21_IN_GAAG(T18, T17) → SEARCH_TREE23_IN_GAA(T18)
SEARCH_TREE23_IN_GAA(tree(T38, void, T39)) → P21_IN_GAAG(T39, T38)
SEARCH_TREE23_IN_GAA(tree(T50, T51, void)) → P37_IN_GAAG(T51, T50)
P37_IN_GAAG(T51, T50) → SEARCH_TREE23_IN_GAA(T51)
SEARCH_TREE23_IN_GAA(tree(T66, T67, T68)) → P41_IN_GAAGGAA(T67, T66, T68)
P41_IN_GAAGGAA(T67, T66, T68) → SEARCH_TREE23_IN_GAA(T67)
P41_IN_GAAGGAA(T67, T66, T68) → U12_GAAGGAA(T67, T66, T68, search_treec23_in_gaa(T67))
U12_GAAGGAA(T67, T66, T68, search_treec23_out_gaa(T67, T71, T72)) → U14_GAAGGAA(T67, T71, T66, T68, lessc24_in_gg(T72, T66))
U14_GAAGGAA(T67, T71, T66, T68, lessc24_out_gg(T72, T66)) → P21_IN_GAAG(T68, T66)

The TRS R consists of the following rules:

search_treec23_in_gaa(tree(T29, void, void)) → search_treec23_out_gaa(tree(T29, void, void), T29, T29)
search_treec23_in_gaa(tree(T38, void, T39)) → U22_gaa(T38, T39, qc21_in_gaag(T39, T38))
qc21_in_gaag(T18, T17) → U20_gaag(T18, T17, search_treec23_in_gaa(T18))
search_treec23_in_gaa(tree(T50, T51, void)) → U23_gaa(T50, T51, qc37_in_gaag(T51, T50))
qc37_in_gaag(T51, T50) → U26_gaag(T51, T50, search_treec23_in_gaa(T51))
search_treec23_in_gaa(tree(T66, T67, T68)) → U24_gaa(T66, T67, T68, qc41_in_gaaggaa(T67, T66, T68))
qc41_in_gaaggaa(T67, T66, T68) → U28_gaaggaa(T67, T66, T68, search_treec23_in_gaa(T67))
U28_gaaggaa(T67, T66, T68, search_treec23_out_gaa(T67, T71, T72)) → U29_gaaggaa(T67, T71, T72, T66, T68, lessc24_in_gg(T72, T66))
lessc24_in_gg(0, s(T87)) → lessc24_out_gg(0, s(T87))
lessc24_in_gg(s(T92), s(T93)) → U25_gg(T92, T93, lessc24_in_gg(T92, T93))
U25_gg(T92, T93, lessc24_out_gg(T92, T93)) → lessc24_out_gg(s(T92), s(T93))
U29_gaaggaa(T67, T71, T72, T66, T68, lessc24_out_gg(T72, T66)) → U30_gaaggaa(T67, T71, T72, T66, T68, qc21_in_gaag(T68, T66))
U30_gaaggaa(T67, T71, T72, T66, T68, qc21_out_gaag(T68, X148, X150, T66)) → qc41_out_gaaggaa(T67, T71, T72, T66, T68, X148, X150)
U24_gaa(T66, T67, T68, qc41_out_gaaggaa(T67, X149, X147, T66, T68, X148, X150)) → search_treec23_out_gaa(tree(T66, T67, T68), X149, X150)
U26_gaag(T51, T50, search_treec23_out_gaa(T51, T54, T55)) → U27_gaag(T51, T54, T55, T50, lessc24_in_gg(T55, T50))
U27_gaag(T51, T54, T55, T50, lessc24_out_gg(T55, T50)) → qc37_out_gaag(T51, T54, T55, T50)
U23_gaa(T50, T51, qc37_out_gaag(T51, X116, X115, T50)) → search_treec23_out_gaa(tree(T50, T51, void), X116, T50)
U20_gaag(T18, T17, search_treec23_out_gaa(T18, T21, T22)) → U21_gaag(T18, T21, T22, T17, lessc24_in_gg(T17, T21))
U21_gaag(T18, T21, T22, T17, lessc24_out_gg(T17, T21)) → qc21_out_gaag(T18, T21, T22, T17)
U22_gaa(T38, T39, qc21_out_gaag(T39, X87, X88, T38)) → search_treec23_out_gaa(tree(T38, void, T39), T38, X88)

The set Q consists of the following terms:

search_treec23_in_gaa(x0)
qc21_in_gaag(x0, x1)
qc37_in_gaag(x0, x1)
qc41_in_gaaggaa(x0, x1, x2)
U28_gaaggaa(x0, x1, x2, x3)
lessc24_in_gg(x0, x1)
U25_gg(x0, x1, x2)
U29_gaaggaa(x0, x1, x2, x3, x4, x5)
U30_gaaggaa(x0, x1, x2, x3, x4, x5)
U24_gaa(x0, x1, x2, x3)
U26_gaag(x0, x1, x2)
U27_gaag(x0, x1, x2, x3, x4)
U23_gaa(x0, x1, x2)
U20_gaag(x0, x1, x2)
U21_gaag(x0, x1, x2, x3, x4)
U22_gaa(x0, x1, x2)

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

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

  • SEARCH_TREE23_IN_GAA(tree(T38, void, T39)) → P21_IN_GAAG(T39, T38)
    The graph contains the following edges 1 > 1, 1 > 2

  • U14_GAAGGAA(T67, T71, T66, T68, lessc24_out_gg(T72, T66)) → P21_IN_GAAG(T68, T66)
    The graph contains the following edges 4 >= 1, 3 >= 2, 5 > 2

  • P21_IN_GAAG(T18, T17) → SEARCH_TREE23_IN_GAA(T18)
    The graph contains the following edges 1 >= 1

  • P37_IN_GAAG(T51, T50) → SEARCH_TREE23_IN_GAA(T51)
    The graph contains the following edges 1 >= 1

  • P41_IN_GAAGGAA(T67, T66, T68) → SEARCH_TREE23_IN_GAA(T67)
    The graph contains the following edges 1 >= 1

  • SEARCH_TREE23_IN_GAA(tree(T50, T51, void)) → P37_IN_GAAG(T51, T50)
    The graph contains the following edges 1 > 1, 1 > 2

  • SEARCH_TREE23_IN_GAA(tree(T66, T67, T68)) → P41_IN_GAAGGAA(T67, T66, T68)
    The graph contains the following edges 1 > 1, 1 > 2, 1 > 3

  • P41_IN_GAAGGAA(T67, T66, T68) → U12_GAAGGAA(T67, T66, T68, search_treec23_in_gaa(T67))
    The graph contains the following edges 1 >= 1, 2 >= 2, 3 >= 3

  • U12_GAAGGAA(T67, T66, T68, search_treec23_out_gaa(T67, T71, T72)) → U14_GAAGGAA(T67, T71, T66, T68, lessc24_in_gg(T72, T66))
    The graph contains the following edges 1 >= 1, 4 > 1, 4 > 2, 2 >= 3, 3 >= 4

(18) YES