(0) Obligation:

Clauses:

app(.(X, Xs), Ys, .(X, Zs)) :- app(Xs, Ys, Zs).
app([], Ys, Ys).
reverse(.(X, Xs), Ys) :- ','(reverse(Xs, Zs), app(Zs, .(X, []), Ys)).
reverse([], []).

Query: reverse(g,a)

(1) PrologToPiTRSViaGraphTransformerProof (SOUND transformation)

Transformed Prolog program to (Pi-)TRS.

(2) Obligation:

Pi-finite rewrite system:
The TRS R consists of the following rules:

reverseA_in_ga(.(T6, .(T18, T19)), T9) → U1_ga(T6, T18, T19, T9, pB_in_gagaga(T19, X29, T18, X30, T6, T9))
pB_in_gagaga(T19, T22, T18, X30, T6, T9) → U5_gagaga(T19, T22, T18, X30, T6, T9, reverseC_in_ga(T19, T22))
reverseC_in_ga(.(T33, T34), X63) → U2_ga(T33, T34, X63, pD_in_gaga(T34, X62, T33, X63))
pD_in_gaga(T34, T37, T33, X63) → U9_gaga(T34, T37, T33, X63, reverseC_in_ga(T34, T37))
reverseC_in_ga([], []) → reverseC_out_ga([], [])
U9_gaga(T34, T37, T33, X63, reverseC_out_ga(T34, T37)) → U10_gaga(T34, T37, T33, X63, appE_in_gga(T37, T33, X63))
appE_in_gga(.(T55, T56), T57, .(T55, X103)) → U3_gga(T55, T56, T57, X103, appE_in_gga(T56, T57, X103))
appE_in_gga([], T63, .(T63, [])) → appE_out_gga([], T63, .(T63, []))
U3_gga(T55, T56, T57, X103, appE_out_gga(T56, T57, X103)) → appE_out_gga(.(T55, T56), T57, .(T55, X103))
U10_gaga(T34, T37, T33, X63, appE_out_gga(T37, T33, X63)) → pD_out_gaga(T34, T37, T33, X63)
U2_ga(T33, T34, X63, pD_out_gaga(T34, X62, T33, X63)) → reverseC_out_ga(.(T33, T34), X63)
U5_gagaga(T19, T22, T18, X30, T6, T9, reverseC_out_ga(T19, T22)) → U6_gagaga(T19, T22, T18, X30, T6, T9, pG_in_ggaga(T22, T18, X30, T6, T9))
pG_in_ggaga(T22, T18, T67, T6, T9) → U7_ggaga(T22, T18, T67, T6, T9, appE_in_gga(T22, T18, T67))
U7_ggaga(T22, T18, T67, T6, T9, appE_out_gga(T22, T18, T67)) → U8_ggaga(T22, T18, T67, T6, T9, appF_in_gga(T67, T6, T9))
appF_in_gga(.(T91, T92), T93, .(T91, T95)) → U4_gga(T91, T92, T93, T95, appF_in_gga(T92, T93, T95))
appF_in_gga([], T102, .(T102, [])) → appF_out_gga([], T102, .(T102, []))
U4_gga(T91, T92, T93, T95, appF_out_gga(T92, T93, T95)) → appF_out_gga(.(T91, T92), T93, .(T91, T95))
U8_ggaga(T22, T18, T67, T6, T9, appF_out_gga(T67, T6, T9)) → pG_out_ggaga(T22, T18, T67, T6, T9)
U6_gagaga(T19, T22, T18, X30, T6, T9, pG_out_ggaga(T22, T18, X30, T6, T9)) → pB_out_gagaga(T19, T22, T18, X30, T6, T9)
U1_ga(T6, T18, T19, T9, pB_out_gagaga(T19, X29, T18, X30, T6, T9)) → reverseA_out_ga(.(T6, .(T18, T19)), T9)
reverseA_in_ga(.(T105, []), .(T105, [])) → reverseA_out_ga(.(T105, []), .(T105, []))
reverseA_in_ga([], []) → reverseA_out_ga([], [])

The argument filtering Pi contains the following mapping:
reverseA_in_ga(x1, x2)  =  reverseA_in_ga(x1)
.(x1, x2)  =  .(x1, x2)
U1_ga(x1, x2, x3, x4, x5)  =  U1_ga(x1, x2, x3, x5)
pB_in_gagaga(x1, x2, x3, x4, x5, x6)  =  pB_in_gagaga(x1, x3, x5)
U5_gagaga(x1, x2, x3, x4, x5, x6, x7)  =  U5_gagaga(x1, x3, x5, x7)
reverseC_in_ga(x1, x2)  =  reverseC_in_ga(x1)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x1, x2, x4)
pD_in_gaga(x1, x2, x3, x4)  =  pD_in_gaga(x1, x3)
U9_gaga(x1, x2, x3, x4, x5)  =  U9_gaga(x1, x3, x5)
[]  =  []
reverseC_out_ga(x1, x2)  =  reverseC_out_ga(x1, x2)
U10_gaga(x1, x2, x3, x4, x5)  =  U10_gaga(x1, x2, x3, x5)
appE_in_gga(x1, x2, x3)  =  appE_in_gga(x1, x2)
U3_gga(x1, x2, x3, x4, x5)  =  U3_gga(x1, x2, x3, x5)
appE_out_gga(x1, x2, x3)  =  appE_out_gga(x1, x2, x3)
pD_out_gaga(x1, x2, x3, x4)  =  pD_out_gaga(x1, x2, x3, x4)
U6_gagaga(x1, x2, x3, x4, x5, x6, x7)  =  U6_gagaga(x1, x2, x3, x5, x7)
pG_in_ggaga(x1, x2, x3, x4, x5)  =  pG_in_ggaga(x1, x2, x4)
U7_ggaga(x1, x2, x3, x4, x5, x6)  =  U7_ggaga(x1, x2, x4, x6)
U8_ggaga(x1, x2, x3, x4, x5, x6)  =  U8_ggaga(x1, x2, x3, x4, x6)
appF_in_gga(x1, x2, x3)  =  appF_in_gga(x1, x2)
U4_gga(x1, x2, x3, x4, x5)  =  U4_gga(x1, x2, x3, x5)
appF_out_gga(x1, x2, x3)  =  appF_out_gga(x1, x2, x3)
pG_out_ggaga(x1, x2, x3, x4, x5)  =  pG_out_ggaga(x1, x2, x3, x4, x5)
pB_out_gagaga(x1, x2, x3, x4, x5, x6)  =  pB_out_gagaga(x1, x2, x3, x4, x5, x6)
reverseA_out_ga(x1, x2)  =  reverseA_out_ga(x1, x2)

