(0) Obligation:

Clauses:

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

Query: rev(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:

revA_in_ga([], []) → revA_out_ga([], [])
revA_in_ga(.(T16, []), .(T16, [])) → revA_out_ga(.(T16, []), .(T16, []))
revA_in_ga(.(T6, .(T21, T22)), T9) → U1_ga(T6, T21, T22, T9, pB_in_gagaga(T22, X34, T21, X35, T6, T9))
pB_in_gagaga(T22, T23, T21, X35, T6, T9) → U5_gagaga(T22, T23, T21, X35, T6, T9, revC_in_ga(T22, T23))
revC_in_ga([], []) → revC_out_ga([], [])
revC_in_ga(.(T28, T29), X49) → U2_ga(T28, T29, X49, pD_in_gaga(T29, X48, T28, X49))
pD_in_gaga(T29, T30, T28, X49) → U9_gaga(T29, T30, T28, X49, revC_in_ga(T29, T30))
U9_gaga(T29, T30, T28, X49, revC_out_ga(T29, T30)) → U10_gaga(T29, T30, T28, X49, appE_in_gga(T30, T28, X49))
appE_in_gga([], T37, .(T37, [])) → appE_out_gga([], T37, .(T37, []))
appE_in_gga(.(T44, T45), T46, .(T44, X71)) → U3_gga(T44, T45, T46, X71, appE_in_gga(T45, T46, X71))
U3_gga(T44, T45, T46, X71, appE_out_gga(T45, T46, X71)) → appE_out_gga(.(T44, T45), T46, .(T44, X71))
U10_gaga(T29, T30, T28, X49, appE_out_gga(T30, T28, X49)) → pD_out_gaga(T29, T30, T28, X49)
U2_ga(T28, T29, X49, pD_out_gaga(T29, X48, T28, X49)) → revC_out_ga(.(T28, T29), X49)
U5_gagaga(T22, T23, T21, X35, T6, T9, revC_out_ga(T22, T23)) → U6_gagaga(T22, T23, T21, X35, T6, T9, pG_in_ggaga(T23, T21, X35, T6, T9))
pG_in_ggaga(T23, T21, T51, T6, T9) → U7_ggaga(T23, T21, T51, T6, T9, appE_in_gga(T23, T21, T51))
U7_ggaga(T23, T21, T51, T6, T9, appE_out_gga(T23, T21, T51)) → U8_ggaga(T23, T21, T51, T6, T9, appF_in_gga(T51, T6, T9))
appF_in_gga([], T60, .(T60, [])) → appF_out_gga([], T60, .(T60, []))
appF_in_gga(.(T69, T70), T71, .(T69, T73)) → U4_gga(T69, T70, T71, T73, appF_in_gga(T70, T71, T73))
U4_gga(T69, T70, T71, T73, appF_out_gga(T70, T71, T73)) → appF_out_gga(.(T69, T70), T71, .(T69, T73))
U8_ggaga(T23, T21, T51, T6, T9, appF_out_gga(T51, T6, T9)) → pG_out_ggaga(T23, T21, T51, T6, T9)
U6_gagaga(T22, T23, T21, X35, T6, T9, pG_out_ggaga(T23, T21, X35, T6, T9)) → pB_out_gagaga(T22, T23, T21, X35, T6, T9)
U1_ga(T6, T21, T22, T9, pB_out_gagaga(T22, X34, T21, X35, T6, T9)) → revA_out_ga(.(T6, .(T21, T22)), T9)

The argument filtering Pi contains the following mapping:
revA_in_ga(x1, x2)  =  revA_in_ga(x1)
[]  =  []
revA_out_ga(x1, x2)  =  revA_out_ga(x1, x2)
.(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)
revC_in_ga(x1, x2)  =  revC_in_ga(x1)
revC_out_ga(x1, x2)  =  revC_out_ga(x1, x2)
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)
appE_out_gga(x1, x2, x3)  =  appE_out_gga(x1, x2, x3)
U3_gga(x1, x2, x3, x4, x5)  =  U3_gga(x1, x2, x3, x5)
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)
appF_out_gga(x1, x2, x3)  =  appF_out_gga(x1, x2, x3)
U4_gga(x1, x2, x3, x4, x5)  =  U4_gga(x1, x2, x3, x5)
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)

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

