(0) Obligation:

Clauses:

hidden_flatten([], L, L).
hidden_flatten(.(.(H, T), L), S, F) :- ','(!, ','(hidden_flatten(L, S, Lf), hidden_flatten(.(H, T), Lf, F))).
hidden_flatten(.(H, T), S, .(H, L)) :- hidden_flatten(T, S, L).

Queries:

hidden_flatten(g,a,a).

(1) PrologToDTProblemTransformerProof (SOUND transformation)

Built DT problem from termination graph.

(2) Obligation:

Triples:

p10([], T21, T21, T11, T12, T22) :- hidden_flatten1(.(T11, T12), T21, T22).
p10(.(.(T49, T50), T51), T53, X90, T11, T12, T54) :- hidden_flatten23(T51, T53, X89).
p10(.(.(T49, T50), T51), T53, X90, T11, T12, T58) :- ','(hidden_flattenc23(T51, T53, T57), p10(.(T49, T50), T57, X90, T11, T12, T58)).
p10(.(T116, T117), T119, .(T116, X208), T11, T12, T120) :- hidden_flatten23(T117, T119, X208).
p10(.(T116, T117), T119, .(T116, T123), T11, T12, T124) :- ','(hidden_flattenc23(T117, T119, T123), hidden_flatten1(.(T11, T12), .(T116, T123), T124)).
hidden_flatten23(.(.(T80, T81), T82), T84, X145) :- hidden_flatten23(T82, T84, X144).
hidden_flatten23(.(.(T80, T81), T82), T84, X145) :- ','(hidden_flattenc23(T82, T84, T87), hidden_flatten1(.(T80, T81), T87, X145)).
hidden_flatten23(.(T100, T101), T103, .(T100, X178)) :- hidden_flatten23(T101, T103, X178).
hidden_flatten1(.(.(T11, T12), T13), T16, T17) :- p10(T13, T16, X23, T11, T12, T17).
hidden_flatten1(.(T137, .(.(T166, T167), T168)), T171, .(T137, T172)) :- p10(T168, T171, X277, T166, T167, T172).
hidden_flatten1(.(T137, .(T183, T184)), T187, .(T137, .(T183, T188))) :- hidden_flatten1(T184, T187, T188).

Clauses:

hidden_flattenc1([], T5, T5).
hidden_flattenc1(.(.(T11, T12), T13), T16, T17) :- qc10(T13, T16, X23, T11, T12, T17).
hidden_flattenc1(.(T137, []), T145, .(T137, T145)).
hidden_flattenc1(.(T137, .(.(T166, T167), T168)), T171, .(T137, T172)) :- qc10(T168, T171, X277, T166, T167, T172).
hidden_flattenc1(.(T137, .(T183, T184)), T187, .(T137, .(T183, T188))) :- hidden_flattenc1(T184, T187, T188).
qc10([], T21, T21, T11, T12, T22) :- hidden_flattenc1(.(T11, T12), T21, T22).
qc10(.(.(T49, T50), T51), T53, X90, T11, T12, T58) :- ','(hidden_flattenc23(T51, T53, T57), qc10(.(T49, T50), T57, X90, T11, T12, T58)).
qc10(.(T116, T117), T119, .(T116, T123), T11, T12, T124) :- ','(hidden_flattenc23(T117, T119, T123), hidden_flattenc1(.(T11, T12), .(T116, T123), T124)).
hidden_flattenc23([], T63, T63).
hidden_flattenc23(.(.(T80, T81), T82), T84, X145) :- ','(hidden_flattenc23(T82, T84, T87), hidden_flattenc1(.(T80, T81), T87, X145)).
hidden_flattenc23(.(T100, T101), T103, .(T100, X178)) :- hidden_flattenc23(T101, T103, X178).

Afs:

hidden_flatten1(x1, x2, x3)  =  hidden_flatten1(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:
hidden_flatten1_in: (b,f,f)
p10_in: (b,f,f,b,b,f)
hidden_flatten23_in: (b,f,f)
hidden_flattenc23_in: (b,f,f)
hidden_flattenc1_in: (b,f,f)
qc10_in: (b,f,f,b,b,f)
Transforming TRIPLES into the following Term Rewriting System:
Pi DP problem:
The TRS P consists of the following rules:

HIDDEN_FLATTEN1_IN_GAA(.(.(T11, T12), T13), T16, T17) → U12_GAA(T11, T12, T13, T16, T17, p10_in_gaagga(T13, T16, X23, T11, T12, T17))
HIDDEN_FLATTEN1_IN_GAA(.(.(T11, T12), T13), T16, T17) → P10_IN_GAAGGA(T13, T16, X23, T11, T12, T17)
P10_IN_GAAGGA([], T21, T21, T11, T12, T22) → U1_GAAGGA(T21, T11, T12, T22, hidden_flatten1_in_gaa(.(T11, T12), T21, T22))
P10_IN_GAAGGA([], T21, T21, T11, T12, T22) → HIDDEN_FLATTEN1_IN_GAA(.(T11, T12), T21, T22)
HIDDEN_FLATTEN1_IN_GAA(.(T137, .(.(T166, T167), T168)), T171, .(T137, T172)) → U13_GAA(T137, T166, T167, T168, T171, T172, p10_in_gaagga(T168, T171, X277, T166, T167, T172))
HIDDEN_FLATTEN1_IN_GAA(.(T137, .(.(T166, T167), T168)), T171, .(T137, T172)) → P10_IN_GAAGGA(T168, T171, X277, T166, T167, T172)
P10_IN_GAAGGA(.(.(T49, T50), T51), T53, X90, T11, T12, T54) → U2_GAAGGA(T49, T50, T51, T53, X90, T11, T12, T54, hidden_flatten23_in_gaa(T51, T53, X89))
P10_IN_GAAGGA(.(.(T49, T50), T51), T53, X90, T11, T12, T54) → HIDDEN_FLATTEN23_IN_GAA(T51, T53, X89)
HIDDEN_FLATTEN23_IN_GAA(.(.(T80, T81), T82), T84, X145) → U8_GAA(T80, T81, T82, T84, X145, hidden_flatten23_in_gaa(T82, T84, X144))
HIDDEN_FLATTEN23_IN_GAA(.(.(T80, T81), T82), T84, X145) → HIDDEN_FLATTEN23_IN_GAA(T82, T84, X144)
HIDDEN_FLATTEN23_IN_GAA(.(.(T80, T81), T82), T84, X145) → U9_GAA(T80, T81, T82, T84, X145, hidden_flattenc23_in_gaa(T82, T84, T87))
U9_GAA(T80, T81, T82, T84, X145, hidden_flattenc23_out_gaa(T82, T84, T87)) → U10_GAA(T80, T81, T82, T84, X145, hidden_flatten1_in_gaa(.(T80, T81), T87, X145))
U9_GAA(T80, T81, T82, T84, X145, hidden_flattenc23_out_gaa(T82, T84, T87)) → HIDDEN_FLATTEN1_IN_GAA(.(T80, T81), T87, X145)
HIDDEN_FLATTEN1_IN_GAA(.(T137, .(T183, T184)), T187, .(T137, .(T183, T188))) → U14_GAA(T137, T183, T184, T187, T188, hidden_flatten1_in_gaa(T184, T187, T188))
HIDDEN_FLATTEN1_IN_GAA(.(T137, .(T183, T184)), T187, .(T137, .(T183, T188))) → HIDDEN_FLATTEN1_IN_GAA(T184, T187, T188)
HIDDEN_FLATTEN23_IN_GAA(.(T100, T101), T103, .(T100, X178)) → U11_GAA(T100, T101, T103, X178, hidden_flatten23_in_gaa(T101, T103, X178))
HIDDEN_FLATTEN23_IN_GAA(.(T100, T101), T103, .(T100, X178)) → HIDDEN_FLATTEN23_IN_GAA(T101, T103, X178)
P10_IN_GAAGGA(.(.(T49, T50), T51), T53, X90, T11, T12, T58) → U3_GAAGGA(T49, T50, T51, T53, X90, T11, T12, T58, hidden_flattenc23_in_gaa(T51, T53, T57))
U3_GAAGGA(T49, T50, T51, T53, X90, T11, T12, T58, hidden_flattenc23_out_gaa(T51, T53, T57)) → U4_GAAGGA(T49, T50, T51, T53, X90, T11, T12, T58, p10_in_gaagga(.(T49, T50), T57, X90, T11, T12, T58))
U3_GAAGGA(T49, T50, T51, T53, X90, T11, T12, T58, hidden_flattenc23_out_gaa(T51, T53, T57)) → P10_IN_GAAGGA(.(T49, T50), T57, X90, T11, T12, T58)
P10_IN_GAAGGA(.(T116, T117), T119, .(T116, X208), T11, T12, T120) → U5_GAAGGA(T116, T117, T119, X208, T11, T12, T120, hidden_flatten23_in_gaa(T117, T119, X208))
P10_IN_GAAGGA(.(T116, T117), T119, .(T116, X208), T11, T12, T120) → HIDDEN_FLATTEN23_IN_GAA(T117, T119, X208)
P10_IN_GAAGGA(.(T116, T117), T119, .(T116, T123), T11, T12, T124) → U6_GAAGGA(T116, T117, T119, T123, T11, T12, T124, hidden_flattenc23_in_gaa(T117, T119, T123))
U6_GAAGGA(T116, T117, T119, T123, T11, T12, T124, hidden_flattenc23_out_gaa(T117, T119, T123)) → U7_GAAGGA(T116, T117, T119, T123, T11, T12, T124, hidden_flatten1_in_gaa(.(T11, T12), .(T116, T123), T124))
U6_GAAGGA(T116, T117, T119, T123, T11, T12, T124, hidden_flattenc23_out_gaa(T117, T119, T123)) → HIDDEN_FLATTEN1_IN_GAA(.(T11, T12), .(T116, T123), T124)

The TRS R consists of the following rules:

hidden_flattenc23_in_gaa([], T63, T63) → hidden_flattenc23_out_gaa([], T63, T63)
hidden_flattenc23_in_gaa(.(.(T80, T81), T82), T84, X145) → U24_gaa(T80, T81, T82, T84, X145, hidden_flattenc23_in_gaa(T82, T84, T87))
hidden_flattenc23_in_gaa(.(T100, T101), T103, .(T100, X178)) → U26_gaa(T100, T101, T103, X178, hidden_flattenc23_in_gaa(T101, T103, X178))
U26_gaa(T100, T101, T103, X178, hidden_flattenc23_out_gaa(T101, T103, X178)) → hidden_flattenc23_out_gaa(.(T100, T101), T103, .(T100, X178))
U24_gaa(T80, T81, T82, T84, X145, hidden_flattenc23_out_gaa(T82, T84, T87)) → U25_gaa(T80, T81, T82, T84, X145, hidden_flattenc1_in_gaa(.(T80, T81), T87, X145))
hidden_flattenc1_in_gaa([], T5, T5) → hidden_flattenc1_out_gaa([], T5, T5)
hidden_flattenc1_in_gaa(.(.(T11, T12), T13), T16, T17) → U16_gaa(T11, T12, T13, T16, T17, qc10_in_gaagga(T13, T16, X23, T11, T12, T17))
qc10_in_gaagga([], T21, T21, T11, T12, T22) → U19_gaagga(T21, T11, T12, T22, hidden_flattenc1_in_gaa(.(T11, T12), T21, T22))
hidden_flattenc1_in_gaa(.(T137, []), T145, .(T137, T145)) → hidden_flattenc1_out_gaa(.(T137, []), T145, .(T137, T145))
hidden_flattenc1_in_gaa(.(T137, .(.(T166, T167), T168)), T171, .(T137, T172)) → U17_gaa(T137, T166, T167, T168, T171, T172, qc10_in_gaagga(T168, T171, X277, T166, T167, T172))
qc10_in_gaagga(.(.(T49, T50), T51), T53, X90, T11, T12, T58) → U20_gaagga(T49, T50, T51, T53, X90, T11, T12, T58, hidden_flattenc23_in_gaa(T51, T53, T57))
U20_gaagga(T49, T50, T51, T53, X90, T11, T12, T58, hidden_flattenc23_out_gaa(T51, T53, T57)) → U21_gaagga(T49, T50, T51, T53, X90, T11, T12, T58, qc10_in_gaagga(.(T49, T50), T57, X90, T11, T12, T58))
qc10_in_gaagga(.(T116, T117), T119, .(T116, T123), T11, T12, T124) → U22_gaagga(T116, T117, T119, T123, T11, T12, T124, hidden_flattenc23_in_gaa(T117, T119, T123))
U22_gaagga(T116, T117, T119, T123, T11, T12, T124, hidden_flattenc23_out_gaa(T117, T119, T123)) → U23_gaagga(T116, T117, T119, T123, T11, T12, T124, hidden_flattenc1_in_gaa(.(T11, T12), .(T116, T123), T124))
hidden_flattenc1_in_gaa(.(T137, .(T183, T184)), T187, .(T137, .(T183, T188))) → U18_gaa(T137, T183, T184, T187, T188, hidden_flattenc1_in_gaa(T184, T187, T188))
U18_gaa(T137, T183, T184, T187, T188, hidden_flattenc1_out_gaa(T184, T187, T188)) → hidden_flattenc1_out_gaa(.(T137, .(T183, T184)), T187, .(T137, .(T183, T188)))
U23_gaagga(T116, T117, T119, T123, T11, T12, T124, hidden_flattenc1_out_gaa(.(T11, T12), .(T116, T123), T124)) → qc10_out_gaagga(.(T116, T117), T119, .(T116, T123), T11, T12, T124)
U21_gaagga(T49, T50, T51, T53, X90, T11, T12, T58, qc10_out_gaagga(.(T49, T50), T57, X90, T11, T12, T58)) → qc10_out_gaagga(.(.(T49, T50), T51), T53, X90, T11, T12, T58)
U17_gaa(T137, T166, T167, T168, T171, T172, qc10_out_gaagga(T168, T171, X277, T166, T167, T172)) → hidden_flattenc1_out_gaa(.(T137, .(.(T166, T167), T168)), T171, .(T137, T172))
U19_gaagga(T21, T11, T12, T22, hidden_flattenc1_out_gaa(.(T11, T12), T21, T22)) → qc10_out_gaagga([], T21, T21, T11, T12, T22)
U16_gaa(T11, T12, T13, T16, T17, qc10_out_gaagga(T13, T16, X23, T11, T12, T17)) → hidden_flattenc1_out_gaa(.(.(T11, T12), T13), T16, T17)
U25_gaa(T80, T81, T82, T84, X145, hidden_flattenc1_out_gaa(.(T80, T81), T87, X145)) → hidden_flattenc23_out_gaa(.(.(T80, T81), T82), T84, X145)

The argument filtering Pi contains the following mapping:
hidden_flatten1_in_gaa(x1, x2, x3)  =  hidden_flatten1_in_gaa(x1)
.(x1, x2)  =  .(x1, x2)
p10_in_gaagga(x1, x2, x3, x4, x5, x6)  =  p10_in_gaagga(x1, x4, x5)
[]  =  []
hidden_flatten23_in_gaa(x1, x2, x3)  =  hidden_flatten23_in_gaa(x1)
hidden_flattenc23_in_gaa(x1, x2, x3)  =  hidden_flattenc23_in_gaa(x1)
hidden_flattenc23_out_gaa(x1, x2, x3)  =  hidden_flattenc23_out_gaa(x1)
U24_gaa(x1, x2, x3, x4, x5, x6)  =  U24_gaa(x1, x2, x3, x6)
U26_gaa(x1, x2, x3, x4, x5)  =  U26_gaa(x1, x2, x5)
U25_gaa(x1, x2, x3, x4, x5, x6)  =  U25_gaa(x1, x2, x3, x6)
hidden_flattenc1_in_gaa(x1, x2, x3)  =  hidden_flattenc1_in_gaa(x1)
hidden_flattenc1_out_gaa(x1, x2, x3)  =  hidden_flattenc1_out_gaa(x1)
U16_gaa(x1, x2, x3, x4, x5, x6)  =  U16_gaa(x1, x2, x3, x6)
qc10_in_gaagga(x1, x2, x3, x4, x5, x6)  =  qc10_in_gaagga(x1, x4, x5)
U19_gaagga(x1, x2, x3, x4, x5)  =  U19_gaagga(x2, x3, x5)
U17_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_gaa(x1, x2, x3, x4, x7)
U20_gaagga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U20_gaagga(x1, x2, x3, x6, x7, x9)
U21_gaagga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U21_gaagga(x1, x2, x3, x6, x7, x9)
U22_gaagga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U22_gaagga(x1, x2, x5, x6, x8)
U23_gaagga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U23_gaagga(x1, x2, x5, x6, x8)
U18_gaa(x1, x2, x3, x4, x5, x6)  =  U18_gaa(x1, x2, x3, x6)
qc10_out_gaagga(x1, x2, x3, x4, x5, x6)  =  qc10_out_gaagga(x1, x4, x5)
HIDDEN_FLATTEN1_IN_GAA(x1, x2, x3)  =  HIDDEN_FLATTEN1_IN_GAA(x1)
U12_GAA(x1, x2, x3, x4, x5, x6)  =  U12_GAA(x1, x2, x3, x6)
P10_IN_GAAGGA(x1, x2, x3, x4, x5, x6)  =  P10_IN_GAAGGA(x1, x4, x5)
U1_GAAGGA(x1, x2, x3, x4, x5)  =  U1_GAAGGA(x2, x3, x5)
U13_GAA(x1, x2, x3, x4, x5, x6, x7)  =  U13_GAA(x1, x2, x3, x4, x7)
U2_GAAGGA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U2_GAAGGA(x1, x2, x3, x6, x7, x9)
HIDDEN_FLATTEN23_IN_GAA(x1, x2, x3)  =  HIDDEN_FLATTEN23_IN_GAA(x1)
U8_GAA(x1, x2, x3, x4, x5, x6)  =  U8_GAA(x1, x2, x3, x6)
U9_GAA(x1, x2, x3, x4, x5, x6)  =  U9_GAA(x1, x2, x3, x6)
U10_GAA(x1, x2, x3, x4, x5, x6)  =  U10_GAA(x1, x2, x3, x6)
U14_GAA(x1, x2, x3, x4, x5, x6)  =  U14_GAA(x1, x2, x3, x6)
U11_GAA(x1, x2, x3, x4, x5)  =  U11_GAA(x1, x2, x5)
U3_GAAGGA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U3_GAAGGA(x1, x2, x3, x6, x7, x9)
U4_GAAGGA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U4_GAAGGA(x1, x2, x3, x6, x7, x9)
U5_GAAGGA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_GAAGGA(x1, x2, x5, x6, x8)
U6_GAAGGA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U6_GAAGGA(x1, x2, x5, x6, x8)
U7_GAAGGA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U7_GAAGGA(x1, x2, x5, x6, x8)

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:

HIDDEN_FLATTEN1_IN_GAA(.(.(T11, T12), T13), T16, T17) → U12_GAA(T11, T12, T13, T16, T17, p10_in_gaagga(T13, T16, X23, T11, T12, T17))
HIDDEN_FLATTEN1_IN_GAA(.(.(T11, T12), T13), T16, T17) → P10_IN_GAAGGA(T13, T16, X23, T11, T12, T17)
P10_IN_GAAGGA([], T21, T21, T11, T12, T22) → U1_GAAGGA(T21, T11, T12, T22, hidden_flatten1_in_gaa(.(T11, T12), T21, T22))
P10_IN_GAAGGA([], T21, T21, T11, T12, T22) → HIDDEN_FLATTEN1_IN_GAA(.(T11, T12), T21, T22)
HIDDEN_FLATTEN1_IN_GAA(.(T137, .(.(T166, T167), T168)), T171, .(T137, T172)) → U13_GAA(T137, T166, T167, T168, T171, T172, p10_in_gaagga(T168, T171, X277, T166, T167, T172))
HIDDEN_FLATTEN1_IN_GAA(.(T137, .(.(T166, T167), T168)), T171, .(T137, T172)) → P10_IN_GAAGGA(T168, T171, X277, T166, T167, T172)
P10_IN_GAAGGA(.(.(T49, T50), T51), T53, X90, T11, T12, T54) → U2_GAAGGA(T49, T50, T51, T53, X90, T11, T12, T54, hidden_flatten23_in_gaa(T51, T53, X89))
P10_IN_GAAGGA(.(.(T49, T50), T51), T53, X90, T11, T12, T54) → HIDDEN_FLATTEN23_IN_GAA(T51, T53, X89)
HIDDEN_FLATTEN23_IN_GAA(.(.(T80, T81), T82), T84, X145) → U8_GAA(T80, T81, T82, T84, X145, hidden_flatten23_in_gaa(T82, T84, X144))
HIDDEN_FLATTEN23_IN_GAA(.(.(T80, T81), T82), T84, X145) → HIDDEN_FLATTEN23_IN_GAA(T82, T84, X144)
HIDDEN_FLATTEN23_IN_GAA(.(.(T80, T81), T82), T84, X145) → U9_GAA(T80, T81, T82, T84, X145, hidden_flattenc23_in_gaa(T82, T84, T87))
U9_GAA(T80, T81, T82, T84, X145, hidden_flattenc23_out_gaa(T82, T84, T87)) → U10_GAA(T80, T81, T82, T84, X145, hidden_flatten1_in_gaa(.(T80, T81), T87, X145))
U9_GAA(T80, T81, T82, T84, X145, hidden_flattenc23_out_gaa(T82, T84, T87)) → HIDDEN_FLATTEN1_IN_GAA(.(T80, T81), T87, X145)
HIDDEN_FLATTEN1_IN_GAA(.(T137, .(T183, T184)), T187, .(T137, .(T183, T188))) → U14_GAA(T137, T183, T184, T187, T188, hidden_flatten1_in_gaa(T184, T187, T188))
HIDDEN_FLATTEN1_IN_GAA(.(T137, .(T183, T184)), T187, .(T137, .(T183, T188))) → HIDDEN_FLATTEN1_IN_GAA(T184, T187, T188)
HIDDEN_FLATTEN23_IN_GAA(.(T100, T101), T103, .(T100, X178)) → U11_GAA(T100, T101, T103, X178, hidden_flatten23_in_gaa(T101, T103, X178))
HIDDEN_FLATTEN23_IN_GAA(.(T100, T101), T103, .(T100, X178)) → HIDDEN_FLATTEN23_IN_GAA(T101, T103, X178)
P10_IN_GAAGGA(.(.(T49, T50), T51), T53, X90, T11, T12, T58) → U3_GAAGGA(T49, T50, T51, T53, X90, T11, T12, T58, hidden_flattenc23_in_gaa(T51, T53, T57))
U3_GAAGGA(T49, T50, T51, T53, X90, T11, T12, T58, hidden_flattenc23_out_gaa(T51, T53, T57)) → U4_GAAGGA(T49, T50, T51, T53, X90, T11, T12, T58, p10_in_gaagga(.(T49, T50), T57, X90, T11, T12, T58))
U3_GAAGGA(T49, T50, T51, T53, X90, T11, T12, T58, hidden_flattenc23_out_gaa(T51, T53, T57)) → P10_IN_GAAGGA(.(T49, T50), T57, X90, T11, T12, T58)
P10_IN_GAAGGA(.(T116, T117), T119, .(T116, X208), T11, T12, T120) → U5_GAAGGA(T116, T117, T119, X208, T11, T12, T120, hidden_flatten23_in_gaa(T117, T119, X208))
P10_IN_GAAGGA(.(T116, T117), T119, .(T116, X208), T11, T12, T120) → HIDDEN_FLATTEN23_IN_GAA(T117, T119, X208)
P10_IN_GAAGGA(.(T116, T117), T119, .(T116, T123), T11, T12, T124) → U6_GAAGGA(T116, T117, T119, T123, T11, T12, T124, hidden_flattenc23_in_gaa(T117, T119, T123))
U6_GAAGGA(T116, T117, T119, T123, T11, T12, T124, hidden_flattenc23_out_gaa(T117, T119, T123)) → U7_GAAGGA(T116, T117, T119, T123, T11, T12, T124, hidden_flatten1_in_gaa(.(T11, T12), .(T116, T123), T124))
U6_GAAGGA(T116, T117, T119, T123, T11, T12, T124, hidden_flattenc23_out_gaa(T117, T119, T123)) → HIDDEN_FLATTEN1_IN_GAA(.(T11, T12), .(T116, T123), T124)

The TRS R consists of the following rules:

hidden_flattenc23_in_gaa([], T63, T63) → hidden_flattenc23_out_gaa([], T63, T63)
hidden_flattenc23_in_gaa(.(.(T80, T81), T82), T84, X145) → U24_gaa(T80, T81, T82, T84, X145, hidden_flattenc23_in_gaa(T82, T84, T87))
hidden_flattenc23_in_gaa(.(T100, T101), T103, .(T100, X178)) → U26_gaa(T100, T101, T103, X178, hidden_flattenc23_in_gaa(T101, T103, X178))
U26_gaa(T100, T101, T103, X178, hidden_flattenc23_out_gaa(T101, T103, X178)) → hidden_flattenc23_out_gaa(.(T100, T101), T103, .(T100, X178))
U24_gaa(T80, T81, T82, T84, X145, hidden_flattenc23_out_gaa(T82, T84, T87)) → U25_gaa(T80, T81, T82, T84, X145, hidden_flattenc1_in_gaa(.(T80, T81), T87, X145))
hidden_flattenc1_in_gaa([], T5, T5) → hidden_flattenc1_out_gaa([], T5, T5)
hidden_flattenc1_in_gaa(.(.(T11, T12), T13), T16, T17) → U16_gaa(T11, T12, T13, T16, T17, qc10_in_gaagga(T13, T16, X23, T11, T12, T17))
qc10_in_gaagga([], T21, T21, T11, T12, T22) → U19_gaagga(T21, T11, T12, T22, hidden_flattenc1_in_gaa(.(T11, T12), T21, T22))
hidden_flattenc1_in_gaa(.(T137, []), T145, .(T137, T145)) → hidden_flattenc1_out_gaa(.(T137, []), T145, .(T137, T145))
hidden_flattenc1_in_gaa(.(T137, .(.(T166, T167), T168)), T171, .(T137, T172)) → U17_gaa(T137, T166, T167, T168, T171, T172, qc10_in_gaagga(T168, T171, X277, T166, T167, T172))
qc10_in_gaagga(.(.(T49, T50), T51), T53, X90, T11, T12, T58) → U20_gaagga(T49, T50, T51, T53, X90, T11, T12, T58, hidden_flattenc23_in_gaa(T51, T53, T57))
U20_gaagga(T49, T50, T51, T53, X90, T11, T12, T58, hidden_flattenc23_out_gaa(T51, T53, T57)) → U21_gaagga(T49, T50, T51, T53, X90, T11, T12, T58, qc10_in_gaagga(.(T49, T50), T57, X90, T11, T12, T58))
qc10_in_gaagga(.(T116, T117), T119, .(T116, T123), T11, T12, T124) → U22_gaagga(T116, T117, T119, T123, T11, T12, T124, hidden_flattenc23_in_gaa(T117, T119, T123))
U22_gaagga(T116, T117, T119, T123, T11, T12, T124, hidden_flattenc23_out_gaa(T117, T119, T123)) → U23_gaagga(T116, T117, T119, T123, T11, T12, T124, hidden_flattenc1_in_gaa(.(T11, T12), .(T116, T123), T124))
hidden_flattenc1_in_gaa(.(T137, .(T183, T184)), T187, .(T137, .(T183, T188))) → U18_gaa(T137, T183, T184, T187, T188, hidden_flattenc1_in_gaa(T184, T187, T188))
U18_gaa(T137, T183, T184, T187, T188, hidden_flattenc1_out_gaa(T184, T187, T188)) → hidden_flattenc1_out_gaa(.(T137, .(T183, T184)), T187, .(T137, .(T183, T188)))
U23_gaagga(T116, T117, T119, T123, T11, T12, T124, hidden_flattenc1_out_gaa(.(T11, T12), .(T116, T123), T124)) → qc10_out_gaagga(.(T116, T117), T119, .(T116, T123), T11, T12, T124)
U21_gaagga(T49, T50, T51, T53, X90, T11, T12, T58, qc10_out_gaagga(.(T49, T50), T57, X90, T11, T12, T58)) → qc10_out_gaagga(.(.(T49, T50), T51), T53, X90, T11, T12, T58)
U17_gaa(T137, T166, T167, T168, T171, T172, qc10_out_gaagga(T168, T171, X277, T166, T167, T172)) → hidden_flattenc1_out_gaa(.(T137, .(.(T166, T167), T168)), T171, .(T137, T172))
U19_gaagga(T21, T11, T12, T22, hidden_flattenc1_out_gaa(.(T11, T12), T21, T22)) → qc10_out_gaagga([], T21, T21, T11, T12, T22)
U16_gaa(T11, T12, T13, T16, T17, qc10_out_gaagga(T13, T16, X23, T11, T12, T17)) → hidden_flattenc1_out_gaa(.(.(T11, T12), T13), T16, T17)
U25_gaa(T80, T81, T82, T84, X145, hidden_flattenc1_out_gaa(.(T80, T81), T87, X145)) → hidden_flattenc23_out_gaa(.(.(T80, T81), T82), T84, X145)

The argument filtering Pi contains the following mapping:
hidden_flatten1_in_gaa(x1, x2, x3)  =  hidden_flatten1_in_gaa(x1)
.(x1, x2)  =  .(x1, x2)
p10_in_gaagga(x1, x2, x3, x4, x5, x6)  =  p10_in_gaagga(x1, x4, x5)
[]  =  []
hidden_flatten23_in_gaa(x1, x2, x3)  =  hidden_flatten23_in_gaa(x1)
hidden_flattenc23_in_gaa(x1, x2, x3)  =  hidden_flattenc23_in_gaa(x1)
hidden_flattenc23_out_gaa(x1, x2, x3)  =  hidden_flattenc23_out_gaa(x1)
U24_gaa(x1, x2, x3, x4, x5, x6)  =  U24_gaa(x1, x2, x3, x6)
U26_gaa(x1, x2, x3, x4, x5)  =  U26_gaa(x1, x2, x5)
U25_gaa(x1, x2, x3, x4, x5, x6)  =  U25_gaa(x1, x2, x3, x6)
hidden_flattenc1_in_gaa(x1, x2, x3)  =  hidden_flattenc1_in_gaa(x1)
hidden_flattenc1_out_gaa(x1, x2, x3)  =  hidden_flattenc1_out_gaa(x1)
U16_gaa(x1, x2, x3, x4, x5, x6)  =  U16_gaa(x1, x2, x3, x6)
qc10_in_gaagga(x1, x2, x3, x4, x5, x6)  =  qc10_in_gaagga(x1, x4, x5)
U19_gaagga(x1, x2, x3, x4, x5)  =  U19_gaagga(x2, x3, x5)
U17_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_gaa(x1, x2, x3, x4, x7)
U20_gaagga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U20_gaagga(x1, x2, x3, x6, x7, x9)
U21_gaagga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U21_gaagga(x1, x2, x3, x6, x7, x9)
U22_gaagga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U22_gaagga(x1, x2, x5, x6, x8)
U23_gaagga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U23_gaagga(x1, x2, x5, x6, x8)
U18_gaa(x1, x2, x3, x4, x5, x6)  =  U18_gaa(x1, x2, x3, x6)
qc10_out_gaagga(x1, x2, x3, x4, x5, x6)  =  qc10_out_gaagga(x1, x4, x5)
HIDDEN_FLATTEN1_IN_GAA(x1, x2, x3)  =  HIDDEN_FLATTEN1_IN_GAA(x1)
U12_GAA(x1, x2, x3, x4, x5, x6)  =  U12_GAA(x1, x2, x3, x6)
P10_IN_GAAGGA(x1, x2, x3, x4, x5, x6)  =  P10_IN_GAAGGA(x1, x4, x5)
U1_GAAGGA(x1, x2, x3, x4, x5)  =  U1_GAAGGA(x2, x3, x5)
U13_GAA(x1, x2, x3, x4, x5, x6, x7)  =  U13_GAA(x1, x2, x3, x4, x7)
U2_GAAGGA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U2_GAAGGA(x1, x2, x3, x6, x7, x9)
HIDDEN_FLATTEN23_IN_GAA(x1, x2, x3)  =  HIDDEN_FLATTEN23_IN_GAA(x1)
U8_GAA(x1, x2, x3, x4, x5, x6)  =  U8_GAA(x1, x2, x3, x6)
U9_GAA(x1, x2, x3, x4, x5, x6)  =  U9_GAA(x1, x2, x3, x6)
U10_GAA(x1, x2, x3, x4, x5, x6)  =  U10_GAA(x1, x2, x3, x6)
U14_GAA(x1, x2, x3, x4, x5, x6)  =  U14_GAA(x1, x2, x3, x6)
U11_GAA(x1, x2, x3, x4, x5)  =  U11_GAA(x1, x2, x5)
U3_GAAGGA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U3_GAAGGA(x1, x2, x3, x6, x7, x9)
U4_GAAGGA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U4_GAAGGA(x1, x2, x3, x6, x7, x9)
U5_GAAGGA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U5_GAAGGA(x1, x2, x5, x6, x8)
U6_GAAGGA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U6_GAAGGA(x1, x2, x5, x6, x8)
U7_GAAGGA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U7_GAAGGA(x1, x2, x5, x6, x8)

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

(5) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LOPSTR] contains 1 SCC with 11 less nodes.