(3) DependencyPairsProof (EQUIVALENT transformation)

Using Dependency Pairs [AG00,LOPSTR] we result in the following initial DP problem:
Pi DP problem:
The TRS P consists of the following rules:

REVERSEA_IN_GA(.(T6, .(T18, T19)), T9) → U1_GA(T6, T18, T19, T9, pB_in_gagaga(T19, X29, T18, X30, T6, T9))
REVERSEA_IN_GA(.(T6, .(T18, T19)), T9) → PB_IN_GAGAGA(T19, X29, T18, X30, T6, T9)
PB_IN_GAGAGA(T19, T22, T18, X30, T6, T9) → U5_GAGAGA(T19, T22, T18, X30, T6, T9, reverseC_in_ga(T19, T22))
PB_IN_GAGAGA(T19, T22, T18, X30, T6, T9) → REVERSEC_IN_GA(T19, T22)
REVERSEC_IN_GA(.(T33, T34), X63) → U2_GA(T33, T34, X63, pD_in_gaga(T34, X62, T33, X63))
REVERSEC_IN_GA(.(T33, T34), X63) → PD_IN_GAGA(T34, X62, T33, X63)
PD_IN_GAGA(T34, T37, T33, X63) → U9_GAGA(T34, T37, T33, X63, reverseC_in_ga(T34, T37))
PD_IN_GAGA(T34, T37, T33, X63) → REVERSEC_IN_GA(T34, T37)
U9_GAGA(T34, T37, T33, X63, reverseC_out_ga(T34, T37)) → U10_GAGA(T34, T37, T33, X63, appE_in_gga(T37, T33, X63))
U9_GAGA(T34, T37, T33, X63, reverseC_out_ga(T34, T37)) → APPE_IN_GGA(T37, T33, X63)
APPE_IN_GGA(.(T55, T56), T57, .(T55, X103)) → U3_GGA(T55, T56, T57, X103, appE_in_gga(T56, T57, X103))
APPE_IN_GGA(.(T55, T56), T57, .(T55, X103)) → APPE_IN_GGA(T56, T57, X103)
U5_GAGAGA(T19, T22, T18, X30, T6, T9, reverseC_out_ga(T19, T22)) → U6_GAGAGA(T19, T22, T18, X30, T6, T9, pG_in_ggaga(T22, T18, X30, T6, T9))
U5_GAGAGA(T19, T22, T18, X30, T6, T9, reverseC_out_ga(T19, T22)) → PG_IN_GGAGA(T22, T18, X30, T6, T9)
PG_IN_GGAGA(T22, T18, T67, T6, T9) → U7_GGAGA(T22, T18, T67, T6, T9, appE_in_gga(T22, T18, T67))
PG_IN_GGAGA(T22, T18, T67, T6, T9) → APPE_IN_GGA(T22, T18, T67)
U7_GGAGA(T22, T18, T67, T6, T9, appE_out_gga(T22, T18, T67)) → U8_GGAGA(T22, T18, T67, T6, T9, appF_in_gga(T67, T6, T9))
U7_GGAGA(T22, T18, T67, T6, T9, appE_out_gga(T22, T18, T67)) → APPF_IN_GGA(T67, T6, T9)
APPF_IN_GGA(.(T91, T92), T93, .(T91, T95)) → U4_GGA(T91, T92, T93, T95, appF_in_gga(T92, T93, T95))
APPF_IN_GGA(.(T91, T92), T93, .(T91, T95)) → APPF_IN_GGA(T92, T93, T95)

The TRS R consists of the following rules:

reverseA_in_ga(.(T6, .(T18, T19)), T9) → U1_ga(T6, T18, T19, T9, pB_in_gagaga(T19, X29, T18, X30, T6, T9))
pB_in_gagaga(T19, T22, T18, X30, T6, T9) → U5_gagaga(T19, T22, T18, X30, T6, T9, reverseC_in_ga(T19, T22))
reverseC_in_ga(.(T33, T34), X63) → U2_ga(T33, T34, X63, pD_in_gaga(T34, X62, T33, X63))
pD_in_gaga(T34, T37, T33, X63) → U9_gaga(T34, T37, T33, X63, reverseC_in_ga(T34, T37))
reverseC_in_ga([], []) → reverseC_out_ga([], [])
U9_gaga(T34, T37, T33, X63, reverseC_out_ga(T34, T37)) → U10_gaga(T34, T37, T33, X63, appE_in_gga(T37, T33, X63))
appE_in_gga(.(T55, T56), T57, .(T55, X103)) → U3_gga(T55, T56, T57, X103, appE_in_gga(T56, T57, X103))
appE_in_gga([], T63, .(T63, [])) → appE_out_gga([], T63, .(T63, []))
U3_gga(T55, T56, T57, X103, appE_out_gga(T56, T57, X103)) → appE_out_gga(.(T55, T56), T57, .(T55, X103))
U10_gaga(T34, T37, T33, X63, appE_out_gga(T37, T33, X63)) → pD_out_gaga(T34, T37, T33, X63)
U2_ga(T33, T34, X63, pD_out_gaga(T34, X62, T33, X63)) → reverseC_out_ga(.(T33, T34), X63)
U5_gagaga(T19, T22, T18, X30, T6, T9, reverseC_out_ga(T19, T22)) → U6_gagaga(T19, T22, T18, X30, T6, T9, pG_in_ggaga(T22, T18, X30, T6, T9))
pG_in_ggaga(T22, T18, T67, T6, T9) → U7_ggaga(T22, T18, T67, T6, T9, appE_in_gga(T22, T18, T67))
U7_ggaga(T22, T18, T67, T6, T9, appE_out_gga(T22, T18, T67)) → U8_ggaga(T22, T18, T67, T6, T9, appF_in_gga(T67, T6, T9))
appF_in_gga(.(T91, T92), T93, .(T91, T95)) → U4_gga(T91, T92, T93, T95, appF_in_gga(T92, T93, T95))
appF_in_gga([], T102, .(T102, [])) → appF_out_gga([], T102, .(T102, []))
U4_gga(T91, T92, T93, T95, appF_out_gga(T92, T93, T95)) → appF_out_gga(.(T91, T92), T93, .(T91, T95))
U8_ggaga(T22, T18, T67, T6, T9, appF_out_gga(T67, T6, T9)) → pG_out_ggaga(T22, T18, T67, T6, T9)
U6_gagaga(T19, T22, T18, X30, T6, T9, pG_out_ggaga(T22, T18, X30, T6, T9)) → pB_out_gagaga(T19, T22, T18, X30, T6, T9)
U1_ga(T6, T18, T19, T9, pB_out_gagaga(T19, X29, T18, X30, T6, T9)) → reverseA_out_ga(.(T6, .(T18, T19)), T9)
reverseA_in_ga(.(T105, []), .(T105, [])) → reverseA_out_ga(.(T105, []), .(T105, []))
reverseA_in_ga([], []) → reverseA_out_ga([], [])