REVA_IN_GA(.(T6, .(T21, T22)), T9) → U1_GA(T6, T21, T22, T9, pB_in_gagaga(T22, X34, T21, X35, T6, T9))
REVA_IN_GA(.(T6, .(T21, T22)), T9) → PB_IN_GAGAGA(T22, X34, T21, X35, T6, T9)
PB_IN_GAGAGA(T22, T23, T21, X35, T6, T9) → U5_GAGAGA(T22, T23, T21, X35, T6, T9, revC_in_ga(T22, T23))
PB_IN_GAGAGA(T22, T23, T21, X35, T6, T9) → REVC_IN_GA(T22, T23)
REVC_IN_GA(.(T28, T29), X49) → U2_GA(T28, T29, X49, pD_in_gaga(T29, X48, T28, X49))
REVC_IN_GA(.(T28, T29), X49) → PD_IN_GAGA(T29, X48, T28, X49)
PD_IN_GAGA(T29, T30, T28, X49) → U9_GAGA(T29, T30, T28, X49, revC_in_ga(T29, T30))
PD_IN_GAGA(T29, T30, T28, X49) → REVC_IN_GA(T29, T30)
U9_GAGA(T29, T30, T28, X49, revC_out_ga(T29, T30)) → U10_GAGA(T29, T30, T28, X49, appE_in_gga(T30, T28, X49))
U9_GAGA(T29, T30, T28, X49, revC_out_ga(T29, T30)) → APPE_IN_GGA(T30, T28, X49)
APPE_IN_GGA(.(T44, T45), T46, .(T44, X71)) → U3_GGA(T44, T45, T46, X71, appE_in_gga(T45, T46, X71))
APPE_IN_GGA(.(T44, T45), T46, .(T44, X71)) → APPE_IN_GGA(T45, T46, X71)
U5_GAGAGA(T22, T23, T21, X35, T6, T9, revC_out_ga(T22, T23)) → U6_GAGAGA(T22, T23, T21, X35, T6, T9, pG_in_ggaga(T23, T21, X35, T6, T9))
U5_GAGAGA(T22, T23, T21, X35, T6, T9, revC_out_ga(T22, T23)) → PG_IN_GGAGA(T23, T21, X35, T6, T9)
PG_IN_GGAGA(T23, T21, T51, T6, T9) → U7_GGAGA(T23, T21, T51, T6, T9, appE_in_gga(T23, T21, T51))
PG_IN_GGAGA(T23, T21, T51, T6, T9) → APPE_IN_GGA(T23, T21, T51)
U7_GGAGA(T23, T21, T51, T6, T9, appE_out_gga(T23, T21, T51)) → U8_GGAGA(T23, T21, T51, T6, T9, appF_in_gga(T51, T6, T9))
U7_GGAGA(T23, T21, T51, T6, T9, appE_out_gga(T23, T21, T51)) → APPF_IN_GGA(T51, T6, T9)
APPF_IN_GGA(.(T69, T70), T71, .(T69, T73)) → U4_GGA(T69, T70, T71, T73, appF_in_gga(T70, T71, T73))
APPF_IN_GGA(.(T69, T70), T71, .(T69, T73)) → APPF_IN_GGA(T70, T71, T73)

The TRS R consists of the following rules:

