(0) Obligation:
Clauses:
flatten(atom(X), .(X, [])).
flatten(cons(atom(X), U), .(X, Y)) :- flatten(U, Y).
flatten(cons(cons(U, V), W), X) :- flatten(cons(U, cons(V, W)), X).
count(atom(X), s(0)).
count(cons(atom(X), Y), s(Z)) :- count(Y, Z).
count(cons(cons(U, V), W), Z) :- ','(flatten(cons(cons(U, V), W), X), count(X, Z)).
Queries:
count(g,a).
(1) PrologToDTProblemTransformerProof (SOUND transformation)
Built DT problem from termination graph.
(2) Obligation:
Triples:
flatten40(cons(atom(T120), T121), .(T120, X205)) :- flatten40(T121, X205).
flatten40(cons(cons(T130, T131), T132), X225) :- flatten29(T130, T131, T132, X225).
flatten29(atom(T90), atom(T103), T104, .(T90, .(T103, X174))) :- flatten40(T104, X174).
flatten29(atom(T90), cons(T142, T143), T144, .(T90, X250)) :- flatten29(T142, T143, T144, X250).
flatten29(cons(T156, T157), T158, T159, X275) :- flatten29(T156, T157, cons(T158, T159), X275).
count1(cons(atom(T8), cons(atom(T29), T30)), s(s(T32))) :- count1(T30, T32).
count1(cons(atom(T8), cons(cons(T72, T73), T74)), s(T55)) :- flatten29(T72, T73, T74, X117).
count1(cons(atom(T8), cons(cons(T51, T52), T53)), s(T55)) :- ','(flattenc24(T51, T52, T53, T59), count1(T59, T55)).
count1(cons(cons(T184, T185), T186), T174) :- flatten29(T184, T185, T186, X329).
count1(cons(cons(T184, T185), T186), T174) :- ','(flattenc29(T184, T185, T186, T190), count1(T190, T174)).
Clauses:
countc1(atom(T4), s(0)).
countc1(cons(atom(T8), atom(T16)), s(s(0))).
countc1(cons(atom(T8), cons(atom(T29), T30)), s(s(T32))) :- countc1(T30, T32).
countc1(cons(atom(T8), cons(cons(T51, T52), T53)), s(T55)) :- ','(flattenc24(T51, T52, T53, T59), countc1(T59, T55)).
countc1(cons(cons(T184, T185), T186), T174) :- ','(flattenc29(T184, T185, T186, T190), countc1(T190, T174)).
flattenc40(atom(T111), .(T111, [])).
flattenc40(cons(atom(T120), T121), .(T120, X205)) :- flattenc40(T121, X205).
flattenc40(cons(cons(T130, T131), T132), X225) :- flattenc29(T130, T131, T132, X225).
flattenc29(atom(T90), atom(T103), T104, .(T90, .(T103, X174))) :- flattenc40(T104, X174).
flattenc29(atom(T90), cons(T142, T143), T144, .(T90, X250)) :- flattenc29(T142, T143, T144, X250).
flattenc29(cons(T156, T157), T158, T159, X275) :- flattenc29(T156, T157, cons(T158, T159), X275).
flattenc24(T72, T73, T74, X117) :- flattenc29(T72, T73, T74, X117).
Afs:
count1(x1, x2) = count1(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:
count1_in: (b,f)
flatten29_in: (b,b,b,f)
flatten40_in: (b,f)
flattenc24_in: (b,b,b,f)
flattenc29_in: (b,b,b,f)
flattenc40_in: (b,f)
Transforming
TRIPLES into the following
Term Rewriting System:
Pi DP problem:
The TRS P consists of the following rules:
COUNT1_IN_GA(cons(atom(T8), cons(atom(T29), T30)), s(s(T32))) → U6_GA(T8, T29, T30, T32, count1_in_ga(T30, T32))
COUNT1_IN_GA(cons(atom(T8), cons(atom(T29), T30)), s(s(T32))) → COUNT1_IN_GA(T30, T32)
COUNT1_IN_GA(cons(atom(T8), cons(cons(T72, T73), T74)), s(T55)) → U7_GA(T8, T72, T73, T74, T55, flatten29_in_ggga(T72, T73, T74, X117))
COUNT1_IN_GA(cons(atom(T8), cons(cons(T72, T73), T74)), s(T55)) → FLATTEN29_IN_GGGA(T72, T73, T74, X117)
FLATTEN29_IN_GGGA(atom(T90), atom(T103), T104, .(T90, .(T103, X174))) → U3_GGGA(T90, T103, T104, X174, flatten40_in_ga(T104, X174))
FLATTEN29_IN_GGGA(atom(T90), atom(T103), T104, .(T90, .(T103, X174))) → FLATTEN40_IN_GA(T104, X174)
FLATTEN40_IN_GA(cons(atom(T120), T121), .(T120, X205)) → U1_GA(T120, T121, X205, flatten40_in_ga(T121, X205))
FLATTEN40_IN_GA(cons(atom(T120), T121), .(T120, X205)) → FLATTEN40_IN_GA(T121, X205)
FLATTEN40_IN_GA(cons(cons(T130, T131), T132), X225) → U2_GA(T130, T131, T132, X225, flatten29_in_ggga(T130, T131, T132, X225))
FLATTEN40_IN_GA(cons(cons(T130, T131), T132), X225) → FLATTEN29_IN_GGGA(T130, T131, T132, X225)
FLATTEN29_IN_GGGA(atom(T90), cons(T142, T143), T144, .(T90, X250)) → U4_GGGA(T90, T142, T143, T144, X250, flatten29_in_ggga(T142, T143, T144, X250))
FLATTEN29_IN_GGGA(atom(T90), cons(T142, T143), T144, .(T90, X250)) → FLATTEN29_IN_GGGA(T142, T143, T144, X250)
FLATTEN29_IN_GGGA(cons(T156, T157), T158, T159, X275) → U5_GGGA(T156, T157, T158, T159, X275, flatten29_in_ggga(T156, T157, cons(T158, T159), X275))
FLATTEN29_IN_GGGA(cons(T156, T157), T158, T159, X275) → FLATTEN29_IN_GGGA(T156, T157, cons(T158, T159), X275)
COUNT1_IN_GA(cons(atom(T8), cons(cons(T51, T52), T53)), s(T55)) → U8_GA(T8, T51, T52, T53, T55, flattenc24_in_ggga(T51, T52, T53, T59))
U8_GA(T8, T51, T52, T53, T55, flattenc24_out_ggga(T51, T52, T53, T59)) → U9_GA(T8, T51, T52, T53, T55, count1_in_ga(T59, T55))
U8_GA(T8, T51, T52, T53, T55, flattenc24_out_ggga(T51, T52, T53, T59)) → COUNT1_IN_GA(T59, T55)
COUNT1_IN_GA(cons(cons(T184, T185), T186), T174) → U10_GA(T184, T185, T186, T174, flatten29_in_ggga(T184, T185, T186, X329))
COUNT1_IN_GA(cons(cons(T184, T185), T186), T174) → FLATTEN29_IN_GGGA(T184, T185, T186, X329)
COUNT1_IN_GA(cons(cons(T184, T185), T186), T174) → U11_GA(T184, T185, T186, T174, flattenc29_in_ggga(T184, T185, T186, T190))
U11_GA(T184, T185, T186, T174, flattenc29_out_ggga(T184, T185, T186, T190)) → U12_GA(T184, T185, T186, T174, count1_in_ga(T190, T174))
U11_GA(T184, T185, T186, T174, flattenc29_out_ggga(T184, T185, T186, T190)) → COUNT1_IN_GA(T190, T174)
The TRS R consists of the following rules:
flattenc24_in_ggga(T72, T73, T74, X117) → U24_ggga(T72, T73, T74, X117, flattenc29_in_ggga(T72, T73, T74, X117))
flattenc29_in_ggga(atom(T90), atom(T103), T104, .(T90, .(T103, X174))) → U21_ggga(T90, T103, T104, X174, flattenc40_in_ga(T104, X174))
flattenc40_in_ga(atom(T111), .(T111, [])) → flattenc40_out_ga(atom(T111), .(T111, []))
flattenc40_in_ga(cons(atom(T120), T121), .(T120, X205)) → U19_ga(T120, T121, X205, flattenc40_in_ga(T121, X205))
flattenc40_in_ga(cons(cons(T130, T131), T132), X225) → U20_ga(T130, T131, T132, X225, flattenc29_in_ggga(T130, T131, T132, X225))
flattenc29_in_ggga(atom(T90), cons(T142, T143), T144, .(T90, X250)) → U22_ggga(T90, T142, T143, T144, X250, flattenc29_in_ggga(T142, T143, T144, X250))
flattenc29_in_ggga(cons(T156, T157), T158, T159, X275) → U23_ggga(T156, T157, T158, T159, X275, flattenc29_in_ggga(T156, T157, cons(T158, T159), X275))
U23_ggga(T156, T157, T158, T159, X275, flattenc29_out_ggga(T156, T157, cons(T158, T159), X275)) → flattenc29_out_ggga(cons(T156, T157), T158, T159, X275)
U22_ggga(T90, T142, T143, T144, X250, flattenc29_out_ggga(T142, T143, T144, X250)) → flattenc29_out_ggga(atom(T90), cons(T142, T143), T144, .(T90, X250))
U20_ga(T130, T131, T132, X225, flattenc29_out_ggga(T130, T131, T132, X225)) → flattenc40_out_ga(cons(cons(T130, T131), T132), X225)
U19_ga(T120, T121, X205, flattenc40_out_ga(T121, X205)) → flattenc40_out_ga(cons(atom(T120), T121), .(T120, X205))
U21_ggga(T90, T103, T104, X174, flattenc40_out_ga(T104, X174)) → flattenc29_out_ggga(atom(T90), atom(T103), T104, .(T90, .(T103, X174)))
U24_ggga(T72, T73, T74, X117, flattenc29_out_ggga(T72, T73, T74, X117)) → flattenc24_out_ggga(T72, T73, T74, X117)
The argument filtering Pi contains the following mapping:
count1_in_ga(
x1,
x2) =
count1_in_ga(
x1)
cons(
x1,
x2) =
cons(
x1,
x2)
atom(
x1) =
atom(
x1)
flatten29_in_ggga(
x1,
x2,
x3,
x4) =
flatten29_in_ggga(
x1,
x2,
x3)
flatten40_in_ga(
x1,
x2) =
flatten40_in_ga(
x1)
flattenc24_in_ggga(
x1,
x2,
x3,
x4) =
flattenc24_in_ggga(
x1,
x2,
x3)
U24_ggga(
x1,
x2,
x3,
x4,
x5) =
U24_ggga(
x1,
x2,
x3,
x5)
flattenc29_in_ggga(
x1,
x2,
x3,
x4) =
flattenc29_in_ggga(
x1,
x2,
x3)
U21_ggga(
x1,
x2,
x3,
x4,
x5) =
U21_ggga(
x1,
x2,
x3,
x5)
flattenc40_in_ga(
x1,
x2) =
flattenc40_in_ga(
x1)
flattenc40_out_ga(
x1,
x2) =
flattenc40_out_ga(
x1,
x2)
U19_ga(
x1,
x2,
x3,
x4) =
U19_ga(
x1,
x2,
x4)
U20_ga(
x1,
x2,
x3,
x4,
x5) =
U20_ga(
x1,
x2,
x3,
x5)
U22_ggga(
x1,
x2,
x3,
x4,
x5,
x6) =
U22_ggga(
x1,
x2,
x3,
x4,
x6)
U23_ggga(
x1,
x2,
x3,
x4,
x5,
x6) =
U23_ggga(
x1,
x2,
x3,
x4,
x6)
flattenc29_out_ggga(
x1,
x2,
x3,
x4) =
flattenc29_out_ggga(
x1,
x2,
x3,
x4)
flattenc24_out_ggga(
x1,
x2,
x3,
x4) =
flattenc24_out_ggga(
x1,
x2,
x3,
x4)
.(
x1,
x2) =
.(
x1,
x2)
COUNT1_IN_GA(
x1,
x2) =
COUNT1_IN_GA(
x1)
U6_GA(
x1,
x2,
x3,
x4,
x5) =
U6_GA(
x1,
x2,
x3,
x5)
U7_GA(
x1,
x2,
x3,
x4,
x5,
x6) =
U7_GA(
x1,
x2,
x3,
x4,
x6)
FLATTEN29_IN_GGGA(
x1,
x2,
x3,
x4) =
FLATTEN29_IN_GGGA(
x1,
x2,
x3)
U3_GGGA(
x1,
x2,
x3,
x4,
x5) =
U3_GGGA(
x1,
x2,
x3,
x5)
FLATTEN40_IN_GA(
x1,
x2) =
FLATTEN40_IN_GA(
x1)
U1_GA(
x1,
x2,
x3,
x4) =
U1_GA(
x1,
x2,
x4)
U2_GA(
x1,
x2,
x3,
x4,
x5) =
U2_GA(
x1,
x2,
x3,
x5)
U4_GGGA(
x1,
x2,
x3,
x4,
x5,
x6) =
U4_GGGA(
x1,
x2,
x3,
x4,
x6)
U5_GGGA(
x1,
x2,
x3,
x4,
x5,
x6) =
U5_GGGA(
x1,
x2,
x3,
x4,
x6)
U8_GA(
x1,
x2,
x3,
x4,
x5,
x6) =
U8_GA(
x1,
x2,
x3,
x4,
x6)
U9_GA(
x1,
x2,
x3,
x4,
x5,
x6) =
U9_GA(
x1,
x2,
x3,
x4,
x6)
U10_GA(
x1,
x2,
x3,
x4,
x5) =
U10_GA(
x1,
x2,
x3,
x5)
U11_GA(
x1,
x2,
x3,
x4,
x5) =
U11_GA(
x1,
x2,
x3,
x5)
U12_GA(
x1,
x2,
x3,
x4,
x5) =
U12_GA(
x1,
x2,
x3,
x5)
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:
COUNT1_IN_GA(cons(atom(T8), cons(atom(T29), T30)), s(s(T32))) → U6_GA(T8, T29, T30, T32, count1_in_ga(T30, T32))
COUNT1_IN_GA(cons(atom(T8), cons(atom(T29), T30)), s(s(T32))) → COUNT1_IN_GA(T30, T32)
COUNT1_IN_GA(cons(atom(T8), cons(cons(T72, T73), T74)), s(T55)) → U7_GA(T8, T72, T73, T74, T55, flatten29_in_ggga(T72, T73, T74, X117))
COUNT1_IN_GA(cons(atom(T8), cons(cons(T72, T73), T74)), s(T55)) → FLATTEN29_IN_GGGA(T72, T73, T74, X117)
FLATTEN29_IN_GGGA(atom(T90), atom(T103), T104, .(T90, .(T103, X174))) → U3_GGGA(T90, T103, T104, X174, flatten40_in_ga(T104, X174))
FLATTEN29_IN_GGGA(atom(T90), atom(T103), T104, .(T90, .(T103, X174))) → FLATTEN40_IN_GA(T104, X174)
FLATTEN40_IN_GA(cons(atom(T120), T121), .(T120, X205)) → U1_GA(T120, T121, X205, flatten40_in_ga(T121, X205))
FLATTEN40_IN_GA(cons(atom(T120), T121), .(T120, X205)) → FLATTEN40_IN_GA(T121, X205)
FLATTEN40_IN_GA(cons(cons(T130, T131), T132), X225) → U2_GA(T130, T131, T132, X225, flatten29_in_ggga(T130, T131, T132, X225))
FLATTEN40_IN_GA(cons(cons(T130, T131), T132), X225) → FLATTEN29_IN_GGGA(T130, T131, T132, X225)
FLATTEN29_IN_GGGA(atom(T90), cons(T142, T143), T144, .(T90, X250)) → U4_GGGA(T90, T142, T143, T144, X250, flatten29_in_ggga(T142, T143, T144, X250))
FLATTEN29_IN_GGGA(atom(T90), cons(T142, T143), T144, .(T90, X250)) → FLATTEN29_IN_GGGA(T142, T143, T144, X250)
FLATTEN29_IN_GGGA(cons(T156, T157), T158, T159, X275) → U5_GGGA(T156, T157, T158, T159, X275, flatten29_in_ggga(T156, T157, cons(T158, T159), X275))
FLATTEN29_IN_GGGA(cons(T156, T157), T158, T159, X275) → FLATTEN29_IN_GGGA(T156, T157, cons(T158, T159), X275)
COUNT1_IN_GA(cons(atom(T8), cons(cons(T51, T52), T53)), s(T55)) → U8_GA(T8, T51, T52, T53, T55, flattenc24_in_ggga(T51, T52, T53, T59))
U8_GA(T8, T51, T52, T53, T55, flattenc24_out_ggga(T51, T52, T53, T59)) → U9_GA(T8, T51, T52, T53, T55, count1_in_ga(T59, T55))
U8_GA(T8, T51, T52, T53, T55, flattenc24_out_ggga(T51, T52, T53, T59)) → COUNT1_IN_GA(T59, T55)
COUNT1_IN_GA(cons(cons(T184, T185), T186), T174) → U10_GA(T184, T185, T186, T174, flatten29_in_ggga(T184, T185, T186, X329))
COUNT1_IN_GA(cons(cons(T184, T185), T186), T174) → FLATTEN29_IN_GGGA(T184, T185, T186, X329)
COUNT1_IN_GA(cons(cons(T184, T185), T186), T174) → U11_GA(T184, T185, T186, T174, flattenc29_in_ggga(T184, T185, T186, T190))
U11_GA(T184, T185, T186, T174, flattenc29_out_ggga(T184, T185, T186, T190)) → U12_GA(T184, T185, T186, T174, count1_in_ga(T190, T174))
U11_GA(T184, T185, T186, T174, flattenc29_out_ggga(T184, T185, T186, T190)) → COUNT1_IN_GA(T190, T174)
The TRS R consists of the following rules:
flattenc24_in_ggga(T72, T73, T74, X117) → U24_ggga(T72, T73, T74, X117, flattenc29_in_ggga(T72, T73, T74, X117))
flattenc29_in_ggga(atom(T90), atom(T103), T104, .(T90, .(T103, X174))) → U21_ggga(T90, T103, T104, X174, flattenc40_in_ga(T104, X174))
flattenc40_in_ga(atom(T111), .(T111, [])) → flattenc40_out_ga(atom(T111), .(T111, []))
flattenc40_in_ga(cons(atom(T120), T121), .(T120, X205)) → U19_ga(T120, T121, X205, flattenc40_in_ga(T121, X205))
flattenc40_in_ga(cons(cons(T130, T131), T132), X225) → U20_ga(T130, T131, T132, X225, flattenc29_in_ggga(T130, T131, T132, X225))
flattenc29_in_ggga(atom(T90), cons(T142, T143), T144, .(T90, X250)) → U22_ggga(T90, T142, T143, T144, X250, flattenc29_in_ggga(T142, T143, T144, X250))
flattenc29_in_ggga(cons(T156, T157), T158, T159, X275) → U23_ggga(T156, T157, T158, T159, X275, flattenc29_in_ggga(T156, T157, cons(T158, T159), X275))
U23_ggga(T156, T157, T158, T159, X275, flattenc29_out_ggga(T156, T157, cons(T158, T159), X275)) → flattenc29_out_ggga(cons(T156, T157), T158, T159, X275)
U22_ggga(T90, T142, T143, T144, X250, flattenc29_out_ggga(T142, T143, T144, X250)) → flattenc29_out_ggga(atom(T90), cons(T142, T143), T144, .(T90, X250))
U20_ga(T130, T131, T132, X225, flattenc29_out_ggga(T130, T131, T132, X225)) → flattenc40_out_ga(cons(cons(T130, T131), T132), X225)
U19_ga(T120, T121, X205, flattenc40_out_ga(T121, X205)) → flattenc40_out_ga(cons(atom(T120), T121), .(T120, X205))
U21_ggga(T90, T103, T104, X174, flattenc40_out_ga(T104, X174)) → flattenc29_out_ggga(atom(T90), atom(T103), T104, .(T90, .(T103, X174)))
U24_ggga(T72, T73, T74, X117, flattenc29_out_ggga(T72, T73, T74, X117)) → flattenc24_out_ggga(T72, T73, T74, X117)
The argument filtering Pi contains the following mapping:
count1_in_ga(
x1,
x2) =
count1_in_ga(
x1)
cons(
x1,
x2) =
cons(
x1,
x2)
atom(
x1) =
atom(
x1)
flatten29_in_ggga(
x1,
x2,
x3,
x4) =
flatten29_in_ggga(
x1,
x2,
x3)
flatten40_in_ga(
x1,
x2) =
flatten40_in_ga(
x1)
flattenc24_in_ggga(
x1,
x2,
x3,
x4) =
flattenc24_in_ggga(
x1,
x2,
x3)
U24_ggga(
x1,
x2,
x3,
x4,
x5) =
U24_ggga(
x1,
x2,
x3,
x5)
flattenc29_in_ggga(
x1,
x2,
x3,
x4) =
flattenc29_in_ggga(
x1,
x2,
x3)
U21_ggga(
x1,
x2,
x3,
x4,
x5) =
U21_ggga(
x1,
x2,
x3,
x5)
flattenc40_in_ga(
x1,
x2) =
flattenc40_in_ga(
x1)
flattenc40_out_ga(
x1,
x2) =
flattenc40_out_ga(
x1,
x2)
U19_ga(
x1,
x2,
x3,
x4) =
U19_ga(
x1,
x2,
x4)
U20_ga(
x1,
x2,
x3,
x4,
x5) =
U20_ga(
x1,
x2,
x3,
x5)
U22_ggga(
x1,
x2,
x3,
x4,
x5,
x6) =
U22_ggga(
x1,
x2,
x3,
x4,
x6)
U23_ggga(
x1,
x2,
x3,
x4,
x5,
x6) =
U23_ggga(
x1,
x2,
x3,
x4,
x6)
flattenc29_out_ggga(
x1,
x2,
x3,
x4) =
flattenc29_out_ggga(
x1,
x2,
x3,
x4)
flattenc24_out_ggga(
x1,
x2,
x3,
x4) =
flattenc24_out_ggga(
x1,
x2,
x3,
x4)
.(
x1,
x2) =
.(
x1,
x2)
COUNT1_IN_GA(
x1,
x2) =
COUNT1_IN_GA(
x1)
U6_GA(
x1,
x2,
x3,
x4,
x5) =
U6_GA(
x1,
x2,
x3,
x5)
U7_GA(
x1,
x2,
x3,
x4,
x5,
x6) =
U7_GA(
x1,
x2,
x3,
x4,
x6)
FLATTEN29_IN_GGGA(
x1,
x2,
x3,
x4) =
FLATTEN29_IN_GGGA(
x1,
x2,
x3)
U3_GGGA(
x1,
x2,
x3,
x4,
x5) =
U3_GGGA(
x1,
x2,
x3,
x5)
FLATTEN40_IN_GA(
x1,
x2) =
FLATTEN40_IN_GA(
x1)
U1_GA(
x1,
x2,
x3,
x4) =
U1_GA(
x1,
x2,
x4)
U2_GA(
x1,
x2,
x3,
x4,
x5) =
U2_GA(
x1,
x2,
x3,
x5)
U4_GGGA(
x1,
x2,
x3,
x4,
x5,
x6) =
U4_GGGA(
x1,
x2,
x3,
x4,
x6)
U5_GGGA(
x1,
x2,
x3,
x4,
x5,
x6) =
U5_GGGA(
x1,
x2,
x3,
x4,
x6)
U8_GA(
x1,
x2,
x3,
x4,
x5,
x6) =
U8_GA(
x1,
x2,
x3,
x4,
x6)
U9_GA(
x1,
x2,
x3,
x4,
x5,
x6) =
U9_GA(
x1,
x2,
x3,
x4,
x6)
U10_GA(
x1,
x2,
x3,
x4,
x5) =
U10_GA(
x1,
x2,
x3,
x5)
U11_GA(
x1,
x2,
x3,
x4,
x5) =
U11_GA(
x1,
x2,
x3,
x5)
U12_GA(
x1,
x2,
x3,
x4,
x5) =
U12_GA(
x1,
x2,
x3,
x5)
We have to consider all (P,R,Pi)-chains
(5) DependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LOPSTR] contains 2 SCCs with 12 less nodes.
(6) Complex Obligation (AND)
(7) Obligation:
Pi DP problem:
The TRS P consists of the following rules:
FLATTEN29_IN_GGGA(atom(T90), atom(T103), T104, .(T90, .(T103, X174))) → FLATTEN40_IN_GA(T104, X174)
FLATTEN40_IN_GA(cons(atom(T120), T121), .(T120, X205)) → FLATTEN40_IN_GA(T121, X205)
FLATTEN40_IN_GA(cons(cons(T130, T131), T132), X225) → FLATTEN29_IN_GGGA(T130, T131, T132, X225)
FLATTEN29_IN_GGGA(atom(T90), cons(T142, T143), T144, .(T90, X250)) → FLATTEN29_IN_GGGA(T142, T143, T144, X250)
FLATTEN29_IN_GGGA(cons(T156, T157), T158, T159, X275) → FLATTEN29_IN_GGGA(T156, T157, cons(T158, T159), X275)
The TRS R consists of the following rules:
flattenc24_in_ggga(T72, T73, T74, X117) → U24_ggga(T72, T73, T74, X117, flattenc29_in_ggga(T72, T73, T74, X117))
flattenc29_in_ggga(atom(T90), atom(T103), T104, .(T90, .(T103, X174))) → U21_ggga(T90, T103, T104, X174, flattenc40_in_ga(T104, X174))
flattenc40_in_ga(atom(T111), .(T111, [])) → flattenc40_out_ga(atom(T111), .(T111, []))
flattenc40_in_ga(cons(atom(T120), T121), .(T120, X205)) → U19_ga(T120, T121, X205, flattenc40_in_ga(T121, X205))
flattenc40_in_ga(cons(cons(T130, T131), T132), X225) → U20_ga(T130, T131, T132, X225, flattenc29_in_ggga(T130, T131, T132, X225))
flattenc29_in_ggga(atom(T90), cons(T142, T143), T144, .(T90, X250)) → U22_ggga(T90, T142, T143, T144, X250, flattenc29_in_ggga(T142, T143, T144, X250))
flattenc29_in_ggga(cons(T156, T157), T158, T159, X275) → U23_ggga(T156, T157, T158, T159, X275, flattenc29_in_ggga(T156, T157, cons(T158, T159), X275))
U23_ggga(T156, T157, T158, T159, X275, flattenc29_out_ggga(T156, T157, cons(T158, T159), X275)) → flattenc29_out_ggga(cons(T156, T157), T158, T159, X275)
U22_ggga(T90, T142, T143, T144, X250, flattenc29_out_ggga(T142, T143, T144, X250)) → flattenc29_out_ggga(atom(T90), cons(T142, T143), T144, .(T90, X250))
U20_ga(T130, T131, T132, X225, flattenc29_out_ggga(T130, T131, T132, X225)) → flattenc40_out_ga(cons(cons(T130, T131), T132), X225)
U19_ga(T120, T121, X205, flattenc40_out_ga(T121, X205)) → flattenc40_out_ga(cons(atom(T120), T121), .(T120, X205))
U21_ggga(T90, T103, T104, X174, flattenc40_out_ga(T104, X174)) → flattenc29_out_ggga(atom(T90), atom(T103), T104, .(T90, .(T103, X174)))
U24_ggga(T72, T73, T74, X117, flattenc29_out_ggga(T72, T73, T74, X117)) → flattenc24_out_ggga(T72, T73, T74, X117)
The argument filtering Pi contains the following mapping:
cons(
x1,
x2) =
cons(
x1,
x2)
atom(
x1) =
atom(
x1)
flattenc24_in_ggga(
x1,
x2,
x3,
x4) =
flattenc24_in_ggga(
x1,
x2,
x3)
U24_ggga(
x1,
x2,
x3,
x4,
x5) =
U24_ggga(
x1,
x2,
x3,
x5)
flattenc29_in_ggga(
x1,
x2,
x3,
x4) =
flattenc29_in_ggga(
x1,
x2,
x3)
U21_ggga(
x1,
x2,
x3,
x4,
x5) =
U21_ggga(
x1,
x2,
x3,
x5)
flattenc40_in_ga(
x1,
x2) =
flattenc40_in_ga(
x1)
flattenc40_out_ga(
x1,
x2) =
flattenc40_out_ga(
x1,
x2)
U19_ga(
x1,
x2,
x3,
x4) =
U19_ga(
x1,
x2,
x4)
U20_ga(
x1,
x2,
x3,
x4,
x5) =
U20_ga(
x1,
x2,
x3,
x5)
U22_ggga(
x1,
x2,
x3,
x4,
x5,
x6) =
U22_ggga(
x1,
x2,
x3,
x4,
x6)
U23_ggga(
x1,
x2,
x3,
x4,
x5,
x6) =
U23_ggga(
x1,
x2,
x3,
x4,
x6)
flattenc29_out_ggga(
x1,
x2,
x3,
x4) =
flattenc29_out_ggga(
x1,
x2,
x3,
x4)
flattenc24_out_ggga(
x1,
x2,
x3,
x4) =
flattenc24_out_ggga(
x1,
x2,
x3,
x4)
.(
x1,
x2) =
.(
x1,
x2)
FLATTEN29_IN_GGGA(
x1,
x2,
x3,
x4) =
FLATTEN29_IN_GGGA(
x1,
x2,
x3)
FLATTEN40_IN_GA(
x1,
x2) =
FLATTEN40_IN_GA(
x1)
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:
FLATTEN29_IN_GGGA(atom(T90), atom(T103), T104, .(T90, .(T103, X174))) → FLATTEN40_IN_GA(T104, X174)
FLATTEN40_IN_GA(cons(atom(T120), T121), .(T120, X205)) → FLATTEN40_IN_GA(T121, X205)
FLATTEN40_IN_GA(cons(cons(T130, T131), T132), X225) → FLATTEN29_IN_GGGA(T130, T131, T132, X225)
FLATTEN29_IN_GGGA(atom(T90), cons(T142, T143), T144, .(T90, X250)) → FLATTEN29_IN_GGGA(T142, T143, T144, X250)
FLATTEN29_IN_GGGA(cons(T156, T157), T158, T159, X275) → FLATTEN29_IN_GGGA(T156, T157, cons(T158, T159), X275)
R is empty.
The argument filtering Pi contains the following mapping:
cons(
x1,
x2) =
cons(
x1,
x2)
atom(
x1) =
atom(
x1)
.(
x1,
x2) =
.(
x1,
x2)
FLATTEN29_IN_GGGA(
x1,
x2,
x3,
x4) =
FLATTEN29_IN_GGGA(
x1,
x2,
x3)
FLATTEN40_IN_GA(
x1,
x2) =
FLATTEN40_IN_GA(
x1)
We have to consider all (P,R,Pi)-chains
(10) PiDPToQDPProof (SOUND 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:
FLATTEN29_IN_GGGA(atom(T90), atom(T103), T104) → FLATTEN40_IN_GA(T104)
FLATTEN40_IN_GA(cons(atom(T120), T121)) → FLATTEN40_IN_GA(T121)
FLATTEN40_IN_GA(cons(cons(T130, T131), T132)) → FLATTEN29_IN_GGGA(T130, T131, T132)
FLATTEN29_IN_GGGA(atom(T90), cons(T142, T143), T144) → FLATTEN29_IN_GGGA(T142, T143, T144)
FLATTEN29_IN_GGGA(cons(T156, T157), T158, T159) → FLATTEN29_IN_GGGA(T156, T157, cons(T158, T159))
R is empty.
Q is empty.
We have to consider all (P,Q,R)-chains.
(12) UsableRulesReductionPairsProof (EQUIVALENT transformation)
By using the usable rules with reduction pair processor [LPAR04] with a polynomial ordering [POLO], all dependency pairs and the corresponding usable rules [FROCOS05] can be oriented non-strictly. All non-usable rules are removed, and those dependency pairs and usable rules that have been oriented strictly or contain non-usable symbols in their left-hand side are removed as well.
The following dependency pairs can be deleted:
FLATTEN29_IN_GGGA(atom(T90), atom(T103), T104) → FLATTEN40_IN_GA(T104)
FLATTEN40_IN_GA(cons(atom(T120), T121)) → FLATTEN40_IN_GA(T121)
FLATTEN40_IN_GA(cons(cons(T130, T131), T132)) → FLATTEN29_IN_GGGA(T130, T131, T132)
FLATTEN29_IN_GGGA(atom(T90), cons(T142, T143), T144) → FLATTEN29_IN_GGGA(T142, T143, T144)
No rules are removed from R.
Used ordering: POLO with Polynomial interpretation [POLO]:
POL(FLATTEN29_IN_GGGA(x1, x2, x3)) = 2·x1 + 2·x2 + 2·x3
POL(FLATTEN40_IN_GA(x1)) = 1 + 2·x1
POL(atom(x1)) = 1 + x1
POL(cons(x1, x2)) = x1 + x2
(13) Obligation:
Q DP problem:
The TRS P consists of the following rules:
FLATTEN29_IN_GGGA(cons(T156, T157), T158, T159) → FLATTEN29_IN_GGGA(T156, T157, cons(T158, T159))
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:
- FLATTEN29_IN_GGGA(cons(T156, T157), T158, T159) → FLATTEN29_IN_GGGA(T156, T157, cons(T158, T159))
The graph contains the following edges 1 > 1, 1 > 2
(15) YES
(16) Obligation:
Pi DP problem:
The TRS P consists of the following rules:
COUNT1_IN_GA(cons(atom(T8), cons(cons(T51, T52), T53)), s(T55)) → U8_GA(T8, T51, T52, T53, T55, flattenc24_in_ggga(T51, T52, T53, T59))
U8_GA(T8, T51, T52, T53, T55, flattenc24_out_ggga(T51, T52, T53, T59)) → COUNT1_IN_GA(T59, T55)
COUNT1_IN_GA(cons(atom(T8), cons(atom(T29), T30)), s(s(T32))) → COUNT1_IN_GA(T30, T32)
COUNT1_IN_GA(cons(cons(T184, T185), T186), T174) → U11_GA(T184, T185, T186, T174, flattenc29_in_ggga(T184, T185, T186, T190))
U11_GA(T184, T185, T186, T174, flattenc29_out_ggga(T184, T185, T186, T190)) → COUNT1_IN_GA(T190, T174)
The TRS R consists of the following rules:
flattenc24_in_ggga(T72, T73, T74, X117) → U24_ggga(T72, T73, T74, X117, flattenc29_in_ggga(T72, T73, T74, X117))
flattenc29_in_ggga(atom(T90), atom(T103), T104, .(T90, .(T103, X174))) → U21_ggga(T90, T103, T104, X174, flattenc40_in_ga(T104, X174))
flattenc40_in_ga(atom(T111), .(T111, [])) → flattenc40_out_ga(atom(T111), .(T111, []))
flattenc40_in_ga(cons(atom(T120), T121), .(T120, X205)) → U19_ga(T120, T121, X205, flattenc40_in_ga(T121, X205))
flattenc40_in_ga(cons(cons(T130, T131), T132), X225) → U20_ga(T130, T131, T132, X225, flattenc29_in_ggga(T130, T131, T132, X225))
flattenc29_in_ggga(atom(T90), cons(T142, T143), T144, .(T90, X250)) → U22_ggga(T90, T142, T143, T144, X250, flattenc29_in_ggga(T142, T143, T144, X250))
flattenc29_in_ggga(cons(T156, T157), T158, T159, X275) → U23_ggga(T156, T157, T158, T159, X275, flattenc29_in_ggga(T156, T157, cons(T158, T159), X275))
U23_ggga(T156, T157, T158, T159, X275, flattenc29_out_ggga(T156, T157, cons(T158, T159), X275)) → flattenc29_out_ggga(cons(T156, T157), T158, T159, X275)
U22_ggga(T90, T142, T143, T144, X250, flattenc29_out_ggga(T142, T143, T144, X250)) → flattenc29_out_ggga(atom(T90), cons(T142, T143), T144, .(T90, X250))
U20_ga(T130, T131, T132, X225, flattenc29_out_ggga(T130, T131, T132, X225)) → flattenc40_out_ga(cons(cons(T130, T131), T132), X225)
U19_ga(T120, T121, X205, flattenc40_out_ga(T121, X205)) → flattenc40_out_ga(cons(atom(T120), T121), .(T120, X205))
U21_ggga(T90, T103, T104, X174, flattenc40_out_ga(T104, X174)) → flattenc29_out_ggga(atom(T90), atom(T103), T104, .(T90, .(T103, X174)))
U24_ggga(T72, T73, T74, X117, flattenc29_out_ggga(T72, T73, T74, X117)) → flattenc24_out_ggga(T72, T73, T74, X117)
The argument filtering Pi contains the following mapping:
cons(
x1,
x2) =
cons(
x1,
x2)
atom(
x1) =
atom(
x1)
flattenc24_in_ggga(
x1,
x2,
x3,
x4) =
flattenc24_in_ggga(
x1,
x2,
x3)
U24_ggga(
x1,
x2,
x3,
x4,
x5) =
U24_ggga(
x1,
x2,
x3,
x5)
flattenc29_in_ggga(
x1,
x2,
x3,
x4) =
flattenc29_in_ggga(
x1,
x2,
x3)
U21_ggga(
x1,
x2,
x3,
x4,
x5) =
U21_ggga(
x1,
x2,
x3,
x5)
flattenc40_in_ga(
x1,
x2) =
flattenc40_in_ga(
x1)
flattenc40_out_ga(
x1,
x2) =
flattenc40_out_ga(
x1,
x2)
U19_ga(
x1,
x2,
x3,
x4) =
U19_ga(
x1,
x2,
x4)
U20_ga(
x1,
x2,
x3,
x4,
x5) =
U20_ga(
x1,
x2,
x3,
x5)
U22_ggga(
x1,
x2,
x3,
x4,
x5,
x6) =
U22_ggga(
x1,
x2,
x3,
x4,
x6)
U23_ggga(
x1,
x2,
x3,
x4,
x5,
x6) =
U23_ggga(
x1,
x2,
x3,
x4,
x6)
flattenc29_out_ggga(
x1,
x2,
x3,
x4) =
flattenc29_out_ggga(
x1,
x2,
x3,
x4)
flattenc24_out_ggga(
x1,
x2,
x3,
x4) =
flattenc24_out_ggga(
x1,
x2,
x3,
x4)
.(
x1,
x2) =
.(
x1,
x2)
COUNT1_IN_GA(
x1,
x2) =
COUNT1_IN_GA(
x1)
U8_GA(
x1,
x2,
x3,
x4,
x5,
x6) =
U8_GA(
x1,
x2,
x3,
x4,
x6)
U11_GA(
x1,
x2,
x3,
x4,
x5) =
U11_GA(
x1,
x2,
x3,
x5)
We have to consider all (P,R,Pi)-chains
(17) PiDPToQDPProof (SOUND transformation)
Transforming (infinitary) constructor rewriting Pi-DP problem [LOPSTR] into ordinary QDP problem [LPAR04] by application of Pi.
(18) Obligation:
Q DP problem:
The TRS P consists of the following rules:
COUNT1_IN_GA(cons(atom(T8), cons(cons(T51, T52), T53))) → U8_GA(T8, T51, T52, T53, flattenc24_in_ggga(T51, T52, T53))
U8_GA(T8, T51, T52, T53, flattenc24_out_ggga(T51, T52, T53, T59)) → COUNT1_IN_GA(T59)
COUNT1_IN_GA(cons(atom(T8), cons(atom(T29), T30))) → COUNT1_IN_GA(T30)
COUNT1_IN_GA(cons(cons(T184, T185), T186)) → U11_GA(T184, T185, T186, flattenc29_in_ggga(T184, T185, T186))
U11_GA(T184, T185, T186, flattenc29_out_ggga(T184, T185, T186, T190)) → COUNT1_IN_GA(T190)
The TRS R consists of the following rules:
flattenc24_in_ggga(T72, T73, T74) → U24_ggga(T72, T73, T74, flattenc29_in_ggga(T72, T73, T74))
flattenc29_in_ggga(atom(T90), atom(T103), T104) → U21_ggga(T90, T103, T104, flattenc40_in_ga(T104))
flattenc40_in_ga(atom(T111)) → flattenc40_out_ga(atom(T111), .(T111, []))
flattenc40_in_ga(cons(atom(T120), T121)) → U19_ga(T120, T121, flattenc40_in_ga(T121))
flattenc40_in_ga(cons(cons(T130, T131), T132)) → U20_ga(T130, T131, T132, flattenc29_in_ggga(T130, T131, T132))
flattenc29_in_ggga(atom(T90), cons(T142, T143), T144) → U22_ggga(T90, T142, T143, T144, flattenc29_in_ggga(T142, T143, T144))
flattenc29_in_ggga(cons(T156, T157), T158, T159) → U23_ggga(T156, T157, T158, T159, flattenc29_in_ggga(T156, T157, cons(T158, T159)))
U23_ggga(T156, T157, T158, T159, flattenc29_out_ggga(T156, T157, cons(T158, T159), X275)) → flattenc29_out_ggga(cons(T156, T157), T158, T159, X275)
U22_ggga(T90, T142, T143, T144, flattenc29_out_ggga(T142, T143, T144, X250)) → flattenc29_out_ggga(atom(T90), cons(T142, T143), T144, .(T90, X250))
U20_ga(T130, T131, T132, flattenc29_out_ggga(T130, T131, T132, X225)) → flattenc40_out_ga(cons(cons(T130, T131), T132), X225)
U19_ga(T120, T121, flattenc40_out_ga(T121, X205)) → flattenc40_out_ga(cons(atom(T120), T121), .(T120, X205))
U21_ggga(T90, T103, T104, flattenc40_out_ga(T104, X174)) → flattenc29_out_ggga(atom(T90), atom(T103), T104, .(T90, .(T103, X174)))
U24_ggga(T72, T73, T74, flattenc29_out_ggga(T72, T73, T74, X117)) → flattenc24_out_ggga(T72, T73, T74, X117)
The set Q consists of the following terms:
flattenc24_in_ggga(x0, x1, x2)
flattenc29_in_ggga(x0, x1, x2)
flattenc40_in_ga(x0)
U23_ggga(x0, x1, x2, x3, x4)
U22_ggga(x0, x1, x2, x3, x4)
U20_ga(x0, x1, x2, x3)
U19_ga(x0, x1, x2)
U21_ggga(x0, x1, x2, x3)
U24_ggga(x0, x1, x2, x3)
We have to consider all (P,Q,R)-chains.
(19) Rewriting (EQUIVALENT transformation)
By rewriting [LPAR04] the rule
COUNT1_IN_GA(
cons(
atom(
T8),
cons(
cons(
T51,
T52),
T53))) →
U8_GA(
T8,
T51,
T52,
T53,
flattenc24_in_ggga(
T51,
T52,
T53)) at position [4] we obtained the following new rules [LPAR04]:
COUNT1_IN_GA(cons(atom(T8), cons(cons(T51, T52), T53))) → U8_GA(T8, T51, T52, T53, U24_ggga(T51, T52, T53, flattenc29_in_ggga(T51, T52, T53)))
(20) Obligation:
Q DP problem:
The TRS P consists of the following rules:
U8_GA(T8, T51, T52, T53, flattenc24_out_ggga(T51, T52, T53, T59)) → COUNT1_IN_GA(T59)
COUNT1_IN_GA(cons(atom(T8), cons(atom(T29), T30))) → COUNT1_IN_GA(T30)
COUNT1_IN_GA(cons(cons(T184, T185), T186)) → U11_GA(T184, T185, T186, flattenc29_in_ggga(T184, T185, T186))
U11_GA(T184, T185, T186, flattenc29_out_ggga(T184, T185, T186, T190)) → COUNT1_IN_GA(T190)
COUNT1_IN_GA(cons(atom(T8), cons(cons(T51, T52), T53))) → U8_GA(T8, T51, T52, T53, U24_ggga(T51, T52, T53, flattenc29_in_ggga(T51, T52, T53)))
The TRS R consists of the following rules:
flattenc24_in_ggga(T72, T73, T74) → U24_ggga(T72, T73, T74, flattenc29_in_ggga(T72, T73, T74))
flattenc29_in_ggga(atom(T90), atom(T103), T104) → U21_ggga(T90, T103, T104, flattenc40_in_ga(T104))
flattenc40_in_ga(atom(T111)) → flattenc40_out_ga(atom(T111), .(T111, []))
flattenc40_in_ga(cons(atom(T120), T121)) → U19_ga(T120, T121, flattenc40_in_ga(T121))
flattenc40_in_ga(cons(cons(T130, T131), T132)) → U20_ga(T130, T131, T132, flattenc29_in_ggga(T130, T131, T132))
flattenc29_in_ggga(atom(T90), cons(T142, T143), T144) → U22_ggga(T90, T142, T143, T144, flattenc29_in_ggga(T142, T143, T144))
flattenc29_in_ggga(cons(T156, T157), T158, T159) → U23_ggga(T156, T157, T158, T159, flattenc29_in_ggga(T156, T157, cons(T158, T159)))
U23_ggga(T156, T157, T158, T159, flattenc29_out_ggga(T156, T157, cons(T158, T159), X275)) → flattenc29_out_ggga(cons(T156, T157), T158, T159, X275)
U22_ggga(T90, T142, T143, T144, flattenc29_out_ggga(T142, T143, T144, X250)) → flattenc29_out_ggga(atom(T90), cons(T142, T143), T144, .(T90, X250))
U20_ga(T130, T131, T132, flattenc29_out_ggga(T130, T131, T132, X225)) → flattenc40_out_ga(cons(cons(T130, T131), T132), X225)
U19_ga(T120, T121, flattenc40_out_ga(T121, X205)) → flattenc40_out_ga(cons(atom(T120), T121), .(T120, X205))
U21_ggga(T90, T103, T104, flattenc40_out_ga(T104, X174)) → flattenc29_out_ggga(atom(T90), atom(T103), T104, .(T90, .(T103, X174)))
U24_ggga(T72, T73, T74, flattenc29_out_ggga(T72, T73, T74, X117)) → flattenc24_out_ggga(T72, T73, T74, X117)
The set Q consists of the following terms:
flattenc24_in_ggga(x0, x1, x2)
flattenc29_in_ggga(x0, x1, x2)
flattenc40_in_ga(x0)
U23_ggga(x0, x1, x2, x3, x4)
U22_ggga(x0, x1, x2, x3, x4)
U20_ga(x0, x1, x2, x3)
U19_ga(x0, x1, x2)
U21_ggga(x0, x1, x2, x3)
U24_ggga(x0, x1, x2, x3)
We have to consider all (P,Q,R)-chains.
(21) UsableRulesProof (EQUIVALENT transformation)
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.
(22) Obligation:
Q DP problem:
The TRS P consists of the following rules:
U8_GA(T8, T51, T52, T53, flattenc24_out_ggga(T51, T52, T53, T59)) → COUNT1_IN_GA(T59)
COUNT1_IN_GA(cons(atom(T8), cons(atom(T29), T30))) → COUNT1_IN_GA(T30)
COUNT1_IN_GA(cons(cons(T184, T185), T186)) → U11_GA(T184, T185, T186, flattenc29_in_ggga(T184, T185, T186))
U11_GA(T184, T185, T186, flattenc29_out_ggga(T184, T185, T186, T190)) → COUNT1_IN_GA(T190)
COUNT1_IN_GA(cons(atom(T8), cons(cons(T51, T52), T53))) → U8_GA(T8, T51, T52, T53, U24_ggga(T51, T52, T53, flattenc29_in_ggga(T51, T52, T53)))
The TRS R consists of the following rules:
flattenc29_in_ggga(atom(T90), atom(T103), T104) → U21_ggga(T90, T103, T104, flattenc40_in_ga(T104))
flattenc29_in_ggga(atom(T90), cons(T142, T143), T144) → U22_ggga(T90, T142, T143, T144, flattenc29_in_ggga(T142, T143, T144))
flattenc29_in_ggga(cons(T156, T157), T158, T159) → U23_ggga(T156, T157, T158, T159, flattenc29_in_ggga(T156, T157, cons(T158, T159)))
U24_ggga(T72, T73, T74, flattenc29_out_ggga(T72, T73, T74, X117)) → flattenc24_out_ggga(T72, T73, T74, X117)
U23_ggga(T156, T157, T158, T159, flattenc29_out_ggga(T156, T157, cons(T158, T159), X275)) → flattenc29_out_ggga(cons(T156, T157), T158, T159, X275)
U22_ggga(T90, T142, T143, T144, flattenc29_out_ggga(T142, T143, T144, X250)) → flattenc29_out_ggga(atom(T90), cons(T142, T143), T144, .(T90, X250))
flattenc40_in_ga(atom(T111)) → flattenc40_out_ga(atom(T111), .(T111, []))
flattenc40_in_ga(cons(atom(T120), T121)) → U19_ga(T120, T121, flattenc40_in_ga(T121))
flattenc40_in_ga(cons(cons(T130, T131), T132)) → U20_ga(T130, T131, T132, flattenc29_in_ggga(T130, T131, T132))
U21_ggga(T90, T103, T104, flattenc40_out_ga(T104, X174)) → flattenc29_out_ggga(atom(T90), atom(T103), T104, .(T90, .(T103, X174)))
U20_ga(T130, T131, T132, flattenc29_out_ggga(T130, T131, T132, X225)) → flattenc40_out_ga(cons(cons(T130, T131), T132), X225)
U19_ga(T120, T121, flattenc40_out_ga(T121, X205)) → flattenc40_out_ga(cons(atom(T120), T121), .(T120, X205))
The set Q consists of the following terms:
flattenc24_in_ggga(x0, x1, x2)
flattenc29_in_ggga(x0, x1, x2)
flattenc40_in_ga(x0)
U23_ggga(x0, x1, x2, x3, x4)
U22_ggga(x0, x1, x2, x3, x4)
U20_ga(x0, x1, x2, x3)
U19_ga(x0, x1, x2)
U21_ggga(x0, x1, x2, x3)
U24_ggga(x0, x1, x2, x3)
We have to consider all (P,Q,R)-chains.
(23) QReductionProof (EQUIVALENT transformation)
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].
flattenc24_in_ggga(x0, x1, x2)
(24) Obligation:
Q DP problem:
The TRS P consists of the following rules:
U8_GA(T8, T51, T52, T53, flattenc24_out_ggga(T51, T52, T53, T59)) → COUNT1_IN_GA(T59)
COUNT1_IN_GA(cons(atom(T8), cons(atom(T29), T30))) → COUNT1_IN_GA(T30)
COUNT1_IN_GA(cons(cons(T184, T185), T186)) → U11_GA(T184, T185, T186, flattenc29_in_ggga(T184, T185, T186))
U11_GA(T184, T185, T186, flattenc29_out_ggga(T184, T185, T186, T190)) → COUNT1_IN_GA(T190)
COUNT1_IN_GA(cons(atom(T8), cons(cons(T51, T52), T53))) → U8_GA(T8, T51, T52, T53, U24_ggga(T51, T52, T53, flattenc29_in_ggga(T51, T52, T53)))
The TRS R consists of the following rules:
flattenc29_in_ggga(atom(T90), atom(T103), T104) → U21_ggga(T90, T103, T104, flattenc40_in_ga(T104))
flattenc29_in_ggga(atom(T90), cons(T142, T143), T144) → U22_ggga(T90, T142, T143, T144, flattenc29_in_ggga(T142, T143, T144))
flattenc29_in_ggga(cons(T156, T157), T158, T159) → U23_ggga(T156, T157, T158, T159, flattenc29_in_ggga(T156, T157, cons(T158, T159)))
U24_ggga(T72, T73, T74, flattenc29_out_ggga(T72, T73, T74, X117)) → flattenc24_out_ggga(T72, T73, T74, X117)
U23_ggga(T156, T157, T158, T159, flattenc29_out_ggga(T156, T157, cons(T158, T159), X275)) → flattenc29_out_ggga(cons(T156, T157), T158, T159, X275)
U22_ggga(T90, T142, T143, T144, flattenc29_out_ggga(T142, T143, T144, X250)) → flattenc29_out_ggga(atom(T90), cons(T142, T143), T144, .(T90, X250))
flattenc40_in_ga(atom(T111)) → flattenc40_out_ga(atom(T111), .(T111, []))
flattenc40_in_ga(cons(atom(T120), T121)) → U19_ga(T120, T121, flattenc40_in_ga(T121))
flattenc40_in_ga(cons(cons(T130, T131), T132)) → U20_ga(T130, T131, T132, flattenc29_in_ggga(T130, T131, T132))
U21_ggga(T90, T103, T104, flattenc40_out_ga(T104, X174)) → flattenc29_out_ggga(atom(T90), atom(T103), T104, .(T90, .(T103, X174)))
U20_ga(T130, T131, T132, flattenc29_out_ggga(T130, T131, T132, X225)) → flattenc40_out_ga(cons(cons(T130, T131), T132), X225)
U19_ga(T120, T121, flattenc40_out_ga(T121, X205)) → flattenc40_out_ga(cons(atom(T120), T121), .(T120, X205))
The set Q consists of the following terms:
flattenc29_in_ggga(x0, x1, x2)
flattenc40_in_ga(x0)
U23_ggga(x0, x1, x2, x3, x4)
U22_ggga(x0, x1, x2, x3, x4)
U20_ga(x0, x1, x2, x3)
U19_ga(x0, x1, x2)
U21_ggga(x0, x1, x2, x3)
U24_ggga(x0, x1, x2, x3)
We have to consider all (P,Q,R)-chains.
(25) QDPOrderProof (EQUIVALENT transformation)
We use the reduction pair processor [LPAR04].
The following pairs can be oriented strictly and are deleted.
COUNT1_IN_GA(cons(atom(T8), cons(atom(T29), T30))) → COUNT1_IN_GA(T30)
COUNT1_IN_GA(cons(atom(T8), cons(cons(T51, T52), T53))) → U8_GA(T8, T51, T52, T53, U24_ggga(T51, T52, T53, flattenc29_in_ggga(T51, T52, T53)))
The remaining pairs can at least be oriented weakly.
Used ordering: Polynomial interpretation [POLO]:
POL(.(x1, x2)) = 0
POL(COUNT1_IN_GA(x1)) = 1 + x1
POL(U11_GA(x1, x2, x3, x4)) = 1 + x4
POL(U19_ga(x1, x2, x3)) = 0
POL(U20_ga(x1, x2, x3, x4)) = x4
POL(U21_ggga(x1, x2, x3, x4)) = 0
POL(U22_ggga(x1, x2, x3, x4, x5)) = 0
POL(U23_ggga(x1, x2, x3, x4, x5)) = x5
POL(U24_ggga(x1, x2, x3, x4)) = 1 + x4
POL(U8_GA(x1, x2, x3, x4, x5)) = x4 + x5
POL([]) = 0
POL(atom(x1)) = 1
POL(cons(x1, x2)) = x1 + x2
POL(flattenc24_out_ggga(x1, x2, x3, x4)) = 1 + x4
POL(flattenc29_in_ggga(x1, x2, x3)) = 0
POL(flattenc29_out_ggga(x1, x2, x3, x4)) = x4
POL(flattenc40_in_ga(x1)) = 0
POL(flattenc40_out_ga(x1, x2)) = 0
The following usable rules [FROCOS05] were oriented:
flattenc29_in_ggga(atom(T90), atom(T103), T104) → U21_ggga(T90, T103, T104, flattenc40_in_ga(T104))
flattenc29_in_ggga(atom(T90), cons(T142, T143), T144) → U22_ggga(T90, T142, T143, T144, flattenc29_in_ggga(T142, T143, T144))
flattenc29_in_ggga(cons(T156, T157), T158, T159) → U23_ggga(T156, T157, T158, T159, flattenc29_in_ggga(T156, T157, cons(T158, T159)))
U24_ggga(T72, T73, T74, flattenc29_out_ggga(T72, T73, T74, X117)) → flattenc24_out_ggga(T72, T73, T74, X117)
flattenc40_in_ga(cons(atom(T120), T121)) → U19_ga(T120, T121, flattenc40_in_ga(T121))
U19_ga(T120, T121, flattenc40_out_ga(T121, X205)) → flattenc40_out_ga(cons(atom(T120), T121), .(T120, X205))
flattenc40_in_ga(cons(cons(T130, T131), T132)) → U20_ga(T130, T131, T132, flattenc29_in_ggga(T130, T131, T132))
U20_ga(T130, T131, T132, flattenc29_out_ggga(T130, T131, T132, X225)) → flattenc40_out_ga(cons(cons(T130, T131), T132), X225)
U21_ggga(T90, T103, T104, flattenc40_out_ga(T104, X174)) → flattenc29_out_ggga(atom(T90), atom(T103), T104, .(T90, .(T103, X174)))
U22_ggga(T90, T142, T143, T144, flattenc29_out_ggga(T142, T143, T144, X250)) → flattenc29_out_ggga(atom(T90), cons(T142, T143), T144, .(T90, X250))
U23_ggga(T156, T157, T158, T159, flattenc29_out_ggga(T156, T157, cons(T158, T159), X275)) → flattenc29_out_ggga(cons(T156, T157), T158, T159, X275)
(26) Obligation:
Q DP problem:
The TRS P consists of the following rules:
U8_GA(T8, T51, T52, T53, flattenc24_out_ggga(T51, T52, T53, T59)) → COUNT1_IN_GA(T59)
COUNT1_IN_GA(cons(cons(T184, T185), T186)) → U11_GA(T184, T185, T186, flattenc29_in_ggga(T184, T185, T186))
U11_GA(T184, T185, T186, flattenc29_out_ggga(T184, T185, T186, T190)) → COUNT1_IN_GA(T190)
The TRS R consists of the following rules:
flattenc29_in_ggga(atom(T90), atom(T103), T104) → U21_ggga(T90, T103, T104, flattenc40_in_ga(T104))
flattenc29_in_ggga(atom(T90), cons(T142, T143), T144) → U22_ggga(T90, T142, T143, T144, flattenc29_in_ggga(T142, T143, T144))
flattenc29_in_ggga(cons(T156, T157), T158, T159) → U23_ggga(T156, T157, T158, T159, flattenc29_in_ggga(T156, T157, cons(T158, T159)))
U24_ggga(T72, T73, T74, flattenc29_out_ggga(T72, T73, T74, X117)) → flattenc24_out_ggga(T72, T73, T74, X117)
U23_ggga(T156, T157, T158, T159, flattenc29_out_ggga(T156, T157, cons(T158, T159), X275)) → flattenc29_out_ggga(cons(T156, T157), T158, T159, X275)
U22_ggga(T90, T142, T143, T144, flattenc29_out_ggga(T142, T143, T144, X250)) → flattenc29_out_ggga(atom(T90), cons(T142, T143), T144, .(T90, X250))
flattenc40_in_ga(atom(T111)) → flattenc40_out_ga(atom(T111), .(T111, []))
flattenc40_in_ga(cons(atom(T120), T121)) → U19_ga(T120, T121, flattenc40_in_ga(T121))
flattenc40_in_ga(cons(cons(T130, T131), T132)) → U20_ga(T130, T131, T132, flattenc29_in_ggga(T130, T131, T132))
U21_ggga(T90, T103, T104, flattenc40_out_ga(T104, X174)) → flattenc29_out_ggga(atom(T90), atom(T103), T104, .(T90, .(T103, X174)))
U20_ga(T130, T131, T132, flattenc29_out_ggga(T130, T131, T132, X225)) → flattenc40_out_ga(cons(cons(T130, T131), T132), X225)
U19_ga(T120, T121, flattenc40_out_ga(T121, X205)) → flattenc40_out_ga(cons(atom(T120), T121), .(T120, X205))
The set Q consists of the following terms:
flattenc29_in_ggga(x0, x1, x2)
flattenc40_in_ga(x0)
U23_ggga(x0, x1, x2, x3, x4)
U22_ggga(x0, x1, x2, x3, x4)
U20_ga(x0, x1, x2, x3)
U19_ga(x0, x1, x2)
U21_ggga(x0, x1, x2, x3)
U24_ggga(x0, x1, x2, x3)
We have to consider all (P,Q,R)-chains.
(27) DependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node.
(28) Obligation:
Q DP problem:
The TRS P consists of the following rules:
U11_GA(T184, T185, T186, flattenc29_out_ggga(T184, T185, T186, T190)) → COUNT1_IN_GA(T190)
COUNT1_IN_GA(cons(cons(T184, T185), T186)) → U11_GA(T184, T185, T186, flattenc29_in_ggga(T184, T185, T186))
The TRS R consists of the following rules:
flattenc29_in_ggga(atom(T90), atom(T103), T104) → U21_ggga(T90, T103, T104, flattenc40_in_ga(T104))
flattenc29_in_ggga(atom(T90), cons(T142, T143), T144) → U22_ggga(T90, T142, T143, T144, flattenc29_in_ggga(T142, T143, T144))
flattenc29_in_ggga(cons(T156, T157), T158, T159) → U23_ggga(T156, T157, T158, T159, flattenc29_in_ggga(T156, T157, cons(T158, T159)))
U24_ggga(T72, T73, T74, flattenc29_out_ggga(T72, T73, T74, X117)) → flattenc24_out_ggga(T72, T73, T74, X117)
U23_ggga(T156, T157, T158, T159, flattenc29_out_ggga(T156, T157, cons(T158, T159), X275)) → flattenc29_out_ggga(cons(T156, T157), T158, T159, X275)
U22_ggga(T90, T142, T143, T144, flattenc29_out_ggga(T142, T143, T144, X250)) → flattenc29_out_ggga(atom(T90), cons(T142, T143), T144, .(T90, X250))
flattenc40_in_ga(atom(T111)) → flattenc40_out_ga(atom(T111), .(T111, []))
flattenc40_in_ga(cons(atom(T120), T121)) → U19_ga(T120, T121, flattenc40_in_ga(T121))
flattenc40_in_ga(cons(cons(T130, T131), T132)) → U20_ga(T130, T131, T132, flattenc29_in_ggga(T130, T131, T132))
U21_ggga(T90, T103, T104, flattenc40_out_ga(T104, X174)) → flattenc29_out_ggga(atom(T90), atom(T103), T104, .(T90, .(T103, X174)))
U20_ga(T130, T131, T132, flattenc29_out_ggga(T130, T131, T132, X225)) → flattenc40_out_ga(cons(cons(T130, T131), T132), X225)
U19_ga(T120, T121, flattenc40_out_ga(T121, X205)) → flattenc40_out_ga(cons(atom(T120), T121), .(T120, X205))
The set Q consists of the following terms:
flattenc29_in_ggga(x0, x1, x2)
flattenc40_in_ga(x0)
U23_ggga(x0, x1, x2, x3, x4)
U22_ggga(x0, x1, x2, x3, x4)
U20_ga(x0, x1, x2, x3)
U19_ga(x0, x1, x2)
U21_ggga(x0, x1, x2, x3)
U24_ggga(x0, x1, x2, x3)
We have to consider all (P,Q,R)-chains.
(29) UsableRulesProof (EQUIVALENT transformation)
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.
(30) Obligation:
Q DP problem:
The TRS P consists of the following rules:
U11_GA(T184, T185, T186, flattenc29_out_ggga(T184, T185, T186, T190)) → COUNT1_IN_GA(T190)
COUNT1_IN_GA(cons(cons(T184, T185), T186)) → U11_GA(T184, T185, T186, flattenc29_in_ggga(T184, T185, T186))
The TRS R consists of the following rules:
flattenc29_in_ggga(atom(T90), atom(T103), T104) → U21_ggga(T90, T103, T104, flattenc40_in_ga(T104))
flattenc29_in_ggga(atom(T90), cons(T142, T143), T144) → U22_ggga(T90, T142, T143, T144, flattenc29_in_ggga(T142, T143, T144))
flattenc29_in_ggga(cons(T156, T157), T158, T159) → U23_ggga(T156, T157, T158, T159, flattenc29_in_ggga(T156, T157, cons(T158, T159)))
U23_ggga(T156, T157, T158, T159, flattenc29_out_ggga(T156, T157, cons(T158, T159), X275)) → flattenc29_out_ggga(cons(T156, T157), T158, T159, X275)
U22_ggga(T90, T142, T143, T144, flattenc29_out_ggga(T142, T143, T144, X250)) → flattenc29_out_ggga(atom(T90), cons(T142, T143), T144, .(T90, X250))
flattenc40_in_ga(atom(T111)) → flattenc40_out_ga(atom(T111), .(T111, []))
flattenc40_in_ga(cons(atom(T120), T121)) → U19_ga(T120, T121, flattenc40_in_ga(T121))
flattenc40_in_ga(cons(cons(T130, T131), T132)) → U20_ga(T130, T131, T132, flattenc29_in_ggga(T130, T131, T132))
U21_ggga(T90, T103, T104, flattenc40_out_ga(T104, X174)) → flattenc29_out_ggga(atom(T90), atom(T103), T104, .(T90, .(T103, X174)))
U20_ga(T130, T131, T132, flattenc29_out_ggga(T130, T131, T132, X225)) → flattenc40_out_ga(cons(cons(T130, T131), T132), X225)
U19_ga(T120, T121, flattenc40_out_ga(T121, X205)) → flattenc40_out_ga(cons(atom(T120), T121), .(T120, X205))
The set Q consists of the following terms:
flattenc29_in_ggga(x0, x1, x2)
flattenc40_in_ga(x0)
U23_ggga(x0, x1, x2, x3, x4)
U22_ggga(x0, x1, x2, x3, x4)
U20_ga(x0, x1, x2, x3)
U19_ga(x0, x1, x2)
U21_ggga(x0, x1, x2, x3)
U24_ggga(x0, x1, x2, x3)
We have to consider all (P,Q,R)-chains.
(31) QReductionProof (EQUIVALENT transformation)
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].
U24_ggga(x0, x1, x2, x3)
(32) Obligation:
Q DP problem:
The TRS P consists of the following rules:
U11_GA(T184, T185, T186, flattenc29_out_ggga(T184, T185, T186, T190)) → COUNT1_IN_GA(T190)
COUNT1_IN_GA(cons(cons(T184, T185), T186)) → U11_GA(T184, T185, T186, flattenc29_in_ggga(T184, T185, T186))
The TRS R consists of the following rules:
flattenc29_in_ggga(atom(T90), atom(T103), T104) → U21_ggga(T90, T103, T104, flattenc40_in_ga(T104))
flattenc29_in_ggga(atom(T90), cons(T142, T143), T144) → U22_ggga(T90, T142, T143, T144, flattenc29_in_ggga(T142, T143, T144))
flattenc29_in_ggga(cons(T156, T157), T158, T159) → U23_ggga(T156, T157, T158, T159, flattenc29_in_ggga(T156, T157, cons(T158, T159)))
U23_ggga(T156, T157, T158, T159, flattenc29_out_ggga(T156, T157, cons(T158, T159), X275)) → flattenc29_out_ggga(cons(T156, T157), T158, T159, X275)
U22_ggga(T90, T142, T143, T144, flattenc29_out_ggga(T142, T143, T144, X250)) → flattenc29_out_ggga(atom(T90), cons(T142, T143), T144, .(T90, X250))
flattenc40_in_ga(atom(T111)) → flattenc40_out_ga(atom(T111), .(T111, []))
flattenc40_in_ga(cons(atom(T120), T121)) → U19_ga(T120, T121, flattenc40_in_ga(T121))
flattenc40_in_ga(cons(cons(T130, T131), T132)) → U20_ga(T130, T131, T132, flattenc29_in_ggga(T130, T131, T132))
U21_ggga(T90, T103, T104, flattenc40_out_ga(T104, X174)) → flattenc29_out_ggga(atom(T90), atom(T103), T104, .(T90, .(T103, X174)))
U20_ga(T130, T131, T132, flattenc29_out_ggga(T130, T131, T132, X225)) → flattenc40_out_ga(cons(cons(T130, T131), T132), X225)
U19_ga(T120, T121, flattenc40_out_ga(T121, X205)) → flattenc40_out_ga(cons(atom(T120), T121), .(T120, X205))
The set Q consists of the following terms:
flattenc29_in_ggga(x0, x1, x2)
flattenc40_in_ga(x0)
U23_ggga(x0, x1, x2, x3, x4)
U22_ggga(x0, x1, x2, x3, x4)
U20_ga(x0, x1, x2, x3)
U19_ga(x0, x1, x2)
U21_ggga(x0, x1, x2, x3)
We have to consider all (P,Q,R)-chains.
(33) QDPOrderProof (EQUIVALENT transformation)
We use the reduction pair processor [LPAR04].
The following pairs can be oriented strictly and are deleted.
COUNT1_IN_GA(cons(cons(T184, T185), T186)) → U11_GA(T184, T185, T186, flattenc29_in_ggga(T184, T185, T186))
The remaining pairs can at least be oriented weakly.
Used ordering: Matrix interpretation [MATRO]:
POL(U11_GA(x1, x2, x3, x4)) = | 0 | + | | · | x1 | + | | · | x2 | + | | · | x3 | + | | · | x4 |
POL(flattenc29_out_ggga(x1, x2, x3, x4)) = | | + | | · | x1 | + | | · | x2 | + | | · | x3 | + | | · | x4 |
POL(COUNT1_IN_GA(x1)) = | 0 | + | | · | x1 |
POL(cons(x1, x2)) = | | + | | · | x1 | + | | · | x2 |
POL(flattenc29_in_ggga(x1, x2, x3)) = | | + | | · | x1 | + | | · | x2 | + | | · | x3 |
POL(U21_ggga(x1, x2, x3, x4)) = | | + | | · | x1 | + | | · | x2 | + | | · | x3 | + | | · | x4 |
POL(flattenc40_in_ga(x1)) = | | + | | · | x1 |
POL(U22_ggga(x1, x2, x3, x4, x5)) = | | + | | · | x1 | + | | · | x2 | + | | · | x3 | + | | · | x4 | + | | · | x5 |
POL(U23_ggga(x1, x2, x3, x4, x5)) = | | + | | · | x1 | + | | · | x2 | + | | · | x3 | + | | · | x4 | + | | · | x5 |
POL(U19_ga(x1, x2, x3)) = | | + | | · | x1 | + | | · | x2 | + | | · | x3 |
POL(flattenc40_out_ga(x1, x2)) = | | + | | · | x1 | + | | · | x2 |
POL(.(x1, x2)) = | | + | | · | x1 | + | | · | x2 |
POL(U20_ga(x1, x2, x3, x4)) = | | + | | · | x1 | + | | · | x2 | + | | · | x3 | + | | · | x4 |
The following usable rules [FROCOS05] were oriented:
flattenc29_in_ggga(atom(T90), atom(T103), T104) → U21_ggga(T90, T103, T104, flattenc40_in_ga(T104))
flattenc29_in_ggga(atom(T90), cons(T142, T143), T144) → U22_ggga(T90, T142, T143, T144, flattenc29_in_ggga(T142, T143, T144))
flattenc29_in_ggga(cons(T156, T157), T158, T159) → U23_ggga(T156, T157, T158, T159, flattenc29_in_ggga(T156, T157, cons(T158, T159)))
flattenc40_in_ga(cons(atom(T120), T121)) → U19_ga(T120, T121, flattenc40_in_ga(T121))
U19_ga(T120, T121, flattenc40_out_ga(T121, X205)) → flattenc40_out_ga(cons(atom(T120), T121), .(T120, X205))
flattenc40_in_ga(cons(cons(T130, T131), T132)) → U20_ga(T130, T131, T132, flattenc29_in_ggga(T130, T131, T132))
U20_ga(T130, T131, T132, flattenc29_out_ggga(T130, T131, T132, X225)) → flattenc40_out_ga(cons(cons(T130, T131), T132), X225)
U21_ggga(T90, T103, T104, flattenc40_out_ga(T104, X174)) → flattenc29_out_ggga(atom(T90), atom(T103), T104, .(T90, .(T103, X174)))
U22_ggga(T90, T142, T143, T144, flattenc29_out_ggga(T142, T143, T144, X250)) → flattenc29_out_ggga(atom(T90), cons(T142, T143), T144, .(T90, X250))
U23_ggga(T156, T157, T158, T159, flattenc29_out_ggga(T156, T157, cons(T158, T159), X275)) → flattenc29_out_ggga(cons(T156, T157), T158, T159, X275)
(34) Obligation:
Q DP problem:
The TRS P consists of the following rules:
U11_GA(T184, T185, T186, flattenc29_out_ggga(T184, T185, T186, T190)) → COUNT1_IN_GA(T190)
The TRS R consists of the following rules:
flattenc29_in_ggga(atom(T90), atom(T103), T104) → U21_ggga(T90, T103, T104, flattenc40_in_ga(T104))
flattenc29_in_ggga(atom(T90), cons(T142, T143), T144) → U22_ggga(T90, T142, T143, T144, flattenc29_in_ggga(T142, T143, T144))
flattenc29_in_ggga(cons(T156, T157), T158, T159) → U23_ggga(T156, T157, T158, T159, flattenc29_in_ggga(T156, T157, cons(T158, T159)))
U23_ggga(T156, T157, T158, T159, flattenc29_out_ggga(T156, T157, cons(T158, T159), X275)) → flattenc29_out_ggga(cons(T156, T157), T158, T159, X275)
U22_ggga(T90, T142, T143, T144, flattenc29_out_ggga(T142, T143, T144, X250)) → flattenc29_out_ggga(atom(T90), cons(T142, T143), T144, .(T90, X250))
flattenc40_in_ga(atom(T111)) → flattenc40_out_ga(atom(T111), .(T111, []))
flattenc40_in_ga(cons(atom(T120), T121)) → U19_ga(T120, T121, flattenc40_in_ga(T121))
flattenc40_in_ga(cons(cons(T130, T131), T132)) → U20_ga(T130, T131, T132, flattenc29_in_ggga(T130, T131, T132))
U21_ggga(T90, T103, T104, flattenc40_out_ga(T104, X174)) → flattenc29_out_ggga(atom(T90), atom(T103), T104, .(T90, .(T103, X174)))
U20_ga(T130, T131, T132, flattenc29_out_ggga(T130, T131, T132, X225)) → flattenc40_out_ga(cons(cons(T130, T131), T132), X225)
U19_ga(T120, T121, flattenc40_out_ga(T121, X205)) → flattenc40_out_ga(cons(atom(T120), T121), .(T120, X205))
The set Q consists of the following terms:
flattenc29_in_ggga(x0, x1, x2)
flattenc40_in_ga(x0)
U23_ggga(x0, x1, x2, x3, x4)
U22_ggga(x0, x1, x2, x3, x4)
U20_ga(x0, x1, x2, x3)
U19_ga(x0, x1, x2)
U21_ggga(x0, x1, x2, x3)
We have to consider all (P,Q,R)-chains.
(35) DependencyGraphProof (EQUIVALENT transformation)
The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node.
(36) TRUE