The argument filtering Pi contains the following mapping:
reverseA_in_ga(x1, x2)  =  reverseA_in_ga(x1)
.(x1, x2)  =  .(x1, x2)
U1_ga(x1, x2, x3, x4, x5)  =  U1_ga(x1, x2, x3, x5)
pB_in_gagaga(x1, x2, x3, x4, x5, x6)  =  pB_in_gagaga(x1, x3, x5)
U5_gagaga(x1, x2, x3, x4, x5, x6, x7)  =  U5_gagaga(x1, x3, x5, x7)
reverseC_in_ga(x1, x2)  =  reverseC_in_ga(x1)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x1, x2, x4)
pD_in_gaga(x1, x2, x3, x4)  =  pD_in_gaga(x1, x3)
U9_gaga(x1, x2, x3, x4, x5)  =  U9_gaga(x1, x3, x5)
[]  =  []
reverseC_out_ga(x1, x2)  =  reverseC_out_ga(x1, x2)
U10_gaga(x1, x2, x3, x4, x5)  =  U10_gaga(x1, x2, x3, x5)
appE_in_gga(x1, x2, x3)  =  appE_in_gga(x1, x2)
U3_gga(x1, x2, x3, x4, x5)  =  U3_gga(x1, x2, x3, x5)
appE_out_gga(x1, x2, x3)  =  appE_out_gga(x1, x2, x3)
pD_out_gaga(x1, x2, x3, x4)  =  pD_out_gaga(x1, x2, x3, x4)
U6_gagaga(x1, x2, x3, x4, x5, x6, x7)  =  U6_gagaga(x1, x2, x3, x5, x7)
pG_in_ggaga(x1, x2, x3, x4, x5)  =  pG_in_ggaga(x1, x2, x4)
U7_ggaga(x1, x2, x3, x4, x5, x6)  =  U7_ggaga(x1, x2, x4, x6)
U8_ggaga(x1, x2, x3, x4, x5, x6)  =  U8_ggaga(x1, x2, x3, x4, x6)
appF_in_gga(x1, x2, x3)  =  appF_in_gga(x1, x2)
U4_gga(x1, x2, x3, x4, x5)  =  U4_gga(x1, x2, x3, x5)
appF_out_gga(x1, x2, x3)  =  appF_out_gga(x1, x2, x3)
pG_out_ggaga(x1, x2, x3, x4, x5)  =  pG_out_ggaga(x1, x2, x3, x4, x5)
pB_out_gagaga(x1, x2, x3, x4, x5, x6)  =  pB_out_gagaga(x1, x2, x3, x4, x5, x6)
reverseA_out_ga(x1, x2)  =  reverseA_out_ga(x1, x2)
REVERSEA_IN_GA(x1, x2)  =  REVERSEA_IN_GA(x1)
U1_GA(x1, x2, x3, x4, x5)  =  U1_GA(x1, x2, x3, x5)
PB_IN_GAGAGA(x1, x2, x3, x4, x5, x6)  =  PB_IN_GAGAGA(x1, x3, x5)
U5_GAGAGA(x1, x2, x3, x4, x5, x6, x7)  =  U5_GAGAGA(x1, x3, x5, x7)
REVERSEC_IN_GA(x1, x2)  =  REVERSEC_IN_GA(x1)
U2_GA(x1, x2, x3, x4)  =  U2_GA(x1, x2, x4)
PD_IN_GAGA(x1, x2, x3, x4)  =  PD_IN_GAGA(x1, x3)
U9_GAGA(x1, x2, x3, x4, x5)  =  U9_GAGA(x1, x3, x5)
U10_GAGA(x1, x2, x3, x4, x5)  =  U10_GAGA(x1, x2, x3, x5)
APPE_IN_GGA(x1, x2, x3)  =  APPE_IN_GGA(x1, x2)
U3_GGA(x1, x2, x3, x4, x5)  =  U3_GGA(x1, x2, x3, x5)
U6_GAGAGA(x1, x2, x3, x4, x5, x6, x7)  =  U6_GAGAGA(x1, x2, x3, x5, x7)
PG_IN_GGAGA(x1, x2, x3, x4, x5)  =  PG_IN_GGAGA(x1, x2, x4)
U7_GGAGA(x1, x2, x3, x4, x5, x6)  =  U7_GGAGA(x1, x2, x4, x6)
U8_GGAGA(x1, x2, x3, x4, x5, x6)  =  U8_GGAGA(x1, x2, x3, x4, x6)
APPF_IN_GGA(x1, x2, x3)  =  APPF_IN_GGA(x1, x2)
U4_GGA(x1, x2, x3, x4, x5)  =  U4_GGA(x1, x2, x3, x5)

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

(4) Obligation:

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