revA_in_ga([], []) → revA_out_ga([], [])
revA_in_ga(.(T16, []), .(T16, [])) → revA_out_ga(.(T16, []), .(T16, []))
revA_in_ga(.(T6, .(T21, T22)), T9) → U1_ga(T6, T21, T22, T9, pB_in_gagaga(T22, X34, T21, X35, T6, T9))
pB_in_gagaga(T22, T23, T21, X35, T6, T9) → U5_gagaga(T22, T23, T21, X35, T6, T9, revC_in_ga(T22, T23))
revC_in_ga([], []) → revC_out_ga([], [])
revC_in_ga(.(T28, T29), X49) → U2_ga(T28, T29, X49, pD_in_gaga(T29, X48, T28, X49))
pD_in_gaga(T29, T30, T28, X49) → U9_gaga(T29, T30, T28, X49, revC_in_ga(T29, T30))
U9_gaga(T29, T30, T28, X49, revC_out_ga(T29, T30)) → U10_gaga(T29, T30, T28, X49, appE_in_gga(T30, T28, X49))
appE_in_gga([], T37, .(T37, [])) → appE_out_gga([], T37, .(T37, []))
appE_in_gga(.(T44, T45), T46, .(T44, X71)) → U3_gga(T44, T45, T46, X71, appE_in_gga(T45, T46, X71))
U3_gga(T44, T45, T46, X71, appE_out_gga(T45, T46, X71)) → appE_out_gga(.(T44, T45), T46, .(T44, X71))
U10_gaga(T29, T30, T28, X49, appE_out_gga(T30, T28, X49)) → pD_out_gaga(T29, T30, T28, X49)
U2_ga(T28, T29, X49, pD_out_gaga(T29, X48, T28, X49)) → revC_out_ga(.(T28, T29), X49)
U5_gagaga(T22, T23, T21, X35, T6, T9, revC_out_ga(T22, T23)) → U6_gagaga(T22, T23, T21, X35, T6, T9, pG_in_ggaga(T23, T21, X35, T6, T9))
pG_in_ggaga(T23, T21, T51, T6, T9) → U7_ggaga(T23, T21, T51, T6, T9, appE_in_gga(T23, T21, T51))
U7_ggaga(T23, T21, T51, T6, T9, appE_out_gga(T23, T21, T51)) → U8_ggaga(T23, T21, T51, T6, T9, appF_in_gga(T51, T6, T9))
appF_in_gga([], T60, .(T60, [])) → appF_out_gga([], T60, .(T60, []))
appF_in_gga(.(T69, T70), T71, .(T69, T73)) → U4_gga(T69, T70, T71, T73, appF_in_gga(T70, T71, T73))
U4_gga(T69, T70, T71, T73, appF_out_gga(T70, T71, T73)) → appF_out_gga(.(T69, T70), T71, .(T69, T73))
U8_ggaga(T23, T21, T51, T6, T9, appF_out_gga(T51, T6, T9)) → pG_out_ggaga(T23, T21, T51, T6, T9)
U6_gagaga(T22, T23, T21, X35, T6, T9, pG_out_ggaga(T23, T21, X35, T6, T9)) → pB_out_gagaga(T22, T23, T21, X35, T6, T9)
U1_ga(T6, T21, T22, T9, pB_out_gagaga(T22, X34, T21, X35, T6, T9)) → revA_out_ga(.(T6, .(T21, T22)), T9)

The argument filtering Pi contains the following mapping:
revA_in_ga(x1, x2)  =  revA_in_ga(x1)
[]  =  []
revA_out_ga(x1, x2)  =  revA_out_ga(x1, x2)
.(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)
revC_in_ga(x1, x2)  =  revC_in_ga(x1)
revC_out_ga(x1, x2)  =  revC_out_ga(x1, x2)
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)
appE_out_gga(x1, x2, x3)  =  appE_out_gga(x1, x2, x3)
U3_gga(x1, x2, x3, x4, x5)  =  U3_gga(x1, x2, x3, x5)
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)
appF_out_gga(x1, x2, x3)  =  appF_out_gga(x1, x2, x3)
U4_gga(x1, x2, x3, x4, x5)  =  U4_gga(x1, x2, x3, x5)
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)
REVA_IN_GA(x1, x2)  =  REVA_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)
REVC_IN_GA(x1, x2)  =  REVC_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:

REVA_IN_GA(.(T6, .(T21, T22)), T9) → U1_GA(T6, T21, T22, T9, pB_in_gagaga(T22, X34, T21, X35, T6, T9))
REVA_IN_GA(.(T6, .(T21, T22)), T9) → PB_IN_GAGAGA(T22, X34, T21, X35, T6, T9)
PB_IN_GAGAGA(T22, T23, T21, X35, T6, T9) → U5_GAGAGA(T22, T23, T21, X35, T6, T9, revC_in_ga(T22, T23))
PB_IN_GAGAGA(T22, T23, T21, X35, T6, T9) → REVC_IN_GA(T22, T23)
REVC_IN_GA(.(T28, T29), X49) → U2_GA(T28, T29, X49, pD_in_gaga(T29, X48, T28, X49))
REVC_IN_GA(.(T28, T29), X49) → PD_IN_GAGA(T29, X48, T28, X49)
PD_IN_GAGA(T29, T30, T28, X49) → U9_GAGA(T29, T30, T28, X49, revC_in_ga(T29, T30))
PD_IN_GAGA(T29, T30, T28, X49) → REVC_IN_GA(T29, T30)
U9_GAGA(T29, T30, T28, X49, revC_out_ga(T29, T30)) → U10_GAGA(T29, T30, T28, X49, appE_in_gga(T30, T28, X49))
U9_GAGA(T29, T30, T28, X49, revC_out_ga(T29, T30)) → APPE_IN_GGA(T30, T28, X49)
APPE_IN_GGA(.(T44, T45), T46, .(T44, X71)) → U3_GGA(T44, T45, T46, X71, appE_in_gga(T45, T46, X71))
APPE_IN_GGA(.(T44, T45), T46, .(T44, X71)) → APPE_IN_GGA(T45, T46, X71)
U5_GAGAGA(T22, T23, T21, X35, T6, T9, revC_out_ga(T22, T23)) → U6_GAGAGA(T22, T23, T21, X35, T6, T9, pG_in_ggaga(T23, T21, X35, T6, T9))
U5_GAGAGA(T22, T23, T21, X35, T6, T9, revC_out_ga(T22, T23)) → PG_IN_GGAGA(T23, T21, X35, T6, T9)
PG_IN_GGAGA(T23, T21, T51, T6, T9) → U7_GGAGA(T23, T21, T51, T6, T9, appE_in_gga(T23, T21, T51))
PG_IN_GGAGA(T23, T21, T51, T6, T9) → APPE_IN_GGA(T23, T21, T51)
U7_GGAGA(T23, T21, T51, T6, T9, appE_out_gga(T23, T21, T51)) → U8_GGAGA(T23, T21, T51, T6, T9, appF_in_gga(T51, T6, T9))
U7_GGAGA(T23, T21, T51, T6, T9, appE_out_gga(T23, T21, T51)) → APPF_IN_GGA(T51, T6, T9)
APPF_IN_GGA(.(T69, T70), T71, .(T69, T73)) → U4_GGA(T69, T70, T71, T73, appF_in_gga(T70, T71, T73))
APPF_IN_GGA(.(T69, T70), T71, .(T69, T73)) → APPF_IN_GGA(T70, T71, T73)

The TRS R consists of the following rules:

revA_in_ga([], []) → revA_out_ga([], [])
revA_in_ga(.(T16, []), .(T16, [])) → revA_out_ga(.(T16, []), .(T16, []))
revA_in_ga(.(T6, .(T21, T22)), T9) → U1_ga(T6, T21, T22, T9, pB_in_gagaga(T22, X34, T21, X35, T6, T9))
pB_in_gagaga(T22, T23, T21, X35, T6, T9) → U5_gagaga(T22, T23, T21, X35, T6, T9, revC_in_ga(T22, T23))
revC_in_ga([], []) → revC_out_ga([], [])
revC_in_ga(.(T28, T29), X49) → U2_ga(T28, T29, X49, pD_in_gaga(T29, X48, T28, X49))
pD_in_gaga(T29, T30, T28, X49) → U9_gaga(T29, T30, T28, X49, revC_in_ga(T29, T30))
U9_gaga(T29, T30, T28, X49, revC_out_ga(T29, T30)) → U10_gaga(T29, T30, T28, X49, appE_in_gga(T30, T28, X49))
appE_in_gga([], T37, .(T37, [])) → appE_out_gga([], T37, .(T37, []))
appE_in_gga(.(T44, T45), T46, .(T44, X71)) → U3_gga(T44, T45, T46, X71, appE_in_gga(T45, T46, X71))
U3_gga(T44, T45, T46, X71, appE_out_gga(T45, T46, X71)) → appE_out_gga(.(T44, T45), T46, .(T44, X71))
U10_gaga(T29, T30, T28, X49, appE_out_gga(T30, T28, X49)) → pD_out_gaga(T29, T30, T28, X49)
U2_ga(T28, T29, X49, pD_out_gaga(T29, X48, T28, X49)) → revC_out_ga(.(T28, T29), X49)
U5_gagaga(T22, T23, T21, X35, T6, T9, revC_out_ga(T22, T23)) → U6_gagaga(T22, T23, T21, X35, T6, T9, pG_in_ggaga(T23, T21, X35, T6, T9))
pG_in_ggaga(T23, T21, T51, T6, T9) → U7_ggaga(T23, T21, T51, T6, T9, appE_in_gga(T23, T21, T51))
U7_ggaga(T23, T21, T51, T6, T9, appE_out_gga(T23, T21, T51)) → U8_ggaga(T23, T21, T51, T6, T9, appF_in_gga(T51, T6, T9))
appF_in_gga([], T60, .(T60, [])) → appF_out_gga([], T60, .(T60, []))
appF_in_gga(.(T69, T70), T71, .(T69, T73)) → U4_gga(T69, T70, T71, T73, appF_in_gga(T70, T71, T73))
U4_gga(T69, T70, T71, T73, appF_out_gga(T70, T71, T73)) → appF_out_gga(.(T69, T70), T71, .(T69, T73))
U8_ggaga(T23, T21, T51, T6, T9, appF_out_gga(T51, T6, T9)) → pG_out_ggaga(T23, T21, T51, T6, T9)
U6_gagaga(T22, T23, T21, X35, T6, T9, pG_out_ggaga(T23, T21, X35, T6, T9)) → pB_out_gagaga(T22, T23, T21, X35, T6, T9)
U1_ga(T6, T21, T22, T9, pB_out_gagaga(T22, X34, T21, X35, T6, T9)) → revA_out_ga(.(T6, .(T21, T22)), T9)