(6) Obligation:

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

HIDDEN_FLATTEN1_IN_GAA(.(.(T11, T12), T13), T16, T17) → P10_IN_GAAGGA(T13, T16, X23, T11, T12, T17)
P10_IN_GAAGGA([], T21, T21, T11, T12, T22) → HIDDEN_FLATTEN1_IN_GAA(.(T11, T12), T21, T22)
HIDDEN_FLATTEN1_IN_GAA(.(T137, .(.(T166, T167), T168)), T171, .(T137, T172)) → P10_IN_GAAGGA(T168, T171, X277, T166, T167, T172)
P10_IN_GAAGGA(.(.(T49, T50), T51), T53, X90, T11, T12, T54) → HIDDEN_FLATTEN23_IN_GAA(T51, T53, X89)
HIDDEN_FLATTEN23_IN_GAA(.(.(T80, T81), T82), T84, X145) → HIDDEN_FLATTEN23_IN_GAA(T82, T84, X144)
HIDDEN_FLATTEN23_IN_GAA(.(.(T80, T81), T82), T84, X145) → U9_GAA(T80, T81, T82, T84, X145, hidden_flattenc23_in_gaa(T82, T84, T87))
U9_GAA(T80, T81, T82, T84, X145, hidden_flattenc23_out_gaa(T82, T84, T87)) → HIDDEN_FLATTEN1_IN_GAA(.(T80, T81), T87, X145)
HIDDEN_FLATTEN1_IN_GAA(.(T137, .(T183, T184)), T187, .(T137, .(T183, T188))) → HIDDEN_FLATTEN1_IN_GAA(T184, T187, T188)
HIDDEN_FLATTEN23_IN_GAA(.(T100, T101), T103, .(T100, X178)) → HIDDEN_FLATTEN23_IN_GAA(T101, T103, X178)
P10_IN_GAAGGA(.(.(T49, T50), T51), T53, X90, T11, T12, T58) → U3_GAAGGA(T49, T50, T51, T53, X90, T11, T12, T58, hidden_flattenc23_in_gaa(T51, T53, T57))
U3_GAAGGA(T49, T50, T51, T53, X90, T11, T12, T58, hidden_flattenc23_out_gaa(T51, T53, T57)) → P10_IN_GAAGGA(.(T49, T50), T57, X90, T11, T12, T58)
P10_IN_GAAGGA(.(T116, T117), T119, .(T116, X208), T11, T12, T120) → HIDDEN_FLATTEN23_IN_GAA(T117, T119, X208)
P10_IN_GAAGGA(.(T116, T117), T119, .(T116, T123), T11, T12, T124) → U6_GAAGGA(T116, T117, T119, T123, T11, T12, T124, hidden_flattenc23_in_gaa(T117, T119, T123))
U6_GAAGGA(T116, T117, T119, T123, T11, T12, T124, hidden_flattenc23_out_gaa(T117, T119, T123)) → HIDDEN_FLATTEN1_IN_GAA(.(T11, T12), .(T116, T123), T124)