REVERSEA_IN_GA(.(T6, .(T18, T19)), T9) → U1_GA(T6, T18, T19, T9, pB_in_gagaga(T19, X29, T18, X30, T6, T9))
REVERSEA_IN_GA(.(T6, .(T18, T19)), T9) → PB_IN_GAGAGA(T19, X29, T18, X30, T6, T9)
PB_IN_GAGAGA(T19, T22, T18, X30, T6, T9) → U5_GAGAGA(T19, T22, T18, X30, T6, T9, reverseC_in_ga(T19, T22))
PB_IN_GAGAGA(T19, T22, T18, X30, T6, T9) → REVERSEC_IN_GA(T19, T22)
REVERSEC_IN_GA(.(T33, T34), X63) → U2_GA(T33, T34, X63, pD_in_gaga(T34, X62, T33, X63))
REVERSEC_IN_GA(.(T33, T34), X63) → PD_IN_GAGA(T34, X62, T33, X63)
PD_IN_GAGA(T34, T37, T33, X63) → U9_GAGA(T34, T37, T33, X63, reverseC_in_ga(T34, T37))
PD_IN_GAGA(T34, T37, T33, X63) → REVERSEC_IN_GA(T34, T37)
U9_GAGA(T34, T37, T33, X63, reverseC_out_ga(T34, T37)) → U10_GAGA(T34, T37, T33, X63, appE_in_gga(T37, T33, X63))
U9_GAGA(T34, T37, T33, X63, reverseC_out_ga(T34, T37)) → APPE_IN_GGA(T37, T33, X63)
APPE_IN_GGA(.(T55, T56), T57, .(T55, X103)) → U3_GGA(T55, T56, T57, X103, appE_in_gga(T56, T57, X103))
APPE_IN_GGA(.(T55, T56), T57, .(T55, X103)) → APPE_IN_GGA(T56, T57, X103)
U5_GAGAGA(T19, T22, T18, X30, T6, T9, reverseC_out_ga(T19, T22)) → U6_GAGAGA(T19, T22, T18, X30, T6, T9, pG_in_ggaga(T22, T18, X30, T6, T9))
U5_GAGAGA(T19, T22, T18, X30, T6, T9, reverseC_out_ga(T19, T22)) → PG_IN_GGAGA(T22, T18, X30, T6, T9)
PG_IN_GGAGA(T22, T18, T67, T6, T9) → U7_GGAGA(T22, T18, T67, T6, T9, appE_in_gga(T22, T18, T67))
PG_IN_GGAGA(T22, T18, T67, T6, T9) → APPE_IN_GGA(T22, T18, T67)
U7_GGAGA(T22, T18, T67, T6, T9, appE_out_gga(T22, T18, T67)) → U8_GGAGA(T22, T18, T67, T6, T9, appF_in_gga(T67, T6, T9))
U7_GGAGA(T22, T18, T67, T6, T9, appE_out_gga(T22, T18, T67)) → APPF_IN_GGA(T67, T6, T9)
APPF_IN_GGA(.(T91, T92), T93, .(T91, T95)) → U4_GGA(T91, T92, T93, T95, appF_in_gga(T92, T93, T95))
APPF_IN_GGA(.(T91, T92), T93, .(T91, T95)) → APPF_IN_GGA(T92, T93, T95)

The TRS R consists of the following rules:

reverseA_in_ga(.(T6, .(T18, T19)), T9) → U1_ga(T6, T18, T19, T9, pB_in_gagaga(T19, X29, T18, X30, T6, T9))
pB_in_gagaga(T19, T22, T18, X30, T6, T9) → U5_gagaga(T19, T22, T18, X30, T6, T9, reverseC_in_ga(T19, T22))
reverseC_in_ga(.(T33, T34), X63) → U2_ga(T33, T34, X63, pD_in_gaga(T34, X62, T33, X63))
pD_in_gaga(T34, T37, T33, X63) → U9_gaga(T34, T37, T33, X63, reverseC_in_ga(T34, T37))
reverseC_in_ga([], []) → reverseC_out_ga([], [])
U9_gaga(T34, T37, T33, X63, reverseC_out_ga(T34, T37)) → U10_gaga(T34, T37, T33, X63, appE_in_gga(T37, T33, X63))
appE_in_gga(.(T55, T56), T57, .(T55, X103)) → U3_gga(T55, T56, T57, X103, appE_in_gga(T56, T57, X103))
appE_in_gga([], T63, .(T63, [])) → appE_out_gga([], T63, .(T63, []))
U3_gga(T55, T56, T57, X103, appE_out_gga(T56, T57, X103)) → appE_out_gga(.(T55, T56), T57, .(T55, X103))
U10_gaga(T34, T37, T33, X63, appE_out_gga(T37, T33, X63)) → pD_out_gaga(T34, T37, T33, X63)
U2_ga(T33, T34, X63, pD_out_gaga(T34, X62, T33, X63)) → reverseC_out_ga(.(T33, T34), X63)
U5_gagaga(T19, T22, T18, X30, T6, T9, reverseC_out_ga(T19, T22)) → U6_gagaga(T19, T22, T18, X30, T6, T9, pG_in_ggaga(T22, T18, X30, T6, T9))
pG_in_ggaga(T22, T18, T67, T6, T9) → U7_ggaga(T22, T18, T67, T6, T9, appE_in_gga(T22, T18, T67))
U7_ggaga(T22, T18, T67, T6, T9, appE_out_gga(T22, T18, T67)) → U8_ggaga(T22, T18, T67, T6, T9, appF_in_gga(T67, T6, T9))
appF_in_gga(.(T91, T92), T93, .(T91, T95)) → U4_gga(T91, T92, T93, T95, appF_in_gga(T92, T93, T95))
appF_in_gga([], T102, .(T102, [])) → appF_out_gga([], T102, .(T102, []))
U4_gga(T91, T92, T93, T95, appF_out_gga(T92, T93, T95)) → appF_out_gga(.(T91, T92), T93, .(T91, T95))
U8_ggaga(T22, T18, T67, T6, T9, appF_out_gga(T67, T6, T9)) → pG_out_ggaga(T22, T18, T67, T6, T9)
U6_gagaga(T19, T22, T18, X30, T6, T9, pG_out_ggaga(T22, T18, X30, T6, T9)) → pB_out_gagaga(T19, T22, T18, X30, T6, T9)
U1_ga(T6, T18, T19, T9, pB_out_gagaga(T19, X29, T18, X30, T6, T9)) → reverseA_out_ga(.(T6, .(T18, T19)), T9)
reverseA_in_ga(.(T105, []), .(T105, [])) → reverseA_out_ga(.(T105, []), .(T105, []))
reverseA_in_ga([], []) → reverseA_out_ga([], [])