The argument filtering Pi contains the following mapping:
revA_in_ga(x1, x2)  =  revA_in_ga(x1)
[]  =  []
revA_out_ga(x1, x2)  =  revA_out_ga(x1, x2)
.(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)
revC_in_ga(x1, x2)  =  revC_in_ga(x1)
revC_out_ga(x1, x2)  =  revC_out_ga(x1, x2)
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)
appE_out_gga(x1, x2, x3)  =  appE_out_gga(x1, x2, x3)
U3_gga(x1, x2, x3, x4, x5)  =  U3_gga(x1, x2, x3, x5)
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)
appF_out_gga(x1, x2, x3)  =  appF_out_gga(x1, x2, x3)
U4_gga(x1, x2, x3, x4, x5)  =  U4_gga(x1, x2, x3, x5)
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)
REVA_IN_GA(x1, x2)  =  REVA_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)
REVC_IN_GA(x1, x2)  =  REVC_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(.(T69, T70), T71, .(T69, T73)) → APPF_IN_GGA(T70, T71, T73)

The TRS R consists of the following rules:

revA_in_ga([], []) → revA_out_ga([], [])
revA_in_ga(.(T16, []), .(T16, [])) → revA_out_ga(.(T16, []), .(T16, []))
revA_in_ga(.(T6, .(T21, T22)), T9) → U1_ga(T6, T21, T22, T9, pB_in_gagaga(T22, X34, T21, X35, T6, T9))
pB_in_gagaga(T22, T23, T21, X35, T6, T9) → U5_gagaga(T22, T23, T21, X35, T6, T9, revC_in_ga(T22, T23))
revC_in_ga([], []) → revC_out_ga([], [])
revC_in_ga(.(T28, T29), X49) → U2_ga(T28, T29, X49, pD_in_gaga(T29, X48, T28, X49))
pD_in_gaga(T29, T30, T28, X49) → U9_gaga(T29, T30, T28, X49, revC_in_ga(T29, T30))
U9_gaga(T29, T30, T28, X49, revC_out_ga(T29, T30)) → U10_gaga(T29, T30, T28, X49, appE_in_gga(T30, T28, X49))
appE_in_gga([], T37, .(T37, [])) → appE_out_gga([], T37, .(T37, []))
appE_in_gga(.(T44, T45), T46, .(T44, X71)) → U3_gga(T44, T45, T46, X71, appE_in_gga(T45, T46, X71))
U3_gga(T44, T45, T46, X71, appE_out_gga(T45, T46, X71)) → appE_out_gga(.(T44, T45), T46, .(T44, X71))
U10_gaga(T29, T30, T28, X49, appE_out_gga(T30, T28, X49)) → pD_out_gaga(T29, T30, T28, X49)
U2_ga(T28, T29, X49, pD_out_gaga(T29, X48, T28, X49)) → revC_out_ga(.(T28, T29), X49)
U5_gagaga(T22, T23, T21, X35, T6, T9, revC_out_ga(T22, T23)) → U6_gagaga(T22, T23, T21, X35, T6, T9, pG_in_ggaga(T23, T21, X35, T6, T9))
pG_in_ggaga(T23, T21, T51, T6, T9) → U7_ggaga(T23, T21, T51, T6, T9, appE_in_gga(T23, T21, T51))
U7_ggaga(T23, T21, T51, T6, T9, appE_out_gga(T23, T21, T51)) → U8_ggaga(T23, T21, T51, T6, T9, appF_in_gga(T51, T6, T9))
appF_in_gga([], T60, .(T60, [])) → appF_out_gga([], T60, .(T60, []))
appF_in_gga(.(T69, T70), T71, .(T69, T73)) → U4_gga(T69, T70, T71, T73, appF_in_gga(T70, T71, T73))
U4_gga(T69, T70, T71, T73, appF_out_gga(T70, T71, T73)) → appF_out_gga(.(T69, T70), T71, .(T69, T73))
U8_ggaga(T23, T21, T51, T6, T9, appF_out_gga(T51, T6, T9)) → pG_out_ggaga(T23, T21, T51, T6, T9)
U6_gagaga(T22, T23, T21, X35, T6, T9, pG_out_ggaga(T23, T21, X35, T6, T9)) → pB_out_gagaga(T22, T23, T21, X35, T6, T9)
U1_ga(T6, T21, T22, T9, pB_out_gagaga(T22, X34, T21, X35, T6, T9)) → revA_out_ga(.(T6, .(T21, T22)), T9)