The TRS R consists of the following rules:

hidden_flattenc23_in_gaa([], T63, T63) → hidden_flattenc23_out_gaa([], T63, T63)
hidden_flattenc23_in_gaa(.(.(T80, T81), T82), T84, X145) → U24_gaa(T80, T81, T82, T84, X145, hidden_flattenc23_in_gaa(T82, T84, T87))
hidden_flattenc23_in_gaa(.(T100, T101), T103, .(T100, X178)) → U26_gaa(T100, T101, T103, X178, hidden_flattenc23_in_gaa(T101, T103, X178))
U26_gaa(T100, T101, T103, X178, hidden_flattenc23_out_gaa(T101, T103, X178)) → hidden_flattenc23_out_gaa(.(T100, T101), T103, .(T100, X178))
U24_gaa(T80, T81, T82, T84, X145, hidden_flattenc23_out_gaa(T82, T84, T87)) → U25_gaa(T80, T81, T82, T84, X145, hidden_flattenc1_in_gaa(.(T80, T81), T87, X145))
hidden_flattenc1_in_gaa([], T5, T5) → hidden_flattenc1_out_gaa([], T5, T5)
hidden_flattenc1_in_gaa(.(.(T11, T12), T13), T16, T17) → U16_gaa(T11, T12, T13, T16, T17, qc10_in_gaagga(T13, T16, X23, T11, T12, T17))
qc10_in_gaagga([], T21, T21, T11, T12, T22) → U19_gaagga(T21, T11, T12, T22, hidden_flattenc1_in_gaa(.(T11, T12), T21, T22))
hidden_flattenc1_in_gaa(.(T137, []), T145, .(T137, T145)) → hidden_flattenc1_out_gaa(.(T137, []), T145, .(T137, T145))
hidden_flattenc1_in_gaa(.(T137, .(.(T166, T167), T168)), T171, .(T137, T172)) → U17_gaa(T137, T166, T167, T168, T171, T172, qc10_in_gaagga(T168, T171, X277, T166, T167, T172))
qc10_in_gaagga(.(.(T49, T50), T51), T53, X90, T11, T12, T58) → U20_gaagga(T49, T50, T51, T53, X90, T11, T12, T58, hidden_flattenc23_in_gaa(T51, T53, T57))
U20_gaagga(T49, T50, T51, T53, X90, T11, T12, T58, hidden_flattenc23_out_gaa(T51, T53, T57)) → U21_gaagga(T49, T50, T51, T53, X90, T11, T12, T58, qc10_in_gaagga(.(T49, T50), T57, X90, T11, T12, T58))
qc10_in_gaagga(.(T116, T117), T119, .(T116, T123), T11, T12, T124) → U22_gaagga(T116, T117, T119, T123, T11, T12, T124, hidden_flattenc23_in_gaa(T117, T119, T123))
U22_gaagga(T116, T117, T119, T123, T11, T12, T124, hidden_flattenc23_out_gaa(T117, T119, T123)) → U23_gaagga(T116, T117, T119, T123, T11, T12, T124, hidden_flattenc1_in_gaa(.(T11, T12), .(T116, T123), T124))
hidden_flattenc1_in_gaa(.(T137, .(T183, T184)), T187, .(T137, .(T183, T188))) → U18_gaa(T137, T183, T184, T187, T188, hidden_flattenc1_in_gaa(T184, T187, T188))
U18_gaa(T137, T183, T184, T187, T188, hidden_flattenc1_out_gaa(T184, T187, T188)) → hidden_flattenc1_out_gaa(.(T137, .(T183, T184)), T187, .(T137, .(T183, T188)))
U23_gaagga(T116, T117, T119, T123, T11, T12, T124, hidden_flattenc1_out_gaa(.(T11, T12), .(T116, T123), T124)) → qc10_out_gaagga(.(T116, T117), T119, .(T116, T123), T11, T12, T124)
U21_gaagga(T49, T50, T51, T53, X90, T11, T12, T58, qc10_out_gaagga(.(T49, T50), T57, X90, T11, T12, T58)) → qc10_out_gaagga(.(.(T49, T50), T51), T53, X90, T11, T12, T58)
U17_gaa(T137, T166, T167, T168, T171, T172, qc10_out_gaagga(T168, T171, X277, T166, T167, T172)) → hidden_flattenc1_out_gaa(.(T137, .(.(T166, T167), T168)), T171, .(T137, T172))
U19_gaagga(T21, T11, T12, T22, hidden_flattenc1_out_gaa(.(T11, T12), T21, T22)) → qc10_out_gaagga([], T21, T21, T11, T12, T22)
U16_gaa(T11, T12, T13, T16, T17, qc10_out_gaagga(T13, T16, X23, T11, T12, T17)) → hidden_flattenc1_out_gaa(.(.(T11, T12), T13), T16, T17)
U25_gaa(T80, T81, T82, T84, X145, hidden_flattenc1_out_gaa(.(T80, T81), T87, X145)) → hidden_flattenc23_out_gaa(.(.(T80, T81), T82), T84, X145)