The argument filtering Pi contains the following mapping:
reverseA_in_ga(x1, x2)  =  reverseA_in_ga(x1)
.(x1, x2)  =  .(x1, x2)
U1_ga(x1, x2, x3, x4, x5)  =  U1_ga(x1, x2, x3, x5)
pB_in_gagaga(x1, x2, x3, x4, x5, x6)  =  pB_in_gagaga(x1, x3, x5)
U5_gagaga(x1, x2, x3, x4, x5, x6, x7)  =  U5_gagaga(x1, x3, x5, x7)
reverseC_in_ga(x1, x2)  =  reverseC_in_ga(x1)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x1, x2, x4)
pD_in_gaga(x1, x2, x3, x4)  =  pD_in_gaga(x1, x3)
U9_gaga(x1, x2, x3, x4, x5)  =  U9_gaga(x1, x3, x5)
[]  =  []
reverseC_out_ga(x1, x2)  =  reverseC_out_ga(x1, x2)
U10_gaga(x1, x2, x3, x4, x5)  =  U10_gaga(x1, x2, x3, x5)
appE_in_gga(x1, x2, x3)  =  appE_in_gga(x1, x2)
U3_gga(x1, x2, x3, x4, x5)  =  U3_gga(x1, x2, x3, x5)
appE_out_gga(x1, x2, x3)  =  appE_out_gga(x1, x2, x3)
pD_out_gaga(x1, x2, x3, x4)  =  pD_out_gaga(x1, x2, x3, x4)
U6_gagaga(x1, x2, x3, x4, x5, x6, x7)  =  U6_gagaga(x1, x2, x3, x5, x7)
pG_in_ggaga(x1, x2, x3, x4, x5)  =  pG_in_ggaga(x1, x2, x4)
U7_ggaga(x1, x2, x3, x4, x5, x6)  =  U7_ggaga(x1, x2, x4, x6)
U8_ggaga(x1, x2, x3, x4, x5, x6)  =  U8_ggaga(x1, x2, x3, x4, x6)
appF_in_gga(x1, x2, x3)  =  appF_in_gga(x1, x2)
U4_gga(x1, x2, x3, x4, x5)  =  U4_gga(x1, x2, x3, x5)
appF_out_gga(x1, x2, x3)  =  appF_out_gga(x1, x2, x3)
pG_out_ggaga(x1, x2, x3, x4, x5)  =  pG_out_ggaga(x1, x2, x3, x4, x5)
pB_out_gagaga(x1, x2, x3, x4, x5, x6)  =  pB_out_gagaga(x1, x2, x3, x4, x5, x6)
reverseA_out_ga(x1, x2)  =  reverseA_out_ga(x1, x2)
REVERSEA_IN_GA(x1, x2)  =  REVERSEA_IN_GA(x1)
U1_GA(x1, x2, x3, x4, x5)  =  U1_GA(x1, x2, x3, x5)
PB_IN_GAGAGA(x1, x2, x3, x4, x5, x6)  =  PB_IN_GAGAGA(x1, x3, x5)
U5_GAGAGA(x1, x2, x3, x4, x5, x6, x7)  =  U5_GAGAGA(x1, x3, x5, x7)
REVERSEC_IN_GA(x1, x2)  =  REVERSEC_IN_GA(x1)
U2_GA(x1, x2, x3, x4)  =  U2_GA(x1, x2, x4)
PD_IN_GAGA(x1, x2, x3, x4)  =  PD_IN_GAGA(x1, x3)
U9_GAGA(x1, x2, x3, x4, x5)  =  U9_GAGA(x1, x3, x5)
U10_GAGA(x1, x2, x3, x4, x5)  =  U10_GAGA(x1, x2, x3, x5)
APPE_IN_GGA(x1, x2, x3)  =  APPE_IN_GGA(x1, x2)
U3_GGA(x1, x2, x3, x4, x5)  =  U3_GGA(x1, x2, x3, x5)
U6_GAGAGA(x1, x2, x3, x4, x5, x6, x7)  =  U6_GAGAGA(x1, x2, x3, x5, x7)
PG_IN_GGAGA(x1, x2, x3, x4, x5)  =  PG_IN_GGAGA(x1, x2, x4)
U7_GGAGA(x1, x2, x3, x4, x5, x6)  =  U7_GGAGA(x1, x2, x4, x6)
U8_GGAGA(x1, x2, x3, x4, x5, x6)  =  U8_GGAGA(x1, x2, x3, x4, x6)
APPF_IN_GGA(x1, x2, x3)  =  APPF_IN_GGA(x1, x2)
U4_GGA(x1, x2, x3, x4, x5)  =  U4_GGA(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 3 SCCs with 16 less nodes.

(6) Complex Obligation (AND)

(7) Obligation:

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

APPF_IN_GGA(.(T91, T92), T93, .(T91, T95)) → APPF_IN_GGA(T92, T93, T95)

The TRS R consists of the following rules:

reverseA_in_ga(.(T6, .(T18, T19)), T9) → U1_ga(T6, T18, T19, T9, pB_in_gagaga(T19, X29, T18, X30, T6, T9))
pB_in_gagaga(T19, T22, T18, X30, T6, T9) → U5_gagaga(T19, T22, T18, X30, T6, T9, reverseC_in_ga(T19, T22))
reverseC_in_ga(.(T33, T34), X63) → U2_ga(T33, T34, X63, pD_in_gaga(T34, X62, T33, X63))
pD_in_gaga(T34, T37, T33, X63) → U9_gaga(T34, T37, T33, X63, reverseC_in_ga(T34, T37))
reverseC_in_ga([], []) → reverseC_out_ga([], [])
U9_gaga(T34, T37, T33, X63, reverseC_out_ga(T34, T37)) → U10_gaga(T34, T37, T33, X63, appE_in_gga(T37, T33, X63))
appE_in_gga(.(T55, T56), T57, .(T55, X103)) → U3_gga(T55, T56, T57, X103, appE_in_gga(T56, T57, X103))
appE_in_gga([], T63, .(T63, [])) → appE_out_gga([], T63, .(T63, []))
U3_gga(T55, T56, T57, X103, appE_out_gga(T56, T57, X103)) → appE_out_gga(.(T55, T56), T57, .(T55, X103))
U10_gaga(T34, T37, T33, X63, appE_out_gga(T37, T33, X63)) → pD_out_gaga(T34, T37, T33, X63)
U2_ga(T33, T34, X63, pD_out_gaga(T34, X62, T33, X63)) → reverseC_out_ga(.(T33, T34), X63)
U5_gagaga(T19, T22, T18, X30, T6, T9, reverseC_out_ga(T19, T22)) → U6_gagaga(T19, T22, T18, X30, T6, T9, pG_in_ggaga(T22, T18, X30, T6, T9))
pG_in_ggaga(T22, T18, T67, T6, T9) → U7_ggaga(T22, T18, T67, T6, T9, appE_in_gga(T22, T18, T67))
U7_ggaga(T22, T18, T67, T6, T9, appE_out_gga(T22, T18, T67)) → U8_ggaga(T22, T18, T67, T6, T9, appF_in_gga(T67, T6, T9))
appF_in_gga(.(T91, T92), T93, .(T91, T95)) → U4_gga(T91, T92, T93, T95, appF_in_gga(T92, T93, T95))
appF_in_gga([], T102, .(T102, [])) → appF_out_gga([], T102, .(T102, []))
U4_gga(T91, T92, T93, T95, appF_out_gga(T92, T93, T95)) → appF_out_gga(.(T91, T92), T93, .(T91, T95))
U8_ggaga(T22, T18, T67, T6, T9, appF_out_gga(T67, T6, T9)) → pG_out_ggaga(T22, T18, T67, T6, T9)
U6_gagaga(T19, T22, T18, X30, T6, T9, pG_out_ggaga(T22, T18, X30, T6, T9)) → pB_out_gagaga(T19, T22, T18, X30, T6, T9)
U1_ga(T6, T18, T19, T9, pB_out_gagaga(T19, X29, T18, X30, T6, T9)) → reverseA_out_ga(.(T6, .(T18, T19)), T9)
reverseA_in_ga(.(T105, []), .(T105, [])) → reverseA_out_ga(.(T105, []), .(T105, []))
reverseA_in_ga([], []) → reverseA_out_ga([], [])

The argument filtering Pi contains the following mapping:
reverseA_in_ga(x1, x2)  =  reverseA_in_ga(x1)
.(x1, x2)  =  .(x1, x2)
U1_ga(x1, x2, x3, x4, x5)  =  U1_ga(x1, x2, x3, x5)
pB_in_gagaga(x1, x2, x3, x4, x5, x6)  =  pB_in_gagaga(x1, x3, x5)
U5_gagaga(x1, x2, x3, x4, x5, x6, x7)  =  U5_gagaga(x1, x3, x5, x7)
reverseC_in_ga(x1, x2)  =  reverseC_in_ga(x1)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x1, x2, x4)
pD_in_gaga(x1, x2, x3, x4)  =  pD_in_gaga(x1, x3)
U9_gaga(x1, x2, x3, x4, x5)  =  U9_gaga(x1, x3, x5)
[]  =  []
reverseC_out_ga(x1, x2)  =  reverseC_out_ga(x1, x2)
U10_gaga(x1, x2, x3, x4, x5)  =  U10_gaga(x1, x2, x3, x5)
appE_in_gga(x1, x2, x3)  =  appE_in_gga(x1, x2)
U3_gga(x1, x2, x3, x4, x5)  =  U3_gga(x1, x2, x3, x5)
appE_out_gga(x1, x2, x3)  =  appE_out_gga(x1, x2, x3)
pD_out_gaga(x1, x2, x3, x4)  =  pD_out_gaga(x1, x2, x3, x4)
U6_gagaga(x1, x2, x3, x4, x5, x6, x7)  =  U6_gagaga(x1, x2, x3, x5, x7)
pG_in_ggaga(x1, x2, x3, x4, x5)  =  pG_in_ggaga(x1, x2, x4)
U7_ggaga(x1, x2, x3, x4, x5, x6)  =  U7_ggaga(x1, x2, x4, x6)
U8_ggaga(x1, x2, x3, x4, x5, x6)  =  U8_ggaga(x1, x2, x3, x4, x6)
appF_in_gga(x1, x2, x3)  =  appF_in_gga(x1, x2)
U4_gga(x1, x2, x3, x4, x5)  =  U4_gga(x1, x2, x3, x5)
appF_out_gga(x1, x2, x3)  =  appF_out_gga(x1, x2, x3)
pG_out_ggaga(x1, x2, x3, x4, x5)  =  pG_out_ggaga(x1, x2, x3, x4, x5)
pB_out_gagaga(x1, x2, x3, x4, x5, x6)  =  pB_out_gagaga(x1, x2, x3, x4, x5, x6)
reverseA_out_ga(x1, x2)  =  reverseA_out_ga(x1, x2)
APPF_IN_GGA(x1, x2, x3)  =  APPF_IN_GGA(x1, x2)

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