The argument filtering Pi contains the following mapping:
revA_in_ga(x1, x2)  =  revA_in_ga(x1)
[]  =  []
revA_out_ga(x1, x2)  =  revA_out_ga(x1, x2)
.(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)
revC_in_ga(x1, x2)  =  revC_in_ga(x1)
revC_out_ga(x1, x2)  =  revC_out_ga(x1, x2)
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)
appE_out_gga(x1, x2, x3)  =  appE_out_gga(x1, x2, x3)
U3_gga(x1, x2, x3, x4, x5)  =  U3_gga(x1, x2, x3, x5)
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)
appF_out_gga(x1, x2, x3)  =  appF_out_gga(x1, x2, x3)
U4_gga(x1, x2, x3, x4, x5)  =  U4_gga(x1, x2, x3, x5)
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)
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(.(T69, T70), T71, .(T69, T73)) → APPF_IN_GGA(T70, T71, T73)

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(.(T69, T70), T71) → APPF_IN_GGA(T70, T71)

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(.(T69, T70), T71) → APPF_IN_GGA(T70, T71)
    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(.(T44, T45), T46, .(T44, X71)) → APPE_IN_GGA(T45, T46, X71)

The TRS R consists of the following rules:

revA_in_ga([], []) → revA_out_ga([], [])
revA_in_ga(.(T16, []), .(T16, [])) → revA_out_ga(.(T16, []), .(T16, []))
revA_in_ga(.(T6, .(T21, T22)), T9) → U1_ga(T6, T21, T22, T9, pB_in_gagaga(T22, X34, T21, X35, T6, T9))
pB_in_gagaga(T22, T23, T21, X35, T6, T9) → U5_gagaga(T22, T23, T21, X35, T6, T9, revC_in_ga(T22, T23))
revC_in_ga([], []) → revC_out_ga([], [])
revC_in_ga(.(T28, T29), X49) → U2_ga(T28, T29, X49, pD_in_gaga(T29, X48, T28, X49))
pD_in_gaga(T29, T30, T28, X49) → U9_gaga(T29, T30, T28, X49, revC_in_ga(T29, T30))
U9_gaga(T29, T30, T28, X49, revC_out_ga(T29, T30)) → U10_gaga(T29, T30, T28, X49, appE_in_gga(T30, T28, X49))
appE_in_gga([], T37, .(T37, [])) → appE_out_gga([], T37, .(T37, []))
appE_in_gga(.(T44, T45), T46, .(T44, X71)) → U3_gga(T44, T45, T46, X71, appE_in_gga(T45, T46, X71))
U3_gga(T44, T45, T46, X71, appE_out_gga(T45, T46, X71)) → appE_out_gga(.(T44, T45), T46, .(T44, X71))
U10_gaga(T29, T30, T28, X49, appE_out_gga(T30, T28, X49)) → pD_out_gaga(T29, T30, T28, X49)
U2_ga(T28, T29, X49, pD_out_gaga(T29, X48, T28, X49)) → revC_out_ga(.(T28, T29), X49)
U5_gagaga(T22, T23, T21, X35, T6, T9, revC_out_ga(T22, T23)) → U6_gagaga(T22, T23, T21, X35, T6, T9, pG_in_ggaga(T23, T21, X35, T6, T9))
pG_in_ggaga(T23, T21, T51, T6, T9) → U7_ggaga(T23, T21, T51, T6, T9, appE_in_gga(T23, T21, T51))
U7_ggaga(T23, T21, T51, T6, T9, appE_out_gga(T23, T21, T51)) → U8_ggaga(T23, T21, T51, T6, T9, appF_in_gga(T51, T6, T9))
appF_in_gga([], T60, .(T60, [])) → appF_out_gga([], T60, .(T60, []))
appF_in_gga(.(T69, T70), T71, .(T69, T73)) → U4_gga(T69, T70, T71, T73, appF_in_gga(T70, T71, T73))
U4_gga(T69, T70, T71, T73, appF_out_gga(T70, T71, T73)) → appF_out_gga(.(T69, T70), T71, .(T69, T73))
U8_ggaga(T23, T21, T51, T6, T9, appF_out_gga(T51, T6, T9)) → pG_out_ggaga(T23, T21, T51, T6, T9)
U6_gagaga(T22, T23, T21, X35, T6, T9, pG_out_ggaga(T23, T21, X35, T6, T9)) → pB_out_gagaga(T22, T23, T21, X35, T6, T9)
U1_ga(T6, T21, T22, T9, pB_out_gagaga(T22, X34, T21, X35, T6, T9)) → revA_out_ga(.(T6, .(T21, T22)), T9)