The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
[]  =  []
hidden_flattenc23_in_gaa(x1, x2, x3)  =  hidden_flattenc23_in_gaa(x1)
hidden_flattenc23_out_gaa(x1, x2, x3)  =  hidden_flattenc23_out_gaa(x1)
U24_gaa(x1, x2, x3, x4, x5, x6)  =  U24_gaa(x1, x2, x3, x6)
U26_gaa(x1, x2, x3, x4, x5)  =  U26_gaa(x1, x2, x5)
U25_gaa(x1, x2, x3, x4, x5, x6)  =  U25_gaa(x1, x2, x3, x6)
hidden_flattenc1_in_gaa(x1, x2, x3)  =  hidden_flattenc1_in_gaa(x1)
hidden_flattenc1_out_gaa(x1, x2, x3)  =  hidden_flattenc1_out_gaa(x1)
U16_gaa(x1, x2, x3, x4, x5, x6)  =  U16_gaa(x1, x2, x3, x6)
qc10_in_gaagga(x1, x2, x3, x4, x5, x6)  =  qc10_in_gaagga(x1, x4, x5)
U19_gaagga(x1, x2, x3, x4, x5)  =  U19_gaagga(x2, x3, x5)
U17_gaa(x1, x2, x3, x4, x5, x6, x7)  =  U17_gaa(x1, x2, x3, x4, x7)
U20_gaagga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U20_gaagga(x1, x2, x3, x6, x7, x9)
U21_gaagga(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U21_gaagga(x1, x2, x3, x6, x7, x9)
U22_gaagga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U22_gaagga(x1, x2, x5, x6, x8)
U23_gaagga(x1, x2, x3, x4, x5, x6, x7, x8)  =  U23_gaagga(x1, x2, x5, x6, x8)
U18_gaa(x1, x2, x3, x4, x5, x6)  =  U18_gaa(x1, x2, x3, x6)
qc10_out_gaagga(x1, x2, x3, x4, x5, x6)  =  qc10_out_gaagga(x1, x4, x5)
HIDDEN_FLATTEN1_IN_GAA(x1, x2, x3)  =  HIDDEN_FLATTEN1_IN_GAA(x1)
P10_IN_GAAGGA(x1, x2, x3, x4, x5, x6)  =  P10_IN_GAAGGA(x1, x4, x5)
HIDDEN_FLATTEN23_IN_GAA(x1, x2, x3)  =  HIDDEN_FLATTEN23_IN_GAA(x1)
U9_GAA(x1, x2, x3, x4, x5, x6)  =  U9_GAA(x1, x2, x3, x6)
U3_GAAGGA(x1, x2, x3, x4, x5, x6, x7, x8, x9)  =  U3_GAAGGA(x1, x2, x3, x6, x7, x9)
U6_GAAGGA(x1, x2, x3, x4, x5, x6, x7, x8)  =  U6_GAAGGA(x1, x2, x5, x6, x8)

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

(7) PiDPToQDPProof (SOUND transformation)

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

(8) Obligation:

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

HIDDEN_FLATTEN1_IN_GAA(.(.(T11, T12), T13)) → P10_IN_GAAGGA(T13, T11, T12)
P10_IN_GAAGGA([], T11, T12) → HIDDEN_FLATTEN1_IN_GAA(.(T11, T12))
HIDDEN_FLATTEN1_IN_GAA(.(T137, .(.(T166, T167), T168))) → P10_IN_GAAGGA(T168, T166, T167)
P10_IN_GAAGGA(.(.(T49, T50), T51), T11, T12) → HIDDEN_FLATTEN23_IN_GAA(T51)
HIDDEN_FLATTEN23_IN_GAA(.(.(T80, T81), T82)) → HIDDEN_FLATTEN23_IN_GAA(T82)
HIDDEN_FLATTEN23_IN_GAA(.(.(T80, T81), T82)) → U9_GAA(T80, T81, T82, hidden_flattenc23_in_gaa(T82))
U9_GAA(T80, T81, T82, hidden_flattenc23_out_gaa(T82)) → HIDDEN_FLATTEN1_IN_GAA(.(T80, T81))
HIDDEN_FLATTEN1_IN_GAA(.(T137, .(T183, T184))) → HIDDEN_FLATTEN1_IN_GAA(T184)
HIDDEN_FLATTEN23_IN_GAA(.(T100, T101)) → HIDDEN_FLATTEN23_IN_GAA(T101)
P10_IN_GAAGGA(.(.(T49, T50), T51), T11, T12) → U3_GAAGGA(T49, T50, T51, T11, T12, hidden_flattenc23_in_gaa(T51))
U3_GAAGGA(T49, T50, T51, T11, T12, hidden_flattenc23_out_gaa(T51)) → P10_IN_GAAGGA(.(T49, T50), T11, T12)
P10_IN_GAAGGA(.(T116, T117), T11, T12) → HIDDEN_FLATTEN23_IN_GAA(T117)
P10_IN_GAAGGA(.(T116, T117), T11, T12) → U6_GAAGGA(T116, T117, T11, T12, hidden_flattenc23_in_gaa(T117))
U6_GAAGGA(T116, T117, T11, T12, hidden_flattenc23_out_gaa(T117)) → HIDDEN_FLATTEN1_IN_GAA(.(T11, T12))

The TRS R consists of the following rules:

hidden_flattenc23_in_gaa([]) → hidden_flattenc23_out_gaa([])
hidden_flattenc23_in_gaa(.(.(T80, T81), T82)) → U24_gaa(T80, T81, T82, hidden_flattenc23_in_gaa(T82))
hidden_flattenc23_in_gaa(.(T100, T101)) → U26_gaa(T100, T101, hidden_flattenc23_in_gaa(T101))
U26_gaa(T100, T101, hidden_flattenc23_out_gaa(T101)) → hidden_flattenc23_out_gaa(.(T100, T101))
U24_gaa(T80, T81, T82, hidden_flattenc23_out_gaa(T82)) → U25_gaa(T80, T81, T82, hidden_flattenc1_in_gaa(.(T80, T81)))
hidden_flattenc1_in_gaa([]) → hidden_flattenc1_out_gaa([])
hidden_flattenc1_in_gaa(.(.(T11, T12), T13)) → U16_gaa(T11, T12, T13, qc10_in_gaagga(T13, T11, T12))
qc10_in_gaagga([], T11, T12) → U19_gaagga(T11, T12, hidden_flattenc1_in_gaa(.(T11, T12)))
hidden_flattenc1_in_gaa(.(T137, [])) → hidden_flattenc1_out_gaa(.(T137, []))
hidden_flattenc1_in_gaa(.(T137, .(.(T166, T167), T168))) → U17_gaa(T137, T166, T167, T168, qc10_in_gaagga(T168, T166, T167))
qc10_in_gaagga(.(.(T49, T50), T51), T11, T12) → U20_gaagga(T49, T50, T51, T11, T12, hidden_flattenc23_in_gaa(T51))
U20_gaagga(T49, T50, T51, T11, T12, hidden_flattenc23_out_gaa(T51)) → U21_gaagga(T49, T50, T51, T11, T12, qc10_in_gaagga(.(T49, T50), T11, T12))
qc10_in_gaagga(.(T116, T117), T11, T12) → U22_gaagga(T116, T117, T11, T12, hidden_flattenc23_in_gaa(T117))
U22_gaagga(T116, T117, T11, T12, hidden_flattenc23_out_gaa(T117)) → U23_gaagga(T116, T117, T11, T12, hidden_flattenc1_in_gaa(.(T11, T12)))
hidden_flattenc1_in_gaa(.(T137, .(T183, T184))) → U18_gaa(T137, T183, T184, hidden_flattenc1_in_gaa(T184))
U18_gaa(T137, T183, T184, hidden_flattenc1_out_gaa(T184)) → hidden_flattenc1_out_gaa(.(T137, .(T183, T184)))
U23_gaagga(T116, T117, T11, T12, hidden_flattenc1_out_gaa(.(T11, T12))) → qc10_out_gaagga(.(T116, T117), T11, T12)
U21_gaagga(T49, T50, T51, T11, T12, qc10_out_gaagga(.(T49, T50), T11, T12)) → qc10_out_gaagga(.(.(T49, T50), T51), T11, T12)
U17_gaa(T137, T166, T167, T168, qc10_out_gaagga(T168, T166, T167)) → hidden_flattenc1_out_gaa(.(T137, .(.(T166, T167), T168)))
U19_gaagga(T11, T12, hidden_flattenc1_out_gaa(.(T11, T12))) → qc10_out_gaagga([], T11, T12)
U16_gaa(T11, T12, T13, qc10_out_gaagga(T13, T11, T12)) → hidden_flattenc1_out_gaa(.(.(T11, T12), T13))
U25_gaa(T80, T81, T82, hidden_flattenc1_out_gaa(.(T80, T81))) → hidden_flattenc23_out_gaa(.(.(T80, T81), T82))

The set Q consists of the following terms:

hidden_flattenc23_in_gaa(x0)
U26_gaa(x0, x1, x2)
U24_gaa(x0, x1, x2, x3)
hidden_flattenc1_in_gaa(x0)
qc10_in_gaagga(x0, x1, x2)
U20_gaagga(x0, x1, x2, x3, x4, x5)
U22_gaagga(x0, x1, x2, x3, x4)
U18_gaa(x0, x1, x2, x3)
U23_gaagga(x0, x1, x2, x3, x4)
U21_gaagga(x0, x1, x2, x3, x4, x5)
U17_gaa(x0, x1, x2, x3, x4)
U19_gaagga(x0, x1, x2)
U16_gaa(x0, x1, x2, x3)
U25_gaa(x0, x1, x2, x3)

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

(9) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


P10_IN_GAAGGA([], T11, T12) → HIDDEN_FLATTEN1_IN_GAA(.(T11, T12))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(.(x1, x2)) = x1 + x2   
POL(HIDDEN_FLATTEN1_IN_GAA(x1)) = x1   
POL(HIDDEN_FLATTEN23_IN_GAA(x1)) = x1   
POL(P10_IN_GAAGGA(x1, x2, x3)) = x1 + x2 + x3   
POL(U16_gaa(x1, x2, x3, x4)) = 0   
POL(U17_gaa(x1, x2, x3, x4, x5)) = 0   
POL(U18_gaa(x1, x2, x3, x4)) = 0   
POL(U19_gaagga(x1, x2, x3)) = 0   
POL(U20_gaagga(x1, x2, x3, x4, x5, x6)) = 0   
POL(U21_gaagga(x1, x2, x3, x4, x5, x6)) = 0   
POL(U22_gaagga(x1, x2, x3, x4, x5)) = 0   
POL(U23_gaagga(x1, x2, x3, x4, x5)) = 0   
POL(U24_gaa(x1, x2, x3, x4)) = 0   
POL(U25_gaa(x1, x2, x3, x4)) = 0   
POL(U26_gaa(x1, x2, x3)) = 0   
POL(U3_GAAGGA(x1, x2, x3, x4, x5, x6)) = x1 + x2 + x4 + x5   
POL(U6_GAAGGA(x1, x2, x3, x4, x5)) = x3 + x4   
POL(U9_GAA(x1, x2, x3, x4)) = x1 + x2 + x3   
POL([]) = 1   
POL(hidden_flattenc1_in_gaa(x1)) = 1 + x1   
POL(hidden_flattenc1_out_gaa(x1)) = x1   
POL(hidden_flattenc23_in_gaa(x1)) = 0   
POL(hidden_flattenc23_out_gaa(x1)) = 0   
POL(qc10_in_gaagga(x1, x2, x3)) = 0   
POL(qc10_out_gaagga(x1, x2, x3)) = 0   

The following usable rules [FROCOS05] were oriented: none

(10) Obligation:

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

HIDDEN_FLATTEN1_IN_GAA(.(.(T11, T12), T13)) → P10_IN_GAAGGA(T13, T11, T12)
HIDDEN_FLATTEN1_IN_GAA(.(T137, .(.(T166, T167), T168))) → P10_IN_GAAGGA(T168, T166, T167)
P10_IN_GAAGGA(.(.(T49, T50), T51), T11, T12) → HIDDEN_FLATTEN23_IN_GAA(T51)
HIDDEN_FLATTEN23_IN_GAA(.(.(T80, T81), T82)) → HIDDEN_FLATTEN23_IN_GAA(T82)
HIDDEN_FLATTEN23_IN_GAA(.(.(T80, T81), T82)) → U9_GAA(T80, T81, T82, hidden_flattenc23_in_gaa(T82))
U9_GAA(T80, T81, T82, hidden_flattenc23_out_gaa(T82)) → HIDDEN_FLATTEN1_IN_GAA(.(T80, T81))
HIDDEN_FLATTEN1_IN_GAA(.(T137, .(T183, T184))) → HIDDEN_FLATTEN1_IN_GAA(T184)
HIDDEN_FLATTEN23_IN_GAA(.(T100, T101)) → HIDDEN_FLATTEN23_IN_GAA(T101)
P10_IN_GAAGGA(.(.(T49, T50), T51), T11, T12) → U3_GAAGGA(T49, T50, T51, T11, T12, hidden_flattenc23_in_gaa(T51))
U3_GAAGGA(T49, T50, T51, T11, T12, hidden_flattenc23_out_gaa(T51)) → P10_IN_GAAGGA(.(T49, T50), T11, T12)
P10_IN_GAAGGA(.(T116, T117), T11, T12) → HIDDEN_FLATTEN23_IN_GAA(T117)
P10_IN_GAAGGA(.(T116, T117), T11, T12) → U6_GAAGGA(T116, T117, T11, T12, hidden_flattenc23_in_gaa(T117))
U6_GAAGGA(T116, T117, T11, T12, hidden_flattenc23_out_gaa(T117)) → HIDDEN_FLATTEN1_IN_GAA(.(T11, T12))

The TRS R consists of the following rules:

hidden_flattenc23_in_gaa([]) → hidden_flattenc23_out_gaa([])
hidden_flattenc23_in_gaa(.(.(T80, T81), T82)) → U24_gaa(T80, T81, T82, hidden_flattenc23_in_gaa(T82))
hidden_flattenc23_in_gaa(.(T100, T101)) → U26_gaa(T100, T101, hidden_flattenc23_in_gaa(T101))
U26_gaa(T100, T101, hidden_flattenc23_out_gaa(T101)) → hidden_flattenc23_out_gaa(.(T100, T101))
U24_gaa(T80, T81, T82, hidden_flattenc23_out_gaa(T82)) → U25_gaa(T80, T81, T82, hidden_flattenc1_in_gaa(.(T80, T81)))
hidden_flattenc1_in_gaa([]) → hidden_flattenc1_out_gaa([])
hidden_flattenc1_in_gaa(.(.(T11, T12), T13)) → U16_gaa(T11, T12, T13, qc10_in_gaagga(T13, T11, T12))
qc10_in_gaagga([], T11, T12) → U19_gaagga(T11, T12, hidden_flattenc1_in_gaa(.(T11, T12)))
hidden_flattenc1_in_gaa(.(T137, [])) → hidden_flattenc1_out_gaa(.(T137, []))
hidden_flattenc1_in_gaa(.(T137, .(.(T166, T167), T168))) → U17_gaa(T137, T166, T167, T168, qc10_in_gaagga(T168, T166, T167))
qc10_in_gaagga(.(.(T49, T50), T51), T11, T12) → U20_gaagga(T49, T50, T51, T11, T12, hidden_flattenc23_in_gaa(T51))
U20_gaagga(T49, T50, T51, T11, T12, hidden_flattenc23_out_gaa(T51)) → U21_gaagga(T49, T50, T51, T11, T12, qc10_in_gaagga(.(T49, T50), T11, T12))
qc10_in_gaagga(.(T116, T117), T11, T12) → U22_gaagga(T116, T117, T11, T12, hidden_flattenc23_in_gaa(T117))
U22_gaagga(T116, T117, T11, T12, hidden_flattenc23_out_gaa(T117)) → U23_gaagga(T116, T117, T11, T12, hidden_flattenc1_in_gaa(.(T11, T12)))
hidden_flattenc1_in_gaa(.(T137, .(T183, T184))) → U18_gaa(T137, T183, T184, hidden_flattenc1_in_gaa(T184))
U18_gaa(T137, T183, T184, hidden_flattenc1_out_gaa(T184)) → hidden_flattenc1_out_gaa(.(T137, .(T183, T184)))
U23_gaagga(T116, T117, T11, T12, hidden_flattenc1_out_gaa(.(T11, T12))) → qc10_out_gaagga(.(T116, T117), T11, T12)
U21_gaagga(T49, T50, T51, T11, T12, qc10_out_gaagga(.(T49, T50), T11, T12)) → qc10_out_gaagga(.(.(T49, T50), T51), T11, T12)
U17_gaa(T137, T166, T167, T168, qc10_out_gaagga(T168, T166, T167)) → hidden_flattenc1_out_gaa(.(T137, .(.(T166, T167), T168)))
U19_gaagga(T11, T12, hidden_flattenc1_out_gaa(.(T11, T12))) → qc10_out_gaagga([], T11, T12)
U16_gaa(T11, T12, T13, qc10_out_gaagga(T13, T11, T12)) → hidden_flattenc1_out_gaa(.(.(T11, T12), T13))
U25_gaa(T80, T81, T82, hidden_flattenc1_out_gaa(.(T80, T81))) → hidden_flattenc23_out_gaa(.(.(T80, T81), T82))

The set Q consists of the following terms:

hidden_flattenc23_in_gaa(x0)
U26_gaa(x0, x1, x2)
U24_gaa(x0, x1, x2, x3)
hidden_flattenc1_in_gaa(x0)
qc10_in_gaagga(x0, x1, x2)
U20_gaagga(x0, x1, x2, x3, x4, x5)
U22_gaagga(x0, x1, x2, x3, x4)
U18_gaa(x0, x1, x2, x3)
U23_gaagga(x0, x1, x2, x3, x4)
U21_gaagga(x0, x1, x2, x3, x4, x5)
U17_gaa(x0, x1, x2, x3, x4)
U19_gaagga(x0, x1, x2)
U16_gaa(x0, x1, x2, x3)
U25_gaa(x0, x1, x2, x3)

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

(11) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


HIDDEN_FLATTEN1_IN_GAA(.(.(T11, T12), T13)) → P10_IN_GAAGGA(T13, T11, T12)
HIDDEN_FLATTEN1_IN_GAA(.(T137, .(.(T166, T167), T168))) → P10_IN_GAAGGA(T168, T166, T167)
P10_IN_GAAGGA(.(.(T49, T50), T51), T11, T12) → HIDDEN_FLATTEN23_IN_GAA(T51)
HIDDEN_FLATTEN23_IN_GAA(.(.(T80, T81), T82)) → HIDDEN_FLATTEN23_IN_GAA(T82)
HIDDEN_FLATTEN23_IN_GAA(.(.(T80, T81), T82)) → U9_GAA(T80, T81, T82, hidden_flattenc23_in_gaa(T82))
HIDDEN_FLATTEN1_IN_GAA(.(T137, .(T183, T184))) → HIDDEN_FLATTEN1_IN_GAA(T184)
HIDDEN_FLATTEN23_IN_GAA(.(T100, T101)) → HIDDEN_FLATTEN23_IN_GAA(T101)
P10_IN_GAAGGA(.(.(T49, T50), T51), T11, T12) → U3_GAAGGA(T49, T50, T51, T11, T12, hidden_flattenc23_in_gaa(T51))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:

POL(.(x1, x2)) = 1 + x1 + x2   
POL(HIDDEN_FLATTEN1_IN_GAA(x1)) = x1   
POL(HIDDEN_FLATTEN23_IN_GAA(x1)) = 1 + x1   
POL(P10_IN_GAAGGA(x1, x2, x3)) = x1 + x2 + x3   
POL(U16_gaa(x1, x2, x3, x4)) = 0   
POL(U17_gaa(x1, x2, x3, x4, x5)) = 0   
POL(U18_gaa(x1, x2, x3, x4)) = 0   
POL(U19_gaagga(x1, x2, x3)) = 0   
POL(U20_gaagga(x1, x2, x3, x4, x5, x6)) = 0   
POL(U21_gaagga(x1, x2, x3, x4, x5, x6)) = 0   
POL(U22_gaagga(x1, x2, x3, x4, x5)) = 0   
POL(U23_gaagga(x1, x2, x3, x4, x5)) = 0   
POL(U24_gaa(x1, x2, x3, x4)) = 0   
POL(U25_gaa(x1, x2, x3, x4)) = 0   
POL(U26_gaa(x1, x2, x3)) = 0   
POL(U3_GAAGGA(x1, x2, x3, x4, x5, x6)) = 1 + x1 + x2 + x4 + x5   
POL(U6_GAAGGA(x1, x2, x3, x4, x5)) = 1 + x3 + x4   
POL(U9_GAA(x1, x2, x3, x4)) = 1 + x1 + x2   
POL([]) = 1   
POL(hidden_flattenc1_in_gaa(x1)) = 1 + x1   
POL(hidden_flattenc1_out_gaa(x1)) = x1   
POL(hidden_flattenc23_in_gaa(x1)) = 0   
POL(hidden_flattenc23_out_gaa(x1)) = 0   
POL(qc10_in_gaagga(x1, x2, x3)) = 0   
POL(qc10_out_gaagga(x1, x2, x3)) = 0   

The following usable rules [FROCOS05] were oriented: none

(12) Obligation:

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

U9_GAA(T80, T81, T82, hidden_flattenc23_out_gaa(T82)) → HIDDEN_FLATTEN1_IN_GAA(.(T80, T81))
U3_GAAGGA(T49, T50, T51, T11, T12, hidden_flattenc23_out_gaa(T51)) → P10_IN_GAAGGA(.(T49, T50), T11, T12)
P10_IN_GAAGGA(.(T116, T117), T11, T12) → HIDDEN_FLATTEN23_IN_GAA(T117)
P10_IN_GAAGGA(.(T116, T117), T11, T12) → U6_GAAGGA(T116, T117, T11, T12, hidden_flattenc23_in_gaa(T117))
U6_GAAGGA(T116, T117, T11, T12, hidden_flattenc23_out_gaa(T117)) → HIDDEN_FLATTEN1_IN_GAA(.(T11, T12))

The TRS R consists of the following rules:

hidden_flattenc23_in_gaa([]) → hidden_flattenc23_out_gaa([])
hidden_flattenc23_in_gaa(.(.(T80, T81), T82)) → U24_gaa(T80, T81, T82, hidden_flattenc23_in_gaa(T82))
hidden_flattenc23_in_gaa(.(T100, T101)) → U26_gaa(T100, T101, hidden_flattenc23_in_gaa(T101))
U26_gaa(T100, T101, hidden_flattenc23_out_gaa(T101)) → hidden_flattenc23_out_gaa(.(T100, T101))
U24_gaa(T80, T81, T82, hidden_flattenc23_out_gaa(T82)) → U25_gaa(T80, T81, T82, hidden_flattenc1_in_gaa(.(T80, T81)))
hidden_flattenc1_in_gaa([]) → hidden_flattenc1_out_gaa([])
hidden_flattenc1_in_gaa(.(.(T11, T12), T13)) → U16_gaa(T11, T12, T13, qc10_in_gaagga(T13, T11, T12))
qc10_in_gaagga([], T11, T12) → U19_gaagga(T11, T12, hidden_flattenc1_in_gaa(.(T11, T12)))
hidden_flattenc1_in_gaa(.(T137, [])) → hidden_flattenc1_out_gaa(.(T137, []))
hidden_flattenc1_in_gaa(.(T137, .(.(T166, T167), T168))) → U17_gaa(T137, T166, T167, T168, qc10_in_gaagga(T168, T166, T167))
qc10_in_gaagga(.(.(T49, T50), T51), T11, T12) → U20_gaagga(T49, T50, T51, T11, T12, hidden_flattenc23_in_gaa(T51))
U20_gaagga(T49, T50, T51, T11, T12, hidden_flattenc23_out_gaa(T51)) → U21_gaagga(T49, T50, T51, T11, T12, qc10_in_gaagga(.(T49, T50), T11, T12))
qc10_in_gaagga(.(T116, T117), T11, T12) → U22_gaagga(T116, T117, T11, T12, hidden_flattenc23_in_gaa(T117))
U22_gaagga(T116, T117, T11, T12, hidden_flattenc23_out_gaa(T117)) → U23_gaagga(T116, T117, T11, T12, hidden_flattenc1_in_gaa(.(T11, T12)))
hidden_flattenc1_in_gaa(.(T137, .(T183, T184))) → U18_gaa(T137, T183, T184, hidden_flattenc1_in_gaa(T184))
U18_gaa(T137, T183, T184, hidden_flattenc1_out_gaa(T184)) → hidden_flattenc1_out_gaa(.(T137, .(T183, T184)))
U23_gaagga(T116, T117, T11, T12, hidden_flattenc1_out_gaa(.(T11, T12))) → qc10_out_gaagga(.(T116, T117), T11, T12)
U21_gaagga(T49, T50, T51, T11, T12, qc10_out_gaagga(.(T49, T50), T11, T12)) → qc10_out_gaagga(.(.(T49, T50), T51), T11, T12)
U17_gaa(T137, T166, T167, T168, qc10_out_gaagga(T168, T166, T167)) → hidden_flattenc1_out_gaa(.(T137, .(.(T166, T167), T168)))
U19_gaagga(T11, T12, hidden_flattenc1_out_gaa(.(T11, T12))) → qc10_out_gaagga([], T11, T12)
U16_gaa(T11, T12, T13, qc10_out_gaagga(T13, T11, T12)) → hidden_flattenc1_out_gaa(.(.(T11, T12), T13))
U25_gaa(T80, T81, T82, hidden_flattenc1_out_gaa(.(T80, T81))) → hidden_flattenc23_out_gaa(.(.(T80, T81), T82))

The set Q consists of the following terms:

hidden_flattenc23_in_gaa(x0)
U26_gaa(x0, x1, x2)
U24_gaa(x0, x1, x2, x3)
hidden_flattenc1_in_gaa(x0)
qc10_in_gaagga(x0, x1, x2)
U20_gaagga(x0, x1, x2, x3, x4, x5)
U22_gaagga(x0, x1, x2, x3, x4)
U18_gaa(x0, x1, x2, x3)
U23_gaagga(x0, x1, x2, x3, x4)
U21_gaagga(x0, x1, x2, x3, x4, x5)
U17_gaa(x0, x1, x2, x3, x4)
U19_gaagga(x0, x1, x2)
U16_gaa(x0, x1, x2, x3)
U25_gaa(x0, x1, x2, x3)

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

(13) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 5 less nodes.

(14) TRUE