(8) UsableRulesProof (EQUIVALENT transformation)

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

(9) Obligation:

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

APPF_IN_GGA(.(T91, T92), T93, .(T91, T95)) → APPF_IN_GGA(T92, T93, T95)

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

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:

APPF_IN_GGA(.(T91, T92), T93) → APPF_IN_GGA(T92, T93)

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

(12) QDPSizeChangeProof (EQUIVALENT transformation)

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

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

  • APPF_IN_GGA(.(T91, T92), T93) → APPF_IN_GGA(T92, T93)
    The graph contains the following edges 1 > 1, 2 >= 2

(13) YES

(14) Obligation:

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

APPE_IN_GGA(.(T55, T56), T57, .(T55, X103)) → APPE_IN_GGA(T56, T57, X103)

The TRS R consists of the following rules:

reverseA_in_ga(.(T6, .(T18, T19)), T9) → U1_ga(T6, T18, T19, T9, pB_in_gagaga(T19, X29, T18, X30, T6, T9))
pB_in_gagaga(T19, T22, T18, X30, T6, T9) → U5_gagaga(T19, T22, T18, X30, T6, T9, reverseC_in_ga(T19, T22))
reverseC_in_ga(.(T33, T34), X63) → U2_ga(T33, T34, X63, pD_in_gaga(T34, X62, T33, X63))
pD_in_gaga(T34, T37, T33, X63) → U9_gaga(T34, T37, T33, X63, reverseC_in_ga(T34, T37))
reverseC_in_ga([], []) → reverseC_out_ga([], [])
U9_gaga(T34, T37, T33, X63, reverseC_out_ga(T34, T37)) → U10_gaga(T34, T37, T33, X63, appE_in_gga(T37, T33, X63))
appE_in_gga(.(T55, T56), T57, .(T55, X103)) → U3_gga(T55, T56, T57, X103, appE_in_gga(T56, T57, X103))
appE_in_gga([], T63, .(T63, [])) → appE_out_gga([], T63, .(T63, []))
U3_gga(T55, T56, T57, X103, appE_out_gga(T56, T57, X103)) → appE_out_gga(.(T55, T56), T57, .(T55, X103))
U10_gaga(T34, T37, T33, X63, appE_out_gga(T37, T33, X63)) → pD_out_gaga(T34, T37, T33, X63)
U2_ga(T33, T34, X63, pD_out_gaga(T34, X62, T33, X63)) → reverseC_out_ga(.(T33, T34), X63)
U5_gagaga(T19, T22, T18, X30, T6, T9, reverseC_out_ga(T19, T22)) → U6_gagaga(T19, T22, T18, X30, T6, T9, pG_in_ggaga(T22, T18, X30, T6, T9))
pG_in_ggaga(T22, T18, T67, T6, T9) → U7_ggaga(T22, T18, T67, T6, T9, appE_in_gga(T22, T18, T67))
U7_ggaga(T22, T18, T67, T6, T9, appE_out_gga(T22, T18, T67)) → U8_ggaga(T22, T18, T67, T6, T9, appF_in_gga(T67, T6, T9))
appF_in_gga(.(T91, T92), T93, .(T91, T95)) → U4_gga(T91, T92, T93, T95, appF_in_gga(T92, T93, T95))
appF_in_gga([], T102, .(T102, [])) → appF_out_gga([], T102, .(T102, []))
U4_gga(T91, T92, T93, T95, appF_out_gga(T92, T93, T95)) → appF_out_gga(.(T91, T92), T93, .(T91, T95))
U8_ggaga(T22, T18, T67, T6, T9, appF_out_gga(T67, T6, T9)) → pG_out_ggaga(T22, T18, T67, T6, T9)
U6_gagaga(T19, T22, T18, X30, T6, T9, pG_out_ggaga(T22, T18, X30, T6, T9)) → pB_out_gagaga(T19, T22, T18, X30, T6, T9)
U1_ga(T6, T18, T19, T9, pB_out_gagaga(T19, X29, T18, X30, T6, T9)) → reverseA_out_ga(.(T6, .(T18, T19)), T9)
reverseA_in_ga(.(T105, []), .(T105, [])) → reverseA_out_ga(.(T105, []), .(T105, []))
reverseA_in_ga([], []) → reverseA_out_ga([], [])