The argument filtering Pi contains the following mapping:
revA_in_ga(x1, x2)  =  revA_in_ga(x1)
[]  =  []
revA_out_ga(x1, x2)  =  revA_out_ga(x1, x2)
.(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)
revC_in_ga(x1, x2)  =  revC_in_ga(x1)
revC_out_ga(x1, x2)  =  revC_out_ga(x1, x2)
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)
appE_out_gga(x1, x2, x3)  =  appE_out_gga(x1, x2, x3)
U3_gga(x1, x2, x3, x4, x5)  =  U3_gga(x1, x2, x3, x5)
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)
appF_out_gga(x1, x2, x3)  =  appF_out_gga(x1, x2, x3)
U4_gga(x1, x2, x3, x4, x5)  =  U4_gga(x1, x2, x3, x5)
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)
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(.(T44, T45), T46, .(T44, X71)) → APPE_IN_GGA(T45, T46, X71)

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(.(T44, T45), T46) → APPE_IN_GGA(T45, T46)

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(.(T44, T45), T46) → APPE_IN_GGA(T45, T46)
    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:

REVC_IN_GA(.(T28, T29), X49) → PD_IN_GAGA(T29, X48, T28, X49)
PD_IN_GAGA(T29, T30, T28, X49) → REVC_IN_GA(T29, T30)

The TRS R consists of the following rules:

revA_in_ga([], []) → revA_out_ga([], [])
revA_in_ga(.(T16, []), .(T16, [])) → revA_out_ga(.(T16, []), .(T16, []))
revA_in_ga(.(T6, .(T21, T22)), T9) → U1_ga(T6, T21, T22, T9, pB_in_gagaga(T22, X34, T21, X35, T6, T9))
pB_in_gagaga(T22, T23, T21, X35, T6, T9) → U5_gagaga(T22, T23, T21, X35, T6, T9, revC_in_ga(T22, T23))
revC_in_ga([], []) → revC_out_ga([], [])
revC_in_ga(.(T28, T29), X49) → U2_ga(T28, T29, X49, pD_in_gaga(T29, X48, T28, X49))
pD_in_gaga(T29, T30, T28, X49) → U9_gaga(T29, T30, T28, X49, revC_in_ga(T29, T30))
U9_gaga(T29, T30, T28, X49, revC_out_ga(T29, T30)) → U10_gaga(T29, T30, T28, X49, appE_in_gga(T30, T28, X49))
appE_in_gga([], T37, .(T37, [])) → appE_out_gga([], T37, .(T37, []))
appE_in_gga(.(T44, T45), T46, .(T44, X71)) → U3_gga(T44, T45, T46, X71, appE_in_gga(T45, T46, X71))
U3_gga(T44, T45, T46, X71, appE_out_gga(T45, T46, X71)) → appE_out_gga(.(T44, T45), T46, .(T44, X71))
U10_gaga(T29, T30, T28, X49, appE_out_gga(T30, T28, X49)) → pD_out_gaga(T29, T30, T28, X49)
U2_ga(T28, T29, X49, pD_out_gaga(T29, X48, T28, X49)) → revC_out_ga(.(T28, T29), X49)
U5_gagaga(T22, T23, T21, X35, T6, T9, revC_out_ga(T22, T23)) → U6_gagaga(T22, T23, T21, X35, T6, T9, pG_in_ggaga(T23, T21, X35, T6, T9))
pG_in_ggaga(T23, T21, T51, T6, T9) → U7_ggaga(T23, T21, T51, T6, T9, appE_in_gga(T23, T21, T51))
U7_ggaga(T23, T21, T51, T6, T9, appE_out_gga(T23, T21, T51)) → U8_ggaga(T23, T21, T51, T6, T9, appF_in_gga(T51, T6, T9))
appF_in_gga([], T60, .(T60, [])) → appF_out_gga([], T60, .(T60, []))
appF_in_gga(.(T69, T70), T71, .(T69, T73)) → U4_gga(T69, T70, T71, T73, appF_in_gga(T70, T71, T73))
U4_gga(T69, T70, T71, T73, appF_out_gga(T70, T71, T73)) → appF_out_gga(.(T69, T70), T71, .(T69, T73))
U8_ggaga(T23, T21, T51, T6, T9, appF_out_gga(T51, T6, T9)) → pG_out_ggaga(T23, T21, T51, T6, T9)
U6_gagaga(T22, T23, T21, X35, T6, T9, pG_out_ggaga(T23, T21, X35, T6, T9)) → pB_out_gagaga(T22, T23, T21, X35, T6, T9)
U1_ga(T6, T21, T22, T9, pB_out_gagaga(T22, X34, T21, X35, T6, T9)) → revA_out_ga(.(T6, .(T21, T22)), T9)

The argument filtering Pi contains the following mapping:
revA_in_ga(x1, x2)  =  revA_in_ga(x1)
[]  =  []
revA_out_ga(x1, x2)  =  revA_out_ga(x1, x2)
.(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)
revC_in_ga(x1, x2)  =  revC_in_ga(x1)
revC_out_ga(x1, x2)  =  revC_out_ga(x1, x2)
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)
appE_out_gga(x1, x2, x3)  =  appE_out_gga(x1, x2, x3)
U3_gga(x1, x2, x3, x4, x5)  =  U3_gga(x1, x2, x3, x5)
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)
appF_out_gga(x1, x2, x3)  =  appF_out_gga(x1, x2, x3)
U4_gga(x1, x2, x3, x4, x5)  =  U4_gga(x1, x2, x3, x5)
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)
REVC_IN_GA(x1, x2)  =  REVC_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:

REVC_IN_GA(.(T28, T29), X49) → PD_IN_GAGA(T29, X48, T28, X49)
PD_IN_GAGA(T29, T30, T28, X49) → REVC_IN_GA(T29, T30)

R is empty.
The argument filtering Pi contains the following mapping:
.(x1, x2)  =  .(x1, x2)
REVC_IN_GA(x1, x2)  =  REVC_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:

REVC_IN_GA(.(T28, T29)) → PD_IN_GAGA(T29, T28)
PD_IN_GAGA(T29, T28) → REVC_IN_GA(T29)

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(T29, T28) → REVC_IN_GA(T29)
    The graph contains the following edges 1 >= 1

  • REVC_IN_GA(.(T28, T29)) → PD_IN_GAGA(T29, T28)
    The graph contains the following edges 1 > 1, 1 > 2

(27) YES