The argument filtering Pi contains the following mapping:
reverseA_in_ga(x1, x2)  =  reverseA_in_ga(x1)
.(x1, x2)  =  .(x1, x2)
U1_ga(x1, x2, x3, x4, x5)  =  U1_ga(x1, x2, x3, x5)
pB_in_gagaga(x1, x2, x3, x4, x5, x6)  =  pB_in_gagaga(x1, x3, x5)
U5_gagaga(x1, x2, x3, x4, x5, x6, x7)  =  U5_gagaga(x1, x3, x5, x7)
reverseC_in_ga(x1, x2)  =  reverseC_in_ga(x1)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x1, x2, x4)
pD_in_gaga(x1, x2, x3, x4)  =  pD_in_gaga(x1, x3)
U9_gaga(x1, x2, x3, x4, x5)  =  U9_gaga(x1, x3, x5)
[]  =  []
reverseC_out_ga(x1, x2)  =  reverseC_out_ga(x1, x2)
U10_gaga(x1, x2, x3, x4, x5)  =  U10_gaga(x1, x2, x3, x5)
appE_in_gga(x1, x2, x3)  =  appE_in_gga(x1, x2)
U3_gga(x1, x2, x3, x4, x5)  =  U3_gga(x1, x2, x3, x5)
appE_out_gga(x1, x2, x3)  =  appE_out_gga(x1, x2, x3)
pD_out_gaga(x1, x2, x3, x4)  =  pD_out_gaga(x1, x2, x3, x4)
U6_gagaga(x1, x2, x3, x4, x5, x6, x7)  =  U6_gagaga(x1, x2, x3, x5, x7)
pG_in_ggaga(x1, x2, x3, x4, x5)  =  pG_in_ggaga(x1, x2, x4)
U7_ggaga(x1, x2, x3, x4, x5, x6)  =  U7_ggaga(x1, x2, x4, x6)
U8_ggaga(x1, x2, x3, x4, x5, x6)  =  U8_ggaga(x1, x2, x3, x4, x6)
appF_in_gga(x1, x2, x3)  =  appF_in_gga(x1, x2)
U4_gga(x1, x2, x3, x4, x5)  =  U4_gga(x1, x2, x3, x5)
appF_out_gga(x1, x2, x3)  =  appF_out_gga(x1, x2, x3)
pG_out_ggaga(x1, x2, x3, x4, x5)  =  pG_out_ggaga(x1, x2, x3, x4, x5)
pB_out_gagaga(x1, x2, x3, x4, x5, x6)  =  pB_out_gagaga(x1, x2, x3, x4, x5, x6)
reverseA_out_ga(x1, x2)  =  reverseA_out_ga(x1, x2)
APPE_IN_GGA(x1, x2, x3)  =  APPE_IN_GGA(x1, x2)

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

(15) UsableRulesProof (EQUIVALENT transformation)

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

(16) Obligation:

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

APPE_IN_GGA(.(T55, T56), T57, .(T55, X103)) → APPE_IN_GGA(T56, T57, X103)

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

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:

APPE_IN_GGA(.(T55, T56), T57) → APPE_IN_GGA(T56, T57)

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

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

  • APPE_IN_GGA(.(T55, T56), T57) → APPE_IN_GGA(T56, T57)
    The graph contains the following edges 1 > 1, 2 >= 2

(20) YES

(21) Obligation:

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

REVERSEC_IN_GA(.(T33, T34), X63) → PD_IN_GAGA(T34, X62, T33, X63)
PD_IN_GAGA(T34, T37, T33, X63) → REVERSEC_IN_GA(T34, T37)

The TRS R consists of the following rules:

reverseA_in_ga(.(T6, .(T18, T19)), T9) → U1_ga(T6, T18, T19, T9, pB_in_gagaga(T19, X29, T18, X30, T6, T9))
pB_in_gagaga(T19, T22, T18, X30, T6, T9) → U5_gagaga(T19, T22, T18, X30, T6, T9, reverseC_in_ga(T19, T22))
reverseC_in_ga(.(T33, T34), X63) → U2_ga(T33, T34, X63, pD_in_gaga(T34, X62, T33, X63))
pD_in_gaga(T34, T37, T33, X63) → U9_gaga(T34, T37, T33, X63, reverseC_in_ga(T34, T37))
reverseC_in_ga([], []) → reverseC_out_ga([], [])
U9_gaga(T34, T37, T33, X63, reverseC_out_ga(T34, T37)) → U10_gaga(T34, T37, T33, X63, appE_in_gga(T37, T33, X63))
appE_in_gga(.(T55, T56), T57, .(T55, X103)) → U3_gga(T55, T56, T57, X103, appE_in_gga(T56, T57, X103))
appE_in_gga([], T63, .(T63, [])) → appE_out_gga([], T63, .(T63, []))
U3_gga(T55, T56, T57, X103, appE_out_gga(T56, T57, X103)) → appE_out_gga(.(T55, T56), T57, .(T55, X103))
U10_gaga(T34, T37, T33, X63, appE_out_gga(T37, T33, X63)) → pD_out_gaga(T34, T37, T33, X63)
U2_ga(T33, T34, X63, pD_out_gaga(T34, X62, T33, X63)) → reverseC_out_ga(.(T33, T34), X63)
U5_gagaga(T19, T22, T18, X30, T6, T9, reverseC_out_ga(T19, T22)) → U6_gagaga(T19, T22, T18, X30, T6, T9, pG_in_ggaga(T22, T18, X30, T6, T9))
pG_in_ggaga(T22, T18, T67, T6, T9) → U7_ggaga(T22, T18, T67, T6, T9, appE_in_gga(T22, T18, T67))
U7_ggaga(T22, T18, T67, T6, T9, appE_out_gga(T22, T18, T67)) → U8_ggaga(T22, T18, T67, T6, T9, appF_in_gga(T67, T6, T9))
appF_in_gga(.(T91, T92), T93, .(T91, T95)) → U4_gga(T91, T92, T93, T95, appF_in_gga(T92, T93, T95))
appF_in_gga([], T102, .(T102, [])) → appF_out_gga([], T102, .(T102, []))
U4_gga(T91, T92, T93, T95, appF_out_gga(T92, T93, T95)) → appF_out_gga(.(T91, T92), T93, .(T91, T95))
U8_ggaga(T22, T18, T67, T6, T9, appF_out_gga(T67, T6, T9)) → pG_out_ggaga(T22, T18, T67, T6, T9)
U6_gagaga(T19, T22, T18, X30, T6, T9, pG_out_ggaga(T22, T18, X30, T6, T9)) → pB_out_gagaga(T19, T22, T18, X30, T6, T9)
U1_ga(T6, T18, T19, T9, pB_out_gagaga(T19, X29, T18, X30, T6, T9)) → reverseA_out_ga(.(T6, .(T18, T19)), T9)
reverseA_in_ga(.(T105, []), .(T105, [])) → reverseA_out_ga(.(T105, []), .(T105, []))
reverseA_in_ga([], []) → reverseA_out_ga([], [])

The argument filtering Pi contains the following mapping:
reverseA_in_ga(x1, x2)  =  reverseA_in_ga(x1)
.(x1, x2)  =  .(x1, x2)
U1_ga(x1, x2, x3, x4, x5)  =  U1_ga(x1, x2, x3, x5)
pB_in_gagaga(x1, x2, x3, x4, x5, x6)  =  pB_in_gagaga(x1, x3, x5)
U5_gagaga(x1, x2, x3, x4, x5, x6, x7)  =  U5_gagaga(x1, x3, x5, x7)
reverseC_in_ga(x1, x2)  =  reverseC_in_ga(x1)
U2_ga(x1, x2, x3, x4)  =  U2_ga(x1, x2, x4)
pD_in_gaga(x1, x2, x3, x4)  =  pD_in_gaga(x1, x3)
U9_gaga(x1, x2, x3, x4, x5)  =  U9_gaga(x1, x3, x5)
[]  =  []
reverseC_out_ga(x1, x2)  =  reverseC_out_ga(x1, x2)
U10_gaga(x1, x2, x3, x4, x5)  =  U10_gaga(x1, x2, x3, x5)
appE_in_gga(x1, x2, x3)  =  appE_in_gga(x1, x2)
U3_gga(x1, x2, x3, x4, x5)  =  U3_gga(x1, x2, x3, x5)
appE_out_gga(x1, x2, x3)  =  appE_out_gga(x1, x2, x3)
pD_out_gaga(x1, x2, x3, x4)  =  pD_out_gaga(x1, x2, x3, x4)
U6_gagaga(x1, x2, x3, x4, x5, x6, x7)  =  U6_gagaga(x1, x2, x3, x5, x7)
pG_in_ggaga(x1, x2, x3, x4, x5)  =  pG_in_ggaga(x1, x2, x4)
U7_ggaga(x1, x2, x3, x4, x5, x6)  =  U7_ggaga(x1, x2, x4, x6)
U8_ggaga(x1, x2, x3, x4, x5, x6)  =  U8_ggaga(x1, x2, x3, x4, x6)
appF_in_gga(x1, x2, x3)  =  appF_in_gga(x1, x2)
U4_gga(x1, x2, x3, x4, x5)  =  U4_gga(x1, x2, x3, x5)
appF_out_gga(x1, x2, x3)  =  appF_out_gga(x1, x2, x3)
pG_out_ggaga(x1, x2, x3, x4, x5)  =  pG_out_ggaga(x1, x2, x3, x4, x5)
pB_out_gagaga(x1, x2, x3, x4, x5, x6)  =  pB_out_gagaga(x1, x2, x3, x4, x5, x6)
reverseA_out_ga(x1, x2)  =  reverseA_out_ga(x1, x2)
REVERSEC_IN_GA(x1, x2)  =  REVERSEC_IN_GA(x1)
PD_IN_GAGA(x1, x2, x3, x4)  =  PD_IN_GAGA(x1, x3)

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

(22) UsableRulesProof (EQUIVALENT transformation)

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

(23) Obligation:

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

REVERSEC_IN_GA(.(T33, T34), X63) → PD_IN_GAGA(T34, X62, T33, X63)
PD_IN_GAGA(T34, T37, T33, X63) → REVERSEC_IN_GA(T34, T37)

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

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

(24) PiDPToQDPProof (SOUND transformation)

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

(25) Obligation:

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

REVERSEC_IN_GA(.(T33, T34)) → PD_IN_GAGA(T34, T33)
PD_IN_GAGA(T34, T33) → REVERSEC_IN_GA(T34)

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

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

  • PD_IN_GAGA(T34, T33) → REVERSEC_IN_GA(T34)
    The graph contains the following edges 1 >= 1

  • REVERSEC_IN_GA(.(T33, T34)) → PD_IN_GAGA(T34, T33)
    The graph contains the following edges 1 > 1, 1 > 2

(27